From 21a85ad3c281ae42802c72f9ab5948ce4d625cd8 Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Tue, 18 Jul 2023 22:19:54 +0200 Subject: [PATCH] if replaced coretype provides its subtype old isn't retained --- forge-game/src/main/java/forge/game/card/CardFactory.java | 2 +- forge-game/src/main/java/forge/game/card/CardState.java | 5 ++++- 2 files changed, 5 insertions(+), 2 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 f71a724b424..cea6061e3f1 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactory.java +++ b/forge-game/src/main/java/forge/game/card/CardFactory.java @@ -798,7 +798,7 @@ public class CardFactory { } if (sa.hasParam("RemoveCardTypes")) { - state.removeCardTypes(); + state.removeCardTypes(sa.hasParam("RemoveSubTypes")); } state.addType(types); diff --git a/forge-game/src/main/java/forge/game/card/CardState.java b/forge-game/src/main/java/forge/game/card/CardState.java index 5e0e731de21..ebbb59a1096 100644 --- a/forge-game/src/main/java/forge/game/card/CardState.java +++ b/forge-game/src/main/java/forge/game/card/CardState.java @@ -155,8 +155,11 @@ public class CardState extends GameObject implements IHasSVars { } } - public final void removeCardTypes() { + public final void removeCardTypes(boolean sanisfy) { type.removeCardTypes(); + if (sanisfy) { + type.sanisfySubtypes(); + } } public final void setCreatureTypes(Collection ctypes) {