Page 1 of 1

[confirmed]Pull from Eternity - various

PostPosted: 05 Apr 2016, 22:38
by Korath
Describe the Bug:
  1. Pull from Eternity targets the player who owns the card (so "You have shroud/hexproof" effects like on True Believer or Imperial Mask protect your exiled cards).
  2. The targeted card isn't chosen until resolution.
  3. You can cast it even if no cards are exiled, or select a player who has no exiled cards, and it just goes to graveyard.
  4. If you target a suspended card, the suspend effect remains on the battlefield. It gets cast when it runs out of time counters if there's a different copy of the card in exile (say, from activating Tormod's Crypt to exile it from the graveyard after playing Pull from Eternity).
Which card did behave improperly ?
Pull from Eternity, though D is more properly part of suspend.

Which update are you using?(date,name)Which type(Duel,Gauntlet,Sealed Deck)
Post-BFZ2 (revision e677f46 from yesterday), but I really doubt anything here's different from release. Attached savegame's from duel.

What exactly should be the correct behavior/interaction ?
Respectively:
  1. Choice of exile zone shouldn't be targeted.
  2. The exiled card should be targeted, and it should be chosen at announcement. (And be able to deal with other copies of Pull from Eternity that target cards before or after it in the same exile zone resolving before it does.)
  3. You can't cast it unless you can target a face-up exiled card, and can't select a player who doesn't own any.
  4. The suspend effect should go away when the card leaves exile, or at least be able to distinguish between different exiled copies.
Are any other cards possibly affected by this bug ?
Riftsweeper and Mirror of Fate are similar, but I haven't tested them. The processor mechanic from Battle for Zendikar is superficially similar, but A, B, and C don't apply, and D is, again, suspend's fault instead.

I didn't think to test it against cipher or imprint or haunt cards; those effects should also go away once the card they're tracking leaves exile.

Re: Pull from Eternity - various

PostPosted: 06 Apr 2016, 14:38
by Aswan jaguar
I confirm all and tested Pull from Eternity against cipher,imprint & haunt cards and effects of all 3 still apply to the cards if the cards in exile are no longer there.

Re: [confirmed]Pull from Eternity - various

PostPosted: 21 Apr 2016, 21:20
by Gargaroz
Korath, how do you suggest we fix the interaction with, let's say, Suspend since there'no direct correlation between the exiled card and the Suspend legacy?
Should I simply search the BF for a Suspend legacy that matches the CSVID of the card removed from exile and kill it?
But I won't be able to do that with cards that allow you to exile more than 1 card at once and play it in a separate instance.

Re: [confirmed]Pull from Eternity - various

PostPosted: 21 Apr 2016, 22:03
by Korath
It depends on how much effort you think it's worth. The way I went in Shandalar is to track cards in exile the same way they are in graveyards (via graveyard_source[][] and all its related functions, in particular removing all direct writes to rfg_ptr[][]), but that was mostly feasible because I delayed making any related cards until the system was in place. Retrofitting it into all the existing uses in Manalink is a much bigger project.

It's probably easier in the short term to find all the ways a card can be removed from exile, make them all go through the same interface function, and have that interface function look for all cards and effects that try to keep track of a card in exile and update them appropriately. Those in turn would keep track of the exiled card by storing an index into rfg_ptr[][] instead of a csvid. In the long term, that's going to be a maintenance nightmare.

The absolute minimum not-really-a-fix-but-makes-this-bug-go-away fix would be to have generic_suspend_legacy() and similar check whether there's a matching card in exile periodically (probably during EVENT_STATIC_EFFECTS, but EFFECT_PHASE_CHANGED might be often enough), not just when the last time counter is removed.

Re: [confirmed]Pull from Eternity - various

PostPosted: 27 Oct 2016, 16:44
by Aswan jaguar
Riftsweeper as suspected by Korath has the same problem with suspended cards as Pull from Eternity does.(D bug).