(https://i.imgur.com/id29F0m.gif)
Aptly Simple Hullmods 1.8.5(https://img.shields.io/github/downloads/audaxludos/aptly-simple-hullmods/total?style=for-the-badge&label=Download%20Latest) (https://github.com/AudaxLudos/aptly-simple-hullmods/releases/download/1.8.5/AptlySimpleHullmods-1.8.5.zip) (https://img.shields.io/github/v/release/audaxludos/aptly-simple-hullmods?style=for-the-badge&label=Changelog) (https://raw.githubusercontent.com/AudaxLudos/aptly-simple-hullmods/main/CHANGELOG.txt) (https://img.shields.io/badge/Releases%20-%20GitHub%20-%20light%20green?style=for-the-badge) (https://github.com/AudaxLudos/aptly-simple-hullmods/releases)
Requires:Lazylib (https://fractalsoftworks.com/forum/index.php?topic=5444.0)
Compatibility:Incompatible with saves below 1.7.2
Not safe to remove from an ongoing campaign
Adds a few hullmods to the game, hullmods are obtained through exploration or bought from factions.
The hullmods are balanced based on my experience with vanilla and modded starsector playthroughs.
S-mod effects only give a slight increase in power or defense to keep it balance.
Previews
(https://i.imgur.com/j5XvBgW.gif)(https://i.imgur.com/8RR7NbS.gif)(https://i.imgur.com/QIhKO5B.gif)
Hullmods
Swift Retreat Protocol 3/6/9/15
When fighters are retreating/rearming
Increases the fighter's top speed by 25%
Increases the fighter's maneuverability by 25%
Increases the fighter's engine damage taken by 25%
If fighter has shields turn off shields
Mineral Refinery 3/6/9/15
Every 3 days
Generate 80/160/240/400 Metals / Transplutonics based on hull size
Consume 400/800/1200/2000 Ores / Rare ores based on hull size
Fighter Targeting Uplink 3/6/9/15
If a friendly ship has a targeting unit/core and is within 1000su OR the ship has targeting unit/core
Increases the damage of all fighters by 20%
Automated Racks 5/10/15/25
Increases fire rate of missile weapons by 20%
Decreases the max ammo of missile weapons by 10%
Decreases the turret turn rate of missile weapons by 10%
Convicted Crewmates 5/10/15/25
When killing or contributing to killing an enemy, gain 5/10/15/25 seconds of peak performance time
Frigates gain 2.0 times the peak performance time bonus
Destroyers gain 1.5 times the peak performance time bonus
Targets must die within 30 seconds
Decreases combat readiness by 15%
Missile Bay 3/6/9/15
Increases missile ammo by 25%
Remove 1 built-in fighter bay
Reactor Bay 3/6/9/15
Increases flux dissipation by 10%
Increases flux capacity by 10%
Remove 1 built-in fighter bay
Advance Radar Systems 1/2/3/5
Increases the ship's sight radius by 25%
Beam Combiners 4/8/12/20
Increases the damage of beam weapons by 20%
Increases the flux cost of beam weapons by 20%
Circuit Breakers 2/4/6/10
Reduces the duration of overloads by 33%
External Cargo Holds 2/4/6/10
Increases the cargo capacity by 60/120/180/300 points based on hull size
Reduces the ship's flux dissipation by 10%
Reduces the ship's sensor profile by 10%
Reduces the ship's armor strength by 10%
External Cryo Pods 2/4/6/10
Increases the crew capacity by 60/120/180/300 points based on hull size
Reduces the ship's flux dissipation by 10%
Reduces the ship's sensor profile by 10%
Increases the crew casualties by 10% when hull damage is taken during combat
External Fuel Tanks 2/4/6/10
Increases the fuel capacity by 60/120/180/300 points based on hull size
Reduces the ship's flux dissipation by 10%
Reduces the ship's sensor profile by 10%
Increases the explosive damage taken by 10%
Flux Amplifiers 4/8/12/20
Increases the damage of non-missile weapons by 20%
Increases the flux cost of non-missile weapons by 10%
Decreases the fire rate of non-missile weapons by 10%
Flux Limiters 4/8/12/20
Decreases the flux cost of non-missile weapons by 20%
Decreases the damage of non-missile weapons by 10%
Decreases the fire rate of non-missile weapons by 10%
Front Loaded Armor 3/6/9/15
Doubles the armor values towards the front of the ship
Halves the armor values towards the back of the ship
Fuel Ramscoop 3/6/9/15
Every 3 days, generate 1/2/3/4 fuel based on hull size
Graviton Attunement Drive 6/12/18/30
Increases the fleet's maximum burn by 1/2/3/4 based on hull size
Increases the sensor profile by 300%
Increases supplies used per month by 200%
Industrial Machine Forge 3/6/9/15
Every 3 days
generates 5/15/30/50 heavy machinery based on hull size
consumes 35/105/210/350 metals based on hull size
Makeshift Missile Autoforge 3/6/9/15
When missile weapons run out of ammo
Start Replenishing 10% of ammo for that weapon only
Only replenish ammo every 50 seconds
Marine Training Facility 3/6/9/15
Every week
levels up 2/4/6/10 current marines based on hull size
Converts 10/20/30/50 crew members into marines based on hull size
Can convert a maximum of 50/100/150/250 marines per ship with this hullmod
Reactive Shields 3/6/9/15
As hard flux levels rise
Increases the shield strength by up to 15%
Lowers the shield arc by up to 30 degrees
Reactive Subsystems 4/8/12/20
Increases the ship's max combat readiness by 15%
Increases the ship's deployment points by 1/2/3/5 based on hull size
Subverted Shields 3/6/9/15
Dissipates hard flux while shields are active by 15%
Reduces the shield upkeep by 15%
Reduces the shield strength by 15%
Increases the chance of EMP arcing by 25%
Targeting Transceiver 2/4/6/10
If a friendly ship has a Targeting Core / Unit and is within 1000su
Increases the autoaim accuracy of Capital and Cruise ship's by 40%
Increases the range of non-missile weapons of destroyers and frigates by 10%
Temporal Flux Reactor 5/10/15/25
As soft flux levels rise
Increases the speed of time by up to 33%
Accelerates the peak performance time reduction by up to 2 seconds
Venting Overdrive 5/10/15/25
While venting and hull integrity is above 20%
Increases the rate of venting by 100%
Increases the ship's speed by 100%
Increases the ship's maneuverability by 100%
Damages the ship, the higher the flux the longer you take damage
Volatile Warheads 4/8/12/20
Increases the damage of missiles by 20%
Reduces the max speed of missiles by 10%
Reduces the health of missiles by 10%
If you have suggestions or encountered problems with the mod just post them here.
Credits
Vildrian (https://fractalsoftworks.com/forum/index.php?action=profile;u=20141) - Sprites for some of the hullmods
PureTilt (https://fractalsoftworks.com/forum/index.php?action=profile;u=12418) - for the implementation of s-mod effects
Wispborne (https://fractalsoftworks.com/forum/index.php?action=profile;u=7678) - for the github action script in the starsector intellij template
Starsector Discord (https://discord.com/invite/a8AWVcPCPr) - coding and balancing advice
Alex & Co - The creators of starsector/starfarer (https://fractalsoftworks.com/)
Hello, just wanted to drop by and thank you for the wonderful mod! Just a heads up, the download link is still giving out the 0.4.0 version, though the latest can be obtained by going through the author's main github link (https://github.com/AudaxLudos/aptly-simple-hullmods/releases) and download v0.4.5 there. Hoping this can be fixed. :)
Also, if it's alright to share, I've made some hullmod icons for those that haven't got one yet:
Spoiler
(https://i.imgur.com/MGiltwB.png)
I'll post the link if it's alright, along with the edited .csv to apply the changes. Thanks again for the hullmods! ;D
I'm getting a crash from an NPE when I hover over the modspec for Flux Conduction Armor
Spoiler
2064107 [Thread-3] ERROR com.fs.starfarer.combat.CombatMain - java.lang.NullPointerException
java.lang.NullPointerException
at data.hullmods.ASH_FluxConductionArmor.addPostDescriptionSection(ASH_FluxConductionArmor.java:43)
at com.fs.starfarer.api.campaign.impl.items.ModSpecItemPlugin.createTooltip(ModSpecItemPlugin.java:208)
at com.fs.starfarer.campaign.ui.trade.CargoDataGridView$1.createImpl(Unknown Source)
at com.fs.starfarer.ui.impl.StandardTooltipV2Expandable.create(Unknown Source)
at com.fs.starfarer.ui.impl.StandardTooltipV2Expandable.beforeShown(Unknown Source)
at com.fs.starfarer.ui.Q.showTooltip(Unknown Source)
at com.fs.starfarer.ui.ooOo.super.new(Unknown Source)
at com.fs.starfarer.ui.ooOo.processInput(Unknown Source)
at com.fs.starfarer.ui.Q.processInput(Unknown Source)
at com.fs.starfarer.ui.v.dispatchEventsToChildren(Unknown Source)
at com.fs.starfarer.ui.v.processInputImpl(Unknown Source)
at com.fs.starfarer.campaign.ui.trade.CargoDataGridView.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.Q.processInput(Unknown Source)
at com.fs.starfarer.ui.e$Oo.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.Q.processInput(Unknown Source)
at com.fs.starfarer.ui.v.dispatchEventsToChildren(Unknown Source)
at com.fs.starfarer.ui.v.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.e.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.Q.processInput(Unknown Source)
at com.fs.starfarer.ui.v.dispatchEventsToChildren(Unknown Source)
at com.fs.starfarer.ui.v.processInputImpl(Unknown Source)
at com.fs.starfarer.campaign.ui.oOoO.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.Q.processInput(Unknown Source)
at com.fs.starfarer.ui.v.dispatchEventsToChildren(Unknown Source)
at com.fs.starfarer.ui.v.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.Q.processInput(Unknown Source)
at com.fs.starfarer.ui.v.dispatchEventsToChildren(Unknown Source)
at com.fs.starfarer.ui.v.processInputImpl(Unknown Source)
at com.fs.starfarer.coreui.O0O0.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.Q.processInput(Unknown Source)
at com.fs.starfarer.ui.v.dispatchEventsToChildren(Unknown Source)
at com.fs.starfarer.ui.v.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.newui.o0OO.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.Q.processInput(Unknown Source)
at com.fs.starfarer.ui.v.dispatchEventsToChildren(Unknown Source)
at com.fs.starfarer.ui.v.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.N.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.newui.OO0O.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.Q.processInput(Unknown Source)
at com.fs.starfarer.ui.v.dispatchEventsToChildren(Unknown Source)
at com.fs.starfarer.ui.v.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.N.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.newui.o0Oo.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.Q.processInput(Unknown Source)
at com.fs.starfarer.ui.v.dispatchEventsToChildren(Unknown Source)
at com.fs.starfarer.ui.v.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.Q.processInput(Unknown Source)
at com.fs.starfarer.campaign.CampaignState.processInput(Unknown Source)
at com.fs.starfarer.BaseGameState.traverse(Unknown Source)
at com.fs.state.AppDriver.begin(Unknown Source)
at com.fs.starfarer.combat.CombatMain.main(Unknown Source)
at com.fs.starfarer.StarfarerLauncher.o00000(Unknown Source)
at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source)
at java.lang.Thread.run(Thread.java:748)
Crashing Errors:
6573509 [Thread-3] ERROR com.fs.starfarer.combat.CombatMain - java.lang.IllegalArgumentException: Color parameter outside of expected range: Blue
java.lang.IllegalArgumentException: Color parameter outside of expected range: Blue
at java.awt.Color.testColorValueRange(Color.java:310)
at java.awt.Color.<init>(Color.java:395)
at data.hullmods.ASH_ReactiveShields.advanceInCombat(ASH_ReactiveShields.java:53)
at com.fs.starfarer.combat.entities.Ship.advance(Unknown Source)
based on the log I suspect it's from this mod.
Crashing Errors:
6573509 [Thread-3] ERROR com.fs.starfarer.combat.CombatMain - java.lang.IllegalArgumentException: Color parameter outside of expected range: Blue
java.lang.IllegalArgumentException: Color parameter outside of expected range: Blue
at java.awt.Color.testColorValueRange(Color.java:310)
at java.awt.Color.<init>(Color.java:395)
at data.hullmods.ASH_ReactiveShields.advanceInCombat(ASH_ReactiveShields.java:53)
at com.fs.starfarer.combat.entities.Ship.advance(Unknown Source)
based on the log I suspect it's from this mod.
So, i've been looking into this for a while and found these lines of code:
int red = (int) Math.abs((ship.getFluxLevel() * CUSTOM_SHIELD_COLOR.getRed()) + ((1 - ship.getFluxLevel()) * defaultShieldColor.getRed()));
int green = (int) Math.abs((ship.getFluxLevel() * CUSTOM_SHIELD_COLOR.getGreen()) + ((1 - ship.getFluxLevel()) * defaultShieldColor.getGreen()));
int blue = (int) Math.abs((ship.getFluxLevel() * CUSTOM_SHIELD_COLOR.getBlue()) + ((1 - ship.getFluxLevel()) * defaultShieldColor.getBlue()));
I'm not a Java programmer but based on the exception info, I believe the "blue" parameter going over than 255, where the valid input is 0-255. I see you already safeguard it from negative value by using Math.abs.
so I add another safeguard to not go over 255 as so:
int red = (int) Math.min(Math.abs((ship.getFluxLevel() * CUSTOM_SHIELD_COLOR.getRed()) + ((1 - ship.getFluxLevel()) * defaultShieldColor.getRed())), 255);
int green = (int) Math.min(Math.abs((ship.getFluxLevel() * CUSTOM_SHIELD_COLOR.getGreen()) + ((1 - ship.getFluxLevel()) * defaultShieldColor.getGreen())), 255);
int blue = (int) Math.min(Math.abs((ship.getFluxLevel() * CUSTOM_SHIELD_COLOR.getBlue()) + ((1 - ship.getFluxLevel()) * defaultShieldColor.getBlue())), 255);
perhaps need to utilize some private function. but this works enough for me that would prevent non-reproducible crashing for me. it only happen sometime, and I prefer to use the reactive shield hullmods in combat still.
Hello! Love the mod (especially the marine training facility, it's really handy!)
I updated my game to 0.96a but crash when I tried to run the game with this mod, any clues or idea as to why?
Here is the error when I checked the log;
632690 [Thread-3] ERROR com.fs.starfarer.combat.CombatMain - java.lang.RuntimeException: Problem loading class [data.hullmods.ASH_FuelRamscoop]
java.lang.RuntimeException: Problem loading class [data.hullmods.ASH_FuelRamscoop]
at com.fs.starfarer.loading.scripts.ScriptStore.?00000(Unknown Source)
at com.fs.starfarer.loading.specs.P.getEffect(Unknown Source)
at lyr.lyr_plugin.registerHullMods(lyr_plugin.java:104)
at lyr.lyr_plugin.onApplicationLoad(lyr_plugin.java:79)
at com.fs.starfarer.loading.ResourceLoaderState.init(Unknown Source)
at com.fs.state.AppDriver.begin(Unknown Source)
at com.fs.starfarer.combat.CombatMain.main(Unknown Source)
at com.fs.starfarer.StarfarerLauncher.o00000(Unknown Source)
at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at data.hullmods.ASH_FuelRamscoop.<init>(ASH_FuelRamscoop.java:25)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
... 10 more
Thank you in advance!
MAJOR UPDATE 1.5.5
Should be compatible to old versions of the mod, but not the other way around. Here is the list of major changes:
- Add new hullmod missile bay - remove 1 built-in fighter bay to gain missile ammo
- Add new hullmod reactor bay - remove 1 built-in fighter bay to gain flux cap and dissipation
- Add new hullmod convicted crewmates - gain ppt when killing enemies
- Change all hullmod descriptions to match vanilla style
Here is a more detailed list of changes:
Spoiler
###### 1.5.5
- Update CHANGELOG from md to txt
- Update LICENSE from md to txt
- Remove settings.json
- Update files that has old version numbers
- Fix missile bay and reactor bay description
- Update missile bay missile ammo increase to 25% from 50%
- Update convicted crewmates ppt gain to 5/10/15/25 from 10/20/30/50
###### 1.5.0
- Update circuit breakers now unlocked at the start
- Add hullmod sprites for new hullmods
- Update subverted shields stats reduced shield up keep and shield strength to 15% and reduced shield pierce chance to 25%
- Fix flux conduction armor description
- Remove s-mod effect for temporal flux reactor
- Fix fighter hullmods install requirements
- Update hullmod descriptions to match vanilla starsector
- Change industrial machine forge s-mod effect to decrease heavy machinery survey cost instead of increase heavy machinery production
- Fix missile bay s-mod description
- Add convicted crewmates hullmod
- Add reactor bay and missile bay to vanilla factions
- Fix missile bay and reactor bay to only work for built-in fighter bays
- Add hullmods missile bay & reactor bay
Major update added new hullmods and hidden some hullmods! Here are the most significant changes:
New Hullmods
Swift Retreat Protocol 3/6/9/15
When fighters are retreating/rearming
Increases the fighter's top speed by 25%
Increases the fighter's maneuverability by 25%
Increases the fighter's engine damage taken by 25%
If fighter has shields turn off shields
Mineral Refinery 3/6/9/15
Every 3 days
Generate 80/160/240/400 Metals / Transplutonics based on hull size
Consume 400/800/1200/2000 Ores / Rare ores based on hull size
Fighter Targeting Uplink 3/6/9/15
If a friendly ship has a targeting unit/core and is within 1000su OR the ship has targeting unit/core
Increases the damage of all fighters by 20%
Automated Racks 5/10/15/25
Increases fire rate of missile weapons by 20%
Decreases the max ammo of missile weapons by 10%
Decreases the turret turn rate of missile weapons by 10%
Balance Patch
- Change industrial machine forge smod effect to increase heavy machinery production by 25% from survey cost of 25%
- Remove Convicted Crewmates peak performance time penalty
- Increase Convicted Crewmates ordnance points to 6/12/18/25from 4/8/12/20
- Increase Graviton Attunement Drive ordnance cost to 6/12/18/30 from 5/10/15/25
- Update Graviton Attunement Drive sensor profile scaling to a 3x multiplier from 100/200/300/400 flat modifier
- Decrease Front Loaded Armor ordnance points to 3/6/9/15 from 4/8/12/20
- Decrease Reactive Subsystems ordnance points to 3/6/9/15 from 4/8/12/20
- Update Reactive Subsystems deployment points penalty to 1/2/3/5 from 1/2/3/4
- Remove Reactive Subsystems combat readiness degradation rate penalty
- Remove Reactive Subsystems peak performance s-mod bonus
- Add Reactive Subsystems deployment points penalty of 1/2/3/4
- Update Circuit Breakers overload time to 33% from 25%
- Update Circuit Breakers emp damage taken to 50% from 25%
- Change Advance Radar Systems s-mod effect to weapon range bonus bonus of 5% from autoaim accuracy of 50%
- Hidden hull conversion hullmod
- Hidden conduction armor hullmod
If you wish to un-hide the hidden hullmods just go to data/hullmods/hull_mods.csv then just go to the row of the hidden hullmods and update the hidden and hiddenEverywhere columns to nothing. There also some other new hullmods that I thought I would add and are just currently hidden so you can check those out if you want.
View full change log here:
(https://img.shields.io/github/v/release/audaxludos/aptly-simple-hullmods?style=for-the-badge&label=Changelog) (https://raw.githubusercontent.com/AudaxLudos/aptly-simple-hullmods/main/CHANGELOG.txt)