diff --git a/Mage.Sets/src/mage/cards/a/AngelicFavor.java b/Mage.Sets/src/mage/cards/a/AngelicFavor.java index 299134f4395..a89f9ecabd1 100644 --- a/Mage.Sets/src/mage/cards/a/AngelicFavor.java +++ b/Mage.Sets/src/mage/cards/a/AngelicFavor.java @@ -28,7 +28,7 @@ import mage.target.common.TargetControlledPermanent; */ public final class AngelicFavor extends CardImpl { - private static final FilterPermanent filter = new FilterPermanent("If you control a Plains"); + private static final FilterPermanent filter = new FilterPermanent("you control a Plains"); static { filter.add(SubType.PLAINS.getPredicate()); diff --git a/Mage.Sets/src/mage/cards/a/ArchiveTrap.java b/Mage.Sets/src/mage/cards/a/ArchiveTrap.java index 1b431a97a91..9c560216f5b 100644 --- a/Mage.Sets/src/mage/cards/a/ArchiveTrap.java +++ b/Mage.Sets/src/mage/cards/a/ArchiveTrap.java @@ -95,7 +95,7 @@ enum OpponentSearchesLibCondition implements Condition { @Override public String toString() { - return "If an opponent searched their library this turn"; + return "an opponent searched their library this turn"; } } diff --git a/Mage.Sets/src/mage/cards/a/ArrowVolleyTrap.java b/Mage.Sets/src/mage/cards/a/ArrowVolleyTrap.java index 4dca2f81887..fb45fc33d75 100644 --- a/Mage.Sets/src/mage/cards/a/ArrowVolleyTrap.java +++ b/Mage.Sets/src/mage/cards/a/ArrowVolleyTrap.java @@ -52,6 +52,6 @@ enum ArrowVolleyTrapCondition implements Condition { @Override public String toString() { - return "If four or more creatures are attacking"; + return "four or more creatures are attacking"; } } diff --git a/Mage.Sets/src/mage/cards/b/BalothCageTrap.java b/Mage.Sets/src/mage/cards/b/BalothCageTrap.java index f13adbffaba..98f55dca4f3 100644 --- a/Mage.Sets/src/mage/cards/b/BalothCageTrap.java +++ b/Mage.Sets/src/mage/cards/b/BalothCageTrap.java @@ -68,6 +68,6 @@ enum BalothCageTrapCondition implements Condition { @Override public String toString() { - return "If an opponent had an artifact enter the battlefield under their control this turn"; + return "an opponent had an artifact enter the battlefield under their control this turn"; } } diff --git a/Mage.Sets/src/mage/cards/b/BlasphemousEdict.java b/Mage.Sets/src/mage/cards/b/BlasphemousEdict.java index 4521e46fb75..bef73b91266 100644 --- a/Mage.Sets/src/mage/cards/b/BlasphemousEdict.java +++ b/Mage.Sets/src/mage/cards/b/BlasphemousEdict.java @@ -28,7 +28,7 @@ public final class BlasphemousEdict extends CardImpl { // You may pay {B} rather than pay this spell's mana cost if there are thirteen or more creatures on the battlefield. Ability ability = new AlternativeCostSourceAbility(new ManaCostsImpl<>("{B}"), new PermanentsOnTheBattlefieldCondition( - new FilterCreaturePermanent("If there are thirteen or more creatures on the battlefield"), + new FilterCreaturePermanent("there are thirteen or more creatures on the battlefield"), ComparisonType.OR_GREATER, 13, false diff --git a/Mage.Sets/src/mage/cards/c/ChoArrimLegate.java b/Mage.Sets/src/mage/cards/c/ChoArrimLegate.java index 083156338f3..8d2278f2383 100644 --- a/Mage.Sets/src/mage/cards/c/ChoArrimLegate.java +++ b/Mage.Sets/src/mage/cards/c/ChoArrimLegate.java @@ -41,7 +41,7 @@ public final class ChoArrimLegate extends CardImpl { this.addAbility(ProtectionAbility.from(ObjectColor.BLACK)); // If an opponent controls a Swamp and you control a Plains, you may cast this spell without paying its mana cost. - Condition condition = new CompoundCondition("If an opponent controls a Swamp and you control a Plains", + Condition condition = new CompoundCondition("an opponent controls a Swamp and you control a Plains", new OpponentControlsPermanentCondition(filterSwamp), new PermanentsOnTheBattlefieldCondition(filterPlains)); this.addAbility(new AlternativeCostSourceAbility(null, condition)); diff --git a/Mage.Sets/src/mage/cards/c/CobraTrap.java b/Mage.Sets/src/mage/cards/c/CobraTrap.java index 99cd7e9cd7f..7994947e6e4 100644 --- a/Mage.Sets/src/mage/cards/c/CobraTrap.java +++ b/Mage.Sets/src/mage/cards/c/CobraTrap.java @@ -60,7 +60,7 @@ enum CobraTrapCondition implements Condition { @Override public String toString() { - return "If a noncreature permanent under your control was destroyed this turn by a spell or ability an opponent controlled"; + return "a noncreature permanent under your control was destroyed this turn by a spell or ability an opponent controlled"; } } diff --git a/Mage.Sets/src/mage/cards/d/DarkTriumph.java b/Mage.Sets/src/mage/cards/d/DarkTriumph.java index 9cc1f5f77f9..31d0e779f48 100644 --- a/Mage.Sets/src/mage/cards/d/DarkTriumph.java +++ b/Mage.Sets/src/mage/cards/d/DarkTriumph.java @@ -1,4 +1,3 @@ - package mage.cards.d; import mage.abilities.condition.Condition; @@ -13,7 +12,6 @@ import mage.constants.Duration; import mage.constants.SubType; import mage.filter.FilterPermanent; import mage.filter.StaticFilters; -import mage.target.common.TargetControlledCreaturePermanent; import java.util.UUID; @@ -23,7 +21,7 @@ import java.util.UUID; public final class DarkTriumph extends CardImpl { private static final Condition condition = new PermanentsOnTheBattlefieldCondition( - new FilterPermanent(SubType.SWAMP, "If you control a Swamp") + new FilterPermanent(SubType.SWAMP, "you control a Swamp") ); public DarkTriumph(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DeepwoodLegate.java b/Mage.Sets/src/mage/cards/d/DeepwoodLegate.java index f040237f1be..ce988c8efbd 100644 --- a/Mage.Sets/src/mage/cards/d/DeepwoodLegate.java +++ b/Mage.Sets/src/mage/cards/d/DeepwoodLegate.java @@ -40,7 +40,7 @@ public final class DeepwoodLegate extends CardImpl { this.toughness = new MageInt(1); // If an opponent controls a Forest and you control a Swamp, you may cast this spell without paying its mana cost. - Condition condition = new CompoundCondition("If an opponent controls a Forest and you control a Swamp", + Condition condition = new CompoundCondition("an opponent controls a Forest and you control a Swamp", new OpponentControlsPermanentCondition(filterForest), new PermanentsOnTheBattlefieldCondition(filterSwamp)); this.addAbility(new AlternativeCostSourceAbility(null, condition)); diff --git a/Mage.Sets/src/mage/cards/e/EternalScourge.java b/Mage.Sets/src/mage/cards/e/EternalScourge.java index 74a9178677f..2396de67a6b 100644 --- a/Mage.Sets/src/mage/cards/e/EternalScourge.java +++ b/Mage.Sets/src/mage/cards/e/EternalScourge.java @@ -32,7 +32,7 @@ public final class EternalScourge extends CardImpl { // When Eternal Scourge becomes the target of a spell or ability an opponent controls, exile Eternal Scourge. this.addAbility(new BecomesTargetSourceTriggeredAbility(new ExileSourceEffect(), - StaticFilters.FILTER_SPELL_OR_ABILITY_OPPONENTS)); + StaticFilters.FILTER_SPELL_OR_ABILITY_OPPONENTS).withRuleTextReplacement(false)); } private EternalScourge(final EternalScourge card) { diff --git a/Mage.Sets/src/mage/cards/i/InfernoTrap.java b/Mage.Sets/src/mage/cards/i/InfernoTrap.java index 4a57ffd396f..3b0f6426fb3 100644 --- a/Mage.Sets/src/mage/cards/i/InfernoTrap.java +++ b/Mage.Sets/src/mage/cards/i/InfernoTrap.java @@ -63,7 +63,7 @@ enum InfernoTrapCondition implements Condition { @Override public String toString() { - return "If you've been dealt damage by two or more creatures this turn"; + return "you've been dealt damage by two or more creatures this turn"; } } diff --git a/Mage.Sets/src/mage/cards/k/KyrenLegate.java b/Mage.Sets/src/mage/cards/k/KyrenLegate.java index 5a77619a080..c43520686cd 100644 --- a/Mage.Sets/src/mage/cards/k/KyrenLegate.java +++ b/Mage.Sets/src/mage/cards/k/KyrenLegate.java @@ -39,7 +39,7 @@ public final class KyrenLegate extends CardImpl { this.addAbility(HasteAbility.getInstance()); // If an opponent controls a Plains and you control a Mountain, you may cast this spell without paying its mana cost. - Condition condition = new CompoundCondition("If an opponent controls a Plains and you control a Mountain", + Condition condition = new CompoundCondition("an opponent controls a Plains and you control a Mountain", new OpponentControlsPermanentCondition(filterPlains), new PermanentsOnTheBattlefieldCondition(filterMountain)); this.addAbility(new AlternativeCostSourceAbility(null, condition)); diff --git a/Mage.Sets/src/mage/cards/l/Lashknife.java b/Mage.Sets/src/mage/cards/l/Lashknife.java index f00119b1896..9cec47d8460 100644 --- a/Mage.Sets/src/mage/cards/l/Lashknife.java +++ b/Mage.Sets/src/mage/cards/l/Lashknife.java @@ -31,7 +31,7 @@ import mage.target.common.TargetControlledPermanent; */ public final class Lashknife extends CardImpl { - private static final FilterControlledPermanent plainsFilter = new FilterControlledPermanent("If you control a Plains"); + private static final FilterControlledPermanent plainsFilter = new FilterControlledPermanent("you control a Plains"); private static final FilterControlledCreaturePermanent creatureFilter = new FilterControlledCreaturePermanent("an untapped creature you control"); static { diff --git a/Mage.Sets/src/mage/cards/l/LavaballTrap.java b/Mage.Sets/src/mage/cards/l/LavaballTrap.java index 2b92d719726..9774162d9c7 100644 --- a/Mage.Sets/src/mage/cards/l/LavaballTrap.java +++ b/Mage.Sets/src/mage/cards/l/LavaballTrap.java @@ -78,6 +78,6 @@ enum LavaballTrapCondition implements Condition { @Override public String toString() { - return "If an opponent had two or more lands enter the battlefield under their control this turn"; + return "an opponent had two or more lands enter the battlefield under their control this turn"; } } diff --git a/Mage.Sets/src/mage/cards/l/LethargyTrap.java b/Mage.Sets/src/mage/cards/l/LethargyTrap.java index caec0fa8e63..95cf0693efd 100644 --- a/Mage.Sets/src/mage/cards/l/LethargyTrap.java +++ b/Mage.Sets/src/mage/cards/l/LethargyTrap.java @@ -53,6 +53,6 @@ enum LethargyTrapCondition implements Condition { @Override public String toString() { - return "If three or more creatures are attacking"; + return "three or more creatures are attacking"; } } diff --git a/Mage.Sets/src/mage/cards/m/Massacre.java b/Mage.Sets/src/mage/cards/m/Massacre.java index ca140621504..863b7729a75 100644 --- a/Mage.Sets/src/mage/cards/m/Massacre.java +++ b/Mage.Sets/src/mage/cards/m/Massacre.java @@ -34,7 +34,7 @@ public final class Massacre extends CardImpl { // If an opponent controls a Plains and you control a Swamp, you may cast this spell without paying its mana cost. - Condition condition = new CompoundCondition("If an opponent controls a Plains and you control a Swamp", + Condition condition = new CompoundCondition("an opponent controls a Plains and you control a Swamp", new OpponentControlsPermanentCondition(filterPlains), new PermanentsOnTheBattlefieldCondition(filterSwamp)); this.addAbility(new AlternativeCostSourceAbility(null, condition)); diff --git a/Mage.Sets/src/mage/cards/m/MindSwords.java b/Mage.Sets/src/mage/cards/m/MindSwords.java index 50a4d4a5eec..900aa942501 100644 --- a/Mage.Sets/src/mage/cards/m/MindSwords.java +++ b/Mage.Sets/src/mage/cards/m/MindSwords.java @@ -1,9 +1,5 @@ - package mage.cards.m; -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.costs.AlternativeCostSourceAbility; @@ -24,7 +20,10 @@ import mage.game.Game; import mage.players.Player; import mage.target.Target; import mage.target.common.TargetCardInHand; -import mage.target.common.TargetControlledCreaturePermanent; + +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; /** * @@ -32,7 +31,7 @@ import mage.target.common.TargetControlledCreaturePermanent; */ public final class MindSwords extends CardImpl { - private static final FilterLandPermanent filterSwamp = new FilterLandPermanent("If you control a Swamp"); + private static final FilterLandPermanent filterSwamp = new FilterLandPermanent("you control a Swamp"); static { filterSwamp.add(SubType.SWAMP.getPredicate()); diff --git a/Mage.Sets/src/mage/cards/m/MindbreakTrap.java b/Mage.Sets/src/mage/cards/m/MindbreakTrap.java index 04cd4fc4e1b..8b995edab89 100644 --- a/Mage.Sets/src/mage/cards/m/MindbreakTrap.java +++ b/Mage.Sets/src/mage/cards/m/MindbreakTrap.java @@ -65,7 +65,7 @@ enum MindbreakTrapCondition implements Condition { @Override public String toString() { - return "If an opponent cast three or more spells this turn"; + return "an opponent cast three or more spells this turn"; } } diff --git a/Mage.Sets/src/mage/cards/m/MoggSalvage.java b/Mage.Sets/src/mage/cards/m/MoggSalvage.java index f7ffec6f14d..6bd42bec347 100644 --- a/Mage.Sets/src/mage/cards/m/MoggSalvage.java +++ b/Mage.Sets/src/mage/cards/m/MoggSalvage.java @@ -33,7 +33,7 @@ public final class MoggSalvage extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{R}"); // If an opponent controls an Island and you control a Mountain, you may cast this spell without paying its mana cost. - Condition condition = new CompoundCondition("If an opponent controls an Island and you control a Mountain", + Condition condition = new CompoundCondition("an opponent controls an Island and you control a Mountain", new OpponentControlsPermanentCondition(filterIsland), new PermanentsOnTheBattlefieldCondition(filterMountain)); this.addAbility(new AlternativeCostSourceAbility(null, condition)); diff --git a/Mage.Sets/src/mage/cards/n/NeedlebiteTrap.java b/Mage.Sets/src/mage/cards/n/NeedlebiteTrap.java index 990db5e6f6b..01f83e596cf 100644 --- a/Mage.Sets/src/mage/cards/n/NeedlebiteTrap.java +++ b/Mage.Sets/src/mage/cards/n/NeedlebiteTrap.java @@ -64,6 +64,6 @@ enum NeedlebiteTrapCondition implements Condition { @Override public String toString() { - return "If an opponent gained life this turn"; + return "an opponent gained life this turn"; } } diff --git a/Mage.Sets/src/mage/cards/n/NemesisTrap.java b/Mage.Sets/src/mage/cards/n/NemesisTrap.java index 2f45977dbf5..f40ec89425b 100644 --- a/Mage.Sets/src/mage/cards/n/NemesisTrap.java +++ b/Mage.Sets/src/mage/cards/n/NemesisTrap.java @@ -32,7 +32,7 @@ import java.util.UUID; */ public final class NemesisTrap extends CardImpl { - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("If a white creature is attacking"); + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("a white creature is attacking"); static { filter.add(new ColorPredicate(ObjectColor.WHITE)); diff --git a/Mage.Sets/src/mage/cards/o/OrimsCure.java b/Mage.Sets/src/mage/cards/o/OrimsCure.java index c35d0b03b70..894ea3d0cd6 100644 --- a/Mage.Sets/src/mage/cards/o/OrimsCure.java +++ b/Mage.Sets/src/mage/cards/o/OrimsCure.java @@ -24,7 +24,7 @@ import mage.target.common.TargetAnyTarget; */ public final class OrimsCure extends CardImpl { - private static final FilterPermanent filter = new FilterPermanent("If you control a Plains"); + private static final FilterPermanent filter = new FilterPermanent("you control a Plains"); private static final FilterControlledCreaturePermanent filterCreature = new FilterControlledCreaturePermanent("untapped creature you control"); static { diff --git a/Mage.Sets/src/mage/cards/p/PatriciansScorn.java b/Mage.Sets/src/mage/cards/p/PatriciansScorn.java index fc62084e7a5..ffd9c82afa3 100644 --- a/Mage.Sets/src/mage/cards/p/PatriciansScorn.java +++ b/Mage.Sets/src/mage/cards/p/PatriciansScorn.java @@ -1,4 +1,3 @@ - package mage.cards.p; import mage.ObjectColor; @@ -29,9 +28,8 @@ public final class PatriciansScorn extends CardImpl { public PatriciansScorn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{3}{W}"); - // If you've cast another white spell this turn, you may cast this spell without paying its mana cost. - this.addAbility(new AlternativeCostSourceAbility(new CastWhiteSpellThisTurnCondition()), new PatriciansScornWatcher()); + this.addAbility(new AlternativeCostSourceAbility(PatriciansScornCondition.instance), new PatriciansScornWatcher()); // Destroy all enchantments. this.getSpellAbility().addEffect(new DestroyAllEffect(StaticFilters.FILTER_PERMANENT_ENCHANTMENTS)); } @@ -46,8 +44,8 @@ public final class PatriciansScorn extends CardImpl { } } - -class CastWhiteSpellThisTurnCondition implements Condition { +enum PatriciansScornCondition implements Condition { + instance; @Override public boolean apply(Game game, Ability source) { @@ -60,7 +58,7 @@ class CastWhiteSpellThisTurnCondition implements Condition { @Override public String toString() { - return "If you've cast another white spell this turn"; + return "you've cast another white spell this turn"; } } diff --git a/Mage.Sets/src/mage/cards/p/PermafrostTrap.java b/Mage.Sets/src/mage/cards/p/PermafrostTrap.java index ca3e5e26a30..a6f2b42dd94 100644 --- a/Mage.Sets/src/mage/cards/p/PermafrostTrap.java +++ b/Mage.Sets/src/mage/cards/p/PermafrostTrap.java @@ -72,6 +72,6 @@ enum PermafrostTrapCondition implements Condition { @Override public String toString() { - return "If an opponent had a green creature enter the battlefield under their control this turn"; + return "an opponent had a green creature enter the battlefield under their control this turn"; } } diff --git a/Mage.Sets/src/mage/cards/p/PitfallTrap.java b/Mage.Sets/src/mage/cards/p/PitfallTrap.java index 53eeccd0959..a08500412f3 100644 --- a/Mage.Sets/src/mage/cards/p/PitfallTrap.java +++ b/Mage.Sets/src/mage/cards/p/PitfallTrap.java @@ -63,6 +63,6 @@ enum PitfallTrapCondition implements Condition { @Override public String toString() { - return "If exactly one creature is attacking"; + return "exactly one creature is attacking"; } } diff --git a/Mage.Sets/src/mage/cards/p/ProteanRaider.java b/Mage.Sets/src/mage/cards/p/ProteanRaider.java index b65252b7ee8..943a4d66b65 100644 --- a/Mage.Sets/src/mage/cards/p/ProteanRaider.java +++ b/Mage.Sets/src/mage/cards/p/ProteanRaider.java @@ -30,7 +30,7 @@ public final class ProteanRaider extends CardImpl { // Raid — If you attacked with a creature this turn, you may have Protean Raider enter the battlefield as a copy of any creature on the battlefield. Ability ability = new EntersBattlefieldAbility(new CopyPermanentEffect(), true, RaidCondition.instance, - "Raid — If you attacked this turn, you may have {this} enter the battlefield as a copy of any creature on the battlefield.", ""); + "If you attacked this turn, you may have {this} enter the battlefield as a copy of any creature on the battlefield.", ""); ability.setAbilityWord(AbilityWord.RAID); ability.addHint(RaidHint.instance); this.addAbility(ability, new PlayerAttackedWatcher()); diff --git a/Mage.Sets/src/mage/cards/r/RamosianRally.java b/Mage.Sets/src/mage/cards/r/RamosianRally.java index 805cfda6a1d..221542d6063 100644 --- a/Mage.Sets/src/mage/cards/r/RamosianRally.java +++ b/Mage.Sets/src/mage/cards/r/RamosianRally.java @@ -22,7 +22,7 @@ import mage.target.common.TargetControlledPermanent; */ public final class RamosianRally extends CardImpl { - private static final FilterControlledPermanent plainsFilter = new FilterControlledPermanent("If you control a Plains"); + private static final FilterControlledPermanent plainsFilter = new FilterControlledPermanent("you control a Plains"); private static final FilterControlledCreaturePermanent creatureFilter = new FilterControlledCreaturePermanent("an untapped creature you control"); static { diff --git a/Mage.Sets/src/mage/cards/r/RavenousTrap.java b/Mage.Sets/src/mage/cards/r/RavenousTrap.java index 150cba260ab..415a1e8e36e 100644 --- a/Mage.Sets/src/mage/cards/r/RavenousTrap.java +++ b/Mage.Sets/src/mage/cards/r/RavenousTrap.java @@ -63,6 +63,6 @@ enum RavenousTrapCondition implements Condition { @Override public String toString() { - return "If an opponent had three or more cards put into their graveyard from anywhere this turn"; + return "an opponent had three or more cards put into their graveyard from anywhere this turn"; } } diff --git a/Mage.Sets/src/mage/cards/r/RefractionTrap.java b/Mage.Sets/src/mage/cards/r/RefractionTrap.java index 2c9c52c290b..03ccae2e706 100644 --- a/Mage.Sets/src/mage/cards/r/RefractionTrap.java +++ b/Mage.Sets/src/mage/cards/r/RefractionTrap.java @@ -77,7 +77,7 @@ enum RefractionTrapCondition implements Condition { @Override public String toString() { - return "If an opponent cast a red instant or sorcery spell this turn"; + return "an opponent cast a red instant or sorcery spell this turn"; } } diff --git a/Mage.Sets/src/mage/cards/r/RefreshingRain.java b/Mage.Sets/src/mage/cards/r/RefreshingRain.java index c4e356ce03d..fd326226fe3 100644 --- a/Mage.Sets/src/mage/cards/r/RefreshingRain.java +++ b/Mage.Sets/src/mage/cards/r/RefreshingRain.java @@ -33,7 +33,7 @@ public final class RefreshingRain extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{3}{G}"); // If an opponent controls a Swamp and you control a Forest, you may cast this spell without paying its mana cost. - Condition condition = new CompoundCondition("If an opponent controls a Swamp and you control a Forest", + Condition condition = new CompoundCondition("an opponent controls a Swamp and you control a Forest", new OpponentControlsPermanentCondition(filterSwamp), new PermanentsOnTheBattlefieldCondition(filterForest)); this.addAbility(new AlternativeCostSourceAbility(null, condition)); diff --git a/Mage.Sets/src/mage/cards/r/ReverentSilence.java b/Mage.Sets/src/mage/cards/r/ReverentSilence.java index 67e52eee542..a4c6f0c9625 100644 --- a/Mage.Sets/src/mage/cards/r/ReverentSilence.java +++ b/Mage.Sets/src/mage/cards/r/ReverentSilence.java @@ -19,7 +19,7 @@ import mage.filter.common.FilterEnchantmentPermanent; */ public final class ReverentSilence extends CardImpl { - private static final FilterPermanent filter = new FilterPermanent("If you control a Forest"); + private static final FilterPermanent filter = new FilterPermanent("you control a Forest"); static { filter.add(SubType.FOREST.getPredicate()); diff --git a/Mage.Sets/src/mage/cards/r/RicochetTrap.java b/Mage.Sets/src/mage/cards/r/RicochetTrap.java index ca5c724a9c8..e25999133c5 100644 --- a/Mage.Sets/src/mage/cards/r/RicochetTrap.java +++ b/Mage.Sets/src/mage/cards/r/RicochetTrap.java @@ -76,6 +76,6 @@ enum RicochetTrapCondition implements Condition { @Override public String toString() { - return "If an opponent cast a blue spell this turn"; + return "an opponent cast a blue spell this turn"; } } diff --git a/Mage.Sets/src/mage/cards/r/RiggingRunner.java b/Mage.Sets/src/mage/cards/r/RiggingRunner.java index 5357652bb5f..889f3f46058 100644 --- a/Mage.Sets/src/mage/cards/r/RiggingRunner.java +++ b/Mage.Sets/src/mage/cards/r/RiggingRunner.java @@ -35,7 +35,7 @@ public final class RiggingRunner extends CardImpl { // Raid — Rigging Runner enters the battlefield with a +1/+1 counter on it if you attacked this turn. this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1), false), RaidCondition.instance, - "Raid — {this} enters with a +1/+1 counter on it if you attacked this turn.", + "{this} enters with a +1/+1 counter on it if you attacked this turn.", "{this} enters with a +1/+1 counter") .setAbilityWord(AbilityWord.RAID) .addHint(RaidHint.instance), diff --git a/Mage.Sets/src/mage/cards/r/Rouse.java b/Mage.Sets/src/mage/cards/r/Rouse.java index 303ef2cc3b8..7d6b7d5c553 100644 --- a/Mage.Sets/src/mage/cards/r/Rouse.java +++ b/Mage.Sets/src/mage/cards/r/Rouse.java @@ -20,7 +20,7 @@ import mage.target.common.TargetCreaturePermanent; */ public final class Rouse extends CardImpl { - private static final FilterLandPermanent filterSwamp = new FilterLandPermanent("If you control a Swamp"); + private static final FilterLandPermanent filterSwamp = new FilterLandPermanent("you control a Swamp"); static { filterSwamp.add(SubType.SWAMP.getPredicate()); diff --git a/Mage.Sets/src/mage/cards/r/RuneflareTrap.java b/Mage.Sets/src/mage/cards/r/RuneflareTrap.java index 99fc5c5dbdf..ed5ceedb780 100644 --- a/Mage.Sets/src/mage/cards/r/RuneflareTrap.java +++ b/Mage.Sets/src/mage/cards/r/RuneflareTrap.java @@ -89,6 +89,6 @@ enum RuneflareTrapCondition implements Condition { @Override public String toString() { - return "If an opponent drew three or more cards this turn"; + return "an opponent drew three or more cards this turn"; } } diff --git a/Mage.Sets/src/mage/cards/r/RushwoodLegate.java b/Mage.Sets/src/mage/cards/r/RushwoodLegate.java index dd5cb2ea625..30268883385 100644 --- a/Mage.Sets/src/mage/cards/r/RushwoodLegate.java +++ b/Mage.Sets/src/mage/cards/r/RushwoodLegate.java @@ -35,7 +35,7 @@ public final class RushwoodLegate extends CardImpl { this.toughness = new MageInt(1); // If an opponent controls an Island and you control a Forest, you may cast this spell without paying its mana cost. - Condition condition = new CompoundCondition("If an opponent controls an Island and you control a Forest", + Condition condition = new CompoundCondition("an opponent controls an Island and you control a Forest", new OpponentControlsPermanentCondition(filterIsland), new PermanentsOnTheBattlefieldCondition(filterForest)); this.addAbility(new AlternativeCostSourceAbility(null, condition)); diff --git a/Mage.Sets/src/mage/cards/s/SaprazzanLegate.java b/Mage.Sets/src/mage/cards/s/SaprazzanLegate.java index 6234414c866..a6834c3faaf 100644 --- a/Mage.Sets/src/mage/cards/s/SaprazzanLegate.java +++ b/Mage.Sets/src/mage/cards/s/SaprazzanLegate.java @@ -39,7 +39,7 @@ public final class SaprazzanLegate extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // If an opponent controls a Mountain and you control an Island, you may cast this spell without paying its mana cost. - Condition condition = new CompoundCondition("If an opponent controls a Mountain and you control an Island", + Condition condition = new CompoundCondition("an opponent controls a Mountain and you control an Island", new OpponentControlsPermanentCondition(filterMountain), new PermanentsOnTheBattlefieldCondition(filterIsland)); this.addAbility(new AlternativeCostSourceAbility(null, condition)); diff --git a/Mage.Sets/src/mage/cards/s/SivvisRuse.java b/Mage.Sets/src/mage/cards/s/SivvisRuse.java index deae00f77c9..d507369b355 100644 --- a/Mage.Sets/src/mage/cards/s/SivvisRuse.java +++ b/Mage.Sets/src/mage/cards/s/SivvisRuse.java @@ -33,7 +33,7 @@ public final class SivvisRuse extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{W}{W}"); // If an opponent controls a Mountain and you control a Plains, you may cast this spell without paying its mana cost. - Condition condition = new CompoundCondition("If an opponent controls a Mountain and you control a Plains", + Condition condition = new CompoundCondition("an opponent controls a Mountain and you control a Plains", new OpponentControlsPermanentCondition(filterMountain), new PermanentsOnTheBattlefieldCondition(filterPlains)); this.addAbility(new AlternativeCostSourceAbility(null, condition)); diff --git a/Mage.Sets/src/mage/cards/s/SivvisValor.java b/Mage.Sets/src/mage/cards/s/SivvisValor.java index 32f32f2ac49..7f1c8ec2189 100644 --- a/Mage.Sets/src/mage/cards/s/SivvisValor.java +++ b/Mage.Sets/src/mage/cards/s/SivvisValor.java @@ -31,7 +31,7 @@ import mage.target.common.TargetCreaturePermanent; */ public final class SivvisValor extends CardImpl { - private static final FilterPermanent filter = new FilterPermanent("If you control a Plains"); + private static final FilterPermanent filter = new FilterPermanent("you control a Plains"); private static final FilterControlledCreaturePermanent filterCreature = new FilterControlledCreaturePermanent("untapped creature you control"); static { diff --git a/Mage.Sets/src/mage/cards/s/SkyshroudCutter.java b/Mage.Sets/src/mage/cards/s/SkyshroudCutter.java index e774940930b..340993ba430 100644 --- a/Mage.Sets/src/mage/cards/s/SkyshroudCutter.java +++ b/Mage.Sets/src/mage/cards/s/SkyshroudCutter.java @@ -18,7 +18,7 @@ import mage.filter.FilterPermanent; */ public final class SkyshroudCutter extends CardImpl { - private static final FilterPermanent filter = new FilterPermanent("If you control a Forest"); + private static final FilterPermanent filter = new FilterPermanent("you control a Forest"); static { filter.add(SubType.FOREST.getPredicate()); diff --git a/Mage.Sets/src/mage/cards/s/SlingbowTrap.java b/Mage.Sets/src/mage/cards/s/SlingbowTrap.java index 444f4a0d190..3249338d423 100644 --- a/Mage.Sets/src/mage/cards/s/SlingbowTrap.java +++ b/Mage.Sets/src/mage/cards/s/SlingbowTrap.java @@ -71,6 +71,6 @@ enum SlingbowTrapCondition implements Condition { @Override public String toString() { - return "If a black creature with flying is attacking"; + return "a black creature with flying is attacking"; } } diff --git a/Mage.Sets/src/mage/cards/s/SnuffOut.java b/Mage.Sets/src/mage/cards/s/SnuffOut.java index 03a750a1f52..c5b936910ba 100644 --- a/Mage.Sets/src/mage/cards/s/SnuffOut.java +++ b/Mage.Sets/src/mage/cards/s/SnuffOut.java @@ -8,10 +8,8 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.filter.StaticFilters; import mage.filter.common.FilterLandPermanent; import mage.target.TargetPermanent; -import mage.target.common.TargetCreaturePermanent; import java.util.UUID; @@ -23,7 +21,7 @@ import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURE_NON_BLACK; */ public final class SnuffOut extends CardImpl { - private static final FilterLandPermanent filterSwamp = new FilterLandPermanent("If you control a Swamp"); + private static final FilterLandPermanent filterSwamp = new FilterLandPermanent("you control a Swamp"); static { filterSwamp.add(SubType.SWAMP.getPredicate()); diff --git a/Mage.Sets/src/mage/cards/s/StormFleetAerialist.java b/Mage.Sets/src/mage/cards/s/StormFleetAerialist.java index b433435d668..de4a2bef003 100644 --- a/Mage.Sets/src/mage/cards/s/StormFleetAerialist.java +++ b/Mage.Sets/src/mage/cards/s/StormFleetAerialist.java @@ -35,7 +35,7 @@ public final class StormFleetAerialist extends CardImpl { // Raid - Storm Fleet Aerialist enters the battlefield with a +1/+1 counter on it if you attacked this turn. this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1), false), RaidCondition.instance, - "Raid — {this} enters with a +1/+1 counter on it if you attacked this turn.", + "{this} enters with a +1/+1 counter on it if you attacked this turn.", "{this} enters with a +1/+1 counter") .setAbilityWord(AbilityWord.RAID) .addHint(RaidHint.instance), diff --git a/Mage.Sets/src/mage/cards/s/Submerge.java b/Mage.Sets/src/mage/cards/s/Submerge.java index 1316d639014..7ae4bf53185 100644 --- a/Mage.Sets/src/mage/cards/s/Submerge.java +++ b/Mage.Sets/src/mage/cards/s/Submerge.java @@ -34,7 +34,7 @@ public final class Submerge extends CardImpl { // If an opponent controls a Forest and you control an Island, you may cast this spell without paying its mana cost. - Condition condition = new CompoundCondition("If an opponent controls a Forest and you control an Island", + Condition condition = new CompoundCondition("an opponent controls a Forest and you control an Island", new OpponentControlsPermanentCondition(filterForest), new PermanentsOnTheBattlefieldCondition(filterIsland)); this.addAbility(new AlternativeCostSourceAbility(null, condition)); diff --git a/Mage.Sets/src/mage/cards/s/SummonGFCerberus.java b/Mage.Sets/src/mage/cards/s/SummonGFCerberus.java index 54ac7f61d0e..ba6431f9aff 100644 --- a/Mage.Sets/src/mage/cards/s/SummonGFCerberus.java +++ b/Mage.Sets/src/mage/cards/s/SummonGFCerberus.java @@ -42,7 +42,7 @@ public final class SummonGFCerberus extends CardImpl { // III -- Triple -- When you next cast an instant or sorcery spell this turn, copy it twice. You may choose new targets for the copies. sagaAbility.addChapterEffect(this, SagaChapter.CHAPTER_III, ability -> { ability.addEffect(new CreateDelayedTriggeredAbilityEffect(new CopyNextSpellDelayedTriggeredAbility( - StaticFilters.FILTER_SPELL_INSTANT_OR_SORCERY, 2 + StaticFilters.FILTER_SPELL_AN_INSTANT_OR_SORCERY, 2 ))); ability.withFlavorWord("Triple"); }); diff --git a/Mage.Sets/src/mage/cards/s/SummoningTrap.java b/Mage.Sets/src/mage/cards/s/SummoningTrap.java index e9307e9c36a..d99dac32570 100644 --- a/Mage.Sets/src/mage/cards/s/SummoningTrap.java +++ b/Mage.Sets/src/mage/cards/s/SummoningTrap.java @@ -63,7 +63,7 @@ enum SummoningTrapCondition implements Condition { @Override public String toString() { - return "If a creature spell you cast this turn was countered by a spell or ability an opponent controlled"; + return "a creature spell you cast this turn was countered by a spell or ability an opponent controlled"; } } diff --git a/Mage.Sets/src/mage/cards/s/SwaggeringCorsair.java b/Mage.Sets/src/mage/cards/s/SwaggeringCorsair.java index 2a04ce8f55f..4dbd6a254e8 100644 --- a/Mage.Sets/src/mage/cards/s/SwaggeringCorsair.java +++ b/Mage.Sets/src/mage/cards/s/SwaggeringCorsair.java @@ -32,7 +32,7 @@ public final class SwaggeringCorsair extends CardImpl { this.addAbility(new EntersBattlefieldAbility( new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), RaidCondition.instance, - "Raid — {this} enters with a +1/+1 counter on it if you attacked this turn.", "") + "{this} enters with a +1/+1 counter on it if you attacked this turn.", "") .setAbilityWord(AbilityWord.RAID) .addHint(RaidHint.instance), new PlayerAttackedWatcher()); diff --git a/Mage.Sets/src/mage/cards/u/UnderworldCerberus.java b/Mage.Sets/src/mage/cards/u/UnderworldCerberus.java index ab7e17a10ff..9d7908d7c4c 100644 --- a/Mage.Sets/src/mage/cards/u/UnderworldCerberus.java +++ b/Mage.Sets/src/mage/cards/u/UnderworldCerberus.java @@ -38,7 +38,8 @@ public final class UnderworldCerberus extends CardImpl { // When Underworld Cerberus dies, exile it and each player returns all creature cards from their graveyard to their hand. Ability ability = new DiesSourceTriggeredAbility(new ExileSourceEffect()); - ability.addEffect(new ReturnToHandFromGraveyardAllEffect(new FilterCreatureCard("creature cards"))); + ability.addEffect(new ReturnToHandFromGraveyardAllEffect(new FilterCreatureCard("creature cards")) + .concatBy("and")); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/w/WarNameAspirant.java b/Mage.Sets/src/mage/cards/w/WarNameAspirant.java index 740e85dda93..c2856279800 100644 --- a/Mage.Sets/src/mage/cards/w/WarNameAspirant.java +++ b/Mage.Sets/src/mage/cards/w/WarNameAspirant.java @@ -39,7 +39,7 @@ public final class WarNameAspirant extends CardImpl { // Raid — War-Name Aspirant enters the battlefield with a +1/+1 counter on it if you attacked this turn. this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1), false), RaidCondition.instance, - "Raid — {this} enters with a +1/+1 counter on it if you attacked this turn.", + "{this} enters with a +1/+1 counter on it if you attacked this turn.", "{this} enters with a +1/+1 counter") .setAbilityWord(AbilityWord.RAID) .addHint(RaidHint.instance), diff --git a/Mage.Sets/src/mage/cards/w/WhiplashTrap.java b/Mage.Sets/src/mage/cards/w/WhiplashTrap.java index fb28b691a4d..0ab8a851bde 100644 --- a/Mage.Sets/src/mage/cards/w/WhiplashTrap.java +++ b/Mage.Sets/src/mage/cards/w/WhiplashTrap.java @@ -74,6 +74,6 @@ enum WhiplashTrapCondition implements Condition { @Override public String toString() { - return "If an opponent had two or more creatures enter the battlefield under their control this turn"; + return "an opponent had two or more creatures enter the battlefield under their control this turn"; } } diff --git a/Mage/src/main/java/mage/abilities/costs/AlternativeCostSourceAbility.java b/Mage/src/main/java/mage/abilities/costs/AlternativeCostSourceAbility.java index ad9f3fbae43..783461fe4fc 100644 --- a/Mage/src/main/java/mage/abilities/costs/AlternativeCostSourceAbility.java +++ b/Mage/src/main/java/mage/abilities/costs/AlternativeCostSourceAbility.java @@ -284,7 +284,8 @@ public class AlternativeCostSourceAbility extends StaticAbility implements Alter } StringBuilder sb = new StringBuilder(); if (condition != null) { - sb.append(condition.toString()); + sb.append("if "); + sb.append(condition); if (alternateCosts.size() > 1) { sb.append(", rather than pay this spell's mana cost, "); } else { @@ -293,8 +294,6 @@ public class AlternativeCostSourceAbility extends StaticAbility implements Alter } else { sb.append("You may "); } - int numberCosts = 0; - String remarkText = ""; sb.append(CardUtil.concatWithAnd(alternateCosts .stream() .map(cost -> cost.getCost() instanceof ManaCost @@ -308,9 +307,6 @@ public class AlternativeCostSourceAbility extends StaticAbility implements Alter sb.append("cast this spell without paying its mana cost"); } sb.append('.'); - if (numberCosts == 1 && remarkText != null) { - sb.append(' ').append(remarkText); - } return sb.toString(); }