mirror of
https://github.com/magefree/mage.git
synced 2025-12-22 11:32:00 -08:00
text errata updates: various "enters the battlefield" -> "enters" (#12626)
* enters the battlefield, -> enters,
* {this} enters the battlefield -> {this} enters
* EntersBattlefieldAbility
* , it enters
* enters the battlefield under your control -> you control enters
* rework some trigger phrase logic
* fix tests
This commit is contained in:
parent
ab803079b9
commit
b78956d286
1137 changed files with 1403 additions and 1395 deletions
|
|
@ -28,9 +28,9 @@ public final class AcademyDrake extends CardImpl {
|
||||||
// Flying
|
// Flying
|
||||||
addAbility(FlyingAbility.getInstance());
|
addAbility(FlyingAbility.getInstance());
|
||||||
|
|
||||||
// If Academy Drake was kicked, it enters the battlefield with two +1/+1 counters on it.
|
// If Academy Drake was kicked, it enters with two +1/+1 counters on it.
|
||||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)),
|
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)),
|
||||||
KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with two +1/+1 counters on it.", ""));
|
KickedCondition.ONCE, "If {this} was kicked, it enters with two +1/+1 counters on it.", ""));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,7 @@ public final class AcclaimedContender extends CardImpl {
|
||||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||||
new EntersBattlefieldTriggeredAbility(new LookLibraryAndPickControllerEffect(
|
new EntersBattlefieldTriggeredAbility(new LookLibraryAndPickControllerEffect(
|
||||||
5, 1, filter2, PutCards.HAND, PutCards.BOTTOM_RANDOM
|
5, 1, filter2, PutCards.HAND, PutCards.BOTTOM_RANDOM
|
||||||
)), condition, "When {this} enters the battlefield, " +
|
)), condition, "When {this} enters, " +
|
||||||
"if you control another Knight, look at the top five cards of your library. " +
|
"if you control another Knight, look at the top five cards of your library. " +
|
||||||
"You may reveal a Knight, Aura, Equipment, or legendary artifact card from among them " +
|
"You may reveal a Knight, Aura, Equipment, or legendary artifact card from among them " +
|
||||||
"and put it into your hand. Put the rest on the bottom of your library in a random order."
|
"and put it into your hand. Put the rest on the bottom of your library in a random order."
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@ public final class AcererakTheArchlich extends CardImpl {
|
||||||
// When Acererak the Archlich enters the battlefield, if you have not completed Tomb of Annihilation, return Acererak the Archlich to its owner's hand and venture into the dungeon.
|
// When Acererak the Archlich enters the battlefield, if you have not completed Tomb of Annihilation, return Acererak the Archlich to its owner's hand and venture into the dungeon.
|
||||||
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
||||||
new EntersBattlefieldTriggeredAbility(new ReturnToHandSourceEffect(true)),
|
new EntersBattlefieldTriggeredAbility(new ReturnToHandSourceEffect(true)),
|
||||||
AcererakTheArchlichCondition.instance, "When {this} enters the battlefield, " +
|
AcererakTheArchlichCondition.instance, "When {this} enters, " +
|
||||||
"if you haven't completed Tomb of Annihilation, return {this} " +
|
"if you haven't completed Tomb of Annihilation, return {this} " +
|
||||||
"to its owner's hand and venture into the dungeon."
|
"to its owner's hand and venture into the dungeon."
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ public final class AdmonitionAngel extends CardImpl {
|
||||||
// Flying
|
// Flying
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
this.addAbility(FlyingAbility.getInstance());
|
||||||
|
|
||||||
// Landfall - Whenever a land enters the battlefield under your control, you may exile target nonland permanent other than Admonition Angel.
|
// Landfall - Whenever a land you control enters, you may exile target nonland permanent other than Admonition Angel.
|
||||||
TriggeredAbility ability = new LandfallAbility(Zone.BATTLEFIELD, new ExileTargetForSourceEffect(), true);
|
TriggeredAbility ability = new LandfallAbility(Zone.BATTLEFIELD, new ExileTargetForSourceEffect(), true);
|
||||||
ability.addTarget(new TargetPermanent(filter));
|
ability.addTarget(new TargetPermanent(filter));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ public final class AdventuringGear extends CardImpl {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}");
|
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}");
|
||||||
this.subtype.add(SubType.EQUIPMENT);
|
this.subtype.add(SubType.EQUIPMENT);
|
||||||
|
|
||||||
// Landfall — Whenever a land enters the battlefield under your control, equipped creature gets +2/+2 until end of turn.
|
// Landfall — Whenever a land you control enters, equipped creature gets +2/+2 until end of turn.
|
||||||
this.addAbility(new LandfallAbility(new BoostEquippedEffect(2, 2, Duration.EndOfTurn), false));
|
this.addAbility(new LandfallAbility(new BoostEquippedEffect(2, 2, Duration.EndOfTurn), false));
|
||||||
|
|
||||||
// Equip {1} ({1}: Attach to target creature you control. Equip only as a sorcery.)
|
// Equip {1} ({1}: Attach to target creature you control. Equip only as a sorcery.)
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ public final class AesiTyrantOfGyreStrait extends CardImpl {
|
||||||
new PlayAdditionalLandsControllerEffect(1, Duration.WhileOnBattlefield)
|
new PlayAdditionalLandsControllerEffect(1, Duration.WhileOnBattlefield)
|
||||||
));
|
));
|
||||||
|
|
||||||
// Whenever a land enters the battlefield under your control, you may draw a card.
|
// Whenever a land you control enters, you may draw a card.
|
||||||
this.addAbility(new LandfallAbility(new DrawCardSourceControllerEffect(1), true));
|
this.addAbility(new LandfallAbility(new DrawCardSourceControllerEffect(1), true));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ public final class AetherCharge extends CardImpl {
|
||||||
public AetherCharge(UUID ownerId, CardSetInfo setInfo) {
|
public AetherCharge(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{4}{R}");
|
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{4}{R}");
|
||||||
|
|
||||||
// Whenever a Beast enters the battlefield under your control, you may have it deal 4 damage to target opponent.
|
// Whenever a Beast you control enters, you may have it deal 4 damage to target opponent.
|
||||||
Ability ability = new AetherChargeTriggeredAbility();
|
Ability ability = new AetherChargeTriggeredAbility();
|
||||||
ability.addTarget(new TargetOpponentOrPlaneswalker());
|
ability.addTarget(new TargetOpponentOrPlaneswalker());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
@ -77,7 +77,7 @@ class AetherChargeTriggeredAbility extends TriggeredAbilityImpl {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getRule() {
|
public String getRule() {
|
||||||
return "Whenever a Beast enters the battlefield under your control, you may have it deal 4 damage to target opponent or planeswalker.";
|
return "Whenever a Beast you control enters, you may have it deal 4 damage to target opponent or planeswalker.";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -33,11 +33,11 @@ public final class AetherFigment extends CardImpl {
|
||||||
// Kicker {3}
|
// Kicker {3}
|
||||||
this.addAbility(new KickerAbility("{3}"));
|
this.addAbility(new KickerAbility("{3}"));
|
||||||
|
|
||||||
// If Aether Figment was kicked, it enters the battlefield with two +1/+1 counters on it
|
// If Aether Figment was kicked, it enters with two +1/+1 counters on it
|
||||||
Ability ability = new EntersBattlefieldAbility(
|
Ability ability = new EntersBattlefieldAbility(
|
||||||
new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)),
|
new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)),
|
||||||
KickedCondition.ONCE,
|
KickedCondition.ONCE,
|
||||||
"If {this} was kicked, it enters the battlefield with two +1/+1 counters on it.",
|
"If {this} was kicked, it enters with two +1/+1 counters on it.",
|
||||||
"");
|
"");
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@ public final class AetherstormRoc extends CardImpl {
|
||||||
// Flying
|
// Flying
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
this.addAbility(FlyingAbility.getInstance());
|
||||||
|
|
||||||
// Whenever Aetherstorm Roc or another creature enters the battlefield under your control, you get {E}.
|
// Whenever Aetherstorm Roc or another creature you control enters, you get {E}.
|
||||||
this.addAbility(new EntersBattlefieldThisOrAnotherTriggeredAbility(
|
this.addAbility(new EntersBattlefieldThisOrAnotherTriggeredAbility(
|
||||||
new GetEnergyCountersControllerEffect(1),
|
new GetEnergyCountersControllerEffect(1),
|
||||||
StaticFilters.FILTER_PERMANENT_CREATURE, false, true
|
StaticFilters.FILTER_PERMANENT_CREATURE, false, true
|
||||||
|
|
|
||||||
|
|
@ -49,10 +49,10 @@ public final class AgadeemsAwakening extends ModalDoubleFacedCard {
|
||||||
// Agadeem, the Undercrypt
|
// Agadeem, the Undercrypt
|
||||||
// Land
|
// Land
|
||||||
|
|
||||||
// As Agadeem, the Undercrypt enters the battlefield, you may pay 3 life. If you don't, it enters the battlefield tapped.
|
// As Agadeem, the Undercrypt enters the battlefield, you may pay 3 life. If you don't, it enters tapped.
|
||||||
this.getRightHalfCard().addAbility(new AsEntersBattlefieldAbility(
|
this.getRightHalfCard().addAbility(new AsEntersBattlefieldAbility(
|
||||||
new TapSourceUnlessPaysEffect(new PayLifeCost(3)),
|
new TapSourceUnlessPaysEffect(new PayLifeCost(3)),
|
||||||
"you may pay 3 life. If you don't, it enters the battlefield tapped"
|
"you may pay 3 life. If you don't, it enters tapped"
|
||||||
));
|
));
|
||||||
|
|
||||||
// {T}: Add {B}.
|
// {T}: Add {B}.
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ public final class AgathasChampion extends CardImpl {
|
||||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||||
trigger,
|
trigger,
|
||||||
BargainedCondition.instance,
|
BargainedCondition.instance,
|
||||||
"When {this} enters the battlefield, if it was bargained, it fights up to one target creature you don't control." +
|
"When {this} enters, if it was bargained, it fights up to one target creature you don't control." +
|
||||||
" <i>(Each deals damage equal to its power to the other.)</i>"
|
" <i>(Each deals damage equal to its power to the other.)</i>"
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ public final class AgentOfErebos extends CardImpl {
|
||||||
this.power = new MageInt(2);
|
this.power = new MageInt(2);
|
||||||
this.toughness = new MageInt(2);
|
this.toughness = new MageInt(2);
|
||||||
|
|
||||||
// Constellation - Whenever Agent of Erebos or another enchantment enters the battlefield under your control, exile all cards from target player's graveyard.
|
// Constellation - Whenever Agent of Erebos or another enchantment you control enters, exile all cards from target player's graveyard.
|
||||||
Ability ability = new ConstellationAbility(new ExileGraveyardAllTargetPlayerEffect(), false);
|
Ability ability = new ConstellationAbility(new ExileGraveyardAllTargetPlayerEffect(), false);
|
||||||
ability.addTarget(new TargetPlayer());
|
ability.addTarget(new TargetPlayer());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ public class AgentsToolkit extends CardImpl {
|
||||||
counterETBAbility.addEffect(new AddCountersSourceEffect(CounterType.SHIELD.createInstance(1)).setText("and a shield counter on it").concatBy(","));
|
counterETBAbility.addEffect(new AddCountersSourceEffect(CounterType.SHIELD.createInstance(1)).setText("and a shield counter on it").concatBy(","));
|
||||||
this.addAbility(counterETBAbility);
|
this.addAbility(counterETBAbility);
|
||||||
|
|
||||||
// Whenever a creature enters the battlefield under your control,
|
// Whenever a creature you control enters,
|
||||||
// you may move a counter from Agent’s Toolkit onto that creature.
|
// you may move a counter from Agent’s Toolkit onto that creature.
|
||||||
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(
|
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(
|
||||||
new AgentToolkitMoveCounterEffect(),
|
new AgentToolkitMoveCounterEffect(),
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ class AggressiveBiomancyEffect extends OneShotEffect {
|
||||||
AggressiveBiomancyEffect() {
|
AggressiveBiomancyEffect() {
|
||||||
super(Outcome.Copy);
|
super(Outcome.Copy);
|
||||||
this.staticText = "Create X tokens that are copies of target creature you control, " +
|
this.staticText = "Create X tokens that are copies of target creature you control, " +
|
||||||
"except they have \"When this creature enters the battlefield, " +
|
"except they have \"When this creature enters, " +
|
||||||
"it fights up to one target creature you don't control.\"";
|
"it fights up to one target creature you don't control.\"";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ public final class AirdropAeronauts extends CardImpl {
|
||||||
// <i>Revolt</i> — When Airdrop Aeronauts enters the battlefield, if a permanent you controlled left the battlefield this turn, you gain 5 life.
|
// <i>Revolt</i> — When Airdrop Aeronauts enters the battlefield, if a permanent you controlled left the battlefield this turn, you gain 5 life.
|
||||||
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
||||||
new EntersBattlefieldTriggeredAbility(new GainLifeEffect(5), false),
|
new EntersBattlefieldTriggeredAbility(new GainLifeEffect(5), false),
|
||||||
RevoltCondition.instance, "When {this} enters the battlefield, " +
|
RevoltCondition.instance, "When {this} enters, " +
|
||||||
"if a permanent you controlled left the battlefield this turn, you gain 5 life."
|
"if a permanent you controlled left the battlefield this turn, you gain 5 life."
|
||||||
);
|
);
|
||||||
ability.setAbilityWord(AbilityWord.REVOLT);
|
ability.setAbilityWord(AbilityWord.REVOLT);
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ public final class AjanisChosen extends CardImpl {
|
||||||
this.power = new MageInt(3);
|
this.power = new MageInt(3);
|
||||||
this.toughness = new MageInt(3);
|
this.toughness = new MageInt(3);
|
||||||
|
|
||||||
// Whenever an enchantment enters the battlefield under your control, create a 2/2 white Cat creature token. If that enchantment is an Aura, you may attach it to the token.
|
// Whenever an enchantment you control enters, create a 2/2 white Cat creature token. If that enchantment is an Aura, you may attach it to the token.
|
||||||
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(
|
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(
|
||||||
Zone.BATTLEFIELD, new AjanisChosenEffect(), filter,
|
Zone.BATTLEFIELD, new AjanisChosenEffect(), filter,
|
||||||
false, SetTargetPointer.PERMANENT));
|
false, SetTargetPointer.PERMANENT));
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ public final class AjanisWelcome extends CardImpl {
|
||||||
public AjanisWelcome(UUID ownerId, CardSetInfo setInfo) {
|
public AjanisWelcome(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{W}");
|
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{W}");
|
||||||
|
|
||||||
// Whenever a creature enters the battlefield under your control, you gain 1 life.
|
// Whenever a creature you control enters, you gain 1 life.
|
||||||
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(
|
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(
|
||||||
new GainLifeEffect(1),
|
new GainLifeEffect(1),
|
||||||
StaticFilters.FILTER_PERMANENT_A_CREATURE
|
StaticFilters.FILTER_PERMANENT_A_CREATURE
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ public final class AkoumBattlesinger extends CardImpl {
|
||||||
|
|
||||||
// Haste
|
// Haste
|
||||||
this.addAbility(HasteAbility.getInstance());
|
this.addAbility(HasteAbility.getInstance());
|
||||||
// Whenever Akoum Battlesinger or another Ally enters the battlefield under your control, you may have Ally creatures you control get +1/+0 until end of turn.
|
// Whenever Akoum Battlesinger or another Ally you control enters, you may have Ally creatures you control get +1/+0 until end of turn.
|
||||||
this.addAbility(new AllyEntersBattlefieldTriggeredAbility(new BoostControlledEffect(1, 0, Duration.EndOfTurn, filter, false), true).setAbilityWord(null));
|
this.addAbility(new AllyEntersBattlefieldTriggeredAbility(new BoostControlledEffect(1, 0, Duration.EndOfTurn, filter, false), true).setAbilityWord(null));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ public final class AkoumFirebird extends CardImpl {
|
||||||
// Akoum Firebird attacks each turn if able.
|
// Akoum Firebird attacks each turn if able.
|
||||||
this.addAbility(new AttacksEachCombatStaticAbility());
|
this.addAbility(new AttacksEachCombatStaticAbility());
|
||||||
|
|
||||||
// <i>Landfall</i>-Whenever a land enters the battlefield under your control, you may pay {4}{R}{R}.
|
// <i>Landfall</i>-Whenever a land you control enters, you may pay {4}{R}{R}.
|
||||||
// If you do, return Akoum Firebird from your graveyard to the battlefield.
|
// If you do, return Akoum Firebird from your graveyard to the battlefield.
|
||||||
this.addAbility(new AkoumFirebirdLandfallAbility(new DoIfCostPaid(
|
this.addAbility(new AkoumFirebirdLandfallAbility(new DoIfCostPaid(
|
||||||
new ReturnSourceFromGraveyardToBattlefieldEffect(false, false), new ManaCostsImpl<>("{4}{R}{R}")), false));
|
new ReturnSourceFromGraveyardToBattlefieldEffect(false, false), new ManaCostsImpl<>("{4}{R}{R}")), false));
|
||||||
|
|
@ -61,7 +61,7 @@ class AkoumFirebirdLandfallAbility extends TriggeredAbilityImpl {
|
||||||
|
|
||||||
public AkoumFirebirdLandfallAbility(Effect effect, boolean optional) {
|
public AkoumFirebirdLandfallAbility(Effect effect, boolean optional) {
|
||||||
this(Zone.GRAVEYARD, effect, optional);
|
this(Zone.GRAVEYARD, effect, optional);
|
||||||
setTriggerPhrase("<i>Landfall</i> — Whenever a land enters the battlefield under your control, " );
|
setTriggerPhrase("<i>Landfall</i> — Whenever a land you control enters, " );
|
||||||
}
|
}
|
||||||
|
|
||||||
public AkoumFirebirdLandfallAbility (Zone zone, Effect effect, boolean optional ) {
|
public AkoumFirebirdLandfallAbility (Zone zone, Effect effect, boolean optional ) {
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ public final class AkoumHellhound extends CardImpl {
|
||||||
this.power = new MageInt(0);
|
this.power = new MageInt(0);
|
||||||
this.toughness = new MageInt(1);
|
this.toughness = new MageInt(1);
|
||||||
|
|
||||||
// Landfall — Whenever a land enters the battlefield under your control, Akoum Hellhound gets +2/+2 until end of turn.
|
// Landfall — Whenever a land you control enters, Akoum Hellhound gets +2/+2 until end of turn.
|
||||||
this.addAbility(new LandfallAbility(new BoostSourceEffect(2, 2, Duration.EndOfTurn)));
|
this.addAbility(new LandfallAbility(new BoostSourceEffect(2, 2, Duration.EndOfTurn)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -101,7 +101,7 @@ class AkoumHellkiteTriggeredAbility extends TriggeredAbilityImpl {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getRule() {
|
public String getRule() {
|
||||||
return "<i>Landfall</i> — Whenever a land enters the battlefield under your control, " +
|
return "<i>Landfall</i> — Whenever a land you control enters, " +
|
||||||
"{this} deals 1 damage to any target. If that land is a Mountain, {this} deals 2 damage instead.";
|
"{this} deals 1 damage to any target. If that land is a Mountain, {this} deals 2 damage instead.";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ public final class AkoumStonewaker extends CardImpl {
|
||||||
this.power = new MageInt(2);
|
this.power = new MageInt(2);
|
||||||
this.toughness = new MageInt(1);
|
this.toughness = new MageInt(1);
|
||||||
|
|
||||||
// <i>Landfall</i> — Whenever a land enters the battlefield under your control, you may pay {2}{R}. If you do, create a 3/1 red Elemental creature token with trample and haste.
|
// <i>Landfall</i> — Whenever a land you control enters, you may pay {2}{R}. If you do, create a 3/1 red Elemental creature token with trample and haste.
|
||||||
// Exile that token at the beginning of the next end step.
|
// Exile that token at the beginning of the next end step.
|
||||||
this.addAbility(new LandfallAbility(new DoIfCostPaid(new AkoumStonewakerEffect(), new ManaCostsImpl<>("{2}{R}")), false));
|
this.addAbility(new LandfallAbility(new DoIfCostPaid(new AkoumStonewakerEffect(), new ManaCostsImpl<>("{2}{R}")), false));
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@ class AlhammarretHighArbiterEffect extends OneShotEffect {
|
||||||
|
|
||||||
AlhammarretHighArbiterEffect() {
|
AlhammarretHighArbiterEffect() {
|
||||||
super(Outcome.Benefit);
|
super(Outcome.Benefit);
|
||||||
this.staticText = "As {this} enters the battlefield, each opponent reveals their hand. You choose the name of a nonland card revealed this way."
|
this.staticText = "As {this} enters, each opponent reveals their hand. You choose the name of a nonland card revealed this way."
|
||||||
+ "<br>Your opponents can't cast spells with the chosen name";
|
+ "<br>Your opponents can't cast spells with the chosen name";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ public class AllegiantGeneralPryde extends CardImpl {
|
||||||
new DrawCardSourceControllerEffect(2),
|
new DrawCardSourceControllerEffect(2),
|
||||||
new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE)
|
new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE)
|
||||||
).addEffect(new LoseLifeSourceControllerEffect(2).concatBy("and")))
|
).addEffect(new LoseLifeSourceControllerEffect(2).concatBy("and")))
|
||||||
.setTriggerPhrase("When this creature enters the battlefield, ");
|
.setTriggerPhrase("When this creature enters, ");
|
||||||
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(gainedAbility, Duration.WhileOnBattlefield, filter)));
|
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(gainedAbility, Duration.WhileOnBattlefield, filter)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ public final class AlphaDeathclaw extends CardImpl {
|
||||||
new EntersBattlefieldTriggeredAbility(null),
|
new EntersBattlefieldTriggeredAbility(null),
|
||||||
new BecomesMonstrousSourceTriggeredAbility(null)
|
new BecomesMonstrousSourceTriggeredAbility(null)
|
||||||
);
|
);
|
||||||
trigger.setTriggerPhrase("When {this} enters the battlefield or becomes monstrous, ");
|
trigger.setTriggerPhrase("When {this} enters or becomes monstrous, ");
|
||||||
trigger.addTarget(new TargetPermanent());
|
trigger.addTarget(new TargetPermanent());
|
||||||
this.addAbility(trigger);
|
this.addAbility(trigger);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ public final class AltarOfTheBrood extends CardImpl {
|
||||||
public AltarOfTheBrood(UUID ownerId, CardSetInfo setInfo) {
|
public AltarOfTheBrood(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}");
|
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}");
|
||||||
|
|
||||||
// Whenever another permanent enters the battlefield under your control, each opponent mills a card.
|
// Whenever another permanent you control enters, each opponent mills a card.
|
||||||
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(Zone.BATTLEFIELD,
|
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(Zone.BATTLEFIELD,
|
||||||
new MillCardsEachPlayerEffect(1, TargetController.OPPONENT), filter, false));
|
new MillCardsEachPlayerEffect(1, TargetController.OPPONENT), filter, false));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ public final class AmarethTheLustrous extends CardImpl {
|
||||||
// Flying
|
// Flying
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
this.addAbility(FlyingAbility.getInstance());
|
||||||
|
|
||||||
// Whenever another permanent enters the battlefield under your control, look at the top card of your library. If it shares a card type with that permanent, you may reveal that card and put it into your hand.
|
// Whenever another permanent you control enters, look at the top card of your library. If it shares a card type with that permanent, you may reveal that card and put it into your hand.
|
||||||
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(new AmarethTheLustrousEffect(), filter));
|
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(new AmarethTheLustrousEffect(), filter));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ public final class AmbuscadeShaman extends CardImpl {
|
||||||
this.power = new MageInt(2);
|
this.power = new MageInt(2);
|
||||||
this.toughness = new MageInt(2);
|
this.toughness = new MageInt(2);
|
||||||
|
|
||||||
// Whenever Ambuscade Shaman or another creature enters the battlefield under your control, that creature gets +2/+2 until end of turn.
|
// Whenever Ambuscade Shaman or another creature you control enters, that creature gets +2/+2 until end of turn.
|
||||||
this.addAbility(new EntersBattlefieldThisOrAnotherTriggeredAbility(
|
this.addAbility(new EntersBattlefieldThisOrAnotherTriggeredAbility(
|
||||||
new BoostTargetEffect(2, 2, Duration.EndOfTurn)
|
new BoostTargetEffect(2, 2, Duration.EndOfTurn)
|
||||||
.setText("that creature gets +2/+2 until end of turn"),
|
.setText("that creature gets +2/+2 until end of turn"),
|
||||||
|
|
|
||||||
|
|
@ -50,12 +50,12 @@ public final class AnaBattlemage extends CardImpl {
|
||||||
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DiscardTargetEffect(3));
|
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DiscardTargetEffect(3));
|
||||||
ability.addTarget(new TargetPlayer());
|
ability.addTarget(new TargetPlayer());
|
||||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new KickedCostCondition("{2}{U}"),
|
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new KickedCostCondition("{2}{U}"),
|
||||||
"When {this} enters the battlefield, if it was kicked with its {2}{U} kicker, target player discards three cards."));
|
"When {this} enters, if it was kicked with its {2}{U} kicker, target player discards three cards."));
|
||||||
// When Ana Battlemage enters the battlefield, if it was kicked with its {1}{B} kicker, tap target untapped creature and that creature deals damage equal to its power to its controller.
|
// When Ana Battlemage enters the battlefield, if it was kicked with its {1}{B} kicker, tap target untapped creature and that creature deals damage equal to its power to its controller.
|
||||||
ability = new EntersBattlefieldTriggeredAbility(new AnaBattlemageKickerEffect());
|
ability = new EntersBattlefieldTriggeredAbility(new AnaBattlemageKickerEffect());
|
||||||
ability.addTarget(new TargetCreaturePermanent(filter));
|
ability.addTarget(new TargetCreaturePermanent(filter));
|
||||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new KickedCostCondition("{1}{B}"),
|
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new KickedCostCondition("{1}{B}"),
|
||||||
"When {this} enters the battlefield, if it was kicked with its {1}{B} kicker, tap target untapped creature and that creature deals damage equal to its power to its controller."));
|
"When {this} enters, if it was kicked with its {1}{B} kicker, tap target untapped creature and that creature deals damage equal to its power to its controller."));
|
||||||
}
|
}
|
||||||
|
|
||||||
private AnaBattlemage(final AnaBattlemage card) {
|
private AnaBattlemage(final AnaBattlemage card) {
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ public final class AnafenzaKinTreeSpirit extends CardImpl {
|
||||||
this.power = new MageInt(2);
|
this.power = new MageInt(2);
|
||||||
this.toughness = new MageInt(2);
|
this.toughness = new MageInt(2);
|
||||||
|
|
||||||
// Whenever another nontoken creature enters the battlefield under your control, bolster 1.
|
// Whenever another nontoken creature you control enters, bolster 1.
|
||||||
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(Zone.BATTLEFIELD, new BolsterEffect(1), filter, false));
|
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(Zone.BATTLEFIELD, new BolsterEffect(1), filter, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -39,19 +39,19 @@ public final class Anavolver extends CardImpl {
|
||||||
kickerAbility.addKickerCost("{B}");
|
kickerAbility.addKickerCost("{B}");
|
||||||
this.addAbility(kickerAbility);
|
this.addAbility(kickerAbility);
|
||||||
|
|
||||||
// If Anavolver was kicked with its {1}{U} kicker, it enters the battlefield with two +1/+1 counters on it and with flying.
|
// If Anavolver was kicked with its {1}{U} kicker, it enters with two +1/+1 counters on it and with flying.
|
||||||
EntersBattlefieldAbility ability1 = new EntersBattlefieldAbility(
|
EntersBattlefieldAbility ability1 = new EntersBattlefieldAbility(
|
||||||
new AddCountersSourceEffect(CounterType.P1P1.createInstance(2),false),
|
new AddCountersSourceEffect(CounterType.P1P1.createInstance(2),false),
|
||||||
new KickedCostCondition("{1}{U}"), "If {this} was kicked with its {1}{U} kicker, it enters the battlefield with two +1/+1 counters on it and with flying.",
|
new KickedCostCondition("{1}{U}"), "If {this} was kicked with its {1}{U} kicker, it enters with two +1/+1 counters on it and with flying.",
|
||||||
"{this} enters the battlefield with two +1/+1 counters on it and with flying");
|
"{this} enters with two +1/+1 counters on it and with flying");
|
||||||
((EntersBattlefieldEffect)ability1.getEffects().get(0)).addEffect(new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.WhileOnBattlefield));
|
((EntersBattlefieldEffect)ability1.getEffects().get(0)).addEffect(new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.WhileOnBattlefield));
|
||||||
this.addAbility(ability1);
|
this.addAbility(ability1);
|
||||||
|
|
||||||
// If Anavolver was kicked with its {B} kicker, it enters the battlefield with a +1/+1 counter on it and with "Pay 3 life: Regenerate Anavolver."
|
// If Anavolver was kicked with its {B} kicker, it enters with a +1/+1 counter on it and with "Pay 3 life: Regenerate Anavolver."
|
||||||
EntersBattlefieldAbility ability2 = new EntersBattlefieldAbility(
|
EntersBattlefieldAbility ability2 = new EntersBattlefieldAbility(
|
||||||
new AddCountersSourceEffect(CounterType.P1P1.createInstance(1),false), new KickedCostCondition("{B}"),
|
new AddCountersSourceEffect(CounterType.P1P1.createInstance(1),false), new KickedCostCondition("{B}"),
|
||||||
"If {this} was kicked with its {B} kicker, it enters the battlefield with a +1/+1 counter on it and with \"Pay 3 life: Regenerate Anavolver.\"",
|
"If {this} was kicked with its {B} kicker, it enters with a +1/+1 counter on it and with \"Pay 3 life: Regenerate Anavolver.\"",
|
||||||
"{this} enters the battlefield with a +1/+1 counter on it and with \"Pay 3 life: Regenerate Anavolver.\"");
|
"{this} enters with a +1/+1 counter on it and with \"Pay 3 life: Regenerate Anavolver.\"");
|
||||||
((EntersBattlefieldEffect)ability2.getEffects().get(0)).addEffect(new GainAbilitySourceEffect(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new PayLifeCost(3)), Duration.WhileOnBattlefield));
|
((EntersBattlefieldEffect)ability2.getEffects().get(0)).addEffect(new GainAbilitySourceEffect(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new PayLifeCost(3)), Duration.WhileOnBattlefield));
|
||||||
this.addAbility(ability2);
|
this.addAbility(ability2);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ public final class AncientAmphitheater extends CardImpl {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.LAND},"");
|
super(ownerId,setInfo,new CardType[]{CardType.LAND},"");
|
||||||
|
|
||||||
// As Ancient Amphitheater enters the battlefield, you may reveal a Giant card from your hand. If you don't, Ancient Amphitheater enters the battlefield tapped.
|
// As Ancient Amphitheater enters the battlefield, you may reveal a Giant card from your hand. If you don't, Ancient Amphitheater enters the battlefield tapped.
|
||||||
this.addAbility(new AsEntersBattlefieldAbility(new TapSourceUnlessPaysEffect(new RevealTargetFromHandCost(new TargetCardInHand(filter))), "you may reveal a Giant card from your hand. If you don't, {this} enters the battlefield tapped"));
|
this.addAbility(new AsEntersBattlefieldAbility(new TapSourceUnlessPaysEffect(new RevealTargetFromHandCost(new TargetCardInHand(filter))), "you may reveal a Giant card from your hand. If you don't, {this} enters tapped"));
|
||||||
// {tap}: Add {R} or {W}.
|
// {tap}: Add {R} or {W}.
|
||||||
this.addAbility(new RedManaAbility());
|
this.addAbility(new RedManaAbility());
|
||||||
this.addAbility(new WhiteManaAbility());
|
this.addAbility(new WhiteManaAbility());
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ public final class AncientImperiosaur extends CardImpl {
|
||||||
// Ancient Imperiosaur enters the battlefield with two +1/+1 counters on it for each creature that convoked it.
|
// Ancient Imperiosaur enters the battlefield with two +1/+1 counters on it for each creature that convoked it.
|
||||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(
|
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(
|
||||||
CounterType.P1P1.createInstance(), xValue, true
|
CounterType.P1P1.createInstance(), xValue, true
|
||||||
), null, "{this} enters the battlefield with two " +
|
), null, "{this} enters with two " +
|
||||||
"+1/+1 counters on it for each creature that convoked it.", null));
|
"+1/+1 counters on it for each creature that convoked it.", null));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ public final class AngelOfTheDireHour extends CardImpl {
|
||||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||||
new EntersBattlefieldTriggeredAbility(new ExileAllEffect(StaticFilters.FILTER_ATTACKING_CREATURES), false),
|
new EntersBattlefieldTriggeredAbility(new ExileAllEffect(StaticFilters.FILTER_ATTACKING_CREATURES), false),
|
||||||
CastFromHandSourcePermanentCondition.instance,
|
CastFromHandSourcePermanentCondition.instance,
|
||||||
"When {this} enters the battlefield, if you cast it from your hand, exile all attacking creatures."),
|
"When {this} enters, if you cast it from your hand, exile all attacking creatures."),
|
||||||
new CastFromHandWatcher());
|
new CastFromHandWatcher());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ public final class AngelicChorus extends CardImpl {
|
||||||
public AngelicChorus(UUID ownerId, CardSetInfo setInfo) {
|
public AngelicChorus(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{W}{W}");
|
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{W}{W}");
|
||||||
|
|
||||||
// Whenever a creature enters the battlefield under your control, you gain life equal to its toughness.
|
// Whenever a creature you control enters, you gain life equal to its toughness.
|
||||||
this.addAbility(new AngelicChorusTriggeredAbility());
|
this.addAbility(new AngelicChorusTriggeredAbility());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -66,7 +66,7 @@ class AngelicChorusTriggeredAbility extends TriggeredAbilityImpl {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getRule() {
|
public String getRule() {
|
||||||
return "Whenever a creature enters the battlefield under your control, you gain life equal to its toughness.";
|
return "Whenever a creature you control enters, you gain life equal to its toughness.";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ public final class AngelicSellSword extends CardImpl {
|
||||||
// Vigilance
|
// Vigilance
|
||||||
this.addAbility(VigilanceAbility.getInstance());
|
this.addAbility(VigilanceAbility.getInstance());
|
||||||
|
|
||||||
// Whenever Angelic Sell-Sword or another nontoken creature enters the battlefield under your control, create a 1/1 red Mercenary creature token with "{T}: Target creature you control gets +1/+0 until end of turn. Activate only as a sorcery."
|
// Whenever Angelic Sell-Sword or another nontoken creature you control enters, create a 1/1 red Mercenary creature token with "{T}: Target creature you control gets +1/+0 until end of turn. Activate only as a sorcery."
|
||||||
this.addAbility(new EntersBattlefieldThisOrAnotherTriggeredAbility(
|
this.addAbility(new EntersBattlefieldThisOrAnotherTriggeredAbility(
|
||||||
new CreateTokenEffect(new MercenaryToken()),
|
new CreateTokenEffect(new MercenaryToken()),
|
||||||
StaticFilters.FILTER_CREATURE_NON_TOKEN, false, true
|
StaticFilters.FILTER_CREATURE_NON_TOKEN, false, true
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ public final class AngelsTomb extends CardImpl {
|
||||||
public AngelsTomb(UUID ownerId, CardSetInfo setInfo) {
|
public AngelsTomb(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}");
|
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}");
|
||||||
|
|
||||||
// Whenever a creature enters the battlefield under your control, you may have Angel's Tomb become a 3/3 white Angel artifact creature with flying until end of turn.
|
// Whenever a creature you control enters, you may have Angel's Tomb become a 3/3 white Angel artifact creature with flying until end of turn.
|
||||||
Effect effect = new BecomesCreatureSourceEffect(new CreatureToken(3, 3, "3/3 white Angel artifact creature with flying")
|
Effect effect = new BecomesCreatureSourceEffect(new CreatureToken(3, 3, "3/3 white Angel artifact creature with flying")
|
||||||
.withColor("W")
|
.withColor("W")
|
||||||
.withSubType(SubType.ANGEL)
|
.withSubType(SubType.ANGEL)
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ public final class AnnieFlashTheVeteran extends CardImpl {
|
||||||
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
||||||
new EntersBattlefieldTriggeredAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(true)),
|
new EntersBattlefieldTriggeredAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(true)),
|
||||||
CastFromEverywhereSourceCondition.instance,
|
CastFromEverywhereSourceCondition.instance,
|
||||||
"When {this} enters the battlefield, if you cast it, "
|
"When {this} enters, if you cast it, "
|
||||||
+ "return target permanent card with mana value 3 or less from your graveyard to the battlefield tapped"
|
+ "return target permanent card with mana value 3 or less from your graveyard to the battlefield tapped"
|
||||||
);
|
);
|
||||||
ability.addTarget(new TargetCardInYourGraveyard(filter));
|
ability.addTarget(new TargetCardInYourGraveyard(filter));
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ public final class AnointerPriest extends CardImpl {
|
||||||
this.power = new MageInt(1);
|
this.power = new MageInt(1);
|
||||||
this.toughness = new MageInt(3);
|
this.toughness = new MageInt(3);
|
||||||
|
|
||||||
// Whenever a creature token enters the battlefield under your control, you gain 1 life.
|
// Whenever a creature token you control enters, you gain 1 life.
|
||||||
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(new GainLifeEffect(1), filter));
|
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(new GainLifeEffect(1), filter));
|
||||||
|
|
||||||
// Embalm {3}{W}
|
// Embalm {3}{W}
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ public final class AnsweredPrayers extends CardImpl {
|
||||||
public AnsweredPrayers(UUID ownerId, CardSetInfo setInfo) {
|
public AnsweredPrayers(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{W}{W}");
|
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{W}{W}");
|
||||||
|
|
||||||
// Whenever a creature enters the battlefield under your control, you gain 1 life. If Answered Prayers isn't a creature, it becomes a 3/3 Angel creature with flying in addition to its other types until end of turn.
|
// Whenever a creature you control enters, you gain 1 life. If Answered Prayers isn't a creature, it becomes a 3/3 Angel creature with flying in addition to its other types until end of turn.
|
||||||
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(
|
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(
|
||||||
new AnsweredPrayersEffect(), StaticFilters.FILTER_PERMANENT_A_CREATURE
|
new AnsweredPrayersEffect(), StaticFilters.FILTER_PERMANENT_A_CREATURE
|
||||||
));
|
));
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ public final class ApocalypseHydra extends CardImpl {
|
||||||
this.power = new MageInt(0);
|
this.power = new MageInt(0);
|
||||||
this.toughness = new MageInt(0);
|
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.
|
// Apocalypse Hydra enters the battlefield with X +1/+1 counters on it. If X is 5 or more, it enters with an additional X +1/+1 counters on it.
|
||||||
this.addAbility(new EntersBattlefieldAbility(new ApocalypseHydraEffect()));
|
this.addAbility(new EntersBattlefieldAbility(new ApocalypseHydraEffect()));
|
||||||
|
|
||||||
// {1}{R}, Remove a +1/+1 counter from Apocalypse Hydra: Apocalypse Hydra deals 1 damage to any target.
|
// {1}{R}, Remove a +1/+1 counter from Apocalypse Hydra: Apocalypse Hydra deals 1 damage to any target.
|
||||||
|
|
@ -61,7 +61,7 @@ class ApocalypseHydraEffect extends OneShotEffect {
|
||||||
|
|
||||||
ApocalypseHydraEffect() {
|
ApocalypseHydraEffect() {
|
||||||
super(Outcome.BoostCreature);
|
super(Outcome.BoostCreature);
|
||||||
staticText = "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";
|
staticText = "with X +1/+1 counters on it. If X is 5 or more, it enters with an additional X +1/+1 counters on it";
|
||||||
}
|
}
|
||||||
|
|
||||||
private ApocalypseHydraEffect(final ApocalypseHydraEffect effect) {
|
private ApocalypseHydraEffect(final ApocalypseHydraEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ public final class ApothecaryGeist extends CardImpl {
|
||||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||||
triggeredAbility,
|
triggeredAbility,
|
||||||
new PermanentsOnTheBattlefieldCondition(filter),
|
new PermanentsOnTheBattlefieldCondition(filter),
|
||||||
"When {this} enters the battlefield, if you control another Spirit, you gain 3 life."));
|
"When {this} enters, if you control another Spirit, you gain 3 life."));
|
||||||
}
|
}
|
||||||
|
|
||||||
private ApothecaryGeist(final ApothecaryGeist card) {
|
private ApothecaryGeist(final ApothecaryGeist card) {
|
||||||
|
|
|
||||||
|
|
@ -58,7 +58,7 @@ class AquamorphEntityReplacementEffect extends ReplacementEffectImpl {
|
||||||
|
|
||||||
AquamorphEntityReplacementEffect() {
|
AquamorphEntityReplacementEffect() {
|
||||||
super(Duration.WhileOnBattlefield, Outcome.Benefit);
|
super(Duration.WhileOnBattlefield, Outcome.Benefit);
|
||||||
staticText = "as {this} enters the battlefield or is turned face up, it becomes your choice of 5/1 or 1/5";
|
staticText = "as {this} enters or is turned face up, it becomes your choice of 5/1 or 1/5";
|
||||||
}
|
}
|
||||||
|
|
||||||
private AquamorphEntityReplacementEffect(AquamorphEntityReplacementEffect effect) {
|
private AquamorphEntityReplacementEffect(AquamorphEntityReplacementEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ public final class ArcadesTheStrategist extends CardImpl {
|
||||||
// Vigilance
|
// Vigilance
|
||||||
this.addAbility(VigilanceAbility.getInstance());
|
this.addAbility(VigilanceAbility.getInstance());
|
||||||
|
|
||||||
// Whenever a creature with defender enters the battlefield under your control, draw a card.
|
// Whenever a creature with defender you control enters, draw a card.
|
||||||
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(
|
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(
|
||||||
new DrawCardSourceControllerEffect(1), defenderSingle
|
new DrawCardSourceControllerEffect(1), defenderSingle
|
||||||
));
|
));
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ public final class ArcaneProxy extends CardImpl {
|
||||||
// When Arcane Proxy enters the battlefield, if you cast it, exile target instant or sorcery card with mana value less than or equal to Arcane Proxy's power from your graveyard. Copy that card. You may cast the copy without paying its mana cost.
|
// When Arcane Proxy enters the battlefield, if you cast it, exile target instant or sorcery card with mana value less than or equal to Arcane Proxy's power from your graveyard. Copy that card. You may cast the copy without paying its mana cost.
|
||||||
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
||||||
new EntersBattlefieldTriggeredAbility(new ExileTargetCardCopyAndCastEffect(true)),
|
new EntersBattlefieldTriggeredAbility(new ExileTargetCardCopyAndCastEffect(true)),
|
||||||
CastFromEverywhereSourceCondition.instance, "When {this} enters the battlefield, " +
|
CastFromEverywhereSourceCondition.instance, "When {this} enters, " +
|
||||||
"if you cast it, exile target instant or sorcery card with mana value less than or equal to {this}'s " +
|
"if you cast it, exile target instant or sorcery card with mana value less than or equal to {this}'s " +
|
||||||
"power from your graveyard. Copy that card. You may cast the copy without paying its mana cost."
|
"power from your graveyard. Copy that card. You may cast the copy without paying its mana cost."
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ public final class ArcboundCondor extends CardImpl {
|
||||||
// Modular 3
|
// Modular 3
|
||||||
this.addAbility(new ModularAbility(this, 3));
|
this.addAbility(new ModularAbility(this, 3));
|
||||||
|
|
||||||
// Whenever another artifact enters the battlefield under your control, target creature an opponent controls gets -1/-1 until end of turn.
|
// Whenever another artifact you control enters, target creature an opponent controls gets -1/-1 until end of turn.
|
||||||
Ability ability = new EntersBattlefieldControlledTriggeredAbility(new BoostTargetEffect(-1, -1), filter);
|
Ability ability = new EntersBattlefieldControlledTriggeredAbility(new BoostTargetEffect(-1, -1), filter);
|
||||||
ability.addTarget(new TargetOpponentsCreaturePermanent());
|
ability.addTarget(new TargetOpponentsCreaturePermanent());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
|
||||||
|
|
@ -44,13 +44,13 @@ public final class ArchangelOfWrath extends CardImpl {
|
||||||
triggeredAbility.addTarget(new TargetAnyTarget());
|
triggeredAbility.addTarget(new TargetAnyTarget());
|
||||||
// When Archangel of Wrath enters the battlefield, if it was kicked, it deals 2 damage to any target.
|
// When Archangel of Wrath enters the battlefield, if it was kicked, it deals 2 damage to any target.
|
||||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||||
triggeredAbility, KickedCondition.ONCE, "When {this} enters the battlefield, " +
|
triggeredAbility, KickedCondition.ONCE, "When {this} enters, " +
|
||||||
"if it was kicked, it deals 2 damage to any target."
|
"if it was kicked, it deals 2 damage to any target."
|
||||||
));
|
));
|
||||||
|
|
||||||
// When Archangel of Wrath enters the battlefield, if it was kicked twice, it deals 2 damage to any target.
|
// When Archangel of Wrath enters the battlefield, if it was kicked twice, it deals 2 damage to any target.
|
||||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||||
triggeredAbility.copy(), KickedCondition.TWICE, "When {this} enters the battlefield, " +
|
triggeredAbility.copy(), KickedCondition.TWICE, "When {this} enters, " +
|
||||||
"if it was kicked twice, it deals 2 damage to any target."
|
"if it was kicked twice, it deals 2 damage to any target."
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ public final class ArchitectOfTheUntamed extends CardImpl {
|
||||||
this.power = new MageInt(2);
|
this.power = new MageInt(2);
|
||||||
this.toughness = new MageInt(3);
|
this.toughness = new MageInt(3);
|
||||||
|
|
||||||
// Whenever a land enters the battlefield under your control, you get {E}.
|
// Whenever a land you control enters, you get {E}.
|
||||||
this.addAbility(new LandfallAbility(new GetEnergyCountersControllerEffect(1)));
|
this.addAbility(new LandfallAbility(new GetEnergyCountersControllerEffect(1)));
|
||||||
|
|
||||||
// Pay {E}{E}{E}{E}{E}{E}{E}{E}: Create a 6/6 colorless Beast artifact creature token.
|
// Pay {E}{E}{E}{E}{E}{E}{E}{E}: Create a 6/6 colorless Beast artifact creature token.
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ public final class ArchonOfRedemption extends CardImpl {
|
||||||
|
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
this.addAbility(FlyingAbility.getInstance());
|
||||||
|
|
||||||
// Whenever Archon of Redemption or another creature with flying enters the battlefield under your control, you may gain life equal to that creature's power.
|
// Whenever Archon of Redemption or another creature with flying you control enters, you may gain life equal to that creature's power.
|
||||||
this.addAbility(new EntersBattlefieldThisOrAnotherTriggeredAbility(
|
this.addAbility(new EntersBattlefieldThisOrAnotherTriggeredAbility(
|
||||||
new ArchonOfRedemptionEffect(), filter, true, SetTargetPointer.PERMANENT, true
|
new ArchonOfRedemptionEffect(), filter, true, SetTargetPointer.PERMANENT, true
|
||||||
));
|
));
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ public final class ArchonOfSunsGrace extends CardImpl {
|
||||||
LifelinkAbility.getInstance(), Duration.WhileOnBattlefield, filter
|
LifelinkAbility.getInstance(), Duration.WhileOnBattlefield, filter
|
||||||
)));
|
)));
|
||||||
|
|
||||||
// Constellation—Whenever an enchantment enters the battlefield under your control, create a 2/2 white Pegasus creature token with flying.
|
// Constellation—Whenever an enchantment you control enters, create a 2/2 white Pegasus creature token with flying.
|
||||||
this.addAbility(new ConstellationAbility(
|
this.addAbility(new ConstellationAbility(
|
||||||
new CreateTokenEffect(new PegasusToken2()), false, false
|
new CreateTokenEffect(new PegasusToken2()), false, false
|
||||||
));
|
));
|
||||||
|
|
|
||||||
|
|
@ -34,10 +34,10 @@ public final class ArcticMerfolk extends CardImpl {
|
||||||
new TargetControlledCreaturePermanent(1, 1, StaticFilters.FILTER_CONTROLLED_CREATURE, true)
|
new TargetControlledCreaturePermanent(1, 1, StaticFilters.FILTER_CONTROLLED_CREATURE, true)
|
||||||
)));
|
)));
|
||||||
|
|
||||||
// If Arctic Merfolk was kicked, it enters the battlefield with a +1/+1 counter on it.
|
// If Arctic Merfolk was kicked, it enters with a +1/+1 counter on it.
|
||||||
this.addAbility(new EntersBattlefieldAbility(
|
this.addAbility(new EntersBattlefieldAbility(
|
||||||
new AddCountersSourceEffect(CounterType.P1P1.createInstance()),
|
new AddCountersSourceEffect(CounterType.P1P1.createInstance()),
|
||||||
KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with a +1/+1 counter on it.", ""));
|
KickedCondition.ONCE, "If {this} was kicked, it enters with a +1/+1 counter on it.", ""));
|
||||||
}
|
}
|
||||||
|
|
||||||
private ArcticMerfolk(final ArcticMerfolk card) {
|
private ArcticMerfolk(final ArcticMerfolk card) {
|
||||||
|
|
|
||||||
|
|
@ -32,9 +32,9 @@ public final class ArdentSoldier extends CardImpl {
|
||||||
this.addAbility(new KickerAbility("{2}"));
|
this.addAbility(new KickerAbility("{2}"));
|
||||||
// Vigilance
|
// Vigilance
|
||||||
this.addAbility(VigilanceAbility.getInstance());
|
this.addAbility(VigilanceAbility.getInstance());
|
||||||
// If Ardent Soldier was kicked, it enters the battlefield with a +1/+1 counter on it.
|
// If Ardent Soldier was kicked, it enters with a +1/+1 counter on it.
|
||||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)),
|
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)),
|
||||||
KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with a +1/+1 counter on it.", ""));
|
KickedCondition.ONCE, "If {this} was kicked, it enters with a +1/+1 counter on it.", ""));
|
||||||
}
|
}
|
||||||
|
|
||||||
private ArdentSoldier(final ArdentSoldier card) {
|
private ArdentSoldier(final ArdentSoldier card) {
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ public final class ArdenvalePaladin extends CardImpl {
|
||||||
new AddCountersSourceEffect(CounterType.P1P1.createInstance()),
|
new AddCountersSourceEffect(CounterType.P1P1.createInstance()),
|
||||||
AdamantCondition.WHITE, "<br><i>Adamant</i> — " +
|
AdamantCondition.WHITE, "<br><i>Adamant</i> — " +
|
||||||
"If at least three white mana was spent to cast this spell, " +
|
"If at least three white mana was spent to cast this spell, " +
|
||||||
"{this} enters the battlefield with a +1/+1 counter on it.", ""
|
"{this} enters with a +1/+1 counter on it.", ""
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -35,13 +35,13 @@ public final class ArdozCobblerOfWar extends CardImpl {
|
||||||
// Haste
|
// Haste
|
||||||
this.addAbility(HasteAbility.getInstance());
|
this.addAbility(HasteAbility.getInstance());
|
||||||
|
|
||||||
// Whenever Ardoz, Cobbler of War or another creature enters the battlefield under your control, that creature gets +2/+0 until end of turn.
|
// Whenever Ardoz, Cobbler of War or another creature you control enters, that creature gets +2/+0 until end of turn.
|
||||||
this.addAbility(new EntersBattlefieldThisOrAnotherTriggeredAbility(
|
this.addAbility(new EntersBattlefieldThisOrAnotherTriggeredAbility(
|
||||||
new BoostTargetEffect(2, 0)
|
new BoostTargetEffect(2, 0)
|
||||||
.setText("that creature gets +2/+0 until end of turn"),
|
.setText("that creature gets +2/+0 until end of turn"),
|
||||||
StaticFilters.FILTER_CONTROLLED_A_CREATURE, false,
|
StaticFilters.FILTER_CONTROLLED_A_CREATURE, false,
|
||||||
SetTargetPointer.PERMANENT, true
|
SetTargetPointer.PERMANENT, true
|
||||||
).setTriggerPhrase("Whenever {this} or another creature enters the battlefield under your control, "));
|
).setTriggerPhrase("Whenever {this} or another creature you control enters, "));
|
||||||
|
|
||||||
// {3}{R}: Create a 1/1 red Goblin creature token with haste. Activate only as sorcery.
|
// {3}{R}: Create a 1/1 red Goblin creature token with haste. Activate only as sorcery.
|
||||||
this.addAbility(new ActivateAsSorceryActivatedAbility(
|
this.addAbility(new ActivateAsSorceryActivatedAbility(
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ public final class ArixmethesSlumberingIsle extends CardImpl {
|
||||||
// Arixmethes, Slumbering Isle enters the battlefield tapped with five slumber counters on it.
|
// Arixmethes, Slumbering Isle enters the battlefield tapped with five slumber counters on it.
|
||||||
Ability ability = new EntersBattlefieldAbility(
|
Ability ability = new EntersBattlefieldAbility(
|
||||||
new TapSourceEffect(true), false, null,
|
new TapSourceEffect(true), false, null,
|
||||||
"{this} enters the battlefield tapped with five slumber counters on it.", null
|
"{this} enters tapped with five slumber counters on it.", null
|
||||||
);
|
);
|
||||||
ability.addEffect(new AddCountersSourceEffect(CounterType.SLUMBER.createInstance(5)));
|
ability.addEffect(new AddCountersSourceEffect(CounterType.SLUMBER.createInstance(5)));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ public final class ArmedProtocolDroid extends CardImpl {
|
||||||
this.power = new MageInt(1);
|
this.power = new MageInt(1);
|
||||||
this.toughness = new MageInt(3);
|
this.toughness = new MageInt(3);
|
||||||
|
|
||||||
// When {this} enters the battlefield, target nonartifact creature gets -2/-0 until end of turn.
|
// When {this} enters, target nonartifact creature gets -2/-0 until end of turn.
|
||||||
Ability ability = new EntersBattlefieldTriggeredAbility(new BoostTargetEffect(-2, 0, Duration.EndOfTurn), false);
|
Ability ability = new EntersBattlefieldTriggeredAbility(new BoostTargetEffect(-2, 0, Duration.EndOfTurn), false);
|
||||||
ability.addTarget(new TargetCreaturePermanent(filter));
|
ability.addTarget(new TargetCreaturePermanent(filter));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ public final class ArniMetalbrow extends CardImpl {
|
||||||
this.power = new MageInt(3);
|
this.power = new MageInt(3);
|
||||||
this.toughness = new MageInt(3);
|
this.toughness = new MageInt(3);
|
||||||
|
|
||||||
// Whenever a creature you control attacks or a creature enters the battlefield under your control attacking, you may pay {1}{R}. If you do, you may put a creature card with mana value less than that creature's mana value from your hand onto the battlefield tapped and attacking.
|
// Whenever a creature you control attacks or a creature you control enters attacking, you may pay {1}{R}. If you do, you may put a creature card with mana value less than that creature's mana value from your hand onto the battlefield tapped and attacking.
|
||||||
this.addAbility(new ArniMetalbrowTriggeredAbility());
|
this.addAbility(new ArniMetalbrowTriggeredAbility());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -51,7 +51,7 @@ class ArniMetalbrowTriggeredAbility extends TriggeredAbilityImpl {
|
||||||
|
|
||||||
ArniMetalbrowTriggeredAbility() {
|
ArniMetalbrowTriggeredAbility() {
|
||||||
super(Zone.BATTLEFIELD, new DoIfCostPaid(new ArniMetalbrowEffect(), new ManaCostsImpl<>("{1}{R}")));
|
super(Zone.BATTLEFIELD, new DoIfCostPaid(new ArniMetalbrowEffect(), new ManaCostsImpl<>("{1}{R}")));
|
||||||
setTriggerPhrase("Whenever a creature you control attacks or a creature enters the battlefield under your control attacking, ");
|
setTriggerPhrase("Whenever a creature you control attacks or a creature you control enters attacking, ");
|
||||||
}
|
}
|
||||||
|
|
||||||
private ArniMetalbrowTriggeredAbility(final ArniMetalbrowTriggeredAbility ability) {
|
private ArniMetalbrowTriggeredAbility(final ArniMetalbrowTriggeredAbility ability) {
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ public final class ArrogantOutlaw extends CardImpl {
|
||||||
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
||||||
new EntersBattlefieldTriggeredAbility(
|
new EntersBattlefieldTriggeredAbility(
|
||||||
new LoseLifeOpponentsEffect(2), false
|
new LoseLifeOpponentsEffect(2), false
|
||||||
), OpponentsLostLifeCondition.instance, "When {this} enters the battlefield, " +
|
), OpponentsLostLifeCondition.instance, "When {this} enters, " +
|
||||||
"if an opponent lost life this turn, each opponent loses 2 life and you gain 2 life."
|
"if an opponent lost life this turn, each opponent loses 2 life and you gain 2 life."
|
||||||
);
|
);
|
||||||
ability.addEffect(new GainLifeEffect(2));
|
ability.addEffect(new GainLifeEffect(2));
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ public final class ArsenalThresher extends CardImpl {
|
||||||
|
|
||||||
// As Arsenal Thresher enters the battlefield, you may reveal any number of other artifact cards from your hand. Arsenal Thresher enters the battlefield with a +1/+1 counter on it for each card revealed this way.
|
// As Arsenal Thresher enters the battlefield, you may reveal any number of other artifact cards from your hand. Arsenal Thresher enters the battlefield with a +1/+1 counter on it for each card revealed this way.
|
||||||
this.addAbility(new AsEntersBattlefieldAbility(new ArsenalThresherEffect(),
|
this.addAbility(new AsEntersBattlefieldAbility(new ArsenalThresherEffect(),
|
||||||
"you may reveal any number of other artifact cards from your hand. {this} enters the battlefield with a +1/+1 counter on it for each card revealed this way"));
|
"you may reveal any number of other artifact cards from your hand. {this} enters with a +1/+1 counter on it for each card revealed this way"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private ArsenalThresher(final ArsenalThresher card) {
|
private ArsenalThresher(final ArsenalThresher card) {
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ public final class AshlingsPrerogative extends CardImpl {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}");
|
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}");
|
||||||
|
|
||||||
// As Ashling's Prerogative enters the battlefield, choose odd or even.
|
// As Ashling's Prerogative enters the battlefield, choose odd or even.
|
||||||
this.addAbility(new EntersBattlefieldAbility(new ChooseModeEffect("Odd or even?", "Odd", "Even"), null, "As {this} enters the battlefield, choose odd or even. <i>(Zero is even.)</i>", ""));
|
this.addAbility(new EntersBattlefieldAbility(new ChooseModeEffect("Odd or even?", "Odd", "Even"), null, "As {this} enters, choose odd or even. <i>(Zero is even.)</i>", ""));
|
||||||
|
|
||||||
// Each creature with converted mana cost of the chosen value has haste.
|
// Each creature with converted mana cost of the chosen value has haste.
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AshlingsPrerogativeCorrectOddityEffect()));
|
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AshlingsPrerogativeCorrectOddityEffect()));
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ public final class AttendedSocialite extends CardImpl {
|
||||||
this.power = new MageInt(2);
|
this.power = new MageInt(2);
|
||||||
this.toughness = new MageInt(1);
|
this.toughness = new MageInt(1);
|
||||||
|
|
||||||
// Alliance — Whenever another creature enters the battlefield under your control, Attended Socialite gets +1/+1 until end of turn.
|
// Alliance — Whenever another creature you control enters, Attended Socialite gets +1/+1 until end of turn.
|
||||||
this.addAbility(new AllianceAbility(new BoostSourceEffect(1, 1, Duration.EndOfTurn)));
|
this.addAbility(new AllianceAbility(new BoostSourceEffect(1, 1, Duration.EndOfTurn)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ public final class AuntiesHovel extends CardImpl {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.LAND},"");
|
super(ownerId,setInfo,new CardType[]{CardType.LAND},"");
|
||||||
|
|
||||||
// As Auntie's Hovel enters the battlefield, you may reveal a Goblin card from your hand. If you don't, Auntie's Hovel enters the battlefield tapped.
|
// As Auntie's Hovel enters the battlefield, you may reveal a Goblin card from your hand. If you don't, Auntie's Hovel enters the battlefield tapped.
|
||||||
this.addAbility(new AsEntersBattlefieldAbility(new TapSourceUnlessPaysEffect(new RevealTargetFromHandCost(new TargetCardInHand(filter))), "you may reveal a Goblin card from your hand. If you don't, {this} enters the battlefield tapped"));
|
this.addAbility(new AsEntersBattlefieldAbility(new TapSourceUnlessPaysEffect(new RevealTargetFromHandCost(new TargetCardInHand(filter))), "you may reveal a Goblin card from your hand. If you don't, {this} enters tapped"));
|
||||||
// {tap}: Add {B} or {R}.
|
// {tap}: Add {B} or {R}.
|
||||||
this.addAbility(new BlackManaAbility());
|
this.addAbility(new BlackManaAbility());
|
||||||
this.addAbility(new RedManaAbility());
|
this.addAbility(new RedManaAbility());
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ public final class AuraShards extends CardImpl {
|
||||||
public AuraShards(UUID ownerId, CardSetInfo setInfo) {
|
public AuraShards(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{G}{W}");
|
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{G}{W}");
|
||||||
|
|
||||||
// Whenever a creature enters the battlefield under your control,
|
// Whenever a creature you control enters,
|
||||||
// you may destroy target artifact or enchantment.
|
// you may destroy target artifact or enchantment.
|
||||||
Ability ability = new EntersBattlefieldControlledTriggeredAbility(Zone.BATTLEFIELD,
|
Ability ability = new EntersBattlefieldControlledTriggeredAbility(Zone.BATTLEFIELD,
|
||||||
new DestroyTargetEffect(), StaticFilters.FILTER_PERMANENT_CREATURE, true
|
new DestroyTargetEffect(), StaticFilters.FILTER_PERMANENT_CREATURE, true
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ public final class AvengerOfZendikar extends CardImpl {
|
||||||
// When Avenger of Zendikar enters the battlefield, create a 0/1 green Plant creature token for each land you control.
|
// When Avenger of Zendikar enters the battlefield, create a 0/1 green Plant creature token for each land you control.
|
||||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new PlantToken(), new PermanentsOnBattlefieldCount(filterLand)), false));
|
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new PlantToken(), new PermanentsOnBattlefieldCount(filterLand)), false));
|
||||||
|
|
||||||
// Landfall - Whenever a land enters the battlefield under your control, you may put a +1/+1 counter on each Plant creature you control.
|
// Landfall - Whenever a land you control enters, you may put a +1/+1 counter on each Plant creature you control.
|
||||||
this.addAbility(new LandfallAbility(new AddCountersAllEffect(CounterType.P1P1.createInstance(), filter), true));
|
this.addAbility(new LandfallAbility(new AddCountersAllEffect(CounterType.P1P1.createInstance(), filter), true));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@ public final class AyaraFirstOfLocthwain extends CardImpl {
|
||||||
this.power = new MageInt(2);
|
this.power = new MageInt(2);
|
||||||
this.toughness = new MageInt(3);
|
this.toughness = new MageInt(3);
|
||||||
|
|
||||||
// Whenever Ayara, First of Locthwain or another black creature enters the battlefield under your control, each opponent loses 1 life and you gain 1 life.
|
// Whenever Ayara, First of Locthwain or another black creature you control enters, each opponent loses 1 life and you gain 1 life.
|
||||||
Ability ability = new EntersBattlefieldThisOrAnotherTriggeredAbility(
|
Ability ability = new EntersBattlefieldThisOrAnotherTriggeredAbility(
|
||||||
new LoseLifeOpponentsEffect(1), filter, false, true
|
new LoseLifeOpponentsEffect(1), filter, false, true
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ public final class AyulaQueenAmongBears extends CardImpl {
|
||||||
this.power = new MageInt(2);
|
this.power = new MageInt(2);
|
||||||
this.toughness = new MageInt(2);
|
this.toughness = new MageInt(2);
|
||||||
|
|
||||||
// Whenever another Bear enters the battlefield under your control, choose one —
|
// Whenever another Bear you control enters, choose one —
|
||||||
// • Put two +1/+1 counters on target Bear.
|
// • Put two +1/+1 counters on target Bear.
|
||||||
Ability ability = new EntersBattlefieldControlledTriggeredAbility(
|
Ability ability = new EntersBattlefieldControlledTriggeredAbility(
|
||||||
new AddCountersTargetEffect(CounterType.P1P1.createInstance(2)), filter
|
new AddCountersTargetEffect(CounterType.P1P1.createInstance(2)), filter
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ public final class BalaGedThief extends CardImpl {
|
||||||
this.power = new MageInt(2);
|
this.power = new MageInt(2);
|
||||||
this.toughness = new MageInt(2);
|
this.toughness = new MageInt(2);
|
||||||
|
|
||||||
// Whenever Bala Ged Thief or another Ally enters the battlefield under your control,
|
// Whenever Bala Ged Thief or another Ally you control enters,
|
||||||
// target player reveals a number of cards from their hand equal to the number of Allies you control.
|
// target player reveals a number of cards from their hand equal to the number of Allies you control.
|
||||||
// You choose one of them. That player discards that card.
|
// You choose one of them. That player discards that card.
|
||||||
Ability ability = new AllyEntersBattlefieldTriggeredAbility(new DiscardCardYouChooseTargetEffect(xValue), false);
|
Ability ability = new AllyEntersBattlefieldTriggeredAbility(new DiscardCardYouChooseTargetEffect(xValue), false);
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ public final class BalduvianAtrocity extends CardImpl {
|
||||||
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
||||||
new EntersBattlefieldTriggeredAbility(new BalduvianAtrocityEffect()),
|
new EntersBattlefieldTriggeredAbility(new BalduvianAtrocityEffect()),
|
||||||
KickedCondition.ONCE,
|
KickedCondition.ONCE,
|
||||||
"When {this} enters the battlefield, if it was kicked, return target creature card with mana value 3 or less from your graveyard to the battlefield. It gains haste. Sacrifice it at the beginning of the next end step."
|
"When {this} enters, if it was kicked, return target creature card with mana value 3 or less from your graveyard to the battlefield. It gains haste. Sacrifice it at the beginning of the next end step."
|
||||||
);
|
);
|
||||||
ability.addTarget(new TargetCardInYourGraveyard(filter));
|
ability.addTarget(new TargetCardInYourGraveyard(filter));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
|
||||||
|
|
@ -29,11 +29,11 @@ public final class BalothGorger extends CardImpl {
|
||||||
// Kicker {4}
|
// Kicker {4}
|
||||||
this.addAbility(new KickerAbility("{4}"));
|
this.addAbility(new KickerAbility("{4}"));
|
||||||
|
|
||||||
// If Baloth Gorger was kicked, it enters the battlefield with three +1/+1 counters on it
|
// If Baloth Gorger was kicked, it enters with three +1/+1 counters on it
|
||||||
Ability ability = new EntersBattlefieldAbility(
|
Ability ability = new EntersBattlefieldAbility(
|
||||||
new AddCountersSourceEffect(CounterType.P1P1.createInstance(3)),
|
new AddCountersSourceEffect(CounterType.P1P1.createInstance(3)),
|
||||||
KickedCondition.ONCE,
|
KickedCondition.ONCE,
|
||||||
"If {this} was kicked, it enters the battlefield with three +1/+1 counters on it.",
|
"If {this} was kicked, it enters with three +1/+1 counters on it.",
|
||||||
"");
|
"");
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@ public final class BatColony extends CardImpl {
|
||||||
new BatColonyWatcher()
|
new BatColonyWatcher()
|
||||||
);
|
);
|
||||||
|
|
||||||
// Whenever a Cave enters the battlefield under your control, put a +1/+1 counter on target creature you control.
|
// Whenever a Cave you control enters, put a +1/+1 counter on target creature you control.
|
||||||
Ability ability = new EntersBattlefieldControlledTriggeredAbility(
|
Ability ability = new EntersBattlefieldControlledTriggeredAbility(
|
||||||
new AddCountersTargetEffect(CounterType.P1P1.createInstance()),
|
new AddCountersTargetEffect(CounterType.P1P1.createInstance()),
|
||||||
filter
|
filter
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ public final class BatWhisperer extends CardImpl {
|
||||||
// When Bat Whisperer enters the battlefield, if an opponent lost life this turn, create a 1/1 black Bat creature token with flying.
|
// When Bat Whisperer enters the battlefield, if an opponent lost life this turn, create a 1/1 black Bat creature token with flying.
|
||||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||||
new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new BatToken())),
|
new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new BatToken())),
|
||||||
OpponentsLostLifeCondition.instance, "When {this} enters the battlefield, " +
|
OpponentsLostLifeCondition.instance, "When {this} enters, " +
|
||||||
"if an opponent lost life this turn, create a 1/1 black Bat creature token with flying."
|
"if an opponent lost life this turn, create a 1/1 black Bat creature token with flying."
|
||||||
).addHint(OpponentsLostLifeHint.instance));
|
).addHint(OpponentsLostLifeHint.instance));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ public final class BatteringKrasis extends CardImpl {
|
||||||
// Trample
|
// Trample
|
||||||
this.addAbility(TrampleAbility.getInstance());
|
this.addAbility(TrampleAbility.getInstance());
|
||||||
|
|
||||||
// Evolve (Whenever a creature enters the battlefield under your control, if that creature has greater power or toughness than this creature, put a +1/+1 counter on this creature.)
|
// Evolve (Whenever a creature you control enters, if that creature has greater power or toughness than this creature, put a +1/+1 counter on this creature.)
|
||||||
this.addAbility(new EvolveAbility());
|
this.addAbility(new EvolveAbility());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ public final class BattlewandOak extends CardImpl {
|
||||||
this.power = new MageInt(1);
|
this.power = new MageInt(1);
|
||||||
this.toughness = new MageInt(3);
|
this.toughness = new MageInt(3);
|
||||||
|
|
||||||
// Whenever a Forest enters the battlefield under your control, Battlewand Oak gets +2/+2 until end of turn.
|
// Whenever a Forest you control enters, Battlewand Oak gets +2/+2 until end of turn.
|
||||||
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(new BoostSourceEffect(2, 2, Duration.EndOfTurn), filterForest));
|
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(new BoostSourceEffect(2, 2, Duration.EndOfTurn), filterForest));
|
||||||
|
|
||||||
// Whenever you cast a Treefolk spell, Battlewand Oak gets +2/+2 until end of turn.
|
// Whenever you cast a Treefolk spell, Battlewand Oak gets +2/+2 until end of turn.
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ public final class BattlewingMystic extends CardImpl {
|
||||||
triggeredAbility.addEffect(new DrawCardSourceControllerEffect(2));
|
triggeredAbility.addEffect(new DrawCardSourceControllerEffect(2));
|
||||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||||
triggeredAbility, KickedCondition.ONCE,
|
triggeredAbility, KickedCondition.ONCE,
|
||||||
"When {this} enters the battlefield, if it was kicked, discard your hand, then draw two cards."
|
"When {this} enters, if it was kicked, discard your hand, then draw two cards."
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ public final class BeastbondOutcaster extends CardImpl {
|
||||||
// When Beastbond Outcaster enters the battlefield, if you control a creature with power 4 or greater, draw a card.
|
// When Beastbond Outcaster enters the battlefield, if you control a creature with power 4 or greater, draw a card.
|
||||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||||
new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1)),
|
new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1)),
|
||||||
FerociousCondition.instance, "When {this} enters the battlefield, " +
|
FerociousCondition.instance, "When {this} enters, " +
|
||||||
"if you control a creature with power 4 or greater, draw a card."
|
"if you control a creature with power 4 or greater, draw a card."
|
||||||
).addHint(FerociousHint.instance));
|
).addHint(FerociousHint.instance));
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,7 @@ public final class BelakorTheDarkMaster extends CardImpl {
|
||||||
ability.addEffect(new LoseLifeSourceControllerEffect(xValue).concatBy("and"));
|
ability.addEffect(new LoseLifeSourceControllerEffect(xValue).concatBy("and"));
|
||||||
this.addAbility(ability.withFlavorWord("Prince of Chaos").addHint(hint));
|
this.addAbility(ability.withFlavorWord("Prince of Chaos").addHint(hint));
|
||||||
|
|
||||||
// Lord of Torment -- Whenever another Demon enters the battlefield under your control, it deals damage equal to its power to any target.
|
// Lord of Torment -- Whenever another Demon you control enters, it deals damage equal to its power to any target.
|
||||||
ability = new EntersBattlefieldControlledTriggeredAbility(new BelakorTheDarkMasterEffect(), filter2);
|
ability = new EntersBattlefieldControlledTriggeredAbility(new BelakorTheDarkMasterEffect(), filter2);
|
||||||
ability.addTarget(new TargetAnyTarget());
|
ability.addTarget(new TargetAnyTarget());
|
||||||
this.addAbility(ability.withFlavorWord("Lord of Torment"));
|
this.addAbility(ability.withFlavorWord("Lord of Torment"));
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ public final class BelligerentWhiptail extends CardImpl {
|
||||||
this.power = new MageInt(4);
|
this.power = new MageInt(4);
|
||||||
this.toughness = new MageInt(2);
|
this.toughness = new MageInt(2);
|
||||||
|
|
||||||
// <i>Landfall</i> — Whenever a land enters the battlefield under your control, Belligerent Whiptail gains first strike until end of turn.
|
// <i>Landfall</i> — Whenever a land you control enters, Belligerent Whiptail gains first strike until end of turn.
|
||||||
this.addAbility(new LandfallAbility(new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), false));
|
this.addAbility(new LandfallAbility(new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), false));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ public final class BelligerentYearling extends CardImpl {
|
||||||
// Trample
|
// Trample
|
||||||
this.addAbility(TrampleAbility.getInstance());
|
this.addAbility(TrampleAbility.getInstance());
|
||||||
|
|
||||||
// Whenever another Dinosaur enters the battlefield under your control, you may have Belligerent Yearling's base power become equal to that creature's power until end of turn.
|
// Whenever another Dinosaur you control enters, you may have Belligerent Yearling's base power become equal to that creature's power until end of turn.
|
||||||
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(
|
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(
|
||||||
Zone.BATTLEFIELD, new BelligerentYearlingEffect(), filter,
|
Zone.BATTLEFIELD, new BelligerentYearlingEffect(), filter,
|
||||||
true, SetTargetPointer.PERMANENT
|
true, SetTargetPointer.PERMANENT
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ public final class BenalishEmissary extends CardImpl {
|
||||||
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect());
|
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect());
|
||||||
ability.addTarget(new TargetLandPermanent());
|
ability.addTarget(new TargetLandPermanent());
|
||||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE,
|
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE,
|
||||||
"When {this} enters the battlefield, if it was kicked, destroy target land."));
|
"When {this} enters, if it was kicked, destroy target land."));
|
||||||
}
|
}
|
||||||
|
|
||||||
private BenalishEmissary(final BenalishEmissary card) {
|
private BenalishEmissary(final BenalishEmissary card) {
|
||||||
|
|
|
||||||
|
|
@ -32,10 +32,10 @@ public final class BenalishLancer extends CardImpl {
|
||||||
// Kicker {2}{W}
|
// Kicker {2}{W}
|
||||||
this.addAbility(new KickerAbility("{2}{W}"));
|
this.addAbility(new KickerAbility("{2}{W}"));
|
||||||
|
|
||||||
// If Benalish Lancer was kicked, it enters the battlefield with two +1/+1 counters on it and with first strike.
|
// If Benalish Lancer was kicked, it enters with two +1/+1 counters on it and with first strike.
|
||||||
Ability ability = new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)),
|
Ability ability = new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)),
|
||||||
KickedCondition.ONCE,
|
KickedCondition.ONCE,
|
||||||
"If {this} was kicked, it enters the battlefield with two +1/+1 counters on it and with first strike.", "");
|
"If {this} was kicked, it enters with two +1/+1 counters on it and with first strike.", "");
|
||||||
ability.addEffect(new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.WhileOnBattlefield));
|
ability.addEffect(new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.WhileOnBattlefield));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ public final class BenalishSleeper extends CardImpl {
|
||||||
// When Benalish Sleeper enters the battlefield, if it was kicked, each player sacrifices a creature.
|
// When Benalish Sleeper enters the battlefield, if it was kicked, each player sacrifices a creature.
|
||||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(
|
this.addAbility(new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(
|
||||||
new SacrificeAllEffect(StaticFilters.FILTER_PERMANENT_CREATURE)
|
new SacrificeAllEffect(StaticFilters.FILTER_PERMANENT_CREATURE)
|
||||||
), KickedCondition.ONCE, "When {this} enters the battlefield, " +
|
), KickedCondition.ONCE, "When {this} enters, " +
|
||||||
"if it was kicked, each player sacrifices a creature."));
|
"if it was kicked, each player sacrifices a creature."));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ public final class BeregondOfTheGuard extends CardImpl {
|
||||||
this.power = new MageInt(3);
|
this.power = new MageInt(3);
|
||||||
this.toughness = new MageInt(3);
|
this.toughness = new MageInt(3);
|
||||||
|
|
||||||
// Whenever Beregond of the Guard or another Human enters the battlefield under your control, creatures you control get +1/+1 and gain vigilance until end of turn.
|
// Whenever Beregond of the Guard or another Human you control enters, creatures you control get +1/+1 and gain vigilance until end of turn.
|
||||||
Ability ability = new EntersBattlefieldThisOrAnotherTriggeredAbility(
|
Ability ability = new EntersBattlefieldThisOrAnotherTriggeredAbility(
|
||||||
new BoostControlledEffect(1, 1, Duration.EndOfTurn)
|
new BoostControlledEffect(1, 1, Duration.EndOfTurn)
|
||||||
.setText("creatures you control get +1/+1"),
|
.setText("creatures you control get +1/+1"),
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ public final class BindingMummy extends CardImpl {
|
||||||
this.power = new MageInt(2);
|
this.power = new MageInt(2);
|
||||||
this.toughness = new MageInt(2);
|
this.toughness = new MageInt(2);
|
||||||
|
|
||||||
// Whenever another Zombie enters the battlefield under your control, you may tap target artifact or creature.
|
// Whenever another Zombie you control enters, you may tap target artifact or creature.
|
||||||
Ability ability = new EntersBattlefieldControlledTriggeredAbility(Zone.BATTLEFIELD, new TapTargetEffect(), filter, true);
|
Ability ability = new EntersBattlefieldControlledTriggeredAbility(Zone.BATTLEFIELD, new TapTargetEffect(), filter, true);
|
||||||
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);
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ public final class BishopOfWings extends CardImpl {
|
||||||
this.power = new MageInt(1);
|
this.power = new MageInt(1);
|
||||||
this.toughness = new MageInt(4);
|
this.toughness = new MageInt(4);
|
||||||
|
|
||||||
// Whenever an Angel enters the battlefield under your control, you gain 4 life.
|
// Whenever an Angel you control enters, you gain 4 life.
|
||||||
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(new GainLifeEffect(4), filter));
|
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(new GainLifeEffect(4), filter));
|
||||||
|
|
||||||
// Whenever an Angel you control dies, create a 1/1 white Spirit creature token with flying.
|
// Whenever an Angel you control dies, create a 1/1 white Spirit creature token with flying.
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ import java.util.UUID;
|
||||||
*/
|
*/
|
||||||
public final class BladeTribeBerserkers extends CardImpl {
|
public final class BladeTribeBerserkers extends CardImpl {
|
||||||
|
|
||||||
private static final String effectText = "When {this} enters the battlefield, if you control three or more artifacts, {this} gets +3/+3 and gains haste until end of turn.";
|
private static final String effectText = "When {this} enters, if you control three or more artifacts, {this} gets +3/+3 and gains haste until end of turn.";
|
||||||
|
|
||||||
public BladeTribeBerserkers(UUID ownerId, CardSetInfo setInfo) {
|
public BladeTribeBerserkers(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}");
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}");
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ public final class BladewingsThrall extends CardImpl {
|
||||||
// When a Dragon enters the battlefield, you may return Bladewing's Thrall from your graveyard to the battlefield.
|
// When a Dragon enters the battlefield, you may return Bladewing's Thrall from your graveyard to the battlefield.
|
||||||
this.addAbility(new EntersBattlefieldAllTriggeredAbility(Zone.GRAVEYARD,
|
this.addAbility(new EntersBattlefieldAllTriggeredAbility(Zone.GRAVEYARD,
|
||||||
new ReturnSourceFromGraveyardToBattlefieldEffect(), new FilterPermanent(SubType.DRAGON, "a Dragon"), true)
|
new ReturnSourceFromGraveyardToBattlefieldEffect(), new FilterPermanent(SubType.DRAGON, "a Dragon"), true)
|
||||||
.setTriggerPhrase("When a Dragon enters the battlefield, "));
|
.setTriggerPhrase("When a Dragon enters, "));
|
||||||
}
|
}
|
||||||
|
|
||||||
private BladewingsThrall(final BladewingsThrall card) {
|
private BladewingsThrall(final BladewingsThrall card) {
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ import java.util.UUID;
|
||||||
*/
|
*/
|
||||||
public final class BleakCovenVampires extends CardImpl {
|
public final class BleakCovenVampires extends CardImpl {
|
||||||
|
|
||||||
private static final String effectText = "When {this} enters the battlefield, if you control three or more artifacts, target player loses 4 life and you gain 4 life.";
|
private static final String effectText = "When {this} enters, if you control three or more artifacts, target player loses 4 life and you gain 4 life.";
|
||||||
|
|
||||||
public BleakCovenVampires(UUID ownerId, CardSetInfo setInfo) {
|
public BleakCovenVampires(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}{B}");
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}{B}");
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ public class BlessedSanctuary extends CardImpl {
|
||||||
this.addAbility(new SimpleStaticAbility(new PreventAllNonCombatDamageToAllEffect(
|
this.addAbility(new SimpleStaticAbility(new PreventAllNonCombatDamageToAllEffect(
|
||||||
Duration.WhileOnBattlefield, StaticFilters.FILTER_CONTROLLED_CREATURES, true)));
|
Duration.WhileOnBattlefield, StaticFilters.FILTER_CONTROLLED_CREATURES, true)));
|
||||||
|
|
||||||
//Whenever a nontoken creature enters the battlefield under your control, create a 2/2 white Unicorn creature token.
|
//Whenever a nontoken creature you control enters, create a 2/2 white Unicorn creature token.
|
||||||
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(Zone.BATTLEFIELD,
|
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(Zone.BATTLEFIELD,
|
||||||
new CreateTokenEffect(new UnicornToken()), filterNontoken, false));
|
new CreateTokenEffect(new UnicornToken()), filterNontoken, false));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@ public final class BlizzardStrix extends CardImpl {
|
||||||
// When Blizzard Strix enters the battlefield, if you control another snow permanent, exile target permanent other than Blizzard Strix. Return that card to the battlefield under its owner's control at the beginning of the next end step.
|
// When Blizzard Strix enters the battlefield, if you control another snow permanent, exile target permanent other than Blizzard Strix. Return that card to the battlefield under its owner's control at the beginning of the next end step.
|
||||||
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
||||||
new EntersBattlefieldTriggeredAbility(new ExileReturnBattlefieldNextEndStepTargetEffect()), condition,
|
new EntersBattlefieldTriggeredAbility(new ExileReturnBattlefieldNextEndStepTargetEffect()), condition,
|
||||||
"When {this} enters the battlefield, if you control another snow permanent, " +
|
"When {this} enters, if you control another snow permanent, " +
|
||||||
"exile target permanent other than {this}. Return that card to the battlefield " +
|
"exile target permanent other than {this}. Return that card to the battlefield " +
|
||||||
"under its owner's control at the beginning of the next end step."
|
"under its owner's control at the beginning of the next end step."
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ public final class BloodCrypt extends CardImpl {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.LAND}, null);
|
super(ownerId, setInfo, new CardType[]{CardType.LAND}, null);
|
||||||
this.subtype.add(SubType.SWAMP, SubType.MOUNTAIN);
|
this.subtype.add(SubType.SWAMP, SubType.MOUNTAIN);
|
||||||
|
|
||||||
this.addAbility(new AsEntersBattlefieldAbility(new TapSourceUnlessPaysEffect(new PayLifeCost(2)), "you may pay 2 life. If you don't, it enters the battlefield tapped"));
|
this.addAbility(new AsEntersBattlefieldAbility(new TapSourceUnlessPaysEffect(new PayLifeCost(2)), "you may pay 2 life. If you don't, it enters tapped"));
|
||||||
this.addAbility(new BlackManaAbility());
|
this.addAbility(new BlackManaAbility());
|
||||||
this.addAbility(new RedManaAbility());
|
this.addAbility(new RedManaAbility());
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@ public final class BloodSpeaker extends CardImpl {
|
||||||
false);
|
false);
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
||||||
// Whenever a Demon enters the battlefield under your control, return Blood Speaker from your graveyard to your hand.
|
// Whenever a Demon you control enters, return Blood Speaker from your graveyard to your hand.
|
||||||
this.addAbility(new EntersBattlefieldAllTriggeredAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToHandEffect(), filter, false));
|
this.addAbility(new EntersBattlefieldAllTriggeredAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToHandEffect(), filter, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ public final class Bloodghast extends CardImpl {
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(effect,
|
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(effect,
|
||||||
new LifeCompareCondition(TargetController.OPPONENT, ComparisonType.OR_LESS, 10),
|
new LifeCompareCondition(TargetController.OPPONENT, ComparisonType.OR_LESS, 10),
|
||||||
"{this} has haste as long as an opponent has 10 or less life")));
|
"{this} has haste as long as an opponent has 10 or less life")));
|
||||||
// Landfall — Whenever a land enters the battlefield under your control, you may return Bloodghast from your graveyard to the battlefield.
|
// Landfall — Whenever a land you control enters, you may return Bloodghast from your graveyard to the battlefield.
|
||||||
this.addAbility(new LandfallAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToBattlefieldEffect(false, false), true));
|
this.addAbility(new LandfallAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToBattlefieldEffect(false, false), true));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ public final class BloodhallPriest extends CardImpl {
|
||||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||||
triggeredAbility,
|
triggeredAbility,
|
||||||
HellbentCondition.instance,
|
HellbentCondition.instance,
|
||||||
"Whenever {this} enters the battlefield or attacks, if you have no cards in hand, {this} deals 2 damage to any target"
|
"Whenever {this} enters or attacks, if you have no cards in hand, {this} deals 2 damage to any target"
|
||||||
));
|
));
|
||||||
|
|
||||||
// Madness {1}{B}{R}
|
// Madness {1}{B}{R}
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@ public final class BloodlinePretender extends CardImpl {
|
||||||
// As Bloodline Pretender enters the battlefield, choose a creature type.
|
// As Bloodline Pretender enters the battlefield, choose a creature type.
|
||||||
this.addAbility(new AsEntersBattlefieldAbility(new ChooseCreatureTypeEffect(Outcome.BoostCreature)));
|
this.addAbility(new AsEntersBattlefieldAbility(new ChooseCreatureTypeEffect(Outcome.BoostCreature)));
|
||||||
|
|
||||||
// Whenever another creature of the chosen type enters the battlefield under your control, put a +1/+1 counter on Bloodline Pretender.
|
// Whenever another creature of the chosen type you control enters, put a +1/+1 counter on Bloodline Pretender.
|
||||||
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(
|
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(
|
||||||
new AddCountersSourceEffect(CounterType.P1P1.createInstance()), filter
|
new AddCountersSourceEffect(CounterType.P1P1.createInstance()), filter
|
||||||
));
|
));
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ public final class BloodtitheCollector extends CardImpl {
|
||||||
// When Bloodtithe Collector enters the battlefield, if an opponent lost life this turn, each opponent discards a card.
|
// When Bloodtithe Collector enters the battlefield, if an opponent lost life this turn, each opponent discards a card.
|
||||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||||
new EntersBattlefieldTriggeredAbility(new DiscardEachPlayerEffect(TargetController.OPPONENT)),
|
new EntersBattlefieldTriggeredAbility(new DiscardEachPlayerEffect(TargetController.OPPONENT)),
|
||||||
OpponentsLostLifeCondition.instance, "When {this} enters the battlefield, " +
|
OpponentsLostLifeCondition.instance, "When {this} enters, " +
|
||||||
"if an opponent lost life this turn, each opponent discards a card."
|
"if an opponent lost life this turn, each opponent discards a card."
|
||||||
).addHint(OpponentsLostLifeHint.instance));
|
).addHint(OpponentsLostLifeHint.instance));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ public final class BogBadger extends CardImpl {
|
||||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||||
new EntersBattlefieldTriggeredAbility(new GainAbilityControlledEffect(
|
new EntersBattlefieldTriggeredAbility(new GainAbilityControlledEffect(
|
||||||
new MenaceAbility(false), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES
|
new MenaceAbility(false), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES
|
||||||
)), KickedCondition.ONCE, "When {this} enters the battlefield, " +
|
)), KickedCondition.ONCE, "When {this} enters, " +
|
||||||
"if it was kicked, creatures you control gain menace until end of turn. " +
|
"if it was kicked, creatures you control gain menace until end of turn. " +
|
||||||
"<i>(A creature with menace can't be blocked except by two or more creatures.)</i>"
|
"<i>(A creature with menace can't be blocked except by two or more creatures.)</i>"
|
||||||
));
|
));
|
||||||
|
|
|
||||||
|
|
@ -33,10 +33,10 @@ public final class BoggartTrawler extends ModalDoubleFacedCard {
|
||||||
ability.addTarget(new TargetPlayer());
|
ability.addTarget(new TargetPlayer());
|
||||||
this.getLeftHalfCard().addAbility(ability);
|
this.getLeftHalfCard().addAbility(ability);
|
||||||
|
|
||||||
// As Boggart Bog enters the battlefield, you may pay 3 life. If you don’t, it enters the battlefield tapped.
|
// As Boggart Bog enters the battlefield, you may pay 3 life. If you don’t, it enters tapped.
|
||||||
this.getRightHalfCard()
|
this.getRightHalfCard()
|
||||||
.addAbility(new AsEntersBattlefieldAbility(new TapSourceUnlessPaysEffect(new PayLifeCost(3)),
|
.addAbility(new AsEntersBattlefieldAbility(new TapSourceUnlessPaysEffect(new PayLifeCost(3)),
|
||||||
"you may pay 3 life. If you don't, it enters the battlefield tapped"));
|
"you may pay 3 life. If you don't, it enters tapped"));
|
||||||
this.getRightHalfCard().addAbility(new BlackManaAbility());
|
this.getRightHalfCard().addAbility(new BlackManaAbility());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ public final class BoltwingMarauder extends CardImpl {
|
||||||
|
|
||||||
// Flying
|
// Flying
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
this.addAbility(FlyingAbility.getInstance());
|
||||||
// Whenever another creature enters the battlefield under your control, target creature gets +2/+0 until end of turn.
|
// Whenever another creature you control enters, target creature gets +2/+0 until end of turn.
|
||||||
Ability ability = new EntersBattlefieldControlledTriggeredAbility(Zone.BATTLEFIELD,
|
Ability ability = new EntersBattlefieldControlledTriggeredAbility(Zone.BATTLEFIELD,
|
||||||
new BoostTargetEffect(2,0, Duration.EndOfTurn), StaticFilters.FILTER_ANOTHER_CREATURE,false);
|
new BoostTargetEffect(2,0, Duration.EndOfTurn), StaticFilters.FILTER_ANOTHER_CREATURE,false);
|
||||||
ability.addTarget(new TargetCreaturePermanent());
|
ability.addTarget(new TargetCreaturePermanent());
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ public final class BoonOfTheSpiritRealm extends CardImpl {
|
||||||
public BoonOfTheSpiritRealm(UUID ownerId, CardSetInfo setInfo) {
|
public BoonOfTheSpiritRealm(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{W}{W}");
|
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{W}{W}");
|
||||||
|
|
||||||
// Constellation -- Whenever Boon of the Spirit Realm or another enchantment enters the battlefield under your control, put a blessing counter on Boon of the Spirit Realm.
|
// Constellation -- Whenever Boon of the Spirit Realm or another enchantment you control enters, put a blessing counter on Boon of the Spirit Realm.
|
||||||
this.addAbility(new ConstellationAbility(new AddCountersSourceEffect(CounterType.BLESSING.createInstance())));
|
this.addAbility(new ConstellationAbility(new AddCountersSourceEffect(CounterType.BLESSING.createInstance())));
|
||||||
|
|
||||||
// Creatures you control get +1/+1 for each blessing counter on Boon of the Spirit Realm.
|
// Creatures you control get +1/+1 for each blessing counter on Boon of the Spirit Realm.
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ public final class BortukBonerattle extends CardImpl {
|
||||||
null
|
null
|
||||||
)),
|
)),
|
||||||
CastFromEverywhereSourceCondition.instance,
|
CastFromEverywhereSourceCondition.instance,
|
||||||
"When {this} enters the battlefield, if you cast it, choose target creature card in your graveyard. " +
|
"When {this} enters, if you cast it, choose target creature card in your graveyard. " +
|
||||||
"Return that card to the battlefield if its mana value is less than or equal to the number of basic land types among lands you control. " +
|
"Return that card to the battlefield if its mana value is less than or equal to the number of basic land types among lands you control. " +
|
||||||
"Otherwise, put it into your hand."
|
"Otherwise, put it into your hand."
|
||||||
);
|
);
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue