equal
deleted
inserted
replaced
2870 end; |
2870 end; |
2871 |
2871 |
2872 valid:= false; |
2872 valid:= false; |
2873 |
2873 |
2874 lx:= Gear^.Target.X - SpritesData[sprHHTelepMask].Width div 2; // left |
2874 lx:= Gear^.Target.X - SpritesData[sprHHTelepMask].Width div 2; // left |
2875 lx:= CalcWorldWrap(lx, SpritesData[sprHHTelepMask].Width); // Take world edge into account |
2875 if WorldEdge <> weBounce then |
|
2876 lx:= CalcWorldWrap(lx, SpritesData[sprHHTelepMask].Width div 2); // Take world edge into account |
2876 ty:= Gear^.Target.Y - SpritesData[sprHHTelepMask].Height div 2; // top |
2877 ty:= Gear^.Target.Y - SpritesData[sprHHTelepMask].Height div 2; // top |
2877 |
2878 |
2878 // remember original target location |
2879 // remember original target location |
2879 oy:= Gear^.Target.Y; |
2880 oy:= Gear^.Target.Y; |
2880 |
2881 |
2885 valid:= true; |
2886 valid:= true; |
2886 break; |
2887 break; |
2887 end; |
2888 end; |
2888 dec(Gear^.Target.Y); |
2889 dec(Gear^.Target.Y); |
2889 end; |
2890 end; |
|
2891 |
|
2892 if (WorldEdge = weBounce) and ((Gear^.Target.X < LeftX) or (Gear^.Target.X > RightX)) then |
|
2893 valid:= false; |
2890 |
2894 |
2891 if not valid then |
2895 if not valid then |
2892 begin |
2896 begin |
2893 HHGear^.Message := HHGear^.Message and (not gmAttack); |
2897 HHGear^.Message := HHGear^.Message and (not gmAttack); |
2894 HHGear^.State := HHGear^.State and (not gstAttacking); |
2898 HHGear^.State := HHGear^.State and (not gstAttacking); |