# HG changeset patch
# User nemo
# Date 1316141627 14400
# Node ID 09bbc7b887147de48155744e110feca3aa90c1bd
# Parent  2a9353b800cda951e27d4e44edc3eab48f3704f7
2 extra steps was still occasionally causing problems w/ edge cases. hopefully 3 should do the trick

diff -r 2a9353b800cd -r 09bbc7b88714 hedgewars/GSHandlers.inc
--- a/hedgewars/GSHandlers.inc	Thu Sep 15 22:33:55 2011 -0400
+++ b/hedgewars/GSHandlers.inc	Thu Sep 15 22:53:47 2011 -0400
@@ -1115,9 +1115,9 @@
 procedure doStepDEagleShot(Gear: PGear);
 begin
     PlaySound(sndGun);
-    // add 2 initial steps to avoid problem with ammoshove related to calculation of radius + 1 radius as gear widths
-    Gear^.X := Gear^.X + Gear^.dX * 2;
-    Gear^.Y := Gear^.Y + Gear^.dY * 2;
+    // add 3 initial steps to avoid problem with ammoshove related to calculation of radius + 1 radius as gear widths, and also just plain old weird angles
+    Gear^.X := Gear^.X + Gear^.dX * 3;
+    Gear^.Y := Gear^.Y + Gear^.dY * 3;
     Gear^.doStep := @doStepBulletWork
 end;
 
@@ -1151,9 +1151,9 @@
         Gear^.dX := SignAs(AngleSin(HHGear^.Angle), HHGear^.dX) * _0_5;
         Gear^.dY := -AngleCos(HHGear^.Angle) * _0_5;
         PlaySound(sndGun);
-        // add an initial step to avoid problem with ammoshove related to calculation of radius + 1 radius as gear widths
-        Gear^.X := Gear^.X + Gear^.dX;  
-        Gear^.Y := Gear^.Y + Gear^.dY;
+        // add 3 initial steps to avoid problem with ammoshove related to calculation of radius + 1 radius as gear widths, and also just weird angles
+        Gear^.X := Gear^.X + Gear^.dX * 3;  
+        Gear^.Y := Gear^.Y + Gear^.dY * 3;
         Gear^.doStep := @doStepBulletWork;
     end
     else