diff --git a/Mage.Sets/src/mage/cards/a/AgrusKosWojekVeteran.java b/Mage.Sets/src/mage/cards/a/AgrusKosWojekVeteran.java index 3d79835a4c2..e343ab763fe 100644 --- a/Mage.Sets/src/mage/cards/a/AgrusKosWojekVeteran.java +++ b/Mage.Sets/src/mage/cards/a/AgrusKosWojekVeteran.java @@ -39,7 +39,8 @@ public final class AgrusKosWojekVeteran extends CardImpl { this.power = new MageInt(3); this.toughness = new MageInt(3); // Whenever Agrus Kos, Wojek Veteran attacks, attacking red creatures get +2/+0 and attacking white creatures get +0/+2 until end of turn. - Ability ability = new AttacksTriggeredAbility(new BoostAllEffect(2, 0, Duration.EndOfTurn, filterRed, false), false); + Ability ability = new AttacksTriggeredAbility(new BoostAllEffect(2, 0, Duration.EndOfTurn, filterRed, false) + .setText("attacking red creatures get +2/+0"), false); ability.addEffect(new BoostAllEffect(0, 2, Duration.EndOfTurn, filterWhite, false).concatBy("and")); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/c/ConclavePhalanx.java b/Mage.Sets/src/mage/cards/c/ConclavePhalanx.java index 2ad223d5c57..de4c4dfb4a8 100644 --- a/Mage.Sets/src/mage/cards/c/ConclavePhalanx.java +++ b/Mage.Sets/src/mage/cards/c/ConclavePhalanx.java @@ -2,8 +2,11 @@ package mage.cards.c; import mage.MageInt; import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.effects.common.GainLifeEffect; +import mage.abilities.hint.Hint; +import mage.abilities.hint.ValueHint; import mage.abilities.keyword.ConvokeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -18,6 +21,10 @@ import java.util.UUID; */ public final class ConclavePhalanx extends CardImpl { + private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(StaticFilters.FILTER_CONTROLLED_CREATURE); + + private static final Hint hint = new ValueHint("Number of creatures you control", xValue); + public ConclavePhalanx(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{W}"); this.subtype.add(SubType.HUMAN); @@ -29,8 +36,8 @@ public final class ConclavePhalanx extends CardImpl { // Convoke this.addAbility(new ConvokeAbility()); // When Conclave Phalanx enters the battlefield, you gain 1 life for each creature you control. - this.addAbility(new EntersBattlefieldTriggeredAbility(new GainLifeEffect( - new PermanentsOnBattlefieldCount(StaticFilters.FILTER_CONTROLLED_CREATURE)))); + this.addAbility(new EntersBattlefieldTriggeredAbility(new GainLifeEffect(xValue) + .setText("you gain 1 life for each creature you control")).addHint(hint)); } private ConclavePhalanx(final ConclavePhalanx card) { diff --git a/Mage.Sets/src/mage/cards/c/CursedLand.java b/Mage.Sets/src/mage/cards/c/CursedLand.java index 82114cdda08..1861621d032 100644 --- a/Mage.Sets/src/mage/cards/c/CursedLand.java +++ b/Mage.Sets/src/mage/cards/c/CursedLand.java @@ -36,7 +36,8 @@ public final class CursedLand extends CardImpl { Effect effect = new DamageTargetEffect(1); effect.setText("{this} deals 1 damage to that player"); this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, effect, - TargetController.CONTROLLER_ATTACHED_TO, false, true)); + TargetController.CONTROLLER_ATTACHED_TO, false, true) + .setTriggerPhrase("At the beginning of the upkeep of enchanted land's controller, ")); } private CursedLand(final CursedLand card) { diff --git a/Mage.Sets/src/mage/cards/d/DingusEgg.java b/Mage.Sets/src/mage/cards/d/DingusEgg.java index 722bc5ae3aa..1164d22df26 100644 --- a/Mage.Sets/src/mage/cards/d/DingusEgg.java +++ b/Mage.Sets/src/mage/cards/d/DingusEgg.java @@ -38,7 +38,7 @@ public final class DingusEgg extends CardImpl { class DingusEggTriggeredAbility extends TriggeredAbilityImpl { - public DingusEggTriggeredAbility() { + DingusEggTriggeredAbility() { super(Zone.BATTLEFIELD, new DamageTargetEffect(2), false); } @@ -69,7 +69,7 @@ class DingusEggTriggeredAbility extends TriggeredAbilityImpl { @Override public String getRule() { - return "Whenever a land is put into a graveyard from the battlefield, {this} deals 2 damage to that land's controller"; + return "Whenever a land is put into a graveyard from the battlefield, {this} deals 2 damage to that land's controller."; } @Override diff --git a/Mage.Sets/src/mage/cards/h/HolyArmor.java b/Mage.Sets/src/mage/cards/h/HolyArmor.java index 31c9ffa6d54..d2839cc59a4 100644 --- a/Mage.Sets/src/mage/cards/h/HolyArmor.java +++ b/Mage.Sets/src/mage/cards/h/HolyArmor.java @@ -1,4 +1,3 @@ - package mage.cards.h; import java.util.UUID; @@ -30,7 +29,6 @@ public final class HolyArmor extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); this.subtype.add(SubType.AURA); - // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); @@ -38,10 +36,8 @@ public final class HolyArmor extends CardImpl { Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); // Enchanted creature gets +0/+2. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(0, 2, Duration.WhileOnBattlefield))); + this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(0, 2, Duration.WhileOnBattlefield))); // {W}: Enchanted creature gets +0/+1 until end of turn. - Ability ability2 = new EnchantAbility(auraTarget); - this.addAbility(ability2); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(0, 1, Duration.EndOfTurn), new ColoredManaCost(ColoredManaSymbol.W))); } diff --git a/Mage.Sets/src/mage/cards/p/PeregrineMask.java b/Mage.Sets/src/mage/cards/p/PeregrineMask.java index 32a26b53f6a..885eed83312 100644 --- a/Mage.Sets/src/mage/cards/p/PeregrineMask.java +++ b/Mage.Sets/src/mage/cards/p/PeregrineMask.java @@ -1,4 +1,3 @@ - package mage.cards.p; import java.util.UUID; @@ -26,8 +25,8 @@ public final class PeregrineMask extends CardImpl { this.subtype.add(SubType.EQUIPMENT); // Equipped creature has defender, flying, and first strike. Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(DefenderAbility.getInstance(), AttachmentType.EQUIPMENT)); - ability.addEffect(new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.EQUIPMENT)); - ability.addEffect(new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.EQUIPMENT)); + ability.addEffect(new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.EQUIPMENT).setText(", flying")); + ability.addEffect(new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.EQUIPMENT).setText(", and first strike")); this.addAbility(ability); // Equip {2} this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); diff --git a/Mage.Sets/src/mage/cards/s/SageOfTheInwardEye.java b/Mage.Sets/src/mage/cards/s/SageOfTheInwardEye.java index 235919c5f92..4c7659033bc 100644 --- a/Mage.Sets/src/mage/cards/s/SageOfTheInwardEye.java +++ b/Mage.Sets/src/mage/cards/s/SageOfTheInwardEye.java @@ -31,7 +31,7 @@ public final class SageOfTheInwardEye extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // Whenever you cast a noncreature spell, creatures you control gain lifelink until end of turn. this.addAbility(new SpellCastControllerTriggeredAbility( - new GainAbilityControlledEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURE, false), + new GainAbilityControlledEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES, false), StaticFilters.FILTER_SPELL_A_NON_CREATURE, false)); } diff --git a/Mage.Sets/src/mage/cards/s/SandstoneBridge.java b/Mage.Sets/src/mage/cards/s/SandstoneBridge.java index e3dbcae068b..02770ec0d22 100644 --- a/Mage.Sets/src/mage/cards/s/SandstoneBridge.java +++ b/Mage.Sets/src/mage/cards/s/SandstoneBridge.java @@ -1,4 +1,3 @@ - package mage.cards.s; import java.util.UUID; @@ -30,9 +29,9 @@ public final class SandstoneBridge extends CardImpl { // When Sandstone Bridge enters the battlefield, target creature gets +1/+1 and gains vigilance until end of turn. Effect effect = new GainAbilityTargetEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn); - effect.setText("and gains vigilance"); - Ability ability = new EntersBattlefieldTriggeredAbility(new BoostTargetEffect(1, 1, Duration.EndOfTurn), false); - ability.addEffect(effect); + Ability ability = new EntersBattlefieldTriggeredAbility(new BoostTargetEffect(1, 1, Duration.EndOfTurn) + .setText("target creature gets +1/+1"), false); + ability.addEffect(effect.setText("and gains vigilance until end of turn")); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/s/StunningReversal.java b/Mage.Sets/src/mage/cards/s/StunningReversal.java index 42e36618413..cfe08d7d302 100644 --- a/Mage.Sets/src/mage/cards/s/StunningReversal.java +++ b/Mage.Sets/src/mage/cards/s/StunningReversal.java @@ -27,7 +27,7 @@ public final class StunningReversal extends CardImpl { this.getSpellAbility().addEffect(new StunningReversalEffect()); // Exile Stunning Reversal. - this.getSpellAbility().addEffect(new ExileSpellEffect()); + this.getSpellAbility().addEffect(new ExileSpellEffect().concatBy("
")); } private StunningReversal(final StunningReversal card) { @@ -79,10 +79,7 @@ class StunningReversalEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { - if (event.getPlayerId().equals(source.getControllerId())) { - return true; - } - return false; + return event.getPlayerId().equals(source.getControllerId()); } } diff --git a/Mage.Sets/src/mage/cards/v/VampiricFury.java b/Mage.Sets/src/mage/cards/v/VampiricFury.java index 103bc79a77b..1e49f692b11 100644 --- a/Mage.Sets/src/mage/cards/v/VampiricFury.java +++ b/Mage.Sets/src/mage/cards/v/VampiricFury.java @@ -1,4 +1,3 @@ - package mage.cards.v; import java.util.UUID; @@ -30,8 +29,10 @@ public final class VampiricFury extends CardImpl { // Vampire creatures you control get +2/+0 and gain first strike until end of turn. - this.getSpellAbility().addEffect(new BoostControlledEffect(2, 0, Duration.EndOfTurn, vampires)); - this.getSpellAbility().addEffect(new GainAbilityControlledEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn, vampires)); + this.getSpellAbility().addEffect(new BoostControlledEffect(2, 0, Duration.EndOfTurn, vampires) + .setText("Vampire creatures you control get +2/+0")); + this.getSpellAbility().addEffect(new GainAbilityControlledEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn, vampires) + .setText("and gain first strike until end of turn")); } private VampiricFury(final VampiricFury card) { diff --git a/Mage.Sets/src/mage/cards/w/WildHunger.java b/Mage.Sets/src/mage/cards/w/WildHunger.java index 5c5ea4d1b14..7fbf4773ebd 100644 --- a/Mage.Sets/src/mage/cards/w/WildHunger.java +++ b/Mage.Sets/src/mage/cards/w/WildHunger.java @@ -1,4 +1,3 @@ - package mage.cards.w; import java.util.UUID; @@ -11,7 +10,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; -import mage.constants.TimingRule; import mage.target.common.TargetCreaturePermanent; /** @@ -26,8 +24,10 @@ public final class WildHunger extends CardImpl { // Target creature gets +3/+1 and gains trample until end of turn. this.getSpellAbility().addTarget(new TargetCreaturePermanent()); - this.getSpellAbility().addEffect(new BoostTargetEffect(3, 1, Duration.EndOfTurn)); - this.getSpellAbility().addEffect(new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn)); + this.getSpellAbility().addEffect(new BoostTargetEffect(3, 1, Duration.EndOfTurn) + .setText("target creature gets +3/+1")); + this.getSpellAbility().addEffect(new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn) + .setText("and gains trample until end of turn")); // Flashback {3}{R} this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{3}{R}"))); } diff --git a/Mage.Sets/src/mage/cards/w/WolfhuntersQuiver.java b/Mage.Sets/src/mage/cards/w/WolfhuntersQuiver.java index 85a33c8f193..1a4f6d7c8d8 100644 --- a/Mage.Sets/src/mage/cards/w/WolfhuntersQuiver.java +++ b/Mage.Sets/src/mage/cards/w/WolfhuntersQuiver.java @@ -1,4 +1,3 @@ - package mage.cards.w; import java.util.UUID; @@ -45,7 +44,7 @@ public final class WolfhuntersQuiver extends CardImpl { abilityToGain = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(3), new TapSourceCost()); abilityToGain.addTarget(new TargetCreaturePermanent(filter)); effect = new GainAbilityAttachedEffect(abilityToGain, AttachmentType.EQUIPMENT); - effect.setText("and \"{T}: This creature deals 3 damage to target Werewolf creature"); + effect.setText("and \"{T}: This creature deals 3 damage to target Werewolf creature.\""); ability.addEffect(effect); this.addAbility(ability); diff --git a/Mage/src/main/java/mage/abilities/common/DealtDamageToSourceTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DealtDamageToSourceTriggeredAbility.java index 6c4de202d82..550084127be 100644 --- a/Mage/src/main/java/mage/abilities/common/DealtDamageToSourceTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/DealtDamageToSourceTriggeredAbility.java @@ -23,6 +23,7 @@ public class DealtDamageToSourceTriggeredAbility extends TriggeredAbilityImpl { this.setAbilityWord(AbilityWord.ENRAGE); } setTriggerPhrase("Whenever {this} is dealt damage, "); + this.replaceRuleText = true; } protected DealtDamageToSourceTriggeredAbility(final DealtDamageToSourceTriggeredAbility ability) { diff --git a/Mage/src/main/java/mage/abilities/effects/common/LookLibraryTopCardTargetPlayerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/LookLibraryTopCardTargetPlayerEffect.java index d70ffb0c476..26a9f1b6c18 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/LookLibraryTopCardTargetPlayerEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/LookLibraryTopCardTargetPlayerEffect.java @@ -106,7 +106,7 @@ public class LookLibraryTopCardTargetPlayerEffect extends OneShotEffect { } else { sb.append("that card"); } - sb.append(" into their graveyard"); + sb.append(" into that player's graveyard"); } if (mayShuffleAfter) { sb.append(". You may then have that player shuffle that library"); diff --git a/Mage/src/main/java/mage/abilities/effects/mana/AddManaToManaPoolSourceControllerEffect.java b/Mage/src/main/java/mage/abilities/effects/mana/AddManaToManaPoolSourceControllerEffect.java index d7bf29fc38c..ba1407bfc81 100644 --- a/Mage/src/main/java/mage/abilities/effects/mana/AddManaToManaPoolSourceControllerEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/mana/AddManaToManaPoolSourceControllerEffect.java @@ -17,7 +17,7 @@ public class AddManaToManaPoolSourceControllerEffect extends OneShotEffect { public AddManaToManaPoolSourceControllerEffect(Mana mana) { super(Outcome.PutManaInPool); this.mana = mana; - this.staticText = "Add " + mana.toString() + ""; + this.staticText = "add " + mana.toString() + ""; } protected AddManaToManaPoolSourceControllerEffect(final AddManaToManaPoolSourceControllerEffect effect) {