1 /* KJL 11:10:15 28/01/98 -
2
3 This file contains game-specific console variables
4
5 */
6 #include "3dc.h"
7 #include "inline.h"
8 #include "module.h"
9 #include "stratdef.h"
10 #include "gamedef.h"
11 #include "davehook.h"
12 #include "r2base.h"
13 #include "gadget.h"
14 #include "daemon.h"
15 #include "rentrntq.h"
16
17 #include "bh_types.h"
18 #include "consvar.hpp"
19 #include "conscmnd.hpp"
20 #include "equipmnt.h"
21 #include "weapons.h"
22 #include "bh_queen.h"
23 #include "bh_gener.h"
24 #include "dxlog.h"
25 #include "avp_menus.h"
26 #include "pheromon.h"
27 #include "showcmds.h"
28 #include "pfarlocs.h"
29
30 #define UseLocalAssert Yes
31 #include "ourasert.h"
32
33 #include "game_statistics.h"
34 #include "avp_envinfo.h"
35 #include "avp_userprofile.h"
36
37 extern "C"
38 {
39
40 extern int Simplify_HModel_Rendering;
41
42 extern int TrickleCharge;
43 extern int CloakDrain;
44 extern int CloakThreshold;
45 extern int CloakPowerOnDrain;
46 extern int GlobalGoreRate;
47 extern int PredPistol_ShotCost;
48 extern int PredPistolBoltSpeed;
49 extern int PredPistolBoltGravity;
50 extern int Caster_Jumpstart;
51 extern int Caster_Chargetime;
52 extern int Caster_TrickleRate;
53 extern int Caster_TrickleLevel;
54 extern int Caster_ChargeRatio;
55 extern int Caster_NPCKill;
56 extern int Caster_PCKill;
57 extern int Caster_BlastRadius;
58 extern int Caster_MinCharge;
59 extern int RecallDisc_Charge;
60 extern void Recall_Disc(void);
61
62 extern int Marine_Skill;
63 extern int Marine_Terminal_Velocity;
64
65 extern int ShowPredoStats;
66 extern int ShowSquadState;
67 extern int ShowNearSquad;
68 extern int ShowHiveState;
69 extern int ShowXenoStats;
70 extern int ShowSlack;
71 extern void ActivateHive(void);
72 extern void DeActivateHive(void);
73 extern void ForceAGenerator_Shell(void);
74 extern void StrikeTime(int time);
75 extern void AlienStrikeTime(int time);
76 extern void CastSentrygun(void);
77 extern void CastDummy(void);
78 extern void StartPlayerTaunt(void);
79 extern void Console_ZoneAlert(int input);
80 extern void ZapSlack(void);
81 /* Queen commands */
82 extern int Queen_Charge_Rate;
83 extern int Queen_Step_Time;
84 extern int Queen_Step_Speed;
85 extern int Queen_Step_Mode;
86 extern int Queen_Turn_Rate;
87 extern void QComm_Stop(void);
88 extern void QComm_StepForward(void);
89 extern void QComm_StepBack(void);
90 extern void QComm_TurnLeft(void);
91 extern void QComm_TurnRight(void);
92 extern void QComm_Heel(void);
93 extern void QComm_Taunt(void);
94 extern void QComm_Hiss(void);
95 extern void QComm_LeftSwipe(void);
96 extern void QComm_RightSwipe(void);
97 extern void QComm_Route(void);
98 extern void QComm_Charge(void);
99 /* Tail calibration */
100 extern int tail_xcal;
101 extern int tail_ycal;
102 /* Molotov Callibration! */
103 extern int mx,my,mz;
104
105 extern int RATweak;
106
107 extern TEMPLATE_WEAPON_DATA TemplateWeapon[MAX_NO_OF_WEAPON_TEMPLATES];
108 extern void NewOnScreenMessage(unsigned char *messagePtr);
109
110 extern int GlobalAmbience;
111 int Old_GlobalAmbience=ONE_FIXED;
112
113 int ShowAdj=0;
114
115 char ccv_tempstring[128];
116
Toggle_Ambience(void)117 void Toggle_Ambience(void) {
118
119 int buffer;
120
121 buffer=GlobalAmbience;
122 GlobalAmbience=Old_GlobalAmbience;
123 Old_GlobalAmbience=buffer;
124
125 }
126
ActivateAllGenerators(void)127 void ActivateAllGenerators(void) {
128 int a;
129 STRATEGYBLOCK *candidate;
130
131 for (a=0; a<NumActiveStBlocks; a++) {
132 candidate=ActiveStBlockList[a];
133 if (candidate->I_SBtype==I_BehaviourGenerator) {
134 GENERATOR_BLOCK *genBlock;
135
136 genBlock=(GENERATOR_BLOCK *)candidate->SBdataptr;
137 genBlock->Active=1;
138 }
139 }
140 }
141
KillAllInanimates(void)142 void KillAllInanimates(void) {
143 int a;
144 STRATEGYBLOCK *candidate;
145
146 for (a=0; a<NumActiveStBlocks; a++) {
147 candidate=ActiveStBlockList[a];
148 if (candidate->I_SBtype==I_BehaviourInanimateObject) {
149 candidate->SBflags.please_destroy_me=1;
150 }
151 }
152 }
153
KillAllMarines(void)154 void KillAllMarines(void) {
155 int a;
156 STRATEGYBLOCK *candidate;
157
158 for (a=0; a<NumActiveStBlocks; a++) {
159 candidate=ActiveStBlockList[a];
160 if ((candidate->I_SBtype==I_BehaviourMarine)
161 ||(candidate->I_SBtype==I_BehaviourSeal)) {
162 CauseDamageToObject(candidate,&console_nuke,ONE_FIXED,NULL);
163 }
164 }
165 }
166
KillAllAliens(void)167 void KillAllAliens(void) {
168 int a;
169 STRATEGYBLOCK *candidate;
170
171 for (a=0; a<NumActiveStBlocks; a++) {
172 candidate=ActiveStBlockList[a];
173 if (candidate->I_SBtype==I_BehaviourAlien) {
174 CauseDamageToObject(candidate,&console_nuke,ONE_FIXED,NULL);
175 }
176 }
177 }
178
KillAllPreds(void)179 void KillAllPreds(void) {
180 int a;
181 STRATEGYBLOCK *candidate;
182
183 for (a=0; a<NumActiveStBlocks; a++) {
184 candidate=ActiveStBlockList[a];
185 if (candidate->I_SBtype==I_BehaviourPredator) {
186 CauseDamageToObject(candidate,&console_nuke,ONE_FIXED,NULL);
187 }
188 }
189 }
190
KillAllDummies(void)191 void KillAllDummies(void) {
192 int a;
193 STRATEGYBLOCK *candidate;
194
195 for (a=0; a<NumActiveStBlocks; a++) {
196 candidate=ActiveStBlockList[a];
197 if (candidate->I_SBtype==I_BehaviourDummy) {
198 DestroyAnyStrategyBlock(candidate);
199 }
200 }
201 }
202
ToggleShapeRender(void)203 void ToggleShapeRender(void) {
204 Simplify_HModel_Rendering=(~Simplify_HModel_Rendering);
205 }
206
Show_PredOStats(void)207 void Show_PredOStats(void) {
208 ShowPredoStats=(~ShowPredoStats);
209 }
210
Show_XenoStats(void)211 void Show_XenoStats(void) {
212 ShowXenoStats=(~ShowXenoStats);
213 }
214
Show_SquadState(void)215 void Show_SquadState(void) {
216 ShowSquadState=(~ShowSquadState);
217 }
218
Show_NearSquad(void)219 void Show_NearSquad(void) {
220 ShowNearSquad=(~ShowNearSquad);
221 }
222
Show_HiveState(void)223 void Show_HiveState(void) {
224 ShowHiveState=(~ShowHiveState);
225 }
226
Show_Slack(void)227 void Show_Slack(void) {
228 ShowSlack=(~ShowSlack);
229 }
230
Show_Adj(void)231 void Show_Adj(void) {
232 ShowAdj=(~ShowAdj);
233 }
234
Toggle_Observer(void)235 void Toggle_Observer(void) {
236 Observer=(~Observer);
237 }
238
ShowRecoilMaxXTilt(void)239 void ShowRecoilMaxXTilt(void) {
240
241 PLAYER_WEAPON_DATA *weaponPtr;
242 TEMPLATE_WEAPON_DATA *twPtr;
243 PLAYER_STATUS *playerStatusPtr= (PLAYER_STATUS *) (Player->ObStrategyBlock->SBdataptr);
244 GLOBALASSERT(playerStatusPtr);
245 weaponPtr = &(playerStatusPtr->WeaponSlot[playerStatusPtr->SelectedWeaponSlot]);
246 twPtr = &TemplateWeapon[weaponPtr->WeaponIDNumber];
247
248 sprintf(ccv_tempstring,"RECOILMAXXTILT = %d\n",twPtr->RecoilMaxXTilt);
249
250 NewOnScreenMessage((unsigned char *)&ccv_tempstring[0]);
251 }
252
ShowRecoilMaxYTilt(void)253 void ShowRecoilMaxYTilt(void) {
254
255 PLAYER_WEAPON_DATA *weaponPtr;
256 TEMPLATE_WEAPON_DATA *twPtr;
257 PLAYER_STATUS *playerStatusPtr= (PLAYER_STATUS *) (Player->ObStrategyBlock->SBdataptr);
258 GLOBALASSERT(playerStatusPtr);
259 weaponPtr = &(playerStatusPtr->WeaponSlot[playerStatusPtr->SelectedWeaponSlot]);
260 twPtr = &TemplateWeapon[weaponPtr->WeaponIDNumber];
261
262 sprintf(ccv_tempstring,"RECOILMAXYTILT = %d\n",twPtr->RecoilMaxYTilt);
263
264 NewOnScreenMessage((unsigned char *)&ccv_tempstring[0]);
265 }
266
ShowRecoilMaxZ(void)267 void ShowRecoilMaxZ(void) {
268
269 PLAYER_WEAPON_DATA *weaponPtr;
270 TEMPLATE_WEAPON_DATA *twPtr;
271 PLAYER_STATUS *playerStatusPtr= (PLAYER_STATUS *) (Player->ObStrategyBlock->SBdataptr);
272 GLOBALASSERT(playerStatusPtr);
273 weaponPtr = &(playerStatusPtr->WeaponSlot[playerStatusPtr->SelectedWeaponSlot]);
274 twPtr = &TemplateWeapon[weaponPtr->WeaponIDNumber];
275
276 sprintf(ccv_tempstring,"RECOILMAXZ = %d\n",twPtr->RecoilMaxZ);
277
278 NewOnScreenMessage((unsigned char *)&ccv_tempstring[0]);
279 }
280
ShowRecoilMaxRandomZ(void)281 void ShowRecoilMaxRandomZ(void) {
282
283 PLAYER_WEAPON_DATA *weaponPtr;
284 TEMPLATE_WEAPON_DATA *twPtr;
285 PLAYER_STATUS *playerStatusPtr= (PLAYER_STATUS *) (Player->ObStrategyBlock->SBdataptr);
286 GLOBALASSERT(playerStatusPtr);
287 weaponPtr = &(playerStatusPtr->WeaponSlot[playerStatusPtr->SelectedWeaponSlot]);
288 twPtr = &TemplateWeapon[weaponPtr->WeaponIDNumber];
289
290 sprintf(ccv_tempstring,"RECOILMAXRANDOMZ = %d\n",twPtr->RecoilMaxRandomZ);
291
292 NewOnScreenMessage((unsigned char *)&ccv_tempstring[0]);
293 }
294
SetRecoilMaxXTilt(int value)295 void SetRecoilMaxXTilt(int value) {
296
297 PLAYER_WEAPON_DATA *weaponPtr;
298 TEMPLATE_WEAPON_DATA *twPtr;
299 PLAYER_STATUS *playerStatusPtr= (PLAYER_STATUS *) (Player->ObStrategyBlock->SBdataptr);
300 GLOBALASSERT(playerStatusPtr);
301 weaponPtr = &(playerStatusPtr->WeaponSlot[playerStatusPtr->SelectedWeaponSlot]);
302 twPtr = &TemplateWeapon[weaponPtr->WeaponIDNumber];
303
304 twPtr->RecoilMaxXTilt=value;
305
306 sprintf(ccv_tempstring,"RECOILMAXXTILT = %d\n",twPtr->RecoilMaxXTilt);
307
308 NewOnScreenMessage((unsigned char *)&ccv_tempstring[0]);
309 }
310
SetRecoilMaxYTilt(int value)311 void SetRecoilMaxYTilt(int value) {
312
313 PLAYER_WEAPON_DATA *weaponPtr;
314 TEMPLATE_WEAPON_DATA *twPtr;
315 PLAYER_STATUS *playerStatusPtr= (PLAYER_STATUS *) (Player->ObStrategyBlock->SBdataptr);
316 GLOBALASSERT(playerStatusPtr);
317 weaponPtr = &(playerStatusPtr->WeaponSlot[playerStatusPtr->SelectedWeaponSlot]);
318 twPtr = &TemplateWeapon[weaponPtr->WeaponIDNumber];
319
320 twPtr->RecoilMaxYTilt=value;
321
322 sprintf(ccv_tempstring,"RECOILMAXYTILT = %d\n",twPtr->RecoilMaxYTilt);
323
324 NewOnScreenMessage((unsigned char *)&ccv_tempstring[0]);
325 }
326
SetRecoilMaxZ(int value)327 void SetRecoilMaxZ(int value) {
328
329 PLAYER_WEAPON_DATA *weaponPtr;
330 TEMPLATE_WEAPON_DATA *twPtr;
331 PLAYER_STATUS *playerStatusPtr= (PLAYER_STATUS *) (Player->ObStrategyBlock->SBdataptr);
332 GLOBALASSERT(playerStatusPtr);
333 weaponPtr = &(playerStatusPtr->WeaponSlot[playerStatusPtr->SelectedWeaponSlot]);
334 twPtr = &TemplateWeapon[weaponPtr->WeaponIDNumber];
335
336 twPtr->RecoilMaxZ=value;
337
338 sprintf(ccv_tempstring,"RECOILMAXZ = %d\n",twPtr->RecoilMaxZ);
339
340 NewOnScreenMessage((unsigned char *)&ccv_tempstring[0]);
341 }
342
SetRecoilMaxRandomZ(int value)343 void SetRecoilMaxRandomZ(int value) {
344
345 PLAYER_WEAPON_DATA *weaponPtr;
346 TEMPLATE_WEAPON_DATA *twPtr;
347 PLAYER_STATUS *playerStatusPtr= (PLAYER_STATUS *) (Player->ObStrategyBlock->SBdataptr);
348 GLOBALASSERT(playerStatusPtr);
349 weaponPtr = &(playerStatusPtr->WeaponSlot[playerStatusPtr->SelectedWeaponSlot]);
350 twPtr = &TemplateWeapon[weaponPtr->WeaponIDNumber];
351
352 twPtr->RecoilMaxRandomZ=value;
353
354 sprintf(ccv_tempstring,"RECOILMAXRANDOMZ = %d\n",twPtr->RecoilMaxRandomZ);
355
356 NewOnScreenMessage((unsigned char *)&ccv_tempstring[0]);
357 }
358
SetPredPistolRecoilTime(int value)359 void SetPredPistolRecoilTime(int value) {
360
361 TEMPLATE_WEAPON_DATA *twPtr;
362 int timeOutRate;
363
364 twPtr = &TemplateWeapon[WEAPON_PRED_PISTOL];
365
366 if (value==0) {
367 int time;
368
369 GLOBALASSERT(twPtr->TimeOutRateForState[WEAPONSTATE_RECOIL_PRIMARY]);
370 time=DIV_FIXED(ONE_FIXED,twPtr->TimeOutRateForState[WEAPONSTATE_RECOIL_PRIMARY]);
371 sprintf(ccv_tempstring,"PREDPISTOL_RECOILTIME = %d\n",time);
372
373 NewOnScreenMessage((unsigned char *)&ccv_tempstring[0]);
374 return;
375 }
376
377 timeOutRate=DIV_FIXED(ONE_FIXED,value);
378
379 twPtr->TimeOutRateForState[WEAPONSTATE_RECOIL_PRIMARY]=timeOutRate;
380
381 }
382
SetPredPistolMaxDamage(int value)383 void SetPredPistolMaxDamage(int value) {
384
385 if (value<0) {
386 sprintf(ccv_tempstring,"PREDPISTOL_BLASTDAMAGE = %d\n",TemplateAmmo[AMMO_PRED_PISTOL].MaxDamage[AvP.Difficulty].Electrical);
387
388 NewOnScreenMessage((unsigned char *)&ccv_tempstring[0]);
389 return;
390 }
391
392 if (value>1000) return;
393
394 TemplateAmmo[AMMO_PRED_PISTOL].MaxDamage[AvP.Difficulty].Electrical=value;
395
396 }
397
SetPredPistolBlastRange(int value)398 void SetPredPistolBlastRange(int value) {
399
400 if (value<0) {
401 sprintf(ccv_tempstring,"PREDPISTOL_BLASTRANGE = %d\n",TemplateAmmo[AMMO_PRED_PISTOL].MaxRange);
402
403 NewOnScreenMessage((unsigned char *)&ccv_tempstring[0]);
404 return;
405 }
406
407 if (value>65536) return;
408
409 TemplateAmmo[AMMO_PRED_PISTOL].MaxRange=value;
410
411 }
412
SetPredPistolStrikeDamage(int value)413 void SetPredPistolStrikeDamage(int value) {
414
415 if (value<0) {
416 sprintf(ccv_tempstring,"PREDPISTOL_STRIKEDAMAGE = %d\n",TemplateAmmo[AMMO_PREDPISTOL_STRIKE].MaxDamage[AvP.Difficulty].Electrical);
417
418 NewOnScreenMessage((unsigned char *)&ccv_tempstring[0]);
419 return;
420 }
421
422 if (value>1000) return;
423
424 TemplateAmmo[AMMO_PREDPISTOL_STRIKE].MaxDamage[AvP.Difficulty].Electrical=value;
425
426 }
427
PredPistol_FullAuto(void)428 void PredPistol_FullAuto(void) {
429
430 TEMPLATE_WEAPON_DATA *twPtr;
431
432 twPtr = &TemplateWeapon[WEAPON_PRED_PISTOL];
433
434 twPtr->PrimaryIsAutomatic=1;
435
436 }
437
PredPistol_SemiAuto(void)438 void PredPistol_SemiAuto(void) {
439
440 TEMPLATE_WEAPON_DATA *twPtr;
441
442 twPtr = &TemplateWeapon[WEAPON_PRED_PISTOL];
443
444 twPtr->PrimaryIsAutomatic=0;
445
446 }
447
SetPlayerStartingHealth(int value)448 void SetPlayerStartingHealth(int value) {
449
450 NPC_DATA *NpcData = NULL;
451 PLAYER_STATUS *playerStatusPtr= (PLAYER_STATUS *) (Player->ObStrategyBlock->SBdataptr);
452
453 switch (AvP.PlayerType)
454 {
455 case I_Marine:
456 switch (AvP.Difficulty) {
457 case I_Easy:
458 NpcData=GetThisNpcData(I_PC_Marine_Easy);
459 break;
460 default:
461 case I_Medium:
462 NpcData=GetThisNpcData(I_PC_Marine_Medium);
463 break;
464 case I_Hard:
465 NpcData=GetThisNpcData(I_PC_Marine_Hard);
466 break;
467 case I_Impossible:
468 NpcData=GetThisNpcData(I_PC_Marine_Impossible);
469 break;
470 }
471 break;
472 case I_Alien:
473 switch (AvP.Difficulty) {
474 case I_Easy:
475 NpcData=GetThisNpcData(I_PC_Alien_Easy);
476 break;
477 default:
478 case I_Medium:
479 NpcData=GetThisNpcData(I_PC_Alien_Medium);
480 break;
481 case I_Hard:
482 NpcData=GetThisNpcData(I_PC_Alien_Hard);
483 break;
484 case I_Impossible:
485 NpcData=GetThisNpcData(I_PC_Alien_Impossible);
486 break;
487 }
488 break;
489 default:
490 LOCALASSERT(0);
491 }
492 GLOBALASSERT(NpcData);
493
494 if (value<=0) {
495 sprintf(ccv_tempstring,"PLAYER STARTING HEALTH = %d\n",NpcData->StartingStats.Health);
496
497 NewOnScreenMessage((unsigned char *)&ccv_tempstring[0]);
498 return;
499 }
500
501 if (value>1000) return;
502
503 NpcData->StartingStats.Health=value;
504
505 Player->ObStrategyBlock->SBDamageBlock.Health=NpcData->StartingStats.Health<<ONE_FIXED_SHIFT;
506 playerStatusPtr->Health=Player->ObStrategyBlock->SBDamageBlock.Health;
507
508 }
509
SetPlayerStartingArmour(int value)510 void SetPlayerStartingArmour(int value) {
511
512 NPC_DATA *NpcData = NULL;
513 PLAYER_STATUS *playerStatusPtr= (PLAYER_STATUS *) (Player->ObStrategyBlock->SBdataptr);
514
515 switch (AvP.PlayerType)
516 {
517 case I_Marine:
518 switch (AvP.Difficulty) {
519 case I_Easy:
520 NpcData=GetThisNpcData(I_PC_Marine_Easy);
521 break;
522 default:
523 case I_Medium:
524 NpcData=GetThisNpcData(I_PC_Marine_Medium);
525 break;
526 case I_Hard:
527 NpcData=GetThisNpcData(I_PC_Marine_Hard);
528 break;
529 case I_Impossible:
530 NpcData=GetThisNpcData(I_PC_Marine_Impossible);
531 break;
532 }
533 break;
534 case I_Alien:
535 switch (AvP.Difficulty) {
536 case I_Easy:
537 NpcData=GetThisNpcData(I_PC_Alien_Easy);
538 break;
539 default:
540 case I_Medium:
541 NpcData=GetThisNpcData(I_PC_Alien_Medium);
542 break;
543 case I_Hard:
544 NpcData=GetThisNpcData(I_PC_Alien_Hard);
545 break;
546 case I_Impossible:
547 NpcData=GetThisNpcData(I_PC_Alien_Impossible);
548 break;
549 }
550 break;
551 default:
552 LOCALASSERT(0);
553 }
554 GLOBALASSERT(NpcData);
555
556 if (value<=0) {
557 sprintf(ccv_tempstring,"PLAYER STARTING ARMOUR = %d\n",NpcData->StartingStats.Armour);
558
559 NewOnScreenMessage((unsigned char *)&ccv_tempstring[0]);
560 return;
561 }
562
563 if (value>1000) return;
564
565 NpcData->StartingStats.Armour=value;
566
567 Player->ObStrategyBlock->SBDamageBlock.Armour=NpcData->StartingStats.Armour<<ONE_FIXED_SHIFT;
568 playerStatusPtr->Armour=Player->ObStrategyBlock->SBDamageBlock.Armour;
569
570 }
571
ResetPersonalBests(void)572 void ResetPersonalBests(void) {
573
574 {
575 int a,b;
576
577 for (a=0; a<I_MaxDifficulties; a++) {
578 for (b=0; b<AVP_ENVIRONMENT_END_OF_LIST; b++) {
579 UserProfilePtr->PersonalBests[a][b]=DefaultLevelGameStats;
580 }
581 }
582 }
583
584 }
585
CreateMoreGameSpecificConsoleVariables(void)586 void CreateMoreGameSpecificConsoleVariables(void)
587 {
588 #if CONSOLE_DEBUGGING_COMMANDS_ACTIVATED
589 /* Calibrate Tail Hack */
590
591 ConsoleVariable :: MakeSimpleConsoleVariable_Int
592 (
593 tail_xcal, // int& Value_ToUse,
594 "TAIL-XCAL", // ProjChar* pProjCh_ToUse,
595 "CLASSIFIED", // ProjChar* pProjCh_Description_ToUse
596 0, // int MinVal_New,
597 1000 // int MaxVal_New
598 );
599 ConsoleVariable :: MakeSimpleConsoleVariable_Int
600 (
601 tail_ycal, // int& Value_ToUse,
602 "TAIL-YCAL", // ProjChar* pProjCh_ToUse,
603 "CLASSIFIED", // ProjChar* pProjCh_Description_ToUse
604 0, // int MinVal_New,
605 1000 // int MaxVal_New
606 );
607
608 #if 0
609 ConsoleVariable :: MakeSimpleConsoleVariable_Int
610 (
611 RATweak, // int& Value_ToUse,
612 "RATWEAK", // ProjChar* pProjCh_ToUse,
613 "CLASSIFIED", // ProjChar* pProjCh_Description_ToUse
614 -512, // int MinVal_New,
615 512 // int MaxVal_New
616 );
617 #endif
618
619 ConsoleVariable :: MakeSimpleConsoleVariable_Int
620 (
621 GlobalGoreRate, // int& Value_ToUse,
622 "GLOBALGORERATE", // ProjChar* pProjCh_ToUse,
623 "(TAKES VALUES 0 -> 65536, LESS IS MORE: 0 = DISABLED)", // ProjChar* pProjCh_Description_ToUse
624 0, // int MinVal_New,
625 65536 // int MaxVal_New
626 );
627
628 ConsoleVariable :: MakeSimpleConsoleVariable_Int
629 (
630 Marine_Skill, // int& Value_ToUse,
631 "MARINE-SKILL", // ProjChar* pProjCh_ToUse,
632 "(NPC SKILL, 65536 WILL RARELY MISS)", // ProjChar* pProjCh_Description_ToUse
633 0, // int MinVal_New,
634 131072 // int MaxVal_New
635 );
636
637 ConsoleVariable :: MakeSimpleConsoleVariable_Int
638 (
639 Marine_Terminal_Velocity, // int& Value_ToUse,
640 "MARINE-TERMINAL-VELOCITY", // ProjChar* pProjCh_ToUse,
641 "(SPEED WHICH KILLS A FALLING MARINE)", // ProjChar* pProjCh_Description_ToUse
642 0, // int MinVal_New,
643 131072 // int MaxVal_New
644 );
645
646 /* Cloaking */
647
648 ConsoleVariable :: MakeSimpleConsoleVariable_Int
649 (
650 TrickleCharge, // int& Value_ToUse,
651 "TRICKLECHARGE", // ProjChar* pProjCh_ToUse,
652 "(PRED TRICKLE CHARGE RATE)", // ProjChar* pProjCh_Description_ToUse
653 -131072, // int MinVal_New,
654 131072 // int MaxVal_New
655 );
656
657 ConsoleVariable :: MakeSimpleConsoleVariable_Int
658 (
659 CloakDrain, // int& Value_ToUse,
660 "CLOAKDRAIN", // ProjChar* pProjCh_ToUse,
661 "(PRED CLOAK DRAIN RATE)", // ProjChar* pProjCh_Description_ToUse
662 -131072, // int MinVal_New,
663 131072 // int MaxVal_New
664 );
665
666 ConsoleVariable :: MakeSimpleConsoleVariable_Int
667 (
668 CloakThreshold, // int& Value_ToUse,
669 "CLOAKTHRESHOLD", // ProjChar* pProjCh_ToUse,
670 "(CANNOT CLOAK WITHOUT THIS MUCH ENERGY)", // ProjChar* pProjCh_Description_ToUse
671 0, // int MinVal_New,
672 PLAYERCLOAK_MAXENERGY // int MaxVal_New
673 );
674
675 ConsoleVariable :: MakeSimpleConsoleVariable_Int
676 (
677 CloakPowerOnDrain, // int& Value_ToUse,
678 "CLOAKPOWERONDRAIN", // ProjChar* pProjCh_ToUse,
679 "(CLOAKING USES THIS MUCH POWER)", // ProjChar* pProjCh_Description_ToUse
680 0, // int MinVal_New,
681 PLAYERCLOAK_MAXENERGY // int MaxVal_New
682 );
683
684 /* Pred Pistol */
685
686 ConsoleVariable :: MakeSimpleConsoleVariable_Int
687 (
688 PredPistol_ShotCost, // int& Value_ToUse,
689 "PREDPISTOL_SHOTCOST", // ProjChar* pProjCh_ToUse,
690 "(ONE SHOT USES THIS MUCH POWER)", // ProjChar* pProjCh_Description_ToUse
691 0, // int MinVal_New,
692 PLAYERCLOAK_MAXENERGY // int MaxVal_New
693 );
694
695 ConsoleVariable :: MakeSimpleConsoleVariable_Int
696 (
697 PredPistolBoltSpeed, // int& Value_ToUse,
698 "PREDPISTOL_BOLTSPEED", // ProjChar* pProjCh_ToUse,
699 "(SPEED OF BOLT)", // ProjChar* pProjCh_Description_ToUse
700 0, // int MinVal_New,
701 262144 // int MaxVal_New
702 );
703
704 ConsoleVariable :: MakeSimpleConsoleVariable_Int
705 (
706 PredPistolBoltGravity, // int& Value_ToUse,
707 "PREDPISTOL_BOLTGRAVITY", // ProjChar* pProjCh_ToUse,
708 "(GGRAVITY APPLIED TO BOLT)", // ProjChar* pProjCh_Description_ToUse
709 -131072, // int MinVal_New,
710 131072 // int MaxVal_New
711 );
712
713 ConsoleCommand :: Make
714 (
715 "RESET_PERSONAL_BESTS",
716 "RESETS PERSONAL BESTS STRUCTURES",
717 ResetPersonalBests
718 );
719
720 ConsoleCommand :: Make
721 (
722 "PREDPISTOL_BLASTRANGE",
723 "ALTERS PRED PISTOL EXPLOSIVE RANGE",
724 SetPredPistolBlastRange
725 );
726
727 ConsoleCommand :: Make
728 (
729 "PREDPISTOL_BLASTDAMAGE",
730 "ALTERS PRED PISTOL EXPLOSIVE DAMAGE",
731 SetPredPistolMaxDamage
732 );
733
734 ConsoleCommand :: Make
735 (
736 "PREDPISTOL_STRIKEDAMAGE",
737 "ALTERS PRED PISTOL DIRECT DAMAGE",
738 SetPredPistolStrikeDamage
739 );
740
741 ConsoleCommand :: Make
742 (
743 "PREDPISTOL_RECOILTIME",
744 "ALTERS PRED PISTOL RECOIL TIME",
745 SetPredPistolRecoilTime
746 );
747
748 ConsoleCommand :: Make
749 (
750 "PREDPISTOL_FULLAUTO",
751 "MAKES PRED PISTOL FULLY AUTOMATIC",
752 PredPistol_FullAuto
753 );
754
755 ConsoleCommand :: Make
756 (
757 "PREDPISTOL_SEMIAUTO",
758 "MAKES PRED PISTOL SEMI AUTOMATIC",
759 PredPistol_SemiAuto
760 );
761
762 /* Plasmacaster */
763
764 ConsoleVariable :: MakeSimpleConsoleVariable_Int
765 (
766 Caster_Jumpstart, // int& Value_ToUse,
767 "CASTER_JUMPSTART", // ProjChar* pProjCh_ToUse,
768 "(INSTANT CHARGE WHEN FIRED)", // ProjChar* pProjCh_Description_ToUse
769 0, // int MinVal_New,
770 65536 // int MaxVal_New
771 );
772
773 ConsoleVariable :: MakeSimpleConsoleVariable_Int
774 (
775 Caster_Chargetime, // int& Value_ToUse,
776 "CASTER_CHARGETIME", // ProjChar* pProjCh_ToUse,
777 "(TIME TO CHARGE UP WITH FIRE)", // ProjChar* pProjCh_Description_ToUse
778 0, // int MinVal_New,
779 (65536*60) // int MaxVal_New
780 );
781
782 ConsoleVariable :: MakeSimpleConsoleVariable_Int
783 (
784 Caster_TrickleRate, // int& Value_ToUse,
785 "CASTER_TRICKLERATE", // ProjChar* pProjCh_ToUse,
786 "(ONE FIXED PER SECOND)", // ProjChar* pProjCh_Description_ToUse
787 0, // int MinVal_New,
788 65536 // int MaxVal_New
789 );
790
791 ConsoleVariable :: MakeSimpleConsoleVariable_Int
792 (
793 Caster_TrickleLevel, // int& Value_ToUse,
794 "CASTER_TRICKLELEVEL", // ProjChar* pProjCh_ToUse,
795 "(TRICKLES TO THIS LEVEL)", // ProjChar* pProjCh_Description_ToUse
796 0, // int MinVal_New,
797 65536 // int MaxVal_New
798 );
799
800 ConsoleVariable :: MakeSimpleConsoleVariable_Int
801 (
802 Caster_ChargeRatio, // int& Value_ToUse,
803 "CASTER_CHARGERATIO", // ProjChar* pProjCh_ToUse,
804 "(FIELD CHARGE FOR A FULL SHOT)", // ProjChar* pProjCh_Description_ToUse
805 0, // int MinVal_New,
806 (65536*30) // int MaxVal_New
807 );
808
809 ConsoleVariable :: MakeSimpleConsoleVariable_Int
810 (
811 Caster_NPCKill, // int& Value_ToUse,
812 "CASTER_NPCKILL", // ProjChar* pProjCh_ToUse,
813 "(CASTER CHARGE TO KILL AN NPC)", // ProjChar* pProjCh_Description_ToUse
814 0, // int MinVal_New,
815 65536 // int MaxVal_New
816 );
817
818 ConsoleVariable :: MakeSimpleConsoleVariable_Int
819 (
820 Caster_PCKill, // int& Value_ToUse,
821 "CASTER_PCKILL", // ProjChar* pProjCh_ToUse,
822 "(CASTER CHARGE TO KILL A PC)", // ProjChar* pProjCh_Description_ToUse
823 0, // int MinVal_New,
824 65536 // int MaxVal_New
825 );
826
827 ConsoleVariable :: MakeSimpleConsoleVariable_Int
828 (
829 Caster_BlastRadius, // int& Value_ToUse,
830 "CASTER_BLASTRADIUS", // ProjChar* pProjCh_ToUse,
831 "(BLAST RADIUS OF A FULL BOLT)", // ProjChar* pProjCh_Description_ToUse
832 0, // int MinVal_New,
833 65536 // int MaxVal_New
834 );
835
836 ConsoleVariable :: MakeSimpleConsoleVariable_Int
837 (
838 Caster_MinCharge, // int& Value_ToUse,
839 "CASTER_MINCHARGE", // ProjChar* pProjCh_ToUse,
840 "(MINIMUM CASTER CHARGE TO FIRE)", // ProjChar* pProjCh_Description_ToUse
841 0, // int MinVal_New,
842 65536 // int MaxVal_New
843 );
844
845 /* Disc */
846
847 ConsoleVariable :: MakeSimpleConsoleVariable_Int
848 (
849 RecallDisc_Charge, // int& Value_ToUse,
850 "RECALL_DISC_CHARGE", // ProjChar* pProjCh_ToUse,
851 "(COST TO RECALL A DISC)", // ProjChar* pProjCh_Description_ToUse
852 0, // int MinVal_New,
853 PLAYERCLOAK_MAXENERGY // int MaxVal_New
854 );
855
856 ConsoleCommand :: Make
857 (
858 "RECALL_DISC",
859 "RECALLS A STUCK DISC",
860 Recall_Disc
861 );
862
863 /* Player Stats */
864
865 ConsoleCommand :: Make
866 (
867 "PLAYER_STARTING_HEALTH",
868 "CHANGES CURRENT PLAYER STARTING HEALTH",
869 SetPlayerStartingHealth
870 );
871
872 ConsoleCommand :: Make
873 (
874 "PLAYER_STARTING_ARMOUR",
875 "CHANGES CURRENT PLAYER STARTING ARMOUR",
876 SetPlayerStartingArmour
877 );
878
879 /* Debugging */
880 #if 1
881 ConsoleCommand :: Make
882 (
883 "TOGGLE_SHAPERENDER",
884 "SWITCHES ALL HIERARCHY SECTIONS FOR SHELLS",
885 ToggleShapeRender
886 );
887 #endif
888 /* TEMPORARY */
889 ConsoleCommand :: Make
890 (
891 "STRIKETIME",
892 "ALTERS WRISTBLADE STRIKE TIME",
893 StrikeTime
894 );
895
896 ConsoleCommand :: Make
897 (
898 "ALIEN-STRIKETIME",
899 "ALTERS ALIEN CLAW STRIKE TIME",
900 AlienStrikeTime
901 );
902
903 ConsoleCommand :: Make
904 (
905 "SHOWPREDOSTATS",
906 "TOGGLES PREDATOR ENERGY PRINT",
907 Show_PredOStats
908 );
909
910 ConsoleCommand :: Make
911 (
912 "SHOWXENOSTATS",
913 "TOGGLES XENOBORG BEHAVIOUR PRINT",
914 Show_XenoStats
915 );
916
917
918 ConsoleCommand :: Make
919 (
920 "SHOWSQUADSTATE",
921 "TOGGLES MARINE SQUAD STATUS PRINT",
922 Show_SquadState
923 );
924
925 ConsoleCommand :: Make
926 (
927 "SHOWNEARSQUAD",
928 "TOGGLES NEAR MARINE STATUS PRINT",
929 Show_NearSquad
930 );
931
932 ConsoleCommand :: Make
933 (
934 "SHOWHIVESTATE",
935 "TOGGLES HIVE STATUS PRINT",
936 Show_HiveState
937 );
938 #if 0
939 ConsoleCommand :: Make
940 (
941 "TOGGLEAMBIENCE",
942 "TOGGLES THE AMBIENT LIGHT",
943 Toggle_Ambience
944 );
945 #endif
946 ConsoleCommand :: Make
947 (
948 "SHOWSLACK",
949 "TOGGLES SLACK STATUS PRINT",
950 Show_Slack
951 );
952
953 ConsoleCommand :: Make
954 (
955 "SHOWADJACENCIES",
956 "TOGGLES ADJACENCY STATUS PRINT",
957 Show_Adj
958 );
959
960 ConsoleCommand :: Make
961 (
962 "ZAPSLACK",
963 "ZEROES SLACK COUNTERS",
964 ZapSlack
965 );
966
967 ConsoleCommand :: Make
968 (
969 "ZONEALERT",
970 "TRIGGERS A MARINE ALERT",
971 Console_ZoneAlert
972 );
973 /* TEMPORARY */
974
975 ConsoleCommand :: Make
976 (
977 "TAUNT",
978 "STARTS TAUNT SEQUENCE",
979 StartPlayerTaunt
980 );
981
982 ConsoleCommand :: Make
983 (
984 "ACTIVATE-HIVE",
985 "ACTIVATES ALIEN/NPC HIVE",
986 ActivateHive
987 );
988
989 ConsoleCommand :: Make
990 (
991 "DEACTIVATE-HIVE",
992 "DEACTIVATES ALIEN/NPC HIVE",
993 DeActivateHive
994 );
995
996 ConsoleCommand :: Make
997 (
998 "FORCEGEN",
999 "FORCES GENERATION OF AN NPC - SOMEWHERE",
1000 ForceAGenerator_Shell
1001 );
1002
1003 ConsoleCommand :: Make
1004 (
1005 "DUMMY",
1006 "CREATES PLAYER DUMMY.",
1007 CastDummy
1008 );
1009
1010 #if 0
1011 ConsoleCommand :: Make
1012 (
1013 "SENTRYGUN",
1014 "DROPS A SENTRY GUN",
1015 CastSentrygun
1016 );
1017 #endif
1018 ConsoleCommand :: Make
1019 (
1020 "ACTIVATE_GENERATORS",
1021 "ACTIVATES ALL GENERATORS.",
1022 ActivateAllGenerators
1023 );
1024
1025 ConsoleCommand :: Make
1026 (
1027 "NUKEINANIMATES",
1028 "DESTROYS ALL INANIMATE OBJECTS.",
1029 KillAllInanimates
1030 );
1031
1032 ConsoleCommand :: Make
1033 (
1034 "NUKEMARINES",
1035 "KILLS ALL MARINES.",
1036 KillAllMarines
1037 );
1038
1039 ConsoleCommand :: Make
1040 (
1041 "NUKEALIENS",
1042 "KILLS ALL ALIENS.",
1043 KillAllAliens
1044 );
1045
1046 ConsoleCommand :: Make
1047 (
1048 "NUKEPREDS",
1049 "KILLS ALL PREDATORS.",
1050 KillAllPreds
1051 );
1052
1053 ConsoleCommand :: Make
1054 (
1055 "NUKEDUMMIES",
1056 "KILLS ALL PLAYER DUMMIES.",
1057 KillAllDummies
1058 );
1059
1060 ConsoleCommand :: Make
1061 (
1062 "OBSERVER",
1063 "TOGGLES OBSERVER MODE.",
1064 Toggle_Observer
1065 );
1066
1067 ConsoleCommand :: Make
1068 (
1069 "SHOWRECOILMAXXTILT",
1070 "SHOWS THAT VALUE.",
1071 ShowRecoilMaxXTilt
1072 );
1073
1074 ConsoleCommand :: Make
1075 (
1076 "SHOWRECOILMAXYTILT",
1077 "SHOWS THAT VALUE.",
1078 ShowRecoilMaxYTilt
1079 );
1080
1081 ConsoleCommand :: Make
1082 (
1083 "SHOWRECOILMAXZ",
1084 "SHOWS THAT VALUE.",
1085 ShowRecoilMaxZ
1086 );
1087
1088 ConsoleCommand :: Make
1089 (
1090 "SHOWRECOILMAXRANDOMZ",
1091 "SHOWS THAT VALUE.",
1092 ShowRecoilMaxRandomZ
1093 );
1094
1095 ConsoleCommand :: Make
1096 (
1097 "SETRECOILMAXXTILT",
1098 "SETS THAT VALUE.",
1099 SetRecoilMaxXTilt
1100 );
1101
1102 ConsoleCommand :: Make
1103 (
1104 "SETRECOILMAXYTILT",
1105 "SETS THAT VALUE.",
1106 SetRecoilMaxYTilt
1107 );
1108
1109 ConsoleCommand :: Make
1110 (
1111 "SETRECOILMAXZ",
1112 "SETS THAT VALUE.",
1113 SetRecoilMaxZ
1114 );
1115
1116 ConsoleCommand :: Make
1117 (
1118 "SETRECOILMAXRANDOMZ",
1119 "SETS THAT VALUE.",
1120 SetRecoilMaxRandomZ
1121 );
1122
1123 #if 0
1124 ConsoleVariable :: MakeSimpleConsoleVariable_Int
1125 (
1126 mx,
1127 "MX",
1128 "MOLOTOV X IMPULSE",
1129 -ONE_FIXED,
1130 ONE_FIXED
1131 );
1132
1133 ConsoleVariable :: MakeSimpleConsoleVariable_Int
1134 (
1135 my,
1136 "MY",
1137 "MOLOTOV Y IMPULSE",
1138 -ONE_FIXED,
1139 ONE_FIXED
1140 );
1141
1142 ConsoleVariable :: MakeSimpleConsoleVariable_Int
1143 (
1144 mz,
1145 "MZ",
1146 "MOLOTOV Z IMPULSE",
1147 -ONE_FIXED,
1148 ONE_FIXED
1149 );
1150 #endif
1151
1152 #if 0
1153 /* Queen commands */
1154
1155 ConsoleVariable :: MakeSimpleConsoleVariable_Int
1156 (
1157 Queen_Step_Time,
1158 "QSTEP-TIME",
1159 "QUEEN STEP FORWARD TIME",
1160 0,
1161 (ONE_FIXED<<8)
1162 );
1163
1164 ConsoleVariable :: MakeSimpleConsoleVariable_Int
1165 (
1166 Queen_Charge_Rate,
1167 "QCHARGE_RATE",
1168 "QUEEN CHARGE PACE",
1169 0,
1170 (ONE_FIXED<<8)
1171 );
1172
1173 ConsoleVariable :: MakeSimpleConsoleVariable_Int
1174 (
1175 Queen_Step_Speed,
1176 "QSTEP-SPEED",
1177 "QUEEN STEP FORWARD SPEED",
1178 0,
1179 (ONE_FIXED)
1180 );
1181
1182 ConsoleVariable :: MakeSimpleConsoleVariable_Int
1183 (
1184 Queen_Step_Mode,
1185 "QSTEP-MODE",
1186 "QUEEN STEP FORWARD MODE",
1187 0,
1188 1
1189 );
1190
1191 ConsoleVariable :: MakeSimpleConsoleVariable_Int
1192 (
1193 Queen_Turn_Rate,
1194 "QTURN-RATE",
1195 "QUEEN TURN RATE",
1196 0,
1197 65536
1198 );
1199
1200 ConsoleCommand :: Make
1201 (
1202 "QCOMM-STOP",
1203 "STOPS SLAVE QUEEN.",
1204 QComm_Stop
1205 );
1206
1207 ConsoleCommand :: Make
1208 (
1209 "QCOMM-SF",
1210 "ORDERS SLAVE QUEEN ONE STEP FORWARD.",
1211 QComm_StepForward
1212 );
1213
1214 ConsoleCommand :: Make
1215 (
1216 "QCOMM-SB",
1217 "ORDERS SLAVE QUEEN ONE STEP Back.",
1218 QComm_StepBack
1219 );
1220
1221 ConsoleCommand :: Make
1222 (
1223 "QCOMM-TL",
1224 "ORDERS SLAVE QUEEN TO TURN LEFT.",
1225 QComm_TurnLeft
1226 );
1227
1228 ConsoleCommand :: Make
1229 (
1230 "QCOMM-TR",
1231 "ORDERS SLAVE QUEEN TO TURN RIGHT.",
1232 QComm_TurnRight
1233 );
1234
1235 ConsoleCommand :: Make
1236 (
1237 "QCOMM-HEEL",
1238 "ORDERS SLAVE QUEEN TO COME TO PLAYER.",
1239 QComm_Heel
1240 );
1241
1242 ConsoleCommand :: Make
1243 (
1244 "QCOMM-TAUNT",
1245 "ORDERS SLAVE QUEEN TO TAUNT.",
1246 QComm_Taunt
1247 );
1248
1249 ConsoleCommand :: Make
1250 (
1251 "QCOMM-HISS",
1252 "ORDERS SLAVE QUEEN TO HISS.",
1253 QComm_Hiss
1254 );
1255
1256 ConsoleCommand :: Make
1257 (
1258 "QCOMM-LS",
1259 "ORDERS SLAVE QUEEN TO SWIPE (LEFT).",
1260 QComm_LeftSwipe
1261 );
1262
1263 ConsoleCommand :: Make
1264 (
1265 "QCOMM-RS",
1266 "ORDERS SLAVE QUEEN TO SWIPE (Right).",
1267 QComm_RightSwipe
1268 );
1269
1270 ConsoleCommand :: Make
1271 (
1272 "QCOMM-ROUTE",
1273 "ORDERS SLAVE QUEEN TO FOLLOW THE PROGRAMMED ROUTE.",
1274 QComm_Route
1275 );
1276
1277 ConsoleCommand :: Make
1278 (
1279 "QCOMM-CHARGE",
1280 "ORDERS SLAVE QUEEN TO CHARGE.",
1281 QComm_Charge
1282 );
1283 #endif
1284
1285 #endif
1286 }
1287
1288 }; // extern "C"
1289
1290