diff --git a/Mage.Client/src/main/resources/card-pictures-tok.txt b/Mage.Client/src/main/resources/card-pictures-tok.txt index cad05be5ef..c41feaaaf9 100644 --- a/Mage.Client/src/main/resources/card-pictures-tok.txt +++ b/Mage.Client/src/main/resources/card-pictures-tok.txt @@ -234,7 +234,7 @@ |Generate|TOK:ALL|Zombie|||ZombieToken| |Generate|TOK:APC|Angel|||HauntedAngelToken| |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|Saproling|||SaprolingToken| |Generate|TOK:APC|Wurm|||PenumbraWurmToken| @@ -589,7 +589,7 @@ |Generate|TOK:DGM|Spirit|||TeysaEnvoyOfGhostsToken| |Generate|TOK:DGM|Wurm|1||WurmWithTrampleToken| |Generate|TOK:DGM|Wurm|2||Wurm55Token| -|Generate|TOK:DIS|Bird|||DovescapeToken| +|Generate|TOK:DIS|Bird|||WhiteBlueBirdToken| |Generate|TOK:DIS|Drake|||LeafdrakeRoostDrakeToken| |Generate|TOK:DIS|Elemental|||ResearchDevelopmentToken| |Generate|TOK:DIS|Goblin|||RakdosGuildmageGoblinToken| @@ -643,7 +643,7 @@ |Generate|TOK:EMA|Elemental|2||CallTheSkyBreakerElementalToken| |Generate|TOK:EMA|Elephant|||ElephantToken| |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|Serf|||SerfToken| |Generate|TOK:EMA|Soldier|||SoldierToken| @@ -667,10 +667,10 @@ |Generate|TOK:EMN|Zombie|3||ZombieToken| |Generate|TOK:EMN|Zombie|4||ZombieToken2| |Generate|TOK:EVE|Beast|||BeastToken| -|Generate|TOK:EVE|Bird|||OwlToken| +|Generate|TOK:EVE|Bird|||BlueBirdToken| |Generate|TOK:EVE|Elemental|||CallTheSkyBreakerElementalToken| |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|Spirit|||BeckonApparitionToken| |Generate|TOK:EVE|Wolf|||WolfToken| @@ -733,7 +733,7 @@ |Generate|TOK:HOU|Steadfast Sentinel|||| |Generate|TOK:HOU|Sunscourge Champion|||| |Generate|TOK:ICE|Caribou|||CaribouToken| -|Generate|TOK:INV|Bird|||OwlToken| +|Generate|TOK:INV|Bird|||BlueBirdToken| |Generate|TOK:INV|Elephant|||ElephantToken| |Generate|TOK:INV|Reflection|||ReflectionToken| |Generate|TOK:INV|Saproling|||SaprolingToken| @@ -1082,10 +1082,8 @@ |Generate|TOK:SCG|Soldier|||SoldierToken| |Generate|TOK:SHM|Elemental|1||DinOfTheFireherdToken| |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|2||RhysTheRedeemedToken| +|Generate|TOK:SHM|Elf Warrior|2||GreenWhiteElfWarriorToken| |Generate|TOK:SHM|Faerie Rogue|||OonaQueenFaerieToken| |Generate|TOK:SHM|Giant Warrior|||GiantBaitingGiantWarriorToken| |Generate|TOK:SHM|Goblin Warrior|||WortTheRaidmotherToken| @@ -1139,7 +1137,7 @@ |Generate|TOK:THS|Cleric|||HeliodGodOfTheSunToken| |Generate|TOK:THS|Elemental|||MasterOfWavesElementalToken| |Generate|TOK:THS|Golem|||HammerOfPurphorosGolemToken| -|Generate|TOK:THS|Harpy|||AbhorrentOverlordHarpyToken| +|Generate|TOK:THS|Harpy|||HarpyToken| |Generate|TOK:THS|Satyr|||XenagosSatyrToken| |Generate|TOK:THS|Soldier|1||SoldierToken| |Generate|TOK:THS|Soldier|2||SoldierToken| @@ -1192,7 +1190,7 @@ |Generate|TOK:VMA|Boar|||BoarToken| |Generate|TOK:VMA|Demon|||ReignOfThePitToken| |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|Insect|||InsectToken| |Generate|TOK:VMA|Reflection|||ReflectionToken| @@ -1467,7 +1465,7 @@ # KHM |Generate|TOK:KHM|Angel Warrior|||AngelWarriorVigilanceToken| |Generate|TOK:KHM|Bear|||BearToken| -|Generate|TOK:KHM|Bird|||OwlToken| +|Generate|TOK:KHM|Bird|||BlueBirdToken| |Generate|TOK:KHM|Cat|||GreenCat2Token| |Generate|TOK:KHM|Demon Berserker|||DemonBerserkerToken| |Generate|TOK:KHM|Dragon|||DragonToken2| diff --git a/Mage.Sets/src/mage/cards/a/AbhorrentOverlord.java b/Mage.Sets/src/mage/cards/a/AbhorrentOverlord.java index 0983a26bae..eb03cb26a9 100644 --- a/Mage.Sets/src/mage/cards/a/AbhorrentOverlord.java +++ b/Mage.Sets/src/mage/cards/a/AbhorrentOverlord.java @@ -14,7 +14,7 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.StaticFilters; -import mage.game.permanent.token.TokenImpl; +import mage.game.permanent.token.HarpyToken; import java.util.UUID; @@ -34,7 +34,7 @@ public final class AbhorrentOverlord extends CardImpl { 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. - 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. (Each {B} in the mana costs of permanents you control counts toward your devotion to black.)"); this.addAbility(new EntersBattlefieldTriggeredAbility(effect).addHint(DevotionCount.B.getHint())); @@ -51,25 +51,3 @@ public final class AbhorrentOverlord extends CardImpl { 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); - } -} diff --git a/Mage.Sets/src/mage/cards/a/AlrundsEpiphany.java b/Mage.Sets/src/mage/cards/a/AlrundsEpiphany.java index 9a3b9216d5..bf9a33a093 100644 --- a/Mage.Sets/src/mage/cards/a/AlrundsEpiphany.java +++ b/Mage.Sets/src/mage/cards/a/AlrundsEpiphany.java @@ -7,7 +7,7 @@ import mage.abilities.keyword.ForetellAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.game.permanent.token.OwlToken; +import mage.game.permanent.token.BlueBirdToken; import java.util.UUID; @@ -20,7 +20,7 @@ public final class AlrundsEpiphany extends CardImpl { 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. - 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 ExileSpellEffect()); diff --git a/Mage.Sets/src/mage/cards/d/Dovescape.java b/Mage.Sets/src/mage/cards/d/Dovescape.java index 31370e4437..f783bc045f 100644 --- a/Mage.Sets/src/mage/cards/d/Dovescape.java +++ b/Mage.Sets/src/mage/cards/d/Dovescape.java @@ -1,4 +1,3 @@ - package mage.cards.d; import java.util.UUID; @@ -10,11 +9,9 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SetTargetPointer; -import mage.filter.FilterSpell; -import mage.filter.predicate.Predicates; +import mage.filter.StaticFilters; import mage.game.Game; -import mage.game.permanent.token.DovescapeToken; -import mage.game.permanent.token.Token; +import mage.game.permanent.token.WhiteBlueBirdToken; import mage.game.stack.Spell; /** @@ -23,17 +20,11 @@ import mage.game.stack.Spell; */ 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) { 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. - 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) { @@ -72,8 +63,7 @@ class DovescapeEffect extends OneShotEffect { spellControllerID = spell.getControllerId(); game.getStack().counter(spell.getId(), source, game); } - Token token = new DovescapeToken(); - token.putOntoBattlefield(spellCMC, game, source, spellControllerID); + new WhiteBlueBirdToken().putOntoBattlefield(spellCMC, game, source, spellControllerID); return true; } } diff --git a/Mage.Sets/src/mage/cards/f/FableOfWolfAndOwl.java b/Mage.Sets/src/mage/cards/f/FableOfWolfAndOwl.java index 64c1101317..54f2890e14 100644 --- a/Mage.Sets/src/mage/cards/f/FableOfWolfAndOwl.java +++ b/Mage.Sets/src/mage/cards/f/FableOfWolfAndOwl.java @@ -10,7 +10,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.ColorPredicate; -import mage.game.permanent.token.OwlToken; +import mage.game.permanent.token.BlueBirdToken; 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}"); 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) { diff --git a/Mage.Sets/src/mage/cards/g/GoblinTrenches.java b/Mage.Sets/src/mage/cards/g/GoblinTrenches.java index 6b826865ab..67a40caddd 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinTrenches.java +++ b/Mage.Sets/src/mage/cards/g/GoblinTrenches.java @@ -1,4 +1,3 @@ - package mage.cards.g; import java.util.UUID; @@ -10,10 +9,8 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.Zone; -import mage.filter.common.FilterControlledLandPermanent; -import mage.filter.common.FilterControlledPermanent; -import mage.game.permanent.token.GoblinTrenchesToken; +import mage.filter.StaticFilters; +import mage.game.permanent.token.GoblinSoldierToken; import mage.target.common.TargetControlledPermanent; /** @@ -22,14 +19,12 @@ import mage.target.common.TargetControlledPermanent; */ public final class GoblinTrenches extends CardImpl { - static final FilterControlledPermanent filter = new FilterControlledLandPermanent("a land"); - public GoblinTrenches(UUID ownerId, CardSetInfo setInfo) { 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. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new GoblinTrenchesToken(), 2), new GenericManaCost(2)); - ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter))); + Ability ability = new SimpleActivatedAbility(new CreateTokenEffect(new GoblinSoldierToken(), 2), new GenericManaCost(2)); + ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(StaticFilters.FILTER_CONTROLLED_LAND_SHORT_TEXT))); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/m/MercyKilling.java b/Mage.Sets/src/mage/cards/m/MercyKilling.java index 26df6d23de..62988d9aa9 100644 --- a/Mage.Sets/src/mage/cards/m/MercyKilling.java +++ b/Mage.Sets/src/mage/cards/m/MercyKilling.java @@ -1,4 +1,3 @@ - package mage.cards.m; import java.util.UUID; @@ -11,7 +10,7 @@ import mage.constants.CardType; import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.Permanent; -import mage.game.permanent.token.MercyKillingToken; +import mage.game.permanent.token.GreenWhiteElfWarriorToken; import mage.target.common.TargetCreaturePermanent; /** @@ -59,7 +58,7 @@ class MercyKillingTokenEffect extends OneShotEffect { Permanent permanent = getTargetPointer().getFirstTargetPermanentOrLKI(game, source); if (permanent != null) { 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; } diff --git a/Mage.Sets/src/mage/cards/o/OrderedMigration.java b/Mage.Sets/src/mage/cards/o/OrderedMigration.java index a5b93e7143..0e704ee790 100644 --- a/Mage.Sets/src/mage/cards/o/OrderedMigration.java +++ b/Mage.Sets/src/mage/cards/o/OrderedMigration.java @@ -1,4 +1,3 @@ - package mage.cards.o; import java.util.UUID; @@ -9,7 +8,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; 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}"); // 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().addHint(DomainHint.instance); } diff --git a/Mage.Sets/src/mage/cards/p/PrideOfTheClouds.java b/Mage.Sets/src/mage/cards/p/PrideOfTheClouds.java index d247f1bc28..8adc07492d 100644 --- a/Mage.Sets/src/mage/cards/p/PrideOfTheClouds.java +++ b/Mage.Sets/src/mage/cards/p/PrideOfTheClouds.java @@ -1,4 +1,3 @@ - package mage.cards.p; import java.util.UUID; @@ -16,11 +15,11 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Duration; -import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; import mage.filter.predicate.mageobject.AnotherPredicate; -import mage.game.permanent.token.TokenImpl; +import mage.game.permanent.token.WhiteBlueBirdToken; + /** * * @author fireshoes @@ -33,6 +32,8 @@ public final class PrideOfTheClouds extends CardImpl { filter.add(AnotherPredicate.instance); filter.add(new AbilityPredicate(FlyingAbility.class)); } + + private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(filter); public PrideOfTheClouds(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{U}"); @@ -43,13 +44,12 @@ public final class PrideOfTheClouds extends CardImpl { // Flying this.addAbility(FlyingAbility.getInstance()); - + // 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(Zone.BATTLEFIELD, new BoostSourceEffect(xValue, xValue, Duration.WhileOnBattlefield))); + this.addAbility(new SimpleStaticAbility(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. - 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) { @@ -60,25 +60,4 @@ public final class PrideOfTheClouds extends CardImpl { public PrideOfTheClouds copy() { 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); - } - } } diff --git a/Mage.Sets/src/mage/cards/r/Ravenform.java b/Mage.Sets/src/mage/cards/r/Ravenform.java index 9c7679f7b1..58db871b3a 100644 --- a/Mage.Sets/src/mage/cards/r/Ravenform.java +++ b/Mage.Sets/src/mage/cards/r/Ravenform.java @@ -11,7 +11,7 @@ import mage.constants.Zone; import mage.filter.StaticFilters; import mage.game.Game; import mage.game.permanent.Permanent; -import mage.game.permanent.token.OwlToken; +import mage.game.permanent.token.BlueBirdToken; import mage.players.Player; import mage.target.TargetPermanent; @@ -68,7 +68,7 @@ class RavenformEffect extends OneShotEffect { } Player player = game.getPlayer(permanent.getControllerId()); 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; } } diff --git a/Mage.Sets/src/mage/cards/r/RhysTheRedeemed.java b/Mage.Sets/src/mage/cards/r/RhysTheRedeemed.java index e69082506b..8fc6510a2f 100644 --- a/Mage.Sets/src/mage/cards/r/RhysTheRedeemed.java +++ b/Mage.Sets/src/mage/cards/r/RhysTheRedeemed.java @@ -1,4 +1,3 @@ - package mage.cards.r; import java.util.UUID; @@ -22,7 +21,7 @@ import mage.filter.FilterPermanent; import mage.filter.predicate.permanent.TokenPredicate; import mage.game.Game; import mage.game.permanent.Permanent; -import mage.game.permanent.token.RhysTheRedeemedToken; +import mage.game.permanent.token.GreenWhiteElfWarriorToken; import mage.players.Player; import mage.target.targetpointer.FixedTarget; @@ -42,7 +41,7 @@ public final class RhysTheRedeemed extends CardImpl { this.toughness = new MageInt(1); // {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()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/t/TheRavensWarning.java b/Mage.Sets/src/mage/cards/t/TheRavensWarning.java index e977abfd22..530ff7174a 100644 --- a/Mage.Sets/src/mage/cards/t/TheRavensWarning.java +++ b/Mage.Sets/src/mage/cards/t/TheRavensWarning.java @@ -19,7 +19,7 @@ import mage.game.Game; import mage.game.events.DamagedPlayerEvent; import mage.game.events.GameEvent; import mage.game.permanent.Permanent; -import mage.game.permanent.token.OwlToken; +import mage.game.permanent.token.BlueBirdToken; 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. 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, diff --git a/Mage/src/main/java/mage/game/permanent/token/OwlToken.java b/Mage/src/main/java/mage/game/permanent/token/BlueBirdToken.java similarity index 75% rename from Mage/src/main/java/mage/game/permanent/token/OwlToken.java rename to Mage/src/main/java/mage/game/permanent/token/BlueBirdToken.java index bf9db87f92..71702fe0a1 100644 --- a/Mage/src/main/java/mage/game/permanent/token/OwlToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/BlueBirdToken.java @@ -10,9 +10,9 @@ import java.util.Arrays; /** * @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"); cardType.add(CardType.CREATURE); color.setBlue(true); @@ -25,11 +25,11 @@ public final class OwlToken extends TokenImpl { availableImageSetCodes = Arrays.asList("EVE", "INV", "KHM"); } - public OwlToken(final OwlToken token) { + public BlueBirdToken(final BlueBirdToken token) { super(token); } - public OwlToken copy() { - return new OwlToken(this); + public BlueBirdToken copy() { + return new BlueBirdToken(this); } } diff --git a/Mage/src/main/java/mage/game/permanent/token/GoblinSoldierToken.java b/Mage/src/main/java/mage/game/permanent/token/GoblinSoldierToken.java index 5a44858422..c47025526f 100644 --- a/Mage/src/main/java/mage/game/permanent/token/GoblinSoldierToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/GoblinSoldierToken.java @@ -1,5 +1,3 @@ - - package mage.game.permanent.token; import mage.constants.CardType; import mage.constants.SubType; @@ -12,7 +10,7 @@ import mage.MageInt; public final class GoblinSoldierToken extends TokenImpl { 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); color.setRed(true); color.setWhite(true); @@ -21,6 +19,7 @@ public final class GoblinSoldierToken extends TokenImpl { power = new MageInt(1); toughness = new MageInt(1); } + public GoblinSoldierToken(final GoblinSoldierToken token) { super(token); } @@ -28,5 +27,4 @@ public final class GoblinSoldierToken extends TokenImpl { public GoblinSoldierToken copy() { return new GoblinSoldierToken(this); } - } diff --git a/Mage/src/main/java/mage/game/permanent/token/GoblinTrenchesToken.java b/Mage/src/main/java/mage/game/permanent/token/GoblinTrenchesToken.java deleted file mode 100644 index f53e49dcc1..0000000000 --- a/Mage/src/main/java/mage/game/permanent/token/GoblinTrenchesToken.java +++ /dev/null @@ -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); - } -} diff --git a/Mage/src/main/java/mage/game/permanent/token/RhysTheRedeemedToken.java b/Mage/src/main/java/mage/game/permanent/token/GreenWhiteElfWarriorToken.java similarity index 75% rename from Mage/src/main/java/mage/game/permanent/token/RhysTheRedeemedToken.java rename to Mage/src/main/java/mage/game/permanent/token/GreenWhiteElfWarriorToken.java index b445654915..f66308ae7b 100644 --- a/Mage/src/main/java/mage/game/permanent/token/RhysTheRedeemedToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/GreenWhiteElfWarriorToken.java @@ -9,9 +9,9 @@ import java.util.Arrays; /** * @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"); cardType.add(CardType.CREATURE); color.setGreen(true); @@ -24,12 +24,12 @@ public final class RhysTheRedeemedToken extends TokenImpl { availableImageSetCodes = Arrays.asList("SHM"); } - public RhysTheRedeemedToken(final RhysTheRedeemedToken token) { + public GreenWhiteElfWarriorToken(final GreenWhiteElfWarriorToken token) { super(token); } - public RhysTheRedeemedToken copy() { - return new RhysTheRedeemedToken(this); + public GreenWhiteElfWarriorToken copy() { + return new GreenWhiteElfWarriorToken(this); } @Override diff --git a/Mage/src/main/java/mage/game/permanent/token/AbhorrentOverlordHarpyToken.java b/Mage/src/main/java/mage/game/permanent/token/HarpyToken.java similarity index 55% rename from Mage/src/main/java/mage/game/permanent/token/AbhorrentOverlordHarpyToken.java rename to Mage/src/main/java/mage/game/permanent/token/HarpyToken.java index fe113406dc..7d9c05fbb0 100644 --- a/Mage/src/main/java/mage/game/permanent/token/AbhorrentOverlordHarpyToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/HarpyToken.java @@ -1,5 +1,3 @@ - - package mage.game.permanent.token; import mage.constants.CardType; @@ -11,10 +9,10 @@ import mage.abilities.keyword.FlyingAbility; * * @author spjspj */ -public final class AbhorrentOverlordHarpyToken extends TokenImpl { +public final class HarpyToken extends TokenImpl { - public AbhorrentOverlordHarpyToken() { - super("Harpy Token", "1/1 black Harpy creature tokens with flying"); + public HarpyToken() { + super("Harpy Token", "1/1 black Harpy creature token with flying"); cardType.add(CardType.CREATURE); color.setBlack(true); subtype.add(SubType.HARPY); @@ -24,11 +22,11 @@ public final class AbhorrentOverlordHarpyToken extends TokenImpl { this.addAbility(FlyingAbility.getInstance()); } - public AbhorrentOverlordHarpyToken(final AbhorrentOverlordHarpyToken token) { + public HarpyToken(final HarpyToken token) { super(token); } - public AbhorrentOverlordHarpyToken copy() { - return new AbhorrentOverlordHarpyToken(this); + public HarpyToken copy() { + return new HarpyToken(this); } } diff --git a/Mage/src/main/java/mage/game/permanent/token/MercyKillingToken.java b/Mage/src/main/java/mage/game/permanent/token/MercyKillingToken.java deleted file mode 100644 index def6aa8653..0000000000 --- a/Mage/src/main/java/mage/game/permanent/token/MercyKillingToken.java +++ /dev/null @@ -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); - } -} diff --git a/Mage/src/main/java/mage/game/permanent/token/OrderedMigrationBirdToken.java b/Mage/src/main/java/mage/game/permanent/token/OrderedMigrationBirdToken.java deleted file mode 100644 index a2dc5c0b70..0000000000 --- a/Mage/src/main/java/mage/game/permanent/token/OrderedMigrationBirdToken.java +++ /dev/null @@ -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); - } -} diff --git a/Mage/src/main/java/mage/game/permanent/token/DovescapeToken.java b/Mage/src/main/java/mage/game/permanent/token/WhiteBlueBirdToken.java similarity index 70% rename from Mage/src/main/java/mage/game/permanent/token/DovescapeToken.java rename to Mage/src/main/java/mage/game/permanent/token/WhiteBlueBirdToken.java index 8f2b950a86..1cdfdabfde 100644 --- a/Mage/src/main/java/mage/game/permanent/token/DovescapeToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WhiteBlueBirdToken.java @@ -1,5 +1,3 @@ - - package mage.game.permanent.token; import mage.constants.CardType; import mage.constants.SubType; @@ -10,9 +8,9 @@ import mage.abilities.keyword.FlyingAbility; * * @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"); cardType.add(CardType.CREATURE); color.setWhite(true); @@ -22,11 +20,11 @@ public final class DovescapeToken extends TokenImpl { toughness = new MageInt(1); this.addAbility(FlyingAbility.getInstance()); } - public DovescapeToken(final DovescapeToken token) { + public WhiteBlueBirdToken(final WhiteBlueBirdToken token) { super(token); } - public DovescapeToken copy() { - return new DovescapeToken(this); + public WhiteBlueBirdToken copy() { + return new WhiteBlueBirdToken(this); } }