diff --git a/Mage/src/main/java/mage/watchers/common/CreatedTokenWatcher.java b/Mage/src/main/java/mage/watchers/common/CreatedTokenWatcher.java index 6f8f41acf8b0..1bec02bb4aa9 100644 --- a/Mage/src/main/java/mage/watchers/common/CreatedTokenWatcher.java +++ b/Mage/src/main/java/mage/watchers/common/CreatedTokenWatcher.java @@ -33,7 +33,11 @@ public void watch(GameEvent event, Game game) { playerMap.compute(event.getPlayerId(), CardUtil::setOrIncrementValue); tokenCreatedMap.putIfAbsent(event.getPlayerId(), new HashMap<>()); - Permanent token = game.getPermanent(event.getTargetId()); + Permanent token = game.getPermanentOrLKIBattlefield(event.getTargetId()); + if (token == null) { + // if you catch this then must research + throw new IllegalStateException("Wrong code usage: found created token event, but can't find a real token in battlefield or lki"); + } Map playersTokens = tokenCreatedMap.getOrDefault(event.getPlayerId(), new EnumMap<>(SubType.class)); // TODO: this doesn't handle tokens that are all creature types for (SubType subType : token.getSubtype(game)) {