mirror of
https://github.com/correl/mage.git
synced 2024-11-25 03:00:11 +00:00
Remove more duplicate tokens and rename some tokens to more generic names
This commit is contained in:
parent
6b0115157b
commit
77433d7ee6
20 changed files with 64 additions and 229 deletions
|
@ -234,7 +234,7 @@
|
||||||
|Generate|TOK:ALL|Zombie|||ZombieToken|
|
|Generate|TOK:ALL|Zombie|||ZombieToken|
|
||||||
|Generate|TOK:APC|Angel|||HauntedAngelToken|
|
|Generate|TOK:APC|Angel|||HauntedAngelToken|
|
||||||
|Generate|TOK:APC|Cat|||PenumbraBobcatToken|
|
|Generate|TOK:APC|Cat|||PenumbraBobcatToken|
|
||||||
|Generate|TOK:APC|Goblin Soldier|||GoblinTrenchesToken|
|
|Generate|TOK:APC|Goblin Soldier|||GoblinSoldierToken|
|
||||||
|Generate|TOK:APC|Kavu|||PenumbraKavuToken|
|
|Generate|TOK:APC|Kavu|||PenumbraKavuToken|
|
||||||
|Generate|TOK:APC|Saproling|||SaprolingToken|
|
|Generate|TOK:APC|Saproling|||SaprolingToken|
|
||||||
|Generate|TOK:APC|Wurm|||PenumbraWurmToken|
|
|Generate|TOK:APC|Wurm|||PenumbraWurmToken|
|
||||||
|
@ -589,7 +589,7 @@
|
||||||
|Generate|TOK:DGM|Spirit|||TeysaEnvoyOfGhostsToken|
|
|Generate|TOK:DGM|Spirit|||TeysaEnvoyOfGhostsToken|
|
||||||
|Generate|TOK:DGM|Wurm|1||WurmWithTrampleToken|
|
|Generate|TOK:DGM|Wurm|1||WurmWithTrampleToken|
|
||||||
|Generate|TOK:DGM|Wurm|2||Wurm55Token|
|
|Generate|TOK:DGM|Wurm|2||Wurm55Token|
|
||||||
|Generate|TOK:DIS|Bird|||DovescapeToken|
|
|Generate|TOK:DIS|Bird|||WhiteBlueBirdToken|
|
||||||
|Generate|TOK:DIS|Drake|||LeafdrakeRoostDrakeToken|
|
|Generate|TOK:DIS|Drake|||LeafdrakeRoostDrakeToken|
|
||||||
|Generate|TOK:DIS|Elemental|||ResearchDevelopmentToken|
|
|Generate|TOK:DIS|Elemental|||ResearchDevelopmentToken|
|
||||||
|Generate|TOK:DIS|Goblin|||RakdosGuildmageGoblinToken|
|
|Generate|TOK:DIS|Goblin|||RakdosGuildmageGoblinToken|
|
||||||
|
@ -643,7 +643,7 @@
|
||||||
|Generate|TOK:EMA|Elemental|2||CallTheSkyBreakerElementalToken|
|
|Generate|TOK:EMA|Elemental|2||CallTheSkyBreakerElementalToken|
|
||||||
|Generate|TOK:EMA|Elephant|||ElephantToken|
|
|Generate|TOK:EMA|Elephant|||ElephantToken|
|
||||||
|Generate|TOK:EMA|Elf Warrior|||ElfWarriorToken|
|
|Generate|TOK:EMA|Elf Warrior|||ElfWarriorToken|
|
||||||
|Generate|TOK:EMA|Goblin Soldier|||GoblinTrenchesToken|
|
|Generate|TOK:EMA|Goblin Soldier|||GoblinSoldierToken|
|
||||||
|Generate|TOK:EMA|Goblin|||GoblinToken|
|
|Generate|TOK:EMA|Goblin|||GoblinToken|
|
||||||
|Generate|TOK:EMA|Serf|||SerfToken|
|
|Generate|TOK:EMA|Serf|||SerfToken|
|
||||||
|Generate|TOK:EMA|Soldier|||SoldierToken|
|
|Generate|TOK:EMA|Soldier|||SoldierToken|
|
||||||
|
@ -667,10 +667,10 @@
|
||||||
|Generate|TOK:EMN|Zombie|3||ZombieToken|
|
|Generate|TOK:EMN|Zombie|3||ZombieToken|
|
||||||
|Generate|TOK:EMN|Zombie|4||ZombieToken2|
|
|Generate|TOK:EMN|Zombie|4||ZombieToken2|
|
||||||
|Generate|TOK:EVE|Beast|||BeastToken|
|
|Generate|TOK:EVE|Beast|||BeastToken|
|
||||||
|Generate|TOK:EVE|Bird|||OwlToken|
|
|Generate|TOK:EVE|Bird|||BlueBirdToken|
|
||||||
|Generate|TOK:EVE|Elemental|||CallTheSkyBreakerElementalToken|
|
|Generate|TOK:EVE|Elemental|||CallTheSkyBreakerElementalToken|
|
||||||
|Generate|TOK:EVE|Goat|||GoatToken|
|
|Generate|TOK:EVE|Goat|||GoatToken|
|
||||||
|Generate|TOK:EVE|Goblin Soldier|||GoblinTrenchesToken|
|
|Generate|TOK:EVE|Goblin Soldier|||GoblinSoldierToken|
|
||||||
|Generate|TOK:EVE|Kithkin Soldier|||KithkinSoldierToken|
|
|Generate|TOK:EVE|Kithkin Soldier|||KithkinSoldierToken|
|
||||||
|Generate|TOK:EVE|Spirit|||BeckonApparitionToken|
|
|Generate|TOK:EVE|Spirit|||BeckonApparitionToken|
|
||||||
|Generate|TOK:EVE|Wolf|||WolfToken|
|
|Generate|TOK:EVE|Wolf|||WolfToken|
|
||||||
|
@ -733,7 +733,7 @@
|
||||||
|Generate|TOK:HOU|Steadfast Sentinel||||
|
|Generate|TOK:HOU|Steadfast Sentinel||||
|
||||||
|Generate|TOK:HOU|Sunscourge Champion||||
|
|Generate|TOK:HOU|Sunscourge Champion||||
|
||||||
|Generate|TOK:ICE|Caribou|||CaribouToken|
|
|Generate|TOK:ICE|Caribou|||CaribouToken|
|
||||||
|Generate|TOK:INV|Bird|||OwlToken|
|
|Generate|TOK:INV|Bird|||BlueBirdToken|
|
||||||
|Generate|TOK:INV|Elephant|||ElephantToken|
|
|Generate|TOK:INV|Elephant|||ElephantToken|
|
||||||
|Generate|TOK:INV|Reflection|||ReflectionToken|
|
|Generate|TOK:INV|Reflection|||ReflectionToken|
|
||||||
|Generate|TOK:INV|Saproling|||SaprolingToken|
|
|Generate|TOK:INV|Saproling|||SaprolingToken|
|
||||||
|
@ -1082,10 +1082,8 @@
|
||||||
|Generate|TOK:SCG|Soldier|||SoldierToken|
|
|Generate|TOK:SCG|Soldier|||SoldierToken|
|
||||||
|Generate|TOK:SHM|Elemental|1||DinOfTheFireherdToken|
|
|Generate|TOK:SHM|Elemental|1||DinOfTheFireherdToken|
|
||||||
|Generate|TOK:SHM|Elemental|2||RedElementalToken|
|
|Generate|TOK:SHM|Elemental|2||RedElementalToken|
|
||||||
|Generate|TOK:SHM|Elf Warrior|1|
|
|
||||||
|Generate|TOK:SHM|Elf Warrior|2|
|
|
||||||
|Generate|TOK:SHM|Elf Warrior|1||ElfWarriorToken|
|
|Generate|TOK:SHM|Elf Warrior|1||ElfWarriorToken|
|
||||||
|Generate|TOK:SHM|Elf Warrior|2||RhysTheRedeemedToken|
|
|Generate|TOK:SHM|Elf Warrior|2||GreenWhiteElfWarriorToken|
|
||||||
|Generate|TOK:SHM|Faerie Rogue|||OonaQueenFaerieToken|
|
|Generate|TOK:SHM|Faerie Rogue|||OonaQueenFaerieToken|
|
||||||
|Generate|TOK:SHM|Giant Warrior|||GiantBaitingGiantWarriorToken|
|
|Generate|TOK:SHM|Giant Warrior|||GiantBaitingGiantWarriorToken|
|
||||||
|Generate|TOK:SHM|Goblin Warrior|||WortTheRaidmotherToken|
|
|Generate|TOK:SHM|Goblin Warrior|||WortTheRaidmotherToken|
|
||||||
|
@ -1139,7 +1137,7 @@
|
||||||
|Generate|TOK:THS|Cleric|||HeliodGodOfTheSunToken|
|
|Generate|TOK:THS|Cleric|||HeliodGodOfTheSunToken|
|
||||||
|Generate|TOK:THS|Elemental|||MasterOfWavesElementalToken|
|
|Generate|TOK:THS|Elemental|||MasterOfWavesElementalToken|
|
||||||
|Generate|TOK:THS|Golem|||HammerOfPurphorosGolemToken|
|
|Generate|TOK:THS|Golem|||HammerOfPurphorosGolemToken|
|
||||||
|Generate|TOK:THS|Harpy|||AbhorrentOverlordHarpyToken|
|
|Generate|TOK:THS|Harpy|||HarpyToken|
|
||||||
|Generate|TOK:THS|Satyr|||XenagosSatyrToken|
|
|Generate|TOK:THS|Satyr|||XenagosSatyrToken|
|
||||||
|Generate|TOK:THS|Soldier|1||SoldierToken|
|
|Generate|TOK:THS|Soldier|1||SoldierToken|
|
||||||
|Generate|TOK:THS|Soldier|2||SoldierToken|
|
|Generate|TOK:THS|Soldier|2||SoldierToken|
|
||||||
|
@ -1192,7 +1190,7 @@
|
||||||
|Generate|TOK:VMA|Boar|||BoarToken|
|
|Generate|TOK:VMA|Boar|||BoarToken|
|
||||||
|Generate|TOK:VMA|Demon|||ReignOfThePitToken|
|
|Generate|TOK:VMA|Demon|||ReignOfThePitToken|
|
||||||
|Generate|TOK:VMA|Elephant|||ElephantToken|
|
|Generate|TOK:VMA|Elephant|||ElephantToken|
|
||||||
|Generate|TOK:VMA|Goblin Soldier|||GoblinTrenchesToken|
|
|Generate|TOK:VMA|Goblin Soldier|||GoblinSoldierToken|
|
||||||
|Generate|TOK:VMA|Goblin|||GoblinToken|
|
|Generate|TOK:VMA|Goblin|||GoblinToken|
|
||||||
|Generate|TOK:VMA|Insect|||InsectToken|
|
|Generate|TOK:VMA|Insect|||InsectToken|
|
||||||
|Generate|TOK:VMA|Reflection|||ReflectionToken|
|
|Generate|TOK:VMA|Reflection|||ReflectionToken|
|
||||||
|
@ -1467,7 +1465,7 @@
|
||||||
# KHM
|
# KHM
|
||||||
|Generate|TOK:KHM|Angel Warrior|||AngelWarriorVigilanceToken|
|
|Generate|TOK:KHM|Angel Warrior|||AngelWarriorVigilanceToken|
|
||||||
|Generate|TOK:KHM|Bear|||BearToken|
|
|Generate|TOK:KHM|Bear|||BearToken|
|
||||||
|Generate|TOK:KHM|Bird|||OwlToken|
|
|Generate|TOK:KHM|Bird|||BlueBirdToken|
|
||||||
|Generate|TOK:KHM|Cat|||GreenCat2Token|
|
|Generate|TOK:KHM|Cat|||GreenCat2Token|
|
||||||
|Generate|TOK:KHM|Demon Berserker|||DemonBerserkerToken|
|
|Generate|TOK:KHM|Demon Berserker|||DemonBerserkerToken|
|
||||||
|Generate|TOK:KHM|Dragon|||DragonToken2|
|
|Generate|TOK:KHM|Dragon|||DragonToken2|
|
||||||
|
|
|
@ -14,7 +14,7 @@ import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.constants.TargetController;
|
import mage.constants.TargetController;
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
import mage.game.permanent.token.TokenImpl;
|
import mage.game.permanent.token.HarpyToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ public final class AbhorrentOverlord extends CardImpl {
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
this.addAbility(FlyingAbility.getInstance());
|
||||||
|
|
||||||
// When Abhorrent Overlord enters the battlefield, create a number of 1/1 black Harpy creature tokens with flying equal to your devotion to black.
|
// When Abhorrent Overlord enters the battlefield, create a number of 1/1 black Harpy creature tokens with flying equal to your devotion to black.
|
||||||
Effect effect = new CreateTokenEffect(new AbhorrentOverlordHarpyToken(), DevotionCount.B);
|
Effect effect = new CreateTokenEffect(new HarpyToken(), DevotionCount.B);
|
||||||
effect.setText("create a number of 1/1 black Harpy creature tokens with flying equal to your devotion to black. <i>(Each {B} in the mana costs of permanents you control counts toward your devotion to black.)</i>");
|
effect.setText("create a number of 1/1 black Harpy creature tokens with flying equal to your devotion to black. <i>(Each {B} in the mana costs of permanents you control counts toward your devotion to black.)</i>");
|
||||||
this.addAbility(new EntersBattlefieldTriggeredAbility(effect).addHint(DevotionCount.B.getHint()));
|
this.addAbility(new EntersBattlefieldTriggeredAbility(effect).addHint(DevotionCount.B.getHint()));
|
||||||
|
|
||||||
|
@ -51,25 +51,3 @@ public final class AbhorrentOverlord extends CardImpl {
|
||||||
return new AbhorrentOverlord(this);
|
return new AbhorrentOverlord(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class AbhorrentOverlordHarpyToken extends TokenImpl {
|
|
||||||
|
|
||||||
AbhorrentOverlordHarpyToken() {
|
|
||||||
super("Harpy Token", "1/1 black Harpy creature tokens with flying");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setBlack(true);
|
|
||||||
subtype.add(SubType.HARPY);
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
|
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
|
||||||
}
|
|
||||||
|
|
||||||
private AbhorrentOverlordHarpyToken(final AbhorrentOverlordHarpyToken token) {
|
|
||||||
super(token);
|
|
||||||
}
|
|
||||||
|
|
||||||
public AbhorrentOverlordHarpyToken copy() {
|
|
||||||
return new AbhorrentOverlordHarpyToken(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ import mage.abilities.keyword.ForetellAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.game.permanent.token.OwlToken;
|
import mage.game.permanent.token.BlueBirdToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ public final class AlrundsEpiphany extends CardImpl {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{5}{U}{U}");
|
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{5}{U}{U}");
|
||||||
|
|
||||||
// Create two 1/1 blue Bird creature tokens with flying. Take an extra turn after this one. Exile Alrund's Epiphany.
|
// Create two 1/1 blue Bird creature tokens with flying. Take an extra turn after this one. Exile Alrund's Epiphany.
|
||||||
this.getSpellAbility().addEffect(new CreateTokenEffect(new OwlToken(), 2));
|
this.getSpellAbility().addEffect(new CreateTokenEffect(new BlueBirdToken(), 2));
|
||||||
this.getSpellAbility().addEffect(new AddExtraTurnControllerEffect());
|
this.getSpellAbility().addEffect(new AddExtraTurnControllerEffect());
|
||||||
this.getSpellAbility().addEffect(new ExileSpellEffect());
|
this.getSpellAbility().addEffect(new ExileSpellEffect());
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
package mage.cards.d;
|
package mage.cards.d;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
@ -10,11 +9,9 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.constants.SetTargetPointer;
|
import mage.constants.SetTargetPointer;
|
||||||
import mage.filter.FilterSpell;
|
import mage.filter.StaticFilters;
|
||||||
import mage.filter.predicate.Predicates;
|
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.token.DovescapeToken;
|
import mage.game.permanent.token.WhiteBlueBirdToken;
|
||||||
import mage.game.permanent.token.Token;
|
|
||||||
import mage.game.stack.Spell;
|
import mage.game.stack.Spell;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -23,17 +20,11 @@ import mage.game.stack.Spell;
|
||||||
*/
|
*/
|
||||||
public final class Dovescape extends CardImpl {
|
public final class Dovescape extends CardImpl {
|
||||||
|
|
||||||
private static final FilterSpell filter = new FilterSpell("a noncreature spell");
|
|
||||||
|
|
||||||
static {
|
|
||||||
filter.add(Predicates.not(CardType.CREATURE.getPredicate()));
|
|
||||||
}
|
|
||||||
|
|
||||||
public Dovescape(UUID ownerId, CardSetInfo setInfo) {
|
public Dovescape(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{W/U}{W/U}{W/U}");
|
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{W/U}{W/U}{W/U}");
|
||||||
|
|
||||||
// Whenever a player casts a noncreature spell, counter that spell. That player creates X 1/1 white and blue Bird creature tokens with flying, where X is the spell's converted mana cost.
|
// Whenever a player casts a noncreature spell, counter that spell. That player creates X 1/1 white and blue Bird creature tokens with flying, where X is the spell's converted mana cost.
|
||||||
this.addAbility(new SpellCastAllTriggeredAbility(new DovescapeEffect(), filter, false, SetTargetPointer.SPELL));
|
this.addAbility(new SpellCastAllTriggeredAbility(new DovescapeEffect(), StaticFilters.FILTER_SPELL_A_NON_CREATURE, false, SetTargetPointer.SPELL));
|
||||||
}
|
}
|
||||||
|
|
||||||
private Dovescape(final Dovescape card) {
|
private Dovescape(final Dovescape card) {
|
||||||
|
@ -72,8 +63,7 @@ class DovescapeEffect extends OneShotEffect {
|
||||||
spellControllerID = spell.getControllerId();
|
spellControllerID = spell.getControllerId();
|
||||||
game.getStack().counter(spell.getId(), source, game);
|
game.getStack().counter(spell.getId(), source, game);
|
||||||
}
|
}
|
||||||
Token token = new DovescapeToken();
|
new WhiteBlueBirdToken().putOntoBattlefield(spellCMC, game, source, spellControllerID);
|
||||||
token.putOntoBattlefield(spellCMC, game, source, spellControllerID);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,7 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.filter.FilterSpell;
|
import mage.filter.FilterSpell;
|
||||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||||
import mage.game.permanent.token.OwlToken;
|
import mage.game.permanent.token.BlueBirdToken;
|
||||||
import mage.game.permanent.token.WolfToken;
|
import mage.game.permanent.token.WolfToken;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -30,7 +30,7 @@ public final class FableOfWolfAndOwl extends CardImpl {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{G/U}{G/U}{G/U}");
|
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{G/U}{G/U}{G/U}");
|
||||||
|
|
||||||
this.addAbility(new SpellCastControllerTriggeredAbility(new CreateTokenEffect(new WolfToken(), 1), filterGreenSpell, true));
|
this.addAbility(new SpellCastControllerTriggeredAbility(new CreateTokenEffect(new WolfToken(), 1), filterGreenSpell, true));
|
||||||
this.addAbility(new SpellCastControllerTriggeredAbility(new CreateTokenEffect(new OwlToken(), 1), filterBlueSpell, true));
|
this.addAbility(new SpellCastControllerTriggeredAbility(new CreateTokenEffect(new BlueBirdToken(), 1), filterBlueSpell, true));
|
||||||
}
|
}
|
||||||
|
|
||||||
private FableOfWolfAndOwl(final FableOfWolfAndOwl card) {
|
private FableOfWolfAndOwl(final FableOfWolfAndOwl card) {
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
package mage.cards.g;
|
package mage.cards.g;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
@ -10,10 +9,8 @@ import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Zone;
|
import mage.filter.StaticFilters;
|
||||||
import mage.filter.common.FilterControlledLandPermanent;
|
import mage.game.permanent.token.GoblinSoldierToken;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
|
||||||
import mage.game.permanent.token.GoblinTrenchesToken;
|
|
||||||
import mage.target.common.TargetControlledPermanent;
|
import mage.target.common.TargetControlledPermanent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -22,14 +19,12 @@ import mage.target.common.TargetControlledPermanent;
|
||||||
*/
|
*/
|
||||||
public final class GoblinTrenches extends CardImpl {
|
public final class GoblinTrenches extends CardImpl {
|
||||||
|
|
||||||
static final FilterControlledPermanent filter = new FilterControlledLandPermanent("a land");
|
|
||||||
|
|
||||||
public GoblinTrenches(UUID ownerId, CardSetInfo setInfo) {
|
public GoblinTrenches(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{R}{W}");
|
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{R}{W}");
|
||||||
|
|
||||||
// {2}, Sacrifice a land: Create two 1/1 red and white Goblin Soldier creature tokens.
|
// {2}, Sacrifice a land: Create two 1/1 red and white Goblin Soldier creature tokens.
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new GoblinTrenchesToken(), 2), new GenericManaCost(2));
|
Ability ability = new SimpleActivatedAbility(new CreateTokenEffect(new GoblinSoldierToken(), 2), new GenericManaCost(2));
|
||||||
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter)));
|
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(StaticFilters.FILTER_CONTROLLED_LAND_SHORT_TEXT)));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
package mage.cards.m;
|
package mage.cards.m;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
@ -11,7 +10,7 @@ import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.game.permanent.token.MercyKillingToken;
|
import mage.game.permanent.token.GreenWhiteElfWarriorToken;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -59,7 +58,7 @@ class MercyKillingTokenEffect extends OneShotEffect {
|
||||||
Permanent permanent = getTargetPointer().getFirstTargetPermanentOrLKI(game, source);
|
Permanent permanent = getTargetPointer().getFirstTargetPermanentOrLKI(game, source);
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
int power = permanent.getPower().getValue();
|
int power = permanent.getPower().getValue();
|
||||||
return new MercyKillingToken().putOntoBattlefield(power, game, source, permanent.getControllerId());
|
return new GreenWhiteElfWarriorToken().putOntoBattlefield(power, game, source, permanent.getControllerId());
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
package mage.cards.o;
|
package mage.cards.o;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
@ -9,7 +8,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.AbilityWord;
|
import mage.constants.AbilityWord;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.game.permanent.token.OrderedMigrationBirdToken;
|
import mage.game.permanent.token.BlueBirdToken;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -22,7 +21,7 @@ public final class OrderedMigration extends CardImpl {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{W}{U}");
|
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{W}{U}");
|
||||||
|
|
||||||
// Domain - Create a 1/1 blue Bird creature token with flying for each basic land type among lands you control.
|
// Domain - Create a 1/1 blue Bird creature token with flying for each basic land type among lands you control.
|
||||||
this.getSpellAbility().addEffect(new CreateTokenEffect(new OrderedMigrationBirdToken(), DomainValue.REGULAR));
|
this.getSpellAbility().addEffect(new CreateTokenEffect(new BlueBirdToken(), DomainValue.REGULAR));
|
||||||
this.getSpellAbility().setAbilityWord(AbilityWord.DOMAIN);
|
this.getSpellAbility().setAbilityWord(AbilityWord.DOMAIN);
|
||||||
this.getSpellAbility().addHint(DomainHint.instance);
|
this.getSpellAbility().addHint(DomainHint.instance);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
package mage.cards.p;
|
package mage.cards.p;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
@ -16,11 +15,11 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.Zone;
|
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.filter.predicate.mageobject.AbilityPredicate;
|
import mage.filter.predicate.mageobject.AbilityPredicate;
|
||||||
import mage.filter.predicate.mageobject.AnotherPredicate;
|
import mage.filter.predicate.mageobject.AnotherPredicate;
|
||||||
import mage.game.permanent.token.TokenImpl;
|
import mage.game.permanent.token.WhiteBlueBirdToken;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author fireshoes
|
* @author fireshoes
|
||||||
|
@ -33,6 +32,8 @@ public final class PrideOfTheClouds extends CardImpl {
|
||||||
filter.add(AnotherPredicate.instance);
|
filter.add(AnotherPredicate.instance);
|
||||||
filter.add(new AbilityPredicate(FlyingAbility.class));
|
filter.add(new AbilityPredicate(FlyingAbility.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(filter);
|
||||||
|
|
||||||
public PrideOfTheClouds(UUID ownerId, CardSetInfo setInfo) {
|
public PrideOfTheClouds(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{U}");
|
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{U}");
|
||||||
|
@ -43,13 +44,12 @@ public final class PrideOfTheClouds extends CardImpl {
|
||||||
|
|
||||||
// Flying
|
// Flying
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
this.addAbility(FlyingAbility.getInstance());
|
||||||
|
|
||||||
// Pride of the Clouds gets +1/+1 for each other creature with flying on the battlefield.
|
// Pride of the Clouds gets +1/+1 for each other creature with flying on the battlefield.
|
||||||
DynamicValue xValue = new PermanentsOnBattlefieldCount(filter);
|
this.addAbility(new SimpleStaticAbility(new BoostSourceEffect(xValue, xValue, Duration.WhileOnBattlefield)));
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(xValue, xValue, Duration.WhileOnBattlefield)));
|
|
||||||
|
|
||||||
// Forecast - {2}{W}{U}, Reveal Pride of the Clouds from your hand: Create a 1/1 white and blue Bird creature token with flying.
|
// Forecast - {2}{W}{U}, Reveal Pride of the Clouds from your hand: Create a 1/1 white and blue Bird creature token with flying.
|
||||||
this.addAbility(new ForecastAbility(new CreateTokenEffect(new BirdToken()), new ManaCostsImpl("{2}{W}{U}")));
|
this.addAbility(new ForecastAbility(new CreateTokenEffect(new WhiteBlueBirdToken()), new ManaCostsImpl("{2}{W}{U}")));
|
||||||
}
|
}
|
||||||
|
|
||||||
private PrideOfTheClouds(final PrideOfTheClouds card) {
|
private PrideOfTheClouds(final PrideOfTheClouds card) {
|
||||||
|
@ -60,25 +60,4 @@ public final class PrideOfTheClouds extends CardImpl {
|
||||||
public PrideOfTheClouds copy() {
|
public PrideOfTheClouds copy() {
|
||||||
return new PrideOfTheClouds(this);
|
return new PrideOfTheClouds(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class BirdToken extends TokenImpl {
|
|
||||||
|
|
||||||
public BirdToken() {
|
|
||||||
super("Bird Token", "1/1 white and blue Bird creature token with flying");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setWhite(true);
|
|
||||||
color.setBlue(true);
|
|
||||||
subtype.add(SubType.BIRD);
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
addAbility(FlyingAbility.getInstance());
|
|
||||||
}
|
|
||||||
public BirdToken(final BirdToken token) {
|
|
||||||
super(token);
|
|
||||||
}
|
|
||||||
|
|
||||||
public BirdToken copy() {
|
|
||||||
return new BirdToken(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@ import mage.constants.Zone;
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.game.permanent.token.OwlToken;
|
import mage.game.permanent.token.BlueBirdToken;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
|
|
||||||
|
@ -68,7 +68,7 @@ class RavenformEffect extends OneShotEffect {
|
||||||
}
|
}
|
||||||
Player player = game.getPlayer(permanent.getControllerId());
|
Player player = game.getPlayer(permanent.getControllerId());
|
||||||
player.moveCards(permanent, Zone.EXILED, source, game);
|
player.moveCards(permanent, Zone.EXILED, source, game);
|
||||||
new OwlToken().putOntoBattlefield(1, game, source, player.getId());
|
new BlueBirdToken().putOntoBattlefield(1, game, source, player.getId());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
package mage.cards.r;
|
package mage.cards.r;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
@ -22,7 +21,7 @@ import mage.filter.FilterPermanent;
|
||||||
import mage.filter.predicate.permanent.TokenPredicate;
|
import mage.filter.predicate.permanent.TokenPredicate;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.game.permanent.token.RhysTheRedeemedToken;
|
import mage.game.permanent.token.GreenWhiteElfWarriorToken;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
import mage.target.targetpointer.FixedTarget;
|
import mage.target.targetpointer.FixedTarget;
|
||||||
|
|
||||||
|
@ -42,7 +41,7 @@ public final class RhysTheRedeemed extends CardImpl {
|
||||||
this.toughness = new MageInt(1);
|
this.toughness = new MageInt(1);
|
||||||
|
|
||||||
// {2}{GW}, {tap}: Create a 1/1 green and white Elf Warrior creature token.
|
// {2}{GW}, {tap}: Create a 1/1 green and white Elf Warrior creature token.
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new RhysTheRedeemedToken()), new ManaCostsImpl("{2}{G/W}"));
|
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new GreenWhiteElfWarriorToken()), new ManaCostsImpl("{2}{G/W}"));
|
||||||
ability.addCost(new TapSourceCost());
|
ability.addCost(new TapSourceCost());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ import mage.game.Game;
|
||||||
import mage.game.events.DamagedPlayerEvent;
|
import mage.game.events.DamagedPlayerEvent;
|
||||||
import mage.game.events.GameEvent;
|
import mage.game.events.GameEvent;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.game.permanent.token.OwlToken;
|
import mage.game.permanent.token.BlueBirdToken;
|
||||||
import mage.target.targetpointer.FixedTarget;
|
import mage.target.targetpointer.FixedTarget;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -38,7 +38,7 @@ public final class TheRavensWarning extends CardImpl {
|
||||||
|
|
||||||
// I — Create a 1/1 blue Bird creature token with flying. You gain 2 life.
|
// I — Create a 1/1 blue Bird creature token with flying. You gain 2 life.
|
||||||
sagaAbility.addChapterEffect(this, SagaChapter.CHAPTER_I,
|
sagaAbility.addChapterEffect(this, SagaChapter.CHAPTER_I,
|
||||||
new CreateTokenEffect(new OwlToken()), new GainLifeEffect(2)
|
new CreateTokenEffect(new BlueBirdToken()), new GainLifeEffect(2)
|
||||||
);
|
);
|
||||||
|
|
||||||
// II — Whenever one or more creatures you control with flying deal combat damage to a player this turn,
|
// II — Whenever one or more creatures you control with flying deal combat damage to a player this turn,
|
||||||
|
|
|
@ -10,9 +10,9 @@ import java.util.Arrays;
|
||||||
/**
|
/**
|
||||||
* @author spjspj
|
* @author spjspj
|
||||||
*/
|
*/
|
||||||
public final class OwlToken extends TokenImpl {
|
public final class BlueBirdToken extends TokenImpl {
|
||||||
|
|
||||||
public OwlToken() {
|
public BlueBirdToken() {
|
||||||
super("Bird Token", "1/1 blue Bird creature token with flying");
|
super("Bird Token", "1/1 blue Bird creature token with flying");
|
||||||
cardType.add(CardType.CREATURE);
|
cardType.add(CardType.CREATURE);
|
||||||
color.setBlue(true);
|
color.setBlue(true);
|
||||||
|
@ -25,11 +25,11 @@ public final class OwlToken extends TokenImpl {
|
||||||
availableImageSetCodes = Arrays.asList("EVE", "INV", "KHM");
|
availableImageSetCodes = Arrays.asList("EVE", "INV", "KHM");
|
||||||
}
|
}
|
||||||
|
|
||||||
public OwlToken(final OwlToken token) {
|
public BlueBirdToken(final BlueBirdToken token) {
|
||||||
super(token);
|
super(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
public OwlToken copy() {
|
public BlueBirdToken copy() {
|
||||||
return new OwlToken(this);
|
return new BlueBirdToken(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,5 +1,3 @@
|
||||||
|
|
||||||
|
|
||||||
package mage.game.permanent.token;
|
package mage.game.permanent.token;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
@ -12,7 +10,7 @@ import mage.MageInt;
|
||||||
public final class GoblinSoldierToken extends TokenImpl {
|
public final class GoblinSoldierToken extends TokenImpl {
|
||||||
|
|
||||||
public GoblinSoldierToken() {
|
public GoblinSoldierToken() {
|
||||||
super("Goblin Soldier Token", "1/1 red and white Goblin Soldier creature tokens");
|
super("Goblin Soldier Token", "1/1 red and white Goblin Soldier creature token");
|
||||||
cardType.add(CardType.CREATURE);
|
cardType.add(CardType.CREATURE);
|
||||||
color.setRed(true);
|
color.setRed(true);
|
||||||
color.setWhite(true);
|
color.setWhite(true);
|
||||||
|
@ -21,6 +19,7 @@ public final class GoblinSoldierToken extends TokenImpl {
|
||||||
power = new MageInt(1);
|
power = new MageInt(1);
|
||||||
toughness = new MageInt(1);
|
toughness = new MageInt(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
public GoblinSoldierToken(final GoblinSoldierToken token) {
|
public GoblinSoldierToken(final GoblinSoldierToken token) {
|
||||||
super(token);
|
super(token);
|
||||||
}
|
}
|
||||||
|
@ -28,5 +27,4 @@ public final class GoblinSoldierToken extends TokenImpl {
|
||||||
public GoblinSoldierToken copy() {
|
public GoblinSoldierToken copy() {
|
||||||
return new GoblinSoldierToken(this);
|
return new GoblinSoldierToken(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,32 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
package mage.game.permanent.token;
|
|
||||||
import mage.constants.CardType;
|
|
||||||
import mage.constants.SubType;
|
|
||||||
import mage.MageInt;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @author spjspj
|
|
||||||
*/
|
|
||||||
public final class GoblinTrenchesToken extends TokenImpl {
|
|
||||||
|
|
||||||
public GoblinTrenchesToken() {
|
|
||||||
super("Goblin Soldier Token", "1/1 red and white Goblin Soldier creature tokens");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setRed(true);
|
|
||||||
color.setWhite(true);
|
|
||||||
subtype.add(SubType.GOBLIN);
|
|
||||||
subtype.add(SubType.SOLDIER);
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
public GoblinTrenchesToken(final GoblinTrenchesToken token) {
|
|
||||||
super(token);
|
|
||||||
}
|
|
||||||
|
|
||||||
public GoblinTrenchesToken copy() {
|
|
||||||
return new GoblinTrenchesToken(this);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -9,9 +9,9 @@ import java.util.Arrays;
|
||||||
/**
|
/**
|
||||||
* @author spjspj
|
* @author spjspj
|
||||||
*/
|
*/
|
||||||
public final class RhysTheRedeemedToken extends TokenImpl {
|
public final class GreenWhiteElfWarriorToken extends TokenImpl {
|
||||||
|
|
||||||
public RhysTheRedeemedToken() {
|
public GreenWhiteElfWarriorToken() {
|
||||||
super("Elf Warrior Token", "1/1 green and white Elf Warrior creature token");
|
super("Elf Warrior Token", "1/1 green and white Elf Warrior creature token");
|
||||||
cardType.add(CardType.CREATURE);
|
cardType.add(CardType.CREATURE);
|
||||||
color.setGreen(true);
|
color.setGreen(true);
|
||||||
|
@ -24,12 +24,12 @@ public final class RhysTheRedeemedToken extends TokenImpl {
|
||||||
availableImageSetCodes = Arrays.asList("SHM");
|
availableImageSetCodes = Arrays.asList("SHM");
|
||||||
}
|
}
|
||||||
|
|
||||||
public RhysTheRedeemedToken(final RhysTheRedeemedToken token) {
|
public GreenWhiteElfWarriorToken(final GreenWhiteElfWarriorToken token) {
|
||||||
super(token);
|
super(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
public RhysTheRedeemedToken copy() {
|
public GreenWhiteElfWarriorToken copy() {
|
||||||
return new RhysTheRedeemedToken(this);
|
return new GreenWhiteElfWarriorToken(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
|
@ -1,5 +1,3 @@
|
||||||
|
|
||||||
|
|
||||||
package mage.game.permanent.token;
|
package mage.game.permanent.token;
|
||||||
|
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
@ -11,10 +9,10 @@ import mage.abilities.keyword.FlyingAbility;
|
||||||
*
|
*
|
||||||
* @author spjspj
|
* @author spjspj
|
||||||
*/
|
*/
|
||||||
public final class AbhorrentOverlordHarpyToken extends TokenImpl {
|
public final class HarpyToken extends TokenImpl {
|
||||||
|
|
||||||
public AbhorrentOverlordHarpyToken() {
|
public HarpyToken() {
|
||||||
super("Harpy Token", "1/1 black Harpy creature tokens with flying");
|
super("Harpy Token", "1/1 black Harpy creature token with flying");
|
||||||
cardType.add(CardType.CREATURE);
|
cardType.add(CardType.CREATURE);
|
||||||
color.setBlack(true);
|
color.setBlack(true);
|
||||||
subtype.add(SubType.HARPY);
|
subtype.add(SubType.HARPY);
|
||||||
|
@ -24,11 +22,11 @@ public final class AbhorrentOverlordHarpyToken extends TokenImpl {
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
this.addAbility(FlyingAbility.getInstance());
|
||||||
}
|
}
|
||||||
|
|
||||||
public AbhorrentOverlordHarpyToken(final AbhorrentOverlordHarpyToken token) {
|
public HarpyToken(final HarpyToken token) {
|
||||||
super(token);
|
super(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
public AbhorrentOverlordHarpyToken copy() {
|
public HarpyToken copy() {
|
||||||
return new AbhorrentOverlordHarpyToken(this);
|
return new HarpyToken(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,32 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
package mage.game.permanent.token;
|
|
||||||
import mage.constants.CardType;
|
|
||||||
import mage.constants.SubType;
|
|
||||||
import mage.MageInt;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @author spjspj
|
|
||||||
*/
|
|
||||||
public final class MercyKillingToken extends TokenImpl {
|
|
||||||
|
|
||||||
public MercyKillingToken() {
|
|
||||||
super("Elf Warrior Token", "1/1 green and white Elf Warrior creature token");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setGreen(true);
|
|
||||||
color.setWhite(true);
|
|
||||||
subtype.add(SubType.ELF);
|
|
||||||
subtype.add(SubType.WARRIOR);
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
public MercyKillingToken(final MercyKillingToken token) {
|
|
||||||
super(token);
|
|
||||||
}
|
|
||||||
|
|
||||||
public MercyKillingToken copy() {
|
|
||||||
return new MercyKillingToken(this);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,32 +0,0 @@
|
||||||
|
|
||||||
package mage.game.permanent.token;
|
|
||||||
|
|
||||||
import mage.MageInt;
|
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
|
||||||
import mage.constants.CardType;
|
|
||||||
import mage.constants.SubType;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @author LoneFox
|
|
||||||
*/
|
|
||||||
public final class OrderedMigrationBirdToken extends TokenImpl {
|
|
||||||
|
|
||||||
public OrderedMigrationBirdToken() {
|
|
||||||
super("Bird Token", "1/1 blue Bird creature token with flying");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setBlue(true);
|
|
||||||
subtype.add(SubType.BIRD);
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
addAbility(FlyingAbility.getInstance());
|
|
||||||
}
|
|
||||||
|
|
||||||
public OrderedMigrationBirdToken(final OrderedMigrationBirdToken token) {
|
|
||||||
super(token);
|
|
||||||
}
|
|
||||||
|
|
||||||
public OrderedMigrationBirdToken copy() {
|
|
||||||
return new OrderedMigrationBirdToken(this);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,5 +1,3 @@
|
||||||
|
|
||||||
|
|
||||||
package mage.game.permanent.token;
|
package mage.game.permanent.token;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
|
@ -10,9 +8,9 @@ import mage.abilities.keyword.FlyingAbility;
|
||||||
*
|
*
|
||||||
* @author spjspj
|
* @author spjspj
|
||||||
*/
|
*/
|
||||||
public final class DovescapeToken extends TokenImpl {
|
public final class WhiteBlueBirdToken extends TokenImpl {
|
||||||
|
|
||||||
public DovescapeToken() {
|
public WhiteBlueBirdToken() {
|
||||||
super("Bird Token", "1/1 white and blue Bird creature token with flying");
|
super("Bird Token", "1/1 white and blue Bird creature token with flying");
|
||||||
cardType.add(CardType.CREATURE);
|
cardType.add(CardType.CREATURE);
|
||||||
color.setWhite(true);
|
color.setWhite(true);
|
||||||
|
@ -22,11 +20,11 @@ public final class DovescapeToken extends TokenImpl {
|
||||||
toughness = new MageInt(1);
|
toughness = new MageInt(1);
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
this.addAbility(FlyingAbility.getInstance());
|
||||||
}
|
}
|
||||||
public DovescapeToken(final DovescapeToken token) {
|
public WhiteBlueBirdToken(final WhiteBlueBirdToken token) {
|
||||||
super(token);
|
super(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
public DovescapeToken copy() {
|
public WhiteBlueBirdToken copy() {
|
||||||
return new DovescapeToken(this);
|
return new WhiteBlueBirdToken(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in a new issue