Characters can't hold things in severed hands, limb bodies are re-enabled when reviving a character. Closes #529

This commit is contained in:
Joonas Rikkonen
2018-08-15 11:46:43 +03:00
parent 4866a89253
commit fe8a22a4f8
3 changed files with 12 additions and 6 deletions

View File

@@ -1220,25 +1220,29 @@ namespace Barotrauma
if (itemPos == Vector2.Zero || Anim == Animation.Climbing || usingController)
{
if (character.SelectedItems[1] == item)
{
transformedHoldPos = leftHand.pullJoint.WorldAnchorA - transformedHandlePos[1];
itemAngle = (leftHand.Rotation + (holdAngle - MathHelper.PiOver2) * Dir);
}
if (character.SelectedItems[0] == item)
{
if (rightHand.IsSevered) return;
transformedHoldPos = rightHand.pullJoint.WorldAnchorA - transformedHandlePos[0];
itemAngle = (rightHand.Rotation + (holdAngle - MathHelper.PiOver2) * Dir);
}
if (character.SelectedItems[1] == item)
{
if (leftHand.IsSevered) return;
transformedHoldPos = leftHand.pullJoint.WorldAnchorA - transformedHandlePos[1];
itemAngle = (leftHand.Rotation + (holdAngle - MathHelper.PiOver2) * Dir);
}
}
else
{
if (character.SelectedItems[0] == item)
{
if (rightHand.IsSevered) return;
rightHand.Disabled = true;
}
if (character.SelectedItems[1] == item)
{
if (leftHand.IsSevered) return;
leftHand.Disabled = true;
}

View File

@@ -2022,6 +2022,7 @@ namespace Barotrauma
foreach (Limb limb in AnimController.Limbs)
{
limb.body.Enabled = true;
limb.IsSevered = false;
}

View File

@@ -85,9 +85,10 @@ namespace Barotrauma
set
{
isSevered = value;
if (!isSevered) severedFadeOutTimer = 0.0f;
#if CLIENT
if (isSevered) damage = 100.0f;
#endif
#endif
}
}