]> icculus.org git repositories - divverent/nexuiz.git/blob - TeamNexuiz/game/gamec/tfmenus.c
- Spring cleaning! Cleaned up a lot of FTE warnings regarding unused locals
[divverent/nexuiz.git] / TeamNexuiz / game / gamec / tfmenus.c
1 /*\r
2 \r
3   */\r
4 \r
5 //move to tfdefs:\r
6 .entity building;\r
7 \r
8 // Menus/Menu Input references\r
9 void () Menu_EngineerFix_Tesla;\r
10 void (float inp) Menu_EngineerFix_Tesla_Input;\r
11 \r
12 // Resets the menu\r
13 void() ResetMenu = \r
14 {\r
15         if (self.StatusBarSize == TF_FLARE_LIT)\r
16         {\r
17                 CenterPrint(self, "\n");\r
18         }\r
19         else\r
20         {\r
21                 self.StatusRefreshTime = time + 0.1;\r
22         }\r
23         self.menu_count = 25;\r
24         self.current_menu = TF_FLARE_OFF;\r
25 };\r
26 \r
27 // This calls the function which displays the menu\r
28 void () Player_Menu =\r
29 {\r
30         if ((self.menu_count > 25.000000))\r
31         {\r
32                 self.menu_count = 0.000000;\r
33         }\r
34         else\r
35         {\r
36                 self.menu_count = (self.menu_count + 1.000000);\r
37                 return;\r
38         }\r
39         if (self.current_menu == 666)\r
40         {\r
41                 //Menu_Blah()\r
42                 return;\r
43         }\r
44         else if ((self.current_menu == 18))\r
45         {\r
46                 Menu_EngineerFix_Tesla ();\r
47         }\r
48         else\r
49         {\r
50                 self.current_menu = TF_FLARE_LIT;\r
51         }\r
52 };\r
53 \r
54 void(float menu_no) DisplayMenu = \r
55 {\r
56         self.current_menu = menu_no;\r
57         if (menu_no == 2)\r
58         {\r
59                 //Menu_Team();                          // menu team & menu class are now handled by GUIs (see cl_client.c)\r
60         }\r
61         else\r
62         {\r
63                 if (menu_no == 3)\r
64                 {\r
65                         //Menu_Class();\r
66                 }\r
67         }\r
68 };\r
69 \r
70 // Menu input (user can press 0 - 9)\r
71 void(float inp) Menu_Input = \r
72 {\r
73         if ((self.current_menu == 18))\r
74         {\r
75                 Menu_EngineerFix_Tesla_Input (inp);\r
76         }\r
77 };\r
78 \r
79 // Tesla Menu\r
80 void () Menu_EngineerFix_Tesla =\r
81 {\r
82         CenterPrint (self, "Tesla Modification Lab: ^16^7 Upgrades Max\n[^11^7] Upgrade Voltage           - 1u\n[^12^7] Upgrade Amperage          - 1u\n[^13^7] Upgrade Power Supply      - 1u\n[^14^7] Make TeslaTurret(tm)      - 2u\n[^15^7] Improved Targeting System - 2u\n[^16^7] Add Spy Detector          - 4u\n[^17^7] Repair and Recharge           \n[^18^7] Dismantle                     \n[^19^7] Îïôèéîç                       ");\r
83 };\r
84 \r
85 // Tesla Menu Input\r
86 void (float inp) Menu_EngineerFix_Tesla_Input =\r
87 {\r
88         local float cost;\r
89         local float maxcells;\r
90 \r
91         if (((self.classname != "player") || (self.building == world)))\r
92         {\r
93                 return;\r
94         }\r
95 \r
96         if ((inp == 1))\r
97         {\r
98                 if ((self.building.ammo_shells >= 3))\r
99                 {\r
100                         sprint (self, "You can only upgrade voltage 3 times\n");\r
101                 }\r
102                 else\r
103                 {\r
104                         if ((self.building.currentammo >= 6))\r
105                         {\r
106                                 sprint (self, "You can only have \98 upgrades on the gun\n");\r
107                         }\r
108                         else\r
109                         {\r
110                                 if ((self.ammo_cells >= 100))\r
111                                 {\r
112                                         self.ammo_cells = (self.ammo_cells - 100);\r
113                                         self.building.ammo_shells = (self.building.ammo_shells + 1);\r
114                                         self.building.waitmin = ((self.building.ammo_shells + 2) * (self.building.ammo_nails + 2));\r
115                                         self.building.currentammo = (self.building.currentammo + 1);\r
116                                 }\r
117                                 else\r
118                                 {\r
119                                         sprint (self, "You need more cells to upgrade the tesla\n");\r
120                                 }\r
121                         }\r
122                 }\r
123         }\r
124         if ((inp == 2))\r
125         {\r
126                 if ((self.building.ammo_nails >= 3))\r
127                 {\r
128                         sprint (self, "You can only upgrade amperage 3 times\n");\r
129                 }\r
130                 else\r
131                 {\r
132                         if ((self.building.currentammo >= 6))\r
133                         {\r
134                                 sprint (self, "You can only have \98 upgrades on the gun\n");\r
135                         }\r
136                         else\r
137                         {\r
138                                 if ((self.ammo_cells >= 100))\r
139                                 {\r
140                                         self.ammo_cells = (self.ammo_cells - 100);\r
141                                         self.building.ammo_nails = (self.building.ammo_nails + 1);\r
142                                         self.building.waitmin = ((self.building.ammo_shells + 2) * (self.building.ammo_nails + 2));\r
143                                         self.building.currentammo = (self.building.currentammo + 1);\r
144                                 }\r
145                                 else\r
146                                 {\r
147                                         sprint (self, "You need more cells to upgrade the tesla\n");\r
148                                 }\r
149                         }\r
150                 }\r
151         }\r
152         if ((inp == 3))\r
153         {\r
154                 if ((self.building.ammo_rockets >= 3))\r
155                 {\r
156                         sprint (self, "You can only upgrade the capacitor 3 times\n");\r
157                 }\r
158                 else\r
159                 {\r
160                         if ((self.building.currentammo >= 6))\r
161                         {\r
162                                 sprint (self, "You can only have \98 upgrades on the gun\n");\r
163                         }\r
164                         else\r
165                         {\r
166                                 if ((self.ammo_cells >= 100))\r
167                                 {\r
168                                         self.ammo_cells = (self.ammo_cells - 100);\r
169                                         self.building.ammo_rockets = (self.building.ammo_rockets + 1);\r
170                                         self.building.currentammo = (self.building.currentammo + 1);\r
171                                         if ((self.building.ammo_rockets == 1))\r
172                                         {\r
173                                                 self.building.max_health = (self.building.max_health + 100);\r
174                                                 self.building.health = (self.building.health + 100);\r
175                                                 self.building.ammo_cells = 120;\r
176                                         }\r
177                                         else\r
178                                         {\r
179                                                 if ((self.building.ammo_rockets == 2))\r
180                                                 {\r
181                                                         self.building.max_health = (self.building.max_health + 150);\r
182                                                         self.building.health = (self.building.health + 150);\r
183                                                         self.building.ammo_cells = 200;\r
184                                                 }\r
185                                                 else\r
186                                                 {\r
187                                                         if ((self.building.ammo_rockets == 3))\r
188                                                         {\r
189                                                                 self.building.max_health = (self.building.max_health + 150);\r
190                                                                 self.building.health = (self.building.health + 150);\r
191                                                                 self.building.ammo_cells = 300;\r
192                                                         }\r
193                                                 }\r
194                                         }\r
195                                 }\r
196                                 else\r
197                                 {\r
198                                         sprint (self, "You need more cells to upgrade the tesla\n");\r
199                                 }\r
200                         }\r
201                 }\r
202         }\r
203         if ((inp == 4))\r
204         {\r
205                 if ((self.building.tf_items & 2))\r
206                 {\r
207                         sprint (self, "It is already a turret!\n");\r
208                 }\r
209                 else\r
210                 {\r
211                         if ((self.building.currentammo > (6 - 2)))\r
212                         {\r
213                                 sprint (self, "This requires two upgrades, sorry\n");\r
214                         }\r
215                         else\r
216                         {\r
217                                 if ((self.ammo_cells >= (2 * 100)))\r
218                                 {\r
219                                         self.ammo_cells = (self.ammo_cells - (2 * 100));\r
220                                         if ((self.ammo_cells < 0))\r
221                                         {\r
222                                                 self.ammo_cells = 0;\r
223                                         }\r
224                                         self.building.currentammo = (self.building.currentammo + 2);\r
225                                         if ((self.building.tf_items & 2))\r
226                                         {\r
227                                                 sprint (self, "Gun is already deployed\n");\r
228                                         }\r
229                                         else\r
230                                         {\r
231                                                 self.building.origin_z = (self.building.origin_z + 15);\r
232                                                 if (0)\r
233                                                 {\r
234                                                         sprint (self, "You need a clear area to launch\n");\r
235                                                         self.building.origin_z = (self.building.origin_z - 15);\r
236                                                 }\r
237                                                 else\r
238                                                 {\r
239                                                         self.building.origin_z = (self.building.origin_z + 25);\r
240                                                         sprint (self, "You turretize your tesla\n");\r
241                                                         self.has_turretized_tesla = 1;\r
242                                                         self.building.angles_z = 180;\r
243                                                         self.building.flags = (self.building.flags - (self.building.flags & 512));\r
244                                                         self.building.movetype = 5;\r
245                                                         self.building.velocity_z = 200;\r
246                                                         setsize (self.building, '-16.000000 -16.000000 -40.000000', '16.000000 16.000000 -10.000000');\r
247                                                         self.building.tf_items = (self.building.tf_items | 2);\r
248                                                 }\r
249                                         }\r
250                                 }\r
251                                 else\r
252                                 {\r
253                                         sprint (self, "You need more cells to upgrade the tesla\n");\r
254                                 }\r
255                         }\r
256                 }\r
257         }\r
258         if ((inp == 5))\r
259         {\r
260                 if ((self.building.tf_items & 1))\r
261                 {\r
262                         sprint (self, "It already has an improved targeter\n");\r
263                 }\r
264                 else\r
265                 {\r
266                         if ((self.building.currentammo > (6 - 2)))\r
267                         {\r
268                                 sprint (self, "This requires two upgrades, hence the '2u'...\n");\r
269                         }\r
270                         else\r
271                         {\r
272                                 if ((self.ammo_cells >= (2 * 100)))\r
273                                 {\r
274                                         self.ammo_cells = (self.ammo_cells - (2 * 100));\r
275                                         if ((self.ammo_cells < 0))\r
276                                         {\r
277                                                 self.ammo_cells = 0;\r
278                                         }\r
279                                         self.building.currentammo = (self.building.currentammo + 2);\r
280                                         self.building.tf_items = (self.building.tf_items | 1);\r
281                                 }\r
282                                 else\r
283                                 {\r
284                                         sprint (self, "You need more cells to upgrade the tesla\n");\r
285                                 }\r
286                         }\r
287                 }\r
288         }\r
289         if ((inp == 6))\r
290         {\r
291                 if ((self.building.tf_items & 1024))\r
292                 {\r
293                         sprint (self, "You already built a spy detector\n");\r
294                 }\r
295                 else\r
296                 {\r
297                         if ((self.building.currentammo > (6 - 4)))\r
298                         {\r
299                                 sprint (self, "Spy detector takes 4 upgrades\n");\r
300                         }\r
301                         else\r
302                         {\r
303                                 if ((self.ammo_cells >= (2 * 100)))\r
304                                 {\r
305                                         self.ammo_cells = (self.ammo_cells - (4 * 100));\r
306                                         if ((self.ammo_cells < 0))\r
307                                         {\r
308                                                 self.ammo_cells = 0;\r
309                                         }\r
310                                         self.building.currentammo = (self.building.currentammo + 4);\r
311                                         self.building.tf_items = (self.building.tf_items | 1024);\r
312                                 }\r
313                                 else\r
314                                 {\r
315                                         sprint (self, "You need more cells to upgrade the tesla\n");\r
316                                 }\r
317                         }\r
318                 }\r
319         }\r
320         if ((inp == 7))\r
321         {\r
322                 if ((self.building.health < self.building.max_health))\r
323                 {\r
324                         cost = (self.building.max_health - self.building.health) / 2;\r
325                         if ((self.ammo_cells >= cost))\r
326                         {\r
327                                 self.ammo_cells = (self.ammo_cells - cost);\r
328                                 self.building.health = self.building.max_health;\r
329                         }\r
330                 }\r
331                 if ((self.building.ammo_rockets == 0))\r
332                 {\r
333                         maxcells = 120;\r
334                 }\r
335                 else\r
336                 {\r
337                         if ((self.building.ammo_rockets == 1))\r
338                         {\r
339                                 maxcells = 120;\r
340                         }\r
341                         else\r
342                         {\r
343                                 if ((self.building.ammo_rockets == 2))\r
344                                 {\r
345                                         maxcells = 200;\r
346                                 }\r
347                                 else\r
348                                 {\r
349                                         if ((self.building.ammo_rockets == 3))\r
350                                         {\r
351                                                 maxcells = 300;\r
352                                         }\r
353                                 }\r
354                         }\r
355                 }\r
356                 cost = maxcells - self.building.ammo_cells;\r
357                 if ((cost > self.ammo_cells))\r
358                 {\r
359                         cost = self.ammo_cells;\r
360                 }\r
361                 self.ammo_cells = (self.ammo_cells - cost);\r
362                 self.building.ammo_cells = (self.building.ammo_cells + cost);\r
363         }\r
364         if ((inp == 8))\r
365         {\r
366                 sprint (self, "You dismantle the Tesla Gun.\n");\r
367                 self.ammo_cells = (self.ammo_cells + (150 / 2));\r
368                 self.building.real_owner.has_tesla = 0;\r
369                 self.building.real_owner.has_turretized_tesla = 0;\r
370                 if ((self.building.real_owner.team_no != self.team_no))\r
371                 {\r
372                         self.real_frags = (self.real_frags + 1);\r
373                         if (!(toggleflags & 128))\r
374                         {\r
375                                 self.frags = self.real_frags;\r
376                         }\r
377                 }\r
378                 if ((self.building.real_owner != self))\r
379                 {\r
380                         sprint (self.building.real_owner, self.netname); \r
381                         sprint (self.building.real_owner, " dismantled your Tesla Coil.\n");\r
382                         teamsprint (self.building.real_owner.team_no, self.building.real_owner, self.netname);\r
383                         teamsprint (self.building.real_owner.team_no, self.building.real_owner, " dismantled ");\r
384                         teamsprint (self.building.real_owner.team_no, self.building.real_owner, self.building.real_owner.netname);\r
385                         teamsprint (self.building.real_owner.team_no, self.building.real_owner, "'s Tesla Coil.\n");\r
386                 }\r
387                 dremove (self.building);\r
388         }\r
389         if (((inp >= 1) && (inp <= 9)))\r
390         {\r
391                 ResetMenu ();\r
392                 self.impulse = 0;\r
393                 bound_other_ammo (self);\r
394                 if ((self.armorvalue == 0))\r
395                 {\r
396                         self.armortype = 0;\r
397                         self.armorclass = 0;\r
398                         self.items = (self.items - (self.items & ((8192 | 16384) | 32768)));\r
399                 }\r
400                 W_SetCurrentAmmo ();\r
401         }\r
402 };