From bf58b88685b552b13119108235846d2df01bb66b Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Mon, 7 Sep 2020 20:33:02 -0400 Subject: [PATCH] [ZNR] Implemented Dauntless Unity --- .../src/mage/cards/d/DauntlessUnity.java | 69 +++++++++++++++++++ Mage.Sets/src/mage/sets/ZendikarRising.java | 1 + 2 files changed, 70 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/d/DauntlessUnity.java diff --git a/Mage.Sets/src/mage/cards/d/DauntlessUnity.java b/Mage.Sets/src/mage/cards/d/DauntlessUnity.java new file mode 100644 index 00000000000..3f06e20e5d1 --- /dev/null +++ b/Mage.Sets/src/mage/cards/d/DauntlessUnity.java @@ -0,0 +1,69 @@ +package mage.cards.d; + +import mage.abilities.Ability; +import mage.abilities.condition.common.KickedCondition; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.continuous.BoostControlledEffect; +import mage.abilities.keyword.KickerAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.game.Game; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class DauntlessUnity extends CardImpl { + + public DauntlessUnity(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{W}"); + + // Kicker {1}{W} + this.addAbility(new KickerAbility(new ManaCostsImpl<>("{1}{W}"))); + + // Creatures you control get +1/+1 until end of turn. If this spell was kicked, those creatures get +2/+1 until end of turn instead. + this.getSpellAbility().addEffect(new DauntlessUnityEffect()); + } + + private DauntlessUnity(final DauntlessUnity card) { + super(card); + } + + @Override + public DauntlessUnity copy() { + return new DauntlessUnity(this); + } +} + +class DauntlessUnityEffect extends OneShotEffect { + + DauntlessUnityEffect() { + super(Outcome.Benefit); + staticText = "Creatures you control get +1/+1 until end of turn. " + + "If this spell was kicked, those creatures get +2/+1 until end of turn instead."; + } + + private DauntlessUnityEffect(final DauntlessUnityEffect effect) { + super(effect); + } + + @Override + public DauntlessUnityEffect copy() { + return new DauntlessUnityEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + if (KickedCondition.instance.apply(game, source)) { + game.addEffect(new BoostControlledEffect(2, 1, Duration.EndOfTurn), source); + } else { + game.addEffect(new BoostControlledEffect(1, 1, Duration.EndOfTurn), source); + } + return true; + } +} diff --git a/Mage.Sets/src/mage/sets/ZendikarRising.java b/Mage.Sets/src/mage/sets/ZendikarRising.java index 7ab4e76d061..e1433e9a217 100644 --- a/Mage.Sets/src/mage/sets/ZendikarRising.java +++ b/Mage.Sets/src/mage/sets/ZendikarRising.java @@ -134,6 +134,7 @@ public final class ZendikarRising extends ExpansionSet { cards.add(new SetCardInfo("Crawling Barrens", 262, Rarity.RARE, mage.cards.c.CrawlingBarrens.class)); cards.add(new SetCardInfo("Cunning Geysermage", 55, Rarity.COMMON, mage.cards.c.CunningGeysermage.class)); cards.add(new SetCardInfo("Dauntless Survivor", 184, Rarity.COMMON, mage.cards.d.DauntlessSurvivor.class)); + cards.add(new SetCardInfo("Dauntless Unity", 9, Rarity.COMMON, mage.cards.d.DauntlessUnity.class)); cards.add(new SetCardInfo("Deadly Alliance", 96, Rarity.COMMON, mage.cards.d.DeadlyAlliance.class)); cards.add(new SetCardInfo("Demon's Disciple", 97, Rarity.UNCOMMON, mage.cards.d.DemonsDisciple.class)); cards.add(new SetCardInfo("Disenchant", 10, Rarity.COMMON, mage.cards.d.Disenchant.class));