From 4006e9e9096e3399f6d2eb51bbc70b61ad2ee664 Mon Sep 17 00:00:00 2001 From: Oleg Agafonov Date: Mon, 15 Jun 2020 21:30:23 +0400 Subject: [PATCH] * Images: fixed that some tokens uses wrong images of Elemental (#5834); --- .../src/main/resources/card-pictures-tok.txt | 32 +++++++------- .../mage/cards/c/ChandraAcolyteOfFlame.java | 5 +-- .../src/mage/cards/e/ElementalAppeal.java | 13 +++--- .../src/mage/cards/m/MaskOfImmolation.java | 4 +- .../src/mage/cards/s/ScamperingScorcher.java | 4 +- .../src/mage/cards/s/SeasonedPyromancer.java | 6 +-- .../src/mage/cards/y/YoungPyromancer.java | 4 +- .../mage/cards/z/ZektarShrineExpedition.java | 9 ++-- .../token/AkoumStonewakerElementalToken.java | 5 +++ .../CallTheSkyBreakerElementalToken.java | 14 +++--- ...entalToken.java => RedElementalToken.java} | 43 +++++++++++-------- ...a => RedElementalWithTrampleAndHaste.java} | 22 +++++++--- .../permanent/token/SeedGuardianToken.java | 5 ++- .../TilonallisSummonerElementalToken.java | 6 +-- .../token/WalkerOfTheGroveToken.java | 19 ++++++-- .../token/WandOfTheElementsFirstToken.java | 5 +-- .../token/WandOfTheElementsSecondToken.java | 5 +-- .../permanent/token/WhiteElementalToken.java | 13 ++++++ .../token/ZektarShrineElementalToken.java | 34 --------------- 19 files changed, 129 insertions(+), 119 deletions(-) rename Mage/src/main/java/mage/game/permanent/token/{YoungPyromancerElementalToken.java => RedElementalToken.java} (60%) rename Mage/src/main/java/mage/game/permanent/token/{ElementalAppealElementalToken.java => RedElementalWithTrampleAndHaste.java} (50%) delete mode 100644 Mage/src/main/java/mage/game/permanent/token/ZektarShrineElementalToken.java diff --git a/Mage.Client/src/main/resources/card-pictures-tok.txt b/Mage.Client/src/main/resources/card-pictures-tok.txt index 1e86a67b46..2ba1244683 100644 --- a/Mage.Client/src/main/resources/card-pictures-tok.txt +++ b/Mage.Client/src/main/resources/card-pictures-tok.txt @@ -270,9 +270,9 @@ |Generate|TOK:C13|Beast|||OneDozenEyesBeastToken| |Generate|TOK:C13|Beast|||SpawningGroundsBeastToken| |Generate|TOK:C13|Drake|||LeafdrakeRoostDrakeToken| -|Generate|TOK:C13|Elemental|||SeedGuardianToken| -|Generate|TOK:C13|Elemental|||WalkerOfTheGroveToken| -|Generate|TOK:C13|Elemental|||YoungPyromancerElementalToken| +|Generate|TOK:C13|Elemental|1||SeedGuardianToken| +|Generate|TOK:C13|Elemental|2||WalkerOfTheGroveToken| +|Generate|TOK:C13|Elemental|3||RedElementalToken| |Generate|TOK:C13|Elephant|||ElephantToken| |Generate|TOK:C13|Elf Warrior|||ElfToken| |Generate|TOK:C13|Goat|||GoatToken| @@ -351,7 +351,7 @@ |Generate|TOK:C16|Beast|| |Generate|TOK:C16|Bird|1| |Generate|TOK:C16|Bird|2| -|Generate|TOK:C16|Elemental|| +|Generate|TOK:C16|Elemental|||WhiteElementalToken| |Generate|TOK:C16|Elf Warrior|| |Generate|TOK:C16|Germ|| |Generate|TOK:C16|Goat|| @@ -619,7 +619,7 @@ |Generate|TOK:EMA|Beast|||CarnivoreToken| |Generate|TOK:EMA|Carnivore|| |Generate|TOK:EMA|Dragon|||DragonEggDragonToken| -|Generate|TOK:EMA|Elemental|1||YoungPyromancerElementalToken| +|Generate|TOK:EMA|Elemental|1||RedElementalToken| |Generate|TOK:EMA|Elemental|2||CallTheSkyBreakerElementalToken| |Generate|TOK:EMA|Elephant|||ElephantToken| |Generate|TOK:EMA|Elf Warrior|||ElfToken| @@ -655,7 +655,7 @@ |Generate|TOK:EVE|Spirit|||BeckonApparitionToken| |Generate|TOK:EVE|Wolf|||WolfToken| |Generate|TOK:EVE|Worm|||WormHarvestToken| -|Generate|TOK:EVG|Elemental|| +|Generate|TOK:EVG|Elemental|||VoiceOfTheWoodsElementalToken| |Generate|TOK:EVG|Elf Warrior|||ElfToken| |Generate|TOK:EVG|Goblin|||GoblinToken| |Generate|TOK:EXO|Pegasus|||PegasusToken| @@ -791,8 +791,8 @@ |Generate|TOK:LRW|Avatar|||AvatarToken| |Generate|TOK:LRW|Beast|||BeastToken| |Generate|TOK:LRW|Elemental Shaman|||ElementalShamanToken| -|Generate|TOK:LRW|Elemental|||WalkerOfTheGroveToken| -|Generate|TOK:LRW|Elemental|||WhiteElementalToken| +|Generate|TOK:LRW|Elemental|1||WalkerOfTheGroveToken| +|Generate|TOK:LRW|Elemental|2||WhiteElementalToken| |Generate|TOK:LRW|Elf Warrior|||ElfToken| |Generate|TOK:LRW|Goblin Rogue|||GoblinRogueToken| |Generate|TOK:LRW|Kithkin Soldier|||KithkinToken| @@ -834,8 +834,8 @@ |Generate|TOK:M14|Beast|||BeastToken| |Generate|TOK:M14|Cat|||CatToken| |Generate|TOK:M14|Dragon|||DragonEggDragonToken| -|Generate|TOK:M14|Elemental|1||YoungPyromancerElementalToken| -|Generate|TOK:M14|Elemental|2||YoungPyromancerElementalToken| +|Generate|TOK:M14|Elemental|1||RedElementalToken| +|Generate|TOK:M14|Elemental|2||RedElementalToken| |Generate|TOK:M14|Goat|||GoatToken| |Generate|TOK:M14|Saproling|||SaprolingToken| |Generate|TOK:M14|Sliver|| @@ -909,7 +909,7 @@ |Generate|TOK:MM3|Bird|| |Generate|TOK:MM3|Centaur|| |Generate|TOK:MM3|Dragon|| -|Generate|TOK:MM3|Elemental|| +|Generate|TOK:MM3|Elemental|||VoiceOfResurgenceToken| |Generate|TOK:MM3|Elephant|| |Generate|TOK:MM3|Giant Warrior|| |Generate|TOK:MM3|Goblin Warrior|| @@ -1077,7 +1077,7 @@ |Generate|TOK:SCG|Goblin|||GoblinToken| |Generate|TOK:SCG|Soldier|||SoldierToken| |Generate|TOK:SHM|Elemental|1||DinOfTheFireherdToken| -|Generate|TOK:SHM|Elemental|2||YoungPyromancerElementalToken| +|Generate|TOK:SHM|Elemental|2||RedElementalToken| |Generate|TOK:SHM|Elf Warrior|1| |Generate|TOK:SHM|Elf Warrior|2| |Generate|TOK:SHM|Elf Warrior|||ElfToken| @@ -1239,8 +1239,8 @@ |Generate|TOK:ZEN|Angel|||AngelToken| |Generate|TOK:ZEN|Beast|||BeastToken2| |Generate|TOK:ZEN|Bird|||BirdToken| -|Generate|TOK:ZEN|Elemental|| -|Generate|TOK:ZEN|Elemental|||ZektarShrineElementalToken| +|Generate|TOK:ZEN|Elemental|1||RedElementalWithTrampleAndHaste| +|Generate|TOK:ZEN|Elemental|2||RedElementalWithTrampleAndHaste| |Generate|TOK:ZEN|Illusion|||IllusionToken| |Generate|TOK:ZEN|Kor Soldier|||KorSoldierToken| |Generate|TOK:ZEN|Merfolk|| @@ -1290,7 +1290,7 @@ |Generate|TOK:MH1|Bear|||BearToken| |Generate|TOK:MH1|Bird|||BirdToken| |Generate|TOK:MH1|Construct|||KarnConstructToken| -|Generate|TOK:MH1|Elemental|1||YoungPyromancerElementalToken| +|Generate|TOK:MH1|Elemental|1||RedElementalToken| |Generate|TOK:MH1|Elemental|2||AkoumStonewakerElementalToken| |Generate|TOK:MH1|Elephant|||ElephantToken| |Generate|TOK:MH1|Goblin|||GoblinToken| @@ -1320,7 +1320,7 @@ |Generate|TOK:M19|Zombie|||ZombieToken| |Generate|TOK:M20|Ajani's Pridemate|||AjanisPridemateToken| |Generate|TOK:M20|Demon|||DemonToken| -|Generate|TOK:M20|Elemental|||YoungPyromancerElementalToken| +|Generate|TOK:M20|Elemental|||RedElementalToken| |Generate|TOK:M20|Elemental Bird|||MuYanlingSkyDancerToken| |Generate|TOK:M20|Golem|||GolemToken| |Generate|TOK:M20|Soldier|||SoldierToken| diff --git a/Mage.Sets/src/mage/cards/c/ChandraAcolyteOfFlame.java b/Mage.Sets/src/mage/cards/c/ChandraAcolyteOfFlame.java index 635252fbf3..131bc23a7e 100644 --- a/Mage.Sets/src/mage/cards/c/ChandraAcolyteOfFlame.java +++ b/Mage.Sets/src/mage/cards/c/ChandraAcolyteOfFlame.java @@ -19,7 +19,6 @@ import mage.counters.CounterType; import mage.filter.FilterCard; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledPlaneswalkerPermanent; -import mage.filter.common.FilterCreatureOrPlaneswalkerPermanent; import mage.filter.common.FilterInstantOrSorceryCard; import mage.filter.predicate.mageobject.ColorPredicate; import mage.filter.predicate.mageobject.ConvertedManaCostPredicate; @@ -27,8 +26,8 @@ import mage.game.Game; import mage.game.events.GameEvent; import mage.game.events.ZoneChangeEvent; import mage.game.permanent.Permanent; +import mage.game.permanent.token.RedElementalToken; import mage.game.permanent.token.Token; -import mage.game.permanent.token.YoungPyromancerElementalToken; import mage.players.Player; import mage.target.common.TargetCardInYourGraveyard; import mage.target.targetpointer.FixedTarget; @@ -100,7 +99,7 @@ class ChandraAcolyteOfFlameEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { - Token token = new YoungPyromancerElementalToken(); + Token token = new RedElementalToken(); token.putOntoBattlefield(2, game, source.getSourceId(), source.getControllerId()); token.getLastAddedTokenIds().stream().forEach(permId -> { diff --git a/Mage.Sets/src/mage/cards/e/ElementalAppeal.java b/Mage.Sets/src/mage/cards/e/ElementalAppeal.java index d7346d75ce..bfffb2e6b2 100644 --- a/Mage.Sets/src/mage/cards/e/ElementalAppeal.java +++ b/Mage.Sets/src/mage/cards/e/ElementalAppeal.java @@ -1,9 +1,5 @@ - package mage.cards.e; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; import mage.MageObject; import mage.abilities.Ability; import mage.abilities.condition.common.KickedCondition; @@ -21,10 +17,13 @@ import mage.filter.predicate.Predicate; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.CardIdPredicate; import mage.game.Game; -import mage.game.permanent.token.ElementalAppealElementalToken; +import mage.game.permanent.token.RedElementalWithTrampleAndHaste; + +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; /** - * * @author North */ public final class ElementalAppeal extends CardImpl { @@ -69,7 +68,7 @@ class ElementalAppealEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { - CreateTokenEffect effect = new CreateTokenEffect(new ElementalAppealElementalToken()); + CreateTokenEffect effect = new CreateTokenEffect(new RedElementalWithTrampleAndHaste()); if (effect.apply(game, source)) { effect.exileTokensCreatedAtNextEndStep(game, source); if (KickedCondition.instance.apply(game, source)) { diff --git a/Mage.Sets/src/mage/cards/m/MaskOfImmolation.java b/Mage.Sets/src/mage/cards/m/MaskOfImmolation.java index 97688431cd..60cb9da3b8 100644 --- a/Mage.Sets/src/mage/cards/m/MaskOfImmolation.java +++ b/Mage.Sets/src/mage/cards/m/MaskOfImmolation.java @@ -16,7 +16,7 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.game.Game; import mage.game.permanent.Permanent; -import mage.game.permanent.token.YoungPyromancerElementalToken; +import mage.game.permanent.token.RedElementalToken; import mage.players.Player; import mage.target.common.TargetAnyTarget; @@ -59,7 +59,7 @@ public final class MaskOfImmolation extends CardImpl { class MaskOfImmolationEffect extends CreateTokenEffect { MaskOfImmolationEffect() { - super(new YoungPyromancerElementalToken()); + super(new RedElementalToken()); staticText = "create a 1/1 red Elemental creature token, then attach {this} to it."; } diff --git a/Mage.Sets/src/mage/cards/s/ScamperingScorcher.java b/Mage.Sets/src/mage/cards/s/ScamperingScorcher.java index fbbbc088bf..9561b437f8 100644 --- a/Mage.Sets/src/mage/cards/s/ScamperingScorcher.java +++ b/Mage.Sets/src/mage/cards/s/ScamperingScorcher.java @@ -13,7 +13,7 @@ import mage.constants.Duration; import mage.constants.SubType; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledCreaturePermanent; -import mage.game.permanent.token.YoungPyromancerElementalToken; +import mage.game.permanent.token.RedElementalToken; import java.util.UUID; @@ -34,7 +34,7 @@ public final class ScamperingScorcher extends CardImpl { // When Scampering Scorcher enters the battlefield, create two 1/1 red Elemental creature tokens. Elementals you control gain haste until end of turn. Ability ability = new EntersBattlefieldTriggeredAbility( - new CreateTokenEffect(new YoungPyromancerElementalToken(), 2) + new CreateTokenEffect(new RedElementalToken(), 2) ); ability.addEffect(new GainAbilityControlledEffect( HasteAbility.getInstance(), Duration.EndOfTurn, filter diff --git a/Mage.Sets/src/mage/cards/s/SeasonedPyromancer.java b/Mage.Sets/src/mage/cards/s/SeasonedPyromancer.java index 5aed1a1767..f1e705b89d 100644 --- a/Mage.Sets/src/mage/cards/s/SeasonedPyromancer.java +++ b/Mage.Sets/src/mage/cards/s/SeasonedPyromancer.java @@ -16,7 +16,7 @@ import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.game.Game; -import mage.game.permanent.token.YoungPyromancerElementalToken; +import mage.game.permanent.token.RedElementalToken; import mage.players.Player; import java.util.UUID; @@ -40,7 +40,7 @@ public final class SeasonedPyromancer extends CardImpl { // {3}{R}{R}, Exile Seasoned Pyromancer from your graveyard: Create two 1/1 red Elemental creature tokens. Ability ability = new SimpleActivatedAbility( Zone.GRAVEYARD, - new CreateTokenEffect(new YoungPyromancerElementalToken(), 2), + new CreateTokenEffect(new RedElementalToken(), 2), new ManaCostsImpl("{3}{R}{R}") ); ability.addCost(new ExileSourceFromGraveCost()); @@ -88,7 +88,7 @@ class SeasonedPyromancerEffect extends OneShotEffect { if (nonlands == 0) { return true; } - new YoungPyromancerElementalToken().putOntoBattlefield( + new RedElementalToken().putOntoBattlefield( nonlands, game, source.getSourceId(), source.getControllerId() ); return true; diff --git a/Mage.Sets/src/mage/cards/y/YoungPyromancer.java b/Mage.Sets/src/mage/cards/y/YoungPyromancer.java index d5e647087f..6c5f1f6f24 100644 --- a/Mage.Sets/src/mage/cards/y/YoungPyromancer.java +++ b/Mage.Sets/src/mage/cards/y/YoungPyromancer.java @@ -8,7 +8,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.filter.StaticFilters; -import mage.game.permanent.token.YoungPyromancerElementalToken; +import mage.game.permanent.token.RedElementalToken; import java.util.UUID; @@ -27,7 +27,7 @@ public final class YoungPyromancer extends CardImpl { // Whenever you cast an instant or sorcery spell, create a 1/1 red Elemental creature token. this.addAbility(new SpellCastControllerTriggeredAbility( - new CreateTokenEffect(new YoungPyromancerElementalToken()), + new CreateTokenEffect(new RedElementalToken()), StaticFilters.FILTER_SPELL_AN_INSTANT_OR_SORCERY, false )); diff --git a/Mage.Sets/src/mage/cards/z/ZektarShrineExpedition.java b/Mage.Sets/src/mage/cards/z/ZektarShrineExpedition.java index 49c3e041c7..58e317fe83 100644 --- a/Mage.Sets/src/mage/cards/z/ZektarShrineExpedition.java +++ b/Mage.Sets/src/mage/cards/z/ZektarShrineExpedition.java @@ -1,7 +1,5 @@ - package mage.cards.z; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.LandfallAbility; import mage.abilities.common.SimpleActivatedAbility; @@ -17,10 +15,11 @@ import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; -import mage.game.permanent.token.ZektarShrineElementalToken; +import mage.game.permanent.token.RedElementalWithTrampleAndHaste; + +import java.util.UUID; /** - * * @author North */ public final class ZektarShrineExpedition extends CardImpl { @@ -65,7 +64,7 @@ class ZektarShrineExpeditionEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { - CreateTokenEffect effect = new CreateTokenEffect(new ZektarShrineElementalToken()); + CreateTokenEffect effect = new CreateTokenEffect(new RedElementalWithTrampleAndHaste()); if (effect.apply(game, source)) { effect.exileTokensCreatedAtNextEndStep(game, source); return true; diff --git a/Mage/src/main/java/mage/game/permanent/token/AkoumStonewakerElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/AkoumStonewakerElementalToken.java index d992ba44f4..b4137682d7 100644 --- a/Mage/src/main/java/mage/game/permanent/token/AkoumStonewakerElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/AkoumStonewakerElementalToken.java @@ -23,6 +23,11 @@ public final class AkoumStonewakerElementalToken extends TokenImpl { this.addAbility(TrampleAbility.getInstance()); this.addAbility(HasteAbility.getInstance()); availableImageSetCodes.addAll(Arrays.asList("BFZ", "MH1")); + } + + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("BFZ")) { setTokenType(2); diff --git a/Mage/src/main/java/mage/game/permanent/token/CallTheSkyBreakerElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/CallTheSkyBreakerElementalToken.java index 1e43effc15..3b6ef19b38 100644 --- a/Mage/src/main/java/mage/game/permanent/token/CallTheSkyBreakerElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/CallTheSkyBreakerElementalToken.java @@ -1,4 +1,3 @@ - package mage.game.permanent.token; import mage.MageInt; @@ -7,7 +6,6 @@ import mage.constants.CardType; import mage.constants.SubType; /** - * * @author spjspj */ public final class CallTheSkyBreakerElementalToken extends TokenImpl { @@ -18,14 +16,20 @@ public final class CallTheSkyBreakerElementalToken extends TokenImpl { color.setBlue(true); color.setRed(true); subtype.add(SubType.ELEMENTAL); - if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("EMA")) { - setTokenType(2); - } power = new MageInt(5); toughness = new MageInt(5); this.addAbility(FlyingAbility.getInstance()); } + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("EMA")) { + setTokenType(2); + } + } + public CallTheSkyBreakerElementalToken(final CallTheSkyBreakerElementalToken token) { super(token); } diff --git a/Mage/src/main/java/mage/game/permanent/token/YoungPyromancerElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/RedElementalToken.java similarity index 60% rename from Mage/src/main/java/mage/game/permanent/token/YoungPyromancerElementalToken.java rename to Mage/src/main/java/mage/game/permanent/token/RedElementalToken.java index e9d7a704c0..9b8fc4ce8c 100644 --- a/Mage/src/main/java/mage/game/permanent/token/YoungPyromancerElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/RedElementalToken.java @@ -5,37 +5,46 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.util.RandomUtil; +import java.util.Arrays; + /** * @author spjspj */ -public final class YoungPyromancerElementalToken extends TokenImpl { +public final class RedElementalToken extends TokenImpl { - public YoungPyromancerElementalToken() { + public RedElementalToken() { super("Elemental", "1/1 red Elemental creature token"); - if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("M14")) { - setTokenType(RandomUtil.nextInt(2) + 1); - } - if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("EMA")) { - setTokenType(1); - } - if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("SHM")) { - setTokenType(2); - } - if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("MH1")) { - setTokenType(1); - } cardType.add(CardType.CREATURE); color.setRed(true); subtype.add(SubType.ELEMENTAL); power = new MageInt(1); toughness = new MageInt(1); + + availableImageSetCodes = Arrays.asList("C13", "EMA", "M14", "SHM", "MH1", "M20"); } - public YoungPyromancerElementalToken(final YoungPyromancerElementalToken token) { + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("C13")) { + setTokenType(2); + } + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("M14")) { + setTokenType(RandomUtil.nextInt(2) + 1); + } + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("SHM")) { + setTokenType(2); + } + } + + public RedElementalToken(final RedElementalToken token) { super(token); } - public YoungPyromancerElementalToken copy() { - return new YoungPyromancerElementalToken(this); + public RedElementalToken copy() { + return new RedElementalToken(this); } } diff --git a/Mage/src/main/java/mage/game/permanent/token/ElementalAppealElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/RedElementalWithTrampleAndHaste.java similarity index 50% rename from Mage/src/main/java/mage/game/permanent/token/ElementalAppealElementalToken.java rename to Mage/src/main/java/mage/game/permanent/token/RedElementalWithTrampleAndHaste.java index 0a54bf078f..30c9a7b197 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ElementalAppealElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/RedElementalWithTrampleAndHaste.java @@ -1,4 +1,3 @@ - package mage.game.permanent.token; import mage.MageInt; @@ -6,14 +5,14 @@ import mage.abilities.keyword.HasteAbility; import mage.abilities.keyword.TrampleAbility; import mage.constants.CardType; import mage.constants.SubType; +import mage.util.RandomUtil; /** - * * @author spjspj */ -public final class ElementalAppealElementalToken extends TokenImpl { +public final class RedElementalWithTrampleAndHaste extends TokenImpl { - public ElementalAppealElementalToken() { + public RedElementalWithTrampleAndHaste() { super("Elemental", "7/1 red Elemental creature token with trample and haste"); cardType.add(CardType.CREATURE); color.setRed(true); @@ -24,11 +23,20 @@ public final class ElementalAppealElementalToken extends TokenImpl { addAbility(HasteAbility.getInstance()); } - public ElementalAppealElementalToken(final ElementalAppealElementalToken token) { + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("ZEN")) { + setTokenType(RandomUtil.nextInt(2) + 1); + } + } + + public RedElementalWithTrampleAndHaste(final RedElementalWithTrampleAndHaste token) { super(token); } - public ElementalAppealElementalToken copy() { - return new ElementalAppealElementalToken(this); + public RedElementalWithTrampleAndHaste copy() { + return new RedElementalWithTrampleAndHaste(this); } } diff --git a/Mage/src/main/java/mage/game/permanent/token/SeedGuardianToken.java b/Mage/src/main/java/mage/game/permanent/token/SeedGuardianToken.java index ddf2bbefa6..1be69e9ca0 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SeedGuardianToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SeedGuardianToken.java @@ -4,6 +4,8 @@ import mage.MageInt; import mage.constants.CardType; import mage.constants.SubType; +import java.util.Arrays; + /** * @author spjspj */ @@ -15,14 +17,13 @@ public final class SeedGuardianToken extends TokenImpl { public SeedGuardianToken(int xValue) { super("Elemental", "X/X green Elemental creature token"); - setTokenType(1); - setOriginalExpansionSetCode("OGW"); cardType.add(CardType.CREATURE); color.setGreen(true); subtype.add(SubType.ELEMENTAL); power = new MageInt(xValue); toughness = new MageInt(xValue); + availableImageSetCodes = Arrays.asList("C13", "CHK", "OGW"); } public SeedGuardianToken(final SeedGuardianToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/TilonallisSummonerElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/TilonallisSummonerElementalToken.java index d2dcf64ce5..50eeebc52a 100644 --- a/Mage/src/main/java/mage/game/permanent/token/TilonallisSummonerElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/TilonallisSummonerElementalToken.java @@ -1,4 +1,3 @@ - package mage.game.permanent.token; import mage.MageInt; @@ -6,20 +5,19 @@ import mage.constants.CardType; import mage.constants.SubType; /** - * * @author LevelX2 */ public final class TilonallisSummonerElementalToken extends TokenImpl { public TilonallisSummonerElementalToken() { super("Elemental", "1/1 red Elemental creature tokens"); - setTokenType(2); cardType.add(CardType.CREATURE); subtype.add(SubType.ELEMENTAL); - color.setRed(true); power = new MageInt(1); toughness = new MageInt(1); + + setTokenType(2); } public TilonallisSummonerElementalToken(final TilonallisSummonerElementalToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/WalkerOfTheGroveToken.java b/Mage/src/main/java/mage/game/permanent/token/WalkerOfTheGroveToken.java index b07977696f..0a31fce579 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WalkerOfTheGroveToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WalkerOfTheGroveToken.java @@ -1,12 +1,12 @@ - - package mage.game.permanent.token; + +import mage.MageInt; import mage.constants.CardType; import mage.constants.SubType; -import mage.MageInt; + +import java.util.Arrays; /** - * * @author spjspj */ public final class WalkerOfTheGroveToken extends TokenImpl { @@ -18,6 +18,17 @@ public final class WalkerOfTheGroveToken extends TokenImpl { this.color.setGreen(true); power = new MageInt(4); toughness = new MageInt(4); + + availableImageSetCodes = Arrays.asList("C13", "LRW", "MMA", "MOR"); + } + + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + + if (getOriginalExpansionSetCode().equals("C13")) { + this.setTokenType(2); + } } public WalkerOfTheGroveToken(final WalkerOfTheGroveToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/WandOfTheElementsFirstToken.java b/Mage/src/main/java/mage/game/permanent/token/WandOfTheElementsFirstToken.java index 40f6f42503..13fc1c12e9 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WandOfTheElementsFirstToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WandOfTheElementsFirstToken.java @@ -1,4 +1,3 @@ - package mage.game.permanent.token; import mage.MageInt; @@ -7,20 +6,20 @@ import mage.constants.CardType; import mage.constants.SubType; /** - * * @author spjspj */ public final class WandOfTheElementsFirstToken extends TokenImpl { public WandOfTheElementsFirstToken() { super("Elemental", "2/2 blue Elemental creature token with flying"); - setTokenType(1); cardType.add(CardType.CREATURE); this.subtype.add(SubType.ELEMENTAL); this.color.setBlue(true); power = new MageInt(2); toughness = new MageInt(2); this.addAbility(FlyingAbility.getInstance()); + + setTokenType(1); } public WandOfTheElementsFirstToken(final WandOfTheElementsFirstToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/WandOfTheElementsSecondToken.java b/Mage/src/main/java/mage/game/permanent/token/WandOfTheElementsSecondToken.java index 12e38624bd..43baf70390 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WandOfTheElementsSecondToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WandOfTheElementsSecondToken.java @@ -1,4 +1,3 @@ - package mage.game.permanent.token; import mage.MageInt; @@ -6,19 +5,19 @@ import mage.constants.CardType; import mage.constants.SubType; /** - * * @author spjspj */ public final class WandOfTheElementsSecondToken extends TokenImpl { public WandOfTheElementsSecondToken() { super("Elemental", "3/3 red Elemental creature token"); - setTokenType(2); cardType.add(CardType.CREATURE); this.subtype.add(SubType.ELEMENTAL); this.color.setRed(true); power = new MageInt(3); toughness = new MageInt(3); + + setTokenType(2); } public WandOfTheElementsSecondToken(final WandOfTheElementsSecondToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/WhiteElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/WhiteElementalToken.java index 5c84545558..59ea1d700e 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WhiteElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WhiteElementalToken.java @@ -5,6 +5,8 @@ import mage.abilities.keyword.FlyingAbility; import mage.constants.CardType; import mage.constants.SubType; +import java.util.Arrays; + /** * @author spjspj */ @@ -19,9 +21,20 @@ public final class WhiteElementalToken extends TokenImpl { toughness = new MageInt(4); this.addAbility(FlyingAbility.getInstance()); + availableImageSetCodes = Arrays.asList("LRW", "C16", "C20", "RTR"); + } + + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("C20")) { setTokenType(2); } + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("LRW")) { + setTokenType(2); + } } public WhiteElementalToken(final WhiteElementalToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/ZektarShrineElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/ZektarShrineElementalToken.java deleted file mode 100644 index 1d836890a8..0000000000 --- a/Mage/src/main/java/mage/game/permanent/token/ZektarShrineElementalToken.java +++ /dev/null @@ -1,34 +0,0 @@ - -package mage.game.permanent.token; - -import mage.MageInt; -import mage.abilities.keyword.HasteAbility; -import mage.abilities.keyword.TrampleAbility; -import mage.constants.CardType; -import mage.constants.SubType; - -/** - * - * @author spjspj - */ -public final class ZektarShrineElementalToken extends TokenImpl { - - public ZektarShrineElementalToken() { - super("Elemental", "7/1 red Elemental creature token with trample and haste"); - cardType.add(CardType.CREATURE); - color.setRed(true); - subtype.add(SubType.ELEMENTAL); - power = new MageInt(7); - toughness = new MageInt(1); - addAbility(TrampleAbility.getInstance()); - addAbility(HasteAbility.getInstance()); - } - - public ZektarShrineElementalToken(final ZektarShrineElementalToken token) { - super(token); - } - - public ZektarShrineElementalToken copy() { - return new ZektarShrineElementalToken(this); - } -}