diff --git a/Subsurface/Content/Characters/Human/humanhusk.xml b/Subsurface/Content/Characters/Human/humanhusk.xml
index fc593f3ad..73b9e9e13 100644
--- a/Subsurface/Content/Characters/Human/humanhusk.xml
+++ b/Subsurface/Content/Characters/Human/humanhusk.xml
@@ -9,8 +9,11 @@
movementlerp="0.4"
legtorque="15.0"
thightorque="-5.0"
- walkspeed="2.0"
- swimspeed="2.0">
+ walkspeed="1.5"
+ swimspeed="2.5"
+ impacttolerance="7.5">
+
+
diff --git a/Subsurface/Source/Characters/Character.cs b/Subsurface/Source/Characters/Character.cs
index 58e1841f1..0d5af0dc8 100644
--- a/Subsurface/Source/Characters/Character.cs
+++ b/Subsurface/Source/Characters/Character.cs
@@ -1052,17 +1052,18 @@ namespace Barotrauma
}
}
- if (moveCam)
+ if (moveCam && needsAir)
{
- float pressureEffect = 0.0f;
-
- if (pressureProtection < 80.0f && AnimController.CurrentHull != null && AnimController.CurrentHull.LethalPressure > 50.0f)
+ if (pressureProtection < 80.0f &&
+ (AnimController.CurrentHull == null || AnimController.CurrentHull.LethalPressure > 50.0f))
{
+ float pressure = AnimController.CurrentHull == null ? 100.0f : AnimController.CurrentHull.LethalPressure;
+
cam.Zoom = MathHelper.Lerp(cam.Zoom,
- (AnimController.CurrentHull.LethalPressure / 50.0f) * Rand.Range(1.0f, 1.05f),
- (AnimController.CurrentHull.LethalPressure - 50.0f) / 50.0f);
+ (pressure / 50.0f) * Rand.Range(1.0f, 1.05f),
+ (pressure - 50.0f) / 50.0f);
}
- cam.OffsetAmount = MathHelper.Lerp(cam.OffsetAmount, (Submarine == null ? 400.0f : 250.0f)+pressureEffect, 0.05f);
+ cam.OffsetAmount = MathHelper.Lerp(cam.OffsetAmount, 250.0f, 0.05f);
}
cursorPosition = cam.ScreenToWorld(PlayerInput.MousePosition);