33 |
33 |
34 uses uRandom, uUtils, uConsts, uVariables, uAmmos, uTeams, uStats, |
34 uses uRandom, uUtils, uConsts, uVariables, uAmmos, uTeams, uStats, |
35 uTextures, uScript, uRenderUtils, uAI, uCollisions, |
35 uTextures, uScript, uRenderUtils, uAI, uCollisions, |
36 uGearsRender, uGearsUtils, uDebug; |
36 uGearsRender, uGearsUtils, uDebug; |
37 |
37 |
|
38 const |
|
39 GearKindAmmoTypeMap : array [TGearType] of TAmmoType = ( |
|
40 (* gtFlame *) amNothing |
|
41 (* gtHedgehog *) , amNothing |
|
42 (* gtMine *) , amMine |
|
43 (* gtCase *) , amNothing |
|
44 (* gtExplosives *) , amNothing |
|
45 (* gtGrenade *) , amGrenade |
|
46 (* gtShell *) , amBazooka |
|
47 (* gtGrave *) , amNothing |
|
48 (* gtBee *) , amBee |
|
49 (* gtShotgunShot *) , amShotgun |
|
50 (* gtPickHammer *) , amPickHammer |
|
51 (* gtRope *) , amRope |
|
52 (* gtDEagleShot *) , amDEagle |
|
53 (* gtDynamite *) , amDynamite |
|
54 (* gtClusterBomb *) , amClusterBomb |
|
55 (* gtCluster *) , amClusterBomb |
|
56 (* gtShover *) , amBaseballBat // Shover is only used for baseball bat right now |
|
57 (* gtFirePunch *) , amFirePunch |
|
58 (* gtATStartGame *) , amNothing |
|
59 (* gtATFinishGame *) , amNothing |
|
60 (* gtParachute *) , amParachute |
|
61 (* gtAirAttack *) , amAirAttack |
|
62 (* gtAirBomb *) , amAirAttack |
|
63 (* gtBlowTorch *) , amBlowTorch |
|
64 (* gtGirder *) , amGirder |
|
65 (* gtTeleport *) , amTeleport |
|
66 (* gtSwitcher *) , amSwitch |
|
67 (* gtTarget *) , amNothing |
|
68 (* gtMortar *) , amMortar |
|
69 (* gtWhip *) , amWhip |
|
70 (* gtKamikaze *) , amKamikaze |
|
71 (* gtCake *) , amCake |
|
72 (* gtSeduction *) , amSeduction |
|
73 (* gtWatermelon *) , amWatermelon |
|
74 (* gtMelonPiece *) , amWatermelon |
|
75 (* gtHellishBomb *) , amHellishBomb |
|
76 (* gtWaterUp *) , amNothing |
|
77 (* gtDrill *) , amDrill |
|
78 (* gtBallGun *) , amBallgun |
|
79 (* gtBall *) , amBallgun |
|
80 (* gtRCPlane *) , amRCPlane |
|
81 (*gtSniperRifleShot *) , amSniperRifle |
|
82 (* gtJetpack *) , amJetpack |
|
83 (* gtMolotov *) , amMolotov |
|
84 (* gtBirdy *) , amBirdy |
|
85 (* gtEgg *) , amBirdy |
|
86 (* gtPortal *) , amPortalGun |
|
87 (* gtPiano *) , amPiano |
|
88 (* gtGasBomb *) , amGasBomb |
|
89 (* gtSineGunShot *) , amSineGun |
|
90 (* gtFlamethrower *) , amFlamethrower |
|
91 (* gtSMine *) , amSMine |
|
92 (* gtPoisonCloud *) , amNothing |
|
93 (* gtHammer *) , amHammer |
|
94 (* gtHammerHit *) , amHammer |
|
95 (* gtResurrector *) , amResurrector |
|
96 (* gtPoisonCloud *) , amNothing |
|
97 (* gtSnowball *) , amSnowball |
|
98 (* gtFlake *) , amNothing |
|
99 (* gtStructure *) , amStructure // TODO - This will undoubtedly change once there is more than one structure |
|
100 (* gtLandGun *) , amLandGun |
|
101 (* gtTardis *) , amTardis |
|
102 (* gtIceGun *) , amIceGun |
|
103 (* gtAddAmmo *) , amNothing |
|
104 (* gtGenericFaller *) , amNothing |
|
105 (* gtKnife *) , amKnife |
|
106 ); |
|
107 |
|
108 |
38 var GCounter: LongWord = 0; // this does not get re-initialized, but should be harmless |
109 var GCounter: LongWord = 0; // this does not get re-initialized, but should be harmless |
|
110 |
|
111 const |
|
112 cUsualZ = 500; |
|
113 cOnHHZ = 2000; |
39 |
114 |
40 procedure InsertGearToList(Gear: PGear); |
115 procedure InsertGearToList(Gear: PGear); |
41 var tmp, ptmp: PGear; |
116 var tmp, ptmp: PGear; |
42 begin |
117 begin |
43 tmp:= GearsList; |
118 tmp:= GearsList; |