From e69b80df914cbd748c6d9dc2888f573faab77662 Mon Sep 17 00:00:00 2001 From: theelk801 Date: Sat, 22 Feb 2025 12:34:09 -0500 Subject: [PATCH] [TDM] Implement Mox Jasper --- Mage.Sets/src/mage/cards/m/MoxJasper.java | 50 +++++++++++++++++++ .../src/mage/sets/TarkirDragonstorm.java | 1 + 2 files changed, 51 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/m/MoxJasper.java diff --git a/Mage.Sets/src/mage/cards/m/MoxJasper.java b/Mage.Sets/src/mage/cards/m/MoxJasper.java new file mode 100644 index 00000000000..a5d1cffc6f1 --- /dev/null +++ b/Mage.Sets/src/mage/cards/m/MoxJasper.java @@ -0,0 +1,50 @@ +package mage.cards.m; + +import mage.abilities.condition.Condition; +import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.mana.AddManaOfAnyColorEffect; +import mage.abilities.hint.ConditionHint; +import mage.abilities.hint.Hint; +import mage.abilities.mana.ActivateIfConditionManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.SuperType; +import mage.constants.Zone; +import mage.filter.common.FilterControlledPermanent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class MoxJasper extends CardImpl { + + private static final Condition condition = new PermanentsOnTheBattlefieldCondition( + new FilterControlledPermanent(SubType.DRAGON, "you control a Dragon") + ); + private static final Hint hint = new ConditionHint(condition, "You control a Dragon"); + + public MoxJasper(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{0}"); + + this.supertype.add(SuperType.LEGENDARY); + + // {T}: Add one mana of any color. Activate only if you control a Dragon. + this.addAbility(new ActivateIfConditionManaAbility( + Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(1), + new TapSourceCost(), condition + ).addHint(hint)); + } + + private MoxJasper(final MoxJasper card) { + super(card); + } + + @Override + public MoxJasper copy() { + return new MoxJasper(this); + } +} diff --git a/Mage.Sets/src/mage/sets/TarkirDragonstorm.java b/Mage.Sets/src/mage/sets/TarkirDragonstorm.java index 2dfab870960..bf2aaf21145 100644 --- a/Mage.Sets/src/mage/sets/TarkirDragonstorm.java +++ b/Mage.Sets/src/mage/sets/TarkirDragonstorm.java @@ -19,6 +19,7 @@ public final class TarkirDragonstorm extends ExpansionSet { super("Tarkir: Dragonstorm", "TDM", ExpansionSet.buildDate(2025, 4, 11), SetType.EXPANSION); this.blockName = "Tarkir: Dragonstorm"; // for sorting in GUI + cards.add(new SetCardInfo("Mox Jasper", 246, Rarity.MYTHIC, mage.cards.m.MoxJasper.class)); cards.add(new SetCardInfo("Stormscale Scion", 123, Rarity.MYTHIC, mage.cards.s.StormscaleScion.class)); } }