mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 10:40:06 -08:00
[FIN] Implement Venat, Heart of Hydaelyn / Hydaelyn, the Mothercrystal
This commit is contained in:
parent
2a35c87b9d
commit
b4d90504a8
4 changed files with 167 additions and 0 deletions
89
Mage.Sets/src/mage/cards/h/HydaelynTheMothercrystal.java
Normal file
89
Mage.Sets/src/mage/cards/h/HydaelynTheMothercrystal.java
Normal 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();
|
||||
}
|
||||
}
|
||||
66
Mage.Sets/src/mage/cards/v/VenatHeartOfHydaelyn.java
Normal file
66
Mage.Sets/src/mage/cards/v/VenatHeartOfHydaelyn.java
Normal 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);
|
||||
}
|
||||
}
|
||||
|
|
@ -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", 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("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 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));
|
||||
|
|
@ -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("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("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", 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));
|
||||
|
|
|
|||
|
|
@ -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: 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.|
|
||||
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.|
|
||||
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}|
|
||||
|
|
@ -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.|
|
||||
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.|
|
||||
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.|
|
||||
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.|
|
||||
|
|
@ -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.|
|
||||
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.|
|
||||
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.|
|
||||
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.|
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue