diff -r 967ed77d6aef -r d203bb36225f hedgewars/uGearsHandlersMess.pas --- a/hedgewars/uGearsHandlersMess.pas Sat Oct 27 07:53:27 2018 +0300 +++ b/hedgewars/uGearsHandlersMess.pas Sat Oct 27 08:12:22 2018 +0300 @@ -2566,7 +2566,12 @@ if Gear^.Timer = 0 then begin inc(Gear^.Tag); - Gear^.Timer := 50 + Gear^.Timer := 50; + if Gear^.Tag = 3 then + begin + ClearHitOrder(); + RefillProximityCache(Gear, 100); + end; end; if Gear^.Tag = 3 then @@ -2575,12 +2580,14 @@ HHGear^.State := HHGear^.State or gstNoDamage; DeleteCI(HHGear); - AmmoShove(Gear, Gear^.Boom, 115); + AmmoShoveCache(Gear, Gear^.Boom, 115); HHGear^.State := (HHGear^.State and (not gstNoDamage)) or gstMoving; end else if Gear^.Tag = 4 then begin + ClearHitOrder(); + ClearProximityCache(); Gear^.Timer := 250; Gear^.doStep := @doStepIdle end