if (mutator_returnvalue) {
// mutator prevents resetting teams+score
} else {
+ int oldteam = this.team;
this.team = -1; // move this as it is needed to log the player spectating in eventlog
+ MUTATOR_CALLHOOK(Player_ChangedTeam, this, oldteam, this.team);
this.frags = FRAGS_SPECTATOR;
PlayerScore_Clear(this); // clear scores when needed
}
this.armorvalue = start_armorvalue;
this.weapons = start_weapons;
GiveRandomWeapons(this, random_start_weapons_count,
- cvar_string("g_random_start_weapons"), random_start_shells,
- random_start_bullets, random_start_rockets, random_start_cells,
- random_start_plasma);
+ cvar_string("g_random_start_weapons"), random_start_ammo);
}
SetSpectatee_status(this, 0);
if(CS(this).killindicator_teamchange)
ClientKill_Now_TeamChange(this);
- if(!IS_SPEC(this) && !IS_OBSERVER(this))
+ if (!IS_SPEC(this) && !IS_OBSERVER(this) && MUTATOR_CALLHOOK(ClientKill_Now, this) == false)
+ {
Damage(this, this, this, 100000, DEATH_KILL.m_id, this.origin, '0 0 0');
+ }
// now I am sure the player IS dead
}