diff --git a/Mage.Sets/src/mage/cards/e/ExoticCurse.java b/Mage.Sets/src/mage/cards/e/ExoticCurse.java index 17e1fc0cf0b..f9439ca8bd7 100644 --- a/Mage.Sets/src/mage/cards/e/ExoticCurse.java +++ b/Mage.Sets/src/mage/cards/e/ExoticCurse.java @@ -1,7 +1,5 @@ - package mage.cards.e; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.dynamicvalue.DynamicValue; @@ -12,16 +10,13 @@ import mage.abilities.effects.common.continuous.BoostEnchantedEffect; import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.AbilityWord; -import mage.constants.CardType; -import mage.constants.SubType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.Zone; +import mage.constants.*; import mage.target.TargetPermanent; +import mage.target.common.TargetCreaturePermanent; + +import java.util.UUID; /** - * * @author FenrisulfrX */ public final class ExoticCurse extends CardImpl { @@ -31,7 +26,7 @@ public final class ExoticCurse extends CardImpl { this.subtype.add(SubType.AURA); // Enchant creature - TargetPermanent auraTarget = new TargetPermanent(); + TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); this.getSpellAbility().addEffect(new AttachEffect(Outcome.UnboostCreature)); this.addAbility(new EnchantAbility(auraTarget.getTargetName())); diff --git a/Mage.Sets/src/mage/cards/f/FirecannonBlast.java b/Mage.Sets/src/mage/cards/f/FirecannonBlast.java index 6e7a4d2affd..9a443bb3110 100644 --- a/Mage.Sets/src/mage/cards/f/FirecannonBlast.java +++ b/Mage.Sets/src/mage/cards/f/FirecannonBlast.java @@ -6,7 +6,6 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.hint.common.RaidHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.AbilityWord; import mage.constants.CardType; import mage.target.common.TargetCreaturePermanent; import mage.watchers.common.PlayerAttackedWatcher; @@ -30,7 +29,6 @@ public final class FirecannonBlast extends CardImpl { "{this} deals 3 damage to target creature.
Raid — {this} deals 6 damage instead if you attacked this turn")); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addWatcher(new PlayerAttackedWatcher()); - this.getSpellAbility().setAbilityWord(AbilityWord.RAID); this.getSpellAbility().addHint(RaidHint.instance); } diff --git a/Mage.Sets/src/mage/cards/h/HuntingKavu.java b/Mage.Sets/src/mage/cards/h/HuntingKavu.java index 10d6a9e9871..809e35332ac 100644 --- a/Mage.Sets/src/mage/cards/h/HuntingKavu.java +++ b/Mage.Sets/src/mage/cards/h/HuntingKavu.java @@ -42,7 +42,7 @@ public final class HuntingKavu extends CardImpl { // {1}{R}{G}, {tap}: Exile Hunting Kavu and target creature without flying that's attacking you. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileSourceEffect(), new ManaCostsImpl("{1}{R}{G}")); ability.addCost(new TapSourceCost()); - ability.addEffect(new ExileTargetEffect().setText("nd target creature without flying that's attacking you")); + ability.addEffect(new ExileTargetEffect().setText("and target creature without flying that's attacking you")); ability.addTarget(new TargetCreaturePermanent(filter)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/h/HypnoticCloud.java b/Mage.Sets/src/mage/cards/h/HypnoticCloud.java index b92805acd22..78f54f299f6 100644 --- a/Mage.Sets/src/mage/cards/h/HypnoticCloud.java +++ b/Mage.Sets/src/mage/cards/h/HypnoticCloud.java @@ -27,7 +27,7 @@ public final class HypnoticCloud extends CardImpl { this.getSpellAbility().addTarget(new TargetPlayer()); this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new DiscardTargetEffect(3), new DiscardTargetEffect(1), KickedCondition.instance, - "Target player discards a card. if this spell was kicked, that player discards three cards instead")); + "Target player discards a card. If this spell was kicked, that player discards three cards instead")); } diff --git a/Mage.Sets/src/mage/cards/t/Twinflame.java b/Mage.Sets/src/mage/cards/t/Twinflame.java index 5dc10c22399..17c768d9c52 100644 --- a/Mage.Sets/src/mage/cards/t/Twinflame.java +++ b/Mage.Sets/src/mage/cards/t/Twinflame.java @@ -54,7 +54,7 @@ class TwinflameCopyEffect extends OneShotEffect { public TwinflameCopyEffect() { super(Outcome.PutCreatureInPlay); - this.staticText = "Choose any number of target creatures you control. For each of them, create a token that's a copy of that creature, except it has haste. Exile them at the beginning of the next end step"; + this.staticText = "choose any number of target creatures you control. For each of them, create a token that's a copy of that creature, except it has haste. Exile those tokens at the beginning of the next end step"; } public TwinflameCopyEffect(final TwinflameCopyEffect effect) { diff --git a/Mage.Sets/src/mage/cards/w/WurmcoilEngine.java b/Mage.Sets/src/mage/cards/w/WurmcoilEngine.java index f73a0a73480..0f55124dcf9 100644 --- a/Mage.Sets/src/mage/cards/w/WurmcoilEngine.java +++ b/Mage.Sets/src/mage/cards/w/WurmcoilEngine.java @@ -32,7 +32,7 @@ public final class WurmcoilEngine extends CardImpl { // When Wurmcoil Engine dies, create a 3/3 colorless Wurm artifact creature token with deathtouch and a 3/3 colorless Wurm artifact creature token with lifelink. Ability ability = new DiesSourceTriggeredAbility(new CreateTokenEffect(new WurmWithDeathtouchToken()), false); - ability.addEffect(new CreateTokenEffect(new WurmWithLifelinkToken())); + ability.addEffect(new CreateTokenEffect(new WurmWithLifelinkToken()).setText("and a 3/3 colorless Wurm artifact creature token with lifelink")); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/x/XathridGorgon.java b/Mage.Sets/src/mage/cards/x/XathridGorgon.java index adae2d237cb..86c6a2febbf 100644 --- a/Mage.Sets/src/mage/cards/x/XathridGorgon.java +++ b/Mage.Sets/src/mage/cards/x/XathridGorgon.java @@ -50,9 +50,9 @@ public final class XathridGorgon extends CardImpl { effect.setText("It gains defender"); ability.addEffect(effect); effect = new AddCardTypeTargetEffect(Duration.Custom, CardType.ARTIFACT); - effect.setText("and becomes a colorless artifact in addition to its other types"); + effect.setText("and becomes a colorless"); ability.addEffect(effect); - ability.addEffect(new BecomesColorTargetEffect(new ObjectColor(), Duration.Custom, "")); + ability.addEffect(new BecomesColorTargetEffect(new ObjectColor(), Duration.Custom, "artifact in addition to its other types")); ability.addEffect(new XathridGorgonCantActivateEffect()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/y/YennettCrypticSovereign.java b/Mage.Sets/src/mage/cards/y/YennettCrypticSovereign.java index 863105418b8..e87432c7cd4 100644 --- a/Mage.Sets/src/mage/cards/y/YennettCrypticSovereign.java +++ b/Mage.Sets/src/mage/cards/y/YennettCrypticSovereign.java @@ -1,27 +1,27 @@ package mage.cards.y; -import java.util.UUID; import mage.ApprovingObject; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.AttacksTriggeredAbility; import mage.abilities.effects.OneShotEffect; -import mage.constants.SubType; -import mage.constants.SuperType; import mage.abilities.keyword.FlyingAbility; -import mage.abilities.keyword.VigilanceAbility; import mage.abilities.keyword.MenaceAbility; +import mage.abilities.keyword.VigilanceAbility; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.CardsImpl; import mage.constants.CardType; import mage.constants.Outcome; +import mage.constants.SubType; +import mage.constants.SuperType; import mage.game.Game; import mage.players.Player; +import java.util.UUID; + /** - * * @author TheElk801 */ public final class YennettCrypticSovereign extends CardImpl { @@ -64,10 +64,10 @@ class YennettCrypticSovereignEffect extends OneShotEffect { public YennettCrypticSovereignEffect() { super(Outcome.Benefit); - this.staticText = "reveal the top card of your library. " - + "If that card's converted mana cost is odd, " - + "you may cast it without paying its mana cost. " - + "Otherwise, draw a card"; + this.staticText = "reveal the top card of your library. " + + "You may cast it without paying its mana cost " + + "if its converted mana cost is odd. " + + "If you don't cast it, draw a card."; } public YennettCrypticSovereignEffect(final YennettCrypticSovereignEffect effect) { diff --git a/Mage.Sets/src/mage/cards/y/YuanShaosInfantry.java b/Mage.Sets/src/mage/cards/y/YuanShaosInfantry.java index 2c290d14e46..052148cc420 100644 --- a/Mage.Sets/src/mage/cards/y/YuanShaosInfantry.java +++ b/Mage.Sets/src/mage/cards/y/YuanShaosInfantry.java @@ -27,7 +27,7 @@ public final class YuanShaosInfantry extends CardImpl { // Whenever Yuan Shao's Infantry attacks alone, Yuan Shao's Infantry can't be blocked this combat. Effect effect = new CantBeBlockedSourceEffect(Duration.EndOfCombat); - effect.setText("it can't be blocked this combat"); + effect.setText("{this} can't be blocked this combat"); this.addAbility(new AttacksAloneTriggeredAbility(effect)); } diff --git a/Mage.Sets/src/mage/cards/z/ZealotIlVec.java b/Mage.Sets/src/mage/cards/z/ZealotIlVec.java index d76667d2b17..eefa277cf00 100644 --- a/Mage.Sets/src/mage/cards/z/ZealotIlVec.java +++ b/Mage.Sets/src/mage/cards/z/ZealotIlVec.java @@ -31,7 +31,7 @@ public final class ZealotIlVec extends CardImpl { // Shadow this.addAbility(ShadowAbility.getInstance()); // Whenever Zealot il-Vec attacks and isn't blocked, you may have it deal 1 damage to target creature. If you do, prevent all combat damage Zealot il-Vec would deal this turn. - Ability ability = new AttacksAndIsNotBlockedTriggeredAbility(new DamageTargetEffect(1), true); + Ability ability = new AttacksAndIsNotBlockedTriggeredAbility(new DamageTargetEffect(1).setText("it deal 1 damage to target creature"), true); Effect effect = new PreventCombatDamageBySourceEffect(Duration.EndOfTurn); effect.setText("if you do, prevent all combat damage {this} would deal this turn"); ability.addEffect(effect); diff --git a/Mage.Sets/src/mage/cards/z/ZealousConscripts.java b/Mage.Sets/src/mage/cards/z/ZealousConscripts.java index 460ce890b6a..b7847da54a5 100644 --- a/Mage.Sets/src/mage/cards/z/ZealousConscripts.java +++ b/Mage.Sets/src/mage/cards/z/ZealousConscripts.java @@ -33,7 +33,7 @@ public final class ZealousConscripts extends CardImpl { // When Zealous Conscripts enters the battlefield, gain control of target permanent until end of turn. Untap that permanent. It gains haste until end of turn. Ability ability = new EntersBattlefieldTriggeredAbility(new GainControlTargetEffect(Duration.EndOfTurn)); ability.addTarget(new TargetPermanent()); - ability.addEffect(new UntapTargetEffect()); + ability.addEffect(new UntapTargetEffect().setText("Untap that permanent.")); ability.addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn, "It gains haste until end of turn")); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/z/ZealousPersecution.java b/Mage.Sets/src/mage/cards/z/ZealousPersecution.java index 4f52c132645..b5b2c4712ad 100644 --- a/Mage.Sets/src/mage/cards/z/ZealousPersecution.java +++ b/Mage.Sets/src/mage/cards/z/ZealousPersecution.java @@ -1,7 +1,5 @@ - package mage.cards.z; -import java.util.UUID; import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.abilities.effects.common.continuous.BoostOpponentsEffect; import mage.cards.CardImpl; @@ -9,17 +7,22 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import java.util.UUID; + /** - * * @author North */ public final class ZealousPersecution extends CardImpl { public ZealousPersecution(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{W}{B}"); + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{W}{B}"); - this.getSpellAbility().addEffect(new BoostControlledEffect(1, 1, Duration.EndOfTurn)); - this.getSpellAbility().addEffect(new BoostOpponentsEffect(-1, -1, Duration.EndOfTurn)); + this.getSpellAbility().addEffect(new BoostControlledEffect( + 1, 1, Duration.EndOfTurn + ).setText("until end of turn, creatures you control get +1/+1")); + this.getSpellAbility().addEffect(new BoostOpponentsEffect( + -1, -1, Duration.EndOfTurn + ).setText("and creatures your opponents control get -1/-1")); } public ZealousPersecution(final ZealousPersecution card) { diff --git a/Mage.Sets/src/mage/cards/z/ZealousStrike.java b/Mage.Sets/src/mage/cards/z/ZealousStrike.java index 4d0963174fb..9169d840b63 100644 --- a/Mage.Sets/src/mage/cards/z/ZealousStrike.java +++ b/Mage.Sets/src/mage/cards/z/ZealousStrike.java @@ -1,7 +1,5 @@ - package mage.cards.z; -import java.util.UUID; import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; import mage.abilities.keyword.FirstStrikeAbility; @@ -11,18 +9,23 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; +import java.util.UUID; + /** - * * @author Loki */ public final class ZealousStrike extends CardImpl { public ZealousStrike(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{W}"); + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{W}"); // Target creature gets +2/+2 and gains first strike until end of turn. - this.getSpellAbility().addEffect(new BoostTargetEffect(2, 2, Duration.EndOfTurn)); - this.getSpellAbility().addEffect(new GainAbilityTargetEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn)); + this.getSpellAbility().addEffect(new BoostTargetEffect( + 2, 2, Duration.EndOfTurn + ).setText("target creature gets +2/+2")); + this.getSpellAbility().addEffect(new GainAbilityTargetEffect( + FirstStrikeAbility.getInstance(), Duration.EndOfTurn + ).setText("and gains first strike until end of turn")); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); } diff --git a/Mage.Sets/src/mage/cards/z/ZephyrNet.java b/Mage.Sets/src/mage/cards/z/ZephyrNet.java index 24aa3ceae7b..486c4181eb0 100644 --- a/Mage.Sets/src/mage/cards/z/ZephyrNet.java +++ b/Mage.Sets/src/mage/cards/z/ZephyrNet.java @@ -1,7 +1,5 @@ - package mage.cards.z; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.AttachEffect; @@ -11,18 +9,22 @@ import mage.abilities.keyword.EnchantAbility; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.*; +import mage.constants.AttachmentType; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.SubType; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; +import java.util.UUID; + /** - * * @author Loki */ public final class ZephyrNet extends CardImpl { public ZephyrNet(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{U}"); this.subtype.add(SubType.AURA); // Enchant creature @@ -31,9 +33,15 @@ public final class ZephyrNet extends CardImpl { this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); Ability ability = new EnchantAbility(auraTarget.getTargetName()); this.addAbility(ability); + // Enchanted creature has defender and flying. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(DefenderAbility.getInstance(), AttachmentType.AURA))); - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA))); + ability = new SimpleStaticAbility(new GainAbilityAttachedEffect( + DefenderAbility.getInstance(), AttachmentType.AURA + )); + ability.addEffect(new GainAbilityAttachedEffect( + FlyingAbility.getInstance(), AttachmentType.AURA + ).setText("and flying")); + this.addAbility(ability); } public ZephyrNet(final ZephyrNet card) { diff --git a/Mage.Sets/src/mage/cards/z/ZhurTaaDruid.java b/Mage.Sets/src/mage/cards/z/ZhurTaaDruid.java index ffeae4d28e2..19c4de2d36b 100644 --- a/Mage.Sets/src/mage/cards/z/ZhurTaaDruid.java +++ b/Mage.Sets/src/mage/cards/z/ZhurTaaDruid.java @@ -49,7 +49,7 @@ public final class ZhurTaaDruid extends CardImpl { class ZhurTaaDruidAbility extends TriggeredAbilityImpl { public ZhurTaaDruidAbility() { - super(Zone.BATTLEFIELD, new DamagePlayersEffect(1, TargetController.OPPONENT)); + super(Zone.BATTLEFIELD, new DamagePlayersEffect(1, TargetController.OPPONENT, "it")); } public ZhurTaaDruidAbility(final ZhurTaaDruidAbility ability) { diff --git a/Mage.Sets/src/mage/cards/z/ZombieCannibal.java b/Mage.Sets/src/mage/cards/z/ZombieCannibal.java index d871dff4fda..6f2e613ce66 100644 --- a/Mage.Sets/src/mage/cards/z/ZombieCannibal.java +++ b/Mage.Sets/src/mage/cards/z/ZombieCannibal.java @@ -84,6 +84,6 @@ class ZombieCannibalTriggeredAbility extends TriggeredAbilityImpl { @Override public String getRule() { return "Whenever {this} deals combat damage to a player, " - + "you may exile target card from that player's graveyard"; + + "you may exile target card from that player's graveyard."; } } diff --git a/Mage/src/main/java/mage/abilities/abilityword/StriveAbility.java b/Mage/src/main/java/mage/abilities/abilityword/StriveAbility.java index 48d4d112c8f..75c7be0ffc5 100644 --- a/Mage/src/main/java/mage/abilities/abilityword/StriveAbility.java +++ b/Mage/src/main/java/mage/abilities/abilityword/StriveAbility.java @@ -39,7 +39,7 @@ public class StriveAbility extends SimpleStaticAbility { @Override public String getRule() { - return new StringBuilder("Strive — {this} costs ").append(striveCost).append(" more to cast for each target beyond the first.").toString(); + return new StringBuilder("Strive — this spell costs ").append(striveCost).append(" more to cast for each target beyond the first.").toString(); } } diff --git a/Mage/src/main/java/mage/abilities/effects/common/AmplifyEffect.java b/Mage/src/main/java/mage/abilities/effects/common/AmplifyEffect.java index 857a7f93c97..808f5430362 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/AmplifyEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/AmplifyEffect.java @@ -141,7 +141,7 @@ public class AmplifyEffect extends ReplacementEffectImpl { @Override public String getText(Mode mode) { StringBuilder sb = new StringBuilder(amplifyFactor.toString()); - sb.append("(As this enter the battlefield, "); + sb.append(" (As this enter the battlefield, "); sb.append(amplifyFactor.getRuleText()).append(" for each card" + " you reveal that shares a type with it in your hand.)"); return sb.toString(); diff --git a/Mage/src/main/java/mage/abilities/effects/keyword/AdaptEffect.java b/Mage/src/main/java/mage/abilities/effects/keyword/AdaptEffect.java index c3c0056a810..0a2f47b7eee 100644 --- a/Mage/src/main/java/mage/abilities/effects/keyword/AdaptEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/keyword/AdaptEffect.java @@ -22,7 +22,7 @@ public class AdaptEffect extends OneShotEffect { super(Outcome.BoostCreature); this.adaptNumber = adaptNumber; staticText = "Adapt " + adaptNumber - + " (If this creature has no +1/+1 counters on it, put " + + ". (If this creature has no +1/+1 counters on it, put " + CardUtil.numberToText(adaptNumber) + " +1/+1 counter" + (adaptNumber > 1 ? "s" : "") + " on it.)"; } diff --git a/Mage/src/main/java/mage/abilities/keyword/MonstrosityAbility.java b/Mage/src/main/java/mage/abilities/keyword/MonstrosityAbility.java index f9ce9c616fe..43d4f9b5394 100644 --- a/Mage/src/main/java/mage/abilities/keyword/MonstrosityAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/MonstrosityAbility.java @@ -112,7 +112,7 @@ class BecomeMonstrousSourceEffect extends OneShotEffect { private String setText(int monstrosityValue) { StringBuilder sb = new StringBuilder("Monstrosity "); sb.append(monstrosityValue == Integer.MAX_VALUE ? "X":monstrosityValue) - .append(". (If this creature isn't monstrous, put ") + .append(". (If this creature isn't monstrous, put ") .append(monstrosityValue == Integer.MAX_VALUE ? "X":CardUtil.numberToText(monstrosityValue)) .append(" +1/+1 counters on it and it becomes monstrous.)").toString(); return sb.toString();