From 50857d4a7a674576e3da29ac3db17c2c602b5da3 Mon Sep 17 00:00:00 2001 From: WarrentyExpired Date: Fri, 28 Aug 2026 20:06:52 -0400 Subject: [PATCH] #W# Go menu: You can now specify a map in the go menu .json file. --- Distribution/Data/Locations/felucca.json | 413 --------------------- Distribution/Data/Locations/ilshenar.json | 143 ------- Distribution/Data/Locations/malas.json | 108 ------ Distribution/Data/Locations/termur.json | 90 ----- Distribution/Data/Locations/tokuno.json | 64 ---- Distribution/Data/Locations/trammel.json | 384 ------------------- Distribution/Data/go.json | 11 + Projects/UOContent/Gumps/Go/GoGump.cs | 17 +- Projects/UOContent/Gumps/Go/GoLocation.cs | 4 +- Projects/UOContent/Gumps/Go/GoLocations.cs | 40 +- 10 files changed, 34 insertions(+), 1240 deletions(-) delete mode 100644 Distribution/Data/Locations/felucca.json delete mode 100644 Distribution/Data/Locations/ilshenar.json delete mode 100644 Distribution/Data/Locations/malas.json delete mode 100644 Distribution/Data/Locations/termur.json delete mode 100644 Distribution/Data/Locations/tokuno.json delete mode 100644 Distribution/Data/Locations/trammel.json create mode 100644 Distribution/Data/go.json diff --git a/Distribution/Data/Locations/felucca.json b/Distribution/Data/Locations/felucca.json deleted file mode 100644 index 74776f3f3..000000000 --- a/Distribution/Data/Locations/felucca.json +++ /dev/null @@ -1,413 +0,0 @@ -{ - "name": "Felucca", - "categories": [ - { - "name": "Factions", - "categories": [ - { - "name": "Towns", - "locations": [ - { "name": "Britain", "location": [1592, 1680, 10] }, - { "name": "Magincia", "location": [3714, 2235, 20] }, - { "name": "Minoc", "location": [2471, 439, 15] }, - { "name": "Moonglow", "location": [4436, 1083, 0] }, - { "name": "Skara Brae", "location": [576, 2200, 0] }, - { "name": "Trinsic", "location": [1914, 2717, 20] }, - { "name": "Vesper", "location": [2982, 818, 0] }, - { "name": "Yew", "location": [548, 979, 0] } - ] - } - ], - "locations": [ - { "name": "Council of Mages", "location": [3750, 2241, 20] }, - { "name": "Minax", "location": [1172, 2593, 0] }, - { "name": "Shadowlords", "location": [969, 768, 0] }, - { "name": "True Britannians", "location": [1419, 1622, 20] } - ] - }, - { - "name": "Dungeons", - "categories": [ - { "name": "Blighted Grove", "locations": [{ "name": "Entrance", "location": [586, 1643, -5] }] }, - { - "name": "Covetous", - "locations": [ - { "name": "Entrance", "location": [2499, 919, 0] }, - { "name": "Level 1", "location": [5456, 1863, 0] }, - { "name": "Level 2", "location": [5614, 1997, 0] }, - { "name": "Level 3", "location": [5579, 1924, 0] }, - { "name": "Lake Cave", "location": [5467, 1805, 7] }, - { "name": "Torture Chambers", "location": [5552, 1807, 0] } - ] - }, - { - "name": "Deceit", - "locations": [ - { "name": "Entrance", "location": [4111, 432, 5] }, - { "name": "Level 1", "location": [5188, 638, 0] }, - { "name": "Level 2", "location": [5305, 533, 2] }, - { "name": "Level 3", "location": [5137, 650, 5] }, - { "name": "Level 4", "location": [5306, 652, 2] } - ] - }, - { - "name": "Despise", - "locations": [ - { "name": "Entrance", "location": [1298, 1080, 0] }, - { "name": "Entryway", "location": [5587, 631, 30] }, - { "name": "Level 1", "location": [5501, 570, 59] }, - { "name": "Level 2", "location": [5519, 673, 20] }, - { "name": "Level 3", "location": [5407, 859, 45] } - ] - }, - { - "name": "Destard", - "locations": [ - { "name": "Entrance", "location": [1176, 2637, 0] }, - { "name": "Level 1", "location": [5243, 1006, 0] }, - { "name": "Level 2", "location": [5143, 801, 4] }, - { "name": "Level 3", "location": [5137, 986, 5] } - ] - }, - { - "name": "Hythloth", - "locations": [ - { "name": "Entrance", "location": [4721, 3822, 0] }, - { "name": "Level 1", "location": [5905, 20, 46] }, - { "name": "Level 2", "location": [5976, 169, 0] }, - { "name": "Level 3", "location": [6083, 145, -20] }, - { "name": "Level 4", "location": [6059, 89, 24] } - ] - }, - { - "name": "Shame", - "locations": [ - { "name": "Entrance", "location": [514, 1561, 0] }, - { "name": "Level 1", "location": [5395, 126, 0] }, - { "name": "Level 2", "location": [5515, 11, 5] }, - { "name": "Level 3", "location": [5514, 148, 25] }, - { "name": "Level 4", "location": [5875, 20, -5] } - ] - }, - { - "name": "Wrong", - "locations": [ - { "name": "Entrance", "location": [2043, 238, 10] }, - { "name": "Level 1", "location": [5825, 630, 0] }, - { "name": "Level 2", "location": [5690, 569, 25] }, - { "name": "Level 3", "location": [5703, 639, 0] } - ] - }, - { - "name": "Miscellaneous", - "locations": [ - { "name": "Hyloth Fire Pit", "location": [4596, 3630, 30] }, - { "name": "Yew-Britain Brigand Camp", "location": [885, 1682, 0] }, - { "name": "Yew Fort of the Damned", "location": [972, 768, 0] } - ] - }, - { - "name": "Terathan Keep", - "locations": [ - { "name": "Entrance", "location": [5451, 3143, -60] }, - { "name": "Level 1", "location": [5342, 1601, 0] }, - { "name": "Champion Room", "location": [5205, 1585, 0] }, - { "name": "Starroom", "location": [5139, 1767, 0] } - ] - }, - { - "name": "Fire", - "locations": [ - { "name": "Entrance", "location": [5760, 2908, 15] }, - { "name": "Brit Entrance", "location": [2923, 3407, 8] }, - { "name": "Level 1", "location": [5790, 1416, 40] }, - { "name": "Level 2", "location": [5702, 1316, 1] } - ] - }, - { - "name": "Ice", - "locations": [ - { "name": "Entrance", "location": [5210, 2322, 30] }, - { "name": "Brit Entrance", "location": [1999, 81, 4] }, - { "name": "Level 1", "location": [5875, 150, 15] }, - { "name": "Ratman Room", "location": [5834, 327, 18] }, - { "name": "Ice Demon Lair", "location": [5700, 305, 0] } - ] - }, - { - "name": "Orc Cave", - "locations": [ - { "name": "Entrance", "location": [1019, 1431, 0] }, - { "name": "Level 1", "location": [5137, 2014, 0] }, - { "name": "Level 2", "location": [5332, 1376, 0] }, - { "name": "Level 3", "location": [5272, 2036, 0] } - ] - }, - { "name": "Painted Caves", "locations": [{ "name": "Entrance", "location": [1716, 2993, 0] }] }, - { - "name": "Palace of Paroxysmus", - "locations": [{ "name": "Entrance", "location": [5576, 3018, 25] }] - }, - { "name": "Prism of Light", "locations": [{ "name": "Entrance", "location": [3784, 1097, 14] }] }, - { "name": "Sanctuary", "locations": [{ "name": "Entrance", "location": [764, 1646, 0] }] }, - { - "name": "Solen Hives", - "categories": [ - { - "name": "Area A", - "locations": [ - { "name": "Entrance", "location": [729, 1451, 0] }, - { "name": "Level 1", "location": [5658, 1795, 3] }, - { "name": "Level 2", "location": [5726, 1891, 1] } - ] - }, - { - "name": "Area B", - "locations": [ - { "name": "Entrance", "location": [2607, 763, 0] }, - { "name": "Level 1", "location": [5921, 1797, 1] }, - { "name": "Level 2", "location": [5875, 1866, 2] } - ] - }, - { - "name": "Area C", - "locations": [ - { "name": "Entrance", "location": [1689, 2789, 0] }, - { "name": "Level 1", "location": [5659, 2022, 0] }, - { "name": "Level 2", "location": [5708, 1955, 0] } - ] - }, - { - "name": "Area D", - "locations": [ - { "name": "Entrance", "location": [1723, 814, 0] }, - { "name": "Level 1", "location": [5916, 2019, 3] }, - { "name": "Level 2", "location": [5813, 2012, -1] } - ] - }, - { "name": "Area E", "locations": [{ "name": "Entrance", "location": [5732, 1858, 0] }] } - ], - "locations": [{ "name": "Central Area", "location": [5774, 1896, 20] }] - }, - { - "name": "Khaldun", - "locations": [ - { "name": "Entrance 1", "location": [6009, 3775, 19] }, - { "name": "Entrance 2", "location": [5882, 3819, -1] }, - { "name": "Level 1", "location": [5571, 1302, 0] } - ] - } - ] - }, - { - "name": "Internal", - "categories": [ - { - "name": "Jail Cells", - "locations": [ - { "name": "Cell 1", "location": [5276, 1164, 0] }, - { "name": "Cell 2", "location": [5286, 1164, 0] }, - { "name": "Cell 3", "location": [5296, 1164, 0] }, - { "name": "Cell 4", "location": [5306, 1164, 0] }, - { "name": "Cell 5", "location": [5276, 1174, 0] }, - { "name": "Cell 6", "location": [5286, 1174, 0] }, - { "name": "Cell 7", "location": [5286, 1174, 0] }, - { "name": "Cell 8", "location": [5306, 1174, 0] }, - { "name": "Cell 9", "location": [5283, 1184, 0] }, - { "name": "Cell 10", "location": [5304, 1184, 0] } - ] - } - ], - "locations": [{ "name": "Green Acres", "location": [5445, 1153, 0] }] - }, - { - "name": "Shrines", - "locations": [ - { "name": "Chaos", "location": [1456, 854, 0] }, - { "name": "Compassion", "location": [1856, 872, -1] }, - { "name": "Honesty", "location": [4217, 564, 36] }, - { "name": "Honor", "location": [1730, 3528, 3] }, - { "name": "Humility", "location": [4276, 3699, 0] }, - { "name": "Justice", "location": [1301, 639, 16] }, - { "name": "Sacrifice", "location": [3355, 299, 9] }, - { "name": "Spirituality", "location": [1589, 2485, 5] }, - { "name": "Valor", "location": [2496, 3932, 0] } - ] - }, - { - "name": "Towns", - "categories": [ - { - "name": "Britain", - "locations": [ - { "name": "Blackthorn Castle", "location": [1533, 1415, 56] }, - { "name": "Blackthorn Entrance", "location": [1523, 1456, 15] }, - { "name": "British Castle", "location": [1323, 1624, 55] }, - { "name": "British Entrance", "location": [1401, 1625, 28] }, - { "name": "Cemetery", "location": [1384, 1497, 10] }, - { "name": "Center", "location": [1475, 1645, 20] }, - { "name": "Farmlands", "location": [1228, 1705, 0] }, - { "name": "Park", "location": [1614, 1641, 35] }, - { "name": "Suburbs", "location": [1662, 1572, 5] } - ] - }, - { - "name": "Buccaneers Den", - "locations": [ - { "name": "Bathhouse", "location": [2667, 2084, 5] }, - { "name": "Docks", "location": [2736, 2166, 0] }, - { "name": "Tunnels", "location": [2667, 2069, -20] } - ] - }, - { - "name": "Cove", - "locations": [ - { "name": "Cemetery", "location": [2443, 1123, 5] }, - { "name": "Gates", "location": [2285, 1209, 0] }, - { "name": "Guard Post", "location": [2218, 1116, 19] }, - { "name": "Orc Fort", "location": [2171, 1332, 0] } - ] - }, - { - "name": "Jhelom", - "locations": [ - { "name": "Cemetery", "location": [1296, 3719, 0] }, - { "name": "East Docks", "location": [1492, 3696, -3] }, - { "name": "Fighting Pit", "location": [1398, 3742, -21] }, - { "name": "Main Island", "location": [1414, 3816, 0] }, - { "name": "Medium Island", "location": [1124, 3623, 5] }, - { "name": "Small Island", "location": [1466, 4015, 5] } - ] - }, - { - "name": "Magincia", - "locations": [ - { "name": "Bank", "location": [3730, 2161, 20] }, - { "name": "Docks", "location": [3675, 2259, 20] }, - { "name": "Park", "location": [3719, 2063, 25] }, - { "name": "Parliament", "location": [3792, 2248, 20] } - ] - }, - { - "name": "Minoc", - "locations": [ - { "name": "Bridge", "location": [2539, 501, 30] }, - { "name": "Gypsy Camp", "location": [2540, 651, 0] }, - { "name": "Mining Camp", "location": [2583, 528, 15] }, - { "name": "North", "location": [2475, 417, 15] }, - { "name": "South", "location": [2526, 583, 0] } - ] - }, - { - "name": "Moonglow", - "locations": [ - { "name": "Cemetery", "location": [4546, 1338, 8] }, - { "name": "Center", "location": [4442, 1122, 5] }, - { "name": "Docks", "location": [4406, 1045, -2] }, - { "name": "Telescope", "location": [4707, 1124, 0] }, - { "name": "Zoo", "location": [4549, 1378, 8] } - ] - }, - { - "name": "Nujel'm", - "locations": [ - { "name": "Cemetery", "location": [3536, 1156, 20] }, - { "name": "Chess Board", "location": [3728, 1360, 5] }, - { "name": "Docks", "location": [3803, 1279, 5] }, - { "name": "East", "location": [3755, 1227, 0] }, - { "name": "North", "location": [3668, 1116, 0] }, - { "name": "Palace", "location": [3698, 1279, 20] }, - { "name": "West", "location": [3572, 1211, 0] } - ] - }, - { - "name": "Ocllo", - "locations": [ - { "name": "Docks", "location": [3650, 2653, 0] }, - { "name": "Farmlands", "location": [3722, 2647, 20] }, - { "name": "North", "location": [3650, 2516, 0] } - ] - }, - { - "name": "Serpents Hold", - "locations": [ - { "name": "North", "location": [3023, 3417, 15] }, - { "name": "South", "location": [2906, 3505, 10] }, - { "name": "Guard Post", "location": [3011, 3526, 15] } - ] - }, - { - "name": "Skara Brae", - "locations": [ - { "name": "East", "location": [811, 2243, 0] }, - { "name": "East Docks", "location": [716, 2233, -3] }, - { "name": "North", "location": [746, 2165, 0] }, - { "name": "South", "location": [899, 2381, 0] }, - { "name": "West", "location": [601, 2171, 0] }, - { "name": "West Docks", "location": [639, 2236, -3] } - ] - }, - { - "name": "Trinsic", - "locations": [ - { "name": "Center", "location": [1927, 2779, 0] }, - { "name": "East Docks", "location": [2071, 2855, -3] }, - { "name": "Island Park", "location": [2108, 2793, 2] }, - { "name": "North", "location": [1894, 2666, 0] }, - { "name": "South", "location": [1891, 2850, 20] }, - { "name": "South Gate", "location": [2000, 2930, 0] }, - { "name": "West Gate", "location": [1832, 2779, 0] } - ] - }, - { - "name": "Vesper", - "locations": [ - { "name": "Cemetery", "location": [2786, 867, 0] }, - { "name": "Center", "location": [2882, 788, 0] }, - { "name": "Docks", "location": [3013, 828, -3] }, - { "name": "East", "location": [2760, 981, 0] }, - { "name": "North", "location": [2907, 603, 0] } - ] - }, - { - "name": "Wind", - "locations": [ - { "name": "Caves", "location": [5166, 244, 15] }, - { "name": "East", "location": [5336, 88, 15] }, - { "name": "Entrance", "location": [1362, 896, 0] }, - { "name": "Park", "location": [5211, 22, 15] }, - { "name": "South", "location": [5223, 189, 5] }, - { "name": "West", "location": [5180, 90, 25] } - ] - }, - { - "name": "Yew", - "locations": [ - { "name": "Cemetery", "location": [724, 1138, 0] }, - { "name": "Center", "location": [535, 992, 0] }, - { "name": "Courts and Prisons", "location": [354, 836, 20] }, - { "name": "Empath Abbey", "location": [635, 860, 0] }, - { "name": "Hidden Cave", "location": [313, 787, -24] }, - { "name": "Orc Fort", "location": [633, 1499, 0] } - ] - }, - { - "name": "Delucia", - "locations": [ - { "name": "Watch Tower", "location": [5276, 3945, 37] }, - { "name": "Center", "location": [5228, 3978, 37] }, - { "name": "Orc Fort", "location": [5210, 3636, 3] } - ] - }, - { - "name": "Papua", - "locations": [ - { "name": "The Just Inn", "location": [5769, 3176, 0] }, - { "name": "Center", "location": [5730, 3208, -4] }, - { "name": "Docks", "location": [5825, 3256, 2] } - ] - } - ] - } - ] -} diff --git a/Distribution/Data/Locations/ilshenar.json b/Distribution/Data/Locations/ilshenar.json deleted file mode 100644 index f6e52665b..000000000 --- a/Distribution/Data/Locations/ilshenar.json +++ /dev/null @@ -1,143 +0,0 @@ -{ - "name": "Ilshenar", - "categories": [ - { - "name": "Cities", - "categories": [ - { "name": "Ancient Citadel", "locations": [{ "name": "Entrance", "location": [1518, 568, -14] }] }, - { - "name": "Gargoyle City", - "locations": [ - { "name": "Bank", "location": [852, 602, -40] }, - { "name": "Central Area", "location": [836, 641, -20] } - ] - }, - { "name": "Lakeshire", "locations": [{ "name": "Central Area", "location": [1203, 1124, -25] }] }, - { "name": "Mistas", "locations": [{ "name": "Central Area", "location": [820, 1073, -30] }] }, - { "name": "Montor", "locations": [{ "name": "Central Area", "location": [1643, 310, 48] }] }, - { "name": "Req Volon", "locations": [{ "name": "Central Area", "location": [1362, 1073, -13] }] }, - { "name": "Savage Camp", "locations": [{ "name": "Central Area", "location": [1251, 743, -80] }] }, - { "name": "Terort Skitas", "locations": [{ "name": "Entrance", "location": [567, 437, 21] }] } - ] - }, - { - "name": "Dungeons", - "categories": [ - { - "name": "Ankh", - "locations": [ - { "name": "Entrance", "location": [576, 1150, -100] }, - { "name": "Level 1", "location": [155, 1482, -28] }, - { "name": "Kirin passage", "location": [11, 874, -28] }, - { "name": "Serpentine Passage", "location": [396, 1578, -28] } - ] - }, - { - "name": "Blood", - "locations": [ - { "name": "Entrance", "location": [1747, 1228, -1] }, - { "name": "Level 1", "location": [2114, 834, -28] } - ] - }, - { - "name": "Exodus", - "locations": [ - { "name": "Entrance", "location": [835, 777, -80] }, - { "name": "Level 1", "location": [1974, 115, -28] } - ] - }, - { - "name": "Rock", - "locations": [ - { "name": "Entrance", "location": [1788, 573, 70] }, - { "name": "Level 1", "location": [2188, 318, -7] }, - { "name": "Level 2", "location": [2188, 28, -27] } - ] - }, - { - "name": "Sorcerers", - "locations": [ - { "name": "Entrance", "location": [548, 462, -53] }, - { "name": "Level 1", "location": [428, 109, -28] }, - { "name": "Level 2", "location": [240, 23, -18] }, - { "name": "Level 3", "location": [272, 136, -28] }, - { "name": "Level 4", "location": [132, 124, -28] }, - { "name": "Level 5", "location": [236, 121, -28] } - ] - }, - { - "name": "Spectre", - "locations": [ - { "name": "Entrance", "location": [1363, 1033, -8] }, - { "name": "Level 1", "location": [1982, 1103, -28] } - ] - }, - { - "name": "Wisp", - "locations": [ - { "name": "Entrance", "location": [651, 1302, -58] }, - { "name": "Level 1", "location": [627, 1525, -28] }, - { "name": "Level 2", "location": [718, 1492, -28] }, - { "name": "Level 3", "location": [832, 1551, -28] }, - { "name": "Level 4", "location": [960, 1428, -28] }, - { "name": "Level 5", "location": [942, 1465, -33] }, - { "name": "Level 6", "location": [866, 1434, -28] }, - { "name": "Level 7", "location": [807, 1548, -28] }, - { "name": "Level 8", "location": [754, 1479, -28] } - ] - } - ] - }, - { - "name": "Caves", - "categories": [ - { - "name": "Ancient Lair", - "locations": [ - { "name": "Entrance", "location": [940, 504, -30] }, - { "name": "Level 1", "location": [85, 746, -28] } - ] - }, - { - "name": "Lizard Passage", - "locations": [ - { "name": "Entrance", "location": [314, 1334, -36] }, - { "name": "Level 1", "location": [329, 1589, -18] }, - { "name": "Level 2", "location": [227, 1337, -18] } - ] - }, - { "name": "Mushroom Cave", "locations": [{ "name": "Entrance", "location": [1459, 1329, -24] }] }, - { - "name": "Rat Cave", - "locations": [ - { "name": "Entrance", "location": [1034, 1153, -23] }, - { "name": "Level 1", "location": [1348, 1510, -3] }, - { "name": "Level 2", "location": [1247, 1511, -28] } - ] - }, - { - "name": "Spider Cave", - "locations": [ - { "name": "Entrance", "location": [1421, 913, -19] }, - { "name": "Level 1", "location": [1786, 991, -28] }, - { "name": "Level 2", "location": [1517, 877, 10] }, - { "name": "Ethereal Keep", "location": [1365, 1102, -26] } - ] - } - ] - }, - { - "name": "Shrines", - "locations": [ - { "name": "Compassion", "location": [1217, 469, -13] }, - { "name": "Honesty", "location": [720, 1356, -60] }, - { "name": "Honor", "location": [748, 728, -29] }, - { "name": "Humility", "location": [287, 1016, 0] }, - { "name": "Justice", "location": [987, 1007, -35] }, - { "name": "Sacrifice", "location": [1175, 1287, -30] }, - { "name": "Spirituality", "location": [1532, 1341, -3] }, - { "name": "Valor", "location": [527, 218, -44] } - ] - } - ] -} diff --git a/Distribution/Data/Locations/malas.json b/Distribution/Data/Locations/malas.json deleted file mode 100644 index faf33ed8e..000000000 --- a/Distribution/Data/Locations/malas.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "name": "Malas", - "categories": [ - { - "name": "Towns", - "categories": [ - { - "name": "Luna", - "locations": [ - { "name": "Luna Moongate", "location": [1015, 527, -65] }, - { "name": "Luna Bank", "location": [991, 519, -50] }, - { "name": "Clothier's Colors", "location": [976, 527, -50] }, - { "name": "Grand Arena", "location": [961, 638, -90] }, - { "name": "Hardwoods and More", "location": [1002, 512, -50] }, - { "name": "Paladin's Stopover", "location": [1005, 519, -30] }, - { "name": "Proud Bridle", "location": [1023, 503, -70] }, - { "name": "Open Market", "location": [992, 512, -50] }, - { "name": "Sage's Refuge", "location": [1002, 527, -50] }, - { "name": "Shining Blades", "location": [976, 512, -50] }, - { "name": "Shrine of Wisdom", "location": [976, 510, -30] }, - { "name": "Vault of Secrets", "location": [1072, 457, -90] } - ] - }, - { - "name": "Umbra", - "locations": [ - { "name": "Umbra Moongate", "location": [1998, 1387, -85] }, - { "name": "Umbra Bridge", "location": [1941, 1321, -88] }, - { "name": "Armoury of Souls", "location": [1984, 1367, -80] }, - { "name": "Bloodletter's Guild", "location": [2084, 1372, -75] }, - { "name": "Critter Pens", "location": [1992, 1326, -90] }, - { "name": "Darkweave", "location": [2079, 1338, -81] }, - { "name": "Ghast Refectory", "location": [2017, 1354, -90] }, - { "name": "Gravedigger's Apparatus", "location": [2016, 1328, -80] }, - { "name": "Lich's Hoard", "location": [2051, 1398, -90] }, - { "name": "Necromancer Ampitheater", "location": [2024, 1383, -80] }, - { "name": "Skeleton Swill", "location": [2030, 1350, -90] }, - { "name": "Wailing Banshee Inn", "location": [2039, 1317, -84] }, - { "name": "Warped Woodworks", "location": [2066, 1288, -80] } - ] - } - ] - }, - { - "name": "Dungeons", - "categories": [ - { - "name": "Doom", - "locations": [ - { "name": "Entrance", "location": [2367, 1268, -85] }, - { "name": "Tunnel", "location": [2352, 1267, -110] }, - { "name": "Inside", "location": [381, 133, 33] }, - { "name": "Gauntlet", "location": [433, 331, -2] }, - { "name": "Guardian's Room", "location": [365, 15, -1] }, - { "name": "Lamp Room", "location": [470, 95, -1] } - ] - } - ] - }, - { - "name": "Sites", - "categories": [ - { - "name": "Points of Interest", - "locations": [ - { "name": "Broken Mountains", "location": [1111, 1461, -90] }, - { "name": "Corrupted Forest", "location": [2172, 1144, -87] }, - { "name": "Crumbling Continent", "location": [736, 1180, -95] }, - { "name": "Crystal Fens", "location": [1388, 616, -85] }, - { "name": "Divide of the Abyss", "location": [1545, 877, -85] }, - { "name": "Dry Highlands", "location": [2128, 1668, -90] }, - { "name": "Forgotten Pyramid", "location": [1825, 1799, -50] }, - { "name": "Gravewater Lake", "location": [1596, 1656, -115] }, - { "name": "Grimswind Ruins", "location": [2192, 330, -90] }, - { "name": "Northern Crags", "location": [1580, 384, -50] }, - { "name": "Orc Fortress", "location": [1340, 1226, -90] }, - { "name": "Hanse's Hostel", "location": [1065, 1435, -90] } - ] - }, - { - "name": "Caves and Mines", - "locations": [ - { "name": "Mine 1", "location": [2082, 574, -90] }, - { "name": "Mine 2", "location": [2157, 456, -90] }, - { "name": "Mine 3", "location": [1811, 359, -90] }, - { "name": "Mine 4", "location": [1790, 475, -90] }, - { "name": "Mine 5", "location": [1628, 432, -86] }, - { "name": "Mine 6", "location": [1658, 304, -90] }, - { "name": "Mine 7", "location": [1071, 247, -90] }, - { "name": "Mine 8", "location": [1095, 197, -90] }, - { "name": "Mine 9", "location": [1195, 511, -90] } - ] - }, - { - "name": "Orc Forts", - "locations": [ - { "name": "Fort 1", "location": [912, 193, -79] }, - { "name": "Fort 2", "location": [1666, 362, -50] }, - { "name": "Fort 3", "location": [1364, 599, -86] }, - { "name": "Fort 4", "location": [1205, 705, -88] }, - { "name": "Fort 5", "location": [1257, 1331, -90] }, - { "name": "Fort 6", "location": [1598, 1825, -110] } - ] - } - ] - } - ] -} diff --git a/Distribution/Data/Locations/termur.json b/Distribution/Data/Locations/termur.json deleted file mode 100644 index 276ea7a39..000000000 --- a/Distribution/Data/Locations/termur.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "name": "TerMur", - "categories": [ - { - "name": "Towns", - "categories": [ - { - "name": "Royal City", - "locations": [{ "name": "Royal City Moongate", "location": [855, 3526, -43] }] - }, - { - "name": "Holy City", - "locations": [{ "name": "Holy City Moongate", "location": [928, 3989, -40] }] - }, - { "name": "Dugan", "locations": [{ "name": "Dugan", "location": [1107, 1131, -52] }] } - ] - }, - { - "name": "Dungeons", - "categories": [ - { - "name": "Tomb of Kings", - "locations": [ - { "name": "Entrance", "location": [997, 3843, -41] }, - { "name": "Gate to Stygian Abyss", "location": [38, 29, 0] } - ] - }, - { - "name": "Stygian Abyss", - "locations": [ - { "name": "Exit to Tomb of Kings", "location": [946, 71, 72] }, - { "name": "Exit to Underworld", "location": [521, 921, 36] }, - { "name": "Abyssal Lair Entrance", "location": [985, 366, -11] }, - { "name": "Cavern of the Discarded", "location": [912, 501, -12] }, - { "name": "Clan Scratch", "location": [959, 548, -14] }, - { "name": "Crimson Veins", "location": [974, 164, -11] }, - { "name": "Enslaved Goblins", "location": [581, 815, -45] }, - { "name": "Fairy Dragon Lair", "location": [888, 277, 3] }, - { "name": "Fire Temple Ruins", "location": [519, 765, -92] }, - { "name": "Hydra", "location": [793, 753, 53] }, - { "name": "Lands of the Lich", "location": [538, 656, 8] }, - { "name": "Lava Caldera", "location": [587, 895, -73] }, - { "name": "Medusa's Lair", "location": [818, 755, 50] }, - { "name": "Passage of Tears", "location": [685, 579, -15] }, - { "name": "Secret Garden", "location": [462, 719, 22] }, - { "name": "Serpent Lair", "location": [711, 720, -11] }, - { "name": "Silver Sapling", "location": [341, 619, 26] }, - { "name": "Stygian Dragon Lair Entrance", "location": [851, 279, -12] }, - { "name": "Sutek the Mage", "location": [924, 595, -14] } - ] - }, - { "name": "Underworld", "locations": [{ "name": "Entrance", "location": [1128, 1211, -2] }] } - ] - }, - { - "name": "Sites", - "categories": [ - { - "name": "Regions", - "locations": [ - { "name": "Atoll Bend", "location": [1118, 3408, -42] }, - { "name": "Chicken Chase", "location": [560, 3412, 37] }, - { "name": "City Residential", "location": [952, 3531, -43] }, - { "name": "Coral Desert", "location": [1047, 2980, 62] }, - { "name": "Fishermans Reach", "location": [631, 3035, 36] }, - { "name": "Gated Isle", "location": [703, 3934, -31] }, - { "name": "High Plain", "location": [863, 2931, 38] }, - { "name": "Holy City Island", "location": [996, 3905, -42] }, - { "name": "Kepetch Waste", "location": [447, 3188, 20] }, - { "name": "Lava Lake", "location": [407, 3010, -24] }, - { "name": "Lavapit Pyramid", "location": [740, 3691, -43] }, - { "name": "Lost Settlement", "location": [526, 3822, -44] }, - { "name": "Northern Steppes", "location": [822, 3063, 61] }, - { "name": "Raptor Island", "location": [816, 3778, -42] }, - { "name": "Royal Park", "location": [711, 3255, 38] }, - { "name": "Shrine of Singularity", "location": [995, 3814, -23] }, - { "name": "Slith Valley", "location": [1078, 3331, -42] }, - { "name": "Spider Island", "location": [1115, 3730, -42] }, - { "name": "Spiders Guarde", "location": [1109, 3606, -45] }, - { "name": "Talon Point", "location": [676, 3831, -39] }, - { "name": "Treefellow Course", "location": [570, 2936, 39] }, - { "name": "Void Isle", "location": [440, 3577, 38] }, - { "name": "Walled Circus", "location": [370, 3273, 0] }, - { "name": "Waterfall Point", "location": [661, 2894, 39] } - ] - } - ] - } - ] -} diff --git a/Distribution/Data/Locations/tokuno.json b/Distribution/Data/Locations/tokuno.json deleted file mode 100644 index 6337ca03b..000000000 --- a/Distribution/Data/Locations/tokuno.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "name": "Tokuno", - "categories": [ - { - "name": "Tokuno Islands", - "categories": [ - { - "name": "Towns", - "categories": [ - { - "name": "Zento", - "locations": [ - { "name": "Zento Moongate", "location": [802, 1204, 25] }, - { "name": "Zento Bank", "location": [735, 1255, 30] } - ] - } - ] - }, - { - "name": "Dungeons", - "categories": [ - { "name": "Fan Dancer's Dojo", "locations": [{ "name": "Entrance", "location": [977, 218, 23] }] }, - { "name": "Yomotsu Mines", "locations": [{ "name": "Entrance", "location": [259, 785, 64] }] } - ] - }, - { - "name": "Sites", - "categories": [ - { - "name": "Makoto-Jima", - "locations": [ - { "name": "Moongate", "location": [802, 1204, 25] }, - { "name": "Shrine", "location": [718, 1161, 25] }, - { "name": "The Waste", "location": [724, 943, 42] } - ] - }, - { - "name": "Isamu-Jima", - "locations": [ - { "name": "Moongate", "location": [1169, 998, 41] }, - { "name": "Shrine", "location": [1047, 512, 15] }, - { "name": "Lotus Lakes", "location": [1066, 817, 20] }, - { "name": "Mount Sho", "location": [1159, 696, 70] }, - { "name": "Dragon Valley", "location": [948, 432, 8] }, - { "name": "Winter Spur", "location": [926, 162, 34] } - ] - }, - { - "name": "Homare-Jima", - "locations": [ - { "name": "Moongate", "location": [270, 628, 15] }, - { "name": "Shrine", "location": [295, 712, 55] }, - { "name": "Field of Echoes", "location": [160, 654, 36] }, - { "name": "Crane Marsh", "location": [232, 1107, 10] }, - { "name": "Bushido Dojo", "location": [334, 407, 32] }, - { "name": "Kitsune Woods", "location": [523, 520, 32] } - ] - } - ] - } - ] - } - ] -} diff --git a/Distribution/Data/Locations/trammel.json b/Distribution/Data/Locations/trammel.json deleted file mode 100644 index 9eb8b8c6f..000000000 --- a/Distribution/Data/Locations/trammel.json +++ /dev/null @@ -1,384 +0,0 @@ -{ - "name": "Trammel", - "categories": [ - { - "name": "Dungeons", - "categories": [ - { "name": "Blighted Grove", "locations": [{ "name": "Entrance", "location": [586, 1643, -5] }] }, - { - "name": "Covetous", - "locations": [ - { "name": "Entrance", "location": [2499, 919, 0] }, - { "name": "Level 1", "location": [5456, 1863, 0] }, - { "name": "Level 2", "location": [5614, 1997, 0] }, - { "name": "Level 3", "location": [5579, 1924, 0] }, - { "name": "Lake Cave", "location": [5467, 1805, 7] }, - { "name": "Torture Chambers", "location": [5552, 1807, 0] } - ] - }, - { - "name": "Deceit", - "locations": [ - { "name": "Entrance", "location": [4111, 432, 5] }, - { "name": "Level 1", "location": [5188, 638, 0] }, - { "name": "Level 2", "location": [5305, 533, 2] }, - { "name": "Level 3", "location": [5137, 650, 5] }, - { "name": "Level 4", "location": [5306, 652, 2] } - ] - }, - { - "name": "Despise", - "locations": [ - { "name": "Entrance", "location": [1298, 1080, 0] }, - { "name": "Entryway", "location": [5587, 631, 30] }, - { "name": "Level 1", "location": [5501, 570, 59] }, - { "name": "Level 2", "location": [5519, 673, 20] }, - { "name": "Level 3", "location": [5407, 859, 45] } - ] - }, - { - "name": "Destard", - "locations": [ - { "name": "Entrance", "location": [1176, 2637, 0] }, - { "name": "Level 1", "location": [5243, 1006, 0] }, - { "name": "Level 2", "location": [5143, 801, 4] }, - { "name": "Level 3", "location": [5137, 986, 5] } - ] - }, - { - "name": "Hythloth", - "locations": [ - { "name": "Entrance", "location": [4721, 3822, 0] }, - { "name": "Level 1", "location": [5905, 20, 46] }, - { "name": "Level 2", "location": [5976, 169, 0] }, - { "name": "Level 3", "location": [6083, 145, -20] }, - { "name": "Level 4", "location": [6059, 89, 24] } - ] - }, - { - "name": "Shame", - "locations": [ - { "name": "Entrance", "location": [514, 1561, 0] }, - { "name": "Level 1", "location": [5395, 126, 0] }, - { "name": "Level 2", "location": [5515, 11, 5] }, - { "name": "Level 3", "location": [5514, 148, 25] }, - { "name": "Level 4", "location": [5875, 20, -5] } - ] - }, - { - "name": "Wrong", - "locations": [ - { "name": "Entrance", "location": [2043, 238, 10] }, - { "name": "Level 1", "location": [5825, 630, 0] }, - { "name": "Level 2", "location": [5690, 569, 25] }, - { "name": "Level 3", "location": [5703, 639, 0] } - ] - }, - { - "name": "Miscellaneous", - "locations": [ - { "name": "Hyloth Fire Pit", "location": [4596, 3630, 30] }, - { "name": "Yew-Britain Brigand Camp", "location": [885, 1682, 0] }, - { "name": "Yew Fort of the Damned", "location": [972, 768, 0] } - ] - }, - { - "name": "Terathan Keep", - "locations": [ - { "name": "Entrance", "location": [5451, 3143, -60] }, - { "name": "Level 1", "location": [5342, 1601, 0] }, - { "name": "Champion Room", "location": [5205, 1585, 0] }, - { "name": "Starroom", "location": [5139, 1767, 0] } - ] - }, - { - "name": "Fire", - "locations": [ - { "name": "Entrance", "location": [5760, 2908, 15] }, - { "name": "Brit Entrance", "location": [2923, 3407, 8] }, - { "name": "Level 1", "location": [5790, 1416, 40] }, - { "name": "Level 2", "location": [5702, 1316, 1] } - ] - }, - { - "name": "Ice", - "locations": [ - { "name": "Entrance", "location": [5210, 2322, 30] }, - { "name": "Brit Entrance", "location": [1999, 81, 4] }, - { "name": "Level 1", "location": [5875, 150, 15] }, - { "name": "Ratman Room", "location": [5834, 327, 18] }, - { "name": "Ice Demon Lair", "location": [5700, 305, 0] } - ] - }, - { - "name": "Orc Cave", - "locations": [ - { "name": "Entrance", "location": [1019, 1431, 0] }, - { "name": "Level 1", "location": [5137, 2014, 0] }, - { "name": "Level 2", "location": [5332, 1376, 0] }, - { "name": "Level 3", "location": [5272, 2036, 0] } - ] - }, - { "name": "Painted Caves", "locations": [{ "name": "Entrance", "location": [1716, 2993, 0] }] }, - { - "name": "Palace of Paroxysmus", - "locations": [{ "name": "Entrance", "location": [5576, 3018, 25] }] - }, - { "name": "Prism of Light", "locations": [{ "name": "Entrance", "location": [3784, 1097, 14] }] }, - { "name": "Sanctuary", "locations": [{ "name": "Entrance", "location": [764, 1646, 0] }] }, - { - "name": "Solen Hives", - "categories": [ - { - "name": "Area A", - "locations": [ - { "name": "Entrance", "location": [729, 1451, 0] }, - { "name": "Level 1", "location": [5658, 1795, 3] }, - { "name": "Level 2", "location": [5726, 1891, 1] } - ] - }, - { - "name": "Area B", - "locations": [ - { "name": "Entrance", "location": [2607, 763, 0] }, - { "name": "Level 1", "location": [5921, 1797, 1] }, - { "name": "Level 2", "location": [5875, 1866, 2] } - ] - }, - { - "name": "Area C", - "locations": [ - { "name": "Entrance", "location": [1689, 2789, 0] }, - { "name": "Level 1", "location": [5659, 2022, 0] }, - { "name": "Level 2", "location": [5708, 1955, 0] } - ] - }, - { - "name": "Area D", - "locations": [ - { "name": "Entrance", "location": [1723, 814, 0] }, - { "name": "Level 1", "location": [5916, 2019, 3] }, - { "name": "Level 2", "location": [5813, 2012, -1] } - ] - }, - { "name": "Area E", "locations": [{ "name": "Entrance", "location": [5732, 1858, 0] }] } - ], - "locations": [{ "name": "Central Area", "location": [5774, 1896, 20] }] - } - ] - }, - { - "name": "Internal", - "categories": [ - { - "name": "Jail Cells", - "locations": [ - { "name": "Cell 1", "location": [5276, 1164, 0] }, - { "name": "Cell 2", "location": [5286, 1164, 0] }, - { "name": "Cell 3", "location": [5296, 1164, 0] }, - { "name": "Cell 4", "location": [5306, 1164, 0] }, - { "name": "Cell 5", "location": [5276, 1174, 0] }, - { "name": "Cell 6", "location": [5286, 1174, 0] }, - { "name": "Cell 7", "location": [5286, 1174, 0] }, - { "name": "Cell 8", "location": [5306, 1174, 0] }, - { "name": "Cell 9", "location": [5283, 1184, 0] }, - { "name": "Cell 10", "location": [5304, 1184, 0] } - ] - } - ], - "locations": [{ "name": "Green Acres", "location": [5445, 1153, 0] }] - }, - { - "name": "Shrines", - "locations": [ - { "name": "Chaos", "location": [1456, 854, 0] }, - { "name": "Compassion", "location": [1856, 872, -1] }, - { "name": "Honesty", "location": [4217, 564, 36] }, - { "name": "Honor", "location": [1730, 3528, 3] }, - { "name": "Humility", "location": [4276, 3699, 0] }, - { "name": "Justice", "location": [1301, 639, 16] }, - { "name": "Sacrifice", "location": [3355, 299, 9] }, - { "name": "Spirituality", "location": [1589, 2485, 5] }, - { "name": "Valor", "location": [2496, 3932, 0] } - ] - }, - { - "name": "Towns", - "categories": [ - { - "name": "Britain", - "locations": [ - { "name": "Blackthorn Castle", "location": [1533, 1415, 56] }, - { "name": "Blackthorn Entrance", "location": [1523, 1456, 15] }, - { "name": "British Castle", "location": [1323, 1624, 55] }, - { "name": "British Entrance", "location": [1401, 1625, 28] }, - { "name": "Cemetery", "location": [1384, 1497, 10] }, - { "name": "Center", "location": [1475, 1645, 20] }, - { "name": "Farmlands", "location": [1228, 1705, 0] }, - { "name": "Park", "location": [1614, 1641, 35] }, - { "name": "Suburbs", "location": [1662, 1572, 5] } - ] - }, - { - "name": "Buccaneers Den", - "locations": [ - { "name": "Bathhouse", "location": [2667, 2084, 5] }, - { "name": "Docks", "location": [2736, 2166, 0] }, - { "name": "Tunnels", "location": [2667, 2069, -20] } - ] - }, - { - "name": "Cove", - "locations": [ - { "name": "Cemetery", "location": [2443, 1123, 5] }, - { "name": "Gates", "location": [2285, 1209, 0] }, - { "name": "Guard Post", "location": [2218, 1116, 19] }, - { "name": "Orc Fort", "location": [2171, 1332, 0] } - ] - }, - { "name": "Heartwood", "locations": [{ "name": "Entrance", "location": [6986, 340, 0] }] }, - { - "name": "Jhelom", - "locations": [ - { "name": "Cemetery", "location": [1296, 3719, 0] }, - { "name": "East Docks", "location": [1492, 3696, -3] }, - { "name": "Fighting Pit", "location": [1398, 3742, -21] }, - { "name": "Main Island", "location": [1414, 3816, 0] }, - { "name": "Medium Island", "location": [1124, 3623, 5] }, - { "name": "Small Island", "location": [1466, 4015, 5] } - ] - }, - { - "name": "Magincia", - "locations": [ - { "name": "Bank", "location": [3730, 2161, 20] }, - { "name": "Docks", "location": [3675, 2259, 20] }, - { "name": "Park", "location": [3719, 2063, 25] }, - { "name": "Parliament", "location": [3792, 2248, 20] } - ] - }, - { - "name": "Minoc", - "locations": [ - { "name": "Bridge", "location": [2539, 501, 30] }, - { "name": "Gypsy Camp", "location": [2540, 651, 0] }, - { "name": "Mining Camp", "location": [2583, 528, 15] }, - { "name": "North", "location": [2475, 417, 15] }, - { "name": "South", "location": [2526, 583, 0] } - ] - }, - { - "name": "Moonglow", - "locations": [ - { "name": "Cemetery", "location": [4546, 1338, 8] }, - { "name": "Center", "location": [4442, 1122, 5] }, - { "name": "Docks", "location": [4406, 1045, -2] }, - { "name": "Telescope", "location": [4707, 1124, 0] }, - { "name": "Zoo", "location": [4549, 1378, 8] } - ] - }, - { - "name": "Nujel'm", - "locations": [ - { "name": "Cemetery", "location": [3536, 1156, 20] }, - { "name": "Chess Board", "location": [3728, 1360, 5] }, - { "name": "Docks", "location": [3803, 1279, 5] }, - { "name": "East", "location": [3755, 1227, 0] }, - { "name": "North", "location": [3668, 1116, 0] }, - { "name": "Palace", "location": [3698, 1279, 20] }, - { "name": "West", "location": [3572, 1211, 0] } - ] - }, - { - "name": "Haven", - "locations": [ - { "name": "Old Haven", "location": [3650, 2592, 0] }, - { "name": "Old Haven North", "location": [3650, 2516, 0] }, - { "name": "New Haven", "location": [3506, 2570, 14] }, - { "name": "New Haven North", "location": [3502, 2475, 34] }, - { "name": "Farmlands", "location": [3722, 2647, 20] } - ] - }, - { - "name": "Serpents Hold", - "locations": [ - { "name": "North", "location": [3023, 3417, 15] }, - { "name": "South", "location": [2906, 3505, 10] }, - { "name": "Guard Post", "location": [3011, 3526, 15] } - ] - }, - { - "name": "Skara Brae", - "locations": [ - { "name": "East", "location": [811, 2243, 0] }, - { "name": "East Docks", "location": [716, 2233, -3] }, - { "name": "North", "location": [746, 2165, 0] }, - { "name": "South", "location": [899, 2381, 0] }, - { "name": "West", "location": [601, 2171, 0] }, - { "name": "West Docks", "location": [639, 2236, -3] } - ] - }, - { - "name": "Trinsic", - "locations": [ - { "name": "Center", "location": [1927, 2779, 0] }, - { "name": "East Docks", "location": [2071, 2855, -3] }, - { "name": "Island Park", "location": [2108, 2793, 2] }, - { "name": "North", "location": [1894, 2666, 0] }, - { "name": "South", "location": [1891, 2850, 20] }, - { "name": "South Gate", "location": [2000, 2930, 0] }, - { "name": "West Gate", "location": [1832, 2779, 0] } - ] - }, - { - "name": "Vesper", - "locations": [ - { "name": "Cemetery", "location": [2786, 867, 0] }, - { "name": "Center", "location": [2882, 788, 0] }, - { "name": "Docks", "location": [3013, 828, -3] }, - { "name": "East", "location": [2760, 981, 0] }, - { "name": "North", "location": [2907, 603, 0] } - ] - }, - { - "name": "Wind", - "locations": [ - { "name": "Caves", "location": [5166, 244, 15] }, - { "name": "East", "location": [5336, 88, 15] }, - { "name": "Entrance", "location": [1362, 896, 0] }, - { "name": "Park", "location": [5211, 22, 15] }, - { "name": "South", "location": [5223, 189, 5] }, - { "name": "West", "location": [5180, 90, 25] } - ] - }, - { - "name": "Yew", - "locations": [ - { "name": "Cemetery", "location": [724, 1138, 0] }, - { "name": "Center", "location": [535, 992, 0] }, - { "name": "Courts and Prisons", "location": [354, 836, 20] }, - { "name": "Empath Abbey", "location": [635, 860, 0] }, - { "name": "Hidden Cave", "location": [313, 787, -24] }, - { "name": "Orc Fort", "location": [633, 1499, 0] } - ] - }, - { - "name": "Delucia", - "locations": [ - { "name": "Watch Tower", "location": [5276, 3945, 37] }, - { "name": "Center", "location": [5228, 3978, 37] }, - { "name": "Orc Fort", "location": [5210, 3636, 3] } - ] - }, - { - "name": "Papua", - "locations": [ - { "name": "The Just Inn", "location": [5769, 3176, 0] }, - { "name": "Center", "location": [5730, 3208, -4] }, - { "name": "Docks", "location": [5825, 3256, 2] } - ] - } - ] - } - ] -} diff --git a/Distribution/Data/go.json b/Distribution/Data/go.json new file mode 100644 index 000000000..3a21710aa --- /dev/null +++ b/Distribution/Data/go.json @@ -0,0 +1,11 @@ +{ + "name": "The World", + "categories": [ + { "name": "Fel", "categories": [ + { "name": "Towns", "locations": [ + { "name": "Brit Fel", "location": [1592, 1680, 10], "map": "Felucca" } ] } ] }, + { "name": "Tram", "categories": [ + { "name": "Towns", "locations": [ + { "name": "Brit Tram", "location": [1592, 1680, 10], "map": "Trammel" } ] } ] } + ] +} diff --git a/Projects/UOContent/Gumps/Go/GoGump.cs b/Projects/UOContent/Gumps/Go/GoGump.cs index e33d441cb..e066e7ba0 100644 --- a/Projects/UOContent/Gumps/Go/GoGump.cs +++ b/Projects/UOContent/Gumps/Go/GoGump.cs @@ -159,10 +159,23 @@ public class GoGump : DynamicGump index -= _node.Categories.Length; if (index < _node.Locations.Length) { - from.MoveToWorld(_node.Locations[index].Location, _tree.Map); + //from.MoveToWorld(_node.Locations[index].Location, _tree.Map); + var loc = _node.Locations[index]; + Map targetMap = _tree.Map; + if (!string.IsNullOrEmpty(loc.MapName)) + { + foreach (Map m in Map.AllMaps) + { + if (m != null && string.Equals(m.Name, loc.MapName, StringComparison.OrdinalIgnoreCase)) + { + targetMap = m; + break; + } + } + } + from.MoveToWorld(loc.Location, targetMap); } } - break; } } diff --git a/Projects/UOContent/Gumps/Go/GoLocation.cs b/Projects/UOContent/Gumps/Go/GoLocation.cs index c766f9e63..50d52bbc1 100644 --- a/Projects/UOContent/Gumps/Go/GoLocation.cs +++ b/Projects/UOContent/Gumps/Go/GoLocation.cs @@ -9,4 +9,6 @@ public class GoLocation [JsonPropertyName("name")] public string Name { get; set; } [JsonPropertyName("location")] public Point3D Location { get; set; } -} \ No newline at end of file + + [JsonPropertyName("map")] public string MapName { get; set; } +} diff --git a/Projects/UOContent/Gumps/Go/GoLocations.cs b/Projects/UOContent/Gumps/Go/GoLocations.cs index ad45b66ec..24633168d 100644 --- a/Projects/UOContent/Gumps/Go/GoLocations.cs +++ b/Projects/UOContent/Gumps/Go/GoLocations.cs @@ -11,48 +11,18 @@ public static class GoLocations { private static readonly ILogger logger = LogFactory.GetLogger(typeof(GoLocations)); - private static LocationTree _felucca; - private static LocationTree _trammel; - private static LocationTree _ilshenar; - private static LocationTree _malas; - private static LocationTree _tokuno; - private static LocationTree _terMur; + private static LocationTree _world; public static LocationTree GetLocations(Map map) { - if (map == Map.Ilshenar) - { - return _ilshenar ??= LoadLocations("ilshenar", Map.Ilshenar); - } - - if (map == Map.TerMur) - { - return _terMur ??= LoadLocations("termur", Map.TerMur); - } - - if (map == Map.Trammel) - { - return _trammel ??= LoadLocations("trammel", Map.Trammel); - } - - if (map == Map.Malas) - { - return _malas ??= LoadLocations("malas", Map.Malas); - } - - if (map == Map.Tokuno) - { - return _tokuno ??= LoadLocations("tokuno", Map.Tokuno); - } - - return _felucca ??= LoadLocations("felucca", Map.Felucca); + // Always return the same world tree, regardless of which map 'GetLocations' is called with + return _world ??= LoadLocations("go", Map.Felucca); } private static LocationTree LoadLocations(string fileName, Map map) { var lastBranch = new Dictionary(); - - var path = Path.Combine($"Data/Locations/{fileName}.json"); + var path = Path.Combine($"Data/{fileName}.json"); try { @@ -67,7 +37,7 @@ public static class GoLocations catch (Exception e) { logger.Error(e, "Failed to load file {Path}.", path); - return new LocationTree(map, [], null); + return new LocationTree(map, lastBranch, new GoCategory { Name = "Error", Categories = [], Locations = [] }); } } }