]> icculus.org git repositories - divverent/nexuiz.git/blob - qcsrc/player.qc
Updated the todo
[divverent/nexuiz.git] / qcsrc / player.qc
1
2 void PlayerWeaponThrow (void)
3 {
4         local entity    item;
5         local entity    backup;
6
7         item = spawn();
8
9         backup = self;
10         self = item;
11
12         self.origin = backup.origin - '0 0 24';
13         
14         self.velocity_z = 300;
15         self.velocity_x = -100 + (random() * 200);
16         self.velocity_y = -100 + (random() * 200);
17         self.norespawn = 1;
18
19         if      (backup.weapon == IT_LASER)
20                 remove (self);
21         else if (backup.weapon == IT_UZI)
22                 weapon_uzi ();
23         else if (backup.weapon == IT_SHOTGUN)
24                 weapon_shotgun ();
25         else if (backup.weapon == IT_GRENADE_LAUNCHER)
26                 weapon_grenadelauncher ();
27         else if (backup.weapon == IT_ELECTRO)
28                 weapon_electro ();
29         else if (backup.weapon == IT_CRYLINK)
30                 weapon_crylink ();
31         else if (backup.weapon == IT_NEX)
32                 weapon_nex ();
33         else if (backup.weapon == IT_HAGAR)
34                 weapon_hagar ();
35         else if (backup.weapon == IT_ROCKET_LAUNCHER)
36                 weapon_rocketlauncher ();
37
38         self = backup;
39
40         stuffcmd(self, "chase_active 1");
41 }
42
43 void PlayerHurt (vector hitloc, float damage)
44 {
45         te_blood (hitloc, '0 0 20', floor (damage / 2));
46 }
47
48 void PlayerDie (void)
49 {
50         self.avelocity = '0 0 0';
51         self.movetype = MOVETYPE_TOSS;
52         self.weaponmodel = "";
53         self.view_ofs = '0 0 -8';
54         self.deadflag = DEAD_DYING;
55         self.solid = SOLID_NOT;
56         self.flags = self.flags - (self.flags & FL_ONGROUND);
57         self.death_time = time + 1;
58         self.dead_angles = self.angles;
59         self.dead_angles_x = 0;
60         self.deadflag = DEAD_DEAD;
61
62         PlayerWeaponThrow ();
63 }