magefree / mage

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

Nulldrifter Evoke messages misleading #12683

Open Dunkoro opened 3 weeks ago

Dunkoro commented 3 weeks ago

When casting Nulldrifter I'm first presented first with a choice whether to cast it for 7 or with evoke for 2U (this is all fine so far) Afterwards, when the Nulldrifter and the Draw 2 is put on the stack, I'm once more presented with a similar choice; Evoke for 2U or Cast for normal cost of... nothing. Choosing the Evoke option prompts me to pay additional 2U, which, if not paid, makes the draw 2 not resolve. Choosing the option of nothing results in the card working as expected.

PurpleCrowbar commented 3 weeks ago

Confirmed, how bizarre. Exclusively an issue with [[Nulldrifter]] (and, thus, evoke). Another alternative cost, emerge, doesn't yield the same bugged results with on-cast triggers (tested with [[Abundant Maw]])

It seems the emerge keyword is implemented as a SpellAbility whereas evoke extends AlternativeSourceCostsImpl. It seems that a lot of alternative costs like blitz, escape, emerge, extend SpellAbility, with the only exceptions being Evoke, Dash, Freerunning, and Prowl, which extend AlternativeSourceCostsImpl. Maybe something going on there

github-actions[bot] commented 3 weeks ago

Nulldrifter - (Gatherer) (Scryfall) (EDHREC)

{7} Creature — Eldrazi Elemental 4/4 When you cast this spell, draw two cards. Flying Annihilator 1 (Whenever this creature attacks, defending player sacrifices a permanent.) Evoke {2}{U} (You may cast this spell for its evoke cost. If you do, it's sacrificed when it enters.)

Abundant Maw - (Gatherer) (Scryfall) (EDHREC)

{8} Creature — Eldrazi Leech 6/4 Emerge {6}{B} (You may cast this spell by sacrificing a creature and paying the emerge cost reduced by that creature's mana value.) When you cast this spell, target opponent loses 3 life and you gain 3 life.

JayDi85 commented 3 weeks ago

@PurpleCrowbar is it a regression from last release or an old bug?

PurpleCrowbar commented 3 weeks ago

No idea, Nulldrifter has been implemented for four months so should've been available in the last release, but maybe no one noticed the bug. Most recent relevant commit that changes EvokeAbility appears to be 96b08ee, but can't see why that commit would break anything. This card is also the first evoke card to have an on-cast trigger so may be a longstanding issue that's only been discovered now due to this card's printing.

Dunkoro commented 3 weeks ago

I'm pretty sure this wasn't there in the previous build, I've played with Nulldrifter a few times and I'm sure I'd have noticed.

xariskaliakatsos commented 2 days ago

is there a work around for this?