hedgewars/uGearsHandlersMess.pas
changeset 13983 cde9920150c6
parent 13978 3ae88a9f9dca
child 13984 817dc8b67b0d
equal deleted inserted replaced
13982:681a53c8b18c 13983:cde9920150c6
  5495 begin
  5495 begin
  5496     AllInactive := false;
  5496     AllInactive := false;
  5497     HHGear := Gear^.Hedgehog^.Gear;
  5497     HHGear := Gear^.Hedgehog^.Gear;
  5498     if HHGear = nil then
  5498     if HHGear = nil then
  5499         begin
  5499         begin
       
  5500         StopSoundChan(Gear^.SoundChannel, 300);
  5500         DeleteGear(gear);
  5501         DeleteGear(gear);
  5501         exit
  5502         exit
  5502         end;
  5503         end;
  5503     HedgehogChAngle(HHGear);
  5504     HedgehogChAngle(HHGear);
  5504     gX := hwRound(Gear^.X) + GetLaunchX(amBallgun, hwSign(HHGear^.dX), HHGear^.Angle);
  5505     gX := hwRound(Gear^.X) + GetLaunchX(amBallgun, hwSign(HHGear^.dX), HHGear^.Angle);
  5551         end;
  5552         end;
  5552 
  5553 
  5553     if (Gear^.Health = 0) or ((HHGear^.State and gstHHDriven) = 0) then
  5554     if (Gear^.Health = 0) or ((HHGear^.State and gstHHDriven) = 0) then
  5554         begin
  5555         begin
  5555         HHGear^.State := HHGear^.State and (not gstNotKickable);
  5556         HHGear^.State := HHGear^.State and (not gstNotKickable);
       
  5557         StopSoundChan(Gear^.SoundChannel, 300);
  5556         DeleteGear(Gear);
  5558         DeleteGear(Gear);
  5557         AfterAttack
  5559         AfterAttack
  5558         end
  5560         end
  5559     else
  5561     else
  5560         begin
  5562         begin
  5574     HHGear: PGear;
  5576     HHGear: PGear;
  5575 begin
  5577 begin
  5576     HHGear := Gear^.Hedgehog^.Gear;
  5578     HHGear := Gear^.Hedgehog^.Gear;
  5577     HHGear^.Message := HHGear^.Message and (not (gmUp or gmDown or gmLeft or gmRight));
  5579     HHGear^.Message := HHGear^.Message and (not (gmUp or gmDown or gmLeft or gmRight));
  5578     HHGear^.State := HHGear^.State or gstNotKickable;
  5580     HHGear^.State := HHGear^.State or gstNotKickable;
       
  5581     Gear^.SoundChannel := LoopSound(sndFlamethrower);
  5579     Gear^.doStep := @doStepFlamethrowerWork
  5582     Gear^.doStep := @doStepFlamethrowerWork
  5580 end;
  5583 end;
  5581 
  5584 
  5582 ////////////////////////////////////////////////////////////////////////////////
  5585 ////////////////////////////////////////////////////////////////////////////////
  5583 procedure doStepLandGunWork(Gear: PGear);
  5586 procedure doStepLandGunWork(Gear: PGear);