hedgewars/uGearsHandlersMess.pas
changeset 15296 b5171e6c94a4
parent 15278 16f389fcd462
child 15297 6afce21e60c3
equal deleted inserted replaced
15295:f382ec6dba11 15296:b5171e6c94a4
  4633     or (hwRound(HHGear^.X) > LAND_WIDTH)) then
  4633     or (hwRound(HHGear^.X) > LAND_WIDTH)) then
  4634         HHGear^.dY.isNegative:= false;
  4634         HHGear^.dY.isNegative:= false;
  4635 
  4635 
  4636     if ((Gear^.State and gsttmpFlag) = 0)
  4636     if ((Gear^.State and gsttmpFlag) = 0)
  4637     or (HHGear^.dY < _0) then
  4637     or (HHGear^.dY < _0) then
  4638         doStepHedgehogMoving(HHGear);
  4638         doStepHedgehogMoving(HHGear)
       
  4639     else
       
  4640         HHGear^.dX:= SignAs(_0, HHGear^.dX);
  4639 
  4641 
  4640     if
  4642     if
  4641         (HHGear^.Damage <> 0)
  4643         (HHGear^.Damage <> 0)
  4642         // drown if too deep under water
  4644         // drown if too deep under water
  4643         or (cWaterLine + cVisibleWater * 4 < hwRound(HHGear^.Y))
  4645         or (cWaterLine + cVisibleWater * 4 < hwRound(HHGear^.Y))
  4678         Message := Message and (not (gmAttack or gmUp or gmPrecise or gmLeft or gmRight));
  4680         Message := Message and (not (gmAttack or gmUp or gmPrecise or gmLeft or gmRight));
  4679 
  4681 
  4680         if (dY < _0_1) and (dY > -_0_1) then
  4682         if (dY < _0_1) and (dY > -_0_1) then
  4681             begin
  4683             begin
  4682             Gear^.State := Gear^.State or gsttmpFlag;
  4684             Gear^.State := Gear^.State or gsttmpFlag;
  4683             dX := SignAs(_0, dX);
       
  4684             dY := dY - _0_2
  4685             dY := dY - _0_2
  4685             end
  4686             end
  4686         end
  4687         end
  4687 end;
  4688 end;
  4688 
  4689