From 5e08b09124a34fbdf3fed759b6b11a6af5a1997c Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Tue, 21 Jan 2025 14:07:14 -0500 Subject: [PATCH] v3.0.0: fixed rare crashes caused by glyphLevel during load --- .../com/shatteredpixel/shatteredpixeldungeon/actors/Char.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 50ee4178c..36c831c59 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/Char.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/Char.java @@ -699,7 +699,8 @@ public abstract class Char extends Actor { //Returns the level a glyph is at for a char, or -1 if they are not benefitting from that glyph //This function is needed as (unlike enchantments) many glyphs trigger in a variety of cases public int glyphLevel(Class cls){ - if (Dungeon.hero != null && this != Dungeon.hero && Dungeon.hero.alignment == alignment + if (Dungeon.hero != null && Dungeon.level != null + && this != Dungeon.hero && Dungeon.hero.alignment == alignment && Dungeon.level.distance(pos, Dungeon.hero.pos) <= 2 && Dungeon.hero.buff(AuraOfProtection.AuraBuff.class) != null) { return Dungeon.hero.glyphLevel(cls);