take = damage;
}
+ frag_inflictor = inflictor;
+ frag_attacker = attacker;
+ frag_target = self;
+ damage_take = take;
+ damage_save = save;
+ damage_force = force;
+ MUTATOR_CALLHOOK(PlayerDamage_SplitHealthArmor);
+ take = bound(0, damage_take, self.health);
+ save = bound(0, damage_save, self.armorvalue);
+
if(sound_allowed(MSG_BROADCAST, attacker))
{
if (save > 10)
else
DropFlag(self.flagcarried, world, attacker);
}
- if(self.ballcarried)
+ if(self.ballcarried && g_nexball)
DropBall(self.ballcarried, self.origin, self.velocity);
Portal_ClearAllLater(self);
// clear waypoints
// set up to fade out later
SUB_SetFade (self, time + 6 + random (), 1);
- // remove laserdot
- if(self.weaponentity)
- if(self.weaponentity.lasertarget)
- remove(self.weaponentity.lasertarget);
-
if(clienttype(self) == CLIENTTYPE_REAL)
{
self.fixangle = TRUE;
{
string msgstr, colorstr, cmsgstr, namestr, fullmsgstr, sourcemsgstr, fullcmsgstr, sourcecmsgstr, privatemsgprefix;
float flood, privatemsgprefixlen;
+ var .float flood_field;
entity head;
float ret;
float flood_spl;
float flood_burst;
float flood_lmax;
- var .float flood_field;
float lines;
if(privatesay)
{
else
flood = 1;
}
- }
- if (timeoutStatus == 2) //when game is paused, no flood protection
- source.flood_field = flood = 0;
+ if (timeoutStatus == 2) //when game is paused, no flood protection
+ source.flood_field = flood = 0;
+ }
if(flood == 2) // cannot happen for empty msgstr
{