From e378152da803a71c4c4d7e87dfe836b2bef92fac Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Tue, 1 Apr 2025 12:48:06 -0400 Subject: [PATCH] v3.1.0: added a few crash safety checks --- .../com/shatteredpixel/shatteredpixeldungeon/actors/Char.java | 4 +++- .../shatteredpixeldungeon/actors/buffs/EnhancedRings.java | 4 ++-- .../shatteredpixeldungeon/sprites/MobSprite.java | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/Char.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/Char.java index 524e60bd3..b3ea9e804 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/Char.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/Char.java @@ -586,7 +586,9 @@ public abstract class Char extends Actor { } else { - enemy.sprite.showStatus( CharSprite.NEUTRAL, enemy.defenseVerb() ); + if (enemy.sprite != null){ + enemy.sprite.showStatus( CharSprite.NEUTRAL, enemy.defenseVerb() ); + } if (visibleFight) { //TODO enemy.defenseSound? currently miss plays for monks/crab even when they parry Sample.INSTANCE.play(Assets.Sounds.MISS); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/EnhancedRings.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/EnhancedRings.java index 26098084d..dcc22bdee 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/EnhancedRings.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/EnhancedRings.java @@ -37,7 +37,7 @@ public class EnhancedRings extends FlavourBuff { @Override public boolean attachTo(Char target) { if (super.attachTo(target)){ - if (target instanceof Hero) ((Hero) target).updateHT(false); + if (target == Dungeon.hero) ((Hero) target).updateHT(false); return true; } return false; @@ -46,7 +46,7 @@ public class EnhancedRings extends FlavourBuff { @Override public void detach() { super.detach(); - if (target instanceof Hero) ((Hero) target).updateHT(false); + if (target == Dungeon.hero) ((Hero) target).updateHT(false); } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/MobSprite.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/MobSprite.java index 947056d96..2080e9002 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/MobSprite.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/MobSprite.java @@ -67,7 +67,7 @@ public class MobSprite extends CharSprite { health.killAndErase(); } - parent.add( new ScaleTweener( this, new PointF( 0, 0 ), FALL_TIME ) { + if (parent != null) parent.add( new ScaleTweener( this, new PointF( 0, 0 ), FALL_TIME ) { @Override protected void onComplete() { MobSprite.this.killAndErase();