Olib 2.0.0.pre.rc.5 → 2.0.0.pre.rc.6

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7f04ae1eaa92abcb12804d1406ef80a11d9bb72c5d6c3a37143b10beef50a4c6
4
- data.tar.gz: a66cc0f978fa68f09ad657d4a8c9cea2d70d6b2e05475488327382b963f4ebf6
3
+ metadata.gz: f7d8e8dfe837282ceb421c8919c9b14385299f9f718493dc74efef8c9863cb4a
4
+ data.tar.gz: dffc7436f4fc2da600ed00104ca8ca53e9880226d846c12c67987fe36ca9845d
5
5
  SHA512:
6
- metadata.gz: 86a62a35112d0cc9f7cb61c04c64298eb8ca815a9abaa57cf22c8c45882bd12922db60d75d0d1ee549c3ddf2235647e8d08b7928ae1620a963869f45d6b8a540
7
- data.tar.gz: 69522e8c7f8e24e57e6edd622de3ddbbc0dce33213308f7ab33ccf514b7793d4da2e0d592688e92369ca928b673eabfb39cc866fd29a4f11afc2e5591fbce675
6
+ metadata.gz: bde4171be06ed24d979ffbc9a49b68a7159af161006607194485502d4e9f8a43d6c9b10b8417b2e915f8e30475670a4c87965ac0d63609302f804ea4c6e15990
7
+ data.tar.gz: 97ebab201d826e5e483777535ee91d93a9d80110eea2f329c142d3893a0985409957e95f2d4f74e28bedd1832cdf17636c160e14dd580003013a940fa2c4de83
@@ -11,7 +11,7 @@ Gem::Specification.new do |s|
11
11
  s.authors = ["Ondreian Shamsiel"]
12
12
  s.email = "ondreian.shamsiel@gmail.com"
13
13
  s.homepage = "https://github.com/ondreian/Olib"
14
- s.files = %w[Olib.gemspec] + Dir["*.md", "lib/**/*.rb"]
14
+ s.files = %w[Olib.gemspec] + Dir["*.md", "lib/**/*.rb", "lib/**/*.json"]
15
15
  #s.require_paths = %w[lib]
16
16
  # s.add_runtime_dependency "shoes"
17
17
  s.license = "MIT"
@@ -6,7 +6,7 @@ class Bounty
6
6
  @@listeners = {}
7
7
  # this should be refactored to use CONST
8
8
  REGEX = OpenStruct.new(
9
- creature_problem: /It appears they have a creature problem they\'d like you to solve/,
9
+ creature_problem: /"Hmm, I've got a task here from (?<town>.*?)\. It appears they have a creature problem they\'d like you to solve/,
10
10
  report_to_guard: /^You succeeded in your task and should report back to/,
11
11
  get_skin_bounty: /The local furrier/,
12
12
  heirloom_found: /^You have located the heirloom and should bring it back to/,
@@ -17,16 +17,15 @@ class Bounty
17
17
  heirloom: /^You have been tasked to recover (a|an|some) (?<heirloom>.*?) that an unfortunate citizen lost after being attacked by (a|an|some) (?<creature>.*?) (?:in|on|around|near|by) (?<area>.*?)(| near (?<realm>.*?))\./,
18
18
 
19
19
 
20
- get_rescue: /It appears that a local resident urgently needs our help in some matter/,
21
- get_bandits: /It appears they have a bandit problem they'd like you to solve./,
22
- get_heirloom: /It appears they need your help in tracking down some kind of lost heirloom/,
20
+ get_rescue: /"Hmm, I've got a task here from (?<town>.*?)\. It appears that a local resident urgently needs our help in some matter/,
21
+ get_bandits: /"Hmm, I've got a task here from (?<town>.*?)\. It appears they have a bandit problem they'd like you to solve./,
22
+ get_heirloom: /"Hmm, I've got a task here from (?<town>.*?)\. It appears they need your help in tracking down some kind of lost heirloom/,
23
23
  get_herb_bounty: /local herbalist|local healer|local alchemist/,
24
- get_gem_bounty: /The local gem dealer, (?<npc>[a-zA-Z ]+), has an order to fill and wants our help/,
24
+ get_gem_bounty: /"Hmm, I've got a task here from (?<town>.*?)\. The local gem dealer, (?<npc>[a-zA-Z ]+), has an order to fill and wants our help/,
25
25
 
26
26
  herb: /requires (?:a |an |)(?<herb>.*?) found (?:in|on|around|near) (?<area>.*?)(| (near|between) (?<realm>.*?)). These samples must be in pristine condition. You have been tasked to retrieve (?<number>[\d]+)/,
27
27
  escort: /Go to the (.*?) and WAIT for (?:him|her|them) to meet you there. You must guarantee (?:his|her|their) safety to (?<destination>.*?) as soon as/,
28
- gem: /has received orders from multiple customers requesting (?:a|an|some) (?<gem>[a-zA-Z '-]+). You have been tasked to retrieve (?<number>[0-9]+)/,
29
-
28
+ gem: /The gem dealer in (?<town>.*?), (?<npc>.*?), has received orders from multiple customers requesting (?:a|an|some) (?<gem>[a-zA-Z '-]+). You have been tasked to retrieve (?<number>[0-9]+)/,
30
29
  cull: /^You have been tasked to suppress (?<creature>(?!bandit).*) activity (?:in|on|around) (?<area>.*?)(| (near|between) (?<realm>.*?)). You need to kill (?<number>[0-9]+)/,
31
30
  bandits: /^You have been tasked to suppress bandit activity (?:in|on|around) (?<area>.*?) (?:near|between|under) (?<realm>.*?). You need to kill (?<number>[0-9]+)/,
32
31
 
@@ -35,7 +34,9 @@ class Bounty
35
34
  none: /You are not currently assigned a task/,
36
35
  skin: /^You have been tasked to retrieve (?<number>\d+) (?<skin>.*?) of at least (?<quality>.*?) quality for (?<buyer>.*?) in (?<realm>.*?)\.\s+You can SKIN them off the corpse of (a|an|some) (?<creature>.*?) or/,
37
36
 
38
- help_bandits: /You have been tasked to help (?<partner>.*?) suppress bandit activity (?:in|on|around) (?<area>.*?) (?:near|between|under) (?<realm>.*?). You need to kill (?<number>[0-9]+)/
37
+ help_bandits: /You have been tasked to help (?<partner>.*?) suppress bandit activity (?:in|on|around) (?<area>.*?) (?:near|between|under) (?<realm>.*?). You need to kill (?<number>[0-9]+)/,
38
+ help_creatures: /You have been tasked to help (?<partner>.*?) kill a dangerous creature by suppressing (?<creature>.*) activity (?:in|on|around|near) (?<area>.*?) (?:near|between|under) (?<realm>.*?) during the hunt. You need to kill (?<number>[0-9]+)/,
39
+ help_cull: /You have been tasked to help (?<partner>.*?) suppress (?<creature>.*) activity (?:in|on|around|near) (?<area>.*?) (?:near|between|under) (?<realm>.*?). You need to kill (?<number>[0-9]+)/,
39
40
  )
40
41
 
41
42
  # convenience list to get all types of bounties
@@ -115,23 +116,15 @@ class Bounty
115
116
  Bounty.parse(checkbounty)
116
117
  end
117
118
 
118
- def Bounty.ask_for_bounty
119
- if invisible?
120
- fput "unhide"
121
- end
122
-
123
- if hidden?
124
- fput "unhide"
125
- end
126
-
127
- if Bounty.npc
128
- fput "ask ##{Bounty.npc.id} for bounty"
129
- Bounty
119
+ def Bounty.ask_for_bounty(expedite: false)
120
+ fput "unhide" if invisible?
121
+ fput "unhide" if hidden?
122
+ raise Exception, "could not find Bounty.npc here" unless Bounty.npc
123
+ if expedite
124
+ fput "ask ##{Bounty.npc.id} for expedite"
130
125
  else
131
- raise Exception.new "could not find Bounty.npc here"
126
+ fput "ask ##{Bounty.npc.id} for bounty"
132
127
  end
133
- # give the XML parser time to update
134
- sleep 0.2
135
128
  end
136
129
 
137
130
  def Bounty.herbalist
@@ -2,7 +2,7 @@ require "ostruct"
2
2
  require "benchmark"
3
3
  require "Olib/character/disk"
4
4
 
5
- module Group
5
+ class Group
6
6
  @@members ||= []
7
7
  @@leader ||= nil
8
8
  @@checked ||= false
@@ -144,7 +144,7 @@ module Group
144
144
  end
145
145
  end
146
146
 
147
- module Group
147
+ class Group
148
148
  module Observer
149
149
  module Term
150
150
  ##
@@ -0,0 +1,60 @@
1
+ require "ostruct"
2
+
3
+ module Attack
4
+ AS_DS_PATTERN = /AS: (?<as>.*) vs DS: (?<ds>.*) with AvD: (?<avd>.*) \+ d100 roll: (?<roll>.*) = (?<total>.*)$/
5
+ CS_TD_PATTERN = /CS: (?<cs>.*) \- TD: (?<td>.*) \+ CvA: (?<cva>.*) \+ d100: (?<roll>.*) == (?<total>.*)$/
6
+
7
+ @template = Rill.union(
8
+ %[You (.*?) at <pushBold/>(a|an|some) <a exist="{{id}}],
9
+ %[A little bit late],
10
+ %[already dead],
11
+ %[You don't have a spell prepared!],
12
+ %[I could not find what you were referring to],
13
+ %[You position yourself to attack],
14
+ %[What were you referring to?])
15
+
16
+ @matcher = Rill.new(timeout: 2, start: @template)
17
+
18
+ def self.apply(creature, verb, qstrike: 0)
19
+ begin
20
+ return [:err, :dead] if creature.dead?
21
+ waitrt?
22
+ waitcastrt?
23
+ return [:err, :dead] if creature.dead?
24
+ case @matcher.capture(creature.to_h, build_command(verb, qstrike))
25
+ in [:ok, _, []]
26
+ return [:noop]
27
+ in [:ok, _, lines]
28
+ parse_result(lines)
29
+ end
30
+ rescue => exception
31
+ return [:err, exception]
32
+ end
33
+ end
34
+
35
+ def self.build_command(verb, qstrike)
36
+ return %[#{verb} \#{{id}}] if qstrike.eql?(0)
37
+ return %[qstrike #{qstrike} #{verb} \#{{id}}]
38
+ end
39
+
40
+ def self.parse_result(lines)
41
+ as_ds = lines.find {|line| line =~AS_DS_PATTERN}
42
+ return [:ok, parse_as_ds(as_ds)] if as_ds
43
+ cs_td = lines.find {|line| line =~CS_TD_PATTERN}
44
+ return [:ok, parse_cs_td(cs_td)] if cs_td
45
+ return [:err, :unknown]
46
+ end
47
+
48
+ def self.parse_cs_td(line)
49
+ resolution = OpenStruct.new line.match(CS_TD_PATTERN).to_h
50
+ Log.out(resolution)
51
+ resolution[:likelihood] = (resolution.cs + resolution.cva) - resolution.td
52
+ return resolution
53
+ end
54
+
55
+ def self.parse_as_ds(line)
56
+ resolution = OpenStruct.new line.match(AS_DS_PATTERN).to_h
57
+ resolution[:likelihood] = (resolution.as + resolution.avd) - resolution.ds
58
+ return resolution
59
+ end
60
+ end
@@ -6,6 +6,7 @@
6
6
  # - add known spells/cmans/manuevers and algorithm for danger level by profession and skills
7
7
  require "ostruct"
8
8
  require "Olib/combat/creatures"
9
+ require "Olib/combat/attack"
9
10
  require "Olib/core/exist"
10
11
  require "Olib/pattern_matching/rill"
11
12
 
@@ -20,15 +21,6 @@ class Creature < Exist
20
21
  start: Rill.union(%[You skinned the <pushBold/><a exist="{{id}}"],
21
22
  %[You botched],
22
23
  %[has already"]))
23
-
24
- Attack = Rill.new(
25
- timeout: 2,
26
- start: Rill.union(%[You (.*?) at <pushBold/>(a|an|some) <a exist="{{id}}],
27
- %[A little bit late],
28
- %[already dead],
29
- %[I could not find what you were referring to],
30
- %[What were you referring to?]))
31
-
32
24
  WOUNDS = %i[
33
25
  right_leg left_leg right_arm
34
26
  left_arm head neck chest
@@ -65,7 +57,7 @@ class Creature < Exist
65
57
  def initialize(creature)
66
58
  super(creature)
67
59
  @wounds = {}
68
- @tags = (Exist.normalize_type_data(creature.type) + (metadata["tags"] || []) ).map(&:to_sym)
60
+ @tags = Exist.normalize_type_data(creature.type).map(&:to_sym)
69
61
  TAGS.each_pair do |tag, pattern| @tags << tag if @name =~ pattern end
70
62
  Creature.add_boss_type(self)
71
63
  heal
@@ -75,14 +67,6 @@ class Creature < Exist
75
67
  @tags
76
68
  end
77
69
 
78
- def level
79
- metadata["level"] || Char.level
80
- end
81
-
82
- def metadata
83
- Creatures::BY_NAME[name] || {}
84
- end
85
-
86
70
  def heal
87
71
  WOUNDS.each do |location| @wounds[location] = 0 end
88
72
  self
@@ -174,8 +158,13 @@ class Creature < Exist
174
158
  status.include?(:stunned)
175
159
  end
176
160
 
177
- def kill_shot(order = [:left_eye, :right_eye, :head, :neck, :back], default = :chest)
178
- wounds = injuries
161
+ def skin?
162
+ dead? && !@skinned && metadata.skin.is_a?(String)
163
+ end
164
+
165
+ def kill_shot(order = %i(left_eye right_eye head neck back), default = :chest)
166
+ injuries
167
+
179
168
  return (order
180
169
  .drop_while do |area| @wounds[area] == 3 end
181
170
  .first || default).to_game
@@ -186,6 +175,14 @@ class Creature < Exist
186
175
  @targetable
187
176
  end
188
177
 
178
+ def metadata()
179
+ OpenStruct.new Creatures::Metadata.get(name)
180
+ end
181
+
182
+ def level()
183
+ metadata.level
184
+ end
185
+
189
186
  [Creatures::ARCHETYPES, Creatures::STATES].flatten.each do |state|
190
187
  define_method((state.to_s + "?").to_sym) do
191
188
  [tags, status].flatten.include?(state)
@@ -198,17 +195,6 @@ class Creature < Exist
198
195
  self
199
196
  end
200
197
 
201
- def ambush(location=nil)
202
- until hidden?
203
- fput "hide"
204
- waitrt?
205
- end
206
- Char.aim(location) if location
207
- fput "ambush ##{@id}"
208
- waitrt?
209
- self
210
- end
211
-
212
198
  def mstrike
213
199
  unless dead?
214
200
  fput "mstrike ##{@id}"
@@ -224,43 +210,33 @@ class Creature < Exist
224
210
  status.include?(:dead)
225
211
  end
226
212
 
227
- def block(method)
228
- return {err: :dead} if dead?
229
- Kernel.send(method)
230
- return {err: :dead} if dead?
231
- yield if block_given?
232
- end
233
-
234
213
  def kill
235
- block(:waitrt?) do
236
- Attack.capture(self.to_h, %[kill \#{{id}}])
237
- end
214
+ Attack.apply(self, :kill)
238
215
  end
239
216
 
240
217
  def cast
241
- block(:waitcastrt?) do
242
- Attack.capture(self.to_h, %[cast \#{{id}}])
243
- end
218
+ Attack.apply(self, :cast)
244
219
  end
245
220
 
246
- def fire(location=nil)
221
+ def fire(location: nil, qstrike: 0)
247
222
  Char.aim(location) if location
248
- block(:waitrt?) do
249
- Attack.capture(self.to_h, %[fire \#{{id}}])
250
- end
223
+ Attack.apply(self, :fire)
251
224
  end
252
225
 
253
- def hurl(location=nil)
226
+ def hurl(location: nil, qstrike: 0)
254
227
  Char.aim(location) if location
255
- block(:waitrt?) do
256
- Attack.capture(self.to_h, %[hurl \#{{id}}])
257
- end
228
+ Attack.apply(self, :hurl, qstrike: qstrike)
229
+ end
230
+
231
+ def ambush(location: nil, qstrike: 0)
232
+ Char.aim(location) if location
233
+ Attack.apply(self, :ambush)
258
234
  end
259
235
 
260
236
  def search()
261
237
  waitrt?
262
238
  return unless dead?
263
- (_, lines) = Search.capture(self.to_h, %[search \#{{id}}])
239
+ (_, _, lines) = Search.capture(self.to_h, %[search \#{{id}}])
264
240
  # the first line containers a creature id we want to avoid capturing
265
241
  lines[1..-1]
266
242
  .map do |line| Exist.scan(line) end
@@ -270,7 +246,8 @@ class Creature < Exist
270
246
  def skin()
271
247
  waitrt?
272
248
  return unless dead?
273
- (_, lines) = Skin.capture(self.to_h, %[skin \#{{id}}])
249
+ (_, _, lines)= Skin.capture(self.to_h, %[skin \#{{id}}])
250
+ @skinned = true
274
251
  lines
275
252
  .map do |line| Exist.scan(line.split("yielding").last) end
276
253
  .flatten.compact.reject(&:gone?)
@@ -0,0 +1,1770 @@
1
+ {
2
+ "black rolton": {
3
+ "level": 1,
4
+ "skin": "rolton ear"
5
+ },
6
+ "black-winged daggerbeak": {
7
+ "level": 1,
8
+ "skin": "daggerbeak wing"
9
+ },
10
+ "carrion worm": {
11
+ "level": 1,
12
+ "skin": "worm skin"
13
+ },
14
+ "fanged rodent": {
15
+ "level": 1,
16
+ "skin": "rodent fang"
17
+ },
18
+ "fire ant": {
19
+ "level": 1,
20
+ "skin": "fire ant pincer"
21
+ },
22
+ "giant ant": {
23
+ "level": 1,
24
+ "skin": "ant pincer"
25
+ },
26
+ "giant rat": {
27
+ "level": 1,
28
+ "skin": "rat pelt"
29
+ },
30
+ "kobold": {
31
+ "level": 1,
32
+ "skin": "kobold skin"
33
+ },
34
+ "lesser ghoul": {
35
+ "level": 1,
36
+ "skin": "ghoul nail"
37
+ },
38
+ "mountain rolton": {
39
+ "level": 1,
40
+ "skin": "rolton eye"
41
+ },
42
+ "rolton": {
43
+ "level": 1,
44
+ "skin": "rolton pelt"
45
+ },
46
+ "skeleton": {
47
+ "level": 1,
48
+ "skin": "skeleton bone"
49
+ },
50
+ "slimy little grub": {
51
+ "level": 1
52
+ },
53
+ "spotted gnarp": {
54
+ "level": 1,
55
+ "skin": "spotted gnarp horn"
56
+ },
57
+ "young grass snake": {
58
+ "level": 1,
59
+ "skin": "snake skin"
60
+ },
61
+ "zombie rolton": {
62
+ "level": 1,
63
+ "skin": "rotting rolton pelt"
64
+ },
65
+ "mistydeep siren": {
66
+ "level": 2
67
+ },
68
+ "big ugly kobold": {
69
+ "level": 2,
70
+ "skin": "kobold skin"
71
+ },
72
+ "brown gak": {
73
+ "level": 2,
74
+ "skin": "brown gak hide"
75
+ },
76
+ "cave gnome": {
77
+ "level": 2,
78
+ "skin": "gnome scalp"
79
+ },
80
+ "fanged goblin": {
81
+ "level": 2,
82
+ "skin": "goblin fang"
83
+ },
84
+ "ghost": {
85
+ "level": 2
86
+ },
87
+ "goblin": {
88
+ "level": 2,
89
+ "skin": "goblin skin"
90
+ },
91
+ "lesser frost shade": {
92
+ "level": 2
93
+ },
94
+ "lesser shade": {
95
+ "level": 2
96
+ },
97
+ "moaning phantom": {
98
+ "level": 2
99
+ },
100
+ "pale crab": {
101
+ "level": 2,
102
+ "skin": "pale crab pincer"
103
+ },
104
+ "phantom": {
105
+ "level": 2
106
+ },
107
+ "rabid squirrel": {
108
+ "level": 2,
109
+ "skin": "squirrel tail"
110
+ },
111
+ "sea nymph": {
112
+ "level": 2
113
+ },
114
+ "spotted gak": {
115
+ "level": 2,
116
+ "skin": "gak hide"
117
+ },
118
+ "thyril": {
119
+ "level": 2
120
+ },
121
+ "bresnahanini rolton": {
122
+ "level": 3,
123
+ "skin": "rolton horn"
124
+ },
125
+ "cave gnoll": {
126
+ "level": 3
127
+ },
128
+ "cave nipper": {
129
+ "level": 3,
130
+ "skin": "cave nipper skin"
131
+ },
132
+ "dark vysan": {
133
+ "level": 3
134
+ },
135
+ "fire salamander": {
136
+ "level": 3,
137
+ "skin": "salamander skin"
138
+ },
139
+ "greater ghoul": {
140
+ "level": 3,
141
+ "skin": "ghoul scraping"
142
+ },
143
+ "greater ice spider": {
144
+ "level": 3,
145
+ "skin": "spider leg"
146
+ },
147
+ "hobgoblin": {
148
+ "level": 3,
149
+ "skin": "hobgoblin scalp"
150
+ },
151
+ "ice skeleton": {
152
+ "level": 3,
153
+ "skin": "skeleton skull"
154
+ },
155
+ "kobold shepherd": {
156
+ "level": 3,
157
+ "skin": "kobold ear"
158
+ },
159
+ "mountain snowcat": {
160
+ "level": 3,
161
+ "skin": "snowcat pelt"
162
+ },
163
+ "relnak": {
164
+ "level": 3,
165
+ "skin": "relnak sail"
166
+ },
167
+ "spotted velnalin": {
168
+ "level": 3,
169
+ "skin": "velnalin horn"
170
+ },
171
+ "striped gak": {
172
+ "level": 3,
173
+ "skin": "gak pelt"
174
+ },
175
+ "striped relnak": {
176
+ "level": 3,
177
+ "skin": "striped relnak sail"
178
+ },
179
+ "troglodyte": {
180
+ "level": 3
181
+ },
182
+ "velnalin": {
183
+ "level": 3,
184
+ "skin": "velnalin hide"
185
+ },
186
+ "white vysan": {
187
+ "level": 3
188
+ },
189
+ "black urgh": {
190
+ "level": 4,
191
+ "skin": "black urgh hide"
192
+ },
193
+ "cobra": {
194
+ "level": 4,
195
+ "skin": "cobra skin"
196
+ },
197
+ "fanged viper": {
198
+ "level": 4,
199
+ "skin": "viper skin"
200
+ },
201
+ "mongrel kobold": {
202
+ "level": 4,
203
+ "skin": "mangy kobold scalp"
204
+ },
205
+ "revenant": {
206
+ "level": 4
207
+ },
208
+ "ridge orc": {
209
+ "level": 4
210
+ },
211
+ "spotted leaper": {
212
+ "level": 4,
213
+ "skin": "spotted leaper pelt"
214
+ },
215
+ "urgh": {
216
+ "level": 4,
217
+ "skin": "urgh hide"
218
+ },
219
+ "water moccasin": {
220
+ "level": 4,
221
+ "skin": "water moccasin skin"
222
+ },
223
+ "whiptail": {
224
+ "level": 4,
225
+ "skin": "whiptail stinger"
226
+ },
227
+ "bobcat": {
228
+ "level": 5,
229
+ "skin": "bobcat claw"
230
+ },
231
+ "coyote": {
232
+ "level": 5,
233
+ "skin": "coyote tail"
234
+ },
235
+ "dark apparition": {
236
+ "level": 5
237
+ },
238
+ "mist wraith": {
239
+ "level": 5,
240
+ "skin": "mist wraith eye"
241
+ },
242
+ "mongrel hobgoblin": {
243
+ "level": 5,
244
+ "skin": "mongrel hobgoblin snout"
245
+ },
246
+ "nasty little gremlin": {
247
+ "level": 5
248
+ },
249
+ "night golem": {
250
+ "level": 5,
251
+ "skin": "night golem finger"
252
+ },
253
+ "water witch": {
254
+ "level": 5
255
+ },
256
+ "cockatrice": {
257
+ "level": 6,
258
+ "skin": "cockatrice feather"
259
+ },
260
+ "firephantom": {
261
+ "level": 6
262
+ },
263
+ "leaper": {
264
+ "level": 6,
265
+ "skin": "leaper hide"
266
+ },
267
+ "lesser mummy": {
268
+ "level": 6,
269
+ "skin": "mummy's shroud"
270
+ },
271
+ "lesser orc": {
272
+ "level": 6,
273
+ "skin": "orc hide"
274
+ },
275
+ "monkey": {
276
+ "level": 6,
277
+ "skin": "monkey paw"
278
+ },
279
+ "snowy cockatrice": {
280
+ "level": 6,
281
+ "skin": "snowy cockatrice tailfeather"
282
+ },
283
+ "spectral fisherman": {
284
+ "level": 6
285
+ },
286
+ "spotted lynx": {
287
+ "level": 6,
288
+ "skin": "lynx pelt"
289
+ },
290
+ "blood eagle": {
291
+ "level": 7,
292
+ "skin": "blood red eagle feather"
293
+ },
294
+ "greater kappa": {
295
+ "level": 7,
296
+ "skin": "kappa fin"
297
+ },
298
+ "hobgoblin shaman": {
299
+ "level": 7,
300
+ "skin": "hobgoblin shaman ear"
301
+ },
302
+ "lesser burrow orc": {
303
+ "level": 7,
304
+ "skin": "orc claw"
305
+ },
306
+ "lesser red orc": {
307
+ "level": 7,
308
+ "skin": "red orc scalp"
309
+ },
310
+ "shelfae soldier": {
311
+ "level": 7,
312
+ "skin": "shelfae scale"
313
+ },
314
+ "albino tomb spider": {
315
+ "level": 8,
316
+ "skin": "multi-faceted tomb spider eye"
317
+ },
318
+ "bone golem": {
319
+ "level": 8,
320
+ "skin": "golem bone"
321
+ },
322
+ "crystal crab": {
323
+ "level": 8,
324
+ "skin": "faceted crystal crab shell"
325
+ },
326
+ "greater burrow orc": {
327
+ "level": 8,
328
+ "skin": "orc claw"
329
+ },
330
+ "greater orc": {
331
+ "level": 8,
332
+ "skin": "orc scalp"
333
+ },
334
+ "greater spider": {
335
+ "level": 8,
336
+ "skin": "spider leg"
337
+ },
338
+ "mottled thrak": {
339
+ "level": 8
340
+ },
341
+ "thrak": {
342
+ "level": 8,
343
+ "skin": "thrak hide"
344
+ },
345
+ "brown spinner": {
346
+ "level": 9,
347
+ "skin": "brown spinner leg"
348
+ },
349
+ "crocodile": {
350
+ "level": 9,
351
+ "skin": "crocodile snout"
352
+ },
353
+ "death dirge": {
354
+ "level": 9,
355
+ "skin": "dirge skin"
356
+ },
357
+ "manticore": {
358
+ "level": 9,
359
+ "skin": "manticore tail"
360
+ },
361
+ "snow spectre": {
362
+ "level": 9,
363
+ "skin": "spectre nail"
364
+ },
365
+ "cave worm": {
366
+ "level": 10
367
+ },
368
+ "giant marmot": {
369
+ "level": 10,
370
+ "skin": "marmot pelt"
371
+ },
372
+ "gnoll worker": {
373
+ "level": 10
374
+ },
375
+ "great boar": {
376
+ "level": 10,
377
+ "skin": "boar tusk"
378
+ },
379
+ "rabid guard dog": {
380
+ "level": 10,
381
+ "skin": "rotted canine"
382
+ },
383
+ "raider orc": {
384
+ "level": 10
385
+ },
386
+ "werebear": {
387
+ "level": 10,
388
+ "skin": "werebear paw"
389
+ },
390
+ "neartofar orc": {
391
+ "level": 11,
392
+ "skin": "orc knuckle"
393
+ },
394
+ "shelfae chieftain": {
395
+ "level": 11,
396
+ "skin": "shelfae crest"
397
+ },
398
+ "wall guardian": {
399
+ "level": 11
400
+ },
401
+ "crystal golem": {
402
+ "level": 12
403
+ },
404
+ "dark orc": {
405
+ "level": 12,
406
+ "skin": "orc ear"
407
+ },
408
+ "darkwoode": {
409
+ "level": 13
410
+ },
411
+ "deranged sentry": {
412
+ "level": 13
413
+ },
414
+ "gnoll thief": {
415
+ "level": 13
416
+ },
417
+ "great stag": {
418
+ "level": 13,
419
+ "skin": "antlers"
420
+ },
421
+ "plumed cockatrice": {
422
+ "level": 13,
423
+ "skin": "cockatrice plume"
424
+ },
425
+ "tawny brindlecat": {
426
+ "level": 13,
427
+ "skin": "tawny brindlecat hide"
428
+ },
429
+ "agresh troll scout": {
430
+ "level": 14
431
+ },
432
+ "black boar": {
433
+ "level": 14,
434
+ "skin": "black boar hide"
435
+ },
436
+ "brown boar": {
437
+ "level": 14,
438
+ "skin": "brown boar skin"
439
+ },
440
+ "forest troll": {
441
+ "level": 14,
442
+ "skin": "troll hide"
443
+ },
444
+ "giant weasel": {
445
+ "level": 14,
446
+ "skin": "weasel pelt"
447
+ },
448
+ "great brown bear": {
449
+ "level": 14,
450
+ "skin": "brown bear skin"
451
+ },
452
+ "grey orc": {
453
+ "level": 14,
454
+ "skin": "orc beard"
455
+ },
456
+ "silverback orc": {
457
+ "level": 14,
458
+ "skin": "silverback orc knuckle"
459
+ },
460
+ "shadowy spectre": {
461
+ "level": 14
462
+ },
463
+ "spectre": {
464
+ "level": 14,
465
+ "skin": "spectre skin"
466
+ },
467
+ "swamp troll": {
468
+ "level": 14,
469
+ "skin": "swamp troll scalp"
470
+ },
471
+ "arctic puma": {
472
+ "level": 15,
473
+ "skin": "white puma hide"
474
+ },
475
+ "black leopard": {
476
+ "level": 15,
477
+ "skin": "black leopard paw"
478
+ },
479
+ "gnoll ranger": {
480
+ "level": 15
481
+ },
482
+ "humpbacked puma": {
483
+ "level": 15,
484
+ "skin": "puma paw"
485
+ },
486
+ "large ogre": {
487
+ "level": 15,
488
+ "skin": "ogre tusk"
489
+ },
490
+ "luminescent arachnid": {
491
+ "level": 15
492
+ },
493
+ "neartofar troll": {
494
+ "level": 15,
495
+ "skin": "greasy troll scalp"
496
+ },
497
+ "panther": {
498
+ "level": 15,
499
+ "skin": "panther pelt"
500
+ },
501
+ "puma": {
502
+ "level": 15,
503
+ "skin": "puma hide"
504
+ },
505
+ "ridgeback boar": {
506
+ "level": 15,
507
+ "skin": "yellowed boar tusk"
508
+ },
509
+ "tomb wight": {
510
+ "level": 15,
511
+ "skin": "wight claw"
512
+ },
513
+ "wolfshade": {
514
+ "level": 15
515
+ },
516
+ "wraith": {
517
+ "level": 15,
518
+ "skin": "wraith talon"
519
+ },
520
+ "agresh bear": {
521
+ "level": 16,
522
+ "skin": "agresh bear claw"
523
+ },
524
+ "agresh troll warrior": {
525
+ "level": 16
526
+ },
527
+ "banded rattlesnake": {
528
+ "level": 16,
529
+ "skin": "rattlesnake rattle"
530
+ },
531
+ "black bear": {
532
+ "level": 16,
533
+ "skin": "bear hide"
534
+ },
535
+ "cave troll": {
536
+ "level": 16,
537
+ "skin": "troll skin"
538
+ },
539
+ "fire guardian": {
540
+ "level": 16
541
+ },
542
+ "fire rat": {
543
+ "level": 16,
544
+ "skin": "fire rat tail"
545
+ },
546
+ "ghost wolf": {
547
+ "level": 16
548
+ },
549
+ "ghoul master": {
550
+ "level": 16,
551
+ "skin": "ghoul finger"
552
+ },
553
+ "hill troll": {
554
+ "level": 16,
555
+ "skin": "troll beard"
556
+ },
557
+ "mongrel troll": {
558
+ "level": 16,
559
+ "skin": "chipped troll tusk"
560
+ },
561
+ "mongrel wolfhound": {
562
+ "level": 16,
563
+ "skin": "yellowed canine"
564
+ },
565
+ "mountain ogre": {
566
+ "level": 16,
567
+ "skin": "ogre nose"
568
+ },
569
+ "phosphorescent worm": {
570
+ "level": 16
571
+ },
572
+ "plains orc warrior": {
573
+ "level": 16,
574
+ "skin": "scraggly orc scalp"
575
+ },
576
+ "red bear": {
577
+ "level": 16,
578
+ "skin": "bear paw"
579
+ },
580
+ "wind witch": {
581
+ "level": 16,
582
+ "skin": "crooked witch nose"
583
+ },
584
+ "black panther": {
585
+ "level": 17
586
+ },
587
+ "dark shambler": {
588
+ "level": 17,
589
+ "skin": "glistening black eye"
590
+ },
591
+ "forest ogre": {
592
+ "level": 17,
593
+ "skin": "ogre tusk"
594
+ },
595
+ "giant veaba": {
596
+ "level": 17,
597
+ "skin": "veaba claw"
598
+ },
599
+ "gnoll guard": {
600
+ "level": 17
601
+ },
602
+ "krolvin mercenary": {
603
+ "level": 17
604
+ },
605
+ "mountain goat": {
606
+ "level": 17,
607
+ "skin": "goat hoof"
608
+ },
609
+ "mountain troll": {
610
+ "level": 17,
611
+ "skin": "troll toe"
612
+ },
613
+ "plains ogre": {
614
+ "level": 17,
615
+ "skin": "ogre nose"
616
+ },
617
+ "plains orc scout": {
618
+ "level": 17,
619
+ "skin": "scraggly orc scalp"
620
+ },
621
+ "spiked cavern urchin": {
622
+ "level": 17
623
+ },
624
+ "bighorn sheep": {
625
+ "level": 18,
626
+ "skin": "bighorn sheepskin"
627
+ },
628
+ "cave lizard": {
629
+ "level": 18,
630
+ "skin": "stone-grey lizard tail"
631
+ },
632
+ "elder ghoul master": {
633
+ "level": 18,
634
+ "skin": "ghoul master claw"
635
+ },
636
+ "fire cat": {
637
+ "level": 18,
638
+ "skin": "fire cat claw"
639
+ },
640
+ "ghostly warrior": {
641
+ "level": 18
642
+ },
643
+ "greenwing hornet": {
644
+ "level": 18,
645
+ "skin": "hornet stinger"
646
+ },
647
+ "mountain lion": {
648
+ "level": 18,
649
+ "skin": "mountain lion skin"
650
+ },
651
+ "nedum vereri": {
652
+ "level": 18
653
+ },
654
+ "plains lion": {
655
+ "level": 18,
656
+ "skin": "plains lion skin"
657
+ },
658
+ "plains orc shaman": {
659
+ "level": 18,
660
+ "skin": "scraggly orc scalp"
661
+ },
662
+ "rotting krolvin pirate": {
663
+ "level": 18
664
+ },
665
+ "shelfae warlord": {
666
+ "level": 18,
667
+ "skin": "orange shelfae scale"
668
+ },
669
+ "thunder troll": {
670
+ "level": 18,
671
+ "skin": "troll scalp"
672
+ },
673
+ "war troll": {
674
+ "level": 18,
675
+ "skin": "troll heart"
676
+ },
677
+ "krolvin warrior": {
678
+ "level": 19
679
+ },
680
+ "agresh troll chieftain": {
681
+ "level": 20
682
+ },
683
+ "arch wight": {
684
+ "level": 20,
685
+ "skin": "wight skin"
686
+ },
687
+ "gnoll priest": {
688
+ "level": 20
689
+ },
690
+ "major spider": {
691
+ "level": 20
692
+ },
693
+ "massive grahnk": {
694
+ "level": 20
695
+ },
696
+ "ogre warrior": {
697
+ "level": 20,
698
+ "skin": "ogre tooth"
699
+ },
700
+ "steel golem": {
701
+ "level": 20
702
+ },
703
+ "striped warcat": {
704
+ "level": 20,
705
+ "skin": "warcat whisker"
706
+ },
707
+ "wood wight": {
708
+ "level": 20,
709
+ "skin": "wight scalp"
710
+ },
711
+ "ancient ghoul master": {
712
+ "level": 21
713
+ },
714
+ "arachne servant": {
715
+ "level": 21
716
+ },
717
+ "cave bear": {
718
+ "level": 21,
719
+ "skin": "bear claw"
720
+ },
721
+ "plains orc chieftain": {
722
+ "level": 21,
723
+ "skin": "scraggly orc scalp"
724
+ },
725
+ "cougar": {
726
+ "level": 22,
727
+ "skin": "cougar tail"
728
+ },
729
+ "crested basilisk": {
730
+ "level": 22,
731
+ "skin": "basilisk crest"
732
+ },
733
+ "dark panther": {
734
+ "level": 22,
735
+ "skin": "panther pelt"
736
+ },
737
+ "warthog": {
738
+ "level": 22,
739
+ "skin": "warthog snout"
740
+ },
741
+ "arachne acolyte": {
742
+ "level": 23
743
+ },
744
+ "centaur": {
745
+ "level": 23,
746
+ "skin": "centaur hide"
747
+ },
748
+ "centaur ranger": {
749
+ "level": 23,
750
+ "skin": "centaur hide"
751
+ },
752
+ "crazed zombie": {
753
+ "level": 23,
754
+ "skin": "zombie scalp"
755
+ },
756
+ "fenghai": {
757
+ "level": 23,
758
+ "skin": "fenghai fur"
759
+ },
760
+ "niirsha": {
761
+ "level": 23
762
+ },
763
+ "nonomino": {
764
+ "level": 23
765
+ },
766
+ "rotting woodsman": {
767
+ "level": 23
768
+ },
769
+ "zombie": {
770
+ "level": 23,
771
+ "skin": "zombie scalp"
772
+ },
773
+ "arctic wolverine": {
774
+ "level": 24,
775
+ "skin": "wolverine tail"
776
+ },
777
+ "burly reiver": {
778
+ "level": 24
779
+ },
780
+ "giant albino scorpion": {
781
+ "level": 24,
782
+ "skin": "scorpion stinger"
783
+ },
784
+ "ice hound": {
785
+ "level": 24,
786
+ "skin": "ice hound ear"
787
+ },
788
+ "night hound": {
789
+ "level": 24,
790
+ "skin": "night hound hide"
791
+ },
792
+ "reiver": {
793
+ "level": 24
794
+ },
795
+ "roa'ter wormling": {
796
+ "level": 24
797
+ },
798
+ "tree viper": {
799
+ "level": 24,
800
+ "skin": "tree viper fang"
801
+ },
802
+ "veteran reiver": {
803
+ "level": 24
804
+ },
805
+ "wolverine": {
806
+ "level": 24,
807
+ "skin": "wolverine pelt"
808
+ },
809
+ "carceris": {
810
+ "level": 25
811
+ },
812
+ "gnoll jarl": {
813
+ "level": 25
814
+ },
815
+ "krolvin warfarer": {
816
+ "level": 25
817
+ },
818
+ "sacristan spirit": {
819
+ "level": 25
820
+ },
821
+ "spectral monk": {
822
+ "level": 25
823
+ },
824
+ "arachne priest": {
825
+ "level": 26
826
+ },
827
+ "arachne priestess": {
828
+ "level": 26
829
+ },
830
+ "jungle troll": {
831
+ "level": 26,
832
+ "skin": "troll knuckle"
833
+ },
834
+ "tree spirit": {
835
+ "level": 26
836
+ },
837
+ "grutik savage": {
838
+ "level": 27
839
+ },
840
+ "cyclops": {
841
+ "level": 27,
842
+ "skin": "cyclops eye"
843
+ },
844
+ "frenzied monk": {
845
+ "level": 27
846
+ },
847
+ "lesser stone gargoyle": {
848
+ "level": 27
849
+ },
850
+ "monastic lich": {
851
+ "level": 27
852
+ },
853
+ "snow leopard": {
854
+ "level": 27,
855
+ "skin": "leopard skin"
856
+ },
857
+ "troll chieftain": {
858
+ "level": 27,
859
+ "skin": "troll fang"
860
+ },
861
+ "cook's assistant": {
862
+ "level": 28
863
+ },
864
+ "darken": {
865
+ "level": 28
866
+ },
867
+ "dobrem": {
868
+ "level": 28,
869
+ "skin": "dobrem snout"
870
+ },
871
+ "fire ogre": {
872
+ "level": 28
873
+ },
874
+ "giant hawk-owl": {
875
+ "level": 28,
876
+ "skin": "tufted hawk-owl ear"
877
+ },
878
+ "ki-lin": {
879
+ "level": 28
880
+ },
881
+ "martial eagle": {
882
+ "level": 28,
883
+ "skin": "martial eagle talon"
884
+ },
885
+ "moaning spirit": {
886
+ "level": 28
887
+ },
888
+ "grutik shaman": {
889
+ "level": 29
890
+ },
891
+ "arctic manticore": {
892
+ "level": 29,
893
+ "skin": "arctic manticore mane"
894
+ },
895
+ "ice troll": {
896
+ "level": 29,
897
+ "skin": "ice troll scalp"
898
+ },
899
+ "pra'eda": {
900
+ "level": 29
901
+ },
902
+ "scaly burgee": {
903
+ "level": 29,
904
+ "skin": "scaly burgee shell"
905
+ },
906
+ "elder tree spirit": {
907
+ "level": 30
908
+ },
909
+ "giant albino tomb spider": {
910
+ "level": 30,
911
+ "skin": "sheer white spider mandible"
912
+ },
913
+ "hisskra warrior": {
914
+ "level": 30,
915
+ "skin": "hisskra skin"
916
+ },
917
+ "hooded figure": {
918
+ "level": 30
919
+ },
920
+ "hunter troll": {
921
+ "level": 30,
922
+ "skin": "troll tongue"
923
+ },
924
+ "jungle troll chieftain": {
925
+ "level": 30,
926
+ "skin": "scrap of troll skin"
927
+ },
928
+ "lesser wood sprite": {
929
+ "level": 30
930
+ },
931
+ "mammoth arachnid": {
932
+ "level": 30,
933
+ "skin": "mandible"
934
+ },
935
+ "tegursh sentry": {
936
+ "level": 30,
937
+ "skin": "tegursh claw"
938
+ },
939
+ "ash hag": {
940
+ "level": 31,
941
+ "skin": "ash hag nose"
942
+ },
943
+ "krynch": {
944
+ "level": 31,
945
+ "skin": "krynch shinbone"
946
+ },
947
+ "skeletal ice troll": {
948
+ "level": 31
949
+ },
950
+ "wild hound": {
951
+ "level": 31
952
+ },
953
+ "caribou": {
954
+ "level": 32,
955
+ "skin": "a pair of caribou antlers"
956
+ },
957
+ "ghostly mara": {
958
+ "level": 32
959
+ },
960
+ "giant fog beetle": {
961
+ "level": 32,
962
+ "skin": "fog beetle carapace"
963
+ },
964
+ "rotting corpse": {
965
+ "level": 32
966
+ },
967
+ "rotting farmhand": {
968
+ "level": 32
969
+ },
970
+ "ghostly pooka": {
971
+ "level": 33
972
+ },
973
+ "hisskra shaman": {
974
+ "level": 33,
975
+ "skin": "hisskra tooth"
976
+ },
977
+ "lesser fetid corpse": {
978
+ "level": 33
979
+ },
980
+ "maw spore": {
981
+ "level": 33
982
+ },
983
+ "mezic": {
984
+ "level": 33
985
+ },
986
+ "moor hound": {
987
+ "level": 33,
988
+ "skin": "moor hound paw"
989
+ },
990
+ "sand beetle": {
991
+ "level": 33
992
+ },
993
+ "skeletal giant": {
994
+ "level": 33,
995
+ "skin": "skeletal giant bone"
996
+ },
997
+ "three-toed tegu": {
998
+ "level": 33,
999
+ "skin": "tailspike"
1000
+ },
1001
+ "cold guardian": {
1002
+ "level": 34
1003
+ },
1004
+ "colossus vulture": {
1005
+ "level": 34,
1006
+ "skin": "ruff of vulture feathers"
1007
+ },
1008
+ "hisskra chieftain": {
1009
+ "level": 34,
1010
+ "skin": "hisskra crest"
1011
+ },
1012
+ "lava troll": {
1013
+ "level": 34,
1014
+ "skin": "troll eye"
1015
+ },
1016
+ "moor witch": {
1017
+ "level": 34
1018
+ },
1019
+ "rock troll zombie": {
1020
+ "level": 34,
1021
+ "skin": "decaying troll eye"
1022
+ },
1023
+ "skeletal soldier": {
1024
+ "level": 34
1025
+ },
1026
+ "spectral warrior": {
1027
+ "level": 34
1028
+ },
1029
+ "tundra giant": {
1030
+ "level": 34,
1031
+ "skin": "tundra giant tooth"
1032
+ },
1033
+ "barghest": {
1034
+ "level": 35
1035
+ },
1036
+ "bog troll": {
1037
+ "level": 35,
1038
+ "skin": "troll ear"
1039
+ },
1040
+ "moor eagle": {
1041
+ "level": 35,
1042
+ "skin": "talon"
1043
+ },
1044
+ "shimmering fungus": {
1045
+ "level": 35,
1046
+ "skin": "fungal cap"
1047
+ },
1048
+ "spectral black warhorse": {
1049
+ "level": 35
1050
+ },
1051
+ "spectral shade": {
1052
+ "level": 35
1053
+ },
1054
+ "spectral woodsman": {
1055
+ "level": 35
1056
+ },
1057
+ "troll wraith": {
1058
+ "level": 35
1059
+ },
1060
+ "water wyrd": {
1061
+ "level": 35
1062
+ },
1063
+ "arctic titan": {
1064
+ "level": 36,
1065
+ "skin": "arctic titan toe"
1066
+ },
1067
+ "dust beetle": {
1068
+ "level": 36
1069
+ },
1070
+ "fire giant": {
1071
+ "level": 36,
1072
+ "skin": "fire giant mane"
1073
+ },
1074
+ "krolvin slaver": {
1075
+ "level": 36
1076
+ },
1077
+ "snow crone": {
1078
+ "level": 36,
1079
+ "skin": "crooked crone finger"
1080
+ },
1081
+ "spectral lord": {
1082
+ "level": 36
1083
+ },
1084
+ "undertaker bat": {
1085
+ "level": 36,
1086
+ "skin": "bat wing"
1087
+ },
1088
+ "writhing icy bush": {
1089
+ "level": 36,
1090
+ "skin": "blood-stained leaf"
1091
+ },
1092
+ "sheruvian initiate": {
1093
+ "level": 37
1094
+ },
1095
+ "huge mein golem": {
1096
+ "level": 37
1097
+ },
1098
+ "lesser moor wight": {
1099
+ "level": 37,
1100
+ "skin": "wight skull"
1101
+ },
1102
+ "magru": {
1103
+ "level": 37
1104
+ },
1105
+ "shadow mare": {
1106
+ "level": 37,
1107
+ "skin": "silver-tipped horseshoe"
1108
+ },
1109
+ "skeletal warhorse": {
1110
+ "level": 37,
1111
+ "skin": "skeletal warhorse jaw"
1112
+ },
1113
+ "tusked ursian": {
1114
+ "level": 37,
1115
+ "skin": "ursian tusk"
1116
+ },
1117
+ "frost giant": {
1118
+ "level": 38,
1119
+ "skin": "giant toe"
1120
+ },
1121
+ "grizzly bear": {
1122
+ "level": 38,
1123
+ "skin": "grizzly bear hide"
1124
+ },
1125
+ "krolvin corsair": {
1126
+ "level": 38
1127
+ },
1128
+ "mud wasp": {
1129
+ "level": 38,
1130
+ "skin": "wasp stinger"
1131
+ },
1132
+ "shadow steed": {
1133
+ "level": 38,
1134
+ "skin": "silvery tail"
1135
+ },
1136
+ "vesperti": {
1137
+ "level": 38,
1138
+ "skin": "vesperti claw"
1139
+ },
1140
+ "wood sprite": {
1141
+ "level": 38
1142
+ },
1143
+ "blackened decaying tumbleweed": {
1144
+ "level": 39,
1145
+ "skin": "desiccated stem"
1146
+ },
1147
+ "greater bog troll": {
1148
+ "level": 39,
1149
+ "skin": "cracked troll jawbone"
1150
+ },
1151
+ "greater moor wight": {
1152
+ "level": 39,
1153
+ "skin": "wight mane"
1154
+ },
1155
+ "stone gargoyle": {
1156
+ "level": 39
1157
+ },
1158
+ "storm giant": {
1159
+ "level": 39,
1160
+ "skin": "giant skin"
1161
+ },
1162
+ "vourkha": {
1163
+ "level": 39
1164
+ },
1165
+ "forest bendith": {
1166
+ "level": 40
1167
+ },
1168
+ "kiramon worker": {
1169
+ "level": 40,
1170
+ "skin": "kiramon mandible"
1171
+ },
1172
+ "myklian": {
1173
+ "level": 40,
1174
+ "skin": "myklian scale"
1175
+ },
1176
+ "spectral miner": {
1177
+ "level": 40
1178
+ },
1179
+ "writhing frost-glazed vine": {
1180
+ "level": 40,
1181
+ "skin": "thorn-ridden appendage"
1182
+ },
1183
+ "sheruvian monk": {
1184
+ "level": 41
1185
+ },
1186
+ "bog wraith": {
1187
+ "level": 41
1188
+ },
1189
+ "lesser ice giant": {
1190
+ "level": 41,
1191
+ "skin": "giant scalp"
1192
+ },
1193
+ "roa'ter": {
1194
+ "level": 41,
1195
+ "skin": "roa'ter skin"
1196
+ },
1197
+ "skeletal lord": {
1198
+ "level": 41
1199
+ },
1200
+ "baesrukha": {
1201
+ "level": 42
1202
+ },
1203
+ "dark vortece": {
1204
+ "level": 42
1205
+ },
1206
+ "frozen corpse": {
1207
+ "level": 42,
1208
+ "skin": "frozen scalp"
1209
+ },
1210
+ "greater fetid corpse": {
1211
+ "level": 42
1212
+ },
1213
+ "minor glacei": {
1214
+ "level": 42
1215
+ },
1216
+ "phantasma": {
1217
+ "level": 42
1218
+ },
1219
+ "shan cleric": {
1220
+ "level": 42
1221
+ },
1222
+ "shan ranger": {
1223
+ "level": 42
1224
+ },
1225
+ "shan warrior": {
1226
+ "level": 42
1227
+ },
1228
+ "shan wizard": {
1229
+ "level": 42
1230
+ },
1231
+ "siren lizard": {
1232
+ "level": 42,
1233
+ "skin": "multicolored siren lizard skin"
1234
+ },
1235
+ "swamp hag": {
1236
+ "level": 42
1237
+ },
1238
+ "dreadnought raptor": {
1239
+ "level": 43,
1240
+ "skin": "raptor feathers"
1241
+ },
1242
+ "night mare": {
1243
+ "level": 43,
1244
+ "skin": "silvery hoof"
1245
+ },
1246
+ "wasp nest": {
1247
+ "level": 43
1248
+ },
1249
+ "bog wight": {
1250
+ "level": 44
1251
+ },
1252
+ "firethorn shoot": {
1253
+ "level": 44,
1254
+ "skin": "pulsating firethorn"
1255
+ },
1256
+ "forest trali": {
1257
+ "level": 44,
1258
+ "skin": "trali hide"
1259
+ },
1260
+ "gaunt spectral servant": {
1261
+ "level": 44
1262
+ },
1263
+ "mastodonic leopard": {
1264
+ "level": 44,
1265
+ "skin": "spotted leopard pelt"
1266
+ },
1267
+ "polar bear": {
1268
+ "level": 44,
1269
+ "skin": "polar bear skin"
1270
+ },
1271
+ "ice wraith": {
1272
+ "level": 45
1273
+ },
1274
+ "lesser vruul": {
1275
+ "level": 45,
1276
+ "skin": "vruul skin"
1277
+ },
1278
+ "dark frosty plant": {
1279
+ "level": 45,
1280
+ "skin": "frosted branch"
1281
+ },
1282
+ "cinder wasp": {
1283
+ "level": 46,
1284
+ "skin": "shimmering wasp wing"
1285
+ },
1286
+ "forest trali shaman": {
1287
+ "level": 46,
1288
+ "skin": "trali scalp"
1289
+ },
1290
+ "greater ice giant": {
1291
+ "level": 46,
1292
+ "skin": "giant scalp"
1293
+ },
1294
+ "kiramon defender": {
1295
+ "level": 46,
1296
+ "skin": "kiramon tongue"
1297
+ },
1298
+ "lesser faeroth": {
1299
+ "level": 46,
1300
+ "skin": "mottled faeroth crest"
1301
+ },
1302
+ "rotting chimera": {
1303
+ "level": 46,
1304
+ "skin": "chimera stinger"
1305
+ },
1306
+ "bog spectre": {
1307
+ "level": 47
1308
+ },
1309
+ "major glacei": {
1310
+ "level": 47
1311
+ },
1312
+ "dybbuk": {
1313
+ "level": 48
1314
+ },
1315
+ "horned vor'taz": {
1316
+ "level": 48,
1317
+ "skin": "vor'taz horn"
1318
+ },
1319
+ "large thorned shrub": {
1320
+ "level": 48,
1321
+ "skin": "bleached thorn"
1322
+ },
1323
+ "necrotic snake": {
1324
+ "level": 48,
1325
+ "skin": "snake fang"
1326
+ },
1327
+ "red-scaled thrak": {
1328
+ "level": 48,
1329
+ "skin": "thrak tail"
1330
+ },
1331
+ "sand devil": {
1332
+ "level": 48
1333
+ },
1334
+ "warrior shade": {
1335
+ "level": 48
1336
+ },
1337
+ "waern": {
1338
+ "level": 49,
1339
+ "skin": "waern fur"
1340
+ },
1341
+ "banshee": {
1342
+ "level": 50
1343
+ },
1344
+ "flesh golem": {
1345
+ "level": 50
1346
+ },
1347
+ "greater faeroth": {
1348
+ "level": 50,
1349
+ "skin": "faeroth fang"
1350
+ },
1351
+ "shriveled icy creeper": {
1352
+ "level": 50,
1353
+ "skin": "shriveled cutting"
1354
+ },
1355
+ "seeker": {
1356
+ "level": 52,
1357
+ "skin": "seeker eye"
1358
+ },
1359
+ "snow madrinol": {
1360
+ "level": 52,
1361
+ "skin": "madrinol skin"
1362
+ },
1363
+ "tomb troll": {
1364
+ "level": 52,
1365
+ "skin": "troll thumb"
1366
+ },
1367
+ "wooly mammoth": {
1368
+ "level": 52,
1369
+ "skin": "mammoth tusk"
1370
+ },
1371
+ "ice golem": {
1372
+ "level": 53
1373
+ },
1374
+ "lesser ice elemental": {
1375
+ "level": 53
1376
+ },
1377
+ "sabre-tooth tiger": {
1378
+ "level": 53,
1379
+ "skin": "tiger incisor"
1380
+ },
1381
+ "stone sentinel": {
1382
+ "level": 53
1383
+ },
1384
+ "animated slush": {
1385
+ "level": 54
1386
+ },
1387
+ "ethereal mage apprentice": {
1388
+ "level": 54
1389
+ },
1390
+ "skayl": {
1391
+ "level": 54
1392
+ },
1393
+ "tomb troll necromancer": {
1394
+ "level": 54,
1395
+ "skin": "troll eyeball"
1396
+ },
1397
+ "eidolon": {
1398
+ "level": 55
1399
+ },
1400
+ "nightmare steed": {
1401
+ "level": 55,
1402
+ "skin": "silver mane"
1403
+ },
1404
+ "stone troll": {
1405
+ "level": 55
1406
+ },
1407
+ "decaying citadel guardsman": {
1408
+ "level": 56
1409
+ },
1410
+ "glacial morph": {
1411
+ "level": 56
1412
+ },
1413
+ "lava golem": {
1414
+ "level": 56
1415
+ },
1416
+ "massive pyrothag": {
1417
+ "level": 58,
1418
+ "skin": "pyrothag hide"
1419
+ },
1420
+ "rotting citadel arbalester": {
1421
+ "level": 58
1422
+ },
1423
+ "stone giant": {
1424
+ "level": 58
1425
+ },
1426
+ "black forest viper": {
1427
+ "level": 59,
1428
+ "skin": "viper fang"
1429
+ },
1430
+ "massive black boar": {
1431
+ "level": 59,
1432
+ "skin": "heavy grey tusk"
1433
+ },
1434
+ "black forest ogre": {
1435
+ "level": 60
1436
+ },
1437
+ "fire elemental": {
1438
+ "level": 60
1439
+ },
1440
+ "putrefied citadel herald": {
1441
+ "level": 60
1442
+ },
1443
+ "winged viper": {
1444
+ "level": 60,
1445
+ "skin": "pale white feather"
1446
+ },
1447
+ "wind wraith": {
1448
+ "level": 61
1449
+ },
1450
+ "illoke mystic": {
1451
+ "level": 62
1452
+ },
1453
+ "phantasmal bestial swordsman": {
1454
+ "level": 62
1455
+ },
1456
+ "stone mastiff": {
1457
+ "level": 62,
1458
+ "skin": "stone heart"
1459
+ },
1460
+ "sheruvian harbinger": {
1461
+ "level": 63
1462
+ },
1463
+ "ice elemental": {
1464
+ "level": 63
1465
+ },
1466
+ "massive troll king": {
1467
+ "level": 63,
1468
+ "skin": "massive troll king hide"
1469
+ },
1470
+ "soul golem": {
1471
+ "level": 63
1472
+ },
1473
+ "direbear": {
1474
+ "level": 64,
1475
+ "skin": "direbear fang"
1476
+ },
1477
+ "fire sprite": {
1478
+ "level": 64
1479
+ },
1480
+ "grifflet": {
1481
+ "level": 64,
1482
+ "skin": "pelt"
1483
+ },
1484
+ "emaciated hierophant": {
1485
+ "level": 66
1486
+ },
1487
+ "red tsark": {
1488
+ "level": 66,
1489
+ "skin": "tsark skin"
1490
+ },
1491
+ "illoke shaman": {
1492
+ "level": 67
1493
+ },
1494
+ "monstrous direwolf": {
1495
+ "level": 67,
1496
+ "skin": "red eye"
1497
+ },
1498
+ "muscular supplicant": {
1499
+ "level": 67
1500
+ },
1501
+ "yeti": {
1502
+ "level": 67
1503
+ },
1504
+ "warped tree spirit": {
1505
+ "level": 68
1506
+ },
1507
+ "lesser griffin": {
1508
+ "level": 69,
1509
+ "skin": "pelt"
1510
+ },
1511
+ "hunch-backed dogmatist": {
1512
+ "level": 70
1513
+ },
1514
+ "krag yeti": {
1515
+ "level": 70
1516
+ },
1517
+ "fire mage": {
1518
+ "level": 71
1519
+ },
1520
+ "krag dweller": {
1521
+ "level": 72
1522
+ },
1523
+ "ilvari sprite": {
1524
+ "level": 73
1525
+ },
1526
+ "storm griffin": {
1527
+ "level": 73,
1528
+ "skin": "soft blue griffin feather"
1529
+ },
1530
+ "ilvari pixie": {
1531
+ "level": 74
1532
+ },
1533
+ "lesser minotaur": {
1534
+ "level": 74,
1535
+ "skin": "minotaur hide"
1536
+ },
1537
+ "greater vruul": {
1538
+ "level": 75
1539
+ },
1540
+ "moulis": {
1541
+ "level": 75
1542
+ },
1543
+ "naisirc": {
1544
+ "level": 75
1545
+ },
1546
+ "minotaur warrior": {
1547
+ "level": 76,
1548
+ "skin": "minotaur horn"
1549
+ },
1550
+ "shrickhen": {
1551
+ "level": 76
1552
+ },
1553
+ "farlook": {
1554
+ "level": 77
1555
+ },
1556
+ "raving lunatic": {
1557
+ "level": 77
1558
+ },
1559
+ "dhu goleras": {
1560
+ "level": 78
1561
+ },
1562
+ "minotaur magi": {
1563
+ "level": 78,
1564
+ "skin": "minotaur hoof"
1565
+ },
1566
+ "seraceris": {
1567
+ "level": 78
1568
+ },
1569
+ "treekin warrior": {
1570
+ "level": 80,
1571
+ "skin": "blood-stained bark"
1572
+ },
1573
+ "vvrael witch": {
1574
+ "level": 80
1575
+ },
1576
+ "csetairi": {
1577
+ "level": 81
1578
+ },
1579
+ "caedera": {
1580
+ "level": 82,
1581
+ "skin": "caedera skin"
1582
+ },
1583
+ "earth elemental": {
1584
+ "level": 82
1585
+ },
1586
+ "gnarled being": {
1587
+ "level": 82
1588
+ },
1589
+ "bent being": {
1590
+ "level": 82
1591
+ },
1592
+ "stooped being": {
1593
+ "level": 82
1594
+ },
1595
+ "twisted being": {
1596
+ "level": 82
1597
+ },
1598
+ "lesser construct": {
1599
+ "level": 83
1600
+ },
1601
+ "treekin druid": {
1602
+ "level": 83,
1603
+ "skin": "mossy beard"
1604
+ },
1605
+ "vvrael warlock": {
1606
+ "level": 84
1607
+ },
1608
+ "greater krynch": {
1609
+ "level": 84
1610
+ },
1611
+ "gremlock": {
1612
+ "level": 84
1613
+ },
1614
+ "lich qyn'arj": {
1615
+ "level": 84
1616
+ },
1617
+ "illoke elder": {
1618
+ "level": 86
1619
+ },
1620
+ "aivren": {
1621
+ "level": 86,
1622
+ "skin": "aivren gizzard"
1623
+ },
1624
+ "festering taint": {
1625
+ "level": 86
1626
+ },
1627
+ "n'ecare": {
1628
+ "level": 87
1629
+ },
1630
+ "greater earth elemental": {
1631
+ "level": 88
1632
+ },
1633
+ "illoke jarl": {
1634
+ "level": 89
1635
+ },
1636
+ "ithzir scout": {
1637
+ "level": 89
1638
+ },
1639
+ "ithzir initiate": {
1640
+ "level": 91
1641
+ },
1642
+ "lost soul": {
1643
+ "level": 91
1644
+ },
1645
+ "ithzir janissary": {
1646
+ "level": 92
1647
+ },
1648
+ "water elemental": {
1649
+ "level": 92
1650
+ },
1651
+ "ithzir herald": {
1652
+ "level": 93
1653
+ },
1654
+ "vaespilon": {
1655
+ "level": 93
1656
+ },
1657
+ "triton dissembler": {
1658
+ "level": 94,
1659
+ "skin": "curved gold-flecked claw"
1660
+ },
1661
+ "huge air elemental": {
1662
+ "level": 95
1663
+ },
1664
+ "huge earth elemental": {
1665
+ "level": 95
1666
+ },
1667
+ "huge ice elemental": {
1668
+ "level": 95
1669
+ },
1670
+ "huge water elemental": {
1671
+ "level": 95
1672
+ },
1673
+ "greater construct": {
1674
+ "level": 96
1675
+ },
1676
+ "ithzir adept": {
1677
+ "level": 96
1678
+ },
1679
+ "lithe veiled sentinel": {
1680
+ "level": 96
1681
+ },
1682
+ "siren": {
1683
+ "level": 96
1684
+ },
1685
+ "triton executioner": {
1686
+ "level": 96
1687
+ },
1688
+ "fallen crusader": {
1689
+ "level": 97
1690
+ },
1691
+ "ithzir seer": {
1692
+ "level": 97
1693
+ },
1694
+ "patchwork flesh monstrosity": {
1695
+ "level": 97
1696
+ },
1697
+ "shambling lurk": {
1698
+ "level": 97
1699
+ },
1700
+ "deathsworn fanatic": {
1701
+ "level": 98
1702
+ },
1703
+ "spectral triton defender": {
1704
+ "level": 98
1705
+ },
1706
+ "triton combatant": {
1707
+ "level": 98
1708
+ },
1709
+ "huge fire elemental": {
1710
+ "level": 99
1711
+ },
1712
+ "huge steam elemental": {
1713
+ "level": 99
1714
+ },
1715
+ "glistening cerebralite": {
1716
+ "level": 100,
1717
+ "skin": "cerebralite tentacle"
1718
+ },
1719
+ "huge lava elemental": {
1720
+ "level": 100
1721
+ },
1722
+ "huge lightning elemental": {
1723
+ "level": 100
1724
+ },
1725
+ "triton radical": {
1726
+ "level": 100,
1727
+ "skin": "elongated triton spine"
1728
+ },
1729
+ "war griffin": {
1730
+ "level": 100,
1731
+ "skin": "war griffin talon"
1732
+ },
1733
+ "ithzir champion": {
1734
+ "level": 102
1735
+ },
1736
+ "pale scaled shaper": {
1737
+ "level": 102
1738
+ },
1739
+ "triton magus": {
1740
+ "level": 102,
1741
+ "skin": "iridescent triton hide"
1742
+ },
1743
+ "enormous rift crawler": {
1744
+ "level": 103,
1745
+ "skin": "jagged rift crawler tooth"
1746
+ },
1747
+ "ethereal triton sentry": {
1748
+ "level": 103
1749
+ },
1750
+ "darkly inked fetish master": {
1751
+ "level": 104
1752
+ },
1753
+ "greater water elemental": {
1754
+ "level": 105
1755
+ },
1756
+ "murky soul siphon": {
1757
+ "level": 106
1758
+ },
1759
+ "vvrael destroyer": {
1760
+ "level": 108
1761
+ },
1762
+ "infernal lich": {
1763
+ "level": 110,
1764
+ "skin": "a scorched lich finger bone"
1765
+ },
1766
+ "frostborne lich": {
1767
+ "level": 110,
1768
+ "skin": "a rimed lich finger bone"
1769
+ }
1770
+ }