hedgewars/uAIMisc.pas
changeset 8955 b8cae4fe8edb
parent 8954 1e8b390ab011
child 8956 e0e914642e73
equal deleted inserted replaced
8954:1e8b390ab011 8955:b8cae4fe8edb
   499                 begin
   499                 begin
   500                 pX:= Point.x;
   500                 pX:= Point.x;
   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 
   506                     if (Kind = gtExplosives) and 
   507                        (((abs(dY) > 0.15) and (abs(dX) < 0.02)) or
   507                        (((abs(dY) > 0.15) and (abs(dX) < 0.02)) or
   508                         ((abs(dY) < 0.15) and (abs(dX) < 0.15))) then
   508                         ((abs(dY) < 0.15) and (abs(dX) < 0.15))) then
   509                         dX:= 0;
   509                         dX:= 0;
   670                 end;
   670                 end;
   671             if dmg > 0 then
   671             if dmg > 0 then
   672                 begin
   672                 begin
   673                 pX:= Point.x;
   673                 pX:= Point.x;
   674                 pY:= Point.y;
   674                 pY:= Point.y;
   675                 dX:= gdX * dmg * Density;
   675                 dX:= gdX * dmg / Density;
   676                 dY:= gdY * dmg * Density;
   676                 dY:= gdY * dmg / Density;
   677                 if dX < 0 then dX:= dX - 0.01
   677                 if dX < 0 then dX:= dX - 0.01
   678                 else dX:= dX + 0.01;
   678                 else dX:= dX + 0.01;
   679                 if (x and LAND_WIDTH_MASK = 0) and ((y+cHHRadius+2) and LAND_HEIGHT_MASK = 0) and
   679                 if (x and LAND_WIDTH_MASK = 0) and ((y+cHHRadius+2) and LAND_HEIGHT_MASK = 0) and
   680                    (Land[y+cHHRadius+2, x] and lfIndestructible <> 0) then
   680                    (Land[y+cHHRadius+2, x] and lfIndestructible <> 0) then
   681                      fallDmg:= trunc(TraceFall(x, y, pX, pY, dX, dY, 0, Kind) * dmgMod)
   681                      fallDmg:= trunc(TraceFall(x, y, pX, pY, dX, dY, 0, Kind) * dmgMod)