From f166394db05719ef314d1385280f1e8daaf98c25 Mon Sep 17 00:00:00 2001 From: Hans Mackowiak Date: Tue, 21 Mar 2023 07:39:19 +0100 Subject: [PATCH] GameEntityCounterTable: respect MaxFromEffect for Clockwork --- .../src/main/java/forge/game/GameEntityCounterTable.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/forge-game/src/main/java/forge/game/GameEntityCounterTable.java b/forge-game/src/main/java/forge/game/GameEntityCounterTable.java index c768247e03e..81a5f72acc5 100644 --- a/forge-game/src/main/java/forge/game/GameEntityCounterTable.java +++ b/forge-game/src/main/java/forge/game/GameEntityCounterTable.java @@ -166,7 +166,14 @@ public class GameEntityCounterTable extends ForwardingTable, Ga for (Map.Entry, Map> e : values.entrySet()) { boolean remember = cause != null && cause.hasParam("RememberPut"); for (Map.Entry ec : e.getValue().entrySet()) { - gm.getKey().addCounterInternal(ec.getKey(), ec.getValue(), e.getKey().orNull(), true, result, runParams); + Integer value = ec.getValue(); + if (value == null) { + continue; + } + if (cause != null && cause.hasParam("MaxFromEffect")) { + value = Math.min(value, Integer.parseInt(cause.getParam("MaxFromEffect")) - gm.getKey().getCounters(ec.getKey())); + } + gm.getKey().addCounterInternal(ec.getKey(), value, e.getKey().orNull(), true, result, runParams); if (remember && ec.getValue() >= 1) { cause.getHostCard().addRemembered(gm.getKey()); }