diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 314a820aa6..7bd92ad0f8 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -1192,8 +1192,8 @@ datum var/mob/living/carbon/human/H = M var/datum/organ/internal/eyes/E = H.internal_organs["eyes"] if(istype(E)) - E.damage = max(E.damage-5 , 0) -// M.sdisabilities &= ~1 Replaced by eye surgery + if(E.damage > 0) + E.damage -= 1 ..() return @@ -1209,9 +1209,10 @@ datum if(!M) M = holder.my_atom if(ishuman(M)) var/mob/living/carbon/human/H = M - var/datum/organ/internal/I = H.internal_organs - if(I.parent_organ == "chest") - I.damage = max(I.damage -1 , 0) + var/datum/organ/external/chest/C = H.get_organ("chest") + for(var/datum/organ/internal/I in C.internal_organs) + if(I.damage > 0) + I.damage -= 0.20 ..() return @@ -1693,9 +1694,10 @@ datum description = "A powerful sedative." reagent_state = SOLID color = "#000067" // rgb: 0, 0, 103 - toxpwr = 0 + toxpwr = 1 custom_metabolism = 0.1 //Default 0.2 - overdose = REAGENTS_OVERDOSE/2 + overdose = 15 + overdose_dam = 5 on_mob_life(var/mob/living/M as mob) if(!M) M = holder.my_atom @@ -1705,11 +1707,50 @@ datum if(1) M.confused += 2 M.drowsyness += 2 - if(2 to 50) + if(2 to 199) + M.Weaken(30) + if(200 to INFINITY) M.sleeping += 1 - if(51 to INFINITY) - M.sleeping += 1 - M.adjustToxLoss((data - 50)*REM) + ..() + return + + toxin/potassium_chloride + name = "Potassium Chloride" + id = "potassium_chloride" + description = "A delicious salt that stops the heart when injected into cardiac muscle." + reagent_state = SOLID + color = "#FFFFFF" // rgb: 255,255,255 + toxpwr = 0 + overdose = 30 + + on_mob_life(var/mob/living/carbon/M as mob) + var/mob/living/carbon/human/H = M + if(H.stat != 1) + if (volume >= overdose) + if(H.losebreath >= 10) + H.losebreath = max(10, H.losebreath-10) + H.adjustOxyLoss(2) + H.Weaken(10) + ..() + return + + toxin/potassium_chlorophoride + name = "Potassium Chlorophoride" + id = "potassium_chlorophoride" + 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 + overdose = 20 + + on_mob_life(var/mob/living/carbon/M as mob) + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(H.stat != 1) + if(H.losebreath >= 10) + H.losebreath = max(10, M.losebreath-10) + H.adjustOxyLoss(2) + H.Weaken(10) ..() return diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index c2673b9b45..d0fb8d0cc1 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -119,6 +119,13 @@ datum // required_reagents = list("hydrogen" = 1, "carbon" = 1, "nitrogen" = 1) // result_amount = 1 + water //I can't believe we never had this. + name = "Water" + id = "water" + result = null + required_reagents = list("oxygen" = 2, "hydrogen" = 1) + result_amount = 1 + thermite name = "Thermite" id = "thermite" @@ -459,6 +466,27 @@ datum required_reagents = list("ethanol" = 1, "chlorine" = 3, "water" = 1) result_amount = 1 + potassium_chloride + name = "Potassium Chloride" + id = "potassium_chloride" + id = "potassium_chloride" + required_reagents = list("sodiumchloride" = 1, "potassium" = 1) + result_amount = 2 + + potassium_chlorophoride + name = "Potassium Chlorophoride" + id = "potassium_chlorophoride" + id = "potassium_chlorophoride" + required_reagents = list("potassium_chloride" = 1, "plasma" = 1, "chloral_hydrate" = 1) + result_amount = 4 + + stoxin + name = "Sleep Toxin" + id = "stoxin" + result = "stoxin" + required_reagents = list("chloralhydrate" = 1, "sugar" = 4) + result_amount = 5 + zombiepowder name = "Zombie Powder" id = "zombiepowder" diff --git a/code/modules/surgery/eye.dm b/code/modules/surgery/eye.dm index ebaf436a5c..763fa63bb0 100644 --- a/code/modules/surgery/eye.dm +++ b/code/modules/surgery/eye.dm @@ -132,7 +132,7 @@ if (target.op_stage.eyes == 3) target.disabilities &= ~NEARSIGHTED target.sdisabilities &= ~BLIND - eyes.damage -= 15 + eyes.damage = 0 target.op_stage.eyes = 0 fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) diff --git a/code/setup.dm b/code/setup.dm index 62515d050c..68b7552b40 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -708,6 +708,8 @@ var/list/be_special_flags = list( //feel free to add shit to lists below var/list/tachycardics = list("coffee", "inaprovaline", "hyperzine", "nitroglycerin", "thirteenloko", "nicotine") //increase heart rate var/list/bradycardics = list("neurotoxin", "cryoxadone", "clonexadone", "space_drugs", "stoxin") //decrease heart rate +var/list/heartstopper = list("potassium_phorochloride", "zombie_powder") //this stops the heart +var/list/cheartstopper = list("potassium_chloride") //this stops the heart when overdose is met -- c = conditional //proc/get_pulse methods #define GETPULSE_HAND 0 //less accurate (hand) @@ -740,4 +742,4 @@ var/list/RESTRICTED_CAMERA_NETWORKS = list( //Those networks can only be accesse //Flags for zone sleeping #define ZONE_ACTIVE 1 -#define ZONE_SLEEPING 0 +#define ZONE_SLEEPING 0