]> icculus.org git repositories - divverent/nexuiz.git/blob - qcsrc/gib.qc
You can now move shellcasings by hitting them with an explosion weapon, the hitscan...
[divverent/nexuiz.git] / qcsrc / gib.qc
1
2 void GibSplat (void)
3 {
4         te_blood (self.origin + '0 0 1', '0 0 30', 8);
5         
6         remove (self);
7 }
8
9 void TossGib (string mdlname, vector org, vector v)
10 {
11         entity          gib;
12         vector          vel;
13         
14         // There has got to be a better way to do this...
15         vel_x = v_x + (random () * 300 - 150);
16         vel_y = v_y + (random () * 300 - 150);
17         vel_z = v_z + (random () * 300 - 150);
18         
19         gib = spawn ();
20         gib.classname = "gib";
21         gib.movetype = MOVETYPE_BOUNCE;
22         gib.solid = SOLID_CORPSE;
23         
24         setmodel (gib, mdlname);
25         setsize (gib, '-8 -8 -8', '8 8 8');
26         setorigin (gib, org);
27         
28         gib.health = 1;
29         gib.takedamage = DAMAGE_YES;
30         gib.event_die = GibSplat;
31         gib.event_hurt = GibSplat;
32         
33         gib.velocity = vel;
34         gib.avelocity = '300 300 300';
35         gib.alpha = 1;
36
37         SUB_SetFade (gib, time + 12 + random () * 4);
38 }
39
40 void Gib (vector vel)
41 {
42         TossGib ("models/gibs/gib1.mdl", self.origin, vel);
43         TossGib ("models/gibs/gib2.mdl", self.origin, vel);
44         TossGib ("models/gibs/gib3.mdl", self.origin, vel);
45         TossGib ("models/gibs/gib4.mdl", self.origin, vel);
46         TossGib ("models/gibs/bloodyskull.md3", self.origin, vel);
47         TossGib ("models/gibs/eye.md3", self.origin, vel);
48 }