From a0a01c0e3e3acbfb3fdcb7e48f58af0c747afc46 Mon Sep 17 00:00:00 2001 From: theelk801 Date: Sat, 1 Feb 2025 11:50:37 -0500 Subject: [PATCH] [DFT] Implement Gastal Thrillseeker --- .../src/mage/cards/g/GastalThrillseeker.java | 58 +++++++++++++++++++ Mage.Sets/src/mage/sets/Aetherdrift.java | 1 + 2 files changed, 59 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/g/GastalThrillseeker.java diff --git a/Mage.Sets/src/mage/cards/g/GastalThrillseeker.java b/Mage.Sets/src/mage/cards/g/GastalThrillseeker.java new file mode 100644 index 00000000000..0f8fb9817f3 --- /dev/null +++ b/Mage.Sets/src/mage/cards/g/GastalThrillseeker.java @@ -0,0 +1,58 @@ +package mage.cards.g; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.MaxSpeedAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.effects.common.GainLifeEffect; +import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; +import mage.abilities.keyword.DeathtouchAbility; +import mage.abilities.keyword.HasteAbility; +import mage.abilities.keyword.StartYourEnginesAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.target.common.TargetOpponent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class GastalThrillseeker extends CardImpl { + + public GastalThrillseeker(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}{R}"); + + this.subtype.add(SubType.LIZARD); + this.subtype.add(SubType.BERSERKER); + this.power = new MageInt(2); + this.toughness = new MageInt(3); + + // Start your engines! + this.addAbility(new StartYourEnginesAbility()); + + // When this creature enters, it deals 1 damage to target opponent and you gain 1 life. + Ability ability = new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(1, "it")); + ability.addEffect(new GainLifeEffect(1).concatBy("and")); + ability.addTarget(new TargetOpponent()); + this.addAbility(ability); + + // Max speed -- This creature has deathtouch and haste. + ability = new SimpleStaticAbility(new GainAbilitySourceEffect(DeathtouchAbility.getInstance())); + ability.addEffect(new GainAbilitySourceEffect(HasteAbility.getInstance()).setText("and haste")); + this.addAbility(new MaxSpeedAbility(ability)); + } + + private GastalThrillseeker(final GastalThrillseeker card) { + super(card); + } + + @Override + public GastalThrillseeker copy() { + return new GastalThrillseeker(this); + } +} diff --git a/Mage.Sets/src/mage/sets/Aetherdrift.java b/Mage.Sets/src/mage/sets/Aetherdrift.java index 08c58692706..a95d82dd966 100644 --- a/Mage.Sets/src/mage/sets/Aetherdrift.java +++ b/Mage.Sets/src/mage/sets/Aetherdrift.java @@ -90,6 +90,7 @@ public final class Aetherdrift extends ExpansionSet { cards.add(new SetCardInfo("Gallant Strike", 13, Rarity.UNCOMMON, mage.cards.g.GallantStrike.class)); cards.add(new SetCardInfo("Gas Guzzler", 85, Rarity.RARE, mage.cards.g.GasGuzzler.class)); cards.add(new SetCardInfo("Gastal Thrillroller", 129, Rarity.RARE, mage.cards.g.GastalThrillroller.class)); + cards.add(new SetCardInfo("Gastal Thrillseeker", 205, Rarity.UNCOMMON, mage.cards.g.GastalThrillseeker.class)); cards.add(new SetCardInfo("Gearseeker Serpent", 43, Rarity.COMMON, mage.cards.g.GearseekerSerpent.class)); cards.add(new SetCardInfo("Gilded Ghoda", 130, Rarity.COMMON, mage.cards.g.GildedGhoda.class)); cards.add(new SetCardInfo("Glitch Ghost Surveyor", 44, Rarity.COMMON, mage.cards.g.GlitchGhostSurveyor.class));