branch | ui-scaling |
changeset 15283 | c4fd2813b127 |
parent 13389 | 24b531dcebe7 |
parent 15267 | 22f2fd8a3d2c |
child 15663 | d92eeb468dad |
13390:0135e64c6c66 | 15283:c4fd2813b127 |
---|---|
39 cNewScreenHeight : LongInt; |
39 cNewScreenHeight : LongInt; |
40 cScreenResizeDelay : LongWord; |
40 cScreenResizeDelay : LongWord; |
41 ipcPort : Word; |
41 ipcPort : Word; |
42 AprilOne : boolean; |
42 AprilOne : boolean; |
43 cFullScreen : boolean; |
43 cFullScreen : boolean; |
44 cLocaleFName : shortstring; |
44 cLanguageFName : shortstring; |
45 cLocale : shortstring; |
45 cLanguage : shortstring; |
46 cTimerInterval : LongInt; |
46 cTimerInterval : LongInt; |
47 PathPrefix : ansistring; |
47 PathPrefix : ansistring; |
48 UserPathPrefix : ansistring; |
48 UserPathPrefix : ansistring; |
49 cShowFPS : boolean; |
49 cShowFPS : boolean; |
50 cFlattenFlakes : boolean; |
50 cFlattenFlakes : boolean; |
53 cSnow : boolean; |
53 cSnow : boolean; |
54 isInChatMode : boolean; |
54 isInChatMode : boolean; |
55 |
55 |
56 cAltDamage : boolean; |
56 cAltDamage : boolean; |
57 cReducedQuality : LongWord; |
57 cReducedQuality : LongWord; |
58 cHolidaySilliness : boolean; |
|
58 UserNick : shortstring; |
59 UserNick : shortstring; |
59 recordFileName : shortstring; |
60 recordFileName : shortstring; |
60 cReadyDelay : Longword; |
61 cReadyDelay : Longword; |
61 cStereoMode : TStereoMode; |
62 cStereoMode : TStereoMode; |
62 cOnlyStats : boolean; |
63 cOnlyStats : boolean; |
76 isInLag : boolean; |
77 isInLag : boolean; |
77 isPaused : boolean; |
78 isPaused : boolean; |
78 isInMultiShoot : boolean; |
79 isInMultiShoot : boolean; |
79 isSpeed : boolean; |
80 isSpeed : boolean; |
80 isAFK : boolean; |
81 isAFK : boolean; |
82 isShowMission : boolean; |
|
83 isShowGearInfo : boolean; |
|
84 isForceMission : boolean; |
|
81 SpeedStart : LongWord; |
85 SpeedStart : LongWord; |
82 |
86 |
83 fastUntilLag : boolean; |
87 fastUntilLag : boolean; |
84 fastScrolling : boolean; |
88 fastScrolling : boolean; |
85 autoCameraOn : boolean; |
89 autoCameraOn : boolean; |
86 |
90 |
87 CheckSum : LongWord; |
91 CheckSum : LongWord; |
88 CampaignVariable: shortstring; |
92 CampaignVariable: shortstring; |
93 MissionVariable : shortstring; |
|
89 GameTicks : LongWord; |
94 GameTicks : LongWord; |
95 OuchTauntTimer : LongWord; // Timer which blocks sndOuch from being played too often and fast |
|
90 GameState : TGameState; |
96 GameState : TGameState; |
91 GameType : TGameType; |
97 GameType : TGameType; |
92 InputMask : LongWord; |
98 InputMask : LongWord; |
93 GameFlags : Longword; |
99 GameFlags : Longword; |
94 WorldEdge : TWorldEdge; |
100 WorldEdge : TWorldEdge; |
99 TagTurnTimeLeft : Longword; |
105 TagTurnTimeLeft : Longword; |
100 ReadyTimeLeft : Longword; |
106 ReadyTimeLeft : Longword; |
101 IsGetAwayTime : boolean; |
107 IsGetAwayTime : boolean; |
102 GameOver : boolean; |
108 GameOver : boolean; |
103 cSuddenDTurns : LongInt; |
109 cSuddenDTurns : LongInt; |
110 LastSuddenDWarn : LongInt; // last round in which the last SD warning appeared. -2 = no warning so far |
|
111 cInitHealth : LongInt; // initial hedgehog health (from game scheme. note the real hog health is sent directly |
|
112 // from frontend, this is only used to inform Lua scripts) |
|
104 cDamagePercent : LongInt; |
113 cDamagePercent : LongInt; |
105 cMineDudPercent : LongWord; |
114 cMineDudPercent : LongWord; |
106 cTemplateFilter : LongInt; |
115 cTemplateFilter : LongInt; |
107 cFeatureSize : LongInt; |
116 cFeatureSize : LongInt; |
108 cMapGen : TMapGen; |
117 cMapGen : TMapGen; |
109 cRopePercent : LongWord; |
118 cRopePercent : LongWord; |
119 cRopeNodeStep : LongWord; |
|
120 cRopeLayers : LongInt; |
|
110 cGetAwayTime : LongWord; |
121 cGetAwayTime : LongWord; |
111 |
122 |
112 cAdvancedMapGenMode: boolean; |
123 cAdvancedMapGenMode: boolean; |
113 |
124 |
114 cHedgehogTurnTime: Longword; |
125 cHedgehogTurnTime: Longword; |
123 cCloudsNumber : LongWord; |
134 cCloudsNumber : LongWord; |
124 cSDCloudsNumber : LongWord; |
135 cSDCloudsNumber : LongWord; |
125 |
136 |
126 cTagsMask : byte; |
137 cTagsMask : byte; |
127 cPrevTagsMask : byte; |
138 cPrevTagsMask : byte; |
128 zoom : GLfloat; |
139 zoom : GLfloat; // current zoom |
129 ZoomValue : GLfloat; |
140 ZoomValue : GLfloat; // aimed zoom |
141 UserZoom : GLfloat; // user-chosen initial and default zoom |
|
130 ChatScaleValue : real; |
142 ChatScaleValue : real; |
131 cDefaultChatScale: real; |
143 cDefaultChatScale: real; |
132 UIScaleValue : real; |
144 UIScaleValue : real; |
133 |
145 |
134 cWaterLine : LongInt; |
146 cWaterLine : LongInt; |
160 cLeftScreenBorder : LongInt; |
172 cLeftScreenBorder : LongInt; |
161 cRightScreenBorder : LongInt; |
173 cRightScreenBorder : LongInt; |
162 cScreenSpace : Longword; |
174 cScreenSpace : Longword; |
163 |
175 |
164 cCaseFactor : Longword; |
176 cCaseFactor : Longword; |
177 cMaxCaseDrops : Longword; // Max. number of crates which can be in the game when dropping |
|
178 |
|
165 cLandMines : Longword; |
179 cLandMines : Longword; |
166 cAirMines : Longword; |
180 cAirMines : Longword; |
167 cExplosives : Longword; |
181 cExplosives : Longword; |
168 |
182 |
169 cScriptName : shortstring; |
183 cScriptName : shortstring; |
170 cScriptParam : shortstring; |
184 cScriptParam : shortstring; |
171 cSeed : shortstring; |
185 cSeed : shortstring; |
186 cIsSoundEnabled : boolean; // If the sound system is enabled |
|
172 cVolumeDelta : LongInt; |
187 cVolumeDelta : LongInt; |
188 cVolumeUpKey : boolean; |
|
189 cVolumeDownKey : boolean; |
|
173 cMuteToggle : boolean; // Mute toggle requested |
190 cMuteToggle : boolean; // Mute toggle requested |
174 cHasFocus : boolean; |
191 cHasFocus : boolean; |
175 cInactDelay : Longword; |
192 cInactDelay : Longword; |
176 |
193 |
177 bBetweenTurns : boolean; |
194 bBetweenTurns : boolean; |
178 bWaterRising : boolean; |
195 bWaterRising : boolean; |
196 bDuringWaterRise: boolean; |
|
179 |
197 |
180 CrosshairX : LongInt; |
198 CrosshairX : LongInt; |
181 CrosshairY : LongInt; |
199 CrosshairY : LongInt; |
200 CrosshairGear : PGear; |
|
182 CursorMovementX : LongInt; |
201 CursorMovementX : LongInt; |
183 CursorMovementY : LongInt; |
202 CursorMovementY : LongInt; |
184 cWaveHeight : LongInt; |
203 cWaveHeight : LongInt; |
185 cDrownSpeed : hwFloat; |
204 cDrownSpeed : hwFloat; |
186 cDrownSpeedf : real; |
205 cDrownSpeedf : real; |
201 AmmoRect : TSDL_Rect; |
220 AmmoRect : TSDL_Rect; |
202 HHTexture : PTexture; |
221 HHTexture : PTexture; |
203 cMaxZoomLevel : real; |
222 cMaxZoomLevel : real; |
204 cMinZoomLevel : real; |
223 cMinZoomLevel : real; |
205 cZoomDelta : real; |
224 cZoomDelta : real; |
225 cZoomDeltaSmall : real; |
|
206 cMinMaxZoomLevelDelta : real; |
226 cMinMaxZoomLevelDelta : real; |
227 cDemoClockFPSOffsetY : LongInt; |
|
207 |
228 |
208 |
229 |
209 flagMakeCapture : boolean; |
230 flagMakeCapture : boolean; |
210 flagDumpLand : boolean; |
231 flagDumpLand : boolean; |
211 |
232 |
213 RealTicks : Longword; |
234 RealTicks : Longword; |
214 AttackBar : LongInt; |
235 AttackBar : LongInt; |
215 |
236 |
216 WaterColorArray : array[0..7] of HwColor4f; |
237 WaterColorArray : array[0..7] of HwColor4f; |
217 SDWaterColorArray : array[0..7] of HwColor4f; |
238 SDWaterColorArray : array[0..7] of HwColor4f; |
239 ClanColorArray : array[0..Pred(cClanColors)] of Longword; |
|
218 |
240 |
219 TargetCursorPoint : TPoint; |
241 TargetCursorPoint : TPoint; |
220 CursorPoint : TPoint; |
242 CursorPoint : TPoint; |
243 CursorPointDelta : TPoint; |
|
221 TargetPoint : TPoint; |
244 TargetPoint : TPoint; |
222 |
245 |
223 ScreenFade : TScreenFade; |
246 ScreenFade : TScreenFade; |
224 ScreenFadeValue : LongInt; |
247 ScreenFadeValue : LongInt; |
225 ScreenFadeSpeed : LongInt; |
248 ScreenFadeSpeed : LongInt; |
257 |
280 |
258 // for EndTurn Lua call |
281 // for EndTurn Lua call |
259 LuaEndTurnRequested: boolean; |
282 LuaEndTurnRequested: boolean; |
260 LuaNoEndTurnTaunts: boolean; |
283 LuaNoEndTurnTaunts: boolean; |
261 |
284 |
285 // whether Lua requested to pause the clock |
|
286 LuaClockPaused: boolean; |
|
287 |
|
288 // whether /lua command was used |
|
289 LuaCmdUsed: boolean; |
|
290 |
|
262 MaskedSounds : array[TSound] of boolean; |
291 MaskedSounds : array[TSound] of boolean; |
263 |
292 |
264 LastVoice : TVoice; |
293 LastVoice : TVoice; |
265 |
294 |
266 mobileRecord: TMobileRecord; |
295 mobileRecord: TMobileRecord; |
272 |
301 |
273 ///////////////////////////////////// |
302 ///////////////////////////////////// |
274 //Buttons |
303 //Buttons |
275 {$IFDEF USE_TOUCH_INTERFACE} |
304 {$IFDEF USE_TOUCH_INTERFACE} |
276 buttonScale: GLFloat; |
305 buttonScale: GLFloat; |
306 bounceButtonPressed: boolean; |
|
277 |
307 |
278 arrowUp, arrowDown, arrowLeft, arrowRight : TOnScreenWidget; |
308 arrowUp, arrowDown, arrowLeft, arrowRight : TOnScreenWidget; |
279 firebutton, jumpWidget, AMWidget : TOnScreenWidget; |
309 firebutton, jumpWidget, AMWidget : TOnScreenWidget; |
280 pauseButton, utilityWidget : TOnScreenWidget; |
310 pauseButton, utilityWidget : TOnScreenWidget; |
311 utilityWidget2 : TOnScreenWidget; |
|
281 {$ENDIF} |
312 {$ENDIF} |
282 |
313 |
283 |
314 |
284 var |
315 var |
285 // these consts are here because they would cause circular dependencies in uConsts/uTypes |
316 // these consts are here because they would cause circular dependencies in uConsts/uTypes |
289 cPathzInit: array[TPathType] of shortstring = ( |
320 cPathzInit: array[TPathType] of shortstring = ( |
290 '', // ptNone |
321 '', // ptNone |
291 '//', // ptData |
322 '//', // ptData |
292 '/Graphics', // ptGraphics |
323 '/Graphics', // ptGraphics |
293 '/Themes', // ptThemes |
324 '/Themes', // ptThemes |
294 '/Themes/Bamboo', // ptCurrTheme |
325 '/Themes/Nature', // ptCurrTheme |
295 '/Config', // ptConfig |
326 '/Config', // ptConfig |
296 '/Config/Teams', // ptTeams |
327 '/Config/Teams', // ptTeams |
297 '/Maps', // ptMaps |
328 '/Maps', // ptMaps |
298 '', // ptMapCurrent |
329 '', // ptMapCurrent |
299 '/Demos', // ptDemos |
330 '/Demos', // ptDemos |
308 '/Graphics/Hats', // ptHats |
339 '/Graphics/Hats', // ptHats |
309 '/Graphics/Flags', // ptFlags |
340 '/Graphics/Flags', // ptFlags |
310 '/Missions/Maps', // ptMissionMaps |
341 '/Missions/Maps', // ptMissionMaps |
311 '/Graphics/SuddenDeath', // ptSuddenDeath |
342 '/Graphics/SuddenDeath', // ptSuddenDeath |
312 '/Graphics/Buttons', // ptButton |
343 '/Graphics/Buttons', // ptButton |
313 '/Shaders' // ptShaders |
344 '/Shaders', // ptShaders |
345 '/Sounds/voices/Default', // ptDefaultVoice |
|
346 '/misc' // ptMisc |
|
314 ); |
347 ); |
315 |
348 |
316 var |
349 var |
317 Fontz: array[THWFont] of THHFont; |
350 Fontz: array[THWFont] of THHFont; |
318 |
351 |
449 Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprSwitch |
482 Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprSwitch |
450 (FileName: 'Parachute'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
483 (FileName: 'Parachute'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
451 Width: 48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprParachute |
484 Width: 48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprParachute |
452 (FileName: 'Target'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
485 (FileName: 'Target'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
453 Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprTarget |
486 Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprTarget |
454 (FileName: 'RopeNode'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
487 (FileName: 'RopeNode'; Path: ptCurrTheme; AltPath: ptGraphics; Texture: nil; Surface: nil; |
455 Width: 6; Height: 6; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpHighest; getDimensions: false; getImageDimensions: true),// sprRopeNode |
488 Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpHighest; getDimensions: false; getImageDimensions: true),// sprRopeNode |
456 (FileName: 'thinking'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
489 (FileName: 'thinking'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
457 Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpLowest; getDimensions: false; getImageDimensions: true),// sprQuestion |
490 Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpLowest; getDimensions: false; getImageDimensions: true),// sprQuestion |
458 (FileName: 'PowerBar'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
491 (FileName: 'PowerBar'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
459 Width: 256; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprPowerBar |
492 Width: 256; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprPowerBar |
460 (FileName: 'WindBar'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
493 (FileName: 'WindBar'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
484 Width: 128; Height: 128; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpHigh; getDimensions: false; getImageDimensions: true), // sprTimerButton |
517 Width: 128; Height: 128; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpHigh; getDimensions: false; getImageDimensions: true), // sprTimerButton |
485 (FileName: 'targetbutton'; Path: ptButtons; AltPath: ptNone; Texture: nil; Surface: nil; |
518 (FileName: 'targetbutton'; Path: ptButtons; AltPath: ptNone; Texture: nil; Surface: nil; |
486 Width: 128; Height: 128; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpHigh; getDimensions: false; getImageDimensions: true), // sprTargetButton |
519 Width: 128; Height: 128; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpHigh; getDimensions: false; getImageDimensions: true), // sprTargetButton |
487 (FileName: 'switchbutton'; Path: ptButtons; AltPath: ptNone; Texture: nil; Surface: nil; |
520 (FileName: 'switchbutton'; Path: ptButtons; AltPath: ptNone; Texture: nil; Surface: nil; |
488 Width: 128; Height: 128; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpHigh; getDimensions: false; getImageDimensions: true), // sprSwitchButton |
521 Width: 128; Height: 128; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpHigh; getDimensions: false; getImageDimensions: true), // sprSwitchButton |
522 (FileName: 'bouncebutton'; Path: ptButtons; AltPath: ptNone; Texture: nil; Surface: nil; |
|
523 Width: 128; Height: 128; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpHigh; getDimensions: false; getImageDimensions: true), // sprBounceButton |
|
489 {$ENDIF} |
524 {$ENDIF} |
490 (FileName: 'Flake'; Path:ptCurrTheme; AltPath: ptNone; Texture: nil; Surface: nil; |
525 (FileName: 'Flake'; Path:ptCurrTheme; AltPath: ptNone; Texture: nil; Surface: nil; |
491 Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpHighest; getDimensions: false; getImageDimensions: true),// sprFlake |
526 Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpHighest; getDimensions: false; getImageDimensions: true),// sprFlake |
492 (FileName: 'amRope'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; |
527 (FileName: 'amRope'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; |
493 Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprHandRope |
528 Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprHandRope |
741 (FileName: 'slider'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
776 (FileName: 'slider'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
742 Width: 3; Height: 17; imageWidth: 3; imageHeight: 17; saveSurf: false; critical: true; checkSum: false; priority: tpLow; getDimensions: false; getImageDimensions: false), // sprSlider |
777 Width: 3; Height: 17; imageWidth: 3; imageHeight: 17; saveSurf: false; critical: true; checkSum: false; priority: tpLow; getDimensions: false; getImageDimensions: false), // sprSlider |
743 (FileName: 'botlevels'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
778 (FileName: 'botlevels'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
744 Width: 22; Height: 15; imageWidth: 22; imageHeight: 15; saveSurf: true; critical: true; checkSum: false; priority: tpLow; getDimensions: false; getImageDimensions: false), // sprBotlevels |
779 Width: 22; Height: 15; imageWidth: 22; imageHeight: 15; saveSurf: true; critical: true; checkSum: false; priority: tpLow; getDimensions: false; getImageDimensions: false), // sprBotlevels |
745 (FileName: 'amCleaver'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; |
780 (FileName: 'amCleaver'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; |
746 Width: 64; Height: 64; imageWidth: 64; imageHeight: 64; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: false),// sprHandKnife |
781 Width: 128; Height: 128; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprHandKnife |
747 (FileName: 'cleaver'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
782 (FileName: 'cleaver'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
748 Width: 64; Height: 64; imageWidth: 64; imageHeight: 128; saveSurf: false; critical: true; checkSum: false; priority: tpLow; getDimensions: false; getImageDimensions: false), // sprKnife |
783 Width: 64; Height: 64; imageWidth: 64; imageHeight: 128; saveSurf: false; critical: true; checkSum: false; priority: tpLow; getDimensions: false; getImageDimensions: false), // sprKnife |
749 (FileName: 'star'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
784 (FileName: 'star'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
750 Width: 12; Height: 12; imageWidth: 12; imageHeight: 12; saveSurf: false; critical: true; checkSum: false; priority: tpLow; getDimensions: false; getImageDimensions: false), // sprStar |
785 Width: 12; Height: 12; imageWidth: 12; imageHeight: 12; saveSurf: false; critical: true; checkSum: false; priority: tpLow; getDimensions: false; getImageDimensions: false), // sprStar |
751 (FileName: 'icetexture'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
786 (FileName: 'icetexture'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
772 Width: 0; Height: 0; imageWidth: 0; imageHeight: 0; saveSurf: true; critical: true; checkSum: true; priority: tpLow; getDimensions: true; getImageDimensions: true), // sprCustom6 |
807 Width: 0; Height: 0; imageWidth: 0; imageHeight: 0; saveSurf: true; critical: true; checkSum: true; priority: tpLow; getDimensions: true; getImageDimensions: true), // sprCustom6 |
773 (FileName: 'custom7'; Path: ptCurrTheme;AltPath: ptGraphics; Texture: nil; Surface: nil; |
808 (FileName: 'custom7'; Path: ptCurrTheme;AltPath: ptGraphics; Texture: nil; Surface: nil; |
774 Width: 0; Height: 0; imageWidth: 0; imageHeight: 0; saveSurf: true; critical: true; checkSum: true; priority: tpLow; getDimensions: true; getImageDimensions: true), // sprCustom7 |
809 Width: 0; Height: 0; imageWidth: 0; imageHeight: 0; saveSurf: true; critical: true; checkSum: true; priority: tpLow; getDimensions: true; getImageDimensions: true), // sprCustom7 |
775 (FileName: 'custom8'; Path: ptCurrTheme;AltPath: ptGraphics; Texture: nil; Surface: nil; |
810 (FileName: 'custom8'; Path: ptCurrTheme;AltPath: ptGraphics; Texture: nil; Surface: nil; |
776 Width: 0; Height: 0; imageWidth: 0; imageHeight: 0; saveSurf: true; critical: true; checkSum: true; priority: tpLow; getDimensions: true; getImageDimensions: true), // sprCustom8 |
811 Width: 0; Height: 0; imageWidth: 0; imageHeight: 0; saveSurf: true; critical: true; checkSum: true; priority: tpLow; getDimensions: true; getImageDimensions: true), // sprCustom8 |
812 (FileName: 'FrozenAirMine'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
|
813 Width: 32; Height: 32; imageWidth: 32; imageHeight: 32; saveSurf: true; critical: true; checkSum: true; priority: tpHighest; getDimensions: false; getImageDimensions: true), // sprFrozenAirMine |
|
777 (FileName: 'AirMine'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
814 (FileName: 'AirMine'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
778 Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpHighest; getDimensions: false; getImageDimensions: true), // sprAirMine |
815 Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpHighest; getDimensions: false; getImageDimensions: true), // sprAirMine |
779 (FileName: 'amAirMine'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; |
816 (FileName: 'amAirMine'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; |
780 Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true), // sprHandAirMine |
817 Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true), // sprHandAirMine |
781 (FileName: 'FlakeL'; Path:ptCurrTheme; AltPath: ptNone; Texture: nil; Surface: nil; |
818 (FileName: 'FlakeL'; Path:ptCurrTheme; AltPath: ptNone; Texture: nil; Surface: nil; |
784 Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: false; checkSum: false; priority: tpHighest; getDimensions: false; getImageDimensions: true),// sprSDFlakeL |
821 Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: false; checkSum: false; priority: tpHighest; getDimensions: false; getImageDimensions: true),// sprSDFlakeL |
785 (FileName: 'CloudsL'; Path: ptCurrTheme;AltPath: ptGraphics; Texture: nil; Surface: nil; |
822 (FileName: 'CloudsL'; Path: ptCurrTheme;AltPath: ptGraphics; Texture: nil; Surface: nil; |
786 Width: 256; Height:128; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: false; checkSum: false; priority: tpHigh; getDimensions: false; getImageDimensions: true),// sprCloudL |
823 Width: 256; Height:128; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: false; checkSum: false; priority: tpHigh; getDimensions: false; getImageDimensions: true),// sprCloudL |
787 (FileName: 'SDCloudsL'; Path: ptCurrTheme;AltPath: ptGraphics; Texture: nil; Surface: nil; |
824 (FileName: 'SDCloudsL'; Path: ptCurrTheme;AltPath: ptGraphics; Texture: nil; Surface: nil; |
788 Width: 256; Height:128; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: false; checkSum: false; priority: tpHigh; getDimensions: false; getImageDimensions: true),// sprSDCloudL |
825 Width: 256; Height:128; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: false; checkSum: false; priority: tpHigh; getDimensions: false; getImageDimensions: true),// sprSDCloudL |
826 // TODO: Rename creeper image |
|
789 (FileName: 'Duck'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
827 (FileName: 'Duck'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
790 Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprDuck |
828 Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprCreeper |
829 // TODO: Rename creeper hand image |
|
791 (FileName: 'amDuck'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; |
830 (FileName: 'amDuck'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; |
792 Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true), // sprHandDuck |
831 Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true), // sprHandCreeper |
793 (FileName: 'amMinigun'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; |
832 (FileName: 'amMinigun'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; |
794 Width: 64; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true) // sprMinigun |
833 Width: 64; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true), // sprMinigun |
834 (FileName: 'sliderInverted'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
|
835 Width: 3; Height: 17; imageWidth: 3; imageHeight: 17; saveSurf: false; critical: true; checkSum: false; priority: tpLow; getDimensions: false; getImageDimensions: false), // sprSliderInverted |
|
836 (FileName: 'FingerBack'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
|
837 Width: 32; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true), // sprFingerBack |
|
838 (FileName: 'FingerBackInv'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
|
839 Width: 32; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprFingerBackInv |
|
840 (FileName: 'TargetpBack'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
|
841 Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprTargetPBack |
|
842 (FileName: 'TargetpBackInv'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
|
843 Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprTargetPBackInv |
|
844 (FileName: 'HealthHUD'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
|
845 Width: 18; Height: 18; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprHealthHud |
|
846 (FileName: 'HealthPoisonHUD'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
|
847 Width: 18; Height: 18; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprHealthPoisonHud |
|
848 (FileName: 'VampHUD'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
|
849 Width: 24; Height: 18; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprVampHUD |
|
850 (FileName: 'KarmaHUD'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
|
851 Width: 18; Height: 18; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprKarmaHUD |
|
852 (FileName: 'MedicHUD'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
|
853 Width: 18; Height: 18; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprMedicHud |
|
854 (FileName: 'MedicPoisonHUD'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
|
855 Width: 18; Height: 18; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprMedicPoisonHud |
|
856 (FileName: 'HaloHUD'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
|
857 Width: 22; Height: 11; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprHaloHUD |
|
858 (FileName: 'InvulnHUD'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
|
859 Width: 18; Height: 18; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprInvulnHUD |
|
860 (FileName: 'amPiano'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
|
861 Width: 42; Height: 42; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprAmPiano |
|
862 (FileName: 'amLandGun'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; |
|
863 Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true), // sprHandLandGun |
|
864 (FileName: 'amShoryuken'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; |
|
865 Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprFirePunch |
|
866 (FileName: 'throughWrap'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
|
867 Width: 16; Height: 13; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true) // sprTroughWrap |
|
795 ); |
868 ); |
869 |
|
796 |
870 |
797 const |
871 const |
798 Wavez: array [TWave] of record |
872 Wavez: array [TWave] of record |
799 Sprite: TSprite; |
873 Sprite: TSprite; |
800 FramesCount: Longword; |
874 FramesCount: Longword; |
825 SkipTurns: LongWord; |
899 SkipTurns: LongWord; |
826 PosCount: Longword; |
900 PosCount: Longword; |
827 PosSprite: TSprite; |
901 PosSprite: TSprite; |
828 ejectX, ejectY: Longint; |
902 ejectX, ejectY: Longint; |
829 end; |
903 end; |
904 TAmmoCounts = array[TAmmoType] of Longword; |
|
830 |
905 |
831 var |
906 var |
832 Ammoz: array [TAmmoType] of TAmmozRec; |
907 Ammoz: array [TAmmoType] of TAmmozRec; |
908 InitialAmmoCounts: TAmmoCounts; |
|
833 |
909 |
834 const |
910 const |
835 AmmozInit: array [TAmmoType] of TAmmozRec = ( |
911 AmmozInit: array [TAmmoType] of TAmmozRec = ( |
836 (NameId: sidNothing; |
912 (NameId: sidNothing; |
837 NameTex: nil; |
913 NameTex: nil; |
842 NumPerTurn: 0; |
918 NumPerTurn: 0; |
843 Timer: 0; |
919 Timer: 0; |
844 Pos: 0; |
920 Pos: 0; |
845 AmmoType: amNothing; |
921 AmmoType: amNothing; |
846 AttackVoice: sndNone; |
922 AttackVoice: sndNone; |
847 Bounciness: 1000); |
923 Bounciness: defaultBounciness); |
848 Slot: cHiddenSlotIndex; |
924 Slot: cHiddenSlotIndex; |
849 TimeAfterTurn: 0; |
925 TimeAfterTurn: 0; |
850 minAngle: 0; |
926 minAngle: 0; |
851 maxAngle: 0; |
927 maxAngle: 0; |
852 isDamaging: false; |
928 isDamaging: false; |
853 SkipTurns: 9999; |
929 SkipTurns: 0; |
854 PosCount: 1; |
930 PosCount: 0; |
855 PosSprite: sprWater; |
931 PosSprite: sprWater; |
856 ejectX: 0; |
932 ejectX: 0; |
857 ejectY: 0), |
933 ejectY: 0), |
858 |
934 |
859 // Grenade |
935 // Grenade |
870 NumPerTurn: 0; |
946 NumPerTurn: 0; |
871 Timer: 3000; |
947 Timer: 3000; |
872 Pos: 0; |
948 Pos: 0; |
873 AmmoType: amGrenade; |
949 AmmoType: amGrenade; |
874 AttackVoice: sndCover; |
950 AttackVoice: sndCover; |
875 Bounciness: 1000); |
951 Bounciness: defaultBounciness); |
876 Slot: 1; |
952 Slot: 1; |
877 TimeAfterTurn: 3000; |
953 TimeAfterTurn: 3000; |
878 minAngle: 0; |
954 minAngle: 0; |
879 maxAngle: 0; |
955 maxAngle: 0; |
880 isDamaging: true; |
956 isDamaging: true; |
881 SkipTurns: 0; |
957 SkipTurns: 0; |
882 PosCount: 1; |
958 PosCount: 0; |
883 PosSprite: sprWater; |
959 PosSprite: sprWater; |
884 ejectX: 0; |
960 ejectX: 0; |
885 ejectY: 0), |
961 ejectY: 0), |
886 |
962 |
887 // ClusterBomb |
963 // ClusterBomb |
898 NumPerTurn: 0; |
974 NumPerTurn: 0; |
899 Timer: 3000; |
975 Timer: 3000; |
900 Pos: 0; |
976 Pos: 0; |
901 AmmoType: amClusterBomb; |
977 AmmoType: amClusterBomb; |
902 AttackVoice: sndCover; |
978 AttackVoice: sndCover; |
903 Bounciness: 1000); |
979 Bounciness: defaultBounciness); |
904 Slot: 1; |
980 Slot: 1; |
905 TimeAfterTurn: 3000; |
981 TimeAfterTurn: 3000; |
906 minAngle: 0; |
982 minAngle: 0; |
907 maxAngle: 0; |
983 maxAngle: 0; |
908 isDamaging: true; |
984 isDamaging: true; |
909 SkipTurns: 0; |
985 SkipTurns: 0; |
910 PosCount: 1; |
986 PosCount: 0; |
911 PosSprite: sprWater; |
987 PosSprite: sprWater; |
912 ejectX: 0; |
988 ejectX: 0; |
913 ejectY: 0), |
989 ejectY: 0), |
914 |
990 |
915 // Bazooka |
991 // Bazooka |
923 Count: AMMO_INFINITE; |
999 Count: AMMO_INFINITE; |
924 NumPerTurn: 0; |
1000 NumPerTurn: 0; |
925 Timer: 0; |
1001 Timer: 0; |
926 Pos: 0; |
1002 Pos: 0; |
927 AmmoType: amBazooka; |
1003 AmmoType: amBazooka; |
928 AttackVoice: sndNone; |
1004 AttackVoice: sndFire; |
929 Bounciness: 1000); |
1005 Bounciness: defaultBounciness); |
930 Slot: 0; |
1006 Slot: 0; |
931 TimeAfterTurn: 3000; |
1007 TimeAfterTurn: 3000; |
932 minAngle: 0; |
1008 minAngle: 0; |
933 maxAngle: 0; |
1009 maxAngle: 0; |
934 isDamaging: true; |
1010 isDamaging: true; |
935 SkipTurns: 0; |
1011 SkipTurns: 0; |
936 PosCount: 1; |
1012 PosCount: 0; |
937 PosSprite: sprWater; |
1013 PosSprite: sprWater; |
938 ejectX: 0; //20; |
1014 ejectX: 0; //20; |
939 ejectY: -6), |
1015 ejectY: -6), |
940 |
1016 |
941 // Bee |
1017 // Bee |
944 Probability: 100; |
1020 Probability: 100; |
945 NumberInCase: 1; |
1021 NumberInCase: 1; |
946 Ammo: (Propz: ammoprop_Power or |
1022 Ammo: (Propz: ammoprop_Power or |
947 ammoprop_NeedTarget or |
1023 ammoprop_NeedTarget or |
948 ammoprop_NoTargetAfter or |
1024 ammoprop_NoTargetAfter or |
1025 ammoprop_NoWrapTarget or |
|
949 ammoprop_DontHold or |
1026 ammoprop_DontHold or |
1027 ammoprop_AltUse or |
|
950 ammoprop_NeedUpDown; |
1028 ammoprop_NeedUpDown; |
951 Count: 2; |
1029 Count: 2; |
952 NumPerTurn: 0; |
1030 NumPerTurn: 0; |
953 Timer: 0; |
1031 Timer: 0; |
954 Pos: 0; |
1032 Pos: 0; |
955 AmmoType: amBee; |
1033 AmmoType: amBee; |
956 AttackVoice: sndNone; |
1034 AttackVoice: sndFire; |
957 Bounciness: 1000); |
1035 Bounciness: defaultBounciness); |
958 Slot: 0; |
1036 Slot: 0; |
959 TimeAfterTurn: 3000; |
1037 TimeAfterTurn: 3000; |
960 minAngle: 0; |
1038 minAngle: 0; |
961 maxAngle: 0; |
1039 maxAngle: 0; |
962 isDamaging: true; |
1040 isDamaging: true; |
978 NumPerTurn: 1; |
1056 NumPerTurn: 1; |
979 Timer: 0; |
1057 Timer: 0; |
980 Pos: 0; |
1058 Pos: 0; |
981 AmmoType: amShotgun; |
1059 AmmoType: amShotgun; |
982 AttackVoice: sndNone; |
1060 AttackVoice: sndNone; |
983 Bounciness: 1000); |
1061 Bounciness: defaultBounciness); |
984 Slot: 2; |
1062 Slot: 2; |
985 TimeAfterTurn: 3000; |
1063 TimeAfterTurn: 3000; |
986 minAngle: 0; |
1064 minAngle: 0; |
987 maxAngle: 0; |
1065 maxAngle: 0; |
988 isDamaging: true; |
1066 isDamaging: true; |
989 SkipTurns: 0; |
1067 SkipTurns: 0; |
990 PosCount: 1; |
1068 PosCount: 0; |
991 PosSprite: sprWater; |
1069 PosSprite: sprWater; |
992 ejectX: 0; //26; |
1070 ejectX: 0; //26; |
993 ejectY: -6), |
1071 ejectY: -6), |
994 |
1072 |
995 // PickHammer |
1073 // PickHammer |
1006 NumPerTurn: 0; |
1084 NumPerTurn: 0; |
1007 Timer: 0; |
1085 Timer: 0; |
1008 Pos: 0; |
1086 Pos: 0; |
1009 AmmoType: amPickHammer; |
1087 AmmoType: amPickHammer; |
1010 AttackVoice: sndNone; |
1088 AttackVoice: sndNone; |
1011 Bounciness: 1000); |
1089 Bounciness: defaultBounciness); |
1012 Slot: 6; |
1090 Slot: 6; |
1013 TimeAfterTurn: 0; |
1091 TimeAfterTurn: 0; |
1014 minAngle: 0; |
1092 minAngle: 0; |
1015 maxAngle: 0; |
1093 maxAngle: 0; |
1016 isDamaging: false; |
1094 isDamaging: false; |
1017 SkipTurns: 0; |
1095 SkipTurns: 0; |
1018 PosCount: 1; |
1096 PosCount: 0; |
1019 PosSprite: sprWater; |
1097 PosSprite: sprWater; |
1020 ejectX: 0; |
1098 ejectX: 0; |
1021 ejectY: 0), |
1099 ejectY: 0), |
1022 |
1100 |
1023 // Skip |
1101 // Skip |
1033 NumPerTurn: 0; |
1111 NumPerTurn: 0; |
1034 Timer: 0; |
1112 Timer: 0; |
1035 Pos: 0; |
1113 Pos: 0; |
1036 AmmoType: amSkip; |
1114 AmmoType: amSkip; |
1037 AttackVoice: sndNone; |
1115 AttackVoice: sndNone; |
1038 Bounciness: 1000); |
1116 Bounciness: defaultBounciness); |
1039 Slot: 9; |
1117 Slot: 9; |
1040 TimeAfterTurn: 0; |
1118 TimeAfterTurn: 0; |
1041 minAngle: 0; |
1119 minAngle: 0; |
1042 maxAngle: 0; |
1120 maxAngle: 0; |
1043 isDamaging: false; |
1121 isDamaging: false; |
1044 SkipTurns: 0; |
1122 SkipTurns: 0; |
1045 PosCount: 1; |
1123 PosCount: 0; |
1046 PosSprite: sprWater; |
1124 PosSprite: sprWater; |
1047 ejectX: 0; |
1125 ejectX: 0; |
1048 ejectY: 0), |
1126 ejectY: 0), |
1049 |
1127 |
1050 // Rope |
1128 // Rope |
1063 NumPerTurn: 0; |
1141 NumPerTurn: 0; |
1064 Timer: 0; |
1142 Timer: 0; |
1065 Pos: 0; |
1143 Pos: 0; |
1066 AmmoType: amRope; |
1144 AmmoType: amRope; |
1067 AttackVoice: sndNone; |
1145 AttackVoice: sndNone; |
1068 Bounciness: 1000); |
1146 Bounciness: defaultBounciness); |
1069 Slot: 7; |
1147 Slot: 7; |
1070 TimeAfterTurn: 0; |
1148 TimeAfterTurn: 0; |
1071 minAngle: 0; |
1149 minAngle: 0; |
1072 maxAngle: cMaxAngle div 2; |
1150 maxAngle: cMaxAngle div 2; |
1073 isDamaging: false; |
1151 isDamaging: false; |
1074 SkipTurns: 0; |
1152 SkipTurns: 0; |
1075 PosCount: 1; |
1153 PosCount: 0; |
1076 PosSprite: sprWater; |
1154 PosSprite: sprWater; |
1077 ejectX: 0; |
1155 ejectX: 0; |
1078 ejectY: 0), |
1156 ejectY: 0), |
1079 |
1157 |
1080 // Mine |
1158 // Mine |
1091 NumPerTurn: 0; |
1169 NumPerTurn: 0; |
1092 Timer: 0; |
1170 Timer: 0; |
1093 Pos: 0; |
1171 Pos: 0; |
1094 AmmoType: amMine; |
1172 AmmoType: amMine; |
1095 AttackVoice: sndLaugh; |
1173 AttackVoice: sndLaugh; |
1096 Bounciness: 1000); |
1174 Bounciness: defaultBounciness); |
1097 Slot: 4; |
1175 Slot: 4; |
1098 TimeAfterTurn: 5000; |
1176 TimeAfterTurn: 5000; |
1099 minAngle: 0; |
1177 minAngle: 0; |
1100 maxAngle: 0; |
1178 maxAngle: 0; |
1101 isDamaging: true; |
1179 isDamaging: true; |
1102 SkipTurns: 0; |
1180 SkipTurns: 0; |
1103 PosCount: 1; |
1181 PosCount: 0; |
1104 PosSprite: sprWater; |
1182 PosSprite: sprWater; |
1105 ejectX: 0; |
1183 ejectX: 0; |
1106 ejectY: 0), |
1184 ejectY: 0), |
1107 |
1185 |
1108 // DEagle |
1186 // DEagle |
1115 NumPerTurn: 3; |
1193 NumPerTurn: 3; |
1116 Timer: 0; |
1194 Timer: 0; |
1117 Pos: 0; |
1195 Pos: 0; |
1118 AmmoType: amDEagle; |
1196 AmmoType: amDEagle; |
1119 AttackVoice: sndNone; |
1197 AttackVoice: sndNone; |
1120 Bounciness: 1000); |
1198 Bounciness: defaultBounciness); |
1121 Slot: 2; |
1199 Slot: 2; |
1122 TimeAfterTurn: 3000; |
1200 TimeAfterTurn: 3000; |
1123 minAngle: 0; |
1201 minAngle: 0; |
1124 maxAngle: 0; |
1202 maxAngle: 0; |
1125 isDamaging: true; |
1203 isDamaging: true; |
1126 SkipTurns: 0; |
1204 SkipTurns: 0; |
1127 PosCount: 1; |
1205 PosCount: 0; |
1128 PosSprite: sprWater; |
1206 PosSprite: sprWater; |
1129 ejectX: 0; //23; |
1207 ejectX: 0; //23; |
1130 ejectY: -6), |
1208 ejectY: -6), |
1131 |
1209 |
1132 // Dynamite |
1210 // Dynamite |
1142 NumPerTurn: 0; |
1220 NumPerTurn: 0; |
1143 Timer: 0; |
1221 Timer: 0; |
1144 Pos: 0; |
1222 Pos: 0; |
1145 AmmoType: amDynamite; |
1223 AmmoType: amDynamite; |
1146 AttackVoice: sndLaugh; |
1224 AttackVoice: sndLaugh; |
1147 Bounciness: 1000); |
1225 Bounciness: defaultBounciness); |
1148 Slot: 4; |
1226 Slot: 4; |
1149 TimeAfterTurn: 5000; |
1227 TimeAfterTurn: 5000; |
1150 minAngle: 0; |
1228 minAngle: 0; |
1151 maxAngle: 0; |
1229 maxAngle: 0; |
1152 isDamaging: true; |
1230 isDamaging: true; |
1153 SkipTurns: 0; |
1231 SkipTurns: 0; |
1154 PosCount: 1; |
1232 PosCount: 0; |
1155 PosSprite: sprWater; |
1233 PosSprite: sprWater; |
1156 ejectX: 0; |
1234 ejectX: 0; |
1157 ejectY: 0), |
1235 ejectY: 0), |
1158 |
1236 |
1159 // FirePunch |
1237 // FirePunch |
1168 NumPerTurn: 0; |
1246 NumPerTurn: 0; |
1169 Timer: 0; |
1247 Timer: 0; |
1170 Pos: 0; |
1248 Pos: 0; |
1171 AmmoType: amFirePunch; |
1249 AmmoType: amFirePunch; |
1172 AttackVoice: sndNone; |
1250 AttackVoice: sndNone; |
1173 Bounciness: 1000); |
1251 Bounciness: defaultBounciness); |
1174 Slot: 3; |
1252 Slot: 3; |
1175 TimeAfterTurn: 3000; |
1253 TimeAfterTurn: 3000; |
1176 minAngle: 0; |
1254 minAngle: 0; |
1177 maxAngle: 0; |
1255 maxAngle: 0; |
1178 isDamaging: true; |
1256 isDamaging: true; |
1179 SkipTurns: 0; |
1257 SkipTurns: 0; |
1180 PosCount: 1; |
1258 PosCount: 0; |
1181 PosSprite: sprWater; |
1259 PosSprite: sprWater; |
1182 ejectX: 0; |
1260 ejectX: 0; |
1183 ejectY: 0), |
1261 ejectY: 0), |
1184 |
1262 |
1185 // Whip |
1263 // Whip |
1192 NumPerTurn: 0; |
1270 NumPerTurn: 0; |
1193 Timer: 0; |
1271 Timer: 0; |
1194 Pos: 0; |
1272 Pos: 0; |
1195 AmmoType: amWhip; |
1273 AmmoType: amWhip; |
1196 AttackVoice: sndNone; |
1274 AttackVoice: sndNone; |
1197 Bounciness: 1000); |
1275 Bounciness: defaultBounciness); |
1198 Slot: 3; |
1276 Slot: 3; |
1199 TimeAfterTurn: 3000; |
1277 TimeAfterTurn: 3000; |
1200 minAngle: 0; |
1278 minAngle: 0; |
1201 maxAngle: 0; |
1279 maxAngle: 0; |
1202 isDamaging: true; |
1280 isDamaging: true; |
1203 SkipTurns: 0; |
1281 SkipTurns: 0; |
1204 PosCount: 1; |
1282 PosCount: 0; |
1205 PosSprite: sprWater; |
1283 PosSprite: sprWater; |
1206 ejectX: 0; |
1284 ejectX: 0; |
1207 ejectY: 0), |
1285 ejectY: 0), |
1208 |
1286 |
1209 // BaseballBat |
1287 // BaseballBat |
1217 NumPerTurn: 0; |
1295 NumPerTurn: 0; |
1218 Timer: 0; |
1296 Timer: 0; |
1219 Pos: 0; |
1297 Pos: 0; |
1220 AmmoType: amBaseballBat; |
1298 AmmoType: amBaseballBat; |
1221 AttackVoice: sndNone; |
1299 AttackVoice: sndNone; |
1222 Bounciness: 1000); |
1300 Bounciness: defaultBounciness); |
1223 Slot: 3; |
1301 Slot: 3; |
1224 TimeAfterTurn: 5000; |
1302 TimeAfterTurn: 5000; |
1225 minAngle: 0; |
1303 minAngle: 0; |
1226 maxAngle: cMaxAngle div 2; |
1304 maxAngle: cMaxAngle div 2; |
1227 isDamaging: true; |
1305 isDamaging: true; |
1228 SkipTurns: 2; |
1306 SkipTurns: 2; |
1229 PosCount: 1; |
1307 PosCount: 0; |
1230 PosSprite: sprWater; |
1308 PosSprite: sprWater; |
1231 ejectX: 0; |
1309 ejectX: 0; |
1232 ejectY: 0), |
1310 ejectY: 0), |
1233 |
1311 |
1234 // Parachute |
1312 // Parachute |
1241 ammoprop_AttackInMove or |
1319 ammoprop_AttackInMove or |
1242 ammoprop_NoCrosshair or |
1320 ammoprop_NoCrosshair or |
1243 ammoprop_DontHold or |
1321 ammoprop_DontHold or |
1244 ammoprop_Utility or |
1322 ammoprop_Utility or |
1245 ammoprop_AltAttack or |
1323 ammoprop_AltAttack or |
1324 ammoprop_ShowSelIcon or |
|
1246 ammoprop_NeedUpDown; |
1325 ammoprop_NeedUpDown; |
1247 Count: 2; |
1326 Count: 2; |
1248 NumPerTurn: 0; |
1327 NumPerTurn: 0; |
1249 Timer: 0; |
1328 Timer: 0; |
1250 Pos: 0; |
1329 Pos: 0; |
1251 AmmoType: amParachute; |
1330 AmmoType: amParachute; |
1252 AttackVoice: sndNone; |
1331 AttackVoice: sndNone; |
1253 Bounciness: 1000); |
1332 Bounciness: defaultBounciness); |
1254 Slot: 7; |
1333 Slot: 7; |
1255 TimeAfterTurn: 0; |
1334 TimeAfterTurn: 0; |
1256 minAngle: 0; |
1335 minAngle: 0; |
1257 maxAngle: 0; |
1336 maxAngle: 0; |
1258 isDamaging: false; |
1337 isDamaging: false; |
1259 SkipTurns: 0; |
1338 SkipTurns: 0; |
1260 PosCount: 1; |
1339 PosCount: 0; |
1261 PosSprite: sprWater; |
1340 PosSprite: sprWater; |
1262 ejectX: 0; |
1341 ejectX: 0; |
1263 ejectY: 0), |
1342 ejectY: 0), |
1264 |
1343 |
1265 // AirAttack |
1344 // AirAttack |
1275 Count: 1; |
1354 Count: 1; |
1276 NumPerTurn: 0; |
1355 NumPerTurn: 0; |
1277 Timer: 0; |
1356 Timer: 0; |
1278 Pos: 0; |
1357 Pos: 0; |
1279 AmmoType: amAirAttack; |
1358 AmmoType: amAirAttack; |
1280 AttackVoice: sndIncoming; |
1359 AttackVoice: sndNone; // handled in doStepAirAttack |
1281 Bounciness: 1000); |
1360 Bounciness: defaultBounciness); |
1282 Slot: 5; |
1361 Slot: 5; |
1283 TimeAfterTurn: 0; |
1362 TimeAfterTurn: 0; |
1284 minAngle: 0; |
1363 minAngle: 0; |
1285 maxAngle: 0; |
1364 maxAngle: 0; |
1286 isDamaging: true; |
1365 isDamaging: true; |
1303 Count: 1; |
1382 Count: 1; |
1304 NumPerTurn: 0; |
1383 NumPerTurn: 0; |
1305 Timer: 0; |
1384 Timer: 0; |
1306 Pos: 0; |
1385 Pos: 0; |
1307 AmmoType: amMineStrike; |
1386 AmmoType: amMineStrike; |
1308 AttackVoice: sndIncoming; |
1387 AttackVoice: sndNone; // handled in doStepAirAttack |
1309 Bounciness: 1000); |
1388 Bounciness: defaultBounciness); |
1310 Slot: 5; |
1389 Slot: 5; |
1311 TimeAfterTurn: 0; |
1390 TimeAfterTurn: 0; |
1312 minAngle: 0; |
1391 minAngle: 0; |
1313 maxAngle: 0; |
1392 maxAngle: 0; |
1314 isDamaging: true; |
1393 isDamaging: true; |
1330 NumPerTurn: 0; |
1409 NumPerTurn: 0; |
1331 Timer: 0; |
1410 Timer: 0; |
1332 Pos: 0; |
1411 Pos: 0; |
1333 AmmoType: amBlowTorch; |
1412 AmmoType: amBlowTorch; |
1334 AttackVoice: sndNone; |
1413 AttackVoice: sndNone; |
1335 Bounciness: 1000); |
1414 Bounciness: defaultBounciness); |
1336 Slot: 6; |
1415 Slot: 6; |
1337 TimeAfterTurn: 3000; |
1416 TimeAfterTurn: 3000; |
1338 minAngle: 804; |
1417 minAngle: 804; |
1339 maxAngle: 1327; |
1418 maxAngle: 1327; |
1340 isDamaging: false; |
1419 isDamaging: false; |
1341 SkipTurns: 0; |
1420 SkipTurns: 0; |
1342 PosCount: 1; |
1421 PosCount: 0; |
1343 PosSprite: sprWater; |
1422 PosSprite: sprWater; |
1344 ejectX: 0; |
1423 ejectX: 0; |
1345 ejectY: 0), |
1424 ejectY: 0), |
1346 |
1425 |
1347 // Girder |
1426 // Girder |
1358 NumPerTurn: 0; |
1437 NumPerTurn: 0; |
1359 Timer: 0; |
1438 Timer: 0; |
1360 Pos: 0; |
1439 Pos: 0; |
1361 AmmoType: amGirder; |
1440 AmmoType: amGirder; |
1362 AttackVoice: sndNone; |
1441 AttackVoice: sndNone; |
1363 Bounciness: 1000); |
1442 Bounciness: defaultBounciness); |
1364 Slot: 6; |
1443 Slot: 6; |
1365 TimeAfterTurn: 3000; |
1444 TimeAfterTurn: 3000; |
1366 minAngle: 0; |
1445 minAngle: 0; |
1367 maxAngle: 0; |
1446 maxAngle: 0; |
1368 isDamaging: false; |
1447 isDamaging: false; |
1379 NumberInCase: 1; |
1458 NumberInCase: 1; |
1380 Ammo: (Propz: ammoprop_ForwMsgs or |
1459 Ammo: (Propz: ammoprop_ForwMsgs or |
1381 ammoprop_NoCrosshair or |
1460 ammoprop_NoCrosshair or |
1382 ammoprop_NeedTarget or |
1461 ammoprop_NeedTarget or |
1383 ammoprop_AttackingPut or |
1462 ammoprop_AttackingPut or |
1463 ammoprop_AttackInMove or |
|
1384 ammoprop_Utility or |
1464 ammoprop_Utility or |
1385 ammoprop_DontHold; |
1465 ammoprop_DontHold; |
1386 Count: 2; |
1466 Count: 2; |
1387 NumPerTurn: 0; |
1467 NumPerTurn: 0; |
1388 Timer: 0; |
1468 Timer: 0; |
1389 Pos: 0; |
1469 Pos: 0; |
1390 AmmoType: amTeleport; |
1470 AmmoType: amTeleport; |
1391 AttackVoice: sndNone; |
1471 AttackVoice: sndNone; |
1392 Bounciness: 1000); |
1472 Bounciness: defaultBounciness); |
1393 Slot: 7; |
1473 Slot: 7; |
1394 TimeAfterTurn: 0; |
1474 TimeAfterTurn: 0; |
1395 minAngle: 0; |
1475 minAngle: 0; |
1396 maxAngle: 0; |
1476 maxAngle: 0; |
1397 isDamaging: false; |
1477 isDamaging: false; |
1408 NumberInCase: 1; |
1488 NumberInCase: 1; |
1409 Ammo: (Propz: ammoprop_NoRoundEnd or |
1489 Ammo: (Propz: ammoprop_NoRoundEnd or |
1410 ammoprop_ForwMsgs or |
1490 ammoprop_ForwMsgs or |
1411 ammoprop_NoCrosshair or |
1491 ammoprop_NoCrosshair or |
1412 ammoprop_Utility or |
1492 ammoprop_Utility or |
1493 ammoprop_ShowSelIcon or |
|
1413 ammoprop_DontHold; |
1494 ammoprop_DontHold; |
1414 Count: 3; |
1495 Count: 3; |
1415 NumPerTurn: 0; |
1496 NumPerTurn: 0; |
1416 Timer: 0; |
1497 Timer: 0; |
1417 Pos: 0; |
1498 Pos: 0; |
1418 AmmoType: amSwitch; |
1499 AmmoType: amSwitch; |
1419 AttackVoice: sndNone; |
1500 AttackVoice: sndNone; |
1420 Bounciness: 1000); |
1501 Bounciness: defaultBounciness); |
1421 Slot: 9; |
1502 Slot: 9; |
1422 TimeAfterTurn: 0; |
1503 TimeAfterTurn: 0; |
1423 minAngle: 0; |
1504 minAngle: 0; |
1424 maxAngle: 0; |
1505 maxAngle: 0; |
1425 isDamaging: false; |
1506 isDamaging: false; |
1426 SkipTurns: 0; |
1507 SkipTurns: 0; |
1427 PosCount: 1; |
1508 PosCount: 0; |
1428 PosSprite: sprWater; |
1509 PosSprite: sprWater; |
1429 ejectX: 0; |
1510 ejectX: 0; |
1430 ejectY: 0), |
1511 ejectY: 0), |
1431 |
1512 |
1432 // Mortar |
1513 // Mortar |
1439 NumPerTurn: 0; |
1520 NumPerTurn: 0; |
1440 Timer: 0; |
1521 Timer: 0; |
1441 Pos: 0; |
1522 Pos: 0; |
1442 AmmoType: amMortar; |
1523 AmmoType: amMortar; |
1443 AttackVoice: sndNone; |
1524 AttackVoice: sndNone; |
1444 Bounciness: 1000); |
1525 Bounciness: defaultBounciness); |
1445 Slot: 0; |
1526 Slot: 0; |
1446 TimeAfterTurn: 3000; |
1527 TimeAfterTurn: 3000; |
1447 minAngle: 0; |
1528 minAngle: 0; |
1448 maxAngle: 0; |
1529 maxAngle: 0; |
1449 isDamaging: true; |
1530 isDamaging: true; |
1450 SkipTurns: 0; |
1531 SkipTurns: 0; |
1451 PosCount: 1; |
1532 PosCount: 0; |
1452 PosSprite: sprWater; |
1533 PosSprite: sprWater; |
1453 ejectX: 0; //20; |
1534 ejectX: 0; //20; |
1454 ejectY: -6), |
1535 ejectY: -6), |
1455 |
1536 |
1456 // Kamikaze |
1537 // Kamikaze |
1467 NumPerTurn: 0; |
1548 NumPerTurn: 0; |
1468 Timer: 0; |
1549 Timer: 0; |
1469 Pos: 0; |
1550 Pos: 0; |
1470 AmmoType: amKamikaze; |
1551 AmmoType: amKamikaze; |
1471 AttackVoice: sndNone; |
1552 AttackVoice: sndNone; |
1472 Bounciness: 1000); |
1553 Bounciness: defaultBounciness); |
1473 Slot: 3; |
1554 Slot: 3; |
1474 TimeAfterTurn: 0; |
1555 TimeAfterTurn: 0; |
1475 minAngle: 0; |
1556 minAngle: 0; |
1476 maxAngle: 0; |
1557 maxAngle: 0; |
1477 isDamaging: true; |
1558 isDamaging: true; |
1478 SkipTurns: 0; |
1559 SkipTurns: 0; |
1479 PosCount: 1; |
1560 PosCount: 0; |
1480 PosSprite: sprWater; |
1561 PosSprite: sprWater; |
1481 ejectX: 0; |
1562 ejectX: 0; |
1482 ejectY: 0), |
1563 ejectY: 0), |
1483 |
1564 |
1484 // Cake |
1565 // Cake |
1494 NumPerTurn: 0; |
1575 NumPerTurn: 0; |
1495 Timer: 0; |
1576 Timer: 0; |
1496 Pos: 0; |
1577 Pos: 0; |
1497 AmmoType: amCake; |
1578 AmmoType: amCake; |
1498 AttackVoice: sndLaugh; |
1579 AttackVoice: sndLaugh; |
1499 Bounciness: 1000); |
1580 Bounciness: defaultBounciness); |
1500 Slot: 4; |
1581 Slot: 4; |
1501 TimeAfterTurn: 0; |
1582 TimeAfterTurn: 0; |
1502 minAngle: 0; |
1583 minAngle: 0; |
1503 maxAngle: 0; |
1584 maxAngle: 0; |
1504 isDamaging: true; |
1585 isDamaging: true; |
1505 SkipTurns: 4; |
1586 SkipTurns: 4; |
1506 PosCount: 1; |
1587 PosCount: 0; |
1507 PosSprite: sprWater; |
1588 PosSprite: sprWater; |
1508 ejectX: 0; |
1589 ejectX: 0; |
1509 ejectY: 0), |
1590 ejectY: 0), |
1510 |
1591 |
1511 // Seduction |
1592 // Seduction |
1520 NumPerTurn: 0; |
1601 NumPerTurn: 0; |
1521 Timer: 0; |
1602 Timer: 0; |
1522 Pos: 0; |
1603 Pos: 0; |
1523 AmmoType: amSeduction; |
1604 AmmoType: amSeduction; |
1524 AttackVoice: sndNone; |
1605 AttackVoice: sndNone; |
1525 Bounciness: 1000); |
1606 Bounciness: defaultBounciness); |
1526 Slot: 3; |
1607 Slot: 3; |
1527 TimeAfterTurn: 0; |
1608 TimeAfterTurn: 0; |
1528 minAngle: 0; |
1609 minAngle: 0; |
1529 maxAngle: 0; |
1610 maxAngle: 0; |
1530 isDamaging: false; |
1611 isDamaging: false; |
1531 SkipTurns: 0; |
1612 SkipTurns: 0; |
1532 PosCount: 1; |
1613 PosCount: 0; |
1533 PosSprite: sprWater; |
1614 PosSprite: sprWater; |
1534 ejectX: 0; |
1615 ejectX: 0; |
1535 ejectY: 0), |
1616 ejectY: 0), |
1536 |
1617 |
1537 // Watermelon |
1618 // Watermelon |
1547 NumPerTurn: 0; |
1628 NumPerTurn: 0; |
1548 Timer: 3000; |
1629 Timer: 3000; |
1549 Pos: 0; |
1630 Pos: 0; |
1550 AmmoType: amWatermelon; |
1631 AmmoType: amWatermelon; |
1551 AttackVoice: sndMelon; |
1632 AttackVoice: sndMelon; |
1552 Bounciness: 1000); |
1633 Bounciness: defaultBounciness); |
1553 Slot: 1; |
1634 Slot: 1; |
1554 TimeAfterTurn: 3000; |
1635 TimeAfterTurn: 3000; |
1555 minAngle: 0; |
1636 minAngle: 0; |
1556 maxAngle: 0; |
1637 maxAngle: 0; |
1557 isDamaging: true; |
1638 isDamaging: true; |
1558 SkipTurns: 0; |
1639 SkipTurns: 0; |
1559 PosCount: 1; |
1640 PosCount: 0; |
1560 PosSprite: sprWater; |
1641 PosSprite: sprWater; |
1561 ejectX: 0; |
1642 ejectX: 0; |
1562 ejectY: 0), |
1643 ejectY: 0), |
1563 |
1644 |
1564 // HellishBomb ("Hellish Hand-Grenade") |
1645 // HellishBomb ("Hellish Hand-Grenade") |
1572 Count: 0; |
1653 Count: 0; |
1573 NumPerTurn: 0; |
1654 NumPerTurn: 0; |
1574 Timer: 5000; |
1655 Timer: 5000; |
1575 Pos: 0; |
1656 Pos: 0; |
1576 AmmoType: amHellishBomb; |
1657 AmmoType: amHellishBomb; |
1577 AttackVoice: sndNone; |
1658 AttackVoice: sndWatchThis; |
1578 Bounciness: 1000); |
1659 Bounciness: defaultBounciness); |
1579 Slot: 1; |
1660 Slot: 1; |
1580 TimeAfterTurn: 3000; |
1661 TimeAfterTurn: 3000; |
1581 minAngle: 0; |
1662 minAngle: 0; |
1582 maxAngle: 0; |
1663 maxAngle: 0; |
1583 isDamaging: true; |
1664 isDamaging: true; |
1584 SkipTurns: 0; |
1665 SkipTurns: 0; |
1585 PosCount: 1; |
1666 PosCount: 0; |
1586 PosSprite: sprWater; |
1667 PosSprite: sprWater; |
1587 ejectX: 0; |
1668 ejectX: 0; |
1588 ejectY: 0), |
1669 ejectY: 0), |
1589 |
1670 |
1590 // Napalm |
1671 // Napalm |
1600 Count: 1; |
1681 Count: 1; |
1601 NumPerTurn: 0; |
1682 NumPerTurn: 0; |
1602 Timer: 0; |
1683 Timer: 0; |
1603 Pos: 0; |
1684 Pos: 0; |
1604 AmmoType: amNapalm; |
1685 AmmoType: amNapalm; |
1605 AttackVoice: sndIncoming; |
1686 AttackVoice: sndNone; // handled in doStepAirAttack |
1606 Bounciness: 1000); |
1687 Bounciness: defaultBounciness); |
1607 Slot: 5; |
1688 Slot: 5; |
1608 TimeAfterTurn: 0; |
1689 TimeAfterTurn: 0; |
1609 minAngle: 0; |
1690 minAngle: 0; |
1610 maxAngle: 0; |
1691 maxAngle: 0; |
1611 isDamaging: true; |
1692 isDamaging: true; |
1626 Count: AMMO_INFINITE; |
1707 Count: AMMO_INFINITE; |
1627 NumPerTurn: 0; |
1708 NumPerTurn: 0; |
1628 Timer: 0; |
1709 Timer: 0; |
1629 Pos: 0; |
1710 Pos: 0; |
1630 AmmoType: amDrill; |
1711 AmmoType: amDrill; |
1631 AttackVoice: sndNone; |
1712 AttackVoice: sndFire; |
1632 Bounciness: 1000); |
1713 Bounciness: defaultBounciness); |
1633 Slot: 0; |
1714 Slot: 0; |
1634 TimeAfterTurn: 3000; |
1715 TimeAfterTurn: 3000; |
1635 minAngle: 0; |
1716 minAngle: 0; |
1636 maxAngle: 0; |
1717 maxAngle: 0; |
1637 isDamaging: true; |
1718 isDamaging: true; |
1638 SkipTurns: 0; |
1719 SkipTurns: 0; |
1639 PosCount: 1; |
1720 PosCount: 0; |
1640 PosSprite: sprDrill; |
1721 PosSprite: sprDrill; |
1641 ejectX: 0; //20; |
1722 ejectX: 0; //20; |
1642 ejectY: -6), |
1723 ejectY: -6), |
1643 |
1724 |
1644 // Ballgun |
1725 // Ballgun |
1653 NumPerTurn: 0; |
1734 NumPerTurn: 0; |
1654 Timer: 5001; |
1735 Timer: 5001; |
1655 Pos: 0; |
1736 Pos: 0; |
1656 AmmoType: amBallgun; |
1737 AmmoType: amBallgun; |
1657 AttackVoice: sndNone; |
1738 AttackVoice: sndNone; |
1658 Bounciness: 1000); |
1739 Bounciness: defaultBounciness); |
1659 Slot: 4; |
1740 Slot: 4; |
1660 TimeAfterTurn: 0; |
1741 TimeAfterTurn: 0; |
1661 minAngle: 0; |
1742 minAngle: 0; |
1662 maxAngle: 0; |
1743 maxAngle: 0; |
1663 isDamaging: true; |
1744 isDamaging: true; |
1664 SkipTurns: 0; |
1745 SkipTurns: 0; |
1665 PosCount: 1; |
1746 PosCount: 0; |
1666 PosSprite: sprWater; |
1747 PosSprite: sprWater; |
1667 ejectX: 0; //20; |
1748 ejectX: 0; //20; |
1668 ejectY: -3), |
1749 ejectY: -3), |
1669 |
1750 |
1670 // RC-Plane |
1751 // RC-Plane |
1680 NumPerTurn: 0; |
1761 NumPerTurn: 0; |
1681 Timer: 0; |
1762 Timer: 0; |
1682 Pos: 0; |
1763 Pos: 0; |
1683 AmmoType: amRCPlane; |
1764 AmmoType: amRCPlane; |
1684 AttackVoice: sndNone; |
1765 AttackVoice: sndNone; |
1685 Bounciness: 1000); |
1766 Bounciness: defaultBounciness); |
1686 Slot: 4; |
1767 Slot: 4; |
1687 TimeAfterTurn: 0; |
1768 TimeAfterTurn: 0; |
1688 minAngle: 0; |
1769 minAngle: 0; |
1689 maxAngle: 0; |
1770 maxAngle: 0; |
1690 isDamaging: true; |
1771 isDamaging: true; |
1691 SkipTurns: 4; |
1772 SkipTurns: 4; |
1692 PosCount: 1; |
1773 PosCount: 0; |
1693 PosSprite: sprWater; |
1774 PosSprite: sprWater; |
1694 ejectX: 0; |
1775 ejectX: 0; |
1695 ejectY: 0), |
1776 ejectY: 0), |
1696 |
1777 |
1697 // LowGravity |
1778 // LowGravity |
1701 NumberInCase: 1; |
1782 NumberInCase: 1; |
1702 Ammo: (Propz: ammoprop_NoRoundEnd or |
1783 Ammo: (Propz: ammoprop_NoRoundEnd or |
1703 ammoprop_NoCrosshair or |
1784 ammoprop_NoCrosshair or |
1704 ammoprop_DontHold or |
1785 ammoprop_DontHold or |
1705 ammoprop_AltUse or |
1786 ammoprop_AltUse or |
1787 ammoprop_ShowSelIcon or |
|
1706 ammoprop_Utility or |
1788 ammoprop_Utility or |
1707 ammoprop_Effect; |
1789 ammoprop_Effect; |
1708 Count: 1; |
1790 Count: 1; |
1709 NumPerTurn: 0; |
1791 NumPerTurn: 0; |
1710 Timer: 0; |
1792 Timer: 0; |
1711 Pos: 0; |
1793 Pos: 0; |
1712 AmmoType: amLowGravity; |
1794 AmmoType: amLowGravity; |
1713 AttackVoice: sndNone; |
1795 AttackVoice: sndNone; |
1714 Bounciness: 1000); |
1796 Bounciness: defaultBounciness); |
1715 Slot: 9; |
1797 Slot: 9; |
1716 TimeAfterTurn: 0; |
1798 TimeAfterTurn: 0; |
1717 minAngle: 0; |
1799 minAngle: 0; |
1718 maxAngle: 0; |
1800 maxAngle: 0; |
1719 isDamaging: false; |
1801 isDamaging: false; |
1720 SkipTurns: 0; |
1802 SkipTurns: 0; |
1721 PosCount: 1; |
1803 PosCount: 0; |
1722 PosSprite: sprWater; |
1804 PosSprite: sprWater; |
1723 ejectX: 0; |
1805 ejectX: 0; |
1724 ejectY: 0), |
1806 ejectY: 0), |
1725 |
1807 |
1726 // ExtraDamage |
1808 // ExtraDamage |
1730 NumberInCase: 1; |
1812 NumberInCase: 1; |
1731 Ammo: (Propz: ammoprop_NoRoundEnd or |
1813 Ammo: (Propz: ammoprop_NoRoundEnd or |
1732 ammoprop_NoCrosshair or |
1814 ammoprop_NoCrosshair or |
1733 ammoprop_DontHold or |
1815 ammoprop_DontHold or |
1734 ammoprop_AltUse or |
1816 ammoprop_AltUse or |
1817 ammoprop_ShowSelIcon or |
|
1735 ammoprop_Utility or |
1818 ammoprop_Utility or |
1736 ammoprop_Effect; |
1819 ammoprop_Effect; |
1737 Count: 1; |
1820 Count: 1; |
1738 NumPerTurn: 0; |
1821 NumPerTurn: 0; |
1739 Timer: 0; |
1822 Timer: 0; |
1740 Pos: 0; |
1823 Pos: 0; |
1741 AmmoType: amExtraDamage; |
1824 AmmoType: amExtraDamage; |
1742 AttackVoice: sndNone; |
1825 AttackVoice: sndNone; |
1743 Bounciness: 1000); |
1826 Bounciness: defaultBounciness); |
1744 Slot: 9; |
1827 Slot: 9; |
1745 TimeAfterTurn: 0; |
1828 TimeAfterTurn: 0; |
1746 minAngle: 0; |
1829 minAngle: 0; |
1747 maxAngle: 0; |
1830 maxAngle: 0; |
1748 isDamaging: false; |
1831 isDamaging: false; |
1749 SkipTurns: 0; |
1832 SkipTurns: 0; |
1750 PosCount: 1; |
1833 PosCount: 0; |
1751 PosSprite: sprWater; |
1834 PosSprite: sprWater; |
1752 ejectX: 0; |
1835 ejectX: 0; |
1753 ejectY: 0), |
1836 ejectY: 0), |
1754 |
1837 |
1755 // Invulnerable |
1838 // Invulnerable |
1759 NumberInCase: 1; |
1842 NumberInCase: 1; |
1760 Ammo: (Propz: ammoprop_NoRoundEnd or |
1843 Ammo: (Propz: ammoprop_NoRoundEnd or |
1761 ammoprop_NoCrosshair or |
1844 ammoprop_NoCrosshair or |
1762 ammoprop_DontHold or |
1845 ammoprop_DontHold or |
1763 ammoprop_AltUse or |
1846 ammoprop_AltUse or |
1847 ammoprop_ShowSelIcon or |
|
1764 ammoprop_Utility or |
1848 ammoprop_Utility or |
1765 ammoprop_Effect; |
1849 ammoprop_Effect; |
1766 Count: 1; |
1850 Count: 1; |
1767 NumPerTurn: 0; |
1851 NumPerTurn: 0; |
1768 Timer: 0; |
1852 Timer: 0; |
1769 Pos: 0; |
1853 Pos: 0; |
1770 AmmoType: amInvulnerable; |
1854 AmmoType: amInvulnerable; |
1771 AttackVoice: sndNone; |
1855 AttackVoice: sndNone; |
1772 Bounciness: 1000); |
1856 Bounciness: defaultBounciness); |
1773 Slot: 8; |
1857 Slot: 8; |
1774 TimeAfterTurn: 0; |
1858 TimeAfterTurn: 0; |
1775 minAngle: 0; |
1859 minAngle: 0; |
1776 maxAngle: 0; |
1860 maxAngle: 0; |
1777 isDamaging: false; |
1861 isDamaging: false; |
1778 SkipTurns: 0; |
1862 SkipTurns: 0; |
1779 PosCount: 1; |
1863 PosCount: 0; |
1780 PosSprite: sprWater; |
1864 PosSprite: sprWater; |
1781 ejectX: 0; |
1865 ejectX: 0; |
1782 ejectY: 0), |
1866 ejectY: 0), |
1783 |
1867 |
1784 // ExtraTime |
1868 // ExtraTime |
1788 NumberInCase: 1; |
1872 NumberInCase: 1; |
1789 Ammo: (Propz: ammoprop_NoRoundEnd or |
1873 Ammo: (Propz: ammoprop_NoRoundEnd or |
1790 ammoprop_NoCrosshair or |
1874 ammoprop_NoCrosshair or |
1791 ammoprop_DontHold or |
1875 ammoprop_DontHold or |
1792 ammoprop_AltUse or |
1876 ammoprop_AltUse or |
1877 ammoprop_ShowSelIcon or |
|
1793 ammoprop_Utility or |
1878 ammoprop_Utility or |
1794 ammoprop_Effect; |
1879 ammoprop_Effect; |
1795 Count: 1; |
1880 Count: 1; |
1796 NumPerTurn: 0; |
1881 NumPerTurn: 0; |
1797 Timer: 0; |
1882 Timer: 0; |
1798 Pos: 0; |
1883 Pos: 0; |
1799 AmmoType: amExtraTime; |
1884 AmmoType: amExtraTime; |
1800 AttackVoice: sndNone; |
1885 AttackVoice: sndNone; |
1801 Bounciness: 1000); |
1886 Bounciness: defaultBounciness); |
1802 Slot: 9; |
1887 Slot: 9; |
1803 TimeAfterTurn: 0; |
1888 TimeAfterTurn: 0; |
1804 minAngle: 0; |
1889 minAngle: 0; |
1805 maxAngle: 0; |
1890 maxAngle: 0; |
1806 isDamaging: false; |
1891 isDamaging: false; |
1807 SkipTurns: 0; |
1892 SkipTurns: 0; |
1808 PosCount: 1; |
1893 PosCount: 0; |
1809 PosSprite: sprWater; |
1894 PosSprite: sprWater; |
1810 ejectX: 0; |
1895 ejectX: 0; |
1811 ejectY: 0), |
1896 ejectY: 0), |
1812 |
1897 |
1813 // LaserSight |
1898 // LaserSight |
1817 NumberInCase: 1; |
1902 NumberInCase: 1; |
1818 Ammo: (Propz: ammoprop_NoRoundEnd or |
1903 Ammo: (Propz: ammoprop_NoRoundEnd or |
1819 ammoprop_NoCrosshair or |
1904 ammoprop_NoCrosshair or |
1820 ammoprop_DontHold or |
1905 ammoprop_DontHold or |
1821 ammoprop_AltUse or |
1906 ammoprop_AltUse or |
1907 ammoprop_ShowSelIcon or |
|
1822 ammoprop_Utility or |
1908 ammoprop_Utility or |
1823 ammoprop_NeedUpDown or |
1909 ammoprop_NeedUpDown or |
1824 ammoprop_Effect; |
1910 ammoprop_Effect; |
1825 Count: 1; |
1911 Count: 1; |
1826 NumPerTurn: 0; |
1912 NumPerTurn: 0; |
1827 Timer: 0; |
1913 Timer: 0; |
1828 Pos: 0; |
1914 Pos: 0; |
1829 AmmoType: amLaserSight; |
1915 AmmoType: amLaserSight; |
1830 AttackVoice: sndNone; |
1916 AttackVoice: sndNone; |
1831 Bounciness: 1000); |
1917 Bounciness: defaultBounciness); |
1832 Slot: 8; |
1918 Slot: 8; |
1833 TimeAfterTurn: 0; |
1919 TimeAfterTurn: 0; |
1834 minAngle: 0; |
1920 minAngle: 0; |
1835 maxAngle: 0; |
1921 maxAngle: 0; |
1836 isDamaging: false; |
1922 isDamaging: false; |
1837 SkipTurns: 0; |
1923 SkipTurns: 0; |
1838 PosCount: 1; |
1924 PosCount: 0; |
1839 PosSprite: sprWater; |
1925 PosSprite: sprWater; |
1840 ejectX: 0; |
1926 ejectX: 0; |
1841 ejectY: 0), |
1927 ejectY: 0), |
1842 |
1928 |
1843 // Vampiric |
1929 // Vampiric |
1855 NumPerTurn: 0; |
1941 NumPerTurn: 0; |
1856 Timer: 0; |
1942 Timer: 0; |
1857 Pos: 0; |
1943 Pos: 0; |
1858 AmmoType: amVampiric; |
1944 AmmoType: amVampiric; |
1859 AttackVoice: sndNone; |
1945 AttackVoice: sndNone; |
1860 Bounciness: 1000); |
1946 Bounciness: defaultBounciness); |
1861 Slot: 8; |
1947 Slot: 8; |
1862 TimeAfterTurn: 0; |
1948 TimeAfterTurn: 0; |
1863 minAngle: 0; |
1949 minAngle: 0; |
1864 maxAngle: 0; |
1950 maxAngle: 0; |
1865 isDamaging: false; |
1951 isDamaging: false; |
1866 SkipTurns: 0; |
1952 SkipTurns: 0; |
1867 PosCount: 1; |
1953 PosCount: 0; |
1868 PosSprite: sprWater; |
1954 PosSprite: sprWater; |
1869 ejectX: 0; |
1955 ejectX: 0; |
1870 ejectY: 0), |
1956 ejectY: 0), |
1871 |
1957 |
1872 // SniperRifle |
1958 // SniperRifle |
1882 NumPerTurn: 1; |
1968 NumPerTurn: 1; |
1883 Timer: 0; |
1969 Timer: 0; |
1884 Pos: 0; |
1970 Pos: 0; |
1885 AmmoType: amSniperRifle; |
1971 AmmoType: amSniperRifle; |
1886 AttackVoice: sndNone; |
1972 AttackVoice: sndNone; |
1887 Bounciness: 1000); |
1973 Bounciness: defaultBounciness); |
1888 Slot: 2; |
1974 Slot: 2; |
1889 TimeAfterTurn: 3000; |
1975 TimeAfterTurn: 3000; |
1890 minAngle: 0; |
1976 minAngle: 0; |
1891 maxAngle: 0; |
1977 maxAngle: 0; |
1892 isDamaging: true; |
1978 isDamaging: true; |
1893 SkipTurns: 0; |
1979 SkipTurns: 0; |
1894 PosCount: 1; |
1980 PosCount: 0; |
1895 PosSprite: sprWater; |
1981 PosSprite: sprWater; |
1896 ejectX: 0; //40; |
1982 ejectX: 0; //40; |
1897 ejectY: -5), |
1983 ejectY: -5), |
1898 |
1984 |
1899 // Jetpack ("Flying Saucer") |
1985 // Jetpack ("Flying Saucer") |
1905 ammoprop_ForwMsgs or |
1991 ammoprop_ForwMsgs or |
1906 ammoprop_AttackInMove or |
1992 ammoprop_AttackInMove or |
1907 ammoprop_DontHold or |
1993 ammoprop_DontHold or |
1908 ammoprop_Utility or |
1994 ammoprop_Utility or |
1909 ammoprop_NeedUpDown or |
1995 ammoprop_NeedUpDown or |
1996 ammoprop_ShowSelIcon or |
|
1910 ammoprop_AltAttack; |
1997 ammoprop_AltAttack; |
1911 Count: 1; |
1998 Count: 1; |
1912 NumPerTurn: 0; |
1999 NumPerTurn: 0; |
1913 Timer: 0; |
2000 Timer: 0; |
1914 Pos: 0; |
2001 Pos: 0; |
1915 AmmoType: amJetpack; |
2002 AmmoType: amJetpack; |
1916 AttackVoice: sndNone; |
2003 AttackVoice: sndNone; |
1917 Bounciness: 1000); |
2004 Bounciness: defaultBounciness); |
1918 Slot: 7; |
2005 Slot: 7; |
1919 TimeAfterTurn: 3000; |
2006 TimeAfterTurn: 3000; |
1920 minAngle: 0; |
2007 minAngle: 0; |
1921 maxAngle: 0; |
2008 maxAngle: 0; |
1922 isDamaging: false; |
2009 isDamaging: false; |
1923 SkipTurns: 0; |
2010 SkipTurns: 0; |
1924 PosCount: 1; |
2011 PosCount: 0; |
1925 PosSprite: sprWater; |
2012 PosSprite: sprWater; |
1926 ejectX: 0; |
2013 ejectX: 0; |
1927 ejectY: 0), |
2014 ejectY: 0), |
1928 |
2015 |
1929 // Molotov |
2016 // Molotov |
1937 Count: AMMO_INFINITE; |
2024 Count: AMMO_INFINITE; |
1938 NumPerTurn: 0; |
2025 NumPerTurn: 0; |
1939 Timer: 3000; |
2026 Timer: 3000; |
1940 Pos: 0; |
2027 Pos: 0; |
1941 AmmoType: amMolotov; |
2028 AmmoType: amMolotov; |
1942 AttackVoice: sndNone; |
2029 AttackVoice: sndWatchThis; |
1943 Bounciness: 1000); |
2030 Bounciness: defaultBounciness); |
1944 Slot: 1; |
2031 Slot: 1; |
1945 TimeAfterTurn: 3000; |
2032 TimeAfterTurn: 3000; |
1946 minAngle: 0; |
2033 minAngle: 0; |
1947 maxAngle: 0; |
2034 maxAngle: 0; |
1948 isDamaging: true; |
2035 isDamaging: true; |
1949 SkipTurns: 0; |
2036 SkipTurns: 0; |
1950 PosCount: 1; |
2037 PosCount: 0; |
1951 PosSprite: sprWater; |
2038 PosSprite: sprWater; |
1952 ejectX: 0; |
2039 ejectX: 0; |
1953 ejectY: 0), |
2040 ejectY: 0), |
1954 |
2041 |
1955 // Birdy |
2042 // Birdy |
1958 Probability: 20; |
2045 Probability: 20; |
1959 NumberInCase: 1; |
2046 NumberInCase: 1; |
1960 Ammo: (Propz: ammoprop_ForwMsgs or |
2047 Ammo: (Propz: ammoprop_ForwMsgs or |
1961 ammoprop_NoCrosshair or |
2048 ammoprop_NoCrosshair or |
1962 ammoprop_NeedUpDown or |
2049 ammoprop_NeedUpDown or |
2050 ammoprop_ShowSelIcon or |
|
1963 ammoprop_DontHold; |
2051 ammoprop_DontHold; |
1964 Count: 1; |
2052 Count: 1; |
1965 NumPerTurn: 0; |
2053 NumPerTurn: 0; |
1966 Timer: 0; |
2054 Timer: 0; |
1967 Pos: 0; |
2055 Pos: 0; |
1968 AmmoType: amBirdy; |
2056 AmmoType: amBirdy; |
1969 AttackVoice: sndNone; |
2057 AttackVoice: sndNone; |
1970 Bounciness: 1000); |
2058 Bounciness: defaultBounciness); |
1971 Slot: 7; |
2059 Slot: 7; |
1972 TimeAfterTurn: 3000; |
2060 TimeAfterTurn: 3000; |
1973 minAngle: 0; |
2061 minAngle: 0; |
1974 maxAngle: 0; |
2062 maxAngle: 0; |
1975 isDamaging: true; |
2063 isDamaging: true; |
1976 SkipTurns: 0; |
2064 SkipTurns: 0; |
1977 PosCount: 1; |
2065 PosCount: 0; |
1978 PosSprite: sprWater; |
2066 PosSprite: sprWater; |
1979 ejectX: 0; |
2067 ejectX: 0; |
1980 ejectY: 0), |
2068 ejectY: 0), |
1981 |
2069 |
1982 // PortalGun |
2070 // PortalGun |
1993 NumPerTurn: 3; |
2081 NumPerTurn: 3; |
1994 Timer: 0; |
2082 Timer: 0; |
1995 Pos: 0; |
2083 Pos: 0; |
1996 AmmoType: amPortalGun; |
2084 AmmoType: amPortalGun; |
1997 AttackVoice: sndNone; |
2085 AttackVoice: sndNone; |
1998 Bounciness: 1000); |
2086 Bounciness: defaultBounciness); |
1999 Slot: 7; |
2087 Slot: 7; |
2000 TimeAfterTurn: 0; |
2088 TimeAfterTurn: 0; |
2001 minAngle: 0; |
2089 minAngle: 0; |
2002 maxAngle: 0; |
2090 maxAngle: 0; |
2003 isDamaging: false; |
2091 isDamaging: false; |
2004 SkipTurns: 0; |
2092 SkipTurns: 0; |
2005 PosCount: 1; |
2093 PosCount: 0; |
2006 PosSprite: sprWater; |
2094 PosSprite: sprWater; |
2007 ejectX: -5; //29; |
2095 ejectX: -5; //29; |
2008 ejectY: -7), |
2096 ejectY: -7), |
2009 |
2097 |
2010 // Piano |
2098 // Piano |
2012 NameTex: nil; |
2100 NameTex: nil; |
2013 Probability: 100; |
2101 Probability: 100; |
2014 NumberInCase: 1; |
2102 NumberInCase: 1; |
2015 Ammo: (Propz: ammoprop_NoCrosshair or |
2103 Ammo: (Propz: ammoprop_NoCrosshair or |
2016 ammoprop_NeedTarget or |
2104 ammoprop_NeedTarget or |
2017 ammoprop_NoTargetAfter or |
2105 // NoTargetAfter is handled manually in doStepPiano |
2018 ammoprop_AttackingPut or |
2106 ammoprop_AttackingPut or |
2019 ammoprop_DontHold or |
2107 ammoprop_DontHold or |
2020 ammoprop_NotBorder or |
2108 ammoprop_NotBorder or |
2021 ammoprop_ForceTurnEnd; |
2109 ammoprop_ForceTurnEnd; |
2022 Count: 1; |
2110 Count: 1; |
2023 NumPerTurn: 0; |
2111 NumPerTurn: 0; |
2024 Timer: 0; |
2112 Timer: 0; |
2025 Pos: 0; |
2113 Pos: 0; |
2026 AmmoType: amPiano; |
2114 AmmoType: amPiano; |
2027 AttackVoice: sndIncoming; |
2115 AttackVoice: sndNone; // handled in doStepPiano |
2028 Bounciness: 1000); |
2116 Bounciness: defaultBounciness); |
2029 Slot: 5; |
2117 Slot: 5; |
2030 TimeAfterTurn: 0; |
2118 TimeAfterTurn: 0; |
2031 minAngle: 0; |
2119 minAngle: 0; |
2032 maxAngle: 0; |
2120 maxAngle: 0; |
2033 isDamaging: true; |
2121 isDamaging: true; |
2034 SkipTurns: 7; |
2122 SkipTurns: 7; |
2035 PosCount: 1; |
2123 PosCount: 1; |
2036 PosSprite: sprWater; |
2124 PosSprite: sprAmPiano; |
2037 ejectX: 0; |
2125 ejectX: 0; |
2038 ejectY: 0), |
2126 ejectY: 0), |
2039 |
2127 |
2040 // GasBomb |
2128 // GasBomb |
2041 (NameId: sidGasBomb; |
2129 (NameId: sidGasBomb; |
2051 NumPerTurn: 0; |
2139 NumPerTurn: 0; |
2052 Timer: 3000; |
2140 Timer: 3000; |
2053 Pos: 0; |
2141 Pos: 0; |
2054 AmmoType: amGasBomb; |
2142 AmmoType: amGasBomb; |
2055 AttackVoice: sndCover; |
2143 AttackVoice: sndCover; |
2056 Bounciness: 1000); |
2144 Bounciness: defaultBounciness); |
2057 Slot: 1; |
2145 Slot: 1; |
2058 TimeAfterTurn: 3000; |
2146 TimeAfterTurn: 3000; |
2059 minAngle: 0; |
2147 minAngle: 0; |
2060 maxAngle: 0; |
2148 maxAngle: 0; |
2061 isDamaging: true; |
2149 isDamaging: true; |
2062 SkipTurns: 0; |
2150 SkipTurns: 0; |
2063 PosCount: 1; |
2151 PosCount: 0; |
2064 PosSprite: sprWater; |
2152 PosSprite: sprWater; |
2065 ejectX: 0; |
2153 ejectX: 0; |
2066 ejectY: 0), |
2154 ejectY: 0), |
2067 |
2155 |
2068 // SineGun |
2156 // SineGun |
2076 NumPerTurn: 0; |
2164 NumPerTurn: 0; |
2077 Timer: 0; |
2165 Timer: 0; |
2078 Pos: 0; |
2166 Pos: 0; |
2079 AmmoType: amSineGun; |
2167 AmmoType: amSineGun; |
2080 AttackVoice: sndNone; |
2168 AttackVoice: sndNone; |
2081 Bounciness: 1000); |
2169 Bounciness: defaultBounciness); |
2082 Slot: 2; |
2170 Slot: 2; |
2083 TimeAfterTurn: 0; |
2171 TimeAfterTurn: 0; |
2084 minAngle: 0; |
2172 minAngle: 0; |
2085 maxAngle: 0; |
2173 maxAngle: 0; |
2086 isDamaging: true; |
2174 isDamaging: true; |
2087 SkipTurns: 0; |
2175 SkipTurns: 0; |
2088 PosCount: 1; |
2176 PosCount: 0; |
2089 PosSprite: sprWater; |
2177 PosSprite: sprWater; |
2090 ejectX: 0; |
2178 ejectX: 0; |
2091 ejectY: 0), |
2179 ejectY: 0), |
2092 |
2180 |
2093 // Flamethrower |
2181 // Flamethrower |
2102 NumPerTurn: 0; |
2190 NumPerTurn: 0; |
2103 Timer: 5001; |
2191 Timer: 5001; |
2104 Pos: 0; |
2192 Pos: 0; |
2105 AmmoType: amFlamethrower; |
2193 AmmoType: amFlamethrower; |
2106 AttackVoice: sndNone; |
2194 AttackVoice: sndNone; |
2107 Bounciness: 1000); |
2195 Bounciness: defaultBounciness); |
2108 Slot: 2; |
2196 Slot: 6; |
2109 TimeAfterTurn: 0; |
2197 TimeAfterTurn: 0; |
2110 minAngle: 0; |
2198 minAngle: 0; |
2111 maxAngle: 0; |
2199 maxAngle: 0; |
2112 isDamaging: true; |
2200 isDamaging: true; |
2113 SkipTurns: 0; |
2201 SkipTurns: 0; |
2114 PosCount: 1; |
2202 PosCount: 0; |
2115 PosSprite: sprWater; |
2203 PosSprite: sprWater; |
2116 ejectX: 0; //20; |
2204 ejectX: 0; //20; |
2117 ejectY: -3), |
2205 ejectY: -3), |
2118 |
2206 |
2119 // Sticky Mine |
2207 // Sticky Mine |
2128 NumPerTurn: 1; |
2216 NumPerTurn: 1; |
2129 Timer: 0; |
2217 Timer: 0; |
2130 Pos: 0; |
2218 Pos: 0; |
2131 AmmoType: amSMine; |
2219 AmmoType: amSMine; |
2132 AttackVoice: sndLaugh; |
2220 AttackVoice: sndLaugh; |
2133 Bounciness: 1000); |
2221 Bounciness: defaultBounciness); |
2134 Slot: 4; |
2222 Slot: 4; |
2135 TimeAfterTurn: 5000; |
2223 TimeAfterTurn: 5000; |
2136 minAngle: 0; |
2224 minAngle: 0; |
2137 maxAngle: 0; |
2225 maxAngle: 0; |
2138 isDamaging: true; |
2226 isDamaging: true; |
2139 SkipTurns: 0; |
2227 SkipTurns: 0; |
2140 PosCount: 1; |
2228 PosCount: 0; |
2141 PosSprite: sprWater; |
2229 PosSprite: sprWater; |
2142 ejectX: 0; |
2230 ejectX: 0; |
2143 ejectY: 0), |
2231 ejectY: 0), |
2144 |
2232 |
2145 // Hammer |
2233 // Hammer |
2152 NumPerTurn: 0; |
2240 NumPerTurn: 0; |
2153 Timer: 0; |
2241 Timer: 0; |
2154 Pos: 0; |
2242 Pos: 0; |
2155 AmmoType: amHammer; |
2243 AmmoType: amHammer; |
2156 AttackVoice: sndNone; |
2244 AttackVoice: sndNone; |
2157 Bounciness: 1000); |
2245 Bounciness: defaultBounciness); |
2158 Slot: 3; |
2246 Slot: 3; |
2159 TimeAfterTurn: 3000; |
2247 TimeAfterTurn: 3000; |
2160 minAngle: 0; |
2248 minAngle: 0; |
2161 maxAngle: 0; |
2249 maxAngle: 0; |
2162 isDamaging: true; |
2250 isDamaging: true; |
2163 SkipTurns: 0; |
2251 SkipTurns: 0; |
2164 PosCount: 1; |
2252 PosCount: 0; |
2165 PosSprite: sprWater; |
2253 PosSprite: sprWater; |
2166 ejectX: 0; |
2254 ejectX: 0; |
2167 ejectY: 0), |
2255 ejectY: 0), |
2168 |
2256 |
2169 // Resurrector |
2257 // Resurrector |
2171 NameTex: nil; |
2259 NameTex: nil; |
2172 Probability: 0; |
2260 Probability: 0; |
2173 NumberInCase: 1; |
2261 NumberInCase: 1; |
2174 Ammo: (Propz: ammoprop_NoCrosshair or |
2262 Ammo: (Propz: ammoprop_NoCrosshair or |
2175 ammoprop_Utility or |
2263 ammoprop_Utility or |
2176 ammoprop_NoRoundEnd; |
2264 ammoprop_NoRoundEnd or |
2265 ammoprop_DoesntStopTimerWhileAttacking; |
|
2177 Count: 1; |
2266 Count: 1; |
2178 NumPerTurn: 0; |
2267 NumPerTurn: 0; |
2179 Timer: 0; |
2268 Timer: 0; |
2180 Pos: 0; |
2269 Pos: 0; |
2181 AmmoType: amResurrector; |
2270 AmmoType: amResurrector; |
2182 AttackVoice: sndNone; |
2271 AttackVoice: sndNone; |
2183 Bounciness: 1000); |
2272 Bounciness: defaultBounciness); |
2184 Slot: 8; |
2273 Slot: 8; |
2185 TimeAfterTurn: 3000; |
2274 TimeAfterTurn: 3000; |
2186 minAngle: 0; |
2275 minAngle: 0; |
2187 maxAngle: 0; |
2276 maxAngle: 0; |
2188 isDamaging: true; |
2277 isDamaging: true; |
2189 SkipTurns: 0; |
2278 SkipTurns: 0; |
2190 PosCount: 1; |
2279 PosCount: 0; |
2191 PosSprite: sprWater; |
2280 PosSprite: sprWater; |
2192 ejectX: 0; |
2281 ejectX: 0; |
2193 ejectY: 0), |
2282 ejectY: 0), |
2194 |
2283 |
2195 // DrillStrike |
2284 // DrillStrike |
2206 Count: 1; |
2295 Count: 1; |
2207 NumPerTurn: 0; |
2296 NumPerTurn: 0; |
2208 Timer: 5000; |
2297 Timer: 5000; |
2209 Pos: 0; |
2298 Pos: 0; |
2210 AmmoType: amDrillStrike; |
2299 AmmoType: amDrillStrike; |
2211 AttackVoice: sndIncoming; |
2300 AttackVoice: sndNone; // handled in doStepAirAttack |
2212 Bounciness: 1000); |
2301 Bounciness: defaultBounciness); |
2213 Slot: 5; |
2302 Slot: 5; |
2214 TimeAfterTurn: 0; |
2303 TimeAfterTurn: 0; |
2215 minAngle: 0; |
2304 minAngle: 0; |
2216 maxAngle: 0; |
2305 maxAngle: 0; |
2217 isDamaging: true; |
2306 isDamaging: true; |
2234 NumPerTurn: 0; |
2323 NumPerTurn: 0; |
2235 Timer: 0; |
2324 Timer: 0; |
2236 Pos: 0; |
2325 Pos: 0; |
2237 AmmoType: amSnowball; |
2326 AmmoType: amSnowball; |
2238 AttackVoice: sndNone; |
2327 AttackVoice: sndNone; |
2239 Bounciness: 1000); |
2328 Bounciness: defaultBounciness); |
2240 Slot: 0; |
2329 Slot: 0; |
2241 TimeAfterTurn: 3000; |
2330 TimeAfterTurn: 3000; |
2242 minAngle: 0; |
2331 minAngle: 0; |
2243 maxAngle: 0; |
2332 maxAngle: 0; |
2244 isDamaging: false; |
2333 isDamaging: false; |
2245 SkipTurns: 0; |
2334 SkipTurns: 0; |
2246 PosCount: 1; |
2335 PosCount: 0; |
2247 PosSprite: sprWater; |
2336 PosSprite: sprWater; |
2248 ejectX: 0; |
2337 ejectX: 0; |
2249 ejectY: 0), |
2338 ejectY: 0), |
2250 |
2339 |
2251 // Tardis |
2340 // Tardis |
2254 Probability: 200; |
2343 Probability: 200; |
2255 NumberInCase: 1; |
2344 NumberInCase: 1; |
2256 Ammo: (Propz: ammoprop_ForwMsgs or |
2345 Ammo: (Propz: ammoprop_ForwMsgs or |
2257 ammoprop_NoCrosshair or |
2346 ammoprop_NoCrosshair or |
2258 ammoprop_Utility or |
2347 ammoprop_Utility or |
2348 ammoprop_ShowSelIcon or |
|
2259 ammoprop_DontHold or |
2349 ammoprop_DontHold or |
2260 ammoprop_ForceTurnEnd; |
2350 ammoprop_ForceTurnEnd; |
2261 Count: 2; |
2351 Count: 2; |
2262 NumPerTurn: 0; |
2352 NumPerTurn: 0; |
2263 Timer: 0; |
2353 Timer: 0; |
2264 Pos: 0; |
2354 Pos: 0; |
2265 AmmoType: amTardis; |
2355 AmmoType: amTardis; |
2266 AttackVoice: sndNone; |
2356 AttackVoice: sndNone; |
2267 Bounciness: 1000); |
2357 Bounciness: defaultBounciness); |
2268 Slot: 8; |
2358 Slot: 8; |
2269 TimeAfterTurn: 0; |
2359 TimeAfterTurn: 0; |
2270 minAngle: 0; |
2360 minAngle: 0; |
2271 maxAngle: 0; |
2361 maxAngle: 0; |
2272 isDamaging: false; |
2362 isDamaging: false; |
2273 SkipTurns: 0; |
2363 SkipTurns: 0; |
2274 PosCount: 2; |
2364 PosCount: 2; |
2275 PosSprite: sprAmTeleport; |
2365 PosSprite: sprAmTeleport; |
2276 ejectX: 0; |
2366 ejectX: 0; |
2277 ejectY: 0), |
2367 ejectY: 0), |
2278 |
|
2279 // Structure |
|
2280 { |
|
2281 (NameId: sidStructure; |
|
2282 NameTex: nil; |
|
2283 Probability: 0; |
|
2284 NumberInCase: 1; |
|
2285 Ammo: (Propz: ammoprop_ForwMsgs or |
|
2286 ammoprop_NoCrosshair or |
|
2287 ammoprop_Utility or |
|
2288 ammoprop_DontHold; |
|
2289 Count: 1; |
|
2290 NumPerTurn: 0; |
|
2291 Timer: 0; |
|
2292 Pos: 0; |
|
2293 AmmoType: amStructure; |
|
2294 AttackVoice: sndNone; |
|
2295 Bounciness: 1000); |
|
2296 Slot: 6; |
|
2297 TimeAfterTurn: 0; |
|
2298 minAngle: 0; |
|
2299 maxAngle: 0; |
|
2300 isDamaging: false; |
|
2301 SkipTurns: 0; |
|
2302 PosCount: 1; |
|
2303 PosSprite: sprWater; |
|
2304 ejectX: 0; |
|
2305 ejectY: 0), |
|
2306 } |
|
2307 |
2368 |
2308 // Land Gun |
2369 // Land Gun |
2309 (NameId: sidLandGun; |
2370 (NameId: sidLandGun; |
2310 NameTex: nil; |
2371 NameTex: nil; |
2311 Probability: 20; |
2372 Probability: 20; |
2317 NumPerTurn: 0; |
2378 NumPerTurn: 0; |
2318 Timer: 5001; |
2379 Timer: 5001; |
2319 Pos: 0; |
2380 Pos: 0; |
2320 AmmoType: amLandGun; |
2381 AmmoType: amLandGun; |
2321 AttackVoice: sndNone; |
2382 AttackVoice: sndNone; |
2322 Bounciness: 1000); |
2383 Bounciness: defaultBounciness); |
2323 Slot: 6; |
2384 Slot: 6; |
2324 TimeAfterTurn: 0; |
2385 TimeAfterTurn: 0; |
2325 minAngle: 0; |
2386 minAngle: 0; |
2326 maxAngle: 0; |
2387 maxAngle: 0; |
2327 isDamaging: true; |
2388 isDamaging: true; |
2328 SkipTurns: 0; |
2389 SkipTurns: 0; |
2329 PosCount: 1; |
2390 PosCount: 0; |
2330 PosSprite: sprWater; |
2391 PosSprite: sprWater; |
2331 ejectX: 0; //20; |
2392 ejectX: 0; //20; |
2332 ejectY: -3), |
2393 ejectY: -3), |
2333 // Freezer |
2394 // Freezer |
2334 (NameId: sidIceGun; |
2395 (NameId: sidIceGun; |
2342 NumPerTurn: 0; |
2403 NumPerTurn: 0; |
2343 Timer: 5001; |
2404 Timer: 5001; |
2344 Pos: 0; |
2405 Pos: 0; |
2345 AmmoType: amIceGun; |
2406 AmmoType: amIceGun; |
2346 AttackVoice: sndNone; |
2407 AttackVoice: sndNone; |
2347 Bounciness: 1000); |
2408 Bounciness: defaultBounciness); |
2348 Slot: 2; |
2409 Slot: 2; |
2349 TimeAfterTurn: 0; |
2410 TimeAfterTurn: 0; |
2350 minAngle: 0; |
2411 minAngle: 0; |
2351 maxAngle: 0; |
2412 maxAngle: 0; |
2352 isDamaging: false; |
2413 isDamaging: false; |
2353 SkipTurns: 0; |
2414 SkipTurns: 0; |
2354 PosCount: 1; |
2415 PosCount: 0; |
2355 PosSprite: sprWater; |
2416 PosSprite: sprWater; |
2356 ejectX: 0; //20; |
2417 ejectX: 0; //20; |
2357 ejectY: -3), |
2418 ejectY: -3), |
2358 // Knife |
2419 // Knife |
2359 (NameId: sidKnife; |
2420 (NameId: sidKnife; |
2366 Count: 1; |
2427 Count: 1; |
2367 NumPerTurn: 1; |
2428 NumPerTurn: 1; |
2368 Timer: 0; |
2429 Timer: 0; |
2369 Pos: 0; |
2430 Pos: 0; |
2370 AmmoType: amKnife; |
2431 AmmoType: amKnife; |
2371 AttackVoice: sndNone; |
2432 AttackVoice: sndWatchThis; |
2372 Bounciness: 1000); |
2433 Bounciness: defaultBounciness); |
2373 Slot: 6; |
2434 Slot: 0; |
2374 TimeAfterTurn: 3000; |
2435 TimeAfterTurn: 3000; |
2375 minAngle: 0; |
2436 minAngle: 0; |
2376 maxAngle: 0; |
2437 maxAngle: 0; |
2377 isDamaging: true; |
2438 isDamaging: true; |
2378 SkipTurns: 0; |
2439 SkipTurns: 0; |
2379 PosCount: 1; |
2440 PosCount: 0; |
2380 PosSprite: sprWater; |
2441 PosSprite: sprWater; |
2381 ejectX: 0; |
2442 ejectX: 0; |
2382 ejectY: 0), |
2443 ejectY: 0), |
2383 // Rubber |
2444 // Rubber |
2384 (NameId: sidRubber; |
2445 (NameId: sidRubber; |
2394 NumPerTurn: 0; |
2455 NumPerTurn: 0; |
2395 Timer: 0; |
2456 Timer: 0; |
2396 Pos: 0; |
2457 Pos: 0; |
2397 AmmoType: amRubber; |
2458 AmmoType: amRubber; |
2398 AttackVoice: sndNone; |
2459 AttackVoice: sndNone; |
2399 Bounciness: 1000); |
2460 Bounciness: defaultBounciness); |
2400 Slot: 6; |
2461 Slot: 6; |
2401 TimeAfterTurn: 3000; |
2462 TimeAfterTurn: 3000; |
2402 minAngle: 0; |
2463 minAngle: 0; |
2403 maxAngle: 0; |
2464 maxAngle: 0; |
2404 isDamaging: false; |
2465 isDamaging: false; |
2419 NumPerTurn: 0; |
2480 NumPerTurn: 0; |
2420 Timer: 0; |
2481 Timer: 0; |
2421 Pos: 0; |
2482 Pos: 0; |
2422 AmmoType: amAirMine; |
2483 AmmoType: amAirMine; |
2423 AttackVoice: sndLaugh; |
2484 AttackVoice: sndLaugh; |
2424 Bounciness: 1000); |
2485 Bounciness: defaultBounciness); |
2425 Slot: 5; |
2486 Slot: 5; |
2426 TimeAfterTurn: 5000; |
2487 TimeAfterTurn: 5000; |
2427 minAngle: 0; |
2488 minAngle: 0; |
2428 maxAngle: 0; |
2489 maxAngle: 0; |
2429 isDamaging: true; |
2490 isDamaging: true; |
2430 SkipTurns: 0; |
2491 SkipTurns: 0; |
2431 PosCount: 1; |
2492 PosCount: 0; |
2432 PosSprite: sprWater; |
2493 PosSprite: sprWater; |
2433 ejectX: 0; |
2494 ejectX: 0; |
2434 ejectY: 0), |
2495 ejectY: 0), |
2435 // Rubber duck |
2496 // Creeper |
2436 (NameId: sidDuck; |
2497 (NameId: sidCreeper; |
2437 NameTex: nil; |
2498 NameTex: nil; |
2438 Probability: 100; |
2499 Probability: 100; |
2439 NumberInCase: 1; |
2500 NumberInCase: 1; |
2440 Ammo: (Propz: ammoprop_NoCrosshair or |
2501 Ammo: (Propz: ammoprop_NoCrosshair or |
2441 ammoprop_AttackInMove or |
2502 ammoprop_AttackInMove or |
2443 ammoprop_AltUse; |
2504 ammoprop_AltUse; |
2444 Count: 2; |
2505 Count: 2; |
2445 NumPerTurn: 0; |
2506 NumPerTurn: 0; |
2446 Timer: 15000; |
2507 Timer: 15000; |
2447 Pos: 0; |
2508 Pos: 0; |
2448 AmmoType: amDuck; |
2509 AmmoType: amCreeper; |
2449 AttackVoice: sndNone; |
2510 AttackVoice: sndNone; |
2450 Bounciness: 1000); |
2511 Bounciness: defaultBounciness); |
2451 Slot: 0; |
2512 // Slot chosen to prevent ammo column overflow |
2513 // TODO: Change slot when creeper is finished |
|
2514 Slot: 8; |
|
2452 TimeAfterTurn: 3000; |
2515 TimeAfterTurn: 3000; |
2453 minAngle: 0; |
2516 minAngle: 0; |
2454 maxAngle: 0; |
2517 maxAngle: 0; |
2455 isDamaging: true; |
2518 isDamaging: true; |
2456 SkipTurns: 0; |
2519 SkipTurns: 0; |
2457 PosCount: 1; |
2520 PosCount: 0; |
2458 PosSprite: sprWater; |
2521 PosSprite: sprWater; |
2459 ejectX: 15; |
2522 ejectX: 15; |
2460 ejectY: -7), |
2523 ejectY: -7), |
2461 // Minigun |
2524 // Minigun |
2462 (NameId: sidMinigun; |
2525 (NameId: sidMinigun; |
2468 NumPerTurn: 0; |
2531 NumPerTurn: 0; |
2469 Timer: 0; |
2532 Timer: 0; |
2470 Pos: 0; |
2533 Pos: 0; |
2471 AmmoType: amMinigun; |
2534 AmmoType: amMinigun; |
2472 AttackVoice: sndNone; |
2535 AttackVoice: sndNone; |
2473 Bounciness: 1000); |
2536 Bounciness: defaultBounciness); |
2474 Slot: 2; |
2537 Slot: 2; |
2475 TimeAfterTurn: 3000; |
2538 TimeAfterTurn: 3000; |
2476 minAngle: cMaxAngle div 6; |
2539 minAngle: cMaxAngle div 6; |
2477 maxAngle: 5 * cMaxAngle div 6; |
2540 maxAngle: 5 * cMaxAngle div 6; |
2478 isDamaging: true; |
2541 isDamaging: true; |
2479 SkipTurns: 0; |
2542 SkipTurns: 0; |
2480 PosCount: 1; |
2543 PosCount: 0; |
2481 PosSprite: sprWater; |
2544 PosSprite: sprWater; |
2482 ejectX: 0; //23; |
2545 ejectX: 0; //23; |
2483 ejectY: 0) //-6; |
2546 ejectY: 0) //-6; |
2484 ); |
2547 ); |
2485 |
2548 |
2487 Land: TCollisionArray; |
2550 Land: TCollisionArray; |
2488 LandPixels: TLandArray; |
2551 LandPixels: TLandArray; |
2489 LandDirty: TDirtyTag; |
2552 LandDirty: TDirtyTag; |
2490 hasBorder: boolean; |
2553 hasBorder: boolean; |
2491 hasGirders: boolean; |
2554 hasGirders: boolean; |
2492 playHeight, playWidth, leftX, rightX, topY, MaxHedgehogs: Longword; // idea is that a template can specify height/width. Or, a map, a height/width by the dimensions of the image. If the map has pixels near top of image, it triggers border. |
2555 playHeight, playWidth, leftX, rightX, topY: LongInt; // idea is that a template can specify height/width. Or, a map, a height/width by the dimensions of the image. If the map has pixels near top of image, it triggers border. |
2556 MaxHedgehogs: LongWord; |
|
2493 LandBackSurface: PSDL_Surface; |
2557 LandBackSurface: PSDL_Surface; |
2494 CurAmmoGear: PGear; |
2558 CurAmmoGear: PGear; |
2495 lastGearByUID: PGear; |
2559 lastGearByUID: PGear; |
2496 GearsList: PGear; |
2560 GearsList: PGear; |
2497 AllInactive: boolean; |
2561 AllInactive: boolean; |
2501 SuddenDeathActive: Boolean; // Is in Sudden Death with any gameplay effect |
2565 SuddenDeathActive: Boolean; // Is in Sudden Death with any gameplay effect |
2502 SuddenDeathDmg: Boolean; // Is in Sudden Death with damage |
2566 SuddenDeathDmg: Boolean; // Is in Sudden Death with damage |
2503 SpeechType: Longword; |
2567 SpeechType: Longword; |
2504 SpeechText: shortstring; |
2568 SpeechText: shortstring; |
2505 PlacingHogs: boolean; // a convenience flag to indicate placement of hogs is still in progress |
2569 PlacingHogs: boolean; // a convenience flag to indicate placement of hogs is still in progress |
2570 PlacingKings: boolean; // a convenience flag to indicate placement of kings in King Mode is still in progress |
|
2506 StepSoundTimer: LongInt; |
2571 StepSoundTimer: LongInt; |
2507 StepSoundChannel: LongInt; |
2572 StepSoundChannel: LongInt; |
2508 |
2573 |
2509 CurrentTeam: PTeam; |
2574 CurrentTeam: PTeam; |
2510 PreviousTeam: PTeam; |
2575 PreviousTeam: PTeam; |
2576 MissionTeam: PTeam; |
|
2511 CurrentHedgehog: PHedgehog; |
2577 CurrentHedgehog: PHedgehog; |
2512 TeamsArray: array[0..Pred(cMaxTeams)] of PTeam; |
2578 TeamsArray: array[0..Pred(cMaxTeams)] of PTeam; |
2513 TeamsCount: Longword; // number of teams on game start |
2579 TeamsCount: Longword; // number of teams on game start |
2514 VisibleTeamsCount: Longword; // number of teams visible in team bar |
2580 VisibleTeamsCount: Longword; // number of teams visible in team bar |
2515 ClansArray, SpawnClansArray: TClansArray; |
2581 ClansArray, SpawnClansArray: TClansArray; |
2516 ClansCount: Longword; |
2582 ClansCount: Longword; |
2517 LocalClan: LongInt; // last non-bot, non-extdriven clan |
|
2518 LocalTeam: LongInt; // last non-bot, non-extdriven clan first team |
2583 LocalTeam: LongInt; // last non-bot, non-extdriven clan first team |
2519 LocalAmmo: LongInt; // last non-bot, non-extdriven clan's first team's ammo index, updated to next upcoming hog for per-hog-ammo |
2584 LocalAmmo: LongInt; // last non-bot, non-extdriven clan's first team's ammo index, updated to next upcoming hog for per-hog-ammo |
2520 CurMinAngle, CurMaxAngle: Longword; |
2585 CurMinAngle, CurMaxAngle: Longword; |
2521 |
2586 |
2522 FollowGear: PGear; |
2587 FollowGear: PGear; |
2582 |
2647 |
2583 aVertex: GLint; |
2648 aVertex: GLint; |
2584 aTexCoord: GLint; |
2649 aTexCoord: GLint; |
2585 aColor: GLint; |
2650 aColor: GLint; |
2586 |
2651 |
2652 lDecimalSeparator: Char; |
|
2653 |
|
2587 var trammo: array[TAmmoStrId] of ansistring; // name of the weapon |
2654 var trammo: array[TAmmoStrId] of ansistring; // name of the weapon |
2588 trammoc: array[TAmmoStrId] of ansistring; // caption of the weapon |
2655 trammoc: array[TAmmoStrId] of ansistring; // caption of the weapon |
2589 trammod: array[TAmmoStrId] of ansistring; // description of the weapon |
2656 trammod: array[TAmmoStrId] of ansistring; // description of the weapon |
2590 trluaammo: array[TAmmoStrId] of ansistring; // name of the weapon (Lua overwrite) |
2657 trluaammo: array[TAmmoStrId] of ansistring; // name of the weapon (Lua overwrite) |
2591 trluaammoc: array[TAmmoStrId] of ansistring; // caption of the weapon (Lua overwrite) |
2658 trluaammoc: array[TAmmoStrId] of ansistring; // caption of the weapon (Lua overwrite) |
2592 trluaammod: array[TAmmoStrId] of ansistring; // description of the weapon (Lua overwrite) |
2659 trluaammod: array[TAmmoStrId] of ansistring; // description of the weapon (Lua overwrite) |
2593 trluaammoa: array[TAmmoStrId] of ansistring; // description appendix of the weapon (Lua only) |
2660 trluaammoa: array[TAmmoStrId] of ansistring; // description appendix of the weapon (Lua only) |
2661 trluaammoe: array[TAmmoStrId] of boolean; // whether to render extra text (Lua overwrite) |
|
2594 trmsg: array[TMsgStrId] of ansistring; // message of the event |
2662 trmsg: array[TMsgStrId] of ansistring; // message of the event |
2595 trgoal: array[TGoalStrId] of ansistring; // message of the goal |
2663 trgoal: array[TGoalStrId] of ansistring; // message of the goal |
2664 trcmd: array[TCmdHelpStrId] of ansistring; // chat command help |
|
2596 cTestLua : Boolean; |
2665 cTestLua : Boolean; |
2597 |
2666 |
2598 procedure preInitModule; |
2667 procedure preInitModule; |
2599 procedure initModule; |
2668 procedure initModule; |
2600 procedure freeModule; |
2669 procedure freeModule; |
2612 cScreenWidth := cWindowedWidth; |
2681 cScreenWidth := cWindowedWidth; |
2613 cScreenHeight := cWindowedHeight; |
2682 cScreenHeight := cWindowedHeight; |
2614 |
2683 |
2615 cShowFPS := false; |
2684 cShowFPS := false; |
2616 cAltDamage := false; |
2685 cAltDamage := false; |
2686 cHolidaySilliness := true; |
|
2617 cTimerInterval := 8; |
2687 cTimerInterval := 8; |
2618 cReducedQuality := rqNone; |
2688 cReducedQuality := rqNone; |
2619 cLocaleFName := 'en.txt'; |
2689 cLanguageFName := 'en.txt'; |
2620 cFullScreen := false; |
2690 cFullScreen := false; |
2621 |
2691 |
2622 UserPathPrefix := ''; |
2692 UserPathPrefix := ''; |
2623 ipcPort := 0; |
2693 ipcPort := 0; |
2624 recordFileName := ''; |
2694 recordFileName := ''; |
2630 cOnlyStats := False; |
2700 cOnlyStats := False; |
2631 cScriptName := ''; |
2701 cScriptName := ''; |
2632 cScriptParam := ''; |
2702 cScriptParam := ''; |
2633 cTestLua := False; |
2703 cTestLua := False; |
2634 |
2704 |
2705 UserZoom := cDefaultZoomLevel; |
|
2706 zoom := cDefaultZoomLevel; |
|
2707 ZoomValue := cDefaultZoomLevel; |
|
2708 |
|
2709 {$IFDEF MOBILE} |
|
2710 cMaxZoomLevel := 0.5; |
|
2711 cMinZoomLevel := 3.5; |
|
2712 cZoomDelta := 0.20; |
|
2713 cZoomDeltaSmall := 0.10; |
|
2714 {$ELSE} |
|
2715 cMaxZoomLevel := 1.0; |
|
2716 cMinZoomLevel := 3.0; |
|
2717 cZoomDelta := 0.25; |
|
2718 cZoomDeltaSmall := 0.125; |
|
2719 {$ENDIF} |
|
2720 |
|
2635 {$IFDEF USE_VIDEO_RECORDING} |
2721 {$IFDEF USE_VIDEO_RECORDING} |
2636 RecPrefix := ''; |
2722 RecPrefix := ''; |
2637 cAVFormat := ''; |
2723 cAVFormat := ''; |
2638 cVideoCodec := ''; |
2724 cVideoCodec := ''; |
2639 cVideoFramerateNum := 0; |
2725 cVideoFramerateNum := 0; |
2658 |
2744 |
2659 procedure initModule; |
2745 procedure initModule; |
2660 var s: shortstring; |
2746 var s: shortstring; |
2661 i: integer; |
2747 i: integer; |
2662 t: TSound; |
2748 t: TSound; |
2749 a: TAmmoStrId; |
|
2663 begin |
2750 begin |
2664 // init LastVoice |
2751 // init LastVoice |
2665 LastVoice.snd:= sndNone; |
2752 LastVoice.snd:= sndNone; |
2666 LastVoice.voicepack:= nil; |
2753 LastVoice.voicepack:= nil; |
2667 |
2754 |
2670 Move(FontzInit, Fontz, sizeof(Fontz)); |
2757 Move(FontzInit, Fontz, sizeof(Fontz)); |
2671 Move(SpritesDataInit, SpritesData, sizeof(SpritesData)); |
2758 Move(SpritesDataInit, SpritesData, sizeof(SpritesData)); |
2672 Move(AmmozInit, Ammoz, sizeof(Ammoz)); |
2759 Move(AmmozInit, Ammoz, sizeof(Ammoz)); |
2673 |
2760 |
2674 |
2761 |
2675 cLocale:= cLocaleFName; |
2762 cLanguage:= cLanguageFName; |
2676 SplitByChar(cLocale, s, '.'); |
2763 SplitByChar(cLanguage, s, '.'); |
2677 |
2764 |
2678 cFlattenFlakes := false; |
2765 cFlattenFlakes := false; |
2679 cFlattenClouds := false; |
2766 cFlattenClouds := false; |
2680 cIce := false; |
2767 cIce := false; |
2681 cSnow := false; |
2768 cSnow := false; |
2721 WaterColorArray[5]:= WaterColorArray[1]; |
2808 WaterColorArray[5]:= WaterColorArray[1]; |
2722 WaterColorArray[7]:= WaterColorArray[1]; |
2809 WaterColorArray[7]:= WaterColorArray[1]; |
2723 |
2810 |
2724 WaterOpacity:= $80; |
2811 WaterOpacity:= $80; |
2725 |
2812 |
2813 // default clan colors |
|
2814 // always keep in sync with QTfrontend/hwconsts.h |
|
2815 |
|
2816 ClanColorArray[0] := $ffff0204; |
|
2817 ClanColorArray[1] := $ff4980c1; |
|
2818 ClanColorArray[2] := $ff1de6ba; |
|
2819 ClanColorArray[3] := $ffb541ef; |
|
2820 ClanColorArray[4] := $ffe55bb0; |
|
2821 ClanColorArray[5] := $ff20bf00; |
|
2822 ClanColorArray[6] := $fffe8b0e; |
|
2823 ClanColorArray[7] := $ff8f5902; |
|
2824 ClanColorArray[8] := $ffffff01; |
|
2825 |
|
2726 // default sudden death water |
2826 // default sudden death water |
2727 |
2827 |
2728 // deep water |
2828 // deep water |
2729 SDWaterColorArray[0].r := 150; |
2829 SDWaterColorArray[0].r := 150; |
2730 SDWaterColorArray[0].g := 112; |
2830 SDWaterColorArray[0].g := 112; |
2771 cLowGravity := false; |
2871 cLowGravity := false; |
2772 cBuildMaxDist := cDefaultBuildMaxDist; |
2872 cBuildMaxDist := cDefaultBuildMaxDist; |
2773 cDamageModifier := _1; |
2873 cDamageModifier := _1; |
2774 TargetPoint := cTargetPointRef; |
2874 TargetPoint := cTargetPointRef; |
2775 |
2875 |
2776 {$IFDEF MOBILE} |
|
2777 cMaxZoomLevel:= 0.5; |
|
2778 cMinZoomLevel:= 3.5; |
|
2779 cZoomDelta:= 0.20; |
|
2780 {$ELSE} |
|
2781 cMaxZoomLevel:= 1.0; |
|
2782 cMinZoomLevel:= 3.0; |
|
2783 cZoomDelta:= 0.25; |
|
2784 {$ENDIF} |
|
2785 |
|
2786 aVertex:= 0; |
2876 aVertex:= 0; |
2787 aTexCoord:= 1; |
2877 aTexCoord:= 1; |
2788 aColor:= 2; |
2878 aColor:= 2; |
2789 |
2879 |
2880 lDecimalSeparator := '.'; |
|
2881 |
|
2790 |
2882 |
2791 cMinMaxZoomLevelDelta:= cMaxZoomLevel - cMinZoomLevel; |
2883 cMinMaxZoomLevelDelta:= cMaxZoomLevel - cMinZoomLevel; |
2884 |
|
2885 cDemoClockFPSOffsetY := 0; |
|
2792 |
2886 |
2793 // int, longint longword and byte |
2887 // int, longint longword and byte |
2794 CursorMovementX := 0; |
2888 CursorMovementX := 0; |
2795 CursorMovementY := 0; |
2889 CursorMovementY := 0; |
2796 GameTicks := 0; |
2890 GameTicks := 0; |
2891 OuchTauntTimer := 0; |
|
2797 CheckSum := 0; |
2892 CheckSum := 0; |
2798 cWaterLine := LAND_HEIGHT; |
2893 cWaterLine := LAND_HEIGHT; |
2799 cGearScrEdgesDist := 240; |
2894 cGearScrEdgesDist := 240; |
2800 |
2895 |
2801 InputMask := $FFFFFFFF; |
2896 InputMask := $FFFFFFFF; |
2807 IsGetAwayTime := false; |
2902 IsGetAwayTime := false; |
2808 GameOver := false; |
2903 GameOver := false; |
2809 TurnClockActive := true; |
2904 TurnClockActive := true; |
2810 TagTurnTimeLeft := 0; |
2905 TagTurnTimeLeft := 0; |
2811 cSuddenDTurns := 15; |
2906 cSuddenDTurns := 15; |
2907 LastSuddenDWarn := -2; |
|
2908 cInitHealth := 100; |
|
2812 cDamagePercent := 100; |
2909 cDamagePercent := 100; |
2813 cRopePercent := 100; |
2910 cRopePercent := 100; |
2911 cRopeNodeStep := 4; |
|
2912 cRopeLayers := 1; |
|
2814 cGetAwayTime := 100; |
2913 cGetAwayTime := 100; |
2815 cMineDudPercent := 0; |
2914 cMineDudPercent := 0; |
2816 cTemplateFilter := 0; |
2915 cTemplateFilter := 0; |
2817 cFeatureSize := 50; |
2916 cFeatureSize := 12; |
2818 cMapGen := mgRandom; |
2917 cMapGen := mgRandom; |
2819 cHedgehogTurnTime := 45000; |
2918 cHedgehogTurnTime := 45000; |
2820 cMinesTime := 3000; |
2919 cMinesTime := 3000; |
2821 cMaxAIThinkTime := 9000; |
2920 cMaxAIThinkTime := 9000; |
2822 cCloudsNumber := 9; |
2921 cCloudsNumber := 9; |
2829 |
2928 |
2830 InitStepsFlags := 0; |
2929 InitStepsFlags := 0; |
2831 RealTicks := 0; |
2930 RealTicks := 0; |
2832 AttackBar := 0; // 0 - none, 1 - just bar at the right-down corner, 2 - from weapon |
2931 AttackBar := 0; // 0 - none, 1 - just bar at the right-down corner, 2 - from weapon |
2833 cCaseFactor := 5; {0..9} |
2932 cCaseFactor := 5; {0..9} |
2933 cMaxCaseDrops := 5; |
|
2834 cLandMines := 4; |
2934 cLandMines := 4; |
2835 cAirMines := 0; |
2935 cAirMines := 0; |
2836 cExplosives := 2; |
2936 cExplosives := 2; |
2837 |
2937 |
2838 GameState := Low(TGameState); |
2938 GameState := Low(TGameState); |
2852 cVampiric := false; |
2952 cVampiric := false; |
2853 flagMakeCapture := false; |
2953 flagMakeCapture := false; |
2854 flagDumpLand := false; |
2954 flagDumpLand := false; |
2855 bBetweenTurns := false; |
2955 bBetweenTurns := false; |
2856 bWaterRising := false; |
2956 bWaterRising := false; |
2957 bDuringWaterRise:= false; |
|
2857 isCursorVisible := false; |
2958 isCursorVisible := false; |
2858 isInLag := false; |
2959 isInLag := false; |
2859 isPaused := false; |
2960 isPaused := false; |
2860 isInMultiShoot := false; |
2961 isInMultiShoot := false; |
2861 isSpeed := false; |
2962 isSpeed := false; |
2862 isAFK := false; |
2963 isAFK := false; |
2964 isShowMission := false; |
|
2965 isShowGearInfo := false; |
|
2966 isForceMission := false; |
|
2863 SpeedStart := 0; |
2967 SpeedStart := 0; |
2864 fastUntilLag := false; |
2968 fastUntilLag := false; |
2865 fastScrolling := false; |
2969 fastScrolling := false; |
2866 autoCameraOn := true; |
2970 autoCameraOn := true; |
2867 cSeed := ''; |
2971 cSeed := ''; |
2972 cIsSoundEnabled := false; |
|
2868 cVolumeDelta := 0; |
2973 cVolumeDelta := 0; |
2974 cVolumeUpKey := false; |
|
2975 cVolumeDownKey := false; |
|
2869 cMuteToggle := false; |
2976 cMuteToggle := false; |
2870 cHasFocus := true; |
2977 cHasFocus := true; |
2871 cInactDelay := 100; |
2978 cInactDelay := 100; |
2872 ReadyTimeLeft := 0; |
2979 ReadyTimeLeft := 0; |
2873 |
2980 |
2927 LuaTemplateNumber:= 0; |
3034 LuaTemplateNumber:= 0; |
2928 |
3035 |
2929 LuaEndTurnRequested:= false; |
3036 LuaEndTurnRequested:= false; |
2930 LuaNoEndTurnTaunts:= false; |
3037 LuaNoEndTurnTaunts:= false; |
2931 |
3038 |
3039 LuaCmdUsed:= false; |
|
3040 |
|
2932 for t:= Low(TSound) to High(TSound) do |
3041 for t:= Low(TSound) to High(TSound) do |
2933 MaskedSounds[t]:= false; |
3042 MaskedSounds[t]:= false; |
3043 |
|
3044 for a:= Low(TAmmoStrId) to High(TAmmoStrId) do |
|
3045 trluaammoe[a]:= true; |
|
2934 |
3046 |
2935 UIDisplay:= uiAll; |
3047 UIDisplay:= uiAll; |
2936 LocalMessage:= 0; |
3048 LocalMessage:= 0; |
2937 |
3049 |
2938 cStereoDepth:= 0; |
3050 cStereoDepth:= 0; |
2944 CurAmmoGear:= nil; |
3056 CurAmmoGear:= nil; |
2945 lastGearByUID:= nil; |
3057 lastGearByUID:= nil; |
2946 GearsList:= nil; |
3058 GearsList:= nil; |
2947 CurrentTeam:= nil; |
3059 CurrentTeam:= nil; |
2948 PreviousTeam:= nil; |
3060 PreviousTeam:= nil; |
3061 MissionTeam:= nil; |
|
2949 CurrentHedgehog:= nil; |
3062 CurrentHedgehog:= nil; |
2950 FollowGear:= nil; |
3063 FollowGear:= nil; |
2951 lastVisualGearByUID:= nil; |
3064 lastVisualGearByUID:= nil; |
2952 |
3065 |
2953 ChefHatTexture:= nil; |
3066 ChefHatTexture:= nil; |