So I was poking around at a bunch of stuff with Development mode on and I noticed the compatibility/attraction values in the social screen. I was able to deduce that the attraction value is what ultimately decides if two pawns are able to be in a relationship due to the fact that my lesbian pawn has zero attraction to all the male pawns. And fair enough, but I was curious as to how mechanically this worked as the trait must multiply the attraction rate to pawns who fulfill (or don't fulfill) certain criteria by zero. I was planning on testing this by creating a "Bi" trait to see if I could overwrite the *0 for being same gendered (or opposite gendered in the case of the gay trait), but I cant find the actual file that controls this behavior. Do I need a code decompiler to look into the game code to find the controller, and if so could someone point me into the rough direction of which file I should be looking into modifying?
It's controlled in the C# code in Pawn_RelationsTracker.
The next release of CCL is detouring AttractionTo and CompatibleWith for more flexibility but it is only looking at the core traits (in this case "Gay").