fix number comparison bugs

This commit is contained in:
OMGeeky
2025-06-24 18:11:24 +02:00
parent 281e314815
commit 358d855eec
4 changed files with 16 additions and 12 deletions

View File

@@ -170,13 +170,14 @@ public final class Common {
return cclone; return cclone;
} }
public boolean isInfinite(){ public boolean isInfinite(){
return duration != null && duration == ActorCondition.DURATION_FOREVER; return duration != null && duration.equals(ActorCondition.DURATION_FOREVER);
} }
public boolean isImmunity(){ public boolean isImmunity(){
return (magnitude == null || magnitude == ActorCondition.MAGNITUDE_CLEAR) && (duration != null && duration > ActorCondition.DURATION_NONE); return (super.isClear()) && (duration != null && duration > ActorCondition.DURATION_NONE);
} }
public boolean isClear(){ @Override
return (magnitude == null || magnitude == ActorCondition.MAGNITUDE_CLEAR) && (duration == null || duration == ActorCondition.DURATION_NONE); public boolean isClear() {
return (super.isClear()) && (duration == null || duration.equals(ActorCondition.DURATION_NONE));
} }
} }
@@ -187,6 +188,9 @@ public final class Common {
//Available from linked state //Available from linked state
public ActorCondition condition = null; public ActorCondition condition = null;
public boolean isClear(){
return magnitude == null || magnitude.equals(ActorCondition.MAGNITUDE_CLEAR);
}
} }
@SuppressWarnings("rawtypes") @SuppressWarnings("rawtypes")

View File

@@ -68,7 +68,7 @@ public class CommonEditor {
Common.ActorConditionEffect effect = (Common.ActorConditionEffect) value; Common.ActorConditionEffect effect = (Common.ActorConditionEffect) value;
if (effect.condition != null) { if (effect.condition != null) {
if (effect.magnitude == ActorCondition.MAGNITUDE_CLEAR) { if (effect.isClear()) {
label.setIcon(new OverlayIcon(effect.condition.getIcon(), DefaultIcons.getImmunityIcon())); label.setIcon(new OverlayIcon(effect.condition.getIcon(), DefaultIcons.getImmunityIcon()));
label.setText("Immune to actor condition " + effect.condition.getDesc()); label.setText("Immune to actor condition " + effect.condition.getDesc());
} else { } else {

View File

@@ -278,12 +278,12 @@ public class DialogueEditor extends JSONElementEditor {
if (!immunity) radioGroup.add(rewardConditionClear); if (!immunity) radioGroup.add(rewardConditionClear);
if (immunity) { if (immunity) {
rewardConditionTimed.setSelected(reward.reward_value == null || (reward.reward_value != ActorCondition.DURATION_FOREVER && reward.reward_value != ActorCondition.MAGNITUDE_CLEAR)); rewardConditionTimed.setSelected(reward.reward_value == null || (!reward.reward_value.equals(ActorCondition.DURATION_FOREVER) && !reward.reward_value.equals(ActorCondition.MAGNITUDE_CLEAR)));
rewardConditionForever.setSelected(reward.reward_value != null && reward.reward_value != ActorCondition.DURATION_FOREVER); rewardConditionForever.setSelected(reward.reward_value != null && !reward.reward_value.equals(ActorCondition.DURATION_FOREVER));
rewardConditionClear.setSelected(reward.reward_value != null && reward.reward_value != ActorCondition.MAGNITUDE_CLEAR); rewardConditionClear.setSelected(reward.reward_value != null && !reward.reward_value.equals(ActorCondition.MAGNITUDE_CLEAR));
} else { } else {
rewardConditionTimed.setSelected(reward.reward_value != null && reward.reward_value != ActorCondition.DURATION_FOREVER); rewardConditionTimed.setSelected(reward.reward_value != null && !reward.reward_value.equals(ActorCondition.DURATION_FOREVER));
rewardConditionForever.setSelected(reward.reward_value == null || reward.reward_value == ActorCondition.DURATION_FOREVER); rewardConditionForever.setSelected(reward.reward_value == null || reward.reward_value.equals(ActorCondition.DURATION_FOREVER));
} }
rewardValue.setEnabled(rewardConditionTimed.isSelected()); rewardValue.setEnabled(rewardConditionTimed.isSelected());
@@ -662,7 +662,7 @@ public class DialogueEditor extends JSONElementEditor {
label.setIcon(new ImageIcon(DefaultIcons.getObjectLayerIcon())); label.setIcon(new ImageIcon(DefaultIcons.getObjectLayerIcon()));
break; break;
case actorCondition: case actorCondition:
boolean rewardClear = reward.reward_value != null && reward.reward_value.intValue() == ActorCondition.MAGNITUDE_CLEAR; boolean rewardClear = reward.reward_value != null && reward.reward_value.equals(ActorCondition.MAGNITUDE_CLEAR);
if (rewardClear) { if (rewardClear) {
label.setText("Clear actor condition " + rewardObjDesc); label.setText("Clear actor condition " + rewardObjDesc);
} else { } else {

View File

@@ -224,7 +224,7 @@ public class ItemEditor extends JSONElementEditor {
radioEffectGroup.add(equipConditionWithMagnitude); radioEffectGroup.add(equipConditionWithMagnitude);
radioEffectGroup.add(equipConditionImmunity); radioEffectGroup.add(equipConditionImmunity);
boolean immunity = condition.magnitude == null || condition.magnitude == ActorCondition.MAGNITUDE_CLEAR; boolean immunity = condition.magnitude == null || condition.magnitude.equals(ActorCondition.MAGNITUDE_CLEAR);
equipConditionImmunity.setSelected(immunity); equipConditionImmunity.setSelected(immunity);
equipConditionWithMagnitude.setSelected(!immunity); equipConditionWithMagnitude.setSelected(!immunity);
equipConditionMagnitude.setEnabled(!immunity); equipConditionMagnitude.setEnabled(!immunity);