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 622383974f..57bb3500af 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 @@ -550,6 +550,17 @@ public class ScryfallImageSupportTokens { put("TSR/Soldier", "https://api.scryfall.com/cards/ttsr/2/en?format=image"); put("TSR/Spider", "https://api.scryfall.com/cards/ttsr/6/en?format=image"); + // STX + put("STX/Avatar", "https://api.scryfall.com/cards/tstx/1/en?format=image"); + put("STX/Elemental", "https://api.scryfall.com/cards/tstx/2/en?format=image"); + put("STX/Fractal", "https://api.scryfall.com/cards/tstx/3/en?format=image"); + put("STX/Inkling", "https://api.scryfall.com/cards/tstx/4/en?format=image"); + put("STX/Emblem Lukka, Wayward Bonder", "https://api.scryfall.com/cards/tstx/8/en?format=image"); + put("STX/Pest", "https://api.scryfall.com/cards/tstx/5/en?format=image"); + put("STX/Emblem Rowan, Scholar of Sparks", "https://api.scryfall.com/cards/tstx/9/en?format=image"); + put("STX/Spirit", "https://api.scryfall.com/cards/tstx/6/en?format=image"); + put("STX/Treasure", "https://api.scryfall.com/cards/tstx/7/en?format=image"); + // C21 put("C21/Beast/1", "https://api.scryfall.com/cards/tc21/10/en?format=image"); // 3/3 put("C21/Beast/2", "https://api.scryfall.com/cards/tc21/11/en?format=image"); // 4/4 diff --git a/Mage.Client/src/main/resources/card-pictures-tok.txt b/Mage.Client/src/main/resources/card-pictures-tok.txt index fa5a6e8612..02f2b4c9f8 100644 --- a/Mage.Client/src/main/resources/card-pictures-tok.txt +++ b/Mage.Client/src/main/resources/card-pictures-tok.txt @@ -106,6 +106,8 @@ |Generate|EMBLEM:KHM|Kaya the Inexorable||Emblem Kaya|KayaTheInexorableEmblem| |Generate|EMBLEM:KHM|Tibalt Cosmic Imposter||Emblem Tibalt|TibaltCosmicImposterEmblem| |Generate|EMBLEM:KHM|Tyvar Kell||Emblem Tyvar|TyvarKellEmblem| +|Generate|EMBLEM:STX|Lukka, Wayward Bonder||Emblem Lukka|LukkaWaywardBonderEmblem| +|Generate|EMBLEM:STX|Rowan, Scholar of Sparks||Emblem Rowan|RowanScholarOfSparksEmblem| # Planes |Generate|PLANE:PCA|Plane - Academy at Tolaria West|||AcademyAtTolariaWestPlane| @@ -1499,6 +1501,15 @@ |Generate|TOK:TSR|Soldier|||SoldierToken| |Generate|TOK:TSR|Spider|||PenumbraSpiderToken| +// STX +|Generate|TOK:STX|Avatar|||BloodAvatarToken| +|Generate|TOK:STX|Elemental|||Elemental44Token| +|Generate|TOK:STX|Fractal|||FractalToken| +|Generate|TOK:STX|Inkling|||InklingToken| +|Generate|TOK:STX|Pest|||Pest11GainLifeToken| +|Generate|TOK:STX|Spirit|||Spirit32Token| +|Generate|TOK:STX|Treasure|||TreasureToken| + # C21 |Generate|TOK:C21|Beast|1||BeastToken| |Generate|TOK:C21|Beast|2||BeastToken2| @@ -1529,7 +1540,4 @@ |Generate|TOK:C21|Thopter|||ThopterColorlessToken| |Generate|TOK:C21|Whale|||ReefWormWhaleToken| |Generate|TOK:C21|Wurm|||WurmToken| -|Generate|TOK:C21|Zombie|||ZombieToken| - - -#|Generate|TOK:C21|xxx|||xxxToken| \ No newline at end of file +|Generate|TOK:C21|Zombie|||ZombieToken| \ No newline at end of file diff --git a/Mage.Sets/src/mage/cards/b/BeledrosWitherbloom.java b/Mage.Sets/src/mage/cards/b/BeledrosWitherbloom.java index 1b64d70236..2b3f8c5825 100644 --- a/Mage.Sets/src/mage/cards/b/BeledrosWitherbloom.java +++ b/Mage.Sets/src/mage/cards/b/BeledrosWitherbloom.java @@ -1,23 +1,23 @@ package mage.cards.b; -import java.util.UUID; import mage.MageInt; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.PayLifeCost; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.UntapAllLandsControllerEffect; -import mage.constants.SubType; -import mage.constants.SuperType; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.SuperType; import mage.constants.TargetController; -import mage.game.permanent.token.WitherbloomToken; +import mage.game.permanent.token.Pest11GainLifeToken; + +import java.util.UUID; /** - * * @author weirddan455 */ public final class BeledrosWitherbloom extends CardImpl { @@ -35,7 +35,7 @@ public final class BeledrosWitherbloom extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // At the beginning of each upkeep, create a 1/1 black and green Pest creature token with "When this creature dies, you gain 1 life." - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new WitherbloomToken()), TargetController.EACH_PLAYER, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new Pest11GainLifeToken()), TargetController.EACH_PLAYER, false)); // Pay 10 life: Untap all lands you control. Activate only once each turn. SimpleActivatedAbility ability = new SimpleActivatedAbility(new UntapAllLandsControllerEffect() diff --git a/Mage.Sets/src/mage/cards/b/Biomathematician.java b/Mage.Sets/src/mage/cards/b/Biomathematician.java index 09aefa8c1a..9c82c4d8fa 100644 --- a/Mage.Sets/src/mage/cards/b/Biomathematician.java +++ b/Mage.Sets/src/mage/cards/b/Biomathematician.java @@ -12,7 +12,7 @@ import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledPermanent; -import mage.game.permanent.token.QuandrixToken; +import mage.game.permanent.token.FractalToken; import java.util.UUID; @@ -32,7 +32,7 @@ public final class Biomathematician extends CardImpl { this.toughness = new MageInt(2); // When Biomathematician enters the battlefield, create a 0/0 green and blue Fractal creature token. Put a +1/+1 counter on each Fractal you control. - Ability ability = new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new QuandrixToken())); + Ability ability = new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new FractalToken())); ability.addEffect(new AddCountersAllEffect(CounterType.P1P1.createInstance(), filter)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/b/BlightMound.java b/Mage.Sets/src/mage/cards/b/BlightMound.java index 9628bc7a9b..273b0a5d92 100644 --- a/Mage.Sets/src/mage/cards/b/BlightMound.java +++ b/Mage.Sets/src/mage/cards/b/BlightMound.java @@ -18,7 +18,7 @@ import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.permanent.AttackingPredicate; import mage.filter.predicate.permanent.TokenPredicate; -import mage.game.permanent.token.WitherbloomToken; +import mage.game.permanent.token.Pest11GainLifeToken; import java.util.UUID; @@ -51,7 +51,7 @@ public final class BlightMound extends CardImpl { // Whenever a nontoken creature you control dies, create a 1/1 black and green Pest creature token with "When this creature dies, you gain 1 life." this.addAbility(new DiesCreatureTriggeredAbility( - new CreateTokenEffect(new WitherbloomToken()), false, filter2 + new CreateTokenEffect(new Pest11GainLifeToken()), false, filter2 )); } diff --git a/Mage.Sets/src/mage/cards/b/BlotOutTheSky.java b/Mage.Sets/src/mage/cards/b/BlotOutTheSky.java index b68272384a..a0acafec34 100644 --- a/Mage.Sets/src/mage/cards/b/BlotOutTheSky.java +++ b/Mage.Sets/src/mage/cards/b/BlotOutTheSky.java @@ -13,7 +13,7 @@ import mage.filter.FilterPermanent; import mage.filter.common.FilterNonlandPermanent; import mage.filter.predicate.Predicates; import mage.game.Game; -import mage.game.permanent.token.SilverquillToken; +import mage.game.permanent.token.InklingToken; import java.util.UUID; @@ -33,7 +33,7 @@ public final class BlotOutTheSky extends CardImpl { // Create X tapped 2/1 white and black Inkling creature tokens with flying. If X is 6 or more, destroy all noncreature, nonland permanents. this.getSpellAbility().addEffect(new CreateTokenEffect( - new SilverquillToken(), ManacostVariableValue.REGULAR, true, false + new InklingToken(), ManacostVariableValue.REGULAR, true, false )); this.getSpellAbility().addEffect(new ConditionalOneShotEffect( new DestroyAllEffect(filter), BlotOutTheSkyCondition.instance, diff --git a/Mage.Sets/src/mage/cards/b/BodyOfResearch.java b/Mage.Sets/src/mage/cards/b/BodyOfResearch.java index ff02fc8406..25498ae428 100644 --- a/Mage.Sets/src/mage/cards/b/BodyOfResearch.java +++ b/Mage.Sets/src/mage/cards/b/BodyOfResearch.java @@ -7,7 +7,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.game.Game; -import mage.game.permanent.token.QuandrixToken; +import mage.game.permanent.token.FractalToken; import mage.players.Player; import java.util.UUID; @@ -21,7 +21,7 @@ public final class BodyOfResearch extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{G}{G}{G}{U}{U}{U}"); // Create a 0/0 green and blue Fractal creature token. Put X +1/+1 counters on it, where X is the number of cards in your library. - this.getSpellAbility().addEffect(QuandrixToken.getEffect( + this.getSpellAbility().addEffect(FractalToken.getEffect( BodyOfResearchValue.instance, "Put X +1/+1 counters on it, " + "where X is the number of cards in your library" )); diff --git a/Mage.Sets/src/mage/cards/c/CallousBloodmage.java b/Mage.Sets/src/mage/cards/c/CallousBloodmage.java index 243c2b55c7..d4beb0114c 100644 --- a/Mage.Sets/src/mage/cards/c/CallousBloodmage.java +++ b/Mage.Sets/src/mage/cards/c/CallousBloodmage.java @@ -12,7 +12,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.game.permanent.token.WitherbloomToken; +import mage.game.permanent.token.Pest11GainLifeToken; import mage.target.TargetPlayer; import java.util.UUID; @@ -32,7 +32,7 @@ public final class CallousBloodmage extends CardImpl { // When Callous Bloodmage enters the battlefield, choose one — // • Create a 1/1 black and green Pest creature token with "When this creature dies, you gain 1 life." - Ability ability = new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new WitherbloomToken())); + Ability ability = new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new Pest11GainLifeToken())); // • You draw a card and you lose 1 life. Mode mode = new Mode(new DrawCardSourceControllerEffect(1).setText("you draw a card")); diff --git a/Mage.Sets/src/mage/cards/c/CombatCalligrapher.java b/Mage.Sets/src/mage/cards/c/CombatCalligrapher.java index 98bbde793e..8ba88c356c 100644 --- a/Mage.Sets/src/mage/cards/c/CombatCalligrapher.java +++ b/Mage.Sets/src/mage/cards/c/CombatCalligrapher.java @@ -17,7 +17,7 @@ import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.permanent.Permanent; -import mage.game.permanent.token.SilverquillToken; +import mage.game.permanent.token.InklingToken; import java.util.UUID; @@ -58,7 +58,7 @@ class CombatCalligrapherTriggeredAbility extends TriggeredAbilityImpl { CombatCalligrapherTriggeredAbility() { super(Zone.BATTLEFIELD, new CreateTokenTargetEffect( - new SilverquillToken(), StaticValue.get(1), true, true + new InklingToken(), StaticValue.get(1), true, true ), false); } diff --git a/Mage.Sets/src/mage/cards/c/ContainmentBreach.java b/Mage.Sets/src/mage/cards/c/ContainmentBreach.java index b5b4ff81d7..c4dc78d5fe 100644 --- a/Mage.Sets/src/mage/cards/c/ContainmentBreach.java +++ b/Mage.Sets/src/mage/cards/c/ContainmentBreach.java @@ -10,7 +10,7 @@ import mage.constants.SubType; import mage.filter.StaticFilters; import mage.game.Game; import mage.game.permanent.Permanent; -import mage.game.permanent.token.WitherbloomToken; +import mage.game.permanent.token.Pest11GainLifeToken; import mage.target.TargetPermanent; import java.util.UUID; @@ -65,7 +65,7 @@ class ContainmentBreachEffect extends OneShotEffect { } permanent.destroy(source, game, false); if (permanent.getManaValue() <= 2) { - new WitherbloomToken().putOntoBattlefield(1, game, source, source.getControllerId()); + new Pest11GainLifeToken().putOntoBattlefield(1, game, source, source.getControllerId()); } return true; } diff --git a/Mage.Sets/src/mage/cards/d/DeekahFractalTheorist.java b/Mage.Sets/src/mage/cards/d/DeekahFractalTheorist.java index 28642f1e74..24c3387956 100644 --- a/Mage.Sets/src/mage/cards/d/DeekahFractalTheorist.java +++ b/Mage.Sets/src/mage/cards/d/DeekahFractalTheorist.java @@ -16,7 +16,7 @@ import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.StaticFilters; import mage.game.Game; -import mage.game.permanent.token.QuandrixToken; +import mage.game.permanent.token.FractalToken; import mage.game.stack.Spell; import mage.target.TargetPermanent; @@ -37,7 +37,7 @@ public final class DeekahFractalTheorist extends CardImpl { this.toughness = new MageInt(3); // Magecraft — Whenever you cast or copy an instant or sorcery spell, create a 0/0 green and blue Fractal creature token. Put X +1/+1 counters on it, where X is that spell's mana value. - this.addAbility(new MagecraftAbility(QuandrixToken.getEffect( + this.addAbility(new MagecraftAbility(FractalToken.getEffect( DeekahFractalTheoristValue.instance, "Put X +1/+1 counters on it, " + "where X is that spell's mana value" ))); diff --git a/Mage.Sets/src/mage/cards/d/DramaticFinale.java b/Mage.Sets/src/mage/cards/d/DramaticFinale.java index 4f962f0b31..bdfa96118c 100644 --- a/Mage.Sets/src/mage/cards/d/DramaticFinale.java +++ b/Mage.Sets/src/mage/cards/d/DramaticFinale.java @@ -13,7 +13,7 @@ import mage.filter.StaticFilters; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.permanent.TokenPredicate; -import mage.game.permanent.token.SilverquillToken; +import mage.game.permanent.token.InklingToken; import java.util.UUID; @@ -39,7 +39,7 @@ public final class DramaticFinale extends CardImpl { // Whenever one or more nontoken creatures you control die, create a 2/1 white and black Inkling creature token with flying. This ability triggers only once each turn. this.addAbility(new DiesCreatureTriggeredAbility( - new CreateTokenEffect(new SilverquillToken()), false, filter + new CreateTokenEffect(new InklingToken()), false, filter ).setTriggersOnce(true)); } diff --git a/Mage.Sets/src/mage/cards/e/ElementalExpressionist.java b/Mage.Sets/src/mage/cards/e/ElementalExpressionist.java index 039a1f079f..975bb2a666 100644 --- a/Mage.Sets/src/mage/cards/e/ElementalExpressionist.java +++ b/Mage.Sets/src/mage/cards/e/ElementalExpressionist.java @@ -14,7 +14,7 @@ import mage.constants.*; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.events.ZoneChangeEvent; -import mage.game.permanent.token.PrismariToken; +import mage.game.permanent.token.Elemental44Token; import mage.target.common.TargetControlledCreaturePermanent; import java.util.UUID; @@ -99,7 +99,7 @@ class ElementalExpressionistReplacementEffect extends ReplacementEffectImpl { class ElementalExpressionistTriggeredAbility extends ZoneChangeTriggeredAbility { ElementalExpressionistTriggeredAbility() { - super(Zone.BATTLEFIELD, Zone.BATTLEFIELD, Zone.EXILED, new CreateTokenEffect(new PrismariToken()), "", false); + super(Zone.BATTLEFIELD, Zone.BATTLEFIELD, Zone.EXILED, new CreateTokenEffect(new Elemental44Token()), "", false); } private ElementalExpressionistTriggeredAbility(final ElementalExpressionistTriggeredAbility ability) { diff --git a/Mage.Sets/src/mage/cards/e/ElementalMasterpiece.java b/Mage.Sets/src/mage/cards/e/ElementalMasterpiece.java index 4442a2f101..a7c25775ca 100644 --- a/Mage.Sets/src/mage/cards/e/ElementalMasterpiece.java +++ b/Mage.Sets/src/mage/cards/e/ElementalMasterpiece.java @@ -9,7 +9,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Zone; -import mage.game.permanent.token.PrismariToken; +import mage.game.permanent.token.Elemental44Token; import mage.game.permanent.token.TreasureToken; import java.util.UUID; @@ -23,7 +23,7 @@ public final class ElementalMasterpiece extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{5}{U}{R}"); // Create two 4/4 blue and red Elemental creature tokens. - this.getSpellAbility().addEffect(new CreateTokenEffect(new PrismariToken(), 2)); + this.getSpellAbility().addEffect(new CreateTokenEffect(new Elemental44Token(), 2)); // {U/R}{U/R}, Discard Elemental Masterpiece: Create a Treasure token. Ability ability = new SimpleActivatedAbility( diff --git a/Mage.Sets/src/mage/cards/e/ElementalSummoning.java b/Mage.Sets/src/mage/cards/e/ElementalSummoning.java index 2feedeb1ec..d8478abe9f 100644 --- a/Mage.Sets/src/mage/cards/e/ElementalSummoning.java +++ b/Mage.Sets/src/mage/cards/e/ElementalSummoning.java @@ -5,7 +5,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.game.permanent.token.PrismariToken; +import mage.game.permanent.token.Elemental44Token; import java.util.UUID; @@ -20,7 +20,7 @@ public final class ElementalSummoning extends CardImpl { this.subtype.add(SubType.LESSON); // Create a 4/4 blue and red Elemental creature token. - this.getSpellAbility().addEffect(new CreateTokenEffect(new PrismariToken())); + this.getSpellAbility().addEffect(new CreateTokenEffect(new Elemental44Token())); } private ElementalSummoning(final ElementalSummoning card) { diff --git a/Mage.Sets/src/mage/cards/e/EmergentSequence.java b/Mage.Sets/src/mage/cards/e/EmergentSequence.java index 9c7b0f6b58..adfc9479cf 100644 --- a/Mage.Sets/src/mage/cards/e/EmergentSequence.java +++ b/Mage.Sets/src/mage/cards/e/EmergentSequence.java @@ -14,7 +14,7 @@ import mage.game.Game; import mage.game.events.EntersTheBattlefieldEvent; import mage.game.events.GameEvent; import mage.game.permanent.Permanent; -import mage.game.permanent.token.QuandrixToken; +import mage.game.permanent.token.FractalToken; import mage.players.Player; import mage.target.common.TargetCardInLibrary; import mage.target.targetpointer.FixedTarget; @@ -85,7 +85,7 @@ class EmergentSequenceEffect extends OneShotEffect { return true; } game.addEffect(new BecomesCreatureTargetEffect( - new QuandrixToken(), false, true, Duration.Custom + new FractalToken(), false, true, Duration.Custom ).setTargetPointer(new FixedTarget(permanent, game)), source); permanent.addCounters(CounterType.P1P1.createInstance( EmergentSequenceWatcher.getAmount(source.getControllerId(), game) diff --git a/Mage.Sets/src/mage/cards/f/FainTheBroker.java b/Mage.Sets/src/mage/cards/f/FainTheBroker.java index c395ab3218..d08e4dc2a2 100644 --- a/Mage.Sets/src/mage/cards/f/FainTheBroker.java +++ b/Mage.Sets/src/mage/cards/f/FainTheBroker.java @@ -17,7 +17,7 @@ import mage.constants.SubType; import mage.constants.SuperType; import mage.counters.CounterType; import mage.filter.StaticFilters; -import mage.game.permanent.token.SilverquillToken; +import mage.game.permanent.token.InklingToken; import mage.game.permanent.token.TreasureToken; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetControlledPermanent; @@ -55,7 +55,7 @@ public final class FainTheBroker extends CardImpl { this.addAbility(ability); // {T}, Sacrifice an artifact: Create a 2/1 white and black Inkling creature token with flying. - ability = new SimpleActivatedAbility(new CreateTokenEffect(new SilverquillToken()), new TapSourceCost()); + ability = new SimpleActivatedAbility(new CreateTokenEffect(new InklingToken()), new TapSourceCost()); ability.addCost(new SacrificeTargetCost( new TargetControlledPermanent(StaticFilters.FILTER_CONTROLLED_PERMANENT_ARTIFACT_AN) )); diff --git a/Mage.Sets/src/mage/cards/f/FelisaFangOfSilverquill.java b/Mage.Sets/src/mage/cards/f/FelisaFangOfSilverquill.java index 88241f01a6..c90584ed5a 100644 --- a/Mage.Sets/src/mage/cards/f/FelisaFangOfSilverquill.java +++ b/Mage.Sets/src/mage/cards/f/FelisaFangOfSilverquill.java @@ -21,7 +21,7 @@ import mage.filter.predicate.permanent.CounterAnyPredicate; import mage.filter.predicate.permanent.TokenPredicate; import mage.game.Game; import mage.game.permanent.Permanent; -import mage.game.permanent.token.SilverquillToken; +import mage.game.permanent.token.InklingToken; import java.util.Map; import java.util.UUID; @@ -60,7 +60,7 @@ public final class FelisaFangOfSilverquill extends CardImpl { // Whenever a nontoken creature you control dies, if it had counters on it, create X tapped 2/1 white and black Inkling creature tokens with flying, where X is the number of counters it had on it. this.addAbility(new DiesCreatureTriggeredAbility(new CreateTokenEffect( - new SilverquillToken(), FelisaFangOfSilverquillValue.instance, true, false + new InklingToken(), FelisaFangOfSilverquillValue.instance, true, false ).setText(rule), false, filter)); } diff --git a/Mage.Sets/src/mage/cards/f/FractalHarness.java b/Mage.Sets/src/mage/cards/f/FractalHarness.java index f56ab7bf9d..5d09fb9740 100644 --- a/Mage.Sets/src/mage/cards/f/FractalHarness.java +++ b/Mage.Sets/src/mage/cards/f/FractalHarness.java @@ -15,7 +15,7 @@ import mage.constants.SubType; import mage.counters.CounterType; import mage.game.Game; import mage.game.permanent.Permanent; -import mage.game.permanent.token.QuandrixToken; +import mage.game.permanent.token.FractalToken; import mage.game.permanent.token.Token; import java.util.UUID; @@ -71,7 +71,7 @@ class FractalHarnessTokenEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { - Token token = new QuandrixToken(); + Token token = new FractalToken(); token.putOntoBattlefield(1, game, source, source.getControllerId()); int xValue = ManacostVariableValue.ETB.calculate(game, source, this); boolean flag = true; diff --git a/Mage.Sets/src/mage/cards/f/FractalSummoning.java b/Mage.Sets/src/mage/cards/f/FractalSummoning.java index fa94b4365b..5ecda1518c 100644 --- a/Mage.Sets/src/mage/cards/f/FractalSummoning.java +++ b/Mage.Sets/src/mage/cards/f/FractalSummoning.java @@ -5,7 +5,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.game.permanent.token.QuandrixToken; +import mage.game.permanent.token.FractalToken; import java.util.UUID; @@ -20,7 +20,7 @@ public final class FractalSummoning extends CardImpl { this.subtype.add(SubType.LESSON); // Create a 0/0 green and blue Fractal creature token. Put X +1/+1 counters on it. - this.getSpellAbility().addEffect(QuandrixToken.getEffect( + this.getSpellAbility().addEffect(FractalToken.getEffect( ManacostVariableValue.REGULAR, "Put X +1/+1 counters on it" )); } diff --git a/Mage.Sets/src/mage/cards/g/GeometricNexus.java b/Mage.Sets/src/mage/cards/g/GeometricNexus.java index 237b820beb..f228ce729c 100644 --- a/Mage.Sets/src/mage/cards/g/GeometricNexus.java +++ b/Mage.Sets/src/mage/cards/g/GeometricNexus.java @@ -16,7 +16,7 @@ import mage.constants.CardType; import mage.counters.CounterType; import mage.filter.StaticFilters; import mage.game.Game; -import mage.game.permanent.token.QuandrixToken; +import mage.game.permanent.token.FractalToken; import mage.game.stack.Spell; import java.util.UUID; @@ -39,7 +39,7 @@ public final class GeometricNexus extends CardImpl { )); // {6}, {T}, Remove all charge counters from Geometric Nexus: Create a 0/0 green and blue Fractal creature token. Put X +1/+1 counters on it, where X is the number of charge counters removed this way. - Ability ability = new SimpleActivatedAbility(QuandrixToken.getEffect( + Ability ability = new SimpleActivatedAbility(FractalToken.getEffect( GeometricNexusRemovedCounterValue.instance, "Put X +1/+1 counters on it, " + "where X is the number of charge counters removed this way" ), new GenericManaCost(6)); diff --git a/Mage.Sets/src/mage/cards/h/HuntForSpecimens.java b/Mage.Sets/src/mage/cards/h/HuntForSpecimens.java index 649b77a083..4d2878f0ff 100644 --- a/Mage.Sets/src/mage/cards/h/HuntForSpecimens.java +++ b/Mage.Sets/src/mage/cards/h/HuntForSpecimens.java @@ -5,7 +5,7 @@ import mage.abilities.effects.common.LearnEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.game.permanent.token.WitherbloomToken; +import mage.game.permanent.token.Pest11GainLifeToken; import java.util.UUID; @@ -18,7 +18,7 @@ public final class HuntForSpecimens extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{B}"); // Create a 1/1 black and green Pest creature token with "When this creature dies, you gain 1 life." - this.getSpellAbility().addEffect(new CreateTokenEffect(new WitherbloomToken())); + this.getSpellAbility().addEffect(new CreateTokenEffect(new Pest11GainLifeToken())); // Learn. this.getSpellAbility().addEffect(new LearnEffect().concatBy("
")); diff --git a/Mage.Sets/src/mage/cards/i/IlluminateHistory.java b/Mage.Sets/src/mage/cards/i/IlluminateHistory.java index 073de314dd..af5c84a264 100644 --- a/Mage.Sets/src/mage/cards/i/IlluminateHistory.java +++ b/Mage.Sets/src/mage/cards/i/IlluminateHistory.java @@ -9,7 +9,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.game.permanent.token.LoreholdToken; +import mage.game.permanent.token.Spirit32Token; import java.util.UUID; @@ -28,7 +28,7 @@ public final class IlluminateHistory extends CardImpl { // Discard any number of cards, then draw that many cards. Then if there are seven or more cards in your graveyard, create a 3/2 red and white Spirit creature token. this.getSpellAbility().addEffect(new DiscardAndDrawThatManyEffect(Integer.MAX_VALUE)); this.getSpellAbility().addEffect(new ConditionalOneShotEffect( - new CreateTokenEffect(new LoreholdToken()), condition, "Then if there are seven or more " + + new CreateTokenEffect(new Spirit32Token()), condition, "Then if there are seven or more " + "cards in your graveyard, create a 3/2 red and white Spirit creature token" )); } diff --git a/Mage.Sets/src/mage/cards/i/IllustriousHistorian.java b/Mage.Sets/src/mage/cards/i/IllustriousHistorian.java index d7428f2027..9bb133190e 100644 --- a/Mage.Sets/src/mage/cards/i/IllustriousHistorian.java +++ b/Mage.Sets/src/mage/cards/i/IllustriousHistorian.java @@ -11,7 +11,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Zone; -import mage.game.permanent.token.LoreholdToken; +import mage.game.permanent.token.Spirit32Token; import java.util.UUID; @@ -32,7 +32,7 @@ public final class IllustriousHistorian extends CardImpl { Ability ability = new SimpleActivatedAbility( Zone.GRAVEYARD, new CreateTokenEffect( - new LoreholdToken(), 1, true, false + new Spirit32Token(), 1, true, false ), new GenericManaCost(5) ); ability.addCost(new ExileSourceFromGraveCost()); diff --git a/Mage.Sets/src/mage/cards/i/InklingSummoning.java b/Mage.Sets/src/mage/cards/i/InklingSummoning.java index 274b3e86ce..cc1a0b1856 100644 --- a/Mage.Sets/src/mage/cards/i/InklingSummoning.java +++ b/Mage.Sets/src/mage/cards/i/InklingSummoning.java @@ -5,7 +5,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.game.permanent.token.SilverquillToken; +import mage.game.permanent.token.InklingToken; import java.util.UUID; @@ -20,7 +20,7 @@ public final class InklingSummoning extends CardImpl { this.subtype.add(SubType.LESSON); // Create a 2/1 white and black Inkling creature token with flying. - this.getSpellAbility().addEffect(new CreateTokenEffect(new SilverquillToken())); + this.getSpellAbility().addEffect(new CreateTokenEffect(new InklingToken())); } private InklingSummoning(final InklingSummoning card) { diff --git a/Mage.Sets/src/mage/cards/i/Inkshield.java b/Mage.Sets/src/mage/cards/i/Inkshield.java index c728534308..fbf835475d 100644 --- a/Mage.Sets/src/mage/cards/i/Inkshield.java +++ b/Mage.Sets/src/mage/cards/i/Inkshield.java @@ -10,7 +10,7 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.game.Game; import mage.game.events.GameEvent; -import mage.game.permanent.token.SilverquillToken; +import mage.game.permanent.token.InklingToken; import java.util.UUID; @@ -67,7 +67,7 @@ class InkshieldEffect extends PreventionEffectImpl { public boolean replaceEvent(GameEvent event, Ability source, Game game) { PreventionEffectData preventionEffectData = preventDamageAction(event, source, game); if (preventionEffectData.getPreventedDamage() > 0) { - new CreateTokenEffect(new SilverquillToken(), preventionEffectData.getPreventedDamage()).apply(game, source); + new CreateTokenEffect(new InklingToken(), preventionEffectData.getPreventedDamage()).apply(game, source); } return true; } diff --git a/Mage.Sets/src/mage/cards/k/KasminaEnigmaSage.java b/Mage.Sets/src/mage/cards/k/KasminaEnigmaSage.java index 0aac5aa974..942c8dfae8 100644 --- a/Mage.Sets/src/mage/cards/k/KasminaEnigmaSage.java +++ b/Mage.Sets/src/mage/cards/k/KasminaEnigmaSage.java @@ -19,7 +19,7 @@ import mage.filter.common.FilterInstantOrSorceryCard; import mage.filter.predicate.mageobject.SharesColorPredicate; import mage.game.Game; import mage.game.permanent.Permanent; -import mage.game.permanent.token.QuandrixToken; +import mage.game.permanent.token.FractalToken; import mage.players.Player; import mage.target.common.TargetCardInLibrary; @@ -46,7 +46,7 @@ public final class KasminaEnigmaSage extends CardImpl { this.addAbility(new LoyaltyAbility(new ScryEffect(1), 2)); // −X: Create a 0/0 green and blue Fractal creature token. Put X +1/+1 counters on it. - this.addAbility(new LoyaltyAbility(QuandrixToken.getEffect( + this.addAbility(new LoyaltyAbility(FractalToken.getEffect( GetXLoyaltyValue.instance, "Put X +1/+1 counters on it" ))); diff --git a/Mage.Sets/src/mage/cards/k/KianneDeanOfSubstance.java b/Mage.Sets/src/mage/cards/k/KianneDeanOfSubstance.java index 4517e66136..2dd530f0e1 100644 --- a/Mage.Sets/src/mage/cards/k/KianneDeanOfSubstance.java +++ b/Mage.Sets/src/mage/cards/k/KianneDeanOfSubstance.java @@ -16,7 +16,7 @@ import mage.counters.CounterType; import mage.filter.FilterCard; import mage.filter.common.FilterOwnedCard; import mage.game.Game; -import mage.game.permanent.token.QuandrixToken; +import mage.game.permanent.token.FractalToken; import mage.players.Player; import mage.target.TargetCard; import mage.target.common.TargetCardInExile; @@ -48,7 +48,7 @@ public final class KianneDeanOfSubstance extends ModalDoubleFacesCard { )); // {4}{G}: Create a 0/0 green and blue Fractal creature token. Put a +1/+1 counter on it for each different mana value among nonland cards you own in exile with study counters on them. - this.getLeftHalfCard().addAbility(new SimpleActivatedAbility(QuandrixToken.getEffect( + this.getLeftHalfCard().addAbility(new SimpleActivatedAbility(FractalToken.getEffect( KianneDeanOfSubstanceValue.instance, "Put a +1/+1 counter on it for each different mana value " + "among nonland cards you own in exile with study counters on them" ), new ManaCostsImpl("{4}{G}")).addHint(KianneDeanOfSubstanceHint.instance)); diff --git a/Mage.Sets/src/mage/cards/l/LeylineInvocation.java b/Mage.Sets/src/mage/cards/l/LeylineInvocation.java index 426d3dcb80..6de7079262 100644 --- a/Mage.Sets/src/mage/cards/l/LeylineInvocation.java +++ b/Mage.Sets/src/mage/cards/l/LeylineInvocation.java @@ -5,7 +5,7 @@ import mage.abilities.hint.common.LandsYouControlHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.game.permanent.token.QuandrixToken; +import mage.game.permanent.token.FractalToken; import java.util.UUID; @@ -18,7 +18,7 @@ public final class LeylineInvocation extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{5}{G}"); // Create a 0/0 green and blue Fractal creature token. Put X +1/+1 counters on it, where X is the number of lands you control. - this.getSpellAbility().addEffect(QuandrixToken.getEffect( + this.getSpellAbility().addEffect(FractalToken.getEffect( LandsYouControlCount.instance, "Put X +1/+1 counters on it, " + "where X is the number of lands you control" )); diff --git a/Mage.Sets/src/mage/cards/l/LoreholdCommand.java b/Mage.Sets/src/mage/cards/l/LoreholdCommand.java index 0eb8f24319..c7b6341f61 100644 --- a/Mage.Sets/src/mage/cards/l/LoreholdCommand.java +++ b/Mage.Sets/src/mage/cards/l/LoreholdCommand.java @@ -18,7 +18,7 @@ import mage.constants.Outcome; import mage.filter.StaticFilters; import mage.game.Game; import mage.game.permanent.Permanent; -import mage.game.permanent.token.LoreholdToken; +import mage.game.permanent.token.Spirit32Token; import mage.players.Player; import mage.target.TargetPlayer; import mage.target.common.TargetAnyTarget; @@ -38,7 +38,7 @@ public final class LoreholdCommand extends CardImpl { this.getSpellAbility().getModes().setMaxModes(2); // • Create a 3/2 red and white Spirit creature token. - this.getSpellAbility().addEffect(new CreateTokenEffect(new LoreholdToken())); + this.getSpellAbility().addEffect(new CreateTokenEffect(new Spirit32Token())); // • Creatures you control get +1/+0 and gain indestructible and haste until end of turn. Mode mode = new Mode(new BoostControlledEffect( diff --git a/Mage.Sets/src/mage/cards/l/LoreholdExcavation.java b/Mage.Sets/src/mage/cards/l/LoreholdExcavation.java index 985faf4194..b4c47a1f42 100644 --- a/Mage.Sets/src/mage/cards/l/LoreholdExcavation.java +++ b/Mage.Sets/src/mage/cards/l/LoreholdExcavation.java @@ -16,7 +16,7 @@ import mage.constants.Outcome; import mage.constants.TargetController; import mage.filter.StaticFilters; import mage.game.Game; -import mage.game.permanent.token.LoreholdToken; +import mage.game.permanent.token.Spirit32Token; import mage.players.Player; import mage.target.common.TargetCardInYourGraveyard; @@ -37,7 +37,7 @@ public final class LoreholdExcavation extends CardImpl { // {5}, Exile a creature card from your graveyard: Create a tapped 3/2 red and white Spirit creature token. Ability ability = new SimpleActivatedAbility(new CreateTokenEffect( - new LoreholdToken(), 1, true, false + new Spirit32Token(), 1, true, false ), new GenericManaCost(5)); ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_A))); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/m/MagmaOpus.java b/Mage.Sets/src/mage/cards/m/MagmaOpus.java index e442a26918..1e21d26eed 100644 --- a/Mage.Sets/src/mage/cards/m/MagmaOpus.java +++ b/Mage.Sets/src/mage/cards/m/MagmaOpus.java @@ -13,7 +13,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Zone; import mage.filter.StaticFilters; -import mage.game.permanent.token.PrismariToken; +import mage.game.permanent.token.Elemental44Token; import mage.game.permanent.token.TreasureToken; import mage.target.TargetPermanent; import mage.target.common.TargetAnyTargetAmount; @@ -34,7 +34,7 @@ public final class MagmaOpus extends CardImpl { this.getSpellAbility().addTarget(new TargetAnyTargetAmount(4).withChooseHint("damage")); this.getSpellAbility().addEffect(new TapTargetEffect().setTargetPointer(new SecondTargetPointer()).setText("two target permanents")); this.getSpellAbility().addTarget(new TargetPermanent(2, StaticFilters.FILTER_PERMANENTS).withChooseHint("tap")); - this.getSpellAbility().addEffect(new CreateTokenEffect(new PrismariToken())); + this.getSpellAbility().addEffect(new CreateTokenEffect(new Elemental44Token())); this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2).setText("Draw two cards")); // {U/R}{U/R}, Discard Magma Opus: Create a Treasure token. diff --git a/Mage.Sets/src/mage/cards/m/MakeYourMark.java b/Mage.Sets/src/mage/cards/m/MakeYourMark.java index 8a4d85a2a4..d6e97b41ff 100644 --- a/Mage.Sets/src/mage/cards/m/MakeYourMark.java +++ b/Mage.Sets/src/mage/cards/m/MakeYourMark.java @@ -15,7 +15,7 @@ import mage.game.Game; import mage.game.events.GameEvent; import mage.game.events.ZoneChangeEvent; import mage.game.permanent.Permanent; -import mage.game.permanent.token.LoreholdToken; +import mage.game.permanent.token.Spirit32Token; import mage.target.common.TargetCreaturePermanent; import java.util.UUID; @@ -76,7 +76,7 @@ class MakeYourMarkDelayedTriggeredAbility extends DelayedTriggeredAbility { private final MageObjectReference mor; MakeYourMarkDelayedTriggeredAbility(Permanent permanent, Game game) { - super(new CreateTokenEffect(new LoreholdToken()), Duration.EndOfTurn, false, false); + super(new CreateTokenEffect(new Spirit32Token()), Duration.EndOfTurn, false, false); this.mor = new MageObjectReference(permanent, game); } diff --git a/Mage.Sets/src/mage/cards/m/ManifestationSage.java b/Mage.Sets/src/mage/cards/m/ManifestationSage.java index 93a4fd74fe..fe1f6c9050 100644 --- a/Mage.Sets/src/mage/cards/m/ManifestationSage.java +++ b/Mage.Sets/src/mage/cards/m/ManifestationSage.java @@ -7,7 +7,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.game.permanent.token.QuandrixToken; +import mage.game.permanent.token.FractalToken; import java.util.UUID; @@ -25,7 +25,7 @@ public final class ManifestationSage extends CardImpl { this.toughness = new MageInt(2); // When Manifestation Sage enters the battlefield, create a 0/0 green and blue Fractal creature token. Put X +1/+1 counters on it, where X is the number of cards in your hand. - this.addAbility(new EntersBattlefieldTriggeredAbility(QuandrixToken.getEffect( + this.addAbility(new EntersBattlefieldTriggeredAbility(FractalToken.getEffect( CardsInControllerHandCount.instance, "Put X +1/+1 counters on it, " + "where X is the number of cards in your hand" ))); diff --git a/Mage.Sets/src/mage/cards/m/MascotExhibition.java b/Mage.Sets/src/mage/cards/m/MascotExhibition.java index a75f8accba..61582afee5 100644 --- a/Mage.Sets/src/mage/cards/m/MascotExhibition.java +++ b/Mage.Sets/src/mage/cards/m/MascotExhibition.java @@ -5,9 +5,9 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.game.permanent.token.LoreholdToken; -import mage.game.permanent.token.PrismariToken; -import mage.game.permanent.token.SilverquillToken; +import mage.game.permanent.token.Elemental44Token; +import mage.game.permanent.token.InklingToken; +import mage.game.permanent.token.Spirit32Token; import java.util.UUID; @@ -22,10 +22,10 @@ public final class MascotExhibition extends CardImpl { this.subtype.add(SubType.LESSON); // Create a 2/1 white and black Inkling creature token with flying, a 3/2 red and white Spirit creature token, and a 4/4 blue and red Elemental creature token. - this.getSpellAbility().addEffect(new CreateTokenEffect(new SilverquillToken())); - this.getSpellAbility().addEffect(new CreateTokenEffect(new LoreholdToken()) + this.getSpellAbility().addEffect(new CreateTokenEffect(new InklingToken())); + this.getSpellAbility().addEffect(new CreateTokenEffect(new Spirit32Token()) .setText(", a 3/2 red and white Spirit creature token")); - this.getSpellAbility().addEffect(new CreateTokenEffect(new PrismariToken()) + this.getSpellAbility().addEffect(new CreateTokenEffect(new Elemental44Token()) .setText(", and a 4/4 blue and red Elemental creature token")); } diff --git a/Mage.Sets/src/mage/cards/m/MultipleChoice.java b/Mage.Sets/src/mage/cards/m/MultipleChoice.java index 467e4f6bb2..bb75538f47 100644 --- a/Mage.Sets/src/mage/cards/m/MultipleChoice.java +++ b/Mage.Sets/src/mage/cards/m/MultipleChoice.java @@ -10,7 +10,7 @@ import mage.constants.Zone; import mage.filter.StaticFilters; import mage.game.Game; import mage.game.permanent.Permanent; -import mage.game.permanent.token.PrismariToken; +import mage.game.permanent.token.Elemental44Token; import mage.players.Player; import mage.target.TargetPermanent; import mage.target.TargetPlayer; @@ -74,7 +74,7 @@ class MultipleChoiceEffect extends OneShotEffect { controller.drawCards(1, source, game); } if (xValue == 3 || xValue >= 4) { - new PrismariToken().putOntoBattlefield(1, game, source, source.getControllerId()); + new Elemental44Token().putOntoBattlefield(1, game, source, source.getControllerId()); } if (xValue != 2 && xValue < 4) { return true; diff --git a/Mage.Sets/src/mage/cards/o/Oversimplify.java b/Mage.Sets/src/mage/cards/o/Oversimplify.java index e4a8f6625c..0c4c2a03ee 100644 --- a/Mage.Sets/src/mage/cards/o/Oversimplify.java +++ b/Mage.Sets/src/mage/cards/o/Oversimplify.java @@ -13,7 +13,7 @@ import mage.filter.StaticFilters; import mage.game.Controllable; import mage.game.Game; import mage.game.permanent.Permanent; -import mage.game.permanent.token.QuandrixToken; +import mage.game.permanent.token.FractalToken; import mage.game.permanent.token.Token; import mage.players.Player; @@ -83,7 +83,7 @@ class OversimplifyEffect extends OneShotEffect { )); controller.moveCards(new CardsImpl(permanents), Zone.EXILED, source, game); for (UUID playerId : game.getState().getPlayersInRange(source.getControllerId(), game)) { - Token token = new QuandrixToken(); + Token token = new FractalToken(); token.putOntoBattlefield(1, game, source, playerId); int counter = playerMap.getOrDefault(playerId, 0); for (UUID tokenId : token.getLastAddedTokenIds()) { diff --git a/Mage.Sets/src/mage/cards/p/ParadoxZone.java b/Mage.Sets/src/mage/cards/p/ParadoxZone.java index f763ca33bc..49b1976b14 100644 --- a/Mage.Sets/src/mage/cards/p/ParadoxZone.java +++ b/Mage.Sets/src/mage/cards/p/ParadoxZone.java @@ -13,7 +13,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.TargetController; import mage.counters.CounterType; -import mage.game.permanent.token.QuandrixToken; +import mage.game.permanent.token.FractalToken; import java.util.UUID; @@ -37,7 +37,7 @@ public final class ParadoxZone extends CardImpl { Ability ability = new BeginningOfEndStepTriggeredAbility( new DoubleCountersSourceEffect(CounterType.GROWTH), TargetController.YOU, false ); - Effect effect = QuandrixToken.getEffect( + Effect effect = FractalToken.getEffect( xValue, "Put X +1/+1 counters on it, where X is the number of growth counters on {this}" ); ability.addEffect(effect.concatBy("Then")); diff --git a/Mage.Sets/src/mage/cards/p/PestInfestation.java b/Mage.Sets/src/mage/cards/p/PestInfestation.java index 7d58c42efd..9e53786cd8 100644 --- a/Mage.Sets/src/mage/cards/p/PestInfestation.java +++ b/Mage.Sets/src/mage/cards/p/PestInfestation.java @@ -11,7 +11,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.filter.StaticFilters; import mage.game.Game; -import mage.game.permanent.token.WitherbloomToken; +import mage.game.permanent.token.Pest11GainLifeToken; import mage.target.TargetPermanent; import mage.target.targetadjustment.TargetAdjuster; @@ -30,7 +30,7 @@ public final class PestInfestation extends CardImpl { // Destroy up to X target artifacts and/or enchantments. Create twice X 1/1 black and green Pest creature tokens with "When this creature dies, you gain 1 life." this.getSpellAbility().addEffect(new DestroyTargetEffect() .setText("destroy up to X target artifacts and/or enchantments.")); - this.getSpellAbility().addEffect(new CreateTokenEffect(new WitherbloomToken(), xValue) + this.getSpellAbility().addEffect(new CreateTokenEffect(new Pest11GainLifeToken(), xValue) .setText("Create twice X 1/1 black and green Pest creature tokens with \"When this creature dies, you gain 1 life.\"")); this.getSpellAbility().setTargetAdjuster(PestInfestationAdjuster.instance); } diff --git a/Mage.Sets/src/mage/cards/p/PestSummoning.java b/Mage.Sets/src/mage/cards/p/PestSummoning.java index 65664350b2..2732bc593d 100644 --- a/Mage.Sets/src/mage/cards/p/PestSummoning.java +++ b/Mage.Sets/src/mage/cards/p/PestSummoning.java @@ -5,7 +5,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.game.permanent.token.WitherbloomToken; +import mage.game.permanent.token.Pest11GainLifeToken; import java.util.UUID; @@ -20,7 +20,7 @@ public final class PestSummoning extends CardImpl { this.subtype.add(SubType.LESSON); // Create two 1/1 black and green Pest creature tokens with "When this creature dies, you gain 1 life." - this.getSpellAbility().addEffect(new CreateTokenEffect(new WitherbloomToken(), 2)); + this.getSpellAbility().addEffect(new CreateTokenEffect(new Pest11GainLifeToken(), 2)); } private PestSummoning(final PestSummoning card) { diff --git a/Mage.Sets/src/mage/cards/p/PestilentCauldron.java b/Mage.Sets/src/mage/cards/p/PestilentCauldron.java index 8b54f08adc..30ae4c1caa 100644 --- a/Mage.Sets/src/mage/cards/p/PestilentCauldron.java +++ b/Mage.Sets/src/mage/cards/p/PestilentCauldron.java @@ -18,7 +18,7 @@ import mage.filter.FilterCard; import mage.filter.StaticFilters; import mage.filter.predicate.Predicates; import mage.game.Game; -import mage.game.permanent.token.WitherbloomToken; +import mage.game.permanent.token.Pest11GainLifeToken; import mage.players.Player; import mage.target.common.TargetCardInASingleGraveyard; import mage.target.common.TargetCardInYourGraveyard; @@ -55,7 +55,7 @@ public final class PestilentCauldron extends ModalDoubleFacesCard { // Artifact // {T}, Discard a card: Create a 1/1 black and green Pest creature token with "When this creature dies, you gain 1 life." Ability ability = new SimpleActivatedAbility( - new CreateTokenEffect(new WitherbloomToken()), new TapSourceCost() + new CreateTokenEffect(new Pest11GainLifeToken()), new TapSourceCost() ); ability.addCost(new DiscardCardCost()); this.getLeftHalfCard().addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/p/ProfessorOfZoomancy.java b/Mage.Sets/src/mage/cards/p/ProfessorOfZoomancy.java index da4f6e92fc..de51c407ff 100644 --- a/Mage.Sets/src/mage/cards/p/ProfessorOfZoomancy.java +++ b/Mage.Sets/src/mage/cards/p/ProfessorOfZoomancy.java @@ -7,7 +7,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.game.permanent.token.WitherbloomToken; +import mage.game.permanent.token.Pest11GainLifeToken; import java.util.UUID; @@ -25,7 +25,7 @@ public final class ProfessorOfZoomancy extends CardImpl { this.toughness = new MageInt(3); // When Professor of Zoomancy enters the battlefield, create a 1/1 black and green Pest creature token with "When this creature dies, you gain 1 life." - this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new WitherbloomToken()))); + this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new Pest11GainLifeToken()))); } private ProfessorOfZoomancy(final ProfessorOfZoomancy card) { diff --git a/Mage.Sets/src/mage/cards/q/QuintoriusFieldHistorian.java b/Mage.Sets/src/mage/cards/q/QuintoriusFieldHistorian.java index 2f1c9c83c6..34620a5cc7 100644 --- a/Mage.Sets/src/mage/cards/q/QuintoriusFieldHistorian.java +++ b/Mage.Sets/src/mage/cards/q/QuintoriusFieldHistorian.java @@ -12,7 +12,7 @@ import mage.constants.Duration; import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.common.FilterCreaturePermanent; -import mage.game.permanent.token.LoreholdToken; +import mage.game.permanent.token.Spirit32Token; import java.util.UUID; @@ -38,7 +38,7 @@ public final class QuintoriusFieldHistorian extends CardImpl { ))); // Whenever one or more cards leave your graveyard, create a 3/2 red and white Spirit creature token. - this.addAbility(new CardsLeaveGraveyardTriggeredAbility(new CreateTokenEffect(new LoreholdToken()))); + this.addAbility(new CardsLeaveGraveyardTriggeredAbility(new CreateTokenEffect(new Spirit32Token()))); } private QuintoriusFieldHistorian(final QuintoriusFieldHistorian card) { diff --git a/Mage.Sets/src/mage/cards/r/ReduceToMemory.java b/Mage.Sets/src/mage/cards/r/ReduceToMemory.java index 443e93b14d..cc3e94bb8e 100644 --- a/Mage.Sets/src/mage/cards/r/ReduceToMemory.java +++ b/Mage.Sets/src/mage/cards/r/ReduceToMemory.java @@ -10,7 +10,7 @@ import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.permanent.Permanent; -import mage.game.permanent.token.LoreholdToken; +import mage.game.permanent.token.Spirit32Token; import mage.players.Player; import mage.target.common.TargetNonlandPermanent; @@ -65,7 +65,7 @@ class ReduceToMemoryEffect extends OneShotEffect { } Player player = game.getPlayer(permanent.getControllerId()); player.moveCards(permanent, Zone.EXILED, source, game); - new LoreholdToken().putOntoBattlefield(1, game, source, player.getId()); + new Spirit32Token().putOntoBattlefield(1, game, source, player.getId()); return true; } } diff --git a/Mage.Sets/src/mage/cards/r/Resculpt.java b/Mage.Sets/src/mage/cards/r/Resculpt.java index 0f33a0f57d..c5e735ea93 100644 --- a/Mage.Sets/src/mage/cards/r/Resculpt.java +++ b/Mage.Sets/src/mage/cards/r/Resculpt.java @@ -10,7 +10,7 @@ import mage.constants.Zone; import mage.filter.StaticFilters; import mage.game.Game; import mage.game.permanent.Permanent; -import mage.game.permanent.token.PrismariToken; +import mage.game.permanent.token.Elemental44Token; import mage.players.Player; import mage.target.TargetPermanent; @@ -64,7 +64,7 @@ class ResculptEffect extends OneShotEffect { } Player player = game.getPlayer(permanent.getControllerId()); player.moveCards(permanent, Zone.EXILED, source, game); - new PrismariToken().putOntoBattlefield(1, game, source, player.getId()); + new Elemental44Token().putOntoBattlefield(1, game, source, player.getId()); return true; } } diff --git a/Mage.Sets/src/mage/cards/r/RowanScholarOfSparks.java b/Mage.Sets/src/mage/cards/r/RowanScholarOfSparks.java index 3fe3c63832..8d8ff3c1cc 100644 --- a/Mage.Sets/src/mage/cards/r/RowanScholarOfSparks.java +++ b/Mage.Sets/src/mage/cards/r/RowanScholarOfSparks.java @@ -24,7 +24,7 @@ import mage.filter.StaticFilters; import mage.filter.common.FilterInstantOrSorceryCard; import mage.game.Game; import mage.game.command.emblems.RowanScholarOfSparksEmblem; -import mage.game.permanent.token.PrismariToken; +import mage.game.permanent.token.Elemental44Token; import mage.players.Player; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; @@ -175,7 +175,7 @@ class WillScholarOfFrostEffect extends OneShotEffect { )); player.moveCards(cards, Zone.EXILED, source, game); for (Map.Entry entry : playerMap.entrySet()) { - new PrismariToken().putOntoBattlefield(entry.getValue(), game, source, entry.getKey()); + new Elemental44Token().putOntoBattlefield(entry.getValue(), game, source, entry.getKey()); } return true; } diff --git a/Mage.Sets/src/mage/cards/s/SedgemoorWitch.java b/Mage.Sets/src/mage/cards/s/SedgemoorWitch.java index 7256fb5efc..ad6c017201 100644 --- a/Mage.Sets/src/mage/cards/s/SedgemoorWitch.java +++ b/Mage.Sets/src/mage/cards/s/SedgemoorWitch.java @@ -10,7 +10,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.game.permanent.token.WitherbloomToken; +import mage.game.permanent.token.Pest11GainLifeToken; import java.util.UUID; @@ -34,7 +34,7 @@ public final class SedgemoorWitch extends CardImpl { this.addAbility(new WardAbility(new PayLifeCost(3))); // Magecraft — Whenever you cast or copy an instant or sorcery spell, create a 1/1 black and green Pest creature token with "Whenever this creature dies, you gain 1 life." - this.addAbility(new MagecraftAbility(new CreateTokenEffect(new WitherbloomToken()))); + this.addAbility(new MagecraftAbility(new CreateTokenEffect(new Pest11GainLifeToken()))); } private SedgemoorWitch(final SedgemoorWitch card) { diff --git a/Mage.Sets/src/mage/cards/s/SequenceEngine.java b/Mage.Sets/src/mage/cards/s/SequenceEngine.java index 234200fbaa..6a62f1dc4c 100644 --- a/Mage.Sets/src/mage/cards/s/SequenceEngine.java +++ b/Mage.Sets/src/mage/cards/s/SequenceEngine.java @@ -14,7 +14,7 @@ import mage.filter.FilterCard; import mage.filter.common.FilterCreatureCard; import mage.filter.predicate.mageobject.ManaValuePredicate; import mage.game.Game; -import mage.game.permanent.token.QuandrixToken; +import mage.game.permanent.token.FractalToken; import mage.target.common.TargetCardInGraveyard; import mage.target.targetadjustment.TargetAdjuster; @@ -35,7 +35,7 @@ public final class SequenceEngine extends CardImpl { new ManaCostsImpl<>("{X}") ); ability.addCost(new TapSourceCost()); - ability.addEffect(QuandrixToken.getEffect( + ability.addEffect(FractalToken.getEffect( ManacostVariableValue.REGULAR, "Put X +1/+1 counters on it" )); ability.setTargetAdjuster(SequenceEngineAdjuster.instance); diff --git a/Mage.Sets/src/mage/cards/s/SerpentineCurve.java b/Mage.Sets/src/mage/cards/s/SerpentineCurve.java index 268ae5ecbc..14a8c40c55 100644 --- a/Mage.Sets/src/mage/cards/s/SerpentineCurve.java +++ b/Mage.Sets/src/mage/cards/s/SerpentineCurve.java @@ -9,7 +9,7 @@ import mage.abilities.hint.ValueHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.game.permanent.token.QuandrixToken; +import mage.game.permanent.token.FractalToken; import java.util.UUID; @@ -29,7 +29,7 @@ public final class SerpentineCurve extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{U}"); // Create a 0/0 green and blue Fractal creature token. Put X +1/+1 counters on it, where X is one plus the total number of instant and sorcery cards you own in exile and in your graveyard. - this.getSpellAbility().addEffect(QuandrixToken.getEffect( + this.getSpellAbility().addEffect(FractalToken.getEffect( xValue, "Put X +1/+1 counters on it, where X is one plus the total number " + "of instant and sorcery cards you own in exile and in your graveyard" )); diff --git a/Mage.Sets/src/mage/cards/s/ShadrixSilverquill.java b/Mage.Sets/src/mage/cards/s/ShadrixSilverquill.java index 5eb3ea5faf..05d41cf56c 100644 --- a/Mage.Sets/src/mage/cards/s/ShadrixSilverquill.java +++ b/Mage.Sets/src/mage/cards/s/ShadrixSilverquill.java @@ -19,7 +19,7 @@ import mage.filter.StaticFilters; import mage.filter.predicate.other.AnotherTargetPredicate; import mage.game.Game; import mage.game.permanent.Permanent; -import mage.game.permanent.token.SilverquillToken; +import mage.game.permanent.token.InklingToken; import mage.target.TargetPlayer; import java.util.UUID; @@ -63,7 +63,7 @@ public final class ShadrixSilverquill extends CardImpl { ability.getModes().setMayChooseNone(true); // • Target player creates a 2/1 white and black Inkling creature token with flying. - ability.addEffect(new CreateTokenTargetEffect(new SilverquillToken())); + ability.addEffect(new CreateTokenTargetEffect(new InklingToken())); TargetPlayer target = new TargetPlayer(filter1); target.setTargetTag(1); ability.addTarget(target.withChooseHint("to create a token")); diff --git a/Mage.Sets/src/mage/cards/s/SpiritSummoning.java b/Mage.Sets/src/mage/cards/s/SpiritSummoning.java index 64cf93766d..590b494218 100644 --- a/Mage.Sets/src/mage/cards/s/SpiritSummoning.java +++ b/Mage.Sets/src/mage/cards/s/SpiritSummoning.java @@ -5,7 +5,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.game.permanent.token.LoreholdToken; +import mage.game.permanent.token.Spirit32Token; import java.util.UUID; @@ -20,7 +20,7 @@ public final class SpiritSummoning extends CardImpl { this.subtype.add(SubType.LESSON); // Create a 3/2 red and white Spirit creature token. - this.getSpellAbility().addEffect(new CreateTokenEffect(new LoreholdToken())); + this.getSpellAbility().addEffect(new CreateTokenEffect(new Spirit32Token())); } private SpiritSummoning(final SpiritSummoning card) { diff --git a/Mage.Sets/src/mage/cards/t/TendThePests.java b/Mage.Sets/src/mage/cards/t/TendThePests.java index 4aa5477031..266e96064d 100644 --- a/Mage.Sets/src/mage/cards/t/TendThePests.java +++ b/Mage.Sets/src/mage/cards/t/TendThePests.java @@ -7,7 +7,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.filter.StaticFilters; -import mage.game.permanent.token.WitherbloomToken; +import mage.game.permanent.token.Pest11GainLifeToken; import mage.target.common.TargetControlledPermanent; import java.util.UUID; @@ -27,7 +27,7 @@ public final class TendThePests extends CardImpl { // Create X 1/1 black and green Pest creature tokens with "When this creature dies, you gain 1 life," where X is the sacrificed creature's power. this.getSpellAbility().addEffect(new CreateTokenEffect( - new WitherbloomToken(), SacrificeCostCreaturesPower.instance + new Pest11GainLifeToken(), SacrificeCostCreaturesPower.instance ).setText("create X 1/1 black and green Pest creature tokens with " + "\"When this creature dies, you gain 1 life,\" where X is the sacrificed creature's power")); } diff --git a/Mage.Sets/src/mage/cards/u/UmbralJuke.java b/Mage.Sets/src/mage/cards/u/UmbralJuke.java index 11d53c19d0..79ad8d8012 100644 --- a/Mage.Sets/src/mage/cards/u/UmbralJuke.java +++ b/Mage.Sets/src/mage/cards/u/UmbralJuke.java @@ -7,7 +7,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.filter.StaticFilters; -import mage.game.permanent.token.SilverquillToken; +import mage.game.permanent.token.InklingToken; import mage.target.TargetPlayer; import java.util.UUID; @@ -28,7 +28,7 @@ public final class UmbralJuke extends CardImpl { this.getSpellAbility().addTarget(new TargetPlayer()); // • Create a 2/1 white and black Inkling creature token with flying. - this.getSpellAbility().addMode(new Mode(new CreateTokenEffect(new SilverquillToken()))); + this.getSpellAbility().addMode(new Mode(new CreateTokenEffect(new InklingToken()))); } private UmbralJuke(final UmbralJuke card) { diff --git a/Mage.Sets/src/mage/cards/v/ValentinDeanOfTheVein.java b/Mage.Sets/src/mage/cards/v/ValentinDeanOfTheVein.java index 1a1007091c..c055c843b1 100644 --- a/Mage.Sets/src/mage/cards/v/ValentinDeanOfTheVein.java +++ b/Mage.Sets/src/mage/cards/v/ValentinDeanOfTheVein.java @@ -22,7 +22,7 @@ import mage.game.Game; import mage.game.events.GameEvent; import mage.game.events.ZoneChangeEvent; import mage.game.permanent.PermanentToken; -import mage.game.permanent.token.WitherbloomToken; +import mage.game.permanent.token.Pest11GainLifeToken; import java.util.UUID; @@ -102,7 +102,7 @@ class ValentinDeanOfTheVeinEffect extends ReplacementEffectImpl { ((ZoneChangeEvent) event).setToZone(Zone.EXILED); game.fireReflexiveTriggeredAbility(new ReflexiveTriggeredAbility( new DoIfCostPaid( - new CreateTokenEffect(new WitherbloomToken()), new GenericManaCost(2) + new CreateTokenEffect(new Pest11GainLifeToken()), new GenericManaCost(2) ), false, "you may pay {2}. If you do, create a 1/1 black and green " + "Pest creature token with \"When this creature dies, you gain 1 life.\"" ), source); diff --git a/Mage.Sets/src/mage/cards/z/ZaffaiThunderConductor.java b/Mage.Sets/src/mage/cards/z/ZaffaiThunderConductor.java index 3e1e797fbd..45b20aaeba 100644 --- a/Mage.Sets/src/mage/cards/z/ZaffaiThunderConductor.java +++ b/Mage.Sets/src/mage/cards/z/ZaffaiThunderConductor.java @@ -11,7 +11,7 @@ import mage.constants.Outcome; import mage.constants.SubType; import mage.constants.SuperType; import mage.game.Game; -import mage.game.permanent.token.PrismariToken; +import mage.game.permanent.token.Elemental44Token; import mage.game.stack.Spell; import mage.players.Player; import mage.target.common.TargetOpponent; @@ -75,7 +75,7 @@ class ZaffaiThunderConductorEffect extends OneShotEffect { if (spell == null || spell.getManaValue() < 5) { return false; } - new PrismariToken().putOntoBattlefield(1, game, source, source.getControllerId()); + new Elemental44Token().putOntoBattlefield(1, game, source, source.getControllerId()); if (spell.getManaValue() < 10) { return true; } diff --git a/Mage/src/main/java/mage/game/permanent/token/BloodAvatarToken.java b/Mage/src/main/java/mage/game/permanent/token/BloodAvatarToken.java index ae42520f57..5a1dac5d30 100644 --- a/Mage/src/main/java/mage/game/permanent/token/BloodAvatarToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/BloodAvatarToken.java @@ -8,6 +8,8 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.TargetController; +import java.util.Arrays; + /** * @author TheElk801 */ @@ -21,11 +23,14 @@ public final class BloodAvatarToken extends TokenImpl { subtype.add(SubType.AVATAR); power = new MageInt(3); toughness = new MageInt(6); + addAbility(HasteAbility.getInstance()); addAbility(new AttacksTriggeredAbility( new DamagePlayersEffect(3, TargetController.OPPONENT), false, "Whenever this creature attacks, it deals 3 damage to each opponent." )); + + availableImageSetCodes = Arrays.asList("STX"); } private BloodAvatarToken(final BloodAvatarToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/PrismariToken.java b/Mage/src/main/java/mage/game/permanent/token/Elemental44Token.java similarity index 61% rename from Mage/src/main/java/mage/game/permanent/token/PrismariToken.java rename to Mage/src/main/java/mage/game/permanent/token/Elemental44Token.java index 90faca6bc2..a03e1137df 100644 --- a/Mage/src/main/java/mage/game/permanent/token/PrismariToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/Elemental44Token.java @@ -4,12 +4,14 @@ import mage.MageInt; import mage.constants.CardType; import mage.constants.SubType; +import java.util.Arrays; + /** * @author TheElk801 */ -public final class PrismariToken extends TokenImpl { +public final class Elemental44Token extends TokenImpl { - public PrismariToken() { + public Elemental44Token() { super("Elemental", "4/4 blue and red Elemental creature token"); cardType.add(CardType.CREATURE); color.setBlue(true); @@ -17,14 +19,16 @@ public final class PrismariToken extends TokenImpl { subtype.add(SubType.ELEMENTAL); power = new MageInt(4); toughness = new MageInt(4); + + availableImageSetCodes = Arrays.asList("STX"); } - private PrismariToken(final PrismariToken token) { + private Elemental44Token(final Elemental44Token token) { super(token); } @Override - public PrismariToken copy() { - return new PrismariToken(this); + public Elemental44Token copy() { + return new Elemental44Token(this); } } diff --git a/Mage/src/main/java/mage/game/permanent/token/QuandrixToken.java b/Mage/src/main/java/mage/game/permanent/token/FractalToken.java similarity index 89% rename from Mage/src/main/java/mage/game/permanent/token/QuandrixToken.java rename to Mage/src/main/java/mage/game/permanent/token/FractalToken.java index 88a3b218ea..a427e9b1b0 100644 --- a/Mage/src/main/java/mage/game/permanent/token/QuandrixToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/FractalToken.java @@ -17,9 +17,9 @@ import java.util.UUID; /** * @author TheElk801 */ -public final class QuandrixToken extends TokenImpl { +public final class FractalToken extends TokenImpl { - public QuandrixToken() { + public FractalToken() { super("Fractal", "0/0 green and blue Fractal creature token"); cardType.add(CardType.CREATURE); subtype.add(SubType.FRACTAL); @@ -31,12 +31,12 @@ public final class QuandrixToken extends TokenImpl { availableImageSetCodes = Arrays.asList("STX"); } - private QuandrixToken(final QuandrixToken token) { + private FractalToken(final FractalToken token) { super(token); } - public QuandrixToken copy() { - return new QuandrixToken(this); + public FractalToken copy() { + return new FractalToken(this); } public static QuandrixTokenEffect getEffect(DynamicValue xValue, String text) { @@ -65,7 +65,7 @@ public final class QuandrixToken extends TokenImpl { @Override public boolean apply(Game game, Ability source) { - Token token = new QuandrixToken(); + Token token = new FractalToken(); token.putOntoBattlefield(1, game, source, source.getControllerId()); int value = xValue.calculate(game, source, this); if (value < 1) { diff --git a/Mage/src/main/java/mage/game/permanent/token/SilverquillToken.java b/Mage/src/main/java/mage/game/permanent/token/InklingToken.java similarity index 67% rename from Mage/src/main/java/mage/game/permanent/token/SilverquillToken.java rename to Mage/src/main/java/mage/game/permanent/token/InklingToken.java index 8e653834be..9a86376eed 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SilverquillToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/InklingToken.java @@ -5,12 +5,14 @@ import mage.abilities.keyword.FlyingAbility; import mage.constants.CardType; import mage.constants.SubType; +import java.util.Arrays; + /** * @author TheElk801 */ -public final class SilverquillToken extends TokenImpl { +public final class InklingToken extends TokenImpl { - public SilverquillToken() { + public InklingToken() { super("Inkling", "2/1 white and black Inkling creature token with flying"); cardType.add(CardType.CREATURE); color.setWhite(true); @@ -18,15 +20,18 @@ public final class SilverquillToken extends TokenImpl { subtype.add(SubType.INKLING); power = new MageInt(2); toughness = new MageInt(1); + addAbility(FlyingAbility.getInstance()); + + availableImageSetCodes = Arrays.asList("STX"); } - private SilverquillToken(final SilverquillToken token) { + private InklingToken(final InklingToken token) { super(token); } @Override - public SilverquillToken copy() { - return new SilverquillToken(this); + public InklingToken copy() { + return new InklingToken(this); } } diff --git a/Mage/src/main/java/mage/game/permanent/token/WitherbloomToken.java b/Mage/src/main/java/mage/game/permanent/token/Pest11GainLifeToken.java similarity index 68% rename from Mage/src/main/java/mage/game/permanent/token/WitherbloomToken.java rename to Mage/src/main/java/mage/game/permanent/token/Pest11GainLifeToken.java index 55b88117d6..5724949cff 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WitherbloomToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/Pest11GainLifeToken.java @@ -6,12 +6,14 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.constants.CardType; import mage.constants.SubType; +import java.util.Arrays; + /** * @author TheElk801 */ -public final class WitherbloomToken extends TokenImpl { +public final class Pest11GainLifeToken extends TokenImpl { - public WitherbloomToken() { + public Pest11GainLifeToken() { super("Pest", "1/1 black and green Pest creature token with \"When this creature dies, you gain 1 life.\""); cardType.add(CardType.CREATURE); color.setBlack(true); @@ -21,13 +23,15 @@ public final class WitherbloomToken extends TokenImpl { toughness = new MageInt(1); this.addAbility(new DiesSourceTriggeredAbility(new GainLifeEffect(1))); + + availableImageSetCodes = Arrays.asList("STX"); } - private WitherbloomToken(final WitherbloomToken token) { + private Pest11GainLifeToken(final Pest11GainLifeToken token) { super(token); } - public WitherbloomToken copy() { - return new WitherbloomToken(this); + public Pest11GainLifeToken copy() { + return new Pest11GainLifeToken(this); } } diff --git a/Mage/src/main/java/mage/game/permanent/token/PestToken.java b/Mage/src/main/java/mage/game/permanent/token/PestToken.java index 2aca577dda..75be33db38 100644 --- a/Mage/src/main/java/mage/game/permanent/token/PestToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/PestToken.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 PestToken extends TokenImpl { @@ -18,6 +18,8 @@ public final class PestToken extends TokenImpl { subtype.add(SubType.PEST); power = new MageInt(0); toughness = new MageInt(1); + + availableImageSetCodes = Arrays.asList("HOP", "MRD"); } public PestToken(final PestToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/LoreholdToken.java b/Mage/src/main/java/mage/game/permanent/token/Spirit32Token.java similarity index 62% rename from Mage/src/main/java/mage/game/permanent/token/LoreholdToken.java rename to Mage/src/main/java/mage/game/permanent/token/Spirit32Token.java index 90b354e650..22716ab5f7 100644 --- a/Mage/src/main/java/mage/game/permanent/token/LoreholdToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/Spirit32Token.java @@ -4,12 +4,14 @@ import mage.MageInt; import mage.constants.CardType; import mage.constants.SubType; +import java.util.Arrays; + /** * @author TheElk801 */ -public final class LoreholdToken extends TokenImpl { +public final class Spirit32Token extends TokenImpl { - public LoreholdToken() { + public Spirit32Token() { super("Spirit", "3/2 red and white Spirit creature token"); cardType.add(CardType.CREATURE); color.setRed(true); @@ -17,14 +19,16 @@ public final class LoreholdToken extends TokenImpl { subtype.add(SubType.SPIRIT); power = new MageInt(3); toughness = new MageInt(2); + + availableImageSetCodes = Arrays.asList("STX"); } - private LoreholdToken(final LoreholdToken token) { + private Spirit32Token(final Spirit32Token token) { super(token); } @Override - public LoreholdToken copy() { - return new LoreholdToken(this); + public Spirit32Token copy() { + return new Spirit32Token(this); } } diff --git a/Mage/src/main/java/mage/game/permanent/token/TreasureToken.java b/Mage/src/main/java/mage/game/permanent/token/TreasureToken.java index ea35102dfc..31961b7c5e 100644 --- a/Mage/src/main/java/mage/game/permanent/token/TreasureToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/TreasureToken.java @@ -29,7 +29,7 @@ public final class TreasureToken extends TokenImpl { ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); - availableImageSetCodes = Arrays.asList("XLN", "RNA", "M20", "C19", "C20", "M21", "CMR", "KHM"); + availableImageSetCodes = Arrays.asList("XLN", "RNA", "M20", "C19", "C20", "M21", "CMR", "KHM", "STX"); } public TreasureToken(final TreasureToken token) {