From d4ba5f09419e9032438287255fcc1cf0132f868c Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Fri, 1 Jan 2021 19:04:52 -0500 Subject: [PATCH] v0.9.1b: adjusted sprites to no longer spam onComplete when paused --- .../shatteredpixeldungeon/sprites/BlacksmithSprite.java | 2 +- .../shatteredpixeldungeon/sprites/CharSprite.java | 7 +++---- .../shatteredpixeldungeon/sprites/DM300Sprite.java | 5 +---- 3 files changed, 5 insertions(+), 9 deletions(-) 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 9fa6d6af9..651f9c7e5 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/BlacksmithSprite.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/BlacksmithSprite.java @@ -76,7 +76,7 @@ public class BlacksmithSprite extends MobSprite { super.onComplete( anim ); //FIXME should figure out why onComplete is called constantly when an animation is paused - if (visible && emitter != null && anim == idle && !paused) { + 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 ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/CharSprite.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/CharSprite.java index d14fb0ef3..34f5695f8 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/CharSprite.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/CharSprite.java @@ -482,13 +482,12 @@ public class CharSprite extends MovieClip implements Tweener.Listener, MovieClip @Override public void update() { + if (paused && curAnim == die){ + paused = false; + } super.update(); - if (paused && listener != null) { - listener.onComplete( curAnim ); - } - if (flashTime > 0 && (flashTime -= Game.elapsed) <= 0) { resetColor(); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/DM300Sprite.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/DM300Sprite.java index 28c549321..92d349368 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/DM300Sprite.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/DM300Sprite.java @@ -111,8 +111,6 @@ public class DM300Sprite extends MobSprite { Camera.main.shake( 3, 0.7f ); } - private boolean exploded = false; - @Override public void onComplete( Animation anim ) { @@ -126,8 +124,7 @@ public class DM300Sprite extends MobSprite { super.onComplete( anim ); - if (anim == die && !exploded) { - exploded = true; + if (anim == die) { Sample.INSTANCE.play(Assets.Sounds.BLAST); emitter().burst( BlastParticle.FACTORY, 100 ); killAndErase();