ModernUO/Distribution/Data/Spawns/post-uoml/tokuno/Vendors.json
Kamron Batman 0d1fffd9fc
fix: Fixes spawners, adds convertpremiumspawners, exportspawners, and replaces with neruns distro (#751)
### 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
![Screen_Shot_2021-08-31_at_10 20 06_PM](https://user-images.githubusercontent.com/3953314/131618495-cf7e3ae5-58e5-4f86-9d3c-3cc49906d9fc.png)
![Screen_Shot_2021-08-31_at_10 21 08_PM](https://user-images.githubusercontent.com/3953314/131618502-c39cc368-2266-47a5-9b87-e5ffa108b875.png)
![Screen_Shot_2021-08-31_at_10 13 29_PM](https://user-images.githubusercontent.com/3953314/131618512-f9807f1b-76e4-4503-989d-42324798fbf5.png)
2021-09-03 21:52:44 -07:00

673 lines
18 KiB
JSON

[
{
"type": "Spawner",
"guid": "e868aee3-a17a-466d-bee6-8d0ecb3676dd",
"name": "Spawner (504)",
"location": [668, 1254, 25],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"walkingRange": 4,
"entries": [{ "name": "BardGuildmaster", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "1b991d78-e2ca-4b84-99e2-3bfa956f3b5d",
"name": "Spawner (504)",
"location": [773, 1248, 26],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"walkingRange": 4,
"entries": [{ "name": "Blacksmith", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "d36e4ee4-14c7-42ac-a031-86bf07bf9634",
"name": "Spawner (504)",
"location": [662, 1210, 25],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"walkingRange": 4,
"entries": [{ "name": "Blacksmith", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "55a7264b-90f4-44d6-abf5-03e893091381",
"name": "Spawner (504)",
"location": [703, 1262, 25],
"map": "Tokuno",
"count": 3,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"walkingRange": 10,
"entries": [
{ "name": "Baker", "maxCount": 1, "probability": 100 },
{ "name": "Butcher", "maxCount": 1, "probability": 100 },
{ "name": "Cook", "maxCount": 1, "probability": 100 }
]
},
{
"type": "Spawner",
"guid": "0001bed9-fe45-45ee-92ba-6b93af863a70",
"name": "Spawner (504)",
"location": [669, 1266, 47],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"walkingRange": 4,
"entries": [{ "name": "Shipwright", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "4e6a81fa-8126-46f1-a826-c9bb91869cff",
"name": "Spawner (504)",
"location": [720, 1211, 25],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"walkingRange": 4,
"entries": [{ "name": "Tanner", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "817ed58a-c46c-4687-8e2a-e0bf4d738ebe",
"name": "Spawner (504)",
"location": [739, 1223, 45],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"walkingRange": 4,
"entries": [{ "name": "Carpenter", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "91973dc4-10a1-4d7b-b747-b111a0bea863",
"name": "Spawner (504)",
"location": [732, 1256, 30],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"walkingRange": 0,
"entries": [{ "name": "TownCrier", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "fc67d5ed-7b4c-4608-947e-eab152c9b53e",
"name": "Spawner (504)",
"location": [781, 1301, 26],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"walkingRange": 4,
"entries": [{ "name": "Bowyer", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "ddd07587-7a67-4ffa-a071-59d916fccfb5",
"name": "Spawner (504)",
"location": [789, 1278, 25],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"walkingRange": 4,
"entries": [{ "name": "AnimalTrainer", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "4bc0774d-a8e6-43a1-a207-ce27281ad41d",
"name": "Spawner (504)",
"location": [756, 1302, 25],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"walkingRange": 4,
"entries": [{ "name": "Armorer", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "c5b900e4-9a21-4c28-81d3-633d7bcc9fd3",
"name": "Spawner (504)",
"location": [692, 1213, 25],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"walkingRange": 4,
"entries": [{ "name": "TavernKeeper", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "af9109bc-3fdd-4159-b46b-fdc93a1dbc7a",
"name": "Spawner (504)",
"location": [679, 1207, 25],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"walkingRange": 0,
"entries": [{ "name": "InnKeeper", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "688afd60-6b66-49d2-871f-6e1e8a808e28",
"name": "Spawner (504)",
"location": [720, 1213, 45],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"walkingRange": 4,
"entries": [{ "name": "Tinker", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "9f5939f5-40e7-4931-8f85-5bec9d0ce9a0",
"name": "Spawner (504)",
"location": [744, 1219, 25],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"walkingRange": 4,
"entries": [{ "name": "Tailor", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "b56ee14e-cc42-40da-96c6-f69dda8293a9",
"name": "Spawner (504)",
"location": [691, 1264, 47],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"walkingRange": 4,
"entries": [{ "name": "Mapmaker", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "99611d04-e95b-4478-bbed-aebc536df8db",
"name": "Spawner (504)",
"location": [675, 1265, 25],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 4,
"walkingRange": 4,
"entries": [{ "name": "Bard", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "81fb55b4-4e8b-4785-ade3-e00a55be9450",
"name": "Spawner (504)",
"location": [689, 1255, 25],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"walkingRange": 4,
"entries": [{ "name": "Scribe", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "09b0792c-4b24-4776-a734-c164c55e4475",
"name": "Spawner (504)",
"location": [683, 1298, 25],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"walkingRange": 4,
"entries": [{ "name": "Herbalist", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "49f74ad9-349e-4bdb-90ad-07102fb44ace",
"name": "Spawner (504)",
"location": [702, 1298, 25],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"walkingRange": 4,
"entries": [{ "name": "Alchemist", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "d8b90bdf-18e1-4640-8d3e-0fa17725f696",
"name": "Spawner (504)",
"location": [695, 1297, 25],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"walkingRange": 4,
"entries": [{ "name": "Mage", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "d931b7c9-3c37-4b7b-80d4-925fdbd3fc65",
"name": "Spawner (504)",
"location": [724, 1297, 25],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"walkingRange": 4,
"entries": [{ "name": "Jeweler", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "1363aa0b-3bda-423f-92d5-35fda9e27ae7",
"name": "Spawner (504)",
"location": [730, 1282, 25],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"walkingRange": 4,
"entries": [{ "name": "Provisioner", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "e4af6d9e-f786-49fa-b811-058b1ae1d5ee",
"name": "Spawner (504)",
"location": [781, 1219, 25],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"walkingRange": 4,
"entries": [{ "name": "Healer", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "716264d3-e5f3-4e5d-97a6-2b825fdf1054",
"name": "Spawner (504)",
"location": [729, 1249, 25],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"walkingRange": 4,
"entries": [{ "name": "Banker", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "5f255a9c-2542-4ce6-a4bf-96a58bccf3d5",
"name": "Spawner (504)",
"location": [742, 1304, 25],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"walkingRange": 4,
"entries": [{ "name": "Armorer", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "00c69f3a-9103-4052-aedd-d83d6720fb3a",
"name": "Spawner (504)",
"location": [806, 1308, 25],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"walkingRange": 4,
"entries": [{ "name": "Weaponsmith", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "688374c2-7dc0-41a3-b5af-ace2d3f8d4d5",
"name": "Spawner (504)",
"location": [749, 1303, 25],
"map": "Tokuno",
"count": 2,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 4,
"walkingRange": 4,
"entries": [
{ "name": "Armorer", "maxCount": 1, "probability": 100 },
{ "name": "Weaponsmith", "maxCount": 1, "probability": 100 }
]
},
{
"type": "Spawner",
"guid": "1053df79-5a8c-4b65-ac9b-5a9a2ec58593",
"name": "Spawner (504)",
"location": [661, 1209, 25],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"walkingRange": 4,
"entries": [{ "name": "Blacksmith", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "bf0d25e9-0530-4772-898d-06fa29f6f42c",
"name": "Spawner (504)",
"location": [744, 1210, 25],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"walkingRange": 4,
"entries": [{ "name": "Weaver", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "6f34aef9-eacb-475b-835a-c02a7b01474a",
"name": "Spawner (504)",
"location": [779, 1259, 26],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 0,
"walkingRange": 4,
"entries": [{ "name": "Weaponsmith", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "da81d126-0664-4d3f-ab7a-f95f26880f2a",
"name": "Spawner (504)",
"location": [735, 1256, 30],
"map": "Tokuno",
"count": 23,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 60,
"walkingRange": 80,
"entries": [
{ "name": "Noble", "maxCount": 1, "probability": 100 },
{ "name": "Peasant", "maxCount": 1, "probability": 100 },
{ "name": "hirebeggar", "maxCount": 1, "probability": 100 },
{ "name": "Samurai", "maxCount": 10, "probability": 100 },
{ "name": "Ninja", "maxCount": 10, "probability": 100 }
]
},
{
"type": "Spawner",
"guid": "a4f2f44f-2462-432c-b64a-931607120c68",
"name": "Spawner (504)",
"location": [1166, 802, 27],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 3,
"walkingRange": 3,
"entries": [{ "name": "WanderingHealer", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "22886e75-48de-481a-a70c-f48229c6ed54",
"name": "Spawner (504)",
"location": [558, 534, 32],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 3,
"walkingRange": 3,
"entries": [{ "name": "WanderingHealer", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "1051b7cb-2325-480d-937a-1d643803cf0b",
"name": "Spawner (504)",
"location": [502, 589, 24],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 3,
"walkingRange": 3,
"entries": [{ "name": "WanderingHealer", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "4706124e-0b7c-4507-8ac7-7351eaba7851",
"name": "Spawner (504)",
"location": [1177, 985, 38],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 3,
"walkingRange": 3,
"entries": [{ "name": "WanderingHealer", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "884c3065-2cdc-4d15-8337-3d75fe4a1ce5",
"name": "Spawner (504)",
"location": [399, 549, 15],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 3,
"walkingRange": 3,
"entries": [{ "name": "WanderingHealer", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "b58ddc4b-7ff3-4248-abe0-2264833e55c4",
"name": "Spawner (504)",
"location": [226, 786, 57],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 3,
"walkingRange": 3,
"entries": [{ "name": "WanderingHealer", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "b9eabccb-274f-42cc-9a4c-a1725d0cf6b1",
"name": "Spawner (504)",
"location": [297, 637, 15],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 2,
"walkingRange": 2,
"entries": [{ "name": "WanderingHealer", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "4f98f23f-5b28-4d0f-9f2a-fde881918c17",
"name": "Spawner (504)",
"location": [371, 431, 32],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 5,
"walkingRange": 5,
"entries": [{ "name": "WanderingHealer", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "334a6ff4-f0f2-4315-af26-718a660a7d34",
"name": "Spawner (504)",
"location": [763, 247, 71],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 3,
"walkingRange": 3,
"entries": [{ "name": "WanderingHealer", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "a3873562-1650-42a9-b774-4dffcd9b143d",
"name": "Spawner (504)",
"location": [1111, 495, 18],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 3,
"walkingRange": 3,
"entries": [{ "name": "WanderingHealer", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "6a9b351c-cb55-4152-98ee-f3ee304ee147",
"name": "Spawner (504)",
"location": [1221, 494, 27],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 3,
"walkingRange": 3,
"entries": [{ "name": "WanderingHealer", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "20d9bf9e-3030-48d0-8ff5-fdd0b7b05af8",
"name": "Spawner (504)",
"location": [895, 519, 53],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 2,
"walkingRange": 2,
"entries": [{ "name": "WanderingHealer", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "ceae7e65-c77e-42bd-a4c2-a68575765392",
"name": "Spawner (504)",
"location": [1152, 936, 65],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 3,
"walkingRange": 3,
"entries": [{ "name": "WanderingHealer", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "f406200a-bf54-4548-b8e2-85dee8a25b4a",
"name": "Spawner (504)",
"location": [979, 238, 21],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 5,
"walkingRange": 5,
"entries": [{ "name": "WanderingHealer", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "83923c01-8b96-443c-98fb-b70cbe412cb7",
"name": "Spawner (504)",
"location": [248, 1089, 10],
"map": "Tokuno",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 3,
"walkingRange": 3,
"entries": [{ "name": "WanderingHealer", "maxCount": 1, "probability": 100 }]
}
]