hedgewars/uGearsHandlersMess.pas
changeset 15633 0bf5dda8fa43
parent 15630 c9fec197335a
child 15635 e229d0cacd37
equal deleted inserted replaced
15632:25132742a948 15633:0bf5dda8fa43
  1848 
  1848 
  1849 procedure doStepBlowTorchWork(Gear: PGear);
  1849 procedure doStepBlowTorchWork(Gear: PGear);
  1850 var
  1850 var
  1851     HHGear: PGear;
  1851     HHGear: PGear;
  1852     dig, hit: boolean;
  1852     dig, hit: boolean;
  1853     prevX: LongInt;
       
  1854 begin
  1853 begin
  1855     AllInactive := false;
  1854     AllInactive := false;
  1856     WorldWrap(Gear);
  1855     WorldWrap(Gear);
  1857     dec(Gear^.Timer);
  1856     dec(Gear^.Timer);
  1858 
  1857 
  1900             HHGear^.Message := (HHGear^.Message and (gmAttack or gmUp or gmDown)) or gmRight;
  1899             HHGear^.Message := (HHGear^.Message and (gmAttack or gmUp or gmDown)) or gmRight;
  1901 
  1900 
  1902         if ((HHGear^.State and gstMoving) = 0) then
  1901         if ((HHGear^.State and gstMoving) = 0) then
  1903             begin
  1902             begin
  1904             HHGear^.State := HHGear^.State and (not gstAttacking);
  1903             HHGear^.State := HHGear^.State and (not gstAttacking);
  1905             prevX := hwRound(HHGear^.X);
       
  1906 
  1904 
  1907             if CheckLandValue(hwRound(HHGear^.X + SignAs(_6, HHGear^.dX)), hwRound(HHGear^.Y),lfIndestructible) then
  1905             if CheckLandValue(hwRound(HHGear^.X + SignAs(_6, HHGear^.dX)), hwRound(HHGear^.Y),lfIndestructible) then
  1908                 begin
       
  1909                 HedgehogStep(HHGear);
  1906                 HedgehogStep(HHGear);
  1910                 if (prevX = hwRound(HHGear^.X)) then
       
  1911                     HHGear^.X := HHGear^.X + SignAs(_1, HHGear^.dX);
       
  1912                 end;
       
  1913 
  1907 
  1914             HHGear^.State := HHGear^.State or gstAttacking
  1908             HHGear^.State := HHGear^.State or gstAttacking
  1915             end;
  1909             end;
  1916 
  1910 
  1917         inc(BTSteps);
  1911         inc(BTSteps);