hedgewars/GSHandlers.inc
changeset 3139 a075f5344796
parent 3136 326a8cb7d9b7
child 3143 682bc7f99c63
equal deleted inserted replaced
3138:1798518e1d73 3139:a075f5344796
   470 end;
   470 end;
   471 
   471 
   472 ////////////////////////////////////////////////////////////////////////////////
   472 ////////////////////////////////////////////////////////////////////////////////
   473 procedure doStepBeeWork(Gear: PGear);
   473 procedure doStepBeeWork(Gear: PGear);
   474 var t: hwFloat;
   474 var t: hwFloat;
   475 begin
   475     nuw: boolean;
   476 AllInactive:= false;
   476 const uw: boolean = false;
       
   477 begin
       
   478 AllInactive:= false;
       
   479 nuw:= (cWaterLine < hwRound(Gear^.Y) + Gear^.Radius);
       
   480 if nuw and not uw then
       
   481     begin
       
   482     AddVisualGear(hwRound(Gear^.X), cWaterLine, vgtSplash);
       
   483     AddVisualGear(hwRound(Gear^.X) - 3 + Random(6), cWaterLine, vgtDroplet);
       
   484     AddVisualGear(hwRound(Gear^.X) - 3 + Random(6), cWaterLine, vgtDroplet);
       
   485     AddVisualGear(hwRound(Gear^.X) - 3 + Random(6), cWaterLine, vgtDroplet);
       
   486     AddVisualGear(hwRound(Gear^.X) - 3 + Random(6), cWaterLine, vgtDroplet);
       
   487     StopSound(Gear^.SoundChannel);
       
   488     Gear^.SoundChannel:= LoopSound(sndBeeWater);
       
   489     uw:= nuw
       
   490     end
       
   491 else if not nuw and uw then
       
   492     begin
       
   493     AddVisualGear(hwRound(Gear^.X), cWaterLine, vgtSplash);
       
   494     StopSound(Gear^.SoundChannel);
       
   495     Gear^.SoundChannel:= LoopSound(sndBee);
       
   496     uw:= nuw
       
   497     end;
       
   498 
       
   499 
   477 t:= Distance(Gear^.dX, Gear^.dY);
   500 t:= Distance(Gear^.dX, Gear^.dY);
   478 Gear^.dX:= Gear^.Elasticity * (Gear^.dX + _0_000004 * (TargetPoint.X - hwRound(Gear^.X)));
   501 Gear^.dX:= Gear^.Elasticity * (Gear^.dX + _0_000004 * (TargetPoint.X - hwRound(Gear^.X)));
   479 Gear^.dY:= Gear^.Elasticity * (Gear^.dY + _0_000004 * (TargetPoint.Y - hwRound(Gear^.Y)));
   502 Gear^.dY:= Gear^.Elasticity * (Gear^.dY + _0_000004 * (TargetPoint.Y - hwRound(Gear^.Y)));
   480 
   503 
   481 t:= t / Distance(Gear^.dX, Gear^.dY);
   504 t:= t / Distance(Gear^.dX, Gear^.dY);