mage icon indicating copy to clipboard operation
mage copied to clipboard

Multiple Serra Paragon on battlefield bug

Open frikiluser opened this issue 6 months ago • 5 comments

Hi,

I've noticed when multiple Serra Paragon are on battlefield I can play a fetchland and it gains multiple instances of gain 2 life.

Regards,

frikiluser avatar Jun 13 '25 01:06 frikiluser

I noticed this bug too while working on [[The Fourth Doctor]].

The problem is that when the checkTrigger method in SerraParagonTriggeredAbility checks that a card was played via Serra Paragon's ability, the logic used (event.hasApprovingIdentifier(MageIdentifier.SerraParagonWatcher) doesn't distinguish between different Serra Paragons. So when a card is played thus, all Serra Paragon trigger and the cards gains the ability as many times as there are Paragons. It needs to check that the approving object is the right one, not just the identifier. I believe I have a fix, will propose it shortly in #13731 .

I don't think this concerns other cards. In most similar cards, a reflexive ability can be created at the end of the effect that lets players play cards, but this is not the case for Serra Paragon and The Fourth Doctor, because the effect is an AsThoughEffect. This was discussed in #13731.

padfoothelix avatar Jun 15 '25 13:06 padfoothelix

The Fourth Doctor - (Gatherer) (Scryfall) (EDHREC)

{2}{G}{U} Legendary Creature — Time Lord Doctor 4/4 You may look at the top card of your library any time. Would You Like A...? — Once each turn, you may play a historic land or cast a historic spell from the top of your library. When you do, create a Food token. (Artifacts, legendaries, and Sagas are historic.)

github-actions[bot] avatar Jun 15 '25 13:06 github-actions[bot]

[[Serra Paragon]]

JayDi85 avatar Jun 15 '25 13:06 JayDi85

Serra Paragon - (Gatherer) (Scryfall) (EDHREC)

{2}{W}{W} Creature — Angel 3/4 Flying Once during each of your turns, you may play a land from your graveyard or cast a permanent spell with mana value 3 or less from your graveyard. If you do, it gains "When this permanent is put into a graveyard from the battlefield, exile it and you gain 2 life."

github-actions[bot] avatar Jun 15 '25 13:06 github-actions[bot]

Possible fix:

Watcher can be per card, so you can add ability.originalid by watcher constructor (originalId will be same between copied abilities or cards) while creating a card and check it with identifier. Card id also will works (but not sure about copied cards).

Image

JayDi85 avatar Jun 15 '25 13:06 JayDi85