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