From 00755356502810ccab90198c39fdc0e0cd2e1a7f Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Fri, 6 Oct 2017 22:00:06 -0400 Subject: [PATCH] so many text fixes --- .../src/mage/cards/a/AdmiralBeckettBrass.java | 2 +- .../src/mage/cards/b/BellowingAegisaur.java | 2 +- .../src/mage/cards/c/CaptivatingCrew.java | 2 +- .../src/mage/cards/d/DarienKingOfKjeldor.java | 7 ++++--- Mage.Sets/src/mage/cards/d/DralnusPet.java | 4 ++-- .../src/mage/cards/d/DreamcallerSiren.java | 2 +- .../src/mage/cards/d/DroverOfTheMighty.java | 2 +- .../src/mage/cards/f/FathomFleetCaptain.java | 2 +- .../src/mage/cards/f/FreyalisesRadiance.java | 2 +- Mage.Sets/src/mage/cards/g/GaeasMight.java | 5 +++-- .../src/mage/cards/h/HierophantsChalice.java | 2 +- .../mage/cards/h/HuatliDinosaurKnight.java | 4 +++- .../mage/cards/j/JaceIngeniousMindMage.java | 6 +++--- Mage.Sets/src/mage/cards/j/JacesSentinel.java | 2 +- Mage.Sets/src/mage/cards/j/Jokulmorder.java | 2 +- .../src/mage/cards/k/KrovikanWhispers.java | 7 +++---- .../src/mage/cards/l/LightningStorm.java | 4 ++-- .../src/mage/cards/l/LookoutsDispersal.java | 2 +- .../src/mage/cards/m/MakeshiftMunitions.java | 2 +- .../src/mage/cards/m/MaliciousAdvice.java | 6 +++--- .../src/mage/cards/m/MaraudingLooter.java | 2 +- .../src/mage/cards/m/MarchOfTheDrowned.java | 3 +-- Mage.Sets/src/mage/cards/m/MercurialKite.java | 4 ++-- .../src/mage/cards/m/MinotaurTactician.java | 4 ++-- .../src/mage/cards/p/PhyrexianEtchings.java | 2 +- .../src/mage/cards/p/PhyrexianTyranny.java | 2 +- .../mage/cards/p/PriestOfTheWakeningSun.java | 2 +- Mage.Sets/src/mage/cards/r/RaidersWake.java | 2 +- .../src/mage/cards/r/RavenGuildInitiate.java | 2 +- Mage.Sets/src/mage/cards/r/RazingSnidd.java | 6 +++--- Mage.Sets/src/mage/cards/r/RegisaurAlpha.java | 2 +- Mage.Sets/src/mage/cards/r/RevelInRiches.java | 2 +- Mage.Sets/src/mage/cards/r/RiggingRunner.java | 2 +- .../src/mage/cards/r/RimefeatherOwl.java | 7 ++++++- Mage.Sets/src/mage/cards/r/RuthlessKnave.java | 2 +- Mage.Sets/src/mage/cards/s/SamitePilgrim.java | 4 ++-- Mage.Sets/src/mage/cards/s/SanctumSeeker.java | 2 +- .../src/mage/cards/s/ShipwreckLooter.java | 2 +- Mage.Sets/src/mage/cards/s/SirensRuse.java | 2 +- .../src/mage/cards/s/SkyshipWeatherlight.java | 6 +++--- .../src/mage/cards/s/SnappingSailback.java | 2 +- Mage.Sets/src/mage/cards/s/SpellSwindle.java | 2 +- .../src/mage/cards/s/StarOfExtinction.java | 2 +- .../src/mage/cards/s/SunbirdsInvocation.java | 10 +++++++++ Mage.Sets/src/mage/cards/s/Sunscour.java | 7 ++++--- Mage.Sets/src/mage/cards/s/SurgingAether.java | 6 +++--- Mage.Sets/src/mage/cards/t/TempestCaller.java | 2 +- Mage.Sets/src/mage/cards/u/UrzasGuilt.java | 5 ++--- .../src/mage/cards/v/VanquishersBanner.java | 2 +- .../src/mage/cards/v/VeldraneOfSengir.java | 6 +++--- .../src/mage/cards/v/VerdantSunsAvatar.java | 4 ++-- .../src/mage/cards/v/VraskaRelicSeeker.java | 2 +- .../src/mage/cards/w/WakerOfTheWilds.java | 10 +++++++-- .../src/mage/cards/w/WaterspoutElemental.java | 2 +- .../abilities/common/CantBlockAbility.java | 2 +- .../condition/common/RaidCondition.java | 5 ++++- .../common/CantBeRegeneratedSourceEffect.java | 1 - .../common/LookLibraryControllerEffect.java | 2 +- ...PreventAllDamageByAllPermanentsEffect.java | 18 ++++++++++++---- .../common/PreventDamageToSourceEffect.java | 8 ++++++- .../TapAllTargetPlayerControlsEffect.java | 9 ++++---- .../combat/CantBlockAttachedEffect.java | 5 ++++- ...BecomesChosenCreatureTypeTargetEffect.java | 2 +- .../continuous/BecomesCreatureAllEffect.java | 3 +-- .../GainAbilityControlledSpellsEffect.java | 2 +- .../common/counter/AddCountersAllEffect.java | 3 ++- ...SearchLibraryGraveyardPutInHandEffect.java | 2 +- .../abilities/keyword/DeathtouchAbility.java | 7 ++----- .../mage/abilities/keyword/FearAbility.java | 10 ++++----- .../keyword/IndestructibleAbility.java | 21 +++++++++---------- 70 files changed, 163 insertions(+), 126 deletions(-) diff --git a/Mage.Sets/src/mage/cards/a/AdmiralBeckettBrass.java b/Mage.Sets/src/mage/cards/a/AdmiralBeckettBrass.java index 5b92f7cd1f..cd291187e8 100644 --- a/Mage.Sets/src/mage/cards/a/AdmiralBeckettBrass.java +++ b/Mage.Sets/src/mage/cards/a/AdmiralBeckettBrass.java @@ -56,7 +56,7 @@ import java.util.*; */ public class AdmiralBeckettBrass extends CardImpl { - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("other Pirates you control"); + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Pirates you control"); private static final FilterNonlandPermanent filter2 = new FilterNonlandPermanent("nonland permanent controlled by a player who was dealt combat damage by three or more Pirates this turn"); static { diff --git a/Mage.Sets/src/mage/cards/b/BellowingAegisaur.java b/Mage.Sets/src/mage/cards/b/BellowingAegisaur.java index 7c2db5f657..e7dbc3daa4 100644 --- a/Mage.Sets/src/mage/cards/b/BellowingAegisaur.java +++ b/Mage.Sets/src/mage/cards/b/BellowingAegisaur.java @@ -49,7 +49,7 @@ import mage.filter.predicate.permanent.ControllerPredicate; */ public class BellowingAegisaur extends CardImpl { - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("each other creature you control"); + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("other creature you control"); static { filter.add(new ControllerPredicate(TargetController.YOU)); diff --git a/Mage.Sets/src/mage/cards/c/CaptivatingCrew.java b/Mage.Sets/src/mage/cards/c/CaptivatingCrew.java index 5e90f4283d..ae87461a4f 100644 --- a/Mage.Sets/src/mage/cards/c/CaptivatingCrew.java +++ b/Mage.Sets/src/mage/cards/c/CaptivatingCrew.java @@ -54,7 +54,7 @@ import mage.target.common.TargetCreaturePermanent; */ public class CaptivatingCrew extends CardImpl { - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("target creature an opponent controls"); + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature an opponent controls"); static { filter.add(new ControllerPredicate(TargetController.OPPONENT)); diff --git a/Mage.Sets/src/mage/cards/d/DarienKingOfKjeldor.java b/Mage.Sets/src/mage/cards/d/DarienKingOfKjeldor.java index 5aa34573f3..3581920ec0 100644 --- a/Mage.Sets/src/mage/cards/d/DarienKingOfKjeldor.java +++ b/Mage.Sets/src/mage/cards/d/DarienKingOfKjeldor.java @@ -53,7 +53,7 @@ import mage.players.Player; public class DarienKingOfKjeldor extends CardImpl { public DarienKingOfKjeldor(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{W}{W}"); addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.SOLDIER); @@ -74,6 +74,7 @@ public class DarienKingOfKjeldor extends CardImpl { return new DarienKingOfKjeldor(this); } } + class DarienKingOfKjeldorTriggeredAbility extends TriggeredAbilityImpl { public DarienKingOfKjeldorTriggeredAbility() { @@ -105,7 +106,7 @@ class DarienKingOfKjeldorTriggeredAbility extends TriggeredAbilityImpl { @Override public String getRule() { - return "Whenever you are dealt damage, you may create that many 1/1 white Soldier creature tokens."; + return "Whenever you're dealt damage, you may create that many 1/1 white Soldier creature tokens."; } } @@ -133,4 +134,4 @@ class DarienKingOfKjeldorEffect extends OneShotEffect { } return false; } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/d/DralnusPet.java b/Mage.Sets/src/mage/cards/d/DralnusPet.java index 267078de93..8627591833 100644 --- a/Mage.Sets/src/mage/cards/d/DralnusPet.java +++ b/Mage.Sets/src/mage/cards/d/DralnusPet.java @@ -65,7 +65,7 @@ import mage.players.Player; public class DralnusPet extends CardImpl { public DralnusPet(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}{U}"); this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(2); this.toughness = new MageInt(2); @@ -77,7 +77,7 @@ public class DralnusPet extends CardImpl { this.addAbility(new KickerAbility(kickerCosts)); // If Dralnu's Pet was kicked, it enters the battlefield with flying and with X +1/+1 counters on it, where X is the discarded card's converted mana cost. Ability ability = new EntersBattlefieldAbility(new DralnusPetEffect(), KickedCondition.instance, - "If {this} was kicked, it enters the battlefield with flying and with X +1/+1 counters on it, where X is the discarded card's converted mana cost", ""); + "If {this} was kicked, it enters the battlefield with flying and with X +1/+1 counters on it, where X is the discarded card's converted mana cost.", ""); ability.addEffect(new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.WhileOnBattlefield)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/d/DreamcallerSiren.java b/Mage.Sets/src/mage/cards/d/DreamcallerSiren.java index 5677be80ed..67709860a0 100644 --- a/Mage.Sets/src/mage/cards/d/DreamcallerSiren.java +++ b/Mage.Sets/src/mage/cards/d/DreamcallerSiren.java @@ -84,7 +84,7 @@ public class DreamcallerSiren extends CardImpl { ability.addTarget(new TargetNonlandPermanent(0, 2, false)); this.addAbility(new ConditionalTriggeredAbility(ability, new PermanentsOnTheBattlefieldCondition(filter), - "when {this} enters the battlefield, if you control another Pirate, tap up to two nonland permanents.")); + "when {this} enters the battlefield, if you control another Pirate, tap up to two target nonland permanents.")); } public DreamcallerSiren(final DreamcallerSiren card) { diff --git a/Mage.Sets/src/mage/cards/d/DroverOfTheMighty.java b/Mage.Sets/src/mage/cards/d/DroverOfTheMighty.java index a9b0bb1bb6..43a6e62840 100644 --- a/Mage.Sets/src/mage/cards/d/DroverOfTheMighty.java +++ b/Mage.Sets/src/mage/cards/d/DroverOfTheMighty.java @@ -46,7 +46,7 @@ import mage.filter.predicate.mageobject.SubtypePredicate; */ public class DroverOfTheMighty extends CardImpl { - private static final FilterPermanent filter = new FilterPermanent("a Dinosaur"); + private static final FilterPermanent filter = new FilterPermanent("Dinosaur"); static { filter.add(new SubtypePredicate(SubType.DINOSAUR)); diff --git a/Mage.Sets/src/mage/cards/f/FathomFleetCaptain.java b/Mage.Sets/src/mage/cards/f/FathomFleetCaptain.java index 72f6e09eae..9d7913136a 100644 --- a/Mage.Sets/src/mage/cards/f/FathomFleetCaptain.java +++ b/Mage.Sets/src/mage/cards/f/FathomFleetCaptain.java @@ -76,7 +76,7 @@ public class FathomFleetCaptain extends CardImpl { this.addAbility(new ConditionalTriggeredAbility( new AttacksTriggeredAbility(new DoIfCostPaid(new CreateTokenEffect(new PirateToken()), new GenericManaCost(2)), false), new PermanentsOnTheBattlefieldCondition(filter), - "Whenever {this} attacks, if you control another nontoken Pirate, you may pay {2}. If you do, creature a 2/2 black Pirate creature token with menace")); + "Whenever {this} attacks, if you control another nontoken Pirate, you may pay {2}. If you do, create a 2/2 black Pirate creature token with menace")); } public FathomFleetCaptain(final FathomFleetCaptain card) { diff --git a/Mage.Sets/src/mage/cards/f/FreyalisesRadiance.java b/Mage.Sets/src/mage/cards/f/FreyalisesRadiance.java index f1beb8ac1e..ab44a4e85f 100644 --- a/Mage.Sets/src/mage/cards/f/FreyalisesRadiance.java +++ b/Mage.Sets/src/mage/cards/f/FreyalisesRadiance.java @@ -48,7 +48,7 @@ import mage.filter.predicate.mageobject.SupertypePredicate; */ public class FreyalisesRadiance extends CardImpl { - private static final FilterPermanent filter = new FilterPermanent(); + private static final FilterPermanent filter = new FilterPermanent("snow permanents"); static { filter.add(new SupertypePredicate(SuperType.SNOW)); diff --git a/Mage.Sets/src/mage/cards/g/GaeasMight.java b/Mage.Sets/src/mage/cards/g/GaeasMight.java index ad18c3dc5e..52daaeeabc 100644 --- a/Mage.Sets/src/mage/cards/g/GaeasMight.java +++ b/Mage.Sets/src/mage/cards/g/GaeasMight.java @@ -32,6 +32,7 @@ import mage.abilities.dynamicvalue.common.DomainValue; import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.AbilityWord; import mage.constants.CardType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -43,12 +44,12 @@ import mage.target.common.TargetCreaturePermanent; public class GaeasMight extends CardImpl { public GaeasMight(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{G}"); - + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{G}"); // Domain - Target creature gets +1/+1 until end of turn for each basic land type among lands you control. this.getSpellAbility().addEffect(new BoostTargetEffect(new DomainValue(), new DomainValue(), Duration.EndOfTurn)); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); + this.getSpellAbility().setAbilityWord(AbilityWord.DOMAIN); } public GaeasMight(final GaeasMight card) { diff --git a/Mage.Sets/src/mage/cards/h/HierophantsChalice.java b/Mage.Sets/src/mage/cards/h/HierophantsChalice.java index 7773026a68..73e175fd7c 100644 --- a/Mage.Sets/src/mage/cards/h/HierophantsChalice.java +++ b/Mage.Sets/src/mage/cards/h/HierophantsChalice.java @@ -50,7 +50,7 @@ public class HierophantsChalice extends CardImpl { // When Hierophant's Chalice enters the battlefield, target opponent loses 1 life and you gain 1 life. Ability ability = new EntersBattlefieldTriggeredAbility(new LoseLifeTargetEffect(1), false); - ability.addEffect(new GainLifeEffect(1)); + ability.addEffect(new GainLifeEffect(1).setText("and you gain one life.")); Target target = new TargetOpponent(); ability.addTarget(target); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/h/HuatliDinosaurKnight.java b/Mage.Sets/src/mage/cards/h/HuatliDinosaurKnight.java index a7f28c381b..593d385681 100644 --- a/Mage.Sets/src/mage/cards/h/HuatliDinosaurKnight.java +++ b/Mage.Sets/src/mage/cards/h/HuatliDinosaurKnight.java @@ -74,7 +74,9 @@ public class HuatliDinosaurKnight extends CardImpl { this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4)); // +2: Put two +1/+1 counters on up to one target Dinosaur you control. - Ability ability = new LoyaltyAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance(2)), 2); + Ability ability = new LoyaltyAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance(2)) + .setText("Put two +1/+1 counters on up to one target Dinosaur you control."), 2 + ); ability.addTarget(new TargetCreaturePermanent(0, 1, filter, false)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/j/JaceIngeniousMindMage.java b/Mage.Sets/src/mage/cards/j/JaceIngeniousMindMage.java index cfc7cfeb04..5d8fdb57f0 100644 --- a/Mage.Sets/src/mage/cards/j/JaceIngeniousMindMage.java +++ b/Mage.Sets/src/mage/cards/j/JaceIngeniousMindMage.java @@ -40,7 +40,7 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; import mage.target.common.TargetCreaturePermanent; /** @@ -61,11 +61,11 @@ public class JaceIngeniousMindMage extends CardImpl { this.addAbility(new LoyaltyAbility(new DrawCardSourceControllerEffect(1), 1)); // +1: Untap all creatures you control. - this.addAbility(new LoyaltyAbility(new UntapAllControllerEffect(FILTER_PERMANENT_CREATURES), 1)); + this.addAbility(new LoyaltyAbility(new UntapAllControllerEffect(StaticFilters.FILTER_PERMANENT_CREATURES), 1)); // -9: Gain control of up to three target creatures. Ability ability = new LoyaltyAbility(new GainControlTargetEffect(Duration.Custom), -9); - ability.addTarget(new TargetCreaturePermanent(0, 3)); + ability.addTarget(new TargetCreaturePermanent(0, 3, StaticFilters.FILTER_PERMANENT_CREATURES, false)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/j/JacesSentinel.java b/Mage.Sets/src/mage/cards/j/JacesSentinel.java index a9288ece7d..5d27ac6b60 100644 --- a/Mage.Sets/src/mage/cards/j/JacesSentinel.java +++ b/Mage.Sets/src/mage/cards/j/JacesSentinel.java @@ -77,7 +77,7 @@ public class JacesSentinel extends CardImpl { ability.addEffect(new ConditionalContinuousEffect( new CantBeBlockedSourceEffect(), new PermanentsOnTheBattlefieldCondition(filter), - "and has can't be blocked")); + "and can't be blocked")); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/j/Jokulmorder.java b/Mage.Sets/src/mage/cards/j/Jokulmorder.java index 3a785aa071..99c8ba7525 100644 --- a/Mage.Sets/src/mage/cards/j/Jokulmorder.java +++ b/Mage.Sets/src/mage/cards/j/Jokulmorder.java @@ -122,6 +122,6 @@ class JokulmorderTriggeredAbility extends TriggeredAbilityImpl { @Override public String getRule() { - return "Whenever you play an Island, you may untap {this}"; + return "Whenever you play an Island, you may untap {this}."; } } diff --git a/Mage.Sets/src/mage/cards/k/KrovikanWhispers.java b/Mage.Sets/src/mage/cards/k/KrovikanWhispers.java index e454889dc4..06287397b1 100644 --- a/Mage.Sets/src/mage/cards/k/KrovikanWhispers.java +++ b/Mage.Sets/src/mage/cards/k/KrovikanWhispers.java @@ -28,7 +28,6 @@ package mage.cards.k; import java.util.UUID; -import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.PutIntoGraveFromBattlefieldSourceTriggeredAbility; @@ -36,7 +35,6 @@ import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.continuous.ControlEnchantedEffect; import mage.abilities.costs.OrCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.MultipliedValue; import mage.abilities.dynamicvalue.common.CountersSourceCount; import mage.abilities.effects.common.LoseLifeSourceControllerEffect; @@ -76,7 +74,9 @@ public class KrovikanWhispers extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect())); // When Krovikan Whispers is put into a graveyard from the battlefield, you lose 2 life for each age counter on it. - this.addAbility(new PutIntoGraveFromBattlefieldSourceTriggeredAbility(new LoseLifeSourceControllerEffect(new MultipliedValue(new CountersSourceCount(CounterType.AGE), 2)))); + this.addAbility(new PutIntoGraveFromBattlefieldSourceTriggeredAbility(new LoseLifeSourceControllerEffect(new MultipliedValue(new CountersSourceCount(CounterType.AGE), 2)) + .setText("you lose 2 life for each age counter on it.") + )); } public KrovikanWhispers(final KrovikanWhispers card) { @@ -88,4 +88,3 @@ public class KrovikanWhispers extends CardImpl { return new KrovikanWhispers(this); } } - diff --git a/Mage.Sets/src/mage/cards/l/LightningStorm.java b/Mage.Sets/src/mage/cards/l/LightningStorm.java index 9c856fcada..c69e97fc88 100644 --- a/Mage.Sets/src/mage/cards/l/LightningStorm.java +++ b/Mage.Sets/src/mage/cards/l/LightningStorm.java @@ -57,7 +57,7 @@ import mage.target.common.TargetCreatureOrPlayer; public class LightningStorm extends CardImpl { public LightningStorm(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{R}{R}"); + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{R}{R}"); // Lightning Storm deals X damage to target creature or player, where X is 3 plus the number of charge counters on it. Effect effect = new DamageTargetEffect(new LightningStormCountCondition(CounterType.CHARGE)); @@ -67,7 +67,7 @@ public class LightningStorm extends CardImpl { // Discard a land card: Put two charge counters on Lightning Storm. You may choose a new target for it. Any player may activate this ability but only if Lightning Storm is on the stack. SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.STACK, new LightningStormAddCounterEffect(), - new DiscardTargetCost(new TargetCardInHand(new FilterLandCard()))); + new DiscardTargetCost(new TargetCardInHand(new FilterLandCard("a land card")))); ability.setMayActivate(TargetController.ANY); ability.addEffect(new InfoEffect("Any player may activate this ability but only if {this} is on the stack")); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/l/LookoutsDispersal.java b/Mage.Sets/src/mage/cards/l/LookoutsDispersal.java index 556e32d4fd..2aa8d97464 100644 --- a/Mage.Sets/src/mage/cards/l/LookoutsDispersal.java +++ b/Mage.Sets/src/mage/cards/l/LookoutsDispersal.java @@ -49,7 +49,7 @@ import mage.target.TargetSpell; */ public class LookoutsDispersal extends CardImpl { - private static final FilterControlledPermanent filter = new FilterControlledPermanent(); + private static final FilterControlledPermanent filter = new FilterControlledPermanent("a Pirate"); static { filter.add(new SubtypePredicate(SubType.PIRATE)); diff --git a/Mage.Sets/src/mage/cards/m/MakeshiftMunitions.java b/Mage.Sets/src/mage/cards/m/MakeshiftMunitions.java index ca6c60abd1..2be6c83d59 100644 --- a/Mage.Sets/src/mage/cards/m/MakeshiftMunitions.java +++ b/Mage.Sets/src/mage/cards/m/MakeshiftMunitions.java @@ -49,7 +49,7 @@ import mage.target.common.TargetCreatureOrPlayer; */ public class MakeshiftMunitions extends CardImpl { - private static final FilterControlledPermanent filter = new FilterControlledPermanent("artifact or creature you control"); + private static final FilterControlledPermanent filter = new FilterControlledPermanent("artifact or creature"); static { filter.add(Predicates.or( diff --git a/Mage.Sets/src/mage/cards/m/MaliciousAdvice.java b/Mage.Sets/src/mage/cards/m/MaliciousAdvice.java index a9d044d72e..05479e1007 100644 --- a/Mage.Sets/src/mage/cards/m/MaliciousAdvice.java +++ b/Mage.Sets/src/mage/cards/m/MaliciousAdvice.java @@ -59,18 +59,18 @@ public class MaliciousAdvice extends CardImpl { } public MaliciousAdvice(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{X}{U}{B}"); + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{X}{U}{B}"); // Tap X target artifacts, creatures, and/or lands. You lose X life. Effect effect = new TapTargetEffect(); - effect.setText("Tap X target artifacts, creatures, and/or lands"); + effect.setText("X target artifacts, creatures, and/or lands"); this.getSpellAbility().addEffect(effect); this.getSpellAbility().addEffect(new LoseLifeSourceControllerEffect(new ManacostVariableValue())); } @Override public void adjustTargets(Ability ability, Game game) { - if(ability instanceof SpellAbility) { + if (ability instanceof SpellAbility) { ability.getTargets().clear(); ability.addTarget(new TargetPermanent(ability.getManaCostsToPay().getX(), filter)); } diff --git a/Mage.Sets/src/mage/cards/m/MaraudingLooter.java b/Mage.Sets/src/mage/cards/m/MaraudingLooter.java index c87a6297a6..609f05cdab 100644 --- a/Mage.Sets/src/mage/cards/m/MaraudingLooter.java +++ b/Mage.Sets/src/mage/cards/m/MaraudingLooter.java @@ -61,7 +61,7 @@ public class MaraudingLooter extends CardImpl { RaidCondition.instance, "Raid — At the beginning of your end step, " + "if you attacked with a creature this turn, " - + "you may draw a card. If you do, discard a card"); + + "you may draw a card. If you do, discard a card."); this.addAbility(ability, new PlayerAttackedWatcher()); } diff --git a/Mage.Sets/src/mage/cards/m/MarchOfTheDrowned.java b/Mage.Sets/src/mage/cards/m/MarchOfTheDrowned.java index 393917cb02..cd3f5d8513 100644 --- a/Mage.Sets/src/mage/cards/m/MarchOfTheDrowned.java +++ b/Mage.Sets/src/mage/cards/m/MarchOfTheDrowned.java @@ -30,7 +30,6 @@ package mage.cards.m; import java.util.UUID; import mage.abilities.Mode; import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; -import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; @@ -57,7 +56,7 @@ public class MarchOfTheDrowned extends CardImpl { // Choose one — // • Return target creature card from your graveyard to your hand. - this.getSpellAbility().addEffect(new ReturnToHandTargetEffect()); + this.getSpellAbility().addEffect(new ReturnFromGraveyardToHandTargetEffect()); this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(new FilterCreatureCard("creature card from your graveyard"))); // • Return two target Pirate cards from your graveyard to your hand. Mode mode = new Mode(); diff --git a/Mage.Sets/src/mage/cards/m/MercurialKite.java b/Mage.Sets/src/mage/cards/m/MercurialKite.java index b20f7107ec..c359ce3197 100644 --- a/Mage.Sets/src/mage/cards/m/MercurialKite.java +++ b/Mage.Sets/src/mage/cards/m/MercurialKite.java @@ -46,7 +46,7 @@ import mage.constants.SubType; public class MercurialKite extends CardImpl { public MercurialKite(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}"); this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(2); @@ -56,7 +56,7 @@ public class MercurialKite extends CardImpl { // Whenever Mercurial Kite deals combat damage to a creature, tap that creature. That creature doesn't untap during its controller's next untap step. Ability ability; ability = new DealsDamageToACreatureTriggeredAbility(new TapTargetEffect("that creature"), true, false, true); - ability.addEffect(new DontUntapInControllersNextUntapStepTargetEffect(". That creature")); + ability.addEffect(new DontUntapInControllersNextUntapStepTargetEffect("That creature")); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/m/MinotaurTactician.java b/Mage.Sets/src/mage/cards/m/MinotaurTactician.java index c3e1cfbbe5..b9203d8288 100644 --- a/Mage.Sets/src/mage/cards/m/MinotaurTactician.java +++ b/Mage.Sets/src/mage/cards/m/MinotaurTactician.java @@ -61,9 +61,9 @@ public class MinotaurTactician extends CardImpl { filterBlue.add(new ColorPredicate(ObjectColor.BLUE)); } - static final private String ruleWhite = "{this} gets +1/+1 as long as you control another white creature"; + static final private String ruleWhite = "{this} gets +1/+1 as long as you control a white creature"; - static final private String ruleBlue = "{this} gets +1/+1 as long as you control another blue creature"; + static final private String ruleBlue = "{this} gets +1/+1 as long as you control a blue creature"; public MinotaurTactician(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianEtchings.java b/Mage.Sets/src/mage/cards/p/PhyrexianEtchings.java index bbf7e70191..7c1aa54950 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianEtchings.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianEtchings.java @@ -58,7 +58,7 @@ public class PhyrexianEtchings extends CardImpl { // When Phyrexian Etchings is put into a graveyard from the battlefield, you lose 2 life for each age counter on it. this.addAbility(new PutIntoGraveFromBattlefieldSourceTriggeredAbility(new LoseLifeSourceControllerEffect(new MultipliedValue(new CountersSourceCount(CounterType.AGE), 2)) - .setText("When {this} is put into a graveyard from the battlefield, you lose 2 life for each age counter on it") + .setText("you lose 2 life for each age counter on it") )); } diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianTyranny.java b/Mage.Sets/src/mage/cards/p/PhyrexianTyranny.java index 92d11254b4..4816a99a9e 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianTyranny.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianTyranny.java @@ -100,7 +100,7 @@ class PhyrexianTyrannyTriggeredAbility extends TriggeredAbilityImpl { @Override public String getRule() { - return "Whenever a player draws a card, that player loses 2 life unless he or she pays {2}"; + return "Whenever a player draws a card, that player loses 2 life unless he or she pays {2}."; } } diff --git a/Mage.Sets/src/mage/cards/p/PriestOfTheWakeningSun.java b/Mage.Sets/src/mage/cards/p/PriestOfTheWakeningSun.java index 7e40ff5721..6abcebba75 100644 --- a/Mage.Sets/src/mage/cards/p/PriestOfTheWakeningSun.java +++ b/Mage.Sets/src/mage/cards/p/PriestOfTheWakeningSun.java @@ -59,7 +59,7 @@ import mage.target.common.TargetCardInLibrary; */ public class PriestOfTheWakeningSun extends CardImpl { - private static final FilterCard filter = new FilterCard("a Dinosaur card"); + private static final FilterCard filter = new FilterCard("Dinosaur card"); static { filter.add(new SubtypePredicate(SubType.DINOSAUR)); diff --git a/Mage.Sets/src/mage/cards/r/RaidersWake.java b/Mage.Sets/src/mage/cards/r/RaidersWake.java index 8ac022dbdb..0cfd603bf1 100644 --- a/Mage.Sets/src/mage/cards/r/RaidersWake.java +++ b/Mage.Sets/src/mage/cards/r/RaidersWake.java @@ -58,7 +58,7 @@ public class RaidersWake extends CardImpl { // Raid — At the beginning of your end step, if you attacked with a creature this turn, target opponent discards a card. Ability ability = new ConditionalTriggeredAbility( new BeginningOfEndStepTriggeredAbility(new DiscardTargetEffect(1), TargetController.YOU, false), RaidCondition.instance, - "Raid - At the beginning of your end step, if you attacked with a creature this turn, target opponent discards a card"); + "Raid - At the beginning of your end step, if you attacked with a creature this turn, target opponent discards a card."); ability.addTarget(new TargetOpponent()); this.addAbility(ability, new PlayerAttackedWatcher()); } diff --git a/Mage.Sets/src/mage/cards/r/RavenGuildInitiate.java b/Mage.Sets/src/mage/cards/r/RavenGuildInitiate.java index 4e19cb2918..5269c61f26 100644 --- a/Mage.Sets/src/mage/cards/r/RavenGuildInitiate.java +++ b/Mage.Sets/src/mage/cards/r/RavenGuildInitiate.java @@ -45,7 +45,7 @@ import mage.target.common.TargetControlledPermanent; */ public class RavenGuildInitiate extends CardImpl { - private static final FilterControlledPermanent filter = new FilterControlledPermanent("a Bird you control"); + private static final FilterControlledPermanent filter = new FilterControlledPermanent("a Bird"); static { filter.add(new SubtypePredicate(SubType.BIRD)); diff --git a/Mage.Sets/src/mage/cards/r/RazingSnidd.java b/Mage.Sets/src/mage/cards/r/RazingSnidd.java index f0aff98ea6..6e66ea6cc6 100644 --- a/Mage.Sets/src/mage/cards/r/RazingSnidd.java +++ b/Mage.Sets/src/mage/cards/r/RazingSnidd.java @@ -45,7 +45,7 @@ import mage.filter.predicate.mageobject.ColorPredicate; /** * * @author LoneFox - + * */ public class RazingSnidd extends CardImpl { @@ -56,7 +56,7 @@ public class RazingSnidd extends CardImpl { } public RazingSnidd(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{R}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}{R}"); this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(3); @@ -64,7 +64,7 @@ public class RazingSnidd extends CardImpl { // When Razing Snidd enters the battlefield, return a black or red creature you control to its owner's hand. this.addAbility(new EntersBattlefieldTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter), false)); // When Razing Snidd enters the battlefield, each player sacrifices a land. - this.addAbility(new EntersBattlefieldTriggeredAbility(new SacrificeAllEffect(1, new FilterControlledLandPermanent("a land")), false)); + this.addAbility(new EntersBattlefieldTriggeredAbility(new SacrificeAllEffect(1, new FilterControlledLandPermanent("land")), false)); } public RazingSnidd(final RazingSnidd card) { diff --git a/Mage.Sets/src/mage/cards/r/RegisaurAlpha.java b/Mage.Sets/src/mage/cards/r/RegisaurAlpha.java index e73c5e301f..fb603c77eb 100644 --- a/Mage.Sets/src/mage/cards/r/RegisaurAlpha.java +++ b/Mage.Sets/src/mage/cards/r/RegisaurAlpha.java @@ -52,7 +52,7 @@ import mage.game.permanent.token.DinosaurToken; */ public class RegisaurAlpha extends CardImpl { - private static final FilterPermanent filter = new FilterPermanent("other Dinosaurss you control"); + private static final FilterPermanent filter = new FilterPermanent("Dinosaurs"); static { filter.add(new SubtypePredicate(SubType.DINOSAUR)); diff --git a/Mage.Sets/src/mage/cards/r/RevelInRiches.java b/Mage.Sets/src/mage/cards/r/RevelInRiches.java index 2fde790bda..3e757cb225 100644 --- a/Mage.Sets/src/mage/cards/r/RevelInRiches.java +++ b/Mage.Sets/src/mage/cards/r/RevelInRiches.java @@ -53,7 +53,7 @@ import mage.game.permanent.token.TreasureToken; */ public class RevelInRiches extends CardImpl { - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature an opponent controls"); + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("a creature an opponent controls"); private static final FilterPermanent filter2 = new FilterPermanent("Treasures"); static { diff --git a/Mage.Sets/src/mage/cards/r/RiggingRunner.java b/Mage.Sets/src/mage/cards/r/RiggingRunner.java index 9b6576fa95..b60adefa57 100644 --- a/Mage.Sets/src/mage/cards/r/RiggingRunner.java +++ b/Mage.Sets/src/mage/cards/r/RiggingRunner.java @@ -60,7 +60,7 @@ public class RiggingRunner extends CardImpl { // Raid — Rigging Runner enters the battlefield with a +1/+1 counter on it if you attacked with a creature this turn. this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1), false), RaidCondition.instance, - "Raid — {this} enters the battlefield with a +1/+1 counter on it if you attacked with a creature this turn", + "Raid — {this} enters the battlefield with a +1/+1 counter on it if you attacked with a creature this turn.", "{this} enters the battlefield with a +1/+1 counter"), new PlayerAttackedWatcher()); } diff --git a/Mage.Sets/src/mage/cards/r/RimefeatherOwl.java b/Mage.Sets/src/mage/cards/r/RimefeatherOwl.java index 2b6e660201..0ffb468b39 100644 --- a/Mage.Sets/src/mage/cards/r/RimefeatherOwl.java +++ b/Mage.Sets/src/mage/cards/r/RimefeatherOwl.java @@ -87,7 +87,12 @@ public class RimefeatherOwl extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetPowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter2), Duration.EndOfGame))); // {1}{snow}: Put an ice counter on target permanent. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.ICE.createInstance()), new ManaCostsImpl("{1}{S}")); + Ability ability = new SimpleActivatedAbility( + Zone.BATTLEFIELD, + new AddCountersTargetEffect(CounterType.ICE.createInstance()) + .setText("Put an ice counter on target permanent."), + new ManaCostsImpl("{1}{S}") + ); ability.addTarget(new TargetPermanent()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/r/RuthlessKnave.java b/Mage.Sets/src/mage/cards/r/RuthlessKnave.java index c78724c8d2..96f7b85fda 100644 --- a/Mage.Sets/src/mage/cards/r/RuthlessKnave.java +++ b/Mage.Sets/src/mage/cards/r/RuthlessKnave.java @@ -53,7 +53,7 @@ import mage.target.common.TargetControlledPermanent; */ public class RuthlessKnave extends CardImpl { - private static final FilterControlledPermanent filter = new FilterControlledPermanent("three three Treasures"); + private static final FilterControlledPermanent filter = new FilterControlledPermanent("three Treasures"); static { filter.add(new SubtypePredicate(SubType.TREASURE)); diff --git a/Mage.Sets/src/mage/cards/s/SamitePilgrim.java b/Mage.Sets/src/mage/cards/s/SamitePilgrim.java index ab148f89a2..8aa8e03e3f 100644 --- a/Mage.Sets/src/mage/cards/s/SamitePilgrim.java +++ b/Mage.Sets/src/mage/cards/s/SamitePilgrim.java @@ -48,7 +48,7 @@ import mage.target.common.TargetCreaturePermanent; public class SamitePilgrim extends CardImpl { public SamitePilgrim(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); @@ -57,6 +57,7 @@ public class SamitePilgrim extends CardImpl { // Domain - {T}: Prevent the next X damage that would be dealt to target creature this turn, where X is the number of basic land types among lands you control. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SamitePilgrimPreventDamageToTargetEffect(), new TapSourceCost()); ability.addTarget(new TargetCreaturePermanent()); + ability.setAbilityWord(AbilityWord.DOMAIN); this.addAbility(ability); } @@ -72,7 +73,6 @@ public class SamitePilgrim extends CardImpl { class SamitePilgrimPreventDamageToTargetEffect extends PreventionEffectImpl { - public SamitePilgrimPreventDamageToTargetEffect() { super(Duration.EndOfTurn, Integer.MAX_VALUE, false, true); staticText = "Prevent the next X damage that would be dealt to target creature this turn, where X is the number of basic land types among lands you control."; diff --git a/Mage.Sets/src/mage/cards/s/SanctumSeeker.java b/Mage.Sets/src/mage/cards/s/SanctumSeeker.java index ec8e8d81f6..cc1f8076e9 100644 --- a/Mage.Sets/src/mage/cards/s/SanctumSeeker.java +++ b/Mage.Sets/src/mage/cards/s/SanctumSeeker.java @@ -47,7 +47,7 @@ import mage.filter.predicate.mageobject.SubtypePredicate; */ public class SanctumSeeker extends CardImpl { - private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("a Vampire you control attacks"); + private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("Vampire you control"); static { filter.add(new SubtypePredicate(SubType.VAMPIRE)); diff --git a/Mage.Sets/src/mage/cards/s/ShipwreckLooter.java b/Mage.Sets/src/mage/cards/s/ShipwreckLooter.java index 0a8d7e92a7..dc6f2eb24b 100644 --- a/Mage.Sets/src/mage/cards/s/ShipwreckLooter.java +++ b/Mage.Sets/src/mage/cards/s/ShipwreckLooter.java @@ -58,7 +58,7 @@ public class ShipwreckLooter extends CardImpl { Ability ability = new ConditionalTriggeredAbility( new EntersBattlefieldTriggeredAbility(new DrawDiscardControllerEffect(1, 1, true)), RaidCondition.instance, - "Raid - When {this} enters the battlefield,if you attacked with a creature this turn, you may draw a card. If you do, discard a card."); + "Raid - When {this} enters the battlefield, if you attacked with a creature this turn, you may draw a card. If you do, discard a card."); this.addAbility(ability, new PlayerAttackedWatcher()); } diff --git a/Mage.Sets/src/mage/cards/s/SirensRuse.java b/Mage.Sets/src/mage/cards/s/SirensRuse.java index 58ec90f304..f9a040d090 100644 --- a/Mage.Sets/src/mage/cards/s/SirensRuse.java +++ b/Mage.Sets/src/mage/cards/s/SirensRuse.java @@ -69,7 +69,7 @@ class SirensRuseEffect extends ExileTargetForSourceEffect { SirensRuseEffect() { super(); - this.staticText = "Exile target creature you control, then return that card to the battlefield under its owner's control. If a Pirate was exiled this way, draw a card."; + this.staticText = "Exile target creature you control, then return that card to the battlefield under its owner's control. If a Pirate was exiled this way, draw a card."; } SirensRuseEffect(final SirensRuseEffect effect) { diff --git a/Mage.Sets/src/mage/cards/s/SkyshipWeatherlight.java b/Mage.Sets/src/mage/cards/s/SkyshipWeatherlight.java index 53dd9426f8..6ee53ae9fd 100644 --- a/Mage.Sets/src/mage/cards/s/SkyshipWeatherlight.java +++ b/Mage.Sets/src/mage/cards/s/SkyshipWeatherlight.java @@ -37,7 +37,7 @@ import mage.util.CardUtil; public class SkyshipWeatherlight extends CardImpl { public SkyshipWeatherlight(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}"); addSuperType(SuperType.LEGENDARY); // When Skyship Weatherlight enters the battlefield, search your library for any number of artifact and/or creature cards and exile them. Then shuffle your library. @@ -73,7 +73,7 @@ class SkyshipWeatherlightEffect extends SearchEffect { public SkyshipWeatherlightEffect() { super(new TargetCardInLibrary(0, Integer.MAX_VALUE, filter), Outcome.Neutral); - this.staticText = "search your library for any number of artifact and/or creature cards and remove them from the game. Then shuffle your library"; + this.staticText = "search your library for any number of artifact and/or creature cards and exile them. Then shuffle your library"; } @@ -114,7 +114,7 @@ class SkyshipWeatherlightEffect2 extends OneShotEffect { public SkyshipWeatherlightEffect2() { super(Outcome.ReturnToHand); - this.staticText = "Choose a card at random that was removed from the game with {this}. Put that card into your hand"; + this.staticText = "Choose a card at random that was exiled with {this}. Put that card into its owner's hand"; } public SkyshipWeatherlightEffect2(final SkyshipWeatherlightEffect2 effect) { diff --git a/Mage.Sets/src/mage/cards/s/SnappingSailback.java b/Mage.Sets/src/mage/cards/s/SnappingSailback.java index 7a7d1468d6..2fc3f7f494 100644 --- a/Mage.Sets/src/mage/cards/s/SnappingSailback.java +++ b/Mage.Sets/src/mage/cards/s/SnappingSailback.java @@ -58,7 +58,7 @@ public class SnappingSailback extends CardImpl { // Enrage — Whenever Snapping Sailback is dealt damage, put a +1/+1 counter on it. this.addAbility(new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)) - .setText("put a +1/+1 counter on it"), false)); + .setText("put a +1/+1 counter on it"), false, true)); } public SnappingSailback(final SnappingSailback card) { diff --git a/Mage.Sets/src/mage/cards/s/SpellSwindle.java b/Mage.Sets/src/mage/cards/s/SpellSwindle.java index 6745cc8009..ff0a1baae8 100644 --- a/Mage.Sets/src/mage/cards/s/SpellSwindle.java +++ b/Mage.Sets/src/mage/cards/s/SpellSwindle.java @@ -69,7 +69,7 @@ class SpellSwindleEffect extends OneShotEffect { public SpellSwindleEffect() { super(Outcome.Detriment); staticText = "Counter target spell. Create X colorless Treasure artifact tokens, where X is that spell's converted mana cost. " - + "They have \"{T}, Sacrifice this artifact: Add one mana of any color to your mana pool"; + + "They have \"{T}, Sacrifice this artifact: Add one mana of any color to your mana pool\""; } public SpellSwindleEffect(final SpellSwindleEffect effect) { diff --git a/Mage.Sets/src/mage/cards/s/StarOfExtinction.java b/Mage.Sets/src/mage/cards/s/StarOfExtinction.java index 1fdb4a3469..15e6c31a9a 100644 --- a/Mage.Sets/src/mage/cards/s/StarOfExtinction.java +++ b/Mage.Sets/src/mage/cards/s/StarOfExtinction.java @@ -47,7 +47,7 @@ public class StarOfExtinction extends CardImpl { // Destroy target land. Star of Extinction deals 20 damage to each creature and each planeswalker. this.getSpellAbility().addEffect(new DestroyTargetEffect()); - this.getSpellAbility().addEffect(new DamageAllEffect(20, new FilterCreatureOrPlaneswalkerPermanent("each creature and each planeswalker"))); + this.getSpellAbility().addEffect(new DamageAllEffect(20, new FilterCreatureOrPlaneswalkerPermanent("creature and each planeswalker"))); this.getSpellAbility().addTarget(new TargetLandPermanent()); } diff --git a/Mage.Sets/src/mage/cards/s/SunbirdsInvocation.java b/Mage.Sets/src/mage/cards/s/SunbirdsInvocation.java index 0b934660f8..815955a089 100644 --- a/Mage.Sets/src/mage/cards/s/SunbirdsInvocation.java +++ b/Mage.Sets/src/mage/cards/s/SunbirdsInvocation.java @@ -105,6 +105,16 @@ class SunbirdsInvocationTriggeredAbility extends SpellCastControllerTriggeredAbi public SunbirdsInvocationTriggeredAbility copy() { return new SunbirdsInvocationTriggeredAbility(this); } + + @Override + public String getRule() { + return "Whenever you cast a spell from your hand, " + + "reveal the top X cards of your library, " + + "where X is that spell's converted mana cost. " + + "You may cast a card revealed this way with " + + "converted mana cost X or less without paying its mana cost." + + " Put the rest on the bottom of your library in a random order."; + } } class SunbirdsInvocationEffect extends OneShotEffect { diff --git a/Mage.Sets/src/mage/cards/s/Sunscour.java b/Mage.Sets/src/mage/cards/s/Sunscour.java index 7649c08e97..aca679b76b 100644 --- a/Mage.Sets/src/mage/cards/s/Sunscour.java +++ b/Mage.Sets/src/mage/cards/s/Sunscour.java @@ -36,7 +36,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.filter.FilterCard; -import mage.filter.common.FilterCreaturePermanent; +import mage.filter.StaticFilters; import mage.filter.predicate.mageobject.ColorPredicate; import mage.target.common.TargetCardInHand; @@ -47,18 +47,19 @@ import mage.target.common.TargetCardInHand; public class Sunscour extends CardImpl { private static final FilterCard filter = new FilterCard("two white cards"); + static { filter.add(new ColorPredicate(ObjectColor.WHITE)); } public Sunscour(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{5}{W}{W}"); + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{5}{W}{W}"); // You may exile two white cards from your hand rather than pay Sunscour's mana cost. this.addAbility(new AlternativeCostSourceAbility(new ExileFromHandCost(new TargetCardInHand(2, filter)))); // Destroy all creatures. - this.getSpellAbility().addEffect(new DestroyAllEffect(new FilterCreaturePermanent())); + this.getSpellAbility().addEffect(new DestroyAllEffect(StaticFilters.FILTER_PERMANENT_CREATURES)); } public Sunscour(final Sunscour card) { diff --git a/Mage.Sets/src/mage/cards/s/SurgingAether.java b/Mage.Sets/src/mage/cards/s/SurgingAether.java index 1db14c65ce..ccb530ace5 100644 --- a/Mage.Sets/src/mage/cards/s/SurgingAether.java +++ b/Mage.Sets/src/mage/cards/s/SurgingAether.java @@ -44,12 +44,12 @@ public class SurgingAether extends CardImpl { public SurgingAether(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{U}"); + // Ripple 4 + this.addAbility(new RippleAbility(4)); + // Return target permanent to its owner's hand. this.getSpellAbility().addEffect(new ReturnToHandTargetEffect()); this.getSpellAbility().addTarget(new TargetPermanent()); - - // Ripple 4 - this.addAbility(new RippleAbility(4)); } public SurgingAether(final SurgingAether card) { diff --git a/Mage.Sets/src/mage/cards/t/TempestCaller.java b/Mage.Sets/src/mage/cards/t/TempestCaller.java index 94ee292caa..7910dfa185 100644 --- a/Mage.Sets/src/mage/cards/t/TempestCaller.java +++ b/Mage.Sets/src/mage/cards/t/TempestCaller.java @@ -54,7 +54,7 @@ public class TempestCaller extends CardImpl { this.toughness = new MageInt(3); // When Tempest Caller enters the battlefield, tap all creatures target opponent controls. - Ability ability = new EntersBattlefieldTriggeredAbility(new TapAllTargetPlayerControlsEffect(new FilterCreaturePermanent("creatures target opponent controls"))); + Ability ability = new EntersBattlefieldTriggeredAbility(new TapAllTargetPlayerControlsEffect(new FilterCreaturePermanent("creatures"))); ability.addTarget(new TargetOpponent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/u/UrzasGuilt.java b/Mage.Sets/src/mage/cards/u/UrzasGuilt.java index 76400716c3..a3224df09e 100644 --- a/Mage.Sets/src/mage/cards/u/UrzasGuilt.java +++ b/Mage.Sets/src/mage/cards/u/UrzasGuilt.java @@ -43,13 +43,12 @@ import mage.constants.CardType; public class UrzasGuilt extends CardImpl { public UrzasGuilt(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{2}{U}{B}"); - + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{U}{B}"); // Each player draws two cards, then discards three cards, then loses 4 life. this.getSpellAbility().addEffect(new DrawCardAllEffect(2)); Effect effect = new DiscardEachPlayerEffect(3, false); - effect.setText("then discards three cards"); + effect.setText("then discards three cards,"); this.getSpellAbility().addEffect(effect); effect = new LoseLifeAllPlayersEffect(4); effect.setText("then loses 4 life"); diff --git a/Mage.Sets/src/mage/cards/v/VanquishersBanner.java b/Mage.Sets/src/mage/cards/v/VanquishersBanner.java index 105e7c99ff..58af23ab79 100644 --- a/Mage.Sets/src/mage/cards/v/VanquishersBanner.java +++ b/Mage.Sets/src/mage/cards/v/VanquishersBanner.java @@ -128,6 +128,6 @@ class DrawCardIfCreatureTypeAbility extends TriggeredAbilityImpl { @Override public String getRule() { - return "Whenever you cast a creature spell of the chosen type, draw a card"; + return "Whenever you cast a creature spell of the chosen type, draw a card."; } } diff --git a/Mage.Sets/src/mage/cards/v/VeldraneOfSengir.java b/Mage.Sets/src/mage/cards/v/VeldraneOfSengir.java index 056e7011d6..f50e6011d4 100644 --- a/Mage.Sets/src/mage/cards/v/VeldraneOfSengir.java +++ b/Mage.Sets/src/mage/cards/v/VeldraneOfSengir.java @@ -50,7 +50,7 @@ import mage.constants.Zone; public class VeldraneOfSengir extends CardImpl { public VeldraneOfSengir(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}{B}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{B}{B}"); addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.ROGUE); @@ -58,8 +58,8 @@ public class VeldraneOfSengir extends CardImpl { this.toughness = new MageInt(5); // {1}{B}{B}: Veldrane of Sengir gets -3/-0 and gains forestwalk until end of turn. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(-3, -0, Duration.EndOfTurn), new ManaCostsImpl("{1}{B}{B}")); - ability.addEffect(new GainAbilitySourceEffect(new ForestwalkAbility(false), Duration.EndOfTurn)); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(-3, -0, Duration.EndOfTurn).setText("{this} gets -3/-0"), new ManaCostsImpl("{1}{B}{B}")); + ability.addEffect(new GainAbilitySourceEffect(new ForestwalkAbility(false), Duration.EndOfTurn).setText("and gains forestwalk until end of turn")); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/v/VerdantSunsAvatar.java b/Mage.Sets/src/mage/cards/v/VerdantSunsAvatar.java index 7a75f45fd1..c930ee1887 100644 --- a/Mage.Sets/src/mage/cards/v/VerdantSunsAvatar.java +++ b/Mage.Sets/src/mage/cards/v/VerdantSunsAvatar.java @@ -59,7 +59,7 @@ public class VerdantSunsAvatar extends CardImpl { this.power = new MageInt(5); this.toughness = new MageInt(5); - // When Verdant Sun's Avatar or another creature enters the battlefield under your control, you gain life equal to that creature's toughness. + // Whenever Verdant Sun's Avatar or another creature enters the battlefield under your control, you gain life equal to that creature's toughness. this.addAbility(new VerdantSunsAvatarTriggeredAbility()); } @@ -104,7 +104,7 @@ class VerdantSunsAvatarTriggeredAbility extends TriggeredAbilityImpl { @Override public String getRule() { - return "When {this} or another creature enters the battlefield under your control, " + super.getRule(); + return "Whenever {this} or another creature enters the battlefield under your control, " + super.getRule(); } @Override diff --git a/Mage.Sets/src/mage/cards/v/VraskaRelicSeeker.java b/Mage.Sets/src/mage/cards/v/VraskaRelicSeeker.java index 4795a2c12f..0ca53b9549 100644 --- a/Mage.Sets/src/mage/cards/v/VraskaRelicSeeker.java +++ b/Mage.Sets/src/mage/cards/v/VraskaRelicSeeker.java @@ -90,7 +90,7 @@ class VraskaRelicSeekerDestroyEffect extends OneShotEffect { VraskaRelicSeekerDestroyEffect() { super(Outcome.Benefit); - this.staticText = "Destroy target artifact, creature, or enchantment. Create a colorless Treasure artifact token with \"{T}, Sacrfice this artifact. Add one mana of any color to your mana pool.\""; + this.staticText = "Destroy target artifact, creature, or enchantment. Create a colorless Treasure artifact token with \"{T}, Sacrifice this artifact. Add one mana of any color to your mana pool.\""; } VraskaRelicSeekerDestroyEffect(final VraskaRelicSeekerDestroyEffect effect) { diff --git a/Mage.Sets/src/mage/cards/w/WakerOfTheWilds.java b/Mage.Sets/src/mage/cards/w/WakerOfTheWilds.java index f9cbcd3f23..ab1ff75772 100644 --- a/Mage.Sets/src/mage/cards/w/WakerOfTheWilds.java +++ b/Mage.Sets/src/mage/cards/w/WakerOfTheWilds.java @@ -62,8 +62,14 @@ public class WakerOfTheWilds extends CardImpl { this.toughness = new MageInt(3); // {X}{G}{G}: Put X +1/+1 counters on target land you control. That land becomes a 0/0 Elemental creature with haste that's still a land. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, - new AddCountersTargetEffect(CounterType.P1P1.createInstance(0), new ManacostVariableValue()), new ManaCostsImpl("{X}{G}{G}")); + Ability ability = new SimpleActivatedAbility( + Zone.BATTLEFIELD, + new AddCountersTargetEffect( + CounterType.P1P1.createInstance(0), + new ManacostVariableValue() + ).setText("Put X +1/+1 counters on target land you control."), + new ManaCostsImpl("{X}{G}{G}") + ); Effect effect = new BecomesCreatureTargetEffect(new WallOfResurgenceToken(), false, true, Duration.Custom); effect.setText("That land becomes a 0/0 Elemental creature with haste. It's still a land"); ability.addEffect(effect); diff --git a/Mage.Sets/src/mage/cards/w/WaterspoutElemental.java b/Mage.Sets/src/mage/cards/w/WaterspoutElemental.java index 2317a14d4e..f8abdd8272 100644 --- a/Mage.Sets/src/mage/cards/w/WaterspoutElemental.java +++ b/Mage.Sets/src/mage/cards/w/WaterspoutElemental.java @@ -69,7 +69,7 @@ public class WaterspoutElemental extends CardImpl { EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandFromBattlefieldAllEffect(filter)); ability.addEffect(new SkipNextTurnSourceEffect()); this.addAbility(new ConditionalTriggeredAbility(ability, KickedCondition.instance, - "When {this} enters the battlefield, if it was kicked, return all other creatures to their owners' hands and you skip your next turn")); + "When {this} enters the battlefield, if it was kicked, return all other creatures to their owners' hands and you skip your next turn.")); } public WaterspoutElemental(final WaterspoutElemental card) { diff --git a/Mage/src/main/java/mage/abilities/common/CantBlockAbility.java b/Mage/src/main/java/mage/abilities/common/CantBlockAbility.java index 0e00876367..409af297ef 100644 --- a/Mage/src/main/java/mage/abilities/common/CantBlockAbility.java +++ b/Mage/src/main/java/mage/abilities/common/CantBlockAbility.java @@ -47,7 +47,7 @@ public class CantBlockAbility extends SimpleStaticAbility { @Override public String getRule() { - return "{this} can't block"; + return "{this} can't block."; } @Override diff --git a/Mage/src/main/java/mage/abilities/condition/common/RaidCondition.java b/Mage/src/main/java/mage/abilities/condition/common/RaidCondition.java index 72856c0629..f71ad50471 100644 --- a/Mage/src/main/java/mage/abilities/condition/common/RaidCondition.java +++ b/Mage/src/main/java/mage/abilities/condition/common/RaidCondition.java @@ -25,7 +25,6 @@ * authors and should not be interpreted as representing official policies, either expressed * or implied, of BetaSteward_at_googlemail.com. */ - package mage.abilities.condition.common; import mage.abilities.Ability; @@ -45,4 +44,8 @@ public enum RaidCondition implements Condition { PlayerAttackedWatcher watcher = (PlayerAttackedWatcher) game.getState().getWatchers().get(PlayerAttackedWatcher.class.getSimpleName()); return watcher != null && watcher.getNumberOfAttackersCurrentTurn(source.getControllerId()) > 0; } + + public String toString() { + return "if you attacked with a creature this turn"; + } } diff --git a/Mage/src/main/java/mage/abilities/effects/common/CantBeRegeneratedSourceEffect.java b/Mage/src/main/java/mage/abilities/effects/common/CantBeRegeneratedSourceEffect.java index ad1aca5584..f1b8a2238f 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/CantBeRegeneratedSourceEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/CantBeRegeneratedSourceEffect.java @@ -80,7 +80,6 @@ public class CantBeRegeneratedSourceEffect extends ContinuousRuleModifyingEffect StringBuilder sb = new StringBuilder(); sb.append("{this} can't be regenerated"); if (!duration.toString().isEmpty()) { - sb.append(' '); if (duration == Duration.EndOfTurn) { sb.append(" this turn"); } else { diff --git a/Mage/src/main/java/mage/abilities/effects/common/LookLibraryControllerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/LookLibraryControllerEffect.java index 4b53c47eaf..42bd8e092f 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/LookLibraryControllerEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/LookLibraryControllerEffect.java @@ -243,7 +243,7 @@ public class LookLibraryControllerEffect extends OneShotEffect { sb.append(" cards "); } - sb.append("of your Library"); + sb.append("of your library"); if (numberLook == 0) { sb.append(", where {X} is the number of cards ").append(numberOfCards.getMessage()); } diff --git a/Mage/src/main/java/mage/abilities/effects/common/PreventAllDamageByAllPermanentsEffect.java b/Mage/src/main/java/mage/abilities/effects/common/PreventAllDamageByAllPermanentsEffect.java index cee08029fb..13948eef4d 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/PreventAllDamageByAllPermanentsEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/PreventAllDamageByAllPermanentsEffect.java @@ -31,6 +31,7 @@ import mage.abilities.Ability; import mage.abilities.Mode; import mage.abilities.effects.PreventionEffectImpl; import mage.constants.Duration; +import static mage.constants.Duration.EndOfTurn; import mage.filter.FilterPermanent; import mage.filter.common.FilterCreaturePermanent; import mage.game.Game; @@ -98,10 +99,19 @@ public class PreventAllDamageByAllPermanentsEffect extends PreventionEffectImpl sb.append("combat "); } sb.append("damage "); - sb.append(duration.toString()); - if (filter != null) { - sb.append(" dealt by "); - sb.append(filter.getMessage()); + if (duration == EndOfTurn) { + if (filter != null) { + sb.append(filter.getMessage()); + sb.append(" would deal this turn"); + } else { + sb.append("that would be dealt this turn"); + } + } else { + sb.append(duration.toString()); + if (filter != null) { + sb.append(" dealt by "); + sb.append(filter.getMessage()); + } } return sb.toString(); } diff --git a/Mage/src/main/java/mage/abilities/effects/common/PreventDamageToSourceEffect.java b/Mage/src/main/java/mage/abilities/effects/common/PreventDamageToSourceEffect.java index e4a0e40806..c1f0ade074 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/PreventDamageToSourceEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/PreventDamageToSourceEffect.java @@ -31,6 +31,7 @@ import mage.abilities.Ability; import mage.abilities.Mode; import mage.abilities.effects.PreventionEffectImpl; import mage.constants.Duration; +import static mage.constants.Duration.EndOfTurn; import mage.game.Game; import mage.game.events.GameEvent; @@ -74,7 +75,12 @@ public class PreventDamageToSourceEffect extends PreventionEffectImpl { } else { sb.append("Prevent the next ").append(amountToPrevent).append(" damage that would be dealt to "); } - sb.append("{source} ").append(duration.toString()); + sb.append("{source} "); + if (duration == EndOfTurn) { + sb.append("this turn"); + } else { + sb.append(duration.toString()); + } return sb.toString(); } } diff --git a/Mage/src/main/java/mage/abilities/effects/common/TapAllTargetPlayerControlsEffect.java b/Mage/src/main/java/mage/abilities/effects/common/TapAllTargetPlayerControlsEffect.java index 0ad564a721..cca02db55a 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/TapAllTargetPlayerControlsEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/TapAllTargetPlayerControlsEffect.java @@ -25,7 +25,6 @@ * authors and should not be interpreted as representing official policies, either expressed * or implied, of BetaSteward_at_googlemail.com. */ - package mage.abilities.effects.common; import java.util.List; @@ -60,10 +59,10 @@ public class TapAllTargetPlayerControlsEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { Player player = game.getPlayer(targetPointer.getFirst(game, source)); - if(player != null) { + if (player != null) { filter.add(new ControllerIdPredicate(player.getId())); List permanents = game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getSourceId(), game); - for(Permanent p : permanents) { + for (Permanent p : permanents) { p.tap(game); } return true; @@ -78,9 +77,9 @@ public class TapAllTargetPlayerControlsEffect extends OneShotEffect { @Override public String getText(Mode mode) { - if(staticText != null && !staticText.isEmpty()) { + if (staticText != null && !staticText.isEmpty()) { return staticText; } - return "tap all " + filter.getMessage() + " target player controls"; + return "tap all " + filter.getMessage() + " target " + mode.getTargets().get(0).getMessage() + " controls"; } } diff --git a/Mage/src/main/java/mage/abilities/effects/common/combat/CantBlockAttachedEffect.java b/Mage/src/main/java/mage/abilities/effects/common/combat/CantBlockAttachedEffect.java index 76a23da819..1283cc5972 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/combat/CantBlockAttachedEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/combat/CantBlockAttachedEffect.java @@ -31,6 +31,7 @@ import mage.abilities.Ability; import mage.abilities.effects.RestrictionEffect; import mage.constants.AttachmentType; import mage.constants.Duration; +import static mage.constants.Duration.EndOfTurn; import mage.filter.common.FilterCreaturePermanent; import mage.game.Game; import mage.game.permanent.Permanent; @@ -61,7 +62,9 @@ public class CantBlockAttachedEffect extends RestrictionEffect { if (!filter.getMessage().equals("creature")) { sb.append(' ').append(filter.getMessage()); } - if (!duration.toString().isEmpty()) { + if (duration == EndOfTurn) { + sb.append("this turn"); + } else if (!duration.toString().isEmpty()) { sb.append(' ').append(duration.toString()); } staticText = sb.toString(); diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesChosenCreatureTypeTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesChosenCreatureTypeTargetEffect.java index d97d8f9ea9..dde5970a68 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesChosenCreatureTypeTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesChosenCreatureTypeTargetEffect.java @@ -26,7 +26,7 @@ public class BecomesChosenCreatureTypeTargetEffect extends OneShotEffect { super(Outcome.BoostCreature); this.nonWall = nonWall; if(nonWall) { - staticText = "choose a creature type other than wall. Target creature becomes that type until end of turn"; + staticText = "choose a creature type other than Wall. Target creature becomes that type until end of turn"; } else { staticText = "target creature becomes the creature type of your choice until end of turn"; diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesCreatureAllEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesCreatureAllEffect.java index f6f796c25f..d78d9a26ef 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesCreatureAllEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesCreatureAllEffect.java @@ -138,7 +138,6 @@ public class BecomesCreatureAllEffect extends ContinuousEffectImpl { if (duration.toString() != null && !duration.toString().isEmpty()) { sb.append(duration.toString()).append(", "); } - sb.append("all "); sb.append(filter.getMessage()); if (duration.toString() != null && duration.toString().isEmpty()) { sb.append(" are "); @@ -147,7 +146,7 @@ public class BecomesCreatureAllEffect extends ContinuousEffectImpl { } sb.append(token.getDescription()); if (type != null && !type.isEmpty()) { - sb.append(". They are still ").append(type); + sb.append(". They're still ").append(type); } return sb.toString(); } diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/GainAbilityControlledSpellsEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/GainAbilityControlledSpellsEffect.java index 59ea028475..4fb3d05810 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/continuous/GainAbilityControlledSpellsEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/GainAbilityControlledSpellsEffect.java @@ -53,7 +53,7 @@ public class GainAbilityControlledSpellsEffect extends ContinuousEffectImpl { super(Duration.WhileOnBattlefield, Layer.AbilityAddingRemovingEffects_6, SubLayer.NA, Outcome.AddAbility); this.ability = ability; this.filter = filter; - staticText = filter.getMessage() + " you cast have " + ability.getRule(); + staticText = filter.getMessage() + " you cast have " + ability.getRule() + '.'; } public GainAbilityControlledSpellsEffect(final GainAbilityControlledSpellsEffect effect) { diff --git a/Mage/src/main/java/mage/abilities/effects/common/counter/AddCountersAllEffect.java b/Mage/src/main/java/mage/abilities/effects/common/counter/AddCountersAllEffect.java index 3bc9ba0e98..b896c2b950 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/counter/AddCountersAllEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/counter/AddCountersAllEffect.java @@ -36,6 +36,7 @@ import mage.filter.FilterPermanent; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; +import mage.util.CardUtil; /** * @@ -82,7 +83,7 @@ public class AddCountersAllEffect extends OneShotEffect { StringBuilder sb = new StringBuilder(); sb.append("put "); if (counter.getCount() > 1) { - sb.append(Integer.toString(counter.getCount())).append(' ').append(counter.getName().toLowerCase()).append(" counters on each "); + sb.append(CardUtil.numberToText(counter.getCount(), "a")).append(' ').append(counter.getName().toLowerCase()).append(" counters on each "); } else { sb.append("a ").append(counter.getName().toLowerCase()).append(" counter on each "); } diff --git a/Mage/src/main/java/mage/abilities/effects/common/search/SearchLibraryGraveyardPutInHandEffect.java b/Mage/src/main/java/mage/abilities/effects/common/search/SearchLibraryGraveyardPutInHandEffect.java index f540608e80..137a384bf1 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/search/SearchLibraryGraveyardPutInHandEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/search/SearchLibraryGraveyardPutInHandEffect.java @@ -57,7 +57,7 @@ public class SearchLibraryGraveyardPutInHandEffect extends OneShotEffect { super(Outcome.Benefit); this.filter = filter; this.forceToSearchBoth = forceToSearchBoth; - staticText = "search your library and" + (forceToSearchBoth ? "" : "/or ") + " graveyard for a card named " + filter.getMessage() + staticText = "search your library and" + (forceToSearchBoth ? "" : "/or") + " graveyard for a card named " + filter.getMessage() + ", reveal it, and put it into your hand. " + (forceToSearchBoth ? "Then shuffle your library" : "If you search your library this way, shuffle it"); } diff --git a/Mage/src/main/java/mage/abilities/keyword/DeathtouchAbility.java b/Mage/src/main/java/mage/abilities/keyword/DeathtouchAbility.java index 514a4e3370..b746561a41 100644 --- a/Mage/src/main/java/mage/abilities/keyword/DeathtouchAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/DeathtouchAbility.java @@ -25,7 +25,6 @@ * authors and should not be interpreted as representing official policies, either expressed * or implied, of BetaSteward_at_googlemail.com. */ - package mage.abilities.keyword; import mage.constants.Zone; @@ -40,7 +39,7 @@ import java.io.ObjectStreamException; */ public class DeathtouchAbility extends StaticAbility implements MageSingleton { - private static final DeathtouchAbility instance = new DeathtouchAbility(); + private static final DeathtouchAbility instance = new DeathtouchAbility(); private Object readResolve() throws ObjectStreamException { return instance; @@ -56,7 +55,7 @@ public class DeathtouchAbility extends StaticAbility implements MageSingleton { @Override public String getRule() { - return "Deathtouch (Any amount of damage this deals to a creature is enough to destroy it.)"; + return "deathtouch"; } @Override @@ -64,6 +63,4 @@ public class DeathtouchAbility extends StaticAbility implements MageSingleton { return instance; } - - } diff --git a/Mage/src/main/java/mage/abilities/keyword/FearAbility.java b/Mage/src/main/java/mage/abilities/keyword/FearAbility.java index e730552c9d..939b05cfab 100644 --- a/Mage/src/main/java/mage/abilities/keyword/FearAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/FearAbility.java @@ -24,11 +24,9 @@ * The views and conclusions contained in the software and documentation are those of the * authors and should not be interpreted as representing official policies, either expressed * or implied, of BetaSteward_at_googlemail.com. -*/ - + */ package mage.abilities.keyword; -import mage.constants.CardType; import mage.constants.Duration; import mage.abilities.Ability; import mage.abilities.EvasionAbility; @@ -45,7 +43,7 @@ import java.io.ObjectStreamException; */ public class FearAbility extends EvasionAbility implements MageSingleton { - private static final FearAbility instance = new FearAbility(); + private static final FearAbility instance = new FearAbility(); private Object readResolve() throws ObjectStreamException { return instance; @@ -61,7 +59,7 @@ public class FearAbility extends EvasionAbility implements MageSingleton { @Override public String getRule() { - return "Fear"; + return "fear"; } @Override @@ -102,4 +100,4 @@ class FearEffect extends RestrictionEffect implements MageSingleton { return new FearEffect(this); } -} \ No newline at end of file +} diff --git a/Mage/src/main/java/mage/abilities/keyword/IndestructibleAbility.java b/Mage/src/main/java/mage/abilities/keyword/IndestructibleAbility.java index d5a09f1629..70d7008032 100644 --- a/Mage/src/main/java/mage/abilities/keyword/IndestructibleAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/IndestructibleAbility.java @@ -32,15 +32,15 @@ import mage.constants.Zone; import mage.abilities.StaticAbility; /** - * OLD RULES: - * 700.4. If a permanent is indestructible, rules and effects can't destroy it. (See rule 701.6, "Destroy.") - * Such permanents are not destroyed by lethal damage, and they ignore the lethal-damage state-based action - * (see rule 704.5g). Rules or effects may cause an indestructible permanent to be sacrificed, put into a - * graveyard, or exiled. # + * OLD RULES: 700.4. If a permanent is indestructible, rules and effects can't + * destroy it. (See rule 701.6, "Destroy.") Such permanents are not destroyed by + * lethal damage, and they ignore the lethal-damage state-based action (see rule + * 704.5g). Rules or effects may cause an indestructible permanent to be + * sacrificed, put into a graveyard, or exiled. # * - * 700.4a Although the text "[This permanent] is indestructible" is an ability, actually being - * indestructible is neither an ability nor a characteristic. It's just something that's true - * about a permanent. + * 700.4a Although the text "[This permanent] is indestructible" is an ability, + * actually being indestructible is neither an ability nor a characteristic. + * It's just something that's true about a permanent. * * NEW RULES * @@ -48,10 +48,9 @@ import mage.abilities.StaticAbility; * * * - * + * * @author BetaSteward_at_googlemail.com */ - public class IndestructibleAbility extends StaticAbility { private static final IndestructibleAbility instance; @@ -79,7 +78,7 @@ public class IndestructibleAbility extends StaticAbility { @Override public String getRule() { - return "Indestructible"; + return "indestructible"; } }