mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 02:30:08 -08:00
text fixes [ODY] [TOR] [JUD] [ONS] [LGN] [SCG]
This commit is contained in:
parent
1abaeaabdb
commit
99189ea7a3
58 changed files with 135 additions and 126 deletions
|
|
@ -29,7 +29,7 @@ public final class AnuridBarkripper extends CardImpl {
|
|||
// Threshold - Anurid Barkripper gets +2/+2 as long as seven or more cards are in your graveyard.
|
||||
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new BoostSourceEffect(2, 2, Duration.WhileOnBattlefield), ThresholdCondition.instance,
|
||||
"as long as seven or more cards are in your graveyard, {this} gets +2/+2"
|
||||
"{this} gets +2/+2 as long as seven or more cards are in your graveyard"
|
||||
)).setAbilityWord(AbilityWord.THRESHOLD));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ class BamboozleEffect extends OneShotEffect {
|
|||
|
||||
BamboozleEffect() {
|
||||
super(Outcome.Discard);
|
||||
staticText = "Target player reveals the top four cards of their library. You choose two of those cards and put them into their graveyard. Put the rest on top of their library in any order";
|
||||
staticText = "Target player reveals the top four cards of their library. You choose two of those cards and put them into that player's graveyard. Put the rest on top of their library in any order";
|
||||
}
|
||||
|
||||
private BamboozleEffect(final BamboozleEffect effect) {
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public final class Bloodcurdler extends CardImpl {
|
|||
// Threshold - As long as seven or more cards are in your graveyard, Bloodcurdler gets +1/+1 and has "At the beginning of your end step, exile two cards from your graveyard."
|
||||
Ability thresholdAbility = new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new BoostSourceEffect(1, 1, Duration.WhileOnBattlefield), ThresholdCondition.instance,
|
||||
"If seven or more cards are in your graveyard, {this} gets +1/+1"
|
||||
"As long as seven or more cards are in your graveyard, {this} gets +1/+1"
|
||||
));
|
||||
thresholdAbility.addEffect(new ConditionalContinuousEffect(
|
||||
new GainAbilitySourceEffect(new BeginningOfEndStepTriggeredAbility(
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ import mage.filter.common.FilterCreaturePermanent;
|
|||
*/
|
||||
public final class Brawn extends CardImpl {
|
||||
|
||||
private static final String ruleText = "As long as Brawn is in your graveyard and you control a Forest, creatures you control have trample";
|
||||
private static final String ruleText = "As long as this card is in your graveyard and you control a Forest, creatures you control have trample";
|
||||
|
||||
private static final FilterControlledPermanent filter = new FilterControlledPermanent("Forest");
|
||||
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ public final class CallousOppressor extends CardImpl {
|
|||
ConditionalContinuousEffect effect = new ConditionalContinuousEffect(
|
||||
new GainControlTargetEffect(Duration.OneUse),
|
||||
SourceTappedCondition.TAPPED,
|
||||
"Gain control of target creature for as long as {this} remains tapped");
|
||||
"Gain control of target creature that isn't of the chosen type for as long as {this} remains tapped");
|
||||
Ability ability = new SimpleActivatedAbility(effect, new TapSourceCost());
|
||||
ability.addTarget(new TargetCreaturePermanent(new CallousOppressorFilter()));
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -1,17 +1,24 @@
|
|||
|
||||
package mage.cards.c;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageObjectReference;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.DamageTargetEffect;
|
||||
import mage.abilities.effects.common.ExileTargetIfDiesEffect;
|
||||
import mage.abilities.effects.common.replacement.DiesReplacementEffect;
|
||||
import mage.abilities.effects.common.ruleModifying.CantRegenerateTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Outcome;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.target.common.TargetAnyTarget;
|
||||
import mage.target.targetpointer.FixedTarget;
|
||||
import mage.watchers.common.DamagedByWatcher;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author markedagain
|
||||
|
|
@ -21,12 +28,10 @@ public final class Carbonize extends CardImpl {
|
|||
public Carbonize(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{R}");
|
||||
|
||||
// Carbonize deals 3 damage to any target. That creature can't be regenerated this turn. If the creature would die this turn, exile it instead.
|
||||
// Carbonize deals 3 damage to any target. If it's a creature, it can't be regenerated this turn, and if it would die this turn, exile it instead.
|
||||
this.getSpellAbility().addEffect(new DamageTargetEffect(3));
|
||||
this.getSpellAbility().addEffect(new CantRegenerateTargetEffect(Duration.EndOfTurn, "That creature"));
|
||||
this.getSpellAbility().addEffect(new ExileTargetIfDiesEffect().setText("If the creature would die this turn, exile it instead"));
|
||||
this.getSpellAbility().addEffect(new CarbonizeEffect());
|
||||
this.getSpellAbility().addTarget(new TargetAnyTarget());
|
||||
this.getSpellAbility().addWatcher(new DamagedByWatcher(false));
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -39,3 +44,32 @@ public final class Carbonize extends CardImpl {
|
|||
return new Carbonize(this);
|
||||
}
|
||||
}
|
||||
|
||||
class CarbonizeEffect extends OneShotEffect {
|
||||
|
||||
CarbonizeEffect() {
|
||||
super(Outcome.Benefit);
|
||||
staticText = "If it's a creature, it can't be regenerated this turn, and if it would die this turn, exile it instead";
|
||||
}
|
||||
|
||||
private CarbonizeEffect(final CarbonizeEffect effect) {
|
||||
super(effect);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CarbonizeEffect copy() {
|
||||
return new CarbonizeEffect(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
Permanent permanent = game.getPermanent(getTargetPointer().getFirst(game, source));
|
||||
if (permanent == null || !permanent.isCreature(game)) {
|
||||
return false;
|
||||
}
|
||||
game.addEffect(new CantRegenerateTargetEffect(Duration.EndOfTurn, "")
|
||||
.setTargetPointer(new FixedTarget(permanent, game)), source);
|
||||
game.addEffect(new DiesReplacementEffect(new MageObjectReference(permanent, game), Duration.EndOfTurn), source);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ class CatalystStoneCostReductionEffect extends CostModificationEffectImpl {
|
|||
|
||||
CatalystStoneCostReductionEffect() {
|
||||
super(Duration.WhileOnBattlefield, Outcome.Benefit, CostModificationType.REDUCE_COST);
|
||||
this.staticText = "Flashback costs you pay cost up to {2} less";
|
||||
this.staticText = "Flashback costs you pay cost {2} less";
|
||||
}
|
||||
|
||||
protected CatalystStoneCostReductionEffect(final CatalystStoneCostReductionEffect effect) {
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ class ChainOfSilenceEffect extends OneShotEffect {
|
|||
|
||||
ChainOfSilenceEffect() {
|
||||
super(Outcome.PreventDamage);
|
||||
this.staticText = "Prevent all damage target creature would deal this turn. That creature's controller may sacrifice a land. If the player does, they may copy this spell and may choose a new target for that copy";
|
||||
this.staticText = "Prevent all damage target creature would deal this turn. That creature's controller may sacrifice a land of their choice. If the player does, they may copy this spell and may choose a new target for that copy";
|
||||
}
|
||||
|
||||
private ChainOfSilenceEffect(final ChainOfSilenceEffect effect) {
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ class ChainOfVaporEffect extends OneShotEffect {
|
|||
|
||||
ChainOfVaporEffect() {
|
||||
super(Outcome.ReturnToHand);
|
||||
this.staticText = "Return target nonland permanent to its owner's hand. Then that permanent's controller may sacrifice a land. If the player does, they may copy this spell and may choose a new target for that copy";
|
||||
this.staticText = "Return target nonland permanent to its owner's hand. Then that permanent's controller may sacrifice a land of their choice. If the player does, they may copy this spell and may choose a new target for that copy";
|
||||
}
|
||||
|
||||
private ChainOfVaporEffect(final ChainOfVaporEffect effect) {
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ import mage.target.targetpointer.FixedTarget;
|
|||
*/
|
||||
public final class ChainerDementiaMaster extends CardImpl {
|
||||
|
||||
private static final FilterCreaturePermanent filterCreature = new FilterCreaturePermanent("Nightmare creatures");
|
||||
private static final FilterCreaturePermanent filterCreature = new FilterCreaturePermanent("All Nightmares");
|
||||
private static final FilterPermanent filterPermanent = new FilterPermanent("Nightmares");
|
||||
static {
|
||||
filterCreature.add(SubType.NIGHTMARE.getPredicate());
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public final class ChildhoodHorror extends CardImpl {
|
|||
// Threshold - As long as seven or more cards are in your graveyard, Childhood Horror gets +2/+2 and can't block.
|
||||
Ability thresholdAbility = new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new BoostSourceEffect(2, 2, Duration.WhileOnBattlefield),
|
||||
ThresholdCondition.instance, "If seven or more cards are in your graveyard, {this} gets +2/+2"
|
||||
ThresholdCondition.instance, "As long as seven or more cards are in your graveyard, {this} gets +2/+2"
|
||||
));
|
||||
thresholdAbility.addEffect(new ConditionalRestrictionEffect(
|
||||
new CantBlockSourceEffect(Duration.WhileOnBattlefield), ThresholdCondition.instance
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public final class DaruCavalier extends CardImpl {
|
|||
this.addAbility(FirstStrikeAbility.getInstance());
|
||||
|
||||
// When Daru Cavalier enters the battlefield, you may search your library for a card named Daru Cavalier, reveal it, and put it into your hand. If you do, shuffle your library.
|
||||
TargetCardInLibrary target = new TargetCardInLibrary(0, 1, filter);
|
||||
TargetCardInLibrary target = new TargetCardInLibrary(filter);
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInHandEffect(target, true), true));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ import mage.target.common.TargetControlledPermanent;
|
|||
*/
|
||||
public final class DevotedCaretaker extends CardImpl {
|
||||
|
||||
private static final FilterSpell filter = new FilterSpell("instant spells and sorcery spells");
|
||||
private static final FilterSpell filter = new FilterSpell("instant spells and from sorcery spells");
|
||||
|
||||
static{
|
||||
filter.add(Predicates.or(CardType.SORCERY.getPredicate(), CardType.INSTANT.getPredicate()));
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ public final class DirtyWererat extends CardImpl {
|
|||
// Threshold - As long as seven or more cards are in your graveyard, Dirty Wererat gets +2/+2 and can't block.
|
||||
Ability thresholdAbility = new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new BoostSourceEffect(2, 2, Duration.WhileOnBattlefield),
|
||||
ThresholdCondition.instance, "If seven or more cards are in your graveyard, {this} gets +2/+2"
|
||||
ThresholdCondition.instance, "As long as seven or more cards are in your graveyard, {this} gets +2/+2"
|
||||
));
|
||||
thresholdAbility.addEffect(new ConditionalRestrictionEffect(
|
||||
new CantBlockSourceEffect(Duration.WhileOnBattlefield), ThresholdCondition.instance
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public final class DivineSacrament extends CardImpl {
|
|||
// Threshold - White creatures get an additional +1/+1 as long as seven or more cards are in your graveyard.
|
||||
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, filter, false),
|
||||
ThresholdCondition.instance, "If seven or more cards are in your graveyard, white creatures get an additional +1/+1."
|
||||
ThresholdCondition.instance, "white creatures get an additional +1/+1 as long as seven or more cards are in your graveyard"
|
||||
)).setAbilityWord(AbilityWord.THRESHOLD));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public final class Epicenter extends CardImpl {
|
|||
// Target player sacrifices a land.
|
||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
|
||||
new SacrificeEffect(StaticFilters.FILTER_LAND, 1, "Target player"),
|
||||
condition, "Target player sacrifices a land"
|
||||
condition, "Target player sacrifices a land of their choice"
|
||||
));
|
||||
this.getSpellAbility().addTarget(new TargetPlayer());
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ import mage.filter.common.FilterControlledPermanent;
|
|||
*/
|
||||
public final class Filth extends CardImpl {
|
||||
|
||||
private static final String ruleText = "As long as Filth is in your graveyard and you control a Swamp, creatures you control have swampwalk";
|
||||
private static final String ruleText = "As long as this card is in your graveyard and you control a Swamp, creatures you control have swampwalk";
|
||||
|
||||
private static final FilterControlledPermanent filter = new FilterControlledPermanent("Swamp");
|
||||
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ public final class FlameBurst extends CardImpl {
|
|||
class CountAsFlameBurstAbility extends SimpleStaticAbility {
|
||||
|
||||
public CountAsFlameBurstAbility() {
|
||||
super(Zone.GRAVEYARD, new InfoEffect("If {this} is in a graveyard, effects from spells named Flame Burst count it as a card named Flame Burst"));
|
||||
super(Zone.GRAVEYARD, new InfoEffect("If this card is in a graveyard, effects from spells named Flame Burst count it as a card named Flame Burst"));
|
||||
}
|
||||
|
||||
private CountAsFlameBurstAbility(CountAsFlameBurstAbility ability) {
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public final class Frightcrawler extends CardImpl {
|
|||
// Threshold - As long as seven or more cards are in your graveyard, Frightcrawler gets +2/+2 and can't block.
|
||||
Ability ability = new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new BoostSourceEffect(2, 2, Duration.WhileOnBattlefield),
|
||||
ThresholdCondition.instance, "If seven or more cards are in your graveyard, {this} gets +2/+2 "
|
||||
ThresholdCondition.instance, "As long as seven or more cards are in your graveyard, {this} gets +2/+2"
|
||||
));
|
||||
ability.addEffect(new ConditionalRestrictionEffect(
|
||||
new CantBlockSourceEffect(Duration.WhileOnBattlefield),
|
||||
|
|
|
|||
|
|
@ -37,7 +37,8 @@ public final class GempalmIncinerator extends CardImpl {
|
|||
// Cycling {1}{R}
|
||||
this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{1}{R}")));
|
||||
// When you cycle Gempalm Incinerator, you may have it deal X damage to target creature, where X is the number of Goblins on the battlefield.
|
||||
Ability ability = new CycleTriggeredAbility(new DamageTargetEffect(new PermanentsOnBattlefieldCount(filter)),true);
|
||||
Ability ability = new CycleTriggeredAbility(new DamageTargetEffect(new PermanentsOnBattlefieldCount(filter))
|
||||
.setText("you may have it deal X damage to target creature, where X is the number of Goblins on the battlefield"),true);
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public final class GhastlyRemains extends CardImpl {
|
|||
|
||||
// At the beginning of your upkeep, if Ghastly Remains is in your graveyard, you may pay {B}{B}{B}. If you do, return Ghastly Remains to your hand.
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.GRAVEYARD,
|
||||
TargetController.YOU, new DoIfCostPaid(new ReturnSourceFromGraveyardToHandEffect().setText("return {this} to your hand"), new ManaCostsImpl<>("{B}{B}{B}")),
|
||||
TargetController.YOU, new DoIfCostPaid(new ReturnSourceFromGraveyardToHandEffect().setText("return it to your hand"), new ManaCostsImpl<>("{B}{B}{B}")),
|
||||
false).withInterveningIf(SourceInGraveyardCondition.instance));
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class Gigapede extends CardImpl {
|
|||
|
||||
// At the beginning of your upkeep, if Gigapede is in your graveyard, you may discard a card. If you do, return Gigapede to your hand.
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.GRAVEYARD,
|
||||
TargetController.YOU, new DoIfCostPaid(new ReturnSourceFromGraveyardToHandEffect().setText("return {this} to your hand"), new DiscardCardCost()),
|
||||
TargetController.YOU, new DoIfCostPaid(new ReturnSourceFromGraveyardToHandEffect().setText("return this card to your hand"), new DiscardCardCost()),
|
||||
false).withInterveningIf(SourceInGraveyardCondition.instance));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public final class Glory extends CardImpl {
|
|||
this.addAbility(FlyingAbility.getInstance());
|
||||
// {2}{W}: Choose a color. Creatures you control gain protection from the chosen color until end of turn. Activate this ability only if Glory is in your graveyard.
|
||||
Effect effect = new GainProtectionFromColorAllEffect(Duration.EndOfTurn, StaticFilters.FILTER_CONTROLLED_CREATURES);
|
||||
effect.setText("Choose a color. Creatures you control gain protection from the chosen color until end of turn. Activate only if {this} is in your graveyard.");
|
||||
effect.setText("Choose a color. Creatures you control gain protection from the chosen color until end of turn. Activate only if this card is in your graveyard.");
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.GRAVEYARD, effect, new ManaCostsImpl<>("{2}{W}")));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ class GoblinAssassinTriggeredEffect extends OneShotEffect {
|
|||
|
||||
GoblinAssassinTriggeredEffect() {
|
||||
super(Outcome.Sacrifice);
|
||||
staticText = "each player flips a coin. Each player whose coin comes up tails sacrifices a creature";
|
||||
staticText = "each player flips a coin. Each player whose coin comes up tails sacrifices a creature of their choice";
|
||||
}
|
||||
|
||||
private GoblinAssassinTriggeredEffect(final GoblinAssassinTriggeredEffect effect) {
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public final class GoblinWarStrike extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{R}");
|
||||
|
||||
// Goblin War Strike deals damage equal to the number of Goblins you control to target player.
|
||||
this.getSpellAbility().addEffect(new DamageTargetEffect(new PermanentsOnBattlefieldCount(filter)));
|
||||
this.getSpellAbility().addEffect(new DamageTargetEffect(new PermanentsOnBattlefieldCount(filter, null)));
|
||||
this.getSpellAbility().addTarget(new TargetPlayerOrPlaneswalker());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ class GravestormEffect extends OneShotEffect {
|
|||
|
||||
GravestormEffect() {
|
||||
super(Outcome.Exile);
|
||||
this.staticText = "At the beginning of your upkeep, target opponent may exile a card from their graveyard. If that player doesn't, you may draw a card.";
|
||||
this.staticText = "target opponent may exile a card from their graveyard. If that player doesn't, you may draw a card.";
|
||||
}
|
||||
|
||||
private GravestormEffect(final GravestormEffect effect) {
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ public final class Gurzigost extends CardImpl {
|
|||
|
||||
// {G}{G}, Discard a card: You may have Gurzigost assign its combat damage this turn as though it weren't blocked.
|
||||
Effect effect = new GainAbilitySourceEffect(DamageAsThoughNotBlockedAbility.getInstance(), Duration.EndOfTurn);
|
||||
effect.setText("You may have Gurzigost assign its combat damage this turn as though it weren't blocked");
|
||||
effect.setText("You may have {this} assign its combat damage this turn as though it weren't blocked");
|
||||
Ability ability = new SimpleActivatedAbility(effect, new ManaCostsImpl<>("{G}{G}"));
|
||||
ability.addCost(new DiscardCardCost());
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ import java.util.UUID;
|
|||
*/
|
||||
public final class Ichorid extends CardImpl {
|
||||
|
||||
private static final FilterCard filter = new FilterCreatureCard("a black creature card other than {this}");
|
||||
private static final FilterCard filter = new FilterCreatureCard("a black creature card other than this card");
|
||||
|
||||
static {
|
||||
filter.add(AnotherPredicate.instance);
|
||||
|
|
@ -51,7 +51,7 @@ public final class Ichorid extends CardImpl {
|
|||
|
||||
// At the beginning of your upkeep, if Ichorid is in your graveyard, you may exile a black creature card other than Ichorid from your graveyard. If you do, return Ichorid to the battlefield.
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.GRAVEYARD, TargetController.YOU, new DoIfCostPaid(
|
||||
new ReturnSourceFromGraveyardToBattlefieldEffect().setText("return {this} to the battlefield"),
|
||||
new ReturnSourceFromGraveyardToBattlefieldEffect().setText("return this card to the battlefield"),
|
||||
new ExileFromGraveCost(new TargetCardInYourGraveyard(filter))
|
||||
), false).withInterveningIf(SourceInGraveyardCondition.instance));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ class InfectiousRageReattachEffect extends OneShotEffect {
|
|||
|
||||
InfectiousRageReattachEffect() {
|
||||
super(Outcome.PutCardInPlay);
|
||||
this.staticText = "choose a creature at random {this} can enchant. Return {this} to the battlefield attached to that creature.";
|
||||
this.staticText = "choose a creature at random {this} can enchant. Return this card to the battlefield attached to that creature.";
|
||||
}
|
||||
|
||||
private InfectiousRageReattachEffect(final InfectiousRageReattachEffect effect) {
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ import mage.filter.predicate.mageobject.ColorPredicate;
|
|||
*/
|
||||
public final class IridescentAngel extends CardImpl {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("all colors");
|
||||
private static final FilterCard filter = new FilterCard("each color");
|
||||
|
||||
static {
|
||||
filter.add(Predicates.or(
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ import mage.game.events.GameEvent;
|
|||
*/
|
||||
public final class LastLaugh extends CardImpl {
|
||||
|
||||
private static final FilterPermanent filter = new FilterPermanent("a permanent other than Last Laugh");
|
||||
private static final FilterPermanent filter = new FilterPermanent("a permanent other than {this}");
|
||||
static {
|
||||
filter.add(AnotherPredicate.instance);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ public final class MuscleBurst extends CardImpl {
|
|||
class CountAsMuscleBurstAbility extends SimpleStaticAbility {
|
||||
|
||||
public CountAsMuscleBurstAbility() {
|
||||
super(Zone.GRAVEYARD, new InfoEffect("If {this} is in a graveyard, effects from spells named Muscle Burst count it as a card named Muscle Burst"));
|
||||
super(Zone.GRAVEYARD, new InfoEffect("If this card is in a graveyard, effects from spells named Muscle Burst count it as a card named Muscle Burst"));
|
||||
}
|
||||
|
||||
private CountAsMuscleBurstAbility(CountAsMuscleBurstAbility ability) {
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class MysticEnforcer extends CardImpl {
|
|||
// Threshold - As long as seven or more cards are in your graveyard, Mystic Enforcer gets +3/+3 and has flying.
|
||||
Ability ability = new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new BoostSourceEffect(3, 3, Duration.WhileOnBattlefield), ThresholdCondition.instance,
|
||||
" as long as seven or more cards are in your graveyard, {this} gets +3/+3"
|
||||
"as long as seven or more cards are in your graveyard, {this} gets +3/+3"
|
||||
));
|
||||
ability.addEffect(new ConditionalContinuousEffect(
|
||||
new GainAbilitySourceEffect(FlyingAbility.getInstance()),
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
package mage.cards.n;
|
||||
|
||||
import java.util.UUID;
|
||||
|
|
@ -19,8 +18,6 @@ import mage.target.common.TargetCreaturePermanent;
|
|||
*/
|
||||
public final class Nefashu extends CardImpl {
|
||||
|
||||
static final String rule = "Whenever Nefashu attacks, up to five target creatures each get -1/-1 until end of turn.";
|
||||
|
||||
public Nefashu(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}");
|
||||
this.subtype.add(SubType.ZOMBIE);
|
||||
|
|
@ -30,7 +27,7 @@ public final class Nefashu extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// Whenever Nefashu attacks, up to five target creatures each get -1/-1 until end of turn.
|
||||
Ability ability = new AttacksTriggeredAbility(new BoostTargetEffect(-1, -1, Duration.EndOfTurn), false, rule);
|
||||
Ability ability = new AttacksTriggeredAbility(new BoostTargetEffect(-1, -1, Duration.EndOfTurn), false);
|
||||
ability.addTarget(new TargetCreaturePermanent(0, 5));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ public final class NutCollector extends CardImpl {
|
|||
// Threshold - Squirrel creatures get +2/+2 as long as seven or more cards are in your graveyard.
|
||||
Ability ability = new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new BoostAllEffect(2, 2, Duration.WhileOnBattlefield, filter, false),
|
||||
ThresholdCondition.instance, "Squirrel creatures get +2/+2 as long as seven or more cards are in your graveyard"
|
||||
ThresholdCondition.instance, "All Squirrels get +2/+2 as long as seven or more cards are in your graveyard"
|
||||
));
|
||||
ability.setAbilityWord(AbilityWord.THRESHOLD);
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -38,7 +38,8 @@ public final class Painbringer extends CardImpl {
|
|||
Effect effect = new BoostTargetEffect(X, X, Duration.EndOfTurn);
|
||||
effect.setText("Target creature gets -X/-X until end of turn, where X is the number of cards exiled this way");
|
||||
Ability ability = new SimpleActivatedAbility(effect, new TapSourceCost());
|
||||
ability.addCost(new ExileXFromYourGraveCost(new FilterCard("any number of cards from your graveyard")));
|
||||
ability.addCost(new ExileXFromYourGraveCost(new FilterCard("any number of cards from your graveyard"))
|
||||
.setText("Exile any number of cards from your graveyard"));
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
|
|||
|
|
@ -114,7 +114,7 @@ class ParallelThoughtsReplacementEffect extends ReplacementEffectImpl {
|
|||
|
||||
ParallelThoughtsReplacementEffect() {
|
||||
super(Duration.WhileOnBattlefield, Outcome.DrawCard);
|
||||
staticText = "If you would draw a card, you may instead put the top card of the pile you exiled with {this} into your hand";
|
||||
staticText = "If you would draw a card, you may instead put the top card of the pile you exiled into your hand";
|
||||
}
|
||||
|
||||
private ParallelThoughtsReplacementEffect(final ParallelThoughtsReplacementEffect effect) {
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public final class PardicArsonist extends CardImpl {
|
|||
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new GainAbilitySourceEffect(ability), ThresholdCondition.instance, "As long as " +
|
||||
"seven or more cards are in your graveyard, {this} has \"When {this} " +
|
||||
"enters the battlefield, it deals 3 damage to any target.\""
|
||||
"enters, it deals 3 damage to any target.\""
|
||||
)).setAbilityWord(AbilityWord.THRESHOLD));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@
|
|||
package mage.cards.p;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import mage.abilities.dynamicvalue.DynamicValue;
|
||||
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
|
||||
import mage.abilities.effects.common.DamageTargetEffect;
|
||||
import mage.abilities.effects.common.GainLifeEffect;
|
||||
|
|
@ -24,13 +26,17 @@ public final class ProfanePrayers extends CardImpl {
|
|||
filter.add(SubType.CLERIC.getPredicate());
|
||||
}
|
||||
|
||||
private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(filter);
|
||||
|
||||
public ProfanePrayers(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{2}{B}{B}");
|
||||
|
||||
// Profane Prayers deals X damage to any target and you gain X life, where X is the number of Clerics on the battlefield.
|
||||
this.getSpellAbility().addEffect(new DamageTargetEffect(new PermanentsOnBattlefieldCount(filter)));
|
||||
this.getSpellAbility().addEffect(new DamageTargetEffect(xValue)
|
||||
.setText("{this} deals X damage to any target"));
|
||||
this.getSpellAbility().addTarget(new TargetAnyTarget());
|
||||
this.getSpellAbility().addEffect(new GainLifeEffect(new PermanentsOnBattlefieldCount(filter)));
|
||||
this.getSpellAbility().addEffect(new GainLifeEffect(xValue)
|
||||
.setText("and you gain X life, where X is the number of Clerics on the battlefield"));
|
||||
}
|
||||
|
||||
private ProfanePrayers(final ProfanePrayers card) {
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ class ProwlingPangolinEffect extends OneShotEffect {
|
|||
|
||||
ProwlingPangolinEffect() {
|
||||
super(Outcome.Sacrifice);
|
||||
this.staticText = "any player may sacrifice two creatures. If a player does, sacrifice {this}";
|
||||
this.staticText = "any player may sacrifice two creatures of their choice. If a player does, sacrifice {this}";
|
||||
}
|
||||
|
||||
private ProwlingPangolinEffect(final ProwlingPangolinEffect effect) {
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class RebornHero extends CardImpl {
|
|||
new ReturnSourceFromGraveyardToBattlefieldEffect(), new ManaCostsImpl<>("{W}{W}")
|
||||
))), ThresholdCondition.instance, "As long as seven or more cards are in " +
|
||||
"your graveyard, {this} has \"When {this} dies, you may pay {W}{W}. If you do, " +
|
||||
"return {this} to the battlefield under your control.\""
|
||||
"return this card to the battlefield under your control.\""
|
||||
)).setAbilityWord(AbilityWord.THRESHOLD));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class RiftstonePortal extends CardImpl {
|
|||
// As long as Riftstone Portal is in your graveyard, lands you control have "{T}: Add {G} or {W}."
|
||||
ContinuousEffect effect = new GainAbilityControlledEffect(new GreenManaAbility(),
|
||||
Duration.WhileOnBattlefield, new FilterControlledLandPermanent());
|
||||
effect.setText("As long as Riftstone Portal is in your graveyard, lands you control have \"{T}: Add {G} or {W}.\"");
|
||||
effect.setText("As long as this card is in your graveyard, lands you control have \"{T}: Add {G} or {W}.\"");
|
||||
Ability ability = new SimpleStaticAbility(Zone.GRAVEYARD, effect);
|
||||
effect = new GainAbilityControlledEffect(new WhiteManaAbility(),
|
||||
Duration.WhileOnBattlefield, new FilterControlledLandPermanent());
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public final class SetonsScout extends CardImpl {
|
|||
// Threshold - Seton's Scout gets +2/+2 as long as seven or more cards are in your graveyard.
|
||||
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
|
||||
new BoostSourceEffect(2, 2, Duration.WhileOnBattlefield), ThresholdCondition.instance,
|
||||
"As long as seven or more cards are in your graveyard, {this} gets +2/+2"
|
||||
"{this} gets +2/+2 as long as seven or more cards are in your graveyard"
|
||||
)).setAbilityWord(AbilityWord.THRESHOLD));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ class ShiftyDoppelgangerExileEffect extends OneShotEffect {
|
|||
super(Outcome.PutCreatureInPlay);
|
||||
this.staticText = "You may put a creature card from your hand onto the battlefield. If you do, " +
|
||||
"that creature gains haste until end of turn. At the beginning of the next end step, " +
|
||||
"sacrifice that creature. If you do, return {this} to the battlefield";
|
||||
"sacrifice that creature. If you do, return this card to the battlefield";
|
||||
}
|
||||
|
||||
private ShiftyDoppelgangerExileEffect(final ShiftyDoppelgangerExileEffect effect) {
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ class SoulgorgerOrggGainLifeEffect extends OneShotEffect {
|
|||
|
||||
SoulgorgerOrggGainLifeEffect() {
|
||||
super(Outcome.GainLife);
|
||||
staticText = "you gain life equal to the life you lost when it entered the battlefield";
|
||||
staticText = "you gain life equal to the life you lost when it entered";
|
||||
}
|
||||
|
||||
private SoulgorgerOrggGainLifeEffect(final SoulgorgerOrggGainLifeEffect effect) {
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import mage.MageInt;
|
|||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.dynamicvalue.DynamicValue;
|
||||
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
|
||||
import mage.abilities.effects.common.DamageControllerEffect;
|
||||
import mage.abilities.effects.common.DamageTargetEffect;
|
||||
|
|
@ -27,6 +28,7 @@ public final class Sparksmith extends CardImpl {
|
|||
static {
|
||||
filter.add(SubType.GOBLIN.getPredicate());
|
||||
}
|
||||
private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(filter);
|
||||
|
||||
public Sparksmith(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}");
|
||||
|
|
@ -36,9 +38,11 @@ public final class Sparksmith extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// {tap}: Sparksmith deals X damage to target creature and X damage to you, where X is the number of Goblins on the battlefield.
|
||||
Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(new PermanentsOnBattlefieldCount(filter)), new TapSourceCost());
|
||||
Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(xValue)
|
||||
.setText("{this} deals X damage to target creature"), new TapSourceCost());
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
ability.addEffect(new DamageControllerEffect(new PermanentsOnBattlefieldCount(filter)));
|
||||
ability.addEffect(new DamageControllerEffect(xValue)
|
||||
.setText("and X damage to you, where X is the number of Goblins on the battlefield"));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,23 +1,22 @@
|
|||
package mage.cards.s;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.DelayedTriggeredAbility;
|
||||
import mage.abilities.dynamicvalue.common.SavedDamageValue;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.common.GainLifeEffect;
|
||||
import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect;
|
||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||
import mage.abilities.effects.common.GainLifeEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.game.events.GameEvent.EventType;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author cbt33, Unknown (Glimpse of Nature), LevelX2 (Armadillo Cloak)
|
||||
|
|
@ -47,9 +46,9 @@ public final class Spiritualize extends CardImpl {
|
|||
|
||||
class SpiritualizeTriggeredAbility extends DelayedTriggeredAbility {
|
||||
|
||||
public SpiritualizeTriggeredAbility() {
|
||||
SpiritualizeTriggeredAbility() {
|
||||
super(new GainLifeEffect(SavedDamageValue.MUCH), Duration.EndOfTurn, false);
|
||||
setTriggerPhrase("Whenever target creature deals damage, ");
|
||||
setTriggerPhrase("Until end of turn, whenever target creature deals damage, ");
|
||||
}
|
||||
|
||||
private SpiritualizeTriggeredAbility(final SpiritualizeTriggeredAbility ability) {
|
||||
|
|
|
|||
|
|
@ -1,34 +1,32 @@
|
|||
|
||||
package mage.cards.s;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.TriggeredAbilityImpl;
|
||||
import mage.abilities.common.SpellCastAllTriggeredAbility;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.Zone;
|
||||
import mage.constants.SetTargetPointer;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.game.events.GameEvent.EventType;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
import mage.target.targetpointer.FixedTarget;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Plopman
|
||||
*/
|
||||
public final class Standstill extends CardImpl {
|
||||
|
||||
public Standstill(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}");
|
||||
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{U}");
|
||||
|
||||
// When a player casts a spell, sacrifice Standstill. If you do, each of that player's opponents draws three cards.
|
||||
this.addAbility(new SpellCastTriggeredAbility());
|
||||
this.addAbility(new SpellCastAllTriggeredAbility(
|
||||
new StandstillEffect(), StaticFilters.FILTER_SPELL_A, false, SetTargetPointer.PLAYER
|
||||
).setTriggerPhrase("When a player casts a spell, "));
|
||||
}
|
||||
|
||||
private Standstill(final Standstill card) {
|
||||
|
|
@ -41,38 +39,6 @@ public final class Standstill extends CardImpl {
|
|||
}
|
||||
}
|
||||
|
||||
class SpellCastTriggeredAbility extends TriggeredAbilityImpl {
|
||||
|
||||
public SpellCastTriggeredAbility() {
|
||||
super(Zone.BATTLEFIELD, new StandstillEffect(), false);
|
||||
}
|
||||
|
||||
private SpellCastTriggeredAbility(final SpellCastTriggeredAbility ability) {
|
||||
super(ability);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkEventType(GameEvent event, Game game) {
|
||||
return event.getType() == GameEvent.EventType.SPELL_CAST;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkTrigger(GameEvent event, Game game) {
|
||||
this.getEffects().get(0).setTargetPointer(new FixedTarget(event.getPlayerId()));
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "When a player casts a spell, sacrifice Standstill. If you do, each of that player's opponents draws three cards.";
|
||||
}
|
||||
|
||||
@Override
|
||||
public SpellCastTriggeredAbility copy() {
|
||||
return new SpellCastTriggeredAbility(this);
|
||||
}
|
||||
}
|
||||
|
||||
class StandstillEffect extends OneShotEffect {
|
||||
|
||||
StandstillEffect() {
|
||||
|
|
@ -91,17 +57,15 @@ class StandstillEffect extends OneShotEffect {
|
|||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
Permanent permanent = game.getPermanent(source.getSourceId());
|
||||
if (permanent != null) {
|
||||
if (permanent.sacrifice(source, game)) {
|
||||
for (UUID uuid : game.getOpponents(this.getTargetPointer().getFirst(game, source))) {
|
||||
Player player = game.getPlayer(uuid);
|
||||
if (player != null) {
|
||||
player.drawCards(3, source, game);
|
||||
}
|
||||
Permanent permanent = source.getSourcePermanentIfItStillExists(game);
|
||||
if (permanent != null && permanent.sacrifice(source, game)) {
|
||||
for (UUID uuid : game.getOpponents(this.getTargetPointer().getFirst(game, source))) {
|
||||
Player player = game.getPlayer(uuid);
|
||||
if (player != null) {
|
||||
player.drawCards(3, source, game);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,7 +43,8 @@ public final class SteamVines extends CardImpl {
|
|||
|
||||
// When enchanted land becomes tapped, destroy it and Steam Vines deals 1 damage to that land's controller.
|
||||
// That player attaches Steam Vines to a land of their choice.
|
||||
this.addAbility(new BecomesTappedAttachedTriggeredAbility(new SteamVinesEffect(), "enchanted land"));
|
||||
this.addAbility(new BecomesTappedAttachedTriggeredAbility(new SteamVinesEffect(), "enchanted land")
|
||||
.setTriggerPhrase("When enchanted land becomes tapped, "));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public final class StoneTongueBasilisk extends CardImpl {
|
|||
// Threshold - As long as seven or more cards are in your graveyard, all creatures able to block Stone-Tongue Basilisk do so.
|
||||
this.addAbility(new SimpleStaticAbility(new ConditionalRequirementEffect(
|
||||
new MustBeBlockedByAllSourceEffect(), ThresholdCondition.instance, "As long as seven " +
|
||||
"or more cards are in your graveyard, all creatures able to block {this} do so"
|
||||
"or more cards are in your graveyard, all creatures able to block {this} do so"
|
||||
)).setAbilityWord(AbilityWord.THRESHOLD));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public final class TemporaryInsanity extends CardImpl {
|
|||
|
||||
// and gain control of it until end of turn.
|
||||
Effect effect = new GainControlTargetEffect(Duration.EndOfTurn);
|
||||
effect.setText("and gain control of it until end of turn. ");
|
||||
effect.setText("and gain control of it until end of turn");
|
||||
this.getSpellAbility().addEffect(effect);
|
||||
|
||||
// That creature gains haste until end of turn.
|
||||
|
|
|
|||
|
|
@ -31,7 +31,8 @@ public final class UncontrolledInfestation extends CardImpl {
|
|||
Ability ability = new EnchantAbility(auraTarget);
|
||||
this.addAbility(ability);
|
||||
// When enchanted land becomes tapped, destroy it.
|
||||
this.addAbility(new BecomesTappedAttachedTriggeredAbility(new DestroyAttachedToEffect("it"), "enchanted land"));
|
||||
this.addAbility(new BecomesTappedAttachedTriggeredAbility(new DestroyAttachedToEffect("it"), "enchanted land")
|
||||
.setTriggerPhrase("When enchanted land becomes tapped, "));
|
||||
}
|
||||
|
||||
private UncontrolledInfestation(final UncontrolledInfestation card) {
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ import mage.filter.common.FilterCreaturePermanent;
|
|||
*/
|
||||
public final class Valor extends CardImpl {
|
||||
|
||||
private static final String ruleText = "As long as Valor is in your graveyard and you control a Plains, creatures you control have first strike";
|
||||
private static final String ruleText = "As long as this card is in your graveyard and you control a Plains, creatures you control have first strike";
|
||||
|
||||
private static final FilterControlledPermanent filter = new FilterControlledPermanent("Plains");
|
||||
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ public final class WaywardAngel extends CardImpl {
|
|||
);
|
||||
ability.addEffect(new ConditionalContinuousEffect(
|
||||
new GainAbilitySourceEffect(gainedAbility), ThresholdCondition.instance,
|
||||
"and has \"At the beginning of your upkeep, sacrifice a creature.\""
|
||||
", and has \"At the beginning of your upkeep, sacrifice a creature.\""
|
||||
));
|
||||
ability.setAbilityWord(AbilityWord.THRESHOLD);
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ public class VerifyCardDataTest {
|
|||
|
||||
private static final Logger logger = Logger.getLogger(VerifyCardDataTest.class);
|
||||
|
||||
private static final String FULL_ABILITIES_CHECK_SET_CODES = "FIN"; // check ability text due mtgjson, can use multiple sets like MAT;CMD or * for all
|
||||
private static final String FULL_ABILITIES_CHECK_SET_CODES = "ODY,TOR,JUD,ONS,LGN,SCG"; // check ability text due mtgjson, can use multiple sets like MAT;CMD or * for all
|
||||
private static final boolean CHECK_ONLY_ABILITIES_TEXT = false; // use when checking text locally, suppresses unnecessary checks and output messages
|
||||
private static final boolean CHECK_COPYABLE_FIELDS = true; // disable for better verify test performance
|
||||
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ public enum SourceInGraveyardCondition implements Condition {
|
|||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "{this} is in your graveyard";
|
||||
return "this card is in your graveyard";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@ public class DiscardXTargetCost extends VariableCostImpl {
|
|||
|
||||
public DiscardXTargetCost withRandom() {
|
||||
this.isRandom = true;
|
||||
this.text += " at random";
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ public class RemoveAllCountersSourceEffect extends OneShotEffect {
|
|||
public RemoveAllCountersSourceEffect(CounterType counterType) {
|
||||
super(Outcome.Neutral);
|
||||
this.counterType = counterType;
|
||||
staticText = "remove all " + counterType.getName() + " counters from it.";
|
||||
staticText = "remove all " + counterType.getName() + " counters from {this}";
|
||||
}
|
||||
|
||||
protected RemoveAllCountersSourceEffect(final RemoveAllCountersSourceEffect effect) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue