+ frag_inflictor = inflictor;
+ frag_attacker = attacker;
+ frag_target = self;
+ damage_take = take;
+ damage_save = save;
+ damage_force = force;
+ MUTATOR_CALLHOOK(PlayerDamage);
+ take = bound(0, damage_take, self.health);
+ save = bound(0, damage_save, self.armorvalue);
+
if(sound_allowed(MSG_BROADCAST, attacker))
if(!DEATH_ISWEAPON(deathtype, WEP_LASER) || attacker != self || self.health < 2 * cvar("g_balance_laser_primary_damage") * cvar("g_balance_selfdamagepercent") + 1)
if(sound_allowed(MSG_BROADCAST, attacker))
if(!DEATH_ISWEAPON(deathtype, WEP_LASER) || attacker != self || self.health < 2 * cvar("g_balance_laser_primary_damage") * cvar("g_balance_selfdamagepercent") + 1)
- if(self.health > 75) // TODO make a "gentle" version?
+ if(deathtype == DEATH_FALL)
+ PlayerSound(playersound_fall, CHAN_PAIN, VOICETYPE_PLAYERSOUND);
+ else if(self.health > 75) // TODO make a "gentle" version?
PlayerSound(playersound_pain100, CHAN_PAIN, VOICETYPE_PLAYERSOUND);
else if(self.health > 50)
PlayerSound(playersound_pain75, CHAN_PAIN, VOICETYPE_PLAYERSOUND);
else if(self.health > 25)
PlayerSound(playersound_pain50, CHAN_PAIN, VOICETYPE_PLAYERSOUND);
PlayerSound(playersound_pain100, CHAN_PAIN, VOICETYPE_PLAYERSOUND);
else if(self.health > 50)
PlayerSound(playersound_pain75, CHAN_PAIN, VOICETYPE_PLAYERSOUND);
else if(self.health > 25)
PlayerSound(playersound_pain50, CHAN_PAIN, VOICETYPE_PLAYERSOUND);
// call the corpse damage function just in case it wants to gib
self.event_damage(inflictor, attacker, 0, deathtype, hitloc, force);
// set up to fade out later
// call the corpse damage function just in case it wants to gib
self.event_damage(inflictor, attacker, 0, deathtype, hitloc, force);
// set up to fade out later
- SUB_SetFade (self, time + 12 + random () * 4, 1);
-
- // remove laserdot
- if(self.weaponentity)
- if(self.weaponentity.lasertarget)
- remove(self.weaponentity.lasertarget);
+ SUB_SetFade (self, time + 6 + random (), 1);
{
string msgstr, colorstr, cmsgstr, namestr, fullmsgstr, sourcemsgstr, fullcmsgstr, sourcecmsgstr, privatemsgprefix;
float flood, privatemsgprefixlen;
{
string msgstr, colorstr, cmsgstr, namestr, fullmsgstr, sourcemsgstr, fullcmsgstr, sourcecmsgstr, privatemsgprefix;
float flood, privatemsgprefixlen;
- 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;
+ }