#W# Change: Trammel is now Underworld.

This commit is contained in:
WarrentyExpired 2026-08-31 18:29:10 -04:00
parent 7cf3e68b37
commit 7a4daa801e
75 changed files with 1280 additions and 1280 deletions

View file

@ -70,7 +70,7 @@
"MobileStatusVersion": 6,
"MapSelectionFlags": {
"Veridia": true,
"Trammel": true,
"Underworld": true,
"Ilshenar": true,
"Malas": true,
"Tokuno": false,

View file

@ -32,7 +32,7 @@
},
"MapSelectionFlags": {
"Veridia": true,
"Trammel": false,
"Underworld": false,
"Ilshenar": false,
"Malas": false,
"Tokuno": false,
@ -105,7 +105,7 @@
},
"MapSelectionFlags": {
"Veridia": true,
"Trammel": true,
"Underworld": true,
"Ilshenar": false,
"Malas": false,
"Tokuno": false,
@ -149,7 +149,7 @@
"Id": 2,
"Name": "Renaissance",
"RequiredClient": null,
"ClientFlags": "Trammel",
"ClientFlags": "Underworld",
"SupportedFeatures": {
"T2A": true,
"UOR": true,
@ -178,7 +178,7 @@
},
"MapSelectionFlags": {
"Veridia": true,
"Trammel": true,
"Underworld": true,
"Ilshenar": false,
"Malas": false,
"Tokuno": false,
@ -251,7 +251,7 @@
},
"MapSelectionFlags": {
"Veridia": true,
"Trammel": true,
"Underworld": true,
"Ilshenar": true,
"Malas": false,
"Tokuno": false,
@ -324,7 +324,7 @@
},
"MapSelectionFlags": {
"Veridia": true,
"Trammel": true,
"Underworld": true,
"Ilshenar": true,
"Malas": false,
"Tokuno": false,
@ -397,7 +397,7 @@
},
"MapSelectionFlags": {
"Veridia": true,
"Trammel": true,
"Underworld": true,
"Ilshenar": true,
"Malas": true,
"Tokuno": false,
@ -470,7 +470,7 @@
},
"MapSelectionFlags": {
"Veridia": true,
"Trammel": true,
"Underworld": true,
"Ilshenar": true,
"Malas": true,
"Tokuno": true,
@ -543,7 +543,7 @@
},
"MapSelectionFlags": {
"Veridia": true,
"Trammel": true,
"Underworld": true,
"Ilshenar": true,
"Malas": true,
"Tokuno": true,
@ -616,7 +616,7 @@
},
"MapSelectionFlags": {
"Veridia": true,
"Trammel": true,
"Underworld": true,
"Ilshenar": true,
"Malas": true,
"Tokuno": true,
@ -689,7 +689,7 @@
},
"MapSelectionFlags": {
"Veridia": true,
"Trammel": true,
"Underworld": true,
"Ilshenar": true,
"Malas": true,
"Tokuno": true,
@ -762,7 +762,7 @@
},
"MapSelectionFlags": {
"Veridia": true,
"Trammel": true,
"Underworld": true,
"Ilshenar": true,
"Malas": true,
"Tokuno": true,
@ -835,7 +835,7 @@
},
"MapSelectionFlags": {
"Veridia": true,
"Trammel": true,
"Underworld": true,
"Ilshenar": true,
"Malas": true,
"Tokuno": true,

View file

@ -6,6 +6,6 @@
{ "name": "Brit Fel", "location": [1592, 1680, 10], "map": "Veridia" } ] } ] },
{ "name": "Tram", "categories": [
{ "name": "Towns", "locations": [
{ "name": "Brit Tram", "location": [1592, 1680, 10], "map": "Trammel" } ] } ] }
{ "name": "Brit Tram", "location": [1592, 1680, 10], "map": "Underworld" } ] } ] }
]
}

View file

@ -13,11 +13,11 @@
"index": 1,
"id": 1,
"fileIndex": 1,
"name": "Trammel",
"name": "Underworld",
"width": 7168,
"height": 4096,
"season": 0,
"rules": "TrammelRules"
"rules": "UnderworldRules"
},
{
"index": 2,
@ -27,7 +27,7 @@
"width": 2304,
"height": 1600,
"season": 1,
"rules": "TrammelRules"
"rules": "UnderworldRules"
},
{
"index": 3,
@ -37,7 +37,7 @@
"width": 2560,
"height": 2048,
"season": 1,
"rules": "TrammelRules"
"rules": "UnderworldRules"
},
{
"index": 4,
@ -47,7 +47,7 @@
"width": 1448,
"height": 1448,
"season": 1,
"rules": "TrammelRules"
"rules": "UnderworldRules"
},
{
"index": 5,
@ -57,7 +57,7 @@
"width": 1280,
"height": 4096,
"season": 1,
"rules": "TrammelRules"
"rules": "UnderworldRules"
},
{
"index": 127,

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -10,7 +10,7 @@ namespace Server.Tests.Maps
{
[Theory]
[InlineData(MapSelectionFlags.Felucca, "Felucca")]
[InlineData(MapSelectionFlags.Felucca | MapSelectionFlags.Trammel, "Felucca, Trammel")]
[InlineData(MapSelectionFlags.Felucca | MapSelectionFlags.Underworld, "Felucca, Underworld")]
public void TestCommaSeparatedList(MapSelectionFlags flags, string expected)
{
Assert.Equal(expected, flags.ToCommaDelimitedString());

View file

@ -13,8 +13,8 @@ public sealed class MapPatches : Packet
Stream.Write(Map.Felucca.Tiles.Patch.StaticBlocks);
Stream.Write(Map.Felucca.Tiles.Patch.LandBlocks);
Stream.Write(Map.Trammel.Tiles.Patch.StaticBlocks);
Stream.Write(Map.Trammel.Tiles.Patch.LandBlocks);
Stream.Write(Map.Underworld.Tiles.Patch.StaticBlocks);
Stream.Write(Map.Underworld.Tiles.Patch.LandBlocks);
Stream.Write(Map.Ilshenar.Tiles.Patch.StaticBlocks);
Stream.Write(Map.Ilshenar.Tiles.Patch.LandBlocks);
@ -40,4 +40,4 @@ public sealed class MapChange : Packet
Stream.Write((short)0x08);
Stream.Write((byte)map.MapID);
}
}
}

View file

@ -39,12 +39,12 @@ public sealed class CityInfo
x,
y,
z,
Map.Trammel
Map.Underworld
)
{
}
public CityInfo(string city, string building, int x, int y, int z) : this(city, building, 0, x, y, z, Map.Trammel)
public CityInfo(string city, string building, int x, int y, int z) : this(city, building, 0, x, y, z, Map.Underworld)
{
}

View file

@ -42,7 +42,7 @@ public enum ClientFlags
{
None = 0x00000000,
Veridia = 0x00000001,
Trammel = 0x00000002,
Underworld = 0x00000002,
Ilshenar = 0x00000004,
Malas = 0x00000008,
Tokuno = 0x00000010,

View file

@ -34,8 +34,8 @@ public enum MapRules
FreeMovement = 0x0002, // Anyone can move over anyone else without taking stamina loss
BeneficialRestrictions = 0x0004, // Disallow performing beneficial actions on criminals/murderers
HarmfulRestrictions = 0x0008, // Disallow performing harmful actions on innocents
TrammelRules = FreeMovement | BeneficialRestrictions | HarmfulRestrictions,
VeridiaRules = None
UnderworldRules = FreeMovement | BeneficialRestrictions | HarmfulRestrictions,
VeridiaRules = FreeMovement
}
/// <summary>
@ -91,7 +91,7 @@ public sealed partial class Map : IComparable<Map>, ISpanFormattable, ISpanParsa
public static Map[] Maps { get; } = new Map[0x100];
public static Map Veridia => Maps[0];
public static Map Trammel => Maps[1];
public static Map Underworld => Maps[1];
public static Map Ilshenar => Maps[2];
public static Map Malas => Maps[3];
public static Map Tokuno => Maps[4];

View file

@ -8,7 +8,7 @@ namespace Server.Maps;
public enum MapSelectionFlags
{
Veridia = 0x00000001,
Trammel = 0x00000002,
Underworld = 0x00000002,
Ilshenar = 0x00000004,
Malas = 0x00000008,
Tokuno = 0x00000010,

View file

@ -63,9 +63,9 @@ public class TileMatrix
public static void Configure()
{
// Set to true to support < 6.0.0 clients where map0.mul is both Veridia & Trammel
var isPre6000Trammel = UOClient.ServerClientVersion != null && UOClient.ServerClientVersion < ClientVersion.Version6000;
Pre6000ClientSupport = ServerConfiguration.GetSetting("maps.enablePre6000Trammel", isPre6000Trammel);
// Set to true to support < 6.0.0 clients where map0.mul is both Veridia & Underworld
var isPre6000Underworld = UOClient.ServerClientVersion != null && UOClient.ServerClientVersion < ClientVersion.Version6000;
Pre6000ClientSupport = ServerConfiguration.GetSetting("maps.enablePre6000Underworld", isPre6000Underworld);
}
public TileMatrix(Map owner, int fileIndex, int mapID, int width, int height)

View file

@ -1,4 +1,4 @@
using System;
using System;
using System.IO;
using System.Reflection;
using System.Threading;
@ -112,7 +112,7 @@ internal static class TestServerInitializer
if (TileDataLoaded)
{
VerifyTrammelTileDataLoaded();
VerifyUnderworldTileDataLoaded();
}
_initialized = true;
@ -141,13 +141,13 @@ internal static class TestServerInitializer
return true;
}
private static void VerifyTrammelTileDataLoaded()
private static void VerifyUnderworldTileDataLoaded()
{
var trammel = Map.Maps[1];
if (trammel == null)
{
throw new InvalidOperationException(
"Trammel (mapId=1) was not registered. Check TestMapDefinitions."
"Underworld (mapId=1) was not registered. Check TestMapDefinitions."
);
}
@ -155,7 +155,7 @@ internal static class TestServerInitializer
if (tile.ID == 0)
{
throw new InvalidOperationException(
$"Trammel tile data did not load — GetLandTile(1500,1600) returned ID 0. " +
$"Underworld tile data did not load — GetLandTile(1500,1600) returned ID 0. " +
$"Verify Distribution/Data/map1*.mul (or map1LegacyMUL.uop) is present at " +
$"{Path.Combine(Core.BaseDirectory, "Data")}."
);

View file

@ -80,7 +80,7 @@ public class StepProbeTests
}
[Fact]
public void ComputeMaskAt_TrammelOpenPlain_HasFlatCellWithAllDirectionsWalkable()
public void ComputeMaskAt_UnderworldOpenPlain_HasFlatCellWithAllDirectionsWalkable()
{
// Invariant: somewhere in the open-plain region, there must be a fully-flat cell
// whose mask is 0xFF and all 8 destZ values equal sourceZ (no slope).
@ -183,10 +183,10 @@ public class StepProbeTests
}
[SkippableFact]
public void ComputeMaskAt_PinnedCell_TrammelOpenPlainOrigin()
public void ComputeMaskAt_PinnedCell_UnderworldOpenPlainOrigin()
{
TileDataRequirement.SkipIfMissing();
// PINNING test: locks specific output for Trammel (1500, 1600).
// PINNING test: locks specific output for Underworld (1500, 1600).
// Cell at z=10 with mask 0xC1 (N + W + NW only walkable). The other five
// directions are blocked by water (E/SE/S/SW are wet tiles, NE is shore).
// If this changes, either the baker logic changed or the underlying tile
@ -220,7 +220,7 @@ public class StepProbeTests
public void ComputeMaskAt_PinnedCell_BritainInnDenseOrigin()
{
TileDataRequirement.SkipIfMissing();
// PINNING test: locks specific output for Trammel (1480, 1610).
// PINNING test: locks specific output for Underworld (1480, 1610).
// Cell at z=20 with mask 0x3F (N/NE/E/SE/S/SW walkable, W/NW blocked by
// a wall to the west). All walkable directions stay flat at z=20.
var map = Map.Maps[1];

View file

@ -15,7 +15,7 @@ public class TestMapItemPackets
[InlineData(ProtocolChanges.None)]
public void TestSendMapDetails(ProtocolChanges changes)
{
var mapItem = new MapItem(Map.Trammel);
var mapItem = new MapItem(Map.Underworld);
using var ns = PacketTestUtilities.CreateTestNetState();
ns.ProtocolChanges = changes;
@ -35,7 +35,7 @@ public class TestMapItemPackets
[InlineData(7, 0, 0, 0)]
public void TestSendMapCommand(int command, int number, int x, int y)
{
var mapItem = new MapItem(Map.Trammel);
var mapItem = new MapItem(Map.Underworld);
var expected = new MapCommand(mapItem, command, number, x, y).Compile();

View file

@ -172,7 +172,7 @@ public class DetectHiddenTests
}
/// <summary>
/// Passive detection only works on Felucca. A stealther on Trammel
/// Passive detection only works on Felucca. A stealther on Underworld
/// should never be revealed by passive detection.
/// </summary>
[Fact]
@ -180,7 +180,7 @@ public class DetectHiddenTests
{
using var rng = new PredictableRandom(10);
DetectHidden.ClearDebounceCache();
var map = Map.Trammel;
var map = Map.Underworld;
var detector = CreatePlayerMobile(map, new Point3D(2000, 500, 0));
var stealther = CreatePlayerMobile(map, new Point3D(2001, 500, 0));

View file

@ -35,7 +35,7 @@ namespace Server.Commands
NetState.FlushAll();
Generate("Data/Decoration/Overworld", Map.Veridia);
Generate("Data/Decoration/Underworld", Map.Trammel);
Generate("Data/Decoration/Underworld", Map.Underworld);
m_Mobile.SendMessage($"World generating complete. {m_Count} items were generated.");
}

View file

@ -52,9 +52,9 @@ namespace Server.Commands
}
}
Map[] brit = { Map.Veridia, Map.Trammel };
Map[] brit = { Map.Veridia, Map.Underworld };
Map[] fel = { Map.Veridia };
Map[] tram = { Map.Trammel };
Map[] tram = { Map.Underworld };
Map[] ilsh = { Map.Ilshenar };
Map[] malas = { Map.Malas };
Map[] tokuno = { Map.Tokuno };

View file

@ -18,7 +18,7 @@ public enum AdvancedSearchFilterOptions : long
FilterAgeDirection = 0x00000400,
HideValidInternalMap = 0x00000800,
FilterVeridia = 0x00001000,
FilterTrammel = 0x00002000,
FilterUnderworld = 0x00002000,
FilterIlshenar = 0x00004000,
FilterMalas = 0x00008000,
FilterTokuno = 0x00010000,
@ -102,10 +102,10 @@ public record AdvancedSearchFilter
set => SetOptionsFlag(AdvancedSearchFilterOptions.FilterVeridia, value);
}
public bool FilterTrammel
public bool FilterUnderworld
{
get => GetOptionsFlag(AdvancedSearchFilterOptions.FilterTrammel);
set => SetOptionsFlag(AdvancedSearchFilterOptions.FilterTrammel, value);
get => GetOptionsFlag(AdvancedSearchFilterOptions.FilterUnderworld);
set => SetOptionsFlag(AdvancedSearchFilterOptions.FilterUnderworld, value);
}
public bool FilterIlshenar

View file

@ -197,7 +197,7 @@ public class AdvancedSearchGump : Gump
y += 20;
AddCheck(5, y, 0xD2, 0xD3, Filter.FilterVeridia, 308);
AddLabel(28, y, 0x384, "Fel");
AddCheck(75, y, 0xD2, 0xD3, Filter.FilterTrammel, 309);
AddCheck(75, y, 0xD2, 0xD3, Filter.FilterUnderworld, 309);
AddLabel(98, y, 0x384, "Tram");
y += 20;
@ -428,7 +428,7 @@ public class AdvancedSearchGump : Gump
Filter.FilterType = info.IsSwitched(305);
Filter.FilterName = info.IsSwitched(306);
Filter.FilterVeridia = info.IsSwitched(308);
Filter.FilterTrammel = info.IsSwitched(309);
Filter.FilterUnderworld = info.IsSwitched(309);
Filter.FilterMalas = info.IsSwitched(310);
Filter.FilterIlshenar = info.IsSwitched(311);
Filter.FilterInternalMap = info.IsSwitched(312);

View file

@ -160,7 +160,7 @@ public class AdvancedSearchThreadWorker
// Check for valid map
if (_filter.FilterVeridia && entity.Map != Map.Veridia ||
_filter.FilterTrammel && entity.Map != Map.Trammel ||
_filter.FilterUnderworld && entity.Map != Map.Underworld ||
_filter.FilterIlshenar && entity.Map != Map.Ilshenar ||
_filter.FilterMalas && entity.Map != Map.Malas ||
_filter.FilterTokuno && entity.Map != Map.Tokuno ||

View file

@ -624,7 +624,7 @@ public partial class ChampionSpawn : Item
{
mapChance = 0.0015;
}
else // Nothing drops in Trammel, Malas or TerMur
else // Nothing drops in Underworld, Malas or TerMur
{
continue;
}

View file

@ -80,9 +80,9 @@ public static partial class CharacterCreation
public static readonly CityInfo[] OldHavenStartingCities =
[
new("Haven", "The Bountiful Harvest Inn", 3677, 2625, 0, Map.Trammel),
new("Britain", "Sweet Dreams Inn", 1075074, 1496, 1628, 10, Map.Trammel),
new("Magincia", "The Great Horns Tavern", 1075077, 3734, 2222, 20, Map.Trammel),
new("Haven", "The Bountiful Harvest Inn", 3677, 2625, 0, Map.Underworld),
new("Britain", "Sweet Dreams Inn", 1075074, 1496, 1628, 10, Map.Underworld),
new("Magincia", "The Great Horns Tavern", 1075077, 3734, 2222, 20, Map.Underworld),
];
public static readonly CityInfo[] VeridiaStartingCities =
@ -98,21 +98,21 @@ public static partial class CharacterCreation
new("Vesper", "The Ironwood Inn", 1075080, 2771, 976, 0, Map.Veridia)
];
public static readonly CityInfo[] TrammelStartingCities =
public static readonly CityInfo[] UnderworldStartingCities =
[
new("Yew", "The Empath Abbey", 1075072, 633, 858, 0, Map.Trammel),
new("Minoc", "The Barnacle", 1075073, 2476, 413, 15, Map.Trammel),
new("Moonglow", "The Scholars Inn", 1075075, 4408, 1168, 0, Map.Trammel),
new("Trinsic", "The Traveler's Inn", 1075076, 1845, 2745, 0, Map.Trammel),
new("Jhelom", "The Mercenary Inn", 1075078, 1374, 3826, 0, Map.Trammel),
new("Skara Brae", "The Falconer's Inn", 1075079, 618, 2234, 0, Map.Trammel),
new("Vesper", "The Ironwood Inn", 1075080, 2771, 976, 0, Map.Trammel),
new("Yew", "The Empath Abbey", 1075072, 633, 858, 0, Map.Underworld),
new("Minoc", "The Barnacle", 1075073, 2476, 413, 15, Map.Underworld),
new("Moonglow", "The Scholars Inn", 1075075, 4408, 1168, 0, Map.Underworld),
new("Trinsic", "The Traveler's Inn", 1075076, 1845, 2745, 0, Map.Underworld),
new("Jhelom", "The Mercenary Inn", 1075078, 1374, 3826, 0, Map.Underworld),
new("Skara Brae", "The Falconer's Inn", 1075079, 618, 2234, 0, Map.Underworld),
new("Vesper", "The Ironwood Inn", 1075080, 2771, 976, 0, Map.Underworld),
];
public static readonly CityInfo[] NewHavenStartingCities =
[
new("New Haven", "The Bountiful Harvest Inn", 1150168, 3503, 2574, 14, Map.Trammel),
new("Britain", "The Wayfarer's Inn", 1075074, 1602, 1591, 20, Map.Trammel)
new("New Haven", "The Bountiful Harvest Inn", 1150168, 3503, 2574, 14, Map.Underworld),
new("Britain", "The Wayfarer's Inn", 1075074, 1602, 1591, 20, Map.Underworld)
// Magincia removed because it burned down.
];
@ -130,22 +130,22 @@ public static partial class CharacterCreation
{
var pre6000ClientSupport = TileMatrix.Pre6000ClientSupport;
var availableMaps = ExpansionInfo.CoreExpansion.MapSelectionFlags;
var trammelAvailable = availableMaps.Includes(MapSelectionFlags.Trammel);
var trammelAvailable = availableMaps.Includes(MapSelectionFlags.Underworld);
var terMerAvailable = availableMaps.Includes(MapSelectionFlags.TerMur);
if (trammelAvailable)
{
if (pre6000ClientSupport)
{
return [..OldHavenStartingCities, ..TrammelStartingCities];
return [..OldHavenStartingCities, ..UnderworldStartingCities];
}
if (terMerAvailable)
{
return [..NewHavenStartingCities, ..TrammelStartingCities, ..StartingCitiesSA];
return [..NewHavenStartingCities, ..UnderworldStartingCities, ..StartingCitiesSA];
}
return [..NewHavenStartingCities, ..TrammelStartingCities];
return [..NewHavenStartingCities, ..UnderworldStartingCities];
}
if (availableMaps.Includes(MapSelectionFlags.Veridia))
@ -308,7 +308,7 @@ public static partial class CharacterCreation
if (m.AccessLevel > AccessLevel.Player)
{
var map = availableMaps.Includes(MapSelectionFlags.Veridia) ? Map.Veridia : Map.Trammel;
var map = availableMaps.Includes(MapSelectionFlags.Veridia) ? Map.Veridia : Map.Underworld;
if (availableMaps.Includes(MapSelectionFlags.Veridia))
{
return new CityInfo("Green Acres", "Green Acres", 5445, 1153, 0, map);
@ -337,7 +337,7 @@ public static partial class CharacterCreation
* installation and cannot be transported to Malas.
* You will not be able to take your new player quest in Malas
* without an AOS client. You are now being taken to the city of
* Haven on the Trammel facet.
* Haven on the Underworld facet.
*/
Timer.StartTimer(BadStartMessageDelay, () => m.SendLocalizedMessage(1062205));
return GetStartingCities()[0];
@ -363,7 +363,7 @@ public static partial class CharacterCreation
* installation and cannot be transported to Tokuno.
* You will not be able to take your new player quest in Tokuno
* without an SE client. You are now being taken to the city of
* Haven on the Trammel facet.
* Haven on the Underworld facet.
*/
Timer.StartTimer(BadStartMessageDelay, () => m.SendLocalizedMessage(1063487));
return GetStartingCities()[0];
@ -385,7 +385,7 @@ public static partial class CharacterCreation
* installation and cannot be transported to Tokuno.
* You will not be able to take your new player quest in Tokuno
* without an SE client. You are now being taken to the city of
* Haven on the Trammel facet.
* Haven on the Underworld facet.
*/
Timer.StartTimer(BadStartMessageDelay, () => m.SendLocalizedMessage(1063487));
return GetStartingCities()[0];

View file

@ -1439,7 +1439,7 @@ namespace Server.Engines.Craft
{
item = customCraft.CompleteCraft(out num);
}
else if (typeof(MapItem).IsAssignableFrom(ItemType) && from.Map != Map.Trammel && from.Map != Map.Veridia)
else if (typeof(MapItem).IsAssignableFrom(ItemType) && from.Map != Map.Underworld && from.Map != Map.Veridia)
{
item = new IndecipherableMap();
from.SendLocalizedMessage(1070800); // The map you create becomes mysteriously indecipherable.

View file

@ -200,7 +200,7 @@ namespace Server.Engines.Harvest
{
foreach (var sos in pack.FindItemsByType<SOS>())
{
if ((from.Map == Map.Veridia || from.Map == Map.Trammel) && from.InRange(sos.TargetLocation, 60))
if ((from.Map == Map.Veridia || from.Map == Map.Underworld) && from.InRange(sos.TargetLocation, 60))
{
return true;
}
@ -215,7 +215,7 @@ namespace Server.Engines.Harvest
if (type == typeof(TreasureMap))
{
int level;
if (from is PlayerMobile mobile && mobile.Young && mobile.Map == Map.Trammel &&
if (from is PlayerMobile mobile && mobile.Young && mobile.Map == Map.Underworld &&
TreasureMap.IsInHavenIsland(from))
{
level = 0;
@ -225,12 +225,12 @@ namespace Server.Engines.Harvest
level = 1;
}
return new TreasureMap(level, from.Map == Map.Veridia ? Map.Veridia : Map.Trammel);
return new TreasureMap(level, from.Map == Map.Veridia ? Map.Veridia : Map.Underworld);
}
if (type == typeof(MessageInABottle))
{
return new MessageInABottle(from.Map == Map.Veridia ? Map.Veridia : Map.Trammel);
return new MessageInABottle(from.Map == Map.Veridia ? Map.Veridia : Map.Underworld);
}
var pack = from.Backpack;
@ -240,7 +240,7 @@ namespace Server.Engines.Harvest
// We don't have to queue since we are returning on the first SOS.
foreach (var sos in pack.FindItemsByType<SOS>())
{
if ((from.Map == Map.Veridia || from.Map == Map.Trammel) && from.InRange(sos.TargetLocation, 60))
if ((from.Map == Map.Veridia || from.Map == Map.Underworld) && from.InRange(sos.TargetLocation, 60))
{
Item preLoot = null;

View file

@ -187,7 +187,7 @@ public sealed class HelpGump : DynamicGump
* <BR>
* PHYSICAL HARASSMENT<BR>
* Use this option when another player is harassing your character using game mechanics.
* Physical harassment includes but is not limited to luring, Kill Stealing, and any act that causes a players death in Trammel.
* Physical harassment includes but is not limited to luring, Kill Stealing, and any act that causes a players death in Underworld.
* Before you submit a complaint be sure you understand what constitutes harassment
* <A HREF="http://uo.custhelp.com/cgi-bin/uo.cfg/php/enduser/std_adp.php?p_faqid=59"> - what is physical harassment?</A>
* and that you have followed these steps:<BR>
@ -367,7 +367,7 @@ public sealed class HelpGump : DynamicGump
}
else
{
from.MoveToWorld(new Point3D(3503, 2574, 14), Map.Trammel);
from.MoveToWorld(new Point3D(3503, 2574, 14), Map.Underworld);
}
}

View file

@ -160,7 +160,7 @@ namespace Server.Menus.Questions
}
private static bool IsInSecondAgeArea(Mobile m) =>
(m.Map == Map.Trammel || m.Map == Map.Veridia) &&
(m.Map == Map.Underworld || m.Map == Map.Veridia) &&
(m.X >= 5120 && m.Y >= 2304 || m.Region.IsPartOf("Terathan Keep"));
public void BeginClose()
@ -290,9 +290,9 @@ namespace Server.Menus.Questions
var dest = m_Destination.Locations.RandomElement();
Map destMap;
if (m_Mobile.Map == Map.Trammel)
if (m_Mobile.Map == Map.Underworld)
{
destMap = Map.Trammel;
destMap = Map.Underworld;
}
else if (m_Mobile.Map == Map.Veridia)
{
@ -300,7 +300,7 @@ namespace Server.Menus.Questions
}
else
{
destMap = m_Mobile.Murderer ? Map.Veridia : Map.Trammel;
destMap = m_Mobile.Murderer ? Map.Veridia : Map.Underworld;
}
BaseCreature.TeleportPets(m_Mobile, dest, destMap);

View file

@ -65,13 +65,13 @@ public partial class GreenThorns : Item
return;
}
if (from.Map != Map.Trammel && from.Map != Map.Veridia)
if (from.Map != Map.Underworld && from.Map != Map.Veridia)
{
from.LocalOverheadMessage(
MessageType.Regular,
0x2B2,
true,
"No solen lairs exist on this facet. Try again in Trammel or Veridia."
"No solen lairs exist on this facet. Try again in Underworld or Veridia."
);
return;
}

View file

@ -55,7 +55,7 @@ namespace Server.Engines.Quests.Collector
public class SitOnTheStoolObjective : QuestObjective
{
private static readonly Point3D m_StoolLocation = new(2899, 706, 0);
private static readonly Map m_StoolMap = Map.Trammel;
private static readonly Map m_StoolMap = Map.Underworld;
private DateTime m_Begin;

View file

@ -13,7 +13,7 @@ public partial class EnchantedSextant : Item
// TODO: Use region types/names or types
// TODO: Add Tokuno/TerMur?
// TODO: Trammel/Haven
// TODO: Underworld/Haven
private static readonly Point2D[] _trammelBanks =
{
new(652, 820),
@ -91,10 +91,10 @@ public partial class EnchantedSextant : Item
Point2D[] banks;
PMList moongates;
if (from.Map == Map.Trammel)
if (from.Map == Map.Underworld)
{
banks = _trammelBanks;
moongates = PMList.Trammel;
moongates = PMList.Underworld;
}
else if (from.Map == Map.Veridia)
{

View file

@ -55,9 +55,9 @@ public partial class HornOfRetreat : Item
{
SendLocalizedMessageTo(from, 500309); // Nothing Happens.
}
else if (Core.ML && from.Map != Map.Trammel && from.Map != Map.Malas)
else if (Core.ML && from.Map != Map.Underworld && from.Map != Map.Malas)
{
from.SendLocalizedMessage(1076154); // You can only use this in Trammel and Malas.
from.SendLocalizedMessage(1076154); // You can only use this in Underworld and Malas.
}
else if (_timerToken.Running)
{

View file

@ -27,7 +27,7 @@ namespace Server.Engines.Quests.Naturalist
{
var nest = m_CurrentNest;
if ((from.Map == Map.Trammel || from.Map == Map.Veridia) && nest.Contains(from.Location))
if ((from.Map == Map.Underworld || from.Map == Map.Veridia) && nest.Contains(from.Location))
{
if (m_StudyState != StudyState.Inactive)
{
@ -74,7 +74,7 @@ namespace Server.Engines.Quests.Naturalist
m_CurrentNest = null;
}
}
else if (from.Map == Map.Trammel || from.Map == Map.Veridia)
else if (from.Map == Map.Underworld || from.Map == Map.Veridia)
{
var nest = NestArea.Find(from.Location);

View file

@ -10,7 +10,7 @@ public partial class UzeraanTurmoilHorn : HornOfRetreat
public UzeraanTurmoilHorn()
{
DestLoc = new Point3D(3597, 2582, 0);
DestMap = Map.Trammel;
DestMap = Map.Underworld;
}
public override bool ValidateUse(Mobile from) => from is PlayerMobile pm && pm.Quest is UzeraanTurmoilQuest;

View file

@ -25,7 +25,7 @@ public partial class UzeraanTurmoilTeleporter : DynamicTeleporter
|| UzeraanTurmoilQuest.HasLostScrollOfPower(player))
{
loc = new Point3D(5222, 1858, 0);
map = Map.Trammel;
map = Map.Underworld;
return true;
}
@ -33,7 +33,7 @@ public partial class UzeraanTurmoilTeleporter : DynamicTeleporter
|| UzeraanTurmoilQuest.HasLostFertileDirt(player))
{
loc = new Point3D(3557, 2690, 2);
map = Map.Trammel;
map = Map.Underworld;
return true;
}
@ -42,14 +42,14 @@ public partial class UzeraanTurmoilTeleporter : DynamicTeleporter
|| UzeraanTurmoilQuest.HasLostDaemonBone(player)))
{
loc = new Point3D(3422, 2653, 48);
map = Map.Trammel;
map = Map.Underworld;
return true;
}
if (qs.IsObjectiveInProgress(typeof(CashBankCheckObjective)))
{
loc = new Point3D(3624, 2610, 0);
map = Map.Trammel;
map = Map.Underworld;
return true;
}

View file

@ -224,7 +224,7 @@ public partial class Uzeraan : BaseQuester
{
var cont = GetNewContainer();
cont.DropItem(new TreasureMap(player.Young ? 0 : 1, Map.Trammel));
cont.DropItem(new TreasureMap(player.Young ? 0 : 1, Map.Underworld));
cont.DropItem(new Shovel());
cont.DropItem(new UzeraanTurmoilHorn());

View file

@ -160,7 +160,7 @@ namespace Server.Engines.Quests.Haven
public override bool IgnoreYoungProtection(Mobile from)
{
// This restriction continues until the quest is ended
if (from is HordeMinion && from.Map == Map.Trammel && from.X >= 3314 && from.X <= 3814 && from.Y >= 2345 &&
if (from is HordeMinion && from.Map == Map.Underworld && from.X >= 3314 && from.X <= 3814 && from.Y >= 2345 &&
from.Y <= 3095) // Haven island
{
return true;
@ -171,7 +171,7 @@ namespace Server.Engines.Quests.Haven
public override void OnKill(BaseCreature creature, Container corpse)
{
if (creature is HordeMinion && corpse.Map == Map.Trammel && corpse.X >= 3314 && corpse.X <= 3814 &&
if (creature is HordeMinion && corpse.Map == Map.Underworld && corpse.X >= 3314 && corpse.X <= 3814 &&
corpse.Y >= 2345 && corpse.Y <= 3095) // Haven island
{
if (CurProgress == 0)
@ -248,7 +248,7 @@ namespace Server.Engines.Quests.Haven
public override bool IgnoreYoungProtection(Mobile from)
{
// This restriction begins when this objective is completed, and continues until the quest is ended
if (Completed && from is RestlessSoul && from.Map == Map.Trammel && from.X >= 5199 && from.X <= 5271 &&
if (Completed && from is RestlessSoul && from.Map == Map.Underworld && from.X >= 5199 && from.X <= 5271 &&
from.Y >= 1812 && from.Y <= 1865) // Schmendrick's cave
{
return true;
@ -313,13 +313,13 @@ namespace Server.Engines.Quests.Haven
{
var player = System.From;
if (!m_Ambushed && player.Map == Map.Trammel && player.InRange(new Point3D(3456, 2558, 50), 30))
if (!m_Ambushed && player.Map == Map.Underworld && player.InRange(new Point3D(3456, 2558, 50), 30))
{
var x = player.X - 1;
var y = player.Y - 2;
var z = Map.Trammel.GetAverageZ(x, y);
var z = Map.Underworld.GetAverageZ(x, y);
if (Map.Trammel.CanSpawnMobile(x, y, z))
if (Map.Underworld.CanSpawnMobile(x, y, z))
{
m_Ambushed = true;
@ -330,7 +330,7 @@ namespace Server.Engines.Quests.Haven
); // You have been ambushed! Fight for your honor!!!
var creature = new HordeMinion();
creature.MoveToWorld(new Point3D(x, y, z), Map.Trammel);
creature.MoveToWorld(new Point3D(x, y, z), Map.Underworld);
creature.Combatant = player;
}
}
@ -395,7 +395,7 @@ namespace Server.Engines.Quests.Haven
public override bool IgnoreYoungProtection(Mobile from)
{
// This restriction continues until the end of the quest
if (from is Zombie or Skeleton && from.Map == Map.Trammel && from.X >= 3391 && from.X <= 3424 &&
if (from is Zombie or Skeleton && from.Map == Map.Underworld && from.X >= 3391 && from.X <= 3424 &&
from.Y >= 2639 && from.Y <= 2664) // Haven graveyard
{
return true;
@ -416,7 +416,7 @@ namespace Server.Engines.Quests.Haven
public override void OnKill(BaseCreature creature, Container corpse)
{
if (creature is Zombie or Skeleton && corpse.Map == Map.Trammel && corpse.X >= 3391 &&
if (creature is Zombie or Skeleton && corpse.Map == Map.Underworld && corpse.X >= 3391 &&
corpse.X <= 3424 && corpse.Y >= 2639 && corpse.Y <= 2664) // Haven graveyard
{
if (Utility.RandomDouble() < 0.25)

View file

@ -78,7 +78,7 @@ namespace Server.Engines.Quests.Haven
public override void Slice()
{
if (!m_HasLeftTheMansion &&
(From.Map != Map.Trammel || From.X is < 3573 or > 3611 || From.Y is < 2568 or > 2606))
(From.Map != Map.Underworld || From.X is < 3573 or > 3611 || From.Y is < 2568 or > 2606))
{
m_HasLeftTheMansion = true;
AddConversation(new RadarConversation());

View file

@ -39,7 +39,7 @@ public partial class MagicFlute : Item
return;
}
if (player.Map != Map.Trammel && player.Map != Map.Veridia || !player.InRange(obj.ImpLocation, 8))
if (player.Map != Map.Underworld && player.Map != Map.Veridia || !player.InRange(obj.ImpLocation, 8))
{
// Nothing happens. Zeefzorpul must not be hiding in this area.
player.SendLocalizedMessage(1055053);

View file

@ -41,7 +41,7 @@ namespace Server.Engines.Quests.Hag
var player = System.From;
var map = player.Map;
if (Corpse?.Deleted == false || map != Map.Trammel && map != Map.Veridia ||
if (Corpse?.Deleted == false || map != Map.Underworld && map != Map.Veridia ||
!player.InRange(m_CorpseLocation, 8))
{
return;

View file

@ -350,7 +350,7 @@ public static class ImportSpawnersCommand
{
var parts = line.Split('|');
var mapId = mapIdOverride != -1 ? mapIdOverride : int.Parse(parts[10]);
Map[] maps = mapId == 0 ? [Map.Veridia, Map.Trammel] : [Map.Maps[mapId - 1]];
Map[] maps = mapId == 0 ? [Map.Veridia, Map.Underworld] : [Map.Maps[mapId - 1]];
foreach (var map in maps)
{

View file

@ -4024,7 +4024,7 @@ namespace Server.Gumps
InvokeCommand("GenerateSpawners Data/Spawns/shared/ilshenar/**.json");
}
if (availableMaps.Includes(MapSelectionFlags.Trammel))
if (availableMaps.Includes(MapSelectionFlags.Underworld))
{
InvokeCommand($"GenerateSpawners Data/Spawns/{folder}/trammel/**.json");
InvokeCommand("GenerateSpawners Data/Spawns/shared/trammel/**.json");

View file

@ -44,7 +44,7 @@ public class RunebookGump : DynamicGump
public static int GetMapHue(Map map)
{
if (map == Map.Trammel)
if (map == Map.Underworld)
{
return 10;
}

View file

@ -283,7 +283,7 @@ namespace Server.Items
public static void AddSHTCouple(bool ext1, int x1, int y1, int z1, bool ext2, int x2, int y2, int z2)
{
AddSHTCouple(Map.Trammel, ext1, x1, y1, z1, ext2, x2, y2, z2);
AddSHTCouple(Map.Underworld, ext1, x1, y1, z1, ext2, x2, y2, z2);
AddSHTCouple(Map.Veridia, ext1, x1, y1, z1, ext2, x2, y2, z2);
}
@ -293,9 +293,9 @@ namespace Server.Items
AddSHTCouple(false, 5897, 1877, 0, false, 5871, 1867, 0);
AddSHTCouple(false, 5852, 1848, 0, false, 5771, 1867, 0);
var tele1 = AddSHT(Map.Trammel, false, 5747, 1895, 0);
var tele1 = AddSHT(Map.Underworld, false, 5747, 1895, 0);
tele1.LeftTele.TeleOffset = new Point3D(-1, 3, 0);
var tele2 = AddSHT(Map.Trammel, false, 5658, 1898, 0);
var tele2 = AddSHT(Map.Underworld, false, 5658, 1898, 0);
Link(tele1, tele2);
tele1 = AddSHT(Map.Veridia, false, 5747, 1895, 0);
@ -306,9 +306,9 @@ namespace Server.Items
AddSHTCouple(false, 5727, 1894, 0, false, 5756, 1794, 0);
AddSHTCouple(false, 5784, 1929, 0, false, 5700, 1929, 0);
tele1 = AddSHT(Map.Trammel, false, 5711, 1952, 0);
tele1 = AddSHT(Map.Underworld, false, 5711, 1952, 0);
tele1.LeftTele.TeleOffset = new Point3D(-1, 3, 0);
tele2 = AddSHT(Map.Trammel, false, 5657, 1954, 0);
tele2 = AddSHT(Map.Underworld, false, 5657, 1954, 0);
Link(tele1, tele2);
tele1 = AddSHT(Map.Veridia, false, 5711, 1952, 0);
@ -316,9 +316,9 @@ namespace Server.Items
tele2 = AddSHT(Map.Veridia, false, 5657, 1954, 0);
Link(tele1, tele2);
tele1 = AddSHT(Map.Trammel, false, 5655, 2018, 0);
tele1 = AddSHT(Map.Underworld, false, 5655, 2018, 0);
tele1.LeftTele.TeleOffset = new Point3D(-1, 3, 0);
tele2 = AddSHT(Map.Trammel, true, 1690, 2789, 0);
tele2 = AddSHT(Map.Underworld, true, 1690, 2789, 0);
Link(tele1, tele2);
tele1 = AddSHT(Map.Veridia, false, 5655, 2018, 0);
@ -328,9 +328,9 @@ namespace Server.Items
AddSHTCouple(false, 5809, 1905, 0, false, 5876, 1891, 0);
tele1 = AddSHT(Map.Trammel, false, 5814, 2015, 0);
tele1 = AddSHT(Map.Underworld, false, 5814, 2015, 0);
tele1.LeftTele.TeleOffset = new Point3D(-1, 3, 0);
tele2 = AddSHT(Map.Trammel, false, 5913, 1893, 0);
tele2 = AddSHT(Map.Underworld, false, 5913, 1893, 0);
Link(tele1, tele2);
tele1 = AddSHT(Map.Veridia, false, 5814, 2015, 0);
@ -340,10 +340,10 @@ namespace Server.Items
AddSHTCouple(false, 5919, 2021, 0, true, 1724, 814, 0);
tele1 = AddSHT(Map.Trammel, false, 5654, 1791, 0);
tele2 = AddSHT(Map.Trammel, true, 730, 1451, 0);
tele1 = AddSHT(Map.Underworld, false, 5654, 1791, 0);
tele2 = AddSHT(Map.Underworld, true, 730, 1451, 0);
Link(tele1, tele2);
AddSHT(Map.Trammel, false, 5734, 1859, 0).ChangeDest(tele2);
AddSHT(Map.Underworld, false, 5734, 1859, 0).ChangeDest(tele2);
tele1 = AddSHT(Map.Veridia, false, 5654, 1791, 0);
tele2 = AddSHT(Map.Veridia, true, 730, 1451, 0);

View file

@ -18,7 +18,7 @@ namespace Server.Items
{
var map = Map;
if (map == Map.Trammel || map == Map.Veridia)
if (map == Map.Underworld || map == Map.Veridia)
{
from.MoveToWorld(new Point3D(5922, 2024, 0), map);
// * ~1_NAME~ dives into the mysterious hole! *
@ -93,7 +93,7 @@ namespace Server.Items
var random = Utility.Random(3);
var map = Map;
if (map == Map.Trammel)
if (map == Map.Underworld)
{
if (random < 2)
{

View file

@ -184,6 +184,6 @@ public partial class ParagonChest : LockableContainer
DropItem(item);
}
DropItem(new TreasureMap(level + 1, Utility.RandomBool() ? Map.Veridia : Map.Trammel));
DropItem(new TreasureMap(level + 1, Utility.RandomBool() ? Map.Veridia : Map.Underworld));
}
}

View file

@ -185,7 +185,7 @@ public partial class TreasureMapChest : LockableContainer
if (Utility.RandomDouble() < 0.75)
{
cont.DropItem(new TreasureMap(0, Map.Trammel));
cont.DropItem(new TreasureMap(0, Map.Underworld));
}
}
else

View file

@ -692,7 +692,7 @@ public abstract partial class BaseBeverage : Item, IHasQuantity
var vat = component.Addon;
if (vat.X > 5784 && vat.X < 5814 && vat.Y > 1903 && vat.Y < 1934 &&
(qs.RedSolen && vat.Map == Map.Trammel || !qs.RedSolen && vat.Map == Map.Veridia))
(qs.RedSolen && vat.Map == Map.Underworld || !qs.RedSolen && vat.Map == Map.Veridia))
{
if (obj.CurProgress + Quantity > obj.MaxProgress)
{

View file

@ -107,7 +107,7 @@ public partial class MapItem : Item, ICraftable
{
var ns = from.NetState;
if (!ns.NewCharacterList && _facet != null && _facet != Map.Veridia && _facet != Map.Trammel)
if (!ns.NewCharacterList && _facet != null && _facet != Map.Veridia && _facet != Map.Underworld)
{
from.SendMessage("You must have client 7.0.13.0 or higher to display this map.");
return;

View file

@ -477,7 +477,7 @@ public partial class TreasureMap : MapItem
{
base.GetProperties(list);
list.Add(_chestMap == Map.Veridia ? 1041502 : 1041503); // for somewhere in Veridia : for somewhere in Trammel
list.Add(_chestMap == Map.Veridia ? 1041502 : 1041503); // for somewhere in Veridia : for somewhere in Underworld
if (_completed)
{

View file

@ -8,7 +8,7 @@ namespace Server.Items;
public enum MoonstoneType
{
Veridia,
Trammel
Underworld
}
[SerializationGenerator(1, false)]
@ -56,7 +56,7 @@ public partial class Moonstone : Item
{
from.SendLocalizedMessage(1061632); // You can't do that while carrying the sigil.
}
else if (from.Map == GetTargetMap() || from.Map != Map.Trammel && from.Map != Map.Veridia)
else if (from.Map == GetTargetMap() || from.Map != Map.Underworld && from.Map != Map.Veridia)
{
from.SendLocalizedMessage(1005401); // You cannot bury the stone here.
}
@ -93,7 +93,7 @@ public partial class Moonstone : Item
}
}
public Map GetTargetMap() => _type == MoonstoneType.Veridia ? Map.Veridia : Map.Trammel;
public Map GetTargetMap() => _type == MoonstoneType.Veridia ? Map.Veridia : Map.Underworld;
private void Deserialize(IGenericReader reader, int version)
{

View file

@ -106,7 +106,7 @@ public partial class PublicMoongate : Item
var count = 0;
count += MoonGen(PMList.Trammel, MapSelectionFlags.Trammel);
count += MoonGen(PMList.Underworld, MapSelectionFlags.Underworld);
count += MoonGen(PMList.Veridia, MapSelectionFlags.Veridia);
count += MoonGen(PMList.Ilshenar, MapSelectionFlags.Ilshenar);
count += MoonGen(PMList.Malas, MapSelectionFlags.Malas);
@ -176,11 +176,11 @@ public class PMEntry
public class PMList
{
public static readonly PMList Trammel =
public static readonly PMList Underworld =
new(
1012000,
1012012,
Map.Trammel,
Map.Underworld,
[
new PMEntry(new Point3D(4467, 1283, 5), 1012003), // Moonglow
new PMEntry(new Point3D(1336, 1997, 5), 1012004), // Britain
@ -190,7 +190,7 @@ public class PMList
new PMEntry(new Point3D(1828, 2948, -20), 1012008), // Trinsic
new PMEntry(new Point3D(643, 2067, 5), 1012009), // Skara Brae
/* Dynamic Z for Magincia to support both old and new maps. */
new PMEntry(new Point3D(3563, 2139, Map.Trammel.GetAverageZ(3563, 2139)), 1012010), // (New) Magincia
new PMEntry(new Point3D(3563, 2139, Map.Underworld.GetAverageZ(3563, 2139)), 1012010), // (New) Magincia
new PMEntry(new Point3D(3450, 2677, 25), 1078098) // New Haven
]
);
@ -276,19 +276,19 @@ public class PMList
]
);
public static readonly PMList[] NoTrammelLists = [Veridia];
public static readonly PMList[] T2ALists = [Trammel, Veridia];
public static readonly PMList[] T2AListsYoung = [Trammel];
public static readonly PMList[] LBRLists = [Trammel, Veridia, Ilshenar];
public static readonly PMList[] LBRListsYoung = [Trammel, Ilshenar];
public static readonly PMList[] AOSLists = [Trammel, Veridia, Ilshenar, Malas];
public static readonly PMList[] AOSListsYoung = [Trammel, Ilshenar, Malas];
public static readonly PMList[] SELists = [Trammel, Veridia, Ilshenar, Malas, Tokuno];
public static readonly PMList[] SEListsYoung = [Trammel, Ilshenar, Malas, Tokuno];
public static readonly PMList[] SALists = [Trammel, Veridia, Ilshenar, Malas, Tokuno, TerMur];
public static readonly PMList[] SAListsYoung = [Trammel, Ilshenar, Malas, Tokuno, TerMur];
public static readonly PMList[] TOLLists = [Trammel, Veridia, Ilshenar, Malas, Tokuno, TerMurEodon];
public static readonly PMList[] TOLListsYoung = [Trammel, Ilshenar, Malas, Tokuno, TerMurEodon];
public static readonly PMList[] NoUnderworldLists = [Veridia];
public static readonly PMList[] T2ALists = [Underworld, Veridia];
public static readonly PMList[] T2AListsYoung = [Underworld];
public static readonly PMList[] LBRLists = [Underworld, Veridia, Ilshenar];
public static readonly PMList[] LBRListsYoung = [Underworld, Ilshenar];
public static readonly PMList[] AOSLists = [Underworld, Veridia, Ilshenar, Malas];
public static readonly PMList[] AOSListsYoung = [Underworld, Ilshenar, Malas];
public static readonly PMList[] SELists = [Underworld, Veridia, Ilshenar, Malas, Tokuno];
public static readonly PMList[] SEListsYoung = [Underworld, Ilshenar, Malas, Tokuno];
public static readonly PMList[] SALists = [Underworld, Veridia, Ilshenar, Malas, Tokuno, TerMur];
public static readonly PMList[] SAListsYoung = [Underworld, Ilshenar, Malas, Tokuno, TerMur];
public static readonly PMList[] TOLLists = [Underworld, Veridia, Ilshenar, Malas, Tokuno, TerMurEodon];
public static readonly PMList[] TOLListsYoung = [Underworld, Ilshenar, Malas, Tokuno, TerMurEodon];
public static readonly PMList[] RedLists = [Veridia];
public static readonly PMList[] SigilLists = [Veridia];
@ -359,9 +359,9 @@ public class MoongateGump : DynamicGump
>= Expansion.AOS when (flags & ClientFlags.Malas) != 0 => young ? PMList.AOSListsYoung : PMList.AOSLists,
>= Expansion.LBR when (flags & ClientFlags.Ilshenar) != 0 =>
young ? PMList.LBRListsYoung : PMList.LBRLists,
>= Expansion.T2A when (flags & ClientFlags.Trammel) != 0 =>
>= Expansion.T2A when (flags & ClientFlags.Underworld) != 0 =>
young ? PMList.T2AListsYoung : PMList.T2ALists,
_ => PMList.NoTrammelLists
_ => PMList.NoUnderworldLists
};
}

View file

@ -17,7 +17,7 @@ public partial class MessageInABottle : Item
[Constructible]
public MessageInABottle(Map map, int level) : base(0x099F)
{
TargetMap = map ?? Map.Trammel;
TargetMap = map ?? Map.Underworld;
_level = level;
}

View file

@ -79,7 +79,7 @@ public partial class SOS : Item
{
_level = level;
MessageIndex = Utility.Random(MessageEntries.Length);
TargetMap = map ?? Map.Trammel;
TargetMap = map ?? Map.Underworld;
TargetLocation = FindLocation(TargetMap);
UpdateHue();
@ -151,7 +151,7 @@ public partial class SOS : Item
Rectangle2D[] regions;
if (map == Map.Veridia || map == Map.Trammel)
if (map == Map.Veridia || map == Map.Underworld)
{
regions = BritRegions;
}

View file

@ -33,7 +33,7 @@ public partial class Sextant : Item
xWidth = 5120;
yHeight = 4096;
if (map == Map.Trammel || map == Map.Veridia)
if (map == Map.Underworld || map == Map.Veridia)
{
if (x >= 0 && y >= 0 && x < 5120 && y < 4096)
{

View file

@ -291,7 +291,7 @@ public partial class SpecialFishingNet : Item
if (spawn is Kraken && Utility.RandomDouble() < 0.2)
{
spawn.PackItem(new MessageInABottle(map == Map.Veridia ? Map.Veridia : Map.Trammel));
spawn.PackItem(new MessageInABottle(map == Map.Veridia ? Map.Veridia : Map.Underworld));
}
}

View file

@ -95,7 +95,7 @@ public partial class RecallRune : Item
{
Hue = 0;
}
else if (_targetMap == Map.Trammel)
else if (_targetMap == Map.Underworld)
{
Hue = House != null ? 0x47F : 50;
}
@ -195,9 +195,9 @@ public partial class RecallRune : Item
{
list.Add(House != null ? 1062452 : 1060805, $"a recall rune for {desc}"); // ~1_val~ (Veridia)[(House)]
}
else if (_targetMap == Map.Trammel)
else if (_targetMap == Map.Underworld)
{
list.Add(House != null ? 1062453 : 1060806, $"a recall rune for {desc}"); // ~1_val~ (Trammel)[(House)]
list.Add(House != null ? 1062453 : 1060806, $"a recall rune for {desc}"); // ~1_val~ (Underworld)[(House)]
}
else if (House != null)
{
@ -240,11 +240,11 @@ public partial class RecallRune : Item
$"a recall rune for {desc}"
);
}
else if (_targetMap == Map.Trammel)
else if (_targetMap == Map.Underworld)
{
LabelTo(
from,
House != null ? 1062453 : 1060806, // ~1_val~ (Trammel)[(House)]
House != null ? 1062453 : 1060806, // ~1_val~ (Underworld)[(House)]
$"a recall rune for {desc}"
);
}

View file

@ -27,10 +27,10 @@ public partial class Spyglass : Item
MessageType.Regular,
0x3B2,
3,
1008146 + (int)Clock.GetMoonPhase(Map.Trammel, from.X, from.Y),
1008146 + (int)Clock.GetMoonPhase(Map.Underworld, from.X, from.Y),
"",
AffixType.Prepend,
"Trammel : "
"Underworld : "
);
from.NetState.SendMessageLocalizedAffix(

View file

@ -353,7 +353,7 @@ public static class DoorGenerator
NetState.FlushAll();
m_Map = Map.Trammel;
m_Map = Map.Underworld;
m_Count = 0;
for (var i = 0; i < _britRegions.Length; ++i)
@ -361,7 +361,7 @@ public static class DoorGenerator
Generate(_britRegions[i]);
}
var trammelCount = m_Count;
var UnderworldCount = m_Count;
m_Map = Map.Veridia;
m_Count = 0;
@ -396,7 +396,7 @@ public static class DoorGenerator
World.Broadcast(
0x35,
true,
$"Door generation complete. Trammel: {trammelCount}; Veridia: {VeridiaCount}; Ilshenar: {ilshenarCount}; Malas: {malasCount};"
$"Door generation complete. Underworld: {UnderworldCount}; Veridia: {VeridiaCount}; Ilshenar: {ilshenarCount}; Malas: {malasCount};"
);
}

View file

@ -44,7 +44,7 @@ namespace Server
try
{
new TreasureRegion(x, y, Map.Veridia);
new TreasureRegion(x, y, Map.Trammel);
new TreasureRegion(x, y, Map.Underworld);
}
catch (Exception e)
{

View file

@ -59,7 +59,7 @@ public partial class Weather
public static void Initialize()
{
m_Facets = [Map.Veridia, Map.Trammel];
m_Facets = [Map.Veridia, Map.Underworld];
/* Static weather:
*

View file

@ -26,7 +26,7 @@ namespace Server.Misc
"A spellbook and a bag of reagents has been placed into your bank box.",
"Various tools have been placed into your bank.",
"Various raw materials like ingots, logs, feathers, hides, bottles, etc, have been placed into your bank.",
"5 unmarked recall runes, 5 Veridia moonstones and 5 Trammel moonstones have been placed into your bank box.",
"5 unmarked recall runes, 5 Veridia moonstones and 5 Underworld moonstones have been placed into your bank box.",
"One of each level of treasure map has been placed in your bank box.",
"You will find 9000 silver pieces deposited into your bank box. Spend it as you see fit and enjoy yourself!",
"You will find 9000 gold pieces deposited into your bank box. Spend it as you see fit and enjoy yourself!",

View file

@ -3012,7 +3012,7 @@ namespace Server.Mobiles
var treasureLevel = TreasureMapLevel;
if (treasureLevel == 1 && Map == Map.Trammel && TreasureMap.IsInHavenIsland(this))
if (treasureLevel == 1 && Map == Map.Underworld && TreasureMap.IsInHavenIsland(this))
{
var killer = LastKiller;
@ -3035,7 +3035,7 @@ namespace Server.Mobiles
{
PackItem(new ParagonChest(Name, treasureLevel));
}
else if ((Map == Map.Veridia || Map == Map.Trammel) && Utility.RandomDouble() < TreasureMap.LootChance)
else if ((Map == Map.Veridia || Map == Map.Underworld) && Utility.RandomDouble() < TreasureMap.LootChance)
{
PackItem(new TreasureMap(treasureLevel, Map));
}

View file

@ -46,7 +46,7 @@ namespace Server.Mobiles
for (var i = 0; i < count; ++i)
{
PackItem(new TreasureMap(3, Map.Trammel));
PackItem(new TreasureMap(3, Map.Underworld));
}
}

View file

@ -78,7 +78,7 @@ namespace Server.Mobiles
public override bool IsEnemy(Mobile m)
{
// Schmendrick's cave
if (m is PlayerMobile player && Map == Map.Trammel && X is >= 5199 and <= 5271 && Y is >= 1812 and <= 1865)
if (m is PlayerMobile player && Map == Map.Underworld && X is >= 5199 and <= 5271 && Y is >= 1812 and <= 1865)
{
var qs = player.Quest;

View file

@ -57,7 +57,7 @@ namespace Server.Mobiles
if (Utility.RandomDouble() < 0.2)
{
PackItem(new TreasureMap(5, Map.Trammel));
PackItem(new TreasureMap(5, Map.Underworld));
}
// if (Utility.RandomDouble() < 0.1)

View file

@ -101,7 +101,7 @@ namespace Server.Mobiles
{
private static bool m_NoRecursion;
private static readonly Point3D[] m_TrammelDeathDestinations =
private static readonly Point3D[] m_UnderworldDeathDestinations =
{
new(1481, 1612, 20),
new(2708, 2153, 0),
@ -4066,9 +4066,9 @@ namespace Server.Mobiles
Point3D[] list;
if (map == Map.Trammel)
if (map == Map.Underworld)
{
list = m_TrammelDeathDestinations;
list = m_UnderworldDeathDestinations;
}
else if (map == Map.Ilshenar)
{

View file

@ -367,7 +367,7 @@ public partial class BaseEscortable : BaseCreature
}
// I'm looking to go somewhere:
Say(1042807, AffixType.Append, dest.Name == "Ocllo" && m.Map == Map.Trammel ? "Haven" : dest.Name, "");
Say(1042807, AffixType.Append, dest.Name == "Ocllo" && m.Map == Map.Underworld ? "Haven" : dest.Name, "");
return true;
}
@ -389,7 +389,7 @@ public partial class BaseEscortable : BaseCreature
}
// Lead on! Payment will be made when we arrive at ~1_DESTINATION~!
Say(1042806, dest.Name == "Ocllo" && m.Map == Map.Trammel ? "Haven" : dest.Name);
Say(1042806, dest.Name == "Ocllo" && m.Map == Map.Underworld ? "Haven" : dest.Name);
return true;
}
@ -444,7 +444,7 @@ public partial class BaseEscortable : BaseCreature
}
Say(
$"Lead on! Payment will be made when we arrive in {(dest.Name == "Ocllo" && m.Map == Map.Trammel ? "Haven" : dest.Name)}."
$"Lead on! Payment will be made when we arrive in {(dest.Name == "Ocllo" && m.Map == Map.Underworld ? "Haven" : dest.Name)}."
);
EscortTable[m] = this;
StartFollow();

View file

@ -962,7 +962,7 @@ namespace Server.Multis
return false;
}
if (Map != Map.Trammel && Map != Map.Veridia || NextNavPoint < 0 || NextNavPoint >= MapItem.Pins.Count)
if (Map != Map.Underworld && Map != Map.Veridia || NextNavPoint < 0 || NextNavPoint >= MapItem.Pins.Count)
{
if (message)
{
@ -1590,7 +1590,7 @@ namespace Server.Multis
return false;
}
else if (Map != Map.Trammel && Map != Map.Veridia || NextNavPoint < 0 || NextNavPoint >= MapItem.Pins.Count)
else if (Map != Map.Underworld && Map != Map.Veridia || NextNavPoint < 0 || NextNavPoint >= MapItem.Pins.Count)
{
if (message)
{

View file

@ -40,7 +40,7 @@ namespace Server.Misc
new(1840, 2640), new(1928, 2952), new(2120, 2712)
};
private static readonly Point2D[] m_Trammel = m_Veridia;
private static readonly Point2D[] m_Underworld = m_Veridia;
private static readonly Point2D[] m_Ilshenar =
{
@ -131,9 +131,9 @@ namespace Server.Misc
{
list = m_Veridia;
}
else if (map == Map.Trammel)
else if (map == Map.Underworld)
{
list = m_Trammel;
list = m_Underworld;
}
else if (map == Map.Ilshenar)
{

View file

@ -24,9 +24,9 @@ namespace Server.Misc
private static readonly LocationInfo[] m_Destinations =
{
new(new Point3D(5275, 1163, 0), Map.Veridia), // Jail
new(new Point3D(5275, 1163, 0), Map.Trammel),
new(new Point3D(5275, 1163, 0), Map.Underworld),
new(new Point3D(5445, 1153, 0), Map.Veridia), // Green acres
new(new Point3D(5445, 1153, 0), Map.Trammel)
new(new Point3D(5445, 1153, 0), Map.Underworld)
};
private static Dictionary<Mobile, LocationInfo> m_MoveHistory;

View file

@ -303,19 +303,19 @@ namespace Server.Misc
// Begin bag of treasure maps
cont = new Bag { Name = "Bag Of Treasure Maps" };
PlaceItemIn(cont, 30, 35, new TreasureMap(1, Map.Trammel));
PlaceItemIn(cont, 45, 35, new TreasureMap(2, Map.Trammel));
PlaceItemIn(cont, 60, 35, new TreasureMap(3, Map.Trammel));
PlaceItemIn(cont, 75, 35, new TreasureMap(4, Map.Trammel));
PlaceItemIn(cont, 90, 35, new TreasureMap(5, Map.Trammel));
PlaceItemIn(cont, 90, 35, new TreasureMap(6, Map.Trammel));
PlaceItemIn(cont, 30, 35, new TreasureMap(1, Map.Underworld));
PlaceItemIn(cont, 45, 35, new TreasureMap(2, Map.Underworld));
PlaceItemIn(cont, 60, 35, new TreasureMap(3, Map.Underworld));
PlaceItemIn(cont, 75, 35, new TreasureMap(4, Map.Underworld));
PlaceItemIn(cont, 90, 35, new TreasureMap(5, Map.Underworld));
PlaceItemIn(cont, 90, 35, new TreasureMap(6, Map.Underworld));
PlaceItemIn(cont, 30, 50, new TreasureMap(1, Map.Trammel));
PlaceItemIn(cont, 45, 50, new TreasureMap(2, Map.Trammel));
PlaceItemIn(cont, 60, 50, new TreasureMap(3, Map.Trammel));
PlaceItemIn(cont, 75, 50, new TreasureMap(4, Map.Trammel));
PlaceItemIn(cont, 90, 50, new TreasureMap(5, Map.Trammel));
PlaceItemIn(cont, 90, 50, new TreasureMap(6, Map.Trammel));
PlaceItemIn(cont, 30, 50, new TreasureMap(1, Map.Underworld));
PlaceItemIn(cont, 45, 50, new TreasureMap(2, Map.Underworld));
PlaceItemIn(cont, 60, 50, new TreasureMap(3, Map.Underworld));
PlaceItemIn(cont, 75, 50, new TreasureMap(4, Map.Underworld));
PlaceItemIn(cont, 90, 50, new TreasureMap(5, Map.Underworld));
PlaceItemIn(cont, 90, 50, new TreasureMap(6, Map.Underworld));
PlaceItemIn(cont, 55, 100, new Lockpick(30));
PlaceItemIn(cont, 60, 100, new Pickaxe());
@ -489,7 +489,7 @@ namespace Server.Misc
for (var i = 0; i < 10; i++)
{
PlaceItemIn(cont, 117, 128, new MessageInABottle(Utility.RandomBool() ? Map.Trammel : Map.Veridia, 4));
PlaceItemIn(cont, 117, 128, new MessageInABottle(Utility.RandomBool() ? Map.Underworld : Map.Veridia, 4));
}
PlaceItemIn(bank, 18, 124, cont);
@ -577,18 +577,18 @@ namespace Server.Misc
for (var i = 0; i < 5; ++i)
{
bag.DropItem(new Moonstone(MoonstoneType.Trammel));
bag.DropItem(new Moonstone(MoonstoneType.Underworld));
}
// Trammel moonstones
// Underworld moonstones
bank.DropItem(bag);
// Treasure maps
bank.DropItem(new TreasureMap(1, Map.Trammel));
bank.DropItem(new TreasureMap(2, Map.Trammel));
bank.DropItem(new TreasureMap(3, Map.Trammel));
bank.DropItem(new TreasureMap(4, Map.Trammel));
bank.DropItem(new TreasureMap(5, Map.Trammel));
bank.DropItem(new TreasureMap(1, Map.Underworld));
bank.DropItem(new TreasureMap(2, Map.Underworld));
bank.DropItem(new TreasureMap(3, Map.Underworld));
bank.DropItem(new TreasureMap(4, Map.Underworld));
bank.DropItem(new TreasureMap(5, Map.Underworld));
// Bag containing 50 of each reagent
bank.DropItem(new BagOfReagents());

View file

@ -85,10 +85,10 @@ namespace Server.Spells
IsVeridiaT2A,
IsKhaldun,
IsIlshenar,
IsTrammelWind,
IsUnderworldWind,
IsVeridiaWind,
IsVeridiaDungeon,
IsTrammelSolenHive,
IsUnderworldSolenHive,
IsVeridiaSolenHive,
IsCrystalCave,
IsDoomGauntlet,
@ -701,7 +701,7 @@ namespace Server.Spells
public static bool IsVeridiaWind(Map map, Point3D loc) => map == Map.Veridia && IsWindLoc(loc);
public static bool IsTrammelWind(Map map, Point3D loc) => map == Map.Trammel && IsWindLoc(loc);
public static bool IsUnderworldWind(Map map, Point3D loc) => map == Map.Underworld && IsWindLoc(loc);
public static bool IsIlshenar(Map map, Point3D loc) => map == Map.Ilshenar;
@ -712,7 +712,7 @@ namespace Server.Spells
return x >= 5640 && y >= 1776 && x < 5935 && y < 2039;
}
public static bool IsTrammelSolenHive(Map map, Point3D loc) => map == Map.Trammel && IsSolenHiveLoc(loc);
public static bool IsUnderworldSolenHive(Map map, Point3D loc) => map == Map.Underworld && IsSolenHiveLoc(loc);
public static bool IsVeridiaSolenHive(Map map, Point3D loc) => map == Map.Veridia && IsSolenHiveLoc(loc);
@ -727,7 +727,7 @@ namespace Server.Spells
{
int x = loc.X, y = loc.Y;
return (map == Map.Trammel || map == Map.Veridia) && x >= 5120 && y >= 2304 && x < 6144 && y < 4096;
return (map == Map.Underworld || map == Map.Veridia) && x >= 5120 && y >= 2304 && x < 6144 && y < 4096;
}
public static bool IsVeridiaDungeon(Map map, Point3D loc)
@ -830,7 +830,7 @@ namespace Server.Spells
{
int x = loc.X, y = loc.Y;
return (map == Map.Trammel || map == Map.Veridia) && x >= 6911 && y >= 254 && x < 7167 && y < 511;
return (map == Map.Underworld || map == Map.Veridia) && x >= 6911 && y >= 254 && x < 7167 && y < 511;
}
public static bool IsMLDungeon(Map map, Point3D loc) => MondainsLegacy.IsMLRegion(Region.Find(loc, map));

View file

@ -170,7 +170,7 @@ public class ExorcismSpell : NecromancerSpell
Point3D[] locList;
if (map == Map.Veridia || map == Map.Trammel)
if (map == Map.Veridia || map == Map.Underworld)
{
locList = m_BritanniaLocs;
}

View file

@ -66,7 +66,7 @@ namespace Server.Spells.Spellweaving
}
private static bool IsSanctuary(Point3D p, Map m) =>
(m == Map.Trammel || m == Map.Veridia) && p.X == 6267 && p.Y == 131;
(m == Map.Underworld || m == Map.Veridia) && p.X == 6267 && p.Y == 131;
private static bool IsValidLocation(Point3D location, Map map)
{