diff --git a/forge-game/src/main/java/forge/game/GameAction.java b/forge-game/src/main/java/forge/game/GameAction.java index 831e67c85b8..dc5c623eb4b 100644 --- a/forge-game/src/main/java/forge/game/GameAction.java +++ b/forge-game/src/main/java/forge/game/GameAction.java @@ -1127,7 +1127,7 @@ public boolean visit(final Card c) { }, true); final Comparator comp = (a, b) -> ComparisonChain.start() - .compareTrueFirst(a.hasParam("CharacteristicDefining"), b.hasParam("CharacteristicDefining")) + .compareTrueFirst(a.isCharacteristicDefining(), b.isCharacteristicDefining()) .compare(a.getHostCard().getLayerTimestamp(), b.getHostCard().getLayerTimestamp()) .result(); staticAbilities.sort(comp); 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 7ed4b49ad67..39343efc98a 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactory.java +++ b/forge-game/src/main/java/forge/game/card/CardFactory.java @@ -787,7 +787,7 @@ public static CardCloneStates getCloneStates(final Card in, final Card out, fina // remove some characteristic static abilities for (StaticAbility sta : state.getStaticAbilities()) { - if (!sta.hasParam("CharacteristicDefining")) { + if (!sta.isCharacteristicDefining()) { continue; } diff --git a/forge-game/src/main/java/forge/game/staticability/StaticAbility.java b/forge-game/src/main/java/forge/game/staticability/StaticAbility.java index ba6aa45a8b5..740c5389ae3 100644 --- a/forge-game/src/main/java/forge/game/staticability/StaticAbility.java +++ b/forge-game/src/main/java/forge/game/staticability/StaticAbility.java @@ -153,7 +153,7 @@ private Set generateLayer() { } if (hasParam("SetPower") || hasParam("SetToughness")) { - layers.add(hasParam("CharacteristicDefining") ? StaticAbilityLayer.CHARACTERISTIC : + layers.add(isCharacteristicDefining() ? StaticAbilityLayer.CHARACTERISTIC : StaticAbilityLayer.SETPT); } if (hasParam("AddPower") || hasParam("AddToughness")) { @@ -174,6 +174,10 @@ private Set generateLayer() { return layers; } + public boolean isCharacteristicDefining() { + return hasParam("CharacteristicDefining"); + } + /** *

* toString. diff --git a/forge-game/src/main/java/forge/game/staticability/StaticAbilityContinuous.java b/forge-game/src/main/java/forge/game/staticability/StaticAbilityContinuous.java index d50a5d8f721..11a1007f6ef 100644 --- a/forge-game/src/main/java/forge/game/staticability/StaticAbilityContinuous.java +++ b/forge-game/src/main/java/forge/game/staticability/StaticAbilityContinuous.java @@ -878,12 +878,12 @@ public static CardCollectionView applyContinuousAbility(final StaticAbility stAb // add Types if ((addTypes != null && !addTypes.isEmpty()) || (removeTypes != null && !removeTypes.isEmpty()) || addAllCreatureTypes || !remove.isEmpty()) { affectedCard.addChangedCardTypes(addTypes, removeTypes, addAllCreatureTypes, remove, - se.getTimestamp(), stAb.getId(), true, stAb.hasParam("CharacteristicDefining")); + se.getTimestamp(), stAb.getId(), true, stAb.isCharacteristicDefining()); } // add colors if (addColors != null) { - affectedCard.addColor(addColors, !overwriteColors, se.getTimestamp(), stAb.getId(), stAb.hasParam("CharacteristicDefining")); + affectedCard.addColor(addColors, !overwriteColors, se.getTimestamp(), stAb.getId(), stAb.isCharacteristicDefining()); } if (layer == StaticAbilityLayer.RULES) { @@ -1021,7 +1021,7 @@ private static CardCollectionView getAffectedCards(final StaticAbility stAb, fin final Game game = hostCard.getGame(); final Player controller = hostCard.getController(); - if (stAb.hasParam("CharacteristicDefining")) { + if (stAb.isCharacteristicDefining()) { if (stAb.hasParam("ExcludeZone")) { for (ZoneType zt : ZoneType.listValueOf(stAb.getParam("ExcludeZone"))) { if (hostCard.isInZone(zt)) {