this.oldvelocity = this.velocity;
this.fire_endtime = -1;
this.event_damage = func_null;
+
+ for(int slot = 0; slot < MAX_AXH; ++slot)
+ {
+ entity axh = this.(AuxiliaryXhair[slot]);
+ this.(AuxiliaryXhair[slot]) = NULL;
+
+ if(axh.owner == this && axh != NULL && !wasfreed(axh))
+ delete(axh);
+ }
}
int player_getspecies(entity this)
ClientKill_Now(this.owner);
return;
}
- else if(g_cts && this.health == 1) // health == 1 means that it's silent
+ else if(this.health == 1) // health == 1 means that it's silent
{
this.nextthink = time + 1;
this.cnt -= 1;
killtime = autocvar_g_balance_kill_delay;
- if(g_race_qualifying || g_cts)
- killtime = 0;
-
if(MUTATOR_CALLHOOK(ClientKill, this, killtime))
return;
+ killtime = M_ARGV(1, float);
this.killindicator_teamchange = targetteam;
stuffcmd(this, strcat("\nfog ", world.fog, "\nr_fog_exp2 0\nr_drawfog 1\n"));
if (autocvar_sv_teamnagger && !(autocvar_bot_vs_human && AvailableTeams() == 2))
- if (!g_ca && !g_cts && !g_race) // teamnagger is currently bad for ca, race & cts
+ if(!MUTATOR_CALLHOOK(HideTeamNagger, this))
send_CSQC_teamnagger();
CSQCMODEL_AUTOINIT(this);
this.(weaponentity) = spectatee.(weaponentity);
}
+ for(int slot = 0; slot < MAX_AXH; ++slot)
+ {
+ this.(AuxiliaryXhair[slot]) = spectatee.(AuxiliaryXhair[slot]);
+ }
+
anticheat_spectatecopy(this, spectatee);
this.hud = spectatee.hud;
if(spectatee.vehicle)
CheckRules_Player(this);
if (game_stopped || intermission_running) {
+ this.modelflags &= ~MF_ROCKET;
if(intermission_running)
IntermissionThink(this);
return;