[FIN] Implement Venat, Heart of Hydaelyn / Hydaelyn, the Mothercrystal

This commit is contained in:
theelk801 2025-05-30 12:19:51 -04:00
parent 2a35c87b9d
commit b4d90504a8
4 changed files with 167 additions and 0 deletions

View file

@ -0,0 +1,89 @@
package mage.cards.h;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
import mage.abilities.effects.common.counter.AddCountersTargetEffect;
import mage.abilities.keyword.IndestructibleAbility;
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.counters.CounterType;
import mage.filter.StaticFilters;
import mage.game.Controllable;
import mage.game.Game;
import mage.target.TargetPermanent;
import java.util.Optional;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class HydaelynTheMothercrystal extends CardImpl {
public HydaelynTheMothercrystal(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "");
this.supertype.add(SuperType.LEGENDARY);
this.subtype.add(SubType.GOD);
this.power = new MageInt(4);
this.toughness = new MageInt(4);
this.nightCard = true;
this.color.setWhite(true);
// Indestructible
this.addAbility(IndestructibleAbility.getInstance());
// Blessing of Light -- At the beginning of combat on your turn, put a +1/+1 counter on another target creature you control. Until your next turn, it gains indestructible. If that creature is legendary, draw a card.
Ability ability = new BeginningOfCombatTriggeredAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance()));
ability.addEffect(new GainAbilityTargetEffect(
IndestructibleAbility.getInstance(), Duration.UntilYourNextTurn
).setText("Until your next turn, it gains indestructible"));
ability.addEffect(new HydaelynTheMothercrystalEffect());
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE_YOU_CONTROL));
this.addAbility(ability.withFlavorWord("Blessing of Light"));
}
private HydaelynTheMothercrystal(final HydaelynTheMothercrystal card) {
super(card);
}
@Override
public HydaelynTheMothercrystal copy() {
return new HydaelynTheMothercrystal(this);
}
}
class HydaelynTheMothercrystalEffect extends OneShotEffect {
HydaelynTheMothercrystalEffect() {
super(Outcome.Benefit);
staticText = "If that creature is legendary, draw a card";
}
private HydaelynTheMothercrystalEffect(final HydaelynTheMothercrystalEffect effect) {
super(effect);
}
@Override
public HydaelynTheMothercrystalEffect copy() {
return new HydaelynTheMothercrystalEffect(this);
}
@Override
public boolean apply(Game game, Ability source) {
return Optional.ofNullable(getTargetPointer().getFirst(game, source))
.map(game::getPermanent)
.filter(permanent -> permanent.isLegendary(game))
.isPresent()
&& Optional
.ofNullable(source)
.map(Controllable::getControllerId)
.map(game::getPlayer)
.filter(player -> player.drawCards(1, source, game) > 0)
.isPresent();
}
}

View file

@ -0,0 +1,66 @@
package mage.cards.v;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.ActivateAsSorceryActivatedAbility;
import mage.abilities.common.SpellCastControllerTriggeredAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.ExileTargetEffect;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.filter.FilterSpell;
import mage.target.common.TargetNonlandPermanent;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class VenatHeartOfHydaelyn extends CardImpl {
private static final FilterSpell filter = new FilterSpell("a legendary spell");
static {
filter.add(SuperType.LEGENDARY.getPredicate());
}
public VenatHeartOfHydaelyn(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}{W}");
this.supertype.add(SuperType.LEGENDARY);
this.subtype.add(SubType.ELDER);
this.subtype.add(SubType.WIZARD);
this.power = new MageInt(3);
this.toughness = new MageInt(3);
this.secondSideCardClazz = mage.cards.h.HydaelynTheMothercrystal.class;
// Whenever you cast a legendary spell, draw a card. This ability triggers only once each turn.
this.addAbility(new SpellCastControllerTriggeredAbility(
new DrawCardSourceControllerEffect(1), filter, false
).setTriggersLimitEachTurn(1));
// Hero's Sundering -- {7}, {T}: Exile target nonland permanent. Transform Venat. Activate only as a sorcery.
this.addAbility(new TransformAbility());
Ability ability = new ActivateAsSorceryActivatedAbility(new ExileTargetEffect(), new GenericManaCost(7));
ability.addCost(new TapSourceCost());
ability.addEffect(new TransformSourceEffect());
ability.addTarget(new TargetNonlandPermanent());
this.addAbility(ability.withFlavorWord("Hero's Sundering"));
}
private VenatHeartOfHydaelyn(final VenatHeartOfHydaelyn card) {
super(card);
}
@Override
public VenatHeartOfHydaelyn copy() {
return new VenatHeartOfHydaelyn(this);
}
}

View file

@ -255,6 +255,9 @@ public final class FinalFantasy extends ExpansionSet {
cards.add(new SetCardInfo("Hope Estheim", 396, Rarity.RARE, mage.cards.h.HopeEstheim.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Hope Estheim", 396, Rarity.RARE, mage.cards.h.HopeEstheim.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Hope Estheim", 491, Rarity.RARE, mage.cards.h.HopeEstheim.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Hope Estheim", 491, Rarity.RARE, mage.cards.h.HopeEstheim.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Hope Estheim", 541, Rarity.RARE, mage.cards.h.HopeEstheim.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Hope Estheim", 541, Rarity.RARE, mage.cards.h.HopeEstheim.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Hydaelyn, the Mothercrystal", 329, Rarity.RARE, mage.cards.h.HydaelynTheMothercrystal.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Hydaelyn, the Mothercrystal", 39, Rarity.RARE, mage.cards.h.HydaelynTheMothercrystal.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Hydaelyn, the Mothercrystal", 434, Rarity.RARE, mage.cards.h.HydaelynTheMothercrystal.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Ice Flan", 55, Rarity.COMMON, mage.cards.i.IceFlan.class)); cards.add(new SetCardInfo("Ice Flan", 55, Rarity.COMMON, mage.cards.i.IceFlan.class));
cards.add(new SetCardInfo("Ice Magic", 56, Rarity.COMMON, mage.cards.i.IceMagic.class)); cards.add(new SetCardInfo("Ice Magic", 56, Rarity.COMMON, mage.cards.i.IceMagic.class));
cards.add(new SetCardInfo("Ifrit, Warden of Inferno", 133, Rarity.MYTHIC, mage.cards.i.IfritWardenOfInferno.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Ifrit, Warden of Inferno", 133, Rarity.MYTHIC, mage.cards.i.IfritWardenOfInferno.class, NON_FULL_USE_VARIOUS));
@ -624,6 +627,9 @@ public final class FinalFantasy extends ExpansionSet {
cards.add(new SetCardInfo("Vanille, Cheerful l'Cie", 537, Rarity.UNCOMMON, mage.cards.v.VanilleCheerfulLCie.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Vanille, Cheerful l'Cie", 537, Rarity.UNCOMMON, mage.cards.v.VanilleCheerfulLCie.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Vayne's Treachery", 124, Rarity.COMMON, mage.cards.v.VaynesTreachery.class)); cards.add(new SetCardInfo("Vayne's Treachery", 124, Rarity.COMMON, mage.cards.v.VaynesTreachery.class));
cards.add(new SetCardInfo("Vector, Imperial Capital", 291, Rarity.COMMON, mage.cards.v.VectorImperialCapital.class)); cards.add(new SetCardInfo("Vector, Imperial Capital", 291, Rarity.COMMON, mage.cards.v.VectorImperialCapital.class));
cards.add(new SetCardInfo("Venat, Heart of Hydaelyn", 329, Rarity.RARE, mage.cards.v.VenatHeartOfHydaelyn.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Venat, Heart of Hydaelyn", 39, Rarity.RARE, mage.cards.v.VenatHeartOfHydaelyn.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Venat, Heart of Hydaelyn", 434, Rarity.RARE, mage.cards.v.VenatHeartOfHydaelyn.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Vincent Valentine", 125, Rarity.RARE, mage.cards.v.VincentValentine.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Vincent Valentine", 125, Rarity.RARE, mage.cards.v.VincentValentine.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Vincent Valentine", 383, Rarity.RARE, mage.cards.v.VincentValentine.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Vincent Valentine", 383, Rarity.RARE, mage.cards.v.VincentValentine.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Vincent Valentine", 454, Rarity.RARE, mage.cards.v.VincentValentine.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Vincent Valentine", 454, Rarity.RARE, mage.cards.v.VincentValentine.class, NON_FULL_USE_VARIOUS));

View file

@ -57666,6 +57666,8 @@ Summon: Choco/Mog|Final Fantasy|35|C|{2}{W}|Enchantment Creature - Saga Bird Moo
Summon: Knights of Round|Final Fantasy|36|M|{6}{W}{W}|Enchantment Creature - Saga Knight|3|3|(As this Saga enters and after your draw step, add a lore counter. Sacrifice after V.)$I, II, III, IV -- Create three 2/2 white Knight creature tokens.$V -- Ultimate End -- Other creatures you control get +2/+2 until end of turn. Put an indestructible counter on each of them.$Indestructible| Summon: Knights of Round|Final Fantasy|36|M|{6}{W}{W}|Enchantment Creature - Saga Knight|3|3|(As this Saga enters and after your draw step, add a lore counter. Sacrifice after V.)$I, II, III, IV -- Create three 2/2 white Knight creature tokens.$V -- Ultimate End -- Other creatures you control get +2/+2 until end of turn. Put an indestructible counter on each of them.$Indestructible|
Summon: Primal Garuda|Final Fantasy|37|U|{3}{W}|Enchantment Creature - Saga Harpy|3|3|(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.)$I -- Aerial Blast -- This creature deals 4 damage to target tapped creature an opponent controls.$II, III -- Slipstream -- Another target creature you control gets +1/+0 and gains flying until end of turn.$Flying| Summon: Primal Garuda|Final Fantasy|37|U|{3}{W}|Enchantment Creature - Saga Harpy|3|3|(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.)$I -- Aerial Blast -- This creature deals 4 damage to target tapped creature an opponent controls.$II, III -- Slipstream -- Another target creature you control gets +1/+0 and gains flying until end of turn.$Flying|
Ultima|Final Fantasy|38|R|{3}{W}{W}|Sorcery|||Destroy all artifacts and creatures. End the turn.| Ultima|Final Fantasy|38|R|{3}{W}{W}|Sorcery|||Destroy all artifacts and creatures. End the turn.|
Venat, Heart of Hydaelyn|Final Fantasy|39|R|{1}{W}{W}|Legendary Creature - Elder Wizard|3|3|Whenever you cast a legendary spell, draw a card. This ability triggers only once each turn.$Hero's Sundering -- {7}, {T}: Exile target nonland permanent. Transform Venat. Activate only as a sorcery.|
Hydaelyn, the Mothercrystal|Final Fantasy|39|R||Legendary Creature - God|4|4|Indestructible$Blessing of Light -- At the beginning of combat on your turn, put a +1/+1 counter on another target creature you control. Until your next turn, it gains indestructible. If that creature is legendary, draw a card.|
Weapons Vendor|Final Fantasy|40|C|{3}{W}|Creature - Human Artificer|2|2|When this creature enters, draw a card.$At the beginning of combat on your turn, if you control an Equipment, you may pay {1}. When you do, attach target Equipment you control to target creature you control.| Weapons Vendor|Final Fantasy|40|C|{3}{W}|Creature - Human Artificer|2|2|When this creature enters, draw a card.$At the beginning of combat on your turn, if you control an Equipment, you may pay {1}. When you do, attach target Equipment you control to target creature you control.|
White Auracite|Final Fantasy|41|C|{2}{W}{W}|Artifact|||When this artifact enters, exile target nonland permanent an opponent controls until this artifact leaves the battlefield.${T}: Add {W}.| White Auracite|Final Fantasy|41|C|{2}{W}{W}|Artifact|||When this artifact enters, exile target nonland permanent an opponent controls until this artifact leaves the battlefield.${T}: Add {W}.|
White Mage's Staff|Final Fantasy|42|C|{1}{W}|Artifact - Equipment|||Job select$Equipped creature gets +1/+1, has "Whenever this creature attacks, you gain 1 life," and is a Cleric in addition to its other types.$Equip {3}| White Mage's Staff|Final Fantasy|42|C|{1}{W}|Artifact - Equipment|||Job select$Equipped creature gets +1/+1, has "Whenever this creature attacks, you gain 1 life," and is a Cleric in addition to its other types.$Equip {3}|
@ -57992,6 +57994,8 @@ Ambrosia Whiteheart|Final Fantasy|325|U|{1}{W}|Legendary Creature - Bird|2|2|Fla
Moogles' Valor|Final Fantasy|326|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.| Moogles' Valor|Final Fantasy|326|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.|
Stiltzkin, Moogle Merchant|Final Fantasy|327|R|{W}|Legendary Creature - Moogle|1|2|Lifelink${2}, {T}: Target opponent gains control of another target permanent you control. If they do, you draw a card.| Stiltzkin, Moogle Merchant|Final Fantasy|327|R|{W}|Legendary Creature - Moogle|1|2|Lifelink${2}, {T}: Target opponent gains control of another target permanent you control. If they do, you draw a card.|
Ultima|Final Fantasy|328|R|{3}{W}{W}|Sorcery|||Destroy all artifacts and creatures. End the turn.| Ultima|Final Fantasy|328|R|{3}{W}{W}|Sorcery|||Destroy all artifacts and creatures. End the turn.|
Venat, Heart of Hydaelyn|Final Fantasy|329|R|{1}{W}{W}|Legendary Creature - Elder Wizard|3|3|Whenever you cast a legendary spell, draw a card. This ability triggers only once each turn.$Hero's Sundering -- {7}, {T}: Exile target nonland permanent. Transform Venat. Activate only as a sorcery.|
Hydaelyn, the Mothercrystal|Final Fantasy|329|R||Legendary Creature - God|4|4|Indestructible$Blessing of Light -- At the beginning of combat on your turn, put a +1/+1 counter on another target creature you control. Until your next turn, it gains indestructible. If that creature is legendary, draw a card.|
The Wind Crystal|Final Fantasy|330|R|{2}{W}{W}|Legendary Artifact|||White spells you cast cost {1} less to cast.$If you would gain life, you gain twice that much life instead.${4}{W}{W}, {T}: Creatures you control gain flying and lifelink until end of turn.| The Wind Crystal|Final Fantasy|330|R|{2}{W}{W}|Legendary Artifact|||White spells you cast cost {1} less to cast.$If you would gain life, you gain twice that much life instead.${4}{W}{W}, {T}: Creatures you control gain flying and lifelink until end of turn.|
Memories Returning|Final Fantasy|331|R|{2}{U}{U}|Sorcery|||Reveal the top five cards of your library. Put one of them into your hand. Then choose an opponent. They put one on the bottom of your library. Then you put one into your hand. Then they put one on the bottom of your library. Put the other into your hand.$Flashback {7}{U}{U}| Memories Returning|Final Fantasy|331|R|{2}{U}{U}|Sorcery|||Reveal the top five cards of your library. Put one of them into your hand. Then choose an opponent. They put one on the bottom of your library. Then you put one into your hand. Then they put one on the bottom of your library. Put the other into your hand.$Flashback {7}{U}{U}|
Stolen Uniform|Final Fantasy|332|U|{U}|Instant|||Choose target creature you control and target Equipment. Gain control of that Equipment until end of turn. Attach it to the chosen creature. When you lose control of that Equipment this turn, if it's attached to a creature you control, unattach it.| Stolen Uniform|Final Fantasy|332|U|{U}|Instant|||Choose target creature you control and target Equipment. Gain control of that Equipment until end of turn. Attach it to the chosen creature. When you lose control of that Equipment this turn, if it's attached to a creature you control, unattach it.|
@ -58111,6 +58115,8 @@ Minwu, White Mage|Final Fantasy|430|R|{3}{W}{W}|Legendary Creature - Human Cleri
Rosa, Resolute White Mage|Final Fantasy|431|R|{3}{W}|Legendary Creature - Human Noble Cleric|2|3|Reach$At the beginning of combat on your turn, put a +1/+1 counter on target creature you control. It gains lifelink until end of turn.| Rosa, Resolute White Mage|Final Fantasy|431|R|{3}{W}|Legendary Creature - Human Noble Cleric|2|3|Reach$At the beginning of combat on your turn, put a +1/+1 counter on target creature you control. It gains lifelink until end of turn.|
Snow Villiers|Final Fantasy|432|U|{2}{W}|Legendary Creature - Human Rebel Monk|*|3|Vigilance$Snow Villiers's power is equal to the number of creatures you control.| Snow Villiers|Final Fantasy|432|U|{2}{W}|Legendary Creature - Human Rebel Monk|*|3|Vigilance$Snow Villiers's power is equal to the number of creatures you control.|
Stiltzkin, Moogle Merchant|Final Fantasy|433|R|{W}|Legendary Creature - Moogle|1|2|Lifelink${2}, {T}: Target opponent gains control of another target permanent you control. If they do, you draw a card.| Stiltzkin, Moogle Merchant|Final Fantasy|433|R|{W}|Legendary Creature - Moogle|1|2|Lifelink${2}, {T}: Target opponent gains control of another target permanent you control. If they do, you draw a card.|
Venat, Heart of Hydaelyn|Final Fantasy|434|R|{1}{W}{W}|Legendary Creature - Elder Wizard|3|3|Whenever you cast a legendary spell, draw a card. This ability triggers only once each turn.$Hero's Sundering -- {7}, {T}: Exile target nonland permanent. Transform Venat. Activate only as a sorcery.|
Hydaelyn, the Mothercrystal|Final Fantasy|434|R||Legendary Creature - God|4|4|Indestructible$Blessing of Light -- At the beginning of combat on your turn, put a +1/+1 counter on another target creature you control. Until your next turn, it gains indestructible. If that creature is legendary, draw a card.|
Edgar, King of Figaro|Final Fantasy|436|R|{4}{U}{U}|Legendary Creature - Human Artificer Noble|4|5|When Edgar enters, draw a card for each artifact you control.$Two-Headed Coin -- The first time you flip one or more coins each turn, those coins come up heads and you win those flips.| Edgar, King of Figaro|Final Fantasy|436|R|{4}{U}{U}|Legendary Creature - Human Artificer Noble|4|5|When Edgar enters, draw a card for each artifact you control.$Two-Headed Coin -- The first time you flip one or more coins each turn, those coins come up heads and you win those flips.|
Gogo, Master of Mimicry|Final Fantasy|437|M|{2}{U}|Legendary Creature - Wizard|2|4|{X}{X}, {T}: Copy target activated or triggered ability you control X times. You may choose new targets for the copies. This ability can't be copied and X can't be 0.| Gogo, Master of Mimicry|Final Fantasy|437|M|{2}{U}|Legendary Creature - Wizard|2|4|{X}{X}, {T}: Copy target activated or triggered ability you control X times. You may choose new targets for the copies. This ability can't be copied and X can't be 0.|
Jill, Shiva's Dominant|Final Fantasy|438|R|{2}{U}|Legendary Creature - Human Noble Warrior|2|2|When Jill enters, return up to one other target nonland permanent to its owner's hand.${3}{U}{U}, {T}: Exile Jill, then return it to the battlefield transformed under its owner's control. Activate only as a sorcery.| Jill, Shiva's Dominant|Final Fantasy|438|R|{2}{U}|Legendary Creature - Human Noble Warrior|2|2|When Jill enters, return up to one other target nonland permanent to its owner's hand.${3}{U}{U}, {T}: Exile Jill, then return it to the battlefield transformed under its owner's control. Activate only as a sorcery.|