RimWorld

RimWorld

QueerTweaks
29 Comments
Azaf Tazarden 4 Aug, 2022 @ 1:42pm 
Can I do this to specific factions instead of a global distribution?
Kathanon 15 May, 2022 @ 12:28pm 
@ModZero
OK, thanks for telling me. I did not want to start a forked version if you were still maintaining it.
I may do that now though. We'll see. I'll drop a link here if I do.
ModZero  [author] 15 May, 2022 @ 8:35am 
@Kathanon FWIW for now I switched to Individuality (as its compatibility has been quite improved), so if you wish you may make the changes yourself and upload - the code is on GPL3 (actually intended as "or later" but I was too lazy to write that in), so there's nothing stopping you.
Kathanon 1 May, 2022 @ 8:02am 
@ModZero
I like what you are trying to do and how you go about it.

Looking at the code, I think you have a bug when adding the orientation traits - it looks like if the roll gives a gay pawn, and that pawn has/had a relationship with someone of the same gender, you make them bisexual instead. Should that check not be for the opposite gender?

You could also consider changing that part to first figure out what orientations are consistent with the relationships, and then do a weighted randomization among the ones left. Then you still honor the set distribution. That kind of randomization would also make the options more straight-forward, as the values would not need to be percentages, and could therefore be adjusted independently without a need to limit the sum to 100.

If you want, I can write up and send you a pull request for what I mean?
Zan 26 Jan, 2022 @ 5:19pm 
I can see how adding a straight trait that governs the sexuality in the same way as the other traits would be tricky, but i wonder if it would be simple to add a superfluous trait that doesn't actually do anything, that is added whenever one of the other traits isn't chosen by the mod?
ModZero  [author] 15 Feb, 2021 @ 1:56am 
> Any reason it's a scenario tweak and not a general option setting?

More flexibility, mostly. Scenario tweaks are great and more mods should use them, IMO. Though a slight UI overhaul (e.g. for picking starting items) might be in order.

> with Vanilla Social Interactions Expanded coming up, this is all you need, really.

Not exactly, AFAIR from Patreon posts they don't have two quite significant things:

* Polyamory.
* Couples not necessarily sharing beds all the time.

If they make a hookup function that can be reliably reused, and if I have the time and energy I might take a shot at an, uh, intimacy overhaul that would be need-based and build on VE traits and mechanics. But that's a big maybe.
Big Head Zach 14 Feb, 2021 @ 9:01pm 
with Vanilla Social Interactions Expanded coming up, this is all you need, really.

Any reason it's a scenario tweak and not a general option setting?
The Rabid Otter 25 Jan, 2021 @ 9:39am 
tyvm!
ModZero  [author] 25 Jan, 2021 @ 8:45am 
It's a scenario parameter - use the checkbox to enable the editing mode, then use the "orientation distrubution" scenario part.
The Rabid Otter 24 Jan, 2021 @ 9:14pm 
Sorry to be a pest, but do we alter the options for this before we start the scenario? I don't see an options using the standard interface for altering mod settings in-game (i.e., in the right-hand bottom window).
ModZero  [author] 20 Jan, 2021 @ 1:26pm 
> How about an alternative to Forced Trait called Added Trait, will simply add a new trait using the same logic that this mod uses, where it won't overwrite an existing trait and will 'refund' a trait if the pawn already has it.

Sure, that's plausible. I'll look into it.
Tyrant 20 Jan, 2021 @ 2:15am 
I have a suggestion for a new mod. How about an alternative to Forced Trait called Added Trait, will simply add a new trait using the same logic that this mod uses, where it won't overwrite an existing trait and will 'refund' a trait if the pawn already has it.
ModZero  [author] 18 Jan, 2021 @ 2:43am 
By default I don't touch the distribution at all - as far as I know, the default distribution is a bit weird - because as I mentioned below, those are just normal traits, and their likelihood depends on the amount and commonality of other traits in the game. From what I heard, bisexual is significantly less likely for male pawns then, due to, uh, convictions of the game's author.

If you want to change everyone, just add the parameter for everyone to the scenario. Overriding the distributions without a scenario parameter (i.e. for adding to a game in progress) would essentially be a second mod rolled into this one. If you want a different distribution for starter pawns and NPCs just create both "for npcs" and "for starter characters", and make sure it's after any forced traits (forced traits overwrite existing traits - so they will overwrite the orientation trait if given the opportunity).
Marcos 17 Jan, 2021 @ 12:59pm 
Thank you for this mod, I've been looking for a simple solution like this since I first played the game.

I have a question though, do you need to enable the scenario option for it to work at all or is the scenario option only for changing the orientation distribution? If so what is the default distribution without adding the scenario? And does it apply to all of the pawns by default?
The Rabid Otter 16 Jan, 2021 @ 1:58pm 
@ModZero, I had just assumed all traits would be on the same table or list, each with their own probability of occurring, and the probabilities sum to one. But I hadn't anticipated the problem of backstories preventing particular traits, or how this needs to be implemented.

This is a pretty clever solution. But not as clever as your explanation! TYVM.
ModZero  [author] 16 Jan, 2021 @ 8:01am 
No, weights are neither. Imagine picking a random point on a finite line - the commonalities/weights are basically "how much space does the thing take up on the line" - thus bigger weights will happen more often. This is useful if you want to pick a random "thing" while you don't really know how many "things" will be there in total, but you want some things to be picked more often than others. Basically you only specify only the relative probabilities - x is twice as likely as y - instead of absolute ones.

Once you have the list of all the things and their weights, you can get the actual probability of a specific thing - you need to "normalize them" (in math terms this usually means "turn into something that sums to 1") - basically divide the specific weight over the sum of all the weights.
The Rabid Otter 15 Jan, 2021 @ 5:37pm 
@ModZero thanks for the explanation. So are the weights probabilities? Or are the weights more of a cost (or price), and pawns have a ceiling on the sum of the weights, meaning that some combinations will never happen (constrained also by background and passions)? Sorry to pester you about this, but you have piqued my curiosity.
ModZero  [author] 15 Jan, 2021 @ 4:43am 
As far as I can tell (haven't gone through decompiling) commonalities are just weights assigned to various traits when picking them. In the base game there's no difference between the "gay" and the "tough" trait - when the game picks a trait to give, it picks from all the compatible traits for a given pawn (compatible means compatible with their background and passions). So the sum is actually much higher, because it's commonality(asexual) + commonality(bisexual) + commonality(gay) + commonality(tough) + lots of other stuff.

Rational Romance changed the distribution considerably, practically making it the opposite of vanilla by default.
The Rabid Otter 14 Jan, 2021 @ 4:59pm 
@ModZero, it is not my intention to toss gasoline on the fire! With that said, what is the difference between a weight and commonality? And how do either relate to probabilities of a given trait?

Yeah, I thought it would also be kind of counter-productive for Tynan to do so, but I thought it worth asking just because in games before the Royalty update I usually had at least one colonist who wasn't heterosexual. I do think that once upon a time I had Rational Romance installed, so perhaps that is what I am remembering. If that mod was unsupported in the interval between the last time I played before getting the Royalty mod, it would explain how my experience is changed.

So collectively, the commonalities for non-heterosexual pawns sums to less than one (assuming the choices are gay/lesbian, bisexual and asexual, this is 0.3 +0.3 +0.2 = 0.8)?

Anyway, thanks for making this mod. I think installing this will rectify the situation so I have more variations of lurvin'!
ModZero  [author] 11 Jan, 2021 @ 2:54am 
Not that I'd know, and that'd be a really good way to stir the pot, so I'd be quite surprised. In the base game gay has commonality 0.3, same for bisexual, asexual has 0.2 (those are weights, not probabilities, a lot of traits have commonality above 1). That makes them quite rare - e.g. "tough" has commonality 1.1.
The Rabid Otter 10 Jan, 2021 @ 7:56pm 
I don't know if it is hard-coded into the Royalty mod, but I now seem to have many fewer gay, lesbian or bisexual pawns than in the past. Did Tynan tweak with the code for that?
pinbuck 5 Jan, 2021 @ 2:40pm 
reddit mod reddit mod
Tyrant 4 Jan, 2021 @ 3:04pm 
Appreciated
ModZero  [author] 4 Jan, 2021 @ 2:09pm 
Okay, it should (big should, there's some scary stuff in code) work as a scenario option now.
Tyrant 4 Jan, 2021 @ 10:51am 
Thanks.
ModZero  [author] 4 Jan, 2021 @ 10:51am 
That should definitely be possible and is a good idea. I think I could even make it into a scenario parameter, though I'll have to look a bunch of things up first. It'll still have to wait a bit, but I'll definitely try to do it.
Tyrant 4 Jan, 2021 @ 10:47am 
Hmm, what about a way to have it only affect the pawns generated in the pre-game deployment? I'm more interested in having my own colony be gay/bisexual rather than the entire world.
ModZero  [author] 4 Jan, 2021 @ 10:44am 
Possible, yes, pretty sure. But it would require a considerable jump in my familiarity with Rim World's APIs and such, especially as I'm not currently playing with HAR. I'll look into it, though probably by the weekend.

FWIW just like Rational Romance this should skip anything that doesn't have a gender at all.
Tyrant 4 Jan, 2021 @ 10:41am 
Thank you, I've been looking for a mod that does this. I don't think this is going to respect HAR's forbidden traits though (since some are designed to be non-romancable for instance).

Would it be possible to have a HAR version that lets you assign preferences by race? (Perhaps also checking to see if the race has the traits forbidden and then setting the chance to 0% by default.)