1 void GibDamage (entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force)
\r
6 sound (self, CHAN_IMPACT, "misc/gib_splat01.wav", 1, ATTN_NORM);
\r
8 sound (self, CHAN_IMPACT, "misc/gib_splat02.wav", 1, ATTN_NORM);
\r
10 sound (self, CHAN_IMPACT, "misc/gib_splat03.wav", 1, ATTN_NORM);
\r
12 sound (self, CHAN_IMPACT, "misc/gib_splat04.wav", 1, ATTN_NORM);
\r
13 te_blood (self.origin + '0 0 1', '0 0 30', 10);
\r
14 self.health = self.health - damage;
\r
15 if (self.health <= -12)
\r
17 self.event_damage = SUB_Null;
\r
18 SUB_VanishOrRemove (self);
\r
25 GibDamage (other, other, 11, 0, self.origin, '0 0 0');
\r
28 // changes by LordHavoc on 03/30/04
\r
29 // TossGib now takes a gib entity so it can be used for tossing heads
\r
30 // gib.velocity now uses randomvec() instead of a bunch of manual random calls
\r
31 // merged Gib() into PlayerGib()
\r
32 entity TossGib (entity gib, string mdlname, vector org, vector v, float destroyontouch)
\r
36 gib.classname = "gib";
\r
37 gib.movetype = MOVETYPE_BOUNCE;
\r
38 gib.solid = SOLID_CORPSE;
\r
42 setmodel (gib, mdlname);
\r
43 setsize (gib, '-8 -8 -8', '8 8 8');
\r
44 setorigin (gib, org);
\r
47 gib.takedamage = DAMAGE_YES;
\r
48 gib.damageforcescale = 3.5;
\r
49 gib.event_damage = GibDamage;
\r
50 if (destroyontouch == 1)
\r
51 gib.touch = GibTouch;
\r
53 gib.velocity = v + randomvec() * 450;
\r
54 gib.avelocity = randomvec() * 300;
\r
56 SUB_SetFade (gib, time + 12 + random () * 4, 1);
\r