hedgewars/uGears.pas
changeset 3083 8da8f2515221
parent 3080 b7fa8ad60e3b
child 3086 d11dea92fa2c
equal deleted inserted replaced
3082:36586b751d64 3083:8da8f2515221
  1757 var Gear: PGear;
  1757 var Gear: PGear;
  1758     dmg, dmgRadius: LongInt;
  1758     dmg, dmgRadius: LongInt;
  1759 begin
  1759 begin
  1760 TargetPoint.X:= NoPointX;
  1760 TargetPoint.X:= NoPointX;
  1761 {$IFDEF DEBUGFILE}if Radius > 4 then AddFileLog('Explosion: at (' + inttostr(x) + ',' + inttostr(y) + ')');{$ENDIF}
  1761 {$IFDEF DEBUGFILE}if Radius > 4 then AddFileLog('Explosion: at (' + inttostr(x) + ',' + inttostr(y) + ')');{$ENDIF}
       
  1762 if Radius > 25 then KickFlakes(Radius, X, Y);
       
  1763 
  1762 if ((Mask and EXPLNoGfx) = 0) then
  1764 if ((Mask and EXPLNoGfx) = 0) then
  1763     begin
  1765     begin
  1764     if Radius > 50 then AddGear(X, Y, gtBigExplosion, 0, _0, _0, 0)
  1766     if Radius > 50 then AddGear(X, Y, gtBigExplosion, 0, _0, _0, 0)
  1765     else if Radius > 10 then AddGear(X, Y, gtExplosion, 0, _0, _0, 0);
  1767     else if Radius > 10 then AddGear(X, Y, gtExplosion, 0, _0, _0, 0);
  1766     end;
  1768     end;
  1768 
  1770 
  1769 if (Mask and EXPLAllDamageInRadius) = 0 then
  1771 if (Mask and EXPLAllDamageInRadius) = 0 then
  1770     dmgRadius:= Radius shl 1
  1772     dmgRadius:= Radius shl 1
  1771 else
  1773 else
  1772     dmgRadius:= Radius;
  1774     dmgRadius:= Radius;
  1773 
       
  1774 KickFlakes(dmgRadius, X, Y);
       
  1775 
  1775 
  1776 Gear:= GearsList;
  1776 Gear:= GearsList;
  1777 while Gear <> nil do
  1777 while Gear <> nil do
  1778     begin
  1778     begin
  1779     dmg:= dmgRadius  + cHHRadius div 2 - hwRound(Distance(Gear^.X - int2hwFloat(X), Gear^.Y - int2hwFloat(Y)));
  1779     dmg:= dmgRadius  + cHHRadius div 2 - hwRound(Distance(Gear^.X - int2hwFloat(X), Gear^.Y - int2hwFloat(Y)));