}\r
SetAutoTaunt(attacker, time + 1, TAUNTTYPE_DEATH);\r
}\r
+ portrait(attacker, targ);\r
}\r
else\r
{\r
}\r
SetAutoTaunt(attacker, time + 1, TAUNTTYPE_DEATH);\r
}\r
+ portrait(attacker, targ);\r
}\r
\r
if(sv_gentle) {\r
\r
void Damage (entity targ, entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force)\r
{\r
- portrait(attacker, attacker); // TEMPORARY TEST\r
-\r
float mirrordamage;\r
float mirrorforce;\r
float teamdamage0;\r
{\r
teamdamage0 = max(attacker.dmg_team, cvar("g_teamdamage_threshold"));\r
attacker.dmg_team = attacker.dmg_team + damage;\r
- if(attacker.dmg_team > teamdamage0 && !g_ca)\r
+ if(attacker.dmg_team > teamdamage0 && !g_ca && deathtype != DEATH_REGURGITATION)\r
mirrordamage = cvar("g_mirrordamage") * (attacker.dmg_team - teamdamage0);\r
mirrorforce = cvar("g_mirrordamage") * vlen(force);\r
if(g_ca)\r
force = force * cvar("g_ctf_flagcarrier_selfforce");\r
}\r
\r
+ // skill-based damage offset for bots\r
+ if(skill && cvar("skill_offset"))\r
+ {\r
+ float ofs;\r
+ ofs = pow(skill / cvar("skill_offset_center"), cvar("skill_offset"));\r
+ if(clienttype(attacker) == CLIENTTYPE_BOT)\r
+ damage *= ofs;\r
+ if(clienttype(targ) == CLIENTTYPE_BOT)\r
+ damage /= ofs;\r
+ }\r
+\r
// count the damage\r
if(attacker)\r
if(!targ.deadflag)\r
}\r
}\r
}\r
- else\r
+ else if(deathtype != DEATH_REGURGITATION)\r
{\r
if(deathtype != DEATH_FIRE)\r
attacker.typehitsound += 1;\r
attacker.teamkill_complain = time + 5;\r
attacker.teamkill_soundtime = time + 0.4;\r
attacker.teamkill_soundsource = targ;\r
+ portrait(targ, attacker);\r
}\r
}\r
}\r
}\r
-\r
- // lean the player based on the amount of damage taken\r
- if(cvar("g_leanplayer_damage"))\r
- if(targ.classname == "player" && WEP_VALID(DEATH_WEAPONOF(deathtype))) // only for damage caused by weapons\r
- {\r
- targ.leanangle_damage_loc = hitloc - targ.origin;\r
- targ.leanangle_damage_force += force * cvar("g_leanplayer_damage"); // keep existing force if any\r
-\r
- // bound angles to the specified limit\r
- targ.leanangle_damage_force_x = bound(-cvar("g_leanplayer_damage_max"), targ.leanangle_damage_force_x, cvar("g_leanplayer_damage_max"));\r
- targ.leanangle_damage_force_y = bound(-cvar("g_leanplayer_damage_max"), targ.leanangle_damage_force_y, cvar("g_leanplayer_damage_max"));\r
- targ.leanangle_damage_force_z = bound(-cvar("g_leanplayer_damage_max"), targ.leanangle_damage_force_z, cvar("g_leanplayer_damage_max"));\r
- }\r
}\r
\r
// apply push\r