equal
deleted
inserted
replaced
55 Tex: PTexture; |
55 Tex: PTexture; |
56 Z: Longword; |
56 Z: Longword; |
57 IntersectGear: PGear; |
57 IntersectGear: PGear; |
58 FlightTime: Longword; |
58 FlightTime: Longword; |
59 uid: Longword; |
59 uid: Longword; |
60 ImpactSound: TSound; |
60 ImpactSound: TSound; // first sound, others have to be after it in the sounds def. |
|
61 nImpactSounds: ShortInt; // count of ImpactSounds |
61 SoundChannel: LongInt |
62 SoundChannel: LongInt |
62 end; |
63 end; |
63 |
64 |
64 var AllInactive: boolean; |
65 var AllInactive: boolean; |
65 PrvInactive: boolean; |
66 PrvInactive: boolean; |
246 gear^.Z:= cUsualZ; |
247 gear^.Z:= cUsualZ; |
247 gear^.FlightTime:= 0; |
248 gear^.FlightTime:= 0; |
248 gear^.uid:= Counter; |
249 gear^.uid:= Counter; |
249 gear^.SoundChannel:= -1; |
250 gear^.SoundChannel:= -1; |
250 gear^.ImpactSound:= sndNone; |
251 gear^.ImpactSound:= sndNone; |
|
252 gear^.nImpactSounds:= 0; |
251 |
253 |
252 if CurrentTeam <> nil then |
254 if CurrentTeam <> nil then |
253 begin |
255 begin |
254 gear^.Hedgehog:= CurrentHedgehog; |
256 gear^.Hedgehog:= CurrentHedgehog; |
255 gear^.IntersectGear:= CurrentHedgehog^.Gear |
257 gear^.IntersectGear:= CurrentHedgehog^.Gear |
257 |
259 |
258 case Kind of |
260 case Kind of |
259 gtAmmo_Bomb, |
261 gtAmmo_Bomb, |
260 gtClusterBomb: begin |
262 gtClusterBomb: begin |
261 gear^.ImpactSound:= sndGrenadeImpact; |
263 gear^.ImpactSound:= sndGrenadeImpact; |
|
264 gear^.nImpactSounds:= 1; |
262 gear^.AdvBounce:= 1; |
265 gear^.AdvBounce:= 1; |
263 gear^.Radius:= 4; |
266 gear^.Radius:= 4; |
264 gear^.Elasticity:= _0_6; |
267 gear^.Elasticity:= _0_6; |
265 gear^.Friction:= _0_96; |
268 gear^.Friction:= _0_96; |
266 gear^.RenderTimer:= true; |
269 gear^.RenderTimer:= true; |
267 if gear^.Timer = 0 then gear^.Timer:= 3000 |
270 if gear^.Timer = 0 then gear^.Timer:= 3000 |
268 end; |
271 end; |
269 gtWatermelon: begin |
272 gtWatermelon: begin |
270 gear^.ImpactSound:= sndMelonImpact; |
273 gear^.ImpactSound:= sndMelonImpact; |
|
274 gear^.nImpactSounds:= 1; |
271 gear^.AdvBounce:= 1; |
275 gear^.AdvBounce:= 1; |
272 gear^.Radius:= 4; |
276 gear^.Radius:= 4; |
273 gear^.Elasticity:= _0_8; |
277 gear^.Elasticity:= _0_8; |
274 gear^.Friction:= _0_995; |
278 gear^.Friction:= _0_995; |
275 gear^.RenderTimer:= true; |
279 gear^.RenderTimer:= true; |
290 gear^.Timer:= 1500; |
294 gear^.Timer:= 1500; |
291 gear^.Z:= 2002; |
295 gear^.Z:= 2002; |
292 end; |
296 end; |
293 gtGrave: begin |
297 gtGrave: begin |
294 gear^.ImpactSound:= sndGraveImpact; |
298 gear^.ImpactSound:= sndGraveImpact; |
|
299 gear^.nImpactSounds:= 1; |
295 gear^.Radius:= 10; |
300 gear^.Radius:= 10; |
296 gear^.Elasticity:= _0_6; |
301 gear^.Elasticity:= _0_6; |
297 end; |
302 end; |
298 gtBee: begin |
303 gtBee: begin |
299 gear^.Radius:= 5; |
304 gear^.Radius:= 5; |
333 else |
338 else |
334 gear^.Timer:= cMinesTime*1; |
339 gear^.Timer:= cMinesTime*1; |
335 end; |
340 end; |
336 gtCase: begin |
341 gtCase: begin |
337 gear^.ImpactSound:= sndGraveImpact; |
342 gear^.ImpactSound:= sndGraveImpact; |
|
343 gear^.nImpactSounds:= 1; |
338 gear^.Radius:= 16; |
344 gear^.Radius:= 16; |
339 gear^.Elasticity:= _0_3 |
345 gear^.Elasticity:= _0_3 |
340 end; |
346 end; |
341 gtExplosives: begin |
347 gtExplosives: begin |
342 gear^.ImpactSound:= sndGrenadeImpact; |
348 gear^.ImpactSound:= sndGrenadeImpact; |
|
349 gear^.nImpactSounds:= 1; |
343 gear^.Radius:= 16; |
350 gear^.Radius:= 16; |
344 gear^.Elasticity:= _0_4; |
351 gear^.Elasticity:= _0_4; |
345 gear^.Friction:= _0_995; |
352 gear^.Friction:= _0_995; |
346 gear^.Health:= cBarrelHealth |
353 gear^.Health:= cBarrelHealth |
347 end; |
354 end; |
409 gear^.Z:= cOnHHZ; |
416 gear^.Z:= cOnHHZ; |
410 gear^.RenderTimer:= true; |
417 gear^.RenderTimer:= true; |
411 if not dX.isNegative then gear^.Angle:= 1 else gear^.Angle:= 3 |
418 if not dX.isNegative then gear^.Angle:= 1 else gear^.Angle:= 3 |
412 end; |
419 end; |
413 gtHellishBomb: begin |
420 gtHellishBomb: begin |
414 case random(4) of |
421 gear^.ImpactSound:= sndHellishImpact1; |
415 0: gear^.ImpactSound:= sndHellishImpact1; |
422 gear^.nImpactSounds:= 4; |
416 1: gear^.ImpactSound:= sndHellishImpact2; |
|
417 2: gear^.ImpactSound:= sndHellishImpact3; |
|
418 3: gear^.ImpactSound:= sndHellishImpact4 |
|
419 end; |
|
420 gear^.AdvBounce:= 1; |
423 gear^.AdvBounce:= 1; |
421 gear^.Radius:= 4; |
424 gear^.Radius:= 4; |
422 gear^.Elasticity:= _0_5; |
425 gear^.Elasticity:= _0_5; |
423 gear^.Friction:= _0_96; |
426 gear^.Friction:= _0_96; |
424 gear^.RenderTimer:= true; |
427 gear^.RenderTimer:= true; |
428 gear^.Timer:= 5000; |
431 gear^.Timer:= 5000; |
429 gear^.Radius:= 4 |
432 gear^.Radius:= 4 |
430 end; |
433 end; |
431 gtBall: begin |
434 gtBall: begin |
432 gear^.ImpactSound:= sndGrenadeImpact; |
435 gear^.ImpactSound:= sndGrenadeImpact; |
|
436 gear^.nImpactSounds:= 1; |
433 gear^.AdvBounce:= 1; |
437 gear^.AdvBounce:= 1; |
434 gear^.Radius:= 5; |
438 gear^.Radius:= 5; |
435 gear^.Tag:= random(8); |
439 gear^.Tag:= random(8); |
436 gear^.Timer:= 5000; |
440 gear^.Timer:= 5000; |
437 gear^.Elasticity:= _0_7; |
441 gear^.Elasticity:= _0_7; |