# HG changeset patch # User alfadur # Date 1594512232 -10800 # Node ID 4e65fd69f58c51464f07faf3779bd62027c9de79 # Parent 498c1482dec261a15a7c73b20d92abde42344a59 don't delete shotgun shot after it has parted diff -r 498c1482dec2 -r 4e65fd69f58c hedgewars/uGearsHandlersMess.pas --- a/hedgewars/uGearsHandlersMess.pas Sun Jul 12 01:27:27 2020 +0300 +++ b/hedgewars/uGearsHandlersMess.pas Sun Jul 12 03:03:52 2020 +0300 @@ -1237,22 +1237,22 @@ AllInactive := false; if ((Gear^.State and gstAnimation) = 0) then - begin + begin dec(Gear^.Timer); if Gear^.Timer = 0 then - begin + begin PlaySound(sndShotgunFire); CreateShellForGear(Gear, 0); Gear^.State := Gear^.State or gstAnimation - end; - exit - end else - if(Gear^.Hedgehog^.Gear = nil) or ((Gear^.Hedgehog^.Gear^.State and gstMoving) <> 0) then - begin + end + else if (Gear^.Hedgehog^.Gear = nil) + or ((Gear^.Hedgehog^.Gear^.State and (gstMoving or gstHHDriven)) = gstMoving) then + begin DeleteGear(Gear); AfterAttack; - exit - end + end; + exit + end else inc(Gear^.Timer);