Skip to content

Commit 17f0d8e

Browse files
committed
Avoid NPE in isInCombat checks
1 parent a21f3ec commit 17f0d8e

File tree

4 files changed

+13
-8
lines changed

4 files changed

+13
-8
lines changed

src/main/java/stsjorbsmod/audio/VoiceoverMaster.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import com.megacrit.cardcrawl.rooms.MonsterRoom;
1717
import stsjorbsmod.JorbsMod;
1818
import stsjorbsmod.patches.VoiceoverMasterPatch;
19+
import stsjorbsmod.util.CombatUtils;
1920

2021
import java.util.ArrayList;
2122
import java.util.HashMap;
@@ -128,7 +129,7 @@ private static VoiceoverInfo getSfxByKey(String key) {
128129
}
129130

130131
private static VoiceoverInfo getSfxByCurrentBattle() {
131-
if (AbstractDungeon.getCurrRoom() == null || AbstractDungeon.getCurrRoom().monsters == null) {
132+
if (!CombatUtils.isInCombat() || AbstractDungeon.getCurrRoom().monsters == null) {
132133
return null;
133134
}
134135
String encounterKey = VoiceoverMasterPatch.MonsterGroup_class.encounterKeyField.get(AbstractDungeon.getCurrRoom().monsters);

src/main/java/stsjorbsmod/patches/CardUpgradeGlowCheckPatch.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.megacrit.cardcrawl.cards.AbstractCard;
66
import com.megacrit.cardcrawl.dungeons.AbstractDungeon;
77
import com.megacrit.cardcrawl.rooms.AbstractRoom;
8+
import stsjorbsmod.util.CombatUtils;
89

910
// This is for the benefit of the interaction between Warped Tongs and Mania's glow check
1011
public class CardUpgradeGlowCheckPatch {
@@ -17,10 +18,7 @@ public static class AbstractCard_upgradeName
1718
@SpirePostfixPatch
1819
public static void patch(AbstractCard __this)
1920
{
20-
if (AbstractDungeon.player != null &&
21-
AbstractDungeon.player.hand != null &&
22-
AbstractDungeon.getCurrRoom() != null &&
23-
AbstractDungeon.getCurrRoom().phase == AbstractRoom.RoomPhase.COMBAT)
21+
if (AbstractDungeon.player != null && AbstractDungeon.player.hand != null && CombatUtils.isInCombat())
2422
{
2523
AbstractDungeon.player.hand.glowCheck();
2624
}

src/main/java/stsjorbsmod/patches/OnModifyGoldPatch.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,11 @@
99
import stsjorbsmod.memories.AbstractMemory;
1010
import stsjorbsmod.memories.MemoryManager;
1111
import stsjorbsmod.powers.OnModifyGoldSubscriber;
12+
import stsjorbsmod.util.CombatUtils;
1213

1314
public class OnModifyGoldPatch {
1415
private static void notifyModifyGold(AbstractPlayer player) {
15-
if (AbstractDungeon.currMapNode != null &&
16-
AbstractDungeon.getCurrRoom() != null &&
17-
AbstractDungeon.getCurrRoom().phase == AbstractRoom.RoomPhase.COMBAT)
16+
if (CombatUtils.isInCombat())
1817
{
1918
for (AbstractPower p : player.powers) {
2019
if (p instanceof OnModifyGoldSubscriber) {

src/main/java/stsjorbsmod/util/CombatUtils.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.megacrit.cardcrawl.monsters.MonsterGroup;
66
import com.megacrit.cardcrawl.powers.MinionPower;
77
import com.megacrit.cardcrawl.random.Random;
8+
import com.megacrit.cardcrawl.rooms.AbstractRoom;
89

910
import java.util.ArrayList;
1011
import java.util.List;
@@ -36,4 +37,10 @@ public static AbstractMonster getRandomMonster(MonsterGroup group, Predicate<Abs
3637
}
3738
return candidates.get(rng.random(0, candidates.size() - 1));
3839
}
40+
41+
public static boolean isInCombat() {
42+
return (AbstractDungeon.currMapNode != null &&
43+
AbstractDungeon.getCurrRoom() != null &&
44+
AbstractDungeon.getCurrRoom().phase == AbstractRoom.RoomPhase.COMBAT);
45+
}
3946
}

0 commit comments

Comments
 (0)