diff --git a/source/triggers/tsemit.cpp b/source/triggers/tsemit.cpp index 8094260e8..4ea83d55f 100644 --- a/source/triggers/tsemit.cpp +++ b/source/triggers/tsemit.cpp @@ -39,6 +39,16 @@ void CSteamEmitterTrigger::think(int _frames) { m_soundId = (int) CSoundMediator::playSfx( CSoundMediator::SFX_HAZARD__STEAM, true ); } + else + { + if( !CSoundMediator::isSfxStillPlaying( (xmPlayingId) m_soundId ) ) + { + // unlock sound if it has finished + + CSoundMediator::stopAndUnlockSfx( (xmPlayingId) m_soundId ); + m_soundId = NOT_PLAYING; + } + } CTrigger::think( _frames ); }