parent
096d39609e
commit
8e9221bb5a
400 changed files with 3688 additions and 5969 deletions
|
|
@ -1076,7 +1076,6 @@ namespace Server.Multis
|
|||
List<BaseHouse> list = new List<BaseHouse>();
|
||||
|
||||
if (m != null)
|
||||
{
|
||||
if (m_Table.TryGetValue(m, out List<BaseHouse> exists))
|
||||
for (int i = 0; i < exists.Count; ++i)
|
||||
{
|
||||
|
|
@ -1085,7 +1084,6 @@ namespace Server.Multis
|
|||
if (house?.Deleted == false && house.Owner == m)
|
||||
list.Add(house);
|
||||
}
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
|
@ -1095,7 +1093,7 @@ namespace Server.Multis
|
|||
{
|
||||
BaseHouse house = FindHouseAt(cont);
|
||||
|
||||
if (house == null || !house.IsAosRules)
|
||||
if (house?.IsAosRules != true)
|
||||
return true;
|
||||
|
||||
if (house.HasSecureItem(cont) && !house.CheckAosStorage(1 + item.TotalItems + plusItems))
|
||||
|
|
@ -1154,10 +1152,8 @@ namespace Server.Multis
|
|||
Sector sector = map.GetSector(loc);
|
||||
|
||||
for (int i = 0; i < sector.Multis.Count; ++i)
|
||||
{
|
||||
if (sector.Multis[i] is BaseHouse house && house.IsInside(loc, height))
|
||||
return house;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
|
@ -1411,7 +1407,7 @@ namespace Server.Multis
|
|||
AddDoor(westDoor, x, y, z);
|
||||
AddDoor(eastDoor, x + 1, y, z);
|
||||
|
||||
return new BaseDoor[] { westDoor, eastDoor };
|
||||
return new[] { westDoor, eastDoor };
|
||||
}
|
||||
|
||||
public uint CreateKeys(Mobile m)
|
||||
|
|
@ -1453,7 +1449,7 @@ namespace Server.Multis
|
|||
AddDoor(westDoor, x, y, z);
|
||||
AddDoor(eastDoor, x + 1, y, z);
|
||||
|
||||
return new BaseDoor[] { westDoor, eastDoor };
|
||||
return new[] { westDoor, eastDoor };
|
||||
}
|
||||
|
||||
public BaseDoor MakeDoor(bool wood, DoorFacing facing)
|
||||
|
|
@ -1862,8 +1858,7 @@ namespace Server.Multis
|
|||
|
||||
public virtual bool IsCombatRestricted(Mobile m)
|
||||
{
|
||||
if (m == null || !m.Player || m.AccessLevel >= AccessLevel.GameMaster || !IsAosRules ||
|
||||
m_Owner != null && m_Owner.AccessLevel >= AccessLevel.GameMaster)
|
||||
if (m?.Player != true || m.AccessLevel >= AccessLevel.GameMaster || !IsAosRules || m_Owner != null && m_Owner.AccessLevel >= AccessLevel.GameMaster)
|
||||
return false;
|
||||
|
||||
for (int i = 0; i < m.Aggressed.Count; ++i)
|
||||
|
|
@ -1888,16 +1883,15 @@ namespace Server.Multis
|
|||
if (IsCombatRestricted(m))
|
||||
return false;
|
||||
|
||||
switch (level)
|
||||
return level switch
|
||||
{
|
||||
case SecureLevel.Owner: return IsOwner(m);
|
||||
case SecureLevel.CoOwners: return IsCoOwner(m);
|
||||
case SecureLevel.Friends: return IsFriend(m);
|
||||
case SecureLevel.Anyone: return true;
|
||||
case SecureLevel.Guild: return IsGuildMember(m);
|
||||
}
|
||||
|
||||
return false;
|
||||
SecureLevel.Owner => IsOwner(m),
|
||||
SecureLevel.CoOwners => IsCoOwner(m),
|
||||
SecureLevel.Friends => IsFriend(m),
|
||||
SecureLevel.Anyone => true,
|
||||
SecureLevel.Guild => IsGuildMember(m),
|
||||
_ => false
|
||||
};
|
||||
}
|
||||
|
||||
public void ReleaseSecure(Mobile m, Item item)
|
||||
|
|
@ -2526,13 +2520,11 @@ namespace Server.Multis
|
|||
Secures = new List<SecureInfo>(items.Count);
|
||||
|
||||
for (int i = 0; i < items.Count; ++i)
|
||||
{
|
||||
if (items[i] is Container c)
|
||||
{
|
||||
c.IsSecure = true;
|
||||
Secures.Add(new SecureInfo(c, SecureLevel.CoOwners));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
MaxLockDowns = reader.ReadInt();
|
||||
|
|
@ -2874,10 +2866,8 @@ namespace Server.Multis
|
|||
uint keyValue = 0;
|
||||
|
||||
for (int i = 0; keyValue == 0 && i < Doors.Count; ++i)
|
||||
{
|
||||
if (Doors[i] is BaseDoor door)
|
||||
keyValue = door.KeyValue;
|
||||
}
|
||||
|
||||
Key.RemoveKeys(m, keyValue);
|
||||
}
|
||||
|
|
@ -2889,23 +2879,19 @@ namespace Server.Multis
|
|||
|
||||
if (Doors != null)
|
||||
for (int i = 0; i < Doors.Count; ++i)
|
||||
{
|
||||
if (Doors[i] is BaseDoor door)
|
||||
door.KeyValue = keyValue;
|
||||
}
|
||||
}
|
||||
|
||||
public void RemoveLocks()
|
||||
{
|
||||
if (Doors != null)
|
||||
for (int i = 0; i < Doors.Count; ++i)
|
||||
{
|
||||
if (Doors[i] is BaseDoor door)
|
||||
{
|
||||
door.KeyValue = 0;
|
||||
door.Locked = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public virtual HouseDeed GetDeed() => null;
|
||||
|
|
@ -3548,7 +3534,7 @@ namespace Server.Multis
|
|||
{
|
||||
BaseHouse house = BaseHouse.FindHouseAt(item);
|
||||
|
||||
if (house == null || !house.IsOwner(from) || !house.IsAosRules)
|
||||
if (house?.IsOwner(from) != true || !house.IsAosRules)
|
||||
return null;
|
||||
|
||||
ISecurable sec = null;
|
||||
|
|
|
|||
|
|
@ -231,10 +231,8 @@ namespace Server.Multis
|
|||
Sector sector = map.GetSector(loc);
|
||||
|
||||
for (int i = 0; i < sector.Multis.Count; i++)
|
||||
{
|
||||
if (sector.Multis[i] is BaseBoat boat && boat.Contains(loc.X, loc.Y))
|
||||
return boat;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
|
@ -1121,7 +1119,7 @@ namespace Server.Multis
|
|||
return false;
|
||||
}
|
||||
|
||||
if (SetFacing((Direction)(((int)m_Facing + offset) & 0x7))) return true;
|
||||
if (SetFacing((Direction)((int)m_Facing + offset & 0x7))) return true;
|
||||
if (message)
|
||||
TillerMan.Say(501423); // Ar, can't turn sir.
|
||||
|
||||
|
|
@ -1296,7 +1294,7 @@ namespace Server.Multis
|
|||
else // Right, Down, Left and Up
|
||||
maxSpeed = Math.Min(adx, ady);
|
||||
|
||||
return (Direction)((iDir - (int)Facing) & 0x7);
|
||||
return (Direction)(iDir - (int)Facing & 0x7);
|
||||
}
|
||||
|
||||
public bool DoMovement(bool message)
|
||||
|
|
@ -1397,7 +1395,7 @@ namespace Server.Multis
|
|||
}
|
||||
|
||||
int rx = 0, ry = 0;
|
||||
Direction d = (Direction)(((int)m_Facing + (int)dir) & 0x7);
|
||||
Direction d = (Direction)((int)m_Facing + (int)dir & 0x7);
|
||||
Movement.Movement.Offset(d, ref rx, ref ry);
|
||||
|
||||
for (int i = 1; i <= speed; ++i)
|
||||
|
|
@ -1519,13 +1517,8 @@ namespace Server.Multis
|
|||
IEntity e = toMove[i];
|
||||
|
||||
if (e is Item item)
|
||||
{
|
||||
item.Location = new Point3D(item.X + xOffset, item.Y + yOffset, item.Z + zOffset);
|
||||
}
|
||||
else if (e is Mobile m)
|
||||
{
|
||||
m.Location = new Point3D(m.X + xOffset, m.Y + yOffset, m.Z + zOffset);
|
||||
}
|
||||
else if (e is Mobile m) m.Location = new Point3D(m.X + xOffset, m.Y + yOffset, m.Z + zOffset);
|
||||
}
|
||||
|
||||
Location = new Point3D(X + xOffset, Y + yOffset, Z + zOffset);
|
||||
|
|
@ -1615,7 +1608,7 @@ namespace Server.Multis
|
|||
if (Hold != null)
|
||||
Hold.Location = new Point3D(X + xOffset * HoldDistance, Y + yOffset * HoldDistance, Hold.Z);
|
||||
|
||||
int count = (m_Facing - old) & 0x7;
|
||||
int count = m_Facing - old & 0x7;
|
||||
count /= 2;
|
||||
|
||||
for (int i = 0; i < toMove.Count; ++i)
|
||||
|
|
@ -1628,26 +1621,19 @@ namespace Server.Multis
|
|||
}
|
||||
else if (e is Mobile m)
|
||||
{
|
||||
m.Direction = (m.Direction - old + facing) & Direction.Mask;
|
||||
m.Direction = m.Direction - old + facing & Direction.Mask;
|
||||
m.Location = Rotate(m.Location, count);
|
||||
}
|
||||
}
|
||||
|
||||
switch (facing)
|
||||
ItemID = facing switch
|
||||
{
|
||||
case Direction.North:
|
||||
ItemID = NorthID;
|
||||
break;
|
||||
case Direction.East:
|
||||
ItemID = EastID;
|
||||
break;
|
||||
case Direction.South:
|
||||
ItemID = SouthID;
|
||||
break;
|
||||
case Direction.West:
|
||||
ItemID = WestID;
|
||||
break;
|
||||
}
|
||||
Direction.North => NorthID,
|
||||
Direction.East => EastID,
|
||||
Direction.South => SouthID,
|
||||
Direction.West => WestID,
|
||||
_ => ItemID
|
||||
};
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,26 +21,19 @@ namespace Server.Items
|
|||
|
||||
public void SetFacing(Direction dir)
|
||||
{
|
||||
switch (dir)
|
||||
ItemID = dir switch
|
||||
{
|
||||
case Direction.East:
|
||||
ItemID = 0x3E65;
|
||||
break;
|
||||
case Direction.West:
|
||||
ItemID = 0x3E93;
|
||||
break;
|
||||
case Direction.North:
|
||||
ItemID = 0x3EAE;
|
||||
break;
|
||||
case Direction.South:
|
||||
ItemID = 0x3EB9;
|
||||
break;
|
||||
}
|
||||
Direction.East => 0x3E65,
|
||||
Direction.West => 0x3E93,
|
||||
Direction.North => 0x3EAE,
|
||||
Direction.South => 0x3EB9,
|
||||
_ => ItemID
|
||||
};
|
||||
}
|
||||
|
||||
public override bool OnDragDrop(Mobile from, Item item)
|
||||
{
|
||||
if (m_Boat == null || !m_Boat.Contains(from) || m_Boat.IsMoving)
|
||||
if (m_Boat?.Contains(from) != true || m_Boat.IsMoving)
|
||||
return false;
|
||||
|
||||
return base.OnDragDrop(from, item);
|
||||
|
|
@ -48,7 +41,7 @@ namespace Server.Items
|
|||
|
||||
public override bool OnDragDropInto(Mobile from, Item item, Point3D p)
|
||||
{
|
||||
if (m_Boat == null || !m_Boat.Contains(from) || m_Boat.IsMoving)
|
||||
if (m_Boat?.Contains(from) != true || m_Boat.IsMoving)
|
||||
return false;
|
||||
|
||||
return base.OnDragDropInto(from, item, p);
|
||||
|
|
@ -56,7 +49,7 @@ namespace Server.Items
|
|||
|
||||
public override bool CheckItemUse(Mobile from, Item item)
|
||||
{
|
||||
if (item != this && (m_Boat == null || !m_Boat.Contains(from) || m_Boat.IsMoving))
|
||||
if (item != this && (m_Boat?.Contains(from) != true || m_Boat.IsMoving))
|
||||
return false;
|
||||
|
||||
return base.CheckItemUse(from, item);
|
||||
|
|
@ -64,7 +57,7 @@ namespace Server.Items
|
|||
|
||||
public override bool CheckLift(Mobile from, Item item, ref LRReason reject)
|
||||
{
|
||||
if (m_Boat == null || !m_Boat.Contains(from) || m_Boat.IsMoving)
|
||||
if (m_Boat?.Contains(from) != true || m_Boat.IsMoving)
|
||||
return false;
|
||||
|
||||
return base.CheckLift(from, item, ref reject);
|
||||
|
|
@ -77,7 +70,7 @@ namespace Server.Items
|
|||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (m_Boat == null || !m_Boat.Contains(from))
|
||||
if (m_Boat?.Contains(from) != true)
|
||||
m_Boat.TillerMan?.Say(502490); // You must be on the ship to open the hold.
|
||||
else if (m_Boat.IsMoving)
|
||||
m_Boat.TillerMan?.Say(502491); // I can not open the hold while the ship is moving.
|
||||
|
|
@ -116,4 +109,4 @@ namespace Server.Items
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -93,37 +93,23 @@ namespace Server.Items
|
|||
public void SetFacing(Direction dir)
|
||||
{
|
||||
if (IsOpen)
|
||||
switch (dir)
|
||||
ItemID = dir switch
|
||||
{
|
||||
case Direction.North:
|
||||
ItemID = Starboard ? 0x3ED4 : 0x3ED5;
|
||||
break;
|
||||
case Direction.East:
|
||||
ItemID = Starboard ? 0x3E84 : 0x3E89;
|
||||
break;
|
||||
case Direction.South:
|
||||
ItemID = Starboard ? 0x3ED5 : 0x3ED4;
|
||||
break;
|
||||
case Direction.West:
|
||||
ItemID = Starboard ? 0x3E89 : 0x3E84;
|
||||
break;
|
||||
}
|
||||
Direction.North => (Starboard ? 0x3ED4 : 0x3ED5),
|
||||
Direction.East => (Starboard ? 0x3E84 : 0x3E89),
|
||||
Direction.South => (Starboard ? 0x3ED5 : 0x3ED4),
|
||||
Direction.West => (Starboard ? 0x3E89 : 0x3E84),
|
||||
_ => ItemID
|
||||
};
|
||||
else
|
||||
switch (dir)
|
||||
ItemID = dir switch
|
||||
{
|
||||
case Direction.North:
|
||||
ItemID = Starboard ? 0x3EB2 : 0x3EB1;
|
||||
break;
|
||||
case Direction.East:
|
||||
ItemID = Starboard ? 0x3E85 : 0x3E8A;
|
||||
break;
|
||||
case Direction.South:
|
||||
ItemID = Starboard ? 0x3EB1 : 0x3EB2;
|
||||
break;
|
||||
case Direction.West:
|
||||
ItemID = Starboard ? 0x3E8A : 0x3E85;
|
||||
break;
|
||||
}
|
||||
Direction.North => (Starboard ? 0x3EB2 : 0x3EB1),
|
||||
Direction.East => (Starboard ? 0x3E85 : 0x3E8A),
|
||||
Direction.South => (Starboard ? 0x3EB1 : 0x3EB2),
|
||||
Direction.West => (Starboard ? 0x3E8A : 0x3E85),
|
||||
_ => ItemID
|
||||
};
|
||||
}
|
||||
|
||||
public void Open()
|
||||
|
|
@ -136,21 +122,14 @@ namespace Server.Items
|
|||
m_CloseTimer = new CloseTimer(this);
|
||||
m_CloseTimer.Start();
|
||||
|
||||
switch (ItemID)
|
||||
ItemID = ItemID switch
|
||||
{
|
||||
case 0x3EB1:
|
||||
ItemID = 0x3ED5;
|
||||
break;
|
||||
case 0x3E8A:
|
||||
ItemID = 0x3E89;
|
||||
break;
|
||||
case 0x3EB2:
|
||||
ItemID = 0x3ED4;
|
||||
break;
|
||||
case 0x3E85:
|
||||
ItemID = 0x3E84;
|
||||
break;
|
||||
}
|
||||
0x3EB1 => 0x3ED5,
|
||||
0x3E8A => 0x3E89,
|
||||
0x3EB2 => 0x3ED4,
|
||||
0x3E85 => 0x3E84,
|
||||
_ => ItemID
|
||||
};
|
||||
|
||||
Boat?.Refresh();
|
||||
}
|
||||
|
|
@ -235,21 +214,14 @@ namespace Server.Items
|
|||
|
||||
m_CloseTimer = null;
|
||||
|
||||
switch (ItemID)
|
||||
ItemID = ItemID switch
|
||||
{
|
||||
case 0x3ED5:
|
||||
ItemID = 0x3EB1;
|
||||
break;
|
||||
case 0x3E89:
|
||||
ItemID = 0x3E8A;
|
||||
break;
|
||||
case 0x3ED4:
|
||||
ItemID = 0x3EB2;
|
||||
break;
|
||||
case 0x3E84:
|
||||
ItemID = 0x3E85;
|
||||
break;
|
||||
}
|
||||
0x3ED5 => 0x3EB1,
|
||||
0x3E89 => 0x3E8A,
|
||||
0x3ED4 => 0x3EB2,
|
||||
0x3E84 => 0x3E85,
|
||||
_ => ItemID
|
||||
};
|
||||
|
||||
Boat?.Refresh();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,21 +19,14 @@ namespace Server.Items
|
|||
|
||||
public void SetFacing(Direction dir)
|
||||
{
|
||||
switch (dir)
|
||||
ItemID = dir switch
|
||||
{
|
||||
case Direction.South:
|
||||
ItemID = 0x3E4B;
|
||||
break;
|
||||
case Direction.North:
|
||||
ItemID = 0x3E4E;
|
||||
break;
|
||||
case Direction.West:
|
||||
ItemID = 0x3E50;
|
||||
break;
|
||||
case Direction.East:
|
||||
ItemID = 0x3E55;
|
||||
break;
|
||||
}
|
||||
Direction.South => 0x3E4B,
|
||||
Direction.North => 0x3E4E,
|
||||
Direction.West => 0x3E50,
|
||||
Direction.East => 0x3E55,
|
||||
_ => ItemID
|
||||
};
|
||||
}
|
||||
|
||||
public override void GetProperties(ObjectPropertyList list)
|
||||
|
|
@ -71,7 +64,7 @@ namespace Server.Items
|
|||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (m_Boat != null && m_Boat.Contains(from))
|
||||
if (m_Boat?.Contains(from) == true)
|
||||
m_Boat.BeginRename(from);
|
||||
else
|
||||
m_Boat?.BeginDryDock(from);
|
||||
|
|
@ -79,7 +72,7 @@ namespace Server.Items
|
|||
|
||||
public override bool OnDragDrop(Mobile from, Item dropped)
|
||||
{
|
||||
if (dropped is MapItem item && m_Boat != null && m_Boat.CanCommand(from) && m_Boat.Contains(from))
|
||||
if (dropped is MapItem item && m_Boat?.CanCommand(from) == true && m_Boat.Contains(from))
|
||||
m_Boat.AssociateMap(item);
|
||||
|
||||
return false;
|
||||
|
|
@ -119,4 +112,4 @@ namespace Server.Items
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -55,15 +55,11 @@ namespace Server.Multis
|
|||
|
||||
for (int i = 0; i < 4; i++) AddMobile(Brigands, 6, Utility.RandomMinMax(-7, 7), Utility.RandomMinMax(-7, 7), 0);
|
||||
|
||||
switch (Utility.Random(2))
|
||||
m_Prisoner = Utility.Random(2) switch
|
||||
{
|
||||
case 0:
|
||||
m_Prisoner = new Noble();
|
||||
break;
|
||||
default:
|
||||
m_Prisoner = new SeekerOfAdventure();
|
||||
break;
|
||||
}
|
||||
0 => (Mobile)new Noble(),
|
||||
_ => new SeekerOfAdventure()
|
||||
};
|
||||
|
||||
//be = (BaseEscortable)m_Prisoner;
|
||||
//be.m_Captive = true;
|
||||
|
|
@ -78,20 +74,12 @@ namespace Server.Multis
|
|||
|
||||
private void AddCampChests()
|
||||
{
|
||||
LockableContainer chest = null;
|
||||
|
||||
switch (Utility.Random(3))
|
||||
var chest = Utility.Random(3) switch
|
||||
{
|
||||
case 0:
|
||||
chest = new MetalChest();
|
||||
break;
|
||||
case 1:
|
||||
chest = new MetalGoldenChest();
|
||||
break;
|
||||
default:
|
||||
chest = new WoodenChest();
|
||||
break;
|
||||
}
|
||||
0 => (LockableContainer)new MetalChest(),
|
||||
1 => new MetalGoldenChest(),
|
||||
_ => new WoodenChest()
|
||||
};
|
||||
|
||||
chest.LiftOverride = true;
|
||||
|
||||
|
|
@ -99,23 +87,13 @@ namespace Server.Multis
|
|||
|
||||
AddItem(chest, -2, -2, 0);
|
||||
|
||||
LockableContainer crates = null;
|
||||
|
||||
switch (Utility.Random(4))
|
||||
var crates = Utility.Random(4) switch
|
||||
{
|
||||
case 0:
|
||||
crates = new SmallCrate();
|
||||
break;
|
||||
case 1:
|
||||
crates = new MediumCrate();
|
||||
break;
|
||||
case 2:
|
||||
crates = new LargeCrate();
|
||||
break;
|
||||
default:
|
||||
crates = new LockableBarrel();
|
||||
break;
|
||||
}
|
||||
0 => (LockableContainer)new SmallCrate(),
|
||||
1 => new MediumCrate(),
|
||||
2 => new LargeCrate(),
|
||||
_ => new LockableBarrel()
|
||||
};
|
||||
|
||||
crates.TrapType = TrapType.ExplosionTrap;
|
||||
crates.TrapPower = Utility.RandomMinMax(30, 40);
|
||||
|
|
@ -155,37 +133,19 @@ namespace Server.Multis
|
|||
// Don't refresh decay timer
|
||||
public override void OnEnter(Mobile m)
|
||||
{
|
||||
if (m.Player && m_Prisoner != null && m_Prisoner.CantWalk)
|
||||
if (m.Player && m_Prisoner?.CantWalk == true)
|
||||
{
|
||||
int number;
|
||||
|
||||
switch (Utility.Random(8))
|
||||
var number = Utility.Random(8) switch
|
||||
{
|
||||
case 0:
|
||||
number = 502261;
|
||||
break; // HELP!
|
||||
case 1:
|
||||
number = 502262;
|
||||
break; // Help me!
|
||||
case 2:
|
||||
number = 502263;
|
||||
break; // Canst thou aid me?!
|
||||
case 3:
|
||||
number = 502264;
|
||||
break; // Help a poor prisoner!
|
||||
case 4:
|
||||
number = 502265;
|
||||
break; // Help! Please!
|
||||
case 5:
|
||||
number = 502266;
|
||||
break; // Aaah! Help me!
|
||||
case 6:
|
||||
number = 502267;
|
||||
break; // Go and get some help!
|
||||
default:
|
||||
number = 502268;
|
||||
break; // Quickly, I beg thee! Unlock my chains! If thou dost look at me close thou canst see them.
|
||||
}
|
||||
0 => 502261,
|
||||
1 => 502262,
|
||||
2 => 502263,
|
||||
3 => 502264,
|
||||
4 => 502265,
|
||||
5 => 502266,
|
||||
6 => 502267,
|
||||
_ => 502268
|
||||
};
|
||||
|
||||
m_Prisoner.Yell(number);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -55,15 +55,11 @@ namespace Server.Multis
|
|||
|
||||
for (int i = 0; i < 4; i++) AddMobile(Lizardmen, 6, Utility.RandomMinMax(-7, 7), Utility.RandomMinMax(-7, 7), 0);
|
||||
|
||||
switch (Utility.Random(2))
|
||||
m_Prisoner = Utility.Random(2) switch
|
||||
{
|
||||
case 0:
|
||||
m_Prisoner = new Noble();
|
||||
break;
|
||||
default:
|
||||
m_Prisoner = new SeekerOfAdventure();
|
||||
break;
|
||||
}
|
||||
0 => (Mobile)new Noble(),
|
||||
_ => new SeekerOfAdventure()
|
||||
};
|
||||
|
||||
//be = (BaseEscortable)m_Prisoner;
|
||||
//be.m_Captive = true;
|
||||
|
|
@ -78,20 +74,12 @@ namespace Server.Multis
|
|||
|
||||
private void AddCampChests()
|
||||
{
|
||||
LockableContainer chest = null;
|
||||
|
||||
switch (Utility.Random(3))
|
||||
var chest = Utility.Random(3) switch
|
||||
{
|
||||
case 0:
|
||||
chest = new MetalChest();
|
||||
break;
|
||||
case 1:
|
||||
chest = new MetalGoldenChest();
|
||||
break;
|
||||
default:
|
||||
chest = new WoodenChest();
|
||||
break;
|
||||
}
|
||||
0 => (LockableContainer)new MetalChest(),
|
||||
1 => new MetalGoldenChest(),
|
||||
_ => new WoodenChest()
|
||||
};
|
||||
|
||||
chest.LiftOverride = true;
|
||||
|
||||
|
|
@ -99,23 +87,13 @@ namespace Server.Multis
|
|||
|
||||
AddItem(chest, 2, -2, 0);
|
||||
|
||||
LockableContainer crates = null;
|
||||
|
||||
switch (Utility.Random(4))
|
||||
var crates = Utility.Random(4) switch
|
||||
{
|
||||
case 0:
|
||||
crates = new SmallCrate();
|
||||
break;
|
||||
case 1:
|
||||
crates = new MediumCrate();
|
||||
break;
|
||||
case 2:
|
||||
crates = new LargeCrate();
|
||||
break;
|
||||
default:
|
||||
crates = new LockableBarrel();
|
||||
break;
|
||||
}
|
||||
0 => (LockableContainer)new SmallCrate(),
|
||||
1 => new MediumCrate(),
|
||||
2 => new LargeCrate(),
|
||||
_ => new LockableBarrel()
|
||||
};
|
||||
|
||||
crates.TrapType = TrapType.ExplosionTrap;
|
||||
crates.TrapPower = Utility.RandomMinMax(30, 40);
|
||||
|
|
@ -155,37 +133,19 @@ namespace Server.Multis
|
|||
// Don't refresh decay timer
|
||||
public override void OnEnter(Mobile m)
|
||||
{
|
||||
if (m.Player && m_Prisoner != null && m_Prisoner.CantWalk)
|
||||
if (m.Player && m_Prisoner?.CantWalk == true)
|
||||
{
|
||||
int number;
|
||||
|
||||
switch (Utility.Random(8))
|
||||
var number = Utility.Random(8) switch
|
||||
{
|
||||
case 0:
|
||||
number = 502261;
|
||||
break; // HELP!
|
||||
case 1:
|
||||
number = 502262;
|
||||
break; // Help me!
|
||||
case 2:
|
||||
number = 502263;
|
||||
break; // Canst thou aid me?!
|
||||
case 3:
|
||||
number = 502264;
|
||||
break; // Help a poor prisoner!
|
||||
case 4:
|
||||
number = 502265;
|
||||
break; // Help! Please!
|
||||
case 5:
|
||||
number = 502266;
|
||||
break; // Aaah! Help me!
|
||||
case 6:
|
||||
number = 502267;
|
||||
break; // Go and get some help!
|
||||
default:
|
||||
number = 502268;
|
||||
break; // Quickly, I beg thee! Unlock my chains! If thou dost look at me close thou canst see them.
|
||||
}
|
||||
0 => 502261,
|
||||
1 => 502262,
|
||||
2 => 502263,
|
||||
3 => 502264,
|
||||
4 => 502265,
|
||||
5 => 502266,
|
||||
6 => 502267,
|
||||
_ => 502268
|
||||
};
|
||||
|
||||
m_Prisoner.Yell(number);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -56,15 +56,11 @@ namespace Server.Multis
|
|||
for (int i = 0; i < 3; i++) AddMobile(Orcs, 6, Utility.RandomMinMax(-7, 7), Utility.RandomMinMax(-7, 7), 0);
|
||||
AddMobile(new OrcCaptain(), 2, Utility.RandomMinMax(-7, 7), Utility.RandomMinMax(-7, 7), 0);
|
||||
|
||||
switch (Utility.Random(2))
|
||||
m_Prisoner = Utility.Random(2) switch
|
||||
{
|
||||
case 0:
|
||||
m_Prisoner = new Noble();
|
||||
break;
|
||||
default:
|
||||
m_Prisoner = new SeekerOfAdventure();
|
||||
break;
|
||||
}
|
||||
0 => (Mobile)new Noble(),
|
||||
_ => new SeekerOfAdventure()
|
||||
};
|
||||
|
||||
//be = (BaseEscortable)m_Prisoner;
|
||||
//be.m_Captive = true;
|
||||
|
|
@ -79,20 +75,12 @@ namespace Server.Multis
|
|||
|
||||
private void AddCampChests()
|
||||
{
|
||||
LockableContainer chest = null;
|
||||
|
||||
switch (Utility.Random(3))
|
||||
var chest = Utility.Random(3) switch
|
||||
{
|
||||
case 0:
|
||||
chest = new MetalChest();
|
||||
break;
|
||||
case 1:
|
||||
chest = new MetalGoldenChest();
|
||||
break;
|
||||
default:
|
||||
chest = new WoodenChest();
|
||||
break;
|
||||
}
|
||||
0 => (LockableContainer)new MetalChest(),
|
||||
1 => new MetalGoldenChest(),
|
||||
_ => new WoodenChest()
|
||||
};
|
||||
|
||||
chest.LiftOverride = true;
|
||||
|
||||
|
|
@ -100,23 +88,13 @@ namespace Server.Multis
|
|||
|
||||
AddItem(chest, -2, 2, 0);
|
||||
|
||||
LockableContainer crates = null;
|
||||
|
||||
switch (Utility.Random(4))
|
||||
var crates = Utility.Random(4) switch
|
||||
{
|
||||
case 0:
|
||||
crates = new SmallCrate();
|
||||
break;
|
||||
case 1:
|
||||
crates = new MediumCrate();
|
||||
break;
|
||||
case 2:
|
||||
crates = new LargeCrate();
|
||||
break;
|
||||
default:
|
||||
crates = new LockableBarrel();
|
||||
break;
|
||||
}
|
||||
0 => (LockableContainer)new SmallCrate(),
|
||||
1 => new MediumCrate(),
|
||||
2 => new LargeCrate(),
|
||||
_ => new LockableBarrel()
|
||||
};
|
||||
|
||||
crates.TrapType = TrapType.ExplosionTrap;
|
||||
crates.TrapPower = Utility.RandomMinMax(30, 40);
|
||||
|
|
@ -156,37 +134,19 @@ namespace Server.Multis
|
|||
// Don't refresh decay timer
|
||||
public override void OnEnter(Mobile m)
|
||||
{
|
||||
if (m.Player && m_Prisoner != null && m_Prisoner.CantWalk)
|
||||
if (m.Player && m_Prisoner?.CantWalk == true)
|
||||
{
|
||||
int number;
|
||||
|
||||
switch (Utility.Random(8))
|
||||
var number = Utility.Random(8) switch
|
||||
{
|
||||
case 0:
|
||||
number = 502261;
|
||||
break; // HELP!
|
||||
case 1:
|
||||
number = 502262;
|
||||
break; // Help me!
|
||||
case 2:
|
||||
number = 502263;
|
||||
break; // Canst thou aid me?!
|
||||
case 3:
|
||||
number = 502264;
|
||||
break; // Help a poor prisoner!
|
||||
case 4:
|
||||
number = 502265;
|
||||
break; // Help! Please!
|
||||
case 5:
|
||||
number = 502266;
|
||||
break; // Aaah! Help me!
|
||||
case 6:
|
||||
number = 502267;
|
||||
break; // Go and get some help!
|
||||
default:
|
||||
number = 502268;
|
||||
break; // Quickly, I beg thee! Unlock my chains! If thou dost look at me close thou canst see them.
|
||||
}
|
||||
0 => 502261,
|
||||
1 => 502262,
|
||||
2 => 502263,
|
||||
3 => 502264,
|
||||
4 => 502265,
|
||||
5 => 502266,
|
||||
6 => 502267,
|
||||
_ => 502268
|
||||
};
|
||||
|
||||
m_Prisoner.Yell(number);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -55,15 +55,11 @@ namespace Server.Multis
|
|||
|
||||
for (int i = 0; i < 4; i++) AddMobile(Ratmen, 6, Utility.RandomMinMax(-7, 7), Utility.RandomMinMax(-7, 7), 0);
|
||||
|
||||
switch (Utility.Random(2))
|
||||
m_Prisoner = Utility.Random(2) switch
|
||||
{
|
||||
case 0:
|
||||
m_Prisoner = new Noble();
|
||||
break;
|
||||
default:
|
||||
m_Prisoner = new SeekerOfAdventure();
|
||||
break;
|
||||
}
|
||||
0 => (Mobile)new Noble(),
|
||||
_ => new SeekerOfAdventure()
|
||||
};
|
||||
|
||||
//be = (BaseEscortable)m_Prisoner;
|
||||
//be.m_Captive = true;
|
||||
|
|
@ -78,20 +74,12 @@ namespace Server.Multis
|
|||
|
||||
private void AddCampChests()
|
||||
{
|
||||
LockableContainer chest = null;
|
||||
|
||||
switch (Utility.Random(3))
|
||||
var chest = Utility.Random(3) switch
|
||||
{
|
||||
case 0:
|
||||
chest = new MetalChest();
|
||||
break;
|
||||
case 1:
|
||||
chest = new MetalGoldenChest();
|
||||
break;
|
||||
default:
|
||||
chest = new WoodenChest();
|
||||
break;
|
||||
}
|
||||
0 => (LockableContainer)new MetalChest(),
|
||||
1 => new MetalGoldenChest(),
|
||||
_ => new WoodenChest()
|
||||
};
|
||||
|
||||
chest.LiftOverride = true;
|
||||
|
||||
|
|
@ -99,23 +87,13 @@ namespace Server.Multis
|
|||
|
||||
AddItem(chest, -2, -2, 0);
|
||||
|
||||
LockableContainer crates = null;
|
||||
|
||||
switch (Utility.Random(4))
|
||||
var crates = Utility.Random(4) switch
|
||||
{
|
||||
case 0:
|
||||
crates = new SmallCrate();
|
||||
break;
|
||||
case 1:
|
||||
crates = new MediumCrate();
|
||||
break;
|
||||
case 2:
|
||||
crates = new LargeCrate();
|
||||
break;
|
||||
default:
|
||||
crates = new LockableBarrel();
|
||||
break;
|
||||
}
|
||||
0 => (LockableContainer)new SmallCrate(),
|
||||
1 => new MediumCrate(),
|
||||
2 => new LargeCrate(),
|
||||
_ => new LockableBarrel()
|
||||
};
|
||||
|
||||
crates.TrapType = TrapType.ExplosionTrap;
|
||||
crates.TrapPower = Utility.RandomMinMax(30, 40);
|
||||
|
|
@ -155,37 +133,19 @@ namespace Server.Multis
|
|||
// Don't refresh decay timer
|
||||
public override void OnEnter(Mobile m)
|
||||
{
|
||||
if (m.Player && m_Prisoner != null && m_Prisoner.CantWalk)
|
||||
if (m.Player && m_Prisoner?.CantWalk == true)
|
||||
{
|
||||
int number;
|
||||
|
||||
switch (Utility.Random(8))
|
||||
var number = Utility.Random(8) switch
|
||||
{
|
||||
case 0:
|
||||
number = 502261;
|
||||
break; // HELP!
|
||||
case 1:
|
||||
number = 502262;
|
||||
break; // Help me!
|
||||
case 2:
|
||||
number = 502263;
|
||||
break; // Canst thou aid me?!
|
||||
case 3:
|
||||
number = 502264;
|
||||
break; // Help a poor prisoner!
|
||||
case 4:
|
||||
number = 502265;
|
||||
break; // Help! Please!
|
||||
case 5:
|
||||
number = 502266;
|
||||
break; // Aaah! Help me!
|
||||
case 6:
|
||||
number = 502267;
|
||||
break; // Go and get some help!
|
||||
default:
|
||||
number = 502268;
|
||||
break; // Quickly, I beg thee! Unlock my chains! If thou dost look at me close thou canst see them.
|
||||
}
|
||||
0 => 502261,
|
||||
1 => 502262,
|
||||
2 => 502263,
|
||||
3 => 502264,
|
||||
4 => 502265,
|
||||
5 => 502266,
|
||||
6 => 502267,
|
||||
_ => 502268
|
||||
};
|
||||
|
||||
m_Prisoner.Yell(number);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -152,10 +152,8 @@ namespace Server.Multis
|
|||
string line;
|
||||
|
||||
while ((line = ip.ReadLine()) != null)
|
||||
{
|
||||
if (line.Length > 0)
|
||||
return line.Split('\t');
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
using System;
|
||||
using System.Buffers;
|
||||
using System.Collections;
|
||||
using System.Collections.Concurrent;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
|
|
@ -326,33 +325,18 @@ namespace Server.Multis
|
|||
int type = (itemID - 0x675) / 16;
|
||||
DoorFacing facing = (DoorFacing)((itemID - 0x675) / 2 % 8);
|
||||
|
||||
switch (type)
|
||||
door = type switch
|
||||
{
|
||||
case 0:
|
||||
door = new GenericHouseDoor(facing, 0x675, 0xEC, 0xF3);
|
||||
break;
|
||||
case 1:
|
||||
door = new GenericHouseDoor(facing, 0x685, 0xEC, 0xF3);
|
||||
break;
|
||||
case 2:
|
||||
door = new GenericHouseDoor(facing, 0x695, 0xEB, 0xF2);
|
||||
break;
|
||||
case 3:
|
||||
door = new GenericHouseDoor(facing, 0x6A5, 0xEA, 0xF1);
|
||||
break;
|
||||
case 4:
|
||||
door = new GenericHouseDoor(facing, 0x6B5, 0xEA, 0xF1);
|
||||
break;
|
||||
case 5:
|
||||
door = new GenericHouseDoor(facing, 0x6C5, 0xEC, 0xF3);
|
||||
break;
|
||||
case 6:
|
||||
door = new GenericHouseDoor(facing, 0x6D5, 0xEA, 0xF1);
|
||||
break;
|
||||
case 7:
|
||||
door = new GenericHouseDoor(facing, 0x6E5, 0xEA, 0xF1);
|
||||
break;
|
||||
}
|
||||
0 => new GenericHouseDoor(facing, 0x675, 0xEC, 0xF3),
|
||||
1 => new GenericHouseDoor(facing, 0x685, 0xEC, 0xF3),
|
||||
2 => new GenericHouseDoor(facing, 0x695, 0xEB, 0xF2),
|
||||
3 => new GenericHouseDoor(facing, 0x6A5, 0xEA, 0xF1),
|
||||
4 => new GenericHouseDoor(facing, 0x6B5, 0xEA, 0xF1),
|
||||
5 => new GenericHouseDoor(facing, 0x6C5, 0xEC, 0xF3),
|
||||
6 => new GenericHouseDoor(facing, 0x6D5, 0xEA, 0xF1),
|
||||
7 => new GenericHouseDoor(facing, 0x6E5, 0xEA, 0xF1),
|
||||
_ => door
|
||||
};
|
||||
}
|
||||
else if (itemID >= 0x314 && itemID < 0x364)
|
||||
{
|
||||
|
|
@ -454,15 +438,12 @@ namespace Server.Multis
|
|||
int type = (itemID - 0x367B) / 16;
|
||||
DoorFacing facing = (DoorFacing)((itemID - 0x367B) / 2 % 8);
|
||||
|
||||
switch (type)
|
||||
door = type switch
|
||||
{
|
||||
case 0:
|
||||
door = new GenericHouseDoor(facing, 0x367B, 0xED, 0xF4);
|
||||
break; //crystal
|
||||
case 1:
|
||||
door = new GenericHouseDoor(facing, 0x368B, 0xEC, 0x3E7);
|
||||
break; //shadow
|
||||
}
|
||||
0 => new GenericHouseDoor(facing, 0x367B, 0xED, 0xF4),
|
||||
1 => new GenericHouseDoor(facing, 0x368B, 0xEC, 0x3E7),
|
||||
_ => door
|
||||
};
|
||||
}
|
||||
else if (itemID >= 0x409B && itemID < 0x40A3)
|
||||
{
|
||||
|
|
@ -532,13 +513,11 @@ namespace Server.Multis
|
|||
if (fixture is HouseTeleporter tp)
|
||||
{
|
||||
for (int j = 1; j <= Fixtures.Count; ++j)
|
||||
{
|
||||
if (Fixtures[(i + j) % Fixtures.Count] is HouseTeleporter check && check.ItemID == tp.ItemID)
|
||||
{
|
||||
tp.Target = check;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (fixture is BaseHouseDoor door)
|
||||
{
|
||||
|
|
@ -614,7 +593,6 @@ namespace Server.Multis
|
|||
}
|
||||
|
||||
for (int j = i + 1; j < Fixtures.Count; ++j)
|
||||
{
|
||||
if (Fixtures[j] is BaseHouseDoor check && check.Link == null && check.Facing == linkFacing &&
|
||||
check.X - door.X == xOffset && check.Y - door.Y == yOffset && check.Z == door.Z)
|
||||
{
|
||||
|
|
@ -622,7 +600,6 @@ namespace Server.Multis
|
|||
door.Link = check;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2365,7 +2342,7 @@ namespace Server.Multis
|
|||
Write((byte)(0x20 | i));
|
||||
Write((byte)size);
|
||||
Write((byte)deflatedLength);
|
||||
Write((byte)(((size >> 4) & 0xF0) | ((deflatedLength >> 8) & 0xF)));
|
||||
Write((byte)(size >> 4 & 0xF0 | deflatedLength >> 8 & 0xF));
|
||||
Write(m_DeflatedBuffer, 0, deflatedLength);
|
||||
|
||||
totalLength += 4 + deflatedLength;
|
||||
|
|
@ -2401,7 +2378,7 @@ namespace Server.Multis
|
|||
Write((byte)(9 + i));
|
||||
Write((byte)size);
|
||||
Write((byte)deflatedLength);
|
||||
Write((byte)(((size >> 4) & 0xF0) | ((deflatedLength >> 8) & 0xF)));
|
||||
Write((byte)(size >> 4 & 0xF0 | deflatedLength >> 8 & 0xF));
|
||||
Write(m_DeflatedBuffer, 0, deflatedLength);
|
||||
|
||||
totalLength += 4 + deflatedLength;
|
||||
|
|
@ -2471,7 +2448,6 @@ namespace Server.Multis
|
|||
int count = m_SendQueue.Count;
|
||||
|
||||
while (count > 0 && m_SendQueue.TryDequeue(out SendQueueEntry sqe))
|
||||
{
|
||||
try
|
||||
{
|
||||
Packet p;
|
||||
|
|
@ -2514,7 +2490,6 @@ namespace Server.Multis
|
|||
{
|
||||
count = m_SendQueue.Count;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -86,32 +86,16 @@ namespace Server.Multis
|
|||
{
|
||||
if (Owner != null && BaseHouse.DecayEnabled && Owner.DecayPeriod != TimeSpan.Zero)
|
||||
{
|
||||
string message;
|
||||
|
||||
switch (Owner.DecayLevel)
|
||||
var message = Owner.DecayLevel switch
|
||||
{
|
||||
case DecayLevel.Ageless:
|
||||
message = "ageless";
|
||||
break;
|
||||
case DecayLevel.Fairly:
|
||||
message = "fairly worn";
|
||||
break;
|
||||
case DecayLevel.Greatly:
|
||||
message = "greatly worn";
|
||||
break;
|
||||
case DecayLevel.LikeNew:
|
||||
message = "like new";
|
||||
break;
|
||||
case DecayLevel.Slightly:
|
||||
message = "slightly worn";
|
||||
break;
|
||||
case DecayLevel.Somewhat:
|
||||
message = "somewhat worn";
|
||||
break;
|
||||
default:
|
||||
message = "in danger of collapsing";
|
||||
break;
|
||||
}
|
||||
DecayLevel.Ageless => "ageless",
|
||||
DecayLevel.Fairly => "fairly worn",
|
||||
DecayLevel.Greatly => "greatly worn",
|
||||
DecayLevel.LikeNew => "like new",
|
||||
DecayLevel.Slightly => "slightly worn",
|
||||
DecayLevel.Somewhat => "somewhat worn",
|
||||
_ => "in danger of collapsing"
|
||||
};
|
||||
|
||||
LabelTo(from, "This house is {0}.", message);
|
||||
}
|
||||
|
|
@ -231,8 +215,7 @@ namespace Server.Multis
|
|||
{
|
||||
Mobile from = Owner.From;
|
||||
|
||||
if (!from.CheckAlive() || m_Sign.Deleted || m_Sign.Owner == null ||
|
||||
!m_Sign.Owner.AreThereAvailableVendorsFor(from))
|
||||
if (!from.CheckAlive() || m_Sign.Deleted || m_Sign.Owner?.AreThereAvailableVendorsFor(from) != true)
|
||||
return;
|
||||
|
||||
if (from.Map != m_Sign.Map || !from.InRange(m_Sign, 5))
|
||||
|
|
|
|||
|
|
@ -29,16 +29,16 @@ namespace Server.Multis
|
|||
|
||||
public override HouseDeed GetDeed()
|
||||
{
|
||||
switch (ItemID)
|
||||
return ItemID switch
|
||||
{
|
||||
case 0x64: return new StonePlasterHouseDeed();
|
||||
case 0x66: return new FieldStoneHouseDeed();
|
||||
case 0x68: return new SmallBrickHouseDeed();
|
||||
case 0x6A: return new WoodHouseDeed();
|
||||
case 0x6C: return new WoodPlasterHouseDeed();
|
||||
case 0x6E:
|
||||
default: return new ThatchedRoofCottageDeed();
|
||||
}
|
||||
0x64 => (HouseDeed)new StonePlasterHouseDeed(),
|
||||
0x66 => new FieldStoneHouseDeed(),
|
||||
0x68 => new SmallBrickHouseDeed(),
|
||||
0x6A => new WoodHouseDeed(),
|
||||
0x6C => new WoodPlasterHouseDeed(),
|
||||
0x6E => new ThatchedRoofCottageDeed(),
|
||||
_ => new ThatchedRoofCottageDeed()
|
||||
};
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
|
|
@ -126,12 +126,12 @@ namespace Server.Multis
|
|||
|
||||
public override HouseDeed GetDeed()
|
||||
{
|
||||
switch (ItemID)
|
||||
return ItemID switch
|
||||
{
|
||||
case 0x76: return new TwoStoryWoodPlasterHouseDeed();
|
||||
case 0x78:
|
||||
default: return new TwoStoryStonePlasterHouseDeed();
|
||||
}
|
||||
0x76 => (HouseDeed)new TwoStoryWoodPlasterHouseDeed(),
|
||||
0x78 => new TwoStoryStonePlasterHouseDeed(),
|
||||
_ => new TwoStoryStonePlasterHouseDeed()
|
||||
};
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
|
|
@ -561,12 +561,12 @@ namespace Server.Multis
|
|||
|
||||
public override HouseDeed GetDeed()
|
||||
{
|
||||
switch (ItemID)
|
||||
return ItemID switch
|
||||
{
|
||||
case 0xA0: return new StoneWorkshopDeed();
|
||||
case 0xA2:
|
||||
default: return new MarbleWorkshopDeed();
|
||||
}
|
||||
0xA0 => (HouseDeed)new StoneWorkshopDeed(),
|
||||
0xA2 => new MarbleWorkshopDeed(),
|
||||
_ => new MarbleWorkshopDeed()
|
||||
};
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue