From f6f6ea4cd1c327db5059f201e9489503be369d1e Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Mon, 15 Jan 2024 22:48:22 -0500 Subject: [PATCH] v2.3.0: fixed cases where pushing could fail to apply and freeze --- .../shatteredpixeldungeon/effects/Pushing.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/effects/Pushing.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/effects/Pushing.java index 0be2b29d9..926c16311 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/effects/Pushing.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/effects/Pushing.java @@ -64,17 +64,19 @@ public class Pushing extends Actor { @Override protected boolean act() { - if (sprite != null) { + Actor.remove( Pushing.this ); + + if (sprite != null && sprite.parent != null) { if (Dungeon.level.heroFOV[from] || Dungeon.level.heroFOV[to]){ sprite.visible = true; } if (effect == null) { new Effect(); } + } else { + return true; } - Actor.remove( Pushing.this ); - //so that all pushing effects at the same time go simultaneously for ( Actor actor : Actor.all() ){ if (actor instanceof Pushing && actor.cooldown() == 0)