#include "clientkill.qh"
#include "cheats.qh"
#include "g_world.qh"
+#include <server/gamelog.qh>
#include "race.qh"
#include "antilag.qh"
#include "campaign.qh"
this.respawn_flags = 0;
this.respawn_time = 0;
STAT(RESPAWN_TIME, this) = 0;
- bool q3dfcompat = autocvar_sv_q3defragcompat && autocvar_sv_q3defragcompat_changehitbox;
- this.scale = ((q3dfcompat) ? 0.9 : autocvar_sv_player_scale);
+ this.scale = ((q3compat && autocvar_sv_q3compat_changehitbox) ? 0.9 : autocvar_sv_player_scale);
this.fade_time = 0;
this.pain_frame = 0;
this.pain_finished = 0;
int player_limit = GetPlayerLimit();
- float free_slots = 0;
+ int free_slots = 0;
if (!player_limit)
free_slots = maxclients - totalClients;
- else if(currentlyPlaying < player_limit)
+ else if(player_limit > 0 && currentlyPlaying < player_limit)
free_slots = min(maxclients - totalClients, player_limit - currentlyPlaying);
static float msg_time = 0;
{
STAT(REVIVE_PROGRESS, this) = bound(0, STAT(REVIVE_PROGRESS, this) + frametime * this.revive_speed, 1);
SetResourceExplicit(this, RES_HEALTH, max(1, STAT(REVIVE_PROGRESS, this) * start_health));
- this.iceblock.alpha = bound(0.2, 1 - STAT(REVIVE_PROGRESS, this), 1);
+ if (this.iceblock)
+ this.iceblock.alpha = bound(0.2, 1 - STAT(REVIVE_PROGRESS, this), 1);
if (STAT(REVIVE_PROGRESS, this) >= 1)
Unfreeze(this, false);
this.solid = SOLID_NOT;
this.takedamage = DAMAGE_NO;
set_movetype(this, MOVETYPE_NONE);
+ CS(this).teamkill_complain = 0;
+ CS(this).teamkill_soundtime = 0;
+ CS(this).teamkill_soundsource = NULL;
}
if (IS_PLAYER(this)) {