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;
}
public boolean isInfinite(){
return duration != null && duration == ActorCondition.DURATION_FOREVER;
return duration != null && duration.equals(ActorCondition.DURATION_FOREVER);
}
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(){
return (magnitude == null || magnitude == ActorCondition.MAGNITUDE_CLEAR) && (duration == null || duration == ActorCondition.DURATION_NONE);
@Override
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
public ActorCondition condition = null;
public boolean isClear(){
return magnitude == null || magnitude.equals(ActorCondition.MAGNITUDE_CLEAR);
}
}
@SuppressWarnings("rawtypes")

View File

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

View File

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

View File

@@ -224,7 +224,7 @@ public class ItemEditor extends JSONElementEditor {
radioEffectGroup.add(equipConditionWithMagnitude);
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);
equipConditionWithMagnitude.setSelected(!immunity);
equipConditionMagnitude.setEnabled(!immunity);