From 7f6d5bcac6ff1d9a6807f9158eb82be4759bec38 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Fri, 25 Jul 2014 14:43:13 +0200 Subject: [PATCH] * Fixed a bug introduced with TargetSource() fix. --- .../prevent/HarmsWayRedirectDamageTest.java | 2 -- Mage/src/mage/target/TargetImpl.java | 14 ++++++-------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/replacement/prevent/HarmsWayRedirectDamageTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/replacement/prevent/HarmsWayRedirectDamageTest.java index 7bb957d17d8..6ef787e1103 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/replacement/prevent/HarmsWayRedirectDamageTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/replacement/prevent/HarmsWayRedirectDamageTest.java @@ -64,8 +64,6 @@ public class HarmsWayRedirectDamageTest extends CardTestPlayerBase { * Tests redirecting from triggered ability */ @Test - // This test doesn't work in test framework but the test case works fine in real game - // -- this is because of no possibility to ask AI to play spell when triggered is in the stack public void testRedirectTriggeredAbilityDamage() { addCard(Zone.HAND, playerA, "Lightning Bolt"); // The next 2 damage that a source of your choice would deal to you and/or permanents diff --git a/Mage/src/mage/target/TargetImpl.java b/Mage/src/mage/target/TargetImpl.java index 8c32a57a897..3cf52888f9a 100644 --- a/Mage/src/mage/target/TargetImpl.java +++ b/Mage/src/mage/target/TargetImpl.java @@ -228,8 +228,8 @@ public abstract class TargetImpl implements Target { //20100423 - 113.3 if (maxNumberOfTargets == 0 || targets.size() < maxNumberOfTargets) { if (!targets.containsKey(id)) { - if (source != null) { - if (!skipEvent && !game.replaceEvent(GameEvent.getEvent(EventType.TARGET, id, source.getSourceId(), source.getControllerId()))) { + if (source != null && !skipEvent) { + if (!game.replaceEvent(GameEvent.getEvent(EventType.TARGET, id, source.getSourceId(), source.getControllerId()))) { targets.put(id, 0); rememberZoneChangeCounter(id, game); chosen = targets.size() >= minNumberOfTargets; @@ -237,8 +237,7 @@ public abstract class TargetImpl implements Target { game.fireEvent(GameEvent.getEvent(EventType.TARGETED, id, source.getSourceId(), source.getControllerId())); } } - } - else { + } else { targets.put(id, 0); } } @@ -267,8 +266,8 @@ public abstract class TargetImpl implements Target { if (targets.containsKey(id)) { amount += targets.get(id); } - if (source != null) { - if (!skipEvent && !game.replaceEvent(GameEvent.getEvent(EventType.TARGET, id, source.getId(), source.getControllerId()))) { + if (source != null && !skipEvent) { + if (!game.replaceEvent(GameEvent.getEvent(EventType.TARGET, id, source.getId(), source.getControllerId()))) { targets.put(id, amount); rememberZoneChangeCounter(id, game); chosen = targets.size() >= minNumberOfTargets; @@ -276,8 +275,7 @@ public abstract class TargetImpl implements Target { game.fireEvent(GameEvent.getEvent(EventType.TARGETED, id, source.getId(), source.getControllerId())); } } - } - else { + } else { targets.put(id, amount); rememberZoneChangeCounter(id, game); }