From 3cc21b55a8505e8396d482aa69576591a630a6b6 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Sun, 25 Aug 2024 22:18:27 -0400 Subject: [PATCH] v2.5.0: fixed crash errors in catalogs --- .../items/weapon/missiles/darts/Dart.java | 5 +++-- .../items/weapon/missiles/darts/TippedDart.java | 2 +- .../shatteredpixeldungeon/sprites/GooSprite.java | 6 ++++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/darts/Dart.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/darts/Dart.java index 5f17a7084..b0b3ded32 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/darts/Dart.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/darts/Dart.java @@ -112,8 +112,9 @@ public class Dart extends MissileWeapon { protected static Crossbow bow; private void updateCrossbow(){ - if (Dungeon.hero == null) return; - if (Dungeon.hero.belongings.weapon() instanceof Crossbow){ + if (Dungeon.hero == null) { + bow = null; + } else if (Dungeon.hero.belongings.weapon() instanceof Crossbow){ bow = (Crossbow) Dungeon.hero.belongings.weapon(); } else if (Dungeon.hero.belongings.secondWep() instanceof Crossbow) { //player can instant swap anyway, so this is just QoL diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/darts/TippedDart.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/darts/TippedDart.java index 1a8816018..46381f051 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/darts/TippedDart.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/darts/TippedDart.java @@ -198,7 +198,7 @@ public abstract class TippedDart extends Dart { float usages = Math.round(MAX_DURABILITY/use); //grants 3+lvl extra uses with charged shot - if (bow != null && Dungeon.hero.buff(Crossbow.ChargedShot.class) != null){ + if (bow != null && Dungeon.hero != null && Dungeon.hero.buff(Crossbow.ChargedShot.class) != null){ usages += 3 + bow.buffedLvl(); } 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 b50663aaa..3bf5dc10f 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/GooSprite.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/GooSprite.java @@ -147,8 +147,10 @@ public class GooSprite extends MobSprite { @Override public void update() { super.update(); - spray.pos(center()); - spray.visible = visible; + if (spray != null) { + spray.pos(center()); + spray.visible = visible; + } } public static class GooParticle extends PixelParticle.Shrinking {