text fixes

This commit is contained in:
xenohedron 2023-12-06 22:27:48 -05:00
parent 6c5d5b8a90
commit 9e1645a1bc
23 changed files with 56 additions and 45 deletions

View file

@ -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) {

View file

@ -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;
}
}
}

View file

@ -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);
}

View file

@ -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) {

View file

@ -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) {

View file

@ -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 {

View file

@ -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(

View file

@ -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) {

View file

@ -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";
}

View file

@ -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);
}

View file

@ -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) {

View file

@ -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));
}

View file

@ -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;
}
}

View file

@ -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);
}

View file

@ -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) {

View file

@ -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);
}

View file

@ -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) {

View file

@ -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());
}

View file

@ -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) {

View file

@ -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);

View file

@ -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());
}

View file

@ -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) {

View file

@ -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) {