From 4edae720ad00ab045b210f2b50ef9f453c3c2806 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Mon, 29 Aug 2022 20:12:45 -0400 Subject: [PATCH] [DMU] Implemented Najal, the Storm Runner --- .../src/mage/cards/n/NajalTheStormRunner.java | 58 +++++++++++++++++++ Mage.Sets/src/mage/sets/DominariaUnited.java | 1 + 2 files changed, 59 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/n/NajalTheStormRunner.java diff --git a/Mage.Sets/src/mage/cards/n/NajalTheStormRunner.java b/Mage.Sets/src/mage/cards/n/NajalTheStormRunner.java new file mode 100644 index 00000000000..43b550bba56 --- /dev/null +++ b/Mage.Sets/src/mage/cards/n/NajalTheStormRunner.java @@ -0,0 +1,58 @@ +package mage.cards.n; + +import mage.MageInt; +import mage.abilities.common.AttacksTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.common.delayed.CopyNextSpellDelayedTriggeredAbility; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect; +import mage.abilities.effects.common.DoIfCostPaid; +import mage.abilities.effects.common.continuous.CastAsThoughItHadFlashAllEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.constants.SuperType; +import mage.filter.FilterCard; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class NajalTheStormRunner extends CardImpl { + + private static final FilterCard filter = new FilterCard("sorcery spells"); + + static { + filter.add(CardType.SORCERY.getPredicate()); + } + + public NajalTheStormRunner(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}{U}{R}"); + + this.addSuperType(SuperType.LEGENDARY); + this.subtype.add(SubType.EFREET); + this.subtype.add(SubType.WIZARD); + this.power = new MageInt(5); + this.toughness = new MageInt(4); + + // You may cast sorcery spells as though they had flash. + this.addAbility(new SimpleStaticAbility(new CastAsThoughItHadFlashAllEffect(Duration.WhileOnBattlefield, filter))); + + // Whenever Najal, the Storm Runner attacks, you may pay {2}. If you do, when you cast your next instant or sorcery spell this turn, copy it. You may choose new targets for the copy. + this.addAbility(new AttacksTriggeredAbility(new DoIfCostPaid( + new CreateDelayedTriggeredAbilityEffect(new CopyNextSpellDelayedTriggeredAbility()), new GenericManaCost(2) + ))); + } + + private NajalTheStormRunner(final NajalTheStormRunner card) { + super(card); + } + + @Override + public NajalTheStormRunner copy() { + return new NajalTheStormRunner(this); + } +} diff --git a/Mage.Sets/src/mage/sets/DominariaUnited.java b/Mage.Sets/src/mage/sets/DominariaUnited.java index 5986ef72e10..838640b7969 100644 --- a/Mage.Sets/src/mage/sets/DominariaUnited.java +++ b/Mage.Sets/src/mage/sets/DominariaUnited.java @@ -148,6 +148,7 @@ public final class DominariaUnited extends ExpansionSet { cards.add(new SetCardInfo("Mossbeard Ancient", 173, Rarity.UNCOMMON, mage.cards.m.MossbeardAncient.class)); cards.add(new SetCardInfo("Mountain", 271, Rarity.LAND, mage.cards.basiclands.Mountain.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Nael, Avizoa Aeronaut", 207, Rarity.UNCOMMON, mage.cards.n.NaelAvizoaAeronaut.class)); + cards.add(new SetCardInfo("Najal, the Storm Runner", 208, Rarity.UNCOMMON, mage.cards.n.NajalTheStormRunner.class)); cards.add(new SetCardInfo("Negate", 58, Rarity.COMMON, mage.cards.n.Negate.class)); cards.add(new SetCardInfo("Nishoba Brawler", 174, Rarity.UNCOMMON, mage.cards.n.NishobaBrawler.class)); cards.add(new SetCardInfo("Phoenix Chick", 140, Rarity.UNCOMMON, mage.cards.p.PhoenixChick.class));