equal
deleted
inserted
replaced
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) |