About this mod
Enhancements for the shallow water drinking from Primal Needs, featuring:
- Drink from really shallow water.
- Bottle shallow water to drink later.
- Stop the animations for the above actions gracefully.
- Purify bottled shallow water to remove toxicity.
- Drink and bottle water while swimming.
- Requirements
- Permissions and credits
-
Translations
- French
- Mirrors
- Changelogs
- Donations
Primal Shallow Water
To use this mod, you must have Primal Needs (or AGM Primal Needs) installed. This mod was tested with Primal Needs version 1.15.1 and AGM Primal Needs version 4.1. If you have an older version, please update it first.
Features Rundown
1. Drink from really shallow water.
2. Bottle shallow water to drink later.
3. Stop the animations for the above actions gracefully.
4. Purify bottled shallow water to remove toxicity.
5. [Extra] Drink and bottle
Features Explanation
1. In the original Primal Needs, you can only drink "river" (or ocean, lake, etc.) water from places where the game considers to be "shallow water". But that is not quite shallow, actually. It starts at about Geralt's waist level and end when he starts swimming.
This mod relax this condition and makes it possible to drink from really shallow water. In fact, as long as Geralt is in water (and not swimming), he can drink water. This new possibility comes with a different animation as well, to reflect the lower water level.
2. Now you can fill up to 10 bottles using "river" water to drink later. As is the case when drinking directly, this water is polluted due to corpses being present in these water bodies in the context of the Third Nilfgaardian War. This means that drinking it will increase Geralt's toxicity level.
The amount of toxicity per bottle is the same value from each sip when drinking directly from the "rivers" (thanks, Aeltoth!). This value is configurable in Primal Needs' settings menu. The amount of thirst replenishment per bottle is also the same value from each sip, and also configurable.
To fill up the bottles, press and hold the button to drink from shallow water (thanks, wghost81!). You can do it under the same conditions of the previous bullet (i.e., in game's shallow water or in really shallow water).
3. In the original Primal Needs, the only way to stop drinking (as far as I know) is by pressing the jump button, which will abruptly interrupt the action. This behaviour is kept, but now you can also stop drinking or bottling water by pressing the drink button (i.e., the same button you pressed to start the action). This will stop the animation after the current loop iteration is finished, and correctly play the stopping animation.
Since, depending on the animation frame when you press the button, it could take some seconds for it to stop, one could think the stopping button didn't work. For this reason, I added a feedback message ("Stopping...") in the game's HUD. If you wish to play without this message, comment out the lines 520 of
/content/scripts/local/PNAnimations.ws
and 65 of /content/scripts/local/PSWShallowWater.ws
. The command to print the message is this:PNHudNotify(GetLocStringByKeyExt("psw_anim_stopping"));
4. A new recipe was created to allow boiling (and thus, magically purifying) the bottled polluted water to remove toxicity. The resulting item is Canteen Water, the same one from the original Primal Needs.
You can buy the recipe only from the Crow's Perch's trader, to be consistent with What's For Dinner, included in Primal Needs.
5. [Extra] Okay, this one is definitely not "shallow water", but hear me out. I've always found strange that we can't drink from "rivers" when swimming. Well, while making this mod I might have stumbled upon the answer: we cannot play those nice animations while swimming. But that didn't prevent me from adding the ability to drink and bottle
To make up for the lack of animations, I used the pseudo-animation of trying to dive when the water level is too low (you will understand when you see). This pseudo-animation plays when you start the action and also when it finishes or you ask nicely for it to stop (see feature number 3), to let you know it finished. While drinking or bottling
New Behaviour
I strived to keep the behaviour of other parts of Primal Needs untouched, but I found two bugs that detract from our cherished immersion. The first one is that you cannot eat or drink when under puking effect (intended behaviour) but the animations play out the same. The second one is that you can drink shallow water even when under puking effect.
So I tried to fix these bugs to increase immersion. Now, if you try to eat or drink ("river" water included), Geralt will puke and the relevant message from Primal Needs will appear in the game's HUD. The rationale for the puking is that Geralt is nauseated when under puking effect, so if he tries to eat or drink anything in this condition, he will feel the urge to puke again.
List of Changed Files
scripts/game/components/inventoryComponent.ws
scripts/game/player/states/swimming.ws
scripts/game/player/playerInput.ws
scripts/game/player/r4Player.ws
From Primal Needs:
scripts/local/PNAnimations.ws
scripts/local/PNData.ws
scripts/local/PNFood.ws
scripts/local/PNThirst.ws
Update
The 1.0.1 version is a bugfixed release exclusively for the AGM Primal Needs version of this mod.
It fixes the issue of canteen water not displaying properly.
To update from version 1.0.0 is simple:
- Step 1: Extract the contents of the 7z file.
- Step 2: Copy (or cut) the
dlcPrimalShallowWater
folder and paste it into thedlc
folder inside your game's folder structure, overwriting the previous files. - Step 3: Copy (or cut) the
modPrimalShallowWater/content/en.w3strings
file and paste it into themods/modPrimalShallowWater/content/
folder inside your game's folder structure, overwriting the previous file. - Step 4: ???
- Step 5: Profit!
Installation
I split the installation in two parts. Please, read them carefully.
Part 1: Copying the mod files
To copy the mod files to your game folder, you have basically two options:
Manual method: Extract the contents of the 7z file. Then copy (or cut) the
modPrimalShallowWater
folder and paste it into the mods
folder inside your game's folder structure. It should be in the same folder as the modPrimalNeeds
folder. Also, copy (or cut) the dlcPrimalShallowWater
folder and paste it into the dlc
folder inside your game's folder structure.OR
Automatic method: Use The Witcher 3 Mod Manager. I did not test using Vortex.
Part 2: Merging the mod files
After copying the mod files, you must merge them with other mods, especially with Primal Needs. Use the Script Merger for this.
The next steps are a bit different depending on the version you are installing. Follow only the steps in 2.A (regular Primal Needs) or 2.B (AGM Primal Needs).
Part 2.A: Regular Primal Needs version
You should be presented with the following unsolved conflicts:
-
game/components/inventoryComponent.ws
: Choose the version frommodPrimalShallowWater
. It will be in the C panel, probably. -
game/player/playerInput.ws
: Idem. -
local/PNAnimations.ws
: From Script Merger's menus, select Merge -> Choose B for All Unsolved Conflicts, assumingmodPrimalShallowWater
is being displayed in the B panel. If not, replace "B" with the appropriate letter*. -
local/PNData.ws
: Idem. -
local/PNFood.ws
: Idem. -
local/PNThirst.ws
: Idem.
* This instruction assumes that you have unmodified Primal Needs' scripts. If you have a mod that changed them or you have made some change yourself, then you should go through each conflict, solving them one by one lest you break the relevant mods.
I made a video-tutorial on how to merge the mod files. You can watch it below.
Part 2.B: AGM Primal Needs version
You should be presented with the following unsolved conflicts:
-
game/components/inventoryComponent.ws
: From Script Merger's menus, select Merge -> Choose C Everywhere, assumingmodPrimalShallowWater
is being displayed in the C panel. If not, replace "C" with the appropriate letter*. -
game/player/playerInput.ws
: Choose the version frommodPrimalShallowWater
. It will be in the C panel, probably. -
local/PNAnimations.ws
: From Script Merger's menus, select Merge -> Choose B for All Unsolved Conflicts, assumingmodPrimalShallowWater
is being displayed in the B panel. If not, replace "B" with the appropriate letter*. -
local/PNData.ws
: Idem. -
local/PNFood.ws
: Idem. -
local/PNThirst.ws
: Idem.
* This instruction assumes that you have unmodified AGM Primal Needs' scripts. If you have a mod that changed them or you have made some change yourself, then you should merge the file manually.
Uninstallation
If you installed manually, remove the
modPrimalShallowWater
folder from your mods
folder and remove the dlcPrimalShallowWater
folder from your dlc
folder. Then, run Script Merger to update your merged files.If you installed with The Witcher 3 Mod Manager, use it to remove the mod and run Script Merger to update your merged files.
Source Code
You can check out the source code of the mod on this GitHub repository.
Acknowledgements
Standing on the shoulders of these giants:
- CD PROJEKT RED for this great game series.
- stefan3372 for the amazing Primal Needs.
- wghost81 for permitting me to use her logic to hold a button to perform a different action. Based on the superb Friendly HUD.
- Aeltoth for helping me in processing toxicity.
- MerseyRockoff and paulr0013 for helping me find help.
- AnotherSymbiote for help with Script Merger.
- Haldar1248 for the AGM Primal Needs.