[1.1] Rainbeau's Rational Romance 2 [Unofficial Fork]

Started by Zombie_Striker, March 13, 2020, 09:46:29 PM

Previous topic - Next topic

Zombie_Striker



The original page can be found here:
https://ludeon.com/forums/index.php?topic=46165.msg440265#msg440265

   
    Since Rainbeau Flambe has stopped developing mods for Rimworld, I have decided to update and maintain this project. Besides updating this mod to 1.1, I have added a few features and performance fixes to the project. This includes a change to how many times a pawn can try to hook up with the same pawn, and how likely people can be romanced to genders they are not attracted to.  I have also added a slider for Misogynists and Misandrists for how likely they are to be attracted to the gender they hate, and changed the likelihood that these bigots will successfully romance the other person. (The end result is less breakups from pawns who naturally hated each-other.)

Github:
    https://github.com/ZombieStriker/RainbeausRationalRomanceFork

-Zombie_Striker



Last update: 12/05/2018

"Rational Romance" overhauls RimWorld's romance system, fixing some problems and adding some new options. Think of it as a "spiritual successor" to SeveralPuffins' popular but sadly abandoned a17 mod, "Romance Diversified."

- Rainbeau Flambe (dburgdorf)


1.1 Steam Workshop Link
1.1 Dropbox Link

What It Does:

(1) Adds Orientations. All pawns will now have a trait indicating their sexual orientation, either asexual, bisexual, gay or straight. (Don't worry; the mod doesn't "waste" a trait slot on this, as orientation traits are assigned only *after* regular trait assignment is complete.)

By default, pawns have a 50% chance to be bisexual, a 20% chance to be gay, a 20% chance to be straight, and a 10% chance to be asexual. I set the percentages this way because biological, sociological and historical evidence strongly suggest that, in the absence of cultural imperatives to the contrary, bisexuality is actually the "default" status for most humans. However, the percentages are all configurable in the mod's "options" menu, so you can set things up however you prefer for your own games. If you're radically heterosexist and don't want any gays in your colony, go right ahead and set the mod to make pawns 100% straight. On the other hand, if you want *all* your colonists to be queer, more power to you! And if you just want to play on a planet full of asexuals, where nobody worries about romantic entanglements at all, well, you can do that, too.

(And yes, I'm aware that I'm using certain terms rather loosely. "Bisexual" isn't the only or even necessarily the best term to describe someone whose romantic interests are not governed by gender or gender presentation, but it's a convenient and widely familiar term that fits the mod's needs. Similarly, while I know that not all asexual individuals are aromantic, the game draws no distinction between romantic and sexual relationships, and so the use of the term "asexual," though not strictly accurate, is convenient. On a related note, sadly, there's really nothing I can do to correct the fact that the game forces pawns to conform to the idea of a gender binary.)


(2) Adds New Traits. The mod adds two new traits, "Faithful" and "Philanderer," which influence how likely a pawn is to cheat.

(3) Adds New Activities. The mod adds long walks as a date option for couples, allowing them to socialize and improve their relationships. It also adds casual hookups as a joy activity for single pawns.

(4) Improves Romantic Behavior in General. Pawns will no longer make romance attempts if they've been recently rebuffed, and won't target pawns for such attempts who are currently in mental break or with whom they already have a romantic relationship. Pawns will neither initiate nor receive romance attempts if they have a high opinion of their current lover. And pawns who are gay or straight will be more likely to rebuff romance attempts by pawns of the "wrong" gender, will be more likely to breakup with partners of the "wrong" gender, and will never accept marriage proposals from pawns of the "wrong" gender. Finally, the impact of the Ugly trait on romantic attraction is lessened for pawns who have that trait themselves.

(5) Makes Culture Matter. There is now a cultural component to pawns' romantic interactions, with female pawns from tribal and imperial backgrounds more forward (more likely to initiate romantic encounters or to propose marriage) than males from those cultures, and male pawns from medieval and urbworld backgrounds more forward than females from those cultures.

(6) Adds Support for Polyamory. Polyamorous pawns prefer relationships involving multiple partners to simple monogamous relationships. You can decide in the mod's "options" menu how likely pawns are to be polyamorous. Like the orientation traits, Polyamorous is an "extra" trait assigned after normal trait assignment is complete, so allowing pawns to be polyamorous won't in any way limit their access to other traits. The default chance for polyamory is 0%, as the system isn't yet fully tested, and even if it all works as intended, it may still complicate colony management in unexpected ways. If you do want to include polyamorous pawns in your games, I strongly encourage you to also use Meltup's "Polyamory Beds" mod, which will allow you to more easily accommodate your pawns' desired sleeping arrangements.

(7) Adjusts Romance-Related Mood Penalties. Penalties and/or stack limits for rebuffs and other romantic failures have been reduced. You should no longer see pawns hitting on someone a few times, getting rejected, and then going on a murder spree as a result.

(8 ) Fixes Some Problems in the Game's Romance-Related Code. Female pawns will now be just as likely as male pawns to initiate romance attempts or to propose marriage. Gay pawns will be no less likely than straight pawns to be parents. And male and female pawns will both now prefer partners near their own age but potentially accept either younger or older partners, unlike in vanilla, where men have a strong preference for younger women and women for older men.

Compatibility:

"Rational Romance" can safely be added to a game in progress. (Pawns without orientation traits will be assigned them as they enter into social interactions for which orientation is relevant.) The mod cannot, however, be removed from a game in progress.

This mod is fully compatible with "EdB Prepare Carefully."

This mod is NOT compatible with "Psychology." You may or may not actually notice any problems if you try to use them together, but the mods both alter some of the same vanilla code, and if they're both installed, neither will be operating entirely as intended. For similar reasons, "Rational Romance" isn't likely to be compatible with any other mods altering RimWorld's romance systems, either.

Credits:

The mod utilizes Pardeike's "Harmony Patch Library." (No additional download is required, as the library is included with the mod.)

Obviously, "Rational Romance" owes a great deal to SeveralPuffins' "Romance Diversified." In particular, the code for the new social activities comes directly from that mod. Other mods from which I borrowed code bits and/or ideas include "Less Stupid Romance Attempt" by Dazz Aephiex (for improvements to romantic behavior), "Grim Reality" by SheiFoxy (for alterations to mood penalties), and "Everyone is Queer" by Suzi (for general problem fixes).

Some of the code related to polyamory is borrowed from Linq/Word-Mule's "Psychology" mod.

pauloandrade2

Looks cool . Downloaded it. Praying for no gamebreaking.... Well game Breaks....

Zombie_Striker

New update:

- 3/16/2020
   - Fixed messages for "WantToSleepWithSpouseOrLover" thoughtdef for polyamorous pawns
   - Made Polyamorous a nullifying trait for the Affair event
   - Stopped giving pawns the "CheatedOnMe" if their partner was polyamorous.

LWM

I'm going to point out that if a polyamorous pawn has two spouses, but sleeps with a 3rd person, that may very well be an affair.

But that may be more nuance than is needed quite yet?

Zombie_Striker

Quote from: LWM on March 17, 2020, 11:32:16 AM
I'm going to point out that if a polyamorous pawn has two spouses, but sleeps with a 3rd person, that may very well be an affair.

But that may be more nuance than is needed quite yet?
True, so lets assume there's good communication in the relationship and that they are forthcoming about any new relationships. Because modeling that would be hell.

Zombie_Striker

New Update:

- 3/17/2020
   - Fixed Polyamory Bed Support
   - Fixed pawns inheriting sexuality traits from parents. Their sexuality will be rerolled by default.
   - Formatted Code

Zombie_Striker

New Update:

- 3/18/2020
   - Second attempt at fixing bed search for "WantToSleepWithSpouseOrLover".
   - Fixed SharedBed Thought for poly pawns
   - Fixed SharedRoom thought for poly pawns

ridjack

They are, uh, "lovin'" WAY WAY WAY too often. I just turned the 'hookup base rate' slider down to 50%, and it's still too frequent; it was actually comical before I did that. Like, I watched one couple go into a room, hookup, and then one propositioned the other again before they could even make it to the door and they went right back to it. My colonists aren't getting anything done.

Might be fine if this were a late-game colony, but this is happening almost as soon as beds are down.

LWM

One thing I noticed in the 1.0 version was that "hookups" lasted all of 1 second.  It may be that there are no other recreation options available, so they are doing a lot of 1-second hookups to try to fill their recreation needs.

Has that behavior been fixed in this version?  Do pawns actually hook up for a while now?

Zombie_Striker

New Update:
- 4/14/2020
   -Fixed Index error for pawns with dull bedrooms.

- 4/13/2020
   - Fixed commonality error
   - Fixed possible error with doing full map search
   - Fixed shared bed with person with multiple partners
   - Removed base-game SharedBed debuff and created new Debuff that supports Polycules!
   - Fixed sharing rooms with poly couples.

Yeah, I know the hookups issue is a bit much, but I'm not entirely sure how to implement a cooldown for that. For now, I'd recommend disabling the hookups or finding a replacement for that feature while I figure out how to fix it.

darklaguna

#10
Thanks for updating this mod!

It has worked great for me, but there's one little issue I hope you can address: It's forcing all of my Android Tier 'droids to be asexual. I understand the reasoning behind this, but upper tier androids are supposed to have human-level emotions and intelligence (or surpass it). And I use the gynoid addon mod to add female 'droids. I know I can disable this mod giving out sexuality traits and use the vanilla system (preferrably with an xml edit to make sexuality traits more common), but it would be nice if I could use the system and sliders in this mod along with a simple toggle for if androids should all be asexual or not.

Is there any chance you could add it? I suppose I could make my own edits to the source and figure out how to compile it, but then I'd have to redo it for every update you did.

My only other suggestion would be some way to edit the lovin' time MTB. The additional lovin' chance factor slider you added addresses this somewhat, but it still feels limiting. As a healthy older individual myself, I find it a bit odd that a 40-something pawn in the game has a hard time managing one lovin' a night when that doesn't reflect reality for a lot of people. It should be 50 or something for the dropoff instead of 25; Tynan just doesn't like old people I guess. =P

How difficult would it be to make a slider for lovin' MTB, or for the dropoff age?

You obviously don't have to add any of my suggestions, but it would be awesome if you could!

In any case, keep up the great work, and thanks again for updating this mod!

EDIT: I found I was able to get MTB around where I wanted by going into the config file for this mod and setting it higher than your slider allows. Maybe a bit broken for younger pawn couples with absurdly low MTB, but most of my colony is 30+ anyway (And some of the alien races are in their hundreds X_x).

As for the Android thing, another reason they're probably coded as Asexual is because they can't actually do lovin'; They can only enter charge pods or sleeping spots, not normal beds, and they'll only use the sleeping spots if they're marked medical  or prisoners, which also disables lovin'. Still, they should be allowed to have a significant other regardless (if for no other reason, the permanent mood buffs). Not a huge deal though, I went into the code and changed it myself, so no rush if you don't have time or don't want to include it in your mod.

WolfgangPolska

Is this mod compatible with Children and Pregnancy?
I have no idea how, but it works!!!