diff --git a/src/com/gpl/rpg/atcontentstudio/model/gamedata/Requirement.java b/src/com/gpl/rpg/atcontentstudio/model/gamedata/Requirement.java index 321d10b..babf552 100644 --- a/src/com/gpl/rpg/atcontentstudio/model/gamedata/Requirement.java +++ b/src/com/gpl/rpg/atcontentstudio/model/gamedata/Requirement.java @@ -55,7 +55,8 @@ public class Requirement extends JSONElement { consumedBonemeals, hasActorCondition, factionScore, - random + random, + factionScoreEquals } public enum SkillID { @@ -187,6 +188,7 @@ public class Requirement extends JSONElement { case spentGold: case timerElapsed: case factionScore: + case factionScoreEquals: case random: break; } diff --git a/src/com/gpl/rpg/atcontentstudio/ui/gamedataeditors/DialogueEditor.java b/src/com/gpl/rpg/atcontentstudio/ui/gamedataeditors/DialogueEditor.java index 07560c7..4af6a40 100644 --- a/src/com/gpl/rpg/atcontentstudio/ui/gamedataeditors/DialogueEditor.java +++ b/src/com/gpl/rpg/atcontentstudio/ui/gamedataeditors/DialogueEditor.java @@ -770,6 +770,11 @@ public class DialogueEditor extends JSONElementEditor { requirementObjId = addTextField(pane, "Faction ID:", requirement.required_obj_id, writable, listener); requirementValue = addIntegerField(pane, "Minimum score: ", requirement.required_value, true, writable, listener); break; + case factionScoreEquals: + requirementObj = null; + requirementObjId = addTextField(pane, "Faction ID:", requirement.required_obj_id, writable, listener); + requirementValue = addIntegerField(pane, "Exact value: ", requirement.required_value, true, writable, listener); + break; case wear: requirementObj = addItemBox(pane, project, "Item: ", (Item) requirement.required_obj, writable, listener); requirementObjId = null; @@ -1174,7 +1179,7 @@ public class DialogueEditor extends JSONElementEditor { label.setIcon(new ImageIcon(DefaultIcons.getBonemealIcon())); } else if (req.type == Requirement.RequirementType.timerElapsed) { label.setIcon(new ImageIcon(DefaultIcons.getTimerIcon())); - } else if (req.type == Requirement.RequirementType.factionScore) { + } else if (req.type == Requirement.RequirementType.factionScore || req.type == Requirement.RequirementType.factionScoreEquals) { label.setIcon(new ImageIcon(DefaultIcons.getAlignmentIcon())); } if (req.type == null) { diff --git a/src/com/gpl/rpg/atcontentstudio/ui/map/TMXMapEditor.java b/src/com/gpl/rpg/atcontentstudio/ui/map/TMXMapEditor.java index 93947f1..6a4e36c 100644 --- a/src/com/gpl/rpg/atcontentstudio/ui/map/TMXMapEditor.java +++ b/src/com/gpl/rpg/atcontentstudio/ui/map/TMXMapEditor.java @@ -722,6 +722,11 @@ public class TMXMapEditor extends Editor implements TMXMap.MapChangedOnDiskListe requirementObjId = addTextField(pane, "Faction ID:", requirement.required_obj_id, writable, listener); requirementValue = addIntegerField(pane, "Minimum score: ", requirement.required_value, true, writable, listener); break; + case factionScoreEquals: + requirementObj = null; + requirementObjId = addTextField(pane, "Faction ID:", requirement.required_obj_id, writable, listener); + requirementValue = addIntegerField(pane, "Exact value: ", requirement.required_value, true, writable, listener); + break; case wear: requirementObj = addItemBox(pane, project, "Item: ", (Item) requirement.required_obj, writable, listener); requirementObjId = null;