ModernUO/Distribution/Data/Spawns/shared/trammel/TownsPeople.json
Kamron Batman 2f8a7afa57 chore(spawners): migrate spawn data to $type discriminator
- 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>
2026-06-25 16:17:35 -07:00

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
}
]
}
]