diff --git a/Mage.Sets/src/mage/sets/avacynrestored/MisthollowGriffin.java b/Mage.Sets/src/mage/sets/avacynrestored/MisthollowGriffin.java index f2871e40d3b..5ca6063e6ec 100644 --- a/Mage.Sets/src/mage/sets/avacynrestored/MisthollowGriffin.java +++ b/Mage.Sets/src/mage/sets/avacynrestored/MisthollowGriffin.java @@ -77,7 +77,7 @@ public class MisthollowGriffin extends CardImpl { class MisthollowGriffinPlayEffect extends AsThoughEffectImpl { public MisthollowGriffinPlayEffect() { - super(AsThoughEffectType.CAST_FROM_NON_HAND_ZONE, Duration.EndOfGame, Outcome.Benefit); + super(AsThoughEffectType.PLAY_FROM_NON_HAND_ZONE, Duration.EndOfGame, Outcome.Benefit); staticText = "You may cast {this} from exile"; } diff --git a/Mage.Sets/src/mage/sets/avacynrestored/StolenGoods.java b/Mage.Sets/src/mage/sets/avacynrestored/StolenGoods.java index 4da1835a7f7..20821d385d1 100644 --- a/Mage.Sets/src/mage/sets/avacynrestored/StolenGoods.java +++ b/Mage.Sets/src/mage/sets/avacynrestored/StolenGoods.java @@ -114,7 +114,7 @@ class StolenGoodsEffect extends OneShotEffect { class StolenGoodsCastFromExileEffect extends AsThoughEffectImpl { public StolenGoodsCastFromExileEffect() { - super(AsThoughEffectType.CAST_FROM_NON_HAND_ZONE, Duration.EndOfTurn, Outcome.Benefit); + super(AsThoughEffectType.PLAY_FROM_NON_HAND_ZONE, Duration.EndOfTurn, Outcome.Benefit); staticText = "You may cast card from exile"; } diff --git a/Mage.Sets/src/mage/sets/betrayersofkamigawa/OrnateKanzashi.java b/Mage.Sets/src/mage/sets/betrayersofkamigawa/OrnateKanzashi.java index f011b19fec8..94b9de2efdd 100644 --- a/Mage.Sets/src/mage/sets/betrayersofkamigawa/OrnateKanzashi.java +++ b/Mage.Sets/src/mage/sets/betrayersofkamigawa/OrnateKanzashi.java @@ -119,7 +119,7 @@ class OrnateKanzashiEffect extends OneShotEffect { class OrnateKanzashiCastFromExileEffect extends AsThoughEffectImpl { public OrnateKanzashiCastFromExileEffect(UUID cardId) { - super(AsThoughEffectType.CAST_FROM_NON_HAND_ZONE, Duration.EndOfTurn, Outcome.Benefit); + super(AsThoughEffectType.PLAY_FROM_NON_HAND_ZONE, Duration.EndOfTurn, Outcome.Benefit); staticText = "You may play that card from exile this turn"; } diff --git a/Mage.Sets/src/mage/sets/commander/KaradorGhostChieftain.java b/Mage.Sets/src/mage/sets/commander/KaradorGhostChieftain.java index 8c7a39513a1..def1856203b 100644 --- a/Mage.Sets/src/mage/sets/commander/KaradorGhostChieftain.java +++ b/Mage.Sets/src/mage/sets/commander/KaradorGhostChieftain.java @@ -167,7 +167,7 @@ class KaradorGhostChieftainContinuousEffect extends ContinuousEffectImpl { class KaradorGhostChieftainCastFromGraveyardEffect extends AsThoughEffectImpl { KaradorGhostChieftainCastFromGraveyardEffect() { - super(AsThoughEffectType.CAST_FROM_NON_HAND_ZONE, Duration.EndOfTurn, Outcome.Benefit); + super(AsThoughEffectType.PLAY_FROM_NON_HAND_ZONE, Duration.EndOfTurn, Outcome.Benefit); staticText = "You may cast one creature card from your graveyard"; } diff --git a/Mage.Sets/src/mage/sets/darkascension/FiendOfTheShadows.java b/Mage.Sets/src/mage/sets/darkascension/FiendOfTheShadows.java index 700be0fcfcb..a062078c77a 100644 --- a/Mage.Sets/src/mage/sets/darkascension/FiendOfTheShadows.java +++ b/Mage.Sets/src/mage/sets/darkascension/FiendOfTheShadows.java @@ -96,7 +96,7 @@ class FiendOfTheShadowsEffect extends AsThoughEffectImpl { private final UUID exileId; public FiendOfTheShadowsEffect(UUID exileId) { - super(AsThoughEffectType.CAST_FROM_NON_HAND_ZONE, Duration.EndOfGame, Outcome.Benefit); + super(AsThoughEffectType.PLAY_FROM_NON_HAND_ZONE, Duration.EndOfGame, Outcome.Benefit); this.exileId = exileId; staticText = "You may play that card for as long as it remains exiled"; } diff --git a/Mage.Sets/src/mage/sets/darkascension/Gravecrawler.java b/Mage.Sets/src/mage/sets/darkascension/Gravecrawler.java index 18da648ad9f..7182538d8b2 100644 --- a/Mage.Sets/src/mage/sets/darkascension/Gravecrawler.java +++ b/Mage.Sets/src/mage/sets/darkascension/Gravecrawler.java @@ -88,7 +88,7 @@ class GravecrawlerPlayEffect extends AsThoughEffectImpl { } public GravecrawlerPlayEffect() { - super(AsThoughEffectType.CAST_FROM_NON_HAND_ZONE, Duration.EndOfGame, Outcome.Benefit); + super(AsThoughEffectType.PLAY_FROM_NON_HAND_ZONE, Duration.EndOfGame, Outcome.Benefit); staticText = "You may cast {this} from your graveyard as long as you control a Zombie"; } diff --git a/Mage.Sets/src/mage/sets/darkascension/HavengulLich.java b/Mage.Sets/src/mage/sets/darkascension/HavengulLich.java index 2f6a7c1e300..108f916f3f3 100644 --- a/Mage.Sets/src/mage/sets/darkascension/HavengulLich.java +++ b/Mage.Sets/src/mage/sets/darkascension/HavengulLich.java @@ -95,7 +95,7 @@ public class HavengulLich extends CardImpl { class HavengulLichPlayEffect extends AsThoughEffectImpl { public HavengulLichPlayEffect() { - super(AsThoughEffectType.CAST_FROM_NON_HAND_ZONE, Duration.EndOfTurn, Outcome.Benefit); + super(AsThoughEffectType.PLAY_FROM_NON_HAND_ZONE, Duration.EndOfTurn, Outcome.Benefit); staticText = "You may cast target creature card in a graveyard this turn"; } diff --git a/Mage.Sets/src/mage/sets/gatecrash/NightveilSpecter.java b/Mage.Sets/src/mage/sets/gatecrash/NightveilSpecter.java index bc3f553ece2..2485b4a7a86 100644 --- a/Mage.Sets/src/mage/sets/gatecrash/NightveilSpecter.java +++ b/Mage.Sets/src/mage/sets/gatecrash/NightveilSpecter.java @@ -129,7 +129,7 @@ class NightveilSpecterExileEffect extends OneShotEffect { class NightveilSpecterEffect extends AsThoughEffectImpl { public NightveilSpecterEffect() { - super(AsThoughEffectType.CAST_FROM_NON_HAND_ZONE, Duration.EndOfGame, Outcome.Benefit); + super(AsThoughEffectType.PLAY_FROM_NON_HAND_ZONE, Duration.EndOfGame, Outcome.Benefit); staticText = "You may play cards exiled with {this}"; } diff --git a/Mage.Sets/src/mage/sets/journeyintonyx/PropheticFlamespeaker.java b/Mage.Sets/src/mage/sets/journeyintonyx/PropheticFlamespeaker.java index 53cff71578a..bf5bb506dc1 100644 --- a/Mage.Sets/src/mage/sets/journeyintonyx/PropheticFlamespeaker.java +++ b/Mage.Sets/src/mage/sets/journeyintonyx/PropheticFlamespeaker.java @@ -123,7 +123,7 @@ class PropheticFlamespeakerExileEffect extends OneShotEffect { class PropheticFlamespeakerCastFromExileEffect extends AsThoughEffectImpl { public PropheticFlamespeakerCastFromExileEffect() { - super(AsThoughEffectType.CAST_FROM_NON_HAND_ZONE, Duration.EndOfTurn, Outcome.Benefit); + super(AsThoughEffectType.PLAY_FROM_NON_HAND_ZONE, Duration.EndOfTurn, Outcome.Benefit); staticText = "You may play the card from exile"; } diff --git a/Mage.Sets/src/mage/sets/khansoftarkir/KheruSpellsnatcher.java b/Mage.Sets/src/mage/sets/khansoftarkir/KheruSpellsnatcher.java index bdbc9f6b2d0..0388436b26e 100644 --- a/Mage.Sets/src/mage/sets/khansoftarkir/KheruSpellsnatcher.java +++ b/Mage.Sets/src/mage/sets/khansoftarkir/KheruSpellsnatcher.java @@ -132,7 +132,7 @@ class KheruSpellsnatcherEffect extends OneShotEffect { class KheruSpellsnatcherCastFromExileEffect extends AsThoughEffectImpl { KheruSpellsnatcherCastFromExileEffect() { - super(AsThoughEffectType.CAST_FROM_NON_HAND_ZONE, Duration.Custom, Outcome.Benefit); + super(AsThoughEffectType.PLAY_FROM_NON_HAND_ZONE, Duration.Custom, Outcome.Benefit); staticText = "You may cast that card without paying its mana cost as long as it remains exiled"; } diff --git a/Mage.Sets/src/mage/sets/khansoftarkir/NarsetEnlightenedMaster.java b/Mage.Sets/src/mage/sets/khansoftarkir/NarsetEnlightenedMaster.java index 018b844605e..dec8f732c09 100644 --- a/Mage.Sets/src/mage/sets/khansoftarkir/NarsetEnlightenedMaster.java +++ b/Mage.Sets/src/mage/sets/khansoftarkir/NarsetEnlightenedMaster.java @@ -109,7 +109,7 @@ class NarsetEnlightenedMasterExileEffect extends OneShotEffect { Card card = player.getLibrary().getFromTop(game); if (card != null) { player.moveCardToExileWithInfo(card, CardUtil.getCardExileZoneId(game, source), sourceObject.getLogName(), source.getSourceId(), game, Zone.LIBRARY); - if (!card.getCardType().contains(CardType.CREATURE)) { + if (!card.getCardType().contains(CardType.CREATURE) && !card.getCardType().contains(CardType.LAND)) { ContinuousEffect effect = new NarsetEnlightenedMasterCastFromExileEffect(); effect.setTargetPointer(new FixedTarget(card.getId())); game.addEffect(effect, source); @@ -131,7 +131,7 @@ class NarsetEnlightenedMasterExileEffect extends OneShotEffect { class NarsetEnlightenedMasterCastFromExileEffect extends AsThoughEffectImpl { public NarsetEnlightenedMasterCastFromExileEffect() { - super(AsThoughEffectType.CAST_FROM_NON_HAND_ZONE, Duration.EndOfTurn, Outcome.Benefit); + super(AsThoughEffectType.PLAY_FROM_NON_HAND_ZONE, Duration.EndOfTurn, Outcome.Benefit); staticText = "Until end of turn, you may cast noncreature cards exiled with {this} this turn without paying their mana costs"; } diff --git a/Mage.Sets/src/mage/sets/magic2014/ChandraPyromaster.java b/Mage.Sets/src/mage/sets/magic2014/ChandraPyromaster.java index 431c6857527..e6d2f6bc1f3 100644 --- a/Mage.Sets/src/mage/sets/magic2014/ChandraPyromaster.java +++ b/Mage.Sets/src/mage/sets/magic2014/ChandraPyromaster.java @@ -229,7 +229,7 @@ class ChandraPyromasterEffect2 extends OneShotEffect { class ChandraPyromasterCastFromExileEffect extends AsThoughEffectImpl { public ChandraPyromasterCastFromExileEffect() { - super(AsThoughEffectType.CAST_FROM_NON_HAND_ZONE, Duration.EndOfTurn, Outcome.Benefit); + super(AsThoughEffectType.PLAY_FROM_NON_HAND_ZONE, Duration.EndOfTurn, Outcome.Benefit); staticText = "You may play the card from exile this turn"; } diff --git a/Mage.Sets/src/mage/sets/magic2015/ActOnImpulse.java b/Mage.Sets/src/mage/sets/magic2015/ActOnImpulse.java index dd282da2c65..69cdc68f5f3 100644 --- a/Mage.Sets/src/mage/sets/magic2015/ActOnImpulse.java +++ b/Mage.Sets/src/mage/sets/magic2015/ActOnImpulse.java @@ -120,7 +120,7 @@ class ActOnImpulseMayPlayExiledEffect extends AsThoughEffectImpl { public List cards = new ArrayList<>(); public ActOnImpulseMayPlayExiledEffect(List cards) { - super(AsThoughEffectType.CAST_FROM_NON_HAND_ZONE, Duration.EndOfTurn, Outcome.Benefit); + super(AsThoughEffectType.PLAY_FROM_NON_HAND_ZONE, Duration.EndOfTurn, Outcome.Benefit); this.cards.addAll(cards); } diff --git a/Mage.Sets/src/mage/sets/newphyrexia/PraetorsGrasp.java b/Mage.Sets/src/mage/sets/newphyrexia/PraetorsGrasp.java index de75c7d3613..91571058e5a 100644 --- a/Mage.Sets/src/mage/sets/newphyrexia/PraetorsGrasp.java +++ b/Mage.Sets/src/mage/sets/newphyrexia/PraetorsGrasp.java @@ -117,7 +117,7 @@ class PraetorsGraspPlayEffect extends AsThoughEffectImpl { private UUID cardId; public PraetorsGraspPlayEffect(UUID cardId) { - super(AsThoughEffectType.CAST_FROM_NON_HAND_ZONE, Duration.EndOfGame, Outcome.Benefit); + super(AsThoughEffectType.PLAY_FROM_NON_HAND_ZONE, Duration.EndOfGame, Outcome.Benefit); this.cardId = cardId; staticText = "You may look at and play that card for as long as it remains exiled"; } diff --git a/Mage.Sets/src/mage/sets/shadowmoor/KnacksawClique.java b/Mage.Sets/src/mage/sets/shadowmoor/KnacksawClique.java index 71f094562ab..93a971da20f 100644 --- a/Mage.Sets/src/mage/sets/shadowmoor/KnacksawClique.java +++ b/Mage.Sets/src/mage/sets/shadowmoor/KnacksawClique.java @@ -129,7 +129,7 @@ class KnacksawCliqueCastFromExileEffect extends AsThoughEffectImpl { private final UUID exileId; public KnacksawCliqueCastFromExileEffect(UUID cardId, UUID exileId) { - super(AsThoughEffectType.CAST_FROM_NON_HAND_ZONE, Duration.EndOfTurn, Outcome.Benefit); + super(AsThoughEffectType.PLAY_FROM_NON_HAND_ZONE, Duration.EndOfTurn, Outcome.Benefit); staticText = "Until end of turn, you may play that card"; this.cardId = cardId; this.exileId = exileId; diff --git a/Mage.Sets/src/mage/sets/theros/DaxosOfMeletis.java b/Mage.Sets/src/mage/sets/theros/DaxosOfMeletis.java index 0fc00218b80..d52ae4a5027 100644 --- a/Mage.Sets/src/mage/sets/theros/DaxosOfMeletis.java +++ b/Mage.Sets/src/mage/sets/theros/DaxosOfMeletis.java @@ -150,7 +150,7 @@ class DaxosOfMeletisCastFromExileEffect extends AsThoughEffectImpl { private UUID exileId; public DaxosOfMeletisCastFromExileEffect(UUID cardId, UUID exileId) { - super(AsThoughEffectType.CAST_FROM_NON_HAND_ZONE, Duration.EndOfTurn, Outcome.Benefit); + super(AsThoughEffectType.PLAY_FROM_NON_HAND_ZONE, Duration.EndOfTurn, Outcome.Benefit); staticText = "Until end of turn, you may cast that card and you may spend mana as though it were mana of any color to cast it"; this.cardId = cardId; this.exileId = exileId; diff --git a/Mage.Sets/src/mage/sets/theros/PsychicIntrusion.java b/Mage.Sets/src/mage/sets/theros/PsychicIntrusion.java index 5dc8f993c6c..d8b1e533927 100644 --- a/Mage.Sets/src/mage/sets/theros/PsychicIntrusion.java +++ b/Mage.Sets/src/mage/sets/theros/PsychicIntrusion.java @@ -157,7 +157,7 @@ class PsychicIntrusionExileEffect extends OneShotEffect { class PsychicIntrusionCastFromExileEffect extends AsThoughEffectImpl { public PsychicIntrusionCastFromExileEffect() { - super(AsThoughEffectType.CAST_FROM_NON_HAND_ZONE, Duration.Custom, Outcome.Benefit); + super(AsThoughEffectType.PLAY_FROM_NON_HAND_ZONE, Duration.Custom, Outcome.Benefit); staticText = "You may cast that card for as long as it remains exiled, and you may spend mana as though it were mana of any color to cast that spell"; } diff --git a/Mage.Sets/src/mage/sets/timeshifted/GrinningTotem.java b/Mage.Sets/src/mage/sets/timeshifted/GrinningTotem.java index ac58ea1c574..db88c285545 100644 --- a/Mage.Sets/src/mage/sets/timeshifted/GrinningTotem.java +++ b/Mage.Sets/src/mage/sets/timeshifted/GrinningTotem.java @@ -135,7 +135,7 @@ class GrinningTotemSearchAndExileEffect extends OneShotEffect { class GrinningTotemMayPlayEffect extends AsThoughEffectImpl { public GrinningTotemMayPlayEffect() { - super(AsThoughEffectType.CAST_FROM_NON_HAND_ZONE, Duration.Custom, Outcome.Benefit); + super(AsThoughEffectType.PLAY_FROM_NON_HAND_ZONE, Duration.Custom, Outcome.Benefit); this.staticText = "Until the beginning of your next upkeep, you may play that card."; } diff --git a/Mage.Sets/src/mage/sets/vintagemasters/MindsDesire.java b/Mage.Sets/src/mage/sets/vintagemasters/MindsDesire.java index c4df381721b..fc3c5061982 100644 --- a/Mage.Sets/src/mage/sets/vintagemasters/MindsDesire.java +++ b/Mage.Sets/src/mage/sets/vintagemasters/MindsDesire.java @@ -113,7 +113,7 @@ class MindsDesireEffect extends OneShotEffect { class MindsDesireCastFromExileEffect extends AsThoughEffectImpl { MindsDesireCastFromExileEffect() { - super(AsThoughEffectType.CAST_FROM_NON_HAND_ZONE, Duration.EndOfTurn, Outcome.Benefit); + super(AsThoughEffectType.PLAY_FROM_NON_HAND_ZONE, Duration.EndOfTurn, Outcome.Benefit); staticText = "you may play that card without paying its mana cost"; } diff --git a/Mage.Sets/src/mage/sets/worldwake/ThadaAdelAcquisitor.java b/Mage.Sets/src/mage/sets/worldwake/ThadaAdelAcquisitor.java index 98fe2e27cdf..a801fe22ccc 100644 --- a/Mage.Sets/src/mage/sets/worldwake/ThadaAdelAcquisitor.java +++ b/Mage.Sets/src/mage/sets/worldwake/ThadaAdelAcquisitor.java @@ -128,7 +128,7 @@ class ThadaAdelAcquisitorEffect extends OneShotEffect { class ThadaAdelPlayFromExileEffect extends AsThoughEffectImpl { public ThadaAdelPlayFromExileEffect() { - super(AsThoughEffectType.CAST_FROM_NON_HAND_ZONE, Duration.EndOfTurn, Outcome.Benefit); + super(AsThoughEffectType.PLAY_FROM_NON_HAND_ZONE, Duration.EndOfTurn, Outcome.Benefit); staticText = "You may play this card from exile"; } diff --git a/Mage/src/mage/abilities/effects/common/continious/PlayTheTopCardEffect.java b/Mage/src/mage/abilities/effects/common/continious/PlayTheTopCardEffect.java index e5be6205da2..771ff48be89 100644 --- a/Mage/src/mage/abilities/effects/common/continious/PlayTheTopCardEffect.java +++ b/Mage/src/mage/abilities/effects/common/continious/PlayTheTopCardEffect.java @@ -52,7 +52,7 @@ public class PlayTheTopCardEffect extends AsThoughEffectImpl { } public PlayTheTopCardEffect(FilterCard filter) { - super(AsThoughEffectType.CAST_FROM_NON_HAND_ZONE, Duration.WhileOnBattlefield, Outcome.Benefit); + super(AsThoughEffectType.PLAY_FROM_NON_HAND_ZONE, Duration.WhileOnBattlefield, Outcome.Benefit); this.filter = filter; staticText = "You may play the top card of your library if it's a " + filter.getMessage(); } diff --git a/Mage/src/mage/constants/AsThoughEffectType.java b/Mage/src/mage/constants/AsThoughEffectType.java index a4b9067ea72..218d416b437 100644 --- a/Mage/src/mage/constants/AsThoughEffectType.java +++ b/Mage/src/mage/constants/AsThoughEffectType.java @@ -10,7 +10,7 @@ public enum AsThoughEffectType { BLOCK_TAPPED, BLOCK_SHADOW, BE_BLOCKED, - CAST_FROM_NON_HAND_ZONE, + PLAY_FROM_NON_HAND_ZONE, CAST_AS_INSTANT, DAMAGE, HEXPROOF, diff --git a/Mage/src/mage/players/PlayerImpl.java b/Mage/src/mage/players/PlayerImpl.java index 5e6ef809568..f8d813548b8 100644 --- a/Mage/src/mage/players/PlayerImpl.java +++ b/Mage/src/mage/players/PlayerImpl.java @@ -1133,7 +1133,7 @@ public abstract class PlayerImpl implements Player, Serializable { } } } - if (zone != Zone.BATTLEFIELD && game.getContinuousEffects().asThough(object.getId(), AsThoughEffectType.CAST_FROM_NON_HAND_ZONE, this.getId(), game)) { + if (zone != Zone.BATTLEFIELD && game.getContinuousEffects().asThough(object.getId(), AsThoughEffectType.PLAY_FROM_NON_HAND_ZONE, this.getId(), game)) { for (Ability ability: object.getAbilities()) { ability.setControllerId(this.getId()); if (ability instanceof ActivatedAbility && ability.getZone().match(Zone.HAND) @@ -2171,7 +2171,7 @@ public abstract class PlayerImpl implements Player, Serializable { } } for (Card card : graveyard.getUniqueCards(game)) { - boolean asThoughtCast = game.getContinuousEffects().asThough(card.getId(), AsThoughEffectType.CAST_FROM_NON_HAND_ZONE, this.getId(), game); + boolean asThoughtCast = game.getContinuousEffects().asThough(card.getId(), AsThoughEffectType.PLAY_FROM_NON_HAND_ZONE, this.getId(), game); for (ActivatedAbility ability : card.getAbilities().getActivatedAbilities(Zone.ALL)) { boolean possible = false; if (ability.getZone().match(Zone.GRAVEYARD)) { @@ -2193,7 +2193,7 @@ public abstract class PlayerImpl implements Player, Serializable { } for (ExileZone exile : game.getExile().getExileZones()) { for (Card card : exile.getCards(game)) { - if (game.getContinuousEffects().asThough(card.getId(), AsThoughEffectType.CAST_FROM_NON_HAND_ZONE, this.getId(), game)) { + if (game.getContinuousEffects().asThough(card.getId(), AsThoughEffectType.PLAY_FROM_NON_HAND_ZONE, this.getId(), game)) { for (Ability ability : card.getAbilities()) { if (ability.getZone().match(Zone.HAND)) { ability.setControllerId(this.getId()); // controller must be set for case owner != caster @@ -2209,7 +2209,7 @@ public abstract class PlayerImpl implements Player, Serializable { } for (Cards cards : game.getState().getRevealed().values()) { for (Card card : cards.getCards(game)) { - if (game.getContinuousEffects().asThough(card.getId(), AsThoughEffectType.CAST_FROM_NON_HAND_ZONE, this.getId(), game)) { + if (game.getContinuousEffects().asThough(card.getId(), AsThoughEffectType.PLAY_FROM_NON_HAND_ZONE, this.getId(), game)) { for (ActivatedAbility ability : card.getAbilities().getActivatedAbilities(Zone.HAND)) { if (ability instanceof SpellAbility || ability instanceof PlayLandAbility) { playable.add(ability);