diff --git a/Subsurface/Content/Characters/Human/human.xml b/Subsurface/Content/Characters/Human/human.xml index e62c83b47..fb1644409 100644 --- a/Subsurface/Content/Characters/Human/human.xml +++ b/Subsurface/Content/Characters/Human/human.xml @@ -11,11 +11,11 @@ thightorque="-5.0" walkspeed="1.5" swimspeed="2.0" - impacttolerance="7.5" - colliderheightfromfloor="55"> + colliderheightfromfloor="55" + impacttolerance="7.5"> - - + + diff --git a/Subsurface/Source/Characters/Animation/HumanoidAnimController.cs b/Subsurface/Source/Characters/Animation/HumanoidAnimController.cs index 6a1b719c6..a2c04379f 100644 --- a/Subsurface/Source/Characters/Animation/HumanoidAnimController.cs +++ b/Subsurface/Source/Characters/Animation/HumanoidAnimController.cs @@ -746,10 +746,10 @@ namespace Barotrauma { ladderSimPos += character.SelectedConstruction.Submarine.SimPosition - currentHull.Submarine.SimPosition; } - - MoveLimb(head, new Vector2(ladderSimPos.X - 0.27f * Dir, Collider.SimPosition.Y + 0.7f + ConvertUnits.ToSimUnits(-45.0f)), 10.5f); - MoveLimb(torso, new Vector2(ladderSimPos.X - 0.27f * Dir, Collider.SimPosition.Y+ 0.5f + ConvertUnits.ToSimUnits(-45.0f)), 10.5f); - MoveLimb(waist, new Vector2(ladderSimPos.X - 0.35f * Dir, Collider.SimPosition.Y+ 0.4f + ConvertUnits.ToSimUnits(-45.0f)), 10.5f); + + MoveLimb(head, new Vector2(ladderSimPos.X - 0.27f * Dir, Collider.SimPosition.Y + 0.7f - colliderHeightFromFloor), 10.5f); + MoveLimb(torso, new Vector2(ladderSimPos.X - 0.27f * Dir, Collider.SimPosition.Y + 0.5f - colliderHeightFromFloor), 10.5f); + MoveLimb(waist, new Vector2(ladderSimPos.X - 0.35f * Dir, Collider.SimPosition.Y + 0.4f - colliderHeightFromFloor), 10.5f); if (!character.IsRemotePlayer) { @@ -762,7 +762,7 @@ namespace Barotrauma ladderSimPos.X, Collider.SimPosition.Y + 0.6f + movement.Y * 0.1f - ladderSimPos.Y); - handPos.Y = Math.Min(-0.5f, handPos.Y) + ConvertUnits.ToSimUnits(-45.0f); + handPos.Y = Math.Min(-0.5f, handPos.Y) - colliderHeightFromFloor; MoveLimb(leftHand, new Vector2(handPos.X, @@ -779,7 +779,7 @@ namespace Barotrauma Vector2 footPos = new Vector2( handPos.X - Dir * 0.05f, - Collider.SimPosition.Y + 0.7f + ConvertUnits.ToSimUnits(-45.0f) - stepHeight * 2.7f - ladderSimPos.Y - 0.7f); + Collider.SimPosition.Y + 0.7f - colliderHeightFromFloor - stepHeight * 2.7f - ladderSimPos.Y - 0.7f); //if (movement.Y < 0) footPos.Y += 0.05f; diff --git a/Subsurface/Source/Characters/Animation/Ragdoll.cs b/Subsurface/Source/Characters/Animation/Ragdoll.cs index a41292c3b..af2737aad 100644 --- a/Subsurface/Source/Characters/Animation/Ragdoll.cs +++ b/Subsurface/Source/Characters/Animation/Ragdoll.cs @@ -71,7 +71,7 @@ namespace Barotrauma public bool onGround; private bool ignorePlatforms; - private float colliderHeightFromFloor; + protected float colliderHeightFromFloor; protected Structure stairs; @@ -978,7 +978,7 @@ namespace Barotrauma Vector2 rayStart = Collider.SimPosition; Vector2 rayEnd = rayStart; - rayEnd.Y -= Collider.height * 0.5f + Collider.radius + ConvertUnits.ToSimUnits(55.0f); + rayEnd.Y -= Collider.height * 0.5f + Collider.radius + colliderHeightFromFloor*1.2f; var lowestLimb = FindLowestLimb(); @@ -1037,7 +1037,7 @@ namespace Barotrauma if (Math.Abs(Collider.SimPosition.Y - targetY) > 0.01f && Collider.SimPosition.Y