From 039bce163b2337fa08a5f46d2dcbcd8b1e06ae2d Mon Sep 17 00:00:00 2001 From: Putnam3145 Date: Tue, 5 Mar 2024 11:31:16 -0800 Subject: [PATCH] Makes alcohol intolerance work properly with blood (#6324) ## About The Pull Request As title. Twice as strong injected than ingested, since that feels it ought to be worse. ## Why It's Good For The Game Weird quadratic damage uncorrelated with actual amount of alcohol is weird ## Changelog :cl: fix: Alcohol intolerance is now consistent between injection/ingestion /:cl: --- .../chemistry/reagents/Chemistry-Reagents-Dispenser.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/reagents/chemistry/reagents/Chemistry-Reagents-Dispenser.dm b/code/modules/reagents/chemistry/reagents/Chemistry-Reagents-Dispenser.dm index 2f7c6036369..563bdd79bfe 100644 --- a/code/modules/reagents/chemistry/reagents/Chemistry-Reagents-Dispenser.dm +++ b/code/modules/reagents/chemistry/reagents/Chemistry-Reagents-Dispenser.dm @@ -49,9 +49,10 @@ var/effective_dose = dose * strength_mod * (1 + volume/60) //drinking a LOT will make you go down faster M.add_chemical_effect(CE_ALCOHOL, 1) if(HAS_TRAIT(M, TRAIT_ALCOHOL_INTOLERANT)) - if(prob(effective_dose/10)) + var/intolerant_dose = 100*strength_mod*removed/strength + if(prob((intolerant_dose))) M.add_chemical_effect(CE_ALCOHOL_TOXIC, 1) - M.adjustToxLoss(effective_dose/10) + M.adjustToxLoss(intolerant_dose) // 10 strength = 10 tox per u, so 10u deathbell = 100, 10u vodka = 6.6666..., 10u beer = 20 return 0 if(effective_dose >= strength) // Early warning M.make_dizzy(18) // It is decreased at the speed of 3 per tick