hedgewars/GSHandlers.inc
changeset 520 e83dfb7ffead
parent 519 981df6f6e2a9
child 521 bc8fd78d7598
equal deleted inserted replaced
519:981df6f6e2a9 520:e83dfb7ffead
  1085 AllInactive:= false;
  1085 AllInactive:= false;
  1086 
  1086 
  1087 HHGear:= PHedgehog(Gear^.Hedgehog)^.Gear;
  1087 HHGear:= PHedgehog(Gear^.Hedgehog)^.Gear;
  1088 if not TryPlaceOnLand(TargetPoint.X - SpritesData[sprAmGirder].Width div 2,
  1088 if not TryPlaceOnLand(TargetPoint.X - SpritesData[sprAmGirder].Width div 2,
  1089                       TargetPoint.Y - SpritesData[sprAmGirder].Height div 2,
  1089                       TargetPoint.Y - SpritesData[sprAmGirder].Height div 2,
  1090                       sprAmGirder, Gear^.State) then
  1090                       sprAmGirder, Gear^.State, true) then
  1091         begin
  1091         begin
  1092         HHGear^.Message:= HHGear^.Message and not gm_Attack;
  1092         HHGear^.Message:= HHGear^.Message and not gm_Attack;
  1093         HHGear^.State:= HHGear^.State and not gstAttacking;
  1093         HHGear^.State:= HHGear^.State and not gstAttacking;
  1094         HHGear^.State:= HHGear^.State or gstHHChooseTarget;
  1094         HHGear^.State:= HHGear^.State or gstHHChooseTarget;
  1095         DeleteGear(Gear);
  1095         DeleteGear(Gear);
  1099         DeleteGear(Gear);
  1099         DeleteGear(Gear);
  1100         AfterAttack
  1100         AfterAttack
  1101         end;
  1101         end;
  1102 TargetPoint.X:= NoPointX
  1102 TargetPoint.X:= NoPointX
  1103 end;
  1103 end;
       
  1104 
       
  1105 ////////////////////////////////////////////////////////////////////////////////
       
  1106 
       
  1107 procedure doStepTeleport(Gear: PGear);
       
  1108 var HHGear: PGear;
       
  1109 begin
       
  1110 AllInactive:= false;
       
  1111 
       
  1112 HHGear:= PHedgehog(Gear^.Hedgehog)^.Gear;
       
  1113 if not TryPlaceOnLand(TargetPoint.X - SpritesData[sprHHTelepMask].Width div 2,
       
  1114                       TargetPoint.Y - SpritesData[sprHHTelepMask].Height div 2,
       
  1115                       sprHHTelepMask, 0, false) then
       
  1116         begin
       
  1117         HHGear^.Message:= HHGear^.Message and not gm_Attack;
       
  1118         HHGear^.State:= HHGear^.State and not gstAttacking;
       
  1119         HHGear^.State:= HHGear^.State or gstHHChooseTarget;
       
  1120         DeleteGear(Gear);
       
  1121         isCursorVisible:= true
       
  1122         end
       
  1123    else begin
       
  1124         DeleteCI(HHGear);
       
  1125         HHGear^.X:= int2hwFloat(TargetPoint.X);
       
  1126         HHGear^.Y:= int2hwFloat(TargetPoint.Y);
       
  1127         DeleteGear(Gear);
       
  1128         AfterAttack
       
  1129         end;
       
  1130 TargetPoint.X:= NoPointX
       
  1131 end;