From a00e6596442849c343b38c68207ea64fd68d5ba2 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Thu, 3 Sep 2020 14:55:51 -0400 Subject: [PATCH] [ZNR] Implemented Song-Mad Treachery / Song-Mad Ruins --- Mage.Sets/src/mage/cards/s/SongMadRuins.java | 37 ++++++++++++++++ .../src/mage/cards/s/SongMadTreachery.java | 43 +++++++++++++++++++ Mage.Sets/src/mage/sets/ZendikarRising.java | 2 + 3 files changed, 82 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/s/SongMadRuins.java create mode 100644 Mage.Sets/src/mage/cards/s/SongMadTreachery.java diff --git a/Mage.Sets/src/mage/cards/s/SongMadRuins.java b/Mage.Sets/src/mage/cards/s/SongMadRuins.java new file mode 100644 index 0000000000..6f85341ff5 --- /dev/null +++ b/Mage.Sets/src/mage/cards/s/SongMadRuins.java @@ -0,0 +1,37 @@ +package mage.cards.s; + +import mage.abilities.common.EntersBattlefieldTappedAbility; +import mage.abilities.mana.RedManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class SongMadRuins extends CardImpl { + + public SongMadRuins(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); + + this.modalDFC = true; + this.nightCard = true; + + // Song-Mad Ruins enters the battlefield tapped. + this.addAbility(new EntersBattlefieldTappedAbility()); + + // {T}: Add {R}. + this.addAbility(new RedManaAbility()); + } + + private SongMadRuins(final SongMadRuins card) { + super(card); + } + + @Override + public SongMadRuins copy() { + return new SongMadRuins(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SongMadTreachery.java b/Mage.Sets/src/mage/cards/s/SongMadTreachery.java new file mode 100644 index 0000000000..a5e006f57c --- /dev/null +++ b/Mage.Sets/src/mage/cards/s/SongMadTreachery.java @@ -0,0 +1,43 @@ +package mage.cards.s; + +import mage.abilities.effects.common.UntapTargetEffect; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.effects.common.continuous.GainControlTargetEffect; +import mage.abilities.keyword.HasteAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.target.common.TargetCreaturePermanent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class SongMadTreachery extends CardImpl { + + public SongMadTreachery(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{R}{R}"); + + this.modalDFC = true; + this.secondSideCardClazz = mage.cards.s.SongMadRuins.class; + + // Gain control of target creature until end of turn. Untap that creature. It gains haste until end of turn. + this.getSpellAbility().addEffect(new GainControlTargetEffect(Duration.EndOfTurn)); + this.getSpellAbility().addEffect(new UntapTargetEffect().setText("Untap that creature")); + this.getSpellAbility().addEffect(new GainAbilityTargetEffect( + HasteAbility.getInstance(), Duration.EndOfTurn + ).setText("It gains haste until end of turn.")); + this.getSpellAbility().addTarget(new TargetCreaturePermanent()); + } + + private SongMadTreachery(final SongMadTreachery card) { + super(card); + } + + @Override + public SongMadTreachery copy() { + return new SongMadTreachery(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ZendikarRising.java b/Mage.Sets/src/mage/sets/ZendikarRising.java index 1025ae21bd..5e1d2e9c72 100644 --- a/Mage.Sets/src/mage/sets/ZendikarRising.java +++ b/Mage.Sets/src/mage/sets/ZendikarRising.java @@ -150,6 +150,8 @@ public final class ZendikarRising extends ExpansionSet { cards.add(new SetCardInfo("Shepherd of Heroes", 38, Rarity.COMMON, mage.cards.s.ShepherdOfHeroes.class)); cards.add(new SetCardInfo("Skyclave Geopede", 163, Rarity.UNCOMMON, mage.cards.s.SkyclaveGeopede.class)); cards.add(new SetCardInfo("Sneaking Guide", 164, Rarity.COMMON, mage.cards.s.SneakingGuide.class)); + cards.add(new SetCardInfo("Song-Mad Ruins", 165, Rarity.UNCOMMON, mage.cards.s.SongMadRuins.class)); + cards.add(new SetCardInfo("Song-Mad Treachery", 165, Rarity.UNCOMMON, mage.cards.s.SongMadTreachery.class)); cards.add(new SetCardInfo("Spitfire Lagac", 167, Rarity.COMMON, mage.cards.s.SpitfireLagac.class)); cards.add(new SetCardInfo("Spoils of Adventure", 237, Rarity.UNCOMMON, mage.cards.s.SpoilsOfAdventure.class)); cards.add(new SetCardInfo("Swamp", 273, Rarity.LAND, mage.cards.basiclands.Swamp.class, FULL_ART_BFZ_VARIOUS));