hedgewars/uGearsHandlersMess.pas
changeset 12202 fb2dea5c98f1
parent 12201 2c0811bbc1d9
child 12203 668ee6e388bd
--- a/hedgewars/uGearsHandlersMess.pas	Thu May 12 19:33:30 2016 +0200
+++ b/hedgewars/uGearsHandlersMess.pas	Thu May 12 19:45:26 2016 +0200
@@ -4396,6 +4396,7 @@
                 continue;
 
         if iterator^.Kind = gtDuck then
+            // Make duck go into “falling” mode again
             iterator^.Pos:= 0;
 
         isbullet:= (iterator^.Kind in [gtShotgunShot, gtDEagleShot, gtSniperRifleShot, gtSineGunShot]);
@@ -6388,11 +6389,11 @@
         Gear^.Y:= Gear^.Y + Gear^.dY;
         end;
 
-    // Mirrored duck
-    // Pos 1 or 2: Duck is on water (not Sea world edge)
+    // Handle speed
     if Gear^.Pos = 1 then
         Gear^.dX:= cWindSpeed * Gear^.Damage
     else if Gear^.Pos = 2 then
+        // Mirrored duck (after bounce edge bounce)
         Gear^.dX:= -cWindSpeed * Gear^.Damage
     else if Gear^.Pos = 3 then
         Gear^.dY:= cWindSpeed * Gear^.Damage
@@ -6431,8 +6432,8 @@
     if Gear^.Pos <> 0 then
         // Manual collision check required because we don't use onStepFallingGear in this case
         CheckCollision(Gear);
-    // Explode duck
     if (Gear^.Timer = 0) or ((Gear^.State and gstCollision) <> 0) then
+        // Explode duck
         begin
         doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), Gear^.Boom, Gear^.Hedgehog, EXPLAutoSound);
         PlaySound(sndDuckDie);