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); |