[Starsector Mods][0.95.1a] Realistic Combat 1.22.5

  • Post category:Mods
  • Post comments:0 Comments

(Submited by

Immersively Convert Combat

  • Weapon fire penetrates or stops against armor, which strengthens with angle and never ablates.
  • Target dodging ability affects projectile weapon range, and beam damage diffracts.
  • Ships are faster but clumsier and have hull, flux, and momentum indicators.
  • The map is big and lacks fog-of-war—and more!

Download
Safe to add and remove, works with all mods, all features configurable and toggleable, and no dependencies.
Bugs you post here are fixed quickly.


Spoiler: click to expand
Features
Introduction
coming soon…

for more, read the field manual!

Spoiler: click to expand
Field Manual

Spoiler: click to expand
Reviews
The Good

The Bad

The Ugly

Spoiler: click to expand
Compatibility
Goal: for Realistic Combat to run and work well with all other mods. 

Present
Realistic Combat runs and works with content mods by overriding the Starsector damage code and changing the base stats of both vanilla and modded weapons, projectiles, missiles, beams, and non-station ships once the game loads.  Other mods were not designed for these realism mechanics and drastic balance change: some scripted combat mod features run differently or not at all.  (Please report any incompatibility, which I will document below and quickly work to fix.)

To ensure every user has read this warning to learn why other mods may behave differently, the Realistic Combat mod information file mod_info.json has a user-removable tag “totalConversion”:true that prevents loading Realistic Combat with other mods.

To load with mods,

  • Open the folder of this mod
  • Open mod_info.json
  • Delete the line “totalConversion”:true

Incompatibilities
The following issues have been reported and, by users or me, replicated.

ModDescriptionStatus
Console CommandsGod mode and similar commands do not workAwaiting the return of Console Commands author LazyWizard to the forum.
Fleet Action HistoryFleet action history does not work if Realistic Combat Damage Model is enabledAwaiting Fleet Action History mod author briansd9’s reply to my request to fix the incompatibility together.
VIC, etc.The armor of angled ships naturally protects them much better than that of boxy ships does.Will collaborate with angled ship pack authors to agree on autopatching of ship armor thickness, perhaps in exchange for a buff.
Scy, etc.Realistic Combat applies damage directly, ignoring the vanilla damage modification system, which vanilla and some mods use.Send Realistic Combat damage through the modification system before applying it.
Starship LegendsShips can’t gain XP from doing damage to enemy ships with RC’s alternate damage model enabled.

Support
I collaborate with the authors of the following mods to make Realistic Combat work with them.

ModDescriptionStatus
Quality CaptainsRealistic Combat overrides Quality Captains skillsWorks, but I must still replace a few vanilla skills.
Detailed Combat ResultsRealistic Combat reports damage numbers to Detailed Combat ResultsWorks

Spoiler: click to expand
Configuration
To toggle or configure ship, fighter, or weapon specification changes and the realism mechanics,

  • Open RealisticCombat/data/config, which contains relavantly-named and fully-documented .json settings files
  • To toggle: Click the Toggles.json file and type true or false beside “shouldModifyShips”, “shouldModifyFighters”, or “shouldModifyWeapons”
  • To configure: Click any other .json file and change any number in any field.

Spoiler: click to expand
FAQ

Spoiler: click to expand
Will combat lag?
No, Realistic Combat will run on your potato without slowing your game.

Spoiler: click to expand
What is jinking, and why do my ranges change?
Every weapon anticipates that its target could strafe up or down as well as sideways to move off the path of the projectiles that weapon fires before they reach the target.  The range of every ballistic and energy projectile weapon range therefore automatically adjusts to the distance at which the target of that weapon could not do so in time.

Spoiler: click to expand
Why do flickering lines appear?
Such long, thin lines as laser beams or indicator diamonds may flicker when zoomed out.  Enable anti-aliasing in the Starsector Options menu to prevent this visual artifact if you would like to remove it to improve visual quality, but you can play Realistic Combat just as well without it.

Spoiler: click to expand
Why do ships charge stations?
Ships controlled by the computer will charge into a besieged station, and I know not how to fix this problem yet, so protect your fleet by placing a Defend or Hold order a safe distance from the station.
[/su_spoiler]

Spoiler: click to expand
Roadmap
Features I have not yet added to Realistic Combat but which I might, software permitting, over the long term.

Skills
I’ll have to rework these skills because replacing the damage model has affected one or more of their features.

SkillAffected Features
Point Defense+50% damage to fighters, +50% damage to missiles
Target Analysis+10% damage to destroyers, +15% damage to cruisers, +20% damage to capital ships, +100% damage to weapons and engines
Ballistic Mastery+10% Ballistic Weapon Damage, +10% Ballistic Weapon Range, +33% ballistic projectile speed
Fighter Uplink+20% top speed (maximum: 20%),
+50% target leading accuracy (maximum: 50%),  Maximum at 8 or less fighter bays Effect increased by 1.5x for ships with offcers, including flagship
Gunnery Implants+100% target leading accuracy for autofiring weapons, +15% ballistic and energy weapon range, 25% weapon recoil
Polarized ArmorMaximum damage reduction by armor increased from 85% to 90%, Up to +50% armor for damage reduction calculation only, based on current hard flux level, EMP damage taken reduced by up to 50%, based on current hard flux level

Combat
– Reduce phase cloak flux cost
– Let laser beams keep going but limit the range at which they are fired.

Jink
– Let projectiles meant for bigger, slower targets ‘pass through’ smaller, faster ships that can jink them.

Map
– Adjust retreat area to edges of the expanded map
– Move the flank deployment locations of escape maps toward the vertical axis of them

Vanilla
– Add my hand-tuned weapons and projectiles back into RC

Compatibility
– Create a guide/workflow/autopatcher for balancing other mods with RC
– Create interfaces for other modders to interact with RC

Sub-Modding
– Release Indicator Diamonds, Momentum Indicators, and Projectile Indicators as a separate mod(s)

Configuration
– Enable toggling the loading of replaced hullmods

UI
– Automatically zoom the camera out when the battle starts
– Enable allies to report retreats without spamming

Weapon Modification
– Modify every weapon, the weapon_data.csv row of which contains the SYSTEM tag, wherefore Global.getSettings().getAllWeaponSpecs() excludes it.
– Distinguish between guided missiles and unguided missiles and guided torpedoes and unguided torpedoes and adjust their stats accordingly
– Add weapon name and designation classification logic to override or augment the stat-based logic; e.g., detecting that the name and designation of a kinetic ballistic cannon indicates that it is a railgun and should therefore keep or increase its flux cost to fire while also gaining a much higher muzzle velocity and penetration.

AI
– Change the PD_ALSOAIHints of the WeaponAPIs or WeaponSpecAPIs of ballistic autocannons and missile launchers to PD_ONLY to keep them from wasting their limited ammunition on enemy ships.

Spoiler: click to expand
Changelog
1.22.5 – Two temporary fixes: one to modify system weapons which had previously been neglected (tell Realistic Combat to modify ones from mods by typing their weapon ids into the array in the “systemWeapons” field of data/config/WeaponSpecs.json) and another to prevent crashes when certain modded projectiles ricochet.

1.22.4 – Fixed an Arma Armatura / Gundam UC related CTD caused by an index exception in the status indication of Realistic Combat.

1.22.3 – Fixed Advanced Optics and made Advanced Targeting Core and Targeting Supercomputer at least non-useless.

1.22.2 – Fixed missile flaming out out too early.

1.22.1 – Disabled allies from reporting retreats.

1.22.0 – Configurably soft-capped projectile weapon range based on the maximum of the expected original range of projectile weapons and the maximum modified range to which they should correspond. Reworked low-combat-readiness retreat mechanic to depend on captain personality, show but not spam messages, and allow overriding the automatic low-combat-readiness retreat order:

  • Reckless captains ignore low combat readiness.
  • Aggressive captains retreat below 40% combat readiness and ignore low combat readiness if given another order.
  • Steady captains retreat at 45% and ignore it for two minutes if given another order and then must be given another order again and so on.
  • Cautious captains retreat at 50% and ignore it for one minute if given another order and then must be given another order again and so on.
  • Timid captains will retreat at 60% combat readiness regardless of orders.

1.21.4 – Fixed laser citadel penetrations insta-killing by limiting bonus malfunction damage to projectiles, missiles, and burst lasers.

1.21.3 – Fixed a null-pointer exception.

1.21.2 – Reintroduced skill changes after verifying that they do not affect performance.  Fixed a null pointer exception.

1.21.1 – Rolled back the skill changes because they might have affected performance.

1.21.0 – Added hard flux level indication and skill overrides.  Quality Captains will release a compatibility patch.

1.20.7 – Fixed weapons not firing by limiting non-launcher projectile weapon locking to the selected weapon group, if it is not autofiring and the autopilot is off, of the player ship.

1.20.6 – Fixed not reporting fighter weapon damage to DCR, tweaked projectile indicator sizes, and, by putting in the indicator config lines that should have been in Indicators.json already, fixed a hitherto unreported bug that would, because they weren’t there yet, cause problems if you ever turned off the default indicator settings toggle because the indicator settings loader would hunt for lines that weren’t there.

1.20.5 – Fixed a null-pointer error and, I hope, the problem of weapons not firing.  Changed the tooltip descriptions of damage to ones relevant to Realistic Combat: armor penetration and hull and compartment damage.

1.20.4 – Fixed the burst-fire bug.

1.20.3 – Disabled retreat messages because endlessly-displaying last hotfix has not fixed endless displaying.  Fixed a null-pointer exception in the retreat order method and the gun-locking code making some non-launcher projectile weapons spam and others lock up.  Expanded gun-locking to prevent firing non-launcher projectile weapons until and unless they are in range and on target, that is, pointed at the lead indicator.

1.20.2 – Fixed endlessly-displaying retreat messages.

1.20.1 – Fixed DCR breaking when the Realistic Combat Damage Model is disabled and a null-pointer exception when the player ship explodes.

1.20.0 – Replaced global non-missile projectile weapon range modification via MutableShipStatsAPI with a WeaponBaseRangeModifier listener that modifies weapon ranges individually.  Prevented non-missile projectile weapons from firing unless in range. Replaced all incompatible vanilla hullmods, made Three Dimensional Targeting toggle-able, reduced laser damage and missile and torpedo speed and acceleration, increased missile and torpedo maneuverability otherwise, and fixed problems with Detailed Combat Results.

1.19.0 – Removed all projectile weapon specification sub-categories, reinstated flux costs for all ballistic weapons, and replaced the muzzle velocity bonuses with a configurable muzzle velocity factor, which I have set to 10: all because all ships and weapons are balanced around their original stats, including flux cost, capacity, and dissipation rather than having more and bigger guns be the chief balance lever of ballistic-armed ships, and the only explanation for ballistic weapons costing flux to fire is that they must be coil-or rail-assisted.  Accordingly slightly increased map size, greatly increased full burn speed, and greatly increased the beam intensity factors, divided into a burst and beam intensity factor, and missile and torpedo speed and maneuverability.  Phase now gives a speed boost of 1-2x depending on flux rather than a speed penalty of 0.33-1x depending on flux.

1.18.0 – Changed strafing acceleration factors to their vanilla values: 1/1/0.75/0.5/0.25 for FIGHTER/FRIGATE/DESTROYER/CRUISER/CAPITAL_SHIP.  Projectile indicator colors are damage-type coded rather than team-coded. Version checker support enabled.

1.17.2 – Fixed beam weapon range depending on target.  Ignore chargeup and chargedown delay of three-shot burst projectile weapons when determining their sustained fire rate.  Slightly raised damage threshold for energy cannon.  Every HUD extension feature has a toggle in its own settings file.

1.17.1 – Reduced the kinetic damage factor from 0.67 to 0.5, increased the fragmentation armor thickness factor to 8, and made the lead indicator thin for all ship sizes.

1.17.0 – Fixed the radar, which now zooms in and out as it should, with its settings configurable in Radar.json

1.16.2 – Fixed crashes by adding lines of code to load the settings files whereinto I had moved the settings that had been in the main settings file.

1.16.1 – Put back a couple of factors I had dropped and which were causing NullPointerException.

1.16.0 – Refactored all the settings files by adding documentation to every setting and consolidating the common settings of the HUD extensions.

1.15.0 – Removed the sharp autocannon-cannon distinction by increasing the damage thresholds below which a weapon is considered part of the WeaponCategoryAUTOCANNON_BALLISTIC or AUTOCANNON_ENERGY and introducing two new WeaponCategory‘s for light projectile weapons: MACHINEGUN_BALLISTIC and MACHINEGUN_ENERGY.  Fixed a damage listener typo that has caused crashes.

1.14.1 – Fixed a shield damage function typo that rendered shields all but invincible.

1.14.0 – Shield damage model replaced for all projectiles, missiles, and beams: shields take less damage from weaker hits or ticks and more damage from stronger ones.  Ballistic cannon and energy cannon muzzle velocity bonuses increased by thousands across the board, exceeding those of ballistic autocannons and energy autocannons.  Fighter deceleration, turn acceleration, and max turn rate factors doubled. 

1.13.0 – Beam diffraction indicator added.  Built-in reporting for next version of Detailed Combat Results added.  Beam initial damage doubled.  Missile (but not torpedo) maneuverability greatly increased.

1.12.1 – Hotfix of crash-to-desktop and Realistic Combat – breaking bugs introduced during development.

1.12.0 – Beam stat modification constraints changed to having the initial intensity to diffract to vanilla damage at vanilla range and then stopping at a range that depends on flux efficiency. 

1.11.0 – High damage, fast-firing weapons will now be considered cannons because of an added a damage check to determining whether a weapon is a cannon.  Cannons have increased refire delays.

1.10.2 – Stopped projectiles from spawning projectiles inside ships by prohibiting projectiles with on-hit effects from spawning ricochet projectiles.

1.10.1 – Stopped the code that generates energy projectile triangles from bugging out and raising exceptions.

1.10.0 – Added projectile and missile indicators that appear when the player zooms out.  Added text informing the reader about some relevant in-game information that may relate to the causes crashes to crash reports.

1.9.0 – Upgraded velocity indicators to momentum indicators, the width of which now indicates ship mass.  Added automated retreat orders to ships with low combat readiness.  Modified indicator diamonds to thin and thicken depending on zoom and align perfectly regardless of ship collision radius.  Added stack trace logging to all try-catch blocks.

1.8.0 – Added velocity indicators for all ships.  Added a per-shot damage bonus to cannons.  Prevented 3d targeting from adjusting beam weapon range.  Limited the range of beam weapons by their diffracted damage plus EMP per second flux efficiency.  Added a configuration file for the velocity indicators and indicator diamonds.

1.7.1 – Hotfixed ballistic cannons having flux costs.  Also removed ballistic and energy cannon burst delays and set their burst sizes to their number of barrels.

1.7.0 – Put the modified damage model back–I never meant for it to leave.  Making it apply to each beam tick without turning the humble tactical laser into the death star was harder than I thought it would be and has involved significant spaghetti and arbitrariness.

1.6.1 – Fixed the cause of the over-performance of the Harpoon MRM: the missile specification was modified every time any weapon firing it was modified.  Removed the distinction between guided and unguided missiles and torpedoes from the WeaponCategories.

1.6.0 – Hull and flux diamonds appear around ships with hull and flux bars only when the HUD is off.  Also removed the standoff between the hull and flux diamonds.  I added it by accident.

1.5.0 – Beams are fixed and buffed.  The damage per second of continuous beams is increased by weapon size across the board.  Beam range is up because the range cutoff calculation is fixed.  Damage per second cutoff increased to 10.

1.4.2 – Beam weapon range is now limited to the range at which damage per second drops to 1.  Expanded the field manual, added tips repeating its lessons, and fixed the combat readiness reduction bug.

1.4.1 – Ballistic autocannons reload again.  I had dropped some lines while removing reloads from ballistic cannons.  Reloads for ballistic autocannons are now chunkier with the same average rate.

1.4.0 – Ship, fighter, and weapon modification can each be toggled in RealisticCombatSettings.json.  Targeted enemy ship now has red hull diamond.  Missile maneuverability, except acceleration, enhanced.

1.3.0 – Beams actually fixed now.  Autofire also corrected.  Removed ammo limit and fire rate modifications from projectile weapons, but kept ammo limitations for ballistic autocannons, because they were too hard to balance as-is.  They will return once refined.  Next patch will have toggles for features plus interfaces for your own code.

1.2.1 – Big beam fix: a typo in the beam weapon power calculation had left them underpowered and is now fixed.

1.2.0 – Fighter, ammo, and autofire patch.  Made fighters viable by massively increasing their range, speed, and maneuverability.  Reduced ‘sliding’ by slightly improving maneuverability of Cruisers and Capital Ships.  Reduced missile spam by introducing soft ammo limits for ballistic and missile weapons.  Reduced autofire ammo waste by cutting how far the target can move before the dynamic range algorithm cuts the range off.

1.1.0 – Added the total conversion tag to warn you that Realistic Combat, while stable with all mods, drastically changes ship and weapon balance and may make some modded ship and weapon scripts run differently or not at all. it drastically Reduced missile maneuverability, especially that of high-damage guided missiles, by adding four new kinds of WeaponCategory: UNGUIDED_MISSILE, GUIDED_MISSILE, UNGUIDED_TORPEDO, and TORPEDO.

1.0.4 – Added a failover mode to detect ballistic projectile weapons and energy projectile weapons that lacked the WeaponType.BALLISTIC or WeaponType.ENERGY

1.0.3 – Stations no longer get their maneuverability enormously buffed.  I had not known that getAllShipHullSpecs returns those of the stations, too.

1.0.2 – Built-in weapons now also have stats changed.  The default method to get all weaponSpecs hadn’t returned them, so now they are gotten from their shipHullSpecs.

1.0.1 – Wrapped a try-catch block around the body of each of several public methods because one of them had caused a fatal NullPointerException.

Spoiler: click to expand
Bugs
Please report any bug you see.  I will post bugs with Realistic Combat itself here and compatibility bugs under Compatibility.

  • Ships assigned harass or avoid engage suicidally aggressively by behaving and keeping distance as vanilla.
  • Flak cannons wiggle back and forth instead of shooting at fighters or missiles and rarely hit.
  • Shots sometimes penetrate shields on smaller craft but not on larger ship shields.
[li]System weapons are not modified because the Starsector API does not expose them[/li][/list]

Spoiler: click to expand
License
1. Realistic Combat is free to use, modify, publish, etc., without attribution, permission, etc.

2. With credit and your permission I would gladly incorporate features of mods of Realistic Combat.

3. Beware that your mod might become incompatible with the latest version of Realistic Combat within weeks, days, or even hours because I am still actively developing this mod and frequently release updates that may break your mod of Realistic Combat by changing core features, re-arranging packages and config files, and more without concern for your or any other mods based on this one because I want to make Realistic Combat work and be fun before supporting derivative mods. 

4. Until and unless I so stabilize Realistic Combat that I could implement APIs etc., I intend for Realistic Combat to be a ‘terminal’ mod that uses other mods but is not a stable platform for further development.

Spoiler: click to expand
Credits
  • Saltydupler for changing the tooltip descriptions of damage to ones relevant to Realistic Combat: armor penetration and hull and compartment damage.
  • The Starsector modding community for enabling me to programmatically modify Starsector by patiently and thoroughly teaching me how to install a modern Java IDE, attach a debugger to Starsector, and understand and access the Starsector API.

If the armor, penetration and damage mechanics work as advertised in the spoiler then this is a revolutionary advancement for Starsector.

Just how much work went into this?


If the armor, penetration and damage mechanics work as advertised in the spoiler then this is a revolutionary advancement for Starsector.

Just how much work went into this?

Yes, they work as advertised and do, in fact, override the in-game damage.  Check the config files and source code to see all the neat math for armor angle, ricochets, overmatch, etc.--or just hop in and see what your Starsector would look like in Realistic Combat! And wow, thank you.  Calling this mod a revolutionary advancement is the best compliment I could have hoped for.

Making this mod took a lot of work!  Research, testing, bugfixing, etc. were long and difficult, and each feature tended to necessitate others. I didn't do it alone, either.  There's borrowed dark magic behind some of the stuff here.


although i've no experience in modding whatsoever, I'm guessing this mod involves universally changing all ship-entities' movement/manueverability, which begs the question; is it supposed to turn stations into giant fidget spinners.?

I've also found that most built-in ship weapons have their range based on their descriptions seemingly unaffected by the range-increase provided by your mod, could it be a visual error? or it actually denies said built-in weapons their 2k+ range increase?

I'm also looking to see if someone would take the time to check if it affects the mass of ship-entities and playtest the mod by shooting the Akita Missile from the SEEKER Mod straight into lone hostile stations (and probably check if the station themselves are capable of retreating given enough impact velocity from the Akitas.)

great mod btw, still could use some tweaking, as for balancing, that's up to you and the others to discuss :D

keep up the good work~


so, important question! does this change the core ruleset, maiking it naturaly compadable wiht mods OR would mods have to be added into the new rules???
please and thankyou, this looks amazing

ps. been playing "nebulos" so thins makes me happy


this is definitely gonna be a something

Sir, could you allow me to translate this mod into Chinese and update it to the Chinese Starsector Forum(https://fossic.org)?

Interesting. Does this kinda negate player controlled ships? I feel like hitting targets that far away is going to be interesting. Someone link a video if you happen to try it out and record it!

although i've no experience in modding whatsoever, I'm guessing this mod involves universally changing all ship-entities' movement/manueverability, which begs the question; is it supposed to turn stations into giant fidget spinners.?

You're right, and the mod doesn't affect station maneuverability!

I've also found that most built-in ship weapons have their range based on their descriptions seemingly unaffected by the range-increase provided by your mod, could it be a visual error? or it actually denies said built-in weapons their 2k+ range increase?

Fixed!

I'm also looking to see if someone would take the time to check if it affects the mass of ship-entities and playtest the mod by shooting the Akita Missile from the SEEKER Mod straight into lone hostile stations (and probably check if the station themselves are capable of retreating given enough impact velocity from the Akitas.)

Ship entity mass is unchanged.

great mod btw, still could use some tweaking, as for balancing, that's up to you and the others to discuss :D

keep up the good work~

Awwwww, thank you so much!  I'm grateful for any praise and appreciation this mod receives and hope it is fun and interesting for you.


so, important question! does this change the core ruleset, maiking it naturaly compadable wiht mods OR would mods have to be added into the new rules???
please and thankyou, this looks amazing

ps. been playing "nebulos" so thins makes me happy

It changes the core ruleset, making it naturally compatible with mods!


this is definitely gonna be a something

I hope so!


Sir, could you allow me to translate this mod into Chinese and update it to the Chinese Starsector Forum(https://fossic.org)?

Yes!  Wow, I'm shocked, surprised, and overjoyed that anyone would enjoy it so much that they would want to translate it!  Thank you so much, TheHZDev.  I hope the Chinese enjoy it too. Ni hao, fossic!


Interesting. Does this kinda negate player controlled ships? I feel like hitting targets that far away is going to be interesting. Someone link a video if you happen to try it out and record it!

Not at all!  The built-in target leading indicator does all the work for you: just line up and click. I've even added a longer answer to this question the FAQ section.


Okay so this mod basically turns every station fight into the docking scene from Interstellar

So basically this is the best mod ever created by man


Testing this mod, so far I'm concerned about amount of flickering long range beams

Leave a Reply