diff --git a/Projects/UOContent/Skills/Stealing.cs b/Projects/UOContent/Skills/Stealing.cs index 01c530c79..bf8dbb1bc 100644 --- a/Projects/UOContent/Skills/Stealing.cs +++ b/Projects/UOContent/Skills/Stealing.cs @@ -7,6 +7,7 @@ using Server.Factions; using Server.Items; using Server.Misc; using Server.Mobiles; +using Server.Network; using Server.Spells; using Server.Spells.Fifth; using Server.Spells.Ninjitsu; @@ -259,12 +260,17 @@ public static class Stealing else { var w = toSteal.Weight + toSteal.TotalWeight; + var reject = LRReason.Inspecific; if (w > MaxWeightToSteal) { // This item is too heavy to steal from someone's backpack. _thief.SendLocalizedMessage(502722); } + else if (root is Container { IsDecoContainer: false } && !toSteal.CheckLift(_thief, toSteal, ref reject)) + { + _thief.SendLocalizedMessage(502710); // You can't steal that! + } else { if (toSteal.Stackable && toSteal.Amount > 1) @@ -375,6 +381,11 @@ public static class Stealing if (stolen != null) { + if (root is Container) + { + stolen.OnItemLifted(from, stolen); + } + from.AddToBackpack(stolen); if (!(stolen is Container || stolen.Stackable))