From 6b61425cd870e60b9c4c2fecb65c6d49e198f8a6 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Mon, 17 Mar 2025 14:45:40 -0400 Subject: [PATCH] v3.0.2: blacksmith sfx now pause if music is paused in BG --- .../src/main/java/com/watabou/noosa/audio/Music.java | 4 ++++ .../shatteredpixeldungeon/sprites/BlacksmithSprite.java | 7 +++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/SPD-classes/src/main/java/com/watabou/noosa/audio/Music.java b/SPD-classes/src/main/java/com/watabou/noosa/audio/Music.java index 10ce4a202..230ae2a4a 100644 --- a/SPD-classes/src/main/java/com/watabou/noosa/audio/Music.java +++ b/SPD-classes/src/main/java/com/watabou/noosa/audio/Music.java @@ -234,6 +234,10 @@ public enum Music { } private boolean paused = false; + + public synchronized boolean paused(){ + return paused; + } public synchronized void pause() { paused = true; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/BlacksmithSprite.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/BlacksmithSprite.java index 232afb320..628c31794 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/BlacksmithSprite.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/BlacksmithSprite.java @@ -26,6 +26,7 @@ import com.shatteredpixel.shatteredpixeldungeon.Dungeon; import com.shatteredpixel.shatteredpixeldungeon.actors.Char; import com.shatteredpixel.shatteredpixeldungeon.effects.Speck; import com.watabou.noosa.TextureFilm; +import com.watabou.noosa.audio.Music; import com.watabou.noosa.audio.Sample; import com.watabou.noosa.particles.Emitter; @@ -77,8 +78,10 @@ public class BlacksmithSprite extends MobSprite { if (visible && emitter != null && anim == idle) { emitter.burst( Speck.factory( Speck.FORGE ), 3 ); - float volume = 0.2f / (Dungeon.level.distance( ch.pos, Dungeon.hero.pos )); - Sample.INSTANCE.play( Assets.Sounds.EVOKE, volume, volume, 0.8f ); + if (!Music.INSTANCE.paused()) { + float volume = 0.2f / (Dungeon.level.distance(ch.pos, Dungeon.hero.pos)); + Sample.INSTANCE.play(Assets.Sounds.EVOKE, volume, volume, 0.8f); + } } }