magefree / mage

Magic Another Game Engine
http://xmage.today
MIT License
1.87k stars 767 forks source link

Flickering a permanent enchanted with Reality Acid incorrectly makes you sacrifice it #5250

Open NekoNL opened 6 years ago

NekoNL commented 6 years ago

When using aminatou, the fateshifter to blink animate dead which was attached to deepglow skate (mine), and then returning wurmcoil engine (opponent) and resolving the return trigger first it sacrificed the wurmcoil engine instead of the deepglow skate. Resolving the sacrifice trigger first would not sacrifice anything. In a later turn I blinked animate dead again with aminatou, the fateshifter to return deepglow skate but did not get the enter the battlefield trigger from deepglow skate, even after redoing the turn.

NekoNL commented 6 years ago

New game today: Reality acid was on my Dovin Baan. I used Aminatou, the fateshifter to blink Dovin Baan and the reality acid still made me sacrifice Dovin Baan even though when it enters from exile it is a totally new card and should not be affected by it. Seems that somewhere in the coding somethign goes wrong with it not seeing it as a new permanent and thus it still being affected by animate dead and reality acid's sacrifice.

awjackson commented 2 years ago

(copypasted from duplicate issue #9572)

In xmage, Animate Dead (and the very similar cards Dance of the Dead and Necromancy) have as a separate ability "When {this} leaves the battlefield, enchanted creature's controller sacrifices it". According to these cards' Oracle text, however, the sacrifice is not a separate ability but part of the wall-of-text ability that reanimates the creature, and it is worded "When {this} leaves the battlefield, that creature's controller sacrifices it". In other words it should be a delayed triggered ability created by the reanimation ability, and its target should be locked-in as the creature returned to the battlefield by the previous effects of that ability.

I did a bit of research and Animate Dead's current Oracle wording (other than terminology changes, like "in play -> on the battlefield") seems to date back to 2007, which is longer than xmage has been in development, or at least in public development on github.

awjackson commented 2 years ago

Reopening because Reality Acid is a different bug from Animate Dead.