diff --git a/Mage.Sets/src/mage/cards/e/Excavation.java b/Mage.Sets/src/mage/cards/e/Excavation.java index bd1ae8be2c3..f451a92e115 100644 --- a/Mage.Sets/src/mage/cards/e/Excavation.java +++ b/Mage.Sets/src/mage/cards/e/Excavation.java @@ -1,25 +1,17 @@ - package mage.cards.e; -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.ActivatedAbilityImpl; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.StaticFilters; -import mage.filter.common.FilterControlledLandPermanent; -import mage.game.Game; -import mage.players.Player; -import mage.target.common.TargetControlledPermanent; + +import java.util.UUID; /** * @@ -46,33 +38,3 @@ public final class Excavation extends CardImpl { return new Excavation(this); } } - -class ExcavationEffect extends OneShotEffect { - - ExcavationEffect() { - super(Outcome.DrawCard); - this.staticText = "Draw a card. Any player may activate this ability"; - } - - private ExcavationEffect(final ExcavationEffect effect) { - super(effect); - } - - @Override - public ExcavationEffect copy() { - return new ExcavationEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - if (source instanceof ActivatedAbilityImpl) { - Player activator = game.getPlayer(((ActivatedAbilityImpl) source).getActivatorId()); - if (activator != null) { - activator.drawCards(1, source, game); - return true; - } - - } - return false; - } -} diff --git a/Mage.Sets/src/mage/cards/l/LocusOfEnlightenment.java b/Mage.Sets/src/mage/cards/l/LocusOfEnlightenment.java index 62652921057..98e5d355381 100644 --- a/Mage.Sets/src/mage/cards/l/LocusOfEnlightenment.java +++ b/Mage.Sets/src/mage/cards/l/LocusOfEnlightenment.java @@ -82,12 +82,11 @@ class LocusOfEnlightenmentEffect extends ContinuousEffectImpl { } for (Card card : exileZone.getCards(game)) { for (Ability ability : card.getAbilities(game)) { - if (!(ability instanceof ActivatedAbility)) { - continue; + if (ability.getAbilityType() == AbilityType.ACTIVATED || ability.getAbilityType() == AbilityType.MANA) { + ActivatedAbility copyAbility = (ActivatedAbility) ability.copy(); + copyAbility.setMaxActivationsPerTurn(1); + permanent.addAbility(copyAbility, source.getSourceId(), game); } - ActivatedAbility copyAbility = (ActivatedAbility) ability.copy(); - copyAbility.setMaxActivationsPerTurn(1); - permanent.addAbility(copyAbility, source.getSourceId(), game); } } return true; diff --git a/Mage.Sets/src/mage/cards/t/TheEnigmaJewel.java b/Mage.Sets/src/mage/cards/t/TheEnigmaJewel.java index c3a7d1a8c6f..a7a10d1f583 100644 --- a/Mage.Sets/src/mage/cards/t/TheEnigmaJewel.java +++ b/Mage.Sets/src/mage/cards/t/TheEnigmaJewel.java @@ -3,9 +3,7 @@ package mage.cards.t; import mage.ConditionalMana; import mage.MageObject; import mage.Mana; -import mage.abilities.Abilities; import mage.abilities.Ability; -import mage.abilities.ActivatedAbilityImpl; import mage.abilities.common.EntersBattlefieldTappedAbility; import mage.abilities.condition.Condition; import mage.abilities.costs.Cost; @@ -21,7 +19,6 @@ import mage.constants.CardType; import mage.constants.SuperType; import mage.filter.predicate.Predicate; import mage.game.Game; -import mage.game.permanent.Permanent; import java.util.UUID; @@ -66,20 +63,12 @@ enum TheEnigmaJewelPredicate implements Predicate { @Override public boolean apply(MageObject input, Game game) { return !input.isLand(game) - && getAbilities(input, game) + && input instanceof Card + && ((Card) input).getAbilities(game) .stream() - .anyMatch(ActivatedAbilityImpl.class::isInstance); + .anyMatch(a -> (a.getAbilityType() == AbilityType.ACTIVATED || a.getAbilityType() == AbilityType.MANA)); } - private static Abilities getAbilities(MageObject input, Game game) { - if (input instanceof Permanent) { - return ((Permanent) input).getAbilities(game); - } else if (input instanceof Card) { - return ((Card) input).getAbilities(game); - } else { - throw new UnsupportedOperationException("there shouldn't be a nonpermanent, noncard object here"); - } - } } class TheEnigmaJewelManaBuilder extends ConditionalManaBuilder { diff --git a/Mage/src/main/java/mage/abilities/effects/common/turn/SkipNextTurnSourceEffect.java b/Mage/src/main/java/mage/abilities/effects/common/turn/SkipNextTurnSourceEffect.java index 47f70b04e95..7ef4477b83a 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/turn/SkipNextTurnSourceEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/turn/SkipNextTurnSourceEffect.java @@ -41,7 +41,7 @@ public class SkipNextTurnSourceEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { UUID playerId = null; if (source instanceof ActivatedAbilityImpl) { - playerId = ((ActivatedAbilityImpl) source).getActivatorId(); + playerId = ((ActivatedAbilityImpl) source).getActivatorId(); // for Lethal Vapors } if (playerId == null) { playerId = source.getControllerId();