Is there a way to edit what characters like and hate?
I want everyone to love risky sex, but I haven't found any files that allow me to edit things yet.
you can do this from the console in game. (the console can be accessed by SHIFT-O if you've enabled it... you can enable it using unren, or I believe the mod set from the git repository also enables the console).
When you are talking to the person you want to edit, you can reference them as 'the_person'.
They then have 2 variables in the_person object for what they like 'opinions' and 'sexy_opinions'. These are arrays (or maybe in python they are called dictionaries?) where the trait is the key and each value is another array holding a number representing love through hate (2 for love, 1 for like, -1 for doesn't like and -2 for hate) and a boolean representing on whether it's visible on their profile or not).
For example, if you want to look at their opinions while talking to someone you could type this into the console:
the_person.opinions
you'll get something back that looks like this:
{u'some trait':[2,False],u'some other trait':[-1,True]}
This would mean they love 'some trait' (since it's a 2), but it's a hidden trait on their profile since it's False), and they also dislike 'some other trait' (since it's a -1), but you can see it on their profile because of the True value.
If you want to remove a trait completely, you could just pop it off the array:
the_person.opinions.pop(u'some trait')
if you want to change a trait you could do something like this to make them actually like 'some other trait', but make it a hidden trait in their profile:
the_person.opinions[u'some other trait'] = [1,False]
you can also use the same syntax as above to add a trait they don't already have:
the_person.opinions[u'working'] = [-2,True]
that would make them hate working and that would be visible on their profile.
It works the same way for sexy opinions... you might need to look around a bit to see which traits are sexy and which are just normal... it should be fairly obvious... u'flirting' is probably the only one that could potentially go in both... but it belongs in 'opinions'... if you put a regular opinion into 'sexy_opinions', or vice-versa, it won't throw an error, and it will actually show that on the profile, but a regular opinion doesn't work if it's in the sexy_opinion array, nor do sexy opinions actually work if they are placed on the 'opinions' array.
if you are trying to give all your people to love risking getting pregnant:
the_person.sexy_opinions[u'risking getting pregnant'] = [2,True]