hedgewars/uGearsHandlersMess.pas
changeset 10363 fc3aa563ab01
parent 10359 744f1151c707
child 10364 9f7be3da1245
equal deleted inserted replaced
10362:a39e4fa3153e 10363:fc3aa563ab01
   979     nuw := CheckCoordInWater(gx, gy + Gear^.Radius); // is bee underwater now?
   979     nuw := CheckCoordInWater(gx, gy + Gear^.Radius); // is bee underwater now?
   980 
   980 
   981     // if water entered or left
   981     // if water entered or left
   982     if nuw <> uw then
   982     if nuw <> uw then
   983         begin
   983         begin
   984         if (gX > leftX) and (gY < rightX) then
   984         if Gear^.Timer <> 5000 then
   985             begin
   985             AddSplashForGear(Gear, false);
   986             AddVisualGear(gX, cWaterLine, vgtSplash);
       
   987             AddVisualGear(gX - 3 + Random(6), cWaterLine, vgtDroplet);
       
   988             AddVisualGear(gX - 3 + Random(6), cWaterLine, vgtDroplet);
       
   989             AddVisualGear(gX - 3 + Random(6), cWaterLine, vgtDroplet);
       
   990             AddVisualGear(gX - 3 + Random(6), cWaterLine, vgtDroplet);
       
   991             end;
       
   992         StopSoundChan(Gear^.SoundChannel);
   986         StopSoundChan(Gear^.SoundChannel);
   993         if nuw then
   987         if nuw then
   994             begin
   988             begin
   995             Gear^.SoundChannel := LoopSound(sndBeeWater);
   989             Gear^.SoundChannel := LoopSound(sndBeeWater);
   996             Gear^.Tag := 1;
   990             Gear^.Tag := 1;
  1075 begin
  1069 begin
  1076     AllInactive := false;
  1070     AllInactive := false;
  1077     Gear^.X := Gear^.X + Gear^.dX;
  1071     Gear^.X := Gear^.X + Gear^.dX;
  1078     Gear^.Y := Gear^.Y + Gear^.dY;
  1072     Gear^.Y := Gear^.Y + Gear^.dY;
  1079     Gear^.dY := Gear^.dY + cGravity;
  1073     Gear^.dY := Gear^.dY + cGravity;
       
  1074     CheckGearDrowning(Gear);
  1080     CheckCollision(Gear);
  1075     CheckCollision(Gear);
  1081     if (Gear^.State and gstCollision) <> 0 then
  1076     if (Gear^.State and gstCollision) <> 0 then
  1082         begin
  1077         begin
  1083         doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 50, Gear^.Hedgehog, EXPLAutoSound);
  1078         doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 50, Gear^.Hedgehog, EXPLAutoSound);
  1084         DeleteGear(Gear);
  1079         DeleteGear(Gear);