diff --git a/Mage.Sets/src/mage/cards/b/BloodSeeker.java b/Mage.Sets/src/mage/cards/b/BloodSeeker.java
index bd2e6f1b7bd..f730bb572ce 100644
--- a/Mage.Sets/src/mage/cards/b/BloodSeeker.java
+++ b/Mage.Sets/src/mage/cards/b/BloodSeeker.java
@@ -81,6 +81,6 @@ class BloodSeekerTriggeredAbility extends TriggeredAbilityImpl {
@Override
public String getRule() {
- return "Whenever a creature enters the battlefield under an opponent's control, you may have that player lose 1 life.";
+ return "Whenever a creature an opponent controls enters, you may have that player lose 1 life.";
}
}
diff --git a/Mage.Sets/src/mage/cards/f/FoundFootage.java b/Mage.Sets/src/mage/cards/f/FoundFootage.java
index 299600caf3e..f3f425f863f 100644
--- a/Mage.Sets/src/mage/cards/f/FoundFootage.java
+++ b/Mage.Sets/src/mage/cards/f/FoundFootage.java
@@ -33,7 +33,7 @@ public final class FoundFootage extends CardImpl {
));
// {2}, Sacrifice Found Footage: Surveil 2, then draw a card.
- Ability ability = new SimpleActivatedAbility(new SurveilEffect(2), new GenericManaCost(2));
+ Ability ability = new SimpleActivatedAbility(new SurveilEffect(2, false), new GenericManaCost(2));
ability.addCost(new SacrificeSourceCost());
ability.addEffect(new DrawCardSourceControllerEffect(1).concatBy(", then"));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SeasonOfTheBold.java b/Mage.Sets/src/mage/cards/s/SeasonOfTheBold.java
index ba56af51cb7..3a285a0a450 100644
--- a/Mage.Sets/src/mage/cards/s/SeasonOfTheBold.java
+++ b/Mage.Sets/src/mage/cards/s/SeasonOfTheBold.java
@@ -37,7 +37,8 @@ public final class SeasonOfTheBold extends CardImpl {
this.getSpellAbility().getModes().getMode().withPawPrintValue(1);
// {P}{P} -- Exile the top two cards of your library. Until the end of your next turn, you may play them.
- Mode mode2 = new Mode(new ExileTopXMayPlayUntilEffect(2, Duration.UntilEndOfYourNextTurn));
+ Mode mode2 = new Mode(new ExileTopXMayPlayUntilEffect(2, Duration.UntilEndOfYourNextTurn)
+ .withTextOptions("them", false));
this.getSpellAbility().addMode(mode2.withPawPrintValue(2));
// {P}{P}{P} -- Until the end of your next turn, whenever you cast a spell, Season of the Bold deals 2 damage to up to one target creature.
diff --git a/Mage.Sets/src/mage/cards/s/SeasonOfWeaving.java b/Mage.Sets/src/mage/cards/s/SeasonOfWeaving.java
index b5999376830..0b34b7a8755 100644
--- a/Mage.Sets/src/mage/cards/s/SeasonOfWeaving.java
+++ b/Mage.Sets/src/mage/cards/s/SeasonOfWeaving.java
@@ -51,7 +51,8 @@ public final class SeasonOfWeaving extends CardImpl {
this.getSpellAbility().addMode(mode2.withPawPrintValue(2));
// {P}{P}{P} -- Return each nonland, nontoken permanent to its owner's hand.
- Mode mode3 = new Mode(new ReturnToHandFromBattlefieldAllEffect(filter));
+ Mode mode3 = new Mode(new ReturnToHandFromBattlefieldAllEffect(filter)
+ .setText("return each nonland, nontoken permanent to its owner's hand"));
this.getSpellAbility().addMode(mode3.withPawPrintValue(3));
}
diff --git a/Mage.Sets/src/mage/cards/s/SuturePriest.java b/Mage.Sets/src/mage/cards/s/SuturePriest.java
index 32b5435e573..7e3a63bf8d6 100644
--- a/Mage.Sets/src/mage/cards/s/SuturePriest.java
+++ b/Mage.Sets/src/mage/cards/s/SuturePriest.java
@@ -1,4 +1,3 @@
-
package mage.cards.s;
import java.util.UUID;
@@ -90,6 +89,6 @@ class SuturePriestSecondTriggeredAbility extends TriggeredAbilityImpl {
@Override
public String getRule() {
- return "Whenever a creature enters the battlefield under an opponent's control, you may have that player lose 1 life.";
+ return "Whenever a creature an opponent controls enters, you may have that player lose 1 life.";
}
}
diff --git a/Mage.Sets/src/mage/cards/v/ViolentUrge.java b/Mage.Sets/src/mage/cards/v/ViolentUrge.java
index 5f4c6814789..dda8d7c1cdf 100644
--- a/Mage.Sets/src/mage/cards/v/ViolentUrge.java
+++ b/Mage.Sets/src/mage/cards/v/ViolentUrge.java
@@ -39,7 +39,7 @@ public final class ViolentUrge extends CardImpl {
new AddContinuousEffectToGame(new GainAbilityTargetEffect(DoubleStrikeAbility.getInstance())),
DeliriumCondition.instance, AbilityWord.DELIRIUM.formatWord() + "If there are four or more " +
"card types among cards in your graveyard, that creature gains double strike until end of turn"
- ));
+ ).concatBy("
"));
this.getSpellAbility().addHint(CardTypesInGraveyardHint.YOU);
}
diff --git a/Mage/src/main/java/mage/abilities/common/EntersBattlefieldOrAttacksSourceTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/EntersBattlefieldOrAttacksSourceTriggeredAbility.java
index c073bc3e6d8..b18b1f29b2a 100644
--- a/Mage/src/main/java/mage/abilities/common/EntersBattlefieldOrAttacksSourceTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/EntersBattlefieldOrAttacksSourceTriggeredAbility.java
@@ -19,6 +19,7 @@ public class EntersBattlefieldOrAttacksSourceTriggeredAbility extends TriggeredA
public EntersBattlefieldOrAttacksSourceTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
setTriggerPhrase("Whenever {this} enters or attacks, ");
+ this.withRuleTextReplacement(true);
}
protected EntersBattlefieldOrAttacksSourceTriggeredAbility(final EntersBattlefieldOrAttacksSourceTriggeredAbility ability) {
diff --git a/Mage/src/main/java/mage/abilities/costs/AlternativeCostImpl.java b/Mage/src/main/java/mage/abilities/costs/AlternativeCostImpl.java
index 1bccc0d6348..3d86769ed51 100644
--- a/Mage/src/main/java/mage/abilities/costs/AlternativeCostImpl.java
+++ b/Mage/src/main/java/mage/abilities/costs/AlternativeCostImpl.java
@@ -51,7 +51,10 @@ public class AlternativeCostImpl> extends Costs
if (onlyCost) {
return getText();
} else {
- return (name != null ? name : "") + (isMana ? " " : "—") + getText() + (isMana ? "" : '.');
+ String costName = (name != null ? name : "");
+ String delimiter = (!isMana || (!costName.isEmpty() && costName.substring(costName.length() - 1).matches("\\d")))
+ ? "—" : " ";
+ return costName + delimiter + getText() + (isMana ? "" : '.');
}
}