From b709a41959f1e4ba1fde1e1092083d1fb6f86166 Mon Sep 17 00:00:00 2001 From: theelk801 Date: Tue, 27 May 2025 18:36:14 -0400 Subject: [PATCH] [FIN] Implement Thunder Magic --- Mage.Sets/src/mage/cards/t/ThunderMagic.java | 53 ++++++++++++++++++++ Mage.Sets/src/mage/sets/FinalFantasy.java | 1 + 2 files changed, 54 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/t/ThunderMagic.java diff --git a/Mage.Sets/src/mage/cards/t/ThunderMagic.java b/Mage.Sets/src/mage/cards/t/ThunderMagic.java new file mode 100644 index 00000000000..243b4961570 --- /dev/null +++ b/Mage.Sets/src/mage/cards/t/ThunderMagic.java @@ -0,0 +1,53 @@ +package mage.cards.t; + +import mage.abilities.Mode; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.keyword.TieredAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.target.common.TargetCreaturePermanent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class ThunderMagic extends CardImpl { + + public ThunderMagic(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{R}"); + + // Tiered + this.addAbility(new TieredAbility(this)); + + // * Thunder -- {0} -- Thunder Magic deals 2 damage to target creature. + this.getSpellAbility().addEffect(new DamageTargetEffect(2)); + this.getSpellAbility().addTarget(new TargetCreaturePermanent()); + this.getSpellAbility().withFirstModeFlavorWord("Thunder"); + this.getSpellAbility().withFirstModeCost(new GenericManaCost(0)); + + // * Thundara -- {3} -- Thunder Magic deals 4 damage to target creature. + this.getSpellAbility().addMode(new Mode(new DamageTargetEffect(4)) + .addTarget(new TargetCreaturePermanent()) + .withFlavorWord("Thundara") + .withCost(new GenericManaCost(3))); + + // * Thundaga -- {5}{R} -- Thunder Magic deals 8 damage to target creature. + this.getSpellAbility().addMode(new Mode(new DamageTargetEffect(8)) + .addTarget(new TargetCreaturePermanent()) + .withFlavorWord("Thundaga") + .withCost(new ManaCostsImpl<>("{5}{R}"))); + } + + private ThunderMagic(final ThunderMagic card) { + super(card); + } + + @Override + public ThunderMagic copy() { + return new ThunderMagic(this); + } +} diff --git a/Mage.Sets/src/mage/sets/FinalFantasy.java b/Mage.Sets/src/mage/sets/FinalFantasy.java index 15c83b83610..5c5681473be 100644 --- a/Mage.Sets/src/mage/sets/FinalFantasy.java +++ b/Mage.Sets/src/mage/sets/FinalFantasy.java @@ -501,6 +501,7 @@ public final class FinalFantasy extends ExpansionSet { cards.add(new SetCardInfo("The Wind Crystal", 330, Rarity.RARE, mage.cards.t.TheWindCrystal.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("The Wind Crystal", 43, Rarity.RARE, mage.cards.t.TheWindCrystal.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Thief's Knife", 81, Rarity.UNCOMMON, mage.cards.t.ThiefsKnife.class)); + cards.add(new SetCardInfo("Thunder Magic", 165, Rarity.COMMON, mage.cards.t.ThunderMagic.class)); cards.add(new SetCardInfo("Tidus, Blitzball Star", 246, Rarity.UNCOMMON, mage.cards.t.TidusBlitzballStar.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Tidus, Blitzball Star", 512, Rarity.UNCOMMON, mage.cards.t.TidusBlitzballStar.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Tifa Lockhart", 206, Rarity.RARE, mage.cards.t.TifaLockhart.class, NON_FULL_USE_VARIOUS));