diff --git a/Mage.Sets/src/mage/cards/b/BontuTheGlorified.java b/Mage.Sets/src/mage/cards/b/BontuTheGlorified.java index 79e561b86e0..eac46899b4e 100644 --- a/Mage.Sets/src/mage/cards/b/BontuTheGlorified.java +++ b/Mage.Sets/src/mage/cards/b/BontuTheGlorified.java @@ -37,16 +37,16 @@ public final class BontuTheGlorified extends CardImpl { this.power = new MageInt(4); this.toughness = new MageInt(6); - //Menace - this.addAbility(new MenaceAbility()); + // Menace + this.addAbility(new MenaceAbility(false)); - //Indestructible + // Indestructible this.addAbility(IndestructibleAbility.getInstance()); - //Bontu the Glorified can't attack or block unless a creature died under your control this turn. + // Bontu the Glorified can't attack or block unless a creature died under your control this turn. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BontuTheGlorifiedRestrictionEffect()), new CreaturesDiedWatcher()); - //{1}{B}, Sacrifice another creature: Scry 1. Each opponent loses 1 life and you gain 1 life. + // {1}{B}, Sacrifice another creature: Scry 1. Each opponent loses 1 life and you gain 1 life. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScryEffect(1), new ManaCostsImpl("{1}{B}")); ability.addEffect(new LoseLifeOpponentsEffect(1)); Effect effect = new GainLifeEffect(1); diff --git a/Mage.Sets/src/mage/cards/c/ChainToMemory.java b/Mage.Sets/src/mage/cards/c/ChainToMemory.java index 9a58196956a..4e3637b748a 100644 --- a/Mage.Sets/src/mage/cards/c/ChainToMemory.java +++ b/Mage.Sets/src/mage/cards/c/ChainToMemory.java @@ -19,7 +19,7 @@ public final class ChainToMemory extends CardImpl { // Target creature gets -4/-0 until end of turn. Scry 2. this.getSpellAbility().addEffect(new BoostTargetEffect(-4, 0)); - this.getSpellAbility().addEffect(new ScryEffect(2).setText("Scry 2")); + this.getSpellAbility().addEffect(new ScryEffect(2, false)); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); } diff --git a/Mage.Sets/src/mage/cards/f/FatedConflagration.java b/Mage.Sets/src/mage/cards/f/FatedConflagration.java index be6f34b0b6e..7c1b4b9a8d4 100644 --- a/Mage.Sets/src/mage/cards/f/FatedConflagration.java +++ b/Mage.Sets/src/mage/cards/f/FatedConflagration.java @@ -24,7 +24,7 @@ public final class FatedConflagration extends CardImpl { // Fated Conflagration deals 5 damage to target creature or planewalker. If it's your turn, scry 2. this.getSpellAbility().addEffect(new DamageTargetEffect(5)); this.getSpellAbility().addTarget(new TargetCreatureOrPlaneswalker()); - this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new ScryEffect(2), MyTurnCondition.instance, "If it's your turn, scry 2")); + this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new ScryEffect(2, false), MyTurnCondition.instance, "If it's your turn, scry 2")); this.getSpellAbility().addHint(MyTurnHint.instance); } diff --git a/Mage.Sets/src/mage/cards/f/FatedIntervention.java b/Mage.Sets/src/mage/cards/f/FatedIntervention.java index 92d6442d137..2b1ea48ef08 100644 --- a/Mage.Sets/src/mage/cards/f/FatedIntervention.java +++ b/Mage.Sets/src/mage/cards/f/FatedIntervention.java @@ -20,10 +20,9 @@ public final class FatedIntervention extends CardImpl { public FatedIntervention(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{G}{G}{G}"); - // Create two 3/3 green Centaur enchantment creature tokens. If it's your turn, scry 2. this.getSpellAbility().addEffect(new CreateTokenEffect(new CentaurEnchantmentCreatureToken(), 2)); - this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new ScryEffect(2), MyTurnCondition.instance, "If it's your turn, scry 2")); + this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new ScryEffect(2, false), MyTurnCondition.instance, "If it's your turn, scry 2")); this.getSpellAbility().addHint(MyTurnHint.instance); } diff --git a/Mage.Sets/src/mage/cards/f/FatedRetribution.java b/Mage.Sets/src/mage/cards/f/FatedRetribution.java index d0a35a9ed85..23654106e7a 100644 --- a/Mage.Sets/src/mage/cards/f/FatedRetribution.java +++ b/Mage.Sets/src/mage/cards/f/FatedRetribution.java @@ -32,7 +32,7 @@ public final class FatedRetribution extends CardImpl { // Destroy all creatures and planeswalkers. If it's your turn, scry 2. this.getSpellAbility().addEffect(new DestroyAllEffect(filter, false)); - this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new ScryEffect(2), MyTurnCondition.instance, "If it's your turn, scry 2")); + this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new ScryEffect(2, false), MyTurnCondition.instance, "If it's your turn, scry 2")); this.getSpellAbility().addHint(MyTurnHint.instance); } diff --git a/Mage.Sets/src/mage/cards/f/Foresee.java b/Mage.Sets/src/mage/cards/f/Foresee.java index 52b112e3a0c..d081d3acc76 100644 --- a/Mage.Sets/src/mage/cards/f/Foresee.java +++ b/Mage.Sets/src/mage/cards/f/Foresee.java @@ -16,8 +16,9 @@ public final class Foresee extends CardImpl { public Foresee(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{U}"); - this.getSpellAbility().addEffect(new ScryEffect(4).setText("scry 4,")); - this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2).setText("then draw two cards")); + // Scry 4, then draw two cards. (To scry 4, look at the top four cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) + this.getSpellAbility().addEffect(new ScryEffect(4, false)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2).concatBy(", then")); } public Foresee(final Foresee card) { diff --git a/Mage.Sets/src/mage/cards/m/MischievousChimera.java b/Mage.Sets/src/mage/cards/m/MischievousChimera.java index 09bf177b4e3..0806c73797b 100644 --- a/Mage.Sets/src/mage/cards/m/MischievousChimera.java +++ b/Mage.Sets/src/mage/cards/m/MischievousChimera.java @@ -33,7 +33,7 @@ public final class MischievousChimera extends CardImpl { Ability ability = new FirstSpellOpponentsTurnTriggeredAbility( new DamagePlayersEffect(1, TargetController.OPPONENT), false ); - ability.addEffect(new ScryEffect(1).setText("Scry 1")); + ability.addEffect(new ScryEffect(1, false)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/o/OmenOfTheSea.java b/Mage.Sets/src/mage/cards/o/OmenOfTheSea.java index 2cc325328b9..6b9ddb1d343 100644 --- a/Mage.Sets/src/mage/cards/o/OmenOfTheSea.java +++ b/Mage.Sets/src/mage/cards/o/OmenOfTheSea.java @@ -26,8 +26,8 @@ public final class OmenOfTheSea extends CardImpl { this.addAbility(FlashAbility.getInstance()); // When Omen of the Sea enters the battlefield, scry 2, then draw a card. - Ability ability = new EntersBattlefieldTriggeredAbility(new ScryEffect(2).setText("scry 2,")); - ability.addEffect(new DrawCardSourceControllerEffect(1).concatBy("then")); + Ability ability = new EntersBattlefieldTriggeredAbility(new ScryEffect(2, false)); + ability.addEffect(new DrawCardSourceControllerEffect(1).concatBy(", then")); this.addAbility(ability); // {2}{U}, Sacrifice Omen of the Sea: Scry 2. diff --git a/Mage.Sets/src/mage/cards/o/OverwhelmedApprentice.java b/Mage.Sets/src/mage/cards/o/OverwhelmedApprentice.java index c62134e5663..32f9fe239f3 100644 --- a/Mage.Sets/src/mage/cards/o/OverwhelmedApprentice.java +++ b/Mage.Sets/src/mage/cards/o/OverwhelmedApprentice.java @@ -30,7 +30,7 @@ public final class OverwhelmedApprentice extends CardImpl { Ability ability = new EntersBattlefieldTriggeredAbility( new PutTopCardOfLibraryIntoGraveEachPlayerEffect(2, TargetController.OPPONENT) ); - ability.addEffect(new ScryEffect(2).setText("Then you scry 2.")); + ability.addEffect(new ScryEffect(2, false).setText("Then you scry 2.")); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/p/Preordain.java b/Mage.Sets/src/mage/cards/p/Preordain.java index 4eae38cd40d..39ce81a2c4e 100644 --- a/Mage.Sets/src/mage/cards/p/Preordain.java +++ b/Mage.Sets/src/mage/cards/p/Preordain.java @@ -1,14 +1,14 @@ package mage.cards.p; -import java.util.UUID; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.keyword.ScryEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import java.util.UUID; + /** - * * @author BetaSteward_at_googlemail.com */ public final class Preordain extends CardImpl { @@ -18,11 +18,11 @@ public final class Preordain extends CardImpl { // Scry 2, then draw a card. (To scry 2, look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) this.getSpellAbility().addEffect( - new ScryEffect(2).setText("Scry 2, ") + new ScryEffect(2, false) ); this.getSpellAbility().addEffect( new DrawCardSourceControllerEffect(1) - .setText("then draw a card. (To scry 2, " + .setText(", then draw a card. (To scry 2, " + "look at the top two cards of your library, " + "then put any number of them on the " + "bottom of your library and the rest on " diff --git a/Mage.Sets/src/mage/cards/p/PsychicImpetus.java b/Mage.Sets/src/mage/cards/p/PsychicImpetus.java index 8a0d6a96e8a..bbbedc9098c 100644 --- a/Mage.Sets/src/mage/cards/p/PsychicImpetus.java +++ b/Mage.Sets/src/mage/cards/p/PsychicImpetus.java @@ -40,7 +40,7 @@ public final class PsychicImpetus extends CardImpl { // Whenever enchanted creature attacks, you scry 2. this.addAbility(new AttacksAttachedTriggeredAbility( - new ScryEffect(2).setText("you scry 2"), AttachmentType.AURA, false + new ScryEffect(2, false).setText("you scry 2"), AttachmentType.AURA, false )); } diff --git a/Mage.Sets/src/mage/cards/s/ScourAllPossibilities.java b/Mage.Sets/src/mage/cards/s/ScourAllPossibilities.java index e3d67b370c0..6ce1b3d0f25 100644 --- a/Mage.Sets/src/mage/cards/s/ScourAllPossibilities.java +++ b/Mage.Sets/src/mage/cards/s/ScourAllPossibilities.java @@ -20,8 +20,8 @@ public final class ScourAllPossibilities extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{U}"); // Scry 2, then draw a card. - this.getSpellAbility().addEffect(new ScryEffect(2).setText("scry 2,")); - this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("then")); + this.getSpellAbility().addEffect(new ScryEffect(2, false)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy(", then")); // Flashback {4}{U} this.addAbility(new FlashbackAbility(new ManaCostsImpl("{4}{U}"), TimingRule.SORCERY)); diff --git a/Mage.Sets/src/mage/cards/t/TamiyosEpiphany.java b/Mage.Sets/src/mage/cards/t/TamiyosEpiphany.java index bd626fa4f07..e924bb50218 100644 --- a/Mage.Sets/src/mage/cards/t/TamiyosEpiphany.java +++ b/Mage.Sets/src/mage/cards/t/TamiyosEpiphany.java @@ -17,8 +17,8 @@ public final class TamiyosEpiphany extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{U}"); // Scry 4, then draw two cards. - this.getSpellAbility().addEffect(new ScryEffect(4).setText("scry 4,")); - this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2).setText("then draw two cards")); + this.getSpellAbility().addEffect(new ScryEffect(4, false)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2).concatBy(", then")); } private TamiyosEpiphany(final TamiyosEpiphany card) { diff --git a/Mage.Sets/src/mage/cards/t/TenthDistrictLegionnaire.java b/Mage.Sets/src/mage/cards/t/TenthDistrictLegionnaire.java index 3f1dd366522..b4e52204603 100644 --- a/Mage.Sets/src/mage/cards/t/TenthDistrictLegionnaire.java +++ b/Mage.Sets/src/mage/cards/t/TenthDistrictLegionnaire.java @@ -1,6 +1,5 @@ package mage.cards.t; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.effects.common.counter.AddCountersSourceEffect; @@ -13,6 +12,8 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.counters.CounterType; +import java.util.UUID; + /** * @author TheElk801 */ @@ -33,7 +34,7 @@ public final class TenthDistrictLegionnaire extends CardImpl { Ability ability = new HeroicAbility(new AddCountersSourceEffect( CounterType.P1P1.createInstance() ), false, false); - ability.addEffect(new ScryEffect(1).setText(", then scry 1")); + ability.addEffect(new ScryEffect(1).concatBy(", then")); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/t/TrackDown.java b/Mage.Sets/src/mage/cards/t/TrackDown.java index d4451d193e4..25051d9ebbe 100644 --- a/Mage.Sets/src/mage/cards/t/TrackDown.java +++ b/Mage.Sets/src/mage/cards/t/TrackDown.java @@ -24,8 +24,8 @@ public final class TrackDown extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{G}"); // Scry 3, then reveal the top card of your library. If it's a creature or land card, draw a card. - this.getSpellAbility().addEffect(new ScryEffect(3).setText("Scry 3,")); - this.getSpellAbility().addEffect(new TrackDownEffect()); + this.getSpellAbility().addEffect(new ScryEffect(3, false)); + this.getSpellAbility().addEffect(new TrackDownEffect().concatBy(", then")); } public TrackDown(final TrackDown card) { @@ -42,7 +42,7 @@ class TrackDownEffect extends OneShotEffect { public TrackDownEffect() { super(Outcome.DrawCard); - this.staticText = "then reveal the top card of your library. If it's a creature or land card, draw a card"; + this.staticText = "reveal the top card of your library. If it’s a creature or land card, draw a card"; } public TrackDownEffect(final TrackDownEffect effect) { diff --git a/Mage/src/main/java/mage/abilities/effects/keyword/ScryEffect.java b/Mage/src/main/java/mage/abilities/effects/keyword/ScryEffect.java index 99fd8e360a6..d4ebabe2b39 100644 --- a/Mage/src/main/java/mage/abilities/effects/keyword/ScryEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/keyword/ScryEffect.java @@ -8,22 +8,28 @@ import mage.players.Player; import mage.util.CardUtil; /** - * * @author BetaSteward_at_googlemail.com */ public class ScryEffect extends OneShotEffect { protected int scryNumber; + protected boolean showEffectHint; public ScryEffect(int scryNumber) { + this(scryNumber, true); + } + + public ScryEffect(int scryNumber, boolean showEffectHint) { super(Outcome.Benefit); this.scryNumber = scryNumber; + this.showEffectHint = showEffectHint; this.setText(); } public ScryEffect(final ScryEffect effect) { super(effect); this.scryNumber = effect.scryNumber; + this.showEffectHint = effect.showEffectHint; } @Override @@ -42,12 +48,14 @@ public class ScryEffect extends OneShotEffect { private void setText() { StringBuilder sb = new StringBuilder("scry ").append(scryNumber); - if (scryNumber == 1) { - sb.append(". (Look at the top card of your library. You may put that card on the bottom of your library.)"); - } else { - sb.append(". (Look at the top "); - sb.append(CardUtil.numberToText(scryNumber)); - sb.append(" cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.)"); + if (showEffectHint) { + if (scryNumber == 1) { + sb.append(". (Look at the top card of your library. You may put that card on the bottom of your library.)"); + } else { + sb.append(". (Look at the top "); + sb.append(CardUtil.numberToText(scryNumber)); + sb.append(" cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.)"); + } } staticText = sb.toString(); }