refactor: SimpleActivatedAbility default zone (cards P)

This commit is contained in:
xenohedron 2024-11-16 22:29:29 -05:00
parent cc6f78dfb4
commit a2323481c6
151 changed files with 165 additions and 166 deletions

View file

@ -23,7 +23,7 @@ public final class PacificationArray extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}"); super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}");
// {2}, {t}: Tap target artifact or creature. // {2}, {t}: Tap target artifact or creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl<>("{2}")); Ability ability = new SimpleActivatedAbility(new TapTargetEffect(), new ManaCostsImpl<>("{2}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_CREATURE)); ability.addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_CREATURE));
this.addAbility(ability); this.addAbility(ability);

View file

@ -55,7 +55,7 @@ public final class PackRat extends CardImpl {
// Pack Rat's power and toughness are each equal to the number of Rats you control. // Pack Rat's power and toughness are each equal to the number of Rats you control.
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter)))); this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter))));
// {2}{B}, Discard a card: Create a token that's a copy of Pack Rat. // {2}{B}, Discard a card: Create a token that's a copy of Pack Rat.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenCopySourceEffect(), new ManaCostsImpl<>("{2}{B}")); Ability ability = new SimpleActivatedAbility(new CreateTokenCopySourceEffect(), new ManaCostsImpl<>("{2}{B}"));
ability.addCost(new DiscardCardCost()); ability.addCost(new DiscardCardCost());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -28,7 +28,7 @@ public final class PainKami extends CardImpl {
this.power = new MageInt(2); this.power = new MageInt(2);
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(GetXValue.instance, "it"), new ManaCostsImpl<>("{X}{R}")); Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(GetXValue.instance, "it"), new ManaCostsImpl<>("{X}{R}"));
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -45,7 +45,7 @@ public final class PaleWayfarer extends CardImpl {
this.toughness = new MageInt(4); this.toughness = new MageInt(4);
// {2}{W}{W}, {untap}: Target creature gains protection from the color of its controller's choice until end of turn. // {2}{W}{W}, {untap}: Target creature gains protection from the color of its controller's choice until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PaleWayfarerEffect(), new ManaCostsImpl<>("{2}{W}{W}")); Ability ability = new SimpleActivatedAbility(new PaleWayfarerEffect(), new ManaCostsImpl<>("{2}{W}{W}"));
ability.addCost(new UntapSourceCost()); ability.addCost(new UntapSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -33,7 +33,7 @@ public final class Palinchron extends CardImpl {
// When Palinchron enters the battlefield, untap up to seven lands. // When Palinchron enters the battlefield, untap up to seven lands.
this.addAbility(new EntersBattlefieldTriggeredAbility(new UntapLandsEffect(7))); this.addAbility(new EntersBattlefieldTriggeredAbility(new UntapLandsEffect(7)));
// {2}{U}{U}: Return Palinchron to its owner's hand. // {2}{U}{U}: Return Palinchron to its owner's hand.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new ManaCostsImpl<>("{2}{U}{U}"))); this.addAbility(new SimpleActivatedAbility(new ReturnToHandSourceEffect(true), new ManaCostsImpl<>("{2}{U}{U}")));
} }
private Palinchron(final Palinchron card) { private Palinchron(final Palinchron card) {

View file

@ -27,7 +27,7 @@ public final class PanicSpellbomb extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}"); super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}");
// Tap, Sacrifice Panic Spellbomb: Target creature can't block this turn. // Tap, Sacrifice Panic Spellbomb: Target creature can't block this turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBlockTargetEffect(Duration.EndOfTurn), new TapSourceCost()); Ability ability = new SimpleActivatedAbility(new CantBlockTargetEffect(Duration.EndOfTurn), new TapSourceCost());
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -31,7 +31,7 @@ public final class PanopticMirror extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{5}"); super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{5}");
// Imprint - {X}, {tap}: You may exile an instant or sorcery card with converted mana cost X from your hand. // Imprint - {X}, {tap}: You may exile an instant or sorcery card with converted mana cost X from your hand.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PanopticMirrorExileEffect(), new VariableManaCost(VariableCostType.NORMAL)); Ability ability = new SimpleActivatedAbility(new PanopticMirrorExileEffect(), new VariableManaCost(VariableCostType.NORMAL));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
this.addAbility(ability.setAbilityWord(AbilityWord.IMPRINT)); this.addAbility(ability.setAbilityWord(AbilityWord.IMPRINT));
// At the beginning of your upkeep, you may copy a card exiled with Panoptic Mirror. If you do, you may cast the copy without paying its mana cost. // At the beginning of your upkeep, you may copy a card exiled with Panoptic Mirror. If you do, you may cast the copy without paying its mana cost.

View file

@ -52,7 +52,7 @@ public final class ParagonOfEternalWilds extends CardImpl {
// Other green creatures you control get +1/+1. // Other green creatures you control get +1/+1.
this.addAbility(new SimpleStaticAbility(new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, filterGreen, true))); this.addAbility(new SimpleStaticAbility(new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, filterGreen, true)));
// {G}, {t}: Another target green creature you control gains trample until end of turn. // {G}, {t}: Another target green creature you control gains trample until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(TrampleAbility.getInstance(),Duration.EndOfTurn), new ManaCostsImpl<>("{G}")); Ability ability = new SimpleActivatedAbility(new GainAbilityTargetEffect(TrampleAbility.getInstance(),Duration.EndOfTurn), new ManaCostsImpl<>("{G}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetControlledCreaturePermanent(filterGreen2)); ability.addTarget(new TargetControlledCreaturePermanent(filterGreen2));
this.addAbility(ability); this.addAbility(ability);

View file

@ -51,7 +51,7 @@ public final class ParagonOfFierceDefiance extends CardImpl {
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filterCreatures, true))); this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filterCreatures, true)));
// {R}, {T}: Another target red creature you control gains haste until end of turn. // {R}, {T}: Another target red creature you control gains haste until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{R}")); Ability ability = new SimpleActivatedAbility(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{R}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetControlledCreaturePermanent(filterCreature)); ability.addTarget(new TargetControlledCreaturePermanent(filterCreature));
this.addAbility(ability); this.addAbility(ability);

View file

@ -53,7 +53,7 @@ public final class ParagonOfGatheringMists extends CardImpl {
this.addAbility(new SimpleStaticAbility(new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, filterBlue, true))); this.addAbility(new SimpleStaticAbility(new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, filterBlue, true)));
// {U}, {T}: Another target blue creature you control gains flying until end of turn. // {U}, {T}: Another target blue creature you control gains flying until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(FlyingAbility.getInstance(),Duration.EndOfTurn), new ManaCostsImpl<>("{U}")); Ability ability = new SimpleActivatedAbility(new GainAbilityTargetEffect(FlyingAbility.getInstance(),Duration.EndOfTurn), new ManaCostsImpl<>("{U}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetControlledCreaturePermanent(filterBlue2)); ability.addTarget(new TargetControlledCreaturePermanent(filterBlue2));
this.addAbility(ability); this.addAbility(ability);

View file

@ -52,7 +52,7 @@ public final class ParagonOfNewDawns extends CardImpl {
// Other white creatures you control get +1/+1. // Other white creatures you control get +1/+1.
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(1,1, Duration.WhileOnBattlefield, filter, true))); this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(1,1, Duration.WhileOnBattlefield, filter, true)));
// {W}, {T}: Another target white creature you control gains vigilance until end of turn. // {W}, {T}: Another target white creature you control gains vigilance until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{W}")); Ability ability = new SimpleActivatedAbility(new GainAbilityTargetEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{W}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent(filter2)); ability.addTarget(new TargetCreaturePermanent(filter2));
this.addAbility(ability); this.addAbility(ability);

View file

@ -51,7 +51,7 @@ public final class ParagonOfOpenGraves extends CardImpl {
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filterCreatures, true))); this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filterCreatures, true)));
// {2}{B}, {T}: Another target black creature you control gains deathtouch until end of turn. // {2}{B}, {T}: Another target black creature you control gains deathtouch until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(DeathtouchAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{2}{B}")); Ability ability = new SimpleActivatedAbility(new GainAbilityTargetEffect(DeathtouchAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{2}{B}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetControlledCreaturePermanent(filterCreature)); ability.addTarget(new TargetControlledCreaturePermanent(filterCreature));
this.addAbility(ability); this.addAbility(ability);

View file

@ -28,7 +28,7 @@ public final class ParallaxTide extends CardImpl {
this.addAbility(new FadingAbility(5, this)); this.addAbility(new FadingAbility(5, this));
// Remove a fade counter from Parallax Tide: Exile target land. // Remove a fade counter from Parallax Tide: Exile target land.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileTargetForSourceEffect(), new RemoveCountersSourceCost(CounterType.FADE.createInstance())); Ability ability = new SimpleActivatedAbility(new ExileTargetForSourceEffect(), new RemoveCountersSourceCost(CounterType.FADE.createInstance()));
ability.addTarget(new TargetLandPermanent()); ability.addTarget(new TargetLandPermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -30,7 +30,7 @@ public final class ParallaxWave extends CardImpl {
this.addAbility(new FadingAbility(5, this)); this.addAbility(new FadingAbility(5, this));
// Remove a fade counter from Parallax Wave: Exile target creature. // Remove a fade counter from Parallax Wave: Exile target creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileTargetForSourceEffect(), new RemoveCountersSourceCost(CounterType.FADE.createInstance())); Ability ability = new SimpleActivatedAbility(new ExileTargetForSourceEffect(), new RemoveCountersSourceCost(CounterType.FADE.createInstance()));
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -27,7 +27,7 @@ public final class ParapetWatchers extends CardImpl {
this.power = new MageInt(2); this.power = new MageInt(2);
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(0, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{W/U}"))); this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(0, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{W/U}")));
} }
private ParapetWatchers(final ParapetWatchers card) { private ParapetWatchers(final ParapetWatchers card) {

View file

@ -30,7 +30,7 @@ public final class PardicCollaborator extends CardImpl {
// First strike // First strike
this.addAbility(FirstStrikeAbility.getInstance()); this.addAbility(FirstStrikeAbility.getInstance());
// {B}: Pardic Collaborator gets +1/+1 until end of turn. // {B}: Pardic Collaborator gets +1/+1 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{B}"))); this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{B}")));
} }
private PardicCollaborator(final PardicCollaborator card) { private PardicCollaborator(final PardicCollaborator card) {

View file

@ -39,7 +39,7 @@ public final class PardicDragon extends CardImpl {
this.addAbility(FlyingAbility.getInstance()); this.addAbility(FlyingAbility.getInstance());
// {R}: Pardic Dragon gets +1/+0 until end of turn. // {R}: Pardic Dragon gets +1/+0 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ColoredManaCost(ColoredManaSymbol.R))); this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ColoredManaCost(ColoredManaSymbol.R)));
// Suspend 2-{R}{R} // Suspend 2-{R}{R}
this.addAbility(new SuspendAbility(2, new ManaCostsImpl<>("{R}{R}"), this, true)); this.addAbility(new SuspendAbility(2, new ManaCostsImpl<>("{R}{R}"), this, true));

View file

@ -33,7 +33,7 @@ public final class PardicLancer extends CardImpl {
// Discard a card at random: Pardic Lancer gets +1/+0 and gains first strike until end of turn. // Discard a card at random: Pardic Lancer gets +1/+0 and gains first strike until end of turn.
Effect effect = new BoostSourceEffect(1,0,Duration.EndOfTurn); Effect effect = new BoostSourceEffect(1,0,Duration.EndOfTurn);
effect.setText("{this} gets +1/+0"); effect.setText("{this} gets +1/+0");
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new DiscardCardCost(true)); Ability ability = new SimpleActivatedAbility(effect, new DiscardCardCost(true));
effect = new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn); effect = new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn);
effect.setText("and gains first strike until end of turn"); effect.setText("and gains first strike until end of turn");
ability.addEffect(effect); ability.addEffect(effect);
@ -48,4 +48,4 @@ public final class PardicLancer extends CardImpl {
public PardicLancer copy() { public PardicLancer copy() {
return new PardicLancer(this); return new PardicLancer(this);
} }
} }

View file

@ -29,7 +29,7 @@ public final class PardicMiner extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// Sacrifice Pardic Miner: Target player can't play lands this turn. // Sacrifice Pardic Miner: Target player can't play lands this turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PardicMinerEffect(), new SacrificeSourceCost()); Ability ability = new SimpleActivatedAbility(new PardicMinerEffect(), new SacrificeSourceCost());
ability.addTarget(new TargetPlayer()); ability.addTarget(new TargetPlayer());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -29,7 +29,7 @@ public final class PardicSwordsmith extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {R}, Discard a card at random: Pardic Swordsmith gets +2/+0 until end of turn. // {R}, Discard a card at random: Pardic Swordsmith gets +2/+0 until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{R}")); Ability ability = new SimpleActivatedAbility(new BoostSourceEffect(2, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{R}"));
ability.addCost(new DiscardCardCost(true)); ability.addCost(new DiscardCardCost(true));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -29,7 +29,7 @@ public final class PatagiaGolem extends CardImpl {
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
// {3}: Patagia Golem gains flying until end of turn. // {3}: Patagia Golem gains flying until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{3}")); Ability ability = new SimpleActivatedAbility(new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{3}"));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -28,7 +28,7 @@ public final class PatchworkGnomes extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// Discard a card: Regenerate Patchwork Gnomes. // Discard a card: Regenerate Patchwork Gnomes.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new DiscardTargetCost(new TargetCardInHand(new FilterCard("a card"))))); this.addAbility(new SimpleActivatedAbility(new RegenerateSourceEffect(), new DiscardTargetCost(new TargetCardInHand(new FilterCard("a card")))));
} }
private PatchworkGnomes(final PatchworkGnomes card) { private PatchworkGnomes(final PatchworkGnomes card) {

View file

@ -39,7 +39,7 @@ public final class PathmakerInitiate extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {T}: Target creature with power 2 or less can't be blocked this turn. // {T}: Target creature with power 2 or less can't be blocked this turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBeBlockedTargetEffect(Duration.EndOfTurn), new TapSourceCost()); Ability ability = new SimpleActivatedAbility(new CantBeBlockedTargetEffect(Duration.EndOfTurn), new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent(filter)); ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -33,7 +33,7 @@ public final class PathwayArrows extends CardImpl {
this.subtype.add(SubType.EQUIPMENT); this.subtype.add(SubType.EQUIPMENT);
// Equipped creature has "{2}, {T}: This creature deals 1 damage to target creature. If a colorless creature is dealt damage this way, tap it." // Equipped creature has "{2}, {T}: This creature deals 1 damage to target creature. If a colorless creature is dealt damage this way, tap it."
SimpleActivatedAbility ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PathwayArrowsEffect(), new GenericManaCost(2)); SimpleActivatedAbility ability2 = new SimpleActivatedAbility(new PathwayArrowsEffect(), new GenericManaCost(2));
ability2.addCost(new TapSourceCost()); ability2.addCost(new TapSourceCost());
ability2.addTarget(new TargetCreaturePermanent()); ability2.addTarget(new TargetCreaturePermanent());
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(ability2, AttachmentType.EQUIPMENT))); this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(ability2, AttachmentType.EQUIPMENT)));

View file

@ -28,7 +28,7 @@ public final class PatrolHound extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// Discard a card: Patrol Hound gains first strike until end of turn. // Discard a card: Patrol Hound gains first strike until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new DiscardCardCost())); this.addAbility(new SimpleActivatedAbility(new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new DiscardCardCost()));
} }
private PatrolHound(final PatrolHound card) { private PatrolHound(final PatrolHound card) {

View file

@ -29,7 +29,7 @@ public final class PatrolSignaler extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {1}{W}, {untap}: Create a 1/1 white Kithkin Soldier creature token. // {1}{W}, {untap}: Create a 1/1 white Kithkin Soldier creature token.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new KithkinSoldierToken()), new ManaCostsImpl<>("{1}{W}")); Ability ability = new SimpleActivatedAbility(new CreateTokenEffect(new KithkinSoldierToken()), new ManaCostsImpl<>("{1}{W}"));
ability.addCost(new UntapSourceCost()); ability.addCost(new UntapSourceCost());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -42,7 +42,7 @@ public final class PatronOfTheMoon extends CardImpl {
this.addAbility(FlyingAbility.getInstance()); this.addAbility(FlyingAbility.getInstance());
// {1}: Put up to two land cards from your hand onto the battlefield tapped. // {1}: Put up to two land cards from your hand onto the battlefield tapped.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PatronOfTheMoonEffect(), new ManaCostsImpl<>("{1}")); Ability ability = new SimpleActivatedAbility(new PatronOfTheMoonEffect(), new ManaCostsImpl<>("{1}"));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -40,7 +40,7 @@ public final class PatronWizard extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// Tap an untapped Wizard you control: Counter target spell unless its controller pays {1}. // Tap an untapped Wizard you control: Counter target spell unless its controller pays {1}.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterUnlessPaysEffect(new GenericManaCost(1)), new TapTargetCost(new TargetControlledPermanent(filter))); Ability ability = new SimpleActivatedAbility(new CounterUnlessPaysEffect(new GenericManaCost(1)), new TapTargetCost(new TargetControlledPermanent(filter)));
ability.addTarget(new TargetSpell()); ability.addTarget(new TargetSpell());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -28,7 +28,7 @@ public final class PavelMaliki extends CardImpl {
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
// {B}{R}: Pavel Maliki gets +1/+0 until end of turn. // {B}{R}: Pavel Maliki gets +1/+0 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{B}{R}"))); this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{B}{R}")));
} }
private PavelMaliki(final PavelMaliki card) { private PavelMaliki(final PavelMaliki card) {

View file

@ -23,7 +23,7 @@ public final class PeaceOfMind extends CardImpl {
// {W}, Discard a card: You gain 3 life. // {W}, Discard a card: You gain 3 life.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(3), new ManaCostsImpl<>("{W}")); Ability ability = new SimpleActivatedAbility(new GainLifeEffect(3), new ManaCostsImpl<>("{W}"));
ability.addCost(new DiscardCardCost()); ability.addCost(new DiscardCardCost());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -42,7 +42,7 @@ public final class PeacewalkerColossus extends CardImpl {
// {1}{W}: Another target Vehicle you control becomes an artifact creature until end of turn. // {1}{W}: Another target Vehicle you control becomes an artifact creature until end of turn.
Effect effect = new AddCardTypeTargetEffect(Duration.EndOfTurn, CardType.CREATURE); Effect effect = new AddCardTypeTargetEffect(Duration.EndOfTurn, CardType.CREATURE);
effect.setText("Another target Vehicle you control becomes an artifact creature until end of turn"); effect.setText("Another target Vehicle you control becomes an artifact creature until end of turn");
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{1}{W}")); Ability ability = new SimpleActivatedAbility(effect, new ManaCostsImpl<>("{1}{W}"));
ability.addTarget(new TargetControlledPermanent(filter)); ability.addTarget(new TargetControlledPermanent(filter));
this.addAbility(ability); this.addAbility(ability);

View file

@ -30,7 +30,7 @@ public final class PearlDragon extends CardImpl {
// Flying // Flying
this.addAbility(FlyingAbility.getInstance()); this.addAbility(FlyingAbility.getInstance());
// {1}{W}: Pearl Dragon gets +0/+1 until end of turn. // {1}{W}: Pearl Dragon gets +0/+1 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(0, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{W}"))); this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(0, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{W}")));
} }
private PearlDragon(final PearlDragon card) { private PearlDragon(final PearlDragon card) {

View file

@ -40,7 +40,7 @@ public final class PearlLakeAncient extends CardImpl {
this.addAbility(new ProwessAbility()); this.addAbility(new ProwessAbility());
// Return three lands you control to their owner's hand: Return Pearl Lake Ancient to its owner's hand. // Return three lands you control to their owner's hand: Return Pearl Lake Ancient to its owner's hand.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), this.addAbility(new SimpleActivatedAbility(new ReturnToHandSourceEffect(true),
new ReturnToHandChosenControlledPermanentCost(new TargetControlledPermanent(3, 3, new FilterControlledLandPermanent("lands"), true)))); new ReturnToHandChosenControlledPermanentCost(new TargetControlledPermanent(3, 3, new FilterControlledLandPermanent("lands"), true))));
} }

View file

@ -44,7 +44,7 @@ public final class PearlspearCourier extends CardImpl {
// You may choose not to untap Pearlspear Courier during your untap step. // You may choose not to untap Pearlspear Courier during your untap step.
this.addAbility(new SkipUntapOptionalAbility()); this.addAbility(new SkipUntapOptionalAbility());
// {2}{W}, {tap}: Target Soldier creature gets +2/+2 and has vigilance for as long as Pearlspear Courier remains tapped. // {2}{W}, {tap}: Target Soldier creature gets +2/+2 and has vigilance for as long as Pearlspear Courier remains tapped.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect( Ability ability = new SimpleActivatedAbility(new ConditionalContinuousEffect(
new BoostTargetEffect(2, 2, Duration.Custom), SourceTappedCondition.TAPPED, new BoostTargetEffect(2, 2, Duration.Custom), SourceTappedCondition.TAPPED,
"target Soldier creature gets +2/+2"), new ManaCostsImpl<>("{2}{W}")); "target Soldier creature gets +2/+2"), new ManaCostsImpl<>("{2}{W}"));
ability.addEffect(new ConditionalContinuousEffect(new GainAbilityTargetEffect(VigilanceAbility.getInstance(), ability.addEffect(new ConditionalContinuousEffect(new GainAbilityTargetEffect(VigilanceAbility.getInstance(),

View file

@ -39,7 +39,7 @@ public final class PeemaAetherSeer extends CardImpl {
this.addAbility(new EntersBattlefieldTriggeredAbility(effect)); this.addAbility(new EntersBattlefieldTriggeredAbility(effect));
// Pay {E}{E}{E}: Target creature blocks this turn if able. // Pay {E}{E}{E}: Target creature blocks this turn if able.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BlocksIfAbleTargetEffect(Duration.EndOfTurn), new PayEnergyCost(3)); Ability ability = new SimpleActivatedAbility(new BlocksIfAbleTargetEffect(Duration.EndOfTurn), new PayEnergyCost(3));
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -23,7 +23,7 @@ public final class PegasusRefuge extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{W}"); super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{W}");
// {2}, Discard a card: Create a 1/1 white Pegasus creature token with flying. // {2}, Discard a card: Create a 1/1 white Pegasus creature token with flying.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new PegasusToken()), new ManaCostsImpl<>("{2}")); Ability ability = new SimpleActivatedAbility(new CreateTokenEffect(new PegasusToken()), new ManaCostsImpl<>("{2}"));
ability.addCost(new DiscardCardCost()); ability.addCost(new DiscardCardCost());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -42,18 +42,18 @@ public final class PemminsAura extends CardImpl {
this.addAbility(ability); this.addAbility(ability);
// {U}: Untap enchanted creature. // {U}: Untap enchanted creature.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapAttachedEffect(), new ManaCostsImpl<>("{U}"))); this.addAbility(new SimpleActivatedAbility(new UntapAttachedEffect(), new ManaCostsImpl<>("{U}")));
// {U}: Enchanted creature gains flying until end of turn. // {U}: Enchanted creature gains flying until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FlyingAbility.getInstance(), this.addAbility(new SimpleActivatedAbility(new GainAbilityAttachedEffect(FlyingAbility.getInstance(),
AttachmentType.AURA, Duration.EndOfTurn), new ManaCostsImpl<>("{U}"))); AttachmentType.AURA, Duration.EndOfTurn), new ManaCostsImpl<>("{U}")));
// {U}: Enchanted creature gains shroud until end of turn. // {U}: Enchanted creature gains shroud until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ShroudAbility.getInstance(), this.addAbility(new SimpleActivatedAbility(new GainAbilityAttachedEffect(ShroudAbility.getInstance(),
AttachmentType.AURA, Duration.EndOfTurn), new ManaCostsImpl<>("{U}"))); AttachmentType.AURA, Duration.EndOfTurn), new ManaCostsImpl<>("{U}")));
// {1}: Enchanted creature gets +1/-1 or -1/+1 until end of turn. // {1}: Enchanted creature gets +1/-1 or -1/+1 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new PemminsAuraBoostEnchantedEffect(), new ManaCostsImpl<>("{1}"))); this.addAbility(new SimpleActivatedAbility(new PemminsAuraBoostEnchantedEffect(), new ManaCostsImpl<>("{1}")));
} }
private PemminsAura(final PemminsAura card) { private PemminsAura(final PemminsAura card) {

View file

@ -27,7 +27,7 @@ public final class Penance extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}"); super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}");
// Put a card from your hand on top of your library: The next time a black or red source of your choice would deal damage this turn, prevent that damage. // Put a card from your hand on top of your library: The next time a black or red source of your choice would deal damage this turn, prevent that damage.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new PenanceEffect(), new PutCardFromHandOnTopOfLibraryCost())); this.addAbility(new SimpleActivatedAbility(new PenanceEffect(), new PutCardFromHandOnTopOfLibraryCost()));
} }

View file

@ -37,7 +37,7 @@ public final class Pendelhaven extends CardImpl {
// {tap}: Add {G}. // {tap}: Add {G}.
this.addAbility(new GreenManaAbility()); this.addAbility(new GreenManaAbility());
// {tap}: Target 1/1 creature gets +1/+2 until end of turn. // {tap}: Target 1/1 creature gets +1/+2 until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(1, 2, Duration.EndOfTurn), new TapSourceCost()); Ability ability = new SimpleActivatedAbility(new BoostTargetEffect(1, 2, Duration.EndOfTurn), new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent(filter)); ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -40,7 +40,7 @@ public final class PendelhavenElder extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {tap}: Each 1/1 creature you control gets +1/+2 until end of turn. // {tap}: Each 1/1 creature you control gets +1/+2 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostAllEffect(1, 2, Duration.EndOfTurn, filter, false) this.addAbility(new SimpleActivatedAbility(new BoostAllEffect(1, 2, Duration.EndOfTurn, filter, false)
.setText("Each 1/1 creature you control gets +1/+2 until end of turn."), .setText("Each 1/1 creature you control gets +1/+2 until end of turn."),
new TapSourceCost() new TapSourceCost()
)); ));

View file

@ -28,7 +28,7 @@ public final class PendulumOfPatterns extends CardImpl {
this.addAbility(new EntersBattlefieldTriggeredAbility(new GainLifeEffect(3))); this.addAbility(new EntersBattlefieldTriggeredAbility(new GainLifeEffect(3)));
// {5}, {T}, Sacrifice Pendulum of Patterns: Draw a card. // {5}, {T}, Sacrifice Pendulum of Patterns: Draw a card.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(5)); Ability ability = new SimpleActivatedAbility(new DrawCardSourceControllerEffect(1), new GenericManaCost(5));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
this.addAbility(ability); this.addAbility(ability);

View file

@ -23,7 +23,7 @@ public final class PentagramOfTheAges extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}");
// {4}, {tap}: The next time a source of your choice would deal damage to you this turn, prevent that damage. // {4}, {tap}: The next time a source of your choice would deal damage to you this turn, prevent that damage.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventNextDamageFromChosenSourceToYouEffect(Duration.EndOfTurn), new GenericManaCost(4)); Ability ability = new SimpleActivatedAbility(new PreventNextDamageFromChosenSourceToYouEffect(Duration.EndOfTurn), new GenericManaCost(4));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -48,7 +48,7 @@ public final class PentarchPaladin extends CardImpl {
this.addAbility(new AsEntersBattlefieldAbility(new ChooseColorEffect(Outcome.Detriment))); this.addAbility(new AsEntersBattlefieldAbility(new ChooseColorEffect(Outcome.Detriment)));
// {W}{W}, {tap}: Destroy target permanent of the chosen color. // {W}{W}, {tap}: Destroy target permanent of the chosen color.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl<>("{W}{W}")); Ability ability = new SimpleActivatedAbility(new DestroyTargetEffect(), new ManaCostsImpl<>("{W}{W}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
ability.setTargetAdjuster(PentarchPaladinAdjuster.instance); ability.setTargetAdjuster(PentarchPaladinAdjuster.instance);

View file

@ -44,12 +44,12 @@ public final class Pentavus extends CardImpl {
"with five +1/+1 counters on it")); "with five +1/+1 counters on it"));
// {1}, Remove a +1/+1 counter from Pentavus: Create a 1/1 colorless Pentavite artifact creature token with flying. // {1}, Remove a +1/+1 counter from Pentavus: Create a 1/1 colorless Pentavite artifact creature token with flying.
Ability firstAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new PentaviteToken(), 1), new GenericManaCost(1)); Ability firstAbility = new SimpleActivatedAbility(new CreateTokenEffect(new PentaviteToken(), 1), new GenericManaCost(1));
firstAbility.addCost(new RemoveCountersSourceCost(CounterType.P1P1.createInstance(1))); firstAbility.addCost(new RemoveCountersSourceCost(CounterType.P1P1.createInstance(1)));
this.addAbility(firstAbility); this.addAbility(firstAbility);
// {1}, Sacrifice a Pentavite: Put a +1/+1 counter on Pentavus. // {1}, Sacrifice a Pentavite: Put a +1/+1 counter on Pentavus.
Ability secondAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), new GenericManaCost(1)); Ability secondAbility = new SimpleActivatedAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), new GenericManaCost(1));
secondAbility.addCost(new SacrificeTargetCost(filter)); secondAbility.addCost(new SacrificeTargetCost(filter));
this.addAbility(secondAbility); this.addAbility(secondAbility);
} }

View file

@ -29,7 +29,7 @@ public final class PerilousShadow extends CardImpl {
// {1}{B}: Perilous Shadow gets +2/+2 until end of turn. // {1}{B}: Perilous Shadow gets +2/+2 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2,2, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{B}"))); this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(2,2, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{B}")));
} }

View file

@ -30,7 +30,7 @@ public final class PerniciousDeed extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{B}{G}"); super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{B}{G}");
// {X}, Sacrifice Pernicious Deed: Destroy each artifact, creature, and enchantment with converted mana cost X or less. // {X}, Sacrifice Pernicious Deed: Destroy each artifact, creature, and enchantment with converted mana cost X or less.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PerniciousDeedEffect(), new VariableManaCost(VariableCostType.NORMAL)); Ability ability = new SimpleActivatedAbility(new PerniciousDeedEffect(), new VariableManaCost(VariableCostType.NORMAL));
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -37,7 +37,7 @@ public final class PersonalIncarnation extends CardImpl {
this.toughness = new MageInt(6); this.toughness = new MageInt(6);
// {0}: The next 1 damage that would be dealt to Personal Incarnation this turn is dealt to its owner instead. Only Personal Incarnation's owner may activate this ability. // {0}: The next 1 damage that would be dealt to Personal Incarnation this turn is dealt to its owner instead. Only Personal Incarnation's owner may activate this ability.
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PersonalIncarnationRedirectEffect(), new GenericManaCost(0)); SimpleActivatedAbility ability = new SimpleActivatedAbility(new PersonalIncarnationRedirectEffect(), new GenericManaCost(0));
ability.setMayActivate(TargetController.OWNER); ability.setMayActivate(TargetController.OWNER);
this.addAbility(ability); this.addAbility(ability);
// When Personal Incarnation dies, its owner loses half their life, rounded up. // When Personal Incarnation dies, its owner loses half their life, rounded up.

View file

@ -33,7 +33,7 @@ public final class Pestilence extends CardImpl {
this.addAbility(new ConditionalInterveningIfTriggeredAbility(triggered, new CreatureCountCondition(0, TargetController.ANY), ruleText)); this.addAbility(new ConditionalInterveningIfTriggeredAbility(triggered, new CreatureCountCondition(0, TargetController.ANY), ruleText));
// {B}: Pestilence deals 1 damage to each creature and each player. // {B}: Pestilence deals 1 damage to each creature and each player.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageEverythingEffect(1), new ManaCostsImpl<>("{B}"))); this.addAbility(new SimpleActivatedAbility(new DamageEverythingEffect(1), new ManaCostsImpl<>("{B}")));
} }
private Pestilence(final Pestilence card) { private Pestilence(final Pestilence card) {

View file

@ -35,7 +35,7 @@ public final class PestilenceDemon extends CardImpl {
this.addAbility(FlyingAbility.getInstance()); this.addAbility(FlyingAbility.getInstance());
// {B}: Pestilence Demon deals 1 damage to each creature and each player. // {B}: Pestilence Demon deals 1 damage to each creature and each player.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new PestilenceDemonEffect(), new ManaCostsImpl<>("{B}"))); this.addAbility(new SimpleActivatedAbility(new PestilenceDemonEffect(), new ManaCostsImpl<>("{B}")));
} }
private PestilenceDemon(final PestilenceDemon card) { private PestilenceDemon(final PestilenceDemon card) {

View file

@ -32,7 +32,7 @@ public final class PestilentKathari extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
this.addAbility(FlyingAbility.getInstance()); this.addAbility(FlyingAbility.getInstance());
this.addAbility(DeathtouchAbility.getInstance()); this.addAbility(DeathtouchAbility.getInstance());
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{2}{R}"))); this.addAbility(new SimpleActivatedAbility(new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{2}{R}")));
} }
private PestilentKathari(final PestilentKathari card) { private PestilentKathari(final PestilentKathari card) {

View file

@ -31,7 +31,7 @@ public final class PetraSphinx extends CardImpl {
this.toughness = new MageInt(4); this.toughness = new MageInt(4);
// {tap}: Target player chooses a card name, then reveals the top card of their library. If that card has the chosen name, that player puts it into their hand. If it doesn't, the player puts it into their graveyard. // {tap}: Target player chooses a card name, then reveals the top card of their library. If that card has the chosen name, that player puts it into their hand. If it doesn't, the player puts it into their graveyard.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PetraSphinxEffect(), new TapSourceCost()); Ability ability = new SimpleActivatedAbility(new PetraSphinxEffect(), new TapSourceCost());
ability.addTarget(new TargetPlayer()); ability.addTarget(new TargetPlayer());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -41,7 +41,7 @@ public final class Petradon extends CardImpl {
.withText(true, true, false), false)); .withText(true, true, false), false));
// {R}: Petradon gets +1/+0 until end of turn. // {R}: Petradon gets +1/+0 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{R}"))); this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{R}")));
} }
private Petradon(final Petradon card) { private Petradon(final Petradon card) {

View file

@ -31,7 +31,7 @@ public final class PetrifiedField extends CardImpl {
// {tap}, Sacrifice Petrified Field: Return target land card from your graveyard to your hand. // {tap}, Sacrifice Petrified Field: Return target land card from your graveyard to your hand.
Effect effect = new ReturnFromGraveyardToHandTargetEffect(); Effect effect = new ReturnFromGraveyardToHandTargetEffect();
effect.setText("Return target land card from your graveyard to your hand."); effect.setText("Return target land card from your graveyard to your hand.");
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new TapSourceCost()); Ability ability = new SimpleActivatedAbility(effect, new TapSourceCost());
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCardInYourGraveyard(new FilterLandCard())); ability.addTarget(new TargetCardInYourGraveyard(new FilterLandCard()));
this.addAbility(ability); this.addAbility(ability);

View file

@ -23,7 +23,7 @@ public final class PewterGolem extends CardImpl {
this.subtype.add(SubType.GOLEM); this.subtype.add(SubType.GOLEM);
this.power = new MageInt(4); this.power = new MageInt(4);
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{1}{B}"))); this.addAbility(new SimpleActivatedAbility(new RegenerateSourceEffect(), new ManaCostsImpl<>("{1}{B}")));
} }
private PewterGolem(final PewterGolem card) { private PewterGolem(final PewterGolem card) {

View file

@ -28,10 +28,10 @@ public final class PhantasmalFiend extends CardImpl {
this.toughness = new MageInt(5); this.toughness = new MageInt(5);
// {B}: Phantasmal Fiend gets +1/-1 until end of turn. // {B}: Phantasmal Fiend gets +1/-1 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, -1, Duration.EndOfTurn), new ManaCostsImpl<>("{B}"))); this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(1, -1, Duration.EndOfTurn), new ManaCostsImpl<>("{B}")));
// {1}{U}: Switch Phantasmal Fiend's power and toughness until end of turn. // {1}{U}: Switch Phantasmal Fiend's power and toughness until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new SwitchPowerToughnessSourceEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{1}{U}"))); this.addAbility(new SimpleActivatedAbility(new SwitchPowerToughnessSourceEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{1}{U}")));
} }
private PhantasmalFiend(final PhantasmalFiend card) { private PhantasmalFiend(final PhantasmalFiend card) {

View file

@ -53,7 +53,7 @@ public final class PhantasmalMount extends CardImpl {
this.addAbility(FlyingAbility.getInstance()); this.addAbility(FlyingAbility.getInstance());
// {tap}: Target creature you control with toughness 2 or less gets +1/+1 and gains flying until end of turn. When Phantasmal Mount leaves the battlefield this turn, sacrifice that creature. When the creature leaves the battlefield this turn, sacrifice Phantasmal Mount. // {tap}: Target creature you control with toughness 2 or less gets +1/+1 and gains flying until end of turn. When Phantasmal Mount leaves the battlefield this turn, sacrifice that creature. When the creature leaves the battlefield this turn, sacrifice Phantasmal Mount.
Ability activatedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PhantasmalMountEffect(), new TapSourceCost()); Ability activatedAbility = new SimpleActivatedAbility(new PhantasmalMountEffect(), new TapSourceCost());
activatedAbility.addTarget(new TargetControlledCreaturePermanent(filter)); activatedAbility.addTarget(new TargetControlledCreaturePermanent(filter));
this.addAbility(activatedAbility); this.addAbility(activatedAbility);

View file

@ -40,7 +40,7 @@ public final class PhantomNantuko extends CardImpl {
new PreventDamageAndRemoveCountersEffect(false, false, false).withPhantomText() new PreventDamageAndRemoveCountersEffect(false, false, false).withPhantomText()
), PreventDamageAndRemoveCountersEffect.createWatcher()); ), PreventDamageAndRemoveCountersEffect.createWatcher());
// {tap}: Put a +1/+1 counter on Phantom Nantuko. // {tap}: Put a +1/+1 counter on Phantom Nantuko.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance()), new TapSourceCost())); this.addAbility(new SimpleActivatedAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), new TapSourceCost()));
} }
private PhantomNantuko(final PhantomNantuko card) { private PhantomNantuko(final PhantomNantuko card) {
@ -52,4 +52,3 @@ public final class PhantomNantuko extends CardImpl {
return new PhantomNantuko(this); return new PhantomNantuko(this);
} }
} }

View file

@ -37,19 +37,19 @@ public final class Phelddagrif extends CardImpl {
this.toughness = new MageInt(4); this.toughness = new MageInt(4);
// {G}: Phelddagrif gains trample until end of turn. Target opponent creates a 1/1 green Hippo creature token. // {G}: Phelddagrif gains trample until end of turn. Target opponent creates a 1/1 green Hippo creature token.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{G}")); Ability ability = new SimpleActivatedAbility(new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{G}"));
ability.addEffect(new CreateTokenTargetEffect(new HippoToken())); ability.addEffect(new CreateTokenTargetEffect(new HippoToken()));
ability.addTarget(new TargetOpponent()); ability.addTarget(new TargetOpponent());
this.addAbility(ability); this.addAbility(ability);
// {W}: Phelddagrif gains flying until end of turn. Target opponent gains 2 life. // {W}: Phelddagrif gains flying until end of turn. Target opponent gains 2 life.
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{W}")); ability = new SimpleActivatedAbility(new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{W}"));
ability.addEffect(new GainLifeTargetEffect(2)); ability.addEffect(new GainLifeTargetEffect(2));
ability.addTarget(new TargetOpponent()); ability.addTarget(new TargetOpponent());
this.addAbility(ability); this.addAbility(ability);
// {U}: Return Phelddagrif to its owner's hand. Target opponent may draw a card. // {U}: Return Phelddagrif to its owner's hand. Target opponent may draw a card.
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new ManaCostsImpl<>("{U}")); ability = new SimpleActivatedAbility(new ReturnToHandSourceEffect(true), new ManaCostsImpl<>("{U}"));
ability.addEffect(new DrawCardTargetEffect(1, true)); ability.addEffect(new DrawCardTargetEffect(1, true));
ability.addTarget(new TargetOpponent()); ability.addTarget(new TargetOpponent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -32,7 +32,7 @@ public final class PhyrexianBroodlings extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// {1}, Sacrifice a creature: Put a +1/+1 counter on Phyrexian Broodlings. // {1}, Sacrifice a creature: Put a +1/+1 counter on Phyrexian Broodlings.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), new GenericManaCost(1)); Ability ability = new SimpleActivatedAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), new GenericManaCost(1));
ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE)); ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -35,7 +35,7 @@ public final class PhyrexianDebaser extends CardImpl {
this.addAbility(FlyingAbility.getInstance()); this.addAbility(FlyingAbility.getInstance());
// {tap}, Sacrifice Phyrexian Debaser: Target creature gets -2/-2 until end of turn. // {tap}, Sacrifice Phyrexian Debaser: Target creature gets -2/-2 until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-2, -2, Duration.EndOfTurn), new TapSourceCost()); Ability ability = new SimpleActivatedAbility(new BoostTargetEffect(-2, -2, Duration.EndOfTurn), new TapSourceCost());
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -31,7 +31,7 @@ public final class PhyrexianDefiler extends CardImpl {
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
// {tap}, Sacrifice Phyrexian Defiler: Target creature gets -3/-3 until end of turn. // {tap}, Sacrifice Phyrexian Defiler: Target creature gets -3/-3 until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-3, -3, Duration.EndOfTurn), new TapSourceCost()); Ability ability = new SimpleActivatedAbility(new BoostTargetEffect(-3, -3, Duration.EndOfTurn), new TapSourceCost());
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -31,7 +31,7 @@ public final class PhyrexianDenouncer extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {tap}, Sacrifice Phyrexian Denouncer: Target creature gets -1/-1 until end of turn. // {tap}, Sacrifice Phyrexian Denouncer: Target creature gets -1/-1 until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-1, -1, Duration.EndOfTurn), new TapSourceCost()); Ability ability = new SimpleActivatedAbility(new BoostTargetEffect(-1, -1, Duration.EndOfTurn), new TapSourceCost());
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -41,7 +41,7 @@ public final class PhyrexianDevourer extends CardImpl {
this.addAbility(new PhyrexianDevourerStateTriggeredAbility()); this.addAbility(new PhyrexianDevourerStateTriggeredAbility());
// Exile the top card of your library: Put X +1/+1 counters on Phyrexian Devourer, where X is the exiled card's converted mana cost. // Exile the top card of your library: Put X +1/+1 counters on Phyrexian Devourer, where X is the exiled card's converted mana cost.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new PhyrexianDevourerEffect(), new ExileTopCardLibraryCost())); this.addAbility(new SimpleActivatedAbility(new PhyrexianDevourerEffect(), new ExileTopCardLibraryCost()));
} }

View file

@ -31,12 +31,12 @@ public final class PhyrexianFurnace extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}");
// {tap}: Exile the bottom card of target player's graveyard. // {tap}: Exile the bottom card of target player's graveyard.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PhyrexianFurnaceEffect(), new TapSourceCost()); Ability ability = new SimpleActivatedAbility(new PhyrexianFurnaceEffect(), new TapSourceCost());
ability.addTarget(new TargetPlayer()); ability.addTarget(new TargetPlayer());
this.addAbility(ability); this.addAbility(ability);
// {1}, Sacrifice Phyrexian Furnace: Exile target card from a graveyard. Draw a card. // {1}, Sacrifice Phyrexian Furnace: Exile target card from a graveyard. Draw a card.
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileTargetEffect(), new ManaCostsImpl<>("{1}")); ability = new SimpleActivatedAbility(new ExileTargetEffect(), new ManaCostsImpl<>("{1}"));
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCardInGraveyard()); ability.addTarget(new TargetCardInGraveyard());
ability.addEffect(new DrawCardSourceControllerEffect(1)); ability.addEffect(new DrawCardSourceControllerEffect(1));

View file

@ -28,7 +28,7 @@ public final class PhyrexianGhoul extends CardImpl {
this.power = new MageInt(2); this.power = new MageInt(2);
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 2, Duration.EndOfTurn), this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(2, 2, Duration.EndOfTurn),
new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE))); new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE)));
} }

View file

@ -32,7 +32,7 @@ public final class PhyrexianGremlins extends CardImpl {
// You may choose not to untap Phyrexian Gremlins during your untap step. // You may choose not to untap Phyrexian Gremlins during your untap step.
this.addAbility(new SkipUntapOptionalAbility()); this.addAbility(new SkipUntapOptionalAbility());
// {tap}: Tap target artifact. It doesn't untap during its controller's untap step for as long as Phyrexian Gremlins remains tapped. // {tap}: Tap target artifact. It doesn't untap during its controller's untap step for as long as Phyrexian Gremlins remains tapped.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new TapSourceCost()); Ability ability = new SimpleActivatedAbility(new TapTargetEffect(), new TapSourceCost());
ability.addTarget(new TargetArtifactPermanent()); ability.addTarget(new TargetArtifactPermanent());
ability.addEffect(new DontUntapAsLongAsSourceTappedEffect()); ability.addEffect(new DontUntapAsLongAsSourceTappedEffect());
this.addAbility(ability); this.addAbility(ability);

View file

@ -33,7 +33,7 @@ public final class PhyrexianGrimoire extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}");
// {4}, {tap}: Target opponent chooses one of the top two cards of your graveyard. Exile that card and put the other one into your hand. // {4}, {tap}: Target opponent chooses one of the top two cards of your graveyard. Exile that card and put the other one into your hand.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PhyrexianGrimoireEffect(), new ManaCostsImpl<>("{4}")); Ability ability = new SimpleActivatedAbility(new PhyrexianGrimoireEffect(), new ManaCostsImpl<>("{4}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetOpponent()); ability.addTarget(new TargetOpponent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -29,7 +29,7 @@ public final class PhyrexianInfiltrator extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// {2}{U}{U}: Exchange control of Phyrexian Infiltrator and target creature. // {2}{U}{U}: Exchange control of Phyrexian Infiltrator and target creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExchangeControlTargetEffect(Duration.EndOfGame, Ability ability = new SimpleActivatedAbility(new ExchangeControlTargetEffect(Duration.EndOfGame,
"Exchange control of {this} and target creature", true), new ManaCostsImpl<>("{2}{U}{U}")); "Exchange control of {this} and target creature", true), new ManaCostsImpl<>("{2}{U}{U}"));
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -33,7 +33,7 @@ public final class PhyrexianIronfoot extends CardImpl {
this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepSourceEffect())); this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepSourceEffect()));
// {1}{S}: Untap Phyrexian Ironfoot. // {1}{S}: Untap Phyrexian Ironfoot.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapSourceEffect(), new ManaCostsImpl<>("{1}{S}"))); this.addAbility(new SimpleActivatedAbility(new UntapSourceEffect(), new ManaCostsImpl<>("{1}{S}")));
} }
private PhyrexianIronfoot(final PhyrexianIronfoot card) { private PhyrexianIronfoot(final PhyrexianIronfoot card) {

View file

@ -26,7 +26,7 @@ public final class PhyrexianMonitor extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// {B}: Regenerate Phyrexian Monitor. // {B}: Regenerate Phyrexian Monitor.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{B}"))); this.addAbility(new SimpleActivatedAbility(new RegenerateSourceEffect(), new ManaCostsImpl<>("{B}")));
} }
private PhyrexianMonitor(final PhyrexianMonitor card) { private PhyrexianMonitor(final PhyrexianMonitor card) {

View file

@ -32,7 +32,7 @@ public final class PhyrexianPortal extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}");
// {3}: If your library has ten or more cards in it, target opponent looks at the top ten cards of your library and separates them into two face-down piles. Exile one of those piles. Search the other pile for a card, put it into your hand, then shuffle the rest of that pile into your library. // {3}: If your library has ten or more cards in it, target opponent looks at the top ten cards of your library and separates them into two face-down piles. Exile one of those piles. Search the other pile for a card, put it into your hand, then shuffle the rest of that pile into your library.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PhyrexianPortalEffect(), new ManaCostsImpl<>("{3}")); Ability ability = new SimpleActivatedAbility(new PhyrexianPortalEffect(), new ManaCostsImpl<>("{3}"));
ability.addTarget(new TargetOpponent()); ability.addTarget(new TargetOpponent());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -32,7 +32,7 @@ public final class PhyrexianProwler extends CardImpl {
// Fading 3 // Fading 3
this.addAbility(new FadingAbility(3, this)); this.addAbility(new FadingAbility(3, this));
// Remove a fade counter from Phyrexian Prowler: Phyrexian Prowler gets +1/+1 until end of turn. // Remove a fade counter from Phyrexian Prowler: Phyrexian Prowler gets +1/+1 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 1, Duration.EndOfTurn), this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(1, 1, Duration.EndOfTurn),
new RemoveCountersSourceCost(CounterType.FADE.createInstance()))); new RemoveCountersSourceCost(CounterType.FADE.createInstance())));
} }

View file

@ -32,7 +32,7 @@ public final class PhyrexianSnowcrusher extends CardImpl {
// Phyrexian Snowcrusher attacks each turn if able. // Phyrexian Snowcrusher attacks each turn if able.
this.addAbility(new AttacksEachCombatStaticAbility()); this.addAbility(new AttacksEachCombatStaticAbility());
// {1}{S}: Phyrexian Snowcrusher gets +1/+0 until end of turn. // {1}{S}: Phyrexian Snowcrusher gets +1/+0 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{S}"))); this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{S}")));
} }
private PhyrexianSnowcrusher(final PhyrexianSnowcrusher card) { private PhyrexianSnowcrusher(final PhyrexianSnowcrusher card) {

View file

@ -62,7 +62,7 @@ public final class PhyrexianSplicer extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}");
// {2}, {T}, Choose flying, first strike, trample, or shadow: Until end of turn, target creature with the chosen ability loses it and another target creature gains it. // {2}, {T}, Choose flying, first strike, trample, or shadow: Until end of turn, target creature with the chosen ability loses it and another target creature gains it.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PhyrexianSplicerEffect(), new ManaCostsImpl<>("{2}")); Ability ability = new SimpleActivatedAbility(new PhyrexianSplicerEffect(), new ManaCostsImpl<>("{2}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addCost(new PhyrexianSplicerChooseCost()); ability.addCost(new PhyrexianSplicerChooseCost());
ability.addTarget(new TargetPermanent(filterLose).withChooseHint("to lose ability").setTargetTag(1)); ability.addTarget(new TargetPermanent(filterLose).withChooseHint("to lose ability").setTargetTag(1));

View file

@ -36,7 +36,7 @@ public final class PhyrexianTotem extends CardImpl {
// {tap}: Add {B}. // {tap}: Add {B}.
this.addAbility(new BlackManaAbility()); this.addAbility(new BlackManaAbility());
// {2}{B}: {this} becomes a 5/5 black Horror artifact creature with trample until end of turn. // {2}{B}: {this} becomes a 5/5 black Horror artifact creature with trample until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect( this.addAbility(new SimpleActivatedAbility(new BecomesCreatureSourceEffect(
new PhyrexianTotemToken(), CardType.ARTIFACT, Duration.EndOfTurn), new ManaCostsImpl<>("{2}{B}"))); new PhyrexianTotemToken(), CardType.ARTIFACT, Duration.EndOfTurn), new ManaCostsImpl<>("{2}{B}")));
// Whenever {this} is dealt damage, if it's a creature, sacrifice that many permanents. // Whenever {this} is dealt damage, if it's a creature, sacrifice that many permanents.
this.addAbility(new PhyrexianTotemTriggeredAbility()); this.addAbility(new PhyrexianTotemTriggeredAbility());

View file

@ -23,7 +23,7 @@ public final class PhyrexianVault extends CardImpl {
public PhyrexianVault(UUID ownerId, CardSetInfo setInfo) { public PhyrexianVault(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}");
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(2)); Ability ability = new SimpleActivatedAbility(new DrawCardSourceControllerEffect(1), new GenericManaCost(2));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE)); ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE));
this.addAbility(ability); this.addAbility(ability);

View file

@ -31,7 +31,7 @@ public final class PhyrexiasCore extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.LAND},""); super(ownerId,setInfo,new CardType[]{CardType.LAND},"");
this.addAbility(new ColorlessManaAbility()); this.addAbility(new ColorlessManaAbility());
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(1), new TapSourceCost()); SimpleActivatedAbility ability = new SimpleActivatedAbility(new GainLifeEffect(1), new TapSourceCost());
ability.addCost(new GenericManaCost(1)); ability.addCost(new GenericManaCost(1));
ability.addCost(new SacrificeTargetCost(filter)); ability.addCost(new SacrificeTargetCost(filter));
this.addAbility(ability); this.addAbility(ability);

View file

@ -43,7 +43,7 @@ public final class PiaAndKiranNalaar extends CardImpl {
this.addAbility(new EntersBattlefieldTriggeredAbility(effect)); this.addAbility(new EntersBattlefieldTriggeredAbility(effect));
// {2}{R}, Sacrifice an artifact: Pia and Kiran Nalaar deals 2 damage to any target. // {2}{R}, Sacrifice an artifact: Pia and Kiran Nalaar deals 2 damage to any target.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl<>("{2}{R}")); Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(2), new ManaCostsImpl<>("{2}{R}"));
ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_ARTIFACT)); ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_ARTIFACT));
ability.addTarget(new TargetAnyTarget()); ability.addTarget(new TargetAnyTarget());
this.addAbility(ability); this.addAbility(ability);

View file

@ -43,12 +43,12 @@ public final class PiaNalaar extends CardImpl {
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new ThopterColorlessToken()))); this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new ThopterColorlessToken())));
// {1}{R}: Target artifact creature gets +1/+0 until end of turn. // {1}{R}: Target artifact creature gets +1/+0 until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{R}")); Ability ability = new SimpleActivatedAbility(new BoostTargetEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{R}"));
ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_CREATURE)); ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_CREATURE));
this.addAbility(ability); this.addAbility(ability);
// {1}, Sacrifice an artifact: Target creature can't block this turn. // {1}, Sacrifice an artifact: Target creature can't block this turn.
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBlockTargetEffect(Duration.EndOfTurn), new GenericManaCost(1)); ability = new SimpleActivatedAbility(new CantBlockTargetEffect(Duration.EndOfTurn), new GenericManaCost(1));
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_ARTIFACT)); ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_ARTIFACT));
this.addAbility(ability); this.addAbility(ability);

View file

@ -38,7 +38,7 @@ public final class PilgrimOfJustice extends CardImpl {
// Protection from red // Protection from red
this.addAbility(ProtectionAbility.from(ObjectColor.RED)); this.addAbility(ProtectionAbility.from(ObjectColor.RED));
// {W}, Sacrifice Pilgrim of Justice: The next time a red source of your choice would deal damage this turn, prevent that damage. // {W}, Sacrifice Pilgrim of Justice: The next time a red source of your choice would deal damage this turn, prevent that damage.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PilgrimOfJusticeEffect(), new ManaCostsImpl<>("{W}")); Ability ability = new SimpleActivatedAbility(new PilgrimOfJusticeEffect(), new ManaCostsImpl<>("{W}"));
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -38,7 +38,7 @@ public final class PilgrimOfVirtue extends CardImpl {
// Protection from black // Protection from black
this.addAbility(ProtectionAbility.from(ObjectColor.BLACK)); this.addAbility(ProtectionAbility.from(ObjectColor.BLACK));
// {W}, Sacrifice Pilgrim of Virtue: The next time a black source of your choice would deal damage this turn, prevent that damage. // {W}, Sacrifice Pilgrim of Virtue: The next time a black source of your choice would deal damage this turn, prevent that damage.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PilgrimOfVirtueEffect(), new ManaCostsImpl<>("{W}")); Ability ability = new SimpleActivatedAbility(new PilgrimOfVirtueEffect(), new ManaCostsImpl<>("{W}"));
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -48,7 +48,7 @@ public final class PiousEvangel extends CardImpl {
// {2}, {T}, Sacrifice another permanent: Transform Pious Evangel. // {2}, {T}, Sacrifice another permanent: Transform Pious Evangel.
this.addAbility(new TransformAbility()); this.addAbility(new TransformAbility());
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TransformSourceEffect(), new GenericManaCost(2)); Ability ability = new SimpleActivatedAbility(new TransformSourceEffect(), new GenericManaCost(2));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeTargetCost(filter2)); ability.addCost(new SacrificeTargetCost(filter2));
this.addAbility(ability); this.addAbility(ability);

View file

@ -41,7 +41,7 @@ public final class PiousKitsune extends CardImpl {
// At the beginning of your upkeep, put a devotion counter on Pious Kitsune. Then if a creature named Eight-and-a-Half-Tails is on the battlefield, you gain 1 life for each devotion counter on Pious Kitsune. // At the beginning of your upkeep, put a devotion counter on Pious Kitsune. Then if a creature named Eight-and-a-Half-Tails is on the battlefield, you gain 1 life for each devotion counter on Pious Kitsune.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new PiousKitsuneEffect())); this.addAbility(new BeginningOfUpkeepTriggeredAbility(new PiousKitsuneEffect()));
// {tap}, Remove a devotion counter from Pious Kitsune: You gain 1 life. // {tap}, Remove a devotion counter from Pious Kitsune: You gain 1 life.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(1), new TapSourceCost()); Ability ability = new SimpleActivatedAbility(new GainLifeEffect(1), new TapSourceCost());
ability.addCost(new RemoveCountersSourceCost(CounterType.DEVOTION.createInstance())); ability.addCost(new RemoveCountersSourceCost(CounterType.DEVOTION.createInstance()));
this.addAbility(ability); this.addAbility(ability);

View file

@ -36,7 +36,7 @@ public final class PirateShip extends CardImpl {
// Pirate Ship can't attack unless defending player controls an Island. // Pirate Ship can't attack unless defending player controls an Island.
this.addAbility(new SimpleStaticAbility(new CantAttackUnlessDefenderControllsPermanent(new FilterLandPermanent(SubType.ISLAND, "an Island")))); this.addAbility(new SimpleStaticAbility(new CantAttackUnlessDefenderControllsPermanent(new FilterLandPermanent(SubType.ISLAND, "an Island"))));
// {tap}: Pirate Ship deals 1 damage to any target. // {tap}: Pirate Ship deals 1 damage to any target.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost()); Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(1), new TapSourceCost());
ability.addTarget(new TargetAnyTarget()); ability.addTarget(new TargetAnyTarget());
this.addAbility(ability); this.addAbility(ability);
// When you control no Islands, sacrifice Pirate Ship. // When you control no Islands, sacrifice Pirate Ship.

View file

@ -33,7 +33,7 @@ public final class PitTrap extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}");
// {2}, {tap}, Sacrifice Pit Trap: Destroy target attacking creature without flying. It can't be regenerated. // {2}, {tap}, Sacrifice Pit Trap: Destroy target attacking creature without flying. It can't be regenerated.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(true), new GenericManaCost(2)); Ability ability = new SimpleActivatedAbility(new DestroyTargetEffect(true), new GenericManaCost(2));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));

View file

@ -33,7 +33,7 @@ public final class PixieQueen extends CardImpl {
this.addAbility(FlyingAbility.getInstance()); this.addAbility(FlyingAbility.getInstance());
// {G}{G}{G}, {tap}: Target creature gains flying until end of turn. // {G}{G}{G}, {tap}: Target creature gains flying until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{G}{G}{G}")); Ability ability = new SimpleActivatedAbility(new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{G}{G}{G}"));
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
this.addAbility(ability); this.addAbility(ability);

View file

@ -35,7 +35,7 @@ public final class PlagueBoiler extends CardImpl {
// At the beginning of your upkeep, put a plague counter on Plague Boiler. // At the beginning of your upkeep, put a plague counter on Plague Boiler.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.PLAGUE.createInstance()))); this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.PLAGUE.createInstance())));
// {1}{B}{G}: Put a plague counter on Plague Boiler or remove a plague counter from it. // {1}{B}{G}: Put a plague counter on Plague Boiler or remove a plague counter from it.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new PlagueBoilerEffect(), new ManaCostsImpl<>("{1}{B}{G}"))); this.addAbility(new SimpleActivatedAbility(new PlagueBoilerEffect(), new ManaCostsImpl<>("{1}{B}{G}")));
// When Plague Boiler has three or more plague counters on it, sacrifice it. If you do, destroy all nonland permanents. // When Plague Boiler has three or more plague counters on it, sacrifice it. If you do, destroy all nonland permanents.
this.addAbility(new PlagueBoilerTriggeredAbility()); this.addAbility(new PlagueBoilerTriggeredAbility());

View file

@ -34,7 +34,7 @@ public final class PlagueDogs extends CardImpl {
// When Plague Dogs dies, all creatures get -1/-1 until end of turn. // When Plague Dogs dies, all creatures get -1/-1 until end of turn.
this.addAbility(new DiesSourceTriggeredAbility(new BoostAllEffect(-1, -1, Duration.EndOfTurn), false)); this.addAbility(new DiesSourceTriggeredAbility(new BoostAllEffect(-1, -1, Duration.EndOfTurn), false));
// {2}, Sacrifice Plague Dogs: Draw a card. // {2}, Sacrifice Plague Dogs: Draw a card.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{2}")); Ability ability = new SimpleActivatedAbility(new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{2}"));
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -31,7 +31,7 @@ public final class PlagueWitch extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {B}, {tap}, Discard a card: Target creature gets -1/-1 until end of turn. // {B}, {tap}, Discard a card: Target creature gets -1/-1 until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-1, -1, Duration.EndOfTurn), new ManaCostsImpl<>("{B}")); Ability ability = new SimpleActivatedAbility(new BoostTargetEffect(-1, -1, Duration.EndOfTurn), new ManaCostsImpl<>("{B}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addCost(new DiscardCardCost()); ability.addCost(new DiscardCardCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());

View file

@ -39,7 +39,7 @@ public final class Plaguebearer extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {X}{X}{B}: Destroy target nonblack creature with converted mana cost X. // {X}{X}{B}: Destroy target nonblack creature with converted mana cost X.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl<>("{X}{X}{B}")); Ability ability = new SimpleActivatedAbility(new DestroyTargetEffect(), new ManaCostsImpl<>("{X}{X}{B}"));
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
ability.setTargetAdjuster(new XManaValueTargetAdjuster()); ability.setTargetAdjuster(new XManaValueTargetAdjuster());
this.addAbility(ability); this.addAbility(ability);

View file

@ -27,7 +27,7 @@ public final class PlaguedRusalka extends CardImpl {
this.power = new MageInt(1); this.power = new MageInt(1);
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-1, -1, Duration.EndOfTurn), new ColoredManaCost(ColoredManaSymbol.B)); Ability ability = new SimpleActivatedAbility(new BoostTargetEffect(-1, -1, Duration.EndOfTurn), new ColoredManaCost(ColoredManaSymbol.B));
ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE)); ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE));
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -31,7 +31,7 @@ public final class PlaguemawBeast extends CardImpl {
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
// {T}, Sacrifice a creature: Proliferate. (You choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there.) // {T}, Sacrifice a creature: Proliferate. (You choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there.)
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ProliferateEffect(), new TapSourceCost()); Ability ability = new SimpleActivatedAbility(new ProliferateEffect(), new TapSourceCost());
ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE)); ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -39,7 +39,7 @@ public final class PlanarGuide extends CardImpl {
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
// {3}{W}, Exile Planar Guide: Exile all creatures. At the beginning of the next end step, return those cards to the battlefield under their owners' control. // {3}{W}, Exile Planar Guide: Exile all creatures. At the beginning of the next end step, return those cards to the battlefield under their owners' control.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PlanarGuideExileEffect(), new ManaCostsImpl<>("{3}{W}")); Ability ability = new SimpleActivatedAbility(new PlanarGuideExileEffect(), new ManaCostsImpl<>("{3}{W}"));
ability.addCost(new ExileSourceCost()); ability.addCost(new ExileSourceCost());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -23,7 +23,7 @@ public final class PlanarPortal extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{6}"); super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{6}");
// {6}, {tap}: Search your library for a card and put that card into your hand. Then shuffle your library. // {6}, {tap}: Search your library for a card and put that card into your hand. Then shuffle your library.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SearchLibraryPutInHandEffect(new TargetCardInLibrary(), false, true), new ManaCostsImpl<>("{6}")); Ability ability = new SimpleActivatedAbility(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(), false, true), new ManaCostsImpl<>("{6}"));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -34,7 +34,7 @@ public final class PlaneswalkersFavor extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}"); super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}");
// {3}{G}: Target opponent reveals a card at random from their hand. Target creature gets +X/+X until end of turn, where X is the revealed card's converted mana cost. // {3}{G}: Target opponent reveals a card at random from their hand. Target creature gets +X/+X until end of turn, where X is the revealed card's converted mana cost.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PlaneswalkersFavorEffect(), new ManaCostsImpl<>("{3}{G}")); Ability ability = new SimpleActivatedAbility(new PlaneswalkersFavorEffect(), new ManaCostsImpl<>("{3}{G}"));
Target target = new TargetOpponent(); Target target = new TargetOpponent();
ability.addTarget(target); ability.addTarget(target);
target = new TargetCreaturePermanent(); target = new TargetCreaturePermanent();

View file

@ -28,7 +28,7 @@ public final class PlaneswalkersMirth extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}"); super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}");
// {3}{W}: Target opponent reveals a card at random from their hand. You gain life equal to that card's converted mana cost. // {3}{W}: Target opponent reveals a card at random from their hand. You gain life equal to that card's converted mana cost.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PlaneswalkersMirthEffect(), new ManaCostsImpl<>("{3}{W}")); Ability ability = new SimpleActivatedAbility(new PlaneswalkersMirthEffect(), new ManaCostsImpl<>("{3}{W}"));
ability.addTarget(new TargetOpponent()); ability.addTarget(new TargetOpponent());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -35,7 +35,7 @@ public final class PlaxcasterFrogling extends CardImpl {
this.addAbility(new GraftAbility(this, 3)); this.addAbility(new GraftAbility(this, 3));
// {2}: Target creature with a +1/+1 counter on it gains shroud until end of turn. // {2}: Target creature with a +1/+1 counter on it gains shroud until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(ShroudAbility.getInstance(), Duration.EndOfTurn), new GenericManaCost(2)); Ability ability = new SimpleActivatedAbility(new GainAbilityTargetEffect(ShroudAbility.getInstance(), Duration.EndOfTurn), new GenericManaCost(2));
ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_CREATURE_P1P1)); ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_CREATURE_P1P1));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -38,7 +38,7 @@ public final class PoolingVenom extends CardImpl {
// Whenever enchanted land becomes tapped, its controller loses 2 life. // Whenever enchanted land becomes tapped, its controller loses 2 life.
this.addAbility(new BecomesTappedAttachedTriggeredAbility(new LoseLifeControllerAttachedEffect(2), "enchanted land")); this.addAbility(new BecomesTappedAttachedTriggeredAbility(new LoseLifeControllerAttachedEffect(2), "enchanted land"));
// {3}{B}: Destroy enchanted land. // {3}{B}: Destroy enchanted land.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyAttachedToEffect("enchanted land"), new ManaCostsImpl<>("{3}{B}"))); this.addAbility(new SimpleActivatedAbility(new DestroyAttachedToEffect("enchanted land"), new ManaCostsImpl<>("{3}{B}")));
} }
private PoolingVenom(final PoolingVenom card) { private PoolingVenom(final PoolingVenom card) {

View file

@ -33,7 +33,7 @@ public final class PoulticeSliver extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// All Slivers have "{2}, {tap}: Regenerate target Sliver." // All Slivers have "{2}, {tap}: Regenerate target Sliver."
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateTargetEffect(), new GenericManaCost(2)); Ability ability = new SimpleActivatedAbility(new RegenerateTargetEffect(), new GenericManaCost(2));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ALL_SLIVERS)); ability.addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ALL_SLIVERS));

View file

@ -35,7 +35,7 @@ public final class PowderKeg extends CardImpl {
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.FUSE.createInstance(), true), true)); this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.FUSE.createInstance(), true), true));
// {T}, Sacrifice Powder Keg: Destroy each artifact and creature with converted mana cost equal to the number of fuse counters on Powder Keg. // {T}, Sacrifice Powder Keg: Destroy each artifact and creature with converted mana cost equal to the number of fuse counters on Powder Keg.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PowderKegEffect(), new TapSourceCost()); Ability ability = new SimpleActivatedAbility(new PowderKegEffect(), new TapSourceCost());
ability.addCost(new SacrificeSourceCost()); ability.addCost(new SacrificeSourceCost());
this.addAbility(ability); this.addAbility(ability);
} }

Some files were not shown because too many files have changed in this diff Show more