diff -r 63e2b7b2ec47 -r 10bcec19045c hedgewars/uAIAmmoTests.pas --- a/hedgewars/uAIAmmoTests.pas Sat Jul 04 03:11:41 2020 +0200 +++ b/hedgewars/uAIAmmoTests.pas Sat Jul 04 15:31:51 2020 +0200 @@ -493,7 +493,7 @@ // Apply inaccuracy if (not aiLaserSighting) then - inc(ap.Angle, + AIrndSign(random((Level - 1) * 9))); + inc(ap.Angle, AIrndSign(random((Level - 1) * 9))); if (valueResult <= 0) then valueResult:= BadTurn; @@ -982,7 +982,7 @@ ap.Angle:= DxDy2AttackAnglef(Vx, -Vy); // Apply inaccuracy if (not aiLaserSighting) then - inc(ap.Angle, + AIrndSign(random((Level - 1) * 10))); + inc(ap.Angle, AIrndSign(random((Level - 1) * 10))); repeat x:= x + vX; y:= y + vY; @@ -1039,7 +1039,7 @@ ap.Angle:= DxDy2AttackAnglef(Vx, -Vy); // Apply inaccuracy if (not aiLaserSighting) then - inc(ap.Angle, + AIrndSign(random((Level - 1) * 10))); + inc(ap.Angle, AIrndSign(random((Level - 1) * 10))); d:= 0; ix:= trunc(x); @@ -1095,7 +1095,7 @@ Vy:= (Targ.Point.Y - y) * t; ap.Angle:= DxDy2AttackAnglef(Vx, -Vy); // Apply inaccuracy -inc(ap.Angle, + AIrndSign(random((Level - 1) * 5))); +inc(ap.Angle, AIrndSign(random((Level - 1) * 5))); d:= 0; @@ -1325,7 +1325,7 @@ ap.Angle:= DxDy2AttackAnglef(dx, -dy); // Apply inaccuracy if (not aiLaserSighting) then - inc(ap.Angle, + AIrndSign(random((Level - 1) * 10))); + inc(ap.Angle, AIrndSign(random((Level - 1) * 10))); end; if dx >= 0 then cx:= 0.45 else cx:= -0.45; @@ -2220,7 +2220,7 @@ // Apply inaccuracy inc(ap.Power, (random(93*(Level-1)) - 31*(Level-1))); // Level 1 spread: -124 .. 248 if (not aiLaserSighting) then - inc(ap.Angle, + AIrndSign(random((Level - 1) * 10))); + inc(ap.Angle, AIrndSign(random((Level - 1) * 10))); if (valueResult <= 0) then valueResult:= BadTurn; @@ -2267,7 +2267,7 @@ // Apply inaccuracy if (not aiLaserSighting) then - inc(ap.Angle, + AIrndSign(random((Level - 1) * 10))); + inc(ap.Angle, AIrndSign(random((Level - 1) * 10))); repeat x:= x + vX; y:= y + vY;