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 c95557e0b87..5f7f76ae81c 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 @@ -2406,6 +2406,36 @@ public class ScryfallImageSupportTokens { put("MH3/Zombie", "https://api.scryfall.com/cards/tmh3/21/en?format=image"); put("MH3/Zombie Army", "https://api.scryfall.com/cards/tmh3/22/en?format=image"); + // M3C + put("M3C/Aetherborn", "https://api.scryfall.com/cards/tm3c/9/en?format=image"); + put("M3C/Ape", "https://api.scryfall.com/cards/tm3c/14/en?format=image"); + put("M3C/Beast/1", "https://api.scryfall.com/cards/tm3c/10/en?format=image"); + put("M3C/Beast/2", "https://api.scryfall.com/cards/tm3c/15/en?format=image"); + put("M3C/Beast/3", "https://api.scryfall.com/cards/tm3c/16/en?format=image"); + put("M3C/Boar", "https://api.scryfall.com/cards/tm3c/17/en?format=image"); + put("M3C/Construct", "https://api.scryfall.com/cards/tm3c/24/en?format=image"); + put("M3C/Dragon", "https://api.scryfall.com/cards/tm3c/12/en?format=image"); + put("M3C/Eldrazi", "https://api.scryfall.com/cards/tm3c/1/en?format=image"); + put("M3C/Eldrazi Angel", "https://api.scryfall.com/cards/tm3c/2/en?format=image"); + put("M3C/Eldrazi Scion", "https://api.scryfall.com/cards/tm3c/3/en?format=image"); + put("M3C/Elephant", "https://api.scryfall.com/cards/tm3c/18/en?format=image"); + put("M3C/Forest Dryad", "https://api.scryfall.com/cards/tm3c/19/en?format=image"); + put("M3C/Emblem Garruk", "https://api.scryfall.com/cards/tm3c/27/en?format=image"); + put("M3C/Goblin", "https://api.scryfall.com/cards/tm3c/13/en?format=image"); + put("M3C/Hydra", "https://api.scryfall.com/cards/tm3c/20/en?format=image"); + put("M3C/Illusion", "https://api.scryfall.com/cards/tm3c/6/en?format=image"); + put("M3C/Marit Lage", "https://api.scryfall.com/cards/tm3c/11/en?format=image"); + put("M3C/Myr", "https://api.scryfall.com/cards/tm3c/25/en?format=image"); + put("M3C/Phyrexian Myr", "https://api.scryfall.com/cards/tm3c/7/en?format=image"); + put("M3C/Sand Warrior", "https://api.scryfall.com/cards/tm3c/23/en?format=image"); + put("M3C/Saproling", "https://api.scryfall.com/cards/tm3c/21/en?format=image"); + put("M3C/Shapeshifter/1", "https://api.scryfall.com/cards/tm3c/4/en?format=image"); + put("M3C/Shapeshifter/2", "https://api.scryfall.com/cards/tm3c/8/en?format=image"); + put("M3C/Spirit", "https://api.scryfall.com/cards/tm3c/5/en?format=image"); + put("M3C/Tarmogoyf", "https://api.scryfall.com/cards/tm3c/22/en?format=image"); + put("M3C/Thopter", "https://api.scryfall.com/cards/tm3c/26/en?format=image"); + put("M3C/Emblem Vivien", "https://api.scryfall.com/cards/tm3c/28/en?format=image"); + // generate supported sets supportedSets.clear(); for (String cardName : this.keySet()) { diff --git a/Mage.Sets/src/mage/cards/h/HazezonShaperOfSand.java b/Mage.Sets/src/mage/cards/h/HazezonShaperOfSand.java index 8a4364d3bb0..1a29a38ffdf 100644 --- a/Mage.Sets/src/mage/cards/h/HazezonShaperOfSand.java +++ b/Mage.Sets/src/mage/cards/h/HazezonShaperOfSand.java @@ -14,7 +14,7 @@ import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.common.FilterLandCard; -import mage.game.permanent.token.HazezonTamarSandWarriorToken; +import mage.game.permanent.token.SandWarriorToken; import java.util.UUID; @@ -50,7 +50,7 @@ public final class HazezonShaperOfSand extends CardImpl { // Whenever a Desert enters the battlefield under your control create two 1/1 red, green, and white Sand Warrior creature tokens. this.addAbility(new EntersBattlefieldControlledTriggeredAbility(new CreateTokenEffect( - new HazezonTamarSandWarriorToken(), 2), filter3 + new SandWarriorToken(), 2), filter3 )); } diff --git a/Mage.Sets/src/mage/cards/h/HazezonTamar.java b/Mage.Sets/src/mage/cards/h/HazezonTamar.java index bf2af1e9488..7e868dc7825 100644 --- a/Mage.Sets/src/mage/cards/h/HazezonTamar.java +++ b/Mage.Sets/src/mage/cards/h/HazezonTamar.java @@ -22,7 +22,7 @@ import mage.constants.SuperType; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.common.FilterCreaturePermanent; import mage.game.Game; -import mage.game.permanent.token.HazezonTamarSandWarriorToken; +import mage.game.permanent.token.SandWarriorToken; import mage.players.Player; /** @@ -83,7 +83,7 @@ class HazezonTamarEntersEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { - Effect effect = new CreateTokenEffect(new HazezonTamarSandWarriorToken(), new PermanentsOnBattlefieldCount(new FilterControlledLandPermanent())); + Effect effect = new CreateTokenEffect(new SandWarriorToken(), new PermanentsOnBattlefieldCount(new FilterControlledLandPermanent())); effect.setText("create X 1/1 Sand Warrior creature tokens that are red, green, and white, where X is the number of lands you control at that time"); DelayedTriggeredAbility delayedAbility = new AtTheBeginOfYourNextUpkeepDelayedTriggeredAbility(effect); game.addDelayedTriggeredAbility(delayedAbility, source); diff --git a/Mage.Sets/src/mage/cards/s/SandScout.java b/Mage.Sets/src/mage/cards/s/SandScout.java index 9421e2f0245..b0530b81c6f 100644 --- a/Mage.Sets/src/mage/cards/s/SandScout.java +++ b/Mage.Sets/src/mage/cards/s/SandScout.java @@ -15,7 +15,7 @@ import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.FilterCard; import mage.filter.StaticFilters; -import mage.game.permanent.token.HazezonTamarSandWarriorToken; +import mage.game.permanent.token.SandWarriorToken; import mage.target.common.TargetCardInLibrary; import java.util.UUID; @@ -50,7 +50,7 @@ public final class SandScout extends CardImpl { // Whenever one or more land cards are put into your graveyard from anywhere, create a 1/1 red, green, and white Sand Warrior creature token. This ability triggers only once each turn. this.addAbility(new PutCardIntoGraveFromAnywhereAllTriggeredAbility( - new CreateTokenEffect(new HazezonTamarSandWarriorToken()), false, StaticFilters.FILTER_CARD_LAND, TargetController.YOU + new CreateTokenEffect(new SandWarriorToken()), false, StaticFilters.FILTER_CARD_LAND, TargetController.YOU ).setTriggerPhrase("Whenever one or more land cards are put into your graveyard from anywhere, ").setTriggersLimitEachTurn(1)); } diff --git a/Mage/src/main/java/mage/game/permanent/token/HazezonTamarSandWarriorToken.java b/Mage/src/main/java/mage/game/permanent/token/SandWarriorToken.java similarity index 64% rename from Mage/src/main/java/mage/game/permanent/token/HazezonTamarSandWarriorToken.java rename to Mage/src/main/java/mage/game/permanent/token/SandWarriorToken.java index cf79a6faef5..609017a96cd 100644 --- a/Mage/src/main/java/mage/game/permanent/token/HazezonTamarSandWarriorToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SandWarriorToken.java @@ -7,9 +7,9 @@ import mage.constants.SubType; /** * @author spjspj */ -public final class HazezonTamarSandWarriorToken extends TokenImpl { +public final class SandWarriorToken extends TokenImpl { - public HazezonTamarSandWarriorToken() { + public SandWarriorToken() { super("Sand Warrior Token", "1/1 red, green, and white Sand Warrior creature tokens"); cardType.add(CardType.CREATURE); color.setRed(true); @@ -21,11 +21,11 @@ public final class HazezonTamarSandWarriorToken extends TokenImpl { toughness = new MageInt(1); } - private HazezonTamarSandWarriorToken(final HazezonTamarSandWarriorToken token) { + private SandWarriorToken(final SandWarriorToken token) { super(token); } - public HazezonTamarSandWarriorToken copy() { - return new HazezonTamarSandWarriorToken(this); + public SandWarriorToken copy() { + return new SandWarriorToken(this); } } diff --git a/Mage/src/main/resources/tokens-database.txt b/Mage/src/main/resources/tokens-database.txt index 82c5a704212..6bd227b5d62 100644 --- a/Mage/src/main/resources/tokens-database.txt +++ b/Mage/src/main/resources/tokens-database.txt @@ -132,6 +132,8 @@ |Generate|EMBLEM:SCD|Emblem Nixilis|||ObNixilisReignitedEmblem| |Generate|EMBLEM:SCD|Emblem Sarkhan|||SarkhanTheDragonspeakerEmblem| |Generate|EMBLEM:MH3|Emblem Tamiyo|||TamiyoSeasonedScholarEmblem| +|Generate|EMBLEM:M3C|Emblem Garruk|||GarrukApexPredatorEmblem| +|Generate|EMBLEM:M3C|Emblem Vivien|||VivienReidEmblem| # ALL PLANES # Usage hints: @@ -2341,3 +2343,31 @@ |Generate|TOK:MH3|Whale|||ReefWormWhaleToken| |Generate|TOK:MH3|Zombie|||ZombieToken| |Generate|TOK:MH3|Zombie Army|||ZombieArmyToken| + +# M3C +|Generate|TOK:M3C|Aetherborn|||AetherbornToken| +|Generate|TOK:M3C|Ape|||ApeToken| +|Generate|TOK:M3C|Beast|1||GarrukApexPredatorBeastToken| +|Generate|TOK:M3C|Beast|2||BeastToken| +|Generate|TOK:M3C|Beast|3||BeastToken2| +|Generate|TOK:M3C|Boar|||Boar2Token| +|Generate|TOK:M3C|Construct|||StoneIdolToken| +|Generate|TOK:M3C|Dragon|||DragonToken2| +|Generate|TOK:M3C|Eldrazi|||EldraziToken| +|Generate|TOK:M3C|Eldrazi Angel|||EldraziAngelToken| +|Generate|TOK:M3C|Eldrazi Scion|||EldraziScionToken| +|Generate|TOK:M3C|Elephant|||ElephantToken| +|Generate|TOK:M3C|Forest Dryad|||ForestDryadToken| +|Generate|TOK:M3C|Goblin|||GoblinToken| +|Generate|TOK:M3C|Hydra|||HydraBroodmasterToken| +|Generate|TOK:M3C|Illusion|||CustomIllusionToken| +|Generate|TOK:M3C|Marit Lage|||MaritLageToken| +|Generate|TOK:M3C|Myr|||MyrToken| +|Generate|TOK:M3C|Phyrexian Myr|||BrudicladTelchorMyrToken| +|Generate|TOK:M3C|Sand Warrior|||SandWarriorToken| +|Generate|TOK:M3C|Saproling|||SaprolingToken| +|Generate|TOK:M3C|Shapeshifter|1||CribSwapShapeshifterWhiteToken| +|Generate|TOK:M3C|Shapeshifter|2||ShapeshifterBlueToken| +|Generate|TOK:M3C|Spirit|||UginTheIneffableToken| +|Generate|TOK:M3C|Tarmogoyf|||TarmogoyfToken| +|Generate|TOK:M3C|Thopter|||ThopterColorlessToken|