Files
website/server/db/data/spawnAtlas.TerMur.json
wtclaude 353cce9f26 feat(atlas): parse a ServUO tree into a committed spawn atlas artifact
Protocol 3.0 order 3 (Part C), first of two website PRs. This half is the data
pipeline only — parsers, the build/import CLI, and the tables. No routes and no
client, so nothing is user-visible yet; the API and pages follow in PR 2.

Part C is website-only: no plugin, no sidecar, no new event kinds, no wire
change.

## Parsing

`src/utils/spawnAtlasParse.js` is pure and fs-free so CI covers it with no
ServUO tree. Zero new dependencies — `Regions.xml` genuinely nests, so it gets a
small hand-rolled subset tokenizer rather than a new XML package. The 10.5 MB of
`Spawns/*.xml` never touches it: those records are flat and get a streaming
regex sweep instead.

The high-value transform is point-in-rect placement — highest region priority
wins, ties break to the smaller rect, then a nearest-landmark fallback within
200 tiles, else "Wilderness". That is what turns "lizardman at 5411,1234" into
"Despise, Felucca", and it resolves 83.2% of points (5,369 of 6,455).

Three things the real data forced, none of which were in the design:

- **Only 6 facets, not 13.** `Eodon.xml`, `GravewaterLake.xml` and the other
  named-area files carry TerMur/Trammel points, so the facet comes from each
  record's own `<Map>` and the artifact shards 6 ways.
- **Facet names disagree across sources.** `Data/Locations/*.xml` spells them
  `Ter Mur` and `Tokuno Islands`; `<Map>` and `<Facet name>` say `TerMur` and
  `Tokuno`. Unreconciled this is silent — the landmark fallback simply never
  fires on those facets and every unregioned spawn there reads "Wilderness".
- **Spawn type tokens carry XmlSpawner directives**: `Fairy,{RND,4,8}`,
  `alchemist/z/-50`, `Agralem/Name/Agralem`. Taken literally these invent
  creatures that do not exist AND split real ones in two, since `Fairy` and
  `Fairy,{RND,4,8}` slug apart. 71 of 845 entries were affected; stripping at
  the first `/` or `,` leaves 800 clean ones.

## Artifact

`npm run atlas:build -- --servuo <path>` writes `db/data/spawnAtlas.*.json`:
6 facet shards + a compact index + a small indented `meta`. 1.41 MB committed,
down from 4.40 MB by dropping `facet` per record, omitting defaulted fields, and
tuple-encoding the ~24,000 type entries. `encodePoint()` and the importer's
`readPoint()` are exact inverses and are round-tripped in tests.

Display spelling is chosen deterministically (most common, ties to the
capitalised form) because the spawn files are inconsistent about case and the
name would otherwise depend on file read order — a spurious diff on every
unrelated rebuild.

## Import

`npm run atlas:import` needs no ServUO tree, which is the whole reason build and
import are separate: the container has the artifact but not the tree. It
reloads all six tables in one transaction (DELETE, not TRUNCATE, which is DDL
and would implicitly commit), so a failed import leaves the previous atlas
intact.

## No artwork, by design

The repo ships no creature art and no extraction tooling. Sprites live in the
operator's own client `.mul`/`.uop` files and are theirs, not ours to
redistribute. `shard_spawn_creatures.art` is nullable and NULL on every fresh
import; an operator who wants art extracts it themselves, drops it under
`server/uploads/atlas/` (already gitignored) and maps slugs in a gitignored
`spawnAtlas.art.json`. Text-only is the normal, fully supported state.

## Verification

- **544 server tests pass**, 57 new across `spawnAtlas.parse.test.js` (the
  `:OBJ=` split, directive stripping, nested-region priority inheritance,
  half-open rects, the facet reconciliation, tokenizer edge cases) and
  `spawnAtlas.build.test.js` (aggregation, deterministic naming, and the
  encode/decode round trip).
- Built and imported for real against the local MariaDB and the ServUO tree at
  `C:\Users\colby\Desktop\ServUO`: 6,455 points, 800 creatures, 23,927
  point/type rows, 387 regions, 558 landmarks, 25 champion altars.
- "Where does a lizardman spawn?" answers Shrines / Isamu-Jima / Yew across
  Felucca, Trammel and Tokuno.

No routes changed, so the OpenAPI spec and route manifest are untouched.

---

- [x] AI-assisted: written with **Claude Code** (Claude Opus 5), reviewed before opening.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01U7CBg11prhLimL9iHSX1bP
2026-07-28 16:07:30 -05:00

2 lines
42 KiB
JSON

{"facet":"TerMur","points":[{"name":"Eodon_LavaSpawn #2","x":831,"y":2107,"maxCount":13,"types":[["LavaSerpent",3],["LavaSnake",2],["FireElemental",4],["LavaLizard",4]],"width":50,"height":50,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_Wildlife #9","x":476,"y":1552,"maxCount":17,"types":[["tropicalbird",9],["vampirebat",5],["corpser",3]],"width":60,"height":60,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_AirEle #2","x":914,"y":1998,"maxCount":2,"types":[["airelemental",2]],"width":30,"height":30,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_KurakTribe #2","x":300,"y":1845,"maxCount":5,"types":[["tribewarrior",4],["tribeshaman",1]],"width":50,"height":50,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_Wildlife #7","x":564,"y":1698,"maxCount":16,"types":[["Gorilla",5],["TropicalBird",5],["Corpser",2],["ForestOstard",3],["WanderingShaman",1]],"width":100,"height":100,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_Desert #1","x":155,"y":1841,"maxCount":8,"types":[["GiantBlackWidow",1],["DesertScorpion",2],["MyrmidexLarvae",2],["MyrmidexDrone",2],["MyrmidexWarrior",1]],"width":40,"height":40,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_Wildlife #4","x":322,"y":1886,"maxCount":10,"types":[["TropicalBird",6],["Corpser",3],["Panther",4],["ForestOstard",4],["wanderingshaman",1],["wildtiger",5],["wildwhitetiger",1],["wildblacktiger",1]],"width":50,"height":50,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_Wildlife #3","x":373,"y":1871,"maxCount":10,"types":[["TropicalBird",6],["Corpser",3],["Panther",4],["ForestOstard",4],["wanderingshaman",1],["wildtiger",5],["wildwhitetiger",1],["wildblacktiger",1]],"width":50,"height":50,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_Wildlife #2","x":432,"y":1873,"maxCount":10,"types":[["TropicalBird",6],["Corpser",3],["Panther",4],["ForestOstard",4],["wanderingshaman",1],["wildtiger",5],["wildwhitetiger",1],["wildblacktiger",1]],"width":44,"height":44,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_Wildlife #8","x":557,"y":1597,"maxCount":17,"types":[["Gorilla",5],["ForestOstard",4],["Corpser",2],["TropicalBird",5],["WanderingShaman",1]],"width":100,"height":100,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_Wisp","x":705,"y":1845,"maxCount":3,"types":[["wisp",3]],"width":30,"height":30,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_Dinosaur #2","x":315,"y":1393,"maxCount":7,"types":[["allosaurus",1],["anchisaur",1],["archaeosaurus",1],["dimetrosaur",1],["gallusaurus",1],["najasaurus",1],["saurosaurus",1]],"width":50,"height":50,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_Wildlife #5","x":256,"y":1774,"maxCount":7,"types":[["vampirebat",4],["tropicalbird",3]],"width":60,"height":60,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_SandVortex","x":340,"y":1661,"maxCount":4,"types":[["sandvortex",4]],"width":30,"height":30,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_Corpser","x":571,"y":1697,"maxCount":3,"types":[["Corpser",3]],"width":30,"height":30,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_Wildlife #1","x":476,"y":1902,"maxCount":10,"types":[["TropicalBird",6],["Corpser",3],["Panther",4],["ForestOstard",4],["wanderingshaman",1],["wildtiger",5],["wildwhitetiger",1],["wildblacktiger",1]],"width":63,"height":30,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_AirEle #1","x":922,"y":2056,"maxCount":4,"types":[["airelemental",4]],"width":40,"height":40,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_Wildlife #6","x":677,"y":1998,"maxCount":17,"types":[["tropicalbird",12],["corpser",5]],"width":184,"height":52,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_Swamp #2","x":316,"y":1393,"maxCount":6,"types":[["alligator",1],["bullfrog",1],["gianttoad",1],["corpser",1],["wanderingshaman",0],["acidelemental",2]],"width":50,"height":50,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_BarakoTribe #2","x":673,"y":1715,"maxCount":2,"types":[["TribeWarrior",1],["TribeShaman",1]],"width":10,"height":10,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_Dinosaur #1","x":360,"y":1339,"maxCount":13,"types":[["allosaurus",1],["anchisaur",2],["archaeosaurus",2],["dimetrosaur",2],["gallusaurus",2],["najasaurus",2],["saurosaurus",2]],"width":130,"height":130,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_BarakoTribe #3","x":684,"y":1732,"maxCount":3,"types":[["TribeWarrior",1],["TribeShaman",2]],"width":10,"height":10,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_KurakTribe #1","x":352,"y":1838,"maxCount":6,"types":[["tribewarrior",1],["tribeshaman",3],["tribechieftan",2]],"width":20,"height":20,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_Swamp #1","x":359,"y":1339,"maxCount":19,"types":[["alligator",5],["bullfrog",5],["gianttoad",5],["corpser",3],["wanderingshaman",1]],"width":130,"height":130,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_BarakoTribe #4","x":646,"y":1738,"maxCount":2,"types":[["TribeWarrior",2]],"width":2,"height":2,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_Desert #3","x":88,"y":1717,"maxCount":17,"types":[["GiantBlackWidow",3],["DesertScorpion",3],["MyrmidexLarvae",3],["MyrmidexDrone",3],["MyrmidexWarrior",5]],"width":38,"height":40,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_Swamp #3","x":237,"y":1403,"maxCount":6,"types":[["alligator",1],["bullfrog",1],["gianttoad",1],["corpser",1],["wanderingshaman",0],["acidelemental",2]],"width":60,"height":60,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_Swamp #4","x":289,"y":1472,"maxCount":6,"types":[["alligator",1],["bullfrog",1],["gianttoad",1],["corpser",1],["wanderingshaman",0],["acidelemental",2]],"width":60,"height":60,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_BarakoTribe #4","x":627,"y":1718,"maxCount":2,"types":[["TribeWarrior",2]],"width":2,"height":2,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_Dinosaur #4","x":289,"y":1471,"maxCount":7,"types":[["allosaurus",1],["anchisaur",1],["archaeosaurus",1],["dimetrosaur",1],["gallusaurus",1],["najasaurus",1],["saurosaurus",1]],"width":60,"height":60,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_BarrabTribe #2","x":165,"y":1801,"maxCount":5,"types":[["tribewarrior",2],["tribeshaman",2],["tribechieftan",1]],"width":24,"height":24,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_UraliTribe #2","x":329,"y":1583,"maxCount":5,"types":[["tribewarrior",3],["tribeshaman",1],["tribechieftan",1]],"width":58,"height":13,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_JukariTribe","x":657,"y":2062,"maxCount":16,"types":[["tribewarrior",8],["tribeshaman",5],["tribechieftan",3]],"width":63,"height":85,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_Desert #4","x":111,"y":1677,"maxCount":12,"types":[["GiantBlackWidow",2],["DesertScorpion",2],["MyrmidexLarvae",3],["MyrmidexDrone",3],["MyrmidexWarrior",2]],"width":30,"height":30,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_Desert #2","x":91,"y":1774,"maxCount":15,"types":[["GiantBlackWidow",2],["DesertScorpion",3],["MyrmidexLarvae",3],["MyrmidexDrone",3],["MyrmidexWarrior",4]],"width":49,"height":64,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_BarrabTribe #1","x":139,"y":1769,"maxCount":7,"types":[["tribewarrior",4],["tribeshaman",2],["tribeChieftan",1]],"width":28,"height":29,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_UreliTribe #1","x":392,"y":1575,"maxCount":6,"types":[["tribewarrior",3],["tribeshaman",2],["tribechieftan",1]],"width":40,"height":40,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_Dinosaur #3","x":238,"y":1403,"maxCount":7,"types":[["allosaurus",1],["anchisaur",1],["archaeosaurus",1],["dimetrosaur",1],["gallusaurus",1],["najasaurus",1],["saurosaurus",1]],"width":60,"height":60,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_KurakTribe #3","x":379,"y":1829,"maxCount":4,"types":[["tribewarrior",3],["tribeshaman",1]],"width":30,"height":30,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_BarakoTribe #1","x":646,"y":1703,"maxCount":4,"types":[["TribeWarrior",2],["TribeShaman",1],["tribechieftan",1]],"width":10,"height":10,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_SakkhraTribe #2","x":547,"y":1418,"maxCount":5,"types":[["tribewarrior",2],["tribeshaman",2],["tribechieftan",1]],"width":14,"height":14,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_Wildlife #10","x":576,"y":1544,"maxCount":20,"types":[["tropicalbird",9],["vampirebat",5],["corpser",3],["forestostard",2],["wanderingshaman",1]],"width":60,"height":60,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_SakkhraTribe","x":524,"y":1437,"maxCount":16,"types":[["tribewarrior",8],["tribeshaman",6],["TribeChieftan",2]],"width":60,"height":60,"range":12,"minDelay":1,"maxDelay":2},{"name":"Eodon_Hawkwind","x":679,"y":1862,"maxCount":1,"types":[["hawkwind",1]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10},{"name":"Vof1_Silverback1","x":916,"y":1405,"maxCount":3,"types":[["Silverbackgorilla",3]],"width":10,"height":10,"range":150,"minDelay":1,"maxDelay":2,"region":"GreatApeLair"},{"name":"Vof1_TREX","x":392,"y":1423,"maxCount":1,"types":[["trex",1]],"width":40,"height":40,"range":25,"minDelay":5,"maxDelay":10},{"name":"Vof1_UraliQuester","x":417,"y":1576,"maxCount":1,"types":[["UraliHighChieftess",1]],"range":5,"minDelay":5,"maxDelay":10},{"name":"Vof1_CubEnclsoure3","x":408,"y":1873,"maxCount":3,"types":[["cubenclosure",3]],"width":40,"height":40,"range":5,"minDelay":5,"maxDelay":10},{"name":"Vof1_Silverback2","x":864,"y":1413,"maxCount":1,"types":[["Silverbackgorilla",1]],"width":24,"height":24,"range":150,"minDelay":1,"maxDelay":2,"region":"GreatApeLair"},{"name":"Vof1_GreatApe","x":869,"y":1397,"maxCount":1,"types":[["greatape",1]],"width":20,"height":20,"range":5,"minDelay":5,"maxDelay":10,"region":"GreatApeLair"},{"name":"Vof1_Nest2","x":354,"y":1719,"maxCount":2,"types":[["NestWithEgg",2]],"width":20,"height":20,"range":5,"minDelay":5,"maxDelay":10},{"name":"Vof1_Nest4","x":339,"y":1663,"maxCount":2,"types":[["NestWithEgg",2]],"width":30,"height":30,"range":5,"minDelay":5,"maxDelay":10},{"name":"Vof1_VolcanoEle","x":903,"y":1590,"maxCount":10,"types":[["VolcanoElemental",10]],"width":50,"height":50,"range":5,"minDelay":1,"maxDelay":2},{"name":"Vof1_CubEnclosure2","x":360,"y":1888,"maxCount":3,"types":[["cubenclosure",3]],"width":40,"height":40,"range":5,"minDelay":5,"maxDelay":10},{"name":"Vof1_JukariQuester","x":686,"y":2127,"maxCount":1,"types":[["JukariHighChief",1]],"range":5,"minDelay":5,"maxDelay":10},{"name":"Vof1_SakkhraQuester","x":550,"y":1420,"maxCount":1,"types":[["SakkhraHighChieftess",1]],"range":5,"minDelay":5,"maxDelay":10},{"name":"Vof1_CubEnclosure1","x":309,"y":1898,"maxCount":2,"types":[["cubenclosure",2]],"width":40,"height":40,"range":5,"minDelay":5,"maxDelay":10},{"name":"Vof1_Nest1","x":369,"y":1727,"maxCount":2,"types":[["NestWithEgg",2]],"width":20,"height":20,"range":5,"minDelay":5,"maxDelay":10},{"name":"Vof1_KurakQuester","x":355,"y":1841,"maxCount":1,"types":[["KurakHighChief",1]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10},{"name":"Vof1_Nest3","x":335,"y":1716,"maxCount":1,"types":[["NestWithEgg",1]],"width":6,"height":6,"range":5,"minDelay":5,"maxDelay":10},{"name":"Vof1_SirGeoffery","x":263,"y":1730,"maxCount":1,"types":[["SirGeoffery",1]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10},{"name":"Vof1_Silverback3","x":842,"y":1368,"maxCount":1,"types":[["Silverbackgorilla",1]],"width":30,"height":30,"range":150,"minDelay":1,"maxDelay":2,"region":"GreatApeLair"},{"name":"Vof1_BarakoQuester","x":646,"y":1704,"maxCount":1,"types":[["BarakoHighChief",1]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10},{"name":"TreasuresOfKotl1","x":512,"y":2375,"maxCount":14,"types":[["FireElemental",7],["LavaLizard",7]],"width":61,"height":51,"range":5,"minDelay":1,"maxDelay":2,"region":"KotlCity"},{"name":"TreasuresOfKotl4","x":581,"y":2273,"maxCount":4,"types":[["AutomatonStatue",4]],"width":40,"height":66,"range":5,"minDelay":1,"maxDelay":2,"region":"KotlCity"},{"name":"TreasuresOfKotl5","x":476,"y":2279,"maxCount":5,"types":[["AutomatonStatue",5]],"width":29,"height":57,"range":5,"minDelay":1,"maxDelay":2,"region":"KotlCity"},{"name":"TreasuresOfKotl6","x":586,"y":2393,"maxCount":8,"types":[["IgnisFatalis",8]],"width":59,"height":12,"range":5,"minDelay":1,"maxDelay":2,"region":"KotlCity"},{"name":"TreasuresOfKotl3","x":623,"y":2272,"maxCount":8,"types":[["AutomatonStatue",8]],"width":41,"height":65,"range":5,"minDelay":1,"maxDelay":2,"region":"KotlCity"},{"name":"TreasuresOfKotl2","x":440,"y":2392,"maxCount":6,"types":[["DescicatedMyrmidexLarvae",6]],"width":63,"height":14,"range":5,"minDelay":1,"maxDelay":2,"region":"KotlCity"},{"name":"Percolem The Hunter","x":703,"y":3420,"maxCount":1,"types":[["Percolem",1]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"region":"Royal City"},{"name":"Spawner","x":800,"y":3393,"maxCount":2,"types":[["Tailor",1],["Laifem",1]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"region":"Royal City"},{"name":"Beninort","x":792,"y":3436,"maxCount":1,"types":[["Beninort",1]],"minDelay":5,"maxDelay":10,"region":"Royal City"},{"name":"Ansikart","x":801,"y":3436,"maxCount":1,"types":[["Ansikart",1]],"minDelay":5,"maxDelay":10,"region":"Royal City"},{"name":"TerMur Wildlife 1","x":801,"y":3585,"maxCount":34,"types":[["bird",5],["horse",7],["hind",7],["rat",5],["snake",5],["rabbit",5]],"width":100,"height":100,"range":5,"minDelay":5,"maxDelay":10,"landmark":"Royal City"},{"name":"Lowland 2","x":1113,"y":3464,"maxCount":24,"types":[["lowlandboura",7],["silverserpent",2],["greatermongbat",5],["snake",5],["horse",5]],"width":30,"height":30,"range":5,"minDelay":3,"maxDelay":10,"region":"Atoll Bend"},{"name":"Abyss Snake 3","x":806,"y":648,"maxCount":25,"types":[["silverserpent",5],["snake",10],["coralsnake",10]],"width":20,"height":20,"range":5,"minDelay":5,"maxDelay":10,"region":"Serpents Lair"},{"name":"ruddy boura 3","x":756,"y":3043,"maxCount":5,"types":[["RuddyBoura",5]],"width":30,"height":30,"range":15,"minDelay":5,"maxDelay":10,"region":"Northern Steppes"},{"name":"VoidManifestationSpawn#2","x":1004,"y":202,"maxCount":10,"types":[["GargishOutcast",8],["GargishRouser",2]],"width":29,"height":40,"range":15,"minDelay":30,"maxDelay":30,"region":"Abyss"},{"name":"ruddy boura 1","x":904,"y":3093,"maxCount":5,"types":[["RuddyBoura",5]],"width":30,"height":30,"range":15,"minDelay":5,"maxDelay":10,"region":"Northern Steppes"},{"name":"Abyss Lava 1","x":556,"y":873,"maxCount":71,"types":[["lavalizard",10],["lavasnake",10],["fireant",10],["hellhound",10],["lavaserpent",10],["lavaelemental",10],["firedaemon",10],["firedaemonrenowned",1]],"width":50,"height":50,"range":5,"minDelay":2,"maxDelay":2,"region":"Lava Caldera"},{"name":"Silver Sapling 3","x":329,"y":603,"maxCount":13,"types":[["pixie",8],["wisp",5]],"width":30,"height":30,"range":5,"minDelay":5,"maxDelay":10,"region":"Silver Sapling"},{"name":"Lava Elemental 2","x":437,"y":3118,"maxCount":16,"types":[["lavaelemental",4],["lavaserpent",4],["lavasnake",4],["headlessone",4]],"width":30,"height":30,"range":5,"minDelay":5,"maxDelay":10,"landmark":"Regions"},{"name":"Gargish Bazaar2","x":710,"y":3418,"maxCount":1,"types":[["healer",1]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"region":"Royal City"},{"name":"Lava Elemental 1","x":394,"y":3123,"maxCount":7,"types":[["lavaelemental",4],["firedaemon",1],["firegargoyle",2]],"width":10,"height":10,"range":5,"minDelay":3,"maxDelay":4,"landmark":"Regions"},{"name":"Shrine2","x":983,"y":3977,"maxCount":1,"types":[["bookofcircles",1]],"range":5,"minDelay":5,"maxDelay":10,"landmark":"Holy City"},{"name":"Abyss Hounds 1","x":664,"y":460,"maxCount":10,"types":[["hellhound",10]],"width":50,"height":50,"range":5,"minDelay":5,"maxDelay":10,"region":"Fractured City"},{"name":"TerMur 3","x":812,"y":3423,"maxCount":1,"types":[["carpenter",1]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"region":"Royal City"},{"name":"Tomb of Kings 2","x":25,"y":89,"maxCount":12,"types":[["undeadguardian",2],["silverserpent",2],["gargoyleshade",2],["Effeteputridgargoyle",3],["effeteundeadgargoyle",3]],"width":20,"height":20,"range":15,"minDelay":5,"maxDelay":10,"region":"Tomb of Kings"},{"name":"Spawner","x":779,"y":3485,"maxCount":1,"types":[["healer",1]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"region":"Royal City"},{"name":"Abyss Coil/Snakes 1","x":688,"y":763,"maxCount":9,"types":[["snake",4],["coil",1],["silverserpent",4]],"width":20,"height":20,"range":5,"minDelay":5,"maxDelay":10,"region":"Serpents Lair"},{"name":"Gargish Bazaar1","x":697,"y":3429,"maxCount":1,"types":[["tailor",1]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"region":"Royal City"},{"name":"Abyss Undead 1","x":651,"y":806,"maxCount":81,"types":[["patchworkskeleton",10],["skeleton",10],["skeletalknight",10],["boneknight",10],["skeletalmage",10],["bonemagi",10],["skeletallich",20],["skeletaldragonrenowned",1]],"width":50,"height":50,"range":5,"minDelay":5,"maxDelay":5,"region":"Abyss"},{"name":"In The Weeds Quest","x":921,"y":3865,"maxCount":10,"types":[["creepyweeds",10]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"landmark":"Tomb of Kings"},{"name":"Abyss Maddening Horrow/Snake 1","x":749,"y":731,"maxCount":18,"types":[["hydra",1],["giantserpent",3],["snake",5],["silverserpent",5],["lavasnake",4]],"width":30,"height":30,"range":5,"minDelay":2,"maxDelay":2,"region":"Serpents Lair"},{"name":"Raptor Island 2","x":813,"y":3711,"maxCount":20,"types":[["raptor",20]],"width":40,"height":40,"range":20,"minDelay":5,"maxDelay":10,"region":"Raptor Island"},{"name":"FishingVille npcs","x":650,"y":3008,"maxCount":2,"types":[["GargishRefugee",2]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"region":"Fishermans Reach"},{"name":"Korpre 6","x":1137,"y":3625,"maxCount":9,"types":[["toxicslith",4],["greatermongbat",5]],"width":30,"height":30,"range":5,"minDelay":5,"maxDelay":10,"landmark":"Regions"},{"name":"Skree 4","x":1137,"y":3568,"maxCount":5,"types":[["skree",3],["stoneslith",2]],"width":70,"height":70,"range":5,"minDelay":5,"maxDelay":10,"landmark":"Regions"},{"name":"Stone Slith 1","x":487,"y":3134,"maxCount":5,"types":[["stoneslith",5]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"landmark":"Regions"},{"name":"Termur Mystic","x":767,"y":3481,"maxCount":1,"types":[["mage",1]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"region":"Royal City"},{"name":"Holy City","x":969,"y":3876,"maxCount":2,"types":[["baker",2]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"region":"Holy City"},{"name":"toxicslith 1","x":1067,"y":3310,"maxCount":12,"types":[["ToxicSlith",12]],"width":30,"height":30,"range":15,"minDelay":2,"maxDelay":3,"region":"Slith Valley"},{"name":"Gargish Bazaar5","x":715,"y":3444,"maxCount":1,"types":[["farmer",1]],"width":2,"height":2,"range":5,"minDelay":5,"maxDelay":10,"region":"Royal City"},{"name":"TerMur 1 Winemaker/Gardener","x":786,"y":3443,"maxCount":2,"types":[["farmer",2]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"region":"Royal City"},{"name":"ter fire elemental/lavasnake","x":427,"y":3066,"maxCount":4,"types":[["fireelemental",2],["lavasnake",2]],"width":10,"height":10,"range":20,"minDelay":5,"maxDelay":10,"region":"Volcano"},{"name":"TerMur Mastercook/Juicer/Brewer","x":801,"y":3486,"maxCount":2,"types":[["cook",1],["baker",1]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"region":"Royal City"},{"name":"High Plains 1","x":566,"y":3263,"maxCount":19,"types":[["highplainsboura",4],["bird",10],["horse",5]],"width":40,"height":40,"range":20,"minDelay":1,"maxDelay":2,"landmark":"Regions"},{"name":"Shrine quest","x":983,"y":3979,"maxCount":1,"types":[["ShrineMantra",1]],"range":5,"minDelay":5,"maxDelay":10,"landmark":"Holy City"},{"name":"coraldesert#5","x":1005,"y":2963,"maxCount":10,"types":[["CoralSnake",7],["DesertOstard",7],["KepetchAmbusher",7],["SandVortex",7],["Scorpion",7],["ToxicSlith",7]],"width":60,"height":60,"range":30,"minDelay":5,"maxDelay":10,"landmark":"Regions"},{"name":"Lava 4","x":502,"y":2933,"maxCount":1,"types":[["firedaemon",1]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"landmark":"Regions"},{"name":"Raptor Island 3","x":883,"y":3710,"maxCount":8,"types":[["trapdoorspider",8]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"region":"Raptor Island"},{"name":"Spawner","x":788,"y":3486,"maxCount":1,"types":[["provisioner",1]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"region":"Royal City"},{"name":"ter lavaelemental/fire/lava snake","x":411,"y":2934,"maxCount":7,"types":[["lavaelemental",2],["fireelemental",2],["lavasnake",3]],"width":10,"height":10,"range":20,"minDelay":5,"maxDelay":10,"region":"Volcano"},{"name":"Singularity Quest 1","x":1011,"y":3930,"maxCount":1,"types":[["Naxatilor",1]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"region":"Holy City"},{"name":"Spawner","x":769,"y":3473,"maxCount":3,"types":[["alchemist",1],["thepem",1],["Zosilem",1]],"width":4,"height":4,"range":5,"minDelay":5,"maxDelay":10,"region":"Royal City"},{"name":"Jeweler","x":773,"y":3425,"maxCount":1,"types":[["jeweler",1]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"region":"Royal City"},{"name":"coraldesert#0","x":1025,"y":2957,"maxCount":15,"types":[["CoralSnake",12],["DesertOstard",12],["KepetchAmbusher",12],["SandVortex",12],["Scorpion",12],["ToxicSlith",12]],"width":60,"height":60,"range":30,"minDelay":5,"maxDelay":10,"region":"Toxic Desert"},{"name":"ter firegargoyle/fireant/elemental","x":345,"y":2932,"maxCount":10,"types":[["firegargoyle",3],["fireant",5],["fireelemental",2]],"width":40,"height":40,"range":25,"minDelay":5,"maxDelay":10,"region":"Volcano"},{"name":"Gargish healer 1","x":991,"y":3917,"maxCount":1,"types":[["gargishwanderinghealer",1]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"region":"Holy City"},{"name":"Spawner","x":813,"y":3418,"maxCount":2,"types":[["Blacksmith",2]],"width":4,"height":4,"range":5,"minDelay":5,"maxDelay":10,"region":"Royal City"},{"name":"MedusaSNest1","x":770,"y":765,"maxCount":5,"types":[["SerpentNest",1],["giantserpent",4]],"width":10,"height":10,"range":5,"minDelay":3,"maxDelay":3,"region":"Serpents Lair"},{"name":"Raptor Island Trapdoor 2","x":721,"y":3781,"maxCount":3,"types":[["trapdoorspider",3]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"region":"Raptor Island"},{"name":"Headless one 1","x":360,"y":3133,"maxCount":3,"types":[["headlessone",3]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"landmark":"Regions"},{"name":"Royal Palace 1","x":729,"y":3345,"maxCount":10,"types":[["gargishwarrior",10]],"width":40,"height":40,"range":5,"minDelay":5,"maxDelay":10,"region":"Queen's Palace"},{"name":"coraldesert#2","x":1044,"y":2978,"maxCount":15,"types":[["CoralSnake",12],["DesertOstard",12],["KepetchAmbusher",12],["SandVortex",12],["Scorpion",12],["ToxicSlith",12]],"width":60,"height":60,"range":30,"minDelay":5,"maxDelay":10,"region":"Toxic Desert"},{"name":"Gargish Bazaar3","x":712,"y":3437,"maxCount":6,"types":[["barkeeper",6]],"width":2,"height":2,"range":5,"minDelay":5,"maxDelay":10,"region":"Royal City"},{"name":"MedusaSNest3","x":801,"y":729,"maxCount":5,"types":[["giantserpent",4],["SerpentNest",1]],"width":10,"height":10,"range":5,"minDelay":3,"maxDelay":3,"region":"Serpents Lair"},{"name":"Quest_GatheringProof","x":734,"y":3352,"maxCount":1,"types":[["Prassel",1]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"region":"Queen's Palace"},{"name":"Lava Elemental 3","x":496,"y":3027,"maxCount":12,"types":[["ortanord",4],["lavasnake",4],["lavaserpent",4]],"width":30,"height":30,"range":5,"minDelay":5,"maxDelay":10,"region":"Volcano"},{"name":"coraldesert#1","x":1010,"y":2974,"maxCount":11,"types":[["CoralSnake",8],["DesertOstard",8],["KepetchAmbusher",8],["SandVortex",8],["Scorpion",8],["ToxicSlith",8]],"width":60,"height":60,"range":30,"minDelay":5,"maxDelay":10,"region":"Toxic Desert"},{"name":"Korpre 1","x":450,"y":3163,"maxCount":11,"types":[["kepetch",4],["headlessone",3],["stoneslith",4]],"width":50,"height":50,"range":5,"minDelay":5,"maxDelay":10,"region":"Kepetch Waste"},{"name":"Spawner","x":811,"y":3433,"maxCount":1,"types":[["Tinker",1],["Aliabeth",1]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"region":"Royal City"},{"name":"ter fireant/bat","x":431,"y":3016,"maxCount":5,"types":[["fireant",5]],"width":10,"height":10,"range":20,"minDelay":5,"maxDelay":10,"region":"Volcano"},{"name":"Spawner","x":645,"y":3333,"maxCount":1,"types":[["sliem",1]],"minDelay":5,"maxDelay":10,"region":"Royal City"},{"name":"Tomb of Kings 1","x":15,"y":139,"maxCount":18,"types":[["undeadguardian",5],["silverserpent",5],["gargoyleshade",5],["putridundeadguardian",3]],"width":40,"height":40,"range":15,"minDelay":5,"maxDelay":10,"region":"Tomb of Kings"},{"name":"Abyss Snakes 2","x":710,"y":662,"maxCount":20,"types":[["giantserpent",6],["snake",8],["silverserpent",2],["coralsnake",4]],"width":50,"height":50,"range":5,"minDelay":5,"maxDelay":10,"region":"Serpents Lair"},{"name":"Lowland 1","x":1150,"y":3351,"maxCount":18,"types":[["ruddyboura",3],["silverserpent",4],["greatermongbat",4],["toxicslith",2],["slith",5]],"width":30,"height":30,"range":5,"minDelay":3,"maxDelay":4,"region":"Slith Valley"},{"name":"ruddy boura 2","x":857,"y":3058,"maxCount":5,"types":[["RuddyBoura",5]],"width":30,"height":30,"range":15,"minDelay":5,"maxDelay":10,"region":"Northern Steppes"},{"name":"ter abyss hydra/silverserpent","x":793,"y":757,"maxCount":4,"types":[["hydra",1],["silverserpent",3]],"width":4,"height":4,"range":5,"minDelay":2,"maxDelay":2,"region":"Serpents Lair"},{"name":"ter firedaemon/efreet","x":460,"y":3037,"maxCount":5,"types":[["firedaemon",2],["efreet",3]],"width":10,"height":10,"range":15,"minDelay":5,"maxDelay":10,"region":"Volcano"},{"name":"Quest_Zhah","x":749,"y":3347,"maxCount":1,"types":[["QueenZhah",1]],"range":5,"minDelay":5,"maxDelay":10,"region":"Queen's Palace"},{"name":"Rumors Abound Quest","x":832,"y":3507,"maxCount":1,"types":[["Egwexem",1]],"width":10,"height":10,"range":10,"minDelay":5,"maxDelay":10,"region":"Royal City"},{"name":"Axem the curator","x":657,"y":3416,"maxCount":1,"types":[["Axem",1]],"range":5,"minDelay":5,"maxDelay":10,"region":"Royal City"},{"name":"Gargish Bazaar8","x":725,"y":3426,"maxCount":1,"types":[["weaponsmith",1]],"width":2,"height":2,"range":5,"minDelay":5,"maxDelay":10,"region":"Royal City"},{"name":"Treefellow 1","x":545,"y":3485,"maxCount":22,"types":[["treefellowguardian",4],["kepetch",4],["silverserpent",4],["snake",4],["bird",6]],"width":20,"height":20,"range":20,"minDelay":5,"maxDelay":10,"region":"Void Island"},{"name":"NewCharTerMurArmorQuest","x":864,"y":3547,"maxCount":2,"types":[["chickenlizard",2]],"width":30,"height":30,"range":5,"minDelay":1,"maxDelay":2,"region":"Royal City"},{"name":"Chicken Lizard 1","x":499,"y":3386,"maxCount":48,"types":[["chickenlizard",10],["silverserpent",7],["horse",10],["bird",15]],"width":70,"height":70,"range":5,"minDelay":5,"maxDelay":10,"region":"Chicken Chase"},{"name":"Wildlife 3","x":758,"y":3178,"maxCount":35,"types":[["horse",5],["bird",10],["hind",10],["rabbit",5],["timberwolf",5]],"width":100,"height":100,"range":5,"minDelay":5,"maxDelay":10,"region":"Royal Park"},{"name":"ter firebat/elemental/lave elemental/lizard","x":460,"y":2972,"maxCount":8,"types":[["fireelemental",2],["lavaelemental",3],["lavalizard",3]],"width":10,"height":10,"range":30,"minDelay":5,"maxDelay":10,"region":"Volcano"},{"name":"SA Spider Isle Trapdoor 2","x":1075,"y":3747,"maxCount":3,"types":[["trapdoorspider",3]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"region":"Spider Island"},{"name":"MinionOfScelestus#2","x":470,"y":3806,"maxCount":12,"types":[["MinionOfScelestus",12]],"width":50,"height":50,"range":50,"minDelay":1,"maxDelay":3,"region":"Lost Settlement"},{"name":"coraldesert#4","x":1000,"y":2929,"maxCount":13,"types":[["CoralSnake",10],["DesertOstard",10],["KepetchAmbusher",10],["SandVortex",10],["Scorpion",10],["ToxicSlith",10]],"width":60,"height":60,"range":30,"minDelay":5,"maxDelay":10,"landmark":"Regions"},{"name":"Spawner","x":808,"y":3425,"maxCount":1,"types":[["Agralem",1]],"minDelay":5,"maxDelay":10,"region":"Royal City"},{"name":"MedusaSNest","x":785,"y":761,"maxCount":5,"types":[["SerpentNest",1],["giantserpent",4]],"width":20,"height":20,"range":5,"minDelay":2,"maxDelay":2,"region":"Serpents Lair"},{"name":"Abyss Lava 2","x":629,"y":683,"maxCount":21,"types":[["snake",5],["lavasnake",10],["giantserpent",4],["coralsnake",2]],"width":40,"height":40,"range":5,"minDelay":5,"maxDelay":10,"region":"Abyss"},{"name":"Ancient Hellhound","x":384,"y":2998,"maxCount":2,"types":[["firedaemon",2]],"width":20,"height":20,"range":15,"minDelay":5,"maxDelay":10,"region":"Volcano"},{"name":"Slasher1","x":744,"y":470,"maxCount":1,"types":[["SlasherOfVeils",1]],"width":10,"height":10,"range":25,"minDelay":5,"maxDelay":10,"region":"Chamber of Virtue"},{"name":"ter efreet/lava elemental/phoenix/firegargoyle","x":371,"y":3047,"maxCount":9,"types":[["efreet",2],["lavaelemental",2],["phoenix",2],["firegargoyle",3]],"width":30,"height":30,"range":25,"minDelay":5,"maxDelay":10,"region":"Volcano"},{"name":"coraldesert#3","x":1059,"y":2949,"maxCount":11,"types":[["CoralSnake",8],["DesertOstard",8],["KepetchAmbusher",8],["SandVortex",8],["Scorpion",8],["ToxicSlith",8]],"width":60,"height":60,"range":30,"minDelay":5,"maxDelay":10,"region":"Toxic Desert"},{"name":"Gargish Bazaar6","x":727,"y":3444,"maxCount":1,"types":[["carpenter",1]],"width":2,"height":2,"range":5,"minDelay":5,"maxDelay":10,"region":"Royal City"},{"name":"Raptor Island 1","x":735,"y":3725,"maxCount":85,"types":[["trapdoorspider",5],["horse",10],["mongbat",25],["raptor",25],["skree",10],["toxicslith",10]],"width":150,"height":150,"range":75,"minDelay":5,"maxDelay":10,"landmark":"Regions"},{"name":"MinionOfScelestus#1","x":531,"y":3806,"maxCount":6,"types":[["MinionOfScelestus",6]],"width":30,"height":30,"range":35,"minDelay":1,"maxDelay":2,"region":"Lost Settlement"},{"name":"Agralem1","x":801,"y":3427,"maxCount":1,"types":[["Agralem",1]],"range":5,"minDelay":5,"maxDelay":10,"region":"Royal City"},{"name":"VoidManifestationSpawn#3","x":962,"y":279,"maxCount":10,"types":[["GargishOutcast",8],["GargishRouser",2]],"width":21,"height":23,"range":15,"minDelay":30,"maxDelay":30,"region":"Abyss"},{"name":"Refugee/Noble","x":867,"y":3483,"maxCount":10,"types":[["GargishRefugee",10]],"width":10,"height":10,"range":20,"minDelay":5,"maxDelay":10,"region":"Royal City"},{"name":"VoidManifestationSpawn#1","x":480,"y":845,"maxCount":10,"types":[["GargishOutcast",8],["GargishRouser",2]],"width":11,"height":26,"range":15,"minDelay":30,"maxDelay":30,"region":"Abyss"},{"name":"MedusaSNest2","x":773,"y":727,"maxCount":5,"types":[["giantserpent",4],["SerpentNest",1]],"width":10,"height":10,"range":5,"minDelay":3,"maxDelay":3,"region":"Serpents Lair"},{"name":"Aurvidlem","x":792,"y":3427,"maxCount":1,"types":[["Aurvidlem",1]],"minDelay":5,"maxDelay":10,"region":"Royal City"},{"name":"Quest_GatheringEvidence","x":753,"y":3351,"maxCount":1,"types":[["Xeninlor",1]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"region":"Queen's Palace"},{"name":"Holy City Blacksmith","x":1007,"y":3876,"maxCount":2,"types":[["blacksmith",1],["armorer",1]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"region":"Holy City"},{"name":"Spawner","x":946,"y":3858,"maxCount":2,"types":[["farmernash",1],["SET",1]],"region":"Holy City"},{"name":"Holy City Wildlife","x":927,"y":3834,"maxCount":30,"types":[["bird",5],["rabbit",5],["horse",5],["rat",5],["snake",5],["greatermongbat",5]],"width":140,"height":140,"range":5,"minDelay":5,"maxDelay":10,"landmark":"Tomb of Kings"},{"name":"holy city","x":1013,"y":3902,"maxCount":2,"types":[["healer",2]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"region":"Holy City"},{"name":"SA Spider Isle","x":1086,"y":3708,"maxCount":50,"types":[["giantblackwidow",20],["giantspider",30]],"width":50,"height":50,"range":5,"minDelay":5,"maxDelay":10,"region":"Spider Island"},{"name":"Spawner","x":801,"y":3382,"maxCount":1,"types":[["Tanner",1]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"region":"Royal City"},{"name":"champtermerhealer","x":482,"y":3743,"maxCount":1,"types":[["wanderinghealer",1]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"region":"Lost Settlement"},{"name":"Refugee 2","x":812,"y":3541,"maxCount":10,"types":[["gargishrefugee",10]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"region":"Royal City"},{"name":"Mysticism Scrolls 1","x":652,"y":2901,"maxCount":9,"types":[["NetherBoltScroll",1],["firedaemon",8]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"region":"Waterfall Point"},{"name":"ter lavaelemental/lizard/snake","x":413,"y":2977,"maxCount":7,"types":[["lavaelemental",2],["lavalizard",2],["lavasnake",3]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"region":"Volcano"},{"name":"ter firegargoyle","x":370,"y":2994,"maxCount":3,"types":[["firegargoyle",3]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"region":"Volcano"},{"name":"fishingville npcs 2","x":614,"y":2995,"maxCount":3,"types":[["GargishRefugee",3]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"region":"Fishermans Reach"},{"name":"Spawner","x":906,"y":3993,"maxCount":1,"types":[["butcher",1]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"landmark":"Holy City"},{"name":"Tomb/Niporailem","x":135,"y":148,"maxCount":1,"types":[["Niporailem",1]],"width":20,"height":20,"range":5,"minDelay":3,"maxDelay":3,"region":"Tomb of Kings"},{"name":"SA Spider Isle Trapdoor 1","x":1140,"y":3707,"maxCount":3,"types":[["trapdoorspider",3]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"region":"Spider Island"},{"name":"LifeStealer1","x":471,"y":3105,"maxCount":2,"types":[["LifeStealer",2]],"width":24,"height":24,"range":5,"minDelay":1,"maxDelay":2,"region":"Volcano"},{"name":"LifeStealer2","x":405,"y":3121,"maxCount":2,"types":[["LifeStealer",2]],"width":24,"height":24,"range":5,"minDelay":1,"maxDelay":2,"landmark":"Regions"},{"name":"LifeStealer3","x":439,"y":3121,"maxCount":2,"types":[["LifeStealer",2]],"width":24,"height":24,"range":5,"minDelay":1,"maxDelay":2,"landmark":"Regions"},{"name":"GreenGoblinDinnerRoom","x":1012,"y":1018,"maxCount":2,"types":[["greengoblinalchemist",2]],"width":8,"height":8,"range":15,"minDelay":1,"maxDelay":180,"region":"Underworld"},{"name":"HallwayWorms","x":1057,"y":1156,"maxCount":3,"types":[["bloodworm",1],["rotworm",2]],"width":6,"height":6,"range":25,"minDelay":1,"maxDelay":180,"region":"Underworld"},{"name":"Tyball'sShadow","x":1165,"y":848,"maxCount":1,"types":[["TyballsShadow",1]],"width":30,"height":30,"range":15,"minDelay":1,"maxDelay":180,"region":"Underworld"},{"name":"BarreraakQuestGiver","x":1189,"y":989,"maxCount":1,"types":[["Barreraak",1]],"minDelay":1,"maxDelay":5,"region":"Underworld"},{"name":"IronBeetles","x":1133,"y":987,"maxCount":3,"types":[["IronBeetle",3]],"width":24,"height":24,"range":16,"minDelay":5,"maxDelay":10,"region":"Underworld"},{"name":"Rotworm2","x":1026,"y":1168,"maxCount":7,"types":[["rotworm",7]],"width":24,"height":24,"range":12,"minDelay":1,"maxDelay":180,"region":"Underworld"},{"name":"XenrrQuestGiver","x":1014,"y":1000,"maxCount":1,"types":[["Xenrr",1]],"minDelay":1,"maxDelay":5,"region":"Underworld"},{"name":"Elder Dugan","x":1104,"y":1128,"maxCount":1,"types":[["Dugan",1]],"minDelay":1,"maxDelay":5,"region":"Underworld"},{"name":"RuinsToTyball","x":1189,"y":1178,"maxCount":3,"types":[["tanglingroots",2],["waterelemental",1]],"width":16,"height":16,"range":15,"minDelay":1,"maxDelay":180,"region":"Underworld"},{"name":"Rotworm1","x":1030,"y":1186,"maxCount":7,"types":[["rotworm",7]],"width":20,"height":20,"range":10,"minDelay":1,"maxDelay":180,"region":"Underworld"},{"name":"slimesEntrance2","x":1109,"y":1171,"maxCount":8,"types":[["slime",8]],"width":4,"height":4,"range":2,"minDelay":1,"maxDelay":180,"region":"Underworld"},{"name":"slimesEntrance1","x":1112,"y":1163,"maxCount":2,"types":[["slime",2]],"width":2,"height":2,"range":1,"minDelay":1,"maxDelay":180,"region":"Underworld"},{"name":"Gretchen","x":1089,"y":1128,"maxCount":1,"types":[["Gretchen",1]],"minDelay":1,"maxDelay":5,"region":"NPC Encampment"},{"name":"Garamon","x":1128,"y":1165,"maxCount":1,"types":[["Garamon",1]],"minDelay":1,"maxDelay":5,"region":"Underworld"},{"name":"BarreraakRoom","x":1170,"y":968,"maxCount":9,"types":[["graygoblin",4],["graygoblinmage",4],["wolfspider",1]],"width":20,"height":20,"range":15,"minDelay":1,"maxDelay":180,"region":"Underworld"},{"name":"BloodElementalSpiderMountain","x":1103,"y":1014,"maxCount":1,"types":[["BloodElemental",1]],"width":16,"height":16,"range":12,"minDelay":1,"maxDelay":180,"region":"Underworld"},{"name":"TanglingRootsPit1","x":1089,"y":1065,"maxCount":3,"types":[["TanglingRoots",3]],"width":14,"height":14,"range":7,"minDelay":1,"maxDelay":180,"region":"Underworld"},{"name":"UndeadTeleRoom","x":1010,"y":1108,"maxCount":14,"types":[["BoneMagi",5],["Wraith",4],["Spectre",1],["Skeleton",4]],"width":16,"height":16,"range":20,"minDelay":1,"maxDelay":60,"region":"Underworld"},{"name":"NavreyEntrance","x":1070,"y":976,"maxCount":2,"types":[["WolfSpider",2]],"width":24,"height":24,"range":12,"minDelay":1,"maxDelay":180,"region":"Underworld"},{"name":"RotwormGroup","x":1139,"y":1181,"maxCount":5,"types":[["rotworm",5]],"width":16,"height":16,"range":10,"minDelay":1,"maxDelay":180,"region":"Underworld"},{"name":"RotwormBogPit","x":1022,"y":1015,"maxCount":8,"types":[["rotworm",8]],"width":6,"height":6,"range":12,"minDelay":1,"maxDelay":180,"region":"Underworld"},{"name":"Bloodworm3","x":1030,"y":1170,"maxCount":1,"types":[["bloodworm",1]],"width":10,"height":10,"range":15,"minDelay":1,"maxDelay":180,"region":"Underworld"},{"name":"GreaterPosionEle","x":1036,"y":1069,"maxCount":1,"types":[["GreaterPoisonElemental",1]],"width":10,"height":10,"range":5,"minDelay":1,"maxDelay":120,"region":"Underworld"},{"name":"acidSlugPit","x":1096,"y":1186,"maxCount":20,"types":[["AcidSlug",20]],"width":6,"height":6,"range":7,"minDelay":1,"maxDelay":180,"region":"Underworld"},{"name":"GoblinFoodRoom","x":1024,"y":995,"maxCount":5,"types":[["greengoblin",1],["greengoblinscout",2],["greengoblinalchemist",2]],"width":18,"height":18,"range":15,"minDelay":1,"maxDelay":180,"region":"Underworld"},{"name":"GoblinRoom1","x":1173,"y":1003,"maxCount":12,"types":[["graygoblin",8],["graygoblinmage",4]],"width":40,"height":40,"range":20,"minDelay":1,"maxDelay":180,"region":"Underworld"},{"name":"QuartermasterFlint","x":1135,"y":1132,"maxCount":0,"types":[["QuartermasterFlint",8]],"minDelay":1,"maxDelay":5,"region":"Underworld"},{"name":"UndeadMummyRoomMummys","x":1204,"y":1060,"maxCount":5,"types":[["Mummy",5]],"width":30,"height":30,"range":15,"minDelay":1,"maxDelay":180,"region":"Underworld"},{"name":"GoblinSpiderRoom","x":1195,"y":964,"maxCount":20,"types":[["wolfspider",6],["graygoblin",10],["graygoblinmage",2],["graygoblinkeeper",2]],"width":40,"height":40,"range":20,"minDelay":30,"maxDelay":60,"region":"Underworld"},{"name":"Bloodworm1","x":1032,"y":1194,"maxCount":1,"types":[["bloodworm",1]],"width":10,"height":10,"range":15,"minDelay":1,"maxDelay":180,"region":"Underworld"},{"name":"FlintsLogBookRoom","x":1025,"y":961,"maxCount":14,"types":[["greengoblin",8],["greengoblinalchemist",6]],"width":30,"height":30,"range":20,"minDelay":1,"maxDelay":180,"region":"Underworld"},{"name":"WolfSpiderMountains","x":1110,"y":991,"maxCount":20,"types":[["wolfspider",20]],"width":32,"height":32,"range":22,"minDelay":1,"maxDelay":180,"region":"Underworld"},{"name":"TanglingRootsPit2","x":1098,"y":1079,"maxCount":2,"types":[["TanglingRoots",2]],"width":14,"height":14,"range":7,"minDelay":1,"maxDelay":180,"region":"Underworld"},{"name":"SentinelSpidersNavreyEntrance","x":1069,"y":976,"maxCount":1,"types":[["SentinelSpider",1]],"width":24,"height":24,"range":12,"minDelay":1,"maxDelay":120,"region":"Underworld"},{"name":"JacarQuestGiver","x":1204,"y":1041,"maxCount":1,"types":[["Jaacar",1]],"minDelay":1,"maxDelay":5,"region":"Underworld"},{"name":"Kraken2","x":1056,"y":1097,"maxCount":1,"types":[["Kraken",1]],"width":40,"height":40,"range":35,"minDelay":1,"maxDelay":180,"region":"Underworld"},{"name":"RotwormSolo","x":1140,"y":1158,"maxCount":1,"types":[["rotworm",1]],"width":16,"height":16,"range":10,"minDelay":1,"maxDelay":180,"region":"Underworld"},{"name":"Fiddling Tobin","x":1121,"y":1132,"maxCount":0,"types":[["Tobin",3]],"minDelay":1,"maxDelay":5,"region":"Underworld"},{"name":"WolfSpiderCorner2","x":1155,"y":977,"maxCount":4,"types":[["wolfspider",3],["graygoblinkeeper",1]],"width":16,"height":16,"range":18,"minDelay":1,"maxDelay":180,"region":"Underworld"},{"name":"VernixQuestGiver","x":1015,"y":976,"maxCount":1,"types":[["Vernix",1]],"minDelay":1,"maxDelay":5,"region":"Underworld"},{"name":"GoblinHallway","x":1191,"y":1045,"maxCount":7,"types":[["graygoblin",3],["graygoblinmage",4]],"width":14,"height":14,"range":12,"minDelay":1,"maxDelay":180,"region":"Underworld"},{"name":"UndeadMummyRoomGhouls","x":1203,"y":1060,"maxCount":5,"types":[["shade",2],["spectre",2],["wraith",1]],"width":30,"height":30,"range":15,"minDelay":1,"region":"Underworld"},{"name":"GreenGoblinHallway1","x":1052,"y":1042,"maxCount":1,"types":[["Greengoblin",1]],"width":4,"height":4,"range":15,"minDelay":1,"maxDelay":3,"region":"Underworld"},{"name":"Kraken1","x":1001,"y":1122,"maxCount":1,"types":[["Kraken",1]],"width":60,"height":60,"range":30,"minDelay":1,"region":"Underworld"},{"name":"UndeadMummyRoomRottings","x":1202,"y":1060,"maxCount":2,"types":[["RottingCorpse",2]],"width":30,"height":30,"range":15,"minDelay":1,"maxDelay":180,"region":"Underworld"},{"name":"GreenGoblinAlchBunkers","x":1046,"y":1025,"maxCount":3,"types":[["Greengoblinalchemist",3]],"width":4,"height":4,"range":15,"minDelay":1,"maxDelay":180,"region":"Underworld"},{"name":"MagicKey","x":1109,"y":2150,"maxCount":1,"types":[["MagicKey",1]],"minDelay":30,"maxDelay":45},{"name":"Navery nighteyes 2","x":1048,"y":859,"maxCount":1,"types":[["Navrey",1]],"width":10,"height":10,"range":5,"minDelay":5,"maxDelay":10,"region":"Underworld"},{"name":"UnderworldQuest_Flint","x":1044,"y":976,"maxCount":1,"types":[["flintslogbook",1]],"range":5,"minDelay":30,"maxDelay":60,"region":"Underworld"},{"name":"UnderworldQuest_Flint4","x":1013,"y":1035,"maxCount":1,"types":[["barrelofbarley",1]],"range":5,"minDelay":30,"maxDelay":60,"region":"Underworld"},{"name":"UnderworldQuest_Flint1","x":1046,"y":1015,"maxCount":1,"types":[["barrelofbarley",1]],"range":5,"minDelay":30,"maxDelay":60,"region":"Underworld"},{"name":"UnderworldQuest_Flint3","x":1029,"y":1025,"maxCount":1,"types":[["barrelofbarley",1]],"width":6,"height":6,"range":5,"minDelay":30,"maxDelay":60,"region":"Underworld"},{"name":"UnderworldQuest_Flint2","x":1026,"y":1001,"maxCount":1,"types":[["barrelofbarley",1]],"width":4,"height":4,"range":5,"minDelay":30,"maxDelay":60,"region":"Underworld"}]}