hedgewars/uAIMisc.pas
changeset 8954 1e8b390ab011
parent 8953 d0e5c1002fe1
child 8955 b8cae4fe8edb
equal deleted inserted replaced
8953:d0e5c1002fe1 8954:1e8b390ab011
   501                 pY:= Point.y;
   501                 pY:= Point.y;
   502                 if (Flags and afTrackFall <> 0) and (dmg < abs(Score)) then
   502                 if (Flags and afTrackFall <> 0) and (dmg < abs(Score)) then
   503                     begin
   503                     begin
   504                     dX:= 0.005 * dmg + 0.01 * Density;
   504                     dX:= 0.005 * dmg + 0.01 * Density;
   505                     dY:= dX;
   505                     dY:= dX;
       
   506                     if (Kind = gtExplosives) and 
       
   507                        (((abs(dY) > 0.15) and (abs(dX) < 0.02)) or
       
   508                         ((abs(dY) < 0.15) and (abs(dX) < 0.15))) then
       
   509                         dX:= 0;
   506                     if (x and LAND_WIDTH_MASK = 0) and ((y+cHHRadius+2) and LAND_HEIGHT_MASK = 0) and
   510                     if (x and LAND_WIDTH_MASK = 0) and ((y+cHHRadius+2) and LAND_HEIGHT_MASK = 0) and
   507                        (Land[y+cHHRadius+2, x] and lfIndestructible <> 0) then
   511                        (Land[y+cHHRadius+2, x] and lfIndestructible <> 0) then
   508                          fallDmg:= trunc(TraceFall(x, y, pX, pY, dX, dY, 0, Kind) * dmgMod)
   512                          fallDmg:= trunc(TraceFall(x, y, pX, pY, dX, dY, 0, Kind) * dmgMod)
   509                     else fallDmg:= trunc(TraceFall(x, y, pX, pY, dX, dY, erasure, Kind) * dmgMod)
   513                     else fallDmg:= trunc(TraceFall(x, y, pX, pY, dX, dY, erasure, Kind) * dmgMod)
   510                     end;
   514                     end;