# HG changeset patch # User alfadur # Date 1591381308 -10800 # Node ID b988d3be7100c74abcdff2659b76f0fe265c1f53 # Parent fdca2af677a9384491dee25f5db784193e075cf5 remove blowtorching tautology diff -r fdca2af677a9 -r b988d3be7100 hedgewars/uGearsHandlersMess.pas --- a/hedgewars/uGearsHandlersMess.pas Fri Jun 05 15:48:41 2020 +0200 +++ b/hedgewars/uGearsHandlersMess.pas Fri Jun 05 21:21:48 2020 +0300 @@ -1842,7 +1842,7 @@ procedure doStepBlowTorchWork(Gear: PGear); var HHGear: PGear; - b: boolean; + dig: boolean; prevX: LongInt; begin AllInactive := false; @@ -1861,14 +1861,14 @@ HedgehogChAngle(HHGear); - b := false; + dig := false; if abs(LongInt(HHGear^.Angle) - BTPrevAngle) > 7 then begin Gear^.dX := SignAs(AngleSin(HHGear^.Angle) * _0_5, Gear^.dX); Gear^.dY := AngleCos(HHGear^.Angle) * ( - _0_5); BTPrevAngle := HHGear^.Angle; - b := true + dig := true end; if ((HHGear^.State and gstMoving) <> 0) then @@ -1880,7 +1880,7 @@ if Gear^.Timer mod cHHStepTicks = 0 then begin - b := true; + dig := true; if Gear^.dX.isNegative then HHGear^.Message := (HHGear^.Message and (gmAttack or gmUp or gmDown)) or gmLeft else @@ -1891,14 +1891,13 @@ HHGear^.State := HHGear^.State and (not gstAttacking); prevX := hwRound(HHGear^.X); - // why the call to HedgehogStep then a further increment of X? - if (prevX = hwRound(HHGear^.X)) and - CheckLandValue(hwRound(HHGear^.X + SignAs(_6, HHGear^.dX)), hwRound(HHGear^.Y), - lfIndestructible) then HedgehogStep(HHGear); - - if (prevX = hwRound(HHGear^.X)) and - CheckLandValue(hwRound(HHGear^.X + SignAs(_6, HHGear^.dX)), hwRound(HHGear^.Y), - lfIndestructible) then HHGear^.X := HHGear^.X + SignAs(_1, HHGear^.dX); + if CheckLandValue(hwRound(HHGear^.X + SignAs(_6, HHGear^.dX)), hwRound(HHGear^.Y),lfIndestructible) then + begin + HedgehogStep(HHGear); + if (prevX = hwRound(HHGear^.X)) then + HHGear^.X := HHGear^.X + SignAs(_1, HHGear^.dX); + end; + HHGear^.State := HHGear^.State or gstAttacking end; @@ -1917,7 +1916,7 @@ end; end; - if b then + if dig then begin DrawTunnel(HHGear^.X + Gear^.dX * cHHRadius, HHGear^.Y + Gear^.dY * cHHRadius - _1 -