I know this is somewhat OT so forgive me this post:
I got the system ready for the defense platform.
ship_systems.csv
Launch Platform,launchdrive,,,,,,,1,,2,10,1,TRUE,,,,,,,TRUE,TRUE,TRUE,graphics/icons/hullsys/burn_drive.png
shipsystem/scripts/LaunchDriveStats.java
package data.shipsystems.scripts;
import com.fs.starfarer.api.combat.MutableShipStatsAPI;
import com.fs.starfarer.api.plugins.ShipSystemStatsScript;
public class LaunchDriveStats implements ShipSystemStatsScript {
public void apply(MutableShipStatsAPI stats, String id, State state, float effectLevel) {
if (state == ShipSystemStatsScript.State.OUT) {
stats.getMaxSpeed().unmodify(id);
stats.getMaxTurnRate().unmodify(id);
stats.getTurnAcceleration().unmodify(id);
stats.getAcceleration().unmodify(id);
stats.getDeceleration().modifyFlat(id, 10000f);
} else {
stats.getMaxSpeed().modifyFlat(id, 10000f * effectLevel);
stats.getAcceleration().modifyFlat(id, 5000f * effectLevel);
stats.getMaxTurnRate().unmodify(id);
stats.getTurnAcceleration().unmodify(id);
stats.getDeceleration().unmodify(id);
//stats.getAcceleration().modifyPercent(id, 200f * effectLevel);
}
}
public void unapply(MutableShipStatsAPI stats, String id) {
stats.getMaxSpeed().unmodify(id);
stats.getMaxTurnRate().unmodify(id);
stats.getTurnAcceleration().unmodify(id);
stats.getAcceleration().unmodify(id);
stats.getDeceleration().unmodify(id);
}
public StatusData getStatusData(int index, State state, float effectLevel) {
if (index == 0) {
return new StatusData("Launching defense platform... engines at maximum power.", false);
}
return null;
}
}
shipsystems/launchdrive.system
{
"id":"launchdrive",
"type":"ENGINE_MOD",
"aiType":"BURN_DRIVE",
"statsScript":"data.shipsystems.scripts.LaunchDriveStats",
#"engineGlowColor":[255,175,125,255],
#"engineGlowContrailColor":[100,165,255,25],
"engineGlowLengthMult":2f,
"engineGlowWidthMult":3f,
"engineGlowGlowMult":2f,
"flameoutOnImpactChance":0.01,
"clampTurnRateAfter":true,
"clampMaxSpeedAfter":true,
"alwaysAccelerate":true,
"useSound":"system_burn_drive_activate",
"loopSound":"system_burn_drive_loop",
"deactivateSound":"system_burn_drive_deactivate",
"outOfUsesSound":"engine_disabled",
"aiHints":{
"averageSpeedIncrease":10000,
}
}
Note 2 things:
1º The ship needs to have an maxspeed of 5 to reach 500 when the system activates
2º it needs engines effects to be reaaaally low, since once the system activates the effect will increase the engine trails and effects by:
"engineGlowLengthMult": 2 times
"engineGlowWidthMult":3 times
"engineGlowGlowMult":2 times