mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 02:30:08 -08:00
[FIN] Implement The Wandering Minstrel
This commit is contained in:
parent
1b757a9e16
commit
fe9e7d3e60
7 changed files with 194 additions and 134 deletions
|
|
@ -1,19 +1,16 @@
|
|||
package mage.cards.g;
|
||||
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.ReplacementEffectImpl;
|
||||
import mage.abilities.effects.common.EnterUntappedAllEffect;
|
||||
import mage.abilities.mana.AnyColorLandsProduceManaAbility;
|
||||
import mage.abilities.mana.ColorlessManaAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.*;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.TargetController;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.filter.common.FilterControlledPermanent;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.EntersTheBattlefieldEvent;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.game.permanent.Permanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
|
|
@ -22,7 +19,8 @@ import java.util.UUID;
|
|||
*/
|
||||
public final class GondGate extends CardImpl {
|
||||
|
||||
private static final FilterPermanent filter = new FilterControlledPermanent(SubType.GATE, "Gate");
|
||||
private static final FilterPermanent filter = new FilterControlledPermanent(SubType.GATE, "Gates you control");
|
||||
private static final FilterPermanent filter2 = new FilterControlledPermanent(SubType.GATE, "Gate");
|
||||
|
||||
public GondGate(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.LAND}, "");
|
||||
|
|
@ -30,13 +28,13 @@ public final class GondGate extends CardImpl {
|
|||
this.subtype.add(SubType.GATE);
|
||||
|
||||
// Gates you control enter the battlefield untapped.
|
||||
this.addAbility(new SimpleStaticAbility(new GondGateEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new EnterUntappedAllEffect(filter)));
|
||||
|
||||
// {T}: Add {C}.
|
||||
this.addAbility(new ColorlessManaAbility());
|
||||
|
||||
// {T}: Add one mana of any color that a Gate you control could produce.
|
||||
this.addAbility(new AnyColorLandsProduceManaAbility(TargetController.YOU, true, filter));
|
||||
this.addAbility(new AnyColorLandsProduceManaAbility(TargetController.YOU, true, filter2));
|
||||
}
|
||||
|
||||
private GondGate(final GondGate card) {
|
||||
|
|
@ -48,52 +46,3 @@ public final class GondGate extends CardImpl {
|
|||
return new GondGate(this);
|
||||
}
|
||||
}
|
||||
|
||||
class GondGateEffect extends ReplacementEffectImpl {
|
||||
|
||||
GondGateEffect() {
|
||||
super(Duration.WhileOnBattlefield, Outcome.Benefit);
|
||||
staticText = "Gates you control enter the battlefield untapped";
|
||||
}
|
||||
|
||||
private GondGateEffect(final GondGateEffect effect) {
|
||||
super(effect);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean replaceEvent(GameEvent event, Ability source, Game game) {
|
||||
Permanent target = ((EntersTheBattlefieldEvent) event).getTarget();
|
||||
if (target != null) {
|
||||
target.setTapped(false);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checksEventType(GameEvent event, Game game) {
|
||||
return event.getType() == GameEvent.EventType.ENTERS_THE_BATTLEFIELD;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean applies(GameEvent event, Ability source, Game game) {
|
||||
Permanent sourceObject = game.getPermanent(source.getSourceId());
|
||||
if (sourceObject == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
Permanent targetObject = ((EntersTheBattlefieldEvent) event).getTarget();
|
||||
if (targetObject == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return !sourceObject.getId().equals(targetObject.getId())
|
||||
&& targetObject.isControlledBy(source.getControllerId())
|
||||
&& targetObject.hasSubtype(SubType.GATE, game);
|
||||
}
|
||||
|
||||
@Override
|
||||
public GondGateEffect copy() {
|
||||
return new GondGateEffect(this);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,16 +4,17 @@ import mage.abilities.Ability;
|
|||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.ReplacementEffectImpl;
|
||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||
import mage.abilities.effects.common.EnterUntappedAllEffect;
|
||||
import mage.cards.Card;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.*;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.EntersTheBattlefieldEvent;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
import mage.target.common.TargetCardInHand;
|
||||
|
||||
|
|
@ -28,10 +29,12 @@ public final class Spelunking extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{G}");
|
||||
|
||||
// When Spelunking enters the battlefield, draw a card, then you may put a land card from your hand onto the battlefield. If you put a Cave onto the battlefield this way, you gain 4 life.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new SpelunkingEffect()));
|
||||
Ability ability = new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1));
|
||||
ability.addEffect(new SpelunkingEffect());
|
||||
this.addAbility(ability);
|
||||
|
||||
// Lands you control enter the battlefield untapped.
|
||||
this.addAbility(new SimpleStaticAbility(new SpelunkingReplacementEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(new EnterUntappedAllEffect(StaticFilters.FILTER_CONTROLLED_PERMANENT_LANDS)));
|
||||
}
|
||||
|
||||
private Spelunking(final Spelunking card) {
|
||||
|
|
@ -48,7 +51,7 @@ class SpelunkingEffect extends OneShotEffect {
|
|||
|
||||
SpelunkingEffect() {
|
||||
super(Outcome.Benefit);
|
||||
staticText = "draw a card, then you may put a land card from your hand onto the battlefield. "
|
||||
staticText = ", then you may put a land card from your hand onto the battlefield. "
|
||||
+ "If you put a Cave onto the battlefield this way, you gain 4 life";
|
||||
}
|
||||
|
||||
|
|
@ -67,75 +70,16 @@ class SpelunkingEffect extends OneShotEffect {
|
|||
if (controller == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// draw a card
|
||||
controller.drawCards(1, source, game);
|
||||
|
||||
// you may put a land card from your hand onto the battlefield
|
||||
TargetCardInHand target = new TargetCardInHand(0, 1, StaticFilters.FILTER_CARD_LAND);
|
||||
if (controller.choose(Outcome.PutLandInPlay, target, source, game)) {
|
||||
Card landInHand = game.getCard(target.getFirstTarget());
|
||||
if (landInHand != null) {
|
||||
controller.moveCards(landInHand, Zone.BATTLEFIELD, source, game);
|
||||
if (landInHand.hasSubtype(SubType.CAVE, game)) {
|
||||
// If you put a Cave onto the battlefield this way, you gain 4 life
|
||||
controller.gainLife(4, game, source);
|
||||
}
|
||||
}
|
||||
controller.choose(Outcome.PutLandInPlay, target, source, game);
|
||||
Card landInHand = game.getCard(target.getFirstTarget());
|
||||
if (landInHand == null) {
|
||||
return false;
|
||||
}
|
||||
controller.moveCards(landInHand, Zone.BATTLEFIELD, source, game);
|
||||
if (landInHand.hasSubtype(SubType.CAVE, game)) {
|
||||
controller.gainLife(4, game, source);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Inspired by {@link mage.cards.g.GondGate}
|
||||
*/
|
||||
class SpelunkingReplacementEffect extends ReplacementEffectImpl {
|
||||
|
||||
SpelunkingReplacementEffect() {
|
||||
super(Duration.WhileOnBattlefield, Outcome.Benefit);
|
||||
staticText = "Lands you control enter the battlefield untapped";
|
||||
}
|
||||
|
||||
private SpelunkingReplacementEffect(final SpelunkingReplacementEffect effect) {
|
||||
super(effect);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean replaceEvent(GameEvent event, Ability source, Game game) {
|
||||
Permanent target = ((EntersTheBattlefieldEvent) event).getTarget();
|
||||
if (target != null) {
|
||||
target.setTapped(false);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checksEventType(GameEvent event, Game game) {
|
||||
return event.getType() == GameEvent.EventType.ENTERS_THE_BATTLEFIELD;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean applies(GameEvent event, Ability source, Game game) {
|
||||
Permanent sourceObject = game.getPermanent(source.getSourceId());
|
||||
if (sourceObject == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
Permanent targetObject = ((EntersTheBattlefieldEvent) event).getTarget();
|
||||
if (targetObject == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return !sourceObject.getId().equals(targetObject.getId())
|
||||
&& targetObject.isControlledBy(source.getControllerId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public SpelunkingReplacementEffect copy() {
|
||||
return new SpelunkingReplacementEffect(this);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
74
Mage.Sets/src/mage/cards/t/TheWanderingMinstrel.java
Normal file
74
Mage.Sets/src/mage/cards/t/TheWanderingMinstrel.java
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
package mage.cards.t;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.condition.Condition;
|
||||
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
import mage.abilities.dynamicvalue.DynamicValue;
|
||||
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.abilities.effects.common.EnterUntappedAllEffect;
|
||||
import mage.abilities.effects.common.continuous.BoostControlledEffect;
|
||||
import mage.abilities.hint.Hint;
|
||||
import mage.abilities.hint.ValueHint;
|
||||
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.*;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.filter.common.FilterControlledPermanent;
|
||||
import mage.game.permanent.token.ElementalAllColorsToken;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class TheWanderingMinstrel extends CardImpl {
|
||||
|
||||
private static final Condition condition = new PermanentsOnTheBattlefieldCondition(
|
||||
new FilterControlledPermanent(SubType.TOWN, "you control five or more Towns"),
|
||||
ComparisonType.MORE_THAN, 4
|
||||
);
|
||||
private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(
|
||||
new FilterControlledPermanent(SubType.TOWN, "Towns you control"), null
|
||||
);
|
||||
private static final Hint hint = new ValueHint("Towns you control", xValue);
|
||||
|
||||
public TheWanderingMinstrel(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}{U}");
|
||||
|
||||
this.supertype.add(SuperType.LEGENDARY);
|
||||
this.subtype.add(SubType.HUMAN);
|
||||
this.subtype.add(SubType.BARD);
|
||||
this.power = new MageInt(1);
|
||||
this.toughness = new MageInt(3);
|
||||
|
||||
// Lands you control enter untapped.
|
||||
this.addAbility(new SimpleStaticAbility(new EnterUntappedAllEffect(StaticFilters.FILTER_CONTROLLED_PERMANENT_LANDS)));
|
||||
|
||||
// The Minstrel's Ballad -- At the beginning of combat on your turn, if you control five or more Towns, create a 2/2 Elemental creature token that's all colors.
|
||||
this.addAbility(new BeginningOfCombatTriggeredAbility(
|
||||
new CreateTokenEffect(new ElementalAllColorsToken())
|
||||
).withInterveningIf(condition));
|
||||
|
||||
// {3}{W}{U}{B}{R}{G}: Other creatures you control get +X/+X until end of turn, where X is the number of Towns you control.
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new BoostControlledEffect(
|
||||
xValue, xValue, Duration.EndOfTurn,
|
||||
StaticFilters.FILTER_PERMANENT_CREATURES, true
|
||||
), new ManaCostsImpl<>("{3}{W}{U}{B}{R}{G}")
|
||||
).addHint(hint));
|
||||
}
|
||||
|
||||
private TheWanderingMinstrel(final TheWanderingMinstrel card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TheWanderingMinstrel copy() {
|
||||
return new TheWanderingMinstrel(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -554,6 +554,10 @@ public final class FinalFantasy extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("The Masamune", 353, Rarity.RARE, mage.cards.t.TheMasamune.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("The Prima Vista", 64, Rarity.UNCOMMON, mage.cards.t.ThePrimaVista.class));
|
||||
cards.add(new SetCardInfo("The Regalia", 267, Rarity.RARE, mage.cards.t.TheRegalia.class));
|
||||
cards.add(new SetCardInfo("The Wandering Minstrel", 249, Rarity.RARE, mage.cards.t.TheWanderingMinstrel.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("The Wandering Minstrel", 403, Rarity.RARE, mage.cards.t.TheWanderingMinstrel.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("The Wandering Minstrel", 515, Rarity.RARE, mage.cards.t.TheWanderingMinstrel.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("The Wandering Minstrel", 548, Rarity.RARE, mage.cards.t.TheWanderingMinstrel.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("The Water Crystal", 333, Rarity.RARE, mage.cards.t.TheWaterCrystal.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("The Water Crystal", 85, Rarity.RARE, mage.cards.t.TheWaterCrystal.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("The Wind Crystal", 330, Rarity.RARE, mage.cards.t.TheWindCrystal.class, NON_FULL_USE_VARIOUS));
|
||||
|
|
|
|||
|
|
@ -0,0 +1,52 @@
|
|||
package mage.abilities.effects.common;
|
||||
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.ReplacementEffectImpl;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Outcome;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.EntersTheBattlefieldEvent;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.game.permanent.Permanent;
|
||||
|
||||
public class EnterUntappedAllEffect extends ReplacementEffectImpl {
|
||||
|
||||
private final FilterPermanent filter;
|
||||
|
||||
public EnterUntappedAllEffect(FilterPermanent filter) {
|
||||
super(Duration.WhileOnBattlefield, Outcome.Benefit);
|
||||
this.filter = filter;
|
||||
staticText = filter.getMessage() + " enter untapped";
|
||||
}
|
||||
|
||||
private EnterUntappedAllEffect(final EnterUntappedAllEffect effect) {
|
||||
super(effect);
|
||||
this.filter = effect.filter;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnterUntappedAllEffect copy() {
|
||||
return new EnterUntappedAllEffect(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean replaceEvent(GameEvent event, Ability source, Game game) {
|
||||
Permanent target = ((EntersTheBattlefieldEvent) event).getTarget();
|
||||
if (target != null) {
|
||||
target.setTapped(false);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checksEventType(GameEvent event, Game game) {
|
||||
return event.getType() == GameEvent.EventType.ENTERS_THE_BATTLEFIELD;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean applies(GameEvent event, Ability source, Game game) {
|
||||
Permanent targetObject = ((EntersTheBattlefieldEvent) event).getTarget();
|
||||
return targetObject != null && filter.match(targetObject, source.getControllerId(), source, game);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
package mage.game.permanent.token;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class ElementalAllColorsToken extends TokenImpl {
|
||||
|
||||
public ElementalAllColorsToken() {
|
||||
super("Elemental Token", "2/2 Elemental creature token that's all colors");
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setWhite(true);
|
||||
color.setBlue(true);
|
||||
color.setBlack(true);
|
||||
color.setRed(true);
|
||||
color.setGreen(true);
|
||||
subtype.add(SubType.ELEMENTAL);
|
||||
power = new MageInt(2);
|
||||
toughness = new MageInt(2);
|
||||
}
|
||||
|
||||
private ElementalAllColorsToken(final ElementalAllColorsToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ElementalAllColorsToken copy() {
|
||||
return new ElementalAllColorsToken(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -57894,6 +57894,7 @@ Tidus, Blitzball Star|Final Fantasy|246|U|{1}{W}{U}|Legendary Creature - Human W
|
|||
Ultimecia, Time Sorceress|Final Fantasy|247|U|{3}{U}{B}|Legendary Creature - Human Warlock|4|5|Whenever Ultimecia enters or attacks, surveil 2.$At the beginning of your end step, you may pay {4}{U}{U}{B}{B} and exile eight cards from your graveyard. If you do, transform Ultimecia.|
|
||||
Ultimecia, Omnipotent|Final Fantasy|247|U||Legendary Creature - Nightmare Warlock|7|7|Menace$Time Compression -- When this creature transforms into Ultimecia, Omnipotent, take an extra turn after this one.|
|
||||
Vivi Ornitier|Final Fantasy|248|M|{1}{U}{R}|Legendary Creature - Wizard|0|3|{0}: Add X mana in any combination of {U} and/or {R}, where X is Vivi Ornitier's power. Activate only during your turn and only once each turn.$Whenever you cast a noncreature spell, put a +1/+1 counter on Vivi Ornitier and it deals 1 damage to each opponent.|
|
||||
The Wandering Minstrel|Final Fantasy|249|R|{G}{U}|Legendary Creature - Human Bard|1|3|Lands you control enter untapped.$The Minstrel's Ballad -- At the beginning of combat on your turn, if you control five or more Towns, create a 2/2 Elemental creature$token that's all colors.${3}{W}{U}{B}{R}{G}: Other creatures you control get +X/+X until end of turn, where X is the number of Towns you control.|
|
||||
Yuna, Hope of Spira|Final Fantasy|250|M|{3}{G}{W}|Legendary Creature - Human Cleric|3|5|During your turn, Yuna and enchantment creatures you control have trample, lifelink, and ward {2}.$At the beginning of your end step, return up to one target enchantment card from your graveyard to the battlefield with a finality counter on it.|
|
||||
Zidane, Tantalus Thief|Final Fantasy|251|U|{3}{R}{W}|Legendary Creature - Human Mutant Scout|3|3|When Zidane enters, gain control of target creature an opponent controls until end of turn. Untap it. It gains lifelink and haste until end of turn.$Whenever an opponent gains control of a permanent from you, create a Treasure token.|
|
||||
Adventurer's Airship|Final Fantasy|252|C|{3}|Artifact - Vehicle|3|2|Flying$When this Vehicle attacks, draw a card then discard a card.$Crew 2|
|
||||
|
|
@ -58074,6 +58075,7 @@ Trance Kuja, Fate Defied|Final Fantasy|399|R||Legendary Creature - Avatar Wizard
|
|||
Lightning, Army of One|Final Fantasy|400|M|{1}{R}{W}|Legendary Creature - Human Soldier|3|2|First strike, trample, lifelink$Stagger -- Whenever Lightning deals combat damage to a player, until your next turn, if a source would deal damage to that player or a permanent that player controls, it deals double that damage instead.|
|
||||
Noctis, Prince of Lucis|Final Fantasy|401|R|{1}{W}{U}{B}|Legendary Creature - Human Noble|4|3|Lifelink$You may cast artifact spells from your graveyard by paying 3 life in addition to paying their other costs. If you cast a spell this way, that artifact enters with a finality counter on it.|
|
||||
Squall, SeeD Mercenary|Final Fantasy|402|R|{2}{W}{B}|Legendary Creature - Human Knight Mercenary|3|4|Rough Divide -- Whenever a creature you control attacks alone, it gains double strike until end of turn.$Whenever Squall deals combat damage to a player, return target permanent card with mana value 3 or less from your graveyard to the battlefield.|
|
||||
The Wandering Minstrel|Final Fantasy|403|R|{G}{U}|Legendary Creature - Human Bard|1|3|Lands you control enter untapped.$The Minstrel's Ballad -- At the beginning of combat on your turn, if you control five or more Towns, create a 2/2 Elemental creature$token that's all colors.${3}{W}{U}{B}{R}{G}: Other creatures you control get +X/+X until end of turn, where X is the number of Towns you control.|
|
||||
Yuna, Hope of Spira|Final Fantasy|404|M|{3}{G}{W}|Legendary Creature - Human Cleric|3|5|During your turn, Yuna and enchantment creatures you control have trample, lifelink, and ward {2}.$At the beginning of your end step, return up to one target enchantment card from your graveyard to the battlefield with a finality counter on it.|
|
||||
Zidane, Tantalus Thief|Final Fantasy|405|U|{3}{R}{W}|Legendary Creature - Human Mutant Scout|3|3|When Zidane enters, gain control of target creature an opponent controls until end of turn. Untap it. It gains lifelink and haste until end of turn.$Whenever an opponent gains control of a permanent from you, create a Treasure token.|
|
||||
Traveling Chocobo|Final Fantasy|406|M|{2}{G}|Creature - Bird|3|2|You may look at the top card of your library any time.$You may play lands and cast Bird spells from the top of your library.$If a land or Bird you control entering the battlefield causes a triggered ability of a permanent you control to trigger, that ability triggers an additional time.|
|
||||
|
|
@ -58198,6 +58200,7 @@ Tidus, Blitzball Star|Final Fantasy|512|U|{1}{W}{U}|Legendary Creature - Human W
|
|||
Ultimecia, Time Sorceress|Final Fantasy|513|U|{3}{U}{B}|Legendary Creature - Human Warlock|4|5|Whenever Ultimecia enters or attacks, surveil 2.$At the beginning of your end step, you may pay {4}{U}{U}{B}{B} and exile eight cards from your graveyard. If you do, transform Ultimecia.|
|
||||
Ultimecia, Omnipotent|Final Fantasy|513|U||Legendary Creature - Nightmare Warlock|7|7|Menace$Time Compression -- When this creature transforms into Ultimecia, Omnipotent, take an extra turn after this one.|
|
||||
Vivi Ornitier|Final Fantasy|514|M|{1}{U}{R}|Legendary Creature - Wizard|0|3|{0}: Add X mana in any combination of {U} and/or {R}, where X is Vivi Ornitier's power. Activate only during your turn and only once each turn.$Whenever you cast a noncreature spell, put a +1/+1 counter on Vivi Ornitier and it deals 1 damage to each opponent.|
|
||||
The Wandering Minstrel|Final Fantasy|515|R|{G}{U}|Legendary Creature - Human Bard|1|3|Lands you control enter untapped.$The Minstrel's Ballad -- At the beginning of combat on your turn, if you control five or more Towns, create a 2/2 Elemental creature$token that's all colors.${3}{W}{U}{B}{R}{G}: Other creatures you control get +X/+X until end of turn, where X is the number of Towns you control.|
|
||||
Xande, Dark Mage|Final Fantasy|516|R|{2}{U}{B}|Legendary Creature - Human Wizard|3|3|Menace$Xande gets +1/+1 for each noncreature, nonland card in your graveyard.|
|
||||
Yuna, Hope of Spira|Final Fantasy|517|M|{3}{G}{W}|Legendary Creature - Human Cleric|3|5|During your turn, Yuna and enchantment creatures you control have trample, lifelink, and ward {2}.$At the beginning of your end step, return up to one target enchantment card from your graveyard to the battlefield with a finality counter on it.|
|
||||
Zidane, Tantalus Thief|Final Fantasy|518|U|{3}{R}{W}|Legendary Creature - Human Mutant Scout|3|3|When Zidane enters, gain control of target creature an opponent controls until end of turn. Untap it. It gains lifelink and haste until end of turn.$Whenever an opponent gains control of a permanent from you, create a Treasure token.|
|
||||
|
|
@ -58241,6 +58244,7 @@ Trance Kuja, Fate Defied|Final Fantasy|544|R||Legendary Creature - Avatar Wizard
|
|||
Lightning, Army of One|Final Fantasy|545|M|{1}{R}{W}|Legendary Creature - Human Soldier|3|2|First strike, trample, lifelink$Stagger -- Whenever Lightning deals combat damage to a player, until your next turn, if a source would deal damage to that player or a permanent that player controls, it deals double that damage instead.|
|
||||
Noctis, Prince of Lucis|Final Fantasy|546|R|{1}{W}{U}{B}|Legendary Creature - Human Noble|4|3|Lifelink$You may cast artifact spells from your graveyard by paying 3 life in addition to paying their other costs. If you cast a spell this way, that artifact enters with a finality counter on it.|
|
||||
Squall, SeeD Mercenary|Final Fantasy|547|R|{2}{W}{B}|Legendary Creature - Human Knight Mercenary|3|4|Rough Divide -- Whenever a creature you control attacks alone, it gains double strike until end of turn.$Whenever Squall deals combat damage to a player, return target permanent card with mana value 3 or less from your graveyard to the battlefield.|
|
||||
The Wandering Minstrel|Final Fantasy|548|R|{G}{U}|Legendary Creature - Human Bard|1|3|Lands you control enter untapped.$The Minstrel's Ballad -- At the beginning of combat on your turn, if you control five or more Towns, create a 2/2 Elemental creature$token that's all colors.${3}{W}{U}{B}{R}{G}: Other creatures you control get +X/+X until end of turn, where X is the number of Towns you control.|
|
||||
Yuna, Hope of Spira|Final Fantasy|549|M|{3}{G}{W}|Legendary Creature - Human Cleric|3|5|During your turn, Yuna and enchantment creatures you control have trample, lifelink, and ward {2}.$At the beginning of your end step, return up to one target enchantment card from your graveyard to the battlefield with a finality counter on it.|
|
||||
Zidane, Tantalus Thief|Final Fantasy|550|U|{3}{R}{W}|Legendary Creature - Human Mutant Scout|3|3|When Zidane enters, gain control of target creature an opponent controls until end of turn. Untap it. It gains lifelink and haste until end of turn.$Whenever an opponent gains control of a permanent from you, create a Treasure token.|
|
||||
Traveling Chocobo|Final Fantasy|551|M|{2}{G}|Creature - Bird|3|2|You may look at the top card of your library any time.$You may play lands and cast Bird spells from the top of your library.$If a land or Bird you control entering the battlefield causes a triggered ability of a permanent you control to trigger, that ability triggers an additional time.|
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue