Chemical Improvements & Tweaks: Side-effects, overdoses, and more. (#9708)

This commit is contained in:
sadkermit
2020-09-01 13:29:40 +01:00
committed by GitHub
parent 47fbd436df
commit 36dc8a5220
30 changed files with 727 additions and 254 deletions

View File

@@ -18,7 +18,7 @@
//Healing vars
var/obj/item/reagent_containers/glass/reagent_glass = null //Can be set to draw from this for reagents.
var/currently_healing = 0
var/injection_amount = 15 //How much reagent do we inject at a time?
var/injection_amount = 10 //How much reagent do we inject at a time?
var/heal_threshold = 10 //Start healing when they have this much damage in a category
var/use_beaker = 0 //Use reagents in beaker instead of default treatment agents.
var/treatment_brute = /datum/reagent/tricordrazine

View File

@@ -610,6 +610,17 @@
if(prob(nausea))
delayed_vomit()
if(CE_ITCH in chem_effects)
var/itching = chem_effects[CE_ITCH]
if(CE_NOITCH in chem_effects)
itching -= chem_effects[CE_NOITCH]
if(itching < 5)
if(prob(5))
to_chat(src, SPAN_WARNING(pick("You have an annoying itch.", "You have a slight itch.")))
if(itching >= 5)
if(prob(2))
to_chat(src, SPAN_WARNING(pick("The itch is becoming progressively worse.", "You need to scratch that itch!", "The itch isn't going!")))
if(CE_FEVER in chem_effects)
var/normal_temp = species?.body_temperature || (T0C+37)
var/fever = chem_effects[CE_FEVER]

View File

@@ -205,7 +205,7 @@
to_chat(src, SPAN_WARNING("You don't have enough chemicals!"))
return
var/list/choices = list("Inaprovaline" = /datum/reagent/inaprovaline, "Bicaridine" = /datum/reagent/bicaridine, "Kelotane" = /datum/reagent/kelotane, "Dylovene" = /datum/reagent/dylovene, "Hyperzine" = /datum/reagent/hyperzine, "Peridaxon" = /datum/reagent/peridaxon, "Mortaphenyl" = /datum/reagent/mortaphenyl, "Neurostabin" = /datum/reagent/mental/neurostabin)
var/list/choices = list("Inaprovaline" = /datum/reagent/inaprovaline, "Bicaridine" = /datum/reagent/bicaridine, "Kelotane" = /datum/reagent/kelotane, "Dylovene" = /datum/reagent/dylovene, "Hyperzine" = /datum/reagent/hyperzine, "Peridaxon" = /datum/reagent/peridaxon, "Mortaphenyl" = /datum/reagent/mortaphenyl, "Neurapan" = /datum/reagent/mental/neurapan)
var/chem = input("Select a chemical to secrete.", "Chemicals") as null|anything in choices
if(!chem || chemicals < 20 || !host || controlling || !src || stat) //Sanity check.