hedgewars/GSHandlers.inc
changeset 3004 e9b3613cc3fb
parent 3002 9bf51d5a8a80
child 3019 d6e19f35d98d
equal deleted inserted replaced
3003:0afdba08a858 3004:e9b3613cc3fb
   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;