diff --git a/Subsurface/Source/Characters/Character.cs b/Subsurface/Source/Characters/Character.cs index dd7088178..c08951ba0 100644 --- a/Subsurface/Source/Characters/Character.cs +++ b/Subsurface/Source/Characters/Character.cs @@ -868,7 +868,7 @@ namespace Barotrauma if (inventory.Owner is Item) { var owner = (Item)inventory.Owner; - if (Vector2.Distance(SimPosition, owner.SimPosition) > owner.PickDistance * 0.01f) + if (!CanAccessItem(owner)) { return false; } @@ -885,9 +885,14 @@ namespace Barotrauma return false; } return true; + } + + float maxDist = item.PickDistance; + if (maxDist<=0.01f) + { + maxDist = 150.0f; } - - if (Vector2.Distance(SimPosition, item.SimPosition) > item.PickDistance * 0.01f) + if (Vector2.Distance(SimPosition, item.SimPosition) > maxDist * 0.01f && item.ConfigFile.ToLower().IndexOf("ladder.xml")<0) { return false; }