@blizzhackers/d2data 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. package/.eslintrc.js +59 -0
  2. package/LICENSE +21 -0
  3. package/README.md +12 -0
  4. package/_config.yml +1 -0
  5. package/compile.js +789 -0
  6. package/docs/Avqest.ttf +0 -0
  7. package/docs/_config.yml +1 -0
  8. package/docs/armor.js +134 -0
  9. package/docs/css/d2font.css +10 -0
  10. package/docs/drops/.vscode/extensions.json +3 -0
  11. package/docs/drops/README.md +7 -0
  12. package/docs/drops/dist/assets/index.12ae3c90.js +6675 -0
  13. package/docs/drops/dist/index.html +24 -0
  14. package/docs/drops/index.html +23 -0
  15. package/docs/drops/package-lock.json +1143 -0
  16. package/docs/drops/package.json +17 -0
  17. package/docs/drops/src/App.vue +870 -0
  18. package/docs/drops/src/main.js +4 -0
  19. package/docs/drops/vite.config.js +8 -0
  20. package/docs/drops.html +10 -0
  21. package/docs/effort.css +118 -0
  22. package/docs/effort.js +367 -0
  23. package/docs/elem-effort.html +130 -0
  24. package/docs/images/0-0.svg +18 -0
  25. package/docs/images/0-1.svg +17 -0
  26. package/docs/images/0-2.svg +17 -0
  27. package/docs/images/1-0.svg +18 -0
  28. package/docs/images/1-1.svg +18 -0
  29. package/docs/images/1-2.svg +17 -0
  30. package/docs/images/2-0.svg +17 -0
  31. package/docs/images/2-1.svg +11 -0
  32. package/docs/images/2-2.svg +18 -0
  33. package/docs/images/3-0.svg +17 -0
  34. package/docs/images/3-1.svg +18 -0
  35. package/docs/images/3-2.svg +18 -0
  36. package/docs/images/4-0.svg +18 -0
  37. package/docs/images/4-1.svg +18 -0
  38. package/docs/images/4-2.svg +18 -0
  39. package/docs/images/5-0.svg +18 -0
  40. package/docs/images/5-1.svg +18 -0
  41. package/docs/images/5-2.svg +14 -0
  42. package/docs/images/6-0.svg +17 -0
  43. package/docs/images/6-1.svg +17 -0
  44. package/docs/images/6-2.svg +17 -0
  45. package/docs/images/AmSkillicon.png +0 -0
  46. package/docs/images/AsSkillicon.png +0 -0
  47. package/docs/images/BaSkillicon.png +0 -0
  48. package/docs/images/DrSkillicon.png +0 -0
  49. package/docs/images/NeSkillicon.png +0 -0
  50. package/docs/images/PaSkillicon.png +0 -0
  51. package/docs/images/Skillicon.png +0 -0
  52. package/docs/images/SoSkillicon.png +0 -0
  53. package/docs/index.md +5 -0
  54. package/docs/items.html +170 -0
  55. package/docs/leveling/.vscode/extensions.json +3 -0
  56. package/docs/leveling/README.md +7 -0
  57. package/docs/leveling/dist/assets/index.f9765357.js +1 -0
  58. package/docs/leveling/dist/index.html +24 -0
  59. package/docs/leveling/index.html +23 -0
  60. package/docs/leveling/package-lock.json +1143 -0
  61. package/docs/leveling/package.json +17 -0
  62. package/docs/leveling/src/App.vue +526 -0
  63. package/docs/leveling/src/main.js +4 -0
  64. package/docs/leveling/vite.config.js +8 -0
  65. package/docs/runewords/.vscode/extensions.json +3 -0
  66. package/docs/runewords/README.md +7 -0
  67. package/docs/runewords/dist/assets/index.0838f27c.js +6673 -0
  68. package/docs/runewords/dist/assets/index.73bf3e23.css +1 -0
  69. package/docs/runewords/dist/index.html +25 -0
  70. package/docs/runewords/index.html +23 -0
  71. package/docs/runewords/package-lock.json +1143 -0
  72. package/docs/runewords/package.json +17 -0
  73. package/docs/runewords/src/App.vue +781 -0
  74. package/docs/runewords/src/main.js +4 -0
  75. package/docs/runewords/src/modorder.json +234 -0
  76. package/docs/runewords/vite.config.js +8 -0
  77. package/docs/skills.css +1250 -0
  78. package/docs/skills.html +63 -0
  79. package/docs/skills.js +2192 -0
  80. package/docs/vue-setup.js +12 -0
  81. package/docs/weapons.js +149 -0
  82. package/font-example.html +34 -0
  83. package/json/.gitkeep +0 -0
  84. package/json/actinfo.json +116 -0
  85. package/json/armor.json +17232 -0
  86. package/json/armtype.json +17 -0
  87. package/json/atomic.json +1026 -0
  88. package/json/automagic.json +696 -0
  89. package/json/automap.json +40732 -0
  90. package/json/belts.json +743 -0
  91. package/json/bodylocs.json +52 -0
  92. package/json/books.json +34 -0
  93. package/json/charstats.json +525 -0
  94. package/json/colors.json +107 -0
  95. package/json/compcode.json +577 -0
  96. package/json/composit.json +82 -0
  97. package/json/cubemain.json +2112 -0
  98. package/json/cubemod.json +57 -0
  99. package/json/difficultylevels.json +110 -0
  100. package/json/elemtypes.json +62 -0
  101. package/json/events.json +72 -0
  102. package/json/experience.json +1214 -0
  103. package/json/gamble.json +520 -0
  104. package/json/gems.json +1868 -0
  105. package/json/hireling.json +7640 -0
  106. package/json/hitclass.json +67 -0
  107. package/json/inventory.json +2148 -0
  108. package/json/itemratio.json +134 -0
  109. package/json/items.json +54705 -0
  110. package/json/itemstatcost.json +5503 -0
  111. package/json/itemtypes.json +2567 -0
  112. package/json/levels.json +15515 -0
  113. package/json/localestrings-chi.json +8717 -0
  114. package/json/localestrings-deu.json +8717 -0
  115. package/json/localestrings-eng.json +8722 -0
  116. package/json/localestrings-esp.json +8717 -0
  117. package/json/localestrings-fra.json +8718 -0
  118. package/json/localestrings-ita.json +8717 -0
  119. package/json/localestrings-kor.json +8715 -0
  120. package/json/localestrings-pol.json +8716 -0
  121. package/json/lowqualityitems.json +6 -0
  122. package/json/lvlmaze.json +910 -0
  123. package/json/lvlprest.json +28595 -0
  124. package/json/lvlsub.json +824 -0
  125. package/json/lvltypes.json +1377 -0
  126. package/json/lvlwarp.json +1515 -0
  127. package/json/magicprefix.json +12349 -0
  128. package/json/magicsuffix.json +13833 -0
  129. package/json/misc.json +11602 -0
  130. package/json/misscalc.json +217 -0
  131. package/json/missiles.json +23871 -0
  132. package/json/monai.json +1111 -0
  133. package/json/moncountest.json +642 -0
  134. package/json/monequip.json +361 -0
  135. package/json/monlvl.json +3665 -0
  136. package/json/monmode.json +98 -0
  137. package/json/monplace.json +39 -0
  138. package/json/monpopulationest.json +17383 -0
  139. package/json/monpreset.json +922 -0
  140. package/json/monprop.json +144 -0
  141. package/json/monseq.json +5211 -0
  142. package/json/monsounds.json +2530 -0
  143. package/json/monstats.json +66101 -0
  144. package/json/monstats2.json +34882 -0
  145. package/json/montype.json +274 -0
  146. package/json/monumod.json +504 -0
  147. package/json/npc.json +232 -0
  148. package/json/objects.json +87041 -0
  149. package/json/objgroup.json +3733 -0
  150. package/json/objmode.json +42 -0
  151. package/json/objpreset.json +2906 -0
  152. package/json/objtype.json +2457 -0
  153. package/json/overlay.json +8008 -0
  154. package/json/pettype.json +226 -0
  155. package/json/playerclass.json +39 -0
  156. package/json/plrmode.json +122 -0
  157. package/json/plrtype.json +39 -0
  158. package/json/properties.json +2823 -0
  159. package/json/qualityitems.json +149 -0
  160. package/json/rareprefix.json +296 -0
  161. package/json/raresuffix.json +921 -0
  162. package/json/runes.json +3280 -0
  163. package/json/setitems.json +3871 -0
  164. package/json/sets.json +1001 -0
  165. package/json/shrines.json +319 -0
  166. package/json/skillcalc.json +457 -0
  167. package/json/skilldesc.json +7532 -0
  168. package/json/skills.json +16717 -0
  169. package/json/soundenviron.json +2862 -0
  170. package/json/sounds.json +446543 -0
  171. package/json/states.json +1578 -0
  172. package/json/storepage.json +22 -0
  173. package/json/superuniques.json +1405 -0
  174. package/json/tcprecalc.json +29302 -0
  175. package/json/treasureclassex.json +14932 -0
  176. package/json/treasureclassgroupsex.json +711 -0
  177. package/json/uniqueappellation.json +27 -0
  178. package/json/uniqueitems.json +14171 -0
  179. package/json/uniqueprefix.json +55 -0
  180. package/json/uniquesuffix.json +71 -0
  181. package/json/wanderingmon.json +3 -0
  182. package/json/weapons.json +25875 -0
  183. package/objext.js +53 -0
  184. package/package.json +16 -0
  185. package/string.js +42 -0
@@ -0,0 +1,1111 @@
1
+ {
2
+ "7TIllusion": {
3
+ "AI": "7TIllusion",
4
+ "lineNumber": 88
5
+ },
6
+ "AbyssKnight": {
7
+ "AI": "AbyssKnight",
8
+ "*aip1": "Skill2 (MonBoneArmor) Life % Threshold",
9
+ "*aip2": "Skill2 (MonBoneArmor) (% Chance)",
10
+ "*aip3": "Attack1 (% Chance)",
11
+ "*aip4": "Melee AI Delay (Frames)",
12
+ "*aip5": "Skill1 (DoomKnightMissile) Range",
13
+ "*aip6": "Skill1 AI Delay (Frames)",
14
+ "*aip7": "Approach Enemy (% Chance)",
15
+ "*aip8": "Circle Walk (% Chance)",
16
+ "lineNumber": 73
17
+ },
18
+ "Ancient": {
19
+ "AI": "Ancient",
20
+ "*aip1": "Attack/Skill1 Range",
21
+ "*aip2": "Attack/Skill1 (% Chance)",
22
+ "*aip3": "Attack1/Attack2/Skill1 (% Chance)",
23
+ "*aip4": "Target Range",
24
+ "*aip5": "Run Away From Target (Frames)",
25
+ "lineNumber": 133
26
+ },
27
+ "AncientStatue": {
28
+ "AI": "AncientStatue",
29
+ "lineNumber": 132
30
+ },
31
+ "Andariel": {
32
+ "AI": "Andariel",
33
+ "*aip1": "Skill1/Attack1 in melee (% Chance)",
34
+ "*aip2": "AI Delay (Frames)",
35
+ "*aip3": "Skill1/Skill2 in ranged (% Chance)",
36
+ "*aip4": "\"For ranged, use Skill1 (% Chance), else Skill2\"",
37
+ "lineNumber": 34
38
+ },
39
+ "Arach": {
40
+ "AI": "Arach",
41
+ "*aip1": "Attack1 (% Chance - 25)",
42
+ "*aip2": "Circle Walk (% Chance)",
43
+ "*aip3": "Approach Enemy (% Chance)",
44
+ "*aip4": "Run Away Range",
45
+ "*aip5": "Hurt State (Life % threshold)",
46
+ "lineNumber": 26
47
+ },
48
+ "ArcaneTower": {
49
+ "AI": "ArcaneTower",
50
+ "*aip1": "Attack1 Use Count",
51
+ "*aip2": "Skill1 Interval Delay (Frames)",
52
+ "*aip3": "Skill1 Depleted AI Delay (Frames)",
53
+ "*aip4": "Skill1 Use Count",
54
+ "*aip5": "Attack1 Interval Delay (Frames)",
55
+ "*aip6": "Attack1 Depleted AI Delay (Frames)",
56
+ "lineNumber": 93
57
+ },
58
+ "AssassinSentry": {
59
+ "AI": "AssassinSentry",
60
+ "*aip1": "Skill1 (% Chance)",
61
+ "*aip2": "Skill1 Followup AI Delay (Frames)",
62
+ "*aip3": "AI Delay (Frames)",
63
+ "*aip4": "Skill1 Range",
64
+ "lineNumber": 101
65
+ },
66
+ "BaalCrab": {
67
+ "AI": "BaalCrab",
68
+ "lineNumber": 135
69
+ },
70
+ "BaalCrabClone": {
71
+ "AI": "BaalCrabClone",
72
+ "lineNumber": 140
73
+ },
74
+ "BaalMinion": {
75
+ "AI": "BaalMinion",
76
+ "*aip1": "Skill1/Attack1 (% Chance)",
77
+ "*aip2": "Approach Enemy (% Chance)",
78
+ "*aip3": "\"Skill1 (% Chance), else Attack1 else AI Delay (Frames)\"",
79
+ "*aip4": "AI Delay (Frames)",
80
+ "lineNumber": 141
81
+ },
82
+ "BaalTaunt": {
83
+ "AI": "BaalTaunt",
84
+ "*aip1": "Approach Enemy (% Chance)",
85
+ "*aip2": "Taunt Skill (% Chance)",
86
+ "*aip3": "AI Delay (Frames)",
87
+ "lineNumber": 136
88
+ },
89
+ "BaalTentacle": {
90
+ "AI": "BaalTentacle",
91
+ "*aip1": "Attack1 (% Chance)",
92
+ "*aip2": "AI Delay (Frames)",
93
+ "*aip3": "Base Life Duration (Frames)",
94
+ "lineNumber": 139
95
+ },
96
+ "BaalThrone": {
97
+ "AI": "BaalThrone",
98
+ "*aip1": "Skill1 (% Chance)",
99
+ "lineNumber": 134
100
+ },
101
+ "BaalToStairs": {
102
+ "AI": "BaalToStairs",
103
+ "*aip1": "Stairs Max Range",
104
+ "lineNumber": 138
105
+ },
106
+ "Baboon": {
107
+ "AI": "Baboon",
108
+ "*aip1": "Hurt State (Life % threshold)",
109
+ "*aip2": "Circle Walk (% Chance)",
110
+ "*aip3": "Attack Enemy (% Chance)",
111
+ "*aip4": "\"Attack1 (% Chance), else Attack2\"",
112
+ "*aip5": "\"\"\"hpregen\"\" bonus when hurt\"",
113
+ "lineNumber": 11
114
+ },
115
+ "BatDemon": {
116
+ "AI": "BatDemon",
117
+ "*aip1": "Hurt State (Life % threshold)",
118
+ "*aip2": "Run away when hit (% Chance)",
119
+ "*aip3": "Attack Enemy (% Chance)",
120
+ "*aip4": "\"Attack2 (% Chance), else Attack1\"",
121
+ "*aip5": "Life Regen Bonus (hpregen)",
122
+ "lineNumber": 29
123
+ },
124
+ "Bighead": {
125
+ "AI": "Bighead",
126
+ "*aip1": "Hurt State (Life % threshold)",
127
+ "*aip2": "Circle Walk (% Chance)",
128
+ "*aip3": "Ranged Attack Not Hurt (% Chance)",
129
+ "*aip4": "Ranged Attack Hurt (% Chance)",
130
+ "lineNumber": 4
131
+ },
132
+ "BladeCreeper": {
133
+ "AI": "BladeCreeper",
134
+ "lineNumber": 102
135
+ },
136
+ "BloodHawk": {
137
+ "AI": "BloodHawk",
138
+ "*aip1": "Charge (% Chance)",
139
+ "*aip2": "Wander behavior (% Chance)",
140
+ "*aip3": "Attack1 (% Chance)",
141
+ "*aip4": "Attack1 Move Velocity",
142
+ "*aip5": "Charge Velocity",
143
+ "lineNumber": 5
144
+ },
145
+ "BloodLord": {
146
+ "AI": "BloodLord",
147
+ "*aip1": "Attack (% Chance)",
148
+ "*aip2": "Aproach Enemy (% Chance)",
149
+ "*aip3": "\"Attack2 (BloodLordFrenzy) (% Chance), else Attack1\"",
150
+ "*aip4": "AI Delay (Frames)",
151
+ "lineNumber": 125
152
+ },
153
+ "BloodRaven": {
154
+ "AI": "BloodRaven",
155
+ "lineNumber": 59
156
+ },
157
+ "BoneWall": {
158
+ "AI": "BoneWall",
159
+ "lineNumber": 84
160
+ },
161
+ "Brute": {
162
+ "AI": "Brute",
163
+ "*aip3": "Attack Enemy / Circle Walk (% Chance)",
164
+ "*aip4": "\"Attack1 (% Chance), else Attack2\"",
165
+ "lineNumber": 7
166
+ },
167
+ "Buffy": {
168
+ "AI": "Buffy",
169
+ "lineNumber": 100
170
+ },
171
+ "Catapult": {
172
+ "AI": "Catapult",
173
+ "*aip1": "Attack1 (% Chance)",
174
+ "lineNumber": 123
175
+ },
176
+ "CatapultSpotter": {
177
+ "AI": "CatapultSpotter",
178
+ "*aip1": "Attack (% Chance)",
179
+ "*aip2": "AI Delay (Frames)",
180
+ "*aip4": "Random Attack Range Around Target",
181
+ "*aip5": "Max Shot Count Per Skill",
182
+ "lineNumber": 126
183
+ },
184
+ "ClawViper": {
185
+ "AI": "ClawViper",
186
+ "*aip1": "Charge (% Chance)",
187
+ "*aip2": "Charge Max Range",
188
+ "*aip3": "Attack Enemy (% Chance)",
189
+ "*aip4": "\"Attack1 (% Chance), else Attack2\"",
190
+ "*aip5": "AI Delay (Frames)",
191
+ "*aip6": "\"Charge overlay (0 = none, 1 = red, else blue)\"",
192
+ "lineNumber": 16
193
+ },
194
+ "ClawViperEx": {
195
+ "AI": "ClawViperEx",
196
+ "*aip1": "Skill1 (Charge) (% Chance)",
197
+ "*aip2": "Skill1 (Charge) Range",
198
+ "*aip3": "Attack2 (% Chance)",
199
+ "*aip4": "Attack1 (% Chance)",
200
+ "*aip5": "AI Delay (Frames)",
201
+ "*aip6": "\"Charge overlay (0 = none, 2 = red, else blue)\"",
202
+ "*aip7": "Attack1 Range",
203
+ "*aip8": "Attack1 Interval (Frames)",
204
+ "lineNumber": 142
205
+ },
206
+ "CorruptArcher": {
207
+ "AI": "CorruptArcher",
208
+ "*aip1": "Approach Enemy (% Chance)",
209
+ "*aip2": "Use Skill1/Skill2/Skill3 (% Chance)",
210
+ "*aip3": "AI Delay (Frames)",
211
+ "*aip4": "Run Away (% Chance)",
212
+ "*aip5": "Run Away Range",
213
+ "*aip6": "Skill 2 (% Chance)",
214
+ "*aip7": "Skill 3 (% Chance)",
215
+ "*aip8": "Approach Range",
216
+ "lineNumber": 35
217
+ },
218
+ "CorruptLancer": {
219
+ "AI": "CorruptLancer",
220
+ "*aip1": "Approach Enemy (% Chance)",
221
+ "*aip2": "Use Skill1/Skill2/Skill3 (% Chance)",
222
+ "*aip3": "AI Delay (Frames)",
223
+ "*aip4": "\"Run (% Chance), else Walk\"",
224
+ "*aip5": "Always Run Range",
225
+ "*aip6": "Skill 1 (% Chance)",
226
+ "*aip7": "Skill 2 (% Chance)",
227
+ "*aip8": "Skill 3 (% Chance)",
228
+ "lineNumber": 36
229
+ },
230
+ "CorruptRogue": {
231
+ "AI": "CorruptRogue",
232
+ "*aip1": "Approach Enemy (% Chance)",
233
+ "*aip2": "AI Delay (Frames)",
234
+ "*aip3": "Attack Enemy (% Chance)",
235
+ "*aip4": "Run Velocity",
236
+ "*aip5": "Run During Approach (% Chance)",
237
+ "lineNumber": 10
238
+ },
239
+ "CycleOfLife": {
240
+ "AI": "CycleOfLife",
241
+ "*aip1": "Skill1 Interval (Frames)",
242
+ "*aip2": "Find Corpse Range",
243
+ "*aip3": "AI Delay (Frames)",
244
+ "*aip4": "Run Away From Target (Frames)",
245
+ "*aip5": "Teleport Leash Range to Caster",
246
+ "lineNumber": 111
247
+ },
248
+ "DarkWanderer": {
249
+ "AI": "DarkWanderer",
250
+ "lineNumber": 91
251
+ },
252
+ "DeathMauler": {
253
+ "AI": "DeathMauler",
254
+ "*aip1": "Attack1 (% Chance)",
255
+ "*aip2": "Approach Enemy (% Chance)",
256
+ "*aip3": "Skill1 Range",
257
+ "*aip4": "Skill1 (% Chance)",
258
+ "lineNumber": 130
259
+ },
260
+ "DeathSentry": {
261
+ "AI": "DeathSentry",
262
+ "*aip2": "AI Delay (Frames)",
263
+ "*aip3": "Skill2 (% Chance)",
264
+ "*aip4": "Skill2 (Range)",
265
+ "lineNumber": 104
266
+ },
267
+ "DesertTurret": {
268
+ "AI": "DesertTurret",
269
+ "*aip1": "Skill1 Interval Delay (Frames)",
270
+ "*aip2": "Skill1 Max Shot Count",
271
+ "*aip3": "Skill1 Depleted AI Delay (Frames)",
272
+ "*aip4": "Enemy Awareness (Range)",
273
+ "*aip5": "Skill1 Missile Direction Spread",
274
+ "lineNumber": 94
275
+ },
276
+ "Diablo": {
277
+ "AI": "Diablo",
278
+ "lineNumber": 51
279
+ },
280
+ "DoomKnight": {
281
+ "AI": "DoomKnight",
282
+ "*aip1": "Attack1 (% Chance)",
283
+ "*aip2": "Melee AI Delay (Frames)",
284
+ "*aip3": "Approach Enemy (% Chance)",
285
+ "*aip4": "AI Delay (Frames)",
286
+ "lineNumber": 72
287
+ },
288
+ "DruidBear": {
289
+ "AI": "DruidBear",
290
+ "*aip1": "AI Delay (Frames)",
291
+ "*aip2": "Approach Enemy (% Chance)",
292
+ "*aip3": "Attack Enemy (% Chance)",
293
+ "lineNumber": 112
294
+ },
295
+ "DruidWolf": {
296
+ "AI": "DruidWolf",
297
+ "*aip1": "AI Delay (Frames)",
298
+ "*aip2": "Skill1 (Fenris Rage) (% Chance)",
299
+ "*aip3": "Walk Randomly (% Chance)",
300
+ "*aip4": "Max Target Range",
301
+ "*aip5": "Caster Leash Range",
302
+ "lineNumber": 108
303
+ },
304
+ "Duriel": {
305
+ "AI": "Duriel",
306
+ "*aip1": "Skill3 (Holy Freeze) Skill Level",
307
+ "*aip2": "Skill3 (Holy Freeze) (% Chance)",
308
+ "*aip3": "Skill2 (Jab) (% Chance)",
309
+ "*aip4": "Attack2 (% Chance)",
310
+ "*aip5": "Skill1 (Charge) (% Chance)",
311
+ "lineNumber": 44
312
+ },
313
+ "ElementalBeast": {
314
+ "AI": "ElementalBeast",
315
+ "*aip1": "Approach Enemy (% Chance)",
316
+ "*aip2": "Enemy Awareness (Range)",
317
+ "*aip3": "AI Delay (Frames)",
318
+ "lineNumber": 46
319
+ },
320
+ "EvilHole": {
321
+ "AI": "EvilHole",
322
+ "*aip1": "Max Unit Spawn Count",
323
+ "*aip2": "AI Delay (Frames)",
324
+ "lineNumber": 76
325
+ },
326
+ "Fallen": {
327
+ "AI": "Fallen",
328
+ "*aip1": "Command Attack (% Chance)",
329
+ "*aip2": "Non-command Wander behavior (% Chance)",
330
+ "*aip3": "Attack Enemy (% Chance)",
331
+ "*aip4": "\"Attack1 (% Chance), else Attack2\"",
332
+ "lineNumber": 6
333
+ },
334
+ "FallenShaman": {
335
+ "AI": "FallenShaman",
336
+ "*aip1": "Issue Attack Command / Resurrect (Skill1) (% Chance)",
337
+ "*aip2": "Fireball (Skill2) (% Chance)",
338
+ "*aip3": "Attack Enemy / Circle Walk (% Chance)",
339
+ "*aip4": "Ally Corpse Search Range",
340
+ "*aip5": "Fireball (Skill2) Search Range",
341
+ "lineNumber": 13
342
+ },
343
+ "Fetish": {
344
+ "AI": "Fetish",
345
+ "*aip1": "Attack1 (% Chance)",
346
+ "*aip2": "AI Delay (Frames)",
347
+ "*aip3": "Attack Delay (Frames)",
348
+ "*aip4": "Life % threshold for Attack Loop",
349
+ "lineNumber": 30
350
+ },
351
+ "FetishBlowgun": {
352
+ "AI": "FetishBlowgun",
353
+ "*aip1": "Ranged Max Range",
354
+ "*aip2": "Run Away Range",
355
+ "lineNumber": 96
356
+ },
357
+ "FetishShaman": {
358
+ "AI": "FetishShaman",
359
+ "*aip1": "Skill3 (Resurrect2) (% Chance)",
360
+ "*aip2": "\"Skill3 (Resurrect2) Check (0=only party, 1=any fetish, 2=any fetish/blow, 3=any unique fetish/blow)\"",
361
+ "*aip3": "Skill3 (Resurrect2) Range",
362
+ "*aip4": "Circle Walk (% Chance)",
363
+ "*aip5": "Skill3 (Resurrect2) Unit Search Range",
364
+ "lineNumber": 65
365
+ },
366
+ "FingerMage": {
367
+ "AI": "FingerMage",
368
+ "*aip1": "\"Attack1 (% Chance), else Skill1/Circle Walk\"",
369
+ "*aip2": "Skill1 (FingerMageSpider) (% Chance)",
370
+ "*aip3": "Fight Life % Threshold",
371
+ "*aip4": "Run Away Life % Threshold",
372
+ "*aip5": "Skill1 (FingerMageSpider) Range",
373
+ "*aip6": "Max Run Away Attempts",
374
+ "*aip7": "Approach Enemy (Range)",
375
+ "*aip8": "Ranged AI Delay (Frames)",
376
+ "lineNumber": 70
377
+ },
378
+ "FlyingScimitar": {
379
+ "AI": "FlyingScimitar",
380
+ "*aip1": "Approach Enemy (% Chance)",
381
+ "*aip2": "Attack1 (% Chance)",
382
+ "*aip3": "AI Delay (Frames)",
383
+ "*aip4": "Circle Walk (% Chance)",
384
+ "lineNumber": 47
385
+ },
386
+ "FoulCrowNest": {
387
+ "AI": "FoulCrowNest",
388
+ "*aip1": "Unit Spawn Interval (Frames)",
389
+ "*aip3": "Unit Spawn Count",
390
+ "lineNumber": 43
391
+ },
392
+ "FrogDemon": {
393
+ "AI": "FrogDemon",
394
+ "*aip1": "Melee Attack1 (% Chance)",
395
+ "*aip2": "Melee Attack2 (% Chance)",
396
+ "*aip3": "Melee Circle Walk (% Chance)",
397
+ "*aip4": "Ranged Circle Walk (% Chance)",
398
+ "*aip5": "Ranged Attack2 (% Chance)",
399
+ "*aip6": "Ranged Attack Range",
400
+ "*aip7": "AI Delay (Frames)",
401
+ "*aip8": "Emerge Awareness Range",
402
+ "lineNumber": 52
403
+ },
404
+ "FrozenHorror": {
405
+ "AI": "FrozenHorror",
406
+ "*aip1": "Attack1 (% Chance)",
407
+ "*aip2": "Aproach Enemy (% Chance)",
408
+ "*aip3": "Skill1 (Horror Arctic Blast) (% Chance)",
409
+ "*aip4": "AI Delay (Frames)",
410
+ "lineNumber": 124
411
+ },
412
+ "GargoyleTrap": {
413
+ "AI": "GargoyleTrap",
414
+ "*aip1": "Skill1 Range",
415
+ "*aip2": "Skill1 (% Chance)",
416
+ "*aip3": "Skill1 AI Delay (Frames)",
417
+ "*aip4": "AI Delay (Frames)",
418
+ "lineNumber": 63
419
+ },
420
+ "GenericSpawner": {
421
+ "AI": "GenericSpawner",
422
+ "*aip1": "Spawn Interval (Frames)",
423
+ "*aip3": "Max Spawn Count",
424
+ "lineNumber": 129
425
+ },
426
+ "Goatman": {
427
+ "AI": "Goatman",
428
+ "*aip1": "Approach Enemy (% Chance)",
429
+ "*aip2": "AI Delay (Frames)",
430
+ "*aip3": "Attack Enemy (% Chance)",
431
+ "lineNumber": 12
432
+ },
433
+ "GoodNpcRanged": {
434
+ "AI": "GoodNpcRanged",
435
+ "lineNumber": 60
436
+ },
437
+ "GreaterMummy": {
438
+ "AI": "GreaterMummy",
439
+ "*aip1": "\"Attack1 (% Chance), else Attack2\"",
440
+ "*aip2": "Raise Ally (Skill1) (% Chance)",
441
+ "*aip3": "Heal (Skill2) (% Chance)",
442
+ "*aip4": "Shoot (Skill3) (% Chance)",
443
+ "*aip5": "Ally Corpse Search Range",
444
+ "lineNumber": 22
445
+ },
446
+ "Griswold": {
447
+ "AI": "Griswold",
448
+ "lineNumber": 90
449
+ },
450
+ "HellMeteor": {
451
+ "AI": "HellMeteor",
452
+ "*aip1": "Skill1 (% Chance)",
453
+ "*aip2": "AI Delay (Frames)",
454
+ "*aip3": "Skill1 Range",
455
+ "lineNumber": 33
456
+ },
457
+ "HighPriest": {
458
+ "AI": "HighPriest",
459
+ "*aip1": "Melee Attack1 (% Chance)",
460
+ "*aip2": "Skill2 (ZakarumLightning) (% Chance)",
461
+ "*aip3": "Skill AI Delay (Frames)",
462
+ "*aip4": "Skill1 (ZakarumHeal) (% Chance)",
463
+ "*aip5": "Ranged Lightning Skill (% Chance)",
464
+ "*aip6": "Melee Run Away (% Chance)",
465
+ "*aip7": "Melee Lightning Skill (% Chance)",
466
+ "*aip8": "Approach Enemy (Range)",
467
+ "lineNumber": 85
468
+ },
469
+ "Hireable": {
470
+ "AI": "Hireable",
471
+ "lineNumber": 61
472
+ },
473
+ "Hydra": {
474
+ "AI": "Hydra",
475
+ "lineNumber": 86
476
+ },
477
+ "Idle": {
478
+ "AI": "Idle",
479
+ "lineNumber": 1
480
+ },
481
+ "Imp": {
482
+ "AI": "Imp",
483
+ "*aip1": "Approach Ally Range / Hurt Life % Threshold / Run Away Range",
484
+ "*aip2": "Teleport Range / Run Away (% Chance)",
485
+ "*aip3": "Skill1 (% Chance) / Skill4 Range",
486
+ "*aip4": "Skill4 (% Chance)",
487
+ "lineNumber": 122
488
+ },
489
+ "InvisoPet": {
490
+ "AI": "InvisoPet",
491
+ "*aip1": "Teleport Skill Range",
492
+ "*aip2": "AI Delay (Frames)",
493
+ "lineNumber": 103
494
+ },
495
+ "InvisoSpawner": {
496
+ "AI": "InvisoSpawner",
497
+ "*aip1": "Max Unit Spawn Count",
498
+ "*aip2": "Enemy Awareness (Range)",
499
+ "*aip3": "Spawn Unit Delay (Frames)",
500
+ "lineNumber": 82
501
+ },
502
+ "Izual": {
503
+ "AI": "Izual",
504
+ "*aip1": "Attack1 (% Chance)",
505
+ "*aip2": "Approach Enemy (% Chance)",
506
+ "*aip3": "Ranged Skill1 (Frost Nova) (% Chance)",
507
+ "*aip4": "Melee Skill1 (Frost Nova) (% Chance)",
508
+ "*aip5": "Post Skill1 (Frost Nova) AI Delay (Frames)",
509
+ "*aip6": "Post Skill1 (Frost Nova) Attack Swing Count",
510
+ "lineNumber": 55
511
+ },
512
+ "JarJar": {
513
+ "AI": "JarJar",
514
+ "lineNumber": 81
515
+ },
516
+ "MaggotEgg": {
517
+ "AI": "MaggotEgg",
518
+ "*aip1": "Attack Delay (Frames)",
519
+ "*aip2": "Hatch (Skill1) (% Chance)",
520
+ "lineNumber": 40
521
+ },
522
+ "MaggotLarva": {
523
+ "AI": "MaggotLarva",
524
+ "*aip1": "Attack1 (% Chance)",
525
+ "*aip2": "Attack1 Delay (Frames)",
526
+ "*aip3": "Approach Enemy (% Chance)",
527
+ "*aip4": "AI Delay (Frames)",
528
+ "lineNumber": 38
529
+ },
530
+ "Megademon": {
531
+ "AI": "Megademon",
532
+ "*aip1": "Ranged Skill1 (MegademonInferno) (% Chance)",
533
+ "*aip2": "Melee Skill1 (MegademonInferno) (% Chance)",
534
+ "*aip3": "Melee Attack1 (% Chance)",
535
+ "*aip4": "Approach Enemy (% Chance)",
536
+ "*aip5": "Circle Walk (% Chance)",
537
+ "*aip6": "Skill1 (MegademonInferno) AI Delay (Frames)",
538
+ "lineNumber": 89
539
+ },
540
+ "Mephisto": {
541
+ "AI": "Mephisto",
542
+ "*aip1": "Attack Enemy (% Chance)",
543
+ "lineNumber": 50
544
+ },
545
+ "Minion": {
546
+ "AI": "Minion",
547
+ "*aip1": "Melee Attack (% Chance)",
548
+ "*aip2": "\"Attack2 (% Chance), else Melee AI Delay (Frames)\"",
549
+ "*aip3": "Approach Enemy (% Chance)",
550
+ "*aip4": "AI Delay (Frames)",
551
+ "lineNumber": 116
552
+ },
553
+ "MinionSpawner": {
554
+ "AI": "MinionSpawner",
555
+ "*aip1": "Max Spawn Count",
556
+ "*aip2": "AI Delay (Frames)",
557
+ "*aip3": "Skill1 Delay (Frames)",
558
+ "*aip4": "Enemy Awareness (Range)",
559
+ "lineNumber": 121
560
+ },
561
+ "Mosquito": {
562
+ "AI": "Mosquito",
563
+ "*aip3": "Approach Enemy (% Chance)",
564
+ "*aip4": "\"Mosquito (Skill1) (% Chance), else Attack1\"",
565
+ "*aip5": "Max random walk time (Frames)",
566
+ "lineNumber": 24
567
+ },
568
+ "MosquitoNest": {
569
+ "AI": "MosquitoNest",
570
+ "*aip1": "Max Unit Spawn Count",
571
+ "*aip2": "Enemy Awareness (Range)",
572
+ "*aip3": "Spawn Unit Delay (Frames)",
573
+ "lineNumber": 83
574
+ },
575
+ "Mummy": {
576
+ "AI": "Mummy",
577
+ "*aip1": "Enemy Awareness (Range)",
578
+ "*aip2": "Approach Enemy (% Chance)",
579
+ "*aip3": "Attack Enemy (% Chance)",
580
+ "*aip4": "\"Attack1 (% Chance), else Attack2\"",
581
+ "*aip5": "AI Delay (Frames)",
582
+ "lineNumber": 21
583
+ },
584
+ "Navi": {
585
+ "AI": "Navi",
586
+ "lineNumber": 58
587
+ },
588
+ "NecroPet": {
589
+ "AI": "NecroPet",
590
+ "lineNumber": 67
591
+ },
592
+ "Nihlathak": {
593
+ "AI": "Nihlathak",
594
+ "*aip1": "Teleport (% Chance)",
595
+ "*aip2": "Teleport Range",
596
+ "*aip3": "Skill3 (Corpse Explosion) (% Chance)",
597
+ "*aip4": "Skill2 (Overseer Whip) (% Chance)",
598
+ "*aip5": "Run Away From Target (Range)",
599
+ "lineNumber": 128
600
+ },
601
+ "None": {
602
+ "AI": "None",
603
+ "lineNumber": 0
604
+ },
605
+ "Npc": {
606
+ "AI": "Npc",
607
+ "lineNumber": 32
608
+ },
609
+ "NpcBarb": {
610
+ "AI": "NpcBarb",
611
+ "*aip1": "AI Delay (Frames)",
612
+ "*aip2": "Approach Enemy (% Chance)",
613
+ "*aip3": "Enemy Awareness (Range)",
614
+ "lineNumber": 127
615
+ },
616
+ "NpcOutOfTown": {
617
+ "AI": "NpcOutOfTown",
618
+ "lineNumber": 31
619
+ },
620
+ "NpcStationary": {
621
+ "AI": "NpcStationary",
622
+ "lineNumber": 54
623
+ },
624
+ "OblivionKnight": {
625
+ "AI": "OblivionKnight",
626
+ "*aip1": "Run Away Range",
627
+ "*aip2": "Ranged Skill Range",
628
+ "*aip3": "Skill4 (Decrepify) AI Delay (Frames)",
629
+ "*aip4": "Skill6 (MonCurseCast) (% Chance)",
630
+ "*aip5": "Skill1/Skill3 (% Chance)",
631
+ "*aip6": "\"Skill3 (MonBoneSpirit) (% Chance), else Skill1\"",
632
+ "*aip7": "Approach Enemy (% Chance)",
633
+ "*aip8": "Approach Enemy (Range)",
634
+ "lineNumber": 74
635
+ },
636
+ "Overseer": {
637
+ "AI": "Overseer",
638
+ "*aip1": "Skill1 (Cry Help) AI Delay (Frames)",
639
+ "*aip2": "Skill2 (Healing Vortex) (% Chance)",
640
+ "*aip3": "Skill3 (Whip) (% Chance)",
641
+ "*aip4": "Run Away Min Range",
642
+ "*aip5": "Run Away Max Range",
643
+ "*aip6": "Attack (% Chance)",
644
+ "*aip7": "\"Attack2 (% Chance), else Attack1\"",
645
+ "lineNumber": 120
646
+ },
647
+ "PantherJavelin": {
648
+ "AI": "PantherJavelin",
649
+ "*aip1": "Approach Enemy (% Chance)",
650
+ "*aip2": "Attack1 (% Chance)",
651
+ "*aip3": "Find Ally Regroup Range",
652
+ "*aip4": "Walk Away Range",
653
+ "*aip5": "AI Delay (Frames)",
654
+ "*aip6": "Ranged Target Range",
655
+ "lineNumber": 95
656
+ },
657
+ "PantherWoman": {
658
+ "AI": "PantherWoman",
659
+ "*aip1": "Approach Enemy (% Chance)",
660
+ "*aip2": "Attack1 (% Chance)",
661
+ "*aip3": "Find Nearest Ally Range",
662
+ "*aip4": "AI Delay (Frames)",
663
+ "*aip5": "Regroup to allies (% Chance)",
664
+ "lineNumber": 18
665
+ },
666
+ "PinHead": {
667
+ "AI": "PinHead",
668
+ "*aip1": "Skill1/Skill2/Attack1 (% Chance)",
669
+ "*aip2": "Attack Delay (Frames)",
670
+ "*aip3": "Approach Enemy (% Chance)",
671
+ "*aip4": "AI Delay (Frames)",
672
+ "*aip5": "Skill1 (% Chance)",
673
+ "*aip6": "Skill2 (% Chance)",
674
+ "lineNumber": 39
675
+ },
676
+ "PutridDefiler": {
677
+ "AI": "PutridDefiler",
678
+ "*aip1": "Run Away From Target (Range)",
679
+ "*aip2": "Run Away From Target (Frames)",
680
+ "lineNumber": 137
681
+ },
682
+ "QuillMother": {
683
+ "AI": "QuillMother",
684
+ "*aip1": "Attack1 (% Chance)",
685
+ "*aip2": "Approach Enemy (% Chance)",
686
+ "*aip3": "Melee AI Delay (Frames)",
687
+ "*aip4": "AI Delay (Frames)",
688
+ "lineNumber": 75
689
+ },
690
+ "QuillRat": {
691
+ "AI": "QuillRat",
692
+ "*aip1": "Activate Range",
693
+ "*aip2": "Attack2 (% Chance)",
694
+ "*aip4": "Walk Away Range",
695
+ "lineNumber": 14
696
+ },
697
+ "Raven": {
698
+ "AI": "Raven",
699
+ "*aip1": "Caster Min Leash Range",
700
+ "*aip2": "Caster Ideal Leash Range",
701
+ "*aip3": "Attack interval (Frames)",
702
+ "*aip4": "Attack Enemy (% Chance)",
703
+ "*aip5": "Caster Max Leash Range",
704
+ "lineNumber": 107
705
+ },
706
+ "ReanimatedHorde": {
707
+ "AI": "ReanimatedHorde",
708
+ "*aip1": "Attack1 (% Chance)",
709
+ "*aip2": "Melee AI Delay (Frames)",
710
+ "*aip3": "Skill2 (Range)",
711
+ "*aip4": "Skill2 (% Chance)",
712
+ "*aip5": "Walk Towards Enemy (% Chance)",
713
+ "*aip6": "Take a few steps toward enemy (% Chance)",
714
+ "*aip7": "AI Delay (Frames)",
715
+ "lineNumber": 114
716
+ },
717
+ "Regurgitator": {
718
+ "AI": "Regurgitator",
719
+ "*aip1": "Attack1 (% Chance)",
720
+ "*aip2": "Eat Corpse In Melee (% Chance)",
721
+ "*aip3": "Approach Enemy (% Chance)",
722
+ "*aip4": "Find Corpse (% Chance)",
723
+ "*aip5": "Find Corpse In Melee (% Chance)",
724
+ "*aip6": "Find Corpse Target Range",
725
+ "lineNumber": 71
726
+ },
727
+ "SandLeaper": {
728
+ "AI": "SandLeaper",
729
+ "*aip1": "Leap (Skill1) (% Chance)",
730
+ "*aip2": "Attack2 (% Chance)",
731
+ "*aip3": "Approach Enemy (% Chance)",
732
+ "*aip4": "Circle Walk (% Chance)",
733
+ "lineNumber": 17
734
+ },
735
+ "SandMaggot": {
736
+ "AI": "SandMaggot",
737
+ "*aip1": "Lay an egg (% Chance)",
738
+ "*aip2": "Attack2 (% Chance)",
739
+ "*aip3": "Max Egg Unit Spawn Count",
740
+ "*aip4": "Attack1 (% Chance)",
741
+ "*aip5": "Min Down/Up State Time (Frames)",
742
+ "lineNumber": 15
743
+ },
744
+ "SandMaggotQueen": {
745
+ "AI": "SandMaggotQueen",
746
+ "*aip1": "Max Unit Spawn Count",
747
+ "*aip2": "AI Delay (Frames)",
748
+ "lineNumber": 66
749
+ },
750
+ "SandRaider": {
751
+ "AI": "SandRaider",
752
+ "*aip1": "Regroup Life % threshold",
753
+ "*aip2": "Circle Walk (% Chance)",
754
+ "*aip3": "Attack Enemy (% Chance)",
755
+ "*aip4": "Approach Enemy (% Chance)",
756
+ "*aip5": "Charge time (Frames)",
757
+ "*aip6": "\"Charge overlay (1 = blue, else red)\"",
758
+ "*aip7": "\"Attack1 (% Chance), else Attack2\"",
759
+ "lineNumber": 8
760
+ },
761
+ "Sarcophagus": {
762
+ "AI": "Sarcophagus",
763
+ "*aip1": "Unit Spawn Interval (Frames)",
764
+ "*aip3": "Unit Spawn Count",
765
+ "lineNumber": 45
766
+ },
767
+ "Scarab": {
768
+ "AI": "Scarab",
769
+ "*aip1": "Attack Enemy (% Chance)",
770
+ "*aip2": "\"Attack1 (% Chance), else Attack2\"",
771
+ "*aip3": "AI Delay (Frames)",
772
+ "*aip4": "Jab (Skill1) (% Chance)",
773
+ "*aip5": "Command Attack (% Chance)",
774
+ "lineNumber": 20
775
+ },
776
+ "ShadowMaster": {
777
+ "AI": "ShadowMaster",
778
+ "*aip1": "Approach Range/Melee Bonus Rating/Progressive Bonus Rating",
779
+ "*aip2": "Random Skill Pick/Enemy Awareness Range/Caster Leash Range",
780
+ "*aip3": "Attack (% Chance)",
781
+ "*aip8": "Summon Skill",
782
+ "lineNumber": 106
783
+ },
784
+ "ShadowMasterNoInit": {
785
+ "AI": "ShadowMasterNoInit",
786
+ "*aip1": "Approach Enemy Range/Melee bonus rating/Progressive bonus rating",
787
+ "*aip2": "Caster Leash Range",
788
+ "*aip3": "Attack (% Chance)",
789
+ "*aip8": "summoning skill",
790
+ "lineNumber": 143
791
+ },
792
+ "ShadowWarrior": {
793
+ "AI": "ShadowWarrior",
794
+ "*aip1": "Max Target Range",
795
+ "*aip2": "Caster Leash Range",
796
+ "*aip3": "Attack (% Chance)",
797
+ "*aip4": "Skill Decrement",
798
+ "*aip8": "Summon Skill/Skill Min Chance/Skill Max Chance (#/256)",
799
+ "lineNumber": 105
800
+ },
801
+ "SiegeBeast": {
802
+ "AI": "SiegeBeast",
803
+ "*aip1": "Call Nearby Imp Range",
804
+ "*aip2": "Attack1 (% Chance)",
805
+ "*aip3": "Melee Skill1 (% Chance)",
806
+ "*aip4": "Melee AI Delay (Frames)",
807
+ "*aip5": "\"Ranged Skill1 Max Range, Ranged Skill1 (% Chance)\"",
808
+ "*aip6": "Approach Enemy (% Chance)",
809
+ "*aip7": "Approach Enemy (Velocity)",
810
+ "lineNumber": 115
811
+ },
812
+ "SiegeTower": {
813
+ "AI": "SiegeTower",
814
+ "*aip1": "AI Delay (Frames)",
815
+ "lineNumber": 113
816
+ },
817
+ "Skeleton": {
818
+ "AI": "Skeleton",
819
+ "*aip1": "Approach Enemy (% Chance)",
820
+ "*aip2": "AI Delay (Frames)",
821
+ "*aip3": "Attack Enemy (% Chance)",
822
+ "*aip4": "\"Attack1 (% Chance), else Attack2\"",
823
+ "lineNumber": 2
824
+ },
825
+ "SkeletonBow": {
826
+ "AI": "SkeletonBow",
827
+ "*aip1": "Attack1 (% Chance)",
828
+ "*aip2": "AI Delay (Frames)",
829
+ "*aip3": "Approach Enemy (% Chance)",
830
+ "*aip4": "Walk Steps to take",
831
+ "*aip5": "Min Target Range",
832
+ "lineNumber": 37
833
+ },
834
+ "SkeletonMage": {
835
+ "AI": "SkeletonMage",
836
+ "*aip1": "Attack1 (% Chance)",
837
+ "*aip2": "Approach Enemy (Range)",
838
+ "*aip3": "Approach Enemy (% Chance)",
839
+ "*aip4": "Walk Away Range",
840
+ "*aip5": "Walk Away (% Chance)",
841
+ "*aip6": "Attack1 (% Chance)",
842
+ "*aip7": "Circle Walk (% Chance)",
843
+ "*aip8": "AI Delay (Frames)",
844
+ "lineNumber": 64
845
+ },
846
+ "Smith": {
847
+ "AI": "Smith",
848
+ "lineNumber": 98
849
+ },
850
+ "Spirit": {
851
+ "AI": "Spirit",
852
+ "lineNumber": 97
853
+ },
854
+ "Succubus": {
855
+ "AI": "Succubus",
856
+ "*aip1": "Attack1 (% Chance)",
857
+ "*aip2": "Approach Enemy (% Chance)",
858
+ "*aip3": "Skill (% Chance)",
859
+ "*aip4": "Skill Range",
860
+ "*aip5": "Melee AI Delay (Frames)",
861
+ "*aip6": "Ranged AI Delay (Frames)",
862
+ "*aip7": "Skill1 Target Min Life % Threshold",
863
+ "*aip8": "Skill2 Target Max Life % Threshold",
864
+ "lineNumber": 118
865
+ },
866
+ "SuccubusWitch": {
867
+ "AI": "SuccubusWitch",
868
+ "*aip1": "Attack1 (% Chance)",
869
+ "*aip2": "Approach Enemy (% Chance)",
870
+ "*aip3": "\"Skill (% Chance), else Run Away (% Chance)\"",
871
+ "*aip4": "Skill Range",
872
+ "*aip5": "Skill2 (% Chance)",
873
+ "*aip6": "AI Delay (Frames)",
874
+ "*aip7": "Skill1 Target Min Life % Threshold",
875
+ "*aip8": "Skill2 Target Max Life % Threshold",
876
+ "lineNumber": 119
877
+ },
878
+ "SuicideMinion": {
879
+ "AI": "SuicideMinion",
880
+ "*aip2": "AI Delay (Frames)",
881
+ "*aip3": "Approach Enemy (% Chance)",
882
+ "*aip5": "Suicide Delay (Frames)",
883
+ "lineNumber": 117
884
+ },
885
+ "Summoner": {
886
+ "AI": "Summoner",
887
+ "*aip1": "Cast (% Chance)",
888
+ "*aip2": "Skill5 (Weaken) (% Chance)",
889
+ "*aip3": "Prefer Cold Skills (Skill1/2/3/4) (% Chance)",
890
+ "*aip4": "Skill2 (Nova) Interval (Frames)",
891
+ "*aip5": "Skill3 (VampireFirewall) Interval (Frames)",
892
+ "*aip6": "Run Away (% Chance)",
893
+ "*aip7": "Skill2 (Frost Nova) Range",
894
+ "*aip8": "Skill1/3 (Glacial Spike / Fire Ball) Range",
895
+ "lineNumber": 53
896
+ },
897
+ "Swarm": {
898
+ "AI": "Swarm",
899
+ "*aip1": "Approach Enemy (% Chance)",
900
+ "*aip2": "AI Delay (Frames)",
901
+ "*aip3": "Attack1 (% Chance)",
902
+ "lineNumber": 19
903
+ },
904
+ "Tentacle": {
905
+ "AI": "Tentacle",
906
+ "*aip1": "Attack1 (% Chance)",
907
+ "*aip2": "Submerge (% Chance)",
908
+ "*aip3": "Submerge AI Delay (Frames)",
909
+ "*aip4": "Emerge AI Delay (Frames)",
910
+ "*aip5": "AI Delay (Frames)",
911
+ "*aip6": "Enemy Awareness (Range)",
912
+ "lineNumber": 56
913
+ },
914
+ "TentacleHead": {
915
+ "AI": "TentacleHead",
916
+ "*aip1": "Attack1 (% Chance)",
917
+ "*aip2": "Submerge (% Chance)",
918
+ "*aip3": "Submerge AI Delay (Frames)",
919
+ "*aip4": "Emerge AI Delay (Frames)",
920
+ "*aip5": "AI Delay (Frames)",
921
+ "*aip6": "Enemy Awareness (Range)",
922
+ "lineNumber": 57
923
+ },
924
+ "ThornHulk": {
925
+ "AI": "ThornHulk",
926
+ "*aip1": "Attack1 (% Chance)",
927
+ "*aip2": "\"Attack1 (% Chance), else Attack2\"",
928
+ "*aip3": "Circle Walk (% Chance)",
929
+ "*aip4": "Frenzy (Skill1) (% Chance)",
930
+ "*aip5": "AI Delay After Frenzy Attack2 (Frames)",
931
+ "*aip6": "Frenzy Attack2 Duration (Frames)",
932
+ "lineNumber": 27
933
+ },
934
+ "Totem": {
935
+ "AI": "Totem",
936
+ "*aip1": "Run Away From Enemy (% Chance)",
937
+ "*aip2": "Stay Close to Caster (% Chance)",
938
+ "*aip3": "Teleport Leash Range to Caster",
939
+ "*aip4": "Move Leash Range to Caster",
940
+ "lineNumber": 109
941
+ },
942
+ "TownRogue": {
943
+ "AI": "TownRogue",
944
+ "lineNumber": 62
945
+ },
946
+ "Towner": {
947
+ "AI": "Towner",
948
+ "lineNumber": 41
949
+ },
950
+ "Trap-LeftArrow": {
951
+ "AI": "Trap-LeftArrow",
952
+ "*aip1": "Min Target Range",
953
+ "*aip2": "Max Target Range",
954
+ "*aip3": "Attack AI Delay (Frames)",
955
+ "*aip4": "Skill1 AI Delay (Frames)",
956
+ "lineNumber": 79
957
+ },
958
+ "Trap-Melee": {
959
+ "AI": "Trap-Melee",
960
+ "*aip1": "Attack1 (% Chance)",
961
+ "*aip2": "AI Delay (Frames)",
962
+ "lineNumber": 87
963
+ },
964
+ "Trap-Missile": {
965
+ "AI": "Trap-Missile",
966
+ "*aip1": "Enemy Awareness (Range)",
967
+ "*aip2": "Max Use Count",
968
+ "*aip3": "AI Delay (Frames)",
969
+ "lineNumber": 77
970
+ },
971
+ "Trap-Nova": {
972
+ "AI": "Trap-Nova",
973
+ "*aip1": "Activate Range",
974
+ "*aip2": "Activate Max Count",
975
+ "*aip3": "AI Delay (Frames)",
976
+ "lineNumber": 92
977
+ },
978
+ "Trap-Poison": {
979
+ "AI": "Trap-Poison",
980
+ "*aip1": "Enemy Awareness (Range)",
981
+ "*aip2": "Max Use Count",
982
+ "*aip3": "AI Delay (Frames)",
983
+ "lineNumber": 80
984
+ },
985
+ "Trap-RightArrow": {
986
+ "AI": "Trap-RightArrow",
987
+ "*aip1": "Min Target Range",
988
+ "*aip2": "Max Target Range",
989
+ "*aip3": "Attack AI Delay (Frames)",
990
+ "*aip4": "Skill1 AI Delay (Frames)",
991
+ "lineNumber": 78
992
+ },
993
+ "TrappedSoul": {
994
+ "AI": "TrappedSoul",
995
+ "lineNumber": 99
996
+ },
997
+ "UberBaal": {
998
+ "AI": "UberBaal",
999
+ "lineNumber": 145
1000
+ },
1001
+ "UberDiablo": {
1002
+ "AI": "UberDiablo",
1003
+ "lineNumber": 147
1004
+ },
1005
+ "UberIzual": {
1006
+ "AI": "UberIzual",
1007
+ "*aip1": "Attack1 (% Chance)",
1008
+ "*aip2": "Approach Enemy (% Chance)",
1009
+ "*aip3": "Ranged Skill1 (Frost Nova) (% Chance)",
1010
+ "*aip4": "Melee Skill1 (Frost Nova) (% Chance)",
1011
+ "*aip5": "Post Skill1 (Frost Nova) AI Delay (Frames)",
1012
+ "*aip6": "Post Skill1 (Frost Nova) Attack Swing Count",
1013
+ "lineNumber": 144
1014
+ },
1015
+ "UberMephisto": {
1016
+ "AI": "UberMephisto",
1017
+ "lineNumber": 146
1018
+ },
1019
+ "Vampire": {
1020
+ "AI": "Vampire",
1021
+ "*aip1": "Attack1 (% Chance)",
1022
+ "*aip2": "Use Skill (% Chance)",
1023
+ "*aip3": "Active Range",
1024
+ "*aip4": "Skill1/Skill2/Skill3/Skill4 (% Chance)",
1025
+ "*aip5": "\"Spell bit flags (1=Fireball/Skill1, 2=Firewall/Skill2, 4=Meteor/Skill3)\"",
1026
+ "lineNumber": 28
1027
+ },
1028
+ "Vendor": {
1029
+ "AI": "Vendor",
1030
+ "lineNumber": 42
1031
+ },
1032
+ "VileDog": {
1033
+ "AI": "VileDog",
1034
+ "*aip1": "Attack1 (% Chance)",
1035
+ "*aip2": "Melee AI Delay (Frames)",
1036
+ "*aip3": "Approach Enemy (Range)",
1037
+ "lineNumber": 69
1038
+ },
1039
+ "VileMother": {
1040
+ "AI": "VileMother",
1041
+ "*aip1": "Max Unit Spawn Count",
1042
+ "*aip2": "Unit Spawn Count Per Use",
1043
+ "*aip3": "Spawn Unit (% Chance)",
1044
+ "*aip4": "Attack1 (% Chance)",
1045
+ "*aip5": "Approach Enemy (Range)",
1046
+ "*aip6": "Circle Walk (% Chance)",
1047
+ "*aip7": "AI Delay (Frames)",
1048
+ "lineNumber": 68
1049
+ },
1050
+ "Vines": {
1051
+ "AI": "Vines",
1052
+ "*aip1": "Skill1 Interval (Frames)",
1053
+ "*aip2": "Target Range",
1054
+ "*aip3": "AI Delay (Frames)",
1055
+ "*aip4": "Move Away From Poisoned Target (Frames)",
1056
+ "*aip5": "Teleport Leash Range to Caster",
1057
+ "lineNumber": 110
1058
+ },
1059
+ "Vulture": {
1060
+ "AI": "Vulture",
1061
+ "*aip1": "Attack1 (% Chance)",
1062
+ "*aip2": "AI Delay (Frames)",
1063
+ "*aip3": "Hurt State (Life % threshold)",
1064
+ "*aip4": "Circle Walk (% Chance)",
1065
+ "*aip5": "Approach Enemy (% Chance)",
1066
+ "lineNumber": 23
1067
+ },
1068
+ "WillOWisp": {
1069
+ "AI": "WillOWisp",
1070
+ "*aip1": "Cast (% Chance)",
1071
+ "*aip2": "Attack1 (% Chance)",
1072
+ "*aip3": "Approach Enemy (% Chance)",
1073
+ "lineNumber": 25
1074
+ },
1075
+ "Wraith": {
1076
+ "AI": "Wraith",
1077
+ "*aip1": "Approach Enemy (% Chance)",
1078
+ "*aip2": "AI Delay (Frames)",
1079
+ "*aip3": "Attack Enemy (% Chance)",
1080
+ "lineNumber": 9
1081
+ },
1082
+ "Wussie": {
1083
+ "AI": "Wussie",
1084
+ "lineNumber": 131
1085
+ },
1086
+ "ZakarumPriest": {
1087
+ "AI": "ZakarumPriest",
1088
+ "*aip1": "Attack1 (% Chance)",
1089
+ "*aip2": "Skill4 (MonBlizzard) (% Chance)",
1090
+ "*aip3": "Skill2 (ZakarumLightning) (% Chance)",
1091
+ "*aip4": "Skill4/Skill2 (% Chance)",
1092
+ "*aip5": "Skill3 (MonTeleport) Interval (Frames)",
1093
+ "*aip6": "Skill1 (ZakarumHeal) Search Range",
1094
+ "lineNumber": 49
1095
+ },
1096
+ "ZakarumZealot": {
1097
+ "AI": "ZakarumZealot",
1098
+ "*aip1": "Attack Enemy (% Chance)",
1099
+ "*aip2": "\"Attack2 (% Chance), else Attack1\"",
1100
+ "*aip3": "Hurt State (Life % threshold)",
1101
+ "*aip4": "\"Run (% Chance), else Walk\"",
1102
+ "lineNumber": 48
1103
+ },
1104
+ "Zombie": {
1105
+ "AI": "Zombie",
1106
+ "*aip1": "Approach Enemy (% Chance)",
1107
+ "*aip2": "Enemy Awareness (Range)",
1108
+ "*aip4": "\"Attack1 (% Chance), else Attack2\"",
1109
+ "lineNumber": 3
1110
+ }
1111
+ }