Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

Starsector 0.9.1a is out! (05/10/19); Blog post: Painting the Stars (02/07/20)

Author Topic: Upcoming Starship Legends Integration Options for Faction Mods  (Read 382 times)

Sundog

  • Global Moderator
  • Admiral
  • *****
  • Posts: 1019
    • View Profile
    • Email
Upcoming Starship Legends Integration Options for Faction Mods
« on: September 13, 2019, 09:50:56 PM »

I've been working on a batch of new features for starship legends, and some of them interact with faction content, so I wanted to give faction mod authors/maintainers the chance to weigh in on how the integration process will work. Little of what I describe in this post is set in stone, so please feel free to let me know if you think any of it needs to be changed. These are the new features:
  • A bar event informing the player of famous or legendary flagships in fleets that already exist in the sector (enabled by default for fleets of factions visible in the intel screen, disabled by default otherwise)
  • A bar event informing the player of famous or legendary derelict ships that have been lost out in the sector's outskirts (inidividual hulls must be whitelisted for this feature, along with probability weights)
  • But most importantly, NPC fleets will have reputations much like the ships in the player's fleet, and each faction can have different probabilities for their fleets to have each trait. It looks like this:


Or, if you're up against drones or anything else that doesn't make sense for the commander to define the fleet's reputation, this:
Spoiler
[close]

As an example of the ways factions can influence the reputations of their fleets, here is a list of short descriptions for the vanilla factions:
Spoiler
  • 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 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 will get a balanced set of randomized traits.
[close]

I'd be happy to configure and add the necessary integration files directly to starship legends, so if you want me to handle it, please provide me with the following information:
Spoiler
  • The faction file name (e.g. "\data\world\factions\hegemony.faction")
  • Whether or not the fleets of your faction should be able to have famous flagships
  • Whether or not your faction's markets should allow the famous derelict bar event
  • Whether or not your faction's markets should allow the famous flagship bar event
  • The hull IDs of any ships that should have a chance to be famous derelicts
  • A description of what types of traits the fleets of your faction should be likely to get
[close]

Here's how integration works:
  • 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.
« Last Edit: October 16, 2019, 12:33:17 PM by Sundog »
Logged

Vayra

  • Admiral
  • *****
  • Posts: 581
  • jangala delenda est
    • View Profile
Re: Upcoming Starship Legends Integration Options for Faction Mods
« Reply #1 on: September 13, 2019, 11:26:50 PM »

Can we manually enable/disable the bar events during play, or will they automatically only happen when the faction is present (at least one non-hidden market) in the sector?

EDIT: Oh, duh, just read the comment on that. Could an option be added to enable them in specific other-faction bars, possibly with settings to make it happen only when the main-faction is present or all the time?
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

Sundog

  • Global Moderator
  • Admiral
  • *****
  • Posts: 1019
    • View Profile
    • Email
Re: Upcoming Starship Legends Integration Options for Faction Mods
« Reply #2 on: September 14, 2019, 08:29:05 AM »

Could an option be added to enable them in specific other-faction bars, possibly with settings to make it happen only when the main-faction is present or all the time?
Hmm... not sure exactly what you mean, but I could add a globally accessible method for manually toggling whether or not bar events are available for specific markets. Something like this:
Code
setAvailabilityOfFamousDerelictEventAtMarket(MarketAPI market, boolean isAvailable);
setAvailabilityOfFamousFlagshipEventAtMarket(MarketAPI market, boolean isAvailable);
« Last Edit: September 14, 2019, 09:15:26 AM by Sundog »
Logged

Sundog

  • Global Moderator
  • Admiral
  • *****
  • Posts: 1019
    • View Profile
    • Email
Re: Upcoming Starship Legends Integration Options for Faction Mods
« Reply #3 on: September 14, 2019, 04:51:42 PM »

Due to popular demand (aka Meso) I'll also make it possible to integrate in a more conventional way; by placing your info in "\data\config\starship_legends\factionConfigurations.json" and creating a JSON object keyed to each faction ID. Like this:

Code
"my_faction_id":{
"allowFamousFlagshipsInFleets":false,
"allowFamousFlagshipBarEvent":false,
"allowFamousDerelictBarEvent":true,

        #along with any other default setting overrides
},
"my_other_faction_id":{
#...
},
« Last Edit: September 14, 2019, 04:54:54 PM by Sundog »
Logged