Added colliderHeightFromFloor to a few places I missed, some more human collider tweaking, correcting collider y position faster

This commit is contained in:
Regalis
2016-11-17 19:06:12 +02:00
parent adece20072
commit bded421366
3 changed files with 14 additions and 14 deletions
@@ -11,11 +11,11 @@
thightorque="-5.0" thightorque="-5.0"
walkspeed="1.5" walkspeed="1.5"
swimspeed="2.0" swimspeed="2.0"
impacttolerance="7.5" colliderheightfromfloor="55"
colliderheightfromfloor="55"> impacttolerance="7.5">
<collider height="60" radius="15"/> <collider height="55" radius="15"/>
<collider height="30" radius="15"/> <collider height="40" radius="15"/>
<!-- head --> <!-- head -->
<limb id = "0" radius="13" mass = "6" type="Head" attackpriority="2"> <limb id = "0" radius="13" mass = "6" type="Head" attackpriority="2">
@@ -747,9 +747,9 @@ namespace Barotrauma
ladderSimPos += character.SelectedConstruction.Submarine.SimPosition - currentHull.Submarine.SimPosition; 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(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 + ConvertUnits.ToSimUnits(-45.0f)), 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 + ConvertUnits.ToSimUnits(-45.0f)), 10.5f); MoveLimb(waist, new Vector2(ladderSimPos.X - 0.35f * Dir, Collider.SimPosition.Y + 0.4f - colliderHeightFromFloor), 10.5f);
if (!character.IsRemotePlayer) if (!character.IsRemotePlayer)
{ {
@@ -762,7 +762,7 @@ namespace Barotrauma
ladderSimPos.X, ladderSimPos.X,
Collider.SimPosition.Y + 0.6f + movement.Y * 0.1f - ladderSimPos.Y); 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, MoveLimb(leftHand,
new Vector2(handPos.X, new Vector2(handPos.X,
@@ -779,7 +779,7 @@ namespace Barotrauma
Vector2 footPos = new Vector2( Vector2 footPos = new Vector2(
handPos.X - Dir * 0.05f, 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; //if (movement.Y < 0) footPos.Y += 0.05f;
@@ -71,7 +71,7 @@ namespace Barotrauma
public bool onGround; public bool onGround;
private bool ignorePlatforms; private bool ignorePlatforms;
private float colliderHeightFromFloor; protected float colliderHeightFromFloor;
protected Structure stairs; protected Structure stairs;
@@ -978,7 +978,7 @@ namespace Barotrauma
Vector2 rayStart = Collider.SimPosition; Vector2 rayStart = Collider.SimPosition;
Vector2 rayEnd = rayStart; 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(); var lowestLimb = FindLowestLimb();
@@ -1037,7 +1037,7 @@ namespace Barotrauma
if (Math.Abs(Collider.SimPosition.Y - targetY) > 0.01f && Collider.SimPosition.Y<targetY && !forceImmediate) if (Math.Abs(Collider.SimPosition.Y - targetY) > 0.01f && Collider.SimPosition.Y<targetY && !forceImmediate)
{ {
Vector2 newSpeed = Collider.LinearVelocity; Vector2 newSpeed = Collider.LinearVelocity;
newSpeed.Y = (targetY - Collider.SimPosition.Y)*2.0f; newSpeed.Y = (targetY - Collider.SimPosition.Y)*5.0f;
Collider.LinearVelocity = newSpeed; Collider.LinearVelocity = newSpeed;
} }
else else
@@ -1255,7 +1255,7 @@ namespace Barotrauma
float halfHeight = Collider.height * 0.5f + Collider.radius; float halfHeight = Collider.height * 0.5f + Collider.radius;
Vector2 offset = Vector2.Zero; Vector2 offset = Vector2.Zero;
offset.Y = ConvertUnits.ToSimUnits(-45.0f); offset.Y = -colliderHeightFromFloor;
return Collider.SimPosition + offset + return Collider.SimPosition + offset +
new Vector2((float)Math.Sin(Collider.Rotation), -(float)Math.Cos(Collider.Rotation)) * halfHeight; new Vector2((float)Math.Sin(Collider.Rotation), -(float)Math.Cos(Collider.Rotation)) * halfHeight;
} }