hedgewars/uGearsHandlersMess.pas
changeset 12789 28782e03b8f0
parent 12764 272fcd3833d2
child 12804 a889cb350930
equal deleted inserted replaced
12788:8aa82e350b8e 12789:28782e03b8f0
  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);