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.Mana;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.effects.common.ManaEffect;
import mage.abilities.effects.common.BasicManaEffect;
import mage.cards.CardImpl;
/**
@ -53,7 +53,7 @@ public class AkkiRockspeaker extends CardImpl<AkkiRockspeaker> {
this.power = 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) {

View file

@ -38,7 +38,7 @@ import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.TapSourceCost;
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.cards.CardImpl;
import mage.filter.Filter;
@ -62,7 +62,7 @@ public class HonorWornShaku extends CardImpl<HonorWornShaku> {
public HonorWornShaku(UUID ownerId) {
super(ownerId, 254, "Honor-Worn Shaku", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT}, "{3}");
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)));
this.addAbility(ability);
}

View file

@ -37,6 +37,7 @@ import mage.MageInt;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.mana.ColoredManaCost;
import mage.abilities.effects.common.AddManaOfAnyColorEffect;
import mage.abilities.mana.AnyColorManaAbility;
import mage.cards.CardImpl;
/**
@ -53,7 +54,7 @@ public class OrochiLeafcaller extends CardImpl<OrochiLeafcaller> {
this.color.setGreen(true);
this.power = 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) {

View file

@ -38,7 +38,7 @@ import mage.Mana;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.common.SimpleStaticAbility;
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.GainAbilityControlledEffect;
import mage.cards.CardImpl;
@ -68,7 +68,7 @@ public class SachiDaughterOfSeshiro extends CardImpl<SachiDaughterOfSeshiro> {
this.power = new MageInt(1);
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 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) {

View file

@ -35,7 +35,7 @@ import mage.MageInt;
import mage.Mana;
import mage.abilities.Ability;
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.cards.CardImpl;
@ -74,7 +74,7 @@ public class KnotvineMystic extends CardImpl<KnotvineMystic>{
class KnotvineMysticManaAbility extends BasicManaAbility<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.setRed(1);
this.netMana.setWhite(1);

View file

@ -30,17 +30,15 @@ package mage.sets.conflux;
import java.util.UUID;
import mage.Constants.CardType;
import mage.Constants.Rarity;
import mage.Constants.Zone;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.Ability;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.common.AddManaOfAnyColorEffect;
import mage.abilities.mana.AnyColorManaAbility;
import mage.cards.CardImpl;
import mage.choices.ChoiceColor;
/**
*
* @author North
* @author North, Loki
*/
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}");
this.expansionSetCode = "CON";
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(), new GenericManaCost(1));
ability.addChoice(new ChoiceColor());
Ability ability = new AnyColorManaAbility(new GenericManaCost(1));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}

View file

@ -31,16 +31,12 @@ package mage.sets.conflux;
import java.util.UUID;
import mage.Constants.CardType;
import mage.Constants.Rarity;
import mage.Constants.Zone;
import mage.abilities.common.EntersBattlefieldTappedAbility;
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.effects.common.AddManaOfAnyColorEffect;
import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect;
import mage.abilities.mana.AnyColorManaAbility;
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 EntersBattlefieldTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl("{1}")), false));
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(), new TapSourceCost());
ability.addChoice(new ChoiceColor());
this.addAbility(ability);
this.addAbility(new AnyColorManaAbility());
}
public RuptureSpire (final RuptureSpire card) {

View file

@ -29,13 +29,9 @@
package mage.sets.darksteel;
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.mana.AnyColorManaAbility;
import mage.cards.CardImpl;
import mage.choices.ChoiceColor;
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}");
this.expansionSetCode = "DST";
this.addAbility(IndestructibleAbility.getInstance());
Ability ability = new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(), new TapSourceCost());
ability.addChoice(new ChoiceColor());
this.addAbility(ability);
this.addAbility(new AnyColorManaAbility());
}
public DarksteelIngot(final DarksteelIngot card) {

View file

@ -38,7 +38,7 @@ import mage.Mana;
import mage.abilities.Ability;
import mage.abilities.costs.common.SacrificeTargetCost;
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.cards.CardImpl;
import mage.filter.Filter;
@ -84,7 +84,7 @@ public class KrarkClanStoker extends CardImpl<KrarkClanStoker> {
class KrarkClanStokerAbility extends BasicManaAbility<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);
}

View file

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

View file

@ -35,7 +35,7 @@ import mage.Constants.Rarity;
import mage.MageInt;
import mage.Mana;
import mage.abilities.common.PutIntoGraveFromBattlefieldTriggeredAbility;
import mage.abilities.effects.common.ManaEffect;
import mage.abilities.effects.common.BasicManaEffect;
import mage.cards.CardImpl;
/**
@ -49,7 +49,7 @@ public class MyrMoonvessel extends CardImpl<MyrMoonvessel> {
this.subtype.add("Myr");
this.power = 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) {

View file

@ -33,9 +33,7 @@ import java.util.UUID;
import mage.Constants.CardType;
import mage.Constants.Rarity;
import mage.Mana;
import mage.abilities.Ability;
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.cards.CardImpl;
@ -65,7 +63,7 @@ public class UrGolemsEye extends CardImpl<UrGolemsEye> {
class UrGolemsEyeAbility extends BasicManaAbility<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);
}

View file

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

View file

@ -34,7 +34,7 @@ import mage.Constants.CardType;
import mage.Constants.Rarity;
import mage.Mana;
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.ColorlessManaAbility;
import mage.cards.CardImpl;
@ -66,7 +66,7 @@ public class CascadeBluffs extends CardImpl<CascadeBluffs> {
class CascadeBluffsFirstManaAbility extends BasicManaAbility<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.netMana.setBlue(2);
}
@ -84,7 +84,7 @@ class CascadeBluffsFirstManaAbility extends BasicManaAbility<CascadeBluffsFirstM
class CascadeBluffsSecondManaAbility extends BasicManaAbility<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.netMana.setBlue(1);
this.netMana.setRed(1);
@ -103,7 +103,7 @@ class CascadeBluffsSecondManaAbility extends BasicManaAbility<CascadeBluffsSecon
class CascadeBluffsThirdManaAbility extends BasicManaAbility<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.netMana.setRed(2);
}

View file

@ -33,7 +33,7 @@ import mage.Constants.CardType;
import mage.Constants.Rarity;
import mage.Mana;
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.ColorlessManaAbility;
import mage.cards.CardImpl;
@ -67,7 +67,7 @@ public class FetidHeath extends CardImpl<FetidHeath> {
class FetidHeathFirstManaAbility extends BasicManaAbility<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.netMana.setWhite(2);
}
@ -85,7 +85,7 @@ class FetidHeathFirstManaAbility extends BasicManaAbility<FetidHeathFirstManaAbi
class FetidHeathSecondManaAbility extends BasicManaAbility<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.netMana.setBlack(1);
this.netMana.setWhite(1);
@ -104,7 +104,7 @@ class FetidHeathSecondManaAbility extends BasicManaAbility<FetidHeathSecondManaA
class FetidHeathThirdManaAbility extends BasicManaAbility<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.netMana.setBlack(2);
}

View file

@ -33,7 +33,7 @@ import mage.Constants.CardType;
import mage.Constants.Rarity;
import mage.Mana;
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.ColorlessManaAbility;
import mage.cards.CardImpl;
@ -67,7 +67,7 @@ public class FloodedGrove extends CardImpl<FloodedGrove> {
class FloodedGroveFirstManaAbility extends BasicManaAbility<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.netMana.setGreen(2);
}
@ -85,7 +85,7 @@ class FloodedGroveFirstManaAbility extends BasicManaAbility<FloodedGroveFirstMan
class FloodedGroveSecondManaAbility extends BasicManaAbility<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.netMana.setGreen(1);
this.netMana.setBlue(1);
@ -104,7 +104,7 @@ class FloodedGroveSecondManaAbility extends BasicManaAbility<FloodedGroveSecondM
class FloodedGroveThirdManaAbility extends BasicManaAbility<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.netMana.setBlue(2);
}

View file

@ -33,7 +33,7 @@ import mage.Constants.CardType;
import mage.Constants.Rarity;
import mage.Mana;
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.ColorlessManaAbility;
import mage.cards.CardImpl;
@ -66,7 +66,7 @@ public class RuggedPrairie extends CardImpl<RuggedPrairie> {
class RuggedPrairieFirstManaAbility extends BasicManaAbility<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.netMana.setRed(2);
}
@ -84,7 +84,7 @@ class RuggedPrairieFirstManaAbility extends BasicManaAbility<RuggedPrairieFirstM
class RuggedPrairieSecondManaAbility extends BasicManaAbility<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.netMana.setRed(1);
this.netMana.setWhite(1);
@ -103,7 +103,7 @@ class RuggedPrairieSecondManaAbility extends BasicManaAbility<RuggedPrairieSecon
class RuggedPrairieThirdManaAbility extends BasicManaAbility<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.netMana.setWhite(2);
}

View file

@ -33,7 +33,7 @@ import mage.Constants.CardType;
import mage.Constants.Rarity;
import mage.Mana;
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.ColorlessManaAbility;
import mage.cards.CardImpl;
@ -67,7 +67,7 @@ public class TwilightMire extends CardImpl<TwilightMire> {
class TwilightMireFirstManaAbility extends BasicManaAbility<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.netMana.setBlack(2);
}
@ -85,7 +85,7 @@ class TwilightMireFirstManaAbility extends BasicManaAbility<TwilightMireFirstMan
class TwilightMireSecondManaAbility extends BasicManaAbility<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.netMana.setBlack(1);
this.netMana.setGreen(1);
@ -104,7 +104,7 @@ class TwilightMireSecondManaAbility extends BasicManaAbility<TwilightMireSecondM
class TwilightMireThirdManaAbility extends BasicManaAbility<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.netMana.setGreen(2);
}

View file

@ -32,7 +32,7 @@ import java.util.UUID;
import mage.Constants.CardType;
import mage.Constants.Rarity;
import mage.Mana;
import mage.abilities.effects.common.ManaEffect;
import mage.abilities.effects.common.BasicManaEffect;
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}");
this.expansionSetCode = "M11";
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) {

View file

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

View file

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

View file

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

View file

@ -33,7 +33,7 @@ import mage.Constants.Rarity;
import mage.MageInt;
import mage.Mana;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.effects.common.ManaEffect;
import mage.abilities.effects.common.BasicManaEffect;
import mage.cards.CardImpl;
/**
@ -52,7 +52,7 @@ public class PriestOfUrabrask extends CardImpl<PriestOfUrabrask> {
this.power = new MageInt(2);
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) {

View file

@ -36,7 +36,7 @@ import mage.Constants.Zone;
import mage.Mana;
import mage.abilities.costs.common.TapSourceCost;
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.cards.CardImpl;
@ -64,7 +64,7 @@ public class BorosSignet extends CardImpl<BorosSignet> {
class BorosSignetAbility extends BasicManaAbility<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.netMana.setRed(1);
this.netMana.setWhite(1);

View file

@ -36,7 +36,7 @@ import mage.Constants.Zone;
import mage.Mana;
import mage.abilities.Ability;
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.ManaAbility;
import mage.cards.CardImpl;
@ -67,7 +67,7 @@ public class DimirSignet extends CardImpl<DimirSignet> {
class DimirSignetAbility extends BasicManaAbility<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.setBlack(1);
}

View file

@ -34,7 +34,7 @@ import mage.Constants.Rarity;
import mage.Mana;
import mage.abilities.Ability;
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.cards.CardImpl;
@ -65,7 +65,7 @@ public class GolgariSignet extends CardImpl<GolgariSignet> {
class GolgariSignetAbility extends BasicManaAbility<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.setBlack(1);
}

View file

@ -35,7 +35,7 @@ import mage.Constants.Rarity;
import mage.Mana;
import mage.abilities.Ability;
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.cards.CardImpl;
@ -66,7 +66,7 @@ public class SelesnyaSignet extends CardImpl<SelesnyaSignet> {
class SelesnyaSignetAbility extends BasicManaAbility<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.setWhite(1);
}

View file

@ -37,7 +37,7 @@ import mage.abilities.costs.common.SacrificeSourceCost;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.ManaEffect;
import mage.abilities.effects.common.BasicManaEffect;
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}");
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,
new DrawCardControllerEffect(3),
new GenericManaCost(3));

View file

@ -32,7 +32,7 @@ import mage.Constants.CardType;
import mage.Constants.Rarity;
import mage.MageObject;
import mage.Mana;
import mage.abilities.effects.common.ManaEffect;
import mage.abilities.effects.common.BasicManaEffect;
import mage.abilities.mana.BasicManaAbility;
import mage.abilities.mana.ColorlessManaAbility;
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>";
EldraziTempleManaAbility ( ) {
super(new ManaEffect(Mana.ColorlessMana(2)));
super(new BasicManaEffect(Mana.ColorlessMana(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.mana.ManaCostsImpl;
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.LevelUpAbility;
import mage.abilities.mana.SimpleManaAbility;
@ -75,13 +75,13 @@ public class JoragaTreespeaker extends LevelerCard<JoragaTreespeaker> {
this.addAbility(new LevelUpAbility(new ManaCostsImpl("{1}{G}")));
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));
Abilities<Ability> abilities2 = new AbilitiesImpl<Ability>();
abilities2.add(new SimpleStaticAbility(Zone.BATTLEFIELD,
new GainAbilityControlledEffect(new SimpleActivatedAbility(Zone.BATTLEFIELD,
new ManaEffect(Mana.GreenMana(2)),
new BasicManaEffect(Mana.GreenMana(2)),
new TapSourceCost()),
Duration.WhileOnBattlefield, filter)));
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.mana.ManaCostsImpl;
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.mana.ManaAbility;
import mage.cards.CardImpl;
@ -152,7 +152,7 @@ class GrandArchitectManaAbility extends ManaAbility<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);
}

View file

@ -30,19 +30,16 @@ package mage.sets.scarsofmirrodin;
import mage.Constants.CardType;
import mage.Constants.Rarity;
import mage.abilities.Ability;
import mage.abilities.costs.common.MetalcraftCost;
import mage.abilities.mana.AnyColorManaAbility;
import mage.cards.CardImpl;
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> {
@ -51,8 +48,7 @@ public class MoxOpal extends CardImpl<MoxOpal> {
this.supertype.add("Legendary");
this.expansionSetCode = "SOM";
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(), new TapSourceCost());
ability.addChoice(new ChoiceColor());
Ability ability = new AnyColorManaAbility();
ability.addCost(new MetalcraftCost());
this.addAbility(ability);
}

View file

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

View file

@ -31,18 +31,14 @@ package mage.sets.tenth;
import java.util.UUID;
import mage.Constants.CardType;
import mage.Constants.Rarity;
import mage.Constants.Zone;
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.mana.AnyColorManaAbility;
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> {
@ -56,9 +52,7 @@ public class BirdsOfParadise extends CardImpl<BirdsOfParadise> {
this.toughness = new MageInt(1);
this.addAbility(FlyingAbility.getInstance());
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(), new TapSourceCost());
ability.addChoice(new ChoiceColor());
this.addAbility(ability);
this.addAbility(new AnyColorManaAbility());
}
public BirdsOfParadise(final BirdsOfParadise card) {

View file

@ -35,7 +35,7 @@ import mage.MageInt;
import mage.Mana;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.common.ManaEffect;
import mage.abilities.effects.common.BasicManaEffect;
import mage.cards.CardImpl;
/**
@ -54,7 +54,7 @@ public class GreenweaverDruid extends CardImpl<GreenweaverDruid> {
this.power = 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) {

View file

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

View file

@ -40,10 +40,10 @@ import mage.players.Player;
*
* @author BetaSteward_at_googlemail.com
*/
public class AddManaOfAnyColorEffect extends OneShotEffect<AddManaOfAnyColorEffect> {
public class AddManaOfAnyColorEffect extends ManaEffect<AddManaOfAnyColorEffect> {
public AddManaOfAnyColorEffect() {
super(Outcome.PutManaInPool);
super();
}
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
*/
public class DynamicManaEffect extends ManaEffect {
public class DynamicManaEffect extends BasicManaEffect {
private Mana computedMana;
private DynamicValue amount;

View file

@ -38,37 +38,14 @@ import mage.game.Game;
*
* @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(Mana mana) {
public ManaEffect() {
super(Outcome.PutManaInPool);
this.mana = mana;
}
public ManaEffect(final ManaEffect 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;
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 BlackManaAbility() {
super(new ManaEffect(Mana.BlackMana));
super(new BasicManaEffect(Mana.BlackMana));
this.netMana.setBlack(1);
}

View file

@ -29,7 +29,7 @@
package mage.abilities.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 BlueManaAbility() {
super(new ManaEffect(Mana.BlueMana));
super(new BasicManaEffect(Mana.BlueMana));
this.netMana.setBlue(1);
}

View file

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

View file

@ -29,7 +29,7 @@
package mage.abilities.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 GreenManaAbility() {
super(new ManaEffect(Mana.GreenMana));
super(new BasicManaEffect(Mana.GreenMana));
this.netMana.setGreen(1);
}

View file

@ -29,7 +29,7 @@
package mage.abilities.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 RedManaAbility() {
super(new ManaEffect(Mana.RedMana));
super(new BasicManaEffect(Mana.RedMana));
this.netMana.setRed(1);
}

View file

@ -29,7 +29,7 @@
package mage.abilities.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 WhiteManaAbility() {
super(new ManaEffect(Mana.WhiteMana));
super(new BasicManaEffect(Mana.WhiteMana));
this.netMana.setWhite(1);
}

View file

@ -33,7 +33,7 @@ import mage.Constants.Zone;
import mage.MageInt;
import mage.Mana;
import mage.abilities.costs.common.SacrificeSourceCost;
import mage.abilities.effects.common.ManaEffect;
import mage.abilities.effects.common.BasicManaEffect;
import mage.abilities.mana.SimpleManaAbility;
/**
@ -49,7 +49,7 @@ public class EldraziSpawnToken extends Token {
subtype.add("Spawn");
power = new MageInt(0);
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()));
}
}