equal
deleted
inserted
replaced
27 PGear = ^TGear; |
27 PGear = ^TGear; |
28 TGearStepProcedure = procedure (Gear: PGear); |
28 TGearStepProcedure = procedure (Gear: PGear); |
29 TGear = record |
29 TGear = record |
30 NextGear, PrevGear: PGear; |
30 NextGear, PrevGear: PGear; |
31 Active: Boolean; |
31 Active: Boolean; |
|
32 AdvBounce: Boolean; |
32 Invulnerable: Boolean; |
33 Invulnerable: Boolean; |
33 RenderTimer: Boolean; |
34 RenderTimer: Boolean; |
34 Ammo : PAmmo; |
35 Ammo : PAmmo; |
35 State : Longword; |
36 State : Longword; |
36 X : hwFloat; |
37 X : hwFloat; |
252 end; |
253 end; |
253 |
254 |
254 case Kind of |
255 case Kind of |
255 gtAmmo_Bomb, |
256 gtAmmo_Bomb, |
256 gtClusterBomb: begin |
257 gtClusterBomb: begin |
|
258 gear^.AdvBounce:= true; |
257 gear^.Radius:= 4; |
259 gear^.Radius:= 4; |
258 gear^.Elasticity:= _0_6; |
260 gear^.Elasticity:= _0_6; |
259 gear^.Friction:= _0_96; |
261 gear^.Friction:= _0_96; |
260 gear^.RenderTimer:= true; |
262 gear^.RenderTimer:= true; |
261 if gear^.Timer = 0 then gear^.Timer:= 3000 |
263 if gear^.Timer = 0 then gear^.Timer:= 3000 |
262 end; |
264 end; |
263 gtWatermelon: begin |
265 gtWatermelon: begin |
|
266 gear^.AdvBounce:= true; |
264 gear^.Radius:= 4; |
267 gear^.Radius:= 4; |
265 gear^.Elasticity:= _0_8; |
268 gear^.Elasticity:= _0_8; |
266 gear^.Friction:= _0_995; |
269 gear^.Friction:= _0_995; |
267 gear^.RenderTimer:= true; |
270 gear^.RenderTimer:= true; |
268 if gear^.Timer = 0 then gear^.Timer:= 3000 |
271 if gear^.Timer = 0 then gear^.Timer:= 3000 |
269 end; |
272 end; |
270 gtHedgehog: begin |
273 gtHedgehog: begin |
|
274 gear^.AdvBounce:= true; |
271 gear^.Radius:= cHHRadius; |
275 gear^.Radius:= cHHRadius; |
272 gear^.Elasticity:= _0_35; |
276 gear^.Elasticity:= _0_35; |
273 gear^.Friction:= _0_999; |
277 gear^.Friction:= _0_999; |
274 gear^.Angle:= cMaxAngle div 2; |
278 gear^.Angle:= cMaxAngle div 2; |
275 gear^.Z:= cHHZ; |
279 gear^.Z:= cHHZ; |
400 gear^.Z:= cOnHHZ; |
404 gear^.Z:= cOnHHZ; |
401 gear^.RenderTimer:= true; |
405 gear^.RenderTimer:= true; |
402 if not dX.isNegative then gear^.Angle:= 1 else gear^.Angle:= 3 |
406 if not dX.isNegative then gear^.Angle:= 1 else gear^.Angle:= 3 |
403 end; |
407 end; |
404 gtHellishBomb: begin |
408 gtHellishBomb: begin |
|
409 gear^.AdvBounce:= true; |
405 gear^.Radius:= 4; |
410 gear^.Radius:= 4; |
406 gear^.Elasticity:= _0_5; |
411 gear^.Elasticity:= _0_5; |
407 gear^.Friction:= _0_96; |
412 gear^.Friction:= _0_96; |
408 gear^.RenderTimer:= true; |
413 gear^.RenderTimer:= true; |
409 gear^.Timer:= 5000 |
414 gear^.Timer:= 5000 |
411 gtDrill: begin |
416 gtDrill: begin |
412 gear^.Timer:= 5000; |
417 gear^.Timer:= 5000; |
413 gear^.Radius:= 4 |
418 gear^.Radius:= 4 |
414 end; |
419 end; |
415 gtBall: begin |
420 gtBall: begin |
|
421 gear^.AdvBounce:= true; |
416 gear^.Radius:= 5; |
422 gear^.Radius:= 5; |
417 gear^.Tag:= random(8); |
423 gear^.Tag:= random(8); |
418 gear^.Timer:= 5000; |
424 gear^.Timer:= 5000; |
419 gear^.Elasticity:= _0_7; |
425 gear^.Elasticity:= _0_7; |
420 gear^.Friction:= _0_995; |
426 gear^.Friction:= _0_995; |