Removes liver unfailure and makes alcohol do the killing thing sometimes (#35840)

* - Removes liver unfailure

* - MY LIVER FAILED INSTANTLY

* - Increases liver damage tenfold because whats the point of this pr if you need to drink 100 liters of the toughest booze in the game before you get liver damage

* - Fixes cyber livers not being twice as durable as ordinary livers
- Ok compromise alcohol does twice as much liver damage
- Fixes livers regenerating after they failed

* - I'll be happy if bacchus blessing destroys my liver and absinthe doesn't

* - I think this is the final number I'll punch in. I downed 14 shot glasses of vodka
This commit is contained in:
BordListian
2018-02-25 21:52:17 +01:00
committed by CitadelStationBot
parent 0589c06507
commit a75ac3bc13
3 changed files with 8 additions and 9 deletions
+1 -3
View File
@@ -412,11 +412,9 @@
if((!dna && !liver) || (NOLIVER in dna.species.species_traits))
return
if(liver)
if(liver.damage >= 100)
if(liver.damage >= liver.maxHealth)
liver.failing = TRUE
liver_failure()
else
liver.failing = FALSE
else
liver_failure()
@@ -39,7 +39,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
if(H.drunkenness < volume * boozepwr * ALCOHOL_THRESHOLD_MODIFIER)
H.drunkenness = max((H.drunkenness + (sqrt(volume) * boozepwr * ALCOHOL_RATE)), 0) //Volume, power, and server alcohol rate effect how quickly one gets drunk
var/obj/item/organ/liver/L = H.getorganslot(ORGAN_SLOT_LIVER)
H.applyLiverDamage((max(sqrt(volume) * boozepwr * L.alcohol_tolerance, 0))/10)
H.applyLiverDamage((max(sqrt(volume) * boozepwr * L.alcohol_tolerance, 0))/4)
return ..() || .
/datum/reagent/consumable/ethanol/reaction_obj(obj/O, reac_volume)
+6 -5
View File
@@ -20,13 +20,11 @@
/obj/item/organ/liver/on_life()
var/mob/living/carbon/C = owner
//slowly heal liver damage
damage = max(0, damage - 0.1)
if(damage > maxHealth)//cap liver damage
damage = maxHealth
if(istype(C))
if(!failing)//can't process reagents with a failing liver
//slowly heal liver damage
damage = max(0, damage - 0.1)
if(filterToxins)
//handle liver toxin filtration
var/toxamount
@@ -47,6 +45,9 @@
if(damage > 10 && prob(damage/3))//the higher the damage the higher the probability
to_chat(C, "<span class='notice'>You feel [pick("nauseous", "dull pain in your lower body", "confused")].</span>")
if(damage > maxHealth)//cap liver damage
damage = maxHealth
/obj/item/organ/liver/prepare_eat()
var/obj/S = ..()
S.reagents.add_reagent("iron", 5)