diff --git a/Barotrauma/Source/Characters/Animation/HumanoidAnimController.cs b/Barotrauma/Source/Characters/Animation/HumanoidAnimController.cs index 99bab7f6e..74de33026 100644 --- a/Barotrauma/Source/Characters/Animation/HumanoidAnimController.cs +++ b/Barotrauma/Source/Characters/Animation/HumanoidAnimController.cs @@ -1109,7 +1109,7 @@ namespace Barotrauma for (int i = 0; i < character.SelectedItems.Length; i++) { - if (character.SelectedItems[i] != null) + if (character.SelectedItems[i] != null && character.SelectedItems[i].body != null) { difference = character.SelectedItems[i].body.SimPosition - torso.SimPosition; difference = Vector2.Transform(difference, torsoTransform); diff --git a/Barotrauma/Source/Characters/Character.cs b/Barotrauma/Source/Characters/Character.cs index f54da6a98..bb5e6b4aa 100644 --- a/Barotrauma/Source/Characters/Character.cs +++ b/Barotrauma/Source/Characters/Character.cs @@ -52,7 +52,10 @@ namespace Barotrauma foreach (Limb limb in AnimController.Limbs) { - limb.body.Enabled = enabled; + if (limb.body != null) + { + limb.body.Enabled = enabled; + } } AnimController.Collider.Enabled = value; } diff --git a/Barotrauma/Source/Items/Components/Holdable/Holdable.cs b/Barotrauma/Source/Items/Components/Holdable/Holdable.cs index d692fad36..cc57a1cb4 100644 --- a/Barotrauma/Source/Items/Components/Holdable/Holdable.cs +++ b/Barotrauma/Source/Items/Components/Holdable/Holdable.cs @@ -243,7 +243,11 @@ namespace Barotrauma.Items.Components public override void Update(float deltaTime, Camera cam) { if (item.body == null || !item.body.Enabled) return; - if (!picker.HasSelectedItem(item)) IsActive = false; + if (picker == null || !picker.HasSelectedItem(item)) + { + IsActive = false; + return; + } ApplyStatusEffects(ActionType.OnActive, deltaTime, picker);