From 7786e7a96c2bd29a646d61cf3f2bba6b69cf3ebc Mon Sep 17 00:00:00 2001 From: Nanai Date: Thu, 14 Nov 2013 19:11:31 -0500 Subject: [PATCH] Sleeper Addition, Chemical Rebalance 2 Tweaked soporific and new chems a bit more. Added Paracetamol, a lesser drug to tramadol, known to all as tylenol, and implemented it into sleepers! Gave inaprovaline the IB slowing property to keep sleepers in the game and allow EMTs better usage. Oxycodone made easier to craft by making the plasma a catalyst, but decreased it's overdose limit. Applied oxycodone and paracetamol to be able to handle things painkillers should. --- code/WorkInProgress/Cib/MedicalSideEffects.dm | 2 +- code/game/machinery/Sleeper.dm | 2 +- code/modules/mob/living/carbon/shock.dm | 8 ++++++-- code/modules/organs/organ_external.dm | 3 +++ code/modules/organs/pain.dm | 2 ++ code/modules/reagents/Chemistry-Reagents.dm | 20 ++++++++++++++----- code/modules/reagents/Chemistry-Recipes.dm | 10 +++++++++- .../reagents/reagent_containers/pill.dm | 8 ++++++++ 8 files changed, 45 insertions(+), 10 deletions(-) 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."