-
Notifications
You must be signed in to change notification settings - Fork 602
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
Bestow as Static Effect #6992
base: master
Are you sure you want to change the base?
Bestow as Static Effect #6992
Conversation
@@ -104,6 +104,8 @@ public final static boolean playSpellAbility(final PlayerControllerHuman control | |||
if (rollback.isInZone(ZoneType.Exile)) { | |||
rollback.addMayLookTemp(p); | |||
} | |||
} else { |
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.
else is wrong
just move it into the block above
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.
in theory undoAlternateHost
could handle reverting castFaceDown
too
bestowEffect.addStaticAbility(s); | ||
|
||
GameCommand until = SpellAbilityEffect.exileEffectCommand(getGame(), bestowEffect); | ||
addLeavesPlayCommand(until); |
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.
need to find a way to also cleanup when it leaves stack without resolving
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.
Leaving the stack without resolving should already call unanimateBestow
directly
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.
it seems CounterEffect would call it
but ChangeZoneEffect not currently
@tool4ever i couldn't pinpoint the cause of the issues yet (both visual and functional) but my gut is telling me that the Remembered List of the LKI could be a cause. forge/forge-game/src/main/java/forge/game/card/CardCopyService.java Lines 342 to 344 in a4b2732
|
Probably need to manually add the effect to Command instead so you have greater control over when statics are applied 🤔 |
I think the main problem are that Bestow uses LKI -> StaticEffect to check. And then the LKI object isn't used anymore, but the StaticEffect might still linger ... Especially the ones where you Cancel the Spell cast |
Closes #6811
currently it causes flickering
And sometimes, the Bestow Effect isn't removed as it should, but I can't find the remaining one.
That causes the Creature Spell still be cast as Aura even if it shouldn't.
And sometimes, the effect might be removed, but the static effect of the effect isn't cleared