diff --git a/Mage.Sets/src/mage/cards/s/SeekerOfInsight.java b/Mage.Sets/src/mage/cards/s/SeekerOfInsight.java index c384bfd14b1..289144b7980 100644 --- a/Mage.Sets/src/mage/cards/s/SeekerOfInsight.java +++ b/Mage.Sets/src/mage/cards/s/SeekerOfInsight.java @@ -78,6 +78,7 @@ public class SeekerOfInsight extends CardImpl { } class CastNonCreatureSpellCondition implements Condition { + @Override public boolean apply(Game game, Ability source) { SpellsCastWatcher watcher = (SpellsCastWatcher) game.getState().getWatchers().get(SpellsCastWatcher.class.getName()); @@ -97,5 +98,5 @@ class CastNonCreatureSpellCondition implements Condition { @Override public String toString() { return "you've cast a noncreature spell this turn"; + } } -} \ No newline at end of file diff --git a/Mage/src/main/java/mage/abilities/effects/ContinuousEffects.java b/Mage/src/main/java/mage/abilities/effects/ContinuousEffects.java index e732999149c..ea7067e0d21 100644 --- a/Mage/src/main/java/mage/abilities/effects/ContinuousEffects.java +++ b/Mage/src/main/java/mage/abilities/effects/ContinuousEffects.java @@ -962,7 +962,9 @@ public class ContinuousEffects implements Serializable { for (ContinuousEffect effect : layer) { HashSet abilities = layeredEffects.getAbility(effect.getId()); for (Ability ability : abilities) { - effect.apply(Layer.PTChangingEffects_7, SubLayer.CharacteristicDefining_7a, ability, game); + if (abilityActive(ability, game)) { + effect.apply(Layer.PTChangingEffects_7, SubLayer.CharacteristicDefining_7a, ability, game); + } } } for (ContinuousEffect effect : layer) { @@ -1002,6 +1004,11 @@ public class ContinuousEffects implements Serializable { } } + private boolean abilityActive(Ability ability, Game game) { + MageObject object = game.getObject(ability.getSourceId()); + return object != null && object.hasAbility(ability.getId(), game); + } + private void applyLayer(List activeLayerEffects, Layer currentLayer, Game game) { List layer = filterLayeredEffects(activeLayerEffects, currentLayer); if (!layer.isEmpty()) {