-
Notifications
You must be signed in to change notification settings - Fork 799
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
Fix missing ProcessAction between the last mana being paid and the spell being cast. #13396
Fix missing ProcessAction between the last mana being paid and the spell being cast. #13396
Conversation
…ell being cast. This is necessary so that, among other things, the Rain of Riches watcher can see that the last mana of a spell was a Treasure before the spell is cast - at which point it needs to already have Cascade.
Add all related tests from #12127 |
…ell being cast. This is necessary so that, among other things, the Rain of Riches watcher can see that the last mana of a spell was a Treasure before the spell is cast - at which point it needs to already have Cascade.
… into grath/revive-rain-of-riches-fix
Already added the tests to master (I split this up so that fixing Rain of Riches' broken logic could be committed at minimum, so that as long as you use your treasure first the cascade will work, as long as there's more than one mana to pay), but unskipped the tests in this PR which are currently failing due to this problem. |
As it stands, without this processAction call, it is impossible to use Rain of Riches to make a 1 mana value spell cascade (because there's only one mana to be paid with a treasure), and to make a 2+ mana value spell cascade you must use your treasure before the last mana is paid so that the spell will gain cascade before the SPELL_CAST event fires. |
It's a shame that the effort to fix this card had to be duplicated three times, but I'm glad things are moving forward. |
I mean, most of the code I used for this came directly from Susucr's pull request, I just revived the effort and I merged the mechanical fixes to the card without asking permission because there was no reason not to at least fix the card while JayDi considers whether or not we're allowed to fix the engine. |
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.
There is still no good reason not to merge this fix
There have been at least a dozen reports about Rain of Riches being bugged, between Github and the Discord. There is no way to fix it without processing actions then because we need to observe if the last mana was a treasure and apply the ability to give the spell Cascade before it actually gets cast. This is the correct and necessary solution. |
Fixes #9669
This is necessary so that, among other things, the Rain of Riches watcher can see that the last mana of a spell was a Treasure before the spell is cast - at which point it needs to already have Cascade.
The spell casting sequence already contains many calls to processAction - processAction happens after each MANA_ADDED event, this adds one additional one after the final MANA_PAID event but before the ensuing SPELL_CAST event.
