From b9cf836c1a1c198914e6cb7eb7ae1659c6b0e73c Mon Sep 17 00:00:00 2001 From: kms70847 Date: Mon, 29 Jul 2019 22:48:54 -0400 Subject: [PATCH] Fix for https://git.cardforge.org/core-developers/forge/issues/619 --- forge-game/src/main/java/forge/game/card/Card.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/forge-game/src/main/java/forge/game/card/Card.java b/forge-game/src/main/java/forge/game/card/Card.java index 26c21399155..ab6660bbc2b 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -2697,6 +2697,13 @@ public class Card extends GameEntity implements Comparable { } public final Player getController() { + if ((currentZone == null) || ((currentZone.getZoneType() != ZoneType.Battlefield) && (currentZone.getZoneType() != ZoneType.Stack))){ + //only permanents and spells have controllers [108.4], + //so a card really only has a controller while it's on the stack or battlefield. + //everywhere else, just use the owner [108.4a]. + return owner; + } + Entry lastEntry = tempControllers.lastEntry(); if (lastEntry != null) { final long lastTimestamp = lastEntry.getKey();