From f31694420aa1f76b46d176ad7e437a07d09b03b8 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Sat, 22 May 2021 21:18:32 -0400 Subject: [PATCH] v0.9.3: fixed various crash bugs --- .../shatteredpixeldungeon/actors/mobs/YogDzewa.java | 7 +++++-- .../shatteredpixeldungeon/levels/CavesBossLevel.java | 2 +- .../shatteredpixeldungeon/sprites/GooSprite.java | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/YogDzewa.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/YogDzewa.java index e6659beb2..c89b437a5 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/YogDzewa.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/YogDzewa.java @@ -544,8 +544,11 @@ public class YogDzewa extends Mob { fistSummons.clear(); Collections.addAll(fistSummons, bundle.getClassArray(FIST_SUMMONS)); - challengeSummons.clear(); - Collections.addAll(challengeSummons, bundle.getClassArray(CHALLENGE_SUMMONS)); + //pre-0.9.3 saves + if (bundle.contains(CHALLENGE_SUMMONS)) { + challengeSummons.clear(); + Collections.addAll(challengeSummons, bundle.getClassArray(CHALLENGE_SUMMONS)); + } regularSummons.clear(); Collections.addAll(regularSummons, bundle.getClassArray(REGULAR_SUMMONS)); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/CavesBossLevel.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/CavesBossLevel.java index e82a752a6..97aa01434 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/CavesBossLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/CavesBossLevel.java @@ -334,7 +334,7 @@ public class CavesBossLevel extends Level { } public void eliminatePylon(){ - customArenaVisuals.updateState(); + if (customArenaVisuals != null) customArenaVisuals.updateState(); int pylonsRemaining = 0; for (Mob m : mobs){ if (m instanceof DM300){ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/GooSprite.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/GooSprite.java index 0f2363d26..cc156d7ca 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/GooSprite.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/GooSprite.java @@ -92,7 +92,7 @@ public class GooSprite extends MobSprite { play(pump); Sample.INSTANCE.play( Assets.Sounds.CHARGEUP, 1f, warnDist == 1 ? 0.8f : 1f ); for (int i = 0; i < Dungeon.level.length(); i++){ - if (ch.fieldOfView[i] + if (ch.fieldOfView != null && ch.fieldOfView[i] && Dungeon.level.distance(i, ch.pos) <= warnDist && new Ballistica( ch.pos, i, Ballistica.STOP_TARGET | Ballistica.STOP_SOLID | Ballistica.IGNORE_SOFT_SOLID).collisionPos == i && new Ballistica( i, ch.pos, Ballistica.STOP_TARGET | Ballistica.STOP_SOLID | Ballistica.IGNORE_SOFT_SOLID).collisionPos == ch.pos){