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

404 lines
13 KiB
JSON

[
{
"type": "Spawner",
"guid": "a04d299e-f7b3-4422-8fb0-2e1c00772e4e",
"name": "Spawner (601)",
"location": [795, 753, 53],
"map": "TerMur",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 15,
"walkingRange": 15,
"entries": [{ "name": "Hydra", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "f8e8e058-6fdc-4cff-b65a-3441c4cd2696",
"name": "Spawner (601)",
"location": [745, 739, 16],
"map": "TerMur",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 5,
"walkingRange": 5,
"entries": [{ "name": "MaddeningHorror", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "328b58c0-3f65-4009-8956-b08ccbb3b713",
"name": "Spawner (601)",
"location": [749, 475, -17],
"map": "TerMur",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 20,
"walkingRange": 20,
"entries": [{ "name": "SlasherOfVeils", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "2d0e8f04-2a94-4049-b6d6-1453d728a6b3",
"name": "Spawner (601)",
"location": [326, 159, 20],
"map": "TerMur",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 10,
"walkingRange": 10,
"entries": [{ "name": "StygianDragon", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "8da7030b-465d-4aff-9f7d-c44ab1c3506f",
"name": "Spawner (601)",
"location": [716, 720, -11],
"map": "TerMur",
"count": 5,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 25,
"walkingRange": 25,
"entries": [
{ "name": "Snake", "maxCount": 1, "probability": 100 },
{ "name": "LavaSnake", "maxCount": 1, "probability": 100 },
{ "name": "CoralSnake", "maxCount": 1, "probability": 100 },
{ "name": "GiantSerpent", "maxCount": 1, "probability": 100 },
{ "name": "Coil", "maxCount": 1, "probability": 100 }
]
},
{
"type": "Spawner",
"guid": "c7c81f76-792f-4a6d-9417-a6aec5df64d8",
"name": "Spawner (601)",
"location": [992, 337, 9],
"map": "TerMur",
"count": 5,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 20,
"walkingRange": 20,
"entries": [
{ "name": "GreaterMongbat", "maxCount": 1, "probability": 100 },
{ "name": "Imp", "maxCount": 1, "probability": 100 },
{ "name": "Daemon", "maxCount": 1, "probability": 100 },
{ "name": "PitFiend", "maxCount": 1, "probability": 100 },
{ "name": "DevourerRenowned", "maxCount": 1, "probability": 100 }
]
},
{
"type": "Spawner",
"guid": "860fbe9a-8a27-4d8d-9b8a-621029d37f7c",
"name": "Spawner (601)",
"location": [982, 491, -12],
"map": "TerMur",
"count": 3,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 18,
"walkingRange": 18,
"entries": [
{ "name": "ClanChitterAssistant", "maxCount": 1, "probability": 100 },
{ "name": "ClanChitterTinkerer", "maxCount": 1, "probability": 100 },
{ "name": "RakktaviRenowned", "maxCount": 1, "probability": 100 }
]
},
{
"type": "Spawner",
"guid": "f9b10a8e-797a-4421-b82c-0b62175762d5",
"name": "Spawner (601)",
"location": [981, 491, -12],
"map": "TerMur",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 18,
"walkingRange": 18,
"entries": [{ "name": "ClockworkScorpion", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "95d6224c-9d36-42da-907b-7bea918c676e",
"name": "Spawner (601)",
"location": [919, 502, -12],
"map": "TerMur",
"count": 3,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 20,
"walkingRange": 20,
"entries": [
{ "name": "ClanRibbonSupplicant", "maxCount": 1, "probability": 100 },
{ "name": "ClanRibbonCourtier", "maxCount": 1, "probability": 100 },
{ "name": "VitaviRenowned", "maxCount": 1, "probability": 100 }
]
},
{
"type": "Spawner",
"guid": "8bfb35fe-b1b0-4319-ad50-b4bf1f5e9ab4",
"name": "Spawner (601)",
"location": [918, 502, -12],
"map": "TerMur",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 20,
"walkingRange": 20,
"entries": [{ "name": "ClanRibbonPlagueRat", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "fa6e3454-d54e-494a-a83f-0717135dcead",
"name": "Spawner (601)",
"location": [949, 555, -14],
"map": "TerMur",
"count": 3,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 20,
"walkingRange": 20,
"entries": [
{ "name": "ClanScratchScrounger", "maxCount": 1, "probability": 100 },
{ "name": "ClanScratchHenchrat", "maxCount": 1, "probability": 100 },
{ "name": "TikitaviRenowned", "maxCount": 1, "probability": 100 }
]
},
{
"type": "Spawner",
"guid": "f7305cdc-9eab-416f-9818-fcf5ced0a745",
"name": "Spawner (601)",
"location": [950, 555, -14],
"map": "TerMur",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 20,
"walkingRange": 20,
"entries": [{ "name": "ClanScratchSavageWolf", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "0ba6b19c-52a4-4291-95f5-d3a69aa5085d",
"name": "Spawner (601)",
"location": [974, 161, -11],
"map": "TerMur",
"count": 8,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 25,
"walkingRange": 25,
"entries": [
{ "name": "FireAnt", "maxCount": 1, "probability": 100 },
{ "name": "LavaSnake", "maxCount": 1, "probability": 100 },
{ "name": "LavaLizard", "maxCount": 1, "probability": 100 },
{ "name": "FireGargoyle", "maxCount": 1, "probability": 100 },
{ "name": "Efreet", "maxCount": 1, "probability": 100 },
{ "name": "LavaElemental", "maxCount": 1, "probability": 100 },
{ "name": "FireDaemon", "maxCount": 1, "probability": 100 },
{ "name": "FireElementalRenowned", "maxCount": 1, "probability": 100 }
]
},
{
"type": "Spawner",
"guid": "52f40561-ba37-44c2-920d-0dc61e63a9b3",
"name": "Spawner (601)",
"location": [581, 815, -45],
"map": "TerMur",
"count": 8,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 25,
"walkingRange": 25,
"entries": [
{ "name": "EnslavedGrayGoblin", "maxCount": 1, "probability": 100 },
{ "name": "EnslavedGreenGoblin", "maxCount": 1, "probability": 100 },
{ "name": "EnslavedGoblinScout", "maxCount": 1, "probability": 100 },
{ "name": "EnslavedGoblinKeeper", "maxCount": 1, "probability": 100 },
{ "name": "EnslavedGreenGoblinAlchemist", "maxCount": 1, "probability": 100 },
{ "name": "EnslavedGoblinMage", "maxCount": 1, "probability": 100 },
{ "name": "GrayGoblinMageRenowned", "maxCount": 1, "probability": 100 },
{ "name": "GreenGoblinAlchemistRenowned", "maxCount": 1, "probability": 100 }
]
},
{
"type": "Spawner",
"guid": "d408a458-54d8-4870-8cdb-7b8178082ee9",
"name": "Spawner (601)",
"location": [526, 766, -92],
"map": "TerMur",
"count": 9,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 20,
"walkingRange": 20,
"entries": [
{ "name": "LavaLizard", "maxCount": 1, "probability": 100 },
{ "name": "LavaSnake", "maxCount": 1, "probability": 100 },
{ "name": "FireAnt", "maxCount": 1, "probability": 100 },
{ "name": "HellCat", "maxCount": 1, "probability": 100 },
{ "name": "LavaSerpent", "maxCount": 1, "probability": 100 },
{ "name": "HellHound", "maxCount": 1, "probability": 100 },
{ "name": "LavaElemental", "maxCount": 1, "probability": 100 },
{ "name": "FireDaemon", "maxCount": 1, "probability": 100 },
{ "name": "FireDaemonRenowned", "maxCount": 1, "probability": 100 }
]
},
{
"type": "Spawner",
"guid": "8bfc3823-2350-4544-9ae6-48dacd1561c2",
"name": "Spawner (601)",
"location": [536, 657, 8],
"map": "TerMur",
"count": 7,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 34,
"walkingRange": 34,
"entries": [
{ "name": "Skeleton", "maxCount": 1, "probability": 100 },
{ "name": "Wraith", "maxCount": 1, "probability": 100 },
{ "name": "SkeletalMage", "maxCount": 1, "probability": 100 },
{ "name": "WailingBanshee", "maxCount": 1, "probability": 100 },
{ "name": "SkeletalLich", "maxCount": 1, "probability": 100 },
{ "name": "RottingCorpse", "maxCount": 1, "probability": 100 },
{ "name": "AncientLichRenowned", "maxCount": 1, "probability": 100 }
]
},
{
"type": "Spawner",
"guid": "6ffbfac9-f23e-459b-be9f-68909de6809d",
"name": "Spawner (601)",
"location": [601, 905, -60],
"map": "TerMur",
"count": 8,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 35,
"walkingRange": 35,
"entries": [
{ "name": "LavaLizard", "maxCount": 1, "probability": 100 },
{ "name": "LavaSnake", "maxCount": 1, "probability": 100 },
{ "name": "FireAnt", "maxCount": 1, "probability": 100 },
{ "name": "HellHound", "maxCount": 1, "probability": 100 },
{ "name": "LavaSerpent", "maxCount": 1, "probability": 100 },
{ "name": "LavaElemental", "maxCount": 1, "probability": 100 },
{ "name": "FireDaemon", "maxCount": 1, "probability": 100 },
{ "name": "FireDaemonRenowned", "maxCount": 1, "probability": 100 }
]
},
{
"type": "Spawner",
"guid": "0ff29d79-4abb-46aa-9386-cfc1195ad34e",
"name": "Spawner (601)",
"location": [818, 927, -15],
"map": "TerMur",
"count": 1,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 15,
"walkingRange": 15,
"entries": [{ "name": "Medusa", "maxCount": 1, "probability": 100 }]
},
{
"type": "Spawner",
"guid": "7b825abf-ddac-4ae1-9769-112a43158d74",
"name": "Spawner (601)",
"location": [684, 579, -15],
"map": "TerMur",
"count": 5,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 35,
"walkingRange": 35,
"entries": [
{ "name": "CorrosiveSlime", "maxCount": 1, "probability": 100 },
{ "name": "AcidSlug", "maxCount": 1, "probability": 100 },
{ "name": "AcidElemental", "maxCount": 1, "probability": 100 },
{ "name": "InterredGrizzle", "maxCount": 1, "probability": 100 },
{ "name": "AcidElementalRenowned", "maxCount": 1, "probability": 100 }
]
},
{
"type": "Spawner",
"guid": "1b82244f-9e95-40df-a123-9eba126a630f",
"name": "Spawner (601)",
"location": [440, 708, 24],
"map": "TerMur",
"count": 4,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 35,
"walkingRange": 35,
"entries": [
{ "name": "Pixie", "maxCount": 1, "probability": 100 },
{ "name": "Wisp", "maxCount": 1, "probability": 100 },
{ "name": "DarkWisp", "maxCount": 1, "probability": 100 },
{ "name": "PixieRenowned", "maxCount": 1, "probability": 100 }
]
},
{
"type": "Spawner",
"guid": "eb74b7e4-681f-49a4-8f55-776453e65653",
"name": "Spawner (601)",
"location": [674, 828, -109],
"map": "TerMur",
"count": 8,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 25,
"walkingRange": 25,
"entries": [
{ "name": "Skeleton", "maxCount": 1, "probability": 100 },
{ "name": "PatchworkSkeleton", "maxCount": 1, "probability": 100 },
{ "name": "SkeletalKnight", "maxCount": 1, "probability": 100 },
{ "name": "BoneKnight", "maxCount": 1, "probability": 100 },
{ "name": "SkeletalMage", "maxCount": 1, "probability": 100 },
{ "name": "BoneMagi", "maxCount": 1, "probability": 100 },
{ "name": "SkeletalLich", "maxCount": 1, "probability": 100 },
{ "name": "SkeletalDragonRenowned", "maxCount": 1, "probability": 100 }
]
},
{
"type": "Spawner",
"guid": "79e05beb-81b3-4eb4-a4e9-91efba98efa3",
"name": "Spawner (601)",
"location": [887, 277, 3],
"map": "TerMur",
"count": 4,
"minDelay": "00:05:00",
"maxDelay": "00:10:00",
"team": 0,
"homeRange": 20,
"walkingRange": 20,
"entries": [
{ "name": "FairyDragon", "maxCount": 1, "probability": 100 },
{ "name": "Wyvern", "maxCount": 1, "probability": 100 },
{ "name": "ForgottenServant", "maxCount": 1, "probability": 100 },
{ "name": "WyvernRenowned", "maxCount": 1, "probability": 100 }
]
}
]