Alcoholism overhaul (#19179)

Takes on feedback from the implementation of the previous alcoholism
overhaul, and applies fixes to it to make things better, generally.

- Fixed up alcohol and butanol affect_ingest() to improve the logic
flow, and fix bugs where Unathi were able to drink alcohol without being
poisoned. Non-Unathi are now no longer intoxicated by butanol, as well.

- Better intoxication messages.

- Generally buffed intoxication resistances for Unathi, Tajara, and
Skrell, to compensate for recent changes to intoxication potency. Unathi
are MUCH more resistant to intoxication now (total resistance increased
from 0.4 to 0.8, which is slightly less than Tajara now) however they
can no longer drink alcohol at all without getting poisoned.

- Alcohol poisoning now does not kill by giving you liver damage and
MSOF, but by suppressing, and eventually stopping breathing.

- Ethylredoxrazine now prevents people from falling into comas from
alcohol toxicity alltogether.

- Vomiting from being intoxicated now happens much less often.

- Being drunk enough to cause vomiting now has a pulsing message to go
along with other drunkeness messages.

- You can now correctly black out or fall into an alcoholic coma while
buckled to a bed or laying down.

---------

Signed-off-by: Crosarius <30341877+Crosarius@users.noreply.github.com>
This commit is contained in:
Crosarius
2024-05-23 19:22:44 +00:00
committed by GitHub
parent 6af1078e19
commit 7bdf4cafa5
10 changed files with 124 additions and 86 deletions
+5 -5
View File
@@ -670,12 +670,12 @@ BREATH ANALYZER
switch(bac)
if(INTOX_JUDGEIMP to INTOX_MUSCLEIMP)
additional_string = "\[LIGHTLY INTOXICATED\]"
if(INTOX_MUSCLEIMP to INTOX_VOMIT)
if(INTOX_MUSCLEIMP to INTOX_BALANCE)
additional_string = "\[MODERATELY INTOXICATED\]"
if(INTOX_VOMIT to INTOX_BALANCE)
additional_string = SPAN_WARNING("\[HEAVILY INTOXICATED\]")
if(INTOX_BALANCE to INTOX_DEATH)
additional_string = SPAN_WARNING("\[ALCOHOL POISONING LIKELY\]")
if(INTOX_BALANCE to INTOX_BLACKOUT)
additional_string = "<span class='warning'>\[HEAVILY INTOXICATED\]</span>"
if(INTOX_BLACKOUT to INTOX_DEATH)
additional_string = "<span class='warning'>\[ALCOHOL POISONING LIKELY\]</span>"
if(INTOX_DEATH to INFINITY)
additional_string = SPAN_WARNING("\[DEATH IMMINENT\]")
to_chat(user,"<span class='normal'>Blood Alcohol Content: [round(bac,0.01)] <b>[additional_string]</b></span>")