From 6f173a2051615909b2e16d20d4a58ea48050a146 Mon Sep 17 00:00:00 2001 From: theelk801 Date: Sun, 26 Jan 2025 11:19:42 -0500 Subject: [PATCH] [DFT] Implement Haunted Hellride --- .../src/mage/cards/h/HauntedHellride.java | 52 +++++++++++++++++++ Mage.Sets/src/mage/sets/Aetherdrift.java | 1 + 2 files changed, 53 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/h/HauntedHellride.java diff --git a/Mage.Sets/src/mage/cards/h/HauntedHellride.java b/Mage.Sets/src/mage/cards/h/HauntedHellride.java new file mode 100644 index 00000000000..bf94069feef --- /dev/null +++ b/Mage.Sets/src/mage/cards/h/HauntedHellride.java @@ -0,0 +1,52 @@ +package mage.cards.h; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.AttacksWithCreaturesTriggeredAbility; +import mage.abilities.effects.common.UntapTargetEffect; +import mage.abilities.effects.common.continuous.BoostTargetEffect; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.keyword.CrewAbility; +import mage.abilities.keyword.DeathtouchAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.target.common.TargetControlledCreaturePermanent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class HauntedHellride extends CardImpl { + + public HauntedHellride(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}{U}{B}"); + + this.subtype.add(SubType.VEHICLE); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Whenever you attack, target creature you control gets +1/+0 and gains deathtouch until end of turn. Untap it. + Ability ability = new AttacksWithCreaturesTriggeredAbility(new BoostTargetEffect(1, 0) + .setText("target creature you control gets +1/+0"), 1); + ability.addEffect(new GainAbilityTargetEffect(DeathtouchAbility.getInstance()) + .setText("and gains deathtouch until end of turn")); + ability.addEffect(new UntapTargetEffect("untap it")); + ability.addTarget(new TargetControlledCreaturePermanent()); + this.addAbility(ability); + + // Crew 1 + this.addAbility(new CrewAbility(1)); + } + + private HauntedHellride(final HauntedHellride card) { + super(card); + } + + @Override + public HauntedHellride copy() { + return new HauntedHellride(this); + } +} diff --git a/Mage.Sets/src/mage/sets/Aetherdrift.java b/Mage.Sets/src/mage/sets/Aetherdrift.java index fa989db0e59..cff922c40ca 100644 --- a/Mage.Sets/src/mage/sets/Aetherdrift.java +++ b/Mage.Sets/src/mage/sets/Aetherdrift.java @@ -56,6 +56,7 @@ public final class Aetherdrift extends ExpansionSet { cards.add(new SetCardInfo("Forest", 289, Rarity.LAND, mage.cards.basiclands.Forest.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Foul Roads", 255, Rarity.UNCOMMON, mage.cards.f.FoulRoads.class)); cards.add(new SetCardInfo("Gilded Ghoda", 130, Rarity.COMMON, mage.cards.g.GildedGhoda.class)); + cards.add(new SetCardInfo("Haunted Hellride", 208, Rarity.UNCOMMON, mage.cards.h.HauntedHellride.class)); cards.add(new SetCardInfo("Hulldrifter", 47, Rarity.COMMON, mage.cards.h.Hulldrifter.class)); cards.add(new SetCardInfo("Interface Ace", 17, Rarity.COMMON, mage.cards.i.InterfaceAce.class)); cards.add(new SetCardInfo("Island", 280, Rarity.LAND, mage.cards.basiclands.Island.class, NON_FULL_USE_VARIOUS));