From 19157f2a59373ad8283d03bd8f7c9da7b13f3177 Mon Sep 17 00:00:00 2001 From: Daniel Bomar Date: Sun, 21 Aug 2022 15:46:33 -0500 Subject: [PATCH] [DMU] Implemented Stall for Time --- Mage.Sets/src/mage/cards/s/StallForTime.java | 52 ++++++++++++++++++++ Mage.Sets/src/mage/sets/DominariaUnited.java | 1 + 2 files changed, 53 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/s/StallForTime.java diff --git a/Mage.Sets/src/mage/cards/s/StallForTime.java b/Mage.Sets/src/mage/cards/s/StallForTime.java new file mode 100644 index 0000000000..3c695443c5 --- /dev/null +++ b/Mage.Sets/src/mage/cards/s/StallForTime.java @@ -0,0 +1,52 @@ +package mage.cards.s; + +import java.util.UUID; + +import mage.abilities.condition.common.KickedCondition; +import mage.abilities.decorator.ConditionalOneShotEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.TapTargetEffect; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.abilities.keyword.KickerAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.counters.CounterType; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author weirddan455 + */ +public final class StallForTime extends CardImpl { + + public StallForTime(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{W}"); + + // Kicker {1}{U} + this.addAbility(new KickerAbility("{1}{U}")); + + // Tap up to two target creatures. + this.getSpellAbility().addTarget(new TargetCreaturePermanent(0, 2)); + this.getSpellAbility().addEffect(new TapTargetEffect()); + + // If this spell was kicked, put a stun counter on each of those creatures. + this.getSpellAbility().addEffect(new ConditionalOneShotEffect( + new AddCountersTargetEffect(CounterType.STUN.createInstance()), + KickedCondition.ONCE, + "If this spell was kicked, put a stun counter on each of those creatures." + )); + + // Draw a card. + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); + } + + private StallForTime(final StallForTime card) { + super(card); + } + + @Override + public StallForTime copy() { + return new StallForTime(this); + } +} diff --git a/Mage.Sets/src/mage/sets/DominariaUnited.java b/Mage.Sets/src/mage/sets/DominariaUnited.java index ef84f39768..94efef0399 100644 --- a/Mage.Sets/src/mage/sets/DominariaUnited.java +++ b/Mage.Sets/src/mage/sets/DominariaUnited.java @@ -68,6 +68,7 @@ public final class DominariaUnited extends ExpansionSet { cards.add(new SetCardInfo("Shivan Devastator", 143, Rarity.MYTHIC, mage.cards.s.ShivanDevastator.class)); cards.add(new SetCardInfo("Shivan Reef", 255, Rarity.RARE, mage.cards.s.ShivanReef.class)); cards.add(new SetCardInfo("Snarespinner", 179, Rarity.COMMON, mage.cards.s.Snarespinner.class)); + cards.add(new SetCardInfo("Stall for Time", 34, Rarity.COMMON, mage.cards.s.StallForTime.class)); cards.add(new SetCardInfo("Sulfurous Springs", 256, Rarity.RARE, mage.cards.s.SulfurousSprings.class)); cards.add(new SetCardInfo("Swamp", 268, Rarity.LAND, mage.cards.basiclands.Swamp.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Take Up the Shield", 35, Rarity.COMMON, mage.cards.t.TakeUpTheShield.class));