# HG changeset patch # User sheepluva # Date 1416262990 -3600 # Node ID 25021aac078ea58d60cb89dc9eb54535713bda02 # Parent c33b2f00173090f8fb2c8e8c2d34f345c80c7c29 fix underwater-skipping bug and make air-strike missiles submersible when fired from within weSea diff -r c33b2f001730 -r 25021aac078e hedgewars/uGearsHandlersMess.pas --- a/hedgewars/uGearsHandlersMess.pas Tue Nov 18 00:32:39 2014 +0300 +++ b/hedgewars/uGearsHandlersMess.pas Mon Nov 17 23:23:10 2014 +0100 @@ -2428,6 +2428,8 @@ // Gear^.Tag, _0, 5000); end; Gear^.dX := Gear^.dX + int2hwFloat(30 * Gear^.Tag); + if CheckCoordInWater(hwRound(Gear^.X), hwRound(Gear^.Y)) then + FollowGear^.State:= FollowGear^.State or gstSubmersible; StopSoundChan(Gear^.SoundChannel, 4000); end; diff -r c33b2f001730 -r 25021aac078e hedgewars/uGearsUtils.pas --- a/hedgewars/uGearsUtils.pas Tue Nov 18 00:32:39 2014 +0300 +++ b/hedgewars/uGearsUtils.pas Mon Nov 17 23:23:10 2014 +0100 @@ -556,7 +556,7 @@ // skipping - if (hwSqr(Gear^.dX) + hwSqr(Gear^.dY) > skipSpeed) + if (not isSubmersible) and (hwSqr(Gear^.dX) + hwSqr(Gear^.dY) > skipSpeed) and ( ((not isDirH) and (hwAbs(Gear^.dX) > skipAngle * hwAbs(Gear^.dY))) or (isDirH and (hwAbs(Gear^.dY) > skipAngle * hwAbs(Gear^.dX))) ) then begin