From b808b7616408d9aa29a8dcd6c7dd4166ac44efd2 Mon Sep 17 00:00:00 2001 From: Hans Mackowiak Date: Sun, 20 Feb 2022 15:38:30 +0100 Subject: [PATCH] getCloneStates: copying a non Creature can't set PT --- .../main/java/forge/game/card/CardFactory.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/forge-game/src/main/java/forge/game/card/CardFactory.java b/forge-game/src/main/java/forge/game/card/CardFactory.java index 8f4df50d767..949be333a03 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactory.java +++ b/forge-game/src/main/java/forge/game/card/CardFactory.java @@ -681,13 +681,16 @@ public class CardFactory { state.removeIntrinsicKeyword(kw); } - if (sa.hasParam("SetPower")) { - state.setBasePower(AbilityUtils.calculateAmount(sa.getHostCard(), sa.getParam("SetPower"), sa)); + if (state.getType().isCreature()) { + if (sa.hasParam("SetPower")) { + state.setBasePower(AbilityUtils.calculateAmount(sa.getHostCard(), sa.getParam("SetPower"), sa)); + } + if (sa.hasParam("SetToughness")) { + state.setBaseToughness(AbilityUtils.calculateAmount(sa.getHostCard(), sa.getParam("SetToughness"), sa)); + } } - if (sa.hasParam("SetToughness")) { - state.setBaseToughness(AbilityUtils.calculateAmount(sa.getHostCard(), sa.getParam("SetToughness"), sa)); - } - if (sa.hasParam("SetLoyalty")) { + + if (state.getType().isPlaneswalker() && sa.hasParam("SetLoyalty")) { state.setBaseLoyalty(String.valueOf(sa.getParam("SetLoyalty"))); }