equal
deleted
inserted
replaced
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); |