mirror of
https://github.com/magefree/mage.git
synced 2026-01-26 05:09:16 -08:00
Added optional text generation to EnteresBattlefieldAbility. Deactivated "put counter on" text generation for Planeswalkers.
This commit is contained in:
parent
346c8c609f
commit
5845d56b89
34 changed files with 80 additions and 37 deletions
|
|
@ -69,7 +69,7 @@ public class TamiyoTheMoonSage extends CardImpl<TamiyoTheMoonSage> {
|
|||
|
||||
this.color.setBlue(true);
|
||||
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(4)), null));
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(4)), false));
|
||||
|
||||
// +1: Tap target permanent. It doesn't untap during its controller's next untap step.
|
||||
LoyaltyAbility ability = new LoyaltyAbility(new TapTargetEffect(), 1);
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ public class TibaltTheFiendBlooded extends CardImpl<TibaltTheFiendBlooded> {
|
|||
|
||||
this.color.setRed(true);
|
||||
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(2)), ""));
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(2)), false));
|
||||
|
||||
// +1: Draw a card, then discard a card at random.
|
||||
this.addAbility(new LoyaltyAbility(new TibaltTheFiendBloodedFirstEffect(), 1));
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ public class ApocalypseHydra extends CardImpl<ApocalypseHydra> {
|
|||
this.toughness = new MageInt(0);
|
||||
|
||||
// Apocalypse Hydra enters the battlefield with X +1/+1 counters on it. If X is 5 or more, it enters the battlefield with an additional X +1/+1 counters on it.
|
||||
this.addAbility(new EntersBattlefieldAbility(new ApocalypseHydraEffect(), ""));
|
||||
this.addAbility(new EntersBattlefieldAbility(new ApocalypseHydraEffect(), true));
|
||||
// {1}{R}, Remove a +1/+1 counter from Apocalypse Hydra: Apocalypse Hydra deals 1 damage to target creature or player.
|
||||
Ability ability = new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl("{1}{R}"));
|
||||
ability.addCost(new RemoveCountersSourceCost(CounterType.P1P1.createInstance()));
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ public class NicolBolasPlaneswalker extends CardImpl<NicolBolasPlaneswalker> {
|
|||
this.color.setBlue(true);
|
||||
this.color.setBlack(true);
|
||||
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(5)), ""));
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(5)), false));
|
||||
|
||||
// +3: Destroy target noncreature permanent.
|
||||
LoyaltyAbility ability = new LoyaltyAbility(new DestroyTargetEffect(), 3);
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ public class SorinLordOfInnistrad extends CardImpl<SorinLordOfInnistrad> {
|
|||
this.color.setBlack(true);
|
||||
this.color.setWhite(true);
|
||||
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(3)), null));
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(3)), false));
|
||||
|
||||
// +1: Put a 1/1 black Vampire creature token with lifelink onto the battlefield.
|
||||
this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new VampireToken()), 1));
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ public class GarrukRelentless extends CardImpl<GarrukRelentless> {
|
|||
this.canTransform = true;
|
||||
this.secondSideCard = new GarrukTheVeilCursed(ownerId);
|
||||
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(3)), ""));
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(3)), false));
|
||||
|
||||
// When Garruk Relentless has two or fewer loyalty counters on him, transform him.
|
||||
this.addAbility(new TransformAbility());
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ public class LilianaOfTheVeil extends CardImpl<LilianaOfTheVeil> {
|
|||
|
||||
this.color.setBlack(true);
|
||||
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(3)), ""));
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(3)), false));
|
||||
|
||||
// +1: Each player discards a card.
|
||||
this.addAbility(new LoyaltyAbility(new DiscardEachPlayerEffect(), 1));
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ public class AjaniGoldmane extends CardImpl<AjaniGoldmane> {
|
|||
this.expansionSetCode = "M10";
|
||||
this.subtype.add("Ajani");
|
||||
this.color.setWhite(true);
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(4)), ""));
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(4)), false));
|
||||
|
||||
this.addAbility(new LoyaltyAbility(new GainLifeEffect(2), 1));
|
||||
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ public class ChandraNalaar extends CardImpl<ChandraNalaar> {
|
|||
this.expansionSetCode = "M10";
|
||||
this.subtype.add("Chandra");
|
||||
this.color.setRed(true);
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(6)), ""));
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(6)), false));
|
||||
|
||||
|
||||
LoyaltyAbility ability1 = new LoyaltyAbility(new DamageTargetEffect(1), 1);
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ public class GarrukWildspeaker extends CardImpl<GarrukWildspeaker> {
|
|||
this.expansionSetCode = "M10";
|
||||
this.subtype.add("Garruk");
|
||||
this.color.setGreen(true);
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(3)), ""));
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(3)), false));
|
||||
|
||||
|
||||
LoyaltyAbility ability1 = new LoyaltyAbility(new UntapTargetEffect(), 1);
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ public class JaceBeleren extends CardImpl<JaceBeleren> {
|
|||
this.expansionSetCode = "M10";
|
||||
this.subtype.add("Jace");
|
||||
this.color.setBlue(true);
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(3)), ""));
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(3)), false));
|
||||
|
||||
|
||||
this.addAbility(new LoyaltyAbility(new DrawCardAllEffect(1), 2));
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ public class LilianaVess extends CardImpl<LilianaVess> {
|
|||
this.expansionSetCode = "M10";
|
||||
this.subtype.add("Liliana");
|
||||
this.color.setBlack(true);
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(5)), ""));
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(5)), false));
|
||||
|
||||
LoyaltyAbility ability1 = new LoyaltyAbility(new DiscardTargetEffect(1), 1);
|
||||
ability1.addTarget(new TargetPlayer());
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ public class ChandraTheFirebrand extends CardImpl<ChandraTheFirebrand> {
|
|||
this.expansionSetCode = "M12";
|
||||
this.subtype.add("Chandra");
|
||||
this.color.setRed(true);
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(3)), ""));
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(3)), false));
|
||||
|
||||
LoyaltyAbility ability1 = new LoyaltyAbility(new DamageTargetEffect(1), 1);
|
||||
ability1.addTarget(new TargetCreatureOrPlayer());
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ public class GarrukPrimalHunter extends CardImpl<GarrukPrimalHunter> {
|
|||
this.expansionSetCode = "M12";
|
||||
this.subtype.add("Garruk");
|
||||
this.color.setGreen(true);
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(3)), ""));
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(3)), false));
|
||||
this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new BeastToken()), 1));
|
||||
this.addAbility(new LoyaltyAbility(new GarrukPrimalHunterEffect(), -3));
|
||||
this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new WurmToken(), new PermanentsOnBattlefieldCount(filter)), -6));
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ public class JaceMemoryAdept extends CardImpl<JaceMemoryAdept> {
|
|||
|
||||
this.color.setBlue(true);
|
||||
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(4))));
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(4)), false));
|
||||
|
||||
// +1: Draw a card. Target player puts the top card of his or her library into his or her graveyard.
|
||||
LoyaltyAbility ability1 = new LoyaltyAbility(new DrawCardControllerEffect(1), 1);
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ public class AjaniCallerOfThePride extends CardImpl<AjaniCallerOfThePride> {
|
|||
|
||||
@Override
|
||||
public void build() {
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(4)), ""));
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(4)), false));
|
||||
// +1: Put a +1/+1 counter on up to one target creature.
|
||||
Ability ability = new LoyaltyAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance()), 1);
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ public class LilianaOfTheDarkRealms extends CardImpl<LilianaOfTheDarkRealms> {
|
|||
|
||||
this.color.setBlack(true);
|
||||
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(3)), ""));
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(3)), false));
|
||||
|
||||
// +1: Search your library for a Swamp card, reveal it, and put it into your hand. Then shuffle your library.
|
||||
this.addAbility(new LoyaltyAbility(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(filter), true), 1));
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ public class TezzeretAgentOfBolas extends CardImpl<TezzeretAgentOfBolas> {
|
|||
this.subtype.add("Tezzeret");
|
||||
this.color.setBlue(true);
|
||||
this.color.setBlack(true);
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(3)), ""));
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(3)), false));
|
||||
|
||||
this.addAbility(new LoyaltyAbility(new TezzeretAgentOfBolasEffect1(), 1));
|
||||
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ public class KarnLiberated extends CardImpl<KarnLiberated> {
|
|||
super(ownerId, 1, "Karn Liberated", Rarity.MYTHIC, new CardType[]{CardType.PLANESWALKER}, "{7}");
|
||||
this.expansionSetCode = "NPH";
|
||||
this.subtype.add("Karn");
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(6)), ""));
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(6)), false));
|
||||
|
||||
// +4: Target player exiles a card from his or her hand.
|
||||
LoyaltyAbility ability1 = new LoyaltyAbility(new ExileFromZoneTargetEffect(Zone.HAND, exileId, "Karn Liberated", new FilterCard()), 4);
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ public class GideonJura extends CardImpl<GideonJura> {
|
|||
this.expansionSetCode = "ROE";
|
||||
this.subtype.add("Gideon");
|
||||
this.color.setWhite(true);
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(6)), ""));
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(6)), false));
|
||||
|
||||
LoyaltyAbility ability1 = new LoyaltyAbility(new GideonJuraEffect(), 2);
|
||||
ability1.addTarget(new TargetOpponent());
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ import mage.target.common.TargetControlledPermanent;
|
|||
*/
|
||||
public class HandOfEmrakul extends CardImpl<HandOfEmrakul> {
|
||||
|
||||
private static final String ALTERNATIVE_COST_DESCRIPTION = "You may sacrifice four Eldrazi Spawn rather than pay Hand of Emrakul's mana cost.";
|
||||
private static final String ALTERNATIVE_COST_DESCRIPTION = "You may sacrifice four Eldrazi Spawn rather than pay Hand of Emrakul's mana cost";
|
||||
private static final FilterControlledPermanent filter = new FilterControlledPermanent("Eldrazi Spawn");
|
||||
|
||||
static {
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ public class SarkhanTheMad extends CardImpl<SarkhanTheMad> {
|
|||
super(ownerId, 214, "Sarkhan the Mad", Rarity.MYTHIC, new CardType[]{CardType.PLANESWALKER}, "{3}{B}{R}");
|
||||
this.expansionSetCode = "ROE";
|
||||
this.subtype.add("Sarkhan");
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(7)), ""));
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(7)), false));
|
||||
|
||||
this.color.setBlack(true);
|
||||
this.color.setRed(true);
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ public class ElspethTirel extends CardImpl<ElspethTirel> {
|
|||
this.expansionSetCode = "SOM";
|
||||
this.subtype.add("Elspeth");
|
||||
this.color.setWhite(true);
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(4)), ""));
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(4)), false));
|
||||
|
||||
|
||||
this.addAbility(new LoyaltyAbility(new ElspethTirelFirstEffect(), 2));
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ public class KothOfTheHammer extends CardImpl<KothOfTheHammer> {
|
|||
this.expansionSetCode = "SOM";
|
||||
this.subtype.add("Koth");
|
||||
this.color.setRed(true);
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(3)), ""));
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(3)), false));
|
||||
|
||||
Ability ability = new LoyaltyAbility(new UntapTargetEffect(), 1);
|
||||
ability.addEffect(new BecomesCreatureTargetEffect(new KothOfTheHammerToken(), "land", Duration.EndOfTurn));
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ public class VenserTheSojourner extends CardImpl<VenserTheSojourner> {
|
|||
this.subtype.add("Venser");
|
||||
this.color.setWhite(true);
|
||||
this.color.setBlue(true);
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(3)), null));
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(3)), false));
|
||||
|
||||
// +2: Exile target permanent you own. Return it to the battlefield under your control at the beginning of the next end step.
|
||||
LoyaltyAbility ability1 = new LoyaltyAbility(new VenserTheSojournerEffect(), 2);
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ public class AjaniVengeant extends CardImpl<AjaniVengeant> {
|
|||
this.subtype.add("Ajani");
|
||||
this.color.setRed(true);
|
||||
this.color.setWhite(true);
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(3)), ""));
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(3)), false));
|
||||
|
||||
|
||||
LoyaltyAbility ability1 = new LoyaltyAbility(new SkipNextUntapTargetEffect(), 1);
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ public class ElspethKnightErrant extends CardImpl<ElspethKnightErrant> {
|
|||
this.subtype.add("Elspeth");
|
||||
this.color.setWhite(true);
|
||||
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(4)), ""));
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(4)), false));
|
||||
|
||||
// +1: Put a 1/1 white Soldier creature token onto the battlefield.
|
||||
this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new SoldierToken()), 1));
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ public class SarkhanVol extends CardImpl<SarkhanVol> {
|
|||
this.subtype.add("Sarkhan");
|
||||
this.color.setRed(true);
|
||||
this.color.setGreen(true);
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(4)), ""));
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(4)), false));
|
||||
|
||||
Effects effects1 = new Effects();
|
||||
effects1.add(new BoostControlledEffect(1, 1, Duration.EndOfTurn));
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ public class TezzeretTheSeeker extends CardImpl<TezzeretTheSeeker> {
|
|||
this.subtype.add("Tezzeret");
|
||||
|
||||
this.color.setBlue(true);
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(4)), ""));
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(4)), false));
|
||||
|
||||
// +1: Untap up to two target artifacts.
|
||||
LoyaltyAbility ability = new LoyaltyAbility(new UntapTargetEffect(), 1);
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@ import java.util.UUID;
|
|||
import mage.Constants.CardType;
|
||||
import mage.Constants.Rarity;
|
||||
import mage.Constants.TargetController;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.costs.AlternativeCostImpl;
|
||||
import mage.abilities.costs.common.SacrificeTargetCost;
|
||||
import mage.abilities.effects.common.DamageTargetEffect;
|
||||
|
|
@ -39,6 +40,7 @@ import mage.filter.FilterPermanent;
|
|||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||
import mage.filter.predicate.permanent.ControllerPredicate;
|
||||
import mage.game.Game;
|
||||
import mage.target.common.TargetControlledPermanent;
|
||||
import mage.target.common.TargetCreatureOrPlayer;
|
||||
|
||||
|
|
@ -56,8 +58,6 @@ public class Fireblast extends CardImpl<Fireblast> {
|
|||
filter.add(new SubtypePredicate("Mountain"));
|
||||
filter.add(new ControllerPredicate(TargetController.YOU));
|
||||
}
|
||||
|
||||
private static final String ALTERNATIVE_COST_DESCRIPTION = "You may sacrifice two Mountains rather than pay Fireblast's mana cost";
|
||||
|
||||
public Fireblast(UUID ownerId) {
|
||||
super(ownerId, 79, "Fireblast", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{4}{R}{R}");
|
||||
|
|
@ -66,7 +66,7 @@ public class Fireblast extends CardImpl<Fireblast> {
|
|||
this.color.setRed(true);
|
||||
|
||||
// You may sacrifice two Mountains rather than pay Fireblast's mana cost.
|
||||
this.getSpellAbility().addAlternativeCost(new AlternativeCostImpl(ALTERNATIVE_COST_DESCRIPTION, new SacrificeTargetCost(new TargetControlledPermanent(2, 2, filter, true), true)));
|
||||
this.getSpellAbility().addAlternativeCost(new FireblastAlternativeCost());
|
||||
|
||||
// Fireblast deals 4 damage to target creature or player.
|
||||
this.getSpellAbility().addEffect(new DamageTargetEffect(4));
|
||||
|
|
@ -83,3 +83,37 @@ public class Fireblast extends CardImpl<Fireblast> {
|
|||
return new Fireblast(this);
|
||||
}
|
||||
}
|
||||
|
||||
class FireblastAlternativeCost extends AlternativeCostImpl<FireblastAlternativeCost> {
|
||||
|
||||
private static final FilterPermanent filter = new FilterPermanent("Mountain");
|
||||
|
||||
static {
|
||||
filter.add(new CardTypePredicate(CardType.LAND));
|
||||
filter.add(new SubtypePredicate("Mountain"));
|
||||
filter.add(new ControllerPredicate(TargetController.YOU));
|
||||
}
|
||||
public FireblastAlternativeCost() {
|
||||
super("You may sacrifice two Mountains rather than pay Fireblast's mana cost");
|
||||
this.add(new SacrificeTargetCost(new TargetControlledPermanent(2, 2, filter, true)));
|
||||
}
|
||||
|
||||
public FireblastAlternativeCost(final FireblastAlternativeCost cost) {
|
||||
super(cost);
|
||||
}
|
||||
|
||||
@Override
|
||||
public FireblastAlternativeCost copy() {
|
||||
return new FireblastAlternativeCost(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAvailable(Game game, Ability source) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getText() {
|
||||
return "You may sacrifice two Mountains rather than pay Fireblast's mana cost";
|
||||
}
|
||||
}
|
||||
|
|
@ -66,7 +66,7 @@ public class ChandraAblaze extends CardImpl<ChandraAblaze> {
|
|||
|
||||
this.color.setRed(true);
|
||||
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(5)), ""));
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(5)), false));
|
||||
|
||||
// +1: Discard a card. If a red card is discarded this way, Chandra Ablaze deals 4 damage to target creature or player.
|
||||
LoyaltyAbility ability = new LoyaltyAbility(new ChandraAblazeEffect1(), 1);
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ public class NissaRevane extends CardImpl<NissaRevane> {
|
|||
super(ownerId, 170, "Nissa Revane", Rarity.MYTHIC, new CardType[]{ CardType.PLANESWALKER }, "{2}{G}{G}");
|
||||
this.expansionSetCode = "ZEN";
|
||||
this.subtype.add("Nissa");
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(2)), ""));
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(2)), false));
|
||||
|
||||
this.color.setGreen(true);
|
||||
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ public class SorinMarkov extends CardImpl<SorinMarkov> {
|
|||
|
||||
this.color.setBlack(true);
|
||||
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(4))));
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(4)), false));
|
||||
|
||||
// +2: Sorin Markov deals 2 damage to target creature or player and you gain 2 life.
|
||||
LoyaltyAbility ability1 = new LoyaltyAbility(new DamageTargetEffect(2), 2);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue