diff --git a/src/com/gpl/rpg/atcontentstudio/model/gamedata/Common.java b/src/com/gpl/rpg/atcontentstudio/model/gamedata/Common.java index 4b9987a..e66a172 100644 --- a/src/com/gpl/rpg/atcontentstudio/model/gamedata/Common.java +++ b/src/com/gpl/rpg/atcontentstudio/model/gamedata/Common.java @@ -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") diff --git a/src/com/gpl/rpg/atcontentstudio/ui/gamedataeditors/CommonEditor.java b/src/com/gpl/rpg/atcontentstudio/ui/gamedataeditors/CommonEditor.java index 01600b9..aae9341 100644 --- a/src/com/gpl/rpg/atcontentstudio/ui/gamedataeditors/CommonEditor.java +++ b/src/com/gpl/rpg/atcontentstudio/ui/gamedataeditors/CommonEditor.java @@ -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 { diff --git a/src/com/gpl/rpg/atcontentstudio/ui/gamedataeditors/DialogueEditor.java b/src/com/gpl/rpg/atcontentstudio/ui/gamedataeditors/DialogueEditor.java index 4b84538..d2e7b33 100644 --- a/src/com/gpl/rpg/atcontentstudio/ui/gamedataeditors/DialogueEditor.java +++ b/src/com/gpl/rpg/atcontentstudio/ui/gamedataeditors/DialogueEditor.java @@ -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 { diff --git a/src/com/gpl/rpg/atcontentstudio/ui/gamedataeditors/ItemEditor.java b/src/com/gpl/rpg/atcontentstudio/ui/gamedataeditors/ItemEditor.java index d334664..800ca91 100644 --- a/src/com/gpl/rpg/atcontentstudio/ui/gamedataeditors/ItemEditor.java +++ b/src/com/gpl/rpg/atcontentstudio/ui/gamedataeditors/ItemEditor.java @@ -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);