branch | experimental3D |
changeset 4004 | b1c2c2f6fc5e |
parent 3696 | 6009d8378422 |
parent 4000 | ddc4a09889e7 |
child 4343 | 19cbea33e4d2 |
3698:793386610068 | 4004:b1c2c2f6fc5e |
---|---|
31 |
31 |
32 type |
32 type |
33 HwColor4f = record |
33 HwColor4f = record |
34 r, g, b, a: byte |
34 r, g, b, a: byte |
35 end; |
35 end; |
36 |
36 |
37 TGameState = (gsLandGen, gsStart, gsGame, gsChat, gsConfirm, gsExit); |
37 TGameState = (gsLandGen, gsStart, gsGame, gsChat, gsConfirm, gsExit); |
38 |
38 |
39 TGameType = (gmtLocal, gmtDemo, gmtNet, gmtSave, gmtLandPreview, gmtSyntax); |
39 TGameType = (gmtLocal, gmtDemo, gmtNet, gmtSave, gmtLandPreview, gmtSyntax); |
40 |
40 |
41 TPathType = (ptNone, ptData, ptGraphics, ptThemes, ptCurrTheme, ptTeams, ptMaps, |
41 TPathType = (ptNone, ptData, ptGraphics, ptThemes, ptCurrTheme, ptTeams, ptMaps, |
42 ptMapCurrent, ptDemos, ptSounds, ptGraves, ptFonts, ptForts, |
42 ptMapCurrent, ptDemos, ptSounds, ptGraves, ptFonts, ptForts, |
43 ptLocale, ptAmmoMenu, ptHedgehog, ptVoices, ptHats, ptFlags); |
43 ptLocale, ptAmmoMenu, ptHedgehog, ptVoices, ptHats, ptFlags, ptMissionMaps); |
44 |
44 |
45 TSprite = (sprWater, sprCloud, sprBomb, sprBigDigit, sprFrame, |
45 TSprite = (sprWater, sprCloud, sprBomb, sprBigDigit, sprFrame, |
46 sprLag, sprArrow, sprGrenade, sprTargetP, sprBee, |
46 sprLag, sprArrow, sprGrenade, sprTargetP, sprBee, |
47 sprSmokeTrace, sprRopeHook, sprExplosion50, sprMineOff, |
47 sprSmokeTrace, sprRopeHook, sprExplosion50, sprMineOff, |
48 sprMineOn, sprMineDead, sprCase, sprFAid, sprDynamite, sprPower, |
48 sprMineOn, sprMineDead, sprCase, sprFAid, sprDynamite, sprPower, |
69 sprSniperRifle, sprBubbles, sprJetpack, sprHealth, sprHandMolotov, sprMolotov, |
69 sprSniperRifle, sprBubbles, sprJetpack, sprHealth, sprHandMolotov, sprMolotov, |
70 sprSmoke, sprSmokeWhite, sprShell, sprDust, sprExplosives, sprExplosivesRoll, |
70 sprSmoke, sprSmokeWhite, sprShell, sprDust, sprExplosives, sprExplosivesRoll, |
71 sprAmTeleport, sprSplash, sprDroplet, sprBirdy, sprHandCake, sprHandConstruction, |
71 sprAmTeleport, sprSplash, sprDroplet, sprBirdy, sprHandCake, sprHandConstruction, |
72 sprHandGrenade, sprHandMelon, sprHandMortar, sprHandSkip, sprHandCluster, |
72 sprHandGrenade, sprHandMelon, sprHandMortar, sprHandSkip, sprHandCluster, |
73 sprHandDynamite, sprHandHellish, sprHandMine, sprHandSeduction, sprHandVamp, |
73 sprHandDynamite, sprHandHellish, sprHandMine, sprHandSeduction, sprHandVamp, |
74 sprBigExplosion, sprSmokeRing, sprBeeTrace, sprEgg, sprTargetBee, sprHandBee, |
74 sprBigExplosion, sprSmokeRing, sprBeeTrace, sprEgg, sprTargetBee, sprHandBee, |
75 sprFeather, sprPiano, sprHandSineGun, sprPortalGun, sprPortal, |
75 sprFeather, sprPiano, sprHandSineGun, sprPortalGun, sprPortal, |
76 sprCheese, sprHandCheese, sprHandFlamethrower |
76 sprCheese, sprHandCheese, sprHandFlamethrower, sprChunk, sprNote, |
77 sprSMineOff, sprSMineOn, sprHandSMine, sprHammer, sprHandResurrector |
|
77 ); |
78 ); |
78 |
79 |
79 // Gears that interact with other Gears and/or Land |
80 // Gears that interact with other Gears and/or Land |
80 TGearType = (gtAmmo_Bomb, gtHedgehog, gtAmmo_Grenade, gtGrave, gtBee, // 4 |
81 TGearType = (gtAmmo_Bomb, gtHedgehog, gtAmmo_Grenade, gtGrave, gtBee, // 4 |
81 gtShotgunShot, gtPickHammer, gtRope, gtMine, gtCase, // 9 |
82 gtShotgunShot, gtPickHammer, gtRope, gtMine, gtCase, // 9 |
82 gtDEagleShot, gtDynamite, gtClusterBomb, gtCluster, gtShover, // 14 |
83 gtDEagleShot, gtDynamite, gtClusterBomb, gtCluster, gtShover, // 14 |
83 gtFlame, gtFirePunch, gtATStartGame, gtATSmoothWindCh, // 18 |
84 gtFlame, gtFirePunch, gtATStartGame, gtATSmoothWindCh, // 18 |
84 gtATFinishGame, gtParachute, gtAirAttack, gtAirBomb, gtBlowTorch, // 23 |
85 gtATFinishGame, gtParachute, gtAirAttack, gtAirBomb, gtBlowTorch, // 23 |
85 gtGirder, gtTeleport, gtSwitcher, gtTarget, gtMortar, // 28 |
86 gtGirder, gtTeleport, gtSwitcher, gtTarget, gtMortar, // 28 |
86 gtWhip, gtKamikaze, gtCake, gtSeduction, gtWatermelon, gtMelonPiece, // 34 |
87 gtWhip, gtKamikaze, gtCake, gtSeduction, gtWatermelon, gtMelonPiece, // 34 |
87 gtHellishBomb, gtWaterUp, gtDrill, gtBallGun, gtBall, gtRCPlane, // 40 |
88 gtHellishBomb, gtWaterUp, gtDrill, gtBallGun, gtBall, gtRCPlane, // 40 |
88 gtSniperRifleShot, gtJetpack, gtMolotov, gtExplosives, gtBirdy, // 45 |
89 gtSniperRifleShot, gtJetpack, gtMolotov, gtExplosives, gtBirdy, // 45 |
89 gtEgg, gtPortal, gtPiano, gtGasBomb, gtSineGunShot, gtFlamethrower); // 51 |
90 gtEgg, gtPortal, gtPiano, gtGasBomb, gtSineGunShot, gtFlamethrower, // 51 |
91 gtSMine, gtPoisonCloud, gtHammer, gtHammerHit, gtResurrector); |
|
90 |
92 |
91 // Gears that are _only_ of visual nature (e.g. background stuff, visual effects, speechbubbles, etc.) |
93 // Gears that are _only_ of visual nature (e.g. background stuff, visual effects, speechbubbles, etc.) |
92 TVisualGearType = (vgtFlake, vgtCloud, vgtExplPart, vgtExplPart2, vgtFire, |
94 TVisualGearType = (vgtFlake, vgtCloud, vgtExplPart, vgtExplPart2, vgtFire, |
93 vgtSmallDamageTag, vgtTeamHealthSorter, vgtSpeechBubble, vgtBubble, |
95 vgtSmallDamageTag, vgtTeamHealthSorter, vgtSpeechBubble, vgtBubble, |
94 vgtSteam, vgtAmmo, vgtSmoke, vgtSmokeWhite, vgtHealth, vgtShell, |
96 vgtSteam, vgtAmmo, vgtSmoke, vgtSmokeWhite, vgtHealth, vgtShell, |
95 vgtDust, vgtSplash, vgtDroplet, vgtSmokeRing, vgtBeeTrace, vgtEgg, |
97 vgtDust, vgtSplash, vgtDroplet, vgtSmokeRing, vgtBeeTrace, vgtEgg, |
96 vgtFeather, vgtHealthTag, vgtSmokeTrace, vgtEvilTrace, vgtExplosion, |
98 vgtFeather, vgtHealthTag, vgtSmokeTrace, vgtEvilTrace, vgtExplosion, |
97 vgtBigExplosion); |
99 vgtBigExplosion, vgtChunk, vgtNote); |
98 |
100 |
99 TGearsType = set of TGearType; |
101 TGearsType = set of TGearType; |
100 |
102 |
101 TDamageSource = (dsUnknown, dsFall, dsBullet, dsExplosion, dsShove, dsPoison); |
103 TDamageSource = (dsUnknown, dsFall, dsBullet, dsExplosion, dsShove, dsPoison); |
102 |
104 |
118 sndSwitchHog, sndVictory, sndSniperReload, sndSteps, sndLowGravity, |
120 sndSwitchHog, sndVictory, sndSniperReload, sndSteps, sndLowGravity, |
119 sndHellishImpact1, sndHellishImpact2, sndHellishImpact3, sndHellishImpact4, |
121 sndHellishImpact1, sndHellishImpact2, sndHellishImpact3, sndHellishImpact4, |
120 sndMelonImpact, sndDroplet1, sndDroplet2, sndDroplet3, sndEggBreak, sndDrillRocket, |
122 sndMelonImpact, sndDroplet1, sndDroplet2, sndDroplet3, sndEggBreak, sndDrillRocket, |
121 sndPoisonCough, sndPoisonMoan, sndBirdyLay, sndWhistle, sndBeeWater, |
123 sndPoisonCough, sndPoisonMoan, sndBirdyLay, sndWhistle, sndBeeWater, |
122 sndPiano0, sndPiano1, sndPiano2, sndPiano3, sndPiano4, sndPiano5, sndPiano6, sndPiano7, sndPiano8, |
124 sndPiano0, sndPiano1, sndPiano2, sndPiano3, sndPiano4, sndPiano5, sndPiano6, sndPiano7, sndPiano8, |
123 sndSkip, sndSineGun, sndOoff1, sndOoff2, sndOoff3); |
125 sndSkip, sndSineGun, sndOoff1, sndOoff2, sndOoff3, sndWhack, |
124 |
126 sndComeonthen, sndParachute, sndBump, sndResurrector); |
125 TAmmoType = (amNothing, amGrenade, amClusterBomb, amBazooka, amBee, amShotgun, amPickHammer, |
127 |
126 amSkip, amRope, amMine, amDEagle, amDynamite, amFirePunch, amWhip, |
128 TAmmoType = (amNothing, amGrenade, amClusterBomb, amBazooka, amBee, amShotgun, amPickHammer, // 6 |
127 amBaseballBat, amParachute, amAirAttack, amMineStrike, amBlowTorch, |
129 amSkip, amRope, amMine, amDEagle, amDynamite, amFirePunch, amWhip, // 13 |
128 amGirder, amTeleport, amSwitch, amMortar, amKamikaze, amCake, |
130 amBaseballBat, amParachute, amAirAttack, amMineStrike, amBlowTorch, // 18 |
129 amSeduction, amWatermelon, amHellishBomb, amNapalm, amDrill, amBallgun, |
131 amGirder, amTeleport, amSwitch, amMortar, amKamikaze, amCake, // 24 |
130 amRCPlane, amLowGravity, amExtraDamage, amInvulnerable, amExtraTime, |
132 amSeduction, amWatermelon, amHellishBomb, amNapalm, amDrill, amBallgun, // 30 |
131 amLaserSight, amVampiric, amSniperRifle, amJetpack, amMolotov, amBirdy, amPortalGun, |
133 amRCPlane, amLowGravity, amExtraDamage, amInvulnerable, amExtraTime, // 35 |
132 amPiano, amGasBomb, amSineGun, amFlamethrower); |
134 amLaserSight, amVampiric, amSniperRifle, amJetpack, amMolotov, amBirdy, amPortalGun, // 42 |
133 |
135 amPiano, amGasBomb, amSineGun, amFlamethrower, amSMine, amHammer, // 48 |
134 THWFont = (fnt16, fntBig, fntSmall, CJKfnt16, CJKfntBig, CJKfntSmall); |
136 amResurrector); |
137 |
|
138 TCrateType = (HealthCrate, AmmoCrate, UtilityCrate); |
|
139 |
|
140 THWFont = (fnt16, fntBig, fntSmall {$IFNDEF IPHONEOS}, CJKfnt16, CJKfntBig, CJKfntSmall{$ENDIF}); |
|
135 |
141 |
136 TCapGroup = (capgrpGameState, capgrpAmmoinfo, capgrpVolume, |
142 TCapGroup = (capgrpGameState, capgrpAmmoinfo, capgrpVolume, |
137 capgrpMessage, capgrpAmmostate); |
143 capgrpMessage, capgrpAmmostate); |
138 |
144 |
139 TStatInfoType = (siGameResult, siMaxStepDamage, siMaxStepKills, siKilledHHs, |
145 TStatInfoType = (siGameResult, siMaxStepDamage, siMaxStepKills, siKilledHHs, |
140 siClanHealth, siTeamStats); |
146 siClanHealth, siTeamStats, siPlayerKills, siMaxTeamDamage, |
147 siMaxTeamKills, siMaxTurnSkips ); |
|
141 |
148 |
142 TWave = (waveRollup, waveSad, waveWave, waveHurrah, waveLemonade, waveShrug, waveJuggle); |
149 TWave = (waveRollup, waveSad, waveWave, waveHurrah, waveLemonade, waveShrug, waveJuggle); |
143 |
150 |
144 TRenderMode = (rmDefault, rmLeftEye, rmRightEye); |
151 TRenderMode = (rmDefault, rmLeftEye, rmRightEye); |
145 TStereoMode = (smNone, smRedCyan, smCyanRed, smRedBlue, smBlueRed, smRedGreen, smGreenRed, smHorizontal, smVertical, smAFR); |
152 TStereoMode = (smNone, smRedCyan, smCyanRed, smRedBlue, smBlueRed, smRedGreen, smGreenRed, smHorizontal, smVertical, smAFR); |
155 TAmmo = record |
162 TAmmo = record |
156 Propz: LongWord; |
163 Propz: LongWord; |
157 Count: LongWord; |
164 Count: LongWord; |
158 (* Using for place hedgehogs mode, but for any other situation where the initial count would be needed I guess. |
165 (* Using for place hedgehogs mode, but for any other situation where the initial count would be needed I guess. |
159 For example, say, a mode where the weaponset is reset each turn, or on sudden death *) |
166 For example, say, a mode where the weaponset is reset each turn, or on sudden death *) |
160 InitialCount: LongWord; |
|
161 NumPerTurn: LongWord; |
167 NumPerTurn: LongWord; |
162 Timer: LongWord; |
168 Timer: LongWord; |
163 Pos: LongWord; |
169 Pos: LongWord; |
164 AmmoType: TAmmoType; |
170 AmmoType: TAmmoType; |
165 AttackVoice: TSound; |
171 AttackVoice: TSound; |
181 priority: GLfloat; |
187 priority: GLfloat; |
182 vb, tb: array [0..3] of TVertex2f; |
188 vb, tb: array [0..3] of TVertex2f; |
183 PrevTexture, NextTexture: PTexture; |
189 PrevTexture, NextTexture: PTexture; |
184 end; |
190 end; |
185 |
191 |
186 THogEffect = (heInvulnerable, hePoisoned); |
192 THogEffect = (heInvulnerable, heResurrectable, hePoisoned); |
187 |
193 |
188 TScreenFade = (sfNone, sfInit, sfToBlack, sfFromBlack, sfToWhite, sfFromWhite); |
194 TScreenFade = (sfNone, sfInit, sfToBlack, sfFromBlack, sfToWhite, sfFromWhite); |
189 const sfMax = 1000; |
195 const |
196 sfMax = 1000; |
|
197 cDefaultParamNum = 17; |
|
190 |
198 |
191 // message constants |
199 // message constants |
192 errmsgCreateSurface = 'Error creating SDL surface'; |
200 errmsgCreateSurface = 'Error creating SDL surface'; |
193 errmsgTransparentSet = 'Error setting transparent color'; |
201 errmsgTransparentSet = 'Error setting transparent color'; |
194 errmsgUnknownCommand = 'Unknown command'; |
202 errmsgUnknownCommand = 'Unknown command'; |
195 errmsgUnknownVariable = 'Unknown variable'; |
203 errmsgUnknownVariable = 'Unknown variable'; |
196 errmsgIncorrectUse = 'Incorrect use'; |
204 errmsgIncorrectUse = 'Incorrect use'; |
197 errmsgShouldntRun = 'This program shouldn''t be run manually'; |
205 errmsgShouldntRun = 'This program shouldn''t be run manually'; |
198 errmsgWrongNumber = 'Wrong parameters number'; |
206 errmsgWrongNumber = 'Wrong parameters number'; |
199 errmsgSlotsOverflow = 'CurSlot overflowed'; |
|
200 |
207 |
201 msgLoading = 'Loading '; |
208 msgLoading = 'Loading '; |
202 msgOK = 'ok'; |
209 msgOK = 'ok'; |
203 msgFailed = 'failed'; |
210 msgFailed = 'failed'; |
204 msgFailedSize = 'failed due to size'; |
211 msgFailedSize = 'failed due to size'; |
221 // reducedquality flags |
228 // reducedquality flags |
222 rqNone = $00000000; // don't reduce quality |
229 rqNone = $00000000; // don't reduce quality |
223 rqLowRes = $00000001; // use half land array |
230 rqLowRes = $00000001; // use half land array |
224 rqBlurryLand = $00000002; // downscaled terrain |
231 rqBlurryLand = $00000002; // downscaled terrain |
225 rqNoBackground= $00000004; // don't draw background |
232 rqNoBackground= $00000004; // don't draw background |
226 rqSimpleRope = $00000008; // avoid drawing rope |
233 rqSimpleRope = $00000008; // draw rope using lines only |
227 rq2DWater = $00000010; // disabe 3D water effect |
234 rq2DWater = $00000010; // disable 3D water effect |
228 rqFancyBoom = $00000020; // no fancy explosion effects |
235 rqFancyBoom = $00000020; // no fancy explosion effects |
229 rqKillFlakes = $00000040; // no flakes |
236 rqKillFlakes = $00000040; // no flakes |
230 rqSlowMenu = $00000080; // ammomenu appears with no animation |
237 rqSlowMenu = $00000080; // ammomenu appears with no animation |
231 rqPlainSplash = $00000100; // no droplets |
238 rqPlainSplash = $00000100; // no droplets |
232 rqClampLess = $00000200; // don't clamp textures |
239 rqClampLess = $00000200; // don't clamp textures |
257 cMaxPower = 1500; |
264 cMaxPower = 1500; |
258 cMaxAngle = 2048; |
265 cMaxAngle = 2048; |
259 cPowerDivisor = 1500; |
266 cPowerDivisor = 1500; |
260 |
267 |
261 MAXNAMELEN = 192; |
268 MAXNAMELEN = 192; |
262 |
269 |
263 // some opengl headers do not have these macros |
270 // some opengl headers do not have these macros |
264 GL_BGR = $80E0; |
271 GL_BGR = $80E0; |
265 GL_BGRA = $80E1; |
272 GL_BGRA = $80E1; |
266 GL_CLAMP_TO_EDGE = $812F; |
273 GL_CLAMP_TO_EDGE = $812F; |
267 GL_TEXTURE_PRIORITY = $8066; |
274 GL_TEXTURE_PRIORITY = $8066; |
268 |
275 |
269 cSendCursorPosTime : LongWord = 50; |
276 cSendCursorPosTime : LongWord = 50; |
270 cVisibleWater : LongInt = 128; |
277 cVisibleWater : LongInt = 128; |
271 cCursorEdgesDist : LongInt = 100; |
278 cCursorEdgesDist : LongInt = 100; |
272 cTeamHealthWidth : LongInt = 128; |
279 cTeamHealthWidth : LongInt = 128; |
273 cWaterOpacity : byte = $80; |
280 cWaterOpacity : byte = $80; |
299 cShotgunRadius = 22; |
306 cShotgunRadius = 22; |
300 cBlowTorchC = 6; |
307 cBlowTorchC = 6; |
301 |
308 |
302 cKeyMaxIndex = 1023; |
309 cKeyMaxIndex = 1023; |
303 |
310 |
311 // do not change this value |
|
304 cDefaultZoomLevel = 2.0; |
312 cDefaultZoomLevel = 2.0; |
313 |
|
305 {$IFDEF IPHONEOS} |
314 {$IFDEF IPHONEOS} |
306 cMaxZoomLevel = 0.5; |
315 cMaxZoomLevel = 0.5; |
307 cMinZoomLevel = 3.5; |
316 cMinZoomLevel = 3.5; |
308 cZoomDelta = 0.20; |
317 cZoomDelta = 0.20; |
309 {$ELSE} |
318 {$ELSE} |
311 cMinZoomLevel = 3.0; |
320 cMinZoomLevel = 3.0; |
312 cZoomDelta = 0.25; |
321 cZoomDelta = 0.25; |
313 {$ENDIF} |
322 {$ENDIF} |
314 |
323 |
315 cSendEmptyPacketTime = 1000; |
324 cSendEmptyPacketTime = 1000; |
316 |
|
317 // from uTriggers |
|
318 trigTurns = $80000001; |
325 trigTurns = $80000001; |
319 |
326 |
320 // Training Flags |
327 // Training Flags |
321 tfNone = $00000000; |
328 tfNone = $00000000; |
322 tfTimeTrial = $00000001; |
329 tfTimeTrial = $00000001; |
323 tfRCPlane = $00000002; |
330 tfRCPlane = $00000002; |
324 tfSpawnTargets = $00000004; |
331 tfSpawnTargets = $00000004; |
325 tfIgnoreDelays = $00000008; |
332 tfIgnoreDelays = $00000008; |
326 tfTargetRespawn = $00000010; |
333 tfTargetRespawn = $00000010; |
327 |
334 |
328 gfAny = $FFFFFFFF; |
335 gfAny = $FFFFFFFF; |
329 gfForts = $00000001; |
336 gfOneClanMode = $00000001; // used in trainings |
330 gfMultiWeapon = $00000002; |
337 gfMultiWeapon = $00000002; // used in trainings |
331 gfSolidLand = $00000004; |
338 gfSolidLand = $00000004; |
332 gfBorder = $00000008; |
339 gfBorder = $00000008; |
333 gfDivideTeams = $00000010; |
340 gfDivideTeams = $00000010; |
334 gfLowGravity = $00000020; |
341 gfLowGravity = $00000020; |
335 gfLaserSight = $00000040; |
342 gfLaserSight = $00000040; |
336 gfInvulnerable = $00000080; |
343 gfInvulnerable = $00000080; |
337 gfMines = $00000100; |
344 gfMines = $00000100; // redundant? same effect as 'landadds 0' |
338 gfVampiric = $00000200; |
345 gfVampiric = $00000200; |
339 gfKarma = $00000400; |
346 gfKarma = $00000400; |
340 gfArtillery = $00000800; |
347 gfArtillery = $00000800; |
341 gfOneClanMode = $00001000; |
348 gfForts = $00001000; |
342 gfRandomOrder = $00002000; |
349 gfRandomOrder = $00002000; |
343 gfKing = $00004000; |
350 gfKing = $00004000; |
344 gfPlaceHog = $00008000; |
351 gfPlaceHog = $00008000; |
345 gfSharedAmmo = $00010000; |
352 gfSharedAmmo = $00010000; |
346 gfDisableGirders = $00020000; |
353 gfDisableGirders = $00020000; |
347 gfExplosives = $00040000; |
354 gfDisableLandObjects = $00040000; |
348 gfDisableLandObjects = $00080000; |
355 gfAISurvival = $00080000; |
356 gfInfAttack = $00100000; |
|
357 gfResetWeps = $00200000; |
|
358 gfPerHogAmmo = $00400000; |
|
349 // NOTE: When adding new game flags, ask yourself |
359 // NOTE: When adding new game flags, ask yourself |
350 // if a "game start notice" would be useful. If so, |
360 // if a "game start notice" would be useful. If so, |
351 // add one in uWorld.pas - look for "AddGoal". |
361 // add one in uWorld.pas - look for "AddGoal". |
352 |
362 |
353 gstDrowning = $00000001; |
363 gstDrowning = $00000001; |
368 gstWait = $00020000; |
378 gstWait = $00020000; |
369 gstNotKickable = $00040000; |
379 gstNotKickable = $00040000; |
370 gstLoser = $00080000; |
380 gstLoser = $00080000; |
371 gstHHGone = $00100000; |
381 gstHHGone = $00100000; |
372 |
382 |
373 gm_Left = $00000001; |
383 gmLeft = $00000001; |
374 gm_Right = $00000002; |
384 gmRight = $00000002; |
375 gm_Up = $00000004; |
385 gmUp = $00000004; |
376 gm_Down = $00000008; |
386 gmDown = $00000008; |
377 gm_Switch = $00000010; |
387 gmSwitch = $00000010; |
378 gm_Attack = $00000020; |
388 gmAttack = $00000020; |
379 gm_LJump = $00000040; |
389 gmLJump = $00000040; |
380 gm_HJump = $00000080; |
390 gmHJump = $00000080; |
381 gm_Destroy= $00000100; |
391 gmDestroy= $00000100; |
382 gm_Slot = $00000200; // with param |
392 gmSlot = $00000200; // with param |
383 gm_Weapon = $00000400; // with param |
393 gmWeapon = $00000400; // with param |
384 gm_Timer = $00000800; // with param |
394 gmTimer = $00000800; // with param |
385 gm_Animate= $00001000; // with param |
395 gmAnimate= $00001000; // with param |
386 gm_Precise= $00002000; |
396 gmPrecise= $00002000; |
387 gmAllStoppable = gm_Left or gm_Right or gm_Up or gm_Down or gm_Attack or gm_Precise; |
397 gmAllStoppable = gmLeft or gmRight or gmUp or gmDown or gmAttack or gmPrecise; |
388 |
398 |
389 cMaxSlotIndex = 9; |
399 cMaxSlotIndex = 9; |
390 cMaxSlotAmmoIndex = 5; |
400 cMaxSlotAmmoIndex = 5; |
391 |
401 |
392 ammoprop_Timerable = $00000001; |
402 ammoprop_Timerable = $00000001; |
401 ammoprop_AltUse = $00000400; |
411 ammoprop_AltUse = $00000400; |
402 ammoprop_NotBorder = $00000800; |
412 ammoprop_NotBorder = $00000800; |
403 ammoprop_Utility = $00001000; |
413 ammoprop_Utility = $00001000; |
404 ammoprop_Effect = $00002000; |
414 ammoprop_Effect = $00002000; |
405 ammoprop_NoRoundEndHint=$10000000; |
415 ammoprop_NoRoundEndHint=$10000000; |
406 |
416 |
407 AMMO_INFINITE = 100; |
417 AMMO_INFINITE = 100; |
408 |
418 |
409 EXPLAllDamageInRadius = $00000001; |
419 EXPLAllDamageInRadius = $00000001; |
410 EXPLAutoSound = $00000002; |
420 EXPLAutoSound = $00000002; |
411 EXPLNoDamage = $00000004; |
421 EXPLNoDamage = $00000004; |
412 EXPLDoNotTouchHH = $00000008; |
422 EXPLDoNotTouchHH = $00000008; |
413 EXPLDontDraw = $00000010; |
423 EXPLDontDraw = $00000010; |
414 EXPLNoGfx = $00000020; |
424 EXPLNoGfx = $00000020; |
415 EXPLPoisoned = $00000040; |
425 EXPLPoisoned = $00000040; |
426 EXPLDoNotTouchAny = $00000080; |
|
416 |
427 |
417 posCaseAmmo = $00000001; |
428 posCaseAmmo = $00000001; |
418 posCaseHealth = $00000002; |
429 posCaseHealth = $00000002; |
419 posCaseUtility = $00000004; |
430 posCaseUtility = $00000004; |
420 |
431 |
425 htNone = $00; |
436 htNone = $00; |
426 htTeamName = $01; |
437 htTeamName = $01; |
427 htName = $02; |
438 htName = $02; |
428 htHealth = $04; |
439 htHealth = $04; |
429 htTransparent = $08; |
440 htTransparent = $08; |
430 |
441 |
431 cHHFileName = 'Hedgehog'; |
442 cHHFileName = 'Hedgehog'; |
432 cCHFileName = 'Crosshair'; |
443 cCHFileName = 'Crosshair'; |
433 cThemeCFGFilename = 'theme.cfg'; |
444 cThemeCFGFilename = 'theme.cfg'; |
434 |
445 |
435 FontBorder = 2; |
446 FontBorder = 2; |
436 cPathz: array[TPathType] of shortstring = ( |
447 cPathz: array[TPathType] of shortstring = ( |
437 '', // ptNone |
448 '', // ptNone |
438 '', // ptData |
449 '', // ptData |
439 'Graphics', // ptGraphics |
450 'Graphics', // ptGraphics |
450 'Locale', // ptLocale |
461 'Locale', // ptLocale |
451 'Graphics/AmmoMenu', // ptAmmoMenu |
462 'Graphics/AmmoMenu', // ptAmmoMenu |
452 'Graphics/Hedgehog', // ptHedgehog |
463 'Graphics/Hedgehog', // ptHedgehog |
453 'Sounds/voices', // ptVoices |
464 'Sounds/voices', // ptVoices |
454 'Graphics/Hats', // ptHats |
465 'Graphics/Hats', // ptHats |
455 'Graphics/Flags' // ptFlags |
466 'Graphics/Flags', // ptFlags |
467 'Missions/Maps' // ptMissionMaps |
|
456 ); |
468 ); |
457 |
469 |
458 var PathPrefix: shortstring = './'; |
|
459 Pathz: array[TPathType] of shortstring; |
|
460 CountTexz: array[1..Pred(AMMO_INFINITE)] of PTexture; |
|
461 LAND_WIDTH :longint; |
|
462 LAND_HEIGHT :longint; |
|
463 LAND_WIDTH_MASK :longWord; |
|
464 LAND_HEIGHT_MASK :longWord; |
|
465 cMaxCaptions : LongInt; |
|
466 |
|
467 const |
|
468 cTagsMasks : array[0..15] of byte = (7, 0, 0, 0, 15, 6, 4, 5, 0, 0, 0, 0, 0, 14, 12, 13); |
470 cTagsMasks : array[0..15] of byte = (7, 0, 0, 0, 15, 6, 4, 5, 0, 0, 0, 0, 0, 14, 12, 13); |
469 cTagsMasksNoHealth: array[0..15] of byte = (3, 2, 11, 1, 0, 0, 0, 0, 0, 10, 0, 9, 0, 0, 0, 0); |
471 cTagsMasksNoHealth: array[0..15] of byte = (3, 2, 11, 1, 0, 0, 0, 0, 0, 10, 0, 9, 0, 0, 0, 0); |
470 |
472 |
471 Fontz: array[THWFont] of THHFont = ( |
473 Fontz: array[THWFont] of THHFont = ( |
472 (Handle: nil; |
474 (Handle: nil; |
478 style: TTF_STYLE_NORMAL; |
480 style: TTF_STYLE_NORMAL; |
479 Name: 'DejaVuSans-Bold.ttf'), |
481 Name: 'DejaVuSans-Bold.ttf'), |
480 (Handle: nil; |
482 (Handle: nil; |
481 Height: 10; |
483 Height: 10; |
482 style: TTF_STYLE_NORMAL; |
484 style: TTF_STYLE_NORMAL; |
483 Name: 'DejaVuSans-Bold.ttf'), |
485 Name: 'DejaVuSans-Bold.ttf') |
486 {$IFNDEF IPHONEOS}, // remove chinese fonts for now |
|
484 (Handle: nil; |
487 (Handle: nil; |
485 Height: 12; |
488 Height: 12; |
486 style: TTF_STYLE_NORMAL; |
489 style: TTF_STYLE_NORMAL; |
487 Name: 'wqy-zenhei.ttc'), |
490 Name: 'wqy-zenhei.ttc'), |
488 (Handle: nil; |
491 (Handle: nil; |
491 Name: 'wqy-zenhei.ttc'), |
494 Name: 'wqy-zenhei.ttc'), |
492 (Handle: nil; |
495 (Handle: nil; |
493 Height: 10; |
496 Height: 10; |
494 style: TTF_STYLE_NORMAL; |
497 style: TTF_STYLE_NORMAL; |
495 Name: 'wqy-zenhei.ttc') |
498 Name: 'wqy-zenhei.ttc') |
499 {$ENDIF} |
|
496 ); |
500 ); |
497 |
501 |
498 SpritesData: array[TSprite] of record |
502 SpritesData: array[TSprite] of record |
499 FileName: String[16]; |
503 FileName: String[16]; |
500 Path, AltPath: TPathType; |
504 Path, AltPath: TPathType; |
723 Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpHighest; getDimensions: false; getImageDimensions: true),// sprBubbles |
727 Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpHighest; getDimensions: false; getImageDimensions: true),// sprBubbles |
724 (FileName: 'amJetpack'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; |
728 (FileName: 'amJetpack'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; |
725 Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprJetpack |
729 Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprJetpack |
726 (FileName: 'Health'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
730 (FileName: 'Health'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
727 Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpHigh; getDimensions: false; getImageDimensions: true),// sprHealth |
731 Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpHigh; getDimensions: false; getImageDimensions: true),// sprHealth |
728 (FileName: 'amMolotov'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; |
732 (FileName: 'amMolotov'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; |
729 Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),//sprHandMolotov |
733 Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),//sprHandMolotov |
730 (FileName: 'Molotov'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
734 (FileName: 'Molotov'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
731 Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprMolotov |
735 Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprMolotov |
732 (FileName: 'Smoke'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
736 (FileName: 'Smoke'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
733 Width: 22; Height: 22; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpHighest; getDimensions: false; getImageDimensions: true),// sprSmoke |
737 Width: 22; Height: 22; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpHighest; getDimensions: false; getImageDimensions: true),// sprSmoke |
798 (FileName: 'cheese'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
802 (FileName: 'cheese'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
799 Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprCheese |
803 Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprCheese |
800 (FileName: 'amCheese'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; |
804 (FileName: 'amCheese'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; |
801 Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprHandCheese |
805 Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprHandCheese |
802 (FileName: 'amFlamethrower'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; |
806 (FileName: 'amFlamethrower'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; |
803 Width: 128; Height: 128; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpMedium; getDimensions: false; getImageDimensions: true) // sprHandFlamethrower |
807 Width: 128; Height: 128; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprHandFlamethrower |
804 ); |
808 (FileName: 'Chunk'; Path: ptCurrTheme; AltPath: ptGraphics; Texture: nil; Surface: nil; |
809 Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprChunk |
|
810 (FileName: 'Note'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
|
811 Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprNote |
|
812 (FileName: 'SMineOff'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
|
813 Width: 8; Height: 8; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprSMineOff |
|
814 (FileName: 'SMineOn'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
|
815 Width: 8; Height: 8; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprSMineOn |
|
816 (FileName: 'amSMine'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; |
|
817 Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprHandSMine |
|
818 (FileName: 'amHammer'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; |
|
819 Width: 128; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpMedium; getDimensions: false; getImageDimensions: true), // sprWhip |
|
820 (FileName: 'amResurrector'; Path: ptHedgehog; AltPath: ptNone; |
|
821 Texture: nil; Surface: nil; Width: 32; Height: 32; |
|
822 imageWidth: 0; imageHeight: 0; saveSurf: false; priority: |
|
823 tpMedium; getDimensions: false; getImageDimensions: true) |
|
824 ); // sprHandResurrector |
|
805 |
825 |
806 Wavez: array [TWave] of record |
826 Wavez: array [TWave] of record |
807 Sprite: TSprite; |
827 Sprite: TSprite; |
808 FramesCount: Longword; |
828 FramesCount: Longword; |
809 Interval: Longword; |
829 Interval: Longword; |
906 (FileName: 'melonimpact.ogg'; Path: ptSounds),// sndMelonImpact |
926 (FileName: 'melonimpact.ogg'; Path: ptSounds),// sndMelonImpact |
907 (FileName: 'Droplet1.ogg'; Path: ptSounds),// sndDroplet1 |
927 (FileName: 'Droplet1.ogg'; Path: ptSounds),// sndDroplet1 |
908 (FileName: 'Droplet2.ogg'; Path: ptSounds),// sndDroplet2 |
928 (FileName: 'Droplet2.ogg'; Path: ptSounds),// sndDroplet2 |
909 (FileName: 'Droplet3.ogg'; Path: ptSounds),// sndDroplet3 |
929 (FileName: 'Droplet3.ogg'; Path: ptSounds),// sndDroplet3 |
910 (FileName: 'egg.ogg'; Path: ptSounds),// sndEggBreak |
930 (FileName: 'egg.ogg'; Path: ptSounds),// sndEggBreak |
911 (FileName: 'pickhammer.ogg'; Path: ptSounds),// sndDrillRocket |
931 (FileName: 'drillgun.ogg'; Path: ptSounds),// sndDrillRocket |
912 (FileName: 'PoisonCough.ogg'; Path: ptVoices),// sndPoisonCough |
932 (FileName: 'PoisonCough.ogg'; Path: ptVoices),// sndPoisonCough |
913 (FileName: 'PoisonMoan.ogg'; Path: ptVoices),// sndPoisonMoan |
933 (FileName: 'PoisonMoan.ogg'; Path: ptVoices),// sndPoisonMoan |
914 (FileName: 'BirdyLay.ogg'; Path: ptSounds),// sndBirdyLay |
934 (FileName: 'BirdyLay.ogg'; Path: ptSounds),// sndBirdyLay |
915 (FileName: 'Whistle.ogg'; Path: ptSounds),// sndWhistle |
935 (FileName: 'Whistle.ogg'; Path: ptSounds),// sndWhistle |
916 (FileName: 'beewater.ogg'; Path: ptSounds),// sndBeeWater |
936 (FileName: 'beewater.ogg'; Path: ptSounds),// sndBeeWater |
925 (FileName: '9D.ogg'; Path: ptSounds),// sndPiano8 |
945 (FileName: '9D.ogg'; Path: ptSounds),// sndPiano8 |
926 (FileName: 'skip.ogg'; Path: ptSounds),// sndSkip |
946 (FileName: 'skip.ogg'; Path: ptSounds),// sndSkip |
927 (FileName: 'shotgunfire.ogg'; Path: ptSounds),// sndSineGun |
947 (FileName: 'shotgunfire.ogg'; Path: ptSounds),// sndSineGun |
928 (FileName: 'Ooff1.ogg'; Path: ptVoices),// sndOoff1 |
948 (FileName: 'Ooff1.ogg'; Path: ptVoices),// sndOoff1 |
929 (FileName: 'Ooff2.ogg'; Path: ptVoices),// sndOoff2 |
949 (FileName: 'Ooff2.ogg'; Path: ptVoices),// sndOoff2 |
930 (FileName: 'Ooff3.ogg'; Path: ptVoices) // sndOoff3 |
950 (FileName: 'Ooff3.ogg'; Path: ptVoices),// sndOoff3 |
951 (FileName: 'whipcrack.ogg'; Path: ptSounds),// sndWhack |
|
952 (FileName: 'Comeonthen.ogg'; Path: ptVoices),// sndComeonthen |
|
953 (FileName: 'parachute.ogg'; Path: ptSounds),// sndParachute |
|
954 (FileName: 'bump.ogg'; Path: ptSounds),// sndBump |
|
955 (FileName: 'hogchant3.ogg'; Path: ptSounds) // sndResurrector |
|
931 ); |
956 ); |
932 |
957 |
933 Ammoz: array [TAmmoType] of record |
958 Ammoz: array [TAmmoType] of record |
934 NameId: TAmmoStrId; |
959 NameId: TAmmoStrId; |
935 NameTex: PTexture; |
960 NameTex: PTexture; |
948 NameTex: nil; |
973 NameTex: nil; |
949 Probability: 0; |
974 Probability: 0; |
950 NumberInCase: 0; |
975 NumberInCase: 0; |
951 Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_DontHold or ammoprop_Effect; |
976 Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_DontHold or ammoprop_Effect; |
952 Count: AMMO_INFINITE; |
977 Count: AMMO_INFINITE; |
953 InitialCount: AMMO_INFINITE; |
|
954 NumPerTurn: 0; |
978 NumPerTurn: 0; |
955 Timer: 0; |
979 Timer: 0; |
956 Pos: 0; |
980 Pos: 0; |
957 AmmoType: amNothing; |
981 AmmoType: amNothing; |
958 AttackVoice: sndNone); |
982 AttackVoice: sndNone); |
972 NameTex: nil; |
996 NameTex: nil; |
973 Probability: 0; |
997 Probability: 0; |
974 NumberInCase: 1; |
998 NumberInCase: 1; |
975 Ammo: (Propz: ammoprop_Timerable or ammoprop_Power or ammoprop_AltUse; |
999 Ammo: (Propz: ammoprop_Timerable or ammoprop_Power or ammoprop_AltUse; |
976 Count: AMMO_INFINITE; |
1000 Count: AMMO_INFINITE; |
977 InitialCount: AMMO_INFINITE; |
|
978 NumPerTurn: 0; |
1001 NumPerTurn: 0; |
979 Timer: 3000; |
1002 Timer: 3000; |
980 Pos: 0; |
1003 Pos: 0; |
981 AmmoType: amGrenade; |
1004 AmmoType: amGrenade; |
982 AttackVoice: sndCover); |
1005 AttackVoice: sndCover); |
996 NameTex: nil; |
1019 NameTex: nil; |
997 Probability: 100; |
1020 Probability: 100; |
998 NumberInCase: 3; |
1021 NumberInCase: 3; |
999 Ammo: (Propz: ammoprop_Timerable or ammoprop_Power or ammoprop_AltUse; |
1022 Ammo: (Propz: ammoprop_Timerable or ammoprop_Power or ammoprop_AltUse; |
1000 Count: 5; |
1023 Count: 5; |
1001 InitialCount: 5; |
|
1002 NumPerTurn: 0; |
1024 NumPerTurn: 0; |
1003 Timer: 3000; |
1025 Timer: 3000; |
1004 Pos: 0; |
1026 Pos: 0; |
1005 AmmoType: amClusterBomb; |
1027 AmmoType: amClusterBomb; |
1006 AttackVoice: sndCover); |
1028 AttackVoice: sndCover); |
1020 NameTex: nil; |
1042 NameTex: nil; |
1021 Probability: 0; |
1043 Probability: 0; |
1022 NumberInCase: 1; |
1044 NumberInCase: 1; |
1023 Ammo: (Propz: ammoprop_Power or ammoprop_AltUse; |
1045 Ammo: (Propz: ammoprop_Power or ammoprop_AltUse; |
1024 Count: AMMO_INFINITE; |
1046 Count: AMMO_INFINITE; |
1025 InitialCount: AMMO_INFINITE; |
|
1026 NumPerTurn: 0; |
1047 NumPerTurn: 0; |
1027 Timer: 0; |
1048 Timer: 0; |
1028 Pos: 0; |
1049 Pos: 0; |
1029 AmmoType: amBazooka; |
1050 AmmoType: amBazooka; |
1030 AttackVoice: sndNone); |
1051 AttackVoice: sndNone); |
1044 NameTex: nil; |
1065 NameTex: nil; |
1045 Probability: 100; |
1066 Probability: 100; |
1046 NumberInCase: 1; |
1067 NumberInCase: 1; |
1047 Ammo: (Propz: ammoprop_Power or ammoprop_NeedTarget or ammoprop_DontHold; |
1068 Ammo: (Propz: ammoprop_Power or ammoprop_NeedTarget or ammoprop_DontHold; |
1048 Count: 2; |
1069 Count: 2; |
1049 InitialCount: 2; |
|
1050 NumPerTurn: 0; |
1070 NumPerTurn: 0; |
1051 Timer: 0; |
1071 Timer: 0; |
1052 Pos: 0; |
1072 Pos: 0; |
1053 AmmoType: amBee; |
1073 AmmoType: amBee; |
1054 AttackVoice: sndNone); |
1074 AttackVoice: sndNone); |
1068 NameTex: nil; |
1088 NameTex: nil; |
1069 Probability: 0; |
1089 Probability: 0; |
1070 NumberInCase: 1; |
1090 NumberInCase: 1; |
1071 Ammo: (Propz: ammoprop_ForwMsgs; |
1091 Ammo: (Propz: ammoprop_ForwMsgs; |
1072 Count: AMMO_INFINITE; |
1092 Count: AMMO_INFINITE; |
1073 InitialCount: AMMO_INFINITE; |
|
1074 NumPerTurn: 1; |
1093 NumPerTurn: 1; |
1075 Timer: 0; |
1094 Timer: 0; |
1076 Pos: 0; |
1095 Pos: 0; |
1077 AmmoType: amShotgun; |
1096 AmmoType: amShotgun; |
1078 AttackVoice: sndNone); |
1097 AttackVoice: sndNone); |
1092 NameTex: nil; |
1111 NameTex: nil; |
1093 Probability: 0; |
1112 Probability: 0; |
1094 NumberInCase: 1; |
1113 NumberInCase: 1; |
1095 Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_AttackInMove or ammoprop_NoCrosshair or ammoprop_DontHold; |
1114 Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_AttackInMove or ammoprop_NoCrosshair or ammoprop_DontHold; |
1096 Count: 2; |
1115 Count: 2; |
1097 InitialCount: 2; |
|
1098 NumPerTurn: 0; |
1116 NumPerTurn: 0; |
1099 Timer: 0; |
1117 Timer: 0; |
1100 Pos: 0; |
1118 Pos: 0; |
1101 AmmoType: amPickHammer; |
1119 AmmoType: amPickHammer; |
1102 AttackVoice: sndNone); |
1120 AttackVoice: sndNone); |
1116 NameTex: nil; |
1134 NameTex: nil; |
1117 Probability: 0; |
1135 Probability: 0; |
1118 NumberInCase: 1; |
1136 NumberInCase: 1; |
1119 Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_DontHold; |
1137 Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_DontHold; |
1120 Count: AMMO_INFINITE; |
1138 Count: AMMO_INFINITE; |
1121 InitialCount: AMMO_INFINITE; |
|
1122 NumPerTurn: 0; |
1139 NumPerTurn: 0; |
1123 Timer: 0; |
1140 Timer: 0; |
1124 Pos: 0; |
1141 Pos: 0; |
1125 AmmoType: amSkip; |
1142 AmmoType: amSkip; |
1126 AttackVoice: sndNone); |
1143 AttackVoice: sndNone); |
1144 ammoprop_ForwMsgs or |
1161 ammoprop_ForwMsgs or |
1145 ammoprop_AttackInMove or |
1162 ammoprop_AttackInMove or |
1146 ammoprop_Utility or |
1163 ammoprop_Utility or |
1147 ammoprop_AltAttack; |
1164 ammoprop_AltAttack; |
1148 Count: 5; |
1165 Count: 5; |
1149 InitialCount: 5; |
|
1150 NumPerTurn: 0; |
1166 NumPerTurn: 0; |
1151 Timer: 0; |
1167 Timer: 0; |
1152 Pos: 0; |
1168 Pos: 0; |
1153 AmmoType: amRope; |
1169 AmmoType: amRope; |
1154 AttackVoice: sndNone); |
1170 AttackVoice: sndNone); |
1168 NameTex: nil; |
1184 NameTex: nil; |
1169 Probability: 100; |
1185 Probability: 100; |
1170 NumberInCase: 1; |
1186 NumberInCase: 1; |
1171 Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_AttackInMove or ammoprop_DontHold or ammoprop_AltUse; |
1187 Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_AttackInMove or ammoprop_DontHold or ammoprop_AltUse; |
1172 Count: 2; |
1188 Count: 2; |
1173 InitialCount: 2; |
|
1174 NumPerTurn: 0; |
1189 NumPerTurn: 0; |
1175 Timer: 0; |
1190 Timer: 0; |
1176 Pos: 0; |
1191 Pos: 0; |
1177 AmmoType: amMine; |
1192 AmmoType: amMine; |
1178 AttackVoice: sndLaugh); |
1193 AttackVoice: sndLaugh); |
1192 NameTex: nil; |
1207 NameTex: nil; |
1193 Probability: 20; |
1208 Probability: 20; |
1194 NumberInCase: 2; |
1209 NumberInCase: 2; |
1195 Ammo: (Propz: 0; |
1210 Ammo: (Propz: 0; |
1196 Count: 3; |
1211 Count: 3; |
1197 InitialCount: 3; |
|
1198 NumPerTurn: 3; |
1212 NumPerTurn: 3; |
1199 Timer: 0; |
1213 Timer: 0; |
1200 Pos: 0; |
1214 Pos: 0; |
1201 AmmoType: amDEagle; |
1215 AmmoType: amDEagle; |
1202 AttackVoice: sndNone); |
1216 AttackVoice: sndNone); |
1216 NameTex: nil; |
1230 NameTex: nil; |
1217 Probability: 100; |
1231 Probability: 100; |
1218 NumberInCase: 1; |
1232 NumberInCase: 1; |
1219 Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_AttackInMove or ammoprop_DontHold or ammoprop_AltUse; |
1233 Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_AttackInMove or ammoprop_DontHold or ammoprop_AltUse; |
1220 Count: 1; |
1234 Count: 1; |
1221 InitialCount: 1; |
|
1222 NumPerTurn: 0; |
1235 NumPerTurn: 0; |
1223 Timer: 0; |
1236 Timer: 0; |
1224 Pos: 0; |
1237 Pos: 0; |
1225 AmmoType: amDynamite; |
1238 AmmoType: amDynamite; |
1226 AttackVoice: sndLaugh); |
1239 AttackVoice: sndLaugh); |
1240 NameTex: nil; |
1253 NameTex: nil; |
1241 Probability: 0; |
1254 Probability: 0; |
1242 NumberInCase: 1; |
1255 NumberInCase: 1; |
1243 Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_ForwMsgs or ammoprop_AttackInMove; |
1256 Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_ForwMsgs or ammoprop_AttackInMove; |
1244 Count: AMMO_INFINITE; |
1257 Count: AMMO_INFINITE; |
1245 InitialCount: AMMO_INFINITE; |
|
1246 NumPerTurn: 0; |
1258 NumPerTurn: 0; |
1247 Timer: 0; |
1259 Timer: 0; |
1248 Pos: 0; |
1260 Pos: 0; |
1249 AmmoType: amFirePunch; |
1261 AmmoType: amFirePunch; |
1250 AttackVoice: sndNone); |
1262 AttackVoice: sndNone); |
1264 NameTex: nil; |
1276 NameTex: nil; |
1265 Probability: 0; |
1277 Probability: 0; |
1266 NumberInCase: 1; |
1278 NumberInCase: 1; |
1267 Ammo: (Propz: ammoprop_NoCrosshair; |
1279 Ammo: (Propz: ammoprop_NoCrosshair; |
1268 Count: AMMO_INFINITE; |
1280 Count: AMMO_INFINITE; |
1269 InitialCount: AMMO_INFINITE; |
|
1270 NumPerTurn: 0; |
1281 NumPerTurn: 0; |
1271 Timer: 0; |
1282 Timer: 0; |
1272 Pos: 0; |
1283 Pos: 0; |
1273 AmmoType: amWhip; |
1284 AmmoType: amWhip; |
1274 AttackVoice: sndNone); |
1285 AttackVoice: sndNone); |
1288 NameTex: nil; |
1299 NameTex: nil; |
1289 Probability: 100; |
1300 Probability: 100; |
1290 NumberInCase: 1; |
1301 NumberInCase: 1; |
1291 Ammo: (Propz: ammoprop_DontHold; |
1302 Ammo: (Propz: ammoprop_DontHold; |
1292 Count: 1; |
1303 Count: 1; |
1293 InitialCount: 1; |
|
1294 NumPerTurn: 0; |
1304 NumPerTurn: 0; |
1295 Timer: 0; |
1305 Timer: 0; |
1296 Pos: 0; |
1306 Pos: 0; |
1297 AmmoType: amBaseballBat; |
1307 AmmoType: amBaseballBat; |
1298 AttackVoice: sndNone); |
1308 AttackVoice: sndNone); |
1318 ammoprop_NoCrosshair or |
1328 ammoprop_NoCrosshair or |
1319 ammoprop_DontHold or |
1329 ammoprop_DontHold or |
1320 ammoprop_Utility or |
1330 ammoprop_Utility or |
1321 ammoprop_AltAttack; |
1331 ammoprop_AltAttack; |
1322 Count: 2; |
1332 Count: 2; |
1323 InitialCount: 2; |
|
1324 NumPerTurn: 0; |
1333 NumPerTurn: 0; |
1325 Timer: 0; |
1334 Timer: 0; |
1326 Pos: 0; |
1335 Pos: 0; |
1327 AmmoType: amParachute; |
1336 AmmoType: amParachute; |
1328 AttackVoice: sndNone); |
1337 AttackVoice: sndNone); |
1346 ammoprop_NeedTarget or |
1355 ammoprop_NeedTarget or |
1347 ammoprop_AttackingPut or |
1356 ammoprop_AttackingPut or |
1348 ammoprop_DontHold or |
1357 ammoprop_DontHold or |
1349 ammoprop_NotBorder; |
1358 ammoprop_NotBorder; |
1350 Count: 1; |
1359 Count: 1; |
1351 InitialCount: 1; |
|
1352 NumPerTurn: 0; |
1360 NumPerTurn: 0; |
1353 Timer: 0; |
1361 Timer: 0; |
1354 Pos: 0; |
1362 Pos: 0; |
1355 AmmoType: amAirAttack; |
1363 AmmoType: amAirAttack; |
1356 AttackVoice: sndIncoming); |
1364 AttackVoice: sndIncoming); |
1374 ammoprop_NeedTarget or |
1382 ammoprop_NeedTarget or |
1375 ammoprop_AttackingPut or |
1383 ammoprop_AttackingPut or |
1376 ammoprop_DontHold or |
1384 ammoprop_DontHold or |
1377 ammoprop_NotBorder; |
1385 ammoprop_NotBorder; |
1378 Count: 1; |
1386 Count: 1; |
1379 InitialCount: 1; |
|
1380 NumPerTurn: 0; |
1387 NumPerTurn: 0; |
1381 Timer: 0; |
1388 Timer: 0; |
1382 Pos: 0; |
1389 Pos: 0; |
1383 AmmoType: amMineStrike; |
1390 AmmoType: amMineStrike; |
1384 AttackVoice: sndIncoming); |
1391 AttackVoice: sndIncoming); |
1398 NameTex: nil; |
1405 NameTex: nil; |
1399 Probability: 100; |
1406 Probability: 100; |
1400 NumberInCase: 2; |
1407 NumberInCase: 2; |
1401 Ammo: (Propz: ammoprop_ForwMsgs; |
1408 Ammo: (Propz: ammoprop_ForwMsgs; |
1402 Count: 1; |
1409 Count: 1; |
1403 InitialCount: 1; |
|
1404 NumPerTurn: 0; |
1410 NumPerTurn: 0; |
1405 Timer: 0; |
1411 Timer: 0; |
1406 Pos: 0; |
1412 Pos: 0; |
1407 AmmoType: amBlowTorch; |
1413 AmmoType: amBlowTorch; |
1408 AttackVoice: sndNone); |
1414 AttackVoice: sndNone); |
1426 ammoprop_NoCrosshair or |
1432 ammoprop_NoCrosshair or |
1427 ammoprop_NeedTarget or |
1433 ammoprop_NeedTarget or |
1428 ammoprop_Utility or |
1434 ammoprop_Utility or |
1429 ammoprop_AttackingPut; |
1435 ammoprop_AttackingPut; |
1430 Count: 1; |
1436 Count: 1; |
1431 InitialCount: 1; |
|
1432 NumPerTurn: 0; |
1437 NumPerTurn: 0; |
1433 Timer: 0; |
1438 Timer: 0; |
1434 Pos: 0; |
1439 Pos: 0; |
1435 AmmoType: amGirder; |
1440 AmmoType: amGirder; |
1436 AttackVoice: sndNone); |
1441 AttackVoice: sndNone); |
1455 ammoprop_NeedTarget or |
1460 ammoprop_NeedTarget or |
1456 ammoprop_AttackingPut or |
1461 ammoprop_AttackingPut or |
1457 ammoprop_Utility or |
1462 ammoprop_Utility or |
1458 ammoprop_DontHold; |
1463 ammoprop_DontHold; |
1459 Count: 2; |
1464 Count: 2; |
1460 InitialCount: 2; |
|
1461 NumPerTurn: 0; |
1465 NumPerTurn: 0; |
1462 Timer: 0; |
1466 Timer: 0; |
1463 Pos: 0; |
1467 Pos: 0; |
1464 AmmoType: amTeleport; |
1468 AmmoType: amTeleport; |
1465 AttackVoice: sndNone); |
1469 AttackVoice: sndNone); |
1483 ammoprop_ForwMsgs or |
1487 ammoprop_ForwMsgs or |
1484 ammoprop_NoCrosshair or |
1488 ammoprop_NoCrosshair or |
1485 ammoprop_Utility or |
1489 ammoprop_Utility or |
1486 ammoprop_DontHold; |
1490 ammoprop_DontHold; |
1487 Count: 3; |
1491 Count: 3; |
1488 InitialCount: 3; |
|
1489 NumPerTurn: 0; |
1492 NumPerTurn: 0; |
1490 Timer: 0; |
1493 Timer: 0; |
1491 Pos: 0; |
1494 Pos: 0; |
1492 AmmoType: amSwitch; |
1495 AmmoType: amSwitch; |
1493 AttackVoice: sndNone); |
1496 AttackVoice: sndNone); |
1507 NameTex: nil; |
1510 NameTex: nil; |
1508 Probability: 100; |
1511 Probability: 100; |
1509 NumberInCase: 4; |
1512 NumberInCase: 4; |
1510 Ammo: (Propz: 0; |
1513 Ammo: (Propz: 0; |
1511 Count: 4; |
1514 Count: 4; |
1512 InitialCount: 4; |
|
1513 NumPerTurn: 0; |
1515 NumPerTurn: 0; |
1514 Timer: 0; |
1516 Timer: 0; |
1515 Pos: 0; |
1517 Pos: 0; |
1516 AmmoType: amMortar; |
1518 AmmoType: amMortar; |
1517 AttackVoice: sndNone); |
1519 AttackVoice: sndNone); |
1531 NameTex: nil; |
1533 NameTex: nil; |
1532 Probability: 100; |
1534 Probability: 100; |
1533 NumberInCase: 1; |
1535 NumberInCase: 1; |
1534 Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_DontHold or ammoprop_AttackInMove; |
1536 Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_DontHold or ammoprop_AttackInMove; |
1535 Count: 1; |
1537 Count: 1; |
1536 InitialCount: 1; |
|
1537 NumPerTurn: 0; |
1538 NumPerTurn: 0; |
1538 Timer: 0; |
1539 Timer: 0; |
1539 Pos: 0; |
1540 Pos: 0; |
1540 AmmoType: amKamikaze; |
1541 AmmoType: amKamikaze; |
1541 AttackVoice: sndNone); |
1542 AttackVoice: sndNone); |
1555 NameTex: nil; |
1556 NameTex: nil; |
1556 Probability: 100; |
1557 Probability: 100; |
1557 NumberInCase: 1; |
1558 NumberInCase: 1; |
1558 Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_NoCrosshair or ammoprop_DontHold; |
1559 Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_NoCrosshair or ammoprop_DontHold; |
1559 Count: 1; |
1560 Count: 1; |
1560 InitialCount: 1; |
|
1561 NumPerTurn: 0; |
1561 NumPerTurn: 0; |
1562 Timer: 0; |
1562 Timer: 0; |
1563 Pos: 0; |
1563 Pos: 0; |
1564 AmmoType: amCake; |
1564 AmmoType: amCake; |
1565 AttackVoice: sndLaugh); |
1565 AttackVoice: sndLaugh); |
1579 NameTex: nil; |
1579 NameTex: nil; |
1580 Probability: 100; |
1580 Probability: 100; |
1581 NumberInCase: 1; |
1581 NumberInCase: 1; |
1582 Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_DontHold; |
1582 Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_DontHold; |
1583 Count: 1; |
1583 Count: 1; |
1584 InitialCount: 1; |
|
1585 NumPerTurn: 0; |
1584 NumPerTurn: 0; |
1586 Timer: 0; |
1585 Timer: 0; |
1587 Pos: 0; |
1586 Pos: 0; |
1588 AmmoType: amSeduction; |
1587 AmmoType: amSeduction; |
1589 AttackVoice: sndNone); |
1588 AttackVoice: sndNone); |
1603 NameTex: nil; |
1602 NameTex: nil; |
1604 Probability: 400; |
1603 Probability: 400; |
1605 NumberInCase: 1; |
1604 NumberInCase: 1; |
1606 Ammo: (Propz: ammoprop_Timerable or ammoprop_Power or ammoprop_AltUse; |
1605 Ammo: (Propz: ammoprop_Timerable or ammoprop_Power or ammoprop_AltUse; |
1607 Count: 0; |
1606 Count: 0; |
1608 InitialCount: 0; |
|
1609 NumPerTurn: 0; |
1607 NumPerTurn: 0; |
1610 Timer: 3000; |
1608 Timer: 3000; |
1611 Pos: 0; |
1609 Pos: 0; |
1612 AmmoType: amWatermelon; |
1610 AmmoType: amWatermelon; |
1613 AttackVoice: sndMelon); |
1611 AttackVoice: sndMelon); |
1627 NameTex: nil; |
1625 NameTex: nil; |
1628 Probability: 400; |
1626 Probability: 400; |
1629 NumberInCase: 1; |
1627 NumberInCase: 1; |
1630 Ammo: (Propz: ammoprop_Power or ammoprop_AltUse; |
1628 Ammo: (Propz: ammoprop_Power or ammoprop_AltUse; |
1631 Count: 0; |
1629 Count: 0; |
1632 InitialCount: 0; |
|
1633 NumPerTurn: 0; |
1630 NumPerTurn: 0; |
1634 Timer: 5000; |
1631 Timer: 5000; |
1635 Pos: 0; |
1632 Pos: 0; |
1636 AmmoType: amHellishBomb; |
1633 AmmoType: amHellishBomb; |
1637 AttackVoice: sndNone); |
1634 AttackVoice: sndNone); |
1655 ammoprop_NeedTarget or |
1652 ammoprop_NeedTarget or |
1656 ammoprop_AttackingPut or |
1653 ammoprop_AttackingPut or |
1657 ammoprop_DontHold or |
1654 ammoprop_DontHold or |
1658 ammoprop_NotBorder; |
1655 ammoprop_NotBorder; |
1659 Count: 1; |
1656 Count: 1; |
1660 InitialCount: 1; |
|
1661 NumPerTurn: 0; |
1657 NumPerTurn: 0; |
1662 Timer: 0; |
1658 Timer: 0; |
1663 Pos: 0; |
1659 Pos: 0; |
1664 AmmoType: amNapalm; |
1660 AmmoType: amNapalm; |
1665 AttackVoice: sndIncoming); |
1661 AttackVoice: sndIncoming); |
1679 NameTex: nil; |
1675 NameTex: nil; |
1680 Probability: 300; |
1676 Probability: 300; |
1681 NumberInCase: 1; |
1677 NumberInCase: 1; |
1682 Ammo: (Propz: ammoprop_Power or ammoprop_AltUse; |
1678 Ammo: (Propz: ammoprop_Power or ammoprop_AltUse; |
1683 Count: AMMO_INFINITE; |
1679 Count: AMMO_INFINITE; |
1684 InitialCount: AMMO_INFINITE; |
|
1685 NumPerTurn: 0; |
1680 NumPerTurn: 0; |
1686 Timer: 0; |
1681 Timer: 0; |
1687 Pos: 0; |
1682 Pos: 0; |
1688 AmmoType: amDrill; |
1683 AmmoType: amDrill; |
1689 AttackVoice: sndNone); |
1684 AttackVoice: sndNone); |
1703 NameTex: nil; |
1698 NameTex: nil; |
1704 Probability: 400; |
1699 Probability: 400; |
1705 NumberInCase: 1; |
1700 NumberInCase: 1; |
1706 Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_DontHold; |
1701 Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_DontHold; |
1707 Count: AMMO_INFINITE; |
1702 Count: AMMO_INFINITE; |
1708 InitialCount: AMMO_INFINITE; |
|
1709 NumPerTurn: 0; |
1703 NumPerTurn: 0; |
1710 Timer: 5001; |
1704 Timer: 5001; |
1711 Pos: 0; |
1705 Pos: 0; |
1712 AmmoType: amBallgun; |
1706 AmmoType: amBallgun; |
1713 AttackVoice: sndNone); |
1707 AttackVoice: sndNone); |
1729 NumberInCase: 1; |
1723 NumberInCase: 1; |
1730 Ammo: (Propz: ammoprop_ForwMsgs{ or |
1724 Ammo: (Propz: ammoprop_ForwMsgs{ or |
1731 ammoprop_DontHold or |
1725 ammoprop_DontHold or |
1732 ammoprop_AltAttack}; |
1726 ammoprop_AltAttack}; |
1733 Count: 1; |
1727 Count: 1; |
1734 InitialCount: 1; |
|
1735 NumPerTurn: 0; |
1728 NumPerTurn: 0; |
1736 Timer: 0; |
1729 Timer: 0; |
1737 Pos: 0; |
1730 Pos: 0; |
1738 AmmoType: amRCPlane; |
1731 AmmoType: amRCPlane; |
1739 AttackVoice: sndNone); |
1732 AttackVoice: sndNone); |
1758 ammoprop_DontHold or |
1751 ammoprop_DontHold or |
1759 ammoprop_AltUse or |
1752 ammoprop_AltUse or |
1760 ammoprop_Utility or |
1753 ammoprop_Utility or |
1761 ammoprop_Effect; |
1754 ammoprop_Effect; |
1762 Count: 1; |
1755 Count: 1; |
1763 InitialCount: 1; |
|
1764 NumPerTurn: 0; |
1756 NumPerTurn: 0; |
1765 Timer: 0; |
1757 Timer: 0; |
1766 Pos: 0; |
1758 Pos: 0; |
1767 AmmoType: amLowGravity; |
1759 AmmoType: amLowGravity; |
1768 AttackVoice: sndNone); |
1760 AttackVoice: sndNone); |
1787 ammoprop_DontHold or |
1779 ammoprop_DontHold or |
1788 ammoprop_AltUse or |
1780 ammoprop_AltUse or |
1789 ammoprop_Utility or |
1781 ammoprop_Utility or |
1790 ammoprop_Effect; |
1782 ammoprop_Effect; |
1791 Count: 1; |
1783 Count: 1; |
1792 InitialCount: 1; |
|
1793 NumPerTurn: 0; |
1784 NumPerTurn: 0; |
1794 Timer: 0; |
1785 Timer: 0; |
1795 Pos: 0; |
1786 Pos: 0; |
1796 AmmoType: amExtraDamage; |
1787 AmmoType: amExtraDamage; |
1797 AttackVoice: sndNone); |
1788 AttackVoice: sndNone); |
1816 ammoprop_DontHold or |
1807 ammoprop_DontHold or |
1817 ammoprop_AltUse or |
1808 ammoprop_AltUse or |
1818 ammoprop_Utility or |
1809 ammoprop_Utility or |
1819 ammoprop_Effect; |
1810 ammoprop_Effect; |
1820 Count: 1; |
1811 Count: 1; |
1821 InitialCount: 1; |
|
1822 NumPerTurn: 0; |
1812 NumPerTurn: 0; |
1823 Timer: 0; |
1813 Timer: 0; |
1824 Pos: 0; |
1814 Pos: 0; |
1825 AmmoType: amInvulnerable; |
1815 AmmoType: amInvulnerable; |
1826 AttackVoice: sndNone); |
1816 AttackVoice: sndNone); |
1845 ammoprop_DontHold or |
1835 ammoprop_DontHold or |
1846 ammoprop_AltUse or |
1836 ammoprop_AltUse or |
1847 ammoprop_Utility or |
1837 ammoprop_Utility or |
1848 ammoprop_Effect; |
1838 ammoprop_Effect; |
1849 Count: 1; |
1839 Count: 1; |
1850 InitialCount: 1; |
|
1851 NumPerTurn: 0; |
1840 NumPerTurn: 0; |
1852 Timer: 0; |
1841 Timer: 0; |
1853 Pos: 0; |
1842 Pos: 0; |
1854 AmmoType: amExtraTime; |
1843 AmmoType: amExtraTime; |
1855 AttackVoice: sndNone); |
1844 AttackVoice: sndNone); |
1874 ammoprop_DontHold or |
1863 ammoprop_DontHold or |
1875 ammoprop_AltUse or |
1864 ammoprop_AltUse or |
1876 ammoprop_Utility or |
1865 ammoprop_Utility or |
1877 ammoprop_Effect; |
1866 ammoprop_Effect; |
1878 Count: 1; |
1867 Count: 1; |
1879 InitialCount: 1; |
|
1880 NumPerTurn: 0; |
1868 NumPerTurn: 0; |
1881 Timer: 0; |
1869 Timer: 0; |
1882 Pos: 0; |
1870 Pos: 0; |
1883 AmmoType: amLaserSight; |
1871 AmmoType: amLaserSight; |
1884 AttackVoice: sndNone); |
1872 AttackVoice: sndNone); |
1903 ammoprop_DontHold or |
1891 ammoprop_DontHold or |
1904 ammoprop_AltUse or |
1892 ammoprop_AltUse or |
1905 ammoprop_Utility or |
1893 ammoprop_Utility or |
1906 ammoprop_Effect; |
1894 ammoprop_Effect; |
1907 Count: 1; |
1895 Count: 1; |
1908 InitialCount: 1; |
|
1909 NumPerTurn: 0; |
1896 NumPerTurn: 0; |
1910 Timer: 0; |
1897 Timer: 0; |
1911 Pos: 0; |
1898 Pos: 0; |
1912 AmmoType: amVampiric; |
1899 AmmoType: amVampiric; |
1913 AttackVoice: sndNone); |
1900 AttackVoice: sndNone); |
1927 NameTex: nil; |
1914 NameTex: nil; |
1928 Probability: 20; |
1915 Probability: 20; |
1929 NumberInCase: 2; |
1916 NumberInCase: 2; |
1930 Ammo: (Propz: 0; |
1917 Ammo: (Propz: 0; |
1931 Count: 2; |
1918 Count: 2; |
1932 InitialCount: 2; |
|
1933 NumPerTurn: 1; |
1919 NumPerTurn: 1; |
1934 Timer: 0; |
1920 Timer: 0; |
1935 Pos: 0; |
1921 Pos: 0; |
1936 AmmoType: amSniperRifle; |
1922 AmmoType: amSniperRifle; |
1937 AttackVoice: sndNone); |
1923 AttackVoice: sndNone); |
1957 ammoprop_NoCrosshair or |
1943 ammoprop_NoCrosshair or |
1958 ammoprop_DontHold or |
1944 ammoprop_DontHold or |
1959 ammoprop_Utility or |
1945 ammoprop_Utility or |
1960 ammoprop_AltAttack; |
1946 ammoprop_AltAttack; |
1961 Count: 1; |
1947 Count: 1; |
1962 InitialCount: 1; |
|
1963 NumPerTurn: 0; |
1948 NumPerTurn: 0; |
1964 Timer: 0; |
1949 Timer: 0; |
1965 Pos: 0; |
1950 Pos: 0; |
1966 AmmoType: amJetpack; |
1951 AmmoType: amJetpack; |
1967 AttackVoice: sndNone); |
1952 AttackVoice: sndNone); |
1981 NameTex: nil; |
1966 NameTex: nil; |
1982 Probability: 0; |
1967 Probability: 0; |
1983 NumberInCase: 1; |
1968 NumberInCase: 1; |
1984 Ammo: (Propz: ammoprop_Power or ammoprop_AltUse; |
1969 Ammo: (Propz: ammoprop_Power or ammoprop_AltUse; |
1985 Count: AMMO_INFINITE; |
1970 Count: AMMO_INFINITE; |
1986 InitialCount: AMMO_INFINITE; |
|
1987 NumPerTurn: 0; |
1971 NumPerTurn: 0; |
1988 Timer: 3000; |
1972 Timer: 3000; |
1989 Pos: 0; |
1973 Pos: 0; |
1990 AmmoType: amMolotov; |
1974 AmmoType: amMolotov; |
1991 AttackVoice: sndNone); |
1975 AttackVoice: sndNone); |
2007 NumberInCase: 1; |
1991 NumberInCase: 1; |
2008 Ammo: (Propz: ammoprop_ForwMsgs or |
1992 Ammo: (Propz: ammoprop_ForwMsgs or |
2009 ammoprop_NoCrosshair or |
1993 ammoprop_NoCrosshair or |
2010 ammoprop_DontHold; |
1994 ammoprop_DontHold; |
2011 Count: 1; |
1995 Count: 1; |
2012 InitialCount: 1; |
|
2013 NumPerTurn: 0; |
1996 NumPerTurn: 0; |
2014 Timer: 0; |
1997 Timer: 0; |
2015 Pos: 0; |
1998 Pos: 0; |
2016 AmmoType: amBirdy; |
1999 AmmoType: amBirdy; |
2017 AttackVoice: sndNone); |
2000 AttackVoice: sndNone); |
2034 Ammo: (Propz: ammoprop_NoRoundEndHint or |
2017 Ammo: (Propz: ammoprop_NoRoundEndHint or |
2035 ammoprop_AttackInMove or |
2018 ammoprop_AttackInMove or |
2036 ammoprop_DontHold or |
2019 ammoprop_DontHold or |
2037 ammoprop_Utility; |
2020 ammoprop_Utility; |
2038 Count: 1; |
2021 Count: 1; |
2039 InitialCount: 1; |
|
2040 NumPerTurn: 3; |
2022 NumPerTurn: 3; |
2041 Timer: 0; |
2023 Timer: 0; |
2042 Pos: 0; |
2024 Pos: 0; |
2043 AmmoType: amPortalGun; |
2025 AmmoType: amPortalGun; |
2044 AttackVoice: sndNone); |
2026 AttackVoice: sndNone); |
2062 ammoprop_NeedTarget or |
2044 ammoprop_NeedTarget or |
2063 ammoprop_AttackingPut or |
2045 ammoprop_AttackingPut or |
2064 ammoprop_DontHold or |
2046 ammoprop_DontHold or |
2065 ammoprop_NotBorder; |
2047 ammoprop_NotBorder; |
2066 Count: 1; |
2048 Count: 1; |
2067 InitialCount: 1; |
|
2068 NumPerTurn: 0; |
2049 NumPerTurn: 0; |
2069 Timer: 0; |
2050 Timer: 0; |
2070 Pos: 0; |
2051 Pos: 0; |
2071 AmmoType: amPiano; |
2052 AmmoType: amPiano; |
2072 AttackVoice: sndIncoming); |
2053 AttackVoice: sndIncoming); |
2086 NameTex: nil; |
2067 NameTex: nil; |
2087 Probability: 0; |
2068 Probability: 0; |
2088 NumberInCase: 1; |
2069 NumberInCase: 1; |
2089 Ammo: (Propz: ammoprop_Timerable or ammoprop_Power or ammoprop_AltUse; |
2070 Ammo: (Propz: ammoprop_Timerable or ammoprop_Power or ammoprop_AltUse; |
2090 Count: AMMO_INFINITE; |
2071 Count: AMMO_INFINITE; |
2091 InitialCount: AMMO_INFINITE; |
|
2092 NumPerTurn: 0; |
2072 NumPerTurn: 0; |
2093 Timer: 3000; |
2073 Timer: 3000; |
2094 Pos: 0; |
2074 Pos: 0; |
2095 AmmoType: amGasBomb; |
2075 AmmoType: amGasBomb; |
2096 AttackVoice: sndCover); |
2076 AttackVoice: sndCover); |
2102 SkipTurns: 0; |
2082 SkipTurns: 0; |
2103 PosCount: 1; |
2083 PosCount: 1; |
2104 PosSprite: sprWater; |
2084 PosSprite: sprWater; |
2105 ejectX: 0; |
2085 ejectX: 0; |
2106 ejectY: 0), |
2086 ejectY: 0), |
2107 |
2087 |
2108 // SineGun |
2088 // SineGun |
2109 (NameId: sidSineGun; |
2089 (NameId: sidSineGun; |
2110 NameTex: nil; |
2090 NameTex: nil; |
2111 Probability: 20; |
2091 Probability: 20; |
2112 NumberInCase: 2; |
2092 NumberInCase: 2; |
2113 Ammo: (Propz: ammoprop_AttackInMove; |
2093 Ammo: (Propz: ammoprop_AttackInMove; |
2114 Count: 1; |
2094 Count: 1; |
2115 InitialCount: 1; |
|
2116 NumPerTurn: 0; |
2095 NumPerTurn: 0; |
2117 Timer: 0; |
2096 Timer: 0; |
2118 Pos: 0; |
2097 Pos: 0; |
2119 AmmoType: amSineGun; |
2098 AmmoType: amSineGun; |
2120 AttackVoice: sndNone); |
2099 AttackVoice: sndNone); |
2134 NameTex: nil; |
2113 NameTex: nil; |
2135 Probability: 20; |
2114 Probability: 20; |
2136 NumberInCase: 1; |
2115 NumberInCase: 1; |
2137 Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_DontHold; |
2116 Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_DontHold; |
2138 Count: 1; |
2117 Count: 1; |
2139 InitialCount: 1; |
|
2140 NumPerTurn: 0; |
2118 NumPerTurn: 0; |
2141 Timer: 5001; |
2119 Timer: 5001; |
2142 Pos: 0; |
2120 Pos: 0; |
2143 AmmoType: amFlamethrower; |
2121 AmmoType: amFlamethrower; |
2144 AttackVoice: sndNone); |
2122 AttackVoice: sndNone); |
2149 isDamaging: true; |
2127 isDamaging: true; |
2150 SkipTurns: 0; |
2128 SkipTurns: 0; |
2151 PosCount: 1; |
2129 PosCount: 1; |
2152 PosSprite: sprWater; |
2130 PosSprite: sprWater; |
2153 ejectX: 0; //20; |
2131 ejectX: 0; //20; |
2154 ejectY: -3) |
2132 ejectY: -3), |
2155 ); |
2133 |
2134 // Sticky Mine |
|
2135 (NameId: sidSMine; |
|
2136 NameTex: nil; |
|
2137 Probability: 100; |
|
2138 NumberInCase: 1; |
|
2139 Ammo: (Propz: ammoprop_Power or ammoprop_AltUse; |
|
2140 Count: 1; |
|
2141 NumPerTurn: 1; |
|
2142 Timer: 0; |
|
2143 Pos: 0; |
|
2144 AmmoType: amSMine; |
|
2145 AttackVoice: sndLaugh); |
|
2146 Slot: 4; |
|
2147 TimeAfterTurn: 5000; |
|
2148 minAngle: 0; |
|
2149 maxAngle: 0; |
|
2150 isDamaging: true; |
|
2151 SkipTurns: 0; |
|
2152 PosCount: 1; |
|
2153 PosSprite: sprWater; |
|
2154 ejectX: 0; |
|
2155 ejectY: 0), |
|
2156 |
|
2157 // Hammer |
|
2158 (NameId: sidHammer; |
|
2159 NameTex: nil; |
|
2160 Probability: 0; |
|
2161 NumberInCase: 1; |
|
2162 Ammo: (Propz: ammoprop_NoCrosshair; |
|
2163 Count: 1; |
|
2164 NumPerTurn: 0; |
|
2165 Timer: 0; |
|
2166 Pos: 0; |
|
2167 AmmoType: amHammer; |
|
2168 AttackVoice: sndNone); |
|
2169 Slot: 3; |
|
2170 TimeAfterTurn: 1000; |
|
2171 MinAngle: 0; |
|
2172 maxAngle: 0; |
|
2173 isDamaging: true; |
|
2174 SkipTurns: 0; |
|
2175 PosCount: 1; |
|
2176 PosSprite: sprWater; |
|
2177 ejectX: 0; |
|
2178 ejectY: 0), |
|
2179 |
|
2180 (NameId: sidResurrector; |
|
2181 NameTex: nil; |
|
2182 Probability: 0; |
|
2183 NumberInCase: 1; |
|
2184 Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_NoRoundEndHint; |
|
2185 Count: 1; |
|
2186 NumPerTurn: 0; |
|
2187 Timer: 0; |
|
2188 Pos: 0; |
|
2189 AmmoType: amResurrector; |
|
2190 AttackVoice: sndNone); |
|
2191 Slot: 8; |
|
2192 TimeAfterTurn: 3000; |
|
2193 minAngle: 0; |
|
2194 maxAngle: 0; |
|
2195 isDamaging: true; |
|
2196 SkipTurns: 0; |
|
2197 PosCount: 1; |
|
2198 PosSprite: sprWater; |
|
2199 ejectX: 0; |
|
2200 ejectY: 0) |
|
2201 ); |
|
2202 |
|
2156 |
2203 |
2157 |
2204 |
2158 conversionFormat: TSDL_PixelFormat = ( |
2205 conversionFormat: TSDL_PixelFormat = ( |
2159 palette: nil; |
2206 palette: nil; |
2160 BitsPerPixel : 32; |
2207 BitsPerPixel : 32; |
2179 BMask : BMask; |
2226 BMask : BMask; |
2180 AMask : AMask; |
2227 AMask : AMask; |
2181 colorkey: 0; |
2228 colorkey: 0; |
2182 alpha : 255 |
2229 alpha : 255 |
2183 ); |
2230 ); |
2184 |
|
2185 procedure initModule; |
|
2186 procedure freeModule; |
|
2187 |
2231 |
2188 implementation |
2232 implementation |
2189 uses uMisc; |
|
2190 |
|
2191 procedure initModule; |
|
2192 begin |
|
2193 Pathz:= cPathz; |
|
2194 {* REFERENCE |
|
2195 4096 -> $FFFFF000 |
|
2196 2048 -> $FFFFF800 |
|
2197 1024 -> $FFFFFC00 |
|
2198 512 -> $FFFFFE00 *} |
|
2199 if (cReducedQuality and rqLowRes) <> 0 then |
|
2200 begin |
|
2201 LAND_WIDTH:= 2048; |
|
2202 LAND_HEIGHT:= 1024; |
|
2203 LAND_WIDTH_MASK:= $FFFFF800; |
|
2204 LAND_HEIGHT_MASK:= $FFFFFC00; |
|
2205 end |
|
2206 else |
|
2207 begin |
|
2208 LAND_WIDTH:= 4096; |
|
2209 LAND_HEIGHT:= 2048; |
|
2210 LAND_WIDTH_MASK:= $FFFFF000; |
|
2211 LAND_HEIGHT_MASK:= $FFFFF800 |
|
2212 end; |
|
2213 |
|
2214 {$IFDEF IPHONEOS} |
|
2215 if isPhone() then |
|
2216 cMaxCaptions:= 3 |
|
2217 else |
|
2218 {$ENDIF} |
|
2219 cMaxCaptions:= 4; |
|
2220 |
|
2221 end; |
|
2222 |
|
2223 procedure freeModule; |
|
2224 begin |
|
2225 PathPrefix := './'; |
|
2226 end; |
|
2227 |
2233 |
2228 end. |
2234 end. |