Allows you to customize what a sim Loves and Hates from a variety of options, impacting autonomous behavior and providing bonuses or penalties when doing what one Loves or Hates.
Latest: v1.3.1, tested with Maxis Patch, December 14th, 2020
Source Code: Download (Workupload) | Download (Patreon) | For those who want to know how the mod's scripts work, without needing to decompile them. Do NOT use the source code as part of the mod install unless you know what you're doing. Use the TS4SCRIPT file that comes with the mod download. [Note: Version number of source code is based on when scripts were changed most recently, so the number may be behind the latest version of the mod.]
This mod adds a new menu when clicking on sims called Passion. Listed under that is two menus, Loves and Hates, as well as the options Skill Jump, Set Random Preferences, and Reset Preferences. They will be described below. The general idea of the mod is that you can turn on/off preferences for a sim in the form of things they "Hate" and "Love." You can do this on any sim, whenever you want to, even if it's a sim you don't directly control. You just need to be able to click on the sim and you can change what they Love and Hate.
If a sim Loves something, they will (for the most part) be able to do it autonomously, even if they aren't able to otherwise. There are a few cases where all the interactions for a particular preference are not autonomous at all, so those are left alone (I may consider trying to change this later, but for now, that's how it works). These exceptions to the rule are specified in the Complete List of Preferences.
Sims who Love something will also get a Happy moodlet while doing it and this moodlet will last for some time after the interaction they obtained it from ends. This moodlet gives various bonuses while it's active. Increased skill gain, Fun gain over time and slower decay for Fun, increased relationship gain rate for Friendship and Romance, and a higher success rate with social interactions (most social interactions should be included in this bonus, though a few here and there might be excluded).
If a Sim's Energy is very low (the exact number is -51 or lower) they will get an Uncomfortable moodlet instead. This moodlet provides none of the bonuses and is just a negative. The general idea here is that sometimes you are so tired that even doing what you love is not fun.
Below are the exact numbers on the bonuses from the Happy moodlet, as of writing this note:
If a sim Hates something, they will not be able to do it autonomously, regardless of whether they are able to normally.
Sims who Hate something who are forced to do it (e.g. by the player) will get a Tense moodlet while doing it and this moodlet will last for some time after the interaction they obtained it from ends (note: if you have roBurky's Meaningful Stories mod installed, the duration will be significantly longer than normal). This moodlet gives various penalties while it's active. Decreased skill gain, Fun loss over time and faster decay for Fun, decreased relationship gain rate for Friendship and Romance, and a decreased success rate with social interactions (most social interactions should be included in this penalty, though a few here and there might be excluded).
If a Sim's Energy is very low (the exact number is -51 or lower) they will get an Angry moodlet instead. This moodlet gives significantly stronger penalties. Higher tendency to do Mean socials, vastly decreased success rate with social interactions, vastly decreased skill gain, and faster decay for Fun compared to the Tense moodlet.
Below are the exact numbers on the penalties from the Tense moodlet, as of writing this note:
Below are the exact numbers on the penalties from the Angry moodlet, as of writing this note:
With version 1-1, I've added the basics of a Chemistry system for romance interactions. Don't expect this to be super precise and complex as it is now.
Right now, how it works is, for example, if Sim A Hates TV and Sim B Loves TV, the chance of a romance interaction succeeding will be slightly lower. Or if Sim A Hates TV and Sim B Hates TV, the chance of a romance interaction succeeding will be slightly higher.
This effect is cumulative, so for each preference two sims have in common, they will have an increasingly easier time romancing each other. For each preference they have that is conflicting, they will have an increasingly harder time romancing each other.
I'm emphasizing that it's basics because apart from some testing to ensure it works and trying to make sure it isn't too high to the point of breaking all balance for romance, balancing the numbers is more something where I'd like to get a broad range of feedback from different people who play in different ways. So I'm releasing it as is and looking for feedback on what kind of impact it makes.
Does it seem too powerful? Too weak? Just right? Does it mess with existing romances in a way you do or don't like? Let me know on my Discord in the #mod-feedback section.
To give you a sense of what my goals are with this, I'd like to get it in a place where you'll notice some impact, but without it trampling over other priorities to the point of absurdity. So far, in my testing, it takes having around 6 preferences in common to start overriding things like embarrassment and awkward conversation, which seems fairly reasonable to me, as I'd consider that a pretty high number of things for two sims to have in common.
Skill Jump: You can turn this on or off on any given sim. If it's on, when you turn on a Loves preference, the sim's skill may increase a bit, depending on the preference. For example, if you chose Loves > Playing Music > Piano, the sim's Piano skill will jump to Level 3. This is to ensure that the sim can play the Piano autonomously, since they are supposed to love doing so. Most preferences don't require a skill jump like this and for those that do, keep in mind that Skill Jump will never boost their skill past the minimum needed for autonomous behavior. It is also completely optional and you can have a sim Love something without using it, they just may not do the action autonomously in some cases until they've passed a certain skill level. (Side Note: Skill Jump only applies when manually turning on a Loves preference. Set Random Preferences does not use it, for reasons of limitations in how the mod is designed and how Skill Jump does its operations. I may look into the possibility of changing this at a later date.)
Set Random Preferences: Set Random Preferences will pick 3 Loves preferences and 3 Hates preferences at random to apply to the sim you use it on. I've made sure that this will not include preferences from expansion content you don't have, so you don't need to worry about getting preferences that are useless. The idea here is to have a way to apply preferences without needing to choose them all yourself, if you want to play that way with any given sim.
Reset Preferences: Reset Preferences will remove all Loves and Hates preferences that have been set on a sim. Useful for if you don't like what random gave you and want to try again, or you have a lot of preferences set and want to clear them.
List Active Preferences: List Active Preferences lists all of the active preferences on the targeted sim in a notification. Due to size limitations in how it works, you won't be able to use the interaction past having 16 preferences active. Note that this has no impact on how many preferences you can have active at the same time (there is no set limitation on that). It only has to do with being able to display them as a list in a notification and I put the restriction in to safeguard against trying to use the notification and breaking something if you have an enormous amount of preferences set. I don't expect that most people will set an enormous number of preferences on a single sim to begin with. Odds are you will never notice this restriction.
Note that some preferences are incompatible with each other and will be specified next to the preference, below (for example, you can't Hate Computer and Love Video Games). You also can't Hate and Love something at the same time. This is just to avoid weird overlap, resulting in contradictory behavior that defeats the point of having preferences or causes conflicts between intended preference priorities in interactions.
Minimum Skill Required: These are preferences that require a minimum skill level for them to be used autonomously when a sim Loves them. This can be optionally gotten around by turning on Skill Jump to boost the skill to the minimum required.
No Autonomy: These are preferences that won't activate autonomous behavior, even if the sim Loves them. This is because all of the related interactions are set to not be autonomous ever, normally. I may consider trying to override this in the future. Note that the moodlets will still happen, so they aren't entirely pointless as preferences.
Everything Else: Should behave as the main functionality of the mod is described, with no notable exceptions
If it seems like a sim Loves something and isn't doing it at all, please review the Complete List of Preferences and make sure it's not a preference that is a special exception (isn't autonomous at all, or requires a particular skill level). If none of that applies, feel free to let me know on Discord in the #mod-has-bug section and I'll review the autonomy of the preference and possibly tweak it.
Testing was done on preferences, but some may need a little bit of a boost beyond what they are at (which is definitely something I can do). Keep in mind, however, that a sim can have a lot of potential autonomous priorities fighting for their attention, in particular if their Needs are low and I didn't want to turn Loves preferences into behavior that dominates everything, so some preferences may struggle to get attention often, depending on how the sim's life is being carried out and what objects are available.
If you feel a sim is being too obsessed with something that is depriving them from focusing on what they Love, you can turn that into a Hates preference. For example, if you don't like them being obsessed with Television, you could make them Hate Television and they will never do it autonomously.
That said, autonomous priorities are a tricky thing and I'm open to tweaking as needed if some Loves preferences are too weak.
With v1-3, I've added the first optional Addon content for the mod: Opposites Attract. This is content that adds to what the mod can do in some way, but that I didn't want to force on you as part of the main mod if it's not something you're interested in.
This optional addon creates the possibility of an Opposites Attract encounter when introduced to another sim. The chance of this happening is low and I will outline below the rules for when the percentage chance of it happening is even possible. When it happens, a notification is triggered letting you know and a hidden relationship bit between the two sims is added, giving them a significantly easier time romancing each other. There is only a chance of it happening if:
Note that the increase they get in ease of romancing is meant to be high enough to offset having a few different Loves/Hates incompatibilities, to simulate the idea of two people who are significantly different, yet are attracted to each other in spite of it.
To install the addon fully, make sure you download and install both it and v1-3 or later.
[Compatibility: Note that this addon does override the LootAction file Rel_Bit_HasMet_Add_Both. I may change this in the future, but for now that is the case. I figure it's unlikely other mods are going to go for overriding this file, so I'm doing it this way for now to save time and complication.]
Thank you to the folks who have put together translations for the mod.
Thanks to Evangelina Silvercloud for helping me with some testing and feedback.
Thanks to Scumbumbo for all of his scripting resources and help he's provided over the course of my time as a modder. This is the most script-heavy mod I've done to date and I wouldn't have even known where to begin without all of the things I've learned from him. Also, he helped me solve a problem I was stumped on to do with List Active Preferences, so thanks for that too. :)