- else if ((this.respawn_flags & RESPAWN_FORCE) && autocvar_g_respawn_delay_max)
- STAT(RESPAWN_TIME, this) = this.respawn_time_max;
+ else if ((this.respawn_flags & RESPAWN_FORCE) && this.respawn_time < this.respawn_time_max)
+ {
+ if (time < this.respawn_time)
+ STAT(RESPAWN_TIME, this) = this.respawn_time;
+ else if (this.deadflag != DEAD_RESPAWNING)
+ STAT(RESPAWN_TIME, this) = -this.respawn_time_max;
+ }