1
Mods / Re: [0.97a] Emergent Threats/IX Revival v0.9.5
« on: February 05, 2025, 09:27:44 PM »
I want to say that they can, I know for certain the player can resolve shortages and I believe smuggler NPCs will also do so.
Starsector 0.97a is out! (02/02/24); New blog post: Anubis-class Cruiser (12/20/24)
9288203 [Thread-2] WARN com.fs.starfarer.campaign.rules.oOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO - Problem with command of class com.fs.starfarer.api.impl.campaign.rulecmd.PreCollapseFacLoot: Cannot invoke "com.fs.starfarer.api.campaign.SpecialItemSpecAPI.getId()" because the return value of "data.kaysaar.aotd.vok.campaign.econ.globalproduction.models.GPSpec.getItemSpecA PI()" is null
java.lang.NullPointerException: Cannot invoke "com.fs.starfarer.api.campaign.SpecialItemSpecAPI.getId()" because the return value of "data.kaysaar.aotd.vok.campaign.econ.globalproduction.models.GPSpec.getItemSpecA PI()" is null
at com.fs.starfarer.api.impl.campaign.rulecmd.PreCollapseFacLoot.genLoot(PreCollapseFacLoot.java:110) ~[?:?]
at com.fs.starfarer.api.impl.campaign.rulecmd.PreCollapseFacLoot.execute(PreCollapseFacLoot.java:77) ~[?:?]
at com.fs.starfarer.campaign.rules.oOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.execute(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.campaign.rules.Object.runScript(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.api.impl.campaign.rulecmd.FireBest.applyRule(FireBest.java:106) ~[starfarer.api.jar:?]
at com.fs.starfarer.api.impl.campaign.rulecmd.FireBest.execute(FireBest.java:51) ~[starfarer.api.jar:?]
at com.fs.starfarer.api.impl.campaign.rulecmd.FireBest.fire(FireBest.java:57) ~[starfarer.api.jar:?]
at com.fs.starfarer.api.impl.campaign.RuleBasedInteractionDialogPluginImpl.fireBes t(RuleBasedInteractionDialogPluginImpl.java:177) ~[starfarer.api.jar:?]
at com.fs.starfarer.api.impl.campaign.RuleBasedInteractionDialogPluginImpl.optionS elected(RuleBasedInteractionDialogPluginImpl.java:210) ~[starfarer.api.jar:?]
at com.fs.starfarer.ui.newui.o0Oo$1.super(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.ui.newui.OoOO.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.W.o00000(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) [?:?]
My game is crashing after I resign my commisionI should test this myself, I have noticed a couple bugs with the changes the commission system does.
582107 [Thread-2] ERROR com.fs.starfarer.combat.CombatMain - java.lang.NullPointerException: Cannot invoke "com.fs.starfarer.api.impl.campaign.intel.AoTDCommIntelPlugin.getCurrentRankData()" because the return value of "com.fs.starfarer.api.impl.campaign.intel.AoTDCommIntelPlugin.get()" is null
java.lang.NullPointerException: Cannot invoke "com.fs.starfarer.api.impl.campaign.intel.AoTDCommIntelPlugin.getCurrentRankData()" because the return value of "com.fs.starfarer.api.impl.campaign.intel.AoTDCommIntelPlugin.get()" is null
at com.fs.starfarer.api.impl.campaign.intel.eventfactors.monthly.MonthlyObligation Factor.getProgress(MonthlyObligationFactor.java:36) ~[?:?]
at com.fs.starfarer.api.impl.campaign.intel.events.BaseEventIntel.getMonthlyProgre ss(BaseEventIntel.java:850) ~[starfarer.api.jar:?]
at com.fs.starfarer.api.impl.campaign.intel.events.BaseEventIntel.reportEconomyTic k(BaseEventIntel.java:867) ~[starfarer.api.jar:?]
at com.fs.starfarer.api.impl.campaign.intel.AoTDCommIntelPlugin.reportEconomyTick(AoTDCommIntelPlugin.java:144) ~[?:?]
at com.fs.starfarer.api.campaign.listeners.ListenerUtil.reportEconomyTick(ListenerUtil.java:119) ~[starfarer.api.jar:?]
at com.fs.starfarer.campaign.econ.reach.ReachEconomyStepper.doEndOfStepStuff(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.campaign.econ.reach.ReachEconomyStepper.nextFrame(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.campaign.econ.Economy.advance(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.campaign.CampaignEngine.advance(Unknown Source) ~[port_obf.jar:?]
at com.fs.starfarer.campaign.CampaignState.advance(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:1447) [?:?]
This wasn't with the custom AI hullmod, just vanilla behavior it seems. Larger ships will often try to chase smaller faster ones, often to the opposite side of the map. Happens with player ships and it happens with enemy ships. This also happens in major engagements where if two large ships are fighting and a small ship gets incidental damage enough to start backing off the capital will swap to shooting at it, which is fine up until it starts turning around to chase the ship that's now out of range while the other capital is now getting free access to the backside of the ship.
What you're describing is the expected vanilla behavior, as far as I understand. As Alex mentioned recently in one of his posts, "ignoring even a frigate is often a bad idea". And so the AI is not ignoring even a frigate.
Ships scattering around the map, chasing lone destroyers or frigates, should be mitigated to a certain degree by Fleet Cohesion. Do you have it enabled?
Target selection is at the core of ship AI and I don't plan on interfering with the vanilla algorithm. Instead, I focus on the Custom AI, which shouldn't behave as you describe above.