Ok, I know that in general.
Specifically, how do I modify the file for the player's faction (i.e. which portions of the text should I edit) and where can I get flags for factions and set it up?
Also, what are the point allocation mechanic again? The one that allows a player to allocate points into a faction tech so that that supported factions items show up in the player's markets.
If you navigate to Starsector\mods\Nexerelin\data\world\factions, you'll find the player_npc.faction file. By default, this is the 'Followers' faction, but you can edit the fields to customize it to your liking.
You'll see the following fields, and I'll do my best to explain what they do.
id: I wouldn't change this, just because it's probably referenced elsewhere in the mod.
color: the RGBA (Red, Blue, Green, Alpha) values for the faction's color - I don't know what happens if you change the Alpha value.
displayName: how your faction is introduced and described.
logo / crest: the graphics used to identify your faction - you should be able to add your own if you link to it.
shipNamePrefix: The letters that come before the name of a ship belonging to your faction - the default is 'ISS' so this would show up as 'ISS Gorgonson' in the market or battlefield.
shipNameSources: I haven't messed with this, but I'd say it's similar to pilot names where you can define which thematic pool the names are drawn from. I'd suggest checking the other .faction files for reference, then copying the values over if you like them.
description: a brief blurb describing your faction.
names: I also haven't messed with this, but I'm pretty sure it's the pool from which the pilot and NPC names are randomly drawn. Consider it the counterpart to shipNameSources.
illegalCommodities: whether or not your faction won't deal with certain items. I outlawed supplies once, it was terrible.
showInIntelTab: a boolean value (true/false - default 'false) for whether or not your faction will show up in the faction list.
portraits: pretty self-explanatory. You can link to any portraits you would like your faction's NPCs to choose from.
custom, ignoreTradeWithEnemiesForReputation: I can't definitively say what this does, sorry.
custom, allowsTransponderOffTrade: whether or not this faction will turn you away for having your transponder off.
custom, offersCommissions: whether or not you can accept this faction's commission - If you enable this, I would suggest enabling 'showInIntelTab' too.
shipRoles: here is where you define which ships fill which roles in the fleets generated for your faction. I believe the number following the ship's id is the weight attributed to the ship - the relative likelihood it will be chosen, with lower numbers representing a lower chance.
shipRoles, fallback: if, for some reason, one of the above ships can't be chosen, this value asks for another table of ships to refer to.
traits, admiral: i have no idea.
traits, captain: the weight (just like with shipRoles above) for the personality of the randomly generated pilots - i don't know whether this includes mercenary officers or just pilots in fleets.
doctrine: i'm pretty sure this is the preference given to each ship role, it's another weight value just like all the others above.
officers: i think this adjusts the distribution of officers per fleet point for each of your spawned fleets.
---
As for the point-allocation mechanic you mentioned - the closest thing I can find is the nexerelinOptions.json file contained in either Starsector\mods\DynaSector or Starsector\mods\StarsectorPlus, depending on which you use.
Inside this file you should be able to enable or disable technology from a particular faction - I think partial numbers should work, so you could use this to weight certain factions.
I think that about covers it. I do apologise for the mediocre descriptions - I'm not a programmer, I just like tinkering with stuff. Please let me know if anything is blatantly incorrect.
- G