[New and Improved 9/11/21] Functioning Well - and Off-Grid Plumbing!

SCREENSHOTS
Downloaded 17,431 times 526 Thanks 227 Favourited 68,818 Views
 Say Thanks!
  Featured Upload!   This is a featured upload! It showcases the best talent and creativity available on MTS and in the community.
Uploaded: 7th Feb 2020 at 7:00 PM
Updated: 10th Nov 2021 at 4:01 PM
Update 07/11/21 - New and Improved!
Made things (hopefully) simpler!
-There are now only 2 versions: bucket and pail versions.
Global vs Non-Global off-grid functionality is now handled by a setting which can be changed using testing cheats and shift-clicking on the Functioning Well.
The setting is for the save, so you could have a globally off-grid save, and another save which is non-global (ie not off-grid unless made so with an well/stack of barrels).
The default setting is Non-Global, so all new saves will be Non-Global until changed to Global via the well.


-For those who use ani's Bucket of Water mod, I made an add-on which will add my "Collect Water" interaction to her animated well. So instead of using my boring one, you can have a pretty animated one, and also use her off-grid bathtubs at the same time without needing 2 wells.


Just to note for any confusion that without this add-on, both mods are completely compatible, but the add-on just makes it easier if you use both (and animated well is awesome, thanks mspoodle!)

-Water pump rock object: to make a lot on-grid when it would otherwise be off-grid. Requested by Wojtek for an apocalypse world.

-Added using washing machines to off-grid interactions.

Thanks MissPat and Sonja for testing

To replace old versions:
Just replace the files, and delete scriptCache. If you had a save you were using the Global version in, don't forget to change the setting for that save to Global!

Update 16/11/2020 - New versions and fixes:


Important Update 21/05/2020


UPDATE 23/02/2020:



What is this "Functioning Well" you speak of?
It's a well! That functions!
The idea of this mod is to basically make life more difficult for your sims - Instead of being able to just use objects like showers and sinks with their invisible plumbing, your sims must first collect water from the well in order to flush the toilet, take a bath, wash dishes etc...
It's great for off-grid/ living off the land/ old timey pre plumbing era gameplay.


How does it work?
The well object itself is the decor object "The Old Dried-Up Well" from The Sims 3 Store, that comes with the Brunch at the Old Mill set.
Except it's no longer a decor object, or dried-up! Your sims can and need to actually collect water from the well in order to use plumbing related interactions.
Different interactions will require different amounts of water. (See the Interaction List below for details)

Depending on the version of the mod, water is either represented as Buckets (objects that can be collected at the well) or a number representing the amount of water in a pail which can be filled up at the well. Pails have a maximum capacity, and so can contain only a certain amount of water when filled up. Max value is tunable, found in the Interactions XML (see below for more details.)
To collect buckets of water, Collect Water from the well. To fill pails, add them to your sim's inventory and either Collect Water by clicking on the well to fill up all pails in the sim's inventory, or Collect Water from the pail itself, to fill the individual pail.


The interactions that involve some kind of "plumbing" are replaced with new versions, that check if your sims have enough water before letting your sims do the interaction. If your sims have enough water, they can use the object as normal, and the required amount of water will be used up.


Sims can either use water that is in their own inventory, or water can be stored in the stack of barrels object to be accessible across the household.
Note about the barrels: The stack of barrels is the decor object from WA, but works as an inventory to store buckets of water instead. It requires WA for now, but hopefully soon I will try and make it base game compatible. If you don't have WA you can still use the mod, but each sim will have to have buckets in their own inventory to use plumbing objects.


The well can be found in Misc Plumbing and Outdoor Decor for 200 simoleons. You can place it on a community lot instead of buying it with your own funds.
The barrels can be found in Misc Plumbing and Misc Storage also for 200 simoleons. These need to be placed on your home lot.
The bucket can be found in buydebug for 0 simoleons (Bucket version only).
The pails can be found in Misc Plumbing and Misc Storage for 90 simoleons (Pail version only). These need to be placed on your lot, and added to sims' inventories in order to be filled at the well.


It's also only active sims that need water to use stuff, so the rest of town shouldn't be walking around with terrible stink clouds around them all the time.


Global vs Non-Global
The latest versions v1.1+ (I'm trying helpful naming conventions now :p) handle global/non-global functionality via a setting rather than mod version.
GLOBAL means that all lots are off-grid, and active sims will need to collect water from a well before they can use plumbing objects on their lot. Note that inactive sims don't require or use up water, but if the setting is global, and you change households, the new active household will be off-grid too.
NON-GLOBAL means that only (active) sims who have a Functioning Well, or Stack of Barrels on their lot will be off-grid. Therefore switching to a new household will not necessarily mean the new sims will be off-grid, only if they have the required objects.
Non-Global setting also means that you can keep the mod installed even if you want to play a save that doesn't have any off-grid functionality at all.
The default setting (the setting when you load a new save, and until you change it) is NON-GLOBAL. This value is tunable if you would rather have all new saves globally off-grid by default (zoeoe_WaterMod.Interactions value kIsGlobalDefault).
To change the setting for a save, enable TestingCheats and shift-click on the Functioning Well to toggle the global setting On/Off.

If you want a notification when a save loads, to say the mod is installed and what the setting is for the save, edit the XML zoeoe_WaterMod.Instantiator and change kEnableDebugNotif to True.

Technicalities


Interactions that are replaced


The numbers of buckets/amount of water required for each interaction are tunable - see Tunable Values below.

There are some plumbing objects that are not affected (sims will be able to use these without needing to collect water).
Hot Tubs, Dishwashers, The Outdoor Shower and Public Shower from the Store - Possibly will add these in the future.

Tunable Values


Translating


Installation
There are 2 versions of the mod now, and you can only use 1:
zoeoe_FunctioningWellBUCKET - water is represented by a bucket object. Buckets can be collected from a well, and interactions will use x number of buckets.
zoeoe_FunctioningWellPail - water is represented by a number contained in a pail. Pails can be bought from buy mode and filled up at a well. Interactions will use x amount of water stored in a bucket.

There are also two optional addons:
zoeoe_FW_aniBucketOfWaterMod_addon - adds my "Collect Water" animation to ani's animated well in her Bucket of Water mod, so buckets can be collected/pails filled using the animated well. This addon REQUIRES ani's mod.
zoeoe_FW_WaterPump_rock - a rock that can be added to any lot to act as a water pump, which will override the off-gridness of a lot and make it on-grid. Eg if you are playing in a globally off-grid world, you can give a lot water with the water pump. It's a rock because I couldn't clone a better object, but the transmogrifier should work on any object as there are no interactions/slots etc.




To Uninstall
Before uninstalling the mod, make sure your sims are not interacting with any plumbing objects when you save, otherwise the objects may become unusable. If this does happen, they should be okay if you sell and replace the objects, but I haven't tested this extensively so be warned!
It's a good idea to reset your town/reset all sims before uninstalling to make sure no sims are using objects affected by the new interactions. This is relevant even if the save isn't off-grid, as the interactions have still been replaced if you've played in the world with the mod installed.

Conflicts/Issues
This is a full script mod, and doesn't override any core files or resources. However, on load it does replace the interaction definitions of the interactions listed above. So if you have a mod that also does that (though I don't know any that do), either mine or the other mod likely won't work.

NRaas Shooless is an example of this. If you have both installed, the interactions affected by Shooless (Shower, Use Toilet, Spongebath) will no longer be "off-grid". The interaction names for Use Toilet and Spongebath show up blank too.

One thing to note is that because this mod changes the interaction definitions, if you have mods that adjust the ITUN files of one of the interactions that are replaced, it won't have an effect. You can edit my custom ITUN files to your liking though, they are in the package file
If you do find a conflict, let me know.
The only other thing I have found is that if you have nraas WooHooer installed, the shower WooHoo won't work even if your sims have enough water. They do the social interaction and just stop. It does work if one sim is already in the shower though, so nothing too disastrous

Ani's Bucket of Water mod DOES NOT CONFLICT, as they do different things: my mod replaces the EA interactions, and ani's mod adds a new bath object with a new bathing interaction. Also note that the bucket from the BUCKET version of this mod and ani's bucket are not interchangeable.

Resources Used



Future Plans/Ideas
I've been working on this for quite a while now, and so I really wanted to get what I've done out before it drives me insane, but even though it's pretty much done, there are a few things I feel could function in a better way. I'd also be happy to hear any ideas/preferences that you have for how this could work. Here are just some things I have thought about:


Anyway, sorry for the huge description
If you have any problems, or feedback, please let me know, and I'll try to fix it.

I hope you like it



Additional Credits:
A big thank you to Battery for all the help with my many struggles. I also used S3PE, Buzzler's STBLize tool, and Visual Studio 2017.