diff --git a/code/modules/reagents/newchem/food.dm b/code/modules/reagents/newchem/food.dm index 5c3c6e5547f..ed244f15ae0 100644 --- a/code/modules/reagents/newchem/food.dm +++ b/code/modules/reagents/newchem/food.dm @@ -199,6 +199,7 @@ datum/reagent/fungus/reaction_mob(var/mob/M, var/method=TOUCH, var/volume) description = "An old household remedy for mild illnesses." reagent_state = LIQUID color = "#B4B400" + metabolization_rate = 0.2 /datum/reagent/chicken_soup/on_mob_life(var/mob/living/M as mob) M.nutrition += 2 diff --git a/code/modules/reagents/newchem/medicine.dm b/code/modules/reagents/newchem/medicine.dm index 4745a026fbf..8d6294b4156 100644 --- a/code/modules/reagents/newchem/medicine.dm +++ b/code/modules/reagents/newchem/medicine.dm @@ -278,6 +278,7 @@ datum/reagent/sal_acid description = "This is a is a standard salicylate pain reliever and fever reducer." reagent_state = LIQUID color = "#B3B3B3" + metabolization_rate = 0.1 shock_reduction = 25 overdose_threshold = 25 @@ -285,6 +286,10 @@ datum/reagent/sal_acid/on_mob_life(var/mob/living/M as mob) if(!M) M = holder.my_atom if(prob(55)) M.adjustBruteLoss(-2*REM) + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(H.traumatic_shock < 100) + H.shock_stage = 0 ..() return @@ -458,6 +463,10 @@ datum/reagent/morphine/on_mob_life(var/mob/living/M as mob) if(36 to INFINITY) M.Paralyse(10) M.drowsyness = max(M.drowsyness, 15) + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(H.traumatic_shock < 100) + H.shock_stage = 0 ..() return @@ -794,7 +803,7 @@ datum/reagent/antihol/on_mob_life(var/mob/living/M as mob) M.drowsyness = 0 M.slurring = 0 M.confused = 0 - M.reagents.remove_reagent("ethanol", 8) + M.reagents.remove_all_type(/datum/reagent/ethanol, 8, 0, 1) if(M.health < 25) M.adjustToxLoss(-2.0) ..() diff --git a/code/modules/reagents/newchem/toxins.dm b/code/modules/reagents/newchem/toxins.dm index d5d20843759..99a500c601a 100644 --- a/code/modules/reagents/newchem/toxins.dm +++ b/code/modules/reagents/newchem/toxins.dm @@ -454,6 +454,7 @@ datum/reagent/lipolicide description = "A compound found in many seedy dollar stores in the form of a weight-loss tonic." reagent_state = SOLID color = "#D1DED1" + metabolization_rate = 0.2 /datum/chemical_reaction/lipolicide name = "lipolicide" @@ -465,7 +466,8 @@ datum/reagent/lipolicide datum/reagent/lipolicide/on_mob_life(var/mob/living/M as mob) if(!M) M = holder.my_atom if(!holder.has_reagent("nutriment")) - M.adjustToxLoss(1) + if(prob(30)) + M.adjustToxLoss(1) M.nutrition -= 10 * REAGENTS_METABOLISM M.overeatduration = 0 if(M.nutrition < 0)//Prevent from going into negatives. diff --git a/code/modules/reagents/oldchem/reagents/reagents_med.dm b/code/modules/reagents/oldchem/reagents/reagents_med.dm index a9f2d48bb19..1a43b01f0e7 100644 --- a/code/modules/reagents/oldchem/reagents/reagents_med.dm +++ b/code/modules/reagents/oldchem/reagents/reagents_med.dm @@ -9,6 +9,10 @@ /datum/reagent/hydrocodone/on_mob_life(var/mob/living/M as mob) if(!M) M = holder.my_atom + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(H.traumatic_shock < 100) + H.shock_stage = 0 ..() return @@ -102,27 +106,22 @@ /datum/reagent/rezadone name = "Rezadone" id = "rezadone" - description = "A powder derived from fish toxin, this substance can effectively treat genetic damage in humanoids, though excessive consumption has side effects." + description = "A powder derived from fish toxin, Rezadone can effectively treat genetic damage as well as restoring minor wounds. Overdose will cause intense nausea and minor toxin damage." reagent_state = SOLID color = "#669900" // rgb: 102, 153, 0 + overdose_threshold = 30 -/datum/reagent/rezadone/on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - if(!data) data = 1 - data++ - switch(data) - if(1 to 15) - M.adjustCloneLoss(-1) - M.heal_organ_damage(1,1) - if(15 to 35) - M.adjustCloneLoss(-2) - M.heal_organ_damage(2,1) - M.status_flags &= ~DISFIGURED - if(35 to INFINITY) - M.adjustToxLoss(1) - M.Dizzy(5) - M.Jitter(5) +/datum/reagent/rezadone/on_mob_life(mob/living/M) + M.setCloneLoss(0) //Rezadone is almost never used in favor of cryoxadone. Hopefully this will change that. + M.heal_organ_damage(1,1) + M.status_flags &= ~DISFIGURED + ..() + return +/datum/reagent/rezadone/overdose_process(mob/living/M) + M.adjustToxLoss(1) + M.Dizzy(5) + M.Jitter(5) ..() return @@ -132,6 +131,7 @@ description = "An all-purpose antibiotic agent extracted from space fungus." reagent_state = LIQUID color = "#0AB478" + metabolization_rate = 0.2 /datum/reagent/spaceacillin/on_mob_life(var/mob/living/M as mob) ..()