From 4cb35e7754a0476226af2cb9c74c2a9c9c46179b Mon Sep 17 00:00:00 2001 From: Hanmac Date: Tue, 9 Aug 2016 15:23:52 +0000 Subject: [PATCH] TriggerHandler: corner the special case where the ChangesZone Trigger should be active only if its a dies (Battlefield -> Graveyard) trigger. --- .../src/main/java/forge/game/trigger/TriggerHandler.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java b/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java index a2b2cab488a..9e478929082 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java @@ -404,10 +404,14 @@ public class TriggerHandler { } if (!regtrig.zonesCheck(game.getZoneOf(regtrig.getHostCard()))) { + final Map params = regtrig.getMapParams(); + final Card hostCard = regtrig.getHostCard(); if (!(regtrig instanceof TriggerChangesZone && - regtrig.getHostCard().getZone().is(ZoneType.Graveyard) && + "Battlefield".equals(params.get("Origin")) && + "Graveyard".equals(params.get("Destination")) && + hostCard.getZone().is(ZoneType.Graveyard) && regtrig.getActiveZone().contains(ZoneType.Battlefield) && - game.getLastStateBattlefield().contains(regtrig.getHostCard()))) { + game.getLastStateBattlefield().contains(hostCard))) { return false; // Host card isn't where it needs to be. } }