mage
mage copied to clipboard
"Banishing Light" effects don't get cancelled if they LTB while on the stack, resulting in permanent exile
-- Setup :
Both [[Lagrella, the Magpie]] and [[Charming Prince]] are ETBing together (both of these can be replaced with any "exile until ~ leaves the battlefield" and any way to make the first card LTB before it resolves). Pick Lagrella's target, then target her with Charming Prince, having his effect resolve first.
-- What happens :
Charming Prince's effect resolves, Lagrella is exiled until the end of the turn. Lagrella's effect resolves, exiling its target. As she has already left the battlefield, there is no "leaves the battlefield" trigger possible, so those targets won't ever come back to the battlefield.
-- What should be happening :
Charming Prince's effect resolves, Lagrella is exiled until the end of the turn. Lagrella's effect fizzles, her effect is worded like Banishing Light's ("exile until ~ leaves the battlefield") and BL's ruling reads "If Banishing Light leaves the battlefield before its triggered ability resolves, the target permanent won’t be exiled. ".
I picked Lagrella because she has a second, less bad bug : her effects reads "When an exiled card enters the battlefield under your control this way, put two +1/+1 counters on it.", but when it triggers it only puts a single +1/+1 counter instead of two.
Lagrella, the Magpie - (Gatherer) (Scryfall) (EDHREC)
{G}{W}{U} Legendary Creature — Human Soldier 2/3 When Lagrella, the Magpie enters the battlefield, exile any number of other target creatures controlled by different players until Lagrella leaves the battlefield. When an exiled card enters the battlefield under your control this way, put two +1/+1 counters on it.
Charming Prince - (Gatherer) (Scryfall) (EDHREC)
{1}{W} Creature — Human Noble 2/2 When Charming Prince enters the battlefield, choose one — • Scry 2. • You gain 3 life. • Exile another target creature you own. Return it to the battlefield under your control at the beginning of the next end step.
Flicker effects like Flicker of Fate still don't interact correctly. We need to use source.getSourcePermanentIfItStillExists
to ensure that the permanent currently on the battlefield is the same one (i.e. same zone change counter) whose ability is resolving. Currently when you flicker a Banishing Light or similar permanent with the ability on the stack, you get to exile two permanents.
addfd5166e8f0a62dcf7d30f7518bf7228d14bea fixed this for the common ExileUntilSourceLeavesEffect
class, but there are many many custom versions of this effect.
e310ede83710c853d4cc876c98b332cd2fecceb5 should have fixed this for all effects that exile permanents. [[Brain Maggot]] [[Kitesail Freebooter]] and [[Valki, God of Lies]] still need to be slightly reworked because the target opponent should still reveal their hand even if the source has left the battlefield (though you don't get to exile any cards).
Brain Maggot - (Gatherer) (Scryfall) (EDHREC)
{1}{B} Enchantment Creature — Insect 1/1 When Brain Maggot enters the battlefield, target opponent reveals their hand and you choose a nonland card from it. Exile that card until Brain Maggot leaves the battlefield.
Kitesail Freebooter - (Gatherer) (Scryfall) (EDHREC)
{1}{B} Creature — Human Pirate 1/2 Flying When Kitesail Freebooter enters the battlefield, target opponent reveals their hand. You choose a noncreature, nonland card from it. Exile that card until Kitesail Freebooter leaves the battlefield.
Valki, God of Lies // Tibalt, Cosmic Impostor - (Gatherer) (Scryfall) (EDHREC)
{1}{B} Legendary Creature — God 2/1 When Valki enters the battlefield, each opponent reveals their hand. For each opponent, exile a creature card they revealed this way until Valki leaves the battlefield. {X}: Choose a creature card exiled with Valki with mana value X. Valki becomes a copy of that card. :arrows_counterclockwise: {5}{B}{R} Legendary Planeswalker — Tibalt 5 As Tibalt enters the battlefield, you get an emblem with "You may play cards exiled with Tibalt, Cosmic Impostor, and you may spend mana as though it were mana of any color to cast those spells." +2: Exile the top card of each player's library. −3: Exile target artifact or creature. −8: Exile all graveyards. Add {R}{R}{R}.