Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

Starsector 0.97a is out! (02/02/24); New blog post: Planet Search Overhaul (07/13/24)

Pages: [1] 2 3 ... 82

Author Topic: [0.97a] Starship Legends 2.5.2 - Extra flavor for ships, crew, and NPCs  (Read 843893 times)

Sundog

  • Admiral
  • *****
  • Posts: 1751
    • View Profile


true

Starship Legends



Change Log and Old Versions

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.
Highly configurable. See the OPTIONS.ini file in the mod folder or use
LunaLib to edit settings in-game.



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 ships grow, it will earn traits that influence its performance.
These traits are stored in a single dynamic hullmod. Like this:



Major Features:

Reputation Growth
As your ships are used in ways that earn you experience, their reputations grow, earning them traits that affect their performance.

The first few traits are easy to get, but getting a ship to 'Legendary' status may require enough experience to get to the max level.
Fortunately, ships will gain new traits faster the higher your character level is. At max level, they will earn traits ten times as fast.
Dealing a lot of hull damage to enemy ships will also greatly increase the rate at which the reputations of your ships grow.

The traits a ship earns are predetermined, but they aren't set in stone.
Periodically, your officers will propose ideas that can change the traits of their ship.
If their crew is loyal enough, these proposals can sometimes even replace a bad trait with a good one.

The way reputations grow and change is highly configurable.
[close]
Crew Loyalty
The loyalty of crew members to their captains will also grow as you gain experience.

With higher loyalty, ships may remain in combat longer due to the crew's determination, and all of the ships traits will be improved.
When a ship is disabled, however, the crew tends to become upset with whoever the captain was at the time.
Reduced loyalty worsens traits, reduces effective combat time, and can even reduce the ships maximum combat readiness.
[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.



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 shields and flux stats.
  • Domain drone fleets often have traits that improve staying power at the expense of speed and accuracy.
  • Remnant fleets often have traits that make 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.
  • Modded factions often have customized reputations to give their fleets extra flavor.
  • 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]
Other Legends About Starships
As you explore the sector and the reputation of your fleet grows, you will meet people who have heard of you and your ships.
This can lead to some interesting interactions, from enthusiastic spacers who want to enlist as crew, to opportunists who want to buy your most famous ships.
Captains of famous ships may offer to join you, and you may even learn something by listening to a story about one of your own ships.
[close]


Answers for Mod Users

Can I add Starship Legends to an existing game?
Yes, and all features will be present.
[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.
[close]
How long do famous derelicts and famous flagships last?
Derelicts will typically last forever unless an NPC fleet is trying to recover it. If that's the case, the time remaining is noted in the intel screen (typically up to 72 days). Even after the NPC fleet recovers the derelict you can still recover it by fighting them before they return home and despawn. If the NPC fleet is destroyed for any reason prior to recovering the derelict, then the derelict will last forever.

Famous flagships and the fleets they belong to already exist before the bar event occurs. Starships legends does nothing to change the behavior of those fleets, so it doesn't control how long they last, aside from trying to choose fleets that won't be destroyed or despawn too soon.
[close]
What options does this mod provide?
You can use LunaLib or 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 loyalty changes work.
[close]
Is there a way to reset a ship's reputation?
Only with console commands.
[close]
Does Starship Legends conflict with any other mods?
Not that I know of. Please let me know if you suspect any conflicts!
[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]
Can I increase the number of traits that my ships get?
Yes, but it is not recommended. Increasing the maximum number of traits too much can skew trait distribution and even cause ships to "run out" of appropriate traits before reaching max tier. If that's okay with you, you can increase "traitPairsPerTier" in the options file.
[close]
[close]
Answers for Mod Authors
I'm happy to help with integration in any way I can, so feel free to ask for clarification/help/etc.

How do I customize the way 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.
[close]
How can I create new traits?
You can add new types of Starship Legends traits to your mod by creating a traits.csv file at "mods/YOUR_MOD/data/config/starship_legends/". You can use Starship Legends' traits.csv file as an example. It should be mostly self explanatory, but if you have questions please don't hesitate to ask.

In order for the new trait to have any effect you'll need to write a bit of code to define what the effect is. For best results I recommend creating a class specifically for this purpose, like this:
Quote
public class StarshipLegends {
    public static void createTraits() {
        starship_legends.Integration.registerTraitEffect("your_energy_damage_trait_key", new starship_legends.TraitType.Effect() {
            @Override
            public void apply(MutableShipStatsAPI stats, FleetMemberAPI ship, String id, float effectPercent) {
                stats.getEnergyWeaponDamageMult().modifyPercent(id, effectPercent);
            }

            @Override
            public boolean isAppliedToFighters() {
                return false;
            }
        });
       
        starship_legends.Integration.registerTraitEffect("your_special_trait_key", false);
        // The scale of this effect can be accessed by using stats.getDynamic().getValue("your_special_trait_key")
    }
}
And calling the createTraits method like this:
Quote
public class ModPlugin extends BaseModPlugin {
    @Override
    public void onApplicationLoad() {
        if(Global.getSettings().getModManager().isModEnabled("sun_starship_legends")) {
            StarshipLegends.createTraits();
        }
    }
}
This method will allow your mod to work with or without Starship Legends by sidestepping class loader conflicts.
[close]
How do I make Starship Legends use biological-themed trait names and flavor text for my ships?
To make it so traits names are bio-themed when players encounter the NPC fleets of your faction, set "useBiologicalTraitNames" to TRUE in the faction's config file. If there is no way for players to get your bio-ships, then that's all you need to do.

For any bio-ship that players can acquire, you'll want to pass its hull_id to starship_legends.Integration.registerBiologicalShip() in onApplicationLoad(), like this:
Quote
public class ModPlugin extends BaseModPlugin {
    @Override
    public void onApplicationLoad() {
        if(Global.getSettings().getModManager().isModEnabled("sun_starship_legends")) {
            starship_legends.Integration.registerBiologicalShip("myHullID_1");
            starship_legends.Integration.registerBiologicalShip("myHullID_2");
        }
    }
}
You might want to iterate through all hulls and pass in their ID if they meet a certain criteria, such as having a hullmod that only your bio-ships have.
[close]
Is it possible to create new reputation tiers?
Not without editing and recompiling the source code. Feel free to fork the repo!
[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.
Tecrys, for coming up with trait names that are appropriate for biological "spaceships"
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: March 06, 2024, 01:26:31 PM by Sundog »
Logged

Vayra

  • Admiral
  • *****
  • Posts: 627
  • 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

  • Captain
  • ****
  • Posts: 252
  • 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: 353
  • Figuring out how the hell to wear heels (She/it)
    • View Profile
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
It's been a long time, but I still love ya!

- Pfp done by Sleepyfish!

Morbo513

  • Captain
  • ****
  • Posts: 317
    • View Profile
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: 14
    • 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: 1751
    • 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: 1404
    • 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: 4221
    • 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: 719
    • 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

  • Lieutenant
  • **
  • Posts: 88
    • 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: 3818
    • 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

  • Captain
  • ****
  • Posts: 252
  • 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: 1751
    • 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 ... 82