Looking at the code some bits don't make sense to me. Like, if the action has the tag pervert, then if the recipient has pervert or the recipient response good to the action, then if lust is under 750, you get stress, or if it's over 750 then 80% chance to get stress, 20% chance to get pervert trait. Meanwhile, if they don't have the pervert trait, or don't respond good, then they don't get stress? For all actions if the acceptance is not good or average, then they get stress, but seems weird that for pervert actions, they also get stress if the acceptance was good?
if lust >= 750 && randf() < 0.2:
actionshad.addtraits.append("Pervert")
else:
person.stress += rand_range(2,4)
The else part of that statement in newsexsystem.gd I think should be removed. Give the 20% chance to gain pervert, but stop adding stress if they are already a pervert or accepted the action. Or at least, only give stress if they're not a pervert and make it more logical between average and good acceptance of the action. Seems odd to be penalized if they accept it good instead of average. Poor acceptance adds stress for all actions that don't have pain, I assume pain was excluded with the intention that some other block of code would add stress specifically based on the pain? That part seems to be broken though because pain is never actually fed into anything. for an effect, it calculates pain, typically from lack of lube, but the only part I can find that actually uses that pain, is to skip adding stress for a poor acceptance. So strangely enough... you can cause less stress if you do perverted actions right away before they'll accept it as well?
Also some traits have no effect when you think they would. Like "Enjoys Anal", it makes them more likely to select anal actions if you let them lead, that's it for the sex system. Not used in any other way. Manually doing anal actions with them has zero difference. They're no more accepting of the actions and don't gain any additional list, which I had honestly expected while playing. unless I'm missing something? I guess I was expecting a modifier to all actions where they are the receiver and the target was the ass.