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 651f9c7e5..d9daee92d 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/BlacksmithSprite.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/BlacksmithSprite.java @@ -75,7 +75,6 @@ public class BlacksmithSprite extends MobSprite { public void onComplete( Animation anim ) { super.onComplete( anim ); - //FIXME should figure out why onComplete is called constantly when an animation is 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 )); 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 34f5695f8..e85eb4ff0 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/CharSprite.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/CharSprite.java @@ -482,8 +482,10 @@ public class CharSprite extends MovieClip implements Tweener.Listener, MovieClip @Override public void update() { - if (paused && curAnim == die){ - paused = false; + if (paused && !looping()){ + Animation cur = curAnim; + curAnim = null; + listener.onComplete(cur); } super.update();