Hello, just another random forumer here.
So, I thought it was a pity that Citadel is playable in the current version of Starsector (and with all the popular mods) but hasn't been updated in a long while.
Among the ships, only one is currently unusable, and that's the phase cruiser (Adumbral).
Here's a small fix one could apply to make the phase cruiser usable.
The files you are going to mess with are these:
- Fox_Battleship.ship in data/hulls.
- citadelphase.system in data/shipsystems.
- ship_systems (excel files) in data/shipsystems.
- CitadelPhaseStats.java in jars/src/data/shipsystems/scripts.
Some recommendations: To make it easier to modify the files (aside from Excel), Notepad++ is what I used.
Disclaimer: I don't know whether these modifications are relevant or not, but it works for me.
Other stuff/Rambling:
- They are a lot of balance changes probably needed for the mod.
- The ships cost a lot to get and maintain, so you'll have to consider stuff when using them.
- No clash with other mods as far as I can tell because there's no heavy scripting present.
- You might be confused for two Citadel weapons in game as they share the same sprite. These are the Concussion Beam and Siege Beam (it's shown at the front page of the mod by the way).
- Gateway, one of Citadel's planets in its home system lies within its star's corona. So... its finicky in the sense that it'll be easy to attack and conquer, but hard to defend. Sindrians with their Solar Shielding may have the best foot hold if the ever decide to attack.
1. For Fox_Battleship.ship , go to the part that says "builtInMods". Then, add in these two lines to give the ship the proper phase cloak ship hullmods. I'll highlight the lines below.
For a better or proper addition of these lines, open up the Afflictor's hull file in starsector-core/data/hulls ad copy the lines needed.
"builtInMods": [
"fluxoverdrive",
"high_maintenance",
"phasefield", ---> Add this.
"delicate", ---> And also this.
],
2. For citadelphase.system :
Delete this line:
"statsScript":"data.shipsystems.scripts.CitadelPhaseStats",
And in its place, add these lines:
"statsScript":"com.fs.starfarer.api.impl.combat.PhaseCloakStats",
"runScriptWhilePaused":true, # only for the player's ship
"runScriptWhileIdle":true, # this means unapply() never gets called
"blockActionsWhileChargingDown":false,
Then, remove the '#' symbol from these lines:
#"effectColor1":[160,240,220,250],
#"effectColor2":[255,255,255,150],
Next, modify these lines:
#"useSound":"system_phase_cloak_activate",
#"useSound":"system_phase_skimmer",
"useSound":"FoxCitadelPhaseIn",
"deactivateSound":"FoxCitadelPhaseOut",
"outOfUsesSound":"system_phase_cloak_collision",
To be these lines:
"useSound":"FoxCitadelPhaseIn",
#"deactivateSound":"FoxCitadelPhaseOut",
"deactivateSound":"FoxCitadelPhaseOut",
"outOfUsesSound":"system_phase_cloak_collision",
Note - I used the phasecloak.system file in the starsector-core/data/shipsystems as a reference.
3. For the ship_systems (excel file), it is the simplest one to fix.
Open it up and go to column N, line 6 (the cool down) and replace the 0 with a 2.
That way, it'll fulfil the 2 second cool down of phase cloaking.
4. For CitadelPhaseStats.java , all I did was... copy paste.
Open the PhaseCloakStatsOld.java in starsector-core/data/shipsystems/scripts.
Copy the entire file and the paste it into CitadelPhaseStats.java after deleting whatever's there.
Hope this helps.