Description
Requires XML Injector
With this mod, sims will not forget each other as much. By default, the game almost immediately culls relationships between sims unless they are in the "My Households" section of manage worlds, they have a familial relationship, or they are in the same household. Because of this, you may see your sims' NPC friends interacting with each other one day, but the next they will not have met. With this mod, every sim can have a set amount of relationships (a limit you can customize) rather than only "My Households" being allowed relationships.
The way I have implemented this is by using something called SimInfoLODLevel. Essentially, this is the game's way of keeping track of how important a sim is. There are six different levels: minimum, background, base, interacted, full, and active. Sorry if this gets a bit too long or technical. If you don't care to hear the details of how this works and how you can customize it, you can just put the mod in and leave it at its default settings.
As far as I can tell, minimum only includes sims who have been completely culled from the game, so mostly ghosts who have been dead for a while. When you get notifications saying a ghost's spirit has faded, that means the game has culled them. This sim culling is a different process from relationship culling. (I hope that's not too confusing that there are two types of culling) These sims will not have relationships anymore, so there will be nothing for this mod to stop from culling.
Active is the currently played household. These sims, and any sims on the active lot when culling happens, are always exempt from relationship culling. So that leaves background, base, interacted, and full for this mod to handle the culling of. You can individually set the maximum number of relationships for each level, as well as for sims in "My Households," in the config file generated by this mod. Sims can change between LOD levels depending on how recently you've interacted with them or seen them around the world. Newly generated sims will likely be background level, and premade sims will be base level. Once you interact with a sim, they'll be bumped up to interacted, at least for a time. Sims whose household you have played recently, but are no longer active, will be at full level. These sims will most likely be ones you have in "My Households," so the value for that will be prioritized above the value for full.
Each night, usually sometime after neighborhood stories run at 2:30 am, sim relationships are culled. In an unmodded game, sims in "My Households" are allowed 35 relationships before the game will start culling their weakest relationships. Certain relationship bits, such as familial relationships, will always block culling. Even if the sims have more than the maximum amount of relationships, those relationships will not be culled. These bits protect relationships even for sims in "Other Households," but any other relationships will be deleted. With this mod, culling will still start with sims in "My Households." The process is essentially the same as in an unmodded game, but instead of being limited to 35 relationships, sims will be limited to however many relationships you have set for "My Households" in the config file. By default, I have set this to 75. After that, instead of just culling all the relationships for "Other Households," this mod will check for the SimInfoLODLevel and use the corresponding limit from the config file to decide how many relationships can be kept. The default settings are 35 for background and base, 50 for interacted, and 75 for full, but you can change these numbers to whatever you'd like. Keep in mind that having to keep track of too many relationships can cause some lag over time, so you may not want to set these values too high.
This mod also changes some relationship bits to block culling. The game usually only keeps relationships like marriages, engagements, and family safe from culling, though some other bits can keep relationships of sims in played households safe, but not unplayed sims. This mod's config file lists some strong bits like romantic relationships or best friends. Setting those values to True will make those relationships safe from culling in both played and unplayed households. If there are any bits that I didn't include, but you think should protect from culling, I'm open to adding more.
This mod also adds a new relationship bit specifically for blocking culling, which can be added or removed with a picker interaction under the actions menu of sims or using the cheat console. The picker to add the relationship will bring up a list of all sims known by the sim you're doing the interaction on. Any sims they already have the bit with will be grayed out. The picker to remove the bit will bring up all sims that have the bit with the sim. Through the cheat console (Ctrl+Shift+C), you can type sims.set_relationship_culling_prevention then both sims names to add the relationship between them. Adding the word False to the end of the command will instead remove the bit. (eg: sims.set_relationship_culling_prevention Bella Goth Mortimer Goth) (eg: sims.set_relationship_culling_prevention Bella Goth Mortimer Goth False)
There's one last thing I thought I'd mention. In creating this mod, I made a cheat command to get the LOD level of any sim by name. This was mostly for my testing purposes, but I figured I'd leave it in case you're curious. If you type into the cheat console (Ctrl+Shift+C), sims.get_lod_level then the sim's first and last name, the console will output that sim's LOD level. (eg: sims.get_lod_level Bella Goth)


