A port of Arszi's Thirst Overhaul addon for Anomaly, which was then slightly modified afterward. Merge the gamedata folders, it will conflict with any other addon that changes the .ltx files of some consumables (you will see).
Dead Air is hard, but it must be even harder. For it to be a modification emphasizing survival, it seems jarring that drinking water is only implemented as an optional benefit (which can be substituted with stimulants), and not as the second-most essential element for a human's survival. Now, continuing to ignore thirst will be increasingly problematic.
The first stage is only a minor annoyance (blurred vision) to remind the player that it might be a good time to have a drink sometime now or shortly after. More advanced stages will chew away at health and energy, progressively as the dehydration becomes worse. The final stage will have the player losing consciousness often, with a chance of death for each occurrence.
Dehydration progresses faster when moving, and especially so when sprinting. So now, take the time to enjoy the scenery on your journeys rather than rushing to your destination. Bleeding also increases the rate of dehydration quickly. Eating also increases thirst, and the amount it increases is dependent on its dryness, and sometimes, how salty it (probably) is. Smoking also increases thirst slightly, as do the use of caffeine pills, and other drugs such as anti-radiation medications will give you an embalming unless you wash it down with something refreshing. Note that strong booze is not a refreshment, but a beer will quench your thirst (but less than water or tea). Energy drinks are also a source of hydration, even though in my experience it dehydrates the hell out of you.
Radiation poisoning will reduce the amount of hydration you get from drinks, as was implemented in the original addon.
Proper indicators are not implemented yet, so for now just rely on your instincts. Blurred vision is enough of an indicator that you need a drink anyway.
Again, credits go to Arszi's addon since this is essentially ported to work with DA.
U(6/19/21): Eating raw meat is now slightly hydrating in most cases, while cooked meat is drier and therefore results in increased dehydration (but generally less than 'dry' but clean nutrition sources)
U1(7.21.22): Implemented version compatible w/ the addon 'CIGS REDUCE RADIATION', but the regular version is still available
i can't imagine DA without this mod anymore.
<3
Hey! Is this compatible with "CIGS REDUCE RADIATION? (https://www.moddb.com/mods/dead-air/addons/cigs-reduce-radiation). Thnks for the addon!
No, it is not compatible. I will make a compatible version, if you want.
U: It's done; both the regular version and the version compatible w/ CRR are included.
That could be great! Please do it :D
I wrote to the author of this addon about a bug. It was December 11, 2022, and as you know, the script was not updated after that date. Therefore, I will rewrite this letter here.
Listen, I've seen this script here, and more than once. I met there one "error" related to updating by time - it uses CTime with a certain update frequency. The catch is that this update is written very simply: when the data is passed, the update variable is assigned "game.get_game_time ()" and that's it. The fact is that the current time is almost always more than the required one, so the update frequency is "spoiled". And the player can also sleep and skip all these iterations in this way, lowering their thirst only once. I made an amendment in this script, which solves all these problems at once.
function actor_on_update(b,d)
...
if last_drink > start_blur_2 then
...
end
if not(last_drink_chk)or(curr_time:diffSec(last_drink_chk)<drink_chk)then last_drink_chk=(last_drink_chk or curr_time) return end
local tdelta=math.floor(curr_time:diffSec(last_drink_chk)/drink_chk)
last_drink=math.max(0,math.min(10000,last_drink+(up_drink*tdelta)))
local Y,M,D,h,m,s,ms=0,0,0,0,0,0,0 Y,M,D,h,m,s,ms=last_drink_chk:get(Y,M,D,h,m,s,ms)
last_drink_chk:set(Y,M,D,h,m,s+(drink_chk*tdelta),ms) test_blur()
end
Everything is quite simple: each time update does not assign the current CTime, but rather adds the update frequency itself. In addition, the ratio of "time difference" to "refresh rate" is taken into account, and the resulting integer (lower) number is multiplied by the damage to thirst. Yes, you inserted "actor_on_sleep" into the script, but it does not work, because there is no such callback function (they are simply not included), but my version calmly solves this problem, yeah.