diff --git a/src/engine/objects/ItemTemplate.java b/src/engine/objects/ItemTemplate.java index a0883504..b436c95a 100644 --- a/src/engine/objects/ItemTemplate.java +++ b/src/engine/objects/ItemTemplate.java @@ -103,6 +103,8 @@ public class ItemTemplate { public HashMap rune_attr_adj = new HashMap<>(); public HashMap rune_max_attr_adj = new HashMap<>(); + public HashMap rune_skill_grant = new HashMap<>(); + public ItemTemplate(JSONObject jsonObject) { try { @@ -428,8 +430,17 @@ public class ItemTemplate { rune_max_attr_adj.put(attributeType, attributeValue); } - } + JSONArray skill_grant_json = (JSONArray) jsonObject.get("rune_skill_grant"); + if (skill_grant_json.isEmpty() == false) + for (Object o : skill_grant_json) { + JSONObject skill_granted = (JSONObject) o; + String typeString = (String) skill_granted.get("skill_type"); + Enum.AttributeType attributeType = Enum.AttributeType.valueOf(typeString); + int skill_level = ((Long) skill_granted.get("skill_value")).intValue(); + rune_skill_grant.put(attributeType, skill_level); + } + } } catch (Exception e) { Logger.error(e);