Hi there! You are currently browsing as a guest. Why not create an account? Then you get less ads, can thank creators, post feedback, keep a list of your favourites, and more!

Keep CAS Clean!

SCREENSHOTS
418 Downloads 52 Thanks  Thanks 15 Favourited 3,793 Views
Uploaded: 4th Jan 2024 at 12:35 AM
Updated: 8th Feb 2024 at 10:10 PM
Anyone up for more fixes for annoying, or even game-breaking annoyances? This Yoshi sure is!

Did you know you can make custom CAS and University CAS screens yourself? It's actually quite simple - drop the CAS!.package or YACAS!.package from the GlobalLots folder of your latest expansion pack into your LotCatalog folder, rename it to look like the other lots in there, place the lot into your neighbourhood and edit it. Then just grab the edited lot from your neighbourhood's folder, drop it back into the GlobalLots folder and rename it to CAS!.package or YACAS!.package. Done!

What's not as known is that this can come with some bizarre side effects, because Maxis never intended for you to just be doing that.

Technical explanation
You may have watched videos of Sims freezing and dropping on the floor in CAS before. Or even heard of random cats and dogs suddenly appearing by your side that you're sure you never made.
During my own testing for this fix, I even got cameras popping up for strays fighting outside, and an Object Error from the Controller - Stray. Wait, what? Why should there be strays in CAS? And why does everyone turn blue when I'm only making them?
It's because you're technically playing a normal lot. The lot ID is just zero and the special CAS objects are in place. That's the only reasons the game knows you're in CAS and functions accordingly.
However, by placing the lot in a neighbourhood in order to start editing it, no matter whether fresh out of the box or in its 19th generation, you are bound to have the global controllers (or any other objects with the flag "Is global sim object" set) spawning on it that are present on any other lot too.

A few of these global controllers have an additional flag set to them which literally reads "Ignore GlobalSim field in CAS Lot". What it does is simple: if the object is global but detects it's in CAS, it deletes itself.

Guess which two controllers do not have this flag set?
Controller - Temperature Receptivity and Controller - Stray. The first handles a Sim's body temperature, the second spawns strays, wolves and the skunk.
Both controllers technically have CAS checks set to them, like a few other critical game functions too, which should normally cause them to enter endless idling loops if they detect the game is in CAS. But sometimes, they just don't. When a function is called and was active before (like on another lot), it continues where it was, and that doesn't have to be the very beginning where the CAS check is. So instead, most of the time, the first controller just freezes any Sim in seconds, and the second controller may cause random animals to appear by the backdrop, or even interact with each other.

So what does this mod do?
This mod gets rid of Sims freezing in seconds and strays visiting the lot when using custom CAS screen replacements.
While the former has been done before, this version is guaranteed to not conflict with mods such as warmthfixes, as it literally does nothing to any BHAVs at all.
The latter previously had to be mitigated by building CAS lots in an AnyGameStarter environment without Pets. This is now no longer necessary. You can simply build lots even in your neighbourhood for regular gameplay no problem!

HOWEVER..., one strong advice still applies. Do not make Sims live on your custom CAS lot before you copy it. If there have ever been traces of a stray roaming the lot, or even worse, you saved the lot with strays currently on the lot, the traces will carry over to the lot file and not only cause them to already be there when you enter CAS mode, but also add the strays to whatever neighbourhood you're currently playing. Even with this fix.
That said, with my fix in your Downloads folder, even these CAS lots with leftover stray character data will allow you to make a family without some strange stray takeover as it happened in screenshot #2.

Requirements:
Expansion Packs: Seasons, Pets.
Self-explanatory. Only Seasons is truly required, but since every EP contains every resource from all previous EP's, it has the Controller - Stray in it too, just inactive.

Overrides:
Resource nameTypeGroupAssociated object or semiglobalInstance
Controller - StrayObject Data (OBJD)0x7F3947A5Controller - Stray0x000041A7
Controller - Temperature ReceptivityObject Data (OBJD)0x7FBE21F6Controller - Temperature Receptivity0x000041A7


Conflicts:
As usual, if any mod modifies the same resources, it will conflict with my mod. This is highly unlikely though as there should be no other reason to modify these global controllers.

Credits
Maxis and EA for creating Sims 2 in the first place
The Creators of SimPE and all its plug-ins
Lenna9 for being the first to tackle the CAS issues, and a great inspiration to make this mod
Nopke for having a deep conversation about the issue with strays. He was actually another reason I made this mod as he is working on another mod that would conflict with the previous mod to fix the freezing issue in CAS.

As always: Have fun and happy Simming!
~ LimeyYoshi