hedgewars/uGearsHedgehog.pas
changeset 14926 60340c8a6fae
parent 14748 2ad6f0555e61
child 14940 8b848c2939da
equal deleted inserted replaced
14925:d2f5b6b01846 14926:60340c8a6fae
  1217             SetLittle(Gear^.dX);
  1217             SetLittle(Gear^.dX);
  1218 
  1218 
  1219 if (not isFalling)
  1219 if (not isFalling)
  1220   and (hwAbs(Gear^.dX) + hwAbs(Gear^.dY) < _0_03) then
  1220   and (hwAbs(Gear^.dX) + hwAbs(Gear^.dY) < _0_03) then
  1221     begin
  1221     begin
  1222     Gear^.State:= Gear^.State and (not gstWinner);
  1222     if (not GameOver) then
       
  1223         Gear^.State:= Gear^.State and (not gstWinner);
  1223     Gear^.State:= Gear^.State and (not gstMoving);
  1224     Gear^.State:= Gear^.State and (not gstMoving);
  1224     cnt:= 0;
  1225     cnt:= 0;
  1225     while (cnt < 6) and (not CheckGearDrowning(Gear)) and (Gear <> nil) and (TestCollisionYWithGear(Gear,1) = 0) do
  1226     while (cnt < 6) and (not CheckGearDrowning(Gear)) and (Gear <> nil) and (TestCollisionYWithGear(Gear,1) = 0) do
  1226         begin
  1227         begin
  1227         Gear^.Y:= Gear^.Y + _1;
  1228         Gear^.Y:= Gear^.Y + _1;
  1509     end
  1510     end
  1510 else
  1511 else
  1511     begin
  1512     begin
  1512     if Gear^.Timer = 0 then
  1513     if Gear^.Timer = 0 then
  1513         begin
  1514         begin
  1514         Gear^.State:= Gear^.State and (not (gstWait or gstLoser or gstWinner or gstAttacked or gstNotKickable or gstChooseTarget));
  1515         Gear^.State:= Gear^.State and (not (gstWait or gstLoser or gstAttacked or gstNotKickable or gstChooseTarget));
       
  1516         if (not GameOver) then
       
  1517             Gear^.State:= Gear^.State and (not gstWinner);
  1515         if Gear^.Hedgehog^.Effects[heFrozen] = 0 then Gear^.Active:= false;
  1518         if Gear^.Hedgehog^.Effects[heFrozen] = 0 then Gear^.Active:= false;
  1516         AddCI(Gear);
  1519         AddCI(Gear);
  1517         exit
  1520         exit
  1518         end
  1521         end
  1519     else dec(Gear^.Timer)
  1522     else dec(Gear^.Timer)