Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2 3 ... 41

Author Topic: [0.9.1a] Starship Legends 1.4.2 - Extra flavor for ships, crew, and NPCs  (Read 227692 times)

Sundog

  • Admiral
  • *****
  • Posts: 1133
    • View Profile


true

Starship Legends



Change Log

Compatible with all known mods.
Can be added to existing games.
All updates are save-compatible unless stated otherwise.
Integrated with
Version Checker and Console Commands (enter "help starship_legends" for a list of commands).
Can NOT be removed from games in which it was already used, but it can be fully disabled.


Starship Legends adds more personality and variety to ships, their crew, your officers, and NPC fleets using a trait/quirk system.

As the reputation of each of your ship grows, it will earn traits that influence its performance.
These traits are stored in a single, dynamic hullmod. Like this:



Major Features:

Reputation Evolution
The traits a ship earns are randomized in a sensible way that encourages using them effectively.

Combat ships earn traits after battle, based on the amount of experience earned.
The first few traits are easy to get, but getting a ship to 'Legendary' status may require enough experience to level your character to 50.
Fortunately, ships are more likely to gain new traits the higher your character level is. At level 50, trait chance is increased by 250%.

Ships that do well in combat will earn a greater number of good traits, and their crews will be more loyal to their captains.
A ship that is nearly destroyed in every battle without dealing any hull damage will only get bad traits.
A ship that destroys four equally powerful ships without taking any hull damage in each battle will earn nothing but good traits.
Most ships will be somewhere in-between.
Reputations are dynamic. So even if a ship has several bad traits, it is possible to eventually replace all of them with good ones.

Civilian ships earn traits based on any experience you earn outside of battle.

The way reputations grow and change is highly configurable by editing STARSHIP_LEGENDS_OPTIONS.ini in this mod's folder.
[close]
Enemy Fleet Reputations
Yours aren't the only ships with reputations. Each AI fleet commander grants a reputation to their entire fleet, adding potential twists to every engagement. Fleets with high-level commanders have better reputations.

[close]
Faction Reputations
The types of traits a fleet is likely to have is based on its faction

  • Hegemony fleets frequently have traits related to weapons and durability.
  • Tri Tachyon fleets have a high chance to get traits that modify fighters and phase ships.
  • Sindrian Diktat fleets usually have increased range and reduced mobility, with a high chance of weapon related traits.
  • Luddic fleets are almost always poorly maintained and believed to be cursed, but often deal more damage.
  • Persian League fleets are likely to get traits that modify fighters, shields, and flux stats.
  • Domain drone fleets all have the same traits, improving staying power at the expense of speed and accuracy.
  • Remnant fleets all have the same traits, making them even more powerful at the expense of increased overload and vent duration.
  • Independent and pirate fleets have a decent chance to get the blockade runner trait, which is normally unavailable to other factions.
  • Fleets from modded factions that haven't integrated with starship legends get a balanced set of randomized traits.
[close]
Famous NPC Flagships
You will often hear rumors about the flagships of other fleet commanders as well. If you can defeat them and salvage their flagship, perhaps you deserve it more.

[close]
Lost Famous Derelicts
If you're lucky, you might even learn about worthy ships that can be acquired without bloodshed (however likely other complications may be)

[close]


Recommended Option 'Presets'
The options file is very flexible, but it can be a bit complicated and hard to understand.
These edits are meant as a starting point for configuring Starship Legends to fit your preferred playstyle.


Default
The default settings are meant to give ships a fairly even mix of good and bad traits while making it possible (but difficult) for them to eventually earn perfect reputations through exceptional performance in combat.

Ruthless Legends
If you're using Ruthless Sector alongside Starship Legends, then the RUTHLESS_STARSHIP_LEGENDS_OPTIONS.ini settings file is used instead of STARSHIP_LEGENDS_OPTIONS.ini. You can change this options file too, but by default it makes it much more difficult for ships to gain positive traits.

Perfect Balance
For those who want to add flavor to ships without upsetting the balance of the game more than necessary.
With these settings, every other trait will have a negative effect, and no effects will be applied due to loyalty.
Quote
"battleDifficultyMult":0.0,
"damageTakenMult":0.0,
"damageDealtMult":0.0,
"supportMult":0.0,
"enableOfficerLoyaltySystem":false,
"showCombatRatings":false,

Unlimited Power
It's a single player game, so there's no such thing as cheating  ;)
These settings guarantee that traits will always be beneficial and crews will never become less loyal to their captains.
Quote
"ignoreAllMaluses":true,
"useRatingFromLastBattleAsBasisForBonusChance":true,
"worsenLoyaltyChanceMult":0.0,

Completely Random
These settings will leave the number of good and bad traits a ship gets up to chance.
Quote
"bonusChanceRandomness":1000.0,
"traitPositionChangeChanceMult":0.0,

Better Immersion
With these settings, reputation changes will be determined only by the ship's performance in the battle in which the changes were earned.

Quote
"useRatingFromLastBattleAsBasisForBonusChance":true,
"traitPositionChangeChanceMult":1.0,
"showCombatRatings":false,
[close]
Frequent Questions
Can I add Starship Legends to an existing game?
Yes, but it can not be removed afterward.
[close]
Does this mod introduce power creep?
The difficulty of this mod is highly configurable, but with default settings I think it's about the same as vanilla.
Avoiding bad or sub-optimal traits takes both skill and a little luck, and they can't simply be repaired like a D-mod.
Building a good reputation for a ship is an end-game activity that takes time, money, and skill.
[close]
What options does this mod provide?
You can edit STARSHIP_LEGENDS_OPTIONS.ini in the mod folder to change many things, like:
How strong traits are and how hard it is to get them.
How likely it is to get good traits instead of bad ones.
How likely it is for combat ships to get logistic traits and civilian ships to get combat traits.
How rating is calculated.
How loyalty changes work.
[close]
What does combat rating do?
Combat rating determines how many of a ship's traits are good.
Traits will gradually shift to have a percentage of good traits equal to the current rating of the ship.
If a ship has a rating of 70% for a long time, it will eventually end up with about 70% good traits and 30% bad traits.
[close]
How do I increase the combat rating of my ships?
Basically, by making sure they deal as much hull damage as they can while taking as little hull damage as possible.
Each time a ship participates in a battle, it gets a battle rating between 0 (bad) and 1 (good) which adjusts the overall combat rating.

With the default settings, battle rating is equal to 0.5 - damageTaken*0.5 + damageDealt*0.125 + supportDealt*0.125
Where damageTaken is 0 if the ship took no hull damage and 0.9 if it took 90% hull damage,
damageDealt is the deployment-cost worth of hull damage destroyed, divided by the ship's own deployment-cost,
And supportDealt is the deploy-cost worth of hull damage dealt during each engagement by all of your ships that participated in it, divided by the cost to deploy them.

Once the battle rating is calculated, the ship's persistent combat rating is adjusted to be closer to the battle rating using this formula:
newCombatRating = oldCombatRating * 0.9 + battleRating * 0.1
[close]
What is the exact formula for the rating a ship gets during a battle?
br = baseRating + bd*battleDifficultyMult - dt*damageTakenMult + max(0, dd-damageDealtMinThreshold)*damageDealtMult + sd*supportMult
where:
baseRating, battleDifficultyMult, damageTakenMult, damageDealtMult, and damageDealtMinThreshold are values you can change in STARSHIP_LEGENDS_OPTIONS.ini.
br = Battle Rating - an approximation of how well the ship did during that battle.
(0 means 0%, 1 means 100%)
bd = Battle Difficulty - a ratio of total supply deployment cost for both sides (not including ships deployed during pursuit).
(e.g. 1.5 if the enemy spends 12 supplies deploying ships and you spend 8.  12 / 8 = 1.5)
(If
Ruthless Sector is also being used, the Battle Difficulty it calculates will be used instead)

dt = Damage Taken as a fraction of total hull integrity.
(e.g. 0.2 for a ship that starts battle with 70% hull and ends with 50%.  0.7 - 0.5 = 0.2)
dd = Damage Dealt as deployment-cost worth of hull damage destroyed, divided by the ship's own deployment-cost.
(e.g. 1.5 for a ship that costs 4 supplies to deploy dealing 50% damage to a ship that costs 12 supplies to deploy.  12 * 0.5 / 4 = 1.5)
(max(x, y) means that the greater of x and y will be chosen.  max(3, 2) = 3)

sd = Support Damage Dealt as the deploy-cost worth of hull damage dealt during an engagement by all of your ships, divided by the cost to deploy them.
Support damage is calculated individually for each engagement, so a ship that participates in more engagements during a battle will earn more rating for support.
[close]
How do I improve loyalty?
Loyalty is based on the combat rating a ship gets for each battle.
If it is above 0.5, loyalty might increase, otherwise, it might decrease.
The further the bonus chance is from 0.5, the higher the likelihood that it will change.
[close]
Is there a way to reset a ship's reputation?
Yes. Reputations can be completely reset by mothballing a ship for 10 consecutive days per trait (in or out of storage).
This will remove all traits and loyalties from the ship, and will reset its rating.
[close]
Does Starship Legends conflict with any other mods?
Not that I know of. Please let me know if you find out it does!
[close]
How do I customize how Starship Legends interacts with my faction mod?
  • First, download the example config file and place it in "mods/YOUR_MOD/data/config/starship_legends/"
  • Edit the file to your liking. It's full of comments. You probably won't need most of it, so feel free to delete unneeded parts
  • Load a save file with this mod and your faction enabled
  • Check the log for a message like this: INFO  starship_legends.FactionConfig  - Reading config file for faction: your faction name
If you see that line in the log without any errors following it, then everything is probably working fine.

I'm happy to help with integration in any way I can, so feel free to ask for clarification/help/etc.
[close]
Can I remove Starship Legends from my game?
No, but it can be disabled by setting "removeAllDataAndFeatures" to true in the options file (it's at the bottom)
[close]
[close]
About Starship Legends
Source Code

Thanks
Alex and the rest of the Fractal Softworks team, for this excellent game and it's outstanding modding API.
Voiddweller, for letting me steal his idea.
LazyWizard, for making this mod much easier to test using Console Commands.
kazi, for the guide on setting up Intelij IDE

Permissions
All assets from this project may be used without obtaining explicit permission as long as...
No laws are broken and Fractal Softworks' terms of service are not violated
The original authors of any code or assets used are credited
Nothing taken from this mod is used for nefarious purposes
[close]
« Last Edit: August 16, 2020, 08:35:43 AM by Sundog »
Logged

Vayra

  • Admiral
  • *****
  • Posts: 581
  • jangala delenda est
    • View Profile
Re: Starship Legends - Personality for Your Ships and Crew
« Reply #1 on: May 01, 2019, 07:48:51 PM »

oh HELL yes, i was waiting for this one
Logged
Kadur Remnant: http://fractalsoftworks.com/forum/index.php?topic=6649
Vayra's Sector: http://fractalsoftworks.com/forum/index.php?topic=16058
Vayra's Ship Pack: http://fractalsoftworks.com/forum/index.php?topic=16059

im gonna push jangala into the sun i swear to god im gonna do it

Surge

  • Commander
  • ***
  • Posts: 246
  • Go big or go home.
    • View Profile
Re: Starship Legends - Personality for Your Ships and Crew
« Reply #2 on: May 01, 2019, 07:51:51 PM »

THE DAY IS HERE. So excited to play with this.
Logged

TauKinth

  • Ensign
  • *
  • Posts: 12
    • View Profile
Re: Starship Legends - Personality for Your Ships and Crew
« Reply #3 on: May 01, 2019, 07:56:54 PM »

It looks like a good mod to fit the same niche as Extra Systems, I can't wait to break play with it!
Logged

cjuicy

  • Captain
  • ****
  • Posts: 342
  • Missiles and Mecha, my boys. Missiles and Mecha
    • View Profile
    • Email
Re: Starship Legends - Personality for Your Ships and Crew
« Reply #4 on: May 01, 2019, 08:17:28 PM »

Damn it, stop revolutionizing my mod list every time I take a freakin nap!

In all seriousness, I'm wrapping up a current run and will begin toying around with this in short order. Definitely look forward to it.
Logged
"Light the Stars with your Incendiary Rounds!"
"They thought I was insane for thinking I could push Jangala into the sun! Boy, were they wrong."

Morbo513

  • Captain
  • ****
  • Posts: 300
    • View Profile
    • Email
Re: Starship Legends - Personality for Your Ships and Crew
« Reply #5 on: May 01, 2019, 08:24:21 PM »

This sounds really cool. What are the mechanics behind crew loyalty?
Logged

JadedTarget

  • Ensign
  • *
  • Posts: 11
    • View Profile
Re: Starship Legends - Personality for Your Ships and Crew
« Reply #6 on: May 01, 2019, 08:50:55 PM »

This is just plain cool.  Thank you!
Logged

Sundog

  • Admiral
  • *****
  • Posts: 1133
    • View Profile
Re: Starship Legends - Personality for Your Ships and Crew
« Reply #7 on: May 01, 2019, 10:36:28 PM »

Glad you guys like it  :D

I can't wait to break play with it!
Please do! It's much easier to fix bugs when I know about them  :)

This sounds really cool. What are the mechanics behind crew loyalty?
I'll flesh out the FAQs soon with answers to this question and others. For now you might want to take a look at the options file to get an idea of how it works. Basically it's the same as good vs bad traits, with hull damage taken in battle being the primary factor.

Dri

  • Admiral
  • *****
  • Posts: 1209
    • View Profile
Re: Starship Legends - Personality for Your Ships and Crew
« Reply #8 on: May 02, 2019, 12:59:26 AM »

Pretty rad, this is the type of thing I'd hope Alex would seriously look into added to the in some way.

More personality for ships/crew is always welcome.
Logged

SCC

  • Admiral
  • *****
  • Posts: 2014
    • View Profile
Re: Starship Legends - Personality for Your Ships and Crew
« Reply #9 on: May 02, 2019, 01:35:23 AM »

It's not the old crew experience, but I will check it out. Looks promising.

Cyan Leader

  • Admiral
  • *****
  • Posts: 582
    • View Profile
Re: Starship Legends - Personality for Your Ships and Crew
« Reply #10 on: May 02, 2019, 04:58:25 AM »

The modding community never ceases to amaze me. Are these applied to AI fleets in any way though? I could see this working hand in hand with bounties, facing some legendary fleets and such.
Logged

Flunky

  • Ensign
  • *
  • Posts: 48
    • View Profile
Re: Starship Legends - Personality for Your Ships and Crew
« Reply #11 on: May 02, 2019, 07:05:19 AM »

I haven't yet fiddled around with the mod, so take this with a grain of salt, but I think it'd be interesting to have certain good traits associated with getting battle damage (but surviving) and certain bad traits associated with getting through unscathed.

E.g. crew getting complacent after too many easy victories, or crew getting grim/determined after skin-of-the-teeth victories.
Logged

Wyvern

  • Admiral
  • *****
  • Posts: 2536
    • View Profile
Re: Starship Legends - Personality for Your Ships and Crew
« Reply #12 on: May 02, 2019, 12:00:08 PM »

This looks awesome.

However, I'd definitely want to adjust the connection to hull damage; at least in my experience, any ship that relies on armor as its primary defense (i.e. the entire low-tech line-up) will usually take a small-to-moderate amount of hull damage in the course of a normal battle.  And then you get into the industry fleet-of-clunkers playstyle where you expect your ships to get battered in combat...

Personally, I already skew towards preferring high-tech shield-based ships just because I don't like taking crew casualties.  I don't need another thing that encourages that same playstyle.

I'm not entirely sure what to replace it with, though; there does definitely still need to be the possibility of acquiring negative traits so that it's not just pure power creep, and making that completely RNG feels off too...

Additionally, I don't know maybe this is already in (haven't had a chance to play with this yet and won't for a couple days), but I'd suggest that there be a way to wipe the slate clean and start over - maybe treating the reputation mod as a d-mod that'll get removed (and then re-applied clean) after a full shipyard restoration of the hull?
Logged
Wyvern is 100% correct about the math.

Surge

  • Commander
  • ***
  • Posts: 246
  • Go big or go home.
    • View Profile
Re: Starship Legends - Personality for Your Ships and Crew
« Reply #13 on: May 02, 2019, 12:15:40 PM »

Trying to load a save that has this mod and I'm getting this error
Code
299393 [Thread-4] ERROR com.fs.starfarer.combat.CombatMain  - java.lang.NoClassDefFoundError: ruthless_sector/ModPlugin
java.lang.NoClassDefFoundError: ruthless_sector/ModPlugin
at starship_legends.ModPlugin.reportCrash(ModPlugin.java:140)
at starship_legends.hullmods.Reputation.applyEffects(Reputation.java:186)
at starship_legends.hullmods.Reputation.applyEffectsBeforeShipCreation(Reputation.java:229)
at com.fs.starfarer.campaign.fleet.FleetMember.updateStats(Unknown Source)
at com.fs.starfarer.campaign.fleet.FleetData.syncIfNeeded(Unknown Source)
at com.fs.starfarer.campaign.fleet.FleetData.getMembers(Unknown Source)
at com.fs.starfarer.campaign.fleet.FleetData.getMembersListCopy(Unknown Source)
at data.scripts.SWPModPlugin.onGameLoad(SWPModPlugin.java:209)
at com.fs.starfarer.campaign.save.CampaignGameManager.o00000(Unknown Source)
at com.fs.starfarer.title.TitleScreenState.dialogDismissed(Unknown Source)
at com.fs.starfarer.ui.while.dismiss(Unknown Source)
at com.fs.starfarer.ui.impl.float.dismiss(Unknown Source)
at com.fs.starfarer.campaign.save.LoadGameDialog.actionPerformed(Unknown Source)
at com.fs.starfarer.ui.OoO0.buttonPressed(Unknown Source)
at com.fs.starfarer.ui.oooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.Ò00000(Unknown Source)
at com.fs.starfarer.ui.oooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.processInput(Unknown Source)
at com.fs.starfarer.ui.V.super(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$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: ruthless_sector.ModPlugin
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 22 more
Which I'm posting here instead of in the ruthless sector thread because I don't use ruthless sector.
Logged

Sundog

  • Admiral
  • *****
  • Posts: 1133
    • View Profile
Re: Starship Legends - Personality for Your Ships and Crew
« Reply #14 on: May 02, 2019, 01:43:43 PM »

Thanks for the report! I should be able to get a patch out soon.
Pages: [1] 2 3 ... 41