Hm, tricky. I'm not sure there's necessarily a truly simple solution here that'll cover all cases...
I'd be inclined to have sliding thresholds based on total reputation (a legendary reputation is harder to change than a notable reputation), and how far out of line the existing traits are with the combat rating (something that's somehow gotten a 100% combat rating with all negative traits can get a positive adjustment even while losing rating... or vice versa).
...But on the other hand, that sounds like it'd be difficult to calibrate well, and might also have issues with communicating to the player what those thresholds are or why traits are changing the way they are. I'd probably still try for it, but I also tend to over-complicate things sometimes.
Lots of good points. Sliding threshholds for reputation volatility would be great. But, yeah, I'd prefer to avoid adding any more complexity than absolutely necessary. Starship legends (particularly the rating system) is already far more complex than I'd like it to be. Mods having a lot of opaque complexity is actually a big pet-peeve of mine, so, franky, I'm ashamed. Honestly, if I could restart this mod from scratch I wouldn't consider making traits depend on combat performance in any way. It's a fun mechanic, but it's also been a huge source of confusion, bugs, maintenance, compromise, and general dissatisfaction.
Edit: Also, do ships actually end up with traits that are wildly out of line with their combat rating? I guess that might happen with combat freighters or something?
Not in my experience, but who knows.
That said, the thing that I'd most want to avoid is the situation I've seen a few times of "Battle 1, ship gains trait, Battle 2, rating doesn't change much, ship immediately loses the trait it just gained."
Yeah, for sure. Preventing small rep changes of less than 1% from causing trait changes should help quite a bit with that, but it'll still be possible. I might wait to see how much that change improves the situation before considering further changes.
It might already work this way, but the only but you could scale the chance of positive changes based on performance, but there should be no reason to gain negative traits if the ship performs well.
Agreed. The default config is pretty aggressive about trying to make a ship's ratio of good and bad traits match up with its rating instead of granting traits based on the ship's performance in the most recent battle. It sounds like that might be your preference though. You might want to take a look at the "better immersion" configuration edits in the "recommended option presets" section of the OP.
I might also consider different thresholds for different types of trait changes.
Specifically, I'd prefer it to be harder to lose a trait (whether positive or negative) than it is to re-order traits or gain traits.
Yeah, that would be good. I'll have to consider the best way to actually achieve that.