From db70d8fa98cea211413cf698e256b90f68db5b34 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Thu, 9 Jan 2025 11:51:49 -0500 Subject: [PATCH] v3.0.0: fixed char sprite states not being removed in some cases --- .../shatteredpixeldungeon/sprites/CharSprite.java | 10 +++++----- .../shatteredpixeldungeon/sprites/GhoulSprite.java | 2 +- .../sprites/NewbornElementalSprite.java | 2 +- .../shatteredpixeldungeon/sprites/WandmakerSprite.java | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) 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 e354c1f8a..842a2d267 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/CharSprite.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/CharSprite.java @@ -307,7 +307,7 @@ public class CharSprite extends MovieClip implements Tweener.Listener, MovieClip public void die() { sleeping = false; - remove( State.PARALYSED ); + processStateRemoval( State.PARALYSED ); play( die ); hideEmo(); @@ -373,8 +373,8 @@ public class CharSprite extends MovieClip implements Tweener.Listener, MovieClip add(State.AURA); auraColor = color; } - - private synchronized void processStateAddition( State state ) { + + protected synchronized void processStateAddition( State state ) { switch (state) { case BURNING: if (burning != null) burning.on = false; @@ -468,7 +468,7 @@ public class CharSprite extends MovieClip implements Tweener.Listener, MovieClip remove(State.AURA); } - private synchronized void processStateRemoval( State state ) { + protected synchronized void processStateRemoval( State state ) { switch (state) { case BURNING: if (burning != null) { @@ -717,7 +717,7 @@ public class CharSprite extends MovieClip implements Tweener.Listener, MovieClip hideEmo(); for( State s : State.values()){ - remove(s); + processStateRemoval(s); } if (health != null){ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/GhoulSprite.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/GhoulSprite.java index 517ce7eae..554ac4006 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/GhoulSprite.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/GhoulSprite.java @@ -55,7 +55,7 @@ public class GhoulSprite extends MobSprite { public void crumple(){ hideEmo(); - remove(State.PARALYSED); + processStateRemoval(State.PARALYSED); play(crumple); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/NewbornElementalSprite.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/NewbornElementalSprite.java index 51024643e..ae3917aea 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/NewbornElementalSprite.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/NewbornElementalSprite.java @@ -62,7 +62,7 @@ public class NewbornElementalSprite extends MobSprite{ @Override public void die() { super.die(); - remove( CharSprite.State.BURNING ); + processStateRemoval( CharSprite.State.BURNING ); } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/WandmakerSprite.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/WandmakerSprite.java index 925709c90..4f56d15a7 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/WandmakerSprite.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/WandmakerSprite.java @@ -60,8 +60,8 @@ public class WandmakerSprite extends MobSprite { @Override public void die() { super.die(); - - remove(State.SHIELDED); + + processStateRemoval(State.SHIELDED); emitter().start( ElmoParticle.FACTORY, 0.03f, 60 ); if (visible) {