边缘世界 RimWorld

边缘世界 RimWorld

Intimacy - A Lovin' Expansion
 此主题已被置顶,因此可能具有重要性
turkler  [开发者] 7 月 1 日 上午 5:56
Compatibility matters
Mods with built-in compatibility patches
  • Vanilla Social Interactions Expanded
The lovin' system added by this mod will correctly count towards the flirting frenzy aspiration.

  • Vanilla Ideology Expanded - Memes and Structures
The orgy ritual fills the intimacy need of all involved colonists.

  • Way Better Romance
The hookups function of Way Better Romance is disabled in favor of this mod's seduction and lovin' mechanics, as Intimacy's systems are a lot more in-depth and do not require beds. All other interactions work as usual. Integration for Way Better Romance's sexuality traits are included.

  • Vanilla Races Expanded - Android
Androids have a new hardware module that disables the intimacy need. This hardware module, of course, is removed when an android is awoken.

  • Vanilla Races Expanded - Highmate
Pawns with a lovin' need will have their lovin' need filled as usual. The libido genes added by this mod affect the frequency of lovin' as intended. The perfect body gene correctly affects how much a pawn enjoys lovin'.
The manual lovin' ability from this mod is removed in favor of the attempt to seduce ability from this mod.

  • ReSplice: Charmweavers
Lovefeeding correctly triggers after lovin'. The libido genes added by this mod affect the frequency of lovin' as intended.

  • Big and Small - Genes & More
The libido genes added by this mod affect the frequency of lovin' as intended.

  • Allow Consensual Incest
Seduction and lovin' respects the precepts about kinship from this mod.

  • [NL] Facial Animation
Lovin' facial animations will correctly play when two pawns are doing lovin'.

  • Children's Books
  • Positive Connections
Interactions added by these mods will correctly fill the intimacy need.

  • Way Better Romance
  • Hauts' Added Traits
  • The Sims Traits
  • Big and Small - Simply Robots
  • Big and Small - Framework
Various hediffs and traits added by these mods will correctly influence the intimacy need.

Mods with patches made by other developers
You have my biggest gratitude if you choose to patch for Intimacy on your end.

If you've implemented Intimacy compatibility on your end and don't see your mod in this list, please let me know!

Incompatible mods I don't plan to patch myself
  • Hermaphrodite Gene Continued
The developer of this mod has no interest in patching their mod to work with mine and I have no plans of making their mod work with mine.
The mod claims Intimacy breaks pregnancy between same sex couples but this is just false. See the pregnancy problem section below.

The Intimacy mod extension
Many functions in the mod use Intimacy's mod extension. This mod extension can be patched onto interactions, traits, hediffs, etc. with just XML.
The various fields you can add onto this extension are:

  • isIntimateInteraction
True/false bool. Marks an interaction as a positive social interaction that should fill the intimacy needs of people.

  • intimacyGainPerInteraction
Float value, defaults to 0.01 and thus most interactions just need isIntimateInteraction set to true to count as a regular positive social interaction.

  • preventsLovin
True/false bool. Can be applied to both hediffs and traits. Marks the pawns as unable/unwilling to do lovin' on the long term. This also hides things like pregnancy approaches for that pawn.

  • temporarilyPreventsLovin
True/false bool. Unlike preventsLovin, this doesn't mark the person as being unable/unwilling to do lovin' on the long term.
To give you an example of what this is used for, this is set to true on things like hypothermia hediff. A colonist with severe hypothermia should probably not be wasting their time doing lovin' but they are more than capable/willing to lovin'.

  • isRecluse
True/false bool. Only applicable on traits, determines whether the pawn is considered a recluse or not.

  • isNeedy
True/false bool. Can be applied to hediffs, genes and traits. Normally, pawns will only seek to do lovin' if their intimacy need is below 70%. Needy pawns have that threshold increased to 90%.

  • isContraceptive
True/false bool. Only applicable on items, determines whether the item is considered a contraceptive or not.

Patching other mods' functions to work with Intimacy
Intimacy was developed with mod compatibility in mind. Unlike vanilla lovin' code, where most everything happens within the toil itself, Intimacy has a lot of sub-functions that make the code a lot easier to patch.

Patching any individual part of Intimacy - how pregnancies are rolled, how the mod checks for sexual attraction or incest, etc. - is rather easy and I even do this myself with the built-in compatibility patches.
This is also why I expect mods like Romance on the Rim to patch things on their end. My code doesn't repeat itself and uses sub-functions as much as it can, meaning it's trivial for other mods to plug their systems into my mod while a lot of other big mods have no such qualms and will hardcore critical functions into a job toil.

The pregnancy problem
This mod will probably need integration patches for any mods that make big changes to how pregnancies are rolled. Mods that just touch the pregnancy hediff or make other changes to pregnancy should work fine, I'm talking specifically about mods that change how pregnancies are applied like, say, a mod that allows same sex couples to impregnate each other.

The pregnancy code used by Intimacy is in its own function and any other mod can easily patch onto this function to do anything, really. Modders can easily make small tweaks or even completely change how pregnancy works with a simple Harmony patch.
This is a reimplementation of the vanilla pregnancy code because the pregnancy code is buried in one of the toils for the vanilla lovin' job. Working around this limitation would be a nightmare and I'm not even sure if I could pull it off.
And so, I chose to reimplement pregnancy rolls in a function that can easily be patched by other mods that want to make changes to how pregnancies are rolled.
最后由 turkler 编辑于; 12 月 2 日 上午 8:15
< >
正在显示第 1 - 15 条,共 39 条留言
eth0net 7 月 7 日 上午 8:09 
Thanks for the breakdown! Just found this mod after someone reported an issue with my Alternate Fertility mod so I'll be patching in support for this ^^
turkler  [开发者] 7 月 7 日 上午 8:14 
引用自 eth0net
Thanks for the breakdown! Just found this mod after someone reported an issue with my Alternate Fertility mod so I'll be patching in support for this ^^
thank you, let me know if you need something changed to make things easier
最后由 turkler 编辑于; 7 月 8 日 上午 8:46
GrimoireODS 7 月 19 日 上午 4:30 
Does it work with the forbidden mod, and 1-2-3 personalities?
turkler  [开发者] 7 月 19 日 上午 11:25 
引用自 GrimoireODS
Does it work with the forbidden mod, and 1-2-3 personalities?
lol ''does this work with 1-2-3 personalities'' yeah I wonder if the mod that does something works with the mod that does nothing
最后由 turkler 编辑于; 7 月 19 日 上午 11:26
theothersteve7 7 月 21 日 下午 1:56 
The Initiate Lovin ability from VRE Highmate causes breakups when ideology is set to Polycules Only.
turkler  [开发者] 7 月 21 日 下午 2:25 
引用自 theothersteve7
The Initiate Lovin ability from VRE Highmate causes breakups when ideology is set to Polycules Only.
that's apparently intentional
PetLoverSpy 7 月 25 日 上午 3:43 
This seems incompatible with Adoptive Relationships and Platonic Relationships, as it allows seduction between pawns where romance is counted as incestuous. Is it possible to patch this?
Maux 8 月 1 日 上午 1:17 
Could you maybe add "Rimpsyche_Smalltalk" as a member for InteractionWorker_Interacted_Patch.IntimateInteractions, for Compatibility with Rimpsyche?
I've made the compatibility for Rimpsyche_Conversation on my side, as it needs to consider the result of the conversation.
However, Smalltalk is just a chitchat with different logRule, so I thought it would be better to ask compatibility from your side. Of course, If you'd rather not add a modded content to the hashset, I'll find another way.
turkler  [开发者] 8 月 1 日 上午 2:27 
引用自 Maux
Could you maybe add "Rimpsyche_Smalltalk" as a member for InteractionWorker_Interacted_Patch.IntimateInteractions, for Compatibility with Rimpsyche?
I've made the compatibility for Rimpsyche_Conversation on my side, as it needs to consider the result of the conversation.
However, Smalltalk is just a chitchat with different logRule, so I thought it would be better to ask compatibility from your side. Of course, If you'd rather not add a modded content to the hashset, I'll find another way.
oh no, I wouldn't take on the responsibility of maintaining such a patch. you patching your own mod was the intended way of things and I appreciate you doing so
Maux 8 月 1 日 上午 5:30 
引用自 turkler
oh no, I wouldn't take on the responsibility of maintaining such a patch. you patching your own mod was the intended way of things and I appreciate you doing so
Yes, that's what I thought too. I agree that once you start introducing other modded content into your hard coded field, it can start getting messy real quick. I still had to ask though, since adding the string to the hashset seemed like the easiest way to implement compatibility.

I'll use other method to patch it. Thanks for checking in!
turkler  [开发者] 8 月 1 日 上午 5:40 
引用自 Maux
引用自 turkler
oh no, I wouldn't take on the responsibility of maintaining such a patch. you patching your own mod was the intended way of things and I appreciate you doing so
Yes, that's what I thought too. I agree that once you start introducing other modded content into your hard coded field, it can start getting messy real quick. I still had to ask though, since adding the string to the hashset seemed like the easiest way to implement compatibility.

I'll use other method to patch it. Thanks for checking in!
if it helps, I'll add a helper function to add interactions to the hashset next update. I do already have helper functions to add things to the various gene and trait lists, adding one for interactions must have escaped my mind
最后由 turkler 编辑于; 8 月 1 日 上午 5:53
What exacly is incompatible with Intimancy and romance on the rim? I am running both perfectly together no issues.
Nevermind I missread. I don't have romance on the rim, I have "Way better romance" sorry.
Maux 8 月 1 日 上午 8:05 
引用自 turkler
引用自 Maux
Yes, that's what I thought too. I agree that once you start introducing other modded content into your hard coded field, it can start getting messy real quick. I still had to ask though, since adding the string to the hashset seemed like the easiest way to implement compatibility.

I'll use other method to patch it. Thanks for checking in!
if it helps, I'll add a helper function to add interactions to the hashset next update. I do already have helper functions to add things to the various gene and trait lists, adding one for interactions must have escaped my mind
Yes, that would be wonderful, thank you! I can of course just make another postfix, but I felt like that was such a waste of performance, seeing as we already check for hash membership. I'll look forward to the next update!
katcow 8 月 3 日 下午 8:59 
Hi! Just wanted to check in and let you know that I tested Intimacy with Psychology and it doesn't seem compatible. I started a new colony and a lesbian hooked up with her brother on the first day. Not game-breaking, just not picking up the Kinsey scale in Psychology. I started a new file with Way Better Romance and RimPsyche and all is well.

Thank you for all your work!
< >
正在显示第 1 - 15 条,共 39 条留言
每页显示数: 1530 50