void CopyBody(float keepvelocity)\r
{\r
local entity oldself;\r
- if (self.effects & EF_NODRAW)\r
+ if (self.fakeprey)\r
+ return;\r
+ if (self.effects & EF_NODRAW || self.alpha < 0)\r
return;\r
oldself = self;\r
self = spawn();\r
self.armorvalue = self.armorvalue - save;\r
self.health = self.health - take;\r
// pause regeneration for 5 seconds\r
- self.pauseregen_finished = max(self.pauseregen_finished, time + cvar("g_balance_pause_health_regen"));\r
+ self.pauseregenhealth_finished = max(self.pauseregenhealth_finished, time + cvar("g_balance_pause_health_regen"));\r
+ self.pauseregenarmor_finished = max(self.pauseregenarmor_finished, time + cvar("g_balance_pause_armor_regen"));\r
}\r
self.dmg_save = self.dmg_save + save;//max(save - 10, 0);\r
self.dmg_take = self.dmg_take + take;//max(take - 10, 0);\r
self.armorvalue = self.armorvalue - save;\r
self.health = self.health - take;\r
// pause regeneration for 5 seconds\r
- self.pauseregen_finished = max(self.pauseregen_finished, time + cvar("g_balance_pause_health_regen"));\r
+ self.pauseregenhealth_finished = max(self.pauseregenhealth_finished, time + cvar("g_balance_pause_health_regen"));\r
+ self.pauseregenarmor_finished = max(self.pauseregenarmor_finished, time + cvar("g_balance_pause_armor_regen"));\r
\r
if (time > self.pain_finished) //Don't switch pain sequences like crazy\r
{\r
}\r
\r
if(sound_allowed(MSG_BROADCAST, attacker))\r
+ if(self.health > 1)\r
{\r
- if(self.health > 75) // TODO make a "gentle" version?\r
+ if(deathtype == DEATH_FALL)\r
+ PlayerSound(self, playersound_fall, CHAN_PAIN, VOICETYPE_PLAYERSOUND);\r
+ else if(self.health > 75) // TODO make a "gentle" version?\r
PlayerSound(self, playersound_pain100, CHAN_PAIN, VOICETYPE_PLAYERSOUND);\r
else if(self.health > 50)\r
PlayerSound(self, playersound_pain75, CHAN_PAIN, VOICETYPE_PLAYERSOUND);\r
else if(self.health > 25)\r
PlayerSound(self, playersound_pain50, CHAN_PAIN, VOICETYPE_PLAYERSOUND);\r
- else if(self.health > 1)\r
+ else\r
PlayerSound(self, playersound_pain25, CHAN_PAIN, VOICETYPE_PLAYERSOUND);\r
}\r
}\r
tauntrand = random();\r
FOR_EACH_REALCLIENT(msg_entity)\r
if (tauntrand < msg_entity.cvar_cl_autotaunt)\r
+ if (msg_entity.cvar_cl_voice_directional >= 1)\r
{\r
- if (msg_entity.cvar_cl_voice_directional >= 1)\r
- {\r
- if(self.predator.classname == "player")\r
- soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE * bound(0, cvar("g_vore_soundocclusion"), 1), bound(ATTN_MIN, msg_entity.cvar_cl_voice_directional_taunt_attenuation, ATTN_MAX));\r
- else\r
- soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, bound(ATTN_MIN, msg_entity.cvar_cl_voice_directional_taunt_attenuation, ATTN_MAX));\r
- }\r
+ if(self.predator.classname == "player")\r
+ soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE * bound(0, cvar("g_vore_soundocclusion"), 1), bound(ATTN_MIN, msg_entity.cvar_cl_voice_directional_taunt_attenuation, ATTN_MAX));\r
else\r
- soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_NONE);\r
+ soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, bound(ATTN_MIN, msg_entity.cvar_cl_voice_directional_taunt_attenuation, ATTN_MAX));\r
}\r
+ else\r
+ soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_NONE);\r
break;\r
case VOICETYPE_TAUNT:\r
if(self.classname == "player")\r