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>
This commit is contained in:
Kamron Batman 2026-06-25 16:17:35 -07:00
parent ede4bcc718
commit 2f8a7afa57
112 changed files with 198936 additions and 40949 deletions

View file

@ -1,67 +1,147 @@
[
[
{
"type": "Spawner",
"$type": "Spawner",
"guid": "7431d589-5e24-4f05-b479-30dc17c7e942",
"name": "Spawner (306)",
"location": [1098, 698, -60],
"location": [
1098,
698,
-60
],
"map": "Ilshenar",
"count": 2,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"spawnBounds": { "start": { "x": 1097, "y": 697, "z": -65 }, "end": { "x": 1099, "y": 699, "z": -45 } },
"spawnBounds": {
"start": {
"x": 1097,
"y": 697,
"z": -65
},
"end": {
"x": 1099,
"y": 699,
"z": -45
}
},
"walkingRange": 5,
"entries": [
{ "name": "GolemController", "maxCount": 1, "probability": 100 },
{ "name": "Golem", "maxCount": 1, "probability": 100 }
{
"name": "GolemController",
"maxCount": 1,
"probability": 100
},
{
"name": "Golem",
"maxCount": 1,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "8ed26f0f-de07-4412-bc99-6cee204f1f40",
"name": "Spawner (306)",
"location": [1072, 651, -60],
"location": [
1072,
651,
-60
],
"map": "Ilshenar",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"spawnBounds": { "start": { "x": 1066, "y": 645, "z": -65 }, "end": { "x": 1078, "y": 657, "z": -45 } },
"spawnBounds": {
"start": {
"x": 1066,
"y": 645,
"z": -65
},
"end": {
"x": 1078,
"y": 657,
"z": -45
}
},
"walkingRange": 6,
"entries": [
{ "name": "JukaWarrior", "maxCount": 1, "probability": 100 }
{
"name": "JukaWarrior",
"maxCount": 1,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "d7d89534-d330-4b6a-a6b0-83187bf9ff54",
"name": "Spawner (306)",
"location": [1091, 702, -40],
"location": [
1091,
702,
-40
],
"map": "Ilshenar",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"spawnBounds": { "start": { "x": 1086, "y": 697, "z": -45 }, "end": { "x": 1096, "y": 707, "z": -25 } },
"spawnBounds": {
"start": {
"x": 1086,
"y": 697,
"z": -45
},
"end": {
"x": 1096,
"y": 707,
"z": -25
}
},
"walkingRange": 10,
"entries": [
{ "name": "Golem", "maxCount": 1, "probability": 100 }
{
"name": "Golem",
"maxCount": 1,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "e15d8287-9350-468d-8144-dd3baa906a53",
"name": "Spawner (306)",
"location": [1086, 702, -60],
"location": [
1086,
702,
-60
],
"map": "Ilshenar",
"count": 2,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"spawnBounds": { "start": { "x": 1081, "y": 697, "z": -65 }, "end": { "x": 1091, "y": 707, "z": -45 } },
"spawnBounds": {
"start": {
"x": 1081,
"y": 697,
"z": -65
},
"end": {
"x": 1091,
"y": 707,
"z": -45
}
},
"walkingRange": 5,
"entries": [
{ "name": "GolemController", "maxCount": 2, "probability": 100 }
{
"name": "GolemController",
"maxCount": 2,
"probability": 100
}
]
}
]

View file

@ -1,86 +1,226 @@
[
[
{
"type": "Spawner",
"$type": "Spawner",
"guid": "6f75ce3a-5afe-4d59-8cea-521a9cab1c9a",
"name": "Spawner (2402)",
"location": [1674, 659, -84],
"location": [
1674,
659,
-84
],
"map": "Malas",
"count": 15,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 100,
"spawnBounds": {
"x1": 1574,
"y1": 559,
"z1": -128,
"x2": 1775,
"y2": 760,
"z2": 128
},
"walkingRange": 120,
"entries": [
{ "name": "CrystalElemental", "maxCount": 3, "probability": 100 },
{ "name": "SkitteringHopper", "maxCount": 3, "probability": 100 },
{ "name": "Bird", "maxCount": 3, "probability": 100 },
{ "name": "Hind", "maxCount": 2, "probability": 100 },
{ "name": "GreatHart", "maxCount": 1, "probability": 100 },
{ "name": "Rabbit", "maxCount": 3, "probability": 100 }
{
"name": "CrystalElemental",
"maxCount": 3,
"probability": 100
},
{
"name": "SkitteringHopper",
"maxCount": 3,
"probability": 100
},
{
"name": "Bird",
"maxCount": 3,
"probability": 100
},
{
"name": "Hind",
"maxCount": 2,
"probability": 100
},
{
"name": "GreatHart",
"maxCount": 1,
"probability": 100
},
{
"name": "Rabbit",
"maxCount": 3,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "b2985f08-8004-4d85-8b11-e98cd205b584",
"name": "Spawner (2402)",
"location": [1434, 607, -89],
"location": [
1434,
607,
-89
],
"map": "Malas",
"count": 15,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 100,
"spawnBounds": {
"x1": 1334,
"y1": 507,
"z1": -128,
"x2": 1535,
"y2": 708,
"z2": 128
},
"walkingRange": 120,
"entries": [
{ "name": "CrystalElemental", "maxCount": 3, "probability": 100 },
{ "name": "SkitteringHopper", "maxCount": 3, "probability": 100 },
{ "name": "Bird", "maxCount": 3, "probability": 100 },
{ "name": "Hind", "maxCount": 2, "probability": 100 },
{ "name": "GreatHart", "maxCount": 1, "probability": 100 },
{ "name": "Rabbit", "maxCount": 3, "probability": 100 }
{
"name": "CrystalElemental",
"maxCount": 3,
"probability": 100
},
{
"name": "SkitteringHopper",
"maxCount": 3,
"probability": 100
},
{
"name": "Bird",
"maxCount": 3,
"probability": 100
},
{
"name": "Hind",
"maxCount": 2,
"probability": 100
},
{
"name": "GreatHart",
"maxCount": 1,
"probability": 100
},
{
"name": "Rabbit",
"maxCount": 3,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "7ef09a35-9032-4c5c-8273-9cdeb13281f6",
"name": "Spawner (2402)",
"location": [1194, 638, -84],
"location": [
1194,
638,
-84
],
"map": "Malas",
"count": 20,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 100,
"spawnBounds": {
"x1": 1094,
"y1": 538,
"z1": -128,
"x2": 1295,
"y2": 739,
"z2": 128
},
"walkingRange": 120,
"entries": [
{ "name": "CrystalElemental", "maxCount": 4, "probability": 100 },
{ "name": "SkitteringHopper", "maxCount": 4, "probability": 100 },
{ "name": "Bird", "maxCount": 4, "probability": 100 },
{ "name": "Hind", "maxCount": 3, "probability": 100 },
{ "name": "GreatHart", "maxCount": 1, "probability": 100 },
{ "name": "Rabbit", "maxCount": 4, "probability": 100 }
{
"name": "CrystalElemental",
"maxCount": 4,
"probability": 100
},
{
"name": "SkitteringHopper",
"maxCount": 4,
"probability": 100
},
{
"name": "Bird",
"maxCount": 4,
"probability": 100
},
{
"name": "Hind",
"maxCount": 3,
"probability": 100
},
{
"name": "GreatHart",
"maxCount": 1,
"probability": 100
},
{
"name": "Rabbit",
"maxCount": 4,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "5a950bac-ad86-44ce-9c3f-b26ac67b1f63",
"name": "Spawner (2402)",
"location": [920, 356, -85],
"location": [
920,
356,
-85
],
"map": "Malas",
"count": 20,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 60,
"spawnBounds": {
"x1": 860,
"y1": 296,
"z1": -128,
"x2": 981,
"y2": 417,
"z2": 128
},
"walkingRange": 70,
"entries": [
{ "name": "CrystalElemental", "maxCount": 4, "probability": 100 },
{ "name": "SkitteringHopper", "maxCount": 4, "probability": 100 },
{ "name": "Bird", "maxCount": 4, "probability": 100 },
{ "name": "Hind", "maxCount": 3, "probability": 100 },
{ "name": "GreatHart", "maxCount": 1, "probability": 100 },
{ "name": "Rabbit", "maxCount": 4, "probability": 100 }
{
"name": "CrystalElemental",
"maxCount": 4,
"probability": 100
},
{
"name": "SkitteringHopper",
"maxCount": 4,
"probability": 100
},
{
"name": "Bird",
"maxCount": 4,
"probability": 100
},
{
"name": "Hind",
"maxCount": 3,
"probability": 100
},
{
"name": "GreatHart",
"maxCount": 1,
"probability": 100
},
{
"name": "Rabbit",
"maxCount": 4,
"probability": 100
}
]
}
]

File diff suppressed because it is too large Load diff

View file

@ -1,21 +1,48 @@
[
[
{
"type": "Spawner",
"$type": "Spawner",
"guid": "706b7616-e5d6-465d-9f4f-3094eda8a29f",
"name": "Spawner (2405)",
"location": [1051, 1434, -85],
"location": [
1051,
1434,
-85
],
"map": "Malas",
"count": 4,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"spawnBounds": {
"x1": 1051,
"y1": 1434,
"z1": -85,
"x2": 1052,
"y2": 1435,
"z2": -85
},
"walkingRange": 5,
"entries": [
{ "name": "TavernKeeper", "maxCount": 1, "probability": 100 },
{ "name": "Waiter", "maxCount": 1, "probability": 100 },
{ "name": "Cook", "maxCount": 1, "probability": 100 },
{ "name": "Barkeeper", "maxCount": 1, "probability": 100 }
{
"name": "TavernKeeper",
"maxCount": 1,
"probability": 100
},
{
"name": "Waiter",
"maxCount": 1,
"probability": 100
},
{
"name": "Cook",
"maxCount": 1,
"probability": 100
},
{
"name": "Barkeeper",
"maxCount": 1,
"probability": 100
}
]
}
]

View file

@ -1,92 +1,207 @@
[
[
{
"type": "Spawner",
"$type": "Spawner",
"guid": "4e6fb0ca-fe70-4eef-84e7-841ecf8dc448",
"name": "Spawner (2505)",
"location": [926, 145, 49],
"location": [
926,
145,
49
],
"map": "Tokuno",
"count": 8,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 30,
"spawnBounds": {
"x1": 896,
"y1": 115,
"z1": -128,
"x2": 957,
"y2": 176,
"z2": 128
},
"walkingRange": 30,
"entries": [
{ "name": "PolarBear", "maxCount": 8, "probability": 100 },
{ "name": "Walrus", "maxCount": 8, "probability": 100 },
{ "name": "SnowLeopard", "maxCount": 8, "probability": 100 }
{
"name": "PolarBear",
"maxCount": 8,
"probability": 100
},
{
"name": "Walrus",
"maxCount": 8,
"probability": 100
},
{
"name": "SnowLeopard",
"maxCount": 8,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "ebe89f8e-f0ac-4a42-9b01-f7fc624c4bd4",
"name": "Spawner (2505)",
"location": [879, 128, 44],
"location": [
879,
128,
44
],
"map": "Tokuno",
"count": 8,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 30,
"spawnBounds": {
"x1": 849,
"y1": 98,
"z1": -128,
"x2": 910,
"y2": 159,
"z2": 128
},
"walkingRange": 30,
"entries": [
{ "name": "PolarBear", "maxCount": 8, "probability": 100 },
{ "name": "Walrus", "maxCount": 8, "probability": 100 },
{ "name": "SnowLeopard", "maxCount": 8, "probability": 100 }
{
"name": "PolarBear",
"maxCount": 8,
"probability": 100
},
{
"name": "Walrus",
"maxCount": 8,
"probability": 100
},
{
"name": "SnowLeopard",
"maxCount": 8,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "c4dd55c7-4108-4f31-897c-f563f1639e2b",
"name": "Spawner (2505)",
"location": [914, 55, 36],
"location": [
914,
55,
36
],
"map": "Tokuno",
"count": 8,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 30,
"spawnBounds": {
"x1": 884,
"y1": 25,
"z1": -128,
"x2": 945,
"y2": 86,
"z2": 128
},
"walkingRange": 30,
"entries": [
{ "name": "PolarBear", "maxCount": 8, "probability": 100 },
{ "name": "Walrus", "maxCount": 8, "probability": 100 },
{ "name": "SnowLeopard", "maxCount": 8, "probability": 100 }
{
"name": "PolarBear",
"maxCount": 8,
"probability": 100
},
{
"name": "Walrus",
"maxCount": 8,
"probability": 100
},
{
"name": "SnowLeopard",
"maxCount": 8,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "f0063c43-6b87-44af-9255-a10aa29f60f0",
"name": "Spawner (2505)",
"location": [947, 103, 46],
"location": [
947,
103,
46
],
"map": "Tokuno",
"count": 8,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 30,
"spawnBounds": {
"x1": 917,
"y1": 73,
"z1": -128,
"x2": 978,
"y2": 134,
"z2": 128
},
"walkingRange": 30,
"entries": [
{ "name": "PolarBear", "maxCount": 8, "probability": 100 },
{ "name": "Walrus", "maxCount": 8, "probability": 100 },
{ "name": "SnowLeopard", "maxCount": 8, "probability": 100 }
{
"name": "PolarBear",
"maxCount": 8,
"probability": 100
},
{
"name": "Walrus",
"maxCount": 8,
"probability": 100
},
{
"name": "SnowLeopard",
"maxCount": 8,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "c871b42a-1409-4899-a2fe-23299cd6c4ee",
"name": "Spawner (2505)",
"location": [976, 144, 35],
"location": [
976,
144,
35
],
"map": "Tokuno",
"count": 8,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 30,
"spawnBounds": {
"x1": 946,
"y1": 114,
"z1": -128,
"x2": 1007,
"y2": 175,
"z2": 128
},
"walkingRange": 30,
"entries": [
{ "name": "PolarBear", "maxCount": 8, "probability": 100 },
{ "name": "Walrus", "maxCount": 8, "probability": 100 },
{ "name": "SnowLeopard", "maxCount": 8, "probability": 100 }
{
"name": "PolarBear",
"maxCount": 8,
"probability": 100
},
{
"name": "Walrus",
"maxCount": 8,
"probability": 100
},
{
"name": "SnowLeopard",
"maxCount": 8,
"probability": 100
}
]
}
]

View file

@ -1,189 +1,496 @@
[
[
{
"type": "Spawner",
"$type": "Spawner",
"guid": "949f3b33-3f72-4065-b212-a15495e305d6",
"name": "Spawner (2113)",
"location": [3619, 2814, 21],
"location": [
3619,
2814,
21
],
"map": "Trammel",
"count": 17,
"minDelay": "01:00:00",
"maxDelay": "01:00:00",
"team": 0,
"homeRange": 50,
"spawnBounds": {
"x1": 3569,
"y1": 2764,
"z1": -128,
"x2": 3670,
"y2": 2865,
"z2": 128
},
"walkingRange": 50,
"entries": [
{ "name": "HordeMinion", "maxCount": 17, "probability": 100 }
{
"name": "HordeMinion",
"maxCount": 17,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "b4555e77-ee2f-44d0-b85b-d7d6f26612ef",
"name": "Spawner (2113)",
"location": [3619, 2814, 21],
"location": [
3619,
2814,
21
],
"map": "Trammel",
"count": 17,
"minDelay": "01:00:00",
"maxDelay": "01:00:00",
"team": 0,
"homeRange": 50,
"spawnBounds": {
"x1": 3569,
"y1": 2764,
"z1": -128,
"x2": 3670,
"y2": 2865,
"z2": 128
},
"walkingRange": 50,
"entries": [
{ "name": "Mongbat", "maxCount": 17, "probability": 100 }
{
"name": "Mongbat",
"maxCount": 17,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "8cd18e64-2c1c-4853-b82e-8842b4b71dcd",
"name": "Spawner (2113)",
"location": [3485, 2595, 12],
"location": [
3485,
2595,
12
],
"map": "Trammel",
"count": 3,
"minDelay": "01:00:00",
"maxDelay": "01:00:00",
"team": 0,
"homeRange": 30,
"spawnBounds": {
"x1": 3455,
"y1": 2565,
"z1": -128,
"x2": 3516,
"y2": 2626,
"z2": 128
},
"walkingRange": 30,
"entries": [
{ "name": "Brigand", "maxCount": 3, "probability": 100 },
{ "name": "Harpy", "maxCount": 3, "probability": 100 },
{ "name": "Lizardman", "maxCount": 3, "probability": 100 },
{ "name": "OrcishMage", "maxCount": 3, "probability": 100 },
{ "name": "Orc", "maxCount": 3, "probability": 100 },
{ "name": "Ratman", "maxCount": 3, "probability": 100 },
{ "name": "Spectre", "maxCount": 3, "probability": 100 },
{ "name": "Troll", "maxCount": 3, "probability": 100 }
{
"name": "Brigand",
"maxCount": 3,
"probability": 100
},
{
"name": "Harpy",
"maxCount": 3,
"probability": 100
},
{
"name": "Lizardman",
"maxCount": 3,
"probability": 100
},
{
"name": "OrcishMage",
"maxCount": 3,
"probability": 100
},
{
"name": "Orc",
"maxCount": 3,
"probability": 100
},
{
"name": "Ratman",
"maxCount": 3,
"probability": 100
},
{
"name": "Spectre",
"maxCount": 3,
"probability": 100
},
{
"name": "Troll",
"maxCount": 3,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "c08f91a3-eb9d-464c-96ce-d70f6c5a8fc4",
"name": "Spawner (2113)",
"location": [3446, 2741, 49],
"location": [
3446,
2741,
49
],
"map": "Trammel",
"count": 7,
"minDelay": "01:00:00",
"maxDelay": "01:00:00",
"team": 0,
"homeRange": 50,
"spawnBounds": {
"x1": 3396,
"y1": 2691,
"z1": -128,
"x2": 3497,
"y2": 2792,
"z2": 128
},
"walkingRange": 50,
"entries": [
{ "name": "Brigand", "maxCount": 7, "probability": 100 },
{ "name": "Harpy", "maxCount": 7, "probability": 100 },
{ "name": "Lizardman", "maxCount": 7, "probability": 100 },
{ "name": "OrcishMage", "maxCount": 7, "probability": 100 },
{ "name": "Orc", "maxCount": 7, "probability": 100 },
{ "name": "Ratman", "maxCount": 7, "probability": 100 },
{ "name": "Spectre", "maxCount": 7, "probability": 100 },
{ "name": "Troll", "maxCount": 7, "probability": 100 }
{
"name": "Brigand",
"maxCount": 7,
"probability": 100
},
{
"name": "Harpy",
"maxCount": 7,
"probability": 100
},
{
"name": "Lizardman",
"maxCount": 7,
"probability": 100
},
{
"name": "OrcishMage",
"maxCount": 7,
"probability": 100
},
{
"name": "Orc",
"maxCount": 7,
"probability": 100
},
{
"name": "Ratman",
"maxCount": 7,
"probability": 100
},
{
"name": "Spectre",
"maxCount": 7,
"probability": 100
},
{
"name": "Troll",
"maxCount": 7,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "0111020b-4ccf-45e7-bfbe-8a4f4fbeedad",
"name": "Spawner (2113)",
"location": [3459, 2655, 9],
"location": [
3459,
2655,
9
],
"map": "Trammel",
"count": 3,
"minDelay": "01:00:00",
"maxDelay": "01:00:00",
"team": 0,
"homeRange": 30,
"spawnBounds": {
"x1": 3429,
"y1": 2625,
"z1": -128,
"x2": 3490,
"y2": 2686,
"z2": 128
},
"walkingRange": 30,
"entries": [
{ "name": "Brigand", "maxCount": 3, "probability": 100 },
{ "name": "Harpy", "maxCount": 3, "probability": 100 },
{ "name": "Lizardman", "maxCount": 3, "probability": 100 },
{ "name": "OrcishMage", "maxCount": 3, "probability": 100 },
{ "name": "Orc", "maxCount": 3, "probability": 100 },
{ "name": "Ratman", "maxCount": 3, "probability": 100 },
{ "name": "Spectre", "maxCount": 3, "probability": 100 },
{ "name": "Troll", "maxCount": 3, "probability": 100 }
{
"name": "Brigand",
"maxCount": 3,
"probability": 100
},
{
"name": "Harpy",
"maxCount": 3,
"probability": 100
},
{
"name": "Lizardman",
"maxCount": 3,
"probability": 100
},
{
"name": "OrcishMage",
"maxCount": 3,
"probability": 100
},
{
"name": "Orc",
"maxCount": 3,
"probability": 100
},
{
"name": "Ratman",
"maxCount": 3,
"probability": 100
},
{
"name": "Spectre",
"maxCount": 3,
"probability": 100
},
{
"name": "Troll",
"maxCount": 3,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "ed918ae7-13cc-45da-a9ee-166d198bb83f",
"name": "Spawner (2113)",
"location": [3379, 2693, 35],
"location": [
3379,
2693,
35
],
"map": "Trammel",
"count": 3,
"minDelay": "01:00:00",
"maxDelay": "01:00:00",
"team": 0,
"homeRange": 30,
"spawnBounds": {
"x1": 3349,
"y1": 2663,
"z1": -128,
"x2": 3410,
"y2": 2724,
"z2": 128
},
"walkingRange": 30,
"entries": [
{ "name": "Brigand", "maxCount": 3, "probability": 100 },
{ "name": "Harpy", "maxCount": 3, "probability": 100 },
{ "name": "Lizardman", "maxCount": 3, "probability": 100 },
{ "name": "OrcishMage", "maxCount": 3, "probability": 100 },
{ "name": "Orc", "maxCount": 3, "probability": 100 },
{ "name": "Ratman", "maxCount": 3, "probability": 100 },
{ "name": "Spectre", "maxCount": 3, "probability": 100 },
{ "name": "Troll", "maxCount": 3, "probability": 100 }
{
"name": "Brigand",
"maxCount": 3,
"probability": 100
},
{
"name": "Harpy",
"maxCount": 3,
"probability": 100
},
{
"name": "Lizardman",
"maxCount": 3,
"probability": 100
},
{
"name": "OrcishMage",
"maxCount": 3,
"probability": 100
},
{
"name": "Orc",
"maxCount": 3,
"probability": 100
},
{
"name": "Ratman",
"maxCount": 3,
"probability": 100
},
{
"name": "Spectre",
"maxCount": 3,
"probability": 100
},
{
"name": "Troll",
"maxCount": 3,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "63c48500-e80c-4662-a58d-b32b2591f94d",
"name": "Spawner (2113)",
"location": [3411, 2592, 44],
"location": [
3411,
2592,
44
],
"map": "Trammel",
"count": 6,
"minDelay": "01:00:00",
"maxDelay": "01:00:00",
"team": 0,
"homeRange": 40,
"spawnBounds": {
"x1": 3371,
"y1": 2552,
"z1": -128,
"x2": 3452,
"y2": 2633,
"z2": 128
},
"walkingRange": 40,
"entries": [
{ "name": "Brigand", "maxCount": 6, "probability": 100 },
{ "name": "Harpy", "maxCount": 6, "probability": 100 },
{ "name": "Lizardman", "maxCount": 6, "probability": 100 },
{ "name": "OrcishMage", "maxCount": 6, "probability": 100 },
{ "name": "Orc", "maxCount": 6, "probability": 100 },
{ "name": "Ratman", "maxCount": 6, "probability": 100 },
{ "name": "Spectre", "maxCount": 6, "probability": 100 },
{ "name": "Troll", "maxCount": 6, "probability": 100 }
{
"name": "Brigand",
"maxCount": 6,
"probability": 100
},
{
"name": "Harpy",
"maxCount": 6,
"probability": 100
},
{
"name": "Lizardman",
"maxCount": 6,
"probability": 100
},
{
"name": "OrcishMage",
"maxCount": 6,
"probability": 100
},
{
"name": "Orc",
"maxCount": 6,
"probability": 100
},
{
"name": "Ratman",
"maxCount": 6,
"probability": 100
},
{
"name": "Spectre",
"maxCount": 6,
"probability": 100
},
{
"name": "Troll",
"maxCount": 6,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "8dc26593-aecf-4d5c-97c6-d4d11e8411dc",
"name": "Spawner (2113)",
"location": [3464, 2503, 49],
"location": [
3464,
2503,
49
],
"map": "Trammel",
"count": 7,
"minDelay": "01:00:00",
"maxDelay": "01:00:00",
"team": 0,
"homeRange": 50,
"spawnBounds": {
"x1": 3414,
"y1": 2453,
"z1": -128,
"x2": 3515,
"y2": 2554,
"z2": 128
},
"walkingRange": 50,
"entries": [
{ "name": "Brigand", "maxCount": 7, "probability": 100 },
{ "name": "Harpy", "maxCount": 7, "probability": 100 },
{ "name": "Lizardman", "maxCount": 7, "probability": 100 },
{ "name": "OrcishMage", "maxCount": 7, "probability": 100 },
{ "name": "Orc", "maxCount": 7, "probability": 100 },
{ "name": "Ratman", "maxCount": 7, "probability": 100 },
{ "name": "Spectre", "maxCount": 7, "probability": 100 },
{ "name": "Troll", "maxCount": 7, "probability": 100 }
{
"name": "Brigand",
"maxCount": 7,
"probability": 100
},
{
"name": "Harpy",
"maxCount": 7,
"probability": 100
},
{
"name": "Lizardman",
"maxCount": 7,
"probability": 100
},
{
"name": "OrcishMage",
"maxCount": 7,
"probability": 100
},
{
"name": "Orc",
"maxCount": 7,
"probability": 100
},
{
"name": "Ratman",
"maxCount": 7,
"probability": 100
},
{
"name": "Spectre",
"maxCount": 7,
"probability": 100
},
{
"name": "Troll",
"maxCount": 7,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "2733ca83-6c31-48d5-b360-eedf6f885beb",
"name": "Spawner (2113)",
"location": [3602, 2815, 28],
"location": [
3602,
2815,
28
],
"map": "Trammel",
"count": 1,
"minDelay": "00:45:00",
"maxDelay": "01:00:00",
"team": 0,
"homeRange": 1,
"spawnBounds": {
"x1": 3601,
"y1": 2814,
"z1": -128,
"x2": 3604,
"y2": 2817,
"z2": 128
},
"walkingRange": 10,
"entries": [
{ "name": "OrcCamp", "maxCount": 1, "probability": 100 },
{ "name": "RatCamp", "maxCount": 1, "probability": 100 }
{
"name": "OrcCamp",
"maxCount": 1,
"probability": 100
},
{
"name": "RatCamp",
"maxCount": 1,
"probability": 100
}
]
}
]

View file

@ -1,56 +1,125 @@
[
[
{
"type": "Spawner",
"$type": "Spawner",
"guid": "1ddbb313-bf13-4c9e-9116-3e67c835fbb9",
"name": "Spawner (2122)",
"location": [3674, 2624, 0],
"location": [
3674,
2624,
0
],
"map": "Trammel",
"count": 40,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 80,
"spawnBounds": {
"x1": 3594,
"y1": 2544,
"z1": -128,
"x2": 3755,
"y2": 2705,
"z2": 128
},
"walkingRange": 80,
"entries": [
{ "name": "Bird", "maxCount": 10, "probability": 100 },
{ "name": "Cat", "maxCount": 10, "probability": 100 },
{ "name": "Dog", "maxCount": 10, "probability": 100 },
{ "name": "Rat", "maxCount": 10, "probability": 100 }
{
"name": "Bird",
"maxCount": 10,
"probability": 100
},
{
"name": "Cat",
"maxCount": 10,
"probability": 100
},
{
"name": "Dog",
"maxCount": 10,
"probability": 100
},
{
"name": "Rat",
"maxCount": 10,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "988e7381-2448-4d37-b763-714f1078540b",
"name": "Spawner (2122)",
"location": [3726, 2647, 0],
"location": [
3726,
2647,
0
],
"map": "Trammel",
"count": 10,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 25,
"spawnBounds": {
"x1": 3701,
"y1": 2622,
"z1": -128,
"x2": 3752,
"y2": 2673,
"z2": 128
},
"walkingRange": 25,
"entries": [
{ "name": "Chicken", "maxCount": 10, "probability": 100 }
{
"name": "Chicken",
"maxCount": 10,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "b52ecefe-4f07-4bcd-9870-d01a0a1a41be",
"name": "Spawner (2122)",
"location": [3652, 2511, 0],
"location": [
3652,
2511,
0
],
"map": "Trammel",
"count": 16,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 50,
"spawnBounds": {
"x1": 3602,
"y1": 2461,
"z1": -128,
"x2": 3703,
"y2": 2562,
"z2": 128
},
"walkingRange": 50,
"entries": [
{ "name": "Bird", "maxCount": 4, "probability": 100 },
{ "name": "Cat", "maxCount": 4, "probability": 100 },
{ "name": "Dog", "maxCount": 4, "probability": 100 },
{ "name": "Rat", "maxCount": 4, "probability": 100 }
{
"name": "Bird",
"maxCount": 4,
"probability": 100
},
{
"name": "Cat",
"maxCount": 4,
"probability": 100
},
{
"name": "Dog",
"maxCount": 4,
"probability": 100
},
{
"name": "Rat",
"maxCount": 4,
"probability": 100
}
]
}
]

View file

@ -1,354 +1,733 @@
[
[
{
"type": "Spawner",
"$type": "Spawner",
"guid": "011fc0f3-9e98-44ed-ab77-e0669247aacf",
"name": "Spawner (2125)",
"location": [3645, 2617, 0],
"location": [
3645,
2617,
0
],
"map": "Trammel",
"count": 2,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"spawnBounds": {
"x1": 3645,
"y1": 2617,
"z1": 0,
"x2": 3646,
"y2": 2618,
"z2": 0
},
"walkingRange": 5,
"entries": [
{ "name": "Blacksmith", "maxCount": 1, "probability": 100 },
{ "name": "BlacksmithGuildmaster", "maxCount": 1, "probability": 100 }
{
"name": "Blacksmith",
"maxCount": 1,
"probability": 100
},
{
"name": "BlacksmithGuildmaster",
"maxCount": 1,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "19ecf802-ce51-4125-b13a-efb0afd02cbf",
"name": "Spawner (2125)",
"location": [3667, 2506, 0],
"location": [
3667,
2506,
0
],
"map": "Trammel",
"count": 2,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"spawnBounds": {
"x1": 3667,
"y1": 2506,
"z1": 0,
"x2": 3668,
"y2": 2507,
"z2": 0
},
"walkingRange": 5,
"entries": [
{ "name": "Tinker", "maxCount": 1, "probability": 100 },
{ "name": "TinkerGuildmaster", "maxCount": 1, "probability": 100 }
{
"name": "Tinker",
"maxCount": 1,
"probability": 100
},
{
"name": "TinkerGuildmaster",
"maxCount": 1,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "56140e6f-fc52-49b6-bf74-fe782454a95a",
"name": "Spawner (2125)",
"location": [3655, 2665, -2],
"location": [
3655,
2665,
-2
],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"spawnBounds": {
"x1": 3655,
"y1": 2665,
"z1": -2,
"x2": 3656,
"y2": 2666,
"z2": -2
},
"walkingRange": 5,
"entries": [
{ "name": "Fisherman", "maxCount": 1, "probability": 100 }
{
"name": "Fisherman",
"maxCount": 1,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "625f9122-d16c-4e4e-9d33-bfd367428140",
"name": "Spawner (2125)",
"location": [3615, 2476, 0],
"location": [
3615,
2476,
0
],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"spawnBounds": {
"x1": 3615,
"y1": 2476,
"z1": 0,
"x2": 3616,
"y2": 2477,
"z2": 0
},
"walkingRange": 5,
"entries": [
{ "name": "Scribe", "maxCount": 1, "probability": 100 }
{
"name": "Scribe",
"maxCount": 1,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "d6745c4f-710a-4fc4-b39a-bc54123feac8",
"name": "Spawner (2125)",
"location": [3693, 2509, 0],
"location": [
3693,
2509,
0
],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"spawnBounds": {
"x1": 3693,
"y1": 2509,
"z1": 0,
"x2": 3694,
"y2": 2510,
"z2": 0
},
"walkingRange": 5,
"entries": [
{ "name": "ThiefGuildmaster", "maxCount": 1, "probability": 100 }
{
"name": "ThiefGuildmaster",
"maxCount": 1,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "43797a84-5e69-45b3-87b6-122e033083e1",
"name": "Spawner (2125)",
"location": [3665, 2581, 0],
"location": [
3665,
2581,
0
],
"map": "Trammel",
"count": 2,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"spawnBounds": {
"x1": 3665,
"y1": 2581,
"z1": 0,
"x2": 3666,
"y2": 2582,
"z2": 0
},
"walkingRange": 5,
"entries": [
{ "name": "Healer", "maxCount": 1, "probability": 100 },
{ "name": "HealerGuildmaster", "maxCount": 1, "probability": 100 }
{
"name": "Healer",
"maxCount": 1,
"probability": 100
},
{
"name": "HealerGuildmaster",
"maxCount": 1,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "e022aca5-1733-4cbc-b444-2bc16d30cf13",
"name": "Spawner (2125)",
"location": [3673, 2595, 0],
"location": [
3673,
2595,
0
],
"map": "Trammel",
"count": 2,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"spawnBounds": {
"x1": 3673,
"y1": 2595,
"z1": 0,
"x2": 3674,
"y2": 2596,
"z2": 0
},
"walkingRange": 5,
"entries": [
{ "name": "Provisioner", "maxCount": 1, "probability": 100 },
{ "name": "Cobbler", "maxCount": 1, "probability": 100 }
{
"name": "Provisioner",
"maxCount": 1,
"probability": 100
},
{
"name": "Cobbler",
"maxCount": 1,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "ca72a646-61b9-41a7-988f-8bcf55f63745",
"name": "Spawner (2125)",
"location": [3632, 2573, 0],
"location": [
3632,
2573,
0
],
"map": "Trammel",
"count": 3,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"spawnBounds": {
"x1": 3632,
"y1": 2573,
"z1": 0,
"x2": 3633,
"y2": 2574,
"z2": 0
},
"walkingRange": 5,
"entries": [
{ "name": "Mage", "maxCount": 1, "probability": 100 },
{ "name": "Alchemist", "maxCount": 1, "probability": 100 },
{ "name": "MageGuildmaster", "maxCount": 1, "probability": 100 }
{
"name": "Mage",
"maxCount": 1,
"probability": 100
},
{
"name": "Alchemist",
"maxCount": 1,
"probability": 100
},
{
"name": "MageGuildmaster",
"maxCount": 1,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "6ed9b012-4871-4674-a39c-c71f94ca6bc0",
"name": "Spawner (2125)",
"location": [3633, 2635, 0],
"location": [
3633,
2635,
0
],
"map": "Trammel",
"count": 2,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"spawnBounds": {
"x1": 3633,
"y1": 2635,
"z1": 0,
"x2": 3634,
"y2": 2636,
"z2": 0
},
"walkingRange": 5,
"entries": [
{ "name": "Shipwright", "maxCount": 1, "probability": 100 },
{ "name": "Mapmaker", "maxCount": 1, "probability": 100 }
{
"name": "Shipwright",
"maxCount": 1,
"probability": 100
},
{
"name": "Mapmaker",
"maxCount": 1,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "64838953-eca4-4076-9c4a-6b8d53dc6da4",
"name": "Spawner (2125)",
"location": [3754, 2704, 40],
"location": [
3754,
2704,
40
],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"spawnBounds": {
"x1": 3754,
"y1": 2704,
"z1": 40,
"x2": 3755,
"y2": 2705,
"z2": 40
},
"walkingRange": 5,
"entries": [
{ "name": "MinerGuildmaster", "maxCount": 1, "probability": 100 }
{
"name": "MinerGuildmaster",
"maxCount": 1,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "4391a5e3-0060-49e3-bb90-6bdcbf56f863",
"name": "Spawner (2125)",
"location": [3714, 2651, 20],
"location": [
3714,
2651,
20
],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"spawnBounds": {
"x1": 3714,
"y1": 2651,
"z1": 20,
"x2": 3715,
"y2": 2652,
"z2": 20
},
"walkingRange": 5,
"entries": [
{ "name": "Butcher", "maxCount": 1, "probability": 100 }
{
"name": "Butcher",
"maxCount": 1,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "85b91e45-a5ec-46df-9286-89b0f4a602a4",
"name": "Spawner (2125)",
"location": [3740, 2692, 40],
"location": [
3740,
2692,
40
],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"spawnBounds": {
"x1": 3740,
"y1": 2692,
"z1": 40,
"x2": 3741,
"y2": 2693,
"z2": 40
},
"walkingRange": 5,
"entries": [
{ "name": "WarriorGuildmaster", "maxCount": 1, "probability": 100 }
{
"name": "WarriorGuildmaster",
"maxCount": 1,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "5156ee52-c3e4-42b0-ac5e-8d84b49cacb8",
"name": "Spawner (2125)",
"location": [3620, 2617, 0],
"location": [
3620,
2617,
0
],
"map": "Trammel",
"count": 2,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"spawnBounds": {
"x1": 3620,
"y1": 2617,
"z1": 0,
"x2": 3621,
"y2": 2618,
"z2": 0
},
"walkingRange": 5,
"entries": [
{ "name": "Banker", "maxCount": 1, "probability": 100 },
{ "name": "Minter", "maxCount": 1, "probability": 100 }
{
"name": "Banker",
"maxCount": 1,
"probability": 100
},
{
"name": "Minter",
"maxCount": 1,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "d952003f-99e5-4cf4-bea7-06265ffd2dfb",
"name": "Spawner (2125)",
"location": [3628, 2540, 0],
"location": [
3628,
2540,
0
],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"spawnBounds": {
"x1": 3628,
"y1": 2540,
"z1": 0,
"x2": 3629,
"y2": 2541,
"z2": 0
},
"walkingRange": 5,
"entries": [
{ "name": "Baker", "maxCount": 1, "probability": 100 }
{
"name": "Baker",
"maxCount": 1,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "20e39658-8433-437e-b7fc-d2ea491189f6",
"name": "Spawner (2125)",
"location": [3687, 2477, 0],
"location": [
3687,
2477,
0
],
"map": "Trammel",
"count": 3,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"spawnBounds": {
"x1": 3687,
"y1": 2477,
"z1": 0,
"x2": 3688,
"y2": 2478,
"z2": 0
},
"walkingRange": 5,
"entries": [
{ "name": "Tailor", "maxCount": 1, "probability": 100 },
{ "name": "Weaver", "maxCount": 1, "probability": 100 },
{ "name": "TailorGuildmaster", "maxCount": 1, "probability": 100 }
{
"name": "Tailor",
"maxCount": 1,
"probability": 100
},
{
"name": "Weaver",
"maxCount": 1,
"probability": 100
},
{
"name": "TailorGuildmaster",
"maxCount": 1,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "0ef8d67e-4e4c-4a53-ab5e-2474e573f096",
"name": "Spawner (2125)",
"location": [3668, 2652, 0],
"location": [
3668,
2652,
0
],
"map": "Trammel",
"count": 4,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"spawnBounds": {
"x1": 3668,
"y1": 2652,
"z1": 0,
"x2": 3669,
"y2": 2653,
"z2": 0
},
"walkingRange": 5,
"entries": [
{ "name": "TavernKeeper", "maxCount": 1, "probability": 100 },
{ "name": "Waiter", "maxCount": 1, "probability": 100 },
{ "name": "Cook", "maxCount": 1, "probability": 100 },
{ "name": "Barkeeper", "maxCount": 1, "probability": 100 }
{
"name": "TavernKeeper",
"maxCount": 1,
"probability": 100
},
{
"name": "Waiter",
"maxCount": 1,
"probability": 100
},
{
"name": "Cook",
"maxCount": 1,
"probability": 100
},
{
"name": "Barkeeper",
"maxCount": 1,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "dfa29c8c-8888-4752-a063-f8161f01f569",
"name": "Spawner (2125)",
"location": [3661, 2531, 0],
"location": [
3661,
2531,
0
],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"spawnBounds": {
"x1": 3661,
"y1": 2531,
"z1": 0,
"x2": 3662,
"y2": 2532,
"z2": 0
},
"walkingRange": 5,
"entries": [
{ "name": "BardGuildmaster", "maxCount": 1, "probability": 100 }
{
"name": "BardGuildmaster",
"maxCount": 1,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "d753713d-6bf9-47fe-b4f1-58b6f304ad5b",
"name": "Spawner (2125)",
"location": [3594, 2595, 0],
"location": [
3594,
2595,
0
],
"map": "Trammel",
"count": 2,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"spawnBounds": {
"x1": 3594,
"y1": 2595,
"z1": 0,
"x2": 3595,
"y2": 2596,
"z2": 0
},
"walkingRange": 5,
"entries": [
{ "name": "Blacksmith", "maxCount": 1, "probability": 100 },
{ "name": "BlacksmithGuildmaster", "maxCount": 1, "probability": 100 }
{
"name": "Blacksmith",
"maxCount": 1,
"probability": 100
},
{
"name": "BlacksmithGuildmaster",
"maxCount": 1,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "98ef6eb6-72ea-43a5-b2ea-8c153f6135d3",
"name": "Spawner (2125)",
"location": [3671, 2615, 0],
"location": [
3671,
2615,
0
],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"spawnBounds": {
"x1": 3671,
"y1": 2615,
"z1": 0,
"x2": 3672,
"y2": 2616,
"z2": 0
},
"walkingRange": 5,
"entries": [
{ "name": "InnKeeper", "maxCount": 1, "probability": 100 }
{
"name": "InnKeeper",
"maxCount": 1,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "5294b511-5759-452f-8009-94157b248961",
"name": "Spawner (2125)",
"location": [3745, 2585, 40],
"location": [
3745,
2585,
40
],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"spawnBounds": {
"x1": 3745,
"y1": 2585,
"z1": 40,
"x2": 3746,
"y2": 2586,
"z2": 40
},
"walkingRange": 5,
"entries": [
{ "name": "Bowyer", "maxCount": 1, "probability": 100 }
{
"name": "Bowyer",
"maxCount": 1,
"probability": 100
}
]
},
{
"type": "Spawner",
"$type": "Spawner",
"guid": "bd1d8c55-7a8a-465a-a8ff-f47adad641c6",
"name": "Spawner (2125)",
"location": [3642, 2504, 0],
"location": [
3642,
2504,
0
],
"map": "Trammel",
"count": 3,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"spawnBounds": {
"x1": 3642,
"y1": 2504,
"z1": 0,
"x2": 3643,
"y2": 2505,
"z2": 0
},
"walkingRange": 5,
"entries": [
{ "name": "Carpenter", "maxCount": 1, "probability": 100 },
{ "name": "Architect", "maxCount": 1, "probability": 100 },
{ "name": "RealEstateBroker", "maxCount": 1, "probability": 100 }
{
"name": "Carpenter",
"maxCount": 1,
"probability": 100
},
{
"name": "Architect",
"maxCount": 1,
"probability": 100
},
{
"name": "RealEstateBroker",
"maxCount": 1,
"probability": 100
}
]
}
]

File diff suppressed because it is too large Load diff