Quick Reply
Search this Thread
Test Subject
Original Poster
#1 Old 20th Jun 2024 at 10:44 AM
Default Edit STR/LTR requirements for interactions
Hi, first time poster here so sorry if it's not the correct place to ask this.
I've been trying to edit relationship requirements for certain Social Interactions between Sims, both in when they should show up and when they should be accepted: for example, my goals are to edit stuff like "allow brawls against anyone with Max 0 STR/LTR", "Require Min 80 STR/LTR to Woohoo", but also "Show all kiss options at 25 LTR without editing their success requirements, so you have to be careful in taking steps further.

I thought it would be an easy task of rummaging through the appropriate interactions' BHAVS and editing some "If Sim1Relationship > const 50 -> Return true" types of expressions, and yet everytime I try I just end up wasting lots of time trying to reverse engineer whichever expression could be indicating what I'm looking for, to no avail.

I'm a SimPE newbie, so I don't even know exactly where to look for. I tried basing myself off mods that edited certain interactions to find which Guardian and Action BHAVs to edit but it did not help too much. For example, a mod that edited the functioning of Woohoo showed me that the Woohoo option showing was handled by BHAV "Relax - Cuddle - Test" (0x2062), but again, I could find NOTHING inside of it that looked like LRT or Love requirements, just checks that looked like nothing more than "Are sims in a bed" or "Is anyone bigfoot", leaving me completely disoriented.

I'm sorry if this is basic knowledge or if there are already tutorials for it out there. I tried looking for them but never found anything of the sort (The closest thing being "Always hide or always show" which don't really help on more complex interactions, like for example couch kissing or woohooing

Thanks in advance for the help, I really appreciate any tip, help and suggestion
Advertisement
Scholar
#2 Old 22nd Jun 2024 at 2:37 PM
The availability of standing social interactions is governed in the person globals group 0x7F01EC29. For example, the guardian for Attack (brawl) is 20BF. WooHoo is always an action inside an object. If you want to change that, you look at bed globals, hot tub globals, and all other objects that have a play in action. Globals (semiglobals) are shared code for all beds, etc. Kissing on a couch is also an action on an object. There are plain monolithic couches (0x7FAE06B0:2011) and NightLife sectional couches (0x7F0B61F3:2064). "CT - Object Menu" is a plugin script that causes new menu items to be inserted on persons if they are interacting with this object. This code usually has sub-sections for kiss, make out, and others.

There is a global constant table for defining the thresholds where standing social actions become available. 0x7FD46CD0:100. You can see it starts with Admire, and has all the relevant properties in a tabular format. Each social has several lines for it, and you can think how a new page or column starts for the next one. This table is queried via global script 0x440. If you change this table, the mod will become conflicting with other mods that change another social.

A better way is to replicate everything needed from 0x440 inside the guardian function. The two persons are My Object ID and Stack Object ID, and you can test most required things easily with expression or 1A relationship (node version 1). For relationship there is no wizard. If the action is not romantic, then the number of tests needed is much lower. The simplest "always show" mod would bypass 0x440 without defining any new conditions.

Once an action is started, it spawns an invisible social object that contains the associated animations, sounds and script. This allows person code to be smaller and extensible. Each social usually has its own object. For example, Attack: 0x7F724506=0x7FD90EDB=Social - Fight - Attack. The object's name usually has a prefix "Social". The outcome of the action is determined here, usually in a script called "Set Result" by one of the participants (A or B). There can be any personality conditions defined here.
Back to top