if(g_freezetag)
{
- if(!defer_ClientKill_Now_TeamChange)
+ if(deathtype != DEATH_KILL || attacker == self)
return;
- else // team change...
+ else // team change or kill trigger
freezetag_Unfreeze(); // remove all ice blocks
}
if(g_freezetag)
{
- if(targ.freezetag_frozen == 1 && deathtype != DEATH_KILL) // we still need teamchange to actually kill
+ if(targ.freezetag_frozen == 1)
{
damage = 0;
force = force * cvar("g_freezetag_frozen_force");
remove(self);
return;
}
- if (self.owner.weaponentity.state != WS_INUSE || (self.owner.ammo_cells <= 0 && !(self.owner.items & IT_UNLIMITED_WEAPON_AMMO)) || self.owner.deadflag != DEAD_NO || !self.owner.BUTTON_ATCK || (g_freezetag && self.freezetag_frozen))
+ if (self.owner.weaponentity.state != WS_INUSE || (self.owner.ammo_cells <= 0 && !(self.owner.items & IT_UNLIMITED_WEAPON_AMMO)) || self.owner.deadflag != DEAD_NO || !self.owner.BUTTON_ATCK || (g_freezetag && self.owner.freezetag_frozen))
{
if(self == self.owner.lgbeam)
self.owner.lgbeam = world;