Spoiler
107711 [Thread-2] ERROR com.fs.starfarer.combat.CombatMain - java.lang.NullPointerException: Cannot invoke "com.fs.starfarer.api.combat.CombatEngineAPI.addLayeredRenderingPlugin(com.fs.starfarer.api.combat.CombatLayeredRenderingPlugin)" because the return value of "com.fs.starfarer.api.Global.getCombatEngine()" is null
java.lang.NullPointerException: Cannot invoke "com.fs.starfarer.api.combat.CombatEngineAPI.addLayeredRenderingPlugin(com.fs.starfarer.api.combat.CombatLayeredRenderingPlugin)" because the return value of "com.fs.starfarer.api.Global.getCombatEngine()" is null
at assortment_of_things.abyss.skills.AbyssalRequiem.apply(AbyssalRequiem.kt:56) ~[?:?]
at com.fs.starfarer.campaign.CharacterStats.applyPersonalToStats(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.campaign.CharacterStats.applyPersonalToShip(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.combat.entities.Ship.setCaptain(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.combat.entities.Ship.<init>(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.loading.specs.oooo.super(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.coreui.refit.super.updateFromCurrentVariant(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.coreui.refit.super.setFleetMember(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.coreui.refit.V.setFleetMember(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.coreui.refit.return.dialogDismissed(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.coreui.refit.return.showMember(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.coreui.refit.return.Ó00000(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.coreui.refit.return.setPlugin(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.ui.newui.L$4.actionPerformed(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.ui.o0O0.buttonPressed(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.ui.int.Ò00000(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.ui.int.processInput(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.ui.o0O0.processInputImpl(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.ui.thissuper.processInput(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.ui.o000.dispatchEventsToChildren(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.ui.o000.processInputImpl(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.ui.thissuper.processInput(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.ui.o000.dispatchEventsToChildren(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.ui.o000.processInputImpl(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.ui.O.processInputImpl(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.ui.newui.L.processInputImpl(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.ui.thissuper.processInput(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.ui.o000.dispatchEventsToChildren(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.ui.o000.processInputImpl(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.ui.thissuper.processInput(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.campaign.CampaignState.processInput(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.BaseGameState.traverse(Unknown Source) ~[port_obf.jar:?]
at com.fs.state.AppDriver.begin(Unknown Source) ~[port.common_obf.jar:?]
at com.fs.starfarer.combat.CombatMain.main(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.StarfarerLauncher.super(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source) ~[port_obf.jar:?]
at java.base/java.lang.Thread.run(Thread.java:1575) [?:?]
Getting a crash when opening the refit screen right after loading.
Can happen when a Global.getCombatEngine() call is queued before loading is finished, but sometimes happens after that too. Never mind, seems to be a rare unlucky instance where no combat engine exists upon loading into the game -- it's no longer reproducible after saving over the affected save file.
Should be pretty easy to resolve with a null check or using CombatEngine.getInstance() instead, which creates the combat engine if it doesn't exist.