RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
EquipmentDefinitionParser.java
1package com.osroyale.util.parser.old;
2
3import com.google.gson.JsonObject;
4import com.osroyale.game.world.items.ItemDefinition;
5import com.osroyale.game.world.items.containers.equipment.EquipmentType;
6import com.osroyale.util.parser.GsonParser;
7
42
43public class EquipmentDefinitionParser extends GsonParser {
44
45 public EquipmentDefinitionParser() {
46 super("def/equipment/equipment_definitions");
47 }
48
49 public static void main(String[] args) {
50 new EquipmentDefinitionParser().run();
51 // ItemDefinition.merge("wiki/client_item_dump", "wiki/wiki_item_dump", "wiki/new_item_dump");
52 ItemDefinition.dump(ItemDefinition.create("wiki/new_item_dump"), "wiki/item_definitions");
53 }
54
55 @Override
56 public void initialize(int size) {
57 ItemDefinition.createParser().run();
58 }
59
60 @Override
61 protected void parse(JsonObject data) {
62 int id = data.get("id").getAsInt();
63 ItemDefinition definition = ItemDefinition.get(id);
64
65 if (definition.getEquipmentType() == EquipmentType.NOT_WIELDABLE) {
66 String name = definition.getName().toLowerCase();
67 if (name.startsWith("hood") || name.endsWith("hood")) {
68 definition.setEquipmentType(EquipmentType.FACE);
69 } else if (name.contains("full helm")) {
70 definition.setEquipmentType(EquipmentType.HELM);
71 } else if (name.contains("med helm")) {
72 definition.setEquipmentType(EquipmentType.FACE);
73 } else if (name.contains("helm")) {
74 if (name.startsWith("dharok")) {
75 definition.setEquipmentType(EquipmentType.FACE);
76 } else {
77 definition.setEquipmentType(EquipmentType.HELM);
78 }
79 }
80 }
81
82 }
83
84 @Override
85 protected void onEnd() {
86 ItemDefinition.dump("def/item/newer_item_definitions");
87 }
88
89 private static int getReq(String first, String second, EquipmentType type) {
90 switch (first) {
91 case "bronze":
92 if (type == EquipmentType.WEAPON || type == EquipmentType.ARROWS) {
93 return -1;
94 }
95 return 1;
96
97 case "iron":
98 if (type == EquipmentType.WEAPON || type == EquipmentType.ARROWS) {
99 return -1;
100 }
101 return 1;
102
103 case "steel":
104 if (type == EquipmentType.WEAPON || type == EquipmentType.ARROWS) {
105 return -1;
106 }
107 return 10;
108
109 case "mithril":
110 if (type == EquipmentType.WEAPON || type == EquipmentType.ARROWS) {
111 return -1;
112 }
113 return 20;
114
115 case "adamant":
116 if (type == EquipmentType.WEAPON || type == EquipmentType.ARROWS) {
117 return -1;
118 }
119 return 30;
120
121 case "rune":
122 if (type == EquipmentType.WEAPON || type == EquipmentType.ARROWS) {
123 return -1;
124 }
125 return 40;
126
127 case "dragon":
128 case "toktz-ket-xil":
129 if (type == EquipmentType.WEAPON || type == EquipmentType.ARROWS) {
130 return -1;
131 }
132 return 60;
133
134 case "bandos":
135 if (second.equals("mitre") || second.equals("robe")) {
136 return -1;
137 }
138
139 if (second.startsWith("plate") || second.startsWith("full") || second.startsWith("kite")) {
140 return 40;
141 }
142 if (type == EquipmentType.WEAPON) {
143 return -1;
144 }
145 return 65;
146
147 case "armadyl":
148 if (second.equals("mitre") || second.equals("robe")) {
149 return -1;
150 }
151
152 if (second.startsWith("plate") || second.startsWith("full") || second.startsWith("kite")) {
153 return 40;
154 }
155 if (type == EquipmentType.WEAPON) {
156 return -1;
157 }
158 return 70;
159
160 case "dharok's":
161 case "guthan's":
162 case "torag's":
163 case "verac's":
164 case "karil's":
165 case "ahrim's":
166 case "barrows":
167 if (type == EquipmentType.WEAPON) {
168 return -1;
169 }
170 return 70;
171
172 case "dragonfire":
173 return 75;
174
175 case "neitiznot":
176 return 55;
177
178 case "saradomin":
179 case "guthix":
180 case "zamorak":
181 if (second.equals("mitre") || second.equals("robe")) {
182 return -1;
183 }
184 if (type == EquipmentType.WEAPON) {
185 return -1;
186 }
187 return 40;
188
189 case "berserker":
190 case "archer":
191 case "farseer":
192 case "warrior":
193 if (type == EquipmentType.RING) {
194 return -1;
195 }
196 return 45;
197
198 case "green":
199 case "red":
200 case "blue":
201 case "black":
202 if (type != EquipmentType.BODY) {
203 return -1;
204 }
205
206 return 40;
207
208 case "hardleather":
209 if (type != EquipmentType.BODY) {
210 return -1;
211 }
212
213 return 10;
214
215 case "void":
216 return 42;
217
218 case "snakeskin":
219 return 30;
220
221 case "3rd":
222 return 45;
223
224 case "penance":
225 case "runner":
226 case "fighter":
227 if (type == EquipmentType.GLOVES) {
228 return -1;
229 }
230 return 40;
231 }
232 return -1;
233 }
234
235}