From d9ec0eefaecea36550001082b0e00ef8d87ed930 Mon Sep 17 00:00:00 2001 From: kaczy Date: Tue, 14 Jan 2025 08:32:29 +0100 Subject: [PATCH] Better ReplaceWith --- Scripts/Nelderim/helpers/ItemExtension.cs | 34 ----------------------- Server/Nelderim/ItemExt.cs | 20 +++++++++++++ 2 files changed, 20 insertions(+), 34 deletions(-) delete mode 100644 Scripts/Nelderim/helpers/ItemExtension.cs diff --git a/Scripts/Nelderim/helpers/ItemExtension.cs b/Scripts/Nelderim/helpers/ItemExtension.cs deleted file mode 100644 index cab43529..00000000 --- a/Scripts/Nelderim/helpers/ItemExtension.cs +++ /dev/null @@ -1,34 +0,0 @@ -using Server.Items; - -namespace Server.Helpers -{ - public static class ItemExtension - { - public static void ReplaceWith(this Item oldItem, Item newItem) - { - if (oldItem.ParentEntity is BaseContainer) - { - BaseContainer bc = (BaseContainer)oldItem.ParentEntity; - bc.AddItem(newItem); - } - else - { - if (oldItem.Map != null && oldItem.Map != Map.Internal) - { - newItem.MoveToWorld(oldItem.Location, oldItem.Map); - } - } - - if (oldItem.IsLockedDown) - { - newItem.IsLockedDown = true; - } - - if (oldItem.IsSecure) - { - newItem.IsSecure = true; - } - oldItem.Delete(); - } - } -} \ No newline at end of file diff --git a/Server/Nelderim/ItemExt.cs b/Server/Nelderim/ItemExt.cs index a6c2e9b0..4b586f97 100644 --- a/Server/Nelderim/ItemExt.cs +++ b/Server/Nelderim/ItemExt.cs @@ -1,3 +1,5 @@ +using Server.Items; + namespace Server { public partial class Item @@ -10,5 +12,23 @@ public bool Stealable get { return GetSavedFlag(StealableFlag); } set { SetSavedFlag(StealableFlag, value); } } + + public void ReplaceWith(Item newItem) + { + if (Parent is Container container) + { + container.AddItem(newItem); + newItem.Location = m_Location; + } + else + { + newItem.MoveToWorld(GetWorldLocation(), m_Map); + } + + newItem.IsLockedDown = IsLockedDown; + newItem.IsSecure = IsSecure; + + Delete(); + } } } \ No newline at end of file