[FIN] Implement Restoration Magic

This commit is contained in:
theelk801 2025-05-26 12:02:03 -04:00
parent 7f9abee1a3
commit 666c4bc74b
3 changed files with 72 additions and 0 deletions

View file

@ -0,0 +1,70 @@
package mage.cards.r;
import mage.abilities.Mode;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.GainLifeEffect;
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
import mage.abilities.keyword.HexproofAbility;
import mage.abilities.keyword.IndestructibleAbility;
import mage.abilities.keyword.TieredAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.filter.StaticFilters;
import mage.target.TargetPermanent;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class RestorationMagic extends CardImpl {
public RestorationMagic(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{W}");
// Tiered
this.addAbility(new TieredAbility(this));
// * Cure -- {0} -- Target permanent gains hexproof and indestructible until end of turn.
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(HexproofAbility.getInstance())
.setText("target permanent gains hexproof"));
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(IndestructibleAbility.getInstance())
.setText("and indestructible until end of turn"));
this.getSpellAbility().addTarget(new TargetPermanent());
this.getSpellAbility().withFirstModeCost(new GenericManaCost(0));
this.getSpellAbility().withFirstModeFlavorWord("Cure");
// * Cura -- {1} -- Target permanent gains hexproof and indestructible until end of turn. You gain 3 life.
this.getSpellAbility().addMode(new Mode(new GainAbilityTargetEffect(HexproofAbility.getInstance())
.setText("target permanent gains hexproof"))
.addEffect(new GainAbilityTargetEffect(IndestructibleAbility.getInstance())
.setText("and indestructible until end of turn"))
.addEffect(new GainLifeEffect(3))
.addTarget(new TargetPermanent())
.withCost(new GenericManaCost(1)).withFlavorWord("Cura"));
// * Curaga -- {3}{W} -- Permanents you control gain hexproof and indestructible until end of turn. You gain 6 life.
this.getSpellAbility().addMode(new Mode(new GainAbilityControlledEffect(
HexproofAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT
).setText("permanents you control gain hexproof"))
.addEffect(new GainAbilityControlledEffect(
IndestructibleAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT
).setText("and indestructible until end of turn"))
.addEffect(new GainLifeEffect(6))
.withCost(new ManaCostsImpl<>("{3}{W}"))
.withFlavorWord("Curaga"));
}
private RestorationMagic(final RestorationMagic card) {
super(card);
}
@Override
public RestorationMagic copy() {
return new RestorationMagic(this);
}
}

View file

@ -330,6 +330,7 @@ public final class FinalFantasy extends ExpansionSet {
cards.add(new SetCardInfo("Relm's Sketching", 67, Rarity.UNCOMMON, mage.cards.r.RelmsSketching.class));
cards.add(new SetCardInfo("Reno and Rude", 113, Rarity.UNCOMMON, mage.cards.r.RenoAndRude.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Reno and Rude", 450, Rarity.UNCOMMON, mage.cards.r.RenoAndRude.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Restoration Magic", 30, Rarity.UNCOMMON, mage.cards.r.RestorationMagic.class));
cards.add(new SetCardInfo("Retrieve the Esper", 68, Rarity.COMMON, mage.cards.r.RetrieveTheEsper.class));
cards.add(new SetCardInfo("Ride the Shoopuf", 197, Rarity.UNCOMMON, mage.cards.r.RideTheShoopuf.class));
cards.add(new SetCardInfo("Rinoa Heartilly", 237, Rarity.UNCOMMON, mage.cards.r.RinoaHeartilly.class, NON_FULL_USE_VARIOUS));

View file

@ -57649,6 +57649,7 @@ Magitek Armor|Final Fantasy|24|U|{3}{W}|Artifact - Vehicle|4|4|When this Vehicle
Moogles' Valor|Final Fantasy|27|R|{3}{W}{W}|Instant|||For each creature you control, create a 1/2 white Moogle creature token with lifelink. Then creatures you control gain indestructible until end of turn.|
Paladin's Arms|Final Fantasy|28|C|{2}{W}|Artifact - Equipment|||Job select$Equipped creature gets +2/+1, has ward {1}, and is a Knight in addition to its other types.$Lightbringer and Hero's Shield -- Equip {4}|
Phoenix Down|Final Fantasy|29|U|{W}|Artifact|||{1}{W}, {T}, Exile this artifact: Choose one --$* Return target creature card with mana value 4 or less from your graveyard to the battlefield tapped.$* Exile target Skeleton, Spirit, or Zombie.|
Restoration Magic|Final Fantasy|30|U|{W}|Instant|||Tiered$* Cure -- {0} -- Target permanent gains hexproof and indestructible until end of turn.$* Cura -- {1} -- Target permanent gains hexproof and indestructible until end of turn. You gain 3 life.$* Curaga -- {3}{W} -- Permanents you control gain hexproof and indestructible until end of turn. You gain 6 life.|
Sidequest: Catch a Fish|Final Fantasy|31|U|{2}{W}|Enchantment|||At the beginning of your upkeep, look at the top card of your library. If it's an artifact or creature card, you may reveal it and put it into your hand. If you put a card into your hand this way, create a Food token and transform this enchantment.|
Cooking Campsite|Final Fantasy|31|U||Land|||{T}: Add {W}.${3}, {T}, Sacrifice an artifact: Put a +1/+1 counter on each creature you control. Activate only as a sorcery.|
Slash of Light|Final Fantasy|32|C|{1}{W}|Instant|||Slash of Light deals damage equal to the number of creatures you control plus the number of Equipment you control to target creature.|