forge icon indicating copy to clipboard operation
forge copied to clipboard

Moved replacement causing wrong ChangesZoneAll trigger

Open tool4ever opened this issue 3 years ago • 1 comments

image

When you destroy the Griffin Welcoming Vampire will trigger. This is because the RiP RE only changes the zone of the copied card, so the ChangeZoneTable will be {Battlefield={Battlefield=[Abbey Griffin]}}

@Hanmac my current idea is to just return game.getCardState(c) here: https://github.com/Card-Forge/forge/blob/e7f6b3371a2642ce625abce01c8b2bab21c2c368/forge-game/src/main/java/forge/game/GameAction.java#L382

or at the very least update the zone of c with the new one?

Edit: probably not good enough, that would still cause triggerChangesZoneAll twice, once from RE ChangeZoneEffect and second from DestroyEffect

tool4ever avatar Oct 24 '22 09:10 tool4ever

imo what should be done is that RIP does Replace and Update the Destination / zoneTo (while still respecting "ExiledWith")

Hanmac avatar Oct 24 '22 10:10 Hanmac

Yea that's probably needed, it will also fix the splitting of simultaneous events into multiple, e.g. in this scenario Ranar should only trigger once but currently it's twice:

image

tool4ever avatar Dec 03 '22 19:12 tool4ever

Fixing this will also avoid UntilHostLeavesPlay being dropped

tool4ever avatar Jan 03 '23 16:01 tool4ever

This issue has not been updated in a while and has now been marked as stale. Stale messages will be auto closed.

github-actions[bot] avatar May 22 '23 09:05 github-actions[bot]

This issue has not been updated in a while and has now been marked as stale. Stale messages will be auto closed.

github-actions[bot] avatar Jun 22 '23 09:06 github-actions[bot]

@tool4ever what we could try is pasting the change Zone Table as Replacement parameter to fill

with that, the outer Destroy Effect creates the Table and the inner Effect notices that its inside a Move Replacement Effect and just updates the data in the Table (with keeping old lki in tact?)

Hanmac avatar Jan 01 '24 09:01 Hanmac