diff --git a/Barotrauma/BarotraumaShared/Source/Characters/Animation/Ragdoll.cs b/Barotrauma/BarotraumaShared/Source/Characters/Animation/Ragdoll.cs index 3a5f28887..3a9fbcd73 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/Animation/Ragdoll.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/Animation/Ragdoll.cs @@ -744,7 +744,15 @@ namespace Barotrauma public void FindHull(Vector2? worldPosition = null, bool setSubmarine = true) { - Vector2 findPos = worldPosition==null ? this.WorldPosition : (Vector2)worldPosition; + Vector2 findPos = worldPosition == null ? this.WorldPosition : (Vector2)worldPosition; + if (!MathUtils.IsValid(findPos)) + { + GameAnalyticsManager.AddErrorEventOnce( + "Ragdoll.FindHull:InvalidPosition", + GameAnalyticsSDK.Net.EGAErrorSeverity.Error, + "Attempted to find a hull at an invalid position (" + findPos + ")\n" + Environment.StackTrace); + return; + } Hull newHull = Hull.FindHull(findPos, currentHull);