hedgewars/uGearsHandlersMess.pas
changeset 13214 9c81e34f1933
parent 13161 aa7915ceb69f
child 13276 2709572ed815
equal deleted inserted replaced
13213:1ac1f5a91ec0 13214:9c81e34f1933
  6327     gi := GearsList;
  6327     gi := GearsList;
  6328     while gi <> nil do
  6328     while gi <> nil do
  6329         begin
  6329         begin
  6330         with gi^ do CheckSum:= CheckSum xor X.round xor X.frac xor dX.round xor dX.frac xor Y.round xor Y.frac xor dY.round xor dY.frac;
  6330         with gi^ do CheckSum:= CheckSum xor X.round xor X.frac xor dX.round xor dX.frac xor Y.round xor Y.frac xor dY.round xor dY.frac;
  6331         AddRandomness(CheckSum);
  6331         AddRandomness(CheckSum);
  6332         if gi^.Kind = gtGenericFaller then gi^.State:= gi^.State and (not gstTmpFlag);
  6332         if (gi^.Kind = gtGenericFaller) and (gi^.Tag = 1) then
       
  6333             gi^.State:= gi^.State and (not gstTmpFlag);
  6333         gi := gi^.NextGear
  6334         gi := gi^.NextGear
  6334         end;
  6335         end;
  6335     AddPickup(Gear^.Hedgehog^, a, Gear^.Power, hwRound(Gear^.X), hwRound(Gear^.Y));
  6336     AddPickup(Gear^.Hedgehog^, a, Gear^.Power, hwRound(Gear^.X), hwRound(Gear^.Y));
  6336     DeleteGear(Gear)
  6337     DeleteGear(Gear)
  6337     end;
  6338     end;
  6348         exit
  6349         exit
  6349         end;
  6350         end;
  6350 if (Gear^.State and gstTmpFlag <> 0) or (GameTicks and $7 = 0) then
  6351 if (Gear^.State and gstTmpFlag <> 0) or (GameTicks and $7 = 0) then
  6351     begin
  6352     begin
  6352     doStepFallingGear(Gear);
  6353     doStepFallingGear(Gear);
  6353     if (Gear^.State and gstInvisible <> 0) and (GameTicks and $FF = 0) and (hwRound(Gear^.X) < LongInt(leftX)) or (hwRound(Gear^.X) > LongInt(rightX)) or (hwRound(Gear^.Y) < LongInt(topY)) then
  6354     if (Gear^.Tag = 1) and (GameTicks and $FF = 0) and (hwRound(Gear^.X) < LongInt(leftX)) or (hwRound(Gear^.X) > LongInt(rightX)) or (hwRound(Gear^.Y) < LongInt(topY)) then
  6354         begin
  6355         begin
  6355         Gear^.X:= int2hwFloat(GetRandom(rightX-leftX)+leftX);
  6356         Gear^.X:= int2hwFloat(GetRandom(rightX-leftX)+leftX);
  6356         Gear^.Y:= int2hwFloat(GetRandom(LAND_HEIGHT-topY)+topY);
  6357         Gear^.Y:= int2hwFloat(GetRandom(LAND_HEIGHT-topY)+topY);
  6357         Gear^.dX:= _90-(GetRandomf*_360);
  6358         Gear^.dX:= _90-(GetRandomf*_360);
  6358         Gear^.dY:= _90-(GetRandomf*_360)
  6359         Gear^.dY:= _90-(GetRandomf*_360)