From d9fef649ffce26ead6d3f77cb879692967c493e9 Mon Sep 17 00:00:00 2001 From: theelk801 Date: Tue, 27 May 2025 20:14:59 -0400 Subject: [PATCH] [FIN] Implement Chocobo Kick --- Mage.Sets/src/mage/cards/c/ChocoboKick.java | 50 +++++++++++++++++++++ Mage.Sets/src/mage/sets/FinalFantasy.java | 1 + 2 files changed, 51 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/c/ChocoboKick.java diff --git a/Mage.Sets/src/mage/cards/c/ChocoboKick.java b/Mage.Sets/src/mage/cards/c/ChocoboKick.java new file mode 100644 index 00000000000..cc20fbfc9f8 --- /dev/null +++ b/Mage.Sets/src/mage/cards/c/ChocoboKick.java @@ -0,0 +1,50 @@ +package mage.cards.c; + +import mage.abilities.condition.common.KickedCondition; +import mage.abilities.costs.common.ReturnToHandChosenControlledPermanentCost; +import mage.abilities.decorator.ConditionalOneShotEffect; +import mage.abilities.effects.common.DamageWithPowerFromOneToAnotherTargetEffect; +import mage.abilities.keyword.KickerAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.filter.StaticFilters; +import mage.target.common.TargetControlledCreaturePermanent; +import mage.target.common.TargetControlledPermanent; +import mage.target.common.TargetOpponentsCreaturePermanent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class ChocoboKick extends CardImpl { + + public ChocoboKick(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{G}"); + + // Kicker--Return a land you control to its owner's hand. + this.addAbility(new KickerAbility(new ReturnToHandChosenControlledPermanentCost( + new TargetControlledPermanent(StaticFilters.FILTER_CONTROLLED_PERMANENT_A_LAND) + ))); + + // Target creature you control deals damage equal to its power to target creature an opponent controls. If this spell was kicked, the creature you control deals twice that much damage instead. + this.getSpellAbility().addEffect(new ConditionalOneShotEffect( + new DamageWithPowerFromOneToAnotherTargetEffect("", 2), + new DamageWithPowerFromOneToAnotherTargetEffect(), KickedCondition.ONCE, "target creature " + + "you control deals damage equal to its power to target creature an opponent controls. " + + "If this spell was kicked, the creature you control deals twice that much damage instead" + )); + this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent()); + this.getSpellAbility().addTarget(new TargetOpponentsCreaturePermanent()); + } + + private ChocoboKick(final ChocoboKick card) { + super(card); + } + + @Override + public ChocoboKick copy() { + return new ChocoboKick(this); + } +} diff --git a/Mage.Sets/src/mage/sets/FinalFantasy.java b/Mage.Sets/src/mage/sets/FinalFantasy.java index 7fb637fe359..788ead7e071 100644 --- a/Mage.Sets/src/mage/sets/FinalFantasy.java +++ b/Mage.Sets/src/mage/sets/FinalFantasy.java @@ -104,6 +104,7 @@ public final class FinalFantasy extends ExpansionSet { cards.add(new SetCardInfo("Choco, Seeker of Paradise", 215, Rarity.RARE, mage.cards.c.ChocoSeekerOfParadise.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Choco, Seeker of Paradise", 479, Rarity.RARE, mage.cards.c.ChocoSeekerOfParadise.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Choco-Comet", 132, Rarity.UNCOMMON, mage.cards.c.ChocoComet.class)); + cards.add(new SetCardInfo("Chocobo Kick", 178, Rarity.COMMON, mage.cards.c.ChocoboKick.class)); cards.add(new SetCardInfo("Chocobo Racetrack", 179, Rarity.UNCOMMON, mage.cards.c.ChocoboRacetrack.class)); cards.add(new SetCardInfo("Cid, Timeless Artificer", 216, Rarity.UNCOMMON, mage.cards.c.CidTimelessArtificer.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Cid, Timeless Artificer", 407, Rarity.UNCOMMON, mage.cards.c.CidTimelessArtificer.class, NON_FULL_USE_VARIOUS));