From 85b05caa403d425a1a6e07bbe22688c91a62b61c Mon Sep 17 00:00:00 2001 From: ciaccona007 Date: Sun, 3 Nov 2024 16:50:15 -0500 Subject: [PATCH] [FDN] Implement Fleeting Flight --- .../src/mage/cards/f/FleetingFlight.java | 42 +++++++++++++++++++ Mage.Sets/src/mage/sets/Foundations.java | 1 + 2 files changed, 43 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/f/FleetingFlight.java diff --git a/Mage.Sets/src/mage/cards/f/FleetingFlight.java b/Mage.Sets/src/mage/cards/f/FleetingFlight.java new file mode 100644 index 00000000000..28f0c5f6faf --- /dev/null +++ b/Mage.Sets/src/mage/cards/f/FleetingFlight.java @@ -0,0 +1,42 @@ +package mage.cards.f; + +import mage.abilities.effects.common.PreventDamageToTargetEffect; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.counters.CounterType; +import mage.target.common.TargetCreaturePermanent; + +import java.util.UUID; + +/** + * + * @author ciaccona007 + */ +public final class FleetingFlight extends CardImpl { + + public FleetingFlight(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{W}"); + + // Put a +1/+1 counter on target creature. It gains flying until end of turn. Prevent all combat damage that would be dealt to it this turn. + this.getSpellAbility().addEffect(new AddCountersTargetEffect(CounterType.P1P1.createInstance())); + this.getSpellAbility().addEffect(new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn) + .setText("It gains flying until end of turn")); + this.getSpellAbility().addEffect(new PreventDamageToTargetEffect(Duration.EndOfTurn, true) + .setText("Prevent all combat damage that would be dealt to it this turn")); + this.getSpellAbility().addTarget(new TargetCreaturePermanent()); + } + + private FleetingFlight(final FleetingFlight card) { + super(card); + } + + @Override + public FleetingFlight copy() { + return new FleetingFlight(this); + } +} diff --git a/Mage.Sets/src/mage/sets/Foundations.java b/Mage.Sets/src/mage/sets/Foundations.java index 25e4dbf7e3a..7900bf014ce 100644 --- a/Mage.Sets/src/mage/sets/Foundations.java +++ b/Mage.Sets/src/mage/sets/Foundations.java @@ -203,6 +203,7 @@ public final class Foundations extends ExpansionSet { cards.add(new SetCardInfo("Flamewake Phoenix", 198, Rarity.RARE, mage.cards.f.FlamewakePhoenix.class)); cards.add(new SetCardInfo("Flashfreeze", 590, Rarity.UNCOMMON, mage.cards.f.Flashfreeze.class)); cards.add(new SetCardInfo("Fleeting Distraction", 155, Rarity.COMMON, mage.cards.f.FleetingDistraction.class)); + cards.add(new SetCardInfo("Fleeting Flight", 13, Rarity.COMMON, mage.cards.f.FleetingFlight.class)); cards.add(new SetCardInfo("Fog Bank", 591, Rarity.UNCOMMON, mage.cards.f.FogBank.class)); cards.add(new SetCardInfo("Forest", 280, Rarity.LAND, mage.cards.basiclands.Forest.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Frenzied Goblin", 199, Rarity.UNCOMMON, mage.cards.f.FrenziedGoblin.class));