Description

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).

Preview
Thirst for Dead Air 0.98B
Post comment Comments
tazuma
tazuma

i can't imagine DA without this mod anymore.

Reply Good karma Bad karma+2 votes
FishWings Author
FishWings

<3

Reply Good karma+1 vote
TySG
TySG

Hey! Is this compatible with "CIGS REDUCE RADIATION? (https://www.moddb.com/mods/dead-air/addons/cigs-reduce-radiation). Thnks for the addon!

Reply Good karma Bad karma+1 vote
FishWings Author
FishWings

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.

Reply Good karma+2 votes
TySG
TySG

That could be great! Please do it :D

Reply Good karma Bad karma+1 vote
EkidonaArubino
EkidonaArubino

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.

Reply Good karma Bad karma+1 vote
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: