hedgewars/uGearsHandlersMess.pas
changeset 10736 5b7cf9fcb47e
parent 10679 5989c293955a
child 10789 acbf69e2e5cf
equal deleted inserted replaced
10734:8fadc4305df0 10736:5b7cf9fcb47e
   802     // move back to cloud layer
   802     // move back to cloud layer
   803         if CheckCoordInWater(xx, yy) then
   803         if CheckCoordInWater(xx, yy) then
   804             move:= true
   804             move:= true
   805         else if (xx > snowRight) or (xx < snowLeft) then
   805         else if (xx > snowRight) or (xx < snowLeft) then
   806             move:=true
   806             move:=true
       
   807         else if (cGravity < _0) and (yy < LAND_HEIGHT-1200) then
       
   808             move:=true
   807         // Solid pixel encountered
   809         // Solid pixel encountered
   808         else if ((yy and LAND_HEIGHT_MASK) = 0) and ((xx and LAND_WIDTH_MASK) = 0) and (Land[yy, xx] <> 0) then
   810         else if ((yy and LAND_HEIGHT_MASK) = 0) and ((xx and LAND_WIDTH_MASK) = 0) and (Land[yy, xx] <> 0) then
   809             begin
   811             begin
   810             lf:= Land[yy, xx] and (lfObject or lfBasic or lfIndestructible);
   812             lf:= Land[yy, xx] and (lfObject or lfBasic or lfIndestructible);
   811             if lf = 0 then lf:= lfObject;
   813             if lf = 0 then lf:= lfObject;
   918         DeleteGear(Gear);
   920         DeleteGear(Gear);
   919         exit
   921         exit
   920         end;
   922         end;
   921     Gear^.Pos:= 0;
   923     Gear^.Pos:= 0;
   922     Gear^.X:= int2hwFloat(LongInt(GetRandom(snowRight - snowLeft)) + snowLeft);
   924     Gear^.X:= int2hwFloat(LongInt(GetRandom(snowRight - snowLeft)) + snowLeft);
   923     Gear^.Y:= int2hwFloat(LAND_HEIGHT + LongInt(GetRandom(50)) - 1325);
   925     if (cGravity < _0) and (yy < LAND_HEIGHT-1200) then
       
   926          Gear^.Y:= int2hwFloat(LAND_HEIGHT - 50 - LongInt(GetRandom(50)))
       
   927     else Gear^.Y:= int2hwFloat(LAND_HEIGHT + LongInt(GetRandom(50)) - 1250);
   924     Gear^.State:= Gear^.State or gstInvisible;
   928     Gear^.State:= Gear^.State or gstInvisible;
   925     end
   929     end
   926 end;
   930 end;
   927 
   931 
   928 ////////////////////////////////////////////////////////////////////////////////
   932 ////////////////////////////////////////////////////////////////////////////////