From cfb356b3eb0b9215b6b607d61fe0b9e48cf6829f Mon Sep 17 00:00:00 2001 From: Susucre <34709007+Susucre@users.noreply.github.com> Date: Wed, 23 Aug 2023 01:46:43 +0200 Subject: [PATCH] [WOE] Implement Unruly Catapult (#10955) Co-authored-by: Evan Kranzler --- .../src/mage/cards/u/UnrulyCatapult.java | 52 +++++++++++++++++++ Mage.Sets/src/mage/sets/WildsOfEldraine.java | 3 +- 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 Mage.Sets/src/mage/cards/u/UnrulyCatapult.java diff --git a/Mage.Sets/src/mage/cards/u/UnrulyCatapult.java b/Mage.Sets/src/mage/cards/u/UnrulyCatapult.java new file mode 100644 index 00000000000..d44bf57ceab --- /dev/null +++ b/Mage.Sets/src/mage/cards/u/UnrulyCatapult.java @@ -0,0 +1,52 @@ +package mage.cards.u; + +import mage.MageInt; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.common.SpellCastControllerTriggeredAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.common.DamagePlayersEffect; +import mage.abilities.effects.common.UntapSourceEffect; +import mage.abilities.keyword.DefenderAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.TargetController; +import mage.filter.StaticFilters; + +import java.util.UUID; + +/** + * @author Susucr + */ +public final class UnrulyCatapult extends CardImpl { + + public UnrulyCatapult(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{2}{R}"); + this.subtype.add(SubType.CONSTRUCT); + this.power = new MageInt(0); + this.toughness = new MageInt(4); + + // Defender + this.addAbility(DefenderAbility.getInstance()); + + // {T}: Unruly Catapult deals 1 damage to each opponent. + this.addAbility(new SimpleActivatedAbility( + new DamagePlayersEffect(1, TargetController.OPPONENT), new TapSourceCost() + )); + + // Whenever you cast an instant or sorcery spell, untap Unruly Catapult-Alchemist. + this.addAbility(new SpellCastControllerTriggeredAbility( + new UntapSourceEffect(), StaticFilters.FILTER_SPELL_AN_INSTANT_OR_SORCERY, false + )); + } + + private UnrulyCatapult(final UnrulyCatapult card) { + super(card); + } + + @Override + public UnrulyCatapult copy() { + return new UnrulyCatapult(this); + } +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/WildsOfEldraine.java b/Mage.Sets/src/mage/sets/WildsOfEldraine.java index 0ca3df72b8f..1ee4f4db297 100644 --- a/Mage.Sets/src/mage/sets/WildsOfEldraine.java +++ b/Mage.Sets/src/mage/sets/WildsOfEldraine.java @@ -170,7 +170,8 @@ public final class WildsOfEldraine extends ExpansionSet { cards.add(new SetCardInfo("Twisted Fealty", 154, Rarity.UNCOMMON, mage.cards.t.TwistedFealty.class)); cards.add(new SetCardInfo("Twisted Sewer-Witch", 114, Rarity.UNCOMMON, mage.cards.t.TwistedSewerWitch.class)); cards.add(new SetCardInfo("Two-Headed Hunter", 155, Rarity.UNCOMMON, mage.cards.t.TwoHeadedHunter.class)); - cards.add(new SetCardInfo("Up the Beanstalk", 195, Rarity.UNCOMMON, mage.cards.u.UpTheBeanstalk.class)); + cards.add(new SetCardInfo("Unruly Catapult", 156, Rarity.COMMON, mage.cards.u.UnrulyCatapult.class)); + cards.add(new SetCardInfo("Up the Beanstalk", 195, Rarity.COMMON, mage.cards.u.UpTheBeanstalk.class)); cards.add(new SetCardInfo("Virtue of Knowledge", 76, Rarity.MYTHIC, mage.cards.v.VirtueOfKnowledge.class)); cards.add(new SetCardInfo("Virtue of Loyalty", 38, Rarity.MYTHIC, mage.cards.v.VirtueOfLoyalty.class)); cards.add(new SetCardInfo("Virtue of Persistence", 115, Rarity.MYTHIC, mage.cards.v.VirtueOfPersistence.class));