Replace some custom token classes with the standard ones

This commit is contained in:
LoneFox 2015-09-19 17:17:26 +03:00
parent debbdba1c9
commit 952a9db112
15 changed files with 44 additions and 243 deletions

View file

@ -28,7 +28,6 @@
package mage.sets.bornofthegods;
import java.util.UUID;
import mage.MageInt;
import mage.ObjectColor;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
@ -47,7 +46,7 @@ import mage.constants.Rarity;
import mage.constants.Zone;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.permanent.token.Token;
import mage.game.permanent.token.WolfToken;
import mage.target.TargetPermanent;
import mage.target.common.TargetCreaturePermanent;
@ -92,16 +91,3 @@ public class RaisedByWolves extends CardImpl {
return new RaisedByWolves(this);
}
}
class WolfToken extends Token {
public WolfToken() {
super("Wolf", "2/2 green Wolf creature token");
this.setOriginalExpansionSetCode("BNG");
cardType.add(CardType.CREATURE);
color.setGreen(true);
subtype.add("Wolf");
power = new MageInt(2);
toughness = new MageInt(2);
}
}

View file

@ -39,7 +39,7 @@ import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.filter.common.FilterCreatureCard;
import mage.game.permanent.token.Token;
import mage.game.permanent.token.SpiritWhiteToken;
/**
*
@ -59,7 +59,7 @@ public class HallowedSpiritkeeper extends CardImpl {
this.addAbility(VigilanceAbility.getInstance());
// When Hallowed Spiritkeeper dies, put X 1/1 white Spirit creature tokens with flying onto the battlefield, where X is the number of creature cards in your graveyard.
Effect effect = new CreateTokenEffect(new HallowedSpiritkeeperSpiritToken(), new CardsInControllerGraveyardCount(new FilterCreatureCard("creature cards")));
Effect effect = new CreateTokenEffect(new SpiritWhiteToken(), new CardsInControllerGraveyardCount(new FilterCreatureCard("creature cards")));
effect.setText("put X 1/1 white Spirit creature tokens with flying onto the battlefield, where X is the number of creature cards in your graveyard");
this.addAbility(new DiesTriggeredAbility(effect, false));
@ -74,19 +74,3 @@ public class HallowedSpiritkeeper extends CardImpl {
return new HallowedSpiritkeeper(this);
}
}
class HallowedSpiritkeeperSpiritToken extends Token {
public HallowedSpiritkeeperSpiritToken() {
super("Spirit", "1/1 white Spirit creature token with flying");
setOriginalExpansionSetCode("C14");
cardType.add(CardType.CREATURE);
color.setWhite(true);
subtype.add("Spirit");
power = new MageInt(1);
toughness = new MageInt(1);
addAbility(FlyingAbility.getInstance());
}
}

View file

@ -41,6 +41,7 @@ import mage.constants.Outcome;
import mage.constants.Rarity;
import mage.game.Game;
import mage.game.permanent.token.SpiritWhiteToken;
import mage.game.permanent.token.ElfToken;
import mage.game.permanent.token.Token;
import mage.players.Player;
import mage.target.Target;
@ -149,28 +150,13 @@ class SylvanOfferingEffect2 extends OneShotEffect {
Player opponent = game.getPlayer(target.getFirstTarget());
if (opponent != null) {
int xValue = source.getManaCostsToPay().getX();
Effect effect = new CreateTokenTargetEffect(new SylvanOfferingElfWarriorToken(), xValue);
Effect effect = new CreateTokenTargetEffect(new ElfToken(), xValue);
effect.setTargetPointer(new FixedTarget(opponent.getId()));
effect.apply(game, source);
new CreateTokenEffect(new SylvanOfferingElfWarriorToken(), xValue).apply(game, source);
new CreateTokenEffect(new ElfToken(), xValue).apply(game, source);
return true;
}
}
return false;
}
}
class SylvanOfferingElfWarriorToken extends Token {
public SylvanOfferingElfWarriorToken() {
super("Elf Warrior", "1/1 green Elf Warrior creature token");
setOriginalExpansionSetCode("C14");
cardType.add(CardType.CREATURE);
subtype.add("Elf");
subtype.add("Warrior");
color.setGreen(true);
power = new MageInt(1);
toughness = new MageInt(1);
}
}

View file

@ -39,7 +39,7 @@ import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.Zone;
import mage.game.permanent.token.Token;
import mage.game.permanent.token.KithkinToken;
/**
*
@ -57,10 +57,9 @@ public class PatrolSignaler extends CardImpl {
this.toughness = new MageInt(1);
// {1}{W}, {untap}: Put a 1/1 white Kithkin Soldier creature token onto the battlefield.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new KithkinSoldierToken()), new ManaCostsImpl("{1}{W}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new KithkinToken()), new ManaCostsImpl("{1}{W}"));
ability.addCost(new UntapSourceCost());
this.addAbility(ability);
}
public PatrolSignaler(final PatrolSignaler card) {
@ -72,17 +71,3 @@ public class PatrolSignaler extends CardImpl {
return new PatrolSignaler(this);
}
}
class KithkinSoldierToken extends Token {
public KithkinSoldierToken() {
super("Kithkin Soldier", "1/1 white Kithkin Soldier creature token");
cardType.add(CardType.CREATURE);
color.setWhite(true);
subtype.add("Soldier");
power = new MageInt(1);
toughness = new MageInt(1);
}
}

View file

@ -28,8 +28,6 @@
package mage.sets.guildpact;
import java.util.UUID;
import mage.constants.*;
import mage.MageInt;
import mage.ObjectColor;
import mage.abilities.Ability;
@ -42,9 +40,14 @@ import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.continuous.BoostEnchantedEffect;
import mage.abilities.keyword.EnchantAbility;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Outcome;
import mage.constants.Rarity;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.game.permanent.token.Token;
import mage.game.permanent.token.WurmToken;
import mage.target.TargetPermanent;
import mage.target.common.TargetCreaturePermanent;
@ -71,7 +74,7 @@ public class WurmweaverCoil extends CardImpl {
Ability ability = new EnchantAbility(auraTarget.getTargetName());
this.addAbility(ability);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(6, 6, Duration.WhileOnBattlefield)));
Ability activatedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new WurmweaverCoilToken(), 1), new ManaCostsImpl("{G}{G}{G}"));
Ability activatedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new WurmToken(), 1), new ManaCostsImpl("{G}{G}{G}"));
activatedAbility.addCost(new SacrificeSourceCost());
this.addAbility(activatedAbility);
}
@ -85,14 +88,3 @@ public class WurmweaverCoil extends CardImpl {
return new WurmweaverCoil(this);
}
}
class WurmweaverCoilToken extends Token {
WurmweaverCoilToken() {
super("Wurm", "6/6 green Wurm creature token");
cardType.add(CardType.CREATURE);
color.setGreen(true);
subtype.add("Wurm");
power = new MageInt(6);
toughness = new MageInt(6);
}
}

View file

@ -28,7 +28,6 @@
package mage.sets.magicorigins;
import java.util.UUID;
import mage.MageInt;
import mage.ObjectColor;
import mage.abilities.condition.common.SpellMasteryCondition;
import mage.abilities.decorator.ConditionalOneShotEffect;
@ -37,13 +36,12 @@ import mage.abilities.effects.common.AddContinuousEffectToGame;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.continuous.GainAbilityAllEffect;
import mage.abilities.keyword.IndestructibleAbility;
import mage.abilities.keyword.VigilanceAbility;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Rarity;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.game.permanent.token.Token;
import mage.game.permanent.token.KnightToken;
/**
*
@ -56,7 +54,7 @@ public class GideonsPhalanx extends CardImpl {
this.expansionSetCode = "ORI";
// Put four 2/2 white Knight creature tokens with vigilance onto the battlefield.
this.getSpellAbility().addEffect(new CreateTokenEffect(new GideonsPhalanxKnightToken(), 4));
this.getSpellAbility().addEffect(new CreateTokenEffect(new KnightToken(), 4));
// <i>Spell mastery</i> - If there are two or more instant and/or sorcery cards in your graveyard, creatures you control gain indestructible until end of turn.
Effect effect = new ConditionalOneShotEffect(
@ -75,17 +73,3 @@ public class GideonsPhalanx extends CardImpl {
return new GideonsPhalanx(this);
}
}
class GideonsPhalanxKnightToken extends Token {
public GideonsPhalanxKnightToken() {
super("Knight", "2/2 white Knight creature tokens with vigilance");
this.setOriginalExpansionSetCode("ORI");
cardType.add(CardType.CREATURE);
color.setColor(ObjectColor.WHITE);
subtype.add("Knight");
power = new MageInt(2);
toughness = new MageInt(2);
addAbility(VigilanceAbility.getInstance());
}
}

View file

@ -42,7 +42,7 @@ import mage.constants.Rarity;
import mage.constants.Zone;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.permanent.token.Token;
import mage.game.permanent.token.ThopterColorlessToken;
/**
*
@ -65,7 +65,7 @@ public class ThopterEngineer extends CardImpl {
this.toughness = new MageInt(3);
// When Thopter Engineer enters the battlefield, put a 1/1 colorless Thopter artifact creature token with flying onto the battlefield.
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new ThopterEngineerThopterToken(), 1)));
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new ThopterColorlessToken(), 1)));
// Artifact creatures you control have haste.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(HasteAbility.getInstance(), Duration.WhileOnBattlefield, filter, false)));
@ -80,15 +80,3 @@ public class ThopterEngineer extends CardImpl {
return new ThopterEngineer(this);
}
}
class ThopterEngineerThopterToken extends Token {
ThopterEngineerThopterToken() {
super("Thopter", "a 1/1 colorless Thopter artifact creature token with flying");
cardType.add(CardType.CREATURE);
cardType.add(CardType.ARTIFACT);
subtype.add("Thopter");
power = new MageInt(1);
toughness = new MageInt(1);
this.addAbility(FlyingAbility.getInstance());
}
}

View file

@ -28,7 +28,6 @@
package mage.sets.onslaught;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.CreateTokenEffect;
@ -36,7 +35,7 @@ import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.Zone;
import mage.game.permanent.token.Token;
import mage.game.permanent.token.CentaurToken;
/**
*
@ -61,14 +60,3 @@ public class CentaurGlade extends CardImpl {
return new CentaurGlade(this);
}
}
class CentaurToken extends Token {
CentaurToken() {
super("Centaur", "3/3 green Centaur creature token");
cardType.add(CardType.CREATURE);
color.setGreen(true);
subtype.add("Centaur");
power = new MageInt(3);
toughness = new MageInt(3);
}
}

View file

@ -29,8 +29,6 @@ package mage.sets.returntoravnica;
import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.MageInt;
import mage.ObjectColor;
import mage.abilities.Ability;
@ -39,8 +37,10 @@ import mage.abilities.costs.common.SacrificeSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.Zone;
import mage.game.permanent.token.Token;
import mage.game.permanent.token.CentaurToken;
/**
*
@ -58,7 +58,7 @@ public class CentaursHerald extends CardImpl {
this.toughness = new MageInt(1);
// {2}{G}, Sacrifice Centaur's Herald: Put a 3/3 green Centaur creature token onto the battlefield.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new CentaursHeraldToken()), new ManaCostsImpl("{2}{G}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new CentaurToken()), new ManaCostsImpl("{2}{G}"));
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
}
@ -71,16 +71,4 @@ public class CentaursHerald extends CardImpl {
public CentaursHerald copy() {
return new CentaursHerald(this);
}
private class CentaursHeraldToken extends Token {
public CentaursHeraldToken() {
super("Centaur", "3/3 green Centaur creature token");
cardType.add(CardType.CREATURE);
color.setGreen(true);
subtype.add("Centaur");
power = new MageInt(3);
toughness = new MageInt(3);
}
}
}

View file

@ -29,13 +29,12 @@
package mage.sets.scarsofmirrodin;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.keyword.InfectAbility;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.game.permanent.token.Token;
import mage.game.permanent.token.InsectInfectToken;
/**
*
@ -48,7 +47,7 @@ public class CarrionCall extends CardImpl {
this.expansionSetCode = "SOM";
// Put two 1/1 green Insect creature tokens with infect onto the battlefield. (They deal damage to creatures in the form of -1/-1 counters and to players in the form of poison counters.)
this.getSpellAbility().addEffect(new CreateTokenEffect(new CarrionCallInsectToken(), 2));
this.getSpellAbility().addEffect(new CreateTokenEffect(new InsectInfectToken(), 2));
}
public CarrionCall (final CarrionCall card) {
@ -60,19 +59,3 @@ public class CarrionCall extends CardImpl {
return new CarrionCall(this);
}
}
class CarrionCallInsectToken extends Token {
public CarrionCallInsectToken() {
super("Insect", "1/1 green Insect creature tokens with infect");
setOriginalExpansionSetCode("SOM");
cardType.add(CardType.CREATURE);
color.setGreen(true);
subtype.add("Insect");
power = new MageInt(1);
toughness = new MageInt(1);
addAbility(InfectAbility.getInstance());
}
}

View file

@ -49,6 +49,7 @@ import mage.constants.TargetController;
import mage.constants.Zone;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.game.permanent.token.SoldierToken;
import mage.game.permanent.token.Token;
import mage.players.Player;
import mage.target.Target;
@ -175,23 +176,9 @@ class AkroanHorseCreateTokenEffect extends OneShotEffect {
@Override
public boolean apply(Game game, Ability source) {
for (UUID opponentId: game.getOpponents(source.getControllerId())) {
Token token = new AkroanHorseSoldierToken();
Token token = new SoldierToken();
token.putOntoBattlefield(1, game, source.getSourceId(), opponentId);
}
return true;
}
}
class AkroanHorseSoldierToken extends Token {
public AkroanHorseSoldierToken() {
super("Soldier", "1/1 white Soldier creature token");
cardType.add(CardType.CREATURE);
color.setWhite(true);
subtype.add("Soldier");
power = new MageInt(1);
toughness = new MageInt(1);
}
}

View file

@ -37,7 +37,7 @@ import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.ColoredManaSymbol;
import mage.constants.Rarity;
import mage.game.permanent.token.Token;
import mage.game.permanent.token.SoldierToken;
/**
*
@ -55,7 +55,7 @@ public class EvangelOfHeliod extends CardImpl {
this.toughness = new MageInt(3);
// When Evangel of Heliod enters the battlefield, put a number of 1/1 white Soldier creature tokens onto the battlefield equal to your devotion to white.
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new EvangelOfHeliodSoldierToken(), new DevotionCount(ColoredManaSymbol.W))));
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new SoldierToken(), new DevotionCount(ColoredManaSymbol.W))));
}
public EvangelOfHeliod(final EvangelOfHeliod card) {
@ -67,17 +67,3 @@ public class EvangelOfHeliod extends CardImpl {
return new EvangelOfHeliod(this);
}
}
class EvangelOfHeliodSoldierToken extends Token {
public EvangelOfHeliodSoldierToken() {
super("Soldier", "1/1 white Soldier creature tokens");
cardType.add(CardType.CREATURE);
color.setWhite(true);
subtype.add("Soldier");
power = new MageInt(1);
toughness = new MageInt(1);
}
}

View file

@ -43,6 +43,7 @@ import mage.constants.Outcome;
import mage.constants.Rarity;
import mage.constants.Zone;
import mage.game.Game;
import mage.game.permanent.token.CitizenToken;
import mage.game.permanent.token.GoblinToken;
import mage.game.permanent.token.SaprolingToken;
import mage.game.permanent.token.Token;
@ -154,17 +155,6 @@ class CreateSelectedTokenEffect extends OneShotEffect {
}
}
class CitizenToken extends Token {
public CitizenToken() {
super("Citizen", "1/1 white Citizen creature token");
cardType.add(CardType.CREATURE);
subtype.add("Citizen");
color.setWhite(true);
power = new MageInt(1);
toughness = new MageInt(1);
}
}
class CamaridToken extends Token {
public CamaridToken() {
super("Camarid", "1/1 blue Camarid creature token");

View file

@ -28,13 +28,12 @@
package mage.sets.urzassaga;
import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.MageInt;
import mage.abilities.dynamicvalue.common.ManacostVariableValue;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.cards.CardImpl;
import mage.game.permanent.token.Token;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.game.permanent.token.GoblinToken;
/**
*
@ -46,7 +45,6 @@ public class GoblinOffensive extends CardImpl {
super(ownerId, 192, "Goblin Offensive", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{X}{1}{R}{R}");
this.expansionSetCode = "USG";
// Put X 1/1 red Goblin creature tokens onto the battlefield.
this.getSpellAbility().addEffect(new CreateTokenEffect(new GoblinToken(), new ManacostVariableValue()));
}
@ -60,14 +58,3 @@ public class GoblinOffensive extends CardImpl {
return new GoblinOffensive(this);
}
}
class GoblinToken extends Token {
public GoblinToken() {
super("Goblin", "1/1 red Goblin creature token");
cardType.add(CardType.CREATURE);
color.setRed(true);
subtype.add("Goblin");
power = new MageInt(1);
toughness = new MageInt(1);
}
}

View file

@ -48,7 +48,7 @@ import mage.counters.CounterType;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.permanent.AnotherPredicate;
import mage.game.permanent.token.Token;
import mage.game.permanent.token.ThopterColorlessToken;
import mage.target.common.TargetControlledPermanent;
/**
@ -77,7 +77,7 @@ public class ThopterSquadron extends CardImpl {
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(3)), "with three +1/+1 counters on it"));
// {1}, Remove a +1/+1 counter from Thopter Squadron: Put a 1/1 colorless Thopter artifact creature token with flying onto the battlefield. Activate this ability only any time you could cast a sorcery.
Ability firstAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new ThopterSquadronThopterToken(), 1), new GenericManaCost(1));
Ability firstAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new ThopterColorlessToken(), 1), new GenericManaCost(1));
firstAbility.addCost(new RemoveCountersSourceCost(CounterType.P1P1.createInstance(1)));
this.addAbility(firstAbility);
@ -96,16 +96,3 @@ public class ThopterSquadron extends CardImpl {
return new ThopterSquadron(this);
}
}
class ThopterSquadronThopterToken extends Token {
public ThopterSquadronThopterToken() {
super("Thopter", "1/1 colorless Thopter artifact creature token with flying");
cardType.add(CardType.ARTIFACT);
cardType.add(CardType.CREATURE);
subtype.add("Thopter");
power = new MageInt(1);
toughness = new MageInt(1);
this.addAbility(FlyingAbility.getInstance());
}
}