Skip to content

Commit

Permalink
~ CharacteristicDefining helper
Browse files Browse the repository at this point in the history
  • Loading branch information
Hanmac committed Jan 14, 2025
1 parent ae6f937 commit 0153fca
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 6 deletions.
2 changes: 1 addition & 1 deletion forge-game/src/main/java/forge/game/GameAction.java
Original file line number Diff line number Diff line change
Expand Up @@ -1127,7 +1127,7 @@ public boolean visit(final Card c) {
}, true);

final Comparator<StaticAbility> 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);
Expand Down
2 changes: 1 addition & 1 deletion forge-game/src/main/java/forge/game/card/CardFactory.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ private Set<StaticAbilityLayer> generateLayer() {
}

if (hasParam("SetPower") || hasParam("SetToughness")) {
layers.add(hasParam("CharacteristicDefining") ? StaticAbilityLayer.CHARACTERISTIC :
layers.add(isCharacteristicDefining() ? StaticAbilityLayer.CHARACTERISTIC :
StaticAbilityLayer.SETPT);
}
if (hasParam("AddPower") || hasParam("AddToughness")) {
Expand All @@ -174,6 +174,10 @@ private Set<StaticAbilityLayer> generateLayer() {
return layers;
}

public boolean isCharacteristicDefining() {
return hasParam("CharacteristicDefining");
}

/**
* <p>
* toString.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down Expand Up @@ -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)) {
Expand Down

0 comments on commit 0153fca

Please sign in to comment.