]> icculus.org git repositories - divverent/nexuiz.git/blob - TeamNexuiz/game/gamec/cl_impulse.c
- Spring cleaning! Cleaned up a lot of FTE warnings regarding unused locals
[divverent/nexuiz.git] / TeamNexuiz / game / gamec / cl_impulse.c
1 void CopyBody(float keepvelocity);\r
2 void () DropFlag;\r
3 \r
4 // changes by LordHavoc on 03/30/04\r
5 // cleaned up dummy code\r
6 // dummies are now removed eventually after being gibbed (norespawn = TRUE)\r
7 // dummy impulse now checks sv_cheats to prevent players from overwhelming server with dummies\r
8 // dummies now use player code where possible\r
9 \r
10 void player_anim (void);\r
11 void DummyThink(void)\r
12 {\r
13         self.think = DummyThink;\r
14         self.nextthink = time;\r
15         SV_PlayerPhysics();\r
16         PlayerPreThink();\r
17         //player_anim();\r
18         PlayerPostThink();\r
19 }\r
20 \r
21 void CopyBody2(float keepvelocity, float testbody);\r
22 void ImpulseCommands (void)\r
23 {\r
24         local float swpn;\r
25 \r
26         if (self.impulse_wait > time)   // So the GUI menus doesnt flicker\r
27                 return;\r
28 \r
29         if (self.playerclass < 1)               // Bring up menu if no team/class\r
30         {\r
31                 if (self.team_no < 1)\r
32                 {\r
33                         stuffcmd(self, "set scmenu_directmenu TeamSelect; togglemenu\n");\r
34                 }\r
35                 else \r
36                 {\r
37                         stuffcmd(self, "set scmenu_directmenu ClassSelect; togglemenu\n");\r
38                 }\r
39                 self.impulse = 0;\r
40                 self.impulse_wait = time + .5;  \r
41                 return;\r
42         }\r
43         if (self.impulse == DROP_FLAG_IMPULSE)\r
44         {\r
45                 DropFlag();\r
46         }\r
47 \r
48         if (self.impulse == 71)\r
49         {\r
50                 local string whee;\r
51                 whee = ftos (self.maxammo_rockets);\r
52                 sprint(self, whee);\r
53                 sprint(self, "\n");\r
54         }\r
55 \r
56         if (self.impulse == 73)\r
57         {\r
58                 stuffcmd(self, "cmd changeclass\n");\r
59                 self.impulse = 0;\r
60                 return;\r
61         }\r
62         if (self.impulse == 70) {               // reload impulse\r
63                 swpn = self.weapon;\r
64                         if(self.class == CLASS_SOLDIER)\r
65                         {\r
66                                 if (swpn == WEP4)\r
67                                         DoReload (3, (CLIP_MAX_ROCKETS - self.clip_rockets));   // weapon type 3 is RL, and reload X rockets.\r
68                         }\r
69                         else if(self.class == CLASS_PYRO)\r
70                         {\r
71                                 if (swpn == WEP1)\r
72                                         DoReload (4, (CLIP_MAX_PIPEGRENADES - self.clip_pipegrenades));\r
73                         }\r
74                         else if(self.class == CLASS_SCOUT || self.class == CLASS_ENGINEER)\r
75                         {\r
76                                 if (swpn == WEP4)\r
77                                         DoReload (2, (CLIP_MAX_CRYLINK - self.clip_crylink));\r
78                         }\r
79         }\r
80         if (self.impulse == 68) {\r
81                         local entity barrel;\r
82                         barrel = spawn();\r
83                         barrel.mdl = "models/sentry/turr1_barrel.md3";\r
84                         barrel.yaw_speed = 10;\r
85                         setmodel(barrel, barrel.mdl);\r
86                         setorigin(barrel, self.origin + '8 0 8');\r
87                         barrel.angles_y = barrel.angles_y;\r
88 \r
89                         local entity barrel2;\r
90                         barrel2 = spawn();\r
91                         barrel2.mdl = "models/sentry/turr1_barrel.md3";\r
92                         barrel2.yaw_speed = 10;\r
93                         barrel2.angles_y = barrel2.angles_z + 90;\r
94                         setmodel(barrel2, barrel.mdl);\r
95                         setorigin(barrel2, '0 0 0');\r
96 \r
97                         setattachment(barrel2, barrel, "tag_barrel_bullet1");\r
98                         \r
99                         local float barrel_tag;\r
100                         local vector fire_from;\r
101                         barrel_tag = gettagindex (barrel2, "tag_barrel_bullet1");\r
102                         fire_from = gettaginfo (barrel2, barrel_tag);\r
103                         bprint(vtos(fire_from));\r
104                         bprint("\n");\r
105 \r
106                         local entity e;\r
107                         e = spawn();\r
108                         e.scale = 4;\r
109                         setmodel(e, "models/plasmatrail.mdl");\r
110                         setorigin (e, fire_from);\r
111                         bprint(vtos(e.origin));\r
112                         bprint("\n");\r
113 \r
114         }\r
115         if (self.impulse == 67) {\r
116                 TeamFortress_Build (3);\r
117                 //self.current_menu = 18;\r
118         }\r
119         if (self.impulse == 69) {\r
120 /*              local entity isneardoor;\r
121                 local string st;\r
122                 isneardoor = findradius (self.origin, 200);\r
123                 while (isneardoor)\r
124                 {\r
125                         if ((isneardoor.classname == "door"))\r
126                         {\r
127 //                              st = stos(isneardoor.model);\r
128                                 sprint (self, isneardoor.model);\r
129                                 sprint (self, "\n");\r
130                                 dremove(newmis);\r
131                                 return;\r
132                         }\r
133                         isneardoor = isneardoor.chain;\r
134                 }*/\r
135                 TeamFortress_Build (2);\r
136         }\r
137         if (self.impulse == 8) {\r
138         TeamFortress_ThrowGrenade(); }\r
139         if ((self.impulse == 150))              // GREN TYPE 1\r
140         {\r
141                 TeamFortress_PrimeGrenade();\r
142         }\r
143         if ((self.impulse == 151))              // GREN TYPE 2\r
144         {\r
145                 TeamFortress_PrimeGrenade();\r
146         }\r
147         if ((self.impulse == 152))\r
148         {\r
149                 TeamFortress_ThrowGrenade();\r
150         }\r
151 \r
152         if (self.impulse >= 1 && self.impulse <= 5)\r
153         {\r
154                 if(self.buttonuse)\r
155                 {\r
156                         if(self.impulse == 5 && self.wpn5.weapon)\r
157                         {\r
158                                 weapon_action(self.weapon, WR_DROP);\r
159                                 SpawnThrownWeapon (self.origin + (self.mins + self.maxs) * 0.5, self.wpn5.weapon);\r
160                                 self.weapon = 0;\r
161                                 ResetExtraWeapon();\r
162                                 self.switchweapon = w_getbestweapon(self);\r
163                                 if(self.switchweapon == WEP5)\r
164                                         self.switchweapon = WEP1;\r
165                         }\r
166                 }\r
167                 else if (self.reload_time < time) { \r
168                                 W_SwitchWeapon (self.impulse); }\r
169         }\r
170         else if (self.impulse == 10) {\r
171                 if (self.reload_time < time) { \r
172                         W_NextWeapon (); }\r
173         }\r
174         else if (self.impulse == 12) {\r
175                 if (self.reload_time < time) { \r
176                         W_PreviousWeapon (); }\r
177         }\r
178                 \r
179         if (self.impulse == 13 && cvar("sv_cheats"))\r
180         {\r
181                 makevectors (self.v_angle);\r
182                 self.velocity = self.velocity + v_forward * 300;\r
183                 CopyBody2(1, TRUE);\r
184                 self.velocity = self.velocity - v_forward * 300;\r
185         }\r
186         else if (self.impulse == 14 && cvar("sv_cheats"))\r
187                 CopyBody2(0, TRUE);\r
188         else if (self.impulse == 99 && cvar("sv_cheats"))\r
189         {\r
190                 self.items = IT_WEP1 | IT_WEP2 | IT_WEP3 | IT_WEP4 | IT_WEP5;\r
191                 self.ammo_shells = 999;\r
192                 self.ammo_nails = 999;\r
193                 self.ammo_rockets = 999;\r
194                 self.ammo_cells = 999;\r
195         }\r
196 \r
197         if(self.impulse == 20)\r
198         {\r
199                 ClassSpecial();\r
200         }\r
201 \r
202         if(self.impulse == 30)\r
203         {\r
204                 ClassGrenade(WR_GRENADE1);\r
205         }\r
206         if(self.impulse == 31)\r
207         {\r
208                 ClassGrenade(WR_GRENADE2);\r
209         }\r
210 \r
211         // model/class test\r
212         if(self.impulse == 57)\r
213         {\r
214                 //self.class = GetPlayerClass();\r
215                 sprint(self, "Current class: ");\r
216                 sprint(self, NameOfClass(self.class));\r
217                 sprint(self, ", model: ");\r
218                 sprint(self, self.playermodel);\r
219                 sprint(self, "\n");\r
220         }\r
221         if(self.impulse == 211)         // XavioR test impulse\r
222         {\r
223                 local string woottest;\r
224                 woottest = ftos(self.team_no);\r
225                 sprint (self, woottest);\r
226                 sprint (self, "\n");\r
227         }\r
228         //TetrisImpulses();\r
229         self.impulse = 0;\r
230 }