diff --git a/code/WorkInProgress/Cib/MedicalSideEffects.dm b/code/WorkInProgress/Cib/MedicalSideEffects.dm index 15580c4bd2..62f9cf75f8 100644 --- a/code/WorkInProgress/Cib/MedicalSideEffects.dm +++ b/code/WorkInProgress/Cib/MedicalSideEffects.dm @@ -83,7 +83,7 @@ /datum/medical_effect/headache name = "Headache" triggers = list("cryoxadone" = 10, "bicaridine" = 15, "tricordrazine" = 15) - cures = list("alkysine", "tramadol") + cures = list("alkysine", "tramadol", "paracetamol", "oxycodone") cure_message = "Your head stops throbbing..." /datum/medical_effect/headache/on_life(mob/living/carbon/human/H, strength) diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index 4d1370aca8..7eb8fa096e 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -156,7 +156,7 @@ anchored = 1 var/orient = "LEFT" // "RIGHT" changes the dir suffix to "-r" var/mob/living/carbon/human/occupant = null - var/available_chemicals = list("inaprovaline" = "Inaprovaline", "stoxin" = "Soporific", "anti_toxin" = "Dylovene", "dexalin" = "Dexalin") + var/available_chemicals = list("inaprovaline" = "Inaprovaline", "stoxin" = "Soporific", "paracetamol" = "Paracetamol", "anti_toxin" = "Dylovene", "dexalin" = "Dexalin") var/amounts = list(5, 10) var/obj/item/weapon/reagent_containers/glass/beaker = null var/filtering = 0 diff --git a/code/modules/mob/living/carbon/shock.dm b/code/modules/mob/living/carbon/shock.dm index 0c1ba44207..9ea6557485 100644 --- a/code/modules/mob/living/carbon/shock.dm +++ b/code/modules/mob/living/carbon/shock.dm @@ -15,10 +15,14 @@ src.traumatic_shock -= 10 if(reagents.has_reagent("inaprovaline")) src.traumatic_shock -= 25 + if(reagents.has_reagent("synaptizine")) + src.traumatic_shock -= 40 + if(reagents.has_reagent("paracetamol")) + src.traumatic_shock -= 50 if(reagents.has_reagent("tramadol")) - src.traumatic_shock -= 80 // make synaptizine function as good painkiller + src.traumatic_shock -= 80 if(reagents.has_reagent("oxycodone")) - src.traumatic_shock -= 200 // make synaptizine function as good painkiller + src.traumatic_shock -= 200 if(src.slurring) src.traumatic_shock -= 20 if(src.analgesic) diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index be1d002d78..4c96749e87 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -352,6 +352,9 @@ This function completely restores a damaged organ to perfect condition. if(!owner.reagents.has_reagent("bicaridine")) //bicard stops internal wounds from growing bigger with time, and also stop bleeding W.open_wound(0.1 * wound_update_accuracy) owner.vessel.remove_reagent("blood",0.05 * W.damage * wound_update_accuracy) + if(!owner.reagents.has_reagent("inaprovaline")) //This little copypaste will allow inaprovaline to work too, giving it a much needed buff to help medical. + W.open_wound(0.1 * wound_update_accuracy) + owner.vessel.remove_reagent("blood",0.05 * W.damage * wound_update_accuracy) owner.vessel.remove_reagent("blood",0.02 * W.damage * wound_update_accuracy)//Bicaridine slows Internal Bleeding if(prob(1 * wound_update_accuracy)) diff --git a/code/modules/organs/pain.dm b/code/modules/organs/pain.dm index 718abbe272..987e7d026c 100644 --- a/code/modules/organs/pain.dm +++ b/code/modules/organs/pain.dm @@ -9,6 +9,8 @@ mob/var/next_pain_time = 0 // amount is a num from 1 to 100 mob/living/carbon/proc/pain(var/partname, var/amount, var/force, var/burning = 0) if(stat >= 2) return + if(reagents.has_reagent("paracetamol")) + return if(reagents.has_reagent("tramadol")) return if(reagents.has_reagent("oxycodone")) diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 7bd92ad0f8..5fba75dc13 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -731,6 +731,14 @@ datum ..() return + paracetamol + name = "Paracetamol" + id = "paracetamol" + description = "Most probably know this as Tylenol, but this chemical is a mild, simple painkiller." + reagent_state = LIQUID + color = "#C855DC" + overdose = REAGENTS_OVERDOSE + tramadol name = "Tramadol" id = "tramadol" @@ -745,7 +753,7 @@ datum description = "An effective and very addictive painkiller." reagent_state = LIQUID color = "#C805DC" - overdose = REAGENTS_OVERDOSE + overdose = 20 virus_food name = "Virus Food" @@ -1025,7 +1033,7 @@ datum if(M.stat == 2.0) return if(!M) M = holder.my_atom - if(M.getOxyLoss() && prob(80)) M.adjustOxyLoss(-1*REM) + if(M.getOxyLoss()) M.adjustOxyLoss(-1*REM) if(M.getBruteLoss() && prob(80)) M.heal_organ_damage(1*REM,0) if(M.getFireLoss() && prob(80)) M.heal_organ_damage(0,1*REM) if(M.getToxLoss() && prob(80)) M.adjustToxLoss(-1*REM) @@ -1679,9 +1687,11 @@ datum if(prob(5)) M.emote("yawn") if(12 to 15) M.eye_blurry = max(M.eye_blurry, 10) - if(15 to 25) + if(15 to 49) + if(prob(50)) + M.Weaken(2) M.drowsyness = max(M.drowsyness, 20) - if(25 to INFINITY) + if(50 to INFINITY) M.Weaken(20) M.drowsyness = max(M.drowsyness, 30) data++ @@ -1740,7 +1750,7 @@ datum description = "A specific chemical based on Potassium Chloride to stop the heart for surgery. Not safe to eat!" reagent_state = SOLID color = "#FFFFFF" // rgb: 255,255,255 - toxpwr = 3 + toxpwr = 2 overdose = 20 on_mob_life(var/mob/living/carbon/M as mob) diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index d0fb8d0cc1..bb168446d5 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -105,11 +105,19 @@ datum required_reagents = list("inaprovaline" = 1, "ethanol" = 1, "oxygen" = 1) result_amount = 3 + paracetamol + name = "Paracetamol" + id = "paracetamol" + result = "paracetamol" + required_reagents = list("tramadol" = 1, "sugar" = 1, "water" = 1) + result_amount = 3 + oxycodone name = "Oxycodone" id = "oxycodone" result = "oxycodone" - required_reagents = list("ethanol" = 1, "tramadol" = 1, "plasma" = 1) + required_reagents = list("ethanol" = 1, "tramadol" = 1) + required_catalysts = list("plasma" = 1) result_amount = 1 //cyanide diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 076e769d8b..74ea366c25 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -131,6 +131,14 @@ ..() reagents.add_reagent("kelotane", 15) +/obj/item/weapon/reagent_containers/pill/paracetamol + name = "Paracetamol pill" + desc = "Tylenol! A painkiller for the ages. Chewables!" + icon_state = "pill8" + New() + ..() + reagents.add_reagent("paracetamol", 15) + /obj/item/weapon/reagent_containers/pill/tramadol name = "Tramadol pill" desc = "A simple painkiller."