Fixed ragdolling in multiplayer
This commit is contained in:
@@ -303,7 +303,7 @@ namespace Barotrauma
|
||||
private float stunTimer;
|
||||
public float Stun
|
||||
{
|
||||
get { return stunTimer; }
|
||||
get { return IsRagdolled ? 1.0f : stunTimer; }
|
||||
set
|
||||
{
|
||||
if (GameMain.Client != null) return;
|
||||
@@ -686,7 +686,7 @@ namespace Barotrauma
|
||||
case InputType.Use:
|
||||
return !(dequeuedInput.HasFlag(InputNetFlags.Use)) && (prevDequeuedInput.HasFlag(InputNetFlags.Use));
|
||||
case InputType.Ragdoll:
|
||||
return !(dequeuedInput.HasFlag(InputType.Ragdoll)) && (prevDequeuedInput.HasFlag(InputType.Ragdoll));
|
||||
return !(dequeuedInput.HasFlag(InputNetFlags.Ragdoll)) && (prevDequeuedInput.HasFlag(InputNetFlags.Ragdoll));
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
@@ -722,6 +722,7 @@ namespace Barotrauma
|
||||
case InputType.Attack:
|
||||
return dequeuedInput.HasFlag(InputNetFlags.Attack);
|
||||
case InputType.Ragdoll:
|
||||
if (dequeuedInput.HasFlag(InputNetFlags.Ragdoll)) DebugConsole.NewMessage("RAGDOLL", Color.Lime);
|
||||
return dequeuedInput.HasFlag(InputNetFlags.Ragdoll);
|
||||
}
|
||||
return false;
|
||||
@@ -1448,7 +1449,7 @@ namespace Barotrauma
|
||||
|
||||
UpdateControlled(deltaTime, cam);
|
||||
|
||||
if (Stun > 0.0f)
|
||||
if (stunTimer > 0.0f)
|
||||
{
|
||||
stunTimer -= deltaTime;
|
||||
if (stunTimer < 0.0f && GameMain.Server != null)
|
||||
@@ -1472,7 +1473,6 @@ namespace Barotrauma
|
||||
if (IsRagdolled)
|
||||
{
|
||||
((HumanoidAnimController)AnimController).Crouching = false;
|
||||
Stun = Math.Max(0.1f, Stun);
|
||||
|
||||
AnimController.ResetPullJoints();
|
||||
selectedConstruction = null;
|
||||
|
||||
@@ -128,6 +128,12 @@ namespace Barotrauma
|
||||
if (!AllowInput)
|
||||
{
|
||||
AnimController.Frozen = false;
|
||||
if (memInput.Count > 0)
|
||||
{
|
||||
prevDequeuedInput = dequeuedInput;
|
||||
dequeuedInput = memInput[memInput.Count - 1].states;
|
||||
memInput.RemoveAt(memInput.Count - 1);
|
||||
}
|
||||
}
|
||||
else if (memInput.Count == 0)
|
||||
{
|
||||
@@ -289,20 +295,20 @@ namespace Barotrauma
|
||||
newInteract = msg.ReadUInt16();
|
||||
}
|
||||
|
||||
if (AllowInput)
|
||||
//if (AllowInput)
|
||||
//{
|
||||
if (NetIdUtils.IdMoreRecent((ushort)(networkUpdateID - i), LastNetworkUpdateID) && (i < 60))
|
||||
{
|
||||
if (NetIdUtils.IdMoreRecent((ushort)(networkUpdateID - i), LastNetworkUpdateID) && (i < 60))
|
||||
{
|
||||
NetInputMem newMem = new NetInputMem();
|
||||
newMem.states = newInput;
|
||||
newMem.intAim = newAim;
|
||||
newMem.interact = newInteract;
|
||||
NetInputMem newMem = new NetInputMem();
|
||||
newMem.states = newInput;
|
||||
newMem.intAim = newAim;
|
||||
newMem.interact = newInteract;
|
||||
|
||||
newMem.networkUpdateID = (ushort)(networkUpdateID - i);
|
||||
newMem.networkUpdateID = (ushort)(networkUpdateID - i);
|
||||
|
||||
memInput.Insert(i, newMem);
|
||||
}
|
||||
memInput.Insert(i, newMem);
|
||||
}
|
||||
//}
|
||||
}
|
||||
|
||||
if (NetIdUtils.IdMoreRecent(networkUpdateID, LastNetworkUpdateID))
|
||||
|
||||
Reference in New Issue
Block a user