From 19a5729761681f71c8b674e47aa0a806d5164640 Mon Sep 17 00:00:00 2001 From: div0 Date: Mon, 8 Jun 2009 17:10:09 +0000 Subject: [PATCH] tuba: let blood come out of the ears ;) git-svn-id: svn://svn.icculus.org/nexuiz/trunk@6921 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/qcsrc/server/cl_player.qc | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/data/qcsrc/server/cl_player.qc b/data/qcsrc/server/cl_player.qc index 85bdd2bcb..46bcb02a4 100644 --- a/data/qcsrc/server/cl_player.qc +++ b/data/qcsrc/server/cl_player.qc @@ -334,7 +334,36 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, float deatht damage /= sqrt(bound(1.0, attacker.cvar_cl_handicap, 100.0)); } - Violence_GibSplash_At(hitloc, force, 2, bound(0, damage, 200) / 16); + if(DEATH_ISWEAPON(deathtype, WEP_TUBA)) + { + // tuba causes blood to come out of the ears + vector ear1, ear2; + vector d; + float f; + ear1 = self.origin; + ear1_z += 0.25 * self.view_ofs_z + 0.75 * self.maxs_z; // middle of headshot bbox + ear2 = ear1; + makevectors(self.angles); + ear1 += v_right * -10; + ear2 += v_right * +10; + d = inflictor.origin - self.origin; + f = (d * v_right) / vlen(d); // this is cos of angle of d and v_right! + force = v_right * vlen(force); + Violence_GibSplash_At(ear1, force * -1, 2, bound(0, damage, 200) / 16 * (0.5 - 0.5 * f)); + Violence_GibSplash_At(ear2, force, 2, bound(0, damage, 200) / 16 * (0.5 + 0.5 * f)); + if(f > 0) + { + hitloc = ear1; + force = force * -1; + } + else + { + hitloc = ear2; + // force is already good + } + } + else + Violence_GibSplash_At(hitloc, force, 2, bound(0, damage, 200) / 16); if(g_arena) if(numspawned < 2) -- 2.39.2