From 07ab5cb7310d7401d5e8929594843eab5e96c9d8 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sun, 14 Jan 2018 10:46:42 +0100 Subject: [PATCH] Rule text changes - Oracle updates 11.01.2018 (closes #4412) --- Mage.Sets/src/mage/cards/c/CalmingVerse.java | 25 ++++++++++--------- .../src/mage/cards/g/GrafdiggersCage.java | 7 +++--- .../src/mage/cards/r/RhysticScrying.java | 4 +-- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/Mage.Sets/src/mage/cards/c/CalmingVerse.java b/Mage.Sets/src/mage/cards/c/CalmingVerse.java index e350e9cdee4..619ff31d5f4 100644 --- a/Mage.Sets/src/mage/cards/c/CalmingVerse.java +++ b/Mage.Sets/src/mage/cards/c/CalmingVerse.java @@ -51,13 +51,13 @@ import mage.players.Player; * @author escplan9 (Derek Monturo - dmontur1 at gmail dot com) */ public class CalmingVerse extends CardImpl { - + public CalmingVerse(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{G}"); + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{G}"); // Destroy all enchantments you don't control. Then, if you control an untapped land, destroy all enchantments you control. this.getSpellAbility().addEffect(new CalmingVerseEffect()); - + } public CalmingVerse(final CalmingVerse card) { @@ -71,24 +71,25 @@ public class CalmingVerse extends CardImpl { } class CalmingVerseEffect extends OneShotEffect { - + private static final FilterPermanent untappedLandFilter = new FilterPermanent("If you control an untapped land"); + static { untappedLandFilter.add(new CardTypePredicate(CardType.LAND)); untappedLandFilter.add(Predicates.not(new TappedPredicate())); } - + private static final FilterEnchantmentPermanent opponentEnchantmentsFilter = new FilterEnchantmentPermanent("enchantments you don't control"); + static { opponentEnchantmentsFilter.add(new ControllerPredicate(TargetController.OPPONENT)); } - - private static final FilterControlledEnchantmentPermanent controlledEnchantmentsFilter = new FilterControlledEnchantmentPermanent("enchantments you control"); + private static final FilterControlledEnchantmentPermanent controlledEnchantmentsFilter = new FilterControlledEnchantmentPermanent("enchantments you control"); public CalmingVerseEffect() { super(Outcome.Detriment); - this.staticText = "Destroy all enchantments you don't control. Then, if you control an untapped land, destroy all enchantments you control"; + this.staticText = "Destroy all enchantments you don't control. Then if you control an untapped land, destroy all enchantments you control"; } public CalmingVerseEffect(final CalmingVerseEffect effect) { @@ -106,17 +107,17 @@ class CalmingVerseEffect extends OneShotEffect { for (Permanent permanent : game.getBattlefield().getActivePermanents(opponentEnchantmentsFilter, source.getControllerId(), source.getSourceId(), game)) { permanent.destroy(source.getSourceId(), game, false); } - + // Then if you control an untapped land, destroy all own enchantments Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { - - if (game.getState().getBattlefield().countAll(untappedLandFilter, controller.getId(), game) > 0) { + + if (game.getState().getBattlefield().countAll(untappedLandFilter, controller.getId(), game) > 0) { for (Permanent permanent : game.getBattlefield().getActivePermanents(controlledEnchantmentsFilter, source.getControllerId(), source.getSourceId(), game)) { permanent.destroy(source.getSourceId(), game, false); } } - + } return true; } diff --git a/Mage.Sets/src/mage/cards/g/GrafdiggersCage.java b/Mage.Sets/src/mage/cards/g/GrafdiggersCage.java index 93105cf981d..f53ec08f7e4 100644 --- a/Mage.Sets/src/mage/cards/g/GrafdiggersCage.java +++ b/Mage.Sets/src/mage/cards/g/GrafdiggersCage.java @@ -50,7 +50,7 @@ import mage.game.events.ZoneChangeEvent; public class GrafdiggersCage extends CardImpl { public GrafdiggersCage(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}"); // Creature cards can't enter the battlefield from graveyards or libraries. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GrafdiggersCageEffect())); @@ -73,7 +73,7 @@ class GrafdiggersCageEffect extends ContinuousRuleModifyingEffectImpl { public GrafdiggersCageEffect() { super(Duration.WhileOnBattlefield, Outcome.Benefit); - staticText = "Creature cards can't enter the battlefield from graveyards or libraries"; + staticText = "Creature cards in graveyards and libraries can't enter the battlefield"; } public GrafdiggersCageEffect(final GrafdiggersCageEffect effect) { @@ -120,12 +120,11 @@ class GrafdiggersCageEffect2 extends ContinuousRuleModifyingEffectImpl { return new GrafdiggersCageEffect2(this); } - @Override public boolean checksEventType(GameEvent event, Game game) { return event.getType() == GameEvent.EventType.CAST_SPELL; } - + @Override public boolean applies(GameEvent event, Ability source, Game game) { Card card = game.getCard(event.getSourceId()); diff --git a/Mage.Sets/src/mage/cards/r/RhysticScrying.java b/Mage.Sets/src/mage/cards/r/RhysticScrying.java index f558aa0e119..5dae1c43106 100644 --- a/Mage.Sets/src/mage/cards/r/RhysticScrying.java +++ b/Mage.Sets/src/mage/cards/r/RhysticScrying.java @@ -48,7 +48,7 @@ import mage.players.Player; public class RhysticScrying extends CardImpl { public RhysticScrying(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{2}{U}{U}"); + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{U}{U}"); // Draw three cards. Then, if any player pays {2}, discard three cards. this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(3)); @@ -69,7 +69,7 @@ class RhysticScryingEffect extends OneShotEffect { public RhysticScryingEffect() { super(Outcome.Benefit); - this.staticText = "Then, if any player pays {2}, discard three cards"; + this.staticText = "Then if any player pays {2}, discard three cards"; } public RhysticScryingEffect(final RhysticScryingEffect effect) {