ModernUO/Distribution/Data/Spawns/post-uoml/trammel/SolenHive.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

605 lines
16 KiB
JSON

[
{
"type": "Spawner",
"guid": "bc89681a-5d2a-404d-b795-90716066f1e6",
"name": "Spawner (120)",
"location": [5670, 1807, 4],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 25,
"walkingRange": 30,
"entries": [{ "name": "RedSolenWorker", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "7e5f9c52-45bc-4745-9993-19682e02735a",
"name": "Spawner (120)",
"location": [5673, 1846, 1],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 6,
"walkingRange": 20,
"entries": [{ "name": "RedSolenWorker", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "f096059d-8f76-4b0d-bb60-f78b84596517",
"name": "Spawner (120)",
"location": [5693, 1834, 0],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 4,
"walkingRange": 20,
"entries": [{ "name": "RedSolenWorker", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "eb2e539b-812d-4937-9b99-8928151b97e5",
"name": "Spawner (120)",
"location": [5704, 1807, 4],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 6,
"walkingRange": 20,
"entries": [{ "name": "RedSolenWorker", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "708eb729-fb33-4897-a026-d37179e5d4d1",
"name": "Spawner (120)",
"location": [5722, 1820, 5],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 10,
"walkingRange": 20,
"entries": [{ "name": "RedSolenWorker", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "f187ec9e-3c44-4143-a726-802afe10d0af",
"name": "Spawner (120)",
"location": [5709, 1874, 1],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 10,
"walkingRange": 50,
"entries": [{ "name": "RedSolenWarrior", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "df7d5726-6918-4887-8623-9e49836fa611",
"name": "Spawner (120)",
"location": [5681, 1886, 2],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 10,
"walkingRange": 50,
"entries": [{ "name": "RedSolenWarrior", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "22255cf3-6144-461f-9abf-6673db5bd7e6",
"name": "Spawner (120)",
"location": [5756, 1857, 4],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 10,
"walkingRange": 50,
"entries": [{ "name": "RedSolenWarrior", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "f6ae21ec-cf0b-4fc5-abc4-bd83fd9ab174",
"name": "Spawner (120)",
"location": [5912, 1800, 1],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 20,
"walkingRange": 30,
"entries": [{ "name": "RedSolenWorker", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "0cfbec30-fc4a-4bd4-bca9-db3d04c521c6",
"name": "Spawner (120)",
"location": [5920, 1842, 1],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 15,
"walkingRange": 30,
"entries": [{ "name": "RedSolenWorker", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "8292b6a0-d221-4cf6-b570-1896b8cfbdc4",
"name": "Spawner (120)",
"location": [5887, 1840, -18],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 10,
"walkingRange": 25,
"entries": [{ "name": "AntLion", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "ce6d135e-40b0-476d-a8b0-e88c1031cc30",
"name": "Spawner (120)",
"location": [5847, 1819, 1],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 10,
"walkingRange": 25,
"entries": [{ "name": "RedSolenWorker", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "394e710e-902f-45ce-9497-46d774eb287c",
"name": "Spawner (120)",
"location": [5829, 1798, 1],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 10,
"walkingRange": 15,
"entries": [{ "name": "RedSolenWorker", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "5e43369a-9555-4568-9dd6-5c8e21cbe58f",
"name": "Spawner (120)",
"location": [5873, 1798, 0],
"map": "Trammel",
"count": 3,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 10,
"walkingRange": 15,
"entries": [
{ "name": "RedSolenWorker", "maxCount": 1, "probability": 100 },
{ "name": "RedSolenQueen", "maxCount": 2, "probability": 100 }
]
},
{
"type": "Spawner",
"guid": "e810ae6e-7947-4c7c-b804-9fb01a0d8b04",
"name": "Spawner (120)",
"location": [5782, 1793, 1],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 10,
"walkingRange": 20,
"entries": [{ "name": "RedSolenWarrior", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "688a9323-064e-41b2-8fb9-718c254fcb8a",
"name": "Spawner (120)",
"location": [5799, 1857, 5],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 10,
"walkingRange": 20,
"entries": [{ "name": "RedSolenWarrior", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "3eff51b4-15c6-400f-8cc1-ed66aab683ea",
"name": "Spawner (120)",
"location": [5815, 1881, 2],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 7,
"walkingRange": 20,
"entries": [{ "name": "RedSolenWarrior", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "87351730-a040-4c74-9edd-0c9e2337fd4d",
"name": "Spawner (120)",
"location": [5831, 1910, 3],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 10,
"walkingRange": 15,
"entries": [{ "name": "Beetle", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "a4b1e9b5-083b-4a4a-ade0-43a4259af1e9",
"name": "Spawner (120)",
"location": [5718, 2024, 4],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 15,
"walkingRange": 25,
"entries": [{ "name": "RedSolenWorker", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "9e08de11-16d0-497e-b15a-89d4763e3ae1",
"name": "Spawner (120)",
"location": [5776, 2019, 2],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 10,
"walkingRange": 20,
"entries": [{ "name": "RedSolenWorker", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "c58855c7-ab2f-4eec-8842-22d3236d9b42",
"name": "Spawner (120)",
"location": [5782, 2021, -11],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 10,
"walkingRange": 25,
"entries": [{ "name": "AntLion", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "f8a0a50d-8ef2-4f3d-9fc8-4233483064ee",
"name": "Spawner (120)",
"location": [5767, 1962, 2],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 15,
"walkingRange": 50,
"entries": [{ "name": "DreadSpider", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "487821d1-cdb9-43c4-8391-d9f3f3e068c8",
"name": "Spawner (120)",
"location": [5671, 1979, 0],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 20,
"walkingRange": 30,
"entries": [{ "name": "RedSolenWarrior", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "e05c4172-87a7-4914-9551-ac330b38e2d2",
"name": "Spawner (120)",
"location": [5703, 1991, 0],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 20,
"walkingRange": 35,
"entries": [{ "name": "RedSolenWarrior", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "3c10cd80-e611-4804-a32e-1227a8baa718",
"name": "Spawner (120)",
"location": [5699, 1921, 2],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 10,
"walkingRange": 30,
"entries": [{ "name": "RedSolenWarrior", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "5176bd18-e531-45e7-8c13-ddbe4b8cd76f",
"name": "Spawner (120)",
"location": [5748, 1923, 0],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 5,
"walkingRange": 20,
"entries": [{ "name": "RedSolenWarrior", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "ee52cb81-9688-4918-b537-89faf931c0b3",
"name": "Spawner (120)",
"location": [5736, 1939, 7],
"map": "Trammel",
"count": 2,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 10,
"walkingRange": 20,
"entries": [
{ "name": "RedSolenQueen", "maxCount": 1, "probability": 100 },
{ "name": "RedSolenWorker", "maxCount": 1, "probability": 100 }
]
},
{
"type": "Spawner",
"guid": "b2237a85-a698-453e-bb82-7967e44a7058",
"name": "Spawner (120)",
"location": [5876, 2018, 3],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 10,
"walkingRange": 20,
"entries": [{ "name": "RedSolenWorker", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "b6b0b492-8123-4aef-b1f2-88d870234060",
"name": "Spawner (120)",
"location": [5856, 2018, 0],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 10,
"walkingRange": 20,
"entries": [{ "name": "RedSolenWorker", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "9005607a-9a17-49df-90c1-6baab1e0ba1d",
"name": "Spawner (120)",
"location": [5838, 2019, 3],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 10,
"walkingRange": 20,
"entries": [{ "name": "RedSolenWorker", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "825ffd1e-2cfe-476d-92a8-a8467d430e8b",
"name": "Spawner (120)",
"location": [5910, 1991, 0],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 15,
"walkingRange": 25,
"entries": [{ "name": "RedSolenWorker", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "ef08e610-30c1-4e4a-9917-5298914dc2f8",
"name": "Spawner (120)",
"location": [5837, 1992, -2],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 10,
"walkingRange": 15,
"entries": [{ "name": "Beetle", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "b292753a-d136-4c73-8329-39cbd6695e03",
"name": "Spawner (120)",
"location": [5863, 1958, 2],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 10,
"walkingRange": 25,
"entries": [{ "name": "RedSolenWarrior", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "2a2b0611-2397-4a2d-9111-033016b80e5a",
"name": "Spawner (120)",
"location": [5884, 1920, -15],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 10,
"walkingRange": 20,
"entries": [{ "name": "AntLion", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "18b5419f-4293-4300-8ee9-920e1f8ba01a",
"name": "Spawner (120)",
"location": [5825, 1968, 4],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 10,
"walkingRange": 25,
"entries": [{ "name": "RedSolenWorker", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "fd272222-9473-42ec-80e8-3c5d47a4669d",
"name": "Spawner (120)",
"location": [5855, 1932, 3],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 10,
"walkingRange": 20,
"entries": [{ "name": "RedSolenWarrior", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "6495ba0d-671f-4f4e-b95c-8aeb80b4957d",
"name": "Spawner (120)",
"location": [5798, 1963, 0],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 10,
"walkingRange": 35,
"entries": [{ "name": "RedSolenWorker", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "b5527ade-5059-4eba-b9e6-c31499e3e9c2",
"name": "Spawner (120)",
"location": [5665, 1868, 11],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 10,
"walkingRange": 20,
"entries": [{ "name": "AntLion", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "f3503287-fa74-4370-ba8a-ef3e172c3759",
"name": "Spawner (120)",
"location": [5707, 1843, -15],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 10,
"walkingRange": 10,
"entries": [{ "name": "AntLion", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "f08a90be-df7e-4a45-9c47-306f41fe64bc",
"name": "Spawner (120)",
"location": [3218, 502, 0],
"map": "Trammel",
"count": 2,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 10,
"walkingRange": 10,
"entries": [
{ "name": "BlackSolenInfiltratorQueen", "maxCount": 1, "probability": 100 },
{ "name": "BlackSolenInfiltratorWarrior", "maxCount": 1, "probability": 100 }
]
},
{
"type": "Spawner",
"guid": "4d806f12-db78-4487-99d2-ae67858b6f35",
"name": "Spawner (120)",
"location": [1940, 3261, 1],
"map": "Trammel",
"count": 2,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 10,
"walkingRange": 10,
"entries": [
{ "name": "BlackSolenInfiltratorQueen", "maxCount": 1, "probability": 100 },
{ "name": "BlackSolenInfiltratorWarrior", "maxCount": 1, "probability": 100 }
]
},
{
"type": "Spawner",
"guid": "828b78c8-9fe5-4475-ae34-def4f39c5f78",
"name": "Spawner (120)",
"location": [1361, 894, 0],
"map": "Trammel",
"count": 2,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 4,
"walkingRange": 8,
"entries": [
{ "name": "BlackSolenInfiltratorQueen", "maxCount": 1, "probability": 100 },
{ "name": "BlackSolenInfiltratorWarrior", "maxCount": 1, "probability": 100 }
]
}
]