* Filter Lands - Fixed 6 filter lands (e.g. Flooded Grove) that used always only colorless mana if possible when used during spell casting. Now the ability chooser is shown to select the desired mana combination ability.

This commit is contained in:
LevelX2 2014-05-19 14:05:32 +02:00
parent 357308a265
commit 3eed00c2fe
6 changed files with 108 additions and 359 deletions

View file

@ -33,11 +33,12 @@ 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.costs.common.TapSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.BasicManaEffect;
import mage.abilities.mana.BasicManaAbility;
import mage.abilities.mana.ColorlessManaAbility; import mage.abilities.mana.ColorlessManaAbility;
import mage.abilities.mana.SimpleManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.constants.Zone;
/** /**
* @author Loki * @author Loki
@ -47,10 +48,22 @@ public class CascadeBluffs extends CardImpl<CascadeBluffs> {
public CascadeBluffs(UUID ownerId) { public CascadeBluffs(UUID ownerId) {
super(ownerId, 175, "Cascade Bluffs", Rarity.RARE, new CardType[]{CardType.LAND}, null); super(ownerId, 175, "Cascade Bluffs", Rarity.RARE, new CardType[]{CardType.LAND}, null);
this.expansionSetCode = "EVE"; this.expansionSetCode = "EVE";
// {tap}: Add {1} to your mana pool.
this.addAbility(new ColorlessManaAbility()); this.addAbility(new ColorlessManaAbility());
this.addAbility(new CascadeBluffsFirstManaAbility());
this.addAbility(new CascadeBluffsSecondManaAbility()); // {U/R}, {tap}: Add {U}{U}, {U}{R}, or {R}{R} to your mana pool.
this.addAbility(new CascadeBluffsThirdManaAbility()); SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.BlueMana(2), new ManaCostsImpl("{U/R}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(1, 0, 1, 0, 0, 0, 0), new ManaCostsImpl("{U/R}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.RedMana(2), new ManaCostsImpl("{U/R}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
} }
public CascadeBluffs(final CascadeBluffs card) { public CascadeBluffs(final CascadeBluffs card) {
@ -62,58 +75,3 @@ public class CascadeBluffs extends CardImpl<CascadeBluffs> {
return new CascadeBluffs(this); return new CascadeBluffs(this);
} }
} }
class CascadeBluffsFirstManaAbility extends BasicManaAbility<CascadeBluffsFirstManaAbility> {
public CascadeBluffsFirstManaAbility() {
super(new BasicManaEffect(new Mana(0, 0, 2, 0, 0, 0, 0)));
this.addManaCost(new ManaCostsImpl("{U/R}"));
this.netMana.setBlue(2);
}
public CascadeBluffsFirstManaAbility(final CascadeBluffsFirstManaAbility ability) {
super(ability);
}
@Override
public CascadeBluffsFirstManaAbility copy() {
return new CascadeBluffsFirstManaAbility(this);
}
}
class CascadeBluffsSecondManaAbility extends BasicManaAbility<CascadeBluffsSecondManaAbility> {
public CascadeBluffsSecondManaAbility() {
super(new BasicManaEffect(new Mana(1, 0, 1, 0, 0, 0, 0)));
this.addManaCost(new ManaCostsImpl("{U/R}"));
this.netMana.setBlue(1);
this.netMana.setRed(1);
}
public CascadeBluffsSecondManaAbility(final CascadeBluffsSecondManaAbility ability) {
super(ability);
}
@Override
public CascadeBluffsSecondManaAbility copy() {
return new CascadeBluffsSecondManaAbility(this);
}
}
class CascadeBluffsThirdManaAbility extends BasicManaAbility<CascadeBluffsThirdManaAbility> {
public CascadeBluffsThirdManaAbility() {
super(new BasicManaEffect(new Mana(2, 0, 0, 0, 0, 0, 0)));
this.addManaCost(new ManaCostsImpl("{U/R}"));
this.netMana.setRed(2);
}
public CascadeBluffsThirdManaAbility(final CascadeBluffsThirdManaAbility ability) {
super(ability);
}
@Override
public CascadeBluffsThirdManaAbility copy() {
return new CascadeBluffsThirdManaAbility(this);
}
}

View file

@ -32,11 +32,14 @@ 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.costs.common.TapSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.BasicManaEffect; 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.abilities.mana.SimpleManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.constants.Zone;
/** /**
* *
@ -47,10 +50,22 @@ public class FetidHeath extends CardImpl<FetidHeath> {
public FetidHeath (UUID ownerId) { public FetidHeath (UUID ownerId) {
super(ownerId, 176, "Fetid Heath", Rarity.RARE, new CardType[]{CardType.LAND}, null); super(ownerId, 176, "Fetid Heath", Rarity.RARE, new CardType[]{CardType.LAND}, null);
this.expansionSetCode = "EVE"; this.expansionSetCode = "EVE";
// {tap}: Add {1} to your mana pool.
this.addAbility(new ColorlessManaAbility()); this.addAbility(new ColorlessManaAbility());
this.addAbility(new FetidHeathFirstManaAbility());
this.addAbility(new FetidHeathSecondManaAbility()); // {W/B}, {tap}: Add {W}{W}, {W}{B}, or {B}{B} to your mana pool.
this.addAbility(new FetidHeathThirdManaAbility()); SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.WhiteMana(2), new ManaCostsImpl("{W/B}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 0, 0, 1, 1, 0, 0), new ManaCostsImpl("{W/B}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.BlackMana(2), new ManaCostsImpl("{W/B}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
} }
public FetidHeath (final FetidHeath card) { public FetidHeath (final FetidHeath card) {
@ -63,58 +78,3 @@ public class FetidHeath extends CardImpl<FetidHeath> {
} }
} }
class FetidHeathFirstManaAbility extends BasicManaAbility<FetidHeathFirstManaAbility> {
public FetidHeathFirstManaAbility() {
super(new BasicManaEffect(new Mana(0, 0, 0, 2, 0, 0, 0)));
this.addManaCost(new ManaCostsImpl("{W/B}"));
this.netMana.setWhite(2);
}
public FetidHeathFirstManaAbility(final FetidHeathFirstManaAbility ability) {
super(ability);
}
@Override
public FetidHeathFirstManaAbility copy() {
return new FetidHeathFirstManaAbility(this);
}
}
class FetidHeathSecondManaAbility extends BasicManaAbility<FetidHeathSecondManaAbility> {
public FetidHeathSecondManaAbility() {
super(new BasicManaEffect(new Mana(0, 0, 0, 1, 1, 0, 0)));
this.addManaCost(new ManaCostsImpl("{W/B}"));
this.netMana.setBlack(1);
this.netMana.setWhite(1);
}
public FetidHeathSecondManaAbility(final FetidHeathSecondManaAbility ability) {
super(ability);
}
@Override
public FetidHeathSecondManaAbility copy() {
return new FetidHeathSecondManaAbility(this);
}
}
class FetidHeathThirdManaAbility extends BasicManaAbility<FetidHeathThirdManaAbility> {
public FetidHeathThirdManaAbility() {
super(new BasicManaEffect(new Mana(0, 0, 0, 0, 2, 0, 0)));
this.addManaCost(new ManaCostsImpl("{W/B}"));
this.netMana.setBlack(2);
}
public FetidHeathThirdManaAbility(final FetidHeathThirdManaAbility ability) {
super(ability);
}
@Override
public FetidHeathThirdManaAbility copy() {
return new FetidHeathThirdManaAbility(this);
}
}

View file

@ -32,11 +32,15 @@ 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.costs.common.TapSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.BasicManaEffect; 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.abilities.mana.ManaAbility;
import mage.abilities.mana.SimpleManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.constants.Zone;
/** /**
* *
@ -47,10 +51,23 @@ public class FloodedGrove extends CardImpl<FloodedGrove> {
public FloodedGrove (UUID ownerId) { public FloodedGrove (UUID ownerId) {
super(ownerId, 177, "Flooded Grove", Rarity.RARE, new CardType[]{CardType.LAND}, null); super(ownerId, 177, "Flooded Grove", Rarity.RARE, new CardType[]{CardType.LAND}, null);
this.expansionSetCode = "EVE"; this.expansionSetCode = "EVE";
// {T}: Add {1} to your mana pool.
this.addAbility(new ColorlessManaAbility()); this.addAbility(new ColorlessManaAbility());
this.addAbility(new FloodedGroveFirstManaAbility());
this.addAbility(new FloodedGroveSecondManaAbility()); // {(G/U)}, {T}: Add {G}{G}, {G}{U}, or {U}{U} to your mana pool.
this.addAbility(new FloodedGroveThirdManaAbility()); SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.GreenMana(2), new ManaCostsImpl("{G/U}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 1, 1, 0, 0, 0, 0), new ManaCostsImpl("{G/U}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.BlueMana(2), new ManaCostsImpl("{G/U}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
} }
public FloodedGrove (final FloodedGrove card) { public FloodedGrove (final FloodedGrove card) {
@ -63,58 +80,3 @@ public class FloodedGrove extends CardImpl<FloodedGrove> {
} }
} }
class FloodedGroveFirstManaAbility extends BasicManaAbility<FloodedGroveFirstManaAbility> {
public FloodedGroveFirstManaAbility() {
super(new BasicManaEffect(new Mana(0, 2, 0, 0, 0, 0, 0)));
this.addManaCost(new ManaCostsImpl("{G/U}"));
this.netMana.setGreen(2);
}
public FloodedGroveFirstManaAbility(final FloodedGroveFirstManaAbility ability) {
super(ability);
}
@Override
public FloodedGroveFirstManaAbility copy() {
return new FloodedGroveFirstManaAbility(this);
}
}
class FloodedGroveSecondManaAbility extends BasicManaAbility<FloodedGroveSecondManaAbility> {
public FloodedGroveSecondManaAbility() {
super(new BasicManaEffect(new Mana(0, 1, 1, 0, 0, 0, 0)));
this.addManaCost(new ManaCostsImpl("{G/U}"));
this.netMana.setGreen(1);
this.netMana.setBlue(1);
}
public FloodedGroveSecondManaAbility(final FloodedGroveSecondManaAbility ability) {
super(ability);
}
@Override
public FloodedGroveSecondManaAbility copy() {
return new FloodedGroveSecondManaAbility(this);
}
}
class FloodedGroveThirdManaAbility extends BasicManaAbility<FloodedGroveThirdManaAbility> {
public FloodedGroveThirdManaAbility() {
super(new BasicManaEffect(new Mana(0, 0, 2, 0, 0, 0, 0)));
this.addManaCost(new ManaCostsImpl("{G/U}"));
this.netMana.setBlue(2);
}
public FloodedGroveThirdManaAbility(final FloodedGroveThirdManaAbility ability) {
super(ability);
}
@Override
public FloodedGroveThirdManaAbility copy() {
return new FloodedGroveThirdManaAbility(this);
}
}

View file

@ -32,11 +32,12 @@ 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.costs.common.TapSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.BasicManaEffect;
import mage.abilities.mana.BasicManaAbility;
import mage.abilities.mana.ColorlessManaAbility; import mage.abilities.mana.ColorlessManaAbility;
import mage.abilities.mana.SimpleManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.constants.Zone;
/** /**
* *
@ -47,10 +48,21 @@ public class RuggedPrairie extends CardImpl<RuggedPrairie> {
public RuggedPrairie (UUID ownerId) { public RuggedPrairie (UUID ownerId) {
super(ownerId, 178, "Rugged Prairie", Rarity.RARE, new CardType[]{CardType.LAND}, ""); super(ownerId, 178, "Rugged Prairie", Rarity.RARE, new CardType[]{CardType.LAND}, "");
this.expansionSetCode = "EVE"; this.expansionSetCode = "EVE";
// {T}: Add {1} to your mana pool.
this.addAbility(new ColorlessManaAbility()); this.addAbility(new ColorlessManaAbility());
this.addAbility(new RuggedPrairieFirstManaAbility());
this.addAbility(new RuggedPrairieSecondManaAbility()); // {R/W}, {tap}: Add {R}{R}, {R}{W}, or {W}{W} to your mana pool.
this.addAbility(new RuggedPrairieThirdManaAbility()); SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.RedMana(2), new ManaCostsImpl("{R/W}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(1, 0, 0, 1, 0, 0, 0), new ManaCostsImpl("{R/W}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.WhiteMana(2), new ManaCostsImpl("{R/W}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
} }
public RuggedPrairie (final RuggedPrairie card) { public RuggedPrairie (final RuggedPrairie card) {
@ -62,58 +74,3 @@ public class RuggedPrairie extends CardImpl<RuggedPrairie> {
return new RuggedPrairie(this); return new RuggedPrairie(this);
} }
} }
class RuggedPrairieFirstManaAbility extends BasicManaAbility<RuggedPrairieFirstManaAbility> {
public RuggedPrairieFirstManaAbility() {
super(new BasicManaEffect(new Mana(2, 0, 0, 0, 0, 0, 0)));
this.addManaCost(new ManaCostsImpl("{R/W}"));
this.netMana.setRed(2);
}
public RuggedPrairieFirstManaAbility(final RuggedPrairieFirstManaAbility ability) {
super(ability);
}
@Override
public RuggedPrairieFirstManaAbility copy() {
return new RuggedPrairieFirstManaAbility(this);
}
}
class RuggedPrairieSecondManaAbility extends BasicManaAbility<RuggedPrairieSecondManaAbility> {
public RuggedPrairieSecondManaAbility() {
super(new BasicManaEffect(new Mana(1, 0, 0, 1, 0, 0, 0)));
this.addManaCost(new ManaCostsImpl("{R/W}"));
this.netMana.setRed(1);
this.netMana.setWhite(1);
}
public RuggedPrairieSecondManaAbility(final RuggedPrairieSecondManaAbility ability) {
super(ability);
}
@Override
public RuggedPrairieSecondManaAbility copy() {
return new RuggedPrairieSecondManaAbility(this);
}
}
class RuggedPrairieThirdManaAbility extends BasicManaAbility<RuggedPrairieThirdManaAbility> {
public RuggedPrairieThirdManaAbility() {
super(new BasicManaEffect(new Mana(0, 0, 0, 2, 0, 0, 0)));
this.addManaCost(new ManaCostsImpl("{R/W}"));
this.netMana.setWhite(2);
}
public RuggedPrairieThirdManaAbility(final RuggedPrairieThirdManaAbility ability) {
super(ability);
}
@Override
public RuggedPrairieThirdManaAbility copy() {
return new RuggedPrairieThirdManaAbility(this);
}
}

View file

@ -32,11 +32,12 @@ 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.costs.common.TapSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.BasicManaEffect;
import mage.abilities.mana.BasicManaAbility;
import mage.abilities.mana.ColorlessManaAbility; import mage.abilities.mana.ColorlessManaAbility;
import mage.abilities.mana.SimpleManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.constants.Zone;
/** /**
* *
@ -47,11 +48,22 @@ public class TwilightMire extends CardImpl<TwilightMire> {
public TwilightMire (UUID ownerId) { public TwilightMire (UUID ownerId) {
super(ownerId, 180, "Twilight Mire", Rarity.RARE, new CardType[]{CardType.LAND}, null); super(ownerId, 180, "Twilight Mire", Rarity.RARE, new CardType[]{CardType.LAND}, null);
this.expansionSetCode = "EVE"; this.expansionSetCode = "EVE";
// {R/W}, {tap}: Add {R}{R}, {R}{W}, or {W}{W} to your mana pool.
this.addAbility(new ColorlessManaAbility()); this.addAbility(new ColorlessManaAbility());
this.addAbility(new TwilightMireFirstManaAbility());
this.addAbility(new TwilightMireSecondManaAbility()); // {B/G}, {tap}: Add {B}{B}, {B}{G}, or {G}{G} to your mana pool.
this.addAbility(new TwilightMireThirdManaAbility()); SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.BlackMana(2), new ManaCostsImpl("{B/G}"));
} ability.addCost(new TapSourceCost());
this.addAbility(ability);
ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 1, 0, 0, 1, 0, 0), new ManaCostsImpl("{B/G}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.GreenMana(2), new ManaCostsImpl("{B/G}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability); }
public TwilightMire (final TwilightMire card) { public TwilightMire (final TwilightMire card) {
super(card); super(card);
@ -63,58 +75,3 @@ public class TwilightMire extends CardImpl<TwilightMire> {
} }
} }
class TwilightMireFirstManaAbility extends BasicManaAbility<TwilightMireFirstManaAbility> {
public TwilightMireFirstManaAbility() {
super(new BasicManaEffect(new Mana(0, 0, 0, 0, 2, 0, 0)));
this.addManaCost(new ManaCostsImpl("{B/G}"));
this.netMana.setBlack(2);
}
public TwilightMireFirstManaAbility(final TwilightMireFirstManaAbility ability) {
super(ability);
}
@Override
public TwilightMireFirstManaAbility copy() {
return new TwilightMireFirstManaAbility(this);
}
}
class TwilightMireSecondManaAbility extends BasicManaAbility<TwilightMireSecondManaAbility> {
public TwilightMireSecondManaAbility() {
super(new BasicManaEffect(new Mana(0, 1, 0, 0, 1, 0, 0)));
this.addManaCost(new ManaCostsImpl("{B/G}"));
this.netMana.setBlack(1);
this.netMana.setGreen(1);
}
public TwilightMireSecondManaAbility(final TwilightMireSecondManaAbility ability) {
super(ability);
}
@Override
public TwilightMireSecondManaAbility copy() {
return new TwilightMireSecondManaAbility(this);
}
}
class TwilightMireThirdManaAbility extends BasicManaAbility<TwilightMireThirdManaAbility> {
public TwilightMireThirdManaAbility() {
super(new BasicManaEffect(new Mana(0, 2, 0, 0, 0, 0, 0)));
this.addManaCost(new ManaCostsImpl("{B/G}"));
this.netMana.setGreen(2);
}
public TwilightMireThirdManaAbility(final TwilightMireThirdManaAbility ability) {
super(ability);
}
@Override
public TwilightMireThirdManaAbility copy() {
return new TwilightMireThirdManaAbility(this);
}
}

View file

@ -31,11 +31,12 @@ 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.costs.common.TapSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.BasicManaEffect;
import mage.abilities.mana.BasicManaAbility;
import mage.abilities.mana.ColorlessManaAbility; import mage.abilities.mana.ColorlessManaAbility;
import mage.abilities.mana.SimpleManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.constants.Zone;
/** /**
* *
@ -47,12 +48,21 @@ public class GravenCairns extends CardImpl<GravenCairns> {
super(ownerId, 272, "Graven Cairns", Rarity.RARE, new CardType[]{CardType.LAND}, ""); super(ownerId, 272, "Graven Cairns", Rarity.RARE, new CardType[]{CardType.LAND}, "");
this.expansionSetCode = "SHM"; this.expansionSetCode = "SHM";
// {tap}: Add {1} to your mana pool. // {T}: Add {1} to your mana pool.
this.addAbility(new ColorlessManaAbility()); this.addAbility(new ColorlessManaAbility());
// {BR}, {tap}: Add {B}{B}, {B}{R}, or {R}{R} to your mana pool.
this.addAbility(new GravenCairnsFirstManaAbility()); // {B/R}, {tap}: Add {B}{B}, {B}{R}, or {R}{R} to your mana pool.
this.addAbility(new GravenCairnsSecondManaAbility()); SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.BlackMana(2), new ManaCostsImpl("{B/R}"));
this.addAbility(new GravenCairnsThirdManaAbility()); ability.addCost(new TapSourceCost());
this.addAbility(ability);
ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(1, 0, 0, 0, 1, 0, 0), new ManaCostsImpl("{B/R}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.RedMana(2), new ManaCostsImpl("{B/R}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
} }
public GravenCairns(final GravenCairns card) { public GravenCairns(final GravenCairns card) {
@ -64,58 +74,3 @@ public class GravenCairns extends CardImpl<GravenCairns> {
return new GravenCairns(this); return new GravenCairns(this);
} }
} }
class GravenCairnsFirstManaAbility extends BasicManaAbility<GravenCairnsFirstManaAbility> {
public GravenCairnsFirstManaAbility() {
super(new BasicManaEffect(new Mana(0, 0, 0, 0, 2, 0, 0)));
this.addManaCost(new ManaCostsImpl("{B/R}"));
this.netMana.setBlack(2);
}
public GravenCairnsFirstManaAbility(final GravenCairnsFirstManaAbility ability) {
super(ability);
}
@Override
public GravenCairnsFirstManaAbility copy() {
return new GravenCairnsFirstManaAbility(this);
}
}
class GravenCairnsSecondManaAbility extends BasicManaAbility<GravenCairnsSecondManaAbility> {
public GravenCairnsSecondManaAbility() {
super(new BasicManaEffect(new Mana(1, 0, 0, 0, 1, 0, 0)));
this.addManaCost(new ManaCostsImpl("{B/R}"));
this.netMana.setBlack(1);
this.netMana.setRed(1);
}
public GravenCairnsSecondManaAbility(final GravenCairnsSecondManaAbility ability) {
super(ability);
}
@Override
public GravenCairnsSecondManaAbility copy() {
return new GravenCairnsSecondManaAbility(this);
}
}
class GravenCairnsThirdManaAbility extends BasicManaAbility<GravenCairnsThirdManaAbility> {
public GravenCairnsThirdManaAbility() {
super(new BasicManaEffect(new Mana(2, 0, 0, 0, 0, 0, 0)));
this.addManaCost(new ManaCostsImpl("{B/R}"));
this.netMana.setRed(2);
}
public GravenCairnsThirdManaAbility(final GravenCairnsThirdManaAbility ability) {
super(ability);
}
@Override
public GravenCairnsThirdManaAbility copy() {
return new GravenCairnsThirdManaAbility(this);
}
}