mirror of
https://github.com/magefree/mage.git
synced 2026-01-26 13:19:18 -08:00
Fixed a lot of storage lands to calculate available mana correctly.
This commit is contained in:
parent
e4005c0a35
commit
193177d999
12 changed files with 141 additions and 82 deletions
|
|
@ -25,24 +25,26 @@
|
|||
* authors and should not be interpreted as representing official policies, either expressed
|
||||
* or implied, of BetaSteward_at_googlemail.com.
|
||||
*/
|
||||
|
||||
package mage.sets.betrayersofkamigawa;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Rarity;
|
||||
import mage.MageInt;
|
||||
import mage.Mana;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SpellCastControllerTriggeredAbility;
|
||||
import mage.abilities.costs.Cost;
|
||||
import mage.abilities.costs.common.RemoveVariableCountersSourceCost;
|
||||
import mage.abilities.costs.mana.GenericManaCost;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.dynamicvalue.common.CountersCount;
|
||||
import mage.abilities.dynamicvalue.common.RemovedCountersForCostValue;
|
||||
import mage.abilities.effects.common.ManaEffect;
|
||||
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||
import mage.abilities.mana.BasicManaAbility;
|
||||
import mage.abilities.mana.DynamicManaAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.choices.ChoiceColor;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Rarity;
|
||||
import mage.counters.CounterType;
|
||||
import mage.filter.common.FilterSpiritOrArcaneCard;
|
||||
import mage.game.Game;
|
||||
|
|
@ -62,14 +64,19 @@ public class PetalmaneBaku extends CardImpl {
|
|||
|
||||
this.power = new MageInt(1);
|
||||
this.toughness = new MageInt(2);
|
||||
|
||||
|
||||
// Whenever you cast a Spirit or Arcane spell, you may put a ki counter on Skullmane Baku.
|
||||
this.addAbility(new SpellCastControllerTriggeredAbility(new AddCountersSourceEffect(CounterType.KI.createInstance()), filter, true));
|
||||
|
||||
// {1}, Remove X ki counters from Petalmane Baku: Add X mana of any one color to your mana pool.
|
||||
Ability ability = new PetalmaneBakuManaAbility();
|
||||
ability.addCost(new GenericManaCost(1));
|
||||
ability.addCost(new RemoveVariableCountersSourceCost(CounterType.KI.createInstance(1)));
|
||||
Ability ability = new DynamicManaAbility(
|
||||
new Mana(0, 0, 0, 0, 0, 0, 1),
|
||||
new RemovedCountersForCostValue(),
|
||||
new TapSourceCost(),
|
||||
"Add X mana of any one color to your mana pool",
|
||||
true, new CountersCount(CounterType.KI));
|
||||
ability.addCost(new RemoveVariableCountersSourceCost(CounterType.STORAGE.createInstance(),
|
||||
"Remove X ki counters from {this}"));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
@ -81,8 +88,9 @@ public class PetalmaneBaku extends CardImpl {
|
|||
public PetalmaneBaku copy() {
|
||||
return new PetalmaneBaku(this);
|
||||
}
|
||||
|
||||
|
||||
private class PetalmaneBakuManaAbility extends BasicManaAbility {
|
||||
|
||||
PetalmaneBakuManaAbility() {
|
||||
super(new PetalmaneBakuManaEffect());
|
||||
this.addChoice(new ChoiceColor());
|
||||
|
|
@ -96,7 +104,7 @@ public class PetalmaneBaku extends CardImpl {
|
|||
public PetalmaneBakuManaAbility copy() {
|
||||
return new PetalmaneBakuManaAbility(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private class PetalmaneBakuManaEffect extends ManaEffect {
|
||||
|
||||
|
|
@ -118,9 +126,9 @@ public class PetalmaneBaku extends CardImpl {
|
|||
int numberOfMana = 0;
|
||||
for (Cost cost : source.getCosts()) {
|
||||
if (cost instanceof RemoveVariableCountersSourceCost) {
|
||||
numberOfMana = ((RemoveVariableCountersSourceCost)cost).getAmount();
|
||||
numberOfMana = ((RemoveVariableCountersSourceCost) cost).getAmount();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (choice.getColor().isBlack()) {
|
||||
player.getManaPool().addMana(new Mana(0, 0, 0, 0, numberOfMana, 0, 0), game, source);
|
||||
return true;
|
||||
|
|
@ -152,5 +160,4 @@ public class PetalmaneBaku extends CardImpl {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,7 +35,9 @@ import mage.abilities.common.EntersBattlefieldTappedAbility;
|
|||
import mage.abilities.common.SkipUntapOptionalAbility;
|
||||
import mage.abilities.condition.common.SourceTappedCondition;
|
||||
import mage.abilities.costs.common.RemoveVariableCountersSourceCost;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.decorator.ConditionalOneShotEffect;
|
||||
import mage.abilities.dynamicvalue.common.CountersCount;
|
||||
import mage.abilities.dynamicvalue.common.RemovedCountersForCostValue;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
|
|
@ -67,10 +69,14 @@ public class BottomlessVault extends CardImpl {
|
|||
Effect effect = new ConditionalOneShotEffect(addStorageCounter, SourceTappedCondition.getInstance(), "if {this} is tapped, put a storage counter on it");
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, effect, TargetController.YOU, false));
|
||||
// {tap}, Remove any number of storage counters from Bottomless Vault: Add {B} to your mana pool for each storage counter removed this way.
|
||||
Ability ability = new DynamicManaAbility(Mana.BlackMana, new RemovedCountersForCostValue(),
|
||||
"Add {B} to your mana pool for each storage counter removed this way");
|
||||
ability.addCost(new RemoveVariableCountersSourceCost(
|
||||
CounterType.STORAGE.createInstance(), "Remove any number of storage counters from {this}"));
|
||||
Ability ability = new DynamicManaAbility(
|
||||
Mana.BlackMana,
|
||||
new RemovedCountersForCostValue(),
|
||||
new TapSourceCost(),
|
||||
"Add {B} to your mana pool for each storage counter removed this way",
|
||||
true, new CountersCount(CounterType.STORAGE));
|
||||
ability.addCost(new RemoveVariableCountersSourceCost(CounterType.STORAGE.createInstance(),
|
||||
"Remove any number of storage counters from {this}"));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,9 @@ import mage.abilities.common.EntersBattlefieldTappedAbility;
|
|||
import mage.abilities.common.SkipUntapOptionalAbility;
|
||||
import mage.abilities.condition.common.SourceTappedCondition;
|
||||
import mage.abilities.costs.common.RemoveVariableCountersSourceCost;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.decorator.ConditionalOneShotEffect;
|
||||
import mage.abilities.dynamicvalue.common.CountersCount;
|
||||
import mage.abilities.dynamicvalue.common.RemovedCountersForCostValue;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
|
|
@ -67,10 +69,14 @@ public class HollowTrees extends CardImpl {
|
|||
Effect effect = new ConditionalOneShotEffect(addStorageCounter, SourceTappedCondition.getInstance(), "if {this} is tapped, put a storage counter on it");
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, effect, TargetController.YOU, false));
|
||||
// {tap}, Remove any number of storage counters from Hollow Trees: Add {G} to your mana pool for each storage counter removed this way.
|
||||
Ability ability = new DynamicManaAbility(Mana.BlackMana, new RemovedCountersForCostValue(),
|
||||
"Add {B} to your mana pool for each storage counter removed this way");
|
||||
ability.addCost(new RemoveVariableCountersSourceCost(
|
||||
CounterType.STORAGE.createInstance(), "Remove any number of storage counters from {this}"));
|
||||
Ability ability = new DynamicManaAbility(
|
||||
Mana.GreenMana,
|
||||
new RemovedCountersForCostValue(),
|
||||
new TapSourceCost(),
|
||||
"Add {G} to your mana pool for each storage counter removed this way",
|
||||
true, new CountersCount(CounterType.STORAGE));
|
||||
ability.addCost(new RemoveVariableCountersSourceCost(CounterType.STORAGE.createInstance(),
|
||||
"Remove any number of storage counters from {this}"));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,9 @@ import mage.abilities.common.EntersBattlefieldTappedAbility;
|
|||
import mage.abilities.common.SkipUntapOptionalAbility;
|
||||
import mage.abilities.condition.common.SourceTappedCondition;
|
||||
import mage.abilities.costs.common.RemoveVariableCountersSourceCost;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.decorator.ConditionalOneShotEffect;
|
||||
import mage.abilities.dynamicvalue.common.CountersCount;
|
||||
import mage.abilities.dynamicvalue.common.RemovedCountersForCostValue;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
|
|
@ -67,10 +69,14 @@ public class IcatianStore extends CardImpl {
|
|||
Effect effect = new ConditionalOneShotEffect(addStorageCounter, SourceTappedCondition.getInstance(), "if {this} is tapped, put a storage counter on it");
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, effect, TargetController.YOU, false));
|
||||
// {tap}, Remove any number of storage counters from Icatian Store: Add {W} to your mana pool for each storage counter removed this way.
|
||||
Ability ability = new DynamicManaAbility(Mana.WhiteMana, new RemovedCountersForCostValue(),
|
||||
"Add {W} to your mana pool for each storage counter removed this way");
|
||||
ability.addCost(new RemoveVariableCountersSourceCost(
|
||||
CounterType.STORAGE.createInstance(), "Remove any number of storage counters from {this}"));
|
||||
Ability ability = new DynamicManaAbility(
|
||||
Mana.WhiteMana,
|
||||
new RemovedCountersForCostValue(),
|
||||
new TapSourceCost(),
|
||||
"Add {W} to your mana pool for each storage counter removed this way",
|
||||
true, new CountersCount(CounterType.STORAGE));
|
||||
ability.addCost(new RemoveVariableCountersSourceCost(CounterType.STORAGE.createInstance(),
|
||||
"Remove any number of storage counters from {this}"));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,9 @@ import mage.abilities.common.EntersBattlefieldTappedAbility;
|
|||
import mage.abilities.common.SkipUntapOptionalAbility;
|
||||
import mage.abilities.condition.common.SourceTappedCondition;
|
||||
import mage.abilities.costs.common.RemoveVariableCountersSourceCost;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.decorator.ConditionalOneShotEffect;
|
||||
import mage.abilities.dynamicvalue.common.CountersCount;
|
||||
import mage.abilities.dynamicvalue.common.RemovedCountersForCostValue;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
|
|
@ -67,10 +69,14 @@ public class DwarvenHold extends CardImpl {
|
|||
Effect effect = new ConditionalOneShotEffect(addStorageCounter, SourceTappedCondition.getInstance(), "if {this} is tapped, put a storage counter on it");
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, effect, TargetController.YOU, false));
|
||||
// {tap}, Remove any number of storage counters from Dwarven Hold: Add {R} to your mana pool for each storage counter removed this way.
|
||||
Ability ability = new DynamicManaAbility(Mana.RedMana, new RemovedCountersForCostValue(),
|
||||
"Add {R} to your mana pool for each storage counter removed this way");
|
||||
ability.addCost(new RemoveVariableCountersSourceCost(
|
||||
CounterType.STORAGE.createInstance(), "Remove any number of storage counters from {this}"));
|
||||
Ability ability = new DynamicManaAbility(
|
||||
Mana.RedMana,
|
||||
new RemovedCountersForCostValue(),
|
||||
new TapSourceCost(),
|
||||
"Add {R} to your mana pool for each storage counter removed this way",
|
||||
true, new CountersCount(CounterType.STORAGE));
|
||||
ability.addCost(new RemoveVariableCountersSourceCost(CounterType.STORAGE.createInstance(),
|
||||
"Remove any number of storage counters from {this}"));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,9 @@ import mage.abilities.common.EntersBattlefieldTappedAbility;
|
|||
import mage.abilities.common.SkipUntapOptionalAbility;
|
||||
import mage.abilities.condition.common.SourceTappedCondition;
|
||||
import mage.abilities.costs.common.RemoveVariableCountersSourceCost;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.decorator.ConditionalOneShotEffect;
|
||||
import mage.abilities.dynamicvalue.common.CountersCount;
|
||||
import mage.abilities.dynamicvalue.common.RemovedCountersForCostValue;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
|
|
@ -67,10 +69,14 @@ public class SandSilos extends CardImpl {
|
|||
Effect effect = new ConditionalOneShotEffect(addStorageCounter, SourceTappedCondition.getInstance(), "if {this} is tapped, put a storage counter on it");
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, effect, TargetController.YOU, false));
|
||||
// {tap}, Remove any number of storage counters from Sand Silos: Add {U} to your mana pool for each storage counter removed this way.
|
||||
Ability ability = new DynamicManaAbility(Mana.BlueMana, new RemovedCountersForCostValue(),
|
||||
"Add {U} to your mana pool for each storage counter removed this way");
|
||||
ability.addCost(new RemoveVariableCountersSourceCost(
|
||||
CounterType.STORAGE.createInstance(), "Remove any number of storage counters from {this}"));
|
||||
Ability ability = new DynamicManaAbility(
|
||||
Mana.BlueMana,
|
||||
new RemovedCountersForCostValue(),
|
||||
new TapSourceCost(),
|
||||
"Add {U} to your mana pool for each storage counter removed this way",
|
||||
true, new CountersCount(CounterType.STORAGE));
|
||||
ability.addCost(new RemoveVariableCountersSourceCost(CounterType.STORAGE.createInstance(),
|
||||
"Remove any number of storage counters from {this}"));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ import mage.abilities.common.EntersBattlefieldTappedAbility;
|
|||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.common.RemoveVariableCountersSourceCost;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.dynamicvalue.common.CountersCount;
|
||||
import mage.abilities.dynamicvalue.common.RemovedCountersForCostValue;
|
||||
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||
import mage.abilities.mana.DynamicManaAbility;
|
||||
|
|
@ -57,11 +58,15 @@ public class FountainOfCho extends CardImpl {
|
|||
this.addAbility(new EntersBattlefieldTappedAbility());
|
||||
// {tap}: Put a storage counter on Fountain of Cho.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.STORAGE.createInstance()), new TapSourceCost()));
|
||||
// {tap}, Remove any number of storage counters from Fountain of Cho: Add {W} to your mana pool for each storage counter removed this way.
|
||||
Ability ability = new DynamicManaAbility(Mana.WhiteMana, new RemovedCountersForCostValue(),
|
||||
"Add {W} to your mana pool for each storage counter removed this way");
|
||||
ability.addCost(new RemoveVariableCountersSourceCost(
|
||||
CounterType.STORAGE.createInstance(), "Remove any number of storage counters from {this}"));
|
||||
// {T}, Remove any number of storage counters from Fountain of Cho: Add {W} to your mana pool for each storage counter removed this way.
|
||||
Ability ability = new DynamicManaAbility(
|
||||
Mana.WhiteMana,
|
||||
new RemovedCountersForCostValue(),
|
||||
new TapSourceCost(),
|
||||
"Add {W} to your mana pool for each storage counter removed this way",
|
||||
true, new CountersCount(CounterType.STORAGE));
|
||||
ability.addCost(new RemoveVariableCountersSourceCost(CounterType.STORAGE.createInstance(),
|
||||
"Remove any number of storage counters from {this}"));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ import mage.abilities.common.EntersBattlefieldTappedAbility;
|
|||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.common.RemoveVariableCountersSourceCost;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.dynamicvalue.common.CountersCount;
|
||||
import mage.abilities.dynamicvalue.common.RemovedCountersForCostValue;
|
||||
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||
import mage.abilities.mana.DynamicManaAbility;
|
||||
|
|
@ -58,10 +59,14 @@ public class MercadianBazaar extends CardImpl {
|
|||
// {tap}: Put a storage counter on Mercadian Bazaar.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.STORAGE.createInstance()), new TapSourceCost()));
|
||||
// {tap}, Remove any number of storage counters from Mercadian Bazaar: Add {R} to your mana pool for each storage counter removed this way.
|
||||
Ability ability = new DynamicManaAbility(Mana.RedMana, new RemovedCountersForCostValue(),
|
||||
"Add {R} to your mana pool for each storage counter removed this way");
|
||||
ability.addCost(new RemoveVariableCountersSourceCost(
|
||||
CounterType.STORAGE.createInstance(), "Remove any number of storage counters from {this}"));
|
||||
Ability ability = new DynamicManaAbility(
|
||||
Mana.RedMana,
|
||||
new RemovedCountersForCostValue(),
|
||||
new TapSourceCost(),
|
||||
"Add {R} to your mana pool for each storage counter removed this way",
|
||||
true, new CountersCount(CounterType.STORAGE));
|
||||
ability.addCost(new RemoveVariableCountersSourceCost(CounterType.STORAGE.createInstance(),
|
||||
"Remove any number of storage counters from {this}"));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ import mage.abilities.common.EntersBattlefieldTappedAbility;
|
|||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.common.RemoveVariableCountersSourceCost;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.dynamicvalue.common.CountersCount;
|
||||
import mage.abilities.dynamicvalue.common.RemovedCountersForCostValue;
|
||||
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||
import mage.abilities.mana.DynamicManaAbility;
|
||||
|
|
@ -55,13 +56,17 @@ public class RushwoodGrove extends CardImpl {
|
|||
|
||||
// Rushwood Grove enters the battlefield tapped.
|
||||
this.addAbility(new EntersBattlefieldTappedAbility());
|
||||
// {tap}: Put a storage counter on Rushwood Grove.
|
||||
// {T}: Put a storage counter on Rushwood Grove.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.STORAGE.createInstance()), new TapSourceCost()));
|
||||
// {tap}, Remove any number of storage counters from Rushwood Grove: Add {G} to your mana pool for each storage counter removed this way.
|
||||
Ability ability = new DynamicManaAbility(Mana.GreenMana, new RemovedCountersForCostValue(),
|
||||
"Add {G} to your mana pool for each storage counter removed this way");
|
||||
ability.addCost(new RemoveVariableCountersSourceCost(
|
||||
CounterType.STORAGE.createInstance(), "Remove any number of storage counters from {this}"));
|
||||
// {T}, Remove any number of storage counters from Rushwood Grove: Add {G} to your mana pool for each storage counter removed this way.
|
||||
Ability ability = new DynamicManaAbility(
|
||||
Mana.GreenMana,
|
||||
new RemovedCountersForCostValue(),
|
||||
new TapSourceCost(),
|
||||
"Add {G} to your mana pool for each storage counter removed this way",
|
||||
true, new CountersCount(CounterType.STORAGE));
|
||||
ability.addCost(new RemoveVariableCountersSourceCost(CounterType.STORAGE.createInstance(),
|
||||
"Remove any number of storage counters from {this}"));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -34,13 +34,12 @@ import mage.abilities.common.EntersBattlefieldTappedAbility;
|
|||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.common.RemoveVariableCountersSourceCost;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.dynamicvalue.common.CountersCount;
|
||||
import mage.abilities.dynamicvalue.common.RemovedCountersForCostValue;
|
||||
import mage.abilities.effects.common.AddManaInAnyCombinationEffect;
|
||||
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||
import mage.abilities.mana.DynamicManaAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.ColoredManaSymbol;
|
||||
import mage.constants.Rarity;
|
||||
import mage.constants.Zone;
|
||||
import mage.counters.CounterType;
|
||||
|
|
@ -60,10 +59,14 @@ public class SaprazzanCove extends CardImpl {
|
|||
// {tap}: Put a storage counter on Saprazzan Cove.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.STORAGE.createInstance()), new TapSourceCost()));
|
||||
// {tap}, Remove any number of storage counters from Saprazzan Cove: Add {U} to your mana pool for each storage counter removed this way.
|
||||
Ability ability = new DynamicManaAbility(Mana.BlueMana, new RemovedCountersForCostValue(),
|
||||
"Add {U} to your mana pool for each storage counter removed this way");
|
||||
ability.addCost(new RemoveVariableCountersSourceCost(
|
||||
CounterType.STORAGE.createInstance(), "Remove any number of storage counters from {this}"));
|
||||
Ability ability = new DynamicManaAbility(
|
||||
Mana.BlueMana,
|
||||
new RemovedCountersForCostValue(),
|
||||
new TapSourceCost(),
|
||||
"Add {U} to your mana pool for each storage counter removed this way",
|
||||
true, new CountersCount(CounterType.STORAGE));
|
||||
ability.addCost(new RemoveVariableCountersSourceCost(CounterType.STORAGE.createInstance(),
|
||||
"Remove any number of storage counters from {this}"));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ import mage.abilities.common.EntersBattlefieldTappedAbility;
|
|||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.common.RemoveVariableCountersSourceCost;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.dynamicvalue.common.CountersCount;
|
||||
import mage.abilities.dynamicvalue.common.RemovedCountersForCostValue;
|
||||
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||
import mage.abilities.mana.DynamicManaAbility;
|
||||
|
|
@ -58,10 +59,14 @@ public class SubterraneanHangar extends CardImpl {
|
|||
// {tap}: Put a storage counter on Subterranean Hangar.
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.STORAGE.createInstance()), new TapSourceCost()));
|
||||
// {tap}, Remove any number of storage counters from Subterranean Hangar: Add {B} to your mana pool for each storage counter removed this way.
|
||||
Ability ability = new DynamicManaAbility(Mana.BlackMana, new RemovedCountersForCostValue(),
|
||||
"Add {B} to your mana pool for each storage counter removed this way");
|
||||
ability.addCost(new RemoveVariableCountersSourceCost(
|
||||
CounterType.STORAGE.createInstance(), "Remove any number of storage counters from {this}"));
|
||||
Ability ability = new DynamicManaAbility(
|
||||
Mana.BlackMana,
|
||||
new RemovedCountersForCostValue(),
|
||||
new TapSourceCost(),
|
||||
"Add {B} to your mana pool for each storage counter removed this way",
|
||||
true, new CountersCount(CounterType.STORAGE));
|
||||
ability.addCost(new RemoveVariableCountersSourceCost(CounterType.STORAGE.createInstance(),
|
||||
"Remove any number of storage counters from {this}"));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue