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

636 lines
17 KiB
JSON

[
{
"type": "Spawner",
"guid": "ff48e1e3-c43f-4787-9b57-00ece0b7b011",
"name": "Spawner (105)",
"location": [5503, 529, 60],
"map": "Trammel",
"count": 7,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 12,
"walkingRange": 25,
"entries": [
{ "name": "Lizardman", "maxCount": 1, "probability": 100 },
{ "name": "TreasureChestLevel2", "maxCount": 5, "probability": 100 },
{ "name": "TreasureChestLevel3", "maxCount": 1, "probability": 100 }
]
},
{
"type": "Spawner",
"guid": "73d3f5f1-488c-474c-a723-688a2e7986db",
"name": "Spawner (105)",
"location": [5504, 597, 45],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 12,
"walkingRange": 25,
"entries": [{ "name": "Lizardman", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "71c6f8ca-43f9-4a00-8949-ee885de4df62",
"name": "Spawner (105)",
"location": [5464, 600, 45],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 12,
"walkingRange": 25,
"entries": [{ "name": "Lizardman", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "f4eb45f9-f980-44c7-8246-1bb29bb37ec5",
"name": "Spawner (105)",
"location": [5435, 589, 47],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 12,
"walkingRange": 25,
"entries": [{ "name": "Lizardman", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "2fd73e79-6ba3-4e99-a086-25d70bb5842c",
"name": "Spawner (105)",
"location": [5410, 611, 45],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 12,
"walkingRange": 25,
"entries": [{ "name": "Lizardman", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "2d4a48e4-a276-41c6-8a45-9adb74f63cc2",
"name": "Spawner (105)",
"location": [5386, 612, 45],
"map": "Trammel",
"count": 7,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 12,
"walkingRange": 25,
"entries": [
{ "name": "Lizardman", "maxCount": 1, "probability": 100 },
{ "name": "TreasureChestLevel2", "maxCount": 5, "probability": 100 },
{ "name": "TreasureChestLevel3", "maxCount": 1, "probability": 100 }
]
},
{
"type": "Spawner",
"guid": "b82e5396-f27a-42e9-8a15-02ca02c3d3cb",
"name": "Spawner (105)",
"location": [5405, 576, 61],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 12,
"walkingRange": 25,
"entries": [{ "name": "Lizardman", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "9d96e5b6-3334-46b1-bec8-39f22e34cad6",
"name": "Spawner (105)",
"location": [5411, 541, 60],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 12,
"walkingRange": 25,
"entries": [{ "name": "Lizardman", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "7c997556-91a8-4d79-822a-7824e93df53d",
"name": "Spawner (105)",
"location": [5460, 526, 60],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 12,
"walkingRange": 25,
"entries": [{ "name": "Lizardman", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "8ef4bf4a-5bad-4e2f-ad9c-43710883563d",
"name": "Spawner (105)",
"location": [5394, 525, 65],
"map": "Trammel",
"count": 2,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 5,
"walkingRange": 5,
"entries": [
{ "name": "TreasureChestLevel1", "maxCount": 1, "probability": 100 },
{ "name": "TreasureChestLevel2", "maxCount": 1, "probability": 100 }
]
},
{
"type": "Spawner",
"guid": "0d1c1014-bd9e-464b-8369-207e22e1fe70",
"name": "Spawner (105)",
"location": [5390, 587, 45],
"map": "Trammel",
"count": 2,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 5,
"walkingRange": 5,
"entries": [
{ "name": "TreasureChestLevel1", "maxCount": 1, "probability": 100 },
{ "name": "TreasureChestLevel2", "maxCount": 1, "probability": 100 }
]
},
{
"type": "Spawner",
"guid": "52045aef-fd0d-40df-954b-d9151d91be5b",
"name": "Spawner (105)",
"location": [5490, 676, 20],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 12,
"walkingRange": 25,
"entries": [{ "name": "Ettin", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "f2fd65cd-3bf3-435d-92ef-ef38781d55da",
"name": "Spawner (105)",
"location": [5483, 711, 15],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 12,
"walkingRange": 25,
"entries": [{ "name": "Ettin", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "4b887a36-fd7a-4ecd-b037-d4c3c3c922fe",
"name": "Spawner (105)",
"location": [5505, 747, 5],
"map": "Trammel",
"count": 4,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 18,
"walkingRange": 25,
"entries": [
{ "name": "EarthElemental", "maxCount": 1, "probability": 100 },
{ "name": "Ettin", "maxCount": 3, "probability": 100 }
]
},
{
"type": "Spawner",
"guid": "e0b1f529-e2b4-4ac8-a823-b1ef4a9b4adc",
"name": "Spawner (105)",
"location": [5475, 748, 5],
"map": "Trammel",
"count": 4,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 12,
"walkingRange": 25,
"entries": [
{ "name": "EarthElemental", "maxCount": 1, "probability": 100 },
{ "name": "Ettin", "maxCount": 3, "probability": 100 }
]
},
{
"type": "Spawner",
"guid": "235d18cb-4524-49bd-8d0f-a81e3cbf45b0",
"name": "Spawner (105)",
"location": [5420, 746, 5],
"map": "Trammel",
"count": 5,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 18,
"walkingRange": 25,
"entries": [
{ "name": "EarthElemental", "maxCount": 1, "probability": 100 },
{ "name": "Ettin", "maxCount": 4, "probability": 100 }
]
},
{
"type": "Spawner",
"guid": "d5ed46a2-71e8-4588-8171-873d24d5974e",
"name": "Spawner (105)",
"location": [5385, 703, 15],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 15,
"walkingRange": 25,
"entries": [{ "name": "Ettin", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "9e6e8317-7623-41c4-baa3-b7e9dc926f16",
"name": "Spawner (105)",
"location": [5391, 660, 20],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 12,
"walkingRange": 25,
"entries": [{ "name": "Ettin", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "c8e8140f-8a85-4263-a32e-58facabf8016",
"name": "Spawner (105)",
"location": [5441, 680, 20],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 12,
"walkingRange": 25,
"entries": [{ "name": "EarthElemental", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "09a33435-ac67-4471-9b68-ae4a2c432ee4",
"name": "Spawner (105)",
"location": [5507, 656, 20],
"map": "Trammel",
"count": 2,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 5,
"walkingRange": 5,
"entries": [
{ "name": "TreasureChestLevel2", "maxCount": 1, "probability": 100 },
{ "name": "TreasureChestLevel3", "maxCount": 1, "probability": 100 }
]
},
{
"type": "Spawner",
"guid": "34b251af-15a5-4ce2-ab0c-91bae7184d31",
"name": "Spawner (105)",
"location": [5387, 697, 15],
"map": "Trammel",
"count": 2,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 5,
"walkingRange": 5,
"entries": [
{ "name": "TreasureChestLevel2", "maxCount": 1, "probability": 100 },
{ "name": "TreasureChestLevel3", "maxCount": 1, "probability": 100 }
]
},
{
"type": "Spawner",
"guid": "f9bee22f-5191-489a-9325-46f1fc1e8344",
"name": "Spawner (105)",
"location": [5439, 851, 45],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 12,
"walkingRange": 25,
"entries": [{ "name": "Troll", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "a224a962-16a5-4200-923a-6eac92f0e8c5",
"name": "Spawner (105)",
"location": [5470, 860, 45],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 12,
"walkingRange": 25,
"entries": [{ "name": "Troll", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "3ab780d7-2fe5-4cec-93ae-ed26475c1a86",
"name": "Spawner (105)",
"location": [5426, 791, 60],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 12,
"walkingRange": 25,
"entries": [{ "name": "Troll", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "fa2f7d10-2f94-45a8-a422-a9973c843356",
"name": "Spawner (105)",
"location": [5482, 791, 60],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 12,
"walkingRange": 25,
"entries": [{ "name": "Troll", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "d8995fca-6d0a-42c3-829a-196373195528",
"name": "Spawner (105)",
"location": [5532, 787, 60],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 15,
"walkingRange": 25,
"entries": [{ "name": "Ogre", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "df0e5710-a266-4200-91ed-3603a56f984d",
"name": "Spawner (105)",
"location": [5604, 789, 60],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 15,
"walkingRange": 25,
"entries": [{ "name": "Ogre", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "b96154cb-8d9a-4d46-bb11-c77e975a2e41",
"name": "Spawner (105)",
"location": [5558, 824, 45],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 12,
"walkingRange": 25,
"entries": [{ "name": "OgreLord", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "3a3795f3-f48a-477c-8b51-91c212bff68a",
"name": "Spawner (105)",
"location": [5590, 871, 45],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 20,
"walkingRange": 35,
"entries": [{ "name": "Ogre", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "df004c64-d9b1-4fc7-b3ad-dde1da190550",
"name": "Spawner (105)",
"location": [5528, 902, 30],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 15,
"walkingRange": 25,
"entries": [{ "name": "Ogre", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "2b5ec266-96dc-4e31-a3b5-6da709ab0302",
"name": "Spawner (105)",
"location": [5487, 902, 30],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 15,
"walkingRange": 25,
"entries": [{ "name": "Ettin", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "03d924b2-ba08-4f28-807d-dcfbc7c620f8",
"name": "Spawner (105)",
"location": [5504, 939, 20],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 15,
"walkingRange": 25,
"entries": [{ "name": "Ettin", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "607b4abe-5aff-4a25-bbd5-85d4fceb71a3",
"name": "Spawner (105)",
"location": [5471, 973, 15],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 18,
"walkingRange": 25,
"entries": [{ "name": "Cyclops", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "7658fd40-4f73-49b1-b65b-0306408e6cd6",
"name": "Spawner (105)",
"location": [5426, 943, 20],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 15,
"walkingRange": 25,
"entries": [{ "name": "Ettin", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "9cb192ee-79e4-495c-ab37-0b26bc3f0aa6",
"name": "Spawner (105)",
"location": [5391, 905, 30],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 15,
"walkingRange": 25,
"entries": [{ "name": "Ettin", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "874a2254-55c2-4b89-bf80-6a098396cb79",
"name": "Spawner (105)",
"location": [5398, 996, 5],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 15,
"walkingRange": 25,
"entries": [{ "name": "AcidElemental", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "8e3a4915-0698-4bf5-addd-7b521dae2a4f",
"name": "Spawner (105)",
"location": [5593, 794, 60],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 5,
"walkingRange": 5,
"entries": [{ "name": "TreasureChestLevel2", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "f6642b6f-c6e2-4805-a99c-14d6d3b8732c",
"name": "Spawner (105)",
"location": [5546, 888, 30],
"map": "Trammel",
"count": 2,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 8,
"walkingRange": 8,
"entries": [
{ "name": "TreasureChestLevel2", "maxCount": 1, "probability": 100 },
{ "name": "TreasureChestLevel3", "maxCount": 1, "probability": 100 }
]
},
{
"type": "Spawner",
"guid": "2946c47a-b09d-4d47-be31-02e5c279fc24",
"name": "Spawner (105)",
"location": [5397, 995, 5],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 10,
"walkingRange": 10,
"entries": [{ "name": "TreasureChestLevel3", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "94d1b45e-63c6-4622-b076-b6daeac43747",
"name": "Spawner (105)",
"location": [5605, 799, 60],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 10,
"walkingRange": 10,
"entries": [{ "name": "TreasureChestLevel3", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "acb828ce-edf8-44ae-b0c2-ae4b579d30f3",
"name": "Spawner (105)",
"location": [5557, 828, 45],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 7,
"walkingRange": 7,
"entries": [{ "name": "TreasureChestLevel3", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "8035f14d-efe5-424e-8e49-371e4b360c5b",
"name": "Spawner (105)",
"location": [5398, 995, 5],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 10,
"walkingRange": 10,
"entries": [{ "name": "TreasureChestLevel4", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "10e031e0-5ce2-4438-acde-31c7b7432009",
"name": "Spawner (105)",
"location": [5564, 821, 45],
"map": "Trammel",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 5,
"walkingRange": 5,
"entries": [{ "name": "TreasureChestLevel4", "maxCount": 1, "probability": 100 }]
}
]