hedgewars/uGearsHandlersMess.pas
changeset 10286 1940e937fc08
parent 10253 ea57f2f2b98d
child 10298 7d5d93f9a515
equal deleted inserted replaced
10285:03b615d3c6e1 10286:1940e937fc08
  2522             (
  2522             (
  2523             (Distance(tx - int2hwFloat(rightX+(rx-leftX)), ty - y) > _256) and
  2523             (Distance(tx - int2hwFloat(rightX+(rx-leftX)), ty - y) > _256) and
  2524             (Distance(tx - int2hwFloat(leftX-(rightX-rx)), ty - y) > _256)
  2524             (Distance(tx - int2hwFloat(leftX-(rightX-rx)), ty - y) > _256)
  2525             )));
  2525             )));
  2526     if distFail
  2526     if distFail
  2527     or (not TryPlaceOnLand(Gear^.Target.X - SpritesData[Ammoz[Gear^.AmmoType].PosSprite].Width div 2, Gear^.Target.Y - SpritesData[Ammoz[Gear^.AmmoType].PosSprite].Height div 2, Ammoz[Gear^.AmmoType].PosSprite, Gear^.State, true, false, LandFlags)) then
  2527     or (not TryPlaceOnLand(Gear^.Target.X - SpritesData[Ammoz[Gear^.AmmoType].PosSprite].Width div 2, Gear^.Target.Y - SpritesData[Ammoz[Gear^.AmmoType].PosSprite].Height div 2, Ammoz[Gear^.AmmoType].PosSprite, Gear^.State, true, LandFlags)) then
  2528         begin
  2528         begin
  2529         PlaySound(sndDenied);
  2529         PlaySound(sndDenied);
  2530         if not distFail then
  2530         if not distFail then
  2531             begin
  2531             begin
  2532             warn:= AddVisualGear(Gear^.Target.X, Gear^.Target.Y, vgtNoPlaceWarn, 0);
  2532             warn:= AddVisualGear(Gear^.Target.X, Gear^.Target.Y, vgtNoPlaceWarn, 0);
  2592     AllInactive := false;
  2592     AllInactive := false;
  2593 
  2593 
  2594     HHGear := Gear^.Hedgehog^.Gear;
  2594     HHGear := Gear^.Hedgehog^.Gear;
  2595     if not TryPlaceOnLand(Gear^.Target.X - SpritesData[sprHHTelepMask].Width div 2,
  2595     if not TryPlaceOnLand(Gear^.Target.X - SpritesData[sprHHTelepMask].Width div 2,
  2596         Gear^.Target.Y - SpritesData[sprHHTelepMask].Height div 2,
  2596         Gear^.Target.Y - SpritesData[sprHHTelepMask].Height div 2,
  2597         sprHHTelepMask, 0, false, false, not hasBorder, 0) then
  2597         sprHHTelepMask, 0, false, not hasBorder, 0) then
  2598         begin
  2598         begin
  2599         HHGear^.Message := HHGear^.Message and (not gmAttack);
  2599         HHGear^.Message := HHGear^.Message and (not gmAttack);
  2600         HHGear^.State := HHGear^.State and (not gstAttacking);
  2600         HHGear^.State := HHGear^.State and (not gstAttacking);
  2601         HHGear^.State := HHGear^.State or gstHHChooseTarget;
  2601         HHGear^.State := HHGear^.State or gstHHChooseTarget;
  2602         DeleteGear(Gear);
  2602         DeleteGear(Gear);