Slay the Spire

Slay the Spire

Downfall Expansion Mod - 5.3
Uli Minati 30 May, 2021 @ 9:56am
Crash at Hexaghost art unlock
This happened twice. I unlocked higher ascensions, but the game crashes before it can unlock extra art. I've already unlocked art for most other characters, it's just a Hexaghost issue.

1. Play Hexaghost, regular art, Ascension 1 or 2
2. Beat Act 4 Boss
3. Cutscene starts playing
4. Crash to Desktop right before unlock screen

Mods I'm using (no issues on other characters):
StsLib 1.23.0
BaseMod 5.23.3
Minty Spire 2.5.3
Downfall 3.1.3
Quick Restart 2.0.4
Highlight Path 0.0.3

Console Stack Trace:

java.lang.NullPointerException
at basemod.abstracts.CustomUnlock.<init>(CustomUnlock.java:18)
at basemod.abstracts.CustomUnlockBundle.getUnlocks(CustomUnlockBundle.java:45)
at basemod.patches.com.megacrit.cardcrawl.unlock.UnlockTracker.GetUnlockBundleSwitch.Postfix(GetUnlockBundleSwitch.java:25)
at com.megacrit.cardcrawl.unlock.UnlockTracker.getUnlockBundle(UnlockTracker.java:1011)
at basemod.patches.com.megacrit.cardcrawl.screens.NoUnlockBar.unlockLimitCheck(NoUnlockBar.java:31)
at com.megacrit.cardcrawl.screens.GameOverScreen.calculateUnlockProgress(GameOverScreen.java:228)
at com.megacrit.cardcrawl.screens.VictoryScreen.<init>(VictoryScreen.java:169)
at com.megacrit.cardcrawl.cutscenes.Cutscene.openVictoryScreen(Cutscene.java:116)
at com.megacrit.cardcrawl.cutscenes.Cutscene.updateIfDone(Cutscene.java:87)
at com.megacrit.cardcrawl.cutscenes.Cutscene.update(Cutscene.java:71)
at com.megacrit.cardcrawl.rooms.TrueVictoryRoom.update(TrueVictoryRoom.java:29)
at com.megacrit.cardcrawl.dungeons.AbstractDungeon.update(AbstractDungeon.java:2532)
at com.megacrit.cardcrawl.core.CardCrawlGame.update(CardCrawlGame.java:871)
at com.megacrit.cardcrawl.core.CardCrawlGame.render(CardCrawlGame.java:419)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:225)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:126)16:51:02.144 INFO core.CardCrawlGame> Exception occurred in CardCrawlGame render method!
16:51:02.145 ERROR core.CardCrawlGame> Exception caught
java.lang.NullPointerException: null
at basemod.abstracts.CustomUnlock.<init>(CustomUnlock.java:18) ~[BaseMod.jar:?]
at basemod.abstracts.CustomUnlockBundle.getUnlocks(CustomUnlockBundle.java:45) ~[BaseMod.jar:?]
at basemod.patches.com.megacrit.cardcrawl.unlock.UnlockTracker.GetUnlockBundleSwitch.Postfix(GetUnlockBundleSwitch.java:25) ~[BaseMod.jar:?]
at com.megacrit.cardcrawl.unlock.UnlockTracker.getUnlockBundle(UnlockTracker.java:1011) ~[?:?]
at com.megacrit.cardcrawl.screens.GameOverScreen.calculateUnlockProgress(GameOverScreen.java:245) ~[?:?]
at com.megacrit.cardcrawl.screens.VictoryScreen.<init>(VictoryScreen.java:169) ~[?:?]
at com.megacrit.cardcrawl.cutscenes.Cutscene.openVictoryScreen(Cutscene.java:116) ~[?:?]
at com.megacrit.cardcrawl.cutscenes.Cutscene.updateIfDone(Cutscene.java:87) ~[?:?]
at com.megacrit.cardcrawl.cutscenes.Cutscene.update(Cutscene.java:71) ~[?:?]
at com.megacrit.cardcrawl.rooms.TrueVictoryRoom.update(TrueVictoryRoom.java:29) ~[desktop-1.0.jar:?]
at com.megacrit.cardcrawl.dungeons.AbstractDungeon.update(AbstractDungeon.java:2532) ~[?:?]
at com.megacrit.cardcrawl.core.CardCrawlGame.update(CardCrawlGame.java:871) ~[?:?]
at com.megacrit.cardcrawl.core.CardCrawlGame.render(CardCrawlGame.java:419) [?:?]
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:225) [?:?]
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:126) [?:?]
Controllers: removed manager for application, 0 managers active
16:51:02.171 INFO core.CardCrawlGame> PAUSE()
16:51:02.172 INFO core.CardCrawlGame> Game shutting down...
16:51:02.173 INFO core.CardCrawlGame> Flushing saves to disk...
16:51:02.174 INFO helpers.FileSaver> Save thread interrupted!

Exception in thread "FileSaver" java.lang.Error: Interrupted attempt to acquire write lock
at javax.swing.text.AbstractDocument.writeLock(AbstractDocument.java:1349)
at javax.swing.text.AbstractDocument.insertString(AbstractDocument.java:701)16:51:02.175 INFO helpers.FileSaver> Save thread will die now.
16:51:02.175 INFO helpers.FileSaver> Save thread will die now.
16:51:02.175 INFO core.CardCrawlGame> Shutting down publisher integrations...

at javax.swing.text.PlainDocument.insertString(PlainDocument.java:130)
at com.evacipated.cardcrawl.modthespire.ui.MessageConsole$ConsoleOutputStream.clearBuffer(MessageConsole.java:226)
at com.evacipated.cardcrawl.modthespire.ui.MessageConsole$ConsoleOutputStream.handleAppend(MessageConsole.java:183)
at com.evacipated.cardcrawl.modthespire.ui.MessageConsole$ConsoleOutputStream.flush(MessageConsole.java:154)
at java.io.PrintStream.write(PrintStream.java:482)
at org.apache.logging.log4j.core.util.CloseShieldOutputStream.write(CloseShieldOutputStream.java:53)
at org.apache.logging.log4j.core.appender.OutputStreamManager.writeToDestination(OutputStreamManager.java:262)
at org.apache.logging.log4j.core.appender.OutputStreamManager.flushBuffer(OutputStreamManager.java:294)
at org.apache.logging.log4j.core.appender.OutputStreamManager.flush(OutputStreamManager.java:303)16:51:02.184 INFO core.CardCrawlGame> Flushing logs to disk. Clean shutdown successful.

at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.directEncodeEvent(AbstractOutputStreamAppender.java:179)
at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.tryAppend(AbstractOutputStreamAppender.java:170)
at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:161)
at org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:156)
at org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:129)
at org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:120)
at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84)
at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:448)
at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:433)
at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:417)
at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:403)
at org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:63)
at org.apache.logging.log4j.core.Logger.logMessage(Logger.java:146)
at org.apache.logging.log4j.spi.AbstractLogger.tryLogMessage(AbstractLogger.java:2116)
at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2100)
at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:1994)
at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1966)
at org.apache.logging.log4j.spi.AbstractLogger.info(AbstractLogger.java:1303)
at com.megacrit.cardcrawl.helpers.FileSaver.run(FileSaver.java:31)
at java.lang.Thread.run(Thread.java:748)Game crashed.
Cause:
java.lang.NullPointerException
at basemod.abstracts.CustomUnlock.<init>(CustomUnlock.java:18)
at basemod.abstracts.CustomUnlockBundle.getUnlocks(CustomUnlockBundle.java:45)
at basemod.patches.com.megacrit.cardcrawl.unlock.UnlockTracker.GetUnlockBundleSwitch.Postfix(GetUnlockBundleSwitch.java:25)
at com.megacrit.cardcrawl.unlock.UnlockTracker.getUnlockBundle(UnlockTracker.java:1011)
at com.megacrit.cardcrawl.screens.GameOverScreen.calculateUnlockProgress(GameOverScreen.java:245)
at com.megacrit.cardcrawl.screens.VictoryScreen.<init>(VictoryScreen.java:169)
at com.megacrit.cardcrawl.cutscenes.Cutscene.openVictoryScreen(Cutscene.java:116)
at com.megacrit.cardcrawl.cutscenes.Cutscene.updateIfDone(Cutscene.java:87)
at com.megacrit.cardcrawl.cutscenes.Cutscene.update(Cutscene.java:71)
at com.megacrit.cardcrawl.rooms.TrueVictoryRoom.update(TrueVictoryRoom.java:29)
at com.megacrit.cardcrawl.dungeons.AbstractDungeon.update(AbstractDungeon.java:2532)
at com.megacrit.cardcrawl.core.CardCrawlGame.update(CardCrawlGame.java:871)
at com.megacrit.cardcrawl.core.CardCrawlGame.render(CardCrawlGame.java:419)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:225)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:126)