extract isImmunity & isClear & isInfinite

This commit is contained in:
OMGeeky
2025-06-23 15:09:41 +02:00
parent a7f214a1cb
commit 1ca2b9068e
3 changed files with 15 additions and 7 deletions

View File

@@ -32,6 +32,15 @@ public final class Common {
cclone.duration = this.duration;
return cclone;
}
public boolean isInfinite(){
return duration != null && duration == ActorCondition.DURATION_FOREVER;
}
public boolean isImmunity(){
return (magnitude == null || magnitude == ActorCondition.MAGNITUDE_CLEAR) && (duration != null && duration > ActorCondition.DURATION_NONE);
}
public boolean isClear(){
return (magnitude == null || magnitude == ActorCondition.MAGNITUDE_CLEAR) && (duration == null || duration == ActorCondition.DURATION_NONE);
}
}
public static class ActorConditionEffect {

View File

@@ -22,9 +22,9 @@ public class CommonEditor {
if (effect.condition != null) {
boolean immunity = (effect.magnitude == null || effect.magnitude == ActorCondition.MAGNITUDE_CLEAR) && (effect.duration != null && effect.duration > ActorCondition.DURATION_NONE);
boolean clear = (effect.magnitude == null || effect.magnitude == ActorCondition.MAGNITUDE_CLEAR) && (effect.duration == null || effect.duration == ActorCondition.DURATION_NONE);
boolean forever = effect.duration != null && effect.duration == ActorCondition.DURATION_FOREVER;
boolean immunity = effect.isImmunity();
boolean clear = effect.isClear();
boolean forever = effect.isInfinite();
if (clear) {
label.setIcon(new ImageIcon(effect.condition.getIcon()));

View File

@@ -632,10 +632,9 @@ public class ItemEditor extends JSONElementEditor {
}
public void updateHitTargetTimedConditionWidgets(Common.TimedActorConditionEffect condition) {
boolean immunity = (condition.magnitude == null || condition.magnitude == ActorCondition.MAGNITUDE_CLEAR) && (condition.duration != null && condition.duration > ActorCondition.DURATION_NONE);
boolean clear = (condition.magnitude == null || condition.magnitude == ActorCondition.MAGNITUDE_CLEAR) && (condition.duration == null || condition.duration == ActorCondition.DURATION_NONE);
boolean forever = condition.duration != null && condition.duration == ActorCondition.DURATION_FOREVER;
boolean immunity = condition.isImmunity();
boolean clear = condition.isClear();
boolean forever = condition.isInfinite();
hitTargetConditionClear.setSelected(clear);
hitTargetConditionApply.setSelected(!clear && !immunity);