From d871ee99330849ea6209cb1356672ab9a61a59ea Mon Sep 17 00:00:00 2001 From: Muz Ali Date: Tue, 24 Feb 2026 18:12:07 -0600 Subject: [PATCH 1/2] [fix] Correct Urza, Powerstone Prodigy to correctly trigger on discard effects --- .../src/mage/cards/u/UrzaPowerstoneProdigy.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Mage.Sets/src/mage/cards/u/UrzaPowerstoneProdigy.java b/Mage.Sets/src/mage/cards/u/UrzaPowerstoneProdigy.java index 48d569820c7e..e6b79b2ed851 100644 --- a/Mage.Sets/src/mage/cards/u/UrzaPowerstoneProdigy.java +++ b/Mage.Sets/src/mage/cards/u/UrzaPowerstoneProdigy.java @@ -6,7 +6,7 @@ import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.common.CreateTokenEffect; -import mage.abilities.effects.common.DiscardCardControllerTriggeredAbility; +import mage.abilities.effects.common.DiscardOneOrMoreCardsTriggeredAbility; import mage.abilities.effects.common.DrawDiscardControllerEffect; import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; @@ -14,8 +14,8 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; -import mage.filter.FilterCard; -import mage.filter.common.FilterArtifactCard; +import mage.constants.Zone; +import mage.filter.StaticFilters; import mage.game.permanent.token.PowerstoneToken; import java.util.UUID; @@ -25,8 +25,6 @@ */ public final class UrzaPowerstoneProdigy extends CardImpl { - private static final FilterCard filter = new FilterArtifactCard("one or more artifact cards"); - public UrzaPowerstoneProdigy(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); @@ -47,8 +45,11 @@ public UrzaPowerstoneProdigy(UUID ownerId, CardSetInfo setInfo) { this.addAbility(ability); // Whenever you discard one or more artifact cards, create a tapped Powerstone token. This ability triggers only once each turn. - this.addAbility(new DiscardCardControllerTriggeredAbility( - new CreateTokenEffect(new PowerstoneToken(), 1, true), false, filter + this.addAbility(new DiscardOneOrMoreCardsTriggeredAbility( + Zone.BATTLEFIELD, + new CreateTokenEffect(new PowerstoneToken(), 1, true), + false, + StaticFilters.FILTER_CARD_ARTIFACTS ).setTriggersLimitEachTurn(1)); } From d4b7ca685e1d8d06cc3ac4ad16e693b72fce9f0c Mon Sep 17 00:00:00 2001 From: Muz Ali Date: Tue, 24 Feb 2026 18:13:15 -0600 Subject: [PATCH 2/2] [fix] Correct Mishra, Excavation Prodigy to correctly trigger on discard effects --- .../mage/cards/m/MishraExcavationProdigy.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/Mage.Sets/src/mage/cards/m/MishraExcavationProdigy.java b/Mage.Sets/src/mage/cards/m/MishraExcavationProdigy.java index 98057b12d5c9..793b3d3357f7 100644 --- a/Mage.Sets/src/mage/cards/m/MishraExcavationProdigy.java +++ b/Mage.Sets/src/mage/cards/m/MishraExcavationProdigy.java @@ -7,7 +7,7 @@ import mage.abilities.costs.common.DiscardCardCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.common.DiscardCardControllerTriggeredAbility; +import mage.abilities.effects.common.DiscardOneOrMoreCardsTriggeredAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.mana.BasicManaEffect; import mage.abilities.keyword.HasteAbility; @@ -16,9 +16,8 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; -import mage.filter.FilterCard; -import mage.filter.common.FilterArtifactCard; - +import mage.constants.Zone; +import mage.filter.StaticFilters; import java.util.UUID; /** @@ -26,9 +25,7 @@ */ public final class MishraExcavationProdigy extends CardImpl { - private static final FilterCard filter = new FilterArtifactCard("one or more artifact cards"); - - public MishraExcavationProdigy(UUID ownerId, CardSetInfo setInfo) { + public MishraExcavationProdigy(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); this.supertype.add(SuperType.LEGENDARY); @@ -47,8 +44,11 @@ public MishraExcavationProdigy(UUID ownerId, CardSetInfo setInfo) { this.addAbility(ability); // Whenever you discard one or more artifact cards, add {R}{R}. This ability triggers only once each turn. - this.addAbility(new DiscardCardControllerTriggeredAbility( - new BasicManaEffect(Mana.RedMana(2)), false, filter + this.addAbility(new DiscardOneOrMoreCardsTriggeredAbility( + Zone.BATTLEFIELD, + new BasicManaEffect(Mana.RedMana(2)), + false, + StaticFilters.FILTER_CARD_ARTIFACTS ).setTriggersLimitEachTurn(1)); }