]> icculus.org git repositories - divverent/nexuiz.git/blob - qcsrc/gamec/g_violence.c
Some changes to the grenade launcher and shotgun that weren't my changes
[divverent/nexuiz.git] / qcsrc / gamec / g_violence.c
1
2 void GibDamage (entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force)
3 {
4         te_blood (self.origin + '0 0 1', '0 0 30', damage);
5         self.health = self.health - damage;
6         if (self.health <= -300)
7         {
8                 self.event_damage = nullfunction;
9                 SUB_VanishOrRemove (self);
10         }
11 }
12
13 // changes by LordHavoc on 03/30/04
14 // TossGib now takes a gib entity so it can be used for tossing heads
15 // gib.velocity now uses randomvec() instead of a bunch of manual random calls
16 // merged Gib() into PlayerGib()
17 void TossGib (entity gib, string mdlname, vector org, vector v)
18 {
19         if (gib == world)
20         {
21                 gib = spawn ();
22                 gib.norespawn = TRUE;
23         }
24         gib.classname = "gib";
25         gib.movetype = MOVETYPE_BOUNCE;
26         gib.solid = SOLID_CORPSE;
27
28         setmodel (gib, mdlname);
29         setsize (gib, '-8 -8 -8', '8 8 8');
30         setorigin (gib, org);
31
32         gib.health = -1;
33         gib.takedamage = DAMAGE_YES;
34         gib.damageforcescale = 3.5;
35         gib.event_damage = GibDamage;
36
37         gib.velocity = v + randomvec() * 250;
38         gib.avelocity = randomvec() * 300;
39
40         SUB_SetFade (gib, time + 12 + random () * 4);
41 }