hedgewars/uGearsHandlersMess.pas
changeset 15473 20066da10268
parent 15469 1e3761ecfc13
child 15509 6ddfde71ba6a
equal deleted inserted replaced
15472:92f71bd1b96c 15473:20066da10268
  2346 procedure doStepDynamite(Gear: PGear);
  2346 procedure doStepDynamite(Gear: PGear);
  2347 begin
  2347 begin
  2348     doStepFallingGear(Gear);
  2348     doStepFallingGear(Gear);
  2349     AllInactive := false;
  2349     AllInactive := false;
  2350 
  2350 
       
  2351     if (Gear^.SoundChannel <> -1) and ((Gear^.State and gstDrowning) <> 0) then
       
  2352         begin
       
  2353         StopSoundChan(Gear^.SoundChannel);
       
  2354         Gear^.SoundChannel:= -1;
       
  2355         end
       
  2356     else if Gear^.SoundChannel = -1 then
       
  2357         Gear^.SoundChannel := LoopSound(sndDynamiteFuse);
  2351     if (Gear^.State and gstDrowning) <> 0 then
  2358     if (Gear^.State and gstDrowning) <> 0 then
  2352         exit;
  2359         exit;
  2353     if Gear^.Timer mod 166 = 0 then
  2360     if Gear^.Timer mod 166 = 0 then
  2354         inc(Gear^.Tag);
  2361         inc(Gear^.Tag);
  2355     if Gear^.Timer = 1000 then // might need better timing
  2362     if Gear^.Timer = 1000 then // might need better timing
  2356         makeHogsWorry(Gear^.X, Gear^.Y, 75, Gear^.Kind);
  2363         makeHogsWorry(Gear^.X, Gear^.Y, 75, Gear^.Kind);
  2357     if Gear^.Timer = 0 then
  2364     if Gear^.Timer = 0 then
  2358         begin
  2365         begin
       
  2366         StopSoundChan(Gear^.SoundChannel);
  2359         doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), Gear^.Boom, Gear^.Hedgehog, EXPLAutoSound);
  2367         doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), Gear^.Boom, Gear^.Hedgehog, EXPLAutoSound);
  2360         DeleteGear(Gear);
  2368         DeleteGear(Gear);
  2361         exit
  2369         exit
  2362         end;
  2370         end;
  2363     dec(Gear^.Timer);
  2371     dec(Gear^.Timer);