now use manaability child for adding mana of any color, some refactoring and switch to use new ability for that

This commit is contained in:
Loki 2011-07-16 00:32:06 +03:00
parent b707d11aa4
commit 01b43b0d87
48 changed files with 181 additions and 186 deletions

View file

@ -35,7 +35,7 @@ import mage.Constants.Rarity;
import mage.MageInt; import mage.MageInt;
import mage.Mana; import mage.Mana;
import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.effects.common.ManaEffect; import mage.abilities.effects.common.BasicManaEffect;
import mage.cards.CardImpl; import mage.cards.CardImpl;
/** /**
@ -53,7 +53,7 @@ public class AkkiRockspeaker extends CardImpl<AkkiRockspeaker> {
this.power = new MageInt(1); this.power = new MageInt(1);
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
this.addAbility(new EntersBattlefieldTriggeredAbility(new ManaEffect(new Mana(Constants.ColoredManaSymbol.R)))); this.addAbility(new EntersBattlefieldTriggeredAbility(new BasicManaEffect(new Mana(Constants.ColoredManaSymbol.R))));
} }
public AkkiRockspeaker(final AkkiRockspeaker card) { public AkkiRockspeaker(final AkkiRockspeaker card) {

View file

@ -38,7 +38,7 @@ import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.common.TapTargetCost; import mage.abilities.costs.common.TapTargetCost;
import mage.abilities.effects.common.ManaEffect; import mage.abilities.effects.common.BasicManaEffect;
import mage.abilities.effects.common.UntapSourceEffect; import mage.abilities.effects.common.UntapSourceEffect;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.filter.Filter; import mage.filter.Filter;
@ -62,7 +62,7 @@ public class HonorWornShaku extends CardImpl<HonorWornShaku> {
public HonorWornShaku(UUID ownerId) { public HonorWornShaku(UUID ownerId) {
super(ownerId, 254, "Honor-Worn Shaku", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT}, "{3}"); super(ownerId, 254, "Honor-Worn Shaku", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT}, "{3}");
this.expansionSetCode = "CHK"; this.expansionSetCode = "CHK";
this.addAbility(new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new ManaEffect(new Mana(0, 0, 0, 0, 0, 1, 0)), new TapSourceCost())); this.addAbility(new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new BasicManaEffect(new Mana(0, 0, 0, 0, 0, 1, 0)), new TapSourceCost()));
Ability ability = new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new UntapSourceEffect(), new TapTargetCost(new TargetControlledPermanent(filter))); Ability ability = new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new UntapSourceEffect(), new TapTargetCost(new TargetControlledPermanent(filter)));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -37,6 +37,7 @@ import mage.MageInt;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.mana.ColoredManaCost; import mage.abilities.costs.mana.ColoredManaCost;
import mage.abilities.effects.common.AddManaOfAnyColorEffect; import mage.abilities.effects.common.AddManaOfAnyColorEffect;
import mage.abilities.mana.AnyColorManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
/** /**
@ -53,7 +54,7 @@ public class OrochiLeafcaller extends CardImpl<OrochiLeafcaller> {
this.color.setGreen(true); this.color.setGreen(true);
this.power = new MageInt(1); this.power = new MageInt(1);
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
this.addAbility(new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(), new ColoredManaCost(Constants.ColoredManaSymbol.G))); this.addAbility(new AnyColorManaAbility(new ColoredManaCost(Constants.ColoredManaSymbol.G)));
} }
public OrochiLeafcaller (final OrochiLeafcaller card) { public OrochiLeafcaller (final OrochiLeafcaller card) {

View file

@ -38,7 +38,7 @@ import mage.Mana;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.common.ManaEffect; import mage.abilities.effects.common.BasicManaEffect;
import mage.abilities.effects.common.continious.BoostControlledEffect; import mage.abilities.effects.common.continious.BoostControlledEffect;
import mage.abilities.effects.common.continious.GainAbilityControlledEffect; import mage.abilities.effects.common.continious.GainAbilityControlledEffect;
import mage.cards.CardImpl; import mage.cards.CardImpl;
@ -68,7 +68,7 @@ public class SachiDaughterOfSeshiro extends CardImpl<SachiDaughterOfSeshiro> {
this.power = new MageInt(1); this.power = new MageInt(1);
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
this.addAbility(new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new BoostControlledEffect(0, 1, Constants.Duration.WhileOnBattlefield, snakeFilter, true))); this.addAbility(new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new BoostControlledEffect(0, 1, Constants.Duration.WhileOnBattlefield, snakeFilter, true)));
this.addAbility(new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new GainAbilityControlledEffect(new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new ManaEffect(new Mana(0, 2, 0, 0, 0, 0, 0)), new TapSourceCost()), Constants.Duration.WhileOnBattlefield, shamanFilter, false))); this.addAbility(new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new GainAbilityControlledEffect(new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new BasicManaEffect(new Mana(0, 2, 0, 0, 0, 0, 0)), new TapSourceCost()), Constants.Duration.WhileOnBattlefield, shamanFilter, false)));
} }
public SachiDaughterOfSeshiro(final SachiDaughterOfSeshiro card) { public SachiDaughterOfSeshiro(final SachiDaughterOfSeshiro card) {

View file

@ -35,7 +35,7 @@ import mage.MageInt;
import mage.Mana; import mage.Mana;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.ManaEffect; import mage.abilities.effects.common.BasicManaEffect;
import mage.abilities.mana.BasicManaAbility; import mage.abilities.mana.BasicManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
@ -74,7 +74,7 @@ public class KnotvineMystic extends CardImpl<KnotvineMystic>{
class KnotvineMysticManaAbility extends BasicManaAbility<KnotvineMysticManaAbility> { class KnotvineMysticManaAbility extends BasicManaAbility<KnotvineMysticManaAbility> {
public KnotvineMysticManaAbility() { public KnotvineMysticManaAbility() {
super(new ManaEffect(new Mana(1, 1, 0, 1, 0, 0, 0))); super(new BasicManaEffect(new Mana(1, 1, 0, 1, 0, 0, 0)));
this.netMana.setGreen(1); this.netMana.setGreen(1);
this.netMana.setRed(1); this.netMana.setRed(1);
this.netMana.setWhite(1); this.netMana.setWhite(1);

View file

@ -30,17 +30,15 @@ package mage.sets.conflux;
import java.util.UUID; import java.util.UUID;
import mage.Constants.CardType; import mage.Constants.CardType;
import mage.Constants.Rarity; import mage.Constants.Rarity;
import mage.Constants.Zone; import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.common.AddManaOfAnyColorEffect; import mage.abilities.mana.AnyColorManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.choices.ChoiceColor;
/** /**
* *
* @author North * @author North, Loki
*/ */
public class ManaCylix extends CardImpl<ManaCylix> { public class ManaCylix extends CardImpl<ManaCylix> {
@ -48,8 +46,7 @@ public class ManaCylix extends CardImpl<ManaCylix> {
super(ownerId, 138, "Mana Cylix", Rarity.COMMON, new CardType[]{CardType.ARTIFACT}, "{1}"); super(ownerId, 138, "Mana Cylix", Rarity.COMMON, new CardType[]{CardType.ARTIFACT}, "{1}");
this.expansionSetCode = "CON"; this.expansionSetCode = "CON";
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(), new GenericManaCost(1)); Ability ability = new AnyColorManaAbility(new GenericManaCost(1));
ability.addChoice(new ChoiceColor());
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -31,16 +31,12 @@ package mage.sets.conflux;
import java.util.UUID; import java.util.UUID;
import mage.Constants.CardType; import mage.Constants.CardType;
import mage.Constants.Rarity; import mage.Constants.Rarity;
import mage.Constants.Zone;
import mage.abilities.common.EntersBattlefieldTappedAbility; import mage.abilities.common.EntersBattlefieldTappedAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.AddManaOfAnyColorEffect;
import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect;
import mage.abilities.mana.AnyColorManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.choices.ChoiceColor;
/** /**
* *
@ -54,9 +50,7 @@ public class RuptureSpire extends CardImpl<RuptureSpire> {
this.addAbility(new EntersBattlefieldTappedAbility()); this.addAbility(new EntersBattlefieldTappedAbility());
this.addAbility(new EntersBattlefieldTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl("{1}")), false)); this.addAbility(new EntersBattlefieldTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl("{1}")), false));
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(), new TapSourceCost()); this.addAbility(new AnyColorManaAbility());
ability.addChoice(new ChoiceColor());
this.addAbility(ability);
} }
public RuptureSpire (final RuptureSpire card) { public RuptureSpire (final RuptureSpire card) {

View file

@ -29,13 +29,9 @@
package mage.sets.darksteel; package mage.sets.darksteel;
import mage.Constants; import mage.Constants;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.common.AddManaOfAnyColorEffect;
import mage.abilities.keyword.IndestructibleAbility; import mage.abilities.keyword.IndestructibleAbility;
import mage.abilities.mana.AnyColorManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.choices.ChoiceColor;
import java.util.UUID; import java.util.UUID;
@ -49,9 +45,7 @@ public class DarksteelIngot extends CardImpl<DarksteelIngot> {
super(ownerId, 112, "Darksteel Ingot", Constants.Rarity.COMMON, new Constants.CardType[]{Constants.CardType.ARTIFACT}, "{3}"); super(ownerId, 112, "Darksteel Ingot", Constants.Rarity.COMMON, new Constants.CardType[]{Constants.CardType.ARTIFACT}, "{3}");
this.expansionSetCode = "DST"; this.expansionSetCode = "DST";
this.addAbility(IndestructibleAbility.getInstance()); this.addAbility(IndestructibleAbility.getInstance());
Ability ability = new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(), new TapSourceCost()); this.addAbility(new AnyColorManaAbility());
ability.addChoice(new ChoiceColor());
this.addAbility(ability);
} }
public DarksteelIngot(final DarksteelIngot card) { public DarksteelIngot(final DarksteelIngot card) {

View file

@ -38,7 +38,7 @@ import mage.Mana;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.costs.common.SacrificeTargetCost;
import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.common.ManaEffect; import mage.abilities.effects.common.BasicManaEffect;
import mage.abilities.mana.BasicManaAbility; import mage.abilities.mana.BasicManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.filter.Filter; import mage.filter.Filter;
@ -84,7 +84,7 @@ public class KrarkClanStoker extends CardImpl<KrarkClanStoker> {
class KrarkClanStokerAbility extends BasicManaAbility<KrarkClanStokerAbility> { class KrarkClanStokerAbility extends BasicManaAbility<KrarkClanStokerAbility> {
public KrarkClanStokerAbility() { public KrarkClanStokerAbility() {
super(new ManaEffect(new Mana(2, 0, 0, 0, 0, 0, 0))); super(new BasicManaEffect(new Mana(2, 0, 0, 0, 0, 0, 0)));
this.netMana.setRed(2); this.netMana.setRed(2);
} }

View file

@ -37,12 +37,11 @@ import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.costs.common.RemoveCountersSourceCost;
import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.common.AddManaOfAnyColorEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.abilities.mana.AnyColorManaAbility;
import mage.abilities.mana.ColorlessManaAbility; import mage.abilities.mana.ColorlessManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.counters.CounterType; import mage.counters.CounterType;
import mage.counters.common.ChargeCounter;
/** /**
* *
@ -55,7 +54,7 @@ public class MirrodinsCore extends CardImpl<MirrodinsCore> {
this.expansionSetCode = "DST"; this.expansionSetCode = "DST";
this.addAbility(new ColorlessManaAbility()); this.addAbility(new ColorlessManaAbility());
this.addAbility(new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), new TapSourceCost())); this.addAbility(new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), new TapSourceCost()));
Ability ability = new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(), new TapSourceCost()); Ability ability = new AnyColorManaAbility();
ability.addCost(new RemoveCountersSourceCost(CounterType.CHARGE.createInstance())); ability.addCost(new RemoveCountersSourceCost(CounterType.CHARGE.createInstance()));
this.addAbility(ability); this.addAbility(ability);

View file

@ -35,7 +35,7 @@ import mage.Constants.Rarity;
import mage.MageInt; import mage.MageInt;
import mage.Mana; import mage.Mana;
import mage.abilities.common.PutIntoGraveFromBattlefieldTriggeredAbility; import mage.abilities.common.PutIntoGraveFromBattlefieldTriggeredAbility;
import mage.abilities.effects.common.ManaEffect; import mage.abilities.effects.common.BasicManaEffect;
import mage.cards.CardImpl; import mage.cards.CardImpl;
/** /**
@ -49,7 +49,7 @@ public class MyrMoonvessel extends CardImpl<MyrMoonvessel> {
this.subtype.add("Myr"); this.subtype.add("Myr");
this.power = new MageInt(1); this.power = new MageInt(1);
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
this.addAbility(new PutIntoGraveFromBattlefieldTriggeredAbility(new ManaEffect(new Mana(0, 0, 0, 0, 0, 1, 0)))); this.addAbility(new PutIntoGraveFromBattlefieldTriggeredAbility(new BasicManaEffect(new Mana(0, 0, 0, 0, 0, 1, 0))));
} }
public MyrMoonvessel(final MyrMoonvessel card) { public MyrMoonvessel(final MyrMoonvessel card) {

View file

@ -33,9 +33,7 @@ import java.util.UUID;
import mage.Constants.CardType; import mage.Constants.CardType;
import mage.Constants.Rarity; import mage.Constants.Rarity;
import mage.Mana; import mage.Mana;
import mage.abilities.Ability; import mage.abilities.effects.common.BasicManaEffect;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.common.ManaEffect;
import mage.abilities.mana.BasicManaAbility; import mage.abilities.mana.BasicManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
@ -65,7 +63,7 @@ public class UrGolemsEye extends CardImpl<UrGolemsEye> {
class UrGolemsEyeAbility extends BasicManaAbility<UrGolemsEyeAbility> { class UrGolemsEyeAbility extends BasicManaAbility<UrGolemsEyeAbility> {
public UrGolemsEyeAbility() { public UrGolemsEyeAbility() {
super(new ManaEffect(new Mana(0, 0, 0, 0, 0, 2, 0))); super(new BasicManaEffect(new Mana(0, 0, 0, 0, 0, 2, 0)));
this.netMana.setColorless(2); this.netMana.setColorless(2);
} }

View file

@ -30,20 +30,14 @@ package mage.sets.darksteel;
import java.util.UUID; import java.util.UUID;
import mage.Constants;
import mage.Constants.CardType; import mage.Constants.CardType;
import mage.Constants.Rarity; import mage.Constants.Rarity;
import mage.MageInt; import mage.MageInt;
import mage.Mana;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.common.AddManaOfAnyColorEffect; import mage.abilities.mana.AnyColorManaAbility;
import mage.abilities.effects.common.ManaEffect;
import mage.abilities.mana.BasicManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.choices.ChoiceColor;
/** /**
* @author Loki * @author Loki
@ -58,9 +52,8 @@ public class ViridianAcolyte extends CardImpl<ViridianAcolyte> {
this.color.setGreen(true); this.color.setGreen(true);
this.power = new MageInt(1); this.power = new MageInt(1);
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
Ability ability = new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(), new GenericManaCost(1)); Ability ability = new AnyColorManaAbility(new GenericManaCost(1));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addChoice(new ChoiceColor());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -34,7 +34,7 @@ import mage.Constants.CardType;
import mage.Constants.Rarity; import mage.Constants.Rarity;
import mage.Mana; import mage.Mana;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.ManaEffect; import mage.abilities.effects.common.BasicManaEffect;
import mage.abilities.mana.BasicManaAbility; import mage.abilities.mana.BasicManaAbility;
import mage.abilities.mana.ColorlessManaAbility; import mage.abilities.mana.ColorlessManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
@ -66,7 +66,7 @@ public class CascadeBluffs extends CardImpl<CascadeBluffs> {
class CascadeBluffsFirstManaAbility extends BasicManaAbility<CascadeBluffsFirstManaAbility> { class CascadeBluffsFirstManaAbility extends BasicManaAbility<CascadeBluffsFirstManaAbility> {
public CascadeBluffsFirstManaAbility() { public CascadeBluffsFirstManaAbility() {
super(new ManaEffect(new Mana(0, 0, 2, 0, 0, 0, 0))); super(new BasicManaEffect(new Mana(0, 0, 2, 0, 0, 0, 0)));
this.addCost(new ManaCostsImpl("{U/R}")); this.addCost(new ManaCostsImpl("{U/R}"));
this.netMana.setBlue(2); this.netMana.setBlue(2);
} }
@ -84,7 +84,7 @@ class CascadeBluffsFirstManaAbility extends BasicManaAbility<CascadeBluffsFirstM
class CascadeBluffsSecondManaAbility extends BasicManaAbility<CascadeBluffsSecondManaAbility> { class CascadeBluffsSecondManaAbility extends BasicManaAbility<CascadeBluffsSecondManaAbility> {
public CascadeBluffsSecondManaAbility() { public CascadeBluffsSecondManaAbility() {
super(new ManaEffect(new Mana(1, 0, 1, 0, 0, 0, 0))); super(new BasicManaEffect(new Mana(1, 0, 1, 0, 0, 0, 0)));
this.addCost(new ManaCostsImpl("{U/R}")); this.addCost(new ManaCostsImpl("{U/R}"));
this.netMana.setBlue(1); this.netMana.setBlue(1);
this.netMana.setRed(1); this.netMana.setRed(1);
@ -103,7 +103,7 @@ class CascadeBluffsSecondManaAbility extends BasicManaAbility<CascadeBluffsSecon
class CascadeBluffsThirdManaAbility extends BasicManaAbility<CascadeBluffsThirdManaAbility> { class CascadeBluffsThirdManaAbility extends BasicManaAbility<CascadeBluffsThirdManaAbility> {
public CascadeBluffsThirdManaAbility() { public CascadeBluffsThirdManaAbility() {
super(new ManaEffect(new Mana(2, 0, 0, 0, 0, 0, 0))); super(new BasicManaEffect(new Mana(2, 0, 0, 0, 0, 0, 0)));
this.addCost(new ManaCostsImpl("{U/R}")); this.addCost(new ManaCostsImpl("{U/R}"));
this.netMana.setRed(2); this.netMana.setRed(2);
} }

View file

@ -33,7 +33,7 @@ import mage.Constants.CardType;
import mage.Constants.Rarity; import mage.Constants.Rarity;
import mage.Mana; import mage.Mana;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.ManaEffect; import mage.abilities.effects.common.BasicManaEffect;
import mage.abilities.mana.BasicManaAbility; import mage.abilities.mana.BasicManaAbility;
import mage.abilities.mana.ColorlessManaAbility; import mage.abilities.mana.ColorlessManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
@ -67,7 +67,7 @@ public class FetidHeath extends CardImpl<FetidHeath> {
class FetidHeathFirstManaAbility extends BasicManaAbility<FetidHeathFirstManaAbility> { class FetidHeathFirstManaAbility extends BasicManaAbility<FetidHeathFirstManaAbility> {
public FetidHeathFirstManaAbility() { public FetidHeathFirstManaAbility() {
super(new ManaEffect(new Mana(0, 0, 0, 2, 0, 0, 0))); super(new BasicManaEffect(new Mana(0, 0, 0, 2, 0, 0, 0)));
this.addCost(new ManaCostsImpl("{W/B}")); this.addCost(new ManaCostsImpl("{W/B}"));
this.netMana.setWhite(2); this.netMana.setWhite(2);
} }
@ -85,7 +85,7 @@ class FetidHeathFirstManaAbility extends BasicManaAbility<FetidHeathFirstManaAbi
class FetidHeathSecondManaAbility extends BasicManaAbility<FetidHeathSecondManaAbility> { class FetidHeathSecondManaAbility extends BasicManaAbility<FetidHeathSecondManaAbility> {
public FetidHeathSecondManaAbility() { public FetidHeathSecondManaAbility() {
super(new ManaEffect(new Mana(0, 0, 0, 1, 1, 0, 0))); super(new BasicManaEffect(new Mana(0, 0, 0, 1, 1, 0, 0)));
this.addCost(new ManaCostsImpl("{W/B}")); this.addCost(new ManaCostsImpl("{W/B}"));
this.netMana.setBlack(1); this.netMana.setBlack(1);
this.netMana.setWhite(1); this.netMana.setWhite(1);
@ -104,7 +104,7 @@ class FetidHeathSecondManaAbility extends BasicManaAbility<FetidHeathSecondManaA
class FetidHeathThirdManaAbility extends BasicManaAbility<FetidHeathThirdManaAbility> { class FetidHeathThirdManaAbility extends BasicManaAbility<FetidHeathThirdManaAbility> {
public FetidHeathThirdManaAbility() { public FetidHeathThirdManaAbility() {
super(new ManaEffect(new Mana(0, 0, 0, 0, 2, 0, 0))); super(new BasicManaEffect(new Mana(0, 0, 0, 0, 2, 0, 0)));
this.addCost(new ManaCostsImpl("{W/B}")); this.addCost(new ManaCostsImpl("{W/B}"));
this.netMana.setBlack(2); this.netMana.setBlack(2);
} }

View file

@ -33,7 +33,7 @@ import mage.Constants.CardType;
import mage.Constants.Rarity; import mage.Constants.Rarity;
import mage.Mana; import mage.Mana;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.ManaEffect; import mage.abilities.effects.common.BasicManaEffect;
import mage.abilities.mana.BasicManaAbility; import mage.abilities.mana.BasicManaAbility;
import mage.abilities.mana.ColorlessManaAbility; import mage.abilities.mana.ColorlessManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
@ -67,7 +67,7 @@ public class FloodedGrove extends CardImpl<FloodedGrove> {
class FloodedGroveFirstManaAbility extends BasicManaAbility<FloodedGroveFirstManaAbility> { class FloodedGroveFirstManaAbility extends BasicManaAbility<FloodedGroveFirstManaAbility> {
public FloodedGroveFirstManaAbility() { public FloodedGroveFirstManaAbility() {
super(new ManaEffect(new Mana(0, 2, 0, 0, 0, 0, 0))); super(new BasicManaEffect(new Mana(0, 2, 0, 0, 0, 0, 0)));
this.addCost(new ManaCostsImpl("{G/U}")); this.addCost(new ManaCostsImpl("{G/U}"));
this.netMana.setGreen(2); this.netMana.setGreen(2);
} }
@ -85,7 +85,7 @@ class FloodedGroveFirstManaAbility extends BasicManaAbility<FloodedGroveFirstMan
class FloodedGroveSecondManaAbility extends BasicManaAbility<FloodedGroveSecondManaAbility> { class FloodedGroveSecondManaAbility extends BasicManaAbility<FloodedGroveSecondManaAbility> {
public FloodedGroveSecondManaAbility() { public FloodedGroveSecondManaAbility() {
super(new ManaEffect(new Mana(0, 1, 1, 0, 0, 0, 0))); super(new BasicManaEffect(new Mana(0, 1, 1, 0, 0, 0, 0)));
this.addCost(new ManaCostsImpl("{G/U}")); this.addCost(new ManaCostsImpl("{G/U}"));
this.netMana.setGreen(1); this.netMana.setGreen(1);
this.netMana.setBlue(1); this.netMana.setBlue(1);
@ -104,7 +104,7 @@ class FloodedGroveSecondManaAbility extends BasicManaAbility<FloodedGroveSecondM
class FloodedGroveThirdManaAbility extends BasicManaAbility<FloodedGroveThirdManaAbility> { class FloodedGroveThirdManaAbility extends BasicManaAbility<FloodedGroveThirdManaAbility> {
public FloodedGroveThirdManaAbility() { public FloodedGroveThirdManaAbility() {
super(new ManaEffect(new Mana(0, 0, 2, 0, 0, 0, 0))); super(new BasicManaEffect(new Mana(0, 0, 2, 0, 0, 0, 0)));
this.addCost(new ManaCostsImpl("{G/U}")); this.addCost(new ManaCostsImpl("{G/U}"));
this.netMana.setBlue(2); this.netMana.setBlue(2);
} }

View file

@ -33,7 +33,7 @@ import mage.Constants.CardType;
import mage.Constants.Rarity; import mage.Constants.Rarity;
import mage.Mana; import mage.Mana;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.ManaEffect; import mage.abilities.effects.common.BasicManaEffect;
import mage.abilities.mana.BasicManaAbility; import mage.abilities.mana.BasicManaAbility;
import mage.abilities.mana.ColorlessManaAbility; import mage.abilities.mana.ColorlessManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
@ -66,7 +66,7 @@ public class RuggedPrairie extends CardImpl<RuggedPrairie> {
class RuggedPrairieFirstManaAbility extends BasicManaAbility<RuggedPrairieFirstManaAbility> { class RuggedPrairieFirstManaAbility extends BasicManaAbility<RuggedPrairieFirstManaAbility> {
public RuggedPrairieFirstManaAbility() { public RuggedPrairieFirstManaAbility() {
super(new ManaEffect(new Mana(2, 0, 0, 0, 0, 0, 0))); super(new BasicManaEffect(new Mana(2, 0, 0, 0, 0, 0, 0)));
this.addCost(new ManaCostsImpl("{R/W}")); this.addCost(new ManaCostsImpl("{R/W}"));
this.netMana.setRed(2); this.netMana.setRed(2);
} }
@ -84,7 +84,7 @@ class RuggedPrairieFirstManaAbility extends BasicManaAbility<RuggedPrairieFirstM
class RuggedPrairieSecondManaAbility extends BasicManaAbility<RuggedPrairieSecondManaAbility> { class RuggedPrairieSecondManaAbility extends BasicManaAbility<RuggedPrairieSecondManaAbility> {
public RuggedPrairieSecondManaAbility() { public RuggedPrairieSecondManaAbility() {
super(new ManaEffect(new Mana(1, 0, 0, 1, 0, 0, 0))); super(new BasicManaEffect(new Mana(1, 0, 0, 1, 0, 0, 0)));
this.addCost(new ManaCostsImpl("{R/W}")); this.addCost(new ManaCostsImpl("{R/W}"));
this.netMana.setRed(1); this.netMana.setRed(1);
this.netMana.setWhite(1); this.netMana.setWhite(1);
@ -103,7 +103,7 @@ class RuggedPrairieSecondManaAbility extends BasicManaAbility<RuggedPrairieSecon
class RuggedPrairieThirdManaAbility extends BasicManaAbility<RuggedPrairieThirdManaAbility> { class RuggedPrairieThirdManaAbility extends BasicManaAbility<RuggedPrairieThirdManaAbility> {
public RuggedPrairieThirdManaAbility() { public RuggedPrairieThirdManaAbility() {
super(new ManaEffect(new Mana(0, 0, 0, 2, 0, 0, 0))); super(new BasicManaEffect(new Mana(0, 0, 0, 2, 0, 0, 0)));
this.addCost(new ManaCostsImpl("{R/W}")); this.addCost(new ManaCostsImpl("{R/W}"));
this.netMana.setWhite(2); this.netMana.setWhite(2);
} }

View file

@ -33,7 +33,7 @@ import mage.Constants.CardType;
import mage.Constants.Rarity; import mage.Constants.Rarity;
import mage.Mana; import mage.Mana;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.ManaEffect; import mage.abilities.effects.common.BasicManaEffect;
import mage.abilities.mana.BasicManaAbility; import mage.abilities.mana.BasicManaAbility;
import mage.abilities.mana.ColorlessManaAbility; import mage.abilities.mana.ColorlessManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
@ -67,7 +67,7 @@ public class TwilightMire extends CardImpl<TwilightMire> {
class TwilightMireFirstManaAbility extends BasicManaAbility<TwilightMireFirstManaAbility> { class TwilightMireFirstManaAbility extends BasicManaAbility<TwilightMireFirstManaAbility> {
public TwilightMireFirstManaAbility() { public TwilightMireFirstManaAbility() {
super(new ManaEffect(new Mana(0, 0, 0, 0, 2, 0, 0))); super(new BasicManaEffect(new Mana(0, 0, 0, 0, 2, 0, 0)));
this.addCost(new ManaCostsImpl("{B/G}")); this.addCost(new ManaCostsImpl("{B/G}"));
this.netMana.setBlack(2); this.netMana.setBlack(2);
} }
@ -85,7 +85,7 @@ class TwilightMireFirstManaAbility extends BasicManaAbility<TwilightMireFirstMan
class TwilightMireSecondManaAbility extends BasicManaAbility<TwilightMireSecondManaAbility> { class TwilightMireSecondManaAbility extends BasicManaAbility<TwilightMireSecondManaAbility> {
public TwilightMireSecondManaAbility() { public TwilightMireSecondManaAbility() {
super(new ManaEffect(new Mana(0, 1, 0, 0, 1, 0, 0))); super(new BasicManaEffect(new Mana(0, 1, 0, 0, 1, 0, 0)));
this.addCost(new ManaCostsImpl("{B/G}")); this.addCost(new ManaCostsImpl("{B/G}"));
this.netMana.setBlack(1); this.netMana.setBlack(1);
this.netMana.setGreen(1); this.netMana.setGreen(1);
@ -104,7 +104,7 @@ class TwilightMireSecondManaAbility extends BasicManaAbility<TwilightMireSecondM
class TwilightMireThirdManaAbility extends BasicManaAbility<TwilightMireThirdManaAbility> { class TwilightMireThirdManaAbility extends BasicManaAbility<TwilightMireThirdManaAbility> {
public TwilightMireThirdManaAbility() { public TwilightMireThirdManaAbility() {
super(new ManaEffect(new Mana(0, 2, 0, 0, 0, 0, 0))); super(new BasicManaEffect(new Mana(0, 2, 0, 0, 0, 0, 0)));
this.addCost(new ManaCostsImpl("{B/G}")); this.addCost(new ManaCostsImpl("{B/G}"));
this.netMana.setGreen(2); this.netMana.setGreen(2);
} }

View file

@ -32,7 +32,7 @@ import java.util.UUID;
import mage.Constants.CardType; import mage.Constants.CardType;
import mage.Constants.Rarity; import mage.Constants.Rarity;
import mage.Mana; import mage.Mana;
import mage.abilities.effects.common.ManaEffect; import mage.abilities.effects.common.BasicManaEffect;
import mage.cards.CardImpl; import mage.cards.CardImpl;
/** /**
@ -45,7 +45,7 @@ public class PyreticRitual extends CardImpl<PyreticRitual> {
super(ownerId, 153, "Pyretic Ritual", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{1}{R}"); super(ownerId, 153, "Pyretic Ritual", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{1}{R}");
this.expansionSetCode = "M11"; this.expansionSetCode = "M11";
this.color.setRed(true); this.color.setRed(true);
this.getSpellAbility().addEffect(new ManaEffect(Mana.RedMana(3))); this.getSpellAbility().addEffect(new BasicManaEffect(Mana.RedMana(3)));
} }
public PyreticRitual(final PyreticRitual card) { public PyreticRitual(final PyreticRitual card) {

View file

@ -30,14 +30,10 @@ package mage.sets.magic2012;
import java.util.UUID; import java.util.UUID;
import mage.Constants;
import mage.Constants.CardType; import mage.Constants.CardType;
import mage.Constants.Rarity; import mage.Constants.Rarity;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.mana.AnyColorManaAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.common.AddManaOfAnyColorEffect;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.choices.ChoiceColor;
/** /**
* *
@ -48,9 +44,7 @@ public class Manalith extends CardImpl<Manalith> {
public Manalith (UUID ownerId) { public Manalith (UUID ownerId) {
super(ownerId, 212, "Manalith", Rarity.COMMON, new CardType[]{CardType.ARTIFACT}, "{3}"); super(ownerId, 212, "Manalith", Rarity.COMMON, new CardType[]{CardType.ARTIFACT}, "{3}");
this.expansionSetCode = "M12"; this.expansionSetCode = "M12";
SimpleActivatedAbility ability = new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(), new TapSourceCost()); this.addAbility(new AnyColorManaAbility());
ability.addChoice(new ChoiceColor());
this.addAbility(ability);
} }
public Manalith (final Manalith card) { public Manalith (final Manalith card) {

View file

@ -30,22 +30,18 @@ package mage.sets.mirrodinbesieged;
import java.util.UUID; import java.util.UUID;
import mage.Constants.CardType; import mage.Constants.CardType;
import mage.Constants.Rarity; import mage.Constants.Rarity;
import mage.Constants.Zone;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.EntersBattlefieldAbility;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.costs.common.RemoveCountersSourceCost;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.common.AddManaOfAnyColorEffect;
import mage.abilities.effects.common.TapSourceEffect; import mage.abilities.effects.common.TapSourceEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.abilities.mana.AnyColorManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.choices.ChoiceColor;
import mage.counters.CounterType; import mage.counters.CounterType;
/** /**
* *
* @author North * @author North, Loki
*/ */
public class SphereOfTheSuns extends CardImpl<SphereOfTheSuns> { public class SphereOfTheSuns extends CardImpl<SphereOfTheSuns> {
@ -59,8 +55,7 @@ public class SphereOfTheSuns extends CardImpl<SphereOfTheSuns> {
this.addAbility(ability); this.addAbility(ability);
RemoveCountersSourceCost removeCounterCost = new RemoveCountersSourceCost(CounterType.CHARGE.getName(), 1); RemoveCountersSourceCost removeCounterCost = new RemoveCountersSourceCost(CounterType.CHARGE.getName(), 1);
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(), new TapSourceCost()); ability = new AnyColorManaAbility();
ability.addChoice(new ChoiceColor());
ability.addCost(removeCounterCost); ability.addCost(removeCounterCost);
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -30,17 +30,13 @@ package mage.sets.newphyrexia;
import java.util.UUID; import java.util.UUID;
import mage.Constants.CardType; import mage.Constants.CardType;
import mage.Constants.Rarity; import mage.Constants.Rarity;
import mage.Constants.Zone;
import mage.MageInt; import mage.MageInt;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.mana.AnyColorManaAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.common.AddManaOfAnyColorEffect;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.choices.ChoiceColor;
/** /**
* *
* @author North * @author North, Loki
*/ */
public class AlloyMyr extends CardImpl<AlloyMyr> { public class AlloyMyr extends CardImpl<AlloyMyr> {
@ -52,9 +48,7 @@ public class AlloyMyr extends CardImpl<AlloyMyr> {
this.power = new MageInt(2); this.power = new MageInt(2);
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(), new TapSourceCost()); this.addAbility(new AnyColorManaAbility());
ability.addChoice(new ChoiceColor());
this.addAbility(ability);
} }
public AlloyMyr(final AlloyMyr card) { public AlloyMyr(final AlloyMyr card) {

View file

@ -33,7 +33,7 @@ import mage.Constants.Rarity;
import mage.MageInt; import mage.MageInt;
import mage.Mana; import mage.Mana;
import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.effects.common.ManaEffect; import mage.abilities.effects.common.BasicManaEffect;
import mage.cards.CardImpl; import mage.cards.CardImpl;
/** /**
@ -52,7 +52,7 @@ public class PriestOfUrabrask extends CardImpl<PriestOfUrabrask> {
this.power = new MageInt(2); this.power = new MageInt(2);
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
this.addAbility(new EntersBattlefieldTriggeredAbility(new ManaEffect(Mana.RedMana(3)))); this.addAbility(new EntersBattlefieldTriggeredAbility(new BasicManaEffect(Mana.RedMana(3))));
} }
public PriestOfUrabrask(final PriestOfUrabrask card) { public PriestOfUrabrask(final PriestOfUrabrask card) {

View file

@ -36,7 +36,7 @@ import mage.Constants.Zone;
import mage.Mana; import mage.Mana;
import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.common.ManaEffect; import mage.abilities.effects.common.BasicManaEffect;
import mage.abilities.mana.BasicManaAbility; import mage.abilities.mana.BasicManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
@ -64,7 +64,7 @@ public class BorosSignet extends CardImpl<BorosSignet> {
class BorosSignetAbility extends BasicManaAbility<BorosSignetAbility> { class BorosSignetAbility extends BasicManaAbility<BorosSignetAbility> {
public BorosSignetAbility() { public BorosSignetAbility() {
super(new ManaEffect(new Mana(1, 0, 0, 1, 0, 0, 0))); super(new BasicManaEffect(new Mana(1, 0, 0, 1, 0, 0, 0)));
this.addCost(new GenericManaCost(1)); this.addCost(new GenericManaCost(1));
this.netMana.setRed(1); this.netMana.setRed(1);
this.netMana.setWhite(1); this.netMana.setWhite(1);

View file

@ -36,7 +36,7 @@ import mage.Constants.Zone;
import mage.Mana; import mage.Mana;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.ManaEffect; import mage.abilities.effects.common.BasicManaEffect;
import mage.abilities.mana.BasicManaAbility; import mage.abilities.mana.BasicManaAbility;
import mage.abilities.mana.ManaAbility; import mage.abilities.mana.ManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
@ -67,7 +67,7 @@ public class DimirSignet extends CardImpl<DimirSignet> {
class DimirSignetAbility extends BasicManaAbility<DimirSignetAbility> { class DimirSignetAbility extends BasicManaAbility<DimirSignetAbility> {
public DimirSignetAbility() { public DimirSignetAbility() {
super(new ManaEffect(new Mana(0, 0, 1, 0, 1, 0, 0))); super(new BasicManaEffect(new Mana(0, 0, 1, 0, 1, 0, 0)));
this.netMana.setBlue(1); this.netMana.setBlue(1);
this.netMana.setBlack(1); this.netMana.setBlack(1);
} }

View file

@ -34,7 +34,7 @@ import mage.Constants.Rarity;
import mage.Mana; import mage.Mana;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.ManaEffect; import mage.abilities.effects.common.BasicManaEffect;
import mage.abilities.mana.BasicManaAbility; import mage.abilities.mana.BasicManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
@ -65,7 +65,7 @@ public class GolgariSignet extends CardImpl<GolgariSignet> {
class GolgariSignetAbility extends BasicManaAbility<GolgariSignetAbility> { class GolgariSignetAbility extends BasicManaAbility<GolgariSignetAbility> {
public GolgariSignetAbility() { public GolgariSignetAbility() {
super(new ManaEffect(new Mana(0, 1, 0, 0, 1, 0, 0))); super(new BasicManaEffect(new Mana(0, 1, 0, 0, 1, 0, 0)));
this.netMana.setGreen(1); this.netMana.setGreen(1);
this.netMana.setBlack(1); this.netMana.setBlack(1);
} }

View file

@ -35,7 +35,7 @@ import mage.Constants.Rarity;
import mage.Mana; import mage.Mana;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.ManaEffect; import mage.abilities.effects.common.BasicManaEffect;
import mage.abilities.mana.BasicManaAbility; import mage.abilities.mana.BasicManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
@ -66,7 +66,7 @@ public class SelesnyaSignet extends CardImpl<SelesnyaSignet> {
class SelesnyaSignetAbility extends BasicManaAbility<SelesnyaSignetAbility> { class SelesnyaSignetAbility extends BasicManaAbility<SelesnyaSignetAbility> {
public SelesnyaSignetAbility() { public SelesnyaSignetAbility() {
super(new ManaEffect(new Mana(0, 1, 0, 1, 0, 0, 0))); super(new BasicManaEffect(new Mana(0, 1, 0, 1, 0, 0, 0)));
this.netMana.setGreen(1); this.netMana.setGreen(1);
this.netMana.setWhite(1); this.netMana.setWhite(1);
} }

View file

@ -37,7 +37,7 @@ import mage.abilities.costs.common.SacrificeSourceCost;
import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.common.DrawCardControllerEffect; import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.ManaEffect; import mage.abilities.effects.common.BasicManaEffect;
import mage.cards.CardImpl; import mage.cards.CardImpl;
/** /**
@ -50,7 +50,7 @@ public class DreamstoneHedron extends CardImpl<DreamstoneHedron> {
super(ownerId, 216, "Dreamstone Hedron", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT}, "{6}"); super(ownerId, 216, "Dreamstone Hedron", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT}, "{6}");
this.expansionSetCode = "ROE"; this.expansionSetCode = "ROE";
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ManaEffect(Mana.ColorlessMana(3)), new TapSourceCost())); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BasicManaEffect(Mana.ColorlessMana(3)), new TapSourceCost()));
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new DrawCardControllerEffect(3), new DrawCardControllerEffect(3),
new GenericManaCost(3)); new GenericManaCost(3));

View file

@ -32,7 +32,7 @@ import mage.Constants.CardType;
import mage.Constants.Rarity; import mage.Constants.Rarity;
import mage.MageObject; import mage.MageObject;
import mage.Mana; import mage.Mana;
import mage.abilities.effects.common.ManaEffect; import mage.abilities.effects.common.BasicManaEffect;
import mage.abilities.mana.BasicManaAbility; import mage.abilities.mana.BasicManaAbility;
import mage.abilities.mana.ColorlessManaAbility; import mage.abilities.mana.ColorlessManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
@ -71,7 +71,7 @@ class EldraziTempleManaAbility extends BasicManaAbility<EldraziTempleManaAbility
+ "<b>(Mage Tip: This ability can only be activated when an Eldrazi spell or ability is on the stack.)</b>"; + "<b>(Mage Tip: This ability can only be activated when an Eldrazi spell or ability is on the stack.)</b>";
EldraziTempleManaAbility ( ) { EldraziTempleManaAbility ( ) {
super(new ManaEffect(Mana.ColorlessMana(2))); super(new BasicManaEffect(Mana.ColorlessMana(2)));
this.netMana.setColorless(2); this.netMana.setColorless(2);
} }

View file

@ -43,7 +43,7 @@ import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.continious.GainAbilityControlledEffect; import mage.abilities.effects.common.continious.GainAbilityControlledEffect;
import mage.abilities.effects.common.ManaEffect; import mage.abilities.effects.common.BasicManaEffect;
import mage.abilities.keyword.LevelAbility; import mage.abilities.keyword.LevelAbility;
import mage.abilities.keyword.LevelUpAbility; import mage.abilities.keyword.LevelUpAbility;
import mage.abilities.mana.SimpleManaAbility; import mage.abilities.mana.SimpleManaAbility;
@ -75,13 +75,13 @@ public class JoragaTreespeaker extends LevelerCard<JoragaTreespeaker> {
this.addAbility(new LevelUpAbility(new ManaCostsImpl("{1}{G}"))); this.addAbility(new LevelUpAbility(new ManaCostsImpl("{1}{G}")));
Abilities<Ability> abilities1 = new AbilitiesImpl<Ability>(); Abilities<Ability> abilities1 = new AbilitiesImpl<Ability>();
abilities1.add(new SimpleManaAbility(Zone.BATTLEFIELD, new ManaEffect(Mana.GreenMana(2)), new TapSourceCost())); abilities1.add(new SimpleManaAbility(Zone.BATTLEFIELD, new BasicManaEffect(Mana.GreenMana(2)), new TapSourceCost()));
this.getLevels().add(new LevelAbility(1, 4, abilities1, 1, 2)); this.getLevels().add(new LevelAbility(1, 4, abilities1, 1, 2));
Abilities<Ability> abilities2 = new AbilitiesImpl<Ability>(); Abilities<Ability> abilities2 = new AbilitiesImpl<Ability>();
abilities2.add(new SimpleStaticAbility(Zone.BATTLEFIELD, abilities2.add(new SimpleStaticAbility(Zone.BATTLEFIELD,
new GainAbilityControlledEffect(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(new SimpleActivatedAbility(Zone.BATTLEFIELD,
new ManaEffect(Mana.GreenMana(2)), new BasicManaEffect(Mana.GreenMana(2)),
new TapSourceCost()), new TapSourceCost()),
Duration.WhileOnBattlefield, filter))); Duration.WhileOnBattlefield, filter)));
this.getLevels().add(new LevelAbility(5, -1, abilities2, 1, 4)); this.getLevels().add(new LevelAbility(5, -1, abilities2, 1, 4));

View file

@ -46,7 +46,7 @@ import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.costs.common.TapTargetCost; import mage.abilities.costs.common.TapTargetCost;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.ContinuousEffectImpl; import mage.abilities.effects.ContinuousEffectImpl;
import mage.abilities.effects.common.ManaEffect; import mage.abilities.effects.common.BasicManaEffect;
import mage.abilities.effects.common.continious.BoostControlledEffect; import mage.abilities.effects.common.continious.BoostControlledEffect;
import mage.abilities.mana.ManaAbility; import mage.abilities.mana.ManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
@ -152,7 +152,7 @@ class GrandArchitectManaAbility extends ManaAbility<GrandArchitectManaAbility> {
} }
GrandArchitectManaAbility ( ) { GrandArchitectManaAbility ( ) {
super(Zone.BATTLEFIELD, new ManaEffect(Mana.ColorlessMana(2)), new TapTargetCost(new TargetControlledCreaturePermanent(1, 1, filter, true))); super(Zone.BATTLEFIELD, new BasicManaEffect(Mana.ColorlessMana(2)), new TapTargetCost(new TargetControlledCreaturePermanent(1, 1, filter, true)));
this.netMana.setColorless(2); this.netMana.setColorless(2);
} }

View file

@ -30,19 +30,16 @@ package mage.sets.scarsofmirrodin;
import mage.Constants.CardType; import mage.Constants.CardType;
import mage.Constants.Rarity; import mage.Constants.Rarity;
import mage.abilities.Ability;
import mage.abilities.costs.common.MetalcraftCost; import mage.abilities.costs.common.MetalcraftCost;
import mage.abilities.mana.AnyColorManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import java.util.UUID; import java.util.UUID;
import mage.Constants.Zone;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.common.AddManaOfAnyColorEffect;
import mage.choices.ChoiceColor;
/** /**
* *
* @author BetaSteward_at_googlemail.com * @author BetaSteward_at_googlemail.com, Loki
*/ */
public class MoxOpal extends CardImpl<MoxOpal> { public class MoxOpal extends CardImpl<MoxOpal> {
@ -51,8 +48,7 @@ public class MoxOpal extends CardImpl<MoxOpal> {
this.supertype.add("Legendary"); this.supertype.add("Legendary");
this.expansionSetCode = "SOM"; this.expansionSetCode = "SOM";
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(), new TapSourceCost()); Ability ability = new AnyColorManaAbility();
ability.addChoice(new ChoiceColor());
ability.addCost(new MetalcraftCost()); ability.addCost(new MetalcraftCost());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -32,7 +32,7 @@ import mage.Constants.CardType;
import mage.Constants.Rarity; import mage.Constants.Rarity;
import mage.MageInt; import mage.MageInt;
import mage.Mana; import mage.Mana;
import mage.abilities.effects.common.ManaEffect; import mage.abilities.effects.common.BasicManaEffect;
import mage.abilities.mana.BasicManaAbility; import mage.abilities.mana.BasicManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
@ -66,7 +66,7 @@ public class PalladiumMyr extends CardImpl<PalladiumMyr> {
class PalladiumMyrAbility extends BasicManaAbility<PalladiumMyrAbility> { class PalladiumMyrAbility extends BasicManaAbility<PalladiumMyrAbility> {
public PalladiumMyrAbility() { public PalladiumMyrAbility() {
super(new ManaEffect(Mana.ColorlessMana(2))); super(new BasicManaEffect(Mana.ColorlessMana(2)));
this.netMana.setColorless(2); this.netMana.setColorless(2);
} }

View file

@ -31,18 +31,14 @@ package mage.sets.tenth;
import java.util.UUID; import java.util.UUID;
import mage.Constants.CardType; import mage.Constants.CardType;
import mage.Constants.Rarity; import mage.Constants.Rarity;
import mage.Constants.Zone;
import mage.MageInt; import mage.MageInt;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.common.AddManaOfAnyColorEffect;
import mage.abilities.keyword.FlyingAbility; import mage.abilities.keyword.FlyingAbility;
import mage.abilities.mana.AnyColorManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.choices.ChoiceColor;
/** /**
* *
* @author BetaSteward_at_googlemail.com * @author BetaSteward_at_googlemail.com, Loki
*/ */
public class BirdsOfParadise extends CardImpl<BirdsOfParadise> { public class BirdsOfParadise extends CardImpl<BirdsOfParadise> {
@ -56,9 +52,7 @@ public class BirdsOfParadise extends CardImpl<BirdsOfParadise> {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
this.addAbility(FlyingAbility.getInstance()); this.addAbility(FlyingAbility.getInstance());
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(), new TapSourceCost()); this.addAbility(new AnyColorManaAbility());
ability.addChoice(new ChoiceColor());
this.addAbility(ability);
} }
public BirdsOfParadise(final BirdsOfParadise card) { public BirdsOfParadise(final BirdsOfParadise card) {

View file

@ -35,7 +35,7 @@ import mage.MageInt;
import mage.Mana; import mage.Mana;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.common.ManaEffect; import mage.abilities.effects.common.BasicManaEffect;
import mage.cards.CardImpl; import mage.cards.CardImpl;
/** /**
@ -54,7 +54,7 @@ public class GreenweaverDruid extends CardImpl<GreenweaverDruid> {
this.power = new MageInt(1); this.power = new MageInt(1);
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ManaEffect(Mana.GreenMana(2)), new TapSourceCost())); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BasicManaEffect(Mana.GreenMana(2)), new TapSourceCost()));
} }
public GreenweaverDruid(final GreenweaverDruid card) { public GreenweaverDruid(final GreenweaverDruid card) {

View file

@ -38,7 +38,7 @@ import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.ManaEffect; import mage.abilities.effects.common.BasicManaEffect;
import mage.abilities.mana.SimpleManaAbility; import mage.abilities.mana.SimpleManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.filter.common.FilterControlledPermanent; import mage.filter.common.FilterControlledPermanent;
@ -68,11 +68,11 @@ public class KhalniGem extends CardImpl<KhalniGem> {
Target target = new TargetControlledPermanent(2, 2, filter, false); Target target = new TargetControlledPermanent(2, 2, filter, false);
etbAbility.addTarget(target); etbAbility.addTarget(target);
this.addAbility(etbAbility); this.addAbility(etbAbility);
this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new ManaEffect(new Mana(2, 0, 0, 0, 0, 0, 0)), new TapSourceCost())); this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new BasicManaEffect(new Mana(2, 0, 0, 0, 0, 0, 0)), new TapSourceCost()));
this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new ManaEffect(new Mana(0, 2, 0, 0, 0, 0, 0)), new TapSourceCost())); this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new BasicManaEffect(new Mana(0, 2, 0, 0, 0, 0, 0)), new TapSourceCost()));
this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new ManaEffect(new Mana(0, 0, 2, 0, 0, 0, 0)), new TapSourceCost())); this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new BasicManaEffect(new Mana(0, 0, 2, 0, 0, 0, 0)), new TapSourceCost()));
this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new ManaEffect(new Mana(0, 0, 0, 2, 0, 0, 0)), new TapSourceCost())); this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new BasicManaEffect(new Mana(0, 0, 0, 2, 0, 0, 0)), new TapSourceCost()));
this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new ManaEffect(new Mana(0, 0, 0, 0, 2, 0, 0)), new TapSourceCost())); this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new BasicManaEffect(new Mana(0, 0, 0, 0, 2, 0, 0)), new TapSourceCost()));
} }
public KhalniGem (final KhalniGem card) { public KhalniGem (final KhalniGem card) {

View file

@ -40,10 +40,10 @@ import mage.players.Player;
* *
* @author BetaSteward_at_googlemail.com * @author BetaSteward_at_googlemail.com
*/ */
public class AddManaOfAnyColorEffect extends OneShotEffect<AddManaOfAnyColorEffect> { public class AddManaOfAnyColorEffect extends ManaEffect<AddManaOfAnyColorEffect> {
public AddManaOfAnyColorEffect() { public AddManaOfAnyColorEffect() {
super(Outcome.PutManaInPool); super();
} }
public AddManaOfAnyColorEffect(final AddManaOfAnyColorEffect effect) { public AddManaOfAnyColorEffect(final AddManaOfAnyColorEffect effect) {

View file

@ -0,0 +1,41 @@
package mage.abilities.effects.common;
import mage.Constants;
import mage.Mana;
import mage.abilities.Ability;
import mage.game.Game;
public class BasicManaEffect extends ManaEffect<BasicManaEffect> {
protected Mana mana;
public BasicManaEffect(Mana mana) {
super();
this.mana = mana;
}
public BasicManaEffect(final BasicManaEffect effect) {
super(effect);
this.mana = effect.mana.copy();
}
@Override
public BasicManaEffect copy() {
return new BasicManaEffect(this);
}
@Override
public boolean apply(Game game, Ability source) {
game.getPlayer(source.getControllerId()).getManaPool().changeMana(mana);
return true;
}
@Override
public String getText(Ability source) {
return "Add " + mana.toString() + " to your mana pool";
}
public Mana getMana() {
return mana;
}
}

View file

@ -37,7 +37,7 @@ import mage.game.Game;
* *
* @author North * @author North
*/ */
public class DynamicManaEffect extends ManaEffect { public class DynamicManaEffect extends BasicManaEffect {
private Mana computedMana; private Mana computedMana;
private DynamicValue amount; private DynamicValue amount;

View file

@ -38,37 +38,14 @@ import mage.game.Game;
* *
* @author BetaSteward_at_googlemail.com * @author BetaSteward_at_googlemail.com
*/ */
public class ManaEffect extends OneShotEffect<ManaEffect> { public abstract class ManaEffect<T extends ManaEffect<T>> extends OneShotEffect<T> {
protected Mana mana; public ManaEffect() {
public ManaEffect(Mana mana) {
super(Outcome.PutManaInPool); super(Outcome.PutManaInPool);
this.mana = mana;
} }
public ManaEffect(final ManaEffect effect) { public ManaEffect(final ManaEffect effect) {
super(effect); super(effect);
this.mana = effect.mana.copy();
} }
@Override
public ManaEffect copy() {
return new ManaEffect(this);
}
@Override
public boolean apply(Game game, Ability source) {
game.getPlayer(source.getControllerId()).getManaPool().changeMana(mana);
return true;
}
@Override
public String getText(Ability source) {
return "Add " + mana.toString() + " to your mana pool";
}
public Mana getMana() {
return mana;
}
} }

View file

@ -0,0 +1,27 @@
package mage.abilities.mana;
import mage.Constants;
import mage.abilities.costs.Cost;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.common.AddManaOfAnyColorEffect;
import mage.choices.ChoiceColor;
public class AnyColorManaAbility extends ManaAbility<AnyColorManaAbility> {
public AnyColorManaAbility() {
this(new TapSourceCost());
}
public AnyColorManaAbility(Cost cost) {
super(Constants.Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(), cost);
this.addChoice(new ChoiceColor());
}
public AnyColorManaAbility(final AnyColorManaAbility ability) {
super(ability);
}
@Override
public AnyColorManaAbility copy() {
return new AnyColorManaAbility(this);
}
}

View file

@ -29,7 +29,7 @@
package mage.abilities.mana; package mage.abilities.mana;
import mage.Mana; import mage.Mana;
import mage.abilities.effects.common.ManaEffect; import mage.abilities.effects.common.BasicManaEffect;
/** /**
* *
@ -38,7 +38,7 @@ import mage.abilities.effects.common.ManaEffect;
public class BlackManaAbility extends BasicManaAbility<BlackManaAbility> { public class BlackManaAbility extends BasicManaAbility<BlackManaAbility> {
public BlackManaAbility() { public BlackManaAbility() {
super(new ManaEffect(Mana.BlackMana)); super(new BasicManaEffect(Mana.BlackMana));
this.netMana.setBlack(1); this.netMana.setBlack(1);
} }

View file

@ -29,7 +29,7 @@
package mage.abilities.mana; package mage.abilities.mana;
import mage.Mana; import mage.Mana;
import mage.abilities.effects.common.ManaEffect; import mage.abilities.effects.common.BasicManaEffect;
/** /**
* *
@ -38,7 +38,7 @@ import mage.abilities.effects.common.ManaEffect;
public class BlueManaAbility extends BasicManaAbility<BlueManaAbility> { public class BlueManaAbility extends BasicManaAbility<BlueManaAbility> {
public BlueManaAbility() { public BlueManaAbility() {
super(new ManaEffect(Mana.BlueMana)); super(new BasicManaEffect(Mana.BlueMana));
this.netMana.setBlue(1); this.netMana.setBlue(1);
} }

View file

@ -29,6 +29,7 @@
package mage.abilities.mana; package mage.abilities.mana;
import mage.Mana; import mage.Mana;
import mage.abilities.effects.common.BasicManaEffect;
import mage.abilities.effects.common.ManaEffect; import mage.abilities.effects.common.ManaEffect;
/** /**
@ -38,7 +39,7 @@ import mage.abilities.effects.common.ManaEffect;
public class ColorlessManaAbility extends BasicManaAbility<ColorlessManaAbility> { public class ColorlessManaAbility extends BasicManaAbility<ColorlessManaAbility> {
public ColorlessManaAbility() { public ColorlessManaAbility() {
super(new ManaEffect(Mana.ColorlessMana)); super(new BasicManaEffect(Mana.ColorlessMana));
this.netMana.setColorless(1); this.netMana.setColorless(1);
} }

View file

@ -29,7 +29,7 @@
package mage.abilities.mana; package mage.abilities.mana;
import mage.Mana; import mage.Mana;
import mage.abilities.effects.common.ManaEffect; import mage.abilities.effects.common.BasicManaEffect;
/** /**
* *
@ -38,7 +38,7 @@ import mage.abilities.effects.common.ManaEffect;
public class GreenManaAbility extends BasicManaAbility<GreenManaAbility> { public class GreenManaAbility extends BasicManaAbility<GreenManaAbility> {
public GreenManaAbility() { public GreenManaAbility() {
super(new ManaEffect(Mana.GreenMana)); super(new BasicManaEffect(Mana.GreenMana));
this.netMana.setGreen(1); this.netMana.setGreen(1);
} }

View file

@ -29,7 +29,7 @@
package mage.abilities.mana; package mage.abilities.mana;
import mage.Mana; import mage.Mana;
import mage.abilities.effects.common.ManaEffect; import mage.abilities.effects.common.BasicManaEffect;
/** /**
* *
@ -38,7 +38,7 @@ import mage.abilities.effects.common.ManaEffect;
public class RedManaAbility extends BasicManaAbility<RedManaAbility> { public class RedManaAbility extends BasicManaAbility<RedManaAbility> {
public RedManaAbility() { public RedManaAbility() {
super(new ManaEffect(Mana.RedMana)); super(new BasicManaEffect(Mana.RedMana));
this.netMana.setRed(1); this.netMana.setRed(1);
} }

View file

@ -29,7 +29,7 @@
package mage.abilities.mana; package mage.abilities.mana;
import mage.Mana; import mage.Mana;
import mage.abilities.effects.common.ManaEffect; import mage.abilities.effects.common.BasicManaEffect;
/** /**
* *
@ -38,7 +38,7 @@ import mage.abilities.effects.common.ManaEffect;
public class WhiteManaAbility extends BasicManaAbility<WhiteManaAbility> { public class WhiteManaAbility extends BasicManaAbility<WhiteManaAbility> {
public WhiteManaAbility() { public WhiteManaAbility() {
super(new ManaEffect(Mana.WhiteMana)); super(new BasicManaEffect(Mana.WhiteMana));
this.netMana.setWhite(1); this.netMana.setWhite(1);
} }

View file

@ -33,7 +33,7 @@ import mage.Constants.Zone;
import mage.MageInt; import mage.MageInt;
import mage.Mana; import mage.Mana;
import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.SacrificeSourceCost;
import mage.abilities.effects.common.ManaEffect; import mage.abilities.effects.common.BasicManaEffect;
import mage.abilities.mana.SimpleManaAbility; import mage.abilities.mana.SimpleManaAbility;
/** /**
@ -49,7 +49,7 @@ public class EldraziSpawnToken extends Token {
subtype.add("Spawn"); subtype.add("Spawn");
power = new MageInt(0); power = new MageInt(0);
toughness = new MageInt(1); toughness = new MageInt(1);
addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new ManaEffect(Mana.ColorlessMana), new SacrificeSourceCost())); addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new BasicManaEffect(Mana.ColorlessMana), new SacrificeSourceCost()));
} }
} }