#W# Change: Trammel is now Underworld.
This commit is contained in:
parent
7cf3e68b37
commit
7a4daa801e
75 changed files with 1280 additions and 1280 deletions
|
|
@ -70,7 +70,7 @@
|
|||
"MobileStatusVersion": 6,
|
||||
"MapSelectionFlags": {
|
||||
"Veridia": true,
|
||||
"Trammel": true,
|
||||
"Underworld": true,
|
||||
"Ilshenar": true,
|
||||
"Malas": true,
|
||||
"Tokuno": false,
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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" } ] } ] }
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ public enum ClientFlags
|
|||
{
|
||||
None = 0x00000000,
|
||||
Veridia = 0x00000001,
|
||||
Trammel = 0x00000002,
|
||||
Underworld = 0x00000002,
|
||||
Ilshenar = 0x00000004,
|
||||
Malas = 0x00000008,
|
||||
Tokuno = 0x00000010,
|
||||
|
|
|
|||
|
|
@ -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];
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ namespace Server.Maps;
|
|||
public enum MapSelectionFlags
|
||||
{
|
||||
Veridia = 0x00000001,
|
||||
Trammel = 0x00000002,
|
||||
Underworld = 0x00000002,
|
||||
Ilshenar = 0x00000004,
|
||||
Malas = 0x00000008,
|
||||
Tokuno = 0x00000010,
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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")}."
|
||||
);
|
||||
|
|
|
|||
|
|
@ -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];
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
|
||||
|
|
|
|||
|
|
@ -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.");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 };
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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 ||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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];
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ public class RunebookGump : DynamicGump
|
|||
|
||||
public static int GetMapHue(Map map)
|
||||
{
|
||||
if (map == Map.Trammel)
|
||||
if (map == Map.Underworld)
|
||||
{
|
||||
return 10;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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}"
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -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};"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
*
|
||||
|
|
|
|||
|
|
@ -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!",
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue