hedgewars/uGearsHandlersMess.pas
changeset 13994 996ef4c5d064
parent 13985 1670fc3957df
child 13996 755f389a1e73
equal deleted inserted replaced
13993:ae11b53987db 13994:996ef4c5d064
  3736 
  3736 
  3737 ////////////////////////////////////////////////////////////////////////////////
  3737 ////////////////////////////////////////////////////////////////////////////////
  3738 procedure doStepSeductionWork(Gear: PGear);
  3738 procedure doStepSeductionWork(Gear: PGear);
  3739 var i: LongInt;
  3739 var i: LongInt;
  3740     hogs: PGearArrayS;
  3740     hogs: PGearArrayS;
       
  3741     HHGear: PGear;
  3741 begin
  3742 begin
  3742     AllInactive := false;
  3743     AllInactive := false;
       
  3744 
       
  3745     HHGear := Gear^.Hedgehog^.Gear;
       
  3746     if (HHGear <> nil) and ((HHGear^.State and gstHHDriven) = 0) then
       
  3747         begin
       
  3748         StopSound(sndYoohoo);
       
  3749         AfterAttack;
       
  3750         DeleteGear(Gear);
       
  3751         exit;
       
  3752         end;
       
  3753 
  3743     hogs := GearsNear(Gear^.X, Gear^.Y, gtHedgehog, Gear^.Radius);
  3754     hogs := GearsNear(Gear^.X, Gear^.Y, gtHedgehog, Gear^.Radius);
  3744     if hogs.size > 0 then
  3755     if hogs.size > 0 then
  3745         begin
  3756         begin
  3746         for i:= 0 to hogs.size - 1 do
  3757         for i:= 0 to hogs.size - 1 do
  3747             with hogs.ar^[i]^ do
  3758             with hogs.ar^[i]^ do
  3757                     Active:= true;
  3768                     Active:= true;
  3758                     end
  3769                     end
  3759                 else if Hedgehog^.Effects[heFrozen] > 255 then
  3770                 else if Hedgehog^.Effects[heFrozen] > 255 then
  3760                     Hedgehog^.Effects[heFrozen]:= 255
  3771                     Hedgehog^.Effects[heFrozen]:= 255
  3761         end ;
  3772         end ;
  3762         AfterAttack;
  3773     AfterAttack;
  3763         DeleteGear(Gear);
  3774     DeleteGear(Gear);
       
  3775 
  3764 (*
  3776 (*
  3765     Gear^.X := Gear^.X + Gear^.dX;
  3777     Gear^.X := Gear^.X + Gear^.dX;
  3766     Gear^.Y := Gear^.Y + Gear^.dY;
  3778     Gear^.Y := Gear^.Y + Gear^.dY;
  3767     x := hwRound(Gear^.X);
  3779     x := hwRound(Gear^.X);
  3768     y := hwRound(Gear^.Y);
  3780     y := hwRound(Gear^.Y);
  3786         end*)
  3798         end*)
  3787 end;
  3799 end;
  3788 
  3800 
  3789 procedure doStepSeductionWear(Gear: PGear);
  3801 procedure doStepSeductionWear(Gear: PGear);
  3790 var heart: PVisualGear;
  3802 var heart: PVisualGear;
       
  3803     HHGear: PGear;
  3791 begin
  3804 begin
  3792     AllInactive := false;
  3805     AllInactive := false;
       
  3806 
       
  3807     HHGear := Gear^.Hedgehog^.Gear;
       
  3808     if (HHGear <> nil) and ((HHGear^.State and gstHHDriven) = 0) then
       
  3809         begin
       
  3810         StopSound(sndYoohoo);
       
  3811         AfterAttack;
       
  3812         DeleteGear(Gear);
       
  3813         exit;
       
  3814         end;
       
  3815 
  3793     inc(Gear^.Timer);
  3816     inc(Gear^.Timer);
  3794     if Gear^.Timer > 250 then
  3817     if Gear^.Timer > 250 then
  3795         begin
  3818         begin
  3796         Gear^.Timer := 0;
  3819         Gear^.Timer := 0;
  3797         inc(Gear^.Pos);
  3820         inc(Gear^.Pos);