Fixed ragdolling and grab-type switching in singleplayer
This commit is contained in:
@@ -211,7 +211,7 @@ namespace Barotrauma
|
|||||||
{
|
{
|
||||||
if (Character.Controlled == null || Character.Controlled.SelectedCharacter == null) return false;
|
if (Character.Controlled == null || Character.Controlled.SelectedCharacter == null) return false;
|
||||||
|
|
||||||
character.AnimController.GrabLimb = character.AnimController.GrabLimb == LimbType.None ? LimbType.Torso : LimbType.None;
|
Character.Controlled.AnimController.GrabLimb = Character.Controlled.AnimController.GrabLimb == LimbType.None ? LimbType.Torso : LimbType.None;
|
||||||
|
|
||||||
foreach (Limb limb in Character.Controlled.SelectedCharacter.AnimController.Limbs)
|
foreach (Limb limb in Character.Controlled.SelectedCharacter.AnimController.Limbs)
|
||||||
{
|
{
|
||||||
@@ -223,7 +223,7 @@ namespace Barotrauma
|
|||||||
GameMain.Client.CreateEntityEvent(Character.Controlled, new object[] { NetEntityEvent.Type.Control });
|
GameMain.Client.CreateEntityEvent(Character.Controlled, new object[] { NetEntityEvent.Type.Control });
|
||||||
}
|
}
|
||||||
|
|
||||||
grabHoldButton.Text = "Grabbing: " + (character.AnimController.GrabLimb == LimbType.Torso ? "Torso" : "Hands");
|
grabHoldButton.Text = "Grabbing: " + (Character.Controlled.AnimController.GrabLimb == LimbType.Torso ? "Torso" : "Hands");
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1499,7 +1499,7 @@ namespace Barotrauma
|
|||||||
//Do ragdoll shenanigans before Stun because it's still technically a stun, innit? Less network updates for us!
|
//Do ragdoll shenanigans before Stun because it's still technically a stun, innit? Less network updates for us!
|
||||||
if (IsForceRagdolled)
|
if (IsForceRagdolled)
|
||||||
IsRagdolled = IsForceRagdolled;
|
IsRagdolled = IsForceRagdolled;
|
||||||
else if (GameMain.Server != null && GameMain.Server.AllowRagdollButton && (!IsRagdolled || AnimController.Collider.LinearVelocity.Length() < 1f)) //Keep us ragdolled if we were forced or we're too speedy to unragdoll
|
else if ((GameMain.Server == null || GameMain.Server.AllowRagdollButton) && (!IsRagdolled || AnimController.Collider.LinearVelocity.Length() < 1f)) //Keep us ragdolled if we were forced or we're too speedy to unragdoll
|
||||||
IsRagdolled = IsKeyDown(InputType.Ragdoll); //Handle this here instead of Control because we can stop being ragdolled ourselves
|
IsRagdolled = IsKeyDown(InputType.Ragdoll); //Handle this here instead of Control because we can stop being ragdolled ourselves
|
||||||
|
|
||||||
if (IsRagdolled)
|
if (IsRagdolled)
|
||||||
|
|||||||
Reference in New Issue
Block a user