Fractal Softworks Forum

Starsector => Mods => Modding => Topic started by: Sundog on September 13, 2019, 09:50:56 PM

Title: Upcoming Starship Legends Integration Options for Faction Mods
Post by: Sundog 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:
(https://i.imgur.com/8iGfBqK.jpg)

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
(https://i.imgur.com/mGuFoBV.jpg)
[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:
If you see that line in the log without any errors following it, then everything is probably working fine.
Title: Re: Upcoming Starship Legends Integration Options for Faction Mods
Post by: Vayra 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?
Title: Re: Upcoming Starship Legends Integration Options for Faction Mods
Post by: Sundog 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);
Title: Re: Upcoming Starship Legends Integration Options for Faction Mods
Post by: Sundog 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":{
#...
},