mirror of
https://github.com/correl/mage.git
synced 2024-11-15 11:09:30 +00:00
Replace some custom token classes with the standard ones
This commit is contained in:
parent
debbdba1c9
commit
952a9db112
15 changed files with 44 additions and 243 deletions
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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());
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -55,7 +55,7 @@ public class ThopterEngineer extends CardImpl {
|
|||
static {
|
||||
filter.add(new CardTypePredicate(CardType.ARTIFACT));
|
||||
}
|
||||
|
||||
|
||||
public ThopterEngineer(UUID ownerId) {
|
||||
super(ownerId, 165, "Thopter Engineer", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{2}{R}");
|
||||
this.expansionSetCode = "ORI";
|
||||
|
@ -65,8 +65,8 @@ 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());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
|
||||
/**
|
||||
|
@ -56,14 +56,14 @@ import mage.target.common.TargetControlledPermanent;
|
|||
* @author LevelX2
|
||||
*/
|
||||
public class ThopterSquadron extends CardImpl {
|
||||
|
||||
|
||||
private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("another Thopter");
|
||||
|
||||
|
||||
static {
|
||||
filter.add(new AnotherPredicate());
|
||||
filter.add(new SubtypePredicate("Thopter"));
|
||||
}
|
||||
|
||||
|
||||
public ThopterSquadron(UUID ownerId) {
|
||||
super(ownerId, 286, "Thopter Squadron", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{5}");
|
||||
this.expansionSetCode = "VMA";
|
||||
|
@ -75,16 +75,16 @@ public class ThopterSquadron extends CardImpl {
|
|||
this.addAbility(FlyingAbility.getInstance());
|
||||
// Thopter Squadron enters the battlefield with three +1/+1 counters on it.
|
||||
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);
|
||||
|
||||
|
||||
// {1}, Sacrifice another Thopter: Put a +1/+1 counter on Thopter Squadron. Activate this ability only any time you could cast a sorcery.
|
||||
Ability ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance(), true), new ManaCostsImpl("{1}"));
|
||||
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter)));
|
||||
|
||||
|
||||
}
|
||||
|
||||
public ThopterSquadron(final ThopterSquadron card) {
|
||||
|
@ -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());
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in a new issue