diff --git a/Mage.Sets/src/mage/cards/m/Mistfolk.java b/Mage.Sets/src/mage/cards/m/Mistfolk.java index 60ba8fc1622..44b55bda1e4 100644 --- a/Mage.Sets/src/mage/cards/m/Mistfolk.java +++ b/Mage.Sets/src/mage/cards/m/Mistfolk.java @@ -2,7 +2,6 @@ package mage.cards.m; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.Mode; import mage.abilities.SpellAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; @@ -17,8 +16,8 @@ import mage.filter.predicate.ObjectSourcePlayerPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.game.stack.Spell; -import mage.target.Target; import mage.target.TargetSpell; +import mage.util.CardUtil; import java.util.UUID; @@ -69,13 +68,10 @@ enum MistfolkPredicate implements ObjectSourcePlayerPredicate { if (sourceObject == null || input.getObject() == null) { return false; } + for (SpellAbility spellAbility : input.getObject().getSpellAbilities()) { - for (Mode mode : spellAbility.getModes().values()) { - for (Target target : spellAbility.getTargets()) { - if (target.getTargets().contains(input.getSourceId())) { - return true; - } - } + if (CardUtil.getAllSelectedTargets(spellAbility, game).contains(input.getSourceId())) { + return true; } } return false; diff --git a/Mage.Sets/src/mage/cards/w/WallOfShadows.java b/Mage.Sets/src/mage/cards/w/WallOfShadows.java index 65ffc118058..f5df95b7287 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfShadows.java +++ b/Mage.Sets/src/mage/cards/w/WallOfShadows.java @@ -77,7 +77,8 @@ enum CanTargetOnlyWallsPredicate implements Predicate { return false; } boolean canTargetOnlyWalls = false; - for (Mode mode : stackObject.getStackAbility().getModes().values()) { + for (UUID modeId : stackObject.getStackAbility().getModes().getSelectedModes()) { + Mode mode = stackObject.getStackAbility().getModes().get(modeId); for (Target target : mode.getTargets()) { Filter filter = target.getFilter(); if (!(filter instanceof FilterPermanent)) { diff --git a/Mage/src/main/java/mage/constants/SubType.java b/Mage/src/main/java/mage/constants/SubType.java index ed6bcf983b1..5037f60d44a 100644 --- a/Mage/src/main/java/mage/constants/SubType.java +++ b/Mage/src/main/java/mage/constants/SubType.java @@ -551,7 +551,7 @@ public enum SubType { @Override public String toString() { - return "Subtype(" + subtype + ')'; + return "Subtype(" + subtype + ')'; // warning, do not change until refactor code like predicate.toString().equals } } diff --git a/Mage/src/main/java/mage/game/command/emblems/DackFaydenEmblem.java b/Mage/src/main/java/mage/game/command/emblems/DackFaydenEmblem.java index 0a2dabc7efb..faa2636f36d 100644 --- a/Mage/src/main/java/mage/game/command/emblems/DackFaydenEmblem.java +++ b/Mage/src/main/java/mage/game/command/emblems/DackFaydenEmblem.java @@ -70,7 +70,8 @@ class DackFaydenEmblemTriggeredAbility extends TriggeredAbilityImpl { Spell spell = game.getStack().getSpell(event.getTargetId()); if (spell != null) { SpellAbility spellAbility = spell.getSpellAbility(); - for (Mode mode : spellAbility.getModes().values()) { + for (UUID modeId : spellAbility.getModes().getSelectedModes()) { + Mode mode = spellAbility.getModes().get(modeId); for (Target target : mode.getTargets()) { if (!target.isNotTarget()) { for (UUID targetId : target.getTargets()) {