(WIP) Gradual Romance

Started by Nationality, November 26, 2019, 06:00:57 PM

Previous topic - Next topic

Kori

That sounds interesting!
Can you put it on the workshop, please?

Nationality

Quote from: Kori on December 07, 2019, 07:06:45 AM
That sounds interesting!
Can you put it on the workshop, please?
Eventually!
I'd like it to reach a stable state before I do that. There is too great a chance for me to break save compatibility with each new update.
As soon as I'm confident that I won't break saves, I'll upload it.

Kori


Nationality

Updated with caveat that I probably broke something - unfortunately a lot of the new features are hard to arrange without a long gameplay session. So a lot of things haven't been tested properly... I'll have to do this over time. Please back up your saves -- and probably back up the mod -- before loading.

CHANGELOG
-- New relationship types: Steady, Suitor, Flame, and Darling.
  -- Steady is the first level of the logical tension type.
  -- Suitor is the second level of the logical tension type.
  -- Flame is like Paramour, except that there's only sexual tension.
  -- Darling is like Paramour, except that there's only romantic tension.
-- Informal relationships can now decay. If two pawns have not flirted in a while, there is a base 25% chance per day that it will decay, eroding into nothing. The decay chance can be defined in the settings.
-- If two pawns are in a formal relationship and haven't flirted in a while, they can start "feeling neglected". Pawns that feel neglected are much more likely to break up with their partners.
-- If a pawn sees their significant other flirting with someone else, they can get jealous. Jealous pawns are much more likely to break up with their partners.
-- There is no longer a 100% chance that pawns will give up their informal relationships after getting a new partner.
-- Revised age attraction calculations. There is no longer an "age difference" factor. Pawns are either too young or too old.
-- Attraction by age curves have been replaced with maturity curves. Pawns have a "maturity rating" between 0 and 3. Pawns prefer partners who are slightly younger or the same maturity as they are, and their tolerance of maturity difference grows with... maturity. This automatically scales with xeno humanoid races.
-- Revised how xenos are auto-patched. This should result in more accurate maturity curves, provided the mod author has defined logical life stages.
-- The kinsey formula can now be set by gender. You can make most men gay and most women straight, if you wanted, or women bisexual and men lean straight, or whatever.
-- Similarly, you can define a kinsey formula for xeno races.
-- You can define how common xeno romance is - making it impossible, restricting it only to xenophiles, restricting it only from xenophobes, or setting it to "Captain Kirk" (which gets rid of attraction penalties due to alien races)
-- Homophobic pawns now hate gay people... and hate themselves too if they are gay.
-- Superficial people hate themselves if they are ugly or disfigured.
-- Blind people are not affected by beauty or scars (which aren't implemented yet anyway). Deaf people don't care about someone's voice or creepy breathing.
-- Melodic voice is a new trait. It is the opposite of Annoying voice.
-- The base disfigured opinion penalty has been dramatically reduced.
-- The facial attractiveness feature has been permanently withdrawn.

NEXT MAJOR UPDATE
-- Seduction, lovin' outside of bed, cheating.
-- Full implementation of Aromantic, Hopeless, Shy, and Seductive traits.

Nationality

New Update. Most of the changes are internal. You probably won't notice much - Attraction values are now precalculated and stored, recalculating after a certain amount of time has passed. This might result in some odd behavior once in a while, but I think the eventual performance boost is worth it. It will definitely come in handy if people start making GR submods with ridiculously complicated attraction factors.
The chances of a memory leak are definitely real, however, so let me know if you experience slowdown after a long gameplay session.

Another thing: I've been thinking about making Birds and Bees a dependency. I think a lot of people who would use this mod would also use Birds and Bees, and there's a lot of interesting things I could do with Birds and Bees. It would certainly save me from writing an overly complicated compatibility patch. What do you guys think?

Hjkma

Since not all people use Birds and Bees mod, does this mean that if it is dependency, then this mod cannot be used? Is it possible to make just an add-on to the mod that uses this dependency, then at least we can play with the main mod without Birds and Bees mod?

Nationality

QuoteSince not all people use Birds and Bees mod, does this mean that if it is dependency, then this mod cannot be used? Is it possible to make just an add-on to the mod that uses this dependency, then at least we can play with the main mod without Birds and Bees mod?

I mean, yes, I would like that, but it would require a pretty complicated patch, and I'm not sure I'm good enough a programmer to do that. It would be much easier just to start off with Birds and Bees, and I already have Psychology as a dependency, so why not?

I will give it the old college try to not require Birds and Bees, but we'll see.

MengDe

I've been using this mod and so far conceptually is *chef kiss*, I'm eagerly waiting for the still-missing features.
Sometimes I see small things like "Sent debug label: blah blah blah"

I've been wondering, is there any specific behaviour you'd like people to report?

Nationality

Quote from: MengDe on January 19, 2020, 06:30:10 PM
I've been using this mod and so far conceptually is *chef kiss*, I'm eagerly waiting for the still-missing features.
Sometimes I see small things like "Sent debug label: blah blah blah"

I've been wondering, is there any specific behaviour you'd like people to report?

Appreciate it. For right now, I just want to make sure things are working okay and nothing absurd happens. I don't really much time right now for long-term testing, and because GR really excels for long playthroughs, I appreciate hearing that it's stable long-term.

The next update is relatively complex, and I had to learn a lot of new programming concepts and internal Rimworld mechanics, which is why things are taking a while. I should be able to release something relatively soon.

MengDe

Well then, yes, I can say so far it seems stable enough. What "isn't working" is stuff you obviously haven't implemented yet, as mentioned in your posts, but this hasn't broken anything in the game as far as I can tell.
Most of the stuff I've spotted have been odd bits of text or "missing label" in-text errors for whatever message the mod is trying to pull from its files, or text that is a bit scrambled, but I suppose from what you say that right now you have more things to worry about that a few sentences that are off or have the pronouns switched around. I'll keep collecting them just in case for later though. Thank you for this mod.

ShadowRun

Just suggestion, how about make certain trait affect cheating chance. For example, kind and loyal trait has 100% chance will not cheating their partner (unrelated to mod: loyal also make the pawn won't leave the colony even under heavy mental break), easy-going trait that make the pawn won't mind their partner cheating but they also like to cheat or switch partner. Sorry for my bad english.

Nationality

Quote from: ShadowRun on January 23, 2020, 02:09:26 AM
Just suggestion, how about make certain trait affect cheating chance. For example, kind and loyal trait has 100% chance will not cheating their partner (unrelated to mod: loyal also make the pawn won't leave the colony even under heavy mental break), easy-going trait that make the pawn won't mind their partner cheating but they also like to cheat or switch partner. Sorry for my bad english.

Yes, I agree. For example, the "Codependent" trait already reduces the chance of cheating to 0, and the new version will have a trait called "Traditional" which does the same thing but slightly differently. There is already a Polygamous trait which makes the pawn tolerate cheating, and "Adventurous", "Lecherous" and "Psychopathic" pawns are more likely to cheat to varying degrees.

Eventually, I'd also like Jealous pawns to react particularly poorly to cheating. They already do to some extent, I believe Polygamous and Jealous pawns still get jealousy thoughts if their lovers flirt with other people, though this has never actually happened in any of my test games so I'm not sure if it actually works.

Forest1395101

Will this mod include polyamory?

Nationality

QuoteWill this mod include polyamory?

Polyamory is already included in Psychology, so yes.

PM_ME_NAKED_SINGULARITIES

Just heads up, the mod seems to be incompatible with android tiers. It throws these kinds of errors every tick: Exception while recalculating Pretty thought state for pawn Sean: System.NullReferenceException: Object reference not set to an instance of an object
at Gradual_Romance.Harmony.GRThoughtWorker_PrettyPatch.GRPrettyPatch (RimWorld.ThoughtState&,Verse.Pawn,Verse.Pawn) <0x000ff>
at (wrapper dynamic-method) RimWorld.ThoughtWorker_Pretty.CurrentSocialStateInternal_Patch2 (object,Verse.Pawn,Verse.Pawn) <0x00263>
at RimWorld.ThoughtWorker.CurrentSocialState (Verse.Pawn,Verse.Pawn) <0x00037>
at RimWorld.SituationalThoughtHandler.TryCreateSocialThought (RimWorld.ThoughtDef,Verse.Pawn) <0x000bd>

I don't know if that would be hard to patch. I hope not, and if there is a quick patch I can make locally any advice would be greatly appreciated! Super excited to see where this mod goes!