From c324b01a08eb6009e2ef965fa75dd5e206ed60c8 Mon Sep 17 00:00:00 2001 From: North Date: Tue, 23 Apr 2013 17:17:59 +0300 Subject: [PATCH] Fixed TargetSpell --- Mage/src/mage/target/TargetSpell.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Mage/src/mage/target/TargetSpell.java b/Mage/src/mage/target/TargetSpell.java index 0db3d1d029c..a4ce9823cdc 100644 --- a/Mage/src/mage/target/TargetSpell.java +++ b/Mage/src/mage/target/TargetSpell.java @@ -85,7 +85,7 @@ public class TargetSpell extends TargetObject { } Spell spell = game.getStack().getSpell(id); if (spell != null) { - return filter.match(spell, game); + return filter.match(spell, source.getControllerId(), game); } return false; } @@ -99,7 +99,7 @@ public class TargetSpell extends TargetObject { public boolean canChoose(UUID sourceControllerId, Game game) { int count = 0; for (StackObject stackObject: game.getStack()) { - if (stackObject instanceof Spell && game.getPlayer(sourceControllerId).getInRange().contains(stackObject.getControllerId()) && filter.match((Spell)stackObject, game)) { + if (canBeChosen(stackObject, sourceControllerId, game)) { count++; if (count >= this.minNumberOfTargets) return true; @@ -117,7 +117,7 @@ public class TargetSpell extends TargetObject { public Set possibleTargets(UUID sourceControllerId, Game game) { Set possibleTargets = new HashSet(); for (StackObject stackObject: game.getStack()) { - if (stackObject instanceof Spell && game.getPlayer(sourceControllerId).getInRange().contains(stackObject.getControllerId()) && filter.match((Spell)stackObject, game)) { + if (canBeChosen(stackObject, sourceControllerId, game)) { possibleTargets.add(stackObject.getId()); } } @@ -129,4 +129,9 @@ public class TargetSpell extends TargetObject { return new TargetSpell(this); } + private boolean canBeChosen(StackObject stackObject, UUID sourceControllerId, Game game) { + return stackObject instanceof Spell + && game.getPlayer(sourceControllerId).getInRange().contains(stackObject.getControllerId()) + && filter.match((Spell) stackObject, sourceControllerId, game); + } }