I'm currently playing around with some custom ship systems for the mod I'm working on, but I'm having a dilemma about a particular engine-boost system I've got and how the game handles it in terms of function and AI.
For the sake of context, I'll give out the details of this ship system in the same way they are presented in the description in-game:
"Kick-Boost: Activates an auxiliary independent booster that rapidly accelerates the ship up to a high speed for a short time, generating some flux on activation. The booster will also reignite the ship's main engine if it has been flamed out. G-forces encountered during the boost disrupt targetting systems, and weapons are temporarily unable to fire*."
* ... but shields still function.
Those experienced with modding this sort of thing will immediately notice that any ship systems that have an effect on the ship's engines (Burn Drive, Manoeuvring Jets) won't work if the ship is flamed out. Through testing I have discovered this occurs for any ship system that has the type "ENGINE_MOD" in the '.system' file. However, if I change this type to, say "STAT_MOD" it will operate even if the ship is flamed out, thereby achieving the secondary bonus of this Kick-Boost ability: Reigniting a flamed-out engine.
Unfortunately, if I have the type as STAT_MOD but I leave the AI-type as "BURN_DRIVE" (assuming this key means that the AI will attempt to use the system in similar situations to the Burn Drive system), the game crashes the moment I engage autopilot and gives me an error message. Thankfully I can - and for the time being have - changed the AI type to "DAMPER_FIELD", which is the most appropriate of the valid Stat-Mod AI types I can find (some of the others being Ammo Feeder and Temporal Shell). The game has no problem with this.
Now, this setup works alright for now, but it does result in the AI using the ability at some questionable moments. I could change it back to being an ENGINE_MOD type with the BURN_DRIVE AI, but I'd lose the ability to restart the ship's engines if disabled. Anyone have any suggestions for alternative methods or system/AI 'types'? I'm not particularly savvy with code, but I can read and mostly understand the relevant game files.