diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/ScryfallImageSupportTokens.java b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/ScryfallImageSupportTokens.java index 242acb7306f..a73ed21c14f 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/ScryfallImageSupportTokens.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/ScryfallImageSupportTokens.java @@ -350,6 +350,20 @@ public class ScryfallImageSupportTokens { put("THB/Wolf", "https://api.scryfall.com/cards/tthb/11/en?format=image"); put("THB/Zombie", "https://api.scryfall.com/cards/tthb/7/en?format=image"); + // IKO + put("IKO/Emblem Narset Of The Ancient Way", "https://api.scryfall.com/cards/tiko/12/en?format=image"); + put("IKO/Beast", "https://api.scryfall.com/cards/tiko/10/en?format=image"); + put("IKO/Cat Bird", "https://api.scryfall.com/cards/tiko/2/en?format=image"); + put("IKO/Cat", "https://api.scryfall.com/cards/tiko/1/en?format=image"); + put("IKO/Dinosaur Beast", "https://api.scryfall.com/cards/tiko/11/en?format=image"); + put("IKO/Dinosaur", "https://api.scryfall.com/cards/tiko/8/en?format=image"); + put("IKO/Feather", "https://api.scryfall.com/cards/tiko/9/en?format=image"); + put("IKO/Human Soldier/1", "https://api.scryfall.com/cards/tiko/3/en?format=image"); + put("IKO/Human Soldier/2", "https://api.scryfall.com/cards/tiko/4/en?format=image"); + put("IKO/Human Soldier/3", "https://api.scryfall.com/cards/tiko/5/en?format=image"); + put("IKO/Kraken", "https://api.scryfall.com/cards/tiko/6/en?format=image"); + put("IKO/Shark", "https://api.scryfall.com/cards/tiko/7/en?format=image"); + // PCA (planes) put("PCA/Eldrazi", "https://api.scryfall.com/cards/tpca/1/en?format=image"); put("PCA/Plane - Academy at Tolaria West", "https://api.scryfall.com/cards/opca/9/en?format=image"); diff --git a/Mage.Client/src/main/resources/card-pictures-tok.txt b/Mage.Client/src/main/resources/card-pictures-tok.txt index 9d1c954caf7..dd753ba0cf5 100644 --- a/Mage.Client/src/main/resources/card-pictures-tok.txt +++ b/Mage.Client/src/main/resources/card-pictures-tok.txt @@ -101,6 +101,7 @@ |Generate|EMBLEM:DOM|Teferi, Hero of Dominaria||Emblem Teferi|TeferiHeroOfDominariaEmblem| |Generate|EMBLEM:AER|Tezzeret the Schemer||Emblem Tezzeret|TezzeretTheSchemerEmblem| |Generate|EMBLEM:ELD|Garruk, Cursed Huntsman||Emblem Garruk|GarrukCursedHuntsmanEmblem| +|Generate|EMBLEM:IKO|Narset Of The Ancient Way||Emblem Narset|NarsetOfTheAncientWayEmblem| |Generate|PLANE:PCA|Plane - Academy at Tolaria West|||AcademyAtTolariaWestPlane| |Generate|PLANE:PCA|Plane - Agyrem|||AgyremPlane| |Generate|PLANE:PCA|Plane - Akoum|||AkoumPlane| @@ -1357,4 +1358,15 @@ |Generate|TOK:THB|Wolf|||WolfToken| |Generate|TOK:THB|Nightmare|||AshiokNightmareMuseToken| |Generate|TOK:THB|GoldToken|||Gold| -|Generate|TOK:THB|ArtifactWallToken|||Wall| \ No newline at end of file +|Generate|TOK:THB|ArtifactWallToken|||Wall| +|Generate|TOK:IKO|Beast|||BeastToken| +|Generate|TOK:IKO|Cat Bird|||CatBirdToken| +|Generate|TOK:IKO|Cat|||CatToken| +|Generate|TOK:IKO|Dinosaur Beast|||DinosaurBeastToken| +|Generate|TOK:IKO|Dinosaur|||DinosaurHasteToken| +|Generate|TOK:IKO|Feather|||FeatherToken| +|Generate|TOK:IKO|Human Soldier|1||HumanSoldierToken| +|Generate|TOK:IKO|Human Soldier|2||HumanSoldierToken| +|Generate|TOK:IKO|Human Soldier|3||HumanSoldierToken| +|Generate|TOK:IKO|Kraken|||KrakenToken| +|Generate|TOK:IKO|Shark|||SharkToken| \ No newline at end of file diff --git a/Mage.Sets/src/mage/cards/q/QuartzwoodCrasher.java b/Mage.Sets/src/mage/cards/q/QuartzwoodCrasher.java index 3316de67033..bc7cd43eac0 100644 --- a/Mage.Sets/src/mage/cards/q/QuartzwoodCrasher.java +++ b/Mage.Sets/src/mage/cards/q/QuartzwoodCrasher.java @@ -12,7 +12,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.BeastXToken; +import mage.game.permanent.token.DinosaurBeastToken; import mage.target.targetpointer.FixedTarget; import mage.watchers.Watcher; @@ -119,7 +119,7 @@ class QuartzwoodCrasherEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { QuartzwoodCrasherWatcher watcher = game.getState().getWatcher(QuartzwoodCrasherWatcher.class); - return watcher != null && new BeastXToken( + return watcher != null && new DinosaurBeastToken( watcher.getDamage(targetPointer.getFirst(game, source), source.getControllerId()) ).putOntoBattlefield(1, game, source.getSourceId(), source.getControllerId()); } diff --git a/Mage/src/main/java/mage/game/permanent/token/BeastXToken.java b/Mage/src/main/java/mage/game/permanent/token/BeastXToken.java deleted file mode 100644 index 8d8ea054292..00000000000 --- a/Mage/src/main/java/mage/game/permanent/token/BeastXToken.java +++ /dev/null @@ -1,31 +0,0 @@ -package mage.game.permanent.token; - -import mage.MageInt; -import mage.abilities.keyword.TrampleAbility; -import mage.constants.CardType; -import mage.constants.SubType; - -/** - * @author TheElk801 - */ -public final class BeastXToken extends TokenImpl { - - public BeastXToken(int xValue) { - super("Beast", "X/X green Beast creature token"); - cardType.add(CardType.CREATURE); - color.setGreen(true); - subtype.add(SubType.BEAST); - power = new MageInt(xValue); - toughness = new MageInt(xValue); - addAbility(TrampleAbility.getInstance()); - } - - private BeastXToken(final BeastXToken token) { - super(token); - } - - @Override - public BeastXToken copy() { - return new BeastXToken(this); - } -} diff --git a/Mage/src/main/java/mage/game/permanent/token/DinosaurBeastToken.java b/Mage/src/main/java/mage/game/permanent/token/DinosaurBeastToken.java new file mode 100644 index 00000000000..ad0026141ea --- /dev/null +++ b/Mage/src/main/java/mage/game/permanent/token/DinosaurBeastToken.java @@ -0,0 +1,32 @@ +package mage.game.permanent.token; + + import mage.MageInt; + import mage.abilities.keyword.TrampleAbility; + import mage.constants.CardType; + import mage.constants.SubType; + +/** + * @author TheElk801 + */ +public final class DinosaurBeastToken extends TokenImpl { + + public DinosaurBeastToken(int xValue) { + super("Dinosaur Beast", "X/X green Dinosaur Beast creature token with trample"); + cardType.add(CardType.CREATURE); + color.setGreen(true); + subtype.add(SubType.DINOSAUR); + subtype.add(SubType.BEAST); + power = new MageInt(xValue); + toughness = new MageInt(xValue); + addAbility(TrampleAbility.getInstance()); + } + + private DinosaurBeastToken(final DinosaurBeastToken token) { + super(token); + } + + @Override + public DinosaurBeastToken copy() { + return new DinosaurBeastToken(this); + } +} diff --git a/Mage/src/main/java/mage/game/permanent/token/HumanSoldierToken.java b/Mage/src/main/java/mage/game/permanent/token/HumanSoldierToken.java index 1d99d2328cb..d331b634d5b 100644 --- a/Mage/src/main/java/mage/game/permanent/token/HumanSoldierToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/HumanSoldierToken.java @@ -3,6 +3,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.constants.CardType; import mage.constants.SubType; +import mage.util.RandomUtil; public final class HumanSoldierToken extends TokenImpl { @@ -16,6 +17,15 @@ public final class HumanSoldierToken extends TokenImpl { toughness = new MageInt(1); } + @Override + public void setExpansionSetCodeForImage(String code) { + super.setExpansionSetCodeForImage(code); + + if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("IKO")) { + setTokenType(RandomUtil.nextInt(3) + 1); // 1...3 + } + } + public HumanSoldierToken(final HumanSoldierToken token) { super(token); }