247 gtAmmo_Bomb: makeHogsWorry(Gear^.X, Gear^.Y, 50); |
247 gtAmmo_Bomb: makeHogsWorry(Gear^.X, Gear^.Y, 50); |
248 gtClusterBomb: makeHogsWorry(Gear^.X, Gear^.Y, 20); |
248 gtClusterBomb: makeHogsWorry(Gear^.X, Gear^.Y, 20); |
249 gtWatermelon: makeHogsWorry(Gear^.X, Gear^.Y, 75); |
249 gtWatermelon: makeHogsWorry(Gear^.X, Gear^.Y, 75); |
250 gtHellishBomb: makeHogsWorry(Gear^.X, Gear^.Y, 90); |
250 gtHellishBomb: makeHogsWorry(Gear^.X, Gear^.Y, 90); |
251 end; |
251 end; |
|
252 |
|
253 if (Gear^.Kind = gtBall) and ((Gear^.State and gstTmpFlag) <> 0) then |
|
254 begin |
|
255 CheckCollision(Gear); |
|
256 if (Gear^.State and gstCollision) <> 0 then |
|
257 doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 20, EXPLDontDraw or EXPLNoGfx); |
|
258 end; |
|
259 |
252 if Gear^.Timer = 0 then |
260 if Gear^.Timer = 0 then |
253 begin |
261 begin |
254 case Gear^.Kind of |
262 case Gear^.Kind of |
255 gtAmmo_Bomb: doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 50, EXPLAutoSound); |
263 gtAmmo_Bomb: doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 50, EXPLAutoSound); |
256 gtBall: doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 40, EXPLAutoSound); |
264 gtBall: doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 40, EXPLAutoSound); |
351 doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), Gear^.Timer, EXPLAutoSound); |
359 doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), Gear^.Timer, EXPLAutoSound); |
352 DeleteGear(Gear); |
360 DeleteGear(Gear); |
353 exit |
361 exit |
354 end; |
362 end; |
355 |
363 |
356 if Gear^.Kind = gtMelonPiece then |
364 if (Gear^.Kind = gtMelonPiece) or (Gear^.Kind = gtBall) then |
357 CalcRotationDirAngle(Gear) |
365 CalcRotationDirAngle(Gear) |
358 else |
366 else |
359 if (GameTicks and $1F) = 0 then |
367 if (GameTicks and $1F) = 0 then |
360 AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtSmokeTrace, 0, _0, _0, 0) |
368 AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtSmokeTrace, 0, _0, _0, 0) |
361 end; |
369 end; |