forked from External/mage
text fixes
This commit is contained in:
parent
6c5d5b8a90
commit
9e1645a1bc
23 changed files with 56 additions and 45 deletions
|
|
@ -38,7 +38,8 @@ public final class Aleatory extends CardImpl {
|
|||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||
|
||||
// Draw a card at the beginning of the next turn's upkeep.
|
||||
this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1)), false));
|
||||
this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(
|
||||
new DrawCardSourceControllerEffect(1)), false).concatBy("<br>"));
|
||||
}
|
||||
|
||||
private Aleatory(final Aleatory card) {
|
||||
|
|
|
|||
|
|
@ -48,9 +48,9 @@ public final class AvengingAngel extends CardImpl {
|
|||
|
||||
class AvengingAngelEffect extends OneShotEffect {
|
||||
|
||||
public AvengingAngelEffect() {
|
||||
AvengingAngelEffect() {
|
||||
super(Outcome.Benefit);
|
||||
this.staticText = "you may put it on the top of its owner's library";
|
||||
this.staticText = "you may put it on top of its owner's library";
|
||||
}
|
||||
|
||||
private AvengingAngelEffect(final AvengingAngelEffect effect) {
|
||||
|
|
@ -74,4 +74,4 @@ class AvengingAngelEffect extends OneShotEffect {
|
|||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
package mage.cards.b;
|
||||
|
||||
import java.util.UUID;
|
||||
|
|
@ -31,8 +30,10 @@ public final class BattleflightEagle extends CardImpl {
|
|||
// Flying
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
// When Battleflight Eagle enters the battlefield, target creature gets +2/+2 and gains flying until end of turn.
|
||||
Ability ability = new EntersBattlefieldTriggeredAbility(new BoostTargetEffect(2, 2, Duration.EndOfTurn));
|
||||
ability.addEffect(new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn));
|
||||
Ability ability = new EntersBattlefieldTriggeredAbility(new BoostTargetEffect(2, 2, Duration.EndOfTurn)
|
||||
.setText("target creature gets +2/+2"));
|
||||
ability.addEffect(new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn)
|
||||
.setText("and gains flying until end of turn"));
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,8 @@ public final class BlessedWine extends CardImpl {
|
|||
this.getSpellAbility().addEffect(new GainLifeEffect(1));
|
||||
|
||||
// Draw a card at the beginning of the next turn's upkeep.
|
||||
this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1)), false));
|
||||
this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(
|
||||
new DrawCardSourceControllerEffect(1)), false).concatBy("<br>"));
|
||||
}
|
||||
|
||||
private BlessedWine(final BlessedWine card) {
|
||||
|
|
|
|||
|
|
@ -25,7 +25,8 @@ public final class BoneHarvest extends CardImpl {
|
|||
this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(0, Integer.MAX_VALUE, StaticFilters.FILTER_CARD_CREATURES_YOUR_GRAVEYARD));
|
||||
|
||||
// Draw a card at the beginning of the next turn's upkeep.
|
||||
this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1)), false));
|
||||
this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(
|
||||
new DrawCardSourceControllerEffect(1)), false).concatBy("<br>"));
|
||||
}
|
||||
|
||||
private BoneHarvest(final BoneHarvest card) {
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ import java.util.UUID;
|
|||
public final class CullingScales extends CardImpl {
|
||||
|
||||
private static final FilterPermanent filterNonlandPermanentWithLowestCmc = new FilterNonlandPermanent(
|
||||
"nonland permanent with the lowest mana value (<i>If two or more permanents are tied for lowest cost, target any one of them.</i>)"
|
||||
"target nonland permanent with the lowest mana value (<i>If two or more permanents are tied for lowest cost, target any one of them.</i>)"
|
||||
);
|
||||
|
||||
static {
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class DuskLegionSergeant extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Menace
|
||||
this.addAbility(new MenaceAbility());
|
||||
this.addAbility(new MenaceAbility(false));
|
||||
|
||||
// {1}{B}, Sacrifice Dusk Legion Sergeant: Each nontoken Vampire creature you control gains persist until end of turn.
|
||||
Ability ability = new SimpleActivatedAbility(new GainAbilityControlledEffect(
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
package mage.cards.e;
|
||||
|
||||
import java.util.UUID;
|
||||
|
|
@ -29,7 +28,8 @@ public final class EmbalmedBrawler extends CardImpl {
|
|||
// Amplify 1
|
||||
this.addAbility(new AmplifyAbility(AmplifyEffect.AmplifyFactor.Amplify1));
|
||||
// Whenever Embalmed Brawler attacks or blocks, you lose 1 life for each +1/+1 counter on it.
|
||||
this.addAbility(new AttacksOrBlocksTriggeredAbility(new LoseLifeSourceControllerEffect(new CountersSourceCount(CounterType.P1P1)), false));
|
||||
this.addAbility(new AttacksOrBlocksTriggeredAbility(new LoseLifeSourceControllerEffect(new CountersSourceCount(CounterType.P1P1))
|
||||
.setText("you lose 1 life for each +1/+1 counter on it"), false));
|
||||
}
|
||||
|
||||
private EmbalmedBrawler(final EmbalmedBrawler card) {
|
||||
|
|
|
|||
|
|
@ -115,8 +115,7 @@ class EstridTheMaskedGraveyardEffect extends OneShotEffect {
|
|||
|
||||
public EstridTheMaskedGraveyardEffect() {
|
||||
super(Outcome.PutCardInPlay);
|
||||
this.staticText = "put the top seven cards of your library "
|
||||
+ "into your graveyard. Return all non-Aura enchantment cards "
|
||||
this.staticText = "mill seven cards. Return all non-Aura enchantment cards "
|
||||
+ "from your graveyard to the battlefield, "
|
||||
+ "then do the same for Aura cards";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class FiremaneAvenger extends CardImpl {
|
|||
// Battalion - Whenever Firemane Avenger and at least two other creatures attack, Firemane Avenger deals 3 damage to any target and you gain 3 life.
|
||||
Ability ability = new BattalionAbility(new DamageTargetEffect(3));
|
||||
ability.addTarget(new TargetAnyTarget());
|
||||
ability.addEffect(new GainLifeEffect(3));
|
||||
ability.addEffect(new GainLifeEffect(3).concatBy("and"));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
package mage.cards.f;
|
||||
|
||||
import java.util.UUID;
|
||||
|
|
@ -8,7 +7,7 @@ import mage.cards.CardImpl;
|
|||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.filter.common.FilterLandPermanent;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -16,17 +15,14 @@ import mage.filter.FilterPermanent;
|
|||
*/
|
||||
public final class Fruition extends CardImpl {
|
||||
|
||||
private static final FilterPermanent filter = new FilterPermanent("for each Forest on the battlefield");
|
||||
|
||||
static {
|
||||
filter.add(SubType.FOREST.getPredicate());
|
||||
}
|
||||
private static final FilterLandPermanent filter = new FilterLandPermanent(SubType.FOREST, "Forest");
|
||||
|
||||
public Fruition(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{G}");
|
||||
|
||||
// You gain 1 life for each Forest on the battlefield.
|
||||
this.getSpellAbility().addEffect(new GainLifeEffect(new PermanentsOnBattlefieldCount(filter)));
|
||||
this.getSpellAbility().addEffect(new GainLifeEffect(new PermanentsOnBattlefieldCount(filter))
|
||||
.setText("you gain 1 life for each Forest on the battlefield"));
|
||||
}
|
||||
|
||||
private Fruition(final Fruition card) {
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
|
||||
package mage.cards.h;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import mage.abilities.common.AsEntersBattlefieldAbility;
|
||||
import mage.abilities.common.BeginningOfDrawTriggeredAbility;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||
import mage.abilities.effects.common.discard.DiscardHandControllerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
|
|
@ -21,9 +21,10 @@ public final class HeightenedAwareness extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{U}{U}");
|
||||
|
||||
// As Heightened Awareness enters the battlefield, discard your hand.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new DiscardHandControllerEffect()));
|
||||
this.addAbility(new AsEntersBattlefieldAbility(new DiscardHandControllerEffect()));
|
||||
// At the beginning of your draw step, draw an additional card.
|
||||
this.addAbility(new BeginningOfDrawTriggeredAbility(new DrawCardSourceControllerEffect(1),
|
||||
this.addAbility(new BeginningOfDrawTriggeredAbility(new DrawCardSourceControllerEffect(1)
|
||||
.setText("draw an additional card"),
|
||||
TargetController.YOU, false));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -50,8 +50,8 @@ public final class Homarid extends CardImpl {
|
|||
// As long as there are exactly three tide counters on Homarid, it gets +1/+1.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
|
||||
new BoostSourceEffect(1, 1, Duration.WhileOnBattlefield), new SourceHasCounterCondition(CounterType.TIDE, 3, 3),
|
||||
"As long as there are exactly three tide counter on {this}, it gets +1/+1.")));
|
||||
// Whenever there are four tide counters on Homarid, remove all tide counters from it.
|
||||
"As long as there are exactly three tide counters on {this}, it gets +1/+1.")));
|
||||
// Whenever there are four or more tide counters on Homarid, remove all tide counters from it.
|
||||
this.addAbility(new HomaridTriggeredAbility(new RemoveAllCountersSourceEffect(CounterType.TIDE)));
|
||||
}
|
||||
|
||||
|
|
@ -67,9 +67,9 @@ public final class Homarid extends CardImpl {
|
|||
|
||||
class HomaridTriggeredAbility extends StateTriggeredAbility {
|
||||
|
||||
public HomaridTriggeredAbility(Effect effect) {
|
||||
HomaridTriggeredAbility(Effect effect) {
|
||||
super(Zone.BATTLEFIELD, effect);
|
||||
setTriggerPhrase("Whenever there are four tide counters on {this}, ");
|
||||
setTriggerPhrase("Whenever there are four or more tide counters on {this}, ");
|
||||
}
|
||||
|
||||
private HomaridTriggeredAbility(final HomaridTriggeredAbility ability) {
|
||||
|
|
@ -83,6 +83,6 @@ class HomaridTriggeredAbility extends StateTriggeredAbility {
|
|||
|
||||
@Override
|
||||
public boolean checkTrigger(GameEvent event, Game game) {
|
||||
return new CountersSourceCount(CounterType.TIDE).calculate(game, this, null) == 4;
|
||||
return new CountersSourceCount(CounterType.TIDE).calculate(game, this, null) >= 4;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,8 +37,12 @@ public final class KrarkClanGrunt extends CardImpl {
|
|||
|
||||
this.power = new MageInt(2);
|
||||
this.toughness = new MageInt(2);
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new SacrificeTargetCost(new TargetControlledPermanent(filter)));
|
||||
ability.addEffect(new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn));
|
||||
|
||||
// Sacrifice an artifact: Krark-Clan Grunt gets +1/+0 and gains first strike until end of turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn)
|
||||
.setText("{this} gets +1/+0"), new SacrificeTargetCost(new TargetControlledPermanent(filter)));
|
||||
ability.addEffect(new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn)
|
||||
.setText("and gains first strike until end of turn"));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class LeadPipe extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// Equip {2}
|
||||
this.addAbility(new EquipAbility(2));
|
||||
this.addAbility(new EquipAbility(2, false));
|
||||
}
|
||||
|
||||
private LeadPipe(final LeadPipe card) {
|
||||
|
|
|
|||
|
|
@ -35,8 +35,12 @@ public final class Megatog extends CardImpl {
|
|||
|
||||
this.power = new MageInt(3);
|
||||
this.toughness = new MageInt(4);
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(3, 3, Duration.EndOfTurn), new SacrificeTargetCost(new TargetControlledPermanent(filter)));
|
||||
ability.addEffect(new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.EndOfTurn));
|
||||
|
||||
// Sacrifice an artifact: Megatog gets +3/+3 and gains trample until end of turn.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(3, 3, Duration.EndOfTurn)
|
||||
.setText("{this} gets +3/+3"), new SacrificeTargetCost(new TargetControlledPermanent(filter)));
|
||||
ability.addEffect(new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.EndOfTurn)
|
||||
.setText("and gains trample until end of turn"));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ class PriceOfBetrayalEffect extends OneShotEffect {
|
|||
|
||||
PriceOfBetrayalEffect() {
|
||||
super(Outcome.AIDontUseIt);
|
||||
staticText = "Remove up to five counters from target artifact, creature, planeswalker or opponent.";
|
||||
staticText = "Remove up to five counters from target artifact, creature, planeswalker, or opponent.";
|
||||
}
|
||||
|
||||
private PriceOfBetrayalEffect(final PriceOfBetrayalEffect effect) {
|
||||
|
|
|
|||
|
|
@ -20,10 +20,10 @@ public final class RhysticSyphon extends CardImpl {
|
|||
public RhysticSyphon(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{B}{B}");
|
||||
|
||||
// Unless target player pays {3}, they lose 5 life and you gain 5 life.
|
||||
// Unless target player pays {3}, that player loses 5 life and you gain 5 life.
|
||||
DoUnlessTargetPlayerOrTargetsControllerPaysEffect effect = new DoUnlessTargetPlayerOrTargetsControllerPaysEffect(new LoseLifeTargetEffect(5), new ManaCostsImpl<>("{3}"));
|
||||
effect.addEffect(new GainLifeEffect(5));
|
||||
effect.setText("Unless target player pays {3}, they lose 5 life and you gain 5 life");
|
||||
effect.setText("Unless target player pays {3}, that player loses 5 life and you gain 5 life");
|
||||
this.getSpellAbility().addEffect(effect);
|
||||
this.getSpellAbility().addTarget(new TargetPlayer());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ class AddGlobeCountersAbility extends TriggeredAbilityImpl {
|
|||
class SnowMercyCost extends CostImpl {
|
||||
|
||||
SnowMercyCost() {
|
||||
this.text = "{t}, {q}, {t}, {q}, {t}";
|
||||
this.text = "{T}, {Q}, {T}, {Q}, {T}";
|
||||
}
|
||||
|
||||
private SnowMercyCost(final SnowMercyCost cost) {
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public final class SoldierReplica extends CardImpl {
|
|||
this.subtype.add(SubType.SOLDIER);
|
||||
this.power = new MageInt(1);
|
||||
this.toughness = new MageInt(3);
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(3), new ManaCostsImpl<>("{1}{W}"));
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(3, "it"), new ManaCostsImpl<>("{1}{W}"));
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
ability.addTarget(new TargetCreaturePermanent(new FilterAttackingOrBlockingCreature()));
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -29,7 +29,8 @@ public final class SpireBarrage extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{4}{R}");
|
||||
|
||||
// Spire Barrage deals damage to any target equal to the number of Mountains you control.
|
||||
this.getSpellAbility().addEffect(new DamageTargetEffect(new PermanentsOnBattlefieldCount(filter)));
|
||||
this.getSpellAbility().addEffect(new DamageTargetEffect(new PermanentsOnBattlefieldCount(filter))
|
||||
.setText("{this} deals damage to any target equal to the number of Mountains you control"));
|
||||
this.getSpellAbility().addTarget(new TargetAnyTarget());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -27,7 +27,8 @@ public final class TouchOfDeath extends CardImpl {
|
|||
this.getSpellAbility().addEffect(new GainLifeEffect(1));
|
||||
|
||||
// Draw a card at the beginning of the next turn's upkeep.
|
||||
this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1)), false));
|
||||
this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(
|
||||
new DrawCardSourceControllerEffect(1)), false).concatBy("<br>"));
|
||||
}
|
||||
|
||||
private TouchOfDeath(final TouchOfDeath card) {
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ public class SourcePhaseInTriggeredAbility extends TriggeredAbilityImpl {
|
|||
public SourcePhaseInTriggeredAbility(Effect effect, boolean optional) {
|
||||
super(Zone.BATTLEFIELD, effect, optional);
|
||||
setTriggerPhrase("Whenever {this} phases in, ");
|
||||
this.replaceRuleText = true;
|
||||
}
|
||||
|
||||
protected SourcePhaseInTriggeredAbility(final SourcePhaseInTriggeredAbility ability) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue