From 47a51a7e0e6f0bb76f9f68cf433cf49ce8613014 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Mon, 7 Sep 2020 20:55:54 -0400 Subject: [PATCH] [ZNR] Implemented Jwari Disruption / Jwari Ruins --- .../src/mage/cards/j/JwariDisruption.java | 36 ++++++++++++++++++ Mage.Sets/src/mage/cards/j/JwariRuins.java | 37 +++++++++++++++++++ Mage.Sets/src/mage/sets/ZendikarRising.java | 2 + 3 files changed, 75 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/j/JwariDisruption.java create mode 100644 Mage.Sets/src/mage/cards/j/JwariRuins.java diff --git a/Mage.Sets/src/mage/cards/j/JwariDisruption.java b/Mage.Sets/src/mage/cards/j/JwariDisruption.java new file mode 100644 index 0000000000..40fa89f175 --- /dev/null +++ b/Mage.Sets/src/mage/cards/j/JwariDisruption.java @@ -0,0 +1,36 @@ +package mage.cards.j; + +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.common.CounterUnlessPaysEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.target.TargetSpell; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class JwariDisruption extends CardImpl { + + public JwariDisruption(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{U}"); + + this.modalDFC = true; + this.secondSideCardClazz = mage.cards.j.JwariDisruption.class; + + // Counter target spell unless its controller pays {1}. + this.getSpellAbility().addEffect(new CounterUnlessPaysEffect(new GenericManaCost(1))); + this.getSpellAbility().addTarget(new TargetSpell()); + } + + private JwariDisruption(final JwariDisruption card) { + super(card); + } + + @Override + public JwariDisruption copy() { + return new JwariDisruption(this); + } +} diff --git a/Mage.Sets/src/mage/cards/j/JwariRuins.java b/Mage.Sets/src/mage/cards/j/JwariRuins.java new file mode 100644 index 0000000000..9333be0260 --- /dev/null +++ b/Mage.Sets/src/mage/cards/j/JwariRuins.java @@ -0,0 +1,37 @@ +package mage.cards.j; + +import mage.abilities.common.EntersBattlefieldTappedAbility; +import mage.abilities.mana.BlueManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class JwariRuins extends CardImpl { + + public JwariRuins(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); + + this.modalDFC = true; + this.nightCard = true; + + // Jwari Ruins enters the battlefield tapped. + this.addAbility(new EntersBattlefieldTappedAbility()); + + // {T}: Add {U}. + this.addAbility(new BlueManaAbility()); + } + + private JwariRuins(final JwariRuins card) { + super(card); + } + + @Override + public JwariRuins copy() { + return new JwariRuins(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ZendikarRising.java b/Mage.Sets/src/mage/sets/ZendikarRising.java index e9f9576d33..f0953b9c80 100644 --- a/Mage.Sets/src/mage/sets/ZendikarRising.java +++ b/Mage.Sets/src/mage/sets/ZendikarRising.java @@ -168,6 +168,8 @@ public final class ZendikarRising extends ExpansionSet { cards.add(new SetCardInfo("Jace, Mirror Mage", 63, Rarity.MYTHIC, mage.cards.j.JaceMirrorMage.class)); cards.add(new SetCardInfo("Joraga Visionary", 188, Rarity.COMMON, mage.cards.j.JoragaVisionary.class)); cards.add(new SetCardInfo("Journey to Oblivion", 17, Rarity.UNCOMMON, mage.cards.j.JourneyToOblivion.class)); + cards.add(new SetCardInfo("Jwari Disruption", 64, Rarity.UNCOMMON, mage.cards.j.JwariDisruption.class)); + cards.add(new SetCardInfo("Jwari Ruins", 64, Rarity.UNCOMMON, mage.cards.j.JwariRuins.class)); cards.add(new SetCardInfo("Kabira Outrider", 18, Rarity.COMMON, mage.cards.k.KabiraOutrider.class)); cards.add(new SetCardInfo("Kabira Plateau", 19, Rarity.UNCOMMON, mage.cards.k.KabiraPlateau.class)); cards.add(new SetCardInfo("Kabira Takedown", 19, Rarity.UNCOMMON, mage.cards.k.KabiraTakedown.class));