diff -r e9191c693e44 -r 24677a82531d hedgewars/GSHandlers.inc --- a/hedgewars/GSHandlers.inc Thu Sep 18 14:44:44 2008 +0000 +++ b/hedgewars/GSHandlers.inc Thu Sep 18 16:16:41 2008 +0000 @@ -125,7 +125,9 @@ dX, dY: hwFloat; begin AllInactive:= false; + doStepFallingGear(Gear); + dec(Gear^.Timer); if Gear^.Timer = 0 then begin @@ -148,12 +150,20 @@ dY:= (GetRandom - _2) * _0_2; AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtMelonPiece, 0, dX, dY, 75)^.DirAngle:= i * 60; end - end + end; + gtHellishBomb: doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 90, EXPLAutoSound); end; DeleteGear(Gear); exit end; + CalcRotationDirAngle(Gear); + +if Gear^.Kind = gtHellishBomb then + if (GameTicks and $3F) = 0 then + if (Gear^.State and gstCollision) = 0 then + AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtEvilTrace, 0, _0, _0, 0); + if (Gear^.State and (gstCollision or gstMoving)) = (gstCollision or gstMoving) then if (hwAbs(Gear^.dX) > _0_1) or (hwAbs(Gear^.dY) > _0_1) then