Fixes brace style (#248)
This commit is contained in:
parent
a236617ad9
commit
8149620b0c
1503 changed files with 28575 additions and 1717 deletions
|
|
@ -51,7 +51,9 @@ namespace Server.Items
|
|||
base.Locked = value;
|
||||
|
||||
if (!value)
|
||||
{
|
||||
StartResetTimer();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -63,7 +65,9 @@ namespace Server.Items
|
|||
get
|
||||
{
|
||||
if (Locked)
|
||||
{
|
||||
return "a locked treasure chest";
|
||||
}
|
||||
|
||||
return "a treasure chest";
|
||||
}
|
||||
|
|
@ -90,7 +94,9 @@ namespace Server.Items
|
|||
MaxSpawnTime = reader.ReadShort();
|
||||
|
||||
if (!Locked)
|
||||
{
|
||||
StartResetTimer();
|
||||
}
|
||||
}
|
||||
|
||||
protected virtual void SetLockLevel()
|
||||
|
|
@ -110,9 +116,13 @@ namespace Server.Items
|
|||
private void StartResetTimer()
|
||||
{
|
||||
if (m_ResetTimer == null)
|
||||
{
|
||||
m_ResetTimer = new TreasureResetTimer(this);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_ResetTimer.Delay = TimeSpan.FromMinutes(Utility.Random(MinSpawnTime, MaxSpawnTime));
|
||||
}
|
||||
|
||||
m_ResetTimer.Start();
|
||||
}
|
||||
|
|
@ -161,15 +171,23 @@ namespace Server.Items
|
|||
public void ClearContents()
|
||||
{
|
||||
for (var i = Items.Count - 1; i >= 0; --i)
|
||||
{
|
||||
if (i < Items.Count)
|
||||
{
|
||||
Items[i].Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void Reset()
|
||||
{
|
||||
if (m_ResetTimer != null)
|
||||
{
|
||||
if (m_ResetTimer.Running)
|
||||
{
|
||||
m_ResetTimer.Stop();
|
||||
}
|
||||
}
|
||||
|
||||
Locked = true;
|
||||
ClearContents();
|
||||
|
|
|
|||
|
|
@ -21,7 +21,9 @@ namespace Server.Items
|
|||
get
|
||||
{
|
||||
if (IsSecure)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return base.DefaultMaxWeight;
|
||||
}
|
||||
|
|
@ -30,7 +32,9 @@ namespace Server.Items
|
|||
public override bool IsAccessibleTo(Mobile m)
|
||||
{
|
||||
if (!BaseHouse.CheckAccessible(m, this))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return base.IsAccessibleTo(m);
|
||||
}
|
||||
|
|
@ -38,7 +42,9 @@ namespace Server.Items
|
|||
public override bool CheckHold(Mobile m, Item item, bool message, bool checkItems, int plusItems, int plusWeight)
|
||||
{
|
||||
if (IsSecure && !BaseHouse.CheckHold(m, this, item, message, checkItems, plusItems, plusWeight))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return base.CheckHold(m, item, message, checkItems, plusItems, plusWeight);
|
||||
}
|
||||
|
|
@ -46,7 +52,9 @@ namespace Server.Items
|
|||
public override bool CheckItemUse(Mobile from, Item item)
|
||||
{
|
||||
if (IsDecoContainer && item is BaseBook)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return base.CheckItemUse(from, item);
|
||||
}
|
||||
|
|
@ -60,7 +68,9 @@ namespace Server.Items
|
|||
public override bool TryDropItem(Mobile from, Item dropped, bool sendFullMessage)
|
||||
{
|
||||
if (!CheckHold(from, dropped, sendFullMessage, true))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
var house = BaseHouse.FindHouseAt(this);
|
||||
|
||||
|
|
@ -74,7 +84,9 @@ namespace Server.Items
|
|||
}
|
||||
|
||||
if (!house.LockDown(from, dropped, false))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
var list = Items;
|
||||
|
|
@ -84,7 +96,9 @@ namespace Server.Items
|
|||
var item = list[i];
|
||||
|
||||
if (!(item is Container) && item.StackWith(from, dropped, false))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
DropItem(dropped);
|
||||
|
|
@ -95,7 +109,9 @@ namespace Server.Items
|
|||
public override bool OnDragDropInto(Mobile from, Item item, Point3D p)
|
||||
{
|
||||
if (!CheckHold(from, item, true, true))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
var house = BaseHouse.FindHouseAt(this);
|
||||
|
||||
|
|
@ -109,7 +125,9 @@ namespace Server.Items
|
|||
}
|
||||
|
||||
if (!house.LockDown(from, item, false))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
item.Location = new Point3D(p.X, p.Y, 0);
|
||||
|
|
@ -125,15 +143,21 @@ namespace Server.Items
|
|||
base.UpdateTotal(sender, type, delta);
|
||||
|
||||
if (type == TotalType.Weight)
|
||||
{
|
||||
(RootParent as Mobile)?.InvalidateProperties();
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (from.AccessLevel > AccessLevel.Player || from.InRange(GetWorldLocation(), 2) || RootParent is PlayerVendor)
|
||||
Open(from);
|
||||
{
|
||||
Open(@from);
|
||||
}
|
||||
else
|
||||
from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1019045); // I can't reach that.
|
||||
{
|
||||
@from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1019045); // I can't reach that.
|
||||
}
|
||||
}
|
||||
|
||||
public virtual void Open(Mobile from)
|
||||
|
|
@ -171,15 +195,21 @@ namespace Server.Items
|
|||
public override void AddNameProperty(ObjectPropertyList list)
|
||||
{
|
||||
if (Name != null)
|
||||
{
|
||||
list.Add(1075257, Name); // Contents of ~1_PETNAME~'s pack.
|
||||
}
|
||||
else
|
||||
{
|
||||
base.AddNameProperty(list);
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnItemRemoved(Item item)
|
||||
{
|
||||
if (Items.Count == 0)
|
||||
{
|
||||
Delete();
|
||||
}
|
||||
|
||||
base.OnItemRemoved(item);
|
||||
}
|
||||
|
|
@ -187,7 +217,9 @@ namespace Server.Items
|
|||
public override bool OnDragLift(Mobile from)
|
||||
{
|
||||
if (from.AccessLevel > AccessLevel.Player)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
from.SendLocalizedMessage(500169); // You cannot pick that up.
|
||||
return false;
|
||||
|
|
@ -211,7 +243,9 @@ namespace Server.Items
|
|||
var version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
Weight = 13.0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -251,7 +285,9 @@ namespace Server.Items
|
|||
var version = reader.ReadInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
Weight = 13.0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -273,7 +309,9 @@ namespace Server.Items
|
|||
get
|
||||
{
|
||||
if (Core.ML && Parent is Mobile m && m.Player && m.Backpack == this)
|
||||
{
|
||||
return 550;
|
||||
}
|
||||
|
||||
return base.DefaultMaxWeight;
|
||||
}
|
||||
|
|
@ -281,7 +319,10 @@ namespace Server.Items
|
|||
|
||||
public bool Dye(Mobile from, DyeTub sender)
|
||||
{
|
||||
if (Deleted) return false;
|
||||
if (Deleted)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
Hue = sender.DyedHue;
|
||||
|
||||
|
|
@ -302,7 +343,9 @@ namespace Server.Items
|
|||
var version = reader.ReadInt();
|
||||
|
||||
if (version == 0 && ItemID == 0x9B2)
|
||||
{
|
||||
ItemID = 0xE75;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -341,7 +384,9 @@ namespace Server.Items
|
|||
public bool Dye(Mobile from, DyeTub sender)
|
||||
{
|
||||
if (Deleted)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
Hue = sender.DyedHue;
|
||||
|
||||
|
|
@ -426,7 +471,10 @@ namespace Server.Items
|
|||
|
||||
public bool Dye(Mobile from, DyeTub sender)
|
||||
{
|
||||
if (Deleted) return false;
|
||||
if (Deleted)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
Hue = sender.DyedHue;
|
||||
|
||||
|
|
@ -471,7 +519,9 @@ namespace Server.Items
|
|||
var version = reader.ReadInt();
|
||||
|
||||
if (Weight == 0.0)
|
||||
{
|
||||
Weight = 25.0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -598,7 +648,9 @@ namespace Server.Items
|
|||
var version = reader.ReadInt();
|
||||
|
||||
if (Weight == 4.0)
|
||||
{
|
||||
Weight = 2.0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -627,7 +679,9 @@ namespace Server.Items
|
|||
var version = reader.ReadInt();
|
||||
|
||||
if (Weight == 6.0)
|
||||
{
|
||||
Weight = 2.0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -656,7 +710,9 @@ namespace Server.Items
|
|||
var version = reader.ReadInt();
|
||||
|
||||
if (Weight == 8.0)
|
||||
{
|
||||
Weight = 1.0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -687,7 +743,9 @@ namespace Server.Items
|
|||
var version = reader.ReadInt();
|
||||
|
||||
if (version == 0 && Weight == 3)
|
||||
{
|
||||
Weight = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -718,7 +776,9 @@ namespace Server.Items
|
|||
var version = reader.ReadInt();
|
||||
|
||||
if (version == 0 && Weight == 25)
|
||||
{
|
||||
Weight = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -749,7 +809,9 @@ namespace Server.Items
|
|||
var version = reader.ReadInt();
|
||||
|
||||
if (version == 0 && Weight == 25)
|
||||
{
|
||||
Weight = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -778,7 +840,9 @@ namespace Server.Items
|
|||
var version = reader.ReadInt();
|
||||
|
||||
if (Weight == 15.0)
|
||||
{
|
||||
Weight = 2.0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -809,7 +873,9 @@ namespace Server.Items
|
|||
var version = reader.ReadInt();
|
||||
|
||||
if (version == 0 && Weight == 15)
|
||||
{
|
||||
Weight = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -840,7 +906,9 @@ namespace Server.Items
|
|||
var version = reader.ReadInt();
|
||||
|
||||
if (version == 0 && Weight == 15)
|
||||
{
|
||||
Weight = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -871,7 +939,9 @@ namespace Server.Items
|
|||
var version = reader.ReadInt();
|
||||
|
||||
if (version == 0 && Weight == 15)
|
||||
{
|
||||
Weight = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -900,10 +970,14 @@ namespace Server.Items
|
|||
var version = reader.ReadInt();
|
||||
|
||||
if (version == 0 && Weight == 15)
|
||||
{
|
||||
Weight = -1;
|
||||
}
|
||||
|
||||
if (version < 2)
|
||||
{
|
||||
GumpID = 0x10B;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -934,7 +1008,9 @@ namespace Server.Items
|
|||
var version = reader.ReadInt();
|
||||
|
||||
if (version == 0 && Weight == 15)
|
||||
{
|
||||
Weight = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,13 +44,19 @@ namespace Server.Items
|
|||
set
|
||||
{
|
||||
if (m_Content == value)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
m_Content = value;
|
||||
|
||||
for (var i = Items.Count - 1; i >= 0; --i)
|
||||
{
|
||||
if (i < Items.Count)
|
||||
{
|
||||
Items[i].Delete();
|
||||
}
|
||||
}
|
||||
|
||||
Respawn();
|
||||
}
|
||||
|
|
@ -71,12 +77,16 @@ namespace Server.Items
|
|||
public virtual void AcquireContent()
|
||||
{
|
||||
if (m_Content != null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
m_Content = FillableContent.Acquire(GetWorldLocation(), Map);
|
||||
|
||||
if (m_Content != null)
|
||||
{
|
||||
Respawn();
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnItemRemoved(Item item)
|
||||
|
|
@ -99,7 +109,10 @@ namespace Server.Items
|
|||
{
|
||||
var count = 0;
|
||||
|
||||
foreach (var item in Items) count += item.Amount;
|
||||
foreach (var item in Items)
|
||||
{
|
||||
count += item.Amount;
|
||||
}
|
||||
|
||||
return count;
|
||||
}
|
||||
|
|
@ -136,7 +149,9 @@ namespace Server.Items
|
|||
}
|
||||
|
||||
if (m_Content == null || Deleted)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
GenerateContent();
|
||||
|
||||
|
|
@ -154,9 +169,13 @@ namespace Server.Items
|
|||
if (IsTrappable && (m_Content.Level > 1 || Utility.Random(5) < 4))
|
||||
{
|
||||
if (m_Content.Level > Utility.Random(5))
|
||||
{
|
||||
TrapType = TrapType.PoisonTrap;
|
||||
}
|
||||
else
|
||||
{
|
||||
TrapType = TrapType.ExplosionTrap;
|
||||
}
|
||||
|
||||
TrapPower = m_Content.Level * Utility.RandomMinMax(10, 30);
|
||||
TrapLevel = m_Content.Level;
|
||||
|
|
@ -176,7 +195,9 @@ namespace Server.Items
|
|||
var itemsCount = GetItemsCount();
|
||||
|
||||
if (itemsCount > SpawnThreshold)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
var maxSpawnCount = (1 + SpawnThreshold - itemsCount) * 2;
|
||||
|
||||
|
|
@ -186,7 +207,9 @@ namespace Server.Items
|
|||
public virtual void GenerateContent()
|
||||
{
|
||||
if (m_Content == null || Deleted)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var toSpawn = GetSpawnCount();
|
||||
|
||||
|
|
@ -195,7 +218,9 @@ namespace Server.Items
|
|||
var item = m_Content.Construct();
|
||||
|
||||
if (item == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var list = Items;
|
||||
|
||||
|
|
@ -204,11 +229,15 @@ namespace Server.Items
|
|||
var subItem = list[j];
|
||||
|
||||
if (!(subItem is Container) && subItem.StackWith(null, item, false))
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!item.Deleted)
|
||||
{
|
||||
DropItem(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -285,12 +314,16 @@ namespace Server.Items
|
|||
public override void AcquireContent()
|
||||
{
|
||||
if (m_Content != null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
m_Content = FillableContent.Library;
|
||||
|
||||
if (m_Content != null)
|
||||
{
|
||||
Respawn();
|
||||
}
|
||||
}
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
|
|
@ -307,7 +340,9 @@ namespace Server.Items
|
|||
var version = reader.ReadEncodedInt();
|
||||
|
||||
if (version == 0 && m_Content == null)
|
||||
{
|
||||
Timer.DelayCall(AcquireContent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -423,7 +458,9 @@ namespace Server.Items
|
|||
var version = reader.ReadEncodedInt();
|
||||
|
||||
if (version == 0 && Weight == 3)
|
||||
{
|
||||
Weight = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -456,7 +493,9 @@ namespace Server.Items
|
|||
var version = reader.ReadEncodedInt();
|
||||
|
||||
if (version == 0 && Weight == 25)
|
||||
{
|
||||
Weight = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -488,7 +527,9 @@ namespace Server.Items
|
|||
var version = reader.ReadInt();
|
||||
|
||||
if (version == 0 && Weight == 25)
|
||||
{
|
||||
Weight = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -520,7 +561,9 @@ namespace Server.Items
|
|||
var version = reader.ReadInt();
|
||||
|
||||
if (version == 0 && Weight == 25)
|
||||
{
|
||||
Weight = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -552,7 +595,9 @@ namespace Server.Items
|
|||
var version = reader.ReadInt();
|
||||
|
||||
if (version == 0 && Weight == 2)
|
||||
{
|
||||
Weight = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -588,7 +633,9 @@ namespace Server.Items
|
|||
m_Types = new Type[count];
|
||||
|
||||
for (var i = 0; i < m_Types.Length; ++i)
|
||||
{
|
||||
m_Types[i] = types[offset + i];
|
||||
}
|
||||
}
|
||||
|
||||
public Type[] Types => m_Types;
|
||||
|
|
@ -599,16 +646,22 @@ namespace Server.Items
|
|||
var item = Loot.Construct(m_Types);
|
||||
|
||||
if (item is Key key)
|
||||
{
|
||||
key.ItemID = Utility.RandomList(
|
||||
(int)KeyType.Copper,
|
||||
(int)KeyType.Gold,
|
||||
(int)KeyType.Iron,
|
||||
(int)KeyType.Rusty
|
||||
);
|
||||
}
|
||||
else if (item is Arrow || item is Bolt)
|
||||
{
|
||||
item.Amount = Utility.RandomMinMax(2, 6);
|
||||
}
|
||||
else if (item is Bandage || item is Lockpick)
|
||||
{
|
||||
item.Amount = Utility.RandomMinMax(1, 3);
|
||||
}
|
||||
|
||||
return item;
|
||||
}
|
||||
|
|
@ -1481,7 +1534,9 @@ namespace Server.Items
|
|||
m_Entries = entries;
|
||||
|
||||
for (var i = 0; i < entries.Length; ++i)
|
||||
{
|
||||
m_Weight += entries[i].Weight;
|
||||
}
|
||||
}
|
||||
|
||||
public int Level { get; }
|
||||
|
|
@ -1499,7 +1554,9 @@ namespace Server.Items
|
|||
var entry = m_Entries[i];
|
||||
|
||||
if (index < entry.Weight)
|
||||
{
|
||||
return entry.Construct();
|
||||
}
|
||||
|
||||
index -= entry.Weight;
|
||||
}
|
||||
|
|
@ -1512,7 +1569,9 @@ namespace Server.Items
|
|||
var v = (int)type;
|
||||
|
||||
if (v >= 0 && v < m_ContentTypes.Length)
|
||||
{
|
||||
return m_ContentTypes[v];
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
|
@ -1520,7 +1579,9 @@ namespace Server.Items
|
|||
public static FillableContentType Lookup(FillableContent content)
|
||||
{
|
||||
if (content == null)
|
||||
{
|
||||
return FillableContentType.None;
|
||||
}
|
||||
|
||||
return (FillableContentType)Array.IndexOf(m_ContentTypes, content);
|
||||
}
|
||||
|
|
@ -1528,7 +1589,9 @@ namespace Server.Items
|
|||
public static FillableContent Acquire(Point3D loc, Map map)
|
||||
{
|
||||
if (map == null || map == Map.Internal)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
if (m_AcquireTable == null)
|
||||
{
|
||||
|
|
@ -1539,7 +1602,9 @@ namespace Server.Items
|
|||
var fill = m_ContentTypes[i];
|
||||
|
||||
for (var j = 0; j < fill.Vendors.Length; ++j)
|
||||
{
|
||||
m_AcquireTable[fill.Vendors[j]] = fill;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1550,7 +1615,9 @@ namespace Server.Items
|
|||
{
|
||||
if (nearest != null && mob.GetDistanceToSqrt(loc) > nearest.GetDistanceToSqrt(loc) &&
|
||||
!(nearest is Cobbler && mob is Provisioner))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (m_AcquireTable.TryGetValue(mob.GetType(), out var check))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -43,15 +43,23 @@ namespace Server.Items
|
|||
MaxLockLevel = level + 35;
|
||||
|
||||
if (LockLevel == 0)
|
||||
{
|
||||
LockLevel = -1;
|
||||
}
|
||||
else if (LockLevel > 95)
|
||||
{
|
||||
LockLevel = 95;
|
||||
}
|
||||
|
||||
if (RequiredSkill > 95)
|
||||
{
|
||||
RequiredSkill = 95;
|
||||
}
|
||||
|
||||
if (MaxLockLevel > 95)
|
||||
{
|
||||
MaxLockLevel = 95;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -70,7 +78,9 @@ namespace Server.Items
|
|||
m_Locked = value;
|
||||
|
||||
if (m_Locked)
|
||||
{
|
||||
Picker = null;
|
||||
}
|
||||
|
||||
InvalidateProperties();
|
||||
}
|
||||
|
|
@ -96,7 +106,10 @@ namespace Server.Items
|
|||
Locked = false;
|
||||
Picker = from;
|
||||
|
||||
if (TrapOnLockpick && ExecuteTrap(from)) TrapOnLockpick = false;
|
||||
if (TrapOnLockpick && ExecuteTrap(from))
|
||||
{
|
||||
TrapOnLockpick = false;
|
||||
}
|
||||
}
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
|
|
@ -168,7 +181,9 @@ namespace Server.Items
|
|||
case 0:
|
||||
{
|
||||
if (version < 3)
|
||||
{
|
||||
MaxLockLevel = 100;
|
||||
}
|
||||
|
||||
if (version < 4)
|
||||
{
|
||||
|
|
@ -218,10 +233,14 @@ namespace Server.Items
|
|||
public override bool CheckLift(Mobile from, Item item, ref LRReason reject)
|
||||
{
|
||||
if (!base.CheckLift(from, item, ref reject))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (item != this && from.AccessLevel < AccessLevel.GameMaster && m_Locked)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
@ -229,7 +248,9 @@ namespace Server.Items
|
|||
public override bool CheckItemUse(Mobile from, Item item)
|
||||
{
|
||||
if (!base.CheckItemUse(from, item))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (item != this && from.AccessLevel < AccessLevel.GameMaster && m_Locked)
|
||||
{
|
||||
|
|
@ -285,7 +306,9 @@ namespace Server.Items
|
|||
public override void OnDoubleClickSecureTrade(Mobile from)
|
||||
{
|
||||
if (CheckLocked(from))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
base.OnDoubleClickSecureTrade(from);
|
||||
}
|
||||
|
|
@ -293,7 +316,9 @@ namespace Server.Items
|
|||
public override void Open(Mobile from)
|
||||
{
|
||||
if (CheckLocked(from))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
base.Open(from);
|
||||
}
|
||||
|
|
@ -301,7 +326,9 @@ namespace Server.Items
|
|||
public override void OnSnoop(Mobile from)
|
||||
{
|
||||
if (CheckLocked(from))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
base.OnSnoop(from);
|
||||
}
|
||||
|
|
@ -311,7 +338,9 @@ namespace Server.Items
|
|||
base.AddNameProperties(list);
|
||||
|
||||
if (IsShipwreckedItem)
|
||||
{
|
||||
list.Add(1041645); // recovered from a shipwreck
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnSingleClick(Mobile from)
|
||||
|
|
@ -319,7 +348,9 @@ namespace Server.Items
|
|||
base.OnSingleClick(from);
|
||||
|
||||
if (IsShipwreckedItem)
|
||||
LabelTo(from, 1041645); // recovered from a shipwreck
|
||||
{
|
||||
LabelTo(@from, 1041645); // recovered from a shipwreck
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,13 +14,17 @@ namespace Server.Items
|
|||
Movable = false;
|
||||
|
||||
if (bone)
|
||||
{
|
||||
Hue = 1102;
|
||||
}
|
||||
|
||||
m_AutoLock = locked;
|
||||
Locked = locked;
|
||||
|
||||
if (locked)
|
||||
{
|
||||
LockLevel = -255;
|
||||
}
|
||||
}
|
||||
|
||||
public MarkContainer(Serial serial) : base(serial)
|
||||
|
|
@ -36,9 +40,13 @@ namespace Server.Items
|
|||
m_AutoLock = value;
|
||||
|
||||
if (!m_AutoLock)
|
||||
{
|
||||
StopTimer();
|
||||
}
|
||||
else if (!Locked && m_RelockTimer == null)
|
||||
{
|
||||
m_RelockTimer = new InternalTimer(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -77,7 +85,9 @@ namespace Server.Items
|
|||
StopTimer();
|
||||
|
||||
if (!Locked)
|
||||
{
|
||||
m_RelockTimer = new InternalTimer(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -121,7 +131,9 @@ namespace Server.Items
|
|||
var location = new Point3D(x, y, z);
|
||||
|
||||
if (FindMarkContainer(location, Map.Malas))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var cont = new MarkContainer(bone, locked)
|
||||
{
|
||||
|
|
@ -182,7 +194,9 @@ namespace Server.Items
|
|||
writer.Write(m_AutoLock);
|
||||
|
||||
if (!Locked && m_AutoLock)
|
||||
{
|
||||
writer.WriteDeltaTime(m_RelockTimer.RelockTime);
|
||||
}
|
||||
|
||||
writer.Write(TargetMap);
|
||||
writer.Write(Target);
|
||||
|
|
@ -198,7 +212,9 @@ namespace Server.Items
|
|||
m_AutoLock = reader.ReadBool();
|
||||
|
||||
if (!Locked && m_AutoLock)
|
||||
{
|
||||
m_RelockTimer = new InternalTimer(this, reader.ReadDeltaTime() - DateTime.UtcNow);
|
||||
}
|
||||
|
||||
TargetMap = reader.ReadMap();
|
||||
Target = reader.ReadPoint3D();
|
||||
|
|
|
|||
|
|
@ -112,16 +112,22 @@ namespace Server.Items
|
|||
DropItem(new Gold(level * 200));
|
||||
|
||||
for (var i = 0; i < level; ++i)
|
||||
{
|
||||
DropItem(Loot.RandomScroll(0, 63, SpellbookType.Regular));
|
||||
}
|
||||
|
||||
for (var i = 0; i < level * 2; ++i)
|
||||
{
|
||||
Item item;
|
||||
|
||||
if (Core.AOS)
|
||||
{
|
||||
item = Loot.RandomArmorOrShieldOrWeaponOrJewelry();
|
||||
}
|
||||
else
|
||||
{
|
||||
item = Loot.RandomArmorOrShieldOrWeapon();
|
||||
}
|
||||
|
||||
if (item is BaseWeapon weapon)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -50,22 +50,30 @@ namespace Server.Items
|
|||
try
|
||||
{
|
||||
if (CraftResources.GetType(resource) != CraftResourceType.Metal)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
var info = CraftResources.GetInfo(resource);
|
||||
|
||||
if (info == null || info.ResourceTypes.Length == 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
var craftItem = DefBlacksmithy.CraftSystem.CraftItems.SearchFor(item.GetType());
|
||||
|
||||
if (craftItem == null || craftItem.Resources.Count == 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
var craftResource = craftItem.Resources[0];
|
||||
|
||||
if (craftResource.Amount < 2)
|
||||
{
|
||||
return false; // Not enough metal to resmelt
|
||||
}
|
||||
|
||||
var difficulty = resource switch
|
||||
{
|
||||
|
|
@ -89,12 +97,19 @@ namespace Server.Items
|
|||
{
|
||||
var mining = from.Skills.Mining.Value;
|
||||
if (mining > 100.0)
|
||||
{
|
||||
mining = 100.0;
|
||||
}
|
||||
|
||||
var amount = ((4 + mining) * craftResource.Amount - 4) * 0.0068;
|
||||
if (amount < 2)
|
||||
{
|
||||
ingot.Amount = 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
ingot.Amount = (int)amount;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -129,10 +144,12 @@ namespace Server.Items
|
|||
private bool Resmeltables() // Where context menu checks for metal items and dragon barding deeds
|
||||
{
|
||||
foreach (var i in Items)
|
||||
{
|
||||
return i?.Deleted == false && (
|
||||
i is BaseWeapon weapon && CraftResources.GetType(weapon.Resource) == CraftResourceType.Metal ||
|
||||
i is BaseArmor armor && CraftResources.GetType(armor.Resource) == CraftResourceType.Metal ||
|
||||
i is DragonBardingDeed);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
|
@ -142,11 +159,15 @@ namespace Server.Items
|
|||
foreach (var i in Items)
|
||||
{
|
||||
if (!(i is IScissorable) || i.Deleted)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (i is BaseClothing || i is Cloth || i is BoltOfCloth || i is Hides || i is BonePile ||
|
||||
i is BaseArmor armor && CraftResources.GetType(armor.Resource) == CraftResourceType.Leather)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
|
|
@ -178,14 +199,20 @@ namespace Server.Items
|
|||
foreach (var item in smeltables)
|
||||
{
|
||||
if (item?.Deleted != false)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (item is BaseArmor armor && Resmelt(from, armor, armor.Resource) ||
|
||||
item is BaseWeapon weapon && Resmelt(from, weapon, weapon.Resource) ||
|
||||
item is DragonBardingDeed)
|
||||
{
|
||||
salvaged++;
|
||||
}
|
||||
else
|
||||
{
|
||||
notSalvaged++;
|
||||
}
|
||||
}
|
||||
|
||||
if (m_Failure)
|
||||
|
|
@ -224,12 +251,18 @@ namespace Server.Items
|
|||
var item = scissorables[i];
|
||||
|
||||
if (!(item is IScissorable scissorable))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (Scissors.CanScissor(from, scissorable) && scissorable.Scissor(from, scissors))
|
||||
{
|
||||
++salvaged;
|
||||
}
|
||||
else
|
||||
{
|
||||
++notSalvaged;
|
||||
}
|
||||
}
|
||||
|
||||
from.SendLocalizedMessage(
|
||||
|
|
@ -245,7 +278,10 @@ namespace Server.Items
|
|||
}
|
||||
);
|
||||
|
||||
for (var i = 0; i < items.Length; i++) from.AddToBackpack(items[i]);
|
||||
for (var i = 0; i < items.Length; i++)
|
||||
{
|
||||
@from.AddToBackpack(items[i]);
|
||||
}
|
||||
}
|
||||
|
||||
private void SalvageAll(Mobile from)
|
||||
|
|
@ -279,18 +315,24 @@ namespace Server.Items
|
|||
m_Bag = bag;
|
||||
|
||||
if (!enabled)
|
||||
{
|
||||
Flags |= CMEFlags.Disabled;
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnClick()
|
||||
{
|
||||
if (m_Bag.Deleted)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var from = Owner.From;
|
||||
|
||||
if (from.CheckAlive())
|
||||
m_Bag.SalvageAll(from);
|
||||
{
|
||||
m_Bag.SalvageAll(@from);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -304,18 +346,24 @@ namespace Server.Items
|
|||
m_Bag = bag;
|
||||
|
||||
if (!enabled)
|
||||
{
|
||||
Flags |= CMEFlags.Disabled;
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnClick()
|
||||
{
|
||||
if (m_Bag.Deleted)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var from = Owner.From;
|
||||
|
||||
if (from.CheckAlive())
|
||||
m_Bag.SalvageIngots(from);
|
||||
{
|
||||
m_Bag.SalvageIngots(@from);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -329,18 +377,24 @@ namespace Server.Items
|
|||
m_Bag = bag;
|
||||
|
||||
if (!enabled)
|
||||
{
|
||||
Flags |= CMEFlags.Disabled;
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnClick()
|
||||
{
|
||||
if (m_Bag.Deleted)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var from = Owner.From;
|
||||
|
||||
if (from.CheckAlive())
|
||||
m_Bag.SalvageCloth(from);
|
||||
{
|
||||
m_Bag.SalvageCloth(@from);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,7 +45,9 @@ namespace Server.Items
|
|||
public void OnChop(Mobile from)
|
||||
{
|
||||
if (m_House?.Deleted != false || m_Owner?.Deleted != false || from == m_Owner || m_House.IsOwner(from))
|
||||
Chop(from);
|
||||
{
|
||||
Chop(@from);
|
||||
}
|
||||
}
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
|
|
@ -90,9 +92,13 @@ namespace Server.Items
|
|||
public override void AddNameProperty(ObjectPropertyList list)
|
||||
{
|
||||
if (m_Owner != null)
|
||||
{
|
||||
list.Add(1042887, m_Owner.Name); // a strong box owned by ~1_OWNER_NAME~
|
||||
}
|
||||
else
|
||||
{
|
||||
base.AddNameProperty(list);
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnSingleClick(Mobile from)
|
||||
|
|
@ -102,7 +108,9 @@ namespace Server.Items
|
|||
LabelTo(from, 1042887, m_Owner.Name); // a strong box owned by ~1_OWNER_NAME~
|
||||
|
||||
if (CheckContentDisplay(from))
|
||||
LabelTo(from, "({0} items, {1} stones)", TotalItems, TotalWeight);
|
||||
{
|
||||
LabelTo(@from, "({0} items, {1} stones)", TotalItems, TotalWeight);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -127,7 +135,10 @@ namespace Server.Items
|
|||
Container metalBox = new MetalBox();
|
||||
var subItems = new List<Item>(Items);
|
||||
|
||||
foreach (var subItem in subItems) metalBox.AddItem(subItem);
|
||||
foreach (var subItem in subItems)
|
||||
{
|
||||
metalBox.AddItem(subItem);
|
||||
}
|
||||
|
||||
Delete();
|
||||
|
||||
|
|
|
|||
|
|
@ -38,13 +38,18 @@ namespace Server.Items
|
|||
Effects.SendLocationParticles(EffectItem.Create(Location, Map, EffectItem.DefaultDuration), 0x376A, 9, 32, 5022);
|
||||
Effects.PlaySound(Location, Map, 0x1F5);
|
||||
|
||||
if (TrapOnOpen) ExecuteTrap(from);
|
||||
if (TrapOnOpen)
|
||||
{
|
||||
ExecuteTrap(@from);
|
||||
}
|
||||
}
|
||||
|
||||
private void SendMessageTo(Mobile to, int number, int hue)
|
||||
{
|
||||
if (Deleted || !to.CanSee(this))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
to.Send(new MessageLocalized(Serial, ItemID, MessageType.Regular, hue, 3, number, "", ""));
|
||||
}
|
||||
|
|
@ -52,7 +57,9 @@ namespace Server.Items
|
|||
private void SendMessageTo(Mobile to, string text, int hue)
|
||||
{
|
||||
if (Deleted || !to.CanSee(this))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
to.Send(new UnicodeMessage(Serial, ItemID, MessageType.Regular, hue, 3, "ENU", "", text));
|
||||
}
|
||||
|
|
@ -81,9 +88,13 @@ namespace Server.Items
|
|||
int damage;
|
||||
|
||||
if (TrapLevel > 0)
|
||||
{
|
||||
damage = Utility.RandomMinMax(10, 30) * TrapLevel;
|
||||
}
|
||||
else
|
||||
{
|
||||
damage = TrapPower;
|
||||
}
|
||||
|
||||
AOS.Damage(from, damage, 0, 100, 0, 0, 0);
|
||||
|
||||
|
|
@ -99,7 +110,9 @@ namespace Server.Items
|
|||
case TrapType.MagicTrap:
|
||||
{
|
||||
if (from.InRange(loc, 1))
|
||||
from.Damage(TrapPower);
|
||||
{
|
||||
@from.Damage(TrapPower);
|
||||
}
|
||||
// AOS.Damage( from, m_TrapPower, 0, 100, 0, 0, 0 );
|
||||
|
||||
Effects.PlaySound(loc, Map, 0x307);
|
||||
|
|
@ -123,9 +136,13 @@ namespace Server.Items
|
|||
int damage;
|
||||
|
||||
if (TrapLevel > 0)
|
||||
{
|
||||
damage = Utility.RandomMinMax(5, 15) * TrapLevel;
|
||||
}
|
||||
else
|
||||
{
|
||||
damage = TrapPower;
|
||||
}
|
||||
|
||||
AOS.Damage(from, damage, 100, 0, 0, 0, 0);
|
||||
|
||||
|
|
@ -180,7 +197,9 @@ namespace Server.Items
|
|||
public override void Open(Mobile from)
|
||||
{
|
||||
if (!TrapOnOpen || !ExecuteTrap(from))
|
||||
base.Open(from);
|
||||
{
|
||||
base.Open(@from);
|
||||
}
|
||||
}
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
|
|
|
|||
|
|
@ -152,7 +152,9 @@ namespace Server.Items
|
|||
cont.DropItem(new Gold(Utility.RandomMinMax(50, 100)));
|
||||
|
||||
if (Utility.RandomDouble() < 0.75)
|
||||
{
|
||||
cont.DropItem(new TreasureMap(0, Map.Trammel));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -181,9 +183,12 @@ namespace Server.Items
|
|||
cont.DropItem(new Gold(level * 1000));
|
||||
|
||||
for (var i = 0; i < level * 5; ++i)
|
||||
{
|
||||
cont.DropItem(Loot.RandomScroll(0, 63, SpellbookType.Regular));
|
||||
}
|
||||
|
||||
if (Core.SE)
|
||||
{
|
||||
numberItems = level switch
|
||||
{
|
||||
1 => 5,
|
||||
|
|
@ -194,17 +199,24 @@ namespace Server.Items
|
|||
6 => 60,
|
||||
_ => 0
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
numberItems = level * 6;
|
||||
}
|
||||
|
||||
for (var i = 0; i < numberItems; ++i)
|
||||
{
|
||||
Item item;
|
||||
|
||||
if (Core.AOS)
|
||||
{
|
||||
item = Loot.RandomArmorOrShieldOrWeaponOrJewelry();
|
||||
}
|
||||
else
|
||||
{
|
||||
item = Loot.RandomArmorOrShieldOrWeapon();
|
||||
}
|
||||
|
||||
if (item is BaseWeapon weapon)
|
||||
{
|
||||
|
|
@ -259,9 +271,13 @@ namespace Server.Items
|
|||
|
||||
int reagents;
|
||||
if (level == 0)
|
||||
{
|
||||
reagents = 12;
|
||||
}
|
||||
else
|
||||
{
|
||||
reagents = level * 3;
|
||||
}
|
||||
|
||||
for (var i = 0; i < reagents; i++)
|
||||
{
|
||||
|
|
@ -272,9 +288,13 @@ namespace Server.Items
|
|||
|
||||
int gems;
|
||||
if (level == 0)
|
||||
{
|
||||
gems = 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
gems = level * 3;
|
||||
}
|
||||
|
||||
for (var i = 0; i < gems; i++)
|
||||
{
|
||||
|
|
@ -283,24 +303,30 @@ namespace Server.Items
|
|||
}
|
||||
|
||||
if (level == 6 && Core.AOS)
|
||||
{
|
||||
cont.DropItem((Item)ActivatorUtil.CreateInstance(Artifacts.RandomElement()));
|
||||
}
|
||||
}
|
||||
|
||||
public override bool CheckLocked(Mobile from)
|
||||
{
|
||||
if (!Locked)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (Level == 0 && from.AccessLevel < AccessLevel.GameMaster)
|
||||
{
|
||||
foreach (var m in Guardians)
|
||||
{
|
||||
if (m.Alive)
|
||||
{
|
||||
from.SendLocalizedMessage(
|
||||
@from.SendLocalizedMessage(
|
||||
1046448
|
||||
); // You must first kill the guardians before you may open this chest.
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
LockPick(from);
|
||||
return false;
|
||||
|
|
@ -312,22 +338,32 @@ namespace Server.Items
|
|||
private bool CheckLoot(Mobile m, bool criminalAction)
|
||||
{
|
||||
if (Temporary)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (m.AccessLevel >= AccessLevel.GameMaster || Owner == null || m == Owner)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if (Party.Get(Owner)?.Contains(m) == true)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
var map = Map;
|
||||
|
||||
if ((map?.Rules & MapRules.HarmfulRestrictions) == 0)
|
||||
{
|
||||
if (criminalAction)
|
||||
{
|
||||
m.CriminalAction(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
m.SendLocalizedMessage(1010630); // Taking someone else's treasure is a criminal offense!
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
@ -353,7 +389,9 @@ namespace Server.Items
|
|||
m_Lifted.Add(item);
|
||||
|
||||
if (Utility.RandomDouble() <= 0.1) // 10% chance to spawn a new monster
|
||||
TreasureMap.Spawn(Level, GetWorldLocation(), Map, from, false);
|
||||
{
|
||||
TreasureMap.Spawn(Level, GetWorldLocation(), Map, @from, false);
|
||||
}
|
||||
}
|
||||
|
||||
base.OnItemLifted(from, item);
|
||||
|
|
@ -414,7 +452,9 @@ namespace Server.Items
|
|||
m_Lifted = reader.ReadStrongItemList();
|
||||
|
||||
if (version < 2)
|
||||
{
|
||||
Guardians = new List<Mobile>();
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
|
@ -445,13 +485,17 @@ namespace Server.Items
|
|||
base.GetContextMenuEntries(from, list);
|
||||
|
||||
if (from.Alive)
|
||||
list.Add(new RemoveEntry(from, this));
|
||||
{
|
||||
list.Add(new RemoveEntry(@from, this));
|
||||
}
|
||||
}
|
||||
|
||||
public void BeginRemove(Mobile from)
|
||||
{
|
||||
if (!from.Alive)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
from.CloseGump<RemoveGump>();
|
||||
from.SendGump(new RemoveGump(from, this));
|
||||
|
|
@ -460,7 +504,9 @@ namespace Server.Items
|
|||
public void EndRemove(Mobile from)
|
||||
{
|
||||
if (Deleted || from != Owner || !from.InRange(GetWorldLocation(), 3))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
from.SendLocalizedMessage(1048124, "", 0x8A5); // The old, rusted chest crumbles when you hit it.
|
||||
Delete();
|
||||
|
|
@ -503,7 +549,9 @@ namespace Server.Items
|
|||
public override void OnResponse(NetState sender, RelayInfo info)
|
||||
{
|
||||
if (info.ButtonID == 1)
|
||||
{
|
||||
m_Chest.EndRemove(m_From);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -523,7 +571,9 @@ namespace Server.Items
|
|||
public override void OnClick()
|
||||
{
|
||||
if (m_Chest.Deleted || m_From != m_Chest.Owner || !m_From.CheckAlive())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
m_Chest.BeginRemove(m_From);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue