-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Better handling CheckModsAllowFailure
#20513
Conversation
A thing that I forgot to mention in the original post is that I somehow managed to get a 100 while not failing while attempting to record the problem. Here's a YouTube video of that |
Note that by default EZ has three chances to fail One used when first miss, second is 100 then you failed in the third |
This change makes the following statement in xmldoc false.
Also I'm not convinced that this is the right change to make. If the interface's goal is to prevent failure, it arguably shouldn't get overridden by other mods when multiple fail-deciding mods are active. The actual problem here is that there are multiple mods trying to affect failure in the first place and the interface isn't properly designed for that. I worry that trying to fix this is going to reintroduce the problem of adding mod combination specific logic. Maybe there's a chance this could be fixed at a higher level by reformulating how |
I also think there are some issues with this change, but it seems all are prevented by incompatibilities between mods Failing while triggering the condition of sd or pf(or all failcondition) is definitely the highest priority (in currently compatible mod combinations or I think we can do more judge like 'force fail' For a problem of this pr is NF will faill if Ez open and run out extra life |
I thought about another possibility of adding the "allowFail" method (or attributes) to the interface. If one of the mods is defined it as false, then this session will not allow to fail(for ModBlockFail) Then the other reservations are as it is. |
IApplicableFailOverride
Mod return trueCheckModsAllowFailure
I decide to create a enum to deal with three situations
so if one of mod return BlockFail, fail will not perform and will not check other condition, and then if one of mod return ForceFail, it will handle fail although other mods want to avoid it. |
BlockFail, | ||
ForceFail, | ||
AvoidFail, | ||
AllowFail |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Without XMLDocs I can't tell what AvoidFail
does.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
xmldoc has been added
oversight
oversight
In the past, it was not successfully tested because of the override of CheckModsAllowFailure()
close #20511
It was thought that this would affect mod like autoplay but
IncompatibleMods
will aviod it