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.
This commit is contained in:
Nanai
2013-11-14 19:11:31 -05:00
parent 160e0f9ee8
commit 7786e7a96c
8 changed files with 45 additions and 10 deletions

View File

@@ -83,7 +83,7 @@
/datum/medical_effect/headache /datum/medical_effect/headache
name = "Headache" name = "Headache"
triggers = list("cryoxadone" = 10, "bicaridine" = 15, "tricordrazine" = 15) triggers = list("cryoxadone" = 10, "bicaridine" = 15, "tricordrazine" = 15)
cures = list("alkysine", "tramadol") cures = list("alkysine", "tramadol", "paracetamol", "oxycodone")
cure_message = "Your head stops throbbing..." cure_message = "Your head stops throbbing..."
/datum/medical_effect/headache/on_life(mob/living/carbon/human/H, strength) /datum/medical_effect/headache/on_life(mob/living/carbon/human/H, strength)

View File

@@ -156,7 +156,7 @@
anchored = 1 anchored = 1
var/orient = "LEFT" // "RIGHT" changes the dir suffix to "-r" var/orient = "LEFT" // "RIGHT" changes the dir suffix to "-r"
var/mob/living/carbon/human/occupant = null 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/amounts = list(5, 10)
var/obj/item/weapon/reagent_containers/glass/beaker = null var/obj/item/weapon/reagent_containers/glass/beaker = null
var/filtering = 0 var/filtering = 0

View File

@@ -15,10 +15,14 @@
src.traumatic_shock -= 10 src.traumatic_shock -= 10
if(reagents.has_reagent("inaprovaline")) if(reagents.has_reagent("inaprovaline"))
src.traumatic_shock -= 25 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")) if(reagents.has_reagent("tramadol"))
src.traumatic_shock -= 80 // make synaptizine function as good painkiller src.traumatic_shock -= 80
if(reagents.has_reagent("oxycodone")) if(reagents.has_reagent("oxycodone"))
src.traumatic_shock -= 200 // make synaptizine function as good painkiller src.traumatic_shock -= 200
if(src.slurring) if(src.slurring)
src.traumatic_shock -= 20 src.traumatic_shock -= 20
if(src.analgesic) if(src.analgesic)

View File

@@ -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 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) 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.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 owner.vessel.remove_reagent("blood",0.02 * W.damage * wound_update_accuracy)//Bicaridine slows Internal Bleeding
if(prob(1 * wound_update_accuracy)) if(prob(1 * wound_update_accuracy))

View File

@@ -9,6 +9,8 @@ mob/var/next_pain_time = 0
// amount is a num from 1 to 100 // amount is a num from 1 to 100
mob/living/carbon/proc/pain(var/partname, var/amount, var/force, var/burning = 0) mob/living/carbon/proc/pain(var/partname, var/amount, var/force, var/burning = 0)
if(stat >= 2) return if(stat >= 2) return
if(reagents.has_reagent("paracetamol"))
return
if(reagents.has_reagent("tramadol")) if(reagents.has_reagent("tramadol"))
return return
if(reagents.has_reagent("oxycodone")) if(reagents.has_reagent("oxycodone"))

View File

@@ -731,6 +731,14 @@ datum
..() ..()
return 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 tramadol
name = "Tramadol" name = "Tramadol"
id = "tramadol" id = "tramadol"
@@ -745,7 +753,7 @@ datum
description = "An effective and very addictive painkiller." description = "An effective and very addictive painkiller."
reagent_state = LIQUID reagent_state = LIQUID
color = "#C805DC" color = "#C805DC"
overdose = REAGENTS_OVERDOSE overdose = 20
virus_food virus_food
name = "Virus Food" name = "Virus Food"
@@ -1025,7 +1033,7 @@ datum
if(M.stat == 2.0) if(M.stat == 2.0)
return return
if(!M) M = holder.my_atom 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.getBruteLoss() && prob(80)) M.heal_organ_damage(1*REM,0)
if(M.getFireLoss() && prob(80)) M.heal_organ_damage(0,1*REM) if(M.getFireLoss() && prob(80)) M.heal_organ_damage(0,1*REM)
if(M.getToxLoss() && prob(80)) M.adjustToxLoss(-1*REM) if(M.getToxLoss() && prob(80)) M.adjustToxLoss(-1*REM)
@@ -1679,9 +1687,11 @@ datum
if(prob(5)) M.emote("yawn") if(prob(5)) M.emote("yawn")
if(12 to 15) if(12 to 15)
M.eye_blurry = max(M.eye_blurry, 10) 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) M.drowsyness = max(M.drowsyness, 20)
if(25 to INFINITY) if(50 to INFINITY)
M.Weaken(20) M.Weaken(20)
M.drowsyness = max(M.drowsyness, 30) M.drowsyness = max(M.drowsyness, 30)
data++ data++
@@ -1740,7 +1750,7 @@ datum
description = "A specific chemical based on Potassium Chloride to stop the heart for surgery. Not safe to eat!" description = "A specific chemical based on Potassium Chloride to stop the heart for surgery. Not safe to eat!"
reagent_state = SOLID reagent_state = SOLID
color = "#FFFFFF" // rgb: 255,255,255 color = "#FFFFFF" // rgb: 255,255,255
toxpwr = 3 toxpwr = 2
overdose = 20 overdose = 20
on_mob_life(var/mob/living/carbon/M as mob) on_mob_life(var/mob/living/carbon/M as mob)

View File

@@ -105,11 +105,19 @@ datum
required_reagents = list("inaprovaline" = 1, "ethanol" = 1, "oxygen" = 1) required_reagents = list("inaprovaline" = 1, "ethanol" = 1, "oxygen" = 1)
result_amount = 3 result_amount = 3
paracetamol
name = "Paracetamol"
id = "paracetamol"
result = "paracetamol"
required_reagents = list("tramadol" = 1, "sugar" = 1, "water" = 1)
result_amount = 3
oxycodone oxycodone
name = "Oxycodone" name = "Oxycodone"
id = "oxycodone" id = "oxycodone"
result = "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 result_amount = 1
//cyanide //cyanide

View File

@@ -131,6 +131,14 @@
..() ..()
reagents.add_reagent("kelotane", 15) 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 /obj/item/weapon/reagent_containers/pill/tramadol
name = "Tramadol pill" name = "Tramadol pill"
desc = "A simple painkiller." desc = "A simple painkiller."