- Rename "type" -> "$type" (first key, required for STJ polymorphism) in all 109 spawn JSON files (5,612 records). - Convert "homeRange" + "location" -> "spawnBounds" object, dropping homeRange. Runtime keeps reading homeRange so un-migrated/external files still load. - Add BoundsEquivalenceTests (hr=0/1/3/7) validating that the script's toBounds formula produces the same Rectangle3D as the runtime homeRange path. - Add MigratedDataLoadTests loading a real migrated file as List<SpawnerDto> and round-tripping each DTO through ToSpawner(). - Add tools/spawner-json-migrate/migrate.mjs (offline Node script). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1735 lines
31 KiB
JSON
1735 lines
31 KiB
JSON
[
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "0cd9c91b-ab80-4dbd-8594-ace0132a0fc8",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
1521,
|
|
1457,
|
|
15
|
|
],
|
|
"map": "Trammel",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 1521,
|
|
"y1": 1457,
|
|
"z1": 15,
|
|
"x2": 1522,
|
|
"y2": 1458,
|
|
"z2": 15
|
|
},
|
|
"walkingRange": 1,
|
|
"entries": [
|
|
{
|
|
"name": "ChaosGuard",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "112087fa-8961-4d69-a729-19390bb722c5",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
1126,
|
|
3688,
|
|
-2
|
|
],
|
|
"map": "Trammel",
|
|
"count": 3,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 1116,
|
|
"y1": 3678,
|
|
"z1": -128,
|
|
"x2": 1137,
|
|
"y2": 3699,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 20,
|
|
"entries": [
|
|
{
|
|
"name": "EscortableMage",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "SeekerOfAdventure",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "Noble",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "17960040-e115-49e8-a1f3-f14583d9517f",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
603,
|
|
2141,
|
|
0
|
|
],
|
|
"map": "Trammel",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 602,
|
|
"y1": 2140,
|
|
"z1": -128,
|
|
"x2": 605,
|
|
"y2": 2143,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{
|
|
"name": "TownCrier",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "1de05315-2afe-4cc6-8b83-22fe3ebab00e",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
2994,
|
|
3451,
|
|
16
|
|
],
|
|
"map": "Trammel",
|
|
"count": 3,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 2984,
|
|
"y1": 3441,
|
|
"z1": -128,
|
|
"x2": 3005,
|
|
"y2": 3462,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 20,
|
|
"entries": [
|
|
{
|
|
"name": "EscortableMage",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "SeekerOfAdventure",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "Noble",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "26a2621e-6b2c-47ef-b957-4d5630091661",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
1399,
|
|
3743,
|
|
-21
|
|
],
|
|
"map": "Trammel",
|
|
"count": 10,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 1389,
|
|
"y1": 3733,
|
|
"z1": -128,
|
|
"x2": 1410,
|
|
"y2": 3754,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 10,
|
|
"entries": [
|
|
{
|
|
"name": "HireBard",
|
|
"maxCount": 5,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "HireBardArcher",
|
|
"maxCount": 5,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "HireBeggar",
|
|
"maxCount": 5,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "HireFighter",
|
|
"maxCount": 5,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "HireMage",
|
|
"maxCount": 5,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "HireRanger",
|
|
"maxCount": 5,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "HireRangerArcher",
|
|
"maxCount": 5,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "HireSailor",
|
|
"maxCount": 5,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "HireThief",
|
|
"maxCount": 5,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "HirePaladin",
|
|
"maxCount": 5,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "2b35dd52-619d-448f-86d1-8aaa6f146ac7",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
1829,
|
|
2811,
|
|
0
|
|
],
|
|
"map": "Trammel",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 1828,
|
|
"y1": 2810,
|
|
"z1": -128,
|
|
"x2": 1831,
|
|
"y2": 2813,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{
|
|
"name": "TownCrier",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "2e006ab7-3370-4b4e-8fbc-cfa849b3d0c5",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
7082,
|
|
367,
|
|
0
|
|
],
|
|
"map": "Trammel",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 7078,
|
|
"y1": 363,
|
|
"z1": -128,
|
|
"x2": 7087,
|
|
"y2": 372,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 4,
|
|
"entries": [
|
|
{
|
|
"name": "Olaeni",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "31d1057e-9886-428e-82ef-4c08bf202117",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
3815,
|
|
1217,
|
|
0
|
|
],
|
|
"map": "Trammel",
|
|
"count": 3,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 3805,
|
|
"y1": 1207,
|
|
"z1": -128,
|
|
"x2": 3826,
|
|
"y2": 1228,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 20,
|
|
"entries": [
|
|
{
|
|
"name": "EscortableMage",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "SeekerOfAdventure",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "Noble",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "3203a756-0011-4741-9fae-8a1c92166c45",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
3749,
|
|
1404,
|
|
0
|
|
],
|
|
"map": "Trammel",
|
|
"count": 3,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 3739,
|
|
"y1": 1394,
|
|
"z1": -128,
|
|
"x2": 3760,
|
|
"y2": 1415,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 20,
|
|
"entries": [
|
|
{
|
|
"name": "EscortableMage",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "SeekerOfAdventure",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "Noble",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "34473f72-e1ae-4968-97aa-0388ead486b9",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
3773,
|
|
1308,
|
|
0
|
|
],
|
|
"map": "Trammel",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 3772,
|
|
"y1": 1307,
|
|
"z1": -128,
|
|
"x2": 3775,
|
|
"y2": 1310,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{
|
|
"name": "TownCrier",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "36bf73a1-cc52-4776-8b8b-99088d86d03c",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
627,
|
|
864,
|
|
0
|
|
],
|
|
"map": "Trammel",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 626,
|
|
"y1": 863,
|
|
"z1": -128,
|
|
"x2": 629,
|
|
"y2": 866,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{
|
|
"name": "TownCrier",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "37d7e7c7-3ef0-4b63-bc92-87b172a02533",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
7053,
|
|
338,
|
|
0
|
|
],
|
|
"map": "Trammel",
|
|
"count": 2,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 7047,
|
|
"y1": 332,
|
|
"z1": -128,
|
|
"x2": 7060,
|
|
"y2": 345,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 6,
|
|
"entries": [
|
|
{
|
|
"name": "aneen",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "Bird",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "4258947f-59d2-4fbb-98e7-11b65f16d8a9",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
7063,
|
|
350,
|
|
0
|
|
],
|
|
"map": "Trammel",
|
|
"count": 3,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 7059,
|
|
"y1": 346,
|
|
"z1": -128,
|
|
"x2": 7068,
|
|
"y2": 355,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 4,
|
|
"entries": [
|
|
{
|
|
"name": "Bolaevin",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "Bird",
|
|
"maxCount": 2,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "46dc4d43-91c1-4d09-a0e0-9d2e89804977",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
7090,
|
|
387,
|
|
0
|
|
],
|
|
"map": "Trammel",
|
|
"count": 2,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 7082,
|
|
"y1": 379,
|
|
"z1": -128,
|
|
"x2": 7099,
|
|
"y2": 396,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 8,
|
|
"entries": [
|
|
{
|
|
"name": "Aluniol",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "Rebinil",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "56ff4f2b-88cc-44ce-bc5c-cadd416e069d",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
3721,
|
|
2161,
|
|
20
|
|
],
|
|
"map": "Trammel",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 3720,
|
|
"y1": 2160,
|
|
"z1": -128,
|
|
"x2": 3723,
|
|
"y2": 2163,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{
|
|
"name": "TownCrier",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "64802440-be2d-4b3e-babb-d8612ae85e90",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
2875,
|
|
675,
|
|
0
|
|
],
|
|
"map": "Trammel",
|
|
"count": 6,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 2873,
|
|
"y1": 673,
|
|
"z1": -128,
|
|
"x2": 2878,
|
|
"y2": 678,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 2,
|
|
"entries": [
|
|
{
|
|
"name": "TreasureChestLevel1",
|
|
"maxCount": 6,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "65e4866a-41f4-47ec-8f26-aa92f48aac80",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
2895,
|
|
686,
|
|
0
|
|
],
|
|
"map": "Trammel",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 2894,
|
|
"y1": 685,
|
|
"z1": -128,
|
|
"x2": 2897,
|
|
"y2": 688,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{
|
|
"name": "TownCrier",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "756f5e4b-690b-4d80-a775-3ff67397e700",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
2891,
|
|
3474,
|
|
15
|
|
],
|
|
"map": "Trammel",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 2890,
|
|
"y1": 3473,
|
|
"z1": -128,
|
|
"x2": 2893,
|
|
"y2": 3476,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{
|
|
"name": "TownCrier",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "76bb7e24-7ad9-4dc2-97c8-f575ff05a259",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
1914,
|
|
2687,
|
|
0
|
|
],
|
|
"map": "Trammel",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 1913,
|
|
"y1": 2686,
|
|
"z1": -128,
|
|
"x2": 1916,
|
|
"y2": 2689,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{
|
|
"name": "TownCrier",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "79236906-51cd-4390-86c5-36b5ea71f943",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
2874,
|
|
692,
|
|
0
|
|
],
|
|
"map": "Trammel",
|
|
"count": 2,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 2873,
|
|
"y1": 691,
|
|
"z1": -128,
|
|
"x2": 2876,
|
|
"y2": 694,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 1,
|
|
"entries": [
|
|
{
|
|
"name": "TreasureChestLevel1",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "TreasureChestLevel2",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "81d50c82-2e5a-41d8-b572-f50a66302d6e",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
2254,
|
|
1207,
|
|
0
|
|
],
|
|
"map": "Trammel",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 2253,
|
|
"y1": 1206,
|
|
"z1": -128,
|
|
"x2": 2256,
|
|
"y2": 1209,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{
|
|
"name": "TownCrier",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "81e6cbf7-1e74-4547-b10f-024a75b64d40",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
2068,
|
|
2854,
|
|
0
|
|
],
|
|
"map": "Trammel",
|
|
"count": 3,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 2058,
|
|
"y1": 2844,
|
|
"z1": -128,
|
|
"x2": 2079,
|
|
"y2": 2865,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 20,
|
|
"entries": [
|
|
{
|
|
"name": "EscortableMage",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "SeekerOfAdventure",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "Noble",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "81ee4607-e452-45ca-ac26-7c5a8d47f201",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
1662,
|
|
1611,
|
|
19
|
|
],
|
|
"map": "Trammel",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 1661,
|
|
"y1": 1610,
|
|
"z1": -128,
|
|
"x2": 1664,
|
|
"y2": 1613,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{
|
|
"name": "TownCrier",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "82760905-485e-4bbe-83b6-56ccc903665a",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
1372,
|
|
3916,
|
|
-2
|
|
],
|
|
"map": "Trammel",
|
|
"count": 3,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 1362,
|
|
"y1": 3906,
|
|
"z1": -128,
|
|
"x2": 1383,
|
|
"y2": 3927,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 20,
|
|
"entries": [
|
|
{
|
|
"name": "EscortableMage",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "SeekerOfAdventure",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "Noble",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "852fdf43-a6c6-4fb9-acd9-35b1943f4d11",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
1483,
|
|
1760,
|
|
-2
|
|
],
|
|
"map": "Trammel",
|
|
"count": 3,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 1473,
|
|
"y1": 1750,
|
|
"z1": -128,
|
|
"x2": 1494,
|
|
"y2": 1771,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 20,
|
|
"entries": [
|
|
{
|
|
"name": "EscortableMage",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "SeekerOfAdventure",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "Noble",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "86739b8d-2726-43ff-aeaa-562873cee364",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
1813,
|
|
2834,
|
|
0
|
|
],
|
|
"map": "Trammel",
|
|
"count": 3,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 1811,
|
|
"y1": 2832,
|
|
"z1": -128,
|
|
"x2": 1816,
|
|
"y2": 2837,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 2,
|
|
"entries": [
|
|
{
|
|
"name": "TreasureChestLevel3",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "TreasureChestLevel4",
|
|
"maxCount": 2,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "88ba3663-c0bb-4d49-bcb5-cc4b6490b9cf",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
673,
|
|
2235,
|
|
-3
|
|
],
|
|
"map": "Trammel",
|
|
"count": 3,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 663,
|
|
"y1": 2225,
|
|
"z1": -128,
|
|
"x2": 684,
|
|
"y2": 2246,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 20,
|
|
"entries": [
|
|
{
|
|
"name": "EscortableMage",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "SeekerOfAdventure",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "Noble",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "8b75bcf8-7b83-4d94-8573-92aff88cd41f",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
3652,
|
|
2619,
|
|
0
|
|
],
|
|
"map": "Trammel",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 3651,
|
|
"y1": 2618,
|
|
"z1": -128,
|
|
"x2": 3654,
|
|
"y2": 2621,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{
|
|
"name": "TownCrier",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "8d746f23-5e37-467c-9b8c-2af3b1ba0882",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
5685,
|
|
3148,
|
|
-4
|
|
],
|
|
"map": "Trammel",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 5684,
|
|
"y1": 3147,
|
|
"z1": -128,
|
|
"x2": 5687,
|
|
"y2": 3150,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{
|
|
"name": "TownCrier",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "8d7c52fa-6f53-40ae-8f24-1daf0a7ce571",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
1400,
|
|
1628,
|
|
28
|
|
],
|
|
"map": "Trammel",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 1400,
|
|
"y1": 1628,
|
|
"z1": 28,
|
|
"x2": 1401,
|
|
"y2": 1629,
|
|
"z2": 28
|
|
},
|
|
"walkingRange": 1,
|
|
"entries": [
|
|
{
|
|
"name": "OrderGuard",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "93c7a59d-449b-4993-b89d-8261edf96f2d",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
2515,
|
|
557,
|
|
0
|
|
],
|
|
"map": "Trammel",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 2514,
|
|
"y1": 556,
|
|
"z1": -128,
|
|
"x2": 2517,
|
|
"y2": 559,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{
|
|
"name": "TownCrier",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "995f4053-0947-4757-8665-98cdac36ca2b",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
6989,
|
|
342,
|
|
0
|
|
],
|
|
"map": "Trammel",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 6981,
|
|
"y1": 334,
|
|
"z1": -128,
|
|
"x2": 6998,
|
|
"y2": 351,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 8,
|
|
"entries": [
|
|
{
|
|
"name": "Tyeelor",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "99c8e802-f37a-4f2e-b5d5-23239e0ba219",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
7048,
|
|
382,
|
|
0
|
|
],
|
|
"map": "Trammel",
|
|
"count": 6,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 7036,
|
|
"y1": 370,
|
|
"z1": -128,
|
|
"x2": 7061,
|
|
"y2": 395,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 12,
|
|
"entries": [
|
|
{
|
|
"name": "abbein",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "taellia",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "vicaie",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "mallew",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "jothan",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "alethanian",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "9e077b7d-aea5-4e45-9435-4cce0aaa6962",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
4398,
|
|
1049,
|
|
-2
|
|
],
|
|
"map": "Trammel",
|
|
"count": 3,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 4388,
|
|
"y1": 1039,
|
|
"z1": -128,
|
|
"x2": 4409,
|
|
"y2": 1060,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 20,
|
|
"entries": [
|
|
{
|
|
"name": "EscortableMage",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "SeekerOfAdventure",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "Noble",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "9f7c934c-8e02-433d-a88f-4c8769a02081",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
7031,
|
|
409,
|
|
7
|
|
],
|
|
"map": "Trammel",
|
|
"count": 2,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 7021,
|
|
"y1": 399,
|
|
"z1": -128,
|
|
"x2": 7042,
|
|
"y2": 420,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 10,
|
|
"entries": [
|
|
{
|
|
"name": "Alelle",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "Daelas",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "a1fec8b0-aeb0-4cfe-bedb-a630f60f483b",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
1400,
|
|
1623,
|
|
28
|
|
],
|
|
"map": "Trammel",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 1400,
|
|
"y1": 1623,
|
|
"z1": 28,
|
|
"x2": 1401,
|
|
"y2": 1624,
|
|
"z2": 28
|
|
},
|
|
"walkingRange": 1,
|
|
"entries": [
|
|
{
|
|
"name": "OrderGuard",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "bc65ad16-fde0-4172-b5c9-df90020f5ed5",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
3674,
|
|
2291,
|
|
-2
|
|
],
|
|
"map": "Trammel",
|
|
"count": 3,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 3664,
|
|
"y1": 2281,
|
|
"z1": -128,
|
|
"x2": 3685,
|
|
"y2": 2302,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 20,
|
|
"entries": [
|
|
{
|
|
"name": "EscortableMage",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "SeekerOfAdventure",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "Noble",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "c26e2162-6a56-4eeb-b6ec-300b0ef5ed0f",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
1330,
|
|
3778,
|
|
0
|
|
],
|
|
"map": "Trammel",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 1329,
|
|
"y1": 3777,
|
|
"z1": -128,
|
|
"x2": 1332,
|
|
"y2": 3780,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{
|
|
"name": "TownCrier",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "ce3d7ff4-6411-4a30-914a-6b2bd1b9c752",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
3645,
|
|
2661,
|
|
-2
|
|
],
|
|
"map": "Trammel",
|
|
"count": 3,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 3635,
|
|
"y1": 2651,
|
|
"z1": -128,
|
|
"x2": 3656,
|
|
"y2": 2672,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 20,
|
|
"entries": [
|
|
{
|
|
"name": "EscortableMage",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "SeekerOfAdventure",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "Noble",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "d351ad8d-c82c-43b5-a10c-b7d42d47cc9f",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
1421,
|
|
1698,
|
|
0
|
|
],
|
|
"map": "Trammel",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 1420,
|
|
"y1": 1697,
|
|
"z1": -128,
|
|
"x2": 1423,
|
|
"y2": 1700,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{
|
|
"name": "TownCrier",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "d9dbef7c-e798-47c8-8939-7bbb74d297a9",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
573,
|
|
2246,
|
|
0
|
|
],
|
|
"map": "Trammel",
|
|
"count": 3,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 563,
|
|
"y1": 2236,
|
|
"z1": -128,
|
|
"x2": 584,
|
|
"y2": 2257,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 20,
|
|
"entries": [
|
|
{
|
|
"name": "EscortableMage",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "SeekerOfAdventure",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "Noble",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "e1071149-0c52-45c8-a0db-75da33c0a77e",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
631,
|
|
883,
|
|
0
|
|
],
|
|
"map": "Trammel",
|
|
"count": 3,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 621,
|
|
"y1": 873,
|
|
"z1": -128,
|
|
"x2": 642,
|
|
"y2": 894,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 20,
|
|
"entries": [
|
|
{
|
|
"name": "EscortableMage",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "SeekerOfAdventure",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "Noble",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "ea87d9c8-52d9-492a-9a5f-9b32bf2ee832",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
3041,
|
|
827,
|
|
-3
|
|
],
|
|
"map": "Trammel",
|
|
"count": 3,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 3031,
|
|
"y1": 817,
|
|
"z1": -128,
|
|
"x2": 3052,
|
|
"y2": 838,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 20,
|
|
"entries": [
|
|
{
|
|
"name": "EscortableMage",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "SeekerOfAdventure",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "Noble",
|
|
"maxCount": 3,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "f539d13c-6972-46fe-bce6-a09531c3473a",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
2884,
|
|
692,
|
|
0
|
|
],
|
|
"map": "Trammel",
|
|
"count": 3,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 2883,
|
|
"y1": 691,
|
|
"z1": -128,
|
|
"x2": 2886,
|
|
"y2": 694,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 1,
|
|
"entries": [
|
|
{
|
|
"name": "TreasureChestLevel2",
|
|
"maxCount": 2,
|
|
"probability": 100
|
|
},
|
|
{
|
|
"name": "TreasureChestLevel3",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "faa84300-0e93-40c1-a328-863f8ed209fe",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
5290,
|
|
3987,
|
|
37
|
|
],
|
|
"map": "Trammel",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 5289,
|
|
"y1": 3986,
|
|
"z1": -128,
|
|
"x2": 5292,
|
|
"y2": 3989,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{
|
|
"name": "TownCrier",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "fc87ea0f-7cd3-413a-a409-d1b304ec5299",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
1525,
|
|
1457,
|
|
15
|
|
],
|
|
"map": "Trammel",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 1525,
|
|
"y1": 1457,
|
|
"z1": 15,
|
|
"x2": 1526,
|
|
"y2": 1458,
|
|
"z2": 15
|
|
},
|
|
"walkingRange": 1,
|
|
"entries": [
|
|
{
|
|
"name": "ChaosGuard",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "fd8c35db-5081-4db5-9859-2873a070fbac",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
7010,
|
|
363,
|
|
0
|
|
],
|
|
"map": "Trammel",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 7002,
|
|
"y1": 355,
|
|
"z1": -128,
|
|
"x2": 7019,
|
|
"y2": 372,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 8,
|
|
"entries": [
|
|
{
|
|
"name": "athialon",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"$type": "Spawner",
|
|
"guid": "ffaf3446-ee45-4f0f-9020-7508409e7da0",
|
|
"name": "Spawner (123)",
|
|
"location": [
|
|
4451,
|
|
1153,
|
|
0
|
|
],
|
|
"map": "Trammel",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"spawnBounds": {
|
|
"x1": 4450,
|
|
"y1": 1152,
|
|
"z1": -128,
|
|
"x2": 4453,
|
|
"y2": 1155,
|
|
"z2": 128
|
|
},
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{
|
|
"name": "TownCrier",
|
|
"maxCount": 1,
|
|
"probability": 100
|
|
}
|
|
]
|
|
}
|
|
]
|