diff --git a/_maps/map_files/Baltimore/baltimore_surface.dmm b/_maps/map_files/Baltimore/baltimore_surface.dmm
index 2c38310efb5..7a84f5031f8 100644
--- a/_maps/map_files/Baltimore/baltimore_surface.dmm
+++ b/_maps/map_files/Baltimore/baltimore_surface.dmm
@@ -9037,22 +9037,16 @@
/area/f13/clinic)
"dlm" = (
/obj/structure/closet/crate/large{
- pixel_y = 15;
+ pixel_y = 27;
pixel_x = 16;
layer = 4
},
-/obj/structure/closet/crate/large{
- pixel_y = -5
- },
/obj/structure/closet/crate/large{
pixel_x = 10;
pixel_y = 11;
layer = 2
},
-/obj/item/radio{
- pixel_x = -3;
- pixel_y = 4
- },
+/obj/machinery/water_purifier,
/turf/open/floor/wood_fancy/wood_fancy_light,
/area/f13/enclave)
"dlJ" = (
@@ -60193,6 +60187,10 @@
color = "#FFDDCC"
},
/obj/structure/table/wood,
+/obj/item/radio{
+ pixel_x = -3;
+ pixel_y = 4
+ },
/turf/open/floor/wood_fancy/wood_fancy_light,
/area/f13/enclave)
"vmN" = (
@@ -65814,6 +65812,7 @@
name = "red light fixture";
dir = 1
},
+/obj/machinery/water_purifier,
/turf/open/floor/plasteel/f13/vault_floor/blue/whitebluefull,
/area/f13/outpost)
"xkp" = (
diff --git a/_maps/map_files/Baltimore/baltimore_underground.dmm b/_maps/map_files/Baltimore/baltimore_underground.dmm
index 6df9a68779d..8eb08fb12ea 100644
--- a/_maps/map_files/Baltimore/baltimore_underground.dmm
+++ b/_maps/map_files/Baltimore/baltimore_underground.dmm
@@ -1851,6 +1851,10 @@
/obj/structure/timeddoor/sixtyminute,
/turf/open/indestructible/ground/inside/subway,
/area/f13/tunnel/sub)
+"cOk" = (
+/obj/machinery/water_purifier,
+/turf/open/floor/plating/rust,
+/area/f13/tunnel)
"cOt" = (
/obj/structure/simple_door/metal/dirtystore,
/turf/open/floor/wood_wide,
@@ -5092,6 +5096,13 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/f13/tcoms)
+"hIk" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/water_purifier,
+/turf/open/indestructible/ground/outside/water/running{
+ sunlight_state = 0
+ },
+/area/f13/tunnel)
"hIt" = (
/obj/structure/decoration/vent/rusty,
/obj/machinery/shower{
@@ -6083,8 +6094,7 @@
/turf/open/floor/plating/rust,
/area/f13/citycaves)
"iVi" = (
-/obj/structure/rack/large/shelf,
-/obj/item/tank/internals/air,
+/obj/machinery/water_purifier,
/turf/open/floor/plasteel/f13/vault_floor/misc/vaultrust{
icon_state = "bluerustysolid"
},
@@ -10407,6 +10417,10 @@
/obj/effect/decal/cleanable/blood/drip,
/turf/open/floor/plasteel/f13/vault_floor/misc/vault1,
/area/f13/citycaves)
+"oUP" = (
+/obj/machinery/water_purifier,
+/turf/open/floor/plating/rust,
+/area/f13/citycaves)
"oUS" = (
/turf/open/floor/plasteel/f13/vault_floor/misc/vault1{
icon_state = "bluerustyfull"
@@ -11372,6 +11386,10 @@
sunlight_state = 0
},
/area/f13/tunnel/sub)
+"qlm" = (
+/obj/machinery/water_purifier,
+/turf/open/floor/plating/rust,
+/area/f13/ruins)
"qlP" = (
/obj/effect/decal/cleanable/oil/slippery,
/turf/closed/wall/r_wall/rust,
@@ -11817,6 +11835,10 @@
/obj/structure/barricade/tentclothedge,
/turf/open/floor/plasteel/f13/vault_floor/misc/vaultrust,
/area/f13/citycaves)
+"qQC" = (
+/obj/effect/spawner/lootdrop/welder_tools,
+/turf/open/floor/plasteel/f13/vault_floor/misc/vaultrust,
+/area/f13/vault)
"qRa" = (
/obj/effect/turf_decal/stripes/red/line{
dir = 8
@@ -12023,6 +12045,12 @@
},
/turf/closed/wall/r_wall/rust,
/area/f13/citycaves)
+"rle" = (
+/obj/effect/spawner/lootdrop/high_tools,
+/turf/open/floor/plasteel/f13/vault_floor/misc/vaultrust{
+ icon_state = "bluerustysolid"
+ },
+/area/f13/vault)
"rlf" = (
/obj/structure/destructible/tribal_torch/wall/lit,
/turf/open/floor/plasteel/cult,
@@ -12406,6 +12434,10 @@
icon_state = "cultdamage"
},
/area/f13/mountain_bunker)
+"rNS" = (
+/obj/machinery/water_purifier,
+/turf/open/floor/plasteel/f13/vault_floor/misc/bar,
+/area/f13/vault)
"rOj" = (
/obj/structure/target_stake,
/turf/open/floor/plasteel/f13/vault_floor/misc/vaultrust,
@@ -14748,6 +14780,10 @@
/obj/structure/timeddoor,
/turf/closed/wall/mineral/cult,
/area/f13/mountain_bunker)
+"vdi" = (
+/obj/effect/spawner/lootdrop/high_tools,
+/turf/open/floor/plasteel/f13/vault_floor/misc/vaultrust,
+/area/f13/vault)
"vdj" = (
/obj/structure/flora/tree/jungle{
pixel_y = -15;
@@ -14855,6 +14891,8 @@
/area/f13/bunker)
"vlR" = (
/obj/item/tank/internals/air,
+/obj/structure/rack,
+/obj/effect/spawner/lootdrop/tool_box,
/turf/open/floor/plasteel/f13/vault_floor/yellow/whiteyellowfull,
/area/f13/vault)
"vmL" = (
@@ -15911,6 +15949,10 @@
name = "underground ruins"
},
/area/f13/vault)
+"wOW" = (
+/obj/machinery/water_purifier,
+/turf/open/floor/plasteel/f13/vault_floor/red/whiteredfull,
+/area/f13/mountain_bunker)
"wPy" = (
/obj/effect/overlay/water{
layer = 20;
@@ -21875,7 +21917,7 @@ xrG
xrG
xrG
lro
-sSs
+qlm
sSs
wld
vRg
@@ -37674,7 +37716,7 @@ dhe
faw
wCP
iwr
-wCP
+cOk
wCP
iwr
faw
@@ -38193,7 +38235,7 @@ gou
faw
iwr
iwr
-iwr
+cOk
faw
faw
mkJ
@@ -39731,7 +39773,7 @@ gou
faw
dhe
dhe
-faw
+hIk
iwr
iwr
laI
@@ -40310,7 +40352,7 @@ aqg
ncs
ncs
ncs
-ncs
+vdi
ssh
ncs
ncs
@@ -40962,7 +41004,7 @@ bSQ
bSQ
bSQ
bSQ
-bSQ
+glb
vUa
ecC
dsE
@@ -41077,7 +41119,7 @@ wUA
fgg
drV
opt
-opt
+rle
gdL
opt
opt
@@ -41219,7 +41261,7 @@ pdh
tFJ
vQT
tFJ
-tFJ
+wOW
vUa
dsE
dsE
@@ -41336,7 +41378,7 @@ drV
opt
opt
lDQ
-ncs
+qQC
opt
lxq
ssh
@@ -45213,7 +45255,7 @@ mhd
ssh
xnt
bwZ
-bwZ
+rNS
ssh
ncs
opt
@@ -56663,7 +56705,7 @@ aRU
riG
ccs
riG
-rJX
+oUP
rJX
rJX
tzC
diff --git a/_maps/map_files/Baltimore/baltimore_upperlevel.dmm b/_maps/map_files/Baltimore/baltimore_upperlevel.dmm
index d3423427d01..57cb1432b00 100644
--- a/_maps/map_files/Baltimore/baltimore_upperlevel.dmm
+++ b/_maps/map_files/Baltimore/baltimore_upperlevel.dmm
@@ -20457,6 +20457,8 @@
/area/f13/building)
"tjw" = (
/obj/item/stack/sheet/metal/fifty,
+/obj/item/stack/sheet/glass/fifty,
+/obj/structure/rack/shelf_metal,
/turf/open/floor/wood_wide/wood_wide_dark,
/area/f13/building/boat)
"tjy" = (
@@ -21062,12 +21064,7 @@
/turf/open/floor/wood_common,
/area/f13/wasteland/city)
"tIl" = (
-/obj/structure/rack/large/shelf{
- dir = 8;
- layer = 5;
- pixel_y = 5
- },
-/obj/item/stack/sheet/glass/fifty,
+/obj/machinery/water_purifier,
/turf/open/floor/wood_wide/wood_wide_dark{
icon_state = "wide_dark-broken5"
},
@@ -22113,6 +22110,7 @@
/obj/machinery/light/small{
dir = 1
},
+/obj/machinery/water_purifier,
/turf/open/floor/f13{
icon_state = "floorrustysolid"
},
diff --git a/_maps/map_files/Pahrump-AB/Pahrump-AB-Lower.dmm b/_maps/map_files/Pahrump-AB/Pahrump-AB-Lower.dmm
index a387e37dbe4..fd3e5505f0e 100644
--- a/_maps/map_files/Pahrump-AB/Pahrump-AB-Lower.dmm
+++ b/_maps/map_files/Pahrump-AB/Pahrump-AB-Lower.dmm
@@ -12070,6 +12070,10 @@
/obj/structure/closet/crate/wooden,
/turf/open/floor/plasteel/f13/vault_floor/misc/vaultrust,
/area/f13/caves)
+"ibd" = (
+/obj/machinery/water_purifier,
+/turf/open/floor/plasteel/f13/vault_floor/misc/cmo,
+/area/f13/building/museum)
"ibk" = (
/mob/living/simple_animal/hostile/radroach,
/turf/open/floor/plasteel/f13/vault_floor/misc/cmo,
@@ -14679,6 +14683,13 @@
"kyk" = (
/turf/open/floor/plating/dirt,
/area/f13/caves)
+"kym" = (
+/obj/machinery/water_purifier,
+/turf/open/floor/plasteel/barber{
+ icon = 'icons/turf/f13floors2.dmi';
+ icon_state = "bluerustychess2"
+ },
+/area/f13/caves)
"kyo" = (
/mob/living/simple_animal/hostile/centaur,
/turf/open/floor/plasteel/f13/vault_floor/yellow{
@@ -19442,6 +19453,11 @@
icon_state = "greenrustyfull"
},
/area/f13/tunnel)
+"oVd" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/water_purifier,
+/turf/open/water,
+/area/f13/tunnel)
"oVs" = (
/obj/structure/closet/crate/wooden,
/obj/item/stock_parts/cell/ammo/mfc,
@@ -24686,6 +24702,13 @@
/obj/item/reagent_containers/rag/towel,
/turf/open/floor/plasteel/f13/vault_floor/dark,
/area/f13/building/hospital)
+"tLY" = (
+/obj/effect/decal/cleanable/dirt{
+ color = "#363636"
+ },
+/obj/machinery/water_purifier,
+/turf/open/floor/plasteel/f13/vault_floor/yellow/yellowchess/yellowchess2,
+/area/f13/caves)
"tNM" = (
/obj/structure/handrail/g_central{
dir = 1;
@@ -24715,6 +24738,10 @@
/obj/structure/bed/old,
/turf/open/indestructible/ground/inside/subway,
/area/f13/radiation)
+"tOU" = (
+/obj/machinery/water_purifier,
+/turf/open/floor/plasteel/f13/vault_floor/dark,
+/area/f13/building/hospital)
"tPe" = (
/turf/closed/indestructible/f13/matrix,
/area/f13/den)
@@ -46195,7 +46222,7 @@ bJq
vSi
mlr
pAe
-dHk
+oVd
hab
mlr
vSi
@@ -67859,7 +67886,7 @@ piK
lNR
ttq
djZ
-jvL
+ibd
ibk
bsY
cRu
@@ -78521,7 +78548,7 @@ dEX
kDe
gYI
dEX
-kDe
+tOU
pPS
pPS
vLw
@@ -81845,7 +81872,7 @@ xwF
aaa
fap
dnc
-dnc
+kym
uAf
mMj
vyO
@@ -93448,7 +93475,7 @@ jdq
sty
iUX
xih
-tji
+tLY
xFw
aaa
aae
diff --git a/_maps/map_files/Pahrump-AB/Pahrump-AB.dmm b/_maps/map_files/Pahrump-AB/Pahrump-AB.dmm
index 49dc21006c9..57647349cda 100644
--- a/_maps/map_files/Pahrump-AB/Pahrump-AB.dmm
+++ b/_maps/map_files/Pahrump-AB/Pahrump-AB.dmm
@@ -31948,6 +31948,10 @@
icon_state = "housewood2"
},
/area/f13/building)
+"hcX" = (
+/obj/machinery/water_purifier,
+/turf/open/floor/plasteel/freezer,
+/area/f13/city)
"hda" = (
/obj/structure/sacrificealtar,
/turf/open/floor/plasteel/f13/vault_floor/misc/vaultrust{
@@ -109253,7 +109257,7 @@ ayL
bbs
aiO
xvy
-bbV
+hcX
bbV
bbV
dkR
diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm
index acfd5baa7ca..d8a21f8fe23 100644
--- a/code/__DEFINES/mobs.dm
+++ b/code/__DEFINES/mobs.dm
@@ -324,6 +324,14 @@
#define DISGUST_LEVEL_VERYGROSS 50
#define DISGUST_LEVEL_GROSS 25
+//Thirst levels for humans
+#define THIRST_LEVEL_FULL 600
+#define THIRST_LEVEL_NORMAL 400
+#define THIRST_LEVEL_THIRSTY 200
+#define THIRST_LEVEL_DEADLY_THIRSTY 50
+
+#define THIRST_LEVEL_START 500
+
//Charge levels for Ethereals
#define ETHEREAL_CHARGE_NONE 0
#define ETHEREAL_CHARGE_LOWPOWER 20
@@ -441,6 +449,7 @@
#define DOOR_CRUSH_DAMAGE 15 //the amount of damage that airlocks deal when they crush you
#define HUNGER_FACTOR 0.1 //factor at which mob nutrition decreases
+#define THIRST_FACTOR 0.12 //slightly faster than hunger
#define ETHEREAL_CHARGE_FACTOR 0.08 //factor at which ethereal's charge decreases
#define REAGENTS_METABOLISM 0.4 //How many units of reagent are consumed per tick, by default.
#define REAGENTS_EFFECT_MULTIPLIER (REAGENTS_METABOLISM / 0.4) // By defining the effect multiplier this way, it'll exactly adjust all effects according to how they originally were with the 0.4 metabolism
diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm
index 76d09151130..fced48ea672 100644
--- a/code/_onclick/hud/alert.dm
+++ b/code/_onclick/hud/alert.dm
@@ -203,6 +203,21 @@
desc = "ABSOLUTELY DISGUSTIN'"
icon_state = "gross3"
+/obj/screen/alert/slightly_thirsty
+ name = "Slightly thirsty"
+ desc = "Some water would be a good idea right now."
+ icon_state = "slight_thirst"
+
+/obj/screen/alert/thirsty
+ name = "Thirst"
+ desc = "You seriously need some water right about now."
+ icon_state = "thirst"
+
+/obj/screen/alert/deadly_thirsty
+ name = "Heavy thirst"
+ desc = "You need water right now!"
+ icon_state = "deadly_thirst"
+
/obj/screen/alert/hot
name = "Too Hot"
desc = "The air around you is painfully hot! Get somewhere cooler and take off any insulating clothing like a fire suit."
diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm
index 7826e478f02..30752012a72 100644
--- a/code/modules/mob/living/carbon/human/examine.dm
+++ b/code/modules/mob/living/carbon/human/examine.dm
@@ -307,6 +307,9 @@
if(DISGUST_LEVEL_DISGUSTED to INFINITY)
msg += "[t_He] look[p_s()] extremely disgusted.\n"
+ if(thirst < THIRST_LEVEL_THIRSTY - 50)
+ msg += "[t_He] [t_is] severely dehydrated.\n"
+
var/apparent_blood_volume = blood_volume
if(dna.species.use_skintones && skin_tone == "albino")
apparent_blood_volume -= 300 // enough to knock you down one tier
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index fbeb54f70ce..eff03b52832 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -1137,6 +1137,18 @@ GLOBAL_VAR_INIT(crotch_call_cooldown, 0)
return FALSE
return ..()
+///Adjust the thirst level of a mob
+/mob/living/carbon/human/proc/adjust_thirst(change, max = THIRST_LEVEL_FULL)
+ var/min = 0
+ if(!client || (client && (client.inactivity / 600 > 5))) // AFK people don't drop thirst below critical point.
+ if(thirst >= THIRST_LEVEL_THIRSTY) // No gaming
+ min = THIRST_LEVEL_THIRSTY
+ thirst = clamp(thirst + change, min, max)
+
+///Force set the mob thirst level
+/mob/living/carbon/human/proc/set_thirst(change)
+ thirst = max(0, change)
+
/mob/living/carbon/human/species
var/race = null
diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm
index 2cb0c0a097e..69b7b88cb30 100644
--- a/code/modules/mob/living/carbon/human/human_defense.dm
+++ b/code/modules/mob/living/carbon/human/human_defense.dm
@@ -715,6 +715,17 @@
if(0 to NUTRITION_LEVEL_STARVING)
to_send += span_danger("You're starving!")
+ switch(thirst)
+ if((THIRST_LEVEL_FULL - 50) to INFINITY)
+ to_send += "You're not thirsty at all!\n"
+ if(THIRST_LEVEL_NORMAL to (THIRST_LEVEL_FULL - 50))
+ to_send += "You could use a drink.\n"
+ if(THIRST_LEVEL_THIRSTY to THIRST_LEVEL_NORMAL)
+ to_send += "You are slightly thirsty.\n"
+ if(THIRST_LEVEL_DEADLY_THIRSTY to THIRST_LEVEL_THIRSTY)
+ to_send += "You need water!\n"
+ if(0 to THIRST_LEVEL_DEADLY_THIRSTY)
+ to_send += "You really need some water!\n"
//TODO: Convert these messages into vague messages, thereby encouraging actual dignosis.
//Compiles then shows the list of damaged organs and broken organs
diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm
index 31e759d1b05..4fe92955ecf 100644
--- a/code/modules/mob/living/carbon/human/human_defines.dm
+++ b/code/modules/mob/living/carbon/human/human_defines.dm
@@ -94,6 +94,8 @@
var/busy= FALSE
+ var/thirst = THIRST_LEVEL_START
+
/// Unarmed parry data for human
/datum/block_parry_data/unarmed/human
parry_respect_clickdelay = TRUE
diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm
index 920f5a17171..4c700e2dee5 100644
--- a/code/modules/mob/living/carbon/human/human_movement.dm
+++ b/code/modules/mob/living/carbon/human/human_movement.dm
@@ -107,6 +107,17 @@
return TRUE
return ..()
+/mob/living/carbon/human/Moved()
+ . = ..()
+ if(.)
+ if(HAS_TRAIT(src, TRAIT_NOHUNGER)) // Let's pretend this trait responds for everything
+ set_thirst(THIRST_LEVEL_FULL)
+ else if(thirst && stat != DEAD)
+ var/loss = THIRST_FACTOR/10
+ if(m_intent == MOVE_INTENT_RUN)
+ loss *= 2
+ adjust_thirst(-loss)
+
/mob/living/carbon/human/handle_movement_recoil()
deltimer(recoil_reduction_timer)
diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm
index a04e0028c4f..c559088f46c 100644
--- a/code/modules/mob/living/carbon/human/species.dm
+++ b/code/modules/mob/living/carbon/human/species.dm
@@ -1268,6 +1268,10 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
hunger_rate *= H.physiology.hunger_mod
H.adjust_nutrition(-hunger_rate)
+ if(H.stat != DEAD)
+ H.adjust_thirst(-THIRST_FACTOR)
+ handle_thirst(H)
+ handle_hunger_damage(H)
if (H.nutrition > NUTRITION_LEVEL_FULL)
if(H.overeatduration < 600) //capped so people don't take forever to unfat
@@ -1305,6 +1309,10 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
else
H.remove_movespeed_modifier(/datum/movespeed_modifier/hunger)
+/datum/species/proc/handle_hunger_damage(mob/living/carbon/human/H)
+ if(!H.client || (H.client && (H.client.inactivity / 600 > 5))) // Let's not kill AFK mobs
+ return
+
switch(H.nutrition)
if(NUTRITION_LEVEL_FULL to INFINITY)
H.throw_alert("nutrition", /obj/screen/alert/fat)
@@ -1315,6 +1323,29 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
if(0 to NUTRITION_LEVEL_STARVING)
H.throw_alert("nutrition", /obj/screen/alert/starving)
+/datum/species/proc/handle_thirst(mob/living/carbon/human/H)
+ if(!H.client || (H.client && (H.client.inactivity / 600 > 5)))
+ return
+
+ switch(H.thirst)
+ if(THIRST_LEVEL_NORMAL to THIRST_LEVEL_FULL)
+ H.clear_alert("thirst")
+ if(THIRST_LEVEL_THIRSTY to THIRST_LEVEL_NORMAL)
+ H.throw_alert("thirst", /obj/screen/alert/slightly_thirsty)
+ if(THIRST_LEVEL_DEADLY_THIRSTY to THIRST_LEVEL_THIRSTY)
+ H.throw_alert("thirst", /obj/screen/alert/thirsty)
+ if((H.getStaminaLoss() <= 50) && prob(5))
+ to_chat(H, "You need some water...")
+ H.adjustStaminaLoss(20, 0)
+ if(0 to THIRST_LEVEL_DEADLY_THIRSTY)
+ H.throw_alert("thirst", /obj/screen/alert/deadly_thirsty)
+ if((H.getStaminaLoss() <= 90) && prob(12))
+ to_chat(H, "You feel weak...")
+ H.adjustStaminaLoss(30, 0)
+ if(prob(33))
+ H.adjustToxLoss(2, 0)
+ return
+
/datum/species/proc/update_health_hud(mob/living/carbon/human/H)
return 0
diff --git a/code/modules/reagents/chemistry/reagents.dm b/code/modules/reagents/chemistry/reagents.dm
index bb4812b1fce..1ceefeeadfb 100644
--- a/code/modules/reagents/chemistry/reagents.dm
+++ b/code/modules/reagents/chemistry/reagents.dm
@@ -60,6 +60,7 @@ GLOBAL_LIST_INIT(name2reagent, build_name2reagent())
var/chemical_flags // See fermi/readme.dm REAGENT_DEAD_PROCESS, REAGENT_DONOTSPLIT, REAGENT_ONLYINVERSE, REAGENT_ONMOBMERGE, REAGENT_INVISIBLE, REAGENT_FORCEONNEW, REAGENT_SNEAKYNAME
var/value = REAGENT_VALUE_NONE //How much does it sell for in cargo?
var/datum/material/material //are we made of material?
+ var/thirst_factor = null // How much thirst does it recover/remove on ingestion PER UNIT
/// When present in a mob, how much should each unit count as effective blood
var/effective_blood_multiplier = 0
/// The maximum effective blood to be added from this reagent
@@ -87,6 +88,9 @@ GLOBAL_LIST_INIT(name2reagent, build_name2reagent())
var/amount = round(reac_volume*modifier, 0.1)
if(amount >= 0.5)
M.reagents.add_reagent(type, amount)
+ if((method == INGEST) && ishuman(M) && thirst_factor != null)
+ var/mob/living/carbon/human/H = M
+ H.adjust_thirst(thirst_factor * reac_volume)
return 1
/datum/reagent/proc/reaction_synth(mob/living/M, method=TOUCH, reac_volume, show_message = 1, touch_protection = 0)
@@ -112,6 +116,9 @@ GLOBAL_LIST_INIT(name2reagent, build_name2reagent())
current_cycle++
if(holder)
holder.remove_reagent(type, metabolization_rate * M.metabolism_efficiency) //By default it slowly disappears.
+ if(ishuman(M) && thirst_factor > 0)
+ var/mob/living/carbon/human/H = M
+ H.adjust_thirst(thirst_factor)
/datum/reagent/proc/on_mob_life_synth(mob/living/carbon/M)
current_cycle++
diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm
index 0f024274730..2c79748365c 100644
--- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm
@@ -16,6 +16,7 @@
pH = 7.33
value = REAGENT_VALUE_VERY_COMMON //don't bother tweaking all drinks values, way too many can easily be done roundstart or with an upgraded dispenser.
synth_metabolism_use_human = TRUE
+ thirst_factor = THIRST_FACTOR * 6 // Less than water
/*
Boozepwr Chart
diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm
index f8dca8b91a8..b499e3fe7cb 100644
--- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm
@@ -13,6 +13,7 @@
glass_name = "glass of orange juice"
glass_desc = "Vitamins! Yay!"
pH = 3.3
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/orangejuice/on_mob_life(mob/living/carbon/M)
if(M.getOxyLoss() && prob(30))
@@ -28,6 +29,7 @@
glass_icon_state = "glass_red"
glass_name = "glass of tomato juice"
glass_desc = "Are you sure this is tomato juice?"
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/tomatojuice/on_mob_life(mob/living/carbon/M)
if(M.getFireLoss() && prob(20))
@@ -44,6 +46,7 @@
glass_name = "glass of lime juice"
glass_desc = "A glass of sweet-sour lime juice."
pH = 2.2
+ thirst_factor = THIRST_FACTOR * 5
/datum/reagent/consumable/limejuice/on_mob_life(mob/living/carbon/M)
if(M.getToxLoss() && prob(20))
@@ -59,6 +62,7 @@
glass_icon_state = "carrotjuice"
glass_name = "glass of carrot juice"
glass_desc = "It's just like a carrot but without crunching."
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/carrotjuice/on_mob_life(mob/living/carbon/M)
M.adjust_blurriness(-1)
@@ -80,6 +84,7 @@
glass_icon_state = "berryjuice"
glass_name = "glass of berry juice"
glass_desc = "Berry juice. Or maybe it's jam. Who cares?"
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/applejuice
name = "Apple Juice"
@@ -87,6 +92,7 @@
color = "#ECFF56" // rgb: 236, 255, 86
taste_description = "apples"
pH = 3.2 // ~ 2.7 -> 3.7
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/poisonberryjuice
name = "Poison Berry Juice"
@@ -97,6 +103,7 @@
glass_name = "glass of berry juice"
glass_desc = "Berry juice. Or maybe it's poison. Who cares?"
ghoulfriendly = TRUE
+ thirst_factor = THIRST_FACTOR * 4
/datum/reagent/consumable/poisonberryjuice/on_mob_life(mob/living/carbon/M)
M.adjustToxLoss(1, 0)
@@ -111,6 +118,7 @@
glass_icon_state = "glass_red"
glass_name = "glass of watermelon juice"
glass_desc = "A glass of watermelon juice."
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/lemonjuice
name = "Lemon Juice"
@@ -121,6 +129,7 @@
glass_name = "glass of lemon juice"
glass_desc = "Sour..."
pH = 2
+ thirst_factor = THIRST_FACTOR * 5
/datum/reagent/consumable/banana
name = "Banana Juice"
@@ -130,6 +139,7 @@
glass_icon_state = "banana"
glass_name = "glass of banana juice"
glass_desc = "The raw essence of a banana. HONK."
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/banana/on_mob_life(mob/living/carbon/M)
if((ishuman(M) && M.job == "Clown") || ismonkey(M))
@@ -144,6 +154,7 @@
taste_description = "strawberry"
glass_name = "glass of strawberry juice"
glass_desc = "Refreshing seasonal summer drink."
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/laughter
name = "Laughter"
@@ -153,6 +164,7 @@
taste_description = "laughter"
value = REAGENT_VALUE_VERY_COMMON
synth_metabolism_use_human = TRUE
+ thirst_factor = THIRST_FACTOR * 1
/datum/reagent/consumable/laughter/on_mob_life(mob/living/carbon/M)
M.emote("laugh")
@@ -167,6 +179,7 @@
taste_description = "laughter"
value = REAGENT_VALUE_RARE
synth_metabolism_use_human = TRUE
+ thirst_factor = THIRST_FACTOR * 2
/datum/reagent/consumable/superlaughter/on_mob_life(mob/living/carbon/M)
if(prob(30))
@@ -184,12 +197,14 @@
glass_icon_state = "glass_brown"
glass_name = "glass of potato juice"
glass_desc = "Bleh..."
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/grapejuice
name = "Grape Juice"
description = "The juice of a bunch of grapes. Guaranteed non-alcoholic."
color = "#290029" // dark purple
taste_description = "grape soda"
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/milk
name = "Milk"
@@ -201,6 +216,7 @@
glass_desc = "White and nutritious goodness!"
pH = 6.5
value = REAGENT_VALUE_VERY_COMMON
+ thirst_factor = THIRST_FACTOR * 10
// Milk is good for humans, but bad for plants. The sugars cannot be used by plants, and the milk fat harms growth. Not shrooms though. I can't deal with this now...
/datum/reagent/consumable/milk/on_hydroponics_apply(obj/item/seeds/myseed, datum/reagents/chems, obj/machinery/hydroponics/mytray, mob/user)
@@ -234,6 +250,7 @@
glass_name = "glass of soy milk"
glass_desc = "White and nutritious soy goodness!"
value = REAGENT_VALUE_VERY_COMMON
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/soymilk/on_mob_life(mob/living/carbon/M)
if(M.getBruteLoss() && prob(20))
@@ -250,6 +267,7 @@
glass_icon_state = "glass_white"
glass_name = "glass of coconut milk"
glass_desc = "White and nutritious goodness!"
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/coconutmilk/on_mob_life(mob/living/carbon/M)
if(M.getBruteLoss() && prob(20))
@@ -265,6 +283,7 @@
glass_icon_state = "glass_white"
glass_name = "glass of cream"
glass_desc = "Ewwww..."
+ thirst_factor = THIRST_FACTOR * 2
/datum/reagent/consumable/cream/on_mob_life(mob/living/carbon/M)
if(M.getBruteLoss() && prob(20))
@@ -284,6 +303,7 @@
glass_desc = "Don't drop it, or you'll send scalding liquid and glass shards everywhere."
effective_blood_max = 240
effective_blood_multiplier = 3
+ thirst_factor = THIRST_FACTOR * 6
/datum/reagent/consumable/coffee/overdose_process(mob/living/M)
M.Jitter(5)
@@ -311,6 +331,7 @@
glass_name = "glass of italian coco"
glass_desc = "A spin on a winter favourite, made to please."
canbrew = TRUE
+ thirst_factor = THIRST_FACTOR * 8
/datum/reagent/consumable/italian_coco/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
M.adjust_bodytemperature(20 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, BODYTEMP_NORMAL)
@@ -330,6 +351,7 @@
effective_blood_max = 200
effective_blood_multiplier = 10
synth_metabolism_use_human = TRUE // Some robots run on tea
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/tea/on_mob_life(mob/living/carbon/M)
M.dizziness = max(0,M.dizziness-2)
@@ -351,6 +373,7 @@
glass_icon_state = "tea_red"
glass_name = "glass of red tea"
glass_desc = "A piping hot tea that helps with the digestion of food."
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/tea/red/on_mob_life(mob/living/carbon/M)
if(M.nutrition > NUTRITION_LEVEL_HUNGRY)
@@ -371,6 +394,7 @@
glass_icon_state = "tea_green"
glass_name = "glass of tea"
glass_desc = "A calming glass of green tea to help get you through the day."
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/tea/green/on_mob_life(mob/living/carbon/M)
M.adjustOrganLoss(ORGAN_SLOT_LIVER, -0.5) //Detox!
@@ -391,6 +415,7 @@
glass_icon_state = "tea_forest"
glass_name = "glass of forest tea"
glass_desc = "A lovely glass of tea and honey."
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/tea/forest/on_mob_life(mob/living/carbon/M)
if(M.getToxLoss() && prob(40))//Two anti-toxins working here
@@ -413,6 +438,7 @@
glass_icon_state = "tea_mush"
glass_name = "glass of mush tea"
glass_desc = "A cold merky brown tea."
+ thirst_factor = THIRST_FACTOR * 8
/datum/reagent/consumable/tea/mush/on_mob_life(mob/living/carbon/M)
M.set_drugginess(20) //Little better then space drugs
@@ -433,6 +459,7 @@
glass_desc = "This drink leaves you feeling nostalgic for some reason."
value = REAGENT_VALUE_VERY_COMMON
ghoulfriendly = TRUE
+ thirst_factor = THIRST_FACTOR * 9
/datum/reagent/consumable/tea/arnold_palmer
name = "Arnold Palmer"
@@ -444,6 +471,7 @@
glass_name = "Arnold Palmer"
glass_desc = "You feel like taking a few golf swings after a few swigs of this."
value = REAGENT_VALUE_VERY_COMMON
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/tea/arnold_palmer/on_mob_life(mob/living/carbon/M)
if(prob(5))
@@ -460,6 +488,7 @@
glass_icon_state = "icedcoffeeglass"
glass_name = "iced coffee"
glass_desc = "A drink to perk you up and refresh you!"
+ thirst_factor = THIRST_FACTOR * 8
/datum/reagent/consumable/icecoffee/on_mob_life(mob/living/carbon/M)
M.dizziness = max(0,M.dizziness-5)
@@ -478,6 +507,7 @@
glass_icon_state = "icedteaglass"
glass_name = "iced tea"
glass_desc = "All natural, antioxidant-rich flavour sensation."
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/icetea/on_mob_life(mob/living/carbon/M)
M.dizziness = max(0,M.dizziness-2)
@@ -499,6 +529,7 @@
glass_name = "glass of Space Cola"
glass_desc = "A glass of refreshing Space Cola."
canbrew = TRUE
+ thirst_factor = THIRST_FACTOR * 8
/datum/reagent/consumable/space_cola/on_mob_life(mob/living/carbon/M)
M.drowsyness = max(0,M.drowsyness-5)
@@ -514,6 +545,7 @@
glass_icon_state = "Space_mountain_wind_glass"
glass_name = "glass of Space Mountain Wind"
glass_desc = "Space Mountain Wind. As you know, there are no mountains in space, only wind."
+ thirst_factor = THIRST_FACTOR * 8
/datum/reagent/consumable/spacemountainwind/on_mob_life(mob/living/carbon/M)
M.drowsyness = max(0,M.drowsyness-7)
@@ -532,6 +564,7 @@
glass_name = "glass of Dr. Gibb"
glass_desc = "Dr. Gibb. Not as dangerous as the glass_name might imply."
canbrew = TRUE
+ thirst_factor = THIRST_FACTOR * 8
/datum/reagent/consumable/dr_gibb/on_mob_life(mob/living/carbon/M)
M.drowsyness = max(0,M.drowsyness-6)
@@ -547,7 +580,7 @@
glass_icon_state = "space-up_glass"
glass_name = "glass of Space-Up"
glass_desc = "Space-up. It helps you keep your cool."
-
+ thirst_factor = THIRST_FACTOR * 8
/datum/reagent/consumable/space_up/on_mob_life(mob/living/carbon/M)
M.adjust_bodytemperature(-8 * TEMPERATURE_DAMAGE_COEFFICIENT, BODYTEMP_NORMAL)
@@ -562,6 +595,7 @@
glass_icon_state = "glass_yellow"
glass_name = "glass of lemon-lime"
glass_desc = "You're pretty certain a real fruit has never actually touched this."
+ thirst_factor = THIRST_FACTOR * 8
/datum/reagent/consumable/lemon_lime/on_mob_life(mob/living/carbon/M)
M.adjust_bodytemperature(-8 * TEMPERATURE_DAMAGE_COEFFICIENT, BODYTEMP_NORMAL)
@@ -577,6 +611,7 @@
glass_name = "glass of Pwr Game"
glass_desc = "Goes well with a Vlad's salad."
canbrew = TRUE
+ thirst_factor = THIRST_FACTOR * 8
/datum/reagent/consumable/pwr_game/on_mob_life(mob/living/carbon/M)
M.adjust_bodytemperature(-8 * TEMPERATURE_DAMAGE_COEFFICIENT, BODYTEMP_NORMAL)
@@ -607,6 +642,7 @@
glass_name = "honeycomb of Buzz Fuzz"
glass_desc = "Stinging with flavour."
canbrew = TRUE
+ thirst_factor = THIRST_FACTOR * 8
//This drink seems to be just made for plants.. how curious.
/datum/reagent/consumable/buzz_fuzz/on_hydroponics_apply(obj/item/seeds/myseed, datum/reagents/chems, obj/machinery/hydroponics/mytray, mob/user)
@@ -663,6 +699,7 @@
value = REAGENT_VALUE_COMMON
synth_metabolism_use_human = TRUE
canbrew = TRUE
+ thirst_factor = THIRST_FACTOR * 8
/datum/reagent/consumable/grey_bull/on_mob_metabolize(mob/living/L)
..()
@@ -689,6 +726,7 @@
glass_name = "glass of soda water"
glass_desc = "Soda water. Why not make a scotch and soda?"
canbrew = TRUE
+ thirst_factor = THIRST_FACTOR * 9
// A variety of nutrients are dissolved in club soda, without sugar.
// These nutrients include carbon, oxygen, hydrogen, phosphorous, potassium, sulfur and sodium, all of which are needed for healthy plant growth.
@@ -712,6 +750,7 @@
glass_icon_state = "glass_clear"
glass_name = "glass of tonic water"
glass_desc = "Quinine tastes funny, but at least it'll keep that Space Malaria away."
+ thirst_factor = THIRST_FACTOR * 8
/datum/reagent/consumable/tonic/on_mob_life(mob/living/carbon/M)
M.dizziness = max(0,M.dizziness-5)
@@ -731,6 +770,7 @@
glass_icon_state = "iceglass"
glass_name = "glass of ice"
glass_desc = "Generally, you're supposed to put something else in there too..."
+ thirst_factor = THIRST_FACTOR * 12
/datum/reagent/consumable/ice/on_mob_life(mob/living/carbon/M)
M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, BODYTEMP_NORMAL)
@@ -746,6 +786,7 @@
glass_name = "soy latte"
glass_desc = "A nice and refreshing beverage while you're reading."
value = REAGENT_VALUE_VERY_COMMON
+ thirst_factor = THIRST_FACTOR * 8
/datum/reagent/consumable/soy_latte/on_mob_life(mob/living/carbon/M)
M.dizziness = max(0,M.dizziness-5)
@@ -767,6 +808,7 @@
glass_name = "cafe latte"
glass_desc = "A nice, strong and refreshing beverage while you're reading."
value = REAGENT_VALUE_VERY_COMMON
+ thirst_factor = THIRST_FACTOR * 8
/datum/reagent/consumable/cafe_latte/on_mob_life(mob/living/carbon/M)
M.dizziness = max(0,M.dizziness-5)
@@ -788,6 +830,7 @@
glass_name = "Doctor's Delight"
glass_desc = "The follower's favorite. Guaranteed to restore bodily injury; side effects include cravings and hunger."
value = REAGENT_VALUE_COMMON
+ thirst_factor = THIRST_FACTOR * 8
/datum/reagent/consumable/doctor_delight/on_mob_life(mob/living/carbon/M)
M.adjustBruteLoss(-0.5, 0)
@@ -842,6 +885,7 @@
glass_desc = "A cherry flavored milkshake."
value = REAGENT_VALUE_COMMON
canbrew = TRUE
+ thirst_factor = THIRST_FACTOR * 5
/datum/reagent/consumable/bluecherryshake
name = "Blue Cherry Shake"
@@ -855,6 +899,7 @@
glass_desc = "An exotic blue milkshake."
value = REAGENT_VALUE_UNCOMMON
canbrew = TRUE
+ thirst_factor = THIRST_FACTOR * 5
/datum/reagent/consumable/vanillashake
name = "Vanilla Shake"
@@ -868,6 +913,7 @@
glass_desc = "A vanilla flavored milkshake."
value = REAGENT_VALUE_COMMON
canbrew = TRUE
+ thirst_factor = THIRST_FACTOR * 5
/datum/reagent/consumable/caramelshake
name = "Caramel Shake"
@@ -881,6 +927,7 @@
glass_desc = "A caramel flavored milkshake."
value = REAGENT_VALUE_COMMON
canbrew = TRUE
+ thirst_factor = THIRST_FACTOR * 5
/datum/reagent/consumable/choccyshake
name = "Chocolate Shake"
@@ -894,6 +941,7 @@
glass_desc = "A chocolate flavored milkshake."
value = REAGENT_VALUE_COMMON
canbrew = TRUE
+ thirst_factor = THIRST_FACTOR * 5
/datum/reagent/consumable/choccyshake/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
if(HAS_TRAIT(M, TRAIT_NO_CHOCOLATE))
@@ -911,6 +959,7 @@
glass_name = "pumpkin latte"
glass_desc = "A mix of coffee and pumpkin juice."
value = REAGENT_VALUE_COMMON
+ thirst_factor = THIRST_FACTOR * 7
/datum/reagent/consumable/gibbfloats
name = "Gibb Floats"
@@ -924,12 +973,14 @@
glass_desc = "Dr. Gibb with ice cream on top."
value = REAGENT_VALUE_VERY_COMMON
canbrew = TRUE
+ thirst_factor = THIRST_FACTOR * 7
/datum/reagent/consumable/pumpkinjuice
name = "Pumpkin Juice"
description = "Juiced from real pumpkin."
color = "#FFA500"
taste_description = "pumpkin"
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/blumpkinjuice
name = "Blumpkin Juice"
@@ -937,6 +988,7 @@
color = "#00BFFF"
taste_description = "a mouthful of pool water"
value = REAGENT_VALUE_VERY_COMMON
+ thirst_factor = THIRST_FACTOR * 12
/datum/reagent/consumable/triple_citrus
name = "Triple Citrus"
@@ -947,6 +999,7 @@
glass_icon_state = "triplecitrus" //needs own sprite mine are trash
glass_name = "glass of triple citrus"
glass_desc = "A mixture of citrus juices. Tangy, yet smooth."
+ thirst_factor = THIRST_FACTOR * 8
/datum/reagent/consumable/grape_soda
name = "Grape soda"
@@ -956,6 +1009,7 @@
glass_name = "glass of grape juice"
glass_desc = "It's grape (soda)!"
canbrew = TRUE
+ thirst_factor = THIRST_FACTOR * 8
/datum/reagent/consumable/grape_soda/on_mob_life(mob/living/carbon/M)
M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, BODYTEMP_NORMAL)
@@ -969,6 +1023,7 @@
taste_description = "chocolate milk"
value = REAGENT_VALUE_VERY_COMMON
canbrew = TRUE
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/milk/chocolate_milk/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
if(HAS_TRAIT(M, TRAIT_NO_CHOCOLATE))
@@ -983,6 +1038,7 @@
glass_icon_state = "glass_green"
glass_name = "glass of menthol"
glass_desc = "Tastes naturally minty, and imparts a very mild numbing sensation."
+ thirst_factor = THIRST_FACTOR * 2
/datum/reagent/consumable/menthol/on_mob_life(mob/living/L)
L.apply_status_effect(/datum/status_effect/throat_soothed)
@@ -995,6 +1051,7 @@
taste_description = "sweet pomegranates"
glass_name = "glass of grenadine"
glass_desc = "Delicious flavored syrup."
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/parsnipjuice
name = "Parsnip Juice"
@@ -1003,6 +1060,7 @@
taste_description = "parsnip"
glass_name = "glass of parsnip juice"
value = REAGENT_VALUE_COMMON
+ thirst_factor = THIRST_FACTOR * 5
/datum/reagent/consumable/peachjuice //Intended to be extremely rare due to being the limiting ingredients in the blazaam drink
name = "Peach Juice"
@@ -1010,6 +1068,7 @@
color = "#E78108"
taste_description = "peaches"
glass_name = "glass of peach juice"
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/pineapplejuice
name = "Pineapple Juice"
@@ -1018,6 +1077,7 @@
taste_description = "pineapple"
glass_name = "glass of pineapple juice"
glass_desc = "Tart, tropical, and hotly debated."
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/cream_soda
name = "Cream Soda"
@@ -1030,6 +1090,7 @@
glass_desc = "A classic All-American vanilla flavored soft drink."
value = REAGENT_VALUE_VERY_COMMON //just a little vanilla
canbrew = TRUE
+ thirst_factor = THIRST_FACTOR * 8
/datum/reagent/consumable/cream_soda/on_mob_life(mob/living/carbon/M)
M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, BODYTEMP_NORMAL)
@@ -1045,6 +1106,7 @@
glass_name = "Sol Dry"
glass_desc = "A soothing, mellow drink made from ginger."
canbrew = TRUE
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/sol_dry/on_mob_life(mob/living/carbon/M)
M.adjust_disgust(-5)
@@ -1090,6 +1152,7 @@
glass_name = "tall glass of strawberry milk"
glass_desc = "Delicious flavored strawberry syrup mixed with milk."
value = REAGENT_VALUE_VERY_COMMON
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/pinkmilk/on_mob_life(mob/living/carbon/M)
if(prob(15))
@@ -1106,6 +1169,7 @@
taste_description = "sweet tea with a hint of strawberry"
glass_name = "mug of strawberry tea"
glass_desc = "Delicious traditional tea flavored with strawberries."
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/pinktea/on_mob_life(mob/living/carbon/M)
if(prob(10))
@@ -1122,6 +1186,7 @@
glass_icon_state = "teaglass"
glass_name = "glass of catnip tea"
glass_desc = "A purrfect drink for a cat."
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/catnip_tea/on_mob_life(mob/living/carbon/M)
M.adjustStaminaLoss(min(50 - M.getStaminaLoss(), 3))
@@ -1136,6 +1201,7 @@
glass_name = "glass of Monkey Energy"
glass_desc = "You can unleash the ape, but without the pop of the can?"
value = REAGENT_VALUE_COMMON
+ thirst_factor = THIRST_FACTOR * 7
/datum/reagent/consumable/monkey_energy/on_mob_life(mob/living/carbon/M)
M.Jitter(20)
@@ -1155,6 +1221,7 @@
glass_desc = "Exotic! You feel like you are on vacation already."
value = REAGENT_VALUE_COMMON
ghoulfriendly = TRUE
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/aloejuice
name = "Aloe Juice"
@@ -1165,6 +1232,7 @@
glass_name = "glass of aloe juice"
glass_desc = "A healthy and refreshing juice."
ghoulfriendly = TRUE
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/aloejuice/on_mob_life(mob/living/M)
if(M.getToxLoss() && prob(30))
@@ -1200,6 +1268,7 @@
glass_icon_state = "glass_cucumber"
glass_name = "glass of cucumber juice"
glass_desc = "A glass of cucumber juice."
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/cucumberlemonade
name = "Cucumber Lemonade"
@@ -1210,6 +1279,7 @@
glass_icon_state = "cucumber_lemonade"
glass_name = "cucumber lemonade"
glass_desc = "The smell of cucumber from lemonade, I'm sure I won't get poisoned?."
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/strawberry_banana
name = "strawberry banana smoothie"
@@ -1221,6 +1291,7 @@
glass_name = "strawberry banana smoothie"
glass_desc = "A classic drink which countless souls have bonded over..."
canbrew = TRUE
+ thirst_factor = THIRST_FACTOR * 8
/datum/reagent/consumable/berry_blast
name = "berry blast smoothie"
@@ -1232,6 +1303,7 @@
glass_name = "berry blast smoothie"
glass_desc = "A classic drink, freshly made with hand picked berries. Or, maybe not."
canbrew = TRUE
+ thirst_factor = THIRST_FACTOR * 8
/datum/reagent/consumable/funky_monkey
name = "funky monkey smoothie"
@@ -1243,6 +1315,7 @@
glass_name = "funky monkey smoothie"
glass_desc = "A classic drink made with chocolate and banana. No monkeys were harmed, officially."
canbrew = TRUE
+ thirst_factor = THIRST_FACTOR * 8
/datum/reagent/consumable/funky_monkey/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
if(HAS_TRAIT(M, TRAIT_NO_CHOCOLATE))
@@ -1259,6 +1332,7 @@
glass_name = "green giant smoothie"
glass_desc = "A classic drink, if you enjoy juiced wheatgrass and chia seeds."
canbrew = TRUE
+ thirst_factor = THIRST_FACTOR * 8
/datum/reagent/consumable/melon_baller
name = "melon baller smoothie"
@@ -1270,6 +1344,7 @@
glass_name = "melon baller smoothie"
glass_desc = "A wonderfully fresh melon smoothie. Guaranteed to brighten your day."
canbrew = TRUE
+ thirst_factor = THIRST_FACTOR * 8
/datum/reagent/consumable/vanilla_dream
name = "vanilla dream smoothie"
@@ -1281,6 +1356,7 @@
glass_name = "vanilla dream smoothie"
glass_desc = "A classic drink made with vanilla and fresh cream."
canbrew = TRUE
+ thirst_factor = THIRST_FACTOR * 8
/datum/reagent/consumable/roy_rogers
name = "Roy Rogers"
@@ -1292,6 +1368,7 @@
glass_name = "Roy Rogers"
glass_desc = "90% sugar in a glass."
canbrew = TRUE
+ thirst_factor = THIRST_FACTOR * 8
/datum/reagent/consumable/roy_roger/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
M.Jitter(6 * REM * delta_time) //not as strong as coffe, still this is a lot of sugar
@@ -1309,6 +1386,7 @@
glass_name = "Cinderlla"
glass_desc = "There is not a single drop of alcohol in this thing."
canbrew = TRUE
+ thirst_factor = THIRST_FACTOR * 8
/datum/reagent/consumable/cinderella/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
M.adjust_disgust(-5 * REM * delta_time)
@@ -1324,6 +1402,7 @@
glass_name = "Shirley Temple"
glass_desc = "Ginger ale with processed grenadine. "
canbrew = TRUE
+ thirst_factor = THIRST_FACTOR * 8
/datum/reagent/consumable/shirley_temple/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
M.adjust_disgust(-3 * REM * delta_time)
@@ -1338,6 +1417,7 @@
glass_icon_state = "aguafresca"
glass_name = "Agua Fresca"
glass_desc = "90% water, but still refreshing."
+ thirst_factor = THIRST_FACTOR * 8
/datum/reagent/consumable/agua_fresca/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
M.adjust_bodytemperature(-8 * TEMPERATURE_DAMAGE_COEFFICIENT, BODYTEMP_NORMAL)
diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm
index 8865f03c61b..420e22af4b2 100644
--- a/code/modules/reagents/chemistry/reagents/food_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm
@@ -397,6 +397,7 @@
nutriment_factor = 1 * REAGENTS_METABOLISM
color = "#302000" // rgb: 48, 32, 0
taste_description = "flowers"
+ thirst_factor = THIRST_FACTOR * 7
/datum/reagent/consumable/brocjuice/on_mob_life(mob/living/carbon/M)
M.adjustOxyLoss(-1*REAGENTS_EFFECT_MULTIPLIER, 0)
@@ -408,6 +409,7 @@
nutriment_factor = 1 * REAGENTS_METABOLISM
color = "#302000" // rgb: 48, 32, 0
taste_description = "dirt"
+ thirst_factor = THIRST_FACTOR * 5
/datum/reagent/consumable/xanderjuice/on_mob_life(mob/living/carbon/M)
if(M.blood_volume < BLOOD_VOLUME_NORMAL)
@@ -420,6 +422,7 @@
nutriment_factor = 1 * REAGENTS_METABOLISM
color = "#BAE3B4"
taste_description = "plants"
+ thirst_factor = THIRST_FACTOR * 8
/datum/reagent/consumable/agavejuice/on_mob_life(mob/living/carbon/M)
M.adjustFireLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0)
@@ -431,6 +434,7 @@
nutriment_factor = 1 * REAGENTS_METABOLISM
color = "#E8E67E"
taste_description = "bitter"
+ thirst_factor = THIRST_FACTOR * 6
/datum/reagent/consumable/ferajuice/on_mob_life(mob/living/carbon/M)
if(M.health > 20)
@@ -443,6 +447,7 @@
nutriment_factor = 1 * REAGENTS_METABOLISM
color = "#ACDFCE"
taste_description = "bitter leaves"
+ thirst_factor = THIRST_FACTOR * 6
/datum/reagent/consumable/daturajuice/on_mob_life(mob/living/carbon/M)
M.set_drugginess(5)
@@ -455,6 +460,7 @@
nutriment_factor = 1 * REAGENTS_METABOLISM
color = "#168B64"
taste_description = "leaves"
+ thirst_factor = THIRST_FACTOR * 4
/datum/reagent/consumable/coyotejuice/on_mob_life(mob/living/carbon/M)
if(prob(10))
@@ -471,6 +477,7 @@
nutriment_factor = 1 * REAGENTS_METABOLISM
color = "#274E13"
taste_description = "nuts"
+ thirst_factor = THIRST_FACTOR * 4
/datum/reagent/consumable/cavefungusjuice/on_mob_life(mob/living/carbon/M)
M.adjustToxLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0)
@@ -482,6 +489,7 @@
nutriment_factor = 1 * REAGENTS_METABOLISM
color = "#274E13"
taste_description = "tato"
+ thirst_factor = THIRST_FACTOR * 4
/datum/reagent/consumable/bloodleafjuice
name = "Bloodleaf Juice"
@@ -489,6 +497,7 @@
nutriment_factor = 1 * REAGENTS_METABOLISM
color = "#990000"
taste_description = "bitter"
+ thirst_factor = THIRST_FACTOR * 4
/datum/reagent/consumable/blackpepper
name = "Black Pepper"
@@ -562,6 +571,7 @@
taste_description = "garlic"
metabolization_rate = 0.15 * REAGENTS_METABOLISM
value = REAGENT_VALUE_COMMON
+ thirst_factor = THIRST_FACTOR * 4
/datum/reagent/consumable/garlic/on_mob_life(mob/living/carbon/M)
if(isvampire(M)) //incapacitating but not lethal. Unfortunately, vampires cannot vomit.
@@ -804,6 +814,7 @@
taste_description = "bitterness"
pH = 5
value = REAGENT_VALUE_COMMON
+ thirst_factor = THIRST_FACTOR * 4
/datum/reagent/consumable/tearjuice/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
if(!istype(M))
diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm
index 7c90830586b..02394398b9c 100644
--- a/code/modules/reagents/chemistry/reagents/other_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm
@@ -14,6 +14,7 @@
pH = 7.4
ghoulfriendly = TRUE
synth_metabolism_use_human = TRUE
+ thirst_factor = THIRST_FACTOR * 10 // I mean, why not? Emergency ration!
// FEED ME,SEYMOUR!
/datum/reagent/blood/on_hydroponics_apply(obj/item/seeds/myseed, datum/reagents/chems, obj/machinery/hydroponics/mytray)
@@ -155,6 +156,7 @@
taste_description = "oil"
color = BLOOD_COLOR_SYNTHETIC // rgb: 11, 7, 48
value = REAGENT_VALUE_NONE
+ thirst_factor = THIRST_FACTOR * 5 // Not a good water substance
/datum/reagent/blood/jellyblood
data = list("donor"=null,"viruses"=null,"blood_DNA"=null, "bloodcolor" = BLOOD_COLOR_SLIME, "blood_type"="GEL","resistances"=null,"trace_chem"=null,"mind"=null,"ckey"=null,"gender"=null,"real_name"=null,"cloneable"=null,"factions"=null)
@@ -172,6 +174,7 @@
taste_description = "sap" //Like tree sap?
pH = 7.45
value = REAGENT_VALUE_NONE
+ thirst_factor = THIRST_FACTOR * 12
/datum/reagent/blood/jellyblood/on_mob_life(mob/living/carbon/M)
if(prob(10))
@@ -193,6 +196,7 @@
data = list("donor"=null,"viruses"=null,"blood_DNA"=null, "bloodcolor" = BLOOD_COLOR_HUMAN, "blood_type"= "O+","resistances"=null,"trace_chem"=null,"mind"=null,"ckey"=null,"gender"=null,"real_name"=null,"cloneable"=null,"factions"=null)
pH = 7.45
ghoulfriendly = TRUE
+ thirst_factor = THIRST_FACTOR * 7 // In case you are REALLY out of options...
/datum/reagent/liquidgibs/xeno
name = "Liquid xeno gibs"
@@ -244,15 +248,16 @@
src.data |= data.Copy()
/datum/reagent/water
- name = "Water"
+ name = "Impure Water"
description = "An ubiquitous chemical substance that is composed of hydrogen and oxygen."
- color = "#AAAAAA77" // rgb: 170, 170, 170, 77 (alpha)
- taste_description = "water"
+ color = "#867f7577"
+ taste_description = "dirty water"
overdose_threshold = 150 //Imagine drinking a gallon of water
var/cooling_temperature = 2
+ thirst_factor = THIRST_FACTOR * 15 // 11.25 per 5 units; 112.5 per 50; 562.5 per 250
glass_icon_state = "glass_clear"
glass_name = "glass of water"
- glass_desc = "The father of all refreshments."
+ glass_desc = "The father of all refreshments. A bit unclean."
shot_glass_icon_state = "shotglassclear"
ghoulfriendly = TRUE
synth_metabolism_use_human = TRUE
@@ -261,6 +266,7 @@
. = ..()
if(M.blood_volume)
M.blood_volume += 0.1 // water is good for you!
+ M.radiation += 0.5 //Its also good for radiation !
/*
* Water reaction to turf
@@ -341,13 +347,16 @@
color = "#5E6566AA" // Charcoal is in it, so kinda looking weird?
taste_description = "purity" // Why did you eat it anyway?
value = REAGENT_VALUE_RARE // Difficult to make
+ thirst_factor = THIRST_FACTOR * 3 // Let's pretend you didn't have ANY source of water nearby
+ can_synth = FALSE
/datum/reagent/water/purified
name = "Purified Water"
description = "An ubiquitous chemical substance that is composed of hydrogen and oxygen. This one has been purified from radiation."
- color = "#C3DBDA66" // It's cleaner, kek
+ color = "#e5ffff9e" // It's cleaner, kek
taste_description = "clean water"
value = REAGENT_VALUE_AMAZING
+ thirst_factor = THIRST_FACTOR * 30 // 22.5 per 5 units; 225 per 50; 1125 per 250
can_synth = FALSE
/datum/reagent/water/purified/on_mob_life(mob/living/carbon/M) // Pure water is very, very healthy
@@ -376,6 +385,7 @@
glass_name = "glass of holy water"
glass_desc = "A glass of holy water."
pH = 7.5 //God is alkaline
+ thirst_factor = THIRST_FACTOR * 18 // Cool water
// Holy water. Mostly the same as water, it also heals the plant a little with the power of the spirits. Also ALSO increases instability.
/datum/reagent/water/holywater/on_hydroponics_apply(obj/item/seeds/myseed, datum/reagents/chems, obj/machinery/hydroponics/mytray)
diff --git a/fallout/reagents/alcohol.dm b/fallout/reagents/alcohol.dm
index 46c7f402568..8d37a1650e9 100644
--- a/fallout/reagents/alcohol.dm
+++ b/fallout/reagents/alcohol.dm
@@ -8,6 +8,7 @@
glass_icon_state = "meadglass"
glass_name = "waster mead"
glass_desc = "A true Wastelander's drink."
+ thirst_factor = THIRST_FACTOR * 15
/datum/reagent/consumable/ethanol/tatovodka
name = "Tato Vodka"
@@ -49,6 +50,7 @@
glass_icon_state = "Space_mountain_wind_glass"
glass_name = "glass of punga juice"
glass_desc = "The glass contain punga juice, used to treat radiation sickness."
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/ethanol/pungajuice/on_mob_life(mob/living/carbon/M)
M.radiation = max(M.radiation-14,0)
@@ -85,6 +87,8 @@
effective_blood_max = 400
//var/last_added = 0
//var/maximum_reachable = BLOOD_VOLUME_NORMAL - 10
+ thirst_factor = THIRST_FACTOR * 14
+
/datum/reagent/consumable/ethanol/brocbrew/on_mob_life(mob/living/carbon/M)
M.adjustOxyLoss(-5*REAGENTS_EFFECT_MULTIPLIER, 0)
@@ -338,6 +342,7 @@
glass_icon_state = "nukacideglass"
glass_name = "Nuka-Cide"
glass_desc = "The drink of a goddamn madman, say your sorrows when you drink this."
+ thirst_factor = THIRST_FACTOR * 5
/datum/reagent/consumable/ethanol/nukacide/on_mob_life(mob/living/carbon/M)
if(prob(30))
@@ -357,6 +362,8 @@
glass_icon_state = "nukafancyglass"
glass_name = "Nuka-Fancy"
glass_desc = "A mixture of both Wild and cherry, making something absolutely tasty."
+ thirst_factor = THIRST_FACTOR * 15
+
/datum/reagent/consumable/ethanol/nukafancy/on_mob_life(mob/living/carbon/M)
var/high_message = pick("
Maybe I too need some Slaves?","
Mutfruit for All!","
Time to Glorify my Wasteland Castle!","")
@@ -378,6 +385,7 @@
glass_icon_state = "nukaloveglass"
glass_name = "Nuka-Love"
glass_desc = "A Nuka-Cola twist on a passionate classic."
+ thirst_factor = THIRST_FACTOR * 13
/datum/reagent/consumable/ethanol/nukalove/on_mob_life(mob/living/carbon/M)
M.adjustBruteLoss(-2*REAGENTS_EFFECT_MULTIPLIER, 0)
@@ -396,6 +404,7 @@
glass_icon_state = "nukapunchglass"
glass_name = "Nuka-Punch"
glass_desc = "A fruit punch mixture with a Nuka kick."
+ thirst_factor = THIRST_FACTOR * 14
/datum/reagent/consumable/ethanol/nukapunch/on_mob_life(mob/living/carbon/M)
M.adjustBruteLoss(-4*REAGENTS_EFFECT_MULTIPLIER)
@@ -420,6 +429,7 @@
glass_icon_state = "nukasunriseglass"
glass_name = "Nuka-Sunrise"
glass_desc = "A Nuka-Cola original drink, totally original and first of its kind!"
+ thirst_factor = THIRST_FACTOR * 15
/datum/reagent/consumable/ethanol/nukasunrise/on_mob_life(mob/living/carbon/M)
M.adjustFireLoss(-2.5*REAGENTS_EFFECT_MULTIPLIER, 0)
@@ -440,7 +450,7 @@
glass_desc = "An extremely blue and glowing combination of Nuka-Cola and (REDACTED)"
var/datum/brain_trauma/special/psychotic_brawling/bath_salts/rage
ghoulfriendly = TRUE
-
+ thirst_factor = THIRST_FACTOR * 18
/datum/reagent/consumable/ethanol/nukaquantum/on_mob_life(mob/living/carbon/M)
M.drowsyness = 0
@@ -487,7 +497,8 @@
glass_desc = "Like Quantum, but EXTREME."
var/datum/brain_trauma/special/psychotic_brawling/bath_salts/rage
ghoulfriendly = TRUE
-
+ thirst_factor = THIRST_FACTOR * 20
+
/datum/reagent/consumable/ethanol/nukaxtreme/on_mob_life(mob/living/carbon/M)
var/high_message = pick("
EXTREME", "
RAAAAR!", "
BRING IT!")
if(prob(100))
diff --git a/fallout/reagents/drinks.dm b/fallout/reagents/drinks.dm
index afdcdf38ad5..914d3d397ae 100644
--- a/fallout/reagents/drinks.dm
+++ b/fallout/reagents/drinks.dm
@@ -8,6 +8,7 @@
glass_desc = "Don't cry, don't raise your eye, it's only nuclear wasteland."
overdose_threshold = 100
ghoulfriendly = TRUE
+ thirst_factor = THIRST_FACTOR * 15
/datum/reagent/consumable/nuka_cola/on_mob_life(mob/living/carbon/M)
M.drowsyness = 0
@@ -32,6 +33,7 @@
glass_name = "glass of Sunset Sarsaparilla"
glass_desc = "Beverage of the West Coast."
ghoulfriendly = TRUE
+ thirst_factor = THIRST_FACTOR * 18
/datum/reagent/consumable/sunset/on_mob_life(mob/living/carbon/M)
M.drowsyness = 0
@@ -49,6 +51,7 @@
glass_name = "glass of Vim"
glass_desc = "Unrelated to Nuka-Cola, Vim trademark Circa 2077."
ghoulfriendly = TRUE
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/vim/on_mob_life(mob/living/carbon/M)
M.adjustToxLoss(-0.5, 0)
@@ -69,6 +72,7 @@
glass_icon_state = "vimquartzglass"
glass_name = "Vim Quartz"
glass_desc = "You've Got Vim! Quartz edition, worse than the Imitation."
+ thirst_factor = THIRST_FACTOR * 12
/datum/reagent/consumable/vimquartz/on_mob_life(mob/living/carbon/M)
M.vomit(10)
@@ -91,6 +95,7 @@
glass_icon_state = "grasshopper"
glass_name = "Vim Refresh"
glass_desc = "You've Got Vim Refresh! Ooooh!"
+ thirst_factor = THIRST_FACTOR * 15
/datum/reagent/consumable/vimrefresh/on_mob_life(mob/living/carbon/M)
M.adjustFireLoss(-0.1*REAGENTS_EFFECT_MULTIPLIER, 0)
@@ -114,6 +119,7 @@
glass_icon_state = "vimiceglass"
glass_name = "Iced Vim"
glass_desc = "You've Got Vim! Cold as the East."
+ thirst_factor = THIRST_FACTOR * 14
/datum/reagent/consumable/vimice/on_mob_life(mob/living/carbon/M)
M.adjust_bodytemperature(-40 * TEMPERATURE_DAMAGE_COEFFICIENT, T0C)
@@ -135,6 +141,7 @@
glass_icon_state = "nukacherryglass"
glass_name = "Nuka-Cherry"
glass_desc = "Nuka-Cola with a Cherry Aftertaste."
+ thirst_factor = THIRST_FACTOR * 18
/datum/reagent/consumable/nukacherry/on_mob_life(mob/living/carbon/M)
M.adjustFireLoss(-0.1*REAGENTS_EFFECT_MULTIPLIER, 0)
@@ -152,6 +159,7 @@
glass_icon_state = "nukagrapeglass"
glass_name = "Nuka-Grape"
glass_desc = "Nuka-Cola with a Grape Aftertaste."
+ thirst_factor = THIRST_FACTOR * 18
/datum/reagent/consumable/nukagrape/on_mob_life(mob/living/carbon/M)
M.adjustBruteLoss(-0.1*REAGENTS_EFFECT_MULTIPLIER, 0)
@@ -169,6 +177,7 @@
glass_icon_state = "nukaorangeglass"
glass_name = "Nuka-Orange"
glass_desc = "Nuka-Cola with a Orange Aftertaste."
+ thirst_factor = THIRST_FACTOR * 18
/datum/reagent/consumable/nukaorange/on_mob_life(mob/living/carbon/M)
M.adjustToxLoss(-0.1*REAGENTS_EFFECT_MULTIPLIER, 0)
@@ -185,6 +194,7 @@
glass_icon_state = "nukastrawberryglass"
glass_name = "Nuka-Strawberry"
glass_desc = "Nuka-Cola with a Strawberry Aftertaste."
+ thirst_factor = THIRST_FACTOR * 20
/datum/reagent/consumable/nukastrawberry/on_mob_life(mob/living/carbon/M)
M.adjustBruteLoss(-0.1*REAGENTS_EFFECT_MULTIPLIER, 0)
@@ -202,6 +212,7 @@
glass_icon_state = "nukaquartzglass"
glass_name = "Nuka-Cola Quartz"
glass_desc = "An abomination of America's favourite soda."
+ thirst_factor = THIRST_FACTOR * 20
/datum/reagent/consumable/nukaquartz/on_mob_life(mob/living/carbon/M)
M.adjustOxyLoss(-1*REAGENTS_EFFECT_MULTIPLIER, 0)
@@ -219,6 +230,7 @@
glass_icon_state = "nukaiceglass"
glass_name = "Ice cold Nuka-Cola"
glass_desc = "Nuka. Stay frosty."
+ thirst_factor = THIRST_FACTOR * 15
/datum/reagent/consumable/nukaice/on_mob_life(mob/living/carbon/M)
M.adjust_bodytemperature(-20 * TEMPERATURE_DAMAGE_COEFFICIENT, T0C) //310.15 is the normal bodytemp.
@@ -243,6 +255,7 @@
glass_icon_state = "nukawildglass"
glass_name = "Nuka-Cola Wild"
glass_desc = "A totally original concept of Nuka-Cola!"
+ thirst_factor = THIRST_FACTOR * 14
/datum/reagent/consumable/nukawild/on_mob_life(mob/living/carbon/M)
M.AdjustStun(-2, 0)
@@ -261,6 +274,7 @@
glass_icon_state = "nukarayglass"
glass_name = "Nuka-Ray"
glass_desc = "A Nuka mixture of both Nuka-Cola Victory and orange."
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/nukaray/on_mob_life(mob/living/carbon/M)
M.adjustToxLoss(-2*REAGENTS_EFFECT_MULTIPLIER)
@@ -280,6 +294,7 @@
glass_icon_state = "nukarushglass"
glass_name = "Nuka-Rush"
glass_desc = "A mixture of both Nuka-Cola Victory and Wild."
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/nukarush/on_mob_life(mob/living/carbon/M)
M.adjustToxLoss(-1.5*REAGENTS_EFFECT_MULTIPLIER)
@@ -301,6 +316,7 @@
glass_icon_state = "nukanewglass"
glass_name = "Newka-Cola"
glass_desc = "The tastiest hybridisation of Nuka-Colas."
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/nukanew/on_mob_life(mob/living/carbon/M)
M.adjustFireLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0)
@@ -320,6 +336,7 @@
glass_icon_state = "nukaberryglass"
glass_name = "Nuka-Berry"
glass_desc = "Nuka-Cola with a berry aftertaste."
+ thirst_factor = THIRST_FACTOR * 15
/datum/reagent/consumable/nukacooler
name = "Nuka-Cooler"
@@ -329,6 +346,7 @@
glass_icon_state = "nukacoolerglass"
glass_name = "Nuka-Cooler"
glass_desc = "Insanely cold Nuka-Cola, freezing the air that surrounds it."
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/nukacooler/on_mob_life(mob/living/carbon/M)
M.adjust_bodytemperature(-60 * TEMPERATURE_DAMAGE_COEFFICIENT, T0C) //310.15 is the normal bodytemp.
@@ -344,6 +362,7 @@
glass_icon_state = "nukafreeglass"
glass_name = "Diet Nuka-Cola"
glass_desc = "Nuka-Cola with no added sugars!"
+ thirst_factor = THIRST_FACTOR * 14
/datum/reagent/consumable/nukafree/on_mob_life(mob/living/carbon/M)
if(M.nutrition <= NUTRITION_LEVEL_STARVING)
@@ -362,6 +381,7 @@
glass_icon_state = "nukafruttiglass"
glass_name = "Nuka-Frutti"
glass_desc = "The frutiest of Nukas."
+ thirst_factor = THIRST_FACTOR * 14
/datum/reagent/consumable/nukafrutti/on_mob_life(mob/living/carbon/M)
M.adjustToxLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0)
@@ -382,6 +402,7 @@
glass_icon_state = "nukafloatglass"
glass_name = "Nuka-Cola Float"
glass_desc = "A delicious blend of ice cream and classic Nuka-Cola!"
+ thirst_factor = THIRST_FACTOR * 14
/datum/reagent/consumable/sunsetfloat
name = "Sunset Float"
@@ -392,6 +413,7 @@
glass_icon_state = "sunsetfloatglass"
glass_name = "Sunset Float"
glass_desc = "A delicious blend of ice cream and classic Sunset Sass!"
+ thirst_factor = THIRST_FACTOR * 14
/datum/reagent/consumable/bawlsshake
name = "Bawls Shake"
@@ -402,6 +424,7 @@
glass_icon_state = "bawlsshakeglass"
glass_name = "Bawls Shake"
glass_desc = "A blended shake consumed by those on high-energy blitz lifestyles."
+ thirst_factor = THIRST_FACTOR * 14
/datum/reagent/consumable/jakeshake
name = "Jake Shake"
@@ -412,6 +435,7 @@
glass_icon_state = "jakeshakeglass"
glass_name = "Jake Shake"
glass_desc ="Jake's patented shake of Jake."
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/jakeshake/on_mob_life(mob/living/carbon/M)
M.adjustOxyLoss(-1*REAGENTS_EFFECT_MULTIPLIER, 0)
@@ -430,6 +454,7 @@
glass_icon_state = "sweetwaterfloatglass"
glass_name = "Sweetwater Float"
glass_desc = "The sweetest water."
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/sweetwaterfloat/on_mob_life(mob/living/carbon/M)
M.adjustOxyLoss(-0.2*REAGENTS_EFFECT_MULTIPLIER, 0)
@@ -448,6 +473,7 @@
glass_icon_state = "sunsetterglass"
glass_name = "Sunsetter"
glass_desc = "For when the days dawn, lest brings a brighter tommorrow."
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/sunsetter/on_mob_life(mob/living/carbon/M)
M.adjustOxyLoss(-1*REAGENTS_EFFECT_MULTIPLIER, 0)
@@ -466,6 +492,7 @@
glass_icon_state = "yuccashakeglass"
glass_name = "Yucca Shake"
glass_desc = "A blended shake consisting of yucca and creamy goodness."
+ thirst_factor = THIRST_FACTOR * 15
/datum/reagent/consumable/yuccashake/on_mob_life(mob/living/carbon/M)
M.adjustOxyLoss(-1*REAGENTS_EFFECT_MULTIPLIER, 0)
@@ -483,6 +510,7 @@
glass_icon_state = "bawlsglass"
glass_name = "glass of Bawls Guarana"
glass_desc = "Beverage of the Bawls Guarana Company."
+ thirst_factor = THIRST_FACTOR * 10
/datum/reagent/consumable/bawls/on_mob_life(mob/living/carbon/M)
M.dizziness = max(0,M.dizziness-2)
@@ -503,7 +531,8 @@
glass_icon_state = "bigred"
glass_name = "bottle of Atomic Red"
glass_desc = "A bottle of an old southern classic soda, still mixed to this day. A creamy blend of bubblegum-esque orange-lemon, topped off with vanilla for a uniquely pleasant flavor. A favorite of otterlike folk." //not sure what to replace "otterlike" with, not even sure what it's supposed to mean
-
+ thirst_factor = THIRST_FACTOR * 10
+
/datum/reagent/consumable/big_red/on_mob_life(mob/living/carbon/M)
M.drowsyness = 0
M.AdjustSleeping(-40, FALSE)
diff --git a/fallout/reagents/juices.dm b/fallout/reagents/juices.dm
index db899c620e4..9ffb5be345c 100644
--- a/fallout/reagents/juices.dm
+++ b/fallout/reagents/juices.dm
@@ -5,6 +5,7 @@
taste_description = "sweet and salty"
glass_name = "glass of mutfruit juice"
glass_desc = "A glass of sweet-salty mutfruit juice."
+ thirst_factor = THIRST_FACTOR * 12
/datum/reagent/consumable/mutjuice/on_mob_life(mob/living/carbon/M)
if(M.getBruteLoss() && prob(50))
@@ -20,6 +21,7 @@
glass_icon_state = "banana"
glass_name = "glass of yucca juice"
glass_desc = "A wastelander's favourite."
+ thirst_factor = THIRST_FACTOR * 12
/datum/reagent/consumable/tato_juice
name = "Tato Juice"
@@ -30,6 +32,7 @@
glass_icon_state = "glass_brown"
glass_name = "glass of tato juice"
glass_desc = "Juice of the tato. Smells like bad eggs."
+ thirst_factor = THIRST_FACTOR * 9
/datum/reagent/consumable/fever_blossom_juice
name = "Fever Blossom Juice"
@@ -37,6 +40,7 @@
nutriment_factor = 1 * REAGENTS_METABOLISM
color = "#000000" //same purple
taste_description = "pleasant flowers"
+ thirst_factor = THIRST_FACTOR * 5
/datum/reagent/consumable/fever_blossom_juice/on_mob_life(mob/living/carbon/M)
M.jitteriness = max(0,M.jitteriness - 5)
diff --git a/icons/mob/screen_alert.dmi b/icons/mob/screen_alert.dmi
index 757c7a22f93..02530911dba 100644
Binary files a/icons/mob/screen_alert.dmi and b/icons/mob/screen_alert.dmi differ