TriggerHandler: corner the special case where the ChangesZone Trigger should be active

only if its a dies (Battlefield -> Graveyard) trigger.
This commit is contained in:
Hanmac
2016-08-09 15:23:52 +00:00
parent 1098dd39a1
commit 4cb35e7754

View File

@@ -404,10 +404,14 @@ public class TriggerHandler {
}
if (!regtrig.zonesCheck(game.getZoneOf(regtrig.getHostCard()))) {
final Map<String, String> 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.
}
}