MTS has all free content, all the time. Find out how YOU can help to keep it running. Tell me how...

simler90's Gameplay Systems Core Mod

by simler90 Posted 6th Sep 2021 at 11:36 AM - Updated 14th Sep 2021 at 6:54 PM by simler90
113 Thanks  Thanks     42 Favourited
- When the game generates an NPC party in an unmodded game, the game can set the dress code to swimwear even if the host's house doesn't have a pool. This causes sims to negatively react to each other throughout the party by booing and so on. This update adds a check to see if the host has a pool, and if not sets the dress code to everyday.
- The game has a feature where sims react to other sims' outfit appropriateness depending on a large number of checks. One of these checks is to see if the sim's current lot has a pool, and if not and if the sim is in their swimwear, other sims can negatively react to them. However, the game considers fountains as pools, which is a problem. So, this mod makes it so that the game now properly checks swimming pool tiles and not fountain tiles.
- There is another issue in the game which sometimes causes sims to constantly negatively react to a certain sim by booing or laughing at them. This update should fix this issue.
Method: NpcParty::StartNpcParty

UPDATE 4: This update fixes the butler NPC. They used to be fine until EA modified the babysitting code in a patch, which in turn broke the butler. In an unmodded game, the butler's cooking is very erratic. You will see that they will keep leaving cooking bowls all over the kitchen, interrupting themselves while cooking. If you hire a butler for a household, then switch to another household, and then visit the butler's household a few days later, their kitchen will be full of cooking bowls. In addition, the butler cannot cook for sims who are older than child in an unmodded game. All of these issues are fixed now. You may need to dismiss and rehire all the butlers who are already hired in your game.
Method: ButlerCook::BeginCooking

UPDATE 3: This update fixes further issues with Neighborhood Pet Adoption, and also corrects some of the tuning numbers in the Tuning file.
- In an unmodded game, whenever the game creates a Neighborhood Pet Adoption event, the game doesn't link the baby animals to their mother genealogically, which I dislike. Moreover, the game deletes the remaining baby animals at the end of the event, but unfortunately doesn't delete their relationships which causes them to appear greyed-out in the relationship panels of sims who had met them. This causes the relationship panel to become bloated and lag. This update fixes these issues. Now, the game links the baby animals to their mother, their litter mates, and even to their previously-adopted brothers and sisters. Those baby animals which are unadopted at the end of the event will be properly deleted now and won't occupy any space on sims' relationship panels.
- There were a few issues with the tuning numbers in the Tuning file. For example, if you want to change the kNeighborPetAdoptionPercentChance value, just change the number from 25 to whatever you want, don't set it to say 25f or 10f.

UPDATE 2: This update fixes certain issues with social interactions:
- When Sim A successfully performs the "Kiss and Make Up" Friendly social towards Sim B, if the sims are in a committed relationship, the game removes their committed relationship types and reverts them to Romance (red heart) relationship, which is a mistake by EA. This update fixes that, and now the game will only set the Romance relationship type if the sims are not in a committed relationship already.
- I found out that if Sim A has neither the Inappropriate nor the Insane trait, the game only allows Sim A to autonomously kiss Sim B if they are in a committed relationship with each other. It doesn't matter if they are single or have the Romance relationship type, they can't kiss each other whatsoever. This prevents sims from becoming romantic through regular gameplay. This mod now allows Sim A to autonomously initiate all Kiss interactions towards Sim B, as long as Sim A is not in a committed relationship with Sim C. I have also added this exact same check to the Woohoo and Try for Baby interactions, as they also need the same checks. However, don't forget that EA prevents sims from autonomously initiating the Woohoo and Try for Baby interactions. You need an XML tuning mod which modifies the relevant interactions found in the SocialData XMLs to change this. I made such a mod for myself long ago, and also added many more checks that allow sims to better consider their committed relationships as well. I may release that mod here soon. Finally, Juiced Kiss/MakeOut/Woohoo are not affected by these changes, as EA made them Friendly interactions and sims can already autonomously initiate them.
Method: SocialCallback::OnKissMakeup

- I have added a few more checks to my Simulate Budget For Inactives feature.
- In an unmodded game, when the game attempts to create a descendant whose homeworld happens to be a vacation location with preset facial features (these are China and Egypt), the game still rolls a chance to assign those facial features to the new offspring, which should never happen, as the new sim is supposed to inherit these features from their parents. This update fixes this issue.
- I have added an important new feature to Neighborhood Pet Adoption. In an unmodded game, the game tries to create such a situation every day if there is no Pet Adoption going on in the world. This is a problem, because this mod only allows the game to create a Pet Adoption from households which already own an adult female pet. If your world has very few households with such a pet, then the game will create a Pet Adoption in the exact same households. This update adds a new feature which adds a chance roll requirement to this event which solves this issue. The game now has to pass a 25% chance roll to be allowed to create a Neighborhood Pet Adoption event, meaning that your world may sometimes have such events very often, but at times they may be rare. You can tune this value by modifying kNeighborPetAdoptionPercentChance. I recommend not setting this higher than 50, but if for some reason you want to revert to EA original, then set this to 100.


This is my core mod for Sims 3 which I made initially about a year ago, and have been building on it as I play the game now and then. The mod is mostly about fixing EA mistakes and oversights, but it also comes with certain small features that I really wanted the game to have. Below, I will describe what this mod does in detail. You can also see the methods modified by this mod and also see how you can tune a feature if it is tunable, so you can easily compare this mod's code with EA's original to see the differences, and also customize the mod. Here is what this mod does:

1) There is an extremely annoying glitch/mistake with the Firefighter active career from Ambitions. This career more or less worked fine before EA modified the code and broke the career in a patch (not sure which one). Basically, EA made a mistake which makes it very likely for the Respond to Emergency interaction to fail and cancel the current job, especially if the emergency is a small fire. This mod fixes this glitch, so you can play the Firefighter career properly now. Ever since I fixed this glitch, the only time I came across a small fire that got cancelled was on a rainy day. It is possible, but very rare that rain may extinguish fires placed outside by the game.
Method: FireFightingJob::FindIsolatedFirePosition

2) There is a glitch that causes Vampires to attain extremely fast skill-gain modifiers if the player saves and quits the game at night-time and then loads that save-game again. If you've ever seen a vampire max out a skill in a matter of seconds, it was caused by this glitch. This is fixed now. If you have vampires already affected by this glitch in existing worlds, they won't be fixed.
Method: OccultVampire::SunsetCallback

3) There is an oversight in the game if you have both World Adventures and University Life installed. You might have realized that the game adds the medium-quality camera to all sims when you first enter a world in such a setup. This free camera usually ends up stuck in inventories, too. However, the game is not supposed to give this camera to sims like that, as it is a glitch. This mod prevents this behaviour. If you want that camera, you can go and buy it from a vacation location, or maybe you can find one at the consignment store.
Method: Photography::OnSkillAddition

4) There is a very annoying glitch with the Punishment system added with Generations. If a child/teen is grounded, but is trying to go to school or work, the game considers this as sneaking out and causes the child/teen to sneak. At the same time, it causes adult and older sims to scold the child/teen, which causes the sim to end up sneaking permanently. EA actually added code to prevent this if the child/teen was trying to go to school or work, but their check doesn't include the Go To School/Work in Carpool interaction and also the Go Home Ownable Vehicle interaction which is what children and teens are engaged in while going to school/work or coming back from school/work. This mod fixes this oversight. Sims who are currently permanently sneaking because of this glitch won't be fixed.
Method: Punishment::IsSimGoingToSchoolOrWorkOrTraveling

5) There is an oversight in the game which prevents sims from properly relaxing on pool loungers. You will see that they will spend like 2 or 3 seconds on a lounger and then will find something else to do right away. This mod fixes this oversight and now sims can properly use pool loungers.
Method: PoolLounger LoungerRelax Definition::Test

6) Nectar skill "combinations made" data does not get lost while travelling any more.
Method: NectarSkill::ImportContent

7) Neighborhood Pet Adoption can now only occur in households which already own an adult female pet. The adult female pet needs to be really part of the household for the event to occur. The game cannot create a temporary adult female pet in random households for adoption purposes any more.
Method: PetAdoption::CreatePetInNeighbor
PetAdoption:: ClearlLitterInNeighborhood
Tuning: Set kNeighborPetAdotionPercentChance to whatever percentage value you want. Set it to 10 to make it so that the game has a 10% chance to start such an event. Set it to 100 to revert to EA original. Set it to 0 to completely disable Neighborhood Pet Adoption.

8) When the game generates a new sim who is not supposed to inherit any facial features in an unmodded game, such as when creating new townies and NPCs, the game creates the sim with the exact same face with almost all sliders at zero, and also gives the sim the exact same voice type and pitch. This mod fixes this and now the new sim's face and voice will be properly randomized. I have made it so that the sim's face will only be randomized if the sim is not assigned any predetermined facial features by the game. The game applies such predetermined facial features when the game generates the offspring of existing sims, or when it generates an alien NPC, and so on. In other words, the game will randomize the sim's face and voice only if they need to be randomized.
Method: Genetics::MakeSim

9) When Sim A initiates a social interaction towards Sim B, the game checks the relationship between Sim A and B and also Sim B's mood. These are the values the game uses to determine whether Sim B accepts the social. EA made it so that the game increases the effective relationship between Sim A and B +20 if they are attracted, but they unfortunately didn't add any code that increases Sim B's effective mood as well. This mod adds this missing feature which increases Sim B's effective mood by +20, so that attraction is a bit more relevant.
Method: Conversation::GetAdjustedRelationshipValues
Tuning: Change the kTargetSimMoodBonusforAttracted value to whatever you want. Set to 0 to revert to EA original.

10) When Sim A considers initiating an autonomous romantic interaction towards Sim B, if Sim A is in a committed relationship with Sim C, and if the social context between Sim A and B is not amorous, then Sim A now becomes less likely to initiate such an interaction. In such a situation, if Sim A also happens to have the Family-Oriented trait and/or the My Love buff, then Sim A becomes even less likely to initiate such an interaction. In the unmodded game, sims are not aware of their committed relationships when they consider initiating a romantic interaction, which really doesn't make any sense. This mod fixes this issue.
Method: Autonomy::CalculateScoreForSocial
Tuning: Modify the kActorCommittedBaseSocialMultiplier value to change the base likelihood which is applied to Sim A all the time. Modify the kActorCommittedExtraFamilyOrientedSocialMultiplier value to further change the likelihood if Sim A is Family-Oriented. Modify the kActorCommittedExtraMyLoveBuffSocialMultiplier value to further change the likelihood if Sim A currently has the My Love buff. Speaking of the My Love buff, Sim A receives this buff if Sim C is somewhere close to them, and if it has been fewer than 3 days since their marriage and if their relationship is above 0. Set all of these to 1 to revert to EA original.

11) The game will now simulate the budgets of inactive households. In an unmodded game, inactive sims end up earning a lot of money from their careers and professions, because they don't pay bills, and they are almost never charged for anything. I considered allowing them to pay their bills, but came to the conclusion that this is a bad idea, because inactive lots do not depreciate, which makes it difficult to balance their budgets. I also dislike the idea of depreciating inactive lots. Instead, this mod modifies inactive households' budgets twice a week effectively simulating their earnings and losses. It is fairly detailed, and inactive households may lose or potentially even gain money depending on the traits, skills and careers of household members. Don't forget that EA has a feature which checks every day to see if an inactive household has less than 500 simoleons, and if so, sets their funds to 500. So, this is the lowest funds you will probably see if you are looking at inactive households. You can easily change this value if you don't like it by making an XML tuning mod. I believe the XML resource was called "Household".
Method: Mailbox::CreateRegularBillForHousehold
Tuning: Change the SimulateBudgetForInactives value to False to completely disable this feature. Set to True to enable it again.

Installation: Extract the archive and put the package file called "simler90GameplaySystemsCoreMod" to your Mods/Packages folder in Documents.

Compatibility: This mod is not compatible with any other mod that also modifies the GameplaySystems.dll.

Requirements: This mod was made on Patch 1.67, and I can only guarantee that it will work on that patch.

Archive: simler90GameplaySystemsCoreMod-UPDATE5.rar
No metadata could be extracted from this file

Download files

Filename Size Downloads Date

Size: 5.96 MB · Downloads: 981 · 14th Sep 2021
5.96 MB 981 14th Sep 2021

Key: - File was updated after upload was posted
Tip: You can click the magnifying glass to see the archive contents

Need help with downloading or installing content? Click here!
Archive: simler90GameplaySystemsCoreMod-UPDATE5.rar
No metadata could be extracted from this file
35 Comments / Replies (Who?)

Expansion/Stuff packs required:
Sims 3

35 Comments / replies (Who?)



Type: Fixed

Tags: #Core Mod, #Gameplay Systems, #Fix, #Glitch, #Oversight, #Social, #Firefighter, #Alarm, #Small Fire, #Active Career, #Genetics, #Randomize, #Face, #Voice, #Budget, #Funds, #Economy, #Pool Lounger, #Relax, #Punishment, #Grounded, #Sneaking, #Teen, #Child, #Inventory, #Vampire, #Skill, #Pet Adoption, #Butler, #NPC