Respawn durations can be changed mid-round.
This commit is contained in:
@@ -9,10 +9,7 @@ using System.Linq;
|
||||
namespace Barotrauma.Networking
|
||||
{
|
||||
class RespawnManager : Entity, IServerSerializable
|
||||
{
|
||||
private readonly float respawnInterval;
|
||||
private float maxTransportTime;
|
||||
|
||||
{
|
||||
public enum State
|
||||
{
|
||||
Waiting,
|
||||
@@ -66,6 +63,8 @@ namespace Barotrauma.Networking
|
||||
|
||||
private float respawnTimer, shuttleReturnTimer, shuttleTransportTimer;
|
||||
|
||||
private float maxTransportTime;
|
||||
|
||||
private float updateReturnTimer;
|
||||
|
||||
public Submarine RespawnShuttle
|
||||
@@ -113,15 +112,12 @@ namespace Barotrauma.Networking
|
||||
{
|
||||
respawnShuttle = null;
|
||||
}
|
||||
|
||||
var server = networkMember as GameServer;
|
||||
if (server != null)
|
||||
{
|
||||
respawnInterval = server.RespawnInterval;
|
||||
maxTransportTime = server.MaxTransportTime;
|
||||
}
|
||||
|
||||
respawnTimer = respawnInterval;
|
||||
if (networkMember is GameServer server)
|
||||
{
|
||||
respawnTimer = server.RespawnInterval;
|
||||
maxTransportTime = server.MaxTransportTime;
|
||||
}
|
||||
}
|
||||
|
||||
private List<Client> GetClientsToRespawn()
|
||||
@@ -195,7 +191,7 @@ namespace Barotrauma.Networking
|
||||
respawnTimer -= deltaTime;
|
||||
if (respawnTimer <= 0.0f)
|
||||
{
|
||||
respawnTimer = respawnInterval;
|
||||
respawnTimer = server.RespawnInterval;
|
||||
|
||||
DispatchShuttle();
|
||||
}
|
||||
@@ -243,6 +239,7 @@ namespace Barotrauma.Networking
|
||||
server.CreateEntityEvent(this);
|
||||
|
||||
CountdownStarted = false;
|
||||
maxTransportTime = server.MaxTransportTime;
|
||||
shuttleReturnTimer = maxTransportTime;
|
||||
shuttleTransportTimer = maxTransportTime;
|
||||
}
|
||||
@@ -311,7 +308,7 @@ namespace Barotrauma.Networking
|
||||
GameServer.Log("The respawn shuttle has left.", ServerLog.MessageType.Spawning);
|
||||
server.CreateEntityEvent(this);
|
||||
|
||||
respawnTimer = respawnInterval;
|
||||
respawnTimer = server.RespawnInterval;
|
||||
CountdownStarted = false;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user