diff --git a/Mage.Sets/src/mage/cards/c/CrackInTime.java b/Mage.Sets/src/mage/cards/c/CrackInTime.java
index 8f027152de3..2f63d5e4cf4 100644
--- a/Mage.Sets/src/mage/cards/c/CrackInTime.java
+++ b/Mage.Sets/src/mage/cards/c/CrackInTime.java
@@ -36,7 +36,8 @@ public final class CrackInTime extends CardImpl {
this.addAbility(new VanishingSacrificeAbility());
// When Crack in Time enters the battlefield and at the beginning of your precombat main phase, exile target creature an opponent controls until Crack in Time leaves the battlefield.
- ability = new OrTriggeredAbility(Zone.BATTLEFIELD, new ExileUntilSourceLeavesEffect(),
+ ability = new OrTriggeredAbility(Zone.BATTLEFIELD, new ExileUntilSourceLeavesEffect(), false,
+ "When {this} enters the battlefield and at the beginning of your precombat main phase, ",
new EntersBattlefieldTriggeredAbility(null),
new BeginningOfPreCombatMainTriggeredAbility(null, TargetController.YOU, false)
);
diff --git a/Mage.Sets/src/mage/cards/d/DalekDrone.java b/Mage.Sets/src/mage/cards/d/DalekDrone.java
index 0849f1bc937..532ef46fa3e 100644
--- a/Mage.Sets/src/mage/cards/d/DalekDrone.java
+++ b/Mage.Sets/src/mage/cards/d/DalekDrone.java
@@ -35,7 +35,7 @@ public final class DalekDrone extends CardImpl {
// Exterminate! -- When Dalek Drone enters the battlefield, destroy target creature an opponent controls. That player loses 3 life.
Ability ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect());
- ability.addEffect(new LoseLifeTargetControllerEffect(3));
+ ability.addEffect(new LoseLifeTargetControllerEffect(3).setText("That player loses 3 life"));
ability.addTarget(new TargetOpponentsCreaturePermanent());
ability.withFlavorWord("Exterminate!");
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/f/FrostFairLureFish.java b/Mage.Sets/src/mage/cards/f/FrostFairLureFish.java
index cdbf49ec402..47e2e014f22 100644
--- a/Mage.Sets/src/mage/cards/f/FrostFairLureFish.java
+++ b/Mage.Sets/src/mage/cards/f/FrostFairLureFish.java
@@ -28,7 +28,7 @@ import java.util.UUID;
public final class FrostFairLureFish extends CardImpl {
private static final FilterControlledPermanent filter =
- new FilterControlledPermanent(SubType.FISH, "Fish you control");
+ new FilterControlledPermanent(SubType.FISH, "Fish");
private static final FilterCreaturePermanent filterHumans =
new FilterCreaturePermanent(SubType.HUMAN, "Humans");
diff --git a/Mage.Sets/src/mage/cards/g/GregorShrewdMagistrate.java b/Mage.Sets/src/mage/cards/g/GregorShrewdMagistrate.java
index 3e66390d161..fa6fb2e13a0 100644
--- a/Mage.Sets/src/mage/cards/g/GregorShrewdMagistrate.java
+++ b/Mage.Sets/src/mage/cards/g/GregorShrewdMagistrate.java
@@ -35,7 +35,7 @@ public final class GregorShrewdMagistrate extends CardImpl {
// Whenever Glenn deals combat damage to a player, draw cards equal to his power.
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(
- new DrawCardSourceControllerEffect(xValue).setText("draw cards equal to his power"), false
+ new DrawCardSourceControllerEffect(xValue).setText("draw cards equal to its power"), false
));
}
diff --git a/Mage.Sets/src/mage/cards/o/OutOfTime.java b/Mage.Sets/src/mage/cards/o/OutOfTime.java
index 4f88e185451..1ae2fd54377 100644
--- a/Mage.Sets/src/mage/cards/o/OutOfTime.java
+++ b/Mage.Sets/src/mage/cards/o/OutOfTime.java
@@ -57,7 +57,7 @@ class OutOfTimePhaseOutEffect extends OneShotEffect {
public OutOfTimePhaseOutEffect() {
super(Outcome.AIDontUseIt);
this.staticText = "untap all creatures, then those creatures phase out until {this} leaves the battlefield. "
- + "Put a time counter on {this} for each creature phased out this way";
+ + "Put a time counter on {this} for each creature that phased out this way";
}
private OutOfTimePhaseOutEffect(final OutOfTimePhaseOutEffect effect) {
diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianFleshgorger.java b/Mage.Sets/src/mage/cards/p/PhyrexianFleshgorger.java
index d1265c4e8cb..40823064c9a 100644
--- a/Mage.Sets/src/mage/cards/p/PhyrexianFleshgorger.java
+++ b/Mage.Sets/src/mage/cards/p/PhyrexianFleshgorger.java
@@ -40,7 +40,7 @@ public final class PhyrexianFleshgorger extends CardImpl {
this.addAbility(LifelinkAbility.getInstance());
// Ward--Pay life equal to Phyrexian Fleshgorger's power.
- this.addAbility(new WardAbility(new PayLifeCost(xValue, "pay life equal to {this}'s power"), false));
+ this.addAbility(new WardAbility(new PayLifeCost(xValue, "life equal to {this}'s power"), false));
}
private PhyrexianFleshgorger(final PhyrexianFleshgorger card) {
diff --git a/Mage.Sets/src/mage/cards/t/TheThirteenthDoctor.java b/Mage.Sets/src/mage/cards/t/TheThirteenthDoctor.java
index 70c628dc7c0..ed90b3958e0 100644
--- a/Mage.Sets/src/mage/cards/t/TheThirteenthDoctor.java
+++ b/Mage.Sets/src/mage/cards/t/TheThirteenthDoctor.java
@@ -28,7 +28,7 @@ public final class TheThirteenthDoctor extends CardImpl {
private static final FilterSpell filter
= new FilterSpell("a spell from anywhere other than your hand");
private static final FilterPermanent filter2
- = new FilterControlledCreaturePermanent("creature you control with a counter on it");
+ = new FilterControlledCreaturePermanent("each creature you control with a counter on it");
static {
filter.add(Predicates.not(new CastFromZonePredicate(Zone.HAND)));
diff --git a/Mage.Sets/src/mage/cards/v/VeteransPowerblade.java b/Mage.Sets/src/mage/cards/v/VeteransPowerblade.java
index 311ba73e734..9272da4e6ff 100644
--- a/Mage.Sets/src/mage/cards/v/VeteransPowerblade.java
+++ b/Mage.Sets/src/mage/cards/v/VeteransPowerblade.java
@@ -31,7 +31,7 @@ public final class VeteransPowerblade extends CardImpl {
this.addAbility(new SimpleStaticAbility(new BoostEquippedEffect(2, 0)));
// Equip Soldier {W}
- this.addAbility(new EquipAbility(Outcome.BoostCreature, new ManaCostsImpl<>("{W}"), new TargetPermanent(filter)));
+ this.addAbility(new EquipAbility(Outcome.BoostCreature, new ManaCostsImpl<>("{W}"), new TargetPermanent(filter), false));
// Equip {2}
this.addAbility(new EquipAbility(2));
diff --git a/Mage/src/main/java/mage/abilities/common/BecomesTargetSourceTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BecomesTargetSourceTriggeredAbility.java
index 09ff5c1c1d4..7aaa2de0511 100644
--- a/Mage/src/main/java/mage/abilities/common/BecomesTargetSourceTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/BecomesTargetSourceTriggeredAbility.java
@@ -36,7 +36,7 @@ public class BecomesTargetSourceTriggeredAbility extends TriggeredAbilityImpl {
super(Zone.BATTLEFIELD, effect, optional);
this.filter = filter;
this.setTargetPointer = setTargetPointer;
- boolean textWhen = (effect instanceof SacrificeSourceEffect
+ boolean textWhen = !optional && (effect instanceof SacrificeSourceEffect
|| effect instanceof ReturnToHandSourceEffect
|| effect instanceof ShuffleIntoLibrarySourceEffect
|| effect instanceof ExileSourceEffect);
diff --git a/Mage/src/main/java/mage/abilities/common/DealsCombatDamageToAPlayerTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DealsCombatDamageToAPlayerTriggeredAbility.java
index f398382d214..62a709612e5 100644
--- a/Mage/src/main/java/mage/abilities/common/DealsCombatDamageToAPlayerTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/DealsCombatDamageToAPlayerTriggeredAbility.java
@@ -2,6 +2,9 @@ package mage.abilities.common;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.effects.Effect;
+import mage.abilities.effects.common.ExileSourceEffect;
+import mage.abilities.effects.common.SacrificeSourceEffect;
+import mage.abilities.effects.common.ShuffleIntoLibrarySourceEffect;
import mage.constants.Zone;
import mage.game.Game;
import mage.game.events.DamagedEvent;
@@ -22,7 +25,11 @@ public class DealsCombatDamageToAPlayerTriggeredAbility extends TriggeredAbility
public DealsCombatDamageToAPlayerTriggeredAbility(Effect effect, boolean optional, boolean setTargetPointer) {
super(Zone.BATTLEFIELD, effect, optional);
this.setTargetPointer = setTargetPointer;
- setTriggerPhrase("Whenever {this} deals combat damage to a player, ");
+ boolean textWhen = !optional && (effect instanceof SacrificeSourceEffect
+ || effect instanceof ShuffleIntoLibrarySourceEffect
+ || effect instanceof ExileSourceEffect);
+ setTriggerPhrase((textWhen ? "When" : "Whenever") + " {this} deals combat damage to a player, ");
+ this.replaceRuleText = true;
}
protected DealsCombatDamageToAPlayerTriggeredAbility(final DealsCombatDamageToAPlayerTriggeredAbility ability) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/UntapAllEffect.java b/Mage/src/main/java/mage/abilities/effects/common/UntapAllEffect.java
index 6dc0519684d..bcdacdeea0e 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/UntapAllEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/UntapAllEffect.java
@@ -18,7 +18,11 @@ public class UntapAllEffect extends OneShotEffect {
public UntapAllEffect(FilterPermanent filter) {
super(Outcome.Untap);
- staticText = "untap all " + filter.getMessage();
+ if (filter.getMessage().startsWith("each")) {
+ staticText = "untap " + filter.getMessage();
+ } else {
+ staticText = "untap all " + filter.getMessage();
+ }
this.filter = filter;
}
diff --git a/Mage/src/main/java/mage/abilities/keyword/ExertAbility.java b/Mage/src/main/java/mage/abilities/keyword/ExertAbility.java
index db0a80aba3b..877c25bf301 100644
--- a/Mage/src/main/java/mage/abilities/keyword/ExertAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/ExertAbility.java
@@ -1,4 +1,3 @@
-
package mage.abilities.keyword;
import mage.MageObjectReference;
@@ -38,17 +37,20 @@ public class ExertAbility extends SimpleStaticAbility {
super(Zone.BATTLEFIELD, new ExertReplacementEffect(exertOnlyOncePerTurn));
ruleText = (exertOnlyOncePerTurn
? "If {this} hasn't been exerted this turn, you may exert it"
- : "You may exert {this}") + " as it attacks. ";
+ : "You may exert {this}") + " as it attacks.";
if (ability != null) {
this.addSubAbility(ability);
- ruleText += "When you do,";
+ ruleText += " When you do,";
ability.getEffects().forEach(effect -> {
- ruleText += " " + effect.getText(ability.getModes().getMode());
+ if (!effect.getConcatPrefix().isEmpty()) {
+ ruleText += " " + effect.getConcatPrefix();
+ }
+ ruleText += " " + effect.getText(ability.getModes().getMode()).replaceFirst("^\\{this\\}", "it");
});
- ruleText += ". ";
+ ruleText += ".";
ability.setRuleVisible(false);
}
- ruleText += "(An exerted creature won't untap during your next untap step.)";
+ ruleText += " (An exerted creature won't untap during your next untap step.)";
if (exertOnlyOncePerTurn) {
getWatchers().add(new ExertedThisTurnWatcher());
}