}
void ClientKill_Now_TeamChange();
+void freezetag_CheckWinner();
+void freezetag_Unfreeze();
void PlayerDamage (entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force)
{
float defer_ClientKill_Now_TeamChange;
defer_ClientKill_Now_TeamChange = FALSE;
+ if(self.alivetime)
+ {
+ PlayerStats_Event(self, PLAYERSTATS_ALIVETIME, time - self.alivetime);
+ self.alivetime = 0;
+ }
+
if(valid_damage_for_weaponstats)
WeaponStats_LogKill(DEATH_WEAPONOF(deathtype), self.weapon);
race_PreDie();
DropAllRunes(self);
+ if(deathtype == DEATH_HURTTRIGGER && g_freezetag)
+ {
+ PutClientInServer();
+ count_alive_players(); // re-count players
+ freezetag_CheckWinner();
+ return;
+ }
+
frag_attacker = attacker;
frag_inflictor = inflictor;
frag_target = self;
MUTATOR_CALLHOOK(PlayerDies);
if(g_freezetag)
- return;
+ return;
if(self.flagcarried)
{