### Additions * Adds `[exportspawners <relative json file path to distro>` * If no path is provided, it will be saved to the `Data\Spawns` folder with the current timestamp as the file name. * Supports global, facet, region, multi, and area * Fixes client disconnect for bad spawner generation command. * Moves spawner commands to their own folder. * Adds GUIDs for spawners. This allows for easy replacement during import to reduce duplication. * Allows exporting the name of the spawner. * Fixes globbing when using [generatespawners * Adds [convertpremiumspawners to convert Premium Spawners (from Neruns distro) Possibly in .NET 6 serializing JSON will be more performant using JSON nodes. ### Screenshots   
473 lines
12 KiB
JSON
473 lines
12 KiB
JSON
[
|
|
{
|
|
"type": "Spawner",
|
|
"guid": "bbead3c6-3240-42b2-913a-ebfef32db838",
|
|
"name": "Spawner (604)",
|
|
"location": [976, 3881, -42],
|
|
"map": "TerMur",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"homeRange": 0,
|
|
"walkingRange": 5,
|
|
"entries": [{ "name": "Baker", "maxCount": 1, "probability": 100 }]
|
|
},
|
|
{
|
|
"type": "Spawner",
|
|
"guid": "52458efa-1c22-4df9-b3fa-7b209f6550fc",
|
|
"name": "Spawner (604)",
|
|
"location": [1010, 3883, -42],
|
|
"map": "TerMur",
|
|
"count": 2,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"homeRange": 0,
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{ "name": "Blacksmith", "maxCount": 1, "probability": 100 },
|
|
{ "name": "BlacksmithGuildmaster", "maxCount": 1, "probability": 100 }
|
|
]
|
|
},
|
|
{
|
|
"type": "Spawner",
|
|
"guid": "79afea99-40f5-4b8f-a6fc-a9330b0dd208",
|
|
"name": "Spawner (604)",
|
|
"location": [1013, 3913, -42],
|
|
"map": "TerMur",
|
|
"count": 2,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"homeRange": 0,
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{ "name": "Healer", "maxCount": 1, "probability": 100 },
|
|
{ "name": "HealerGuildmaster", "maxCount": 1, "probability": 100 }
|
|
]
|
|
},
|
|
{
|
|
"type": "Spawner",
|
|
"guid": "540b830c-e95a-44e5-b82b-0a28346f5bcc",
|
|
"name": "Spawner (604)",
|
|
"location": [977, 3909, -42],
|
|
"map": "TerMur",
|
|
"count": 2,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"homeRange": 0,
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{ "name": "Tinker", "maxCount": 1, "probability": 100 },
|
|
{ "name": "TinkerGuildmaster", "maxCount": 1, "probability": 100 }
|
|
]
|
|
},
|
|
{
|
|
"type": "Spawner",
|
|
"guid": "9b22fdda-c0d8-4682-ad7f-b94ca5268235",
|
|
"name": "Spawner (604)",
|
|
"location": [943, 3924, -42],
|
|
"map": "TerMur",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"homeRange": 0,
|
|
"walkingRange": 5,
|
|
"entries": [{ "name": "InnKeeper", "maxCount": 1, "probability": 100 }]
|
|
},
|
|
{
|
|
"type": "Spawner",
|
|
"guid": "0191f32b-01cd-4ef5-899c-44c4f9f78d08",
|
|
"name": "Spawner (604)",
|
|
"location": [1020, 3884, -42],
|
|
"map": "TerMur",
|
|
"count": 2,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"homeRange": 0,
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{ "name": "Blacksmith", "maxCount": 1, "probability": 100 },
|
|
{ "name": "BlacksmithGuildmaster", "maxCount": 1, "probability": 100 }
|
|
]
|
|
},
|
|
{
|
|
"type": "Spawner",
|
|
"guid": "7679d194-0c0c-4a5a-bd4e-13ca15bc7739",
|
|
"name": "Spawner (604)",
|
|
"location": [740, 3466, -19],
|
|
"map": "TerMur",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"homeRange": 0,
|
|
"walkingRange": 5,
|
|
"entries": [{ "name": "InnKeeper", "maxCount": 1, "probability": 100 }]
|
|
},
|
|
{
|
|
"type": "Spawner",
|
|
"guid": "d9534d1a-92aa-4d7d-aeeb-16fda0fb12ce",
|
|
"name": "Spawner (604)",
|
|
"location": [772, 3467, -20],
|
|
"map": "TerMur",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"homeRange": 0,
|
|
"walkingRange": 5,
|
|
"entries": [{ "name": "Scribe", "maxCount": 1, "probability": 100 }]
|
|
},
|
|
{
|
|
"type": "Spawner",
|
|
"guid": "91eb1e54-cedc-4f11-b3c1-2288f9402362",
|
|
"name": "Spawner (604)",
|
|
"location": [773, 3478, -20],
|
|
"map": "TerMur",
|
|
"count": 3,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"homeRange": 0,
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{ "name": "Herbalist", "maxCount": 1, "probability": 100 },
|
|
{ "name": "Alchemist", "maxCount": 1, "probability": 100 },
|
|
{ "name": "CustomHairstylist", "maxCount": 1, "probability": 100 }
|
|
]
|
|
},
|
|
{
|
|
"type": "Spawner",
|
|
"guid": "511c4bd0-797d-4de4-b886-9e4feafdd680",
|
|
"name": "Spawner (604)",
|
|
"location": [772, 3490, -20],
|
|
"map": "TerMur",
|
|
"count": 3,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"homeRange": 0,
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{ "name": "Mage", "maxCount": 1, "probability": 100 },
|
|
{ "name": "Alchemist", "maxCount": 1, "probability": 100 },
|
|
{ "name": "MageGuildmaster", "maxCount": 1, "probability": 100 }
|
|
]
|
|
},
|
|
{
|
|
"type": "Spawner",
|
|
"guid": "8287d93c-3f09-4570-af64-17f84ad42839",
|
|
"name": "Spawner (604)",
|
|
"location": [783, 3491, -20],
|
|
"map": "TerMur",
|
|
"count": 2,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"homeRange": 0,
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{ "name": "Healer", "maxCount": 1, "probability": 100 },
|
|
{ "name": "HealerGuildmaster", "maxCount": 1, "probability": 100 }
|
|
]
|
|
},
|
|
{
|
|
"type": "Spawner",
|
|
"guid": "95c8be4a-6af5-4ab3-8b12-5f513701735c",
|
|
"name": "Spawner (604)",
|
|
"location": [797, 3494, 0],
|
|
"map": "TerMur",
|
|
"count": 2,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"homeRange": 0,
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{ "name": "Provisioner", "maxCount": 1, "probability": 100 },
|
|
{ "name": "Cobbler", "maxCount": 1, "probability": 100 }
|
|
]
|
|
},
|
|
{
|
|
"type": "Spawner",
|
|
"guid": "c57c1da9-d9b3-4499-80f2-9da49885dc3e",
|
|
"name": "Spawner (604)",
|
|
"location": [805, 3491, -20],
|
|
"map": "TerMur",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"homeRange": 0,
|
|
"walkingRange": 5,
|
|
"entries": [{ "name": "Baker", "maxCount": 1, "probability": 100 }]
|
|
},
|
|
{
|
|
"type": "Spawner",
|
|
"guid": "de774a5a-f124-43f1-8f1f-82d484dca7d2",
|
|
"name": "Spawner (604)",
|
|
"location": [817, 3456, -10],
|
|
"map": "TerMur",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"homeRange": 0,
|
|
"walkingRange": 5,
|
|
"entries": [{ "name": "Butcher", "maxCount": 1, "probability": 100 }]
|
|
},
|
|
{
|
|
"type": "Spawner",
|
|
"guid": "52598dc6-27d0-4812-870f-f3217c60aead",
|
|
"name": "Spawner (604)",
|
|
"location": [817, 3438, 0],
|
|
"map": "TerMur",
|
|
"count": 3,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"homeRange": 0,
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{ "name": "Carpenter", "maxCount": 1, "probability": 100 },
|
|
{ "name": "Architect", "maxCount": 1, "probability": 100 },
|
|
{ "name": "RealEstateBroker", "maxCount": 1, "probability": 100 }
|
|
]
|
|
},
|
|
{
|
|
"type": "Spawner",
|
|
"guid": "0379a457-b0ff-4e42-9d2d-500b10014824",
|
|
"name": "Spawner (604)",
|
|
"location": [817, 3426, 0],
|
|
"map": "TerMur",
|
|
"count": 2,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"homeRange": 0,
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{ "name": "Tinker", "maxCount": 1, "probability": 100 },
|
|
{ "name": "TinkerGuildmaster", "maxCount": 1, "probability": 100 }
|
|
]
|
|
},
|
|
{
|
|
"type": "Spawner",
|
|
"guid": "283d4190-21d7-4a1b-9646-3a5599715271",
|
|
"name": "Spawner (604)",
|
|
"location": [816, 3419, 0],
|
|
"map": "TerMur",
|
|
"count": 2,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"homeRange": 0,
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{ "name": "Blacksmith", "maxCount": 1, "probability": 100 },
|
|
{ "name": "BlacksmithGuildmaster", "maxCount": 1, "probability": 100 }
|
|
]
|
|
},
|
|
{
|
|
"type": "Spawner",
|
|
"guid": "1b9b84de-25de-40d6-b226-572521e046af",
|
|
"name": "Spawner (604)",
|
|
"location": [805, 3397, 0],
|
|
"map": "TerMur",
|
|
"count": 3,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"homeRange": 0,
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{ "name": "Tailor", "maxCount": 1, "probability": 100 },
|
|
{ "name": "Weaver", "maxCount": 1, "probability": 100 },
|
|
{ "name": "TailorGuildmaster", "maxCount": 1, "probability": 100 }
|
|
]
|
|
},
|
|
{
|
|
"type": "Spawner",
|
|
"guid": "4eadeb64-59af-4c61-8ce2-3f77532e3b42",
|
|
"name": "Spawner (604)",
|
|
"location": [804, 3387, 0],
|
|
"map": "TerMur",
|
|
"count": 2,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"homeRange": 0,
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{ "name": "Tanner", "maxCount": 1, "probability": 100 },
|
|
{ "name": "Furtrader", "maxCount": 1, "probability": 100 }
|
|
]
|
|
},
|
|
{
|
|
"type": "Spawner",
|
|
"guid": "45389869-a351-4944-9be6-ca8fdf0b095a",
|
|
"name": "Spawner (604)",
|
|
"location": [851, 3404, -20],
|
|
"map": "TerMur",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"homeRange": 0,
|
|
"walkingRange": 5,
|
|
"entries": [{ "name": "AnimalTrainer", "maxCount": 1, "probability": 100 }]
|
|
},
|
|
{
|
|
"type": "Spawner",
|
|
"guid": "c0bde07d-46c9-4eb4-ac21-0519d27e77d8",
|
|
"name": "Spawner (604)",
|
|
"location": [833, 3439, -20],
|
|
"map": "TerMur",
|
|
"count": 2,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"homeRange": 0,
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{ "name": "Banker", "maxCount": 1, "probability": 100 },
|
|
{ "name": "Minter", "maxCount": 1, "probability": 100 }
|
|
]
|
|
},
|
|
{
|
|
"type": "Spawner",
|
|
"guid": "d80aeb77-8d4f-42c0-a8e6-812e6e7a0b8c",
|
|
"name": "Spawner (604)",
|
|
"location": [843, 3439, -20],
|
|
"map": "TerMur",
|
|
"count": 2,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"homeRange": 0,
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{ "name": "Banker", "maxCount": 1, "probability": 100 },
|
|
{ "name": "Minter", "maxCount": 1, "probability": 100 }
|
|
]
|
|
},
|
|
{
|
|
"type": "Spawner",
|
|
"guid": "2bf33c6d-4020-4d2f-852b-8c60eb2accf1",
|
|
"name": "Spawner (604)",
|
|
"location": [702, 3435, -20],
|
|
"map": "TerMur",
|
|
"count": 2,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"homeRange": 0,
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{ "name": "Tailor", "maxCount": 1, "probability": 100 },
|
|
{ "name": "Weaver", "maxCount": 1, "probability": 100 }
|
|
]
|
|
},
|
|
{
|
|
"type": "Spawner",
|
|
"guid": "afe8bc3a-c57f-4a9d-861e-27ce26fb74a1",
|
|
"name": "Spawner (604)",
|
|
"location": [727, 3425, -20],
|
|
"map": "TerMur",
|
|
"count": 2,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"homeRange": 0,
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{ "name": "Armorer", "maxCount": 1, "probability": 100 },
|
|
{ "name": "Weaponsmith", "maxCount": 1, "probability": 100 }
|
|
]
|
|
},
|
|
{
|
|
"type": "Spawner",
|
|
"guid": "48e76763-b2ac-4498-b8d7-d5b3de897ae9",
|
|
"name": "Spawner (604)",
|
|
"location": [715, 3446, -20],
|
|
"map": "TerMur",
|
|
"count": 2,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"homeRange": 0,
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{ "name": "Farmer", "maxCount": 1, "probability": 100 },
|
|
{ "name": "Farmer", "maxCount": 1, "probability": 100 }
|
|
]
|
|
},
|
|
{
|
|
"type": "Spawner",
|
|
"guid": "d4b1f7f7-1d6e-430a-b72b-1bd2e7e87d25",
|
|
"name": "Spawner (604)",
|
|
"location": [713, 3438, -20],
|
|
"map": "TerMur",
|
|
"count": 3,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"homeRange": 0,
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{ "name": "TavernKeeper", "maxCount": 1, "probability": 100 },
|
|
{ "name": "Waiter", "maxCount": 1, "probability": 100 },
|
|
{ "name": "Barkeeper", "maxCount": 1, "probability": 100 }
|
|
]
|
|
},
|
|
{
|
|
"type": "Spawner",
|
|
"guid": "66ee84bd-77b3-4e7b-b312-770c94944a06",
|
|
"name": "Spawner (604)",
|
|
"location": [794, 3446, -10],
|
|
"map": "TerMur",
|
|
"count": 2,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"homeRange": 0,
|
|
"walkingRange": 5,
|
|
"entries": [
|
|
{ "name": "Farmer", "maxCount": 1, "probability": 100 },
|
|
{ "name": "Farmer", "maxCount": 1, "probability": 100 }
|
|
]
|
|
},
|
|
{
|
|
"type": "Spawner",
|
|
"guid": "ae62da8c-b213-4eaf-b9e6-a67abd9e9355",
|
|
"name": "Spawner (604)",
|
|
"location": [779, 3431, -10],
|
|
"map": "TerMur",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"homeRange": 0,
|
|
"walkingRange": 5,
|
|
"entries": [{ "name": "Jeweler", "maxCount": 1, "probability": 100 }]
|
|
},
|
|
{
|
|
"type": "Spawner",
|
|
"guid": "1317bf06-83d3-426d-9a41-6c34d68dd226",
|
|
"name": "Spawner (604)",
|
|
"location": [842, 3453, -18],
|
|
"map": "TerMur",
|
|
"count": 1,
|
|
"minDelay": "00:05:00",
|
|
"maxDelay": "00:10:00",
|
|
"team": 0,
|
|
"homeRange": 0,
|
|
"walkingRange": 4,
|
|
"entries": [{ "name": "TownCrier", "maxCount": 1, "probability": 100 }]
|
|
}
|
|
]
|