Server doesn't un-freezes characters that are stunned, unconscious or dead, or controlled by the host

This commit is contained in:
Regalis
2017-01-11 21:24:03 +02:00
parent 8a9b322b78
commit dc3885a2da
+12 -2
View File
@@ -1350,9 +1350,13 @@ namespace Barotrauma
if (this != Character.Controlled) if (this != Character.Controlled)
{ {
if (GameMain.Server != null && !(this is AICharacter) && AllowInput) if (GameMain.Server != null && !(this is AICharacter))
{ {
if (memInput.Count == 0) if (!AllowInput)
{
AnimController.Frozen = false;
}
else if (memInput.Count == 0)
{ {
AnimController.Frozen = true; AnimController.Frozen = true;
} }
@@ -1415,6 +1419,10 @@ namespace Barotrauma
memInput.RemoveRange(60, memInput.Count - 60); memInput.RemoveRange(60, memInput.Count - 60);
} }
} }
else //this == Character.Controlled && GameMain.Client == null
{
AnimController.Frozen = false;
}
if (networkUpdateSent) if (networkUpdateSent)
{ {
@@ -1906,6 +1914,8 @@ namespace Barotrauma
} }
} }
AnimController.Frozen = false;
GameServer.Log(Name+" has died (Cause of death: "+causeOfDeath+")", Color.Red); GameServer.Log(Name+" has died (Cause of death: "+causeOfDeath+")", Color.Red);
if (OnDeath != null) OnDeath(this, causeOfDeath); if (OnDeath != null) OnDeath(this, causeOfDeath);