From 7a4a5625621f4d7164ae12f466121dcbb945f97c Mon Sep 17 00:00:00 2001 From: swordshine Date: Wed, 7 May 2014 14:04:49 +0000 Subject: [PATCH] - Attempt to fix changing targets of wrapped abilities --- .../main/java/forge/player/PlayerControllerHuman.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java index 3200d2d0179..7196b40ef54 100644 --- a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java +++ b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java @@ -506,14 +506,15 @@ public class PlayerControllerHuman extends PlayerController { */ @Override public TargetChoices chooseNewTargetsFor(SpellAbility ability) { - if (ability.getTargetRestrictions() == null) { + SpellAbility sa = ability.isWrapper() ? ((WrappedAbility) ability).getWrappedAbility() : ability; + if (sa.getTargetRestrictions() == null) { return null; } - TargetChoices oldTarget = ability.getTargets(); - TargetSelection select = new TargetSelection(ability); - ability.resetTargets(); + TargetChoices oldTarget = sa.getTargets(); + TargetSelection select = new TargetSelection(sa); + sa.resetTargets(); if (select.chooseTargets(oldTarget.getNumTargeted())) { - return ability.getTargets(); + return sa.getTargets(); } else { // Return old target, since we had to reset them above