From 018a2a163e18fd44807fe2276c20daf9ce5cac5c Mon Sep 17 00:00:00 2001 From: Duncan Townsend Date: Thu, 22 Jan 2015 01:19:17 -0500 Subject: [PATCH] Use mage.util.SpellTargetAddress in Ink-Treader Nephilim. --- .../sets/guildpact/InkTreaderNephilim.java | 30 +++++++------------ 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/Mage.Sets/src/mage/sets/guildpact/InkTreaderNephilim.java b/Mage.Sets/src/mage/sets/guildpact/InkTreaderNephilim.java index c632d7d58d9..7dfdd03cad6 100644 --- a/Mage.Sets/src/mage/sets/guildpact/InkTreaderNephilim.java +++ b/Mage.Sets/src/mage/sets/guildpact/InkTreaderNephilim.java @@ -60,7 +60,7 @@ import mage.abilities.Modes; import mage.filter.predicate.ObjectPlayer; import mage.filter.predicate.ObjectPlayerPredicate; import mage.target.TargetPermanent; - +import mage.util.SpellTargetAddress; /** * @author duncancmt @@ -190,26 +190,18 @@ class InkTreaderNephilimEffect extends OneShotEffect { continue; // copy only for other creatures } boolean legal = true; - for (SpellAbility sa : copy.getSpellAbilities()) { - Modes modes = sa.getModes(); - for (UUID mode : modes.getSelectedModes()) { - for (Target targetInstance : modes.get(mode).getTargets()) { - legal &= targetInstance.canTarget(permanent.getId(), sa, game); - } - } + for (SpellTargetAddress addr : SpellTargetAddress.walk(copy)) { + Target targetInstance = addr.getTarget(copy); + legal &= targetInstance.canTarget(permanent.getId(), addr.getSpellAbility(copy), game); } if (legal) { - for (SpellAbility sa : copy.getSpellAbilities()) { - Modes modes = sa.getModes(); - for (UUID mode : modes.getSelectedModes()) { - for (Target targetInstance : modes.get(mode).getTargets()) { - int numTargets = targetInstance.getNumberOfTargets(); - targetInstance.clearChosen(); - while (numTargets > 0) { - targetInstance.add(permanent.getId(), game); - numTargets--; - } - } + for (SpellTargetAddress addr : SpellTargetAddress.walk(copy)) { + Target targetInstance = addr.getTarget(copy); + int numTargets = targetInstance.getNumberOfTargets(); + targetInstance.clearChosen(); + while (numTargets > 0) { + targetInstance.add(permanent.getId(), game); + numTargets--; } } targetable.put(permanent.getId(), copy);