mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-07-18 03:36:07 +01:00
[MIRROR] Scannable chems and fixes (#12162)
Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
committed by
GitHub
parent
52eb0db18c
commit
62bbe77537
@@ -1403,3 +1403,10 @@
|
||||
#define REAGENT_ID_SLIMEBONEFIXER "slime_bone_fixer"
|
||||
#define REAGENT_SLIMEORGANFIXER "Agent C"
|
||||
#define REAGENT_ID_SLIMEORGANFIXER "slime_organ_fixer"
|
||||
|
||||
//Scanning difficulty. The higher the # the higher it is to find.
|
||||
#define SCANNABLE_BENEFICIAL 0
|
||||
#define SCANNABLE_ADVANCED 1
|
||||
#define SCANNABLE_DIFFICULT 2
|
||||
#define SCANNABLE_SECRETIVE 3
|
||||
#define SCANNABLE_UNSCANNABLE 99
|
||||
|
||||
@@ -17,16 +17,16 @@
|
||||
light_color = "#00FF00"
|
||||
var/obj/machinery/body_scanconsole/console
|
||||
var/printing_text = null
|
||||
var/scan_level = 3 //One scan level for every scanning_module
|
||||
var/scan_level = SCANNABLE_DIFFICULT //By default, we start with level 2 scanning level.
|
||||
|
||||
/obj/machinery/bodyscanner/Initialize(mapload)
|
||||
. = ..()
|
||||
default_apply_parts()
|
||||
|
||||
/obj/machinery/bodyscanner/RefreshParts()
|
||||
scan_level = 0
|
||||
scan_level = SCANNABLE_DIFFICULT
|
||||
for(var/obj/item/stock_parts/scanning_module/P in component_parts)
|
||||
scan_level += P.rating
|
||||
scan_level += max(0, (P.rating - 2)) //We require T3 parts or higher to actually increase our scan level.
|
||||
|
||||
/obj/machinery/bodyscanner/Destroy()
|
||||
if(console)
|
||||
@@ -204,17 +204,21 @@
|
||||
break
|
||||
|
||||
//Vars used if we have FAKEDEATH status.
|
||||
var/occupant_stat
|
||||
var/occupant_health
|
||||
var/oxygen_damage
|
||||
var/occupant_stat = H.stat
|
||||
var/occupant_health = H.health
|
||||
var/oxygen_damage = H.getOxyLoss()
|
||||
var/brain_damage = H.getBrainLoss()
|
||||
var/occupant_paralysis = H.paralysis
|
||||
var/paralysis_duration = round(H.paralysis / 4)
|
||||
var/fakedeath = FALSE
|
||||
if(H.status_flags & FAKEDEATH)
|
||||
occupant_stat = DEAD
|
||||
occupant_health = -200
|
||||
oxygen_damage = max(H.getOxyLoss(), (300 - (H.getToxLoss() + H.getFireLoss() + H.getBruteLoss())))
|
||||
else
|
||||
occupant_stat = H.stat
|
||||
occupant_health = H.health
|
||||
oxygen_damage = H.getOxyLoss()
|
||||
//oxygen_damage = max(H.getOxyLoss(), (300 - (H.getToxLoss() + H.getFireLoss() + H.getBruteLoss()))) //Alternative oxygen based fakedeath.
|
||||
brain_damage = 200
|
||||
occupant_paralysis = 0
|
||||
paralysis_duration = 0
|
||||
fakedeath = TRUE
|
||||
|
||||
occupantData["stat"] = occupant_stat
|
||||
occupantData["health"] = occupant_health
|
||||
@@ -229,9 +233,9 @@
|
||||
|
||||
occupantData["radLoss"] = H.radiation
|
||||
occupantData["cloneLoss"] = H.getCloneLoss()
|
||||
occupantData["brainLoss"] = H.getBrainLoss()
|
||||
occupantData["paralysis"] = H.paralysis
|
||||
occupantData["paralysisSeconds"] = round(H.paralysis / 4)
|
||||
occupantData["brainLoss"] = brain_damage
|
||||
occupantData["paralysis"] = occupant_paralysis
|
||||
occupantData["paralysisSeconds"] = paralysis_duration
|
||||
occupantData["bodyTempC"] = H.bodytemperature-T0C
|
||||
occupantData["bodyTempF"] = (((H.bodytemperature-T0C) * 1.8) + 32)
|
||||
|
||||
@@ -256,7 +260,7 @@
|
||||
var/reagentData[0]
|
||||
if(H.reagents.reagent_list.len >= 1)
|
||||
for(var/datum/reagent/R in H.reagents.reagent_list)
|
||||
if(!R.scannable && !(scan_level >= 8)) //Requires minimum of 2 T3 and 1 T2 scanning module, or 2 T4 scanning modules.
|
||||
if(R.scannable >= scan_level) //By default, we can scan everything but secret chems (zombie/lich powder)
|
||||
continue
|
||||
reagentData[++reagentData.len] = list(
|
||||
"name" = R.name,
|
||||
@@ -368,6 +372,11 @@
|
||||
organData["desc"] = null
|
||||
organData["germ_level"] = I.germ_level
|
||||
organData["damage"] = I.damage
|
||||
if(fakedeath)
|
||||
if(istype(I, /obj/item/organ/internal/brain))
|
||||
organData["damage"] = 200
|
||||
else if(istype(I, /obj/item/organ/internal/lungs))
|
||||
organData["damage"] = 25
|
||||
organData["maxHealth"] = I.max_damage
|
||||
organData["bruised"] = I.min_bruised_damage
|
||||
organData["broken"] = I.min_broken_damage
|
||||
@@ -451,7 +460,7 @@
|
||||
else
|
||||
t1 = "*dead*"
|
||||
var/health_text = "\tHealth %: [(occupant.health / occupant.getMaxHealth())*100], ([t1])"
|
||||
var/fake_oxy = max(occupant.getOxyLoss(), (300 - (occupant.getFireLoss() + occupant.getBruteLoss())))
|
||||
//var/fake_oxy = max(occupant.getOxyLoss(), (300 - (occupant.getFireLoss() + occupant.getBruteLoss())))
|
||||
var/fake_death = FALSE
|
||||
if(occupant.status_flags & FAKEDEATH)
|
||||
t1 = "*dead*"
|
||||
@@ -474,16 +483,19 @@
|
||||
damage_string = "\t-Brute Damage %: [occupant.getBruteLoss()]"
|
||||
dat += (occupant.getBruteLoss() < 60 ? span_blue(damage_string) : span_red(damage_string)) + "<br>"
|
||||
damage_string = "\t-Respiratory Damage %: [occupant.getOxyLoss()]"
|
||||
/* //Alternative oxygen based fakedeath
|
||||
if(fake_death)
|
||||
damage_string = "\t-Respiratory Damage %: [fake_oxy]"
|
||||
dat += (span_red(damage_string)) + "<br>"
|
||||
else
|
||||
dat += (occupant.getOxyLoss() < 60 ? span_blue(damage_string) : span_red(damage_string)) + "<br>"
|
||||
else*/
|
||||
dat += (occupant.getOxyLoss() < 60 ? span_blue(damage_string) : span_red(damage_string)) + "<br>"
|
||||
|
||||
damage_string = "\t-Toxin Content %: [occupant.getToxLoss()]"
|
||||
if(fake_death)
|
||||
damage_string = "\t-Toxin Content %: 0"
|
||||
dat += (occupant.getToxLoss() < 60 ? span_blue(damage_string) : span_red(damage_string)) + "<br>"
|
||||
dat += span_blue(damage_string) + "<br>"
|
||||
else
|
||||
damage_string = "\t-Toxin Content %: [occupant.getToxLoss()]"
|
||||
dat += (occupant.getToxLoss() < 60 ? span_blue(damage_string) : span_red(damage_string)) + "<br>"
|
||||
|
||||
damage_string = "\t-Burn Severity %: [occupant.getFireLoss()]"
|
||||
dat += (occupant.getFireLoss() < 60 ? span_blue(damage_string) : span_red(damage_string)) + "<br>"
|
||||
@@ -494,10 +506,20 @@
|
||||
damage_string = "\tGenetic Tissue Damage %: [occupant.getCloneLoss()]"
|
||||
dat += (occupant.getCloneLoss() < 1 ? span_blue(damage_string) : span_red(damage_string)) + "<br>"
|
||||
|
||||
damage_string = "\tApprox. Brain Damage %: [occupant.getBrainLoss()]"
|
||||
dat += (occupant.getBrainLoss() < 1 ? span_blue(damage_string) : span_red(damage_string)) + "<br>"
|
||||
if(fake_death)
|
||||
damage_string = "\tApprox. Brain Damage %: 100"
|
||||
dat += (span_red(damage_string)) + "<br>"
|
||||
else
|
||||
damage_string = "\tApprox. Brain Damage %: [occupant.getBrainLoss()]"
|
||||
dat += (occupant.getBrainLoss() < 1 ? span_blue(damage_string) : span_red(damage_string)) + "<br>"
|
||||
|
||||
dat += "Paralysis Summary %: [occupant.paralysis] ([round(occupant.paralysis / 4)] seconds left!)<br>"
|
||||
var/occupant_paralysis = occupant.paralysis
|
||||
var/paralysis_duration = round(occupant.paralysis * 0.25)
|
||||
if(fake_death)
|
||||
occupant_paralysis = 0
|
||||
paralysis_duration = 0
|
||||
|
||||
dat += "Paralysis Summary %: [occupant_paralysis] ([paralysis_duration] seconds left!)<br>"
|
||||
dat += "Body Temperature: [occupant.bodytemperature-T0C]°C ([occupant.bodytemperature*1.8-459.67]°F)<br>"
|
||||
|
||||
dat += "<hr>"
|
||||
@@ -644,7 +666,12 @@
|
||||
// CHOMPedit end
|
||||
|
||||
dat += "<tr>"
|
||||
dat += "<td>[i.name]</td><td>N/A</td><td>[i.damage]</td><td>[infection]:[mi][mech][i_dead]</td><td></td>"
|
||||
if(fake_death && istype(i, /obj/item/organ/internal/brain))
|
||||
dat += "<td>[i.name]</td><td>N/A</td><td>200</td><td>[infection]:[mi][mech][i_dead]</td><td></td>"
|
||||
else if(fake_death && istype(i, /obj/item/organ/internal/lungs))
|
||||
dat += "<td>[i.name]</td><td>N/A</td><td>25</td><td>[infection]:[mi][mech][i_dead]</td><td></td>"
|
||||
else
|
||||
dat += "<td>[i.name]</td><td>N/A</td><td>[i.damage]</td><td>[infection]:[mi][mech][i_dead]</td><td></td>"
|
||||
dat += "</tr>"
|
||||
for(var/organ_tag in occupant.species.has_organ) //Check to see if we are missing any organs
|
||||
var/organData[0]
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
matter = list(MAT_STEEL = 200)
|
||||
origin_tech = list(TECH_MAGNET = 1, TECH_BIO = 1)
|
||||
var/mode = 1;
|
||||
var/advscan = 0
|
||||
var/advscan = SCANNABLE_BENEFICIAL
|
||||
var/showadvscan = 1
|
||||
var/guide = FALSE
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
/obj/item/healthanalyzer/Initialize(mapload)
|
||||
. = ..()
|
||||
if(advscan >= 1)
|
||||
if(advscan >= SCANNABLE_ADVANCED)
|
||||
verbs += /obj/item/healthanalyzer/proc/toggle_adv
|
||||
|
||||
/obj/item/healthanalyzer/examine(mob/user)
|
||||
@@ -129,12 +129,14 @@
|
||||
TX = M.getToxLoss() > 50 ? "[span_green(span_bold("Dangerous amount of toxins detected"))]" : "Subject bloodstream toxin level minimal"
|
||||
BU = M.getFireLoss() > 50 ? "[span_orange(span_bold("Severe burn damage detected"))]" : "Subject burn injury status O.K"
|
||||
BR = M.getBruteLoss() > 50 ? "[span_red(span_bold("Severe anatomical damage detected"))]" : "Subject brute-force injury status O.K"
|
||||
/* //Old variant of fakedeath.
|
||||
if(M.status_flags & FAKEDEATH)
|
||||
OX = fake_oxy > 50 ? span_warning("Severe oxygen deprivation detected") : "Subject bloodstream oxygen level normal"
|
||||
TX = 0 //This is a dead giveaway if they're using zombiepowder.
|
||||
*/
|
||||
dat += "[OX] | [TX] | [BU] | [BR]<br>"
|
||||
if(M.radiation)
|
||||
if(advscan >= 2 && showadvscan == 1)
|
||||
if(advscan >= SCANNABLE_DIFFICULT && showadvscan == 1)
|
||||
var/severity = ""
|
||||
if(M.radiation >= 1500)
|
||||
severity = "Lethal"
|
||||
@@ -152,7 +154,7 @@
|
||||
dat += span_warning("Acute radiation sickness detected.")
|
||||
dat += "<br>"
|
||||
if(M.accumulated_rads)
|
||||
if(advscan >= 2 && showadvscan == 1)
|
||||
if(advscan >= SCANNABLE_DIFFICULT && showadvscan == 1)
|
||||
var/severity = ""
|
||||
if(M.accumulated_rads >= 1500)
|
||||
severity = "Critical"
|
||||
@@ -175,86 +177,68 @@
|
||||
var/unknown = 0
|
||||
var/reagentdata[0]
|
||||
var/unknownreagents[0]
|
||||
for(var/datum/reagent/R as anything in C.reagents.reagent_list)
|
||||
if(R.scannable)
|
||||
for(var/datum/reagent/R in C.reagents.reagent_list)
|
||||
if(advscan >= R.scannable)
|
||||
reagentdata["[R.id]"] = span_notice("\t[round(C.reagents.get_reagent_amount(R.id), 1)]u [R.name][(R.overdose && R.volume > R.overdose) ? " - [span_danger("Overdose")]" : ""]")
|
||||
reagentdata["[R.id]"] += "<br>"
|
||||
else
|
||||
unknown++
|
||||
unknownreagents["[R.id]"] = span_notice("\t[round(C.reagents.get_reagent_amount(R.id), 1)]u [R.name][(R.overdose && R.volume > R.overdose) ? " - [span_danger("Overdose")]" : ""]")
|
||||
unknownreagents["[R.id]"] += "<br>"
|
||||
if(reagentdata.len)
|
||||
dat += span_notice("Beneficial reagents detected in subject's blood:")
|
||||
if(LAZYLEN(reagentdata) && showadvscan == 1)
|
||||
dat += span_notice("Reagents detected in subject's blood:")
|
||||
dat += "<br>"
|
||||
for(var/d in reagentdata)
|
||||
dat += reagentdata[d]
|
||||
if(unknown)
|
||||
if(advscan >= 3 && showadvscan == 1)
|
||||
dat += span_warning("Warning: Non-medical reagent[(unknown>1)?"s":""] detected in subject's blood:")
|
||||
dat += "<br>"
|
||||
for(var/d in unknownreagents)
|
||||
dat += unknownreagents[d]
|
||||
else
|
||||
dat += span_warning("Warning: Unknown substance[(unknown>1)?"s":""] detected in subject's blood.")
|
||||
dat += "<br>"
|
||||
dat += span_warning("Warning: Unknown substance[(unknown>1)?"s":""] detected in subject's blood.")
|
||||
dat += "<br>"
|
||||
if(C.ingested && C.ingested.total_volume)
|
||||
var/unknown = 0
|
||||
var/stomachreagentdata[0]
|
||||
var/stomachunknownreagents[0]
|
||||
for(var/datum/reagent/R as anything in C.ingested.reagent_list)
|
||||
if(R.scannable)
|
||||
for(var/datum/reagent/R in C.ingested.reagent_list)
|
||||
if(advscan >= R.scannable)
|
||||
stomachreagentdata["[R.id]"] = span_notice("\t[round(C.ingested.get_reagent_amount(R.id), 1)]u [R.name][(R.overdose && R.volume > R.overdose) ? " - [span_danger("Overdose")]" : ""]")
|
||||
stomachreagentdata["[R.id]"] += "<br>"
|
||||
if (advscan == 0 || showadvscan == 0)
|
||||
if(!advscan || !showadvscan)
|
||||
dat += span_notice("[R.name] found in subject's stomach.")
|
||||
dat += "<br>"
|
||||
else
|
||||
++unknown
|
||||
stomachunknownreagents["[R.id]"] = span_notice("\t[round(C.ingested.get_reagent_amount(R.id), 1)]u [R.name][(R.overdose && R.volume > R.overdose) ? " - [span_danger("Overdose")]" : ""]")
|
||||
stomachunknownreagents["[R.id]"] += "<br>"
|
||||
if(advscan >= 1 && showadvscan == 1)
|
||||
dat += span_notice("Beneficial reagents detected in subject's stomach:")
|
||||
if(LAZYLEN(stomachreagentdata) && showadvscan == 1)
|
||||
dat += span_notice("Reagents detected in subject's stomach:")
|
||||
dat += "<br>"
|
||||
for(var/d in stomachreagentdata)
|
||||
dat += stomachreagentdata[d]
|
||||
if(unknown)
|
||||
if(advscan >= 3 && showadvscan == 1)
|
||||
dat += span_warning("Warning: Non-medical reagent[(unknown > 1)?"s":""] found in subject's stomach:")
|
||||
dat += "<br>"
|
||||
for(var/d in stomachunknownreagents)
|
||||
dat += stomachunknownreagents[d]
|
||||
else
|
||||
dat += span_warning("Unknown substance[(unknown > 1)?"s":""] found in subject's stomach.")
|
||||
dat += "<br>"
|
||||
dat += span_warning("Unknown substance[(unknown > 1)?"s":""] found in subject's stomach.")
|
||||
dat += "<br>"
|
||||
if(C.touching && C.touching.total_volume)
|
||||
var/unknown = 0
|
||||
var/touchreagentdata[0]
|
||||
var/touchunknownreagents[0]
|
||||
for(var/datum/reagent/R as anything in C.touching.reagent_list)
|
||||
if(R.scannable)
|
||||
for(var/datum/reagent/R in C.touching.reagent_list)
|
||||
if(advscan >= R.scannable)
|
||||
touchreagentdata["[R.id]"] = span_notice("\t[round(C.touching.get_reagent_amount(R.id), 1)]u [R.name][(R.overdose && R.can_overdose_touch && R.volume > R.overdose) ? " - [span_danger("Overdose")]" : ""]")
|
||||
touchreagentdata["[R.id]"] += "<br>"
|
||||
if (advscan == 0 || showadvscan == 0)
|
||||
if(!advscan || !showadvscan)
|
||||
dat += span_notice("[R.name] found in subject's dermis.")
|
||||
dat += "<br>"
|
||||
else
|
||||
++unknown
|
||||
touchunknownreagents["[R.id]"] = span_notice("\t[round(C.ingested.get_reagent_amount(R.id), 1)]u [R.name][(R.overdose && R.can_overdose_touch && R.volume > R.overdose) ? " - [span_danger("Overdose")]" : ""]")
|
||||
touchunknownreagents["[R.id]"] += "<br>"
|
||||
if(advscan >= 1 && showadvscan == 1)
|
||||
dat += span_notice("Beneficial reagents detected in subject's dermis:")
|
||||
if(LAZYLEN(touchreagentdata) && showadvscan == 1)
|
||||
dat += span_notice("Reagents detected in subject's dermis:")
|
||||
dat += "<br>"
|
||||
for(var/d in touchreagentdata)
|
||||
dat += touchreagentdata[d]
|
||||
if(unknown)
|
||||
if(advscan >= 3 && showadvscan == 1)
|
||||
dat += span_warning("Warning: Non-medical reagent[(unknown > 1)?"s":""] found in subject's dermis:")
|
||||
dat += "<br>"
|
||||
for(var/d in touchunknownreagents)
|
||||
dat += touchunknownreagents[d]
|
||||
else
|
||||
dat += span_warning("Unknown substance[(unknown > 1)?"s":""] found in subject's dermis.")
|
||||
dat += "<br>"
|
||||
dat += span_warning("Unknown substance[(unknown > 1)?"s":""] found in subject's dermis.")
|
||||
dat += "<br>"
|
||||
if(C.IsInfected())
|
||||
for (var/datum/disease/virus in C.GetViruses())
|
||||
if(virus.visibility_flags & HIDDEN_SCANNER || virus.visibility_flags & HIDDEN_PANDEMIC)
|
||||
@@ -266,10 +250,10 @@
|
||||
dat += "<br>"
|
||||
// if (M.reagents && M.reagents.get_reagent_amount(REAGENT_ID_INAPROVALINE))
|
||||
// user.show_message(span_notice("Bloodstream Analysis located [M.reagents:get_reagent_amount(REAGENT_ID_INAPROVALINE)] units of rejuvenation chemicals."))
|
||||
if (advscan >= 2 && M.has_brain_worms()) // Borers need to hide
|
||||
if (advscan >= SCANNABLE_DIFFICULT && M.has_brain_worms()) // Borers need to hide
|
||||
dat += span_warning("Subject suffering from aberrant brain activity. Recommend further scanning.")
|
||||
dat += "<br>"
|
||||
else if (M.getBrainLoss() >= 60 || !M.has_brain())
|
||||
else if (M.getBrainLoss() >= 60 || !M.has_brain() ||(M.status_flags & FAKEDEATH))
|
||||
dat += span_warning("Subject is brain dead.")
|
||||
dat += "<br>"
|
||||
else if (M.getBrainLoss() >= 25)
|
||||
@@ -311,13 +295,13 @@
|
||||
dat += span_warning("Biologically unstable, requires [REAGENT_ASUSTENANCE] to function properly.")
|
||||
dat += "<br>"
|
||||
for(var/addic in H.get_all_addictions())
|
||||
if(H.get_addiction_to_reagent(addic) > 0 && (advscan >= 2 || H.get_addiction_to_reagent(addic) <= 120)) // high enough scanner upgrade detects addiction even if not almost withdrawling
|
||||
if(H.get_addiction_to_reagent(addic) > 0 && (advscan >= SCANNABLE_DIFFICULT || H.get_addiction_to_reagent(addic) <= 120)) // high enough scanner upgrade detects addiction even if not almost withdrawling
|
||||
var/datum/reagent/R = SSchemistry.chemical_reagents[addic]
|
||||
if(R.id == REAGENT_ID_ASUSTENANCE)
|
||||
continue
|
||||
if(advscan >= 1)
|
||||
if(advscan >= SCANNABLE_ADVANCED)
|
||||
// Shows multiple
|
||||
if(advscan >= 2 && H.get_addiction_to_reagent(addic) <= 80)
|
||||
if(advscan >= SCANNABLE_DIFFICULT && H.get_addiction_to_reagent(addic) <= 80)
|
||||
dat += span_warning("Experiencing withdrawls from [R.name], [REAGENT_INAPROVALINE] treatment recomended.")
|
||||
dat += "<br>"
|
||||
else
|
||||
@@ -355,8 +339,8 @@
|
||||
continue // not there or robotic or brain which is handled separately
|
||||
if(i.damage || i.status & ORGAN_DEAD)
|
||||
int_damage_acc += (i.damage + ((i.status & ORGAN_DEAD) ? 30 : 0))
|
||||
if(advscan >= 2 && showadvscan == 1)
|
||||
if(advscan >= 3)
|
||||
if(advscan >= SCANNABLE_DIFFICULT && showadvscan == 1)
|
||||
if(advscan >= SCANNABLE_SECRETIVE)
|
||||
var/dam_adj
|
||||
if(i.damage >= i.min_broken_damage || i.status & ORGAN_DEAD)
|
||||
dam_adj = "Severe"
|
||||
@@ -369,7 +353,17 @@
|
||||
else
|
||||
dat += span_warning("Damage detected to subject's [i.name].")
|
||||
dat += "<br>"
|
||||
if(int_damage_acc >= 1 && (advscan < 2 || !showadvscan))
|
||||
else if((H.status_flags & FAKEDEATH) && istype(i, /obj/item/organ/internal/lungs))
|
||||
int_damage_acc += 25
|
||||
if(advscan >= SCANNABLE_DIFFICULT && showadvscan == 1)
|
||||
if(advscan >= SCANNABLE_SECRETIVE)
|
||||
dat += span_warning("Severe damage detected to subject's [i.name].")
|
||||
dat += "<br>"
|
||||
else
|
||||
dat += span_warning("Damage detected to subject's [i.name].")
|
||||
dat += "<br>"
|
||||
|
||||
if(int_damage_acc >= 1 && (advscan < SCANNABLE_DIFFICULT || !showadvscan))
|
||||
dat += span_warning("Damage detected to subject's internal organs.")
|
||||
dat += "<br>"
|
||||
for(var/obj/item/organ/external/e in H.organs)
|
||||
@@ -380,7 +374,7 @@
|
||||
if((e.name in list(BP_L_ARM, BP_R_ARM, BP_L_LEG, BP_R_LEG, BP_HEAD, BP_TORSO, BP_GROIN)) && (!e.splinted))
|
||||
fracture_dat += span_warning("Unsecured fracture in subject [e.name]. Splinting recommended for transport.")
|
||||
fracture_dat += "<br>"
|
||||
else if(advscan >= 1 && showadvscan == 1)
|
||||
else if(advscan >= SCANNABLE_ADVANCED && showadvscan == 1)
|
||||
fracture_dat += span_warning("Bone fractures detected in subject [e.name].")
|
||||
fracture_dat += "<br>"
|
||||
else
|
||||
@@ -389,14 +383,23 @@
|
||||
if(e.has_infected_wound())
|
||||
dat += span_warning("Infected wound detected in subject [e.name]. Disinfection recommended.")
|
||||
dat += "<br>"
|
||||
if(e.status & ORGAN_DEAD)
|
||||
dat += span_danger("Full-depth necrosis detected in [e.name]. Urgent surgical removal/intervention required.")
|
||||
dat += "<br>"
|
||||
else if(e.germ_level > INFECTION_LEVEL_ONE)
|
||||
if(e.germ_level >= INFECTION_LEVEL_TWO)
|
||||
dat += span_danger("Necrosis detected in [e.name]. [showadvscan ? "Quantity: [e.germ_level]. " : ""] Antibiotics / surgical intervention urgently required.")
|
||||
else
|
||||
dat += span_warning("Cellulitis detected in [e.name]. [showadvscan ? "Quantity: [e.germ_level]. " : ""] Antibiotics / surgical intervention required.")
|
||||
dat += "<br>"
|
||||
// IB
|
||||
for(var/datum/wound/W in e.wounds)
|
||||
if(W.internal)
|
||||
if(advscan >= 1 && showadvscan == 1)
|
||||
ib_dat += span_warning("Internal bleeding detected in subject [e.name].")
|
||||
if(advscan >= SCANNABLE_ADVANCED && showadvscan == 1)
|
||||
ib_dat += span_warning("Internal bleeding detected in subject [e.name]. Severity: [H.calculate_internal_bloodloss(W) * 0.5] units of blood lost per second")
|
||||
ib_dat += "<br>"
|
||||
else
|
||||
basic_ib = 1
|
||||
basic_ib = TRUE
|
||||
if(basic_fracture)
|
||||
fracture_dat += span_warning("Bone fractures detected. Advanced scanner required for location.")
|
||||
fracture_dat += "<br>"
|
||||
@@ -408,7 +411,7 @@
|
||||
dat += ib_dat
|
||||
|
||||
// Blood level
|
||||
if(M:vessel)
|
||||
if(H.vessel)
|
||||
var/blood_volume = H.vessel.get_reagent_amount(REAGENT_ID_BLOOD)
|
||||
var/blood_percent = round((blood_volume / H.species.blood_volume)*100)
|
||||
var/blood_type = H.dna.b_type
|
||||
@@ -493,21 +496,21 @@
|
||||
/obj/item/healthanalyzer/improved //reports bone fractures, IB, quantity of beneficial reagents in stomach; also regular health analyzer stuff
|
||||
name = "improved health analyzer"
|
||||
desc = "A miracle of medical technology, this handheld scanner can produce an accurate and specific report of a patient's biosigns."
|
||||
advscan = 1
|
||||
advscan = SCANNABLE_ADVANCED
|
||||
origin_tech = list(TECH_MAGNET = 5, TECH_BIO = 6)
|
||||
icon_state = "health1"
|
||||
|
||||
/obj/item/healthanalyzer/advanced //reports all of the above, as well as radiation severity and minor brain damage
|
||||
name = "advanced health analyzer"
|
||||
desc = "An even more advanced handheld health scanner, complete with a full biosign monitor and on-board radiation and neurological analysis suites."
|
||||
advscan = 2
|
||||
advscan = SCANNABLE_DIFFICULT
|
||||
origin_tech = list(TECH_MAGNET = 6, TECH_BIO = 7)
|
||||
icon_state = "health2"
|
||||
|
||||
/obj/item/healthanalyzer/phasic //reports all of the above, as well as name and quantity of nonmed reagents in stomach
|
||||
name = "phasic health analyzer"
|
||||
desc = "Possibly the most advanced health analyzer to ever have existed, utilising bluespace technology to determine almost everything worth knowing about a patient."
|
||||
advscan = 3
|
||||
advscan = SCANNABLE_SECRETIVE
|
||||
origin_tech = list(TECH_MAGNET = 7, TECH_BIO = 8)
|
||||
icon_state = "health3"
|
||||
|
||||
|
||||
@@ -220,7 +220,7 @@
|
||||
board_type = new /datum/frame/frame_types/medical_pod
|
||||
origin_tech = list(TECH_MAGNET = 2, TECH_BIO = 2)
|
||||
req_components = list(
|
||||
/obj/item/stock_parts/scanning_module = 3,
|
||||
/obj/item/stock_parts/scanning_module = 1,
|
||||
/obj/item/stack/material/glass/reinforced = 2)
|
||||
|
||||
/obj/item/circuitboard/medical_kiosk
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// showadvscan toggles whether to give additional scan information about chemicals in their body.
|
||||
// By default this proc is set to it's most powerful scan.
|
||||
|
||||
/mob/living/proc/scan_mob(mob/user, var/mode = 1, var/advscan = 3, var/showadvscan = 1)
|
||||
/mob/living/proc/scan_mob(mob/user, var/mode = 1, var/advscan = SCANNABLE_SECRETIVE, var/showadvscan = 1)
|
||||
var/mob/living/M = src
|
||||
var/dat = ""
|
||||
|
||||
@@ -146,7 +146,7 @@
|
||||
OX = fake_oxy > 50 ? span_warning("Severe oxygen deprivation detected") : "Subject bloodstream oxygen level normal"
|
||||
dat += "[OX] | [TX] | [BU] | [BR]<br>"
|
||||
if(M.radiation)
|
||||
if(advscan >= 2 && showadvscan == 1)
|
||||
if(advscan >= SCANNABLE_DIFFICULT && showadvscan == 1)
|
||||
var/severity = ""
|
||||
if(M.radiation >= 1500)
|
||||
severity = "Lethal"
|
||||
@@ -164,7 +164,7 @@
|
||||
dat += span_warning("Acute radiation sickness detected.")
|
||||
dat += "<br>"
|
||||
if(M.accumulated_rads)
|
||||
if(advscan >= 2 && showadvscan == 1)
|
||||
if(advscan >= SCANNABLE_DIFFICULT && showadvscan == 1)
|
||||
var/severity = ""
|
||||
if(M.accumulated_rads >= 1500)
|
||||
severity = "Critical"
|
||||
@@ -188,7 +188,7 @@
|
||||
var/reagentdata[0]
|
||||
var/unknownreagents[0]
|
||||
for(var/datum/reagent/R as anything in C.reagents.reagent_list)
|
||||
if(R.scannable)
|
||||
if(R.scannable && advscan >= R.scannable)
|
||||
reagentdata["[R.id]"] = span_notice("\t[round(C.reagents.get_reagent_amount(R.id), 1)]u [R.name][(R.overdose && R.volume > R.overdose) ? " - [span_danger("Overdose")]" : ""]")
|
||||
reagentdata["[R.id]"] += "<br>"
|
||||
else
|
||||
@@ -201,72 +201,54 @@
|
||||
for(var/d in reagentdata)
|
||||
dat += reagentdata[d]
|
||||
if(unknown)
|
||||
if(advscan >= 3 && showadvscan == 1)
|
||||
dat += span_warning("Warning: Non-medical reagent[(unknown>1)?"s":""] detected in subject's blood:")
|
||||
dat += "<br>"
|
||||
for(var/d in unknownreagents)
|
||||
dat += unknownreagents[d]
|
||||
else
|
||||
dat += span_warning("Warning: Unknown substance[(unknown>1)?"s":""] detected in subject's blood.")
|
||||
dat += "<br>"
|
||||
dat += span_warning("Warning: Unknown substance[(unknown>1)?"s":""] detected in subject's blood.")
|
||||
dat += "<br>"
|
||||
if(C.ingested && C.ingested.total_volume)
|
||||
var/unknown = 0
|
||||
var/stomachreagentdata[0]
|
||||
var/stomachunknownreagents[0]
|
||||
for(var/datum/reagent/R as anything in C.ingested.reagent_list)
|
||||
if(R.scannable)
|
||||
if(R.scannable && advscan >= R.scannable)
|
||||
stomachreagentdata["[R.id]"] = span_notice("\t[round(C.ingested.get_reagent_amount(R.id), 1)]u [R.name][(R.overdose && R.volume > R.overdose) ? " - [span_danger("Overdose")]" : ""]")
|
||||
stomachreagentdata["[R.id]"] += "<br>"
|
||||
if (advscan == 0 || showadvscan == 0)
|
||||
if(!advscan || !showadvscan)
|
||||
dat += span_notice("[R.name] found in subject's stomach.")
|
||||
dat += "<br>"
|
||||
else
|
||||
++unknown
|
||||
stomachunknownreagents["[R.id]"] = span_notice("\t[round(C.ingested.get_reagent_amount(R.id), 1)]u [R.name][(R.overdose && R.volume > R.overdose) ? " - [span_danger("Overdose")]" : ""]")
|
||||
stomachunknownreagents["[R.id]"] += "<br>"
|
||||
if(advscan >= 1 && showadvscan == 1)
|
||||
if(showadvscan == 1)
|
||||
dat += span_notice("Beneficial reagents detected in subject's stomach:")
|
||||
dat += "<br>"
|
||||
for(var/d in stomachreagentdata)
|
||||
dat += stomachreagentdata[d]
|
||||
if(unknown)
|
||||
if(advscan >= 3 && showadvscan == 1)
|
||||
dat += span_warning("Warning: Non-medical reagent[(unknown > 1)?"s":""] found in subject's stomach:")
|
||||
dat += "<br>"
|
||||
for(var/d in stomachunknownreagents)
|
||||
dat += stomachunknownreagents[d]
|
||||
else
|
||||
dat += span_warning("Unknown substance[(unknown > 1)?"s":""] found in subject's stomach.")
|
||||
dat += "<br>"
|
||||
dat += span_warning("Unknown substance[(unknown > 1)?"s":""] found in subject's stomach.")
|
||||
dat += "<br>"
|
||||
if(C.touching && C.touching.total_volume)
|
||||
var/unknown = 0
|
||||
var/touchreagentdata[0]
|
||||
var/touchunknownreagents[0]
|
||||
for(var/datum/reagent/R as anything in C.touching.reagent_list)
|
||||
if(R.scannable)
|
||||
if(R.scannable && advscan >= R.scannable)
|
||||
touchreagentdata["[R.id]"] = span_notice("\t[round(C.touching.get_reagent_amount(R.id), 1)]u [R.name][(R.overdose && R.can_overdose_touch && R.volume > R.overdose) ? " - [span_danger("Overdose")]" : ""]")
|
||||
touchreagentdata["[R.id]"] += "<br>"
|
||||
if (advscan == 0 || showadvscan == 0)
|
||||
if(!advscan || !showadvscan)
|
||||
dat += span_notice("[R.name] found in subject's dermis.")
|
||||
dat += "<br>"
|
||||
else
|
||||
++unknown
|
||||
touchunknownreagents["[R.id]"] = span_notice("\t[round(C.ingested.get_reagent_amount(R.id), 1)]u [R.name][(R.overdose && R.can_overdose_touch && R.volume > R.overdose) ? " - [span_danger("Overdose")]" : ""]")
|
||||
touchunknownreagents["[R.id]"] += "<br>"
|
||||
if(advscan >= 1 && showadvscan == 1)
|
||||
if(showadvscan == 1)
|
||||
dat += span_notice("Beneficial reagents detected in subject's dermis:")
|
||||
dat += "<br>"
|
||||
for(var/d in touchreagentdata)
|
||||
dat += touchreagentdata[d]
|
||||
if(unknown)
|
||||
if(advscan >= 3 && showadvscan == 1)
|
||||
dat += span_warning("Warning: Non-medical reagent[(unknown > 1)?"s":""] found in subject's dermis:")
|
||||
dat += "<br>"
|
||||
for(var/d in touchunknownreagents)
|
||||
dat += touchunknownreagents[d]
|
||||
else
|
||||
dat += span_warning("Unknown substance[(unknown > 1)?"s":""] found in subject's dermis.")
|
||||
dat += "<br>"
|
||||
dat += span_warning("Unknown substance[(unknown > 1)?"s":""] found in subject's dermis.")
|
||||
dat += "<br>"
|
||||
if(C.IsInfected())
|
||||
for (var/datum/disease/virus in C.GetViruses())
|
||||
if(virus.visibility_flags & HIDDEN_SCANNER || virus.visibility_flags & HIDDEN_PANDEMIC)
|
||||
@@ -344,8 +326,8 @@
|
||||
continue // not there or robotic or brain which is handled separately
|
||||
if(i.damage || i.status & ORGAN_DEAD)
|
||||
int_damage_acc += (i.damage + ((i.status & ORGAN_DEAD) ? 30 : 0))
|
||||
if(advscan >= 2 && showadvscan == 1)
|
||||
if(advscan >= 3)
|
||||
if(advscan >= SCANNABLE_DIFFICULT && showadvscan == 1)
|
||||
if(advscan >= SCANNABLE_SECRETIVE)
|
||||
var/dam_adj
|
||||
if(i.damage >= i.min_broken_damage || i.status & ORGAN_DEAD)
|
||||
dam_adj = "Severe"
|
||||
@@ -358,7 +340,7 @@
|
||||
else
|
||||
dat += span_warning("Damage detected to subject's [i.name].")
|
||||
dat += "<br>"
|
||||
if(int_damage_acc >= 1 && (advscan < 2 || !showadvscan))
|
||||
if(int_damage_acc >= 1 && (advscan < SCANNABLE_DIFFICULT || !showadvscan))
|
||||
dat += span_warning("Damage detected to subject's internal organs.")
|
||||
dat += "<br>"
|
||||
for(var/obj/item/organ/external/e in H.organs)
|
||||
@@ -369,7 +351,7 @@
|
||||
if((e.name in list(BP_L_ARM, BP_R_ARM, BP_L_LEG, BP_R_LEG, BP_HEAD, BP_TORSO, BP_GROIN)) && (!e.splinted))
|
||||
fracture_dat += span_warning("Unsecured fracture in subject [e.name]. Splinting recommended for transport.")
|
||||
fracture_dat += "<br>"
|
||||
else if(advscan >= 1 && showadvscan == 1)
|
||||
else if(advscan >= SCANNABLE_ADVANCED && showadvscan == 1)
|
||||
fracture_dat += span_warning("Bone fractures detected in subject [e.name].")
|
||||
fracture_dat += "<br>"
|
||||
else
|
||||
@@ -381,7 +363,7 @@
|
||||
// IB
|
||||
for(var/datum/wound/W in e.wounds)
|
||||
if(W.internal)
|
||||
if(advscan >= 1 && showadvscan == 1)
|
||||
if(advscan >= SCANNABLE_ADVANCED && showadvscan == 1)
|
||||
ib_dat += span_warning("Internal bleeding detected in subject [e.name].")
|
||||
ib_dat += "<br>"
|
||||
else
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
var/datum/surgery_step/cure_surgery //Which surgery step can be used to cure this?
|
||||
var/unhealth = 100 //The amount of health the issue has, depleted by reagent
|
||||
var/reagent_strength = 10 //How much health the reagent will remove per processing
|
||||
var/advscan_cure = 0 //What level of advanced scan is required to reveal the cure?
|
||||
var/advscan_cure = SCANNABLE_BENEFICIAL //What level of advanced scan is required to reveal the cure?
|
||||
|
||||
var/symptom_text //Messages relayed to the patient about their symptoms
|
||||
var/symptom_affect //Visible effects on the patient such as vomiting or weakness
|
||||
|
||||
@@ -71,11 +71,7 @@ Drinks Data
|
||||
*/
|
||||
|
||||
/datum/reagent
|
||||
var/glass_icon_file = null
|
||||
var/glass_icon_state = null
|
||||
var/glass_center_of_mass_x = 0
|
||||
var/glass_center_of_mass_y = 0
|
||||
var/glass_icon_source = null //CHOMP A way for us to have metaglass identify and decide which dmi it wants to grab sprites from - Jack
|
||||
var/glass_icon_source = null //CHOMPEdit A way for us to have metaglass identify and decide which dmi it wants to grab sprites from - Jack
|
||||
|
||||
/datum/reagent/adminordrazine
|
||||
glass_icon_state = "golden_cup"
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
taste_description = "nothingness"
|
||||
reagent_state = LIQUID
|
||||
color = "#ffffff"
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_RARE
|
||||
industrial_use = REFINERYEXPORT_REASON_MATSCI
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
taste_description = "difficult to discern"
|
||||
reagent_state = LIQUID
|
||||
color = "#ffffff"
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
wiki_flag = WIKI_SPOILER
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_RARE
|
||||
industrial_use = REFINERYEXPORT_REASON_MATSCI
|
||||
@@ -93,7 +93,7 @@
|
||||
taste_description = "bright"
|
||||
reagent_state = LIQUID
|
||||
color = "#ffffff"
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_RARE
|
||||
industrial_use = REFINERYEXPORT_REASON_MATSCI
|
||||
|
||||
|
||||
@@ -1247,7 +1247,7 @@
|
||||
description = "A unknown liquid, it smells sweet"
|
||||
metabolism = REM * 0.8
|
||||
color = "#8A0829"
|
||||
scannable = 0
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
wiki_flag = WIKI_SPOILER
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
|
||||
industrial_use = REFINERYEXPORT_REASON_MATSCI
|
||||
@@ -1265,7 +1265,7 @@
|
||||
description = "A unknown liquid, it doesn't smell"
|
||||
metabolism = REM * 0.5
|
||||
color = "#41029B"
|
||||
scannable = 0
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
|
||||
industrial_use = REFINERYEXPORT_REASON_MATSCI
|
||||
|
||||
@@ -1285,7 +1285,7 @@
|
||||
description = "A unknown liquid, it doesn't smell"
|
||||
metabolism= REM * 0.5
|
||||
color = "#41029B"
|
||||
scannable = 0
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
|
||||
industrial_use = REFINERYEXPORT_REASON_MATSCI
|
||||
|
||||
|
||||
+101
-63
@@ -161,82 +161,120 @@ BLOOD_VOLUME_SURVIVE = 40
|
||||
adjust_nutrition(-3)
|
||||
|
||||
//Bleeding out
|
||||
var/blood_max = 0
|
||||
var/blood_loss_divisor = 30.01 //lower factor = more blood loss
|
||||
caculate_bloodloss_and_bleed(bleed = TRUE)
|
||||
|
||||
// Some species bleed out differently
|
||||
blood_loss_divisor /= species.bloodloss_rate
|
||||
///Calculates our bloodloss divisor and returns what it is.
|
||||
/mob/living/carbon/human/proc/calculate_bloodloss_divisor()
|
||||
var/blood_loss_divisor = 30.01 //lower factor = more blood loss
|
||||
|
||||
// Some modifiers can make bleeding better or worse. Higher multiplers = more bleeding.
|
||||
var/blood_loss_modifier_multiplier = 1.0
|
||||
for(var/datum/modifier/M in modifiers)
|
||||
if(!isnull(M.bleeding_rate_percent))
|
||||
blood_loss_modifier_multiplier += (M.bleeding_rate_percent - 1.0)
|
||||
// Some species bleed out differently
|
||||
blood_loss_divisor /= species.bloodloss_rate
|
||||
|
||||
blood_loss_divisor /= blood_loss_modifier_multiplier
|
||||
// Some modifiers can make bleeding better or worse. Higher multiplers = more bleeding.
|
||||
var/blood_loss_modifier_multiplier = 1.0
|
||||
for(var/datum/modifier/M in modifiers)
|
||||
if(!isnull(M.bleeding_rate_percent))
|
||||
blood_loss_modifier_multiplier += (M.bleeding_rate_percent - 1.0)
|
||||
|
||||
blood_loss_divisor /= blood_loss_modifier_multiplier
|
||||
return blood_loss_divisor
|
||||
|
||||
//This 30 is the "baseline" of a cut in the "vital" regions (head and torso).
|
||||
for(var/obj/item/organ/external/temp in bad_external_organs)
|
||||
///Calculates how much blood we should lose from our wounds and makes us bleed that amount if bleed is TRUE
|
||||
///ARGS:
|
||||
/// bleed: If we bleed or not while checking. DEFAULT: True
|
||||
/// organ_to_check: The organ we want to check. If we don't, it checks ALL the bad organs.
|
||||
/// count_internal: Internal bleeding counts towards our bloodloss max. DEFAULT: False
|
||||
/// count_external: External bleeding counts towards our bloodloss max. DEFAULT: True
|
||||
|
||||
///First, we make sure it's not robotic.
|
||||
if(temp.robotic >= ORGAN_ROBOT)
|
||||
continue
|
||||
/mob/living/carbon/human/proc/caculate_bloodloss_and_bleed(bleed = TRUE, obj/item/organ/external/organ_to_check, count_internal = FALSE, count_external = TRUE)
|
||||
var/total_blood_loss = 0
|
||||
var/blood_max = 0
|
||||
var/blood_loss_divisor = calculate_bloodloss_divisor()
|
||||
var/list/organs_to_check = list()
|
||||
|
||||
///Second, we process internal bleeding.
|
||||
if(organ_to_check)
|
||||
organs_to_check += organ_to_check
|
||||
else
|
||||
organs_to_check = bad_external_organs
|
||||
//This 30 is the "baseline" of a cut in the "vital" regions (head and torso).
|
||||
for(var/obj/item/organ/external/temp in organs_to_check)
|
||||
|
||||
///First, we make sure it's not robotic.
|
||||
if(temp.robotic >= ORGAN_ROBOT)
|
||||
continue
|
||||
|
||||
///Second, we process internal bleeding.
|
||||
if(bleed || count_internal)
|
||||
for(var/datum/wound/internal_bleeding/W in temp.wounds)
|
||||
blood_loss_divisor = blood_loss_divisor+10 //IB is slower bloodloss than normal.
|
||||
var/bicardose
|
||||
if(reagents.get_reagent_amount(REAGENT_ID_BICARIDINE) || reagents.get_reagent_amount(REAGENT_ID_BICARIDAZE))
|
||||
bicardose = TRUE
|
||||
var/inaprovaline
|
||||
if(reagents.get_reagent_amount(REAGENT_ID_INAPROVALINE) || reagents.get_reagent_amount(REAGENT_ID_INAPROVALAZE))
|
||||
inaprovaline = TRUE
|
||||
var/myeldose = reagents.get_reagent_amount(REAGENT_ID_MYELAMINE)
|
||||
if(!(W.can_autoheal() || (bicardose && inaprovaline) || myeldose)) //bicaridine and inaprovaline stop internal wounds from growing bigger with time, unless it is so small that it is already healing
|
||||
W.open_wound(0.1)
|
||||
var/internal_blood_to_lose = calculate_internal_bloodloss(W, applied_pressure = temp.applied_pressure)
|
||||
if(count_internal)
|
||||
total_blood_loss += internal_blood_to_lose
|
||||
if(bleed)
|
||||
remove_blood(internal_blood_to_lose)
|
||||
if(prob(1))
|
||||
custom_pain("You feel a stabbing pain in your [temp.name]!", 50)
|
||||
if((CE_STABLE in chem_effects) || myeldose)
|
||||
blood_loss_divisor = max(blood_loss_divisor + 30, 1) //Inaprovaline is great on internal wounds.
|
||||
if(temp.applied_pressure) //Putting pressure on the afflicted wound helps stop the arterial bleeding.
|
||||
blood_loss_divisor += 30
|
||||
if(W.clamped)
|
||||
blood_loss_divisor = blood_loss_divisor * 10 //We hemostatted the internal bleeding. Bloodloss is 10 times slower.
|
||||
remove_blood(W.damage/blood_loss_divisor) //line should possibly be moved to handle_blood, so all the bleeding stuff is in one place. //Hi. 2025 here. Just did that. ~Diana
|
||||
|
||||
///Thirdly, we check to see if the limb is bleeding EXTERNALLY
|
||||
if(!(temp.status & ORGAN_BLEEDING))
|
||||
continue
|
||||
///Finally, we process external wounds.
|
||||
for(var/datum/wound/W in temp.wounds)
|
||||
if(W.bleeding())
|
||||
if(W.damage_type == PIERCE) //gunshots and spear stabs bleed more
|
||||
blood_loss_divisor = max(blood_loss_divisor - 5, 1)
|
||||
else if(W.damage_type == BRUISE) //bruises bleed less
|
||||
blood_loss_divisor = max(blood_loss_divisor + 5, 1)
|
||||
//the farther you get from those vital regions, the less you bleed
|
||||
//depending on how dangerous bleeding turns out to be, it might be better to only apply the reduction to hands and feet
|
||||
if((temp.organ_tag == BP_L_ARM) || (temp.organ_tag == BP_R_ARM) || (temp.organ_tag == BP_L_LEG) || (temp.organ_tag == BP_R_LEG))
|
||||
blood_loss_divisor = max(blood_loss_divisor + 5, 1)
|
||||
else if((temp.organ_tag == BP_L_HAND) || (temp.organ_tag == BP_R_HAND) || (temp.organ_tag == BP_L_FOOT) || (temp.organ_tag == BP_R_FOOT))
|
||||
blood_loss_divisor = max(blood_loss_divisor + 10, 1)
|
||||
if(CE_STABLE in chem_effects) //Inaprov slows bloodloss
|
||||
blood_loss_divisor = max(blood_loss_divisor + 10, 1)
|
||||
if(temp.applied_pressure)
|
||||
if(ishuman(temp.applied_pressure))
|
||||
var/mob/living/carbon/human/H = temp.applied_pressure
|
||||
H.bloody_hands(src, 0)
|
||||
//somehow you can apply pressure to every wound on the organ at the same time
|
||||
//you're basically forced to do nothing at all, so let's make it pretty effective
|
||||
var/min_eff_damage = max(0, W.damage - 10) / (blood_loss_divisor / 5) //still want a little bit to drip out, for effect
|
||||
blood_max += max(min_eff_damage, W.damage - 30) / blood_loss_divisor
|
||||
else
|
||||
blood_max += W.damage / blood_loss_divisor
|
||||
///Thirdly, we check to see if the limb is bleeding EXTERNALLY
|
||||
if(!(temp.status & ORGAN_BLEEDING))
|
||||
continue
|
||||
///Finally, we process external wounds.
|
||||
for(var/datum/wound/W in temp.wounds)
|
||||
if(W.bleeding())
|
||||
var/temp_bld = blood_loss_divisor
|
||||
if(W.damage_type == PIERCE) //gunshots and spear stabs bleed more
|
||||
temp_bld = max(temp_bld - 5, 1)
|
||||
else if(W.damage_type == BRUISE) //bruises bleed less
|
||||
temp_bld = max(temp_bld + 5, 1)
|
||||
//the farther you get from those vital regions, the less you bleed
|
||||
//depending on how dangerous bleeding turns out to be, it might be better to only apply the reduction to hands and feet
|
||||
if((temp.organ_tag == BP_L_ARM) || (temp.organ_tag == BP_R_ARM) || (temp.organ_tag == BP_L_LEG) || (temp.organ_tag == BP_R_LEG))
|
||||
temp_bld = max(temp_bld + 5, 1)
|
||||
else if((temp.organ_tag == BP_L_HAND) || (temp.organ_tag == BP_R_HAND) || (temp.organ_tag == BP_L_FOOT) || (temp.organ_tag == BP_R_FOOT))
|
||||
temp_bld = max(temp_bld + 10, 1)
|
||||
if(CE_STABLE in chem_effects) //Inaprov slows bloodloss
|
||||
temp_bld = max(temp_bld + 10, 1)
|
||||
if(temp.applied_pressure)
|
||||
if(ishuman(temp.applied_pressure))
|
||||
var/mob/living/carbon/human/H = temp.applied_pressure
|
||||
H.bloody_hands(src, 0)
|
||||
//somehow you can apply pressure to every wound on the organ at the same time
|
||||
//you're basically forced to do nothing at all, so let's make it pretty effective
|
||||
var/min_eff_damage = max(0, W.damage - 10) / (temp_bld / 5) //still want a little bit to drip out, for effect
|
||||
blood_max += max(min_eff_damage, W.damage - 30) / temp_bld
|
||||
else
|
||||
blood_max += W.damage / temp_bld
|
||||
|
||||
if(temp.open)
|
||||
blood_max += 2 //Yer stomach is cut open
|
||||
if(temp.open)
|
||||
blood_max += 2 //Yer stomach is cut open
|
||||
if(bleed)
|
||||
blood_max = round(blood_max, 0.1)
|
||||
drip(blood_max)
|
||||
total_blood_loss += blood_max
|
||||
return round(total_blood_loss, 0.1)
|
||||
|
||||
///Calculates how much blood we should lose from an internal wound.
|
||||
/mob/living/carbon/human/proc/calculate_internal_bloodloss(datum/wound/internal_bleeding/wound_to_check, applied_pressure = FALSE)
|
||||
if(!wound_to_check)
|
||||
return 0
|
||||
|
||||
var/temp_bld = calculate_bloodloss_divisor() + 10 //IB is slower bloodloss than normal.
|
||||
var/bicardose
|
||||
if(reagents.get_reagent_amount(REAGENT_ID_BICARIDINE) || reagents.get_reagent_amount(REAGENT_ID_BICARIDAZE))
|
||||
bicardose = TRUE
|
||||
var/inaprovaline
|
||||
if(reagents.get_reagent_amount(REAGENT_ID_INAPROVALINE) || reagents.get_reagent_amount(REAGENT_ID_INAPROVALAZE))
|
||||
inaprovaline = TRUE
|
||||
var/myeldose = reagents.get_reagent_amount(REAGENT_ID_MYELAMINE)
|
||||
if(!(wound_to_check.can_autoheal() || (bicardose && inaprovaline) || myeldose)) //bicaridine and inaprovaline stop internal wounds from growing bigger with time, unless it is so small that it is already healing
|
||||
wound_to_check.open_wound(0.1)
|
||||
if((CE_STABLE in chem_effects) || myeldose)
|
||||
temp_bld = max(temp_bld + 30, 1) //Inaprovaline is great on internal wounds.
|
||||
if(applied_pressure) //Putting pressure on the afflicted wound helps stop the arterial bleeding.
|
||||
temp_bld += 30
|
||||
if(wound_to_check.clamped)
|
||||
temp_bld = temp_bld * 10 //We hemostatted the internal bleeding. Bloodloss is 10 times slower.
|
||||
return round((wound_to_check.damage/temp_bld), 0.1)
|
||||
|
||||
|
||||
//Makes a blood drop, leaking amt units of blood from the mob
|
||||
/mob/living/carbon/human/proc/drip(var/amt)
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
var/overdose = 0 //Amount at which overdose starts
|
||||
var/overdose_mod = 1 //Modifier to overdose damage
|
||||
var/can_overdose_touch = FALSE // Can the chemical OD when processing on touch?
|
||||
var/scannable = 0 // Shows up on health analyzers.
|
||||
var/scannable = SCANNABLE_SECRETIVE // Shows up on health analyzers.
|
||||
|
||||
var/affects_dead = 0 // Does this chem process inside a corpse without outside intervention required?
|
||||
var/affects_robots = 0 // Does this chem process inside a Synth?
|
||||
@@ -49,6 +49,11 @@
|
||||
|
||||
var/coolant_modifier = -0.5 // this is multiplied by the volume of the reagent. Most things are not good coolant. EX: Water is 1, coolant is 2. -1 would be a bad reagent for cooling.
|
||||
|
||||
var/glass_icon_file = null
|
||||
var/glass_icon_state = null
|
||||
var/glass_center_of_mass_x = 0
|
||||
var/glass_center_of_mass_y = 0
|
||||
|
||||
/datum/reagent/proc/remove_self(var/amount) // Shortcut
|
||||
if(holder)
|
||||
holder.remove_reagent(id, amount)
|
||||
|
||||
@@ -247,6 +247,7 @@
|
||||
taste_description = REAGENT_ID_WATER
|
||||
description = "A ubiquitous chemical substance that is composed of hydrogen and oxygen."
|
||||
reagent_state = LIQUID
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
color = "#0064C877"
|
||||
metabolism = REM * 10
|
||||
|
||||
@@ -349,6 +350,7 @@
|
||||
description = "Required for welders. Flamable."
|
||||
taste_description = "gross metal"
|
||||
reagent_state = LIQUID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#660000"
|
||||
|
||||
glass_name = "welder fuel"
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
taste_mult = 1.1
|
||||
reagent_state = SOLID
|
||||
color = "#A8A8A8"
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
supply_conversion_value = 1 // has sheet value
|
||||
industrial_use = REFINERYEXPORT_REASON_RAW
|
||||
|
||||
@@ -16,6 +17,7 @@
|
||||
taste_description = "metallic chalk" // Apparently, calcium tastes like calcium.
|
||||
taste_mult = 1.3
|
||||
reagent_state = SOLID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#e9e6e4"
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
|
||||
industrial_use = REFINERYEXPORT_REASON_RAW
|
||||
@@ -39,6 +41,7 @@
|
||||
taste_description = "sour chalk"
|
||||
taste_mult = 1.5
|
||||
reagent_state = SOLID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#1C1300"
|
||||
ingest_met = REM * 5
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_UNWANTED
|
||||
@@ -71,6 +74,7 @@
|
||||
taste_description = "pool water"
|
||||
reagent_state = GAS
|
||||
color = "#808080"
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
|
||||
industrial_use = REFINERYEXPORT_REASON_RAW
|
||||
coolant_modifier = 0.15
|
||||
@@ -87,6 +91,7 @@
|
||||
description = "A highly ductile metal."
|
||||
taste_description = "pennies"
|
||||
color = "#6E3B08"
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
supply_conversion_value = 0.5 SHEET_TO_REAGENT_EQUIVILENT // has sheet value
|
||||
industrial_use = REFINERYEXPORT_REASON_PRECURSOR
|
||||
|
||||
@@ -96,6 +101,7 @@
|
||||
description = "A well-known alcohol with a variety of applications."
|
||||
taste_description = "pure alcohol"
|
||||
reagent_state = LIQUID
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
color = "#404030"
|
||||
cup_prefix = "alcoholic"
|
||||
|
||||
@@ -303,6 +309,7 @@
|
||||
description = "A highly-reactive chemical element."
|
||||
taste_description = "acid"
|
||||
reagent_state = GAS
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#808080"
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
|
||||
industrial_use = REFINERYEXPORT_REASON_RAW
|
||||
@@ -319,6 +326,7 @@
|
||||
description = "A colorless, odorless, nonmetallic, tasteless, highly combustible diatomic gas."
|
||||
taste_mult = 0 //no taste
|
||||
reagent_state = GAS
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#808080"
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_NO
|
||||
industrial_use = REFINERYEXPORT_REASON_PRECURSOR
|
||||
@@ -329,6 +337,7 @@
|
||||
description = "Pure iron is a metal."
|
||||
taste_description = "metal"
|
||||
reagent_state = SOLID
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
color = "#353535"
|
||||
supply_conversion_value = 1 SHEET_TO_REAGENT_EQUIVILENT // has sheet value
|
||||
industrial_use = REFINERYEXPORT_REASON_RAW
|
||||
@@ -339,6 +348,7 @@
|
||||
description = "A chemical element, used as antidepressant."
|
||||
taste_description = "metal"
|
||||
reagent_state = SOLID
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
color = "#808080"
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
|
||||
industrial_use = REFINERYEXPORT_REASON_PRECURSOR
|
||||
@@ -357,6 +367,7 @@
|
||||
description = "A chemical element."
|
||||
taste_mult = 0 //mercury apparently is tasteless. IDK
|
||||
reagent_state = LIQUID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#484848"
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
|
||||
industrial_use = REFINERYEXPORT_REASON_PRECURSOR
|
||||
@@ -375,6 +386,7 @@
|
||||
description = "A colorless, odorless, tasteless gas."
|
||||
taste_mult = 0 //no taste
|
||||
reagent_state = GAS
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#808080"
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
|
||||
industrial_use = REFINERYEXPORT_REASON_RAW
|
||||
@@ -386,6 +398,7 @@
|
||||
description = "A colorless, odorless gas."
|
||||
taste_mult = 0
|
||||
reagent_state = GAS
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
color = "#808080"
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
|
||||
industrial_use = REFINERYEXPORT_REASON_RAW
|
||||
@@ -401,6 +414,7 @@
|
||||
description = "A chemical element, the backbone of biological energy carriers."
|
||||
taste_description = "vinegar"
|
||||
reagent_state = SOLID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#832828"
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
|
||||
industrial_use = REFINERYEXPORT_REASON_RAW
|
||||
@@ -411,6 +425,7 @@
|
||||
description = "A soft, low-melting solid that can easily be cut with a knife. Reacts violently with water."
|
||||
taste_description = "sweetness" //potassium is bitter in higher doses but sweet in lower ones.
|
||||
reagent_state = SOLID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#A0A0A0"
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
|
||||
industrial_use = REFINERYEXPORT_REASON_RAW
|
||||
@@ -421,6 +436,7 @@
|
||||
description = "Radium is an alkaline earth metal. It is extremely radioactive."
|
||||
taste_mult = 0 //Apparently radium is tasteless
|
||||
reagent_state = SOLID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#C7C7C7"
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_RARE
|
||||
industrial_use = REFINERYEXPORT_REASON_PRECURSOR
|
||||
@@ -444,6 +460,7 @@
|
||||
description = "Concentrated Radium is a more potent variant of regular radium, able to pierce and irradiate a subject through their skin."
|
||||
taste_mult = 0 //Apparently radium is tasteless
|
||||
reagent_state = SOLID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#C7C7C7"
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_RARE
|
||||
industrial_use = REFINERYEXPORT_REASON_PRECURSOR
|
||||
@@ -462,6 +479,7 @@
|
||||
description = "A very corrosive mineral acid with the molecular formula H2SO4."
|
||||
taste_description = "acid"
|
||||
reagent_state = LIQUID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#DB5008"
|
||||
metabolism = REM * 2
|
||||
touch_met = 50 // It's acid!
|
||||
@@ -598,6 +616,7 @@
|
||||
description = "A tetravalent metalloid, silicon is less reactive than its chemical analog carbon."
|
||||
taste_mult = 0
|
||||
reagent_state = SOLID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#A8A8A8"
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_UNWANTED
|
||||
industrial_use = REFINERYEXPORT_REASON_RAW
|
||||
@@ -608,6 +627,7 @@
|
||||
description = "A chemical element, readily reacts with water."
|
||||
taste_description = "salty metal"
|
||||
reagent_state = SOLID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#808080"
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
|
||||
industrial_use = REFINERYEXPORT_REASON_RAW
|
||||
@@ -620,6 +640,7 @@
|
||||
taste_description = "sugar"
|
||||
taste_mult = 1.8
|
||||
reagent_state = SOLID
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
color = "#FFFFFF"
|
||||
|
||||
glass_name = REAGENT_ID_SUGAR
|
||||
@@ -657,6 +678,7 @@
|
||||
description = "A chemical element with a pungent smell."
|
||||
taste_description = "old eggs"
|
||||
reagent_state = SOLID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#BF8C00"
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
|
||||
industrial_use = REFINERYEXPORT_REASON_RAW
|
||||
@@ -669,6 +691,7 @@
|
||||
taste_description = "metal"
|
||||
taste_mult = 0 //no taste
|
||||
reagent_state = SOLID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#DCDCDC"
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
|
||||
industrial_use = REFINERYEXPORT_REASON_PRECURSOR
|
||||
@@ -680,6 +703,7 @@
|
||||
taste_description = "metal"
|
||||
taste_mult = 0 //no taste
|
||||
reagent_state = SOLID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#cadcef"
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
|
||||
industrial_use = REFINERYEXPORT_REASON_COSMETIC
|
||||
@@ -691,6 +715,7 @@
|
||||
taste_description = "metal"
|
||||
taste_mult = 0 //no taste
|
||||
reagent_state = SOLID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#cadcef"
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_RARE
|
||||
industrial_use = REFINERYEXPORT_REASON_INDUSTRY
|
||||
@@ -702,6 +727,7 @@
|
||||
taste_description = "metal"
|
||||
taste_mult = 0 //no taste
|
||||
reagent_state = SOLID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#efe9ca"
|
||||
supply_conversion_value = 0.5 SHEET_TO_REAGENT_EQUIVILENT // has sheet value
|
||||
industrial_use = REFINERYEXPORT_REASON_PRECURSOR
|
||||
@@ -711,6 +737,7 @@
|
||||
id = REAGENT_ID_MIASMA
|
||||
description = "Not necessarily a gas, miasma refers to biological pollutants found in the atmosphere."
|
||||
reagent_state = GAS
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
taste_description = "indescribable"
|
||||
color = "#808000"
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_NO
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
taste_description = "a bad investment"
|
||||
taste_mult = 1.2 /// The overwhelming flavor of a good(?) time!
|
||||
color = "#f2f2f2"
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
var/high_messages = TRUE
|
||||
var/list/high_message_list = list("You feel great! For now...", "You feel a wave of happiness!")
|
||||
var/list/sober_message_list = list("You feel like garbage...", "Your head aches.")
|
||||
@@ -48,6 +49,7 @@
|
||||
description = "Known for providing a euphoric high, this psychoactive drug is often used recreationally."
|
||||
taste_description = "unpleasant bitterness"
|
||||
taste_mult = 0.4
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
high_message_list = list("You don't quite know what up or down is anymore...",
|
||||
"Colors just seem much more amazing.",
|
||||
"You feel incredibly confident. No one can stop you.",
|
||||
@@ -268,6 +270,7 @@
|
||||
high_message_list = list("You feel focused.", "Your attention is undivided.")
|
||||
sober_message_list = list("It becomes harder to focus...", "You feel distractible.")
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
industrial_use = REFINERYEXPORT_REASON_DRUG
|
||||
|
||||
/datum/reagent/drugs/citalopram
|
||||
@@ -276,6 +279,7 @@
|
||||
description = "Stabilizes the mind a little."
|
||||
taste_description = "mild peppermint"
|
||||
color = "#FF80FF"
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
high_message_list = list("Everything feels a bit more steady.", "Your mind feels stable.")
|
||||
sober_message_list = list("You feel a little tired.", "You feel a little more listless...")
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
@@ -292,6 +296,7 @@
|
||||
description = "Stabilizes the mind greatly, but has a chance of adverse effects."
|
||||
taste_description = "mild oranges"
|
||||
color = "#FF80BF"
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
high_message_list = list("Everything feels good, stable.", "You feel grounded.")
|
||||
sober_message_list = list("The stability is gone...", "Everything is much less stable.")
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
|
||||
@@ -312,6 +317,7 @@
|
||||
description = "A potent sedative and anti-anxiety medication, made for the Qerr-Katish."
|
||||
taste_description = "mint"
|
||||
color = "#e6efe3"
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
high_message_list = list("You feel sluggish...", "You feel calm and collected.")
|
||||
sober_message_list = list("You feel so much more antsy...", "Your concentration wavers.")
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
affects_robots = 1 //VOREStation Edit
|
||||
wiki_flag = WIKI_FOOD
|
||||
coolant_modifier = -1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_UNWANTED
|
||||
industrial_use = REFINERYEXPORT_REASON_FOOD
|
||||
@@ -867,6 +868,7 @@
|
||||
/datum/reagent/condensedcapsaicin
|
||||
name = REAGENT_CONDENSEDCAPSAICIN
|
||||
id = REAGENT_ID_CONDENSEDCAPSAICIN
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
description = "A chemical agent used for self-defense and in police work."
|
||||
taste_description = "fire"
|
||||
taste_mult = 10
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
color = "#00BFFF"
|
||||
overdose = REAGENTS_OVERDOSE * 2
|
||||
metabolism = REM * 0.2
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
|
||||
industrial_use = REFINERYEXPORT_REASON_DRUG
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
color = "#00BFFF"
|
||||
overdose = REAGENTS_OVERDOSE * 2
|
||||
metabolism = REM * 0.2
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
touch_met = REM * 0.3
|
||||
can_overdose_touch = TRUE
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
@@ -54,7 +54,7 @@
|
||||
color = "#BF0000"
|
||||
overdose = REAGENTS_OVERDOSE
|
||||
overdose_mod = 0.25
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
|
||||
industrial_use = REFINERYEXPORT_REASON_DRUG
|
||||
|
||||
@@ -91,7 +91,7 @@
|
||||
reagent_state = LIQUID
|
||||
color = "#BF0000"
|
||||
overdose = REAGENTS_OVERDOSE * 0.75
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
touch_met = REM * 0.75
|
||||
can_overdose_touch = TRUE
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
@@ -121,7 +121,7 @@
|
||||
color = "#eae6e3"
|
||||
overdose = REAGENTS_OVERDOSE * 0.8
|
||||
metabolism = REM * 0.4
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
|
||||
industrial_use = REFINERYEXPORT_REASON_DRUG
|
||||
|
||||
@@ -141,7 +141,7 @@
|
||||
reagent_state = LIQUID
|
||||
color = "#FFA800"
|
||||
overdose = REAGENTS_OVERDOSE
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
|
||||
industrial_use = REFINERYEXPORT_REASON_DRUG
|
||||
|
||||
@@ -163,7 +163,7 @@
|
||||
reagent_state = LIQUID
|
||||
color = "#FF8000"
|
||||
overdose = REAGENTS_OVERDOSE * 0.5
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
|
||||
industrial_use = REFINERYEXPORT_REASON_DRUG
|
||||
|
||||
@@ -183,7 +183,7 @@
|
||||
reagent_state = LIQUID
|
||||
color = "#FF8000"
|
||||
overdose = REAGENTS_OVERDOSE * 0.4
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
touch_met = REM * 0.75
|
||||
can_overdose_touch = TRUE
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
@@ -211,7 +211,7 @@
|
||||
taste_description = "a roll of gauze"
|
||||
reagent_state = LIQUID
|
||||
color = "#00A000"
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
|
||||
industrial_use = REFINERYEXPORT_REASON_DRUG
|
||||
|
||||
@@ -234,7 +234,7 @@
|
||||
description = REAGENT_CARTHATOLINE + " is strong evacuant used to treat severe poisoning."
|
||||
reagent_state = LIQUID
|
||||
color = "#225722"
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
overdose = REAGENTS_OVERDOSE * 0.5
|
||||
overdose_mod = 0 // Not used, but it shouldn't deal toxin damage anyways. Carth heals toxins!
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
@@ -273,7 +273,7 @@
|
||||
reagent_state = LIQUID
|
||||
color = "#0080FF"
|
||||
overdose = REAGENTS_OVERDOSE
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
metabolism = REM * 0.25
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
|
||||
industrial_use = REFINERYEXPORT_REASON_DRUG
|
||||
@@ -301,7 +301,7 @@
|
||||
color = "#0040FF"
|
||||
overdose = REAGENTS_OVERDOSE * 0.5
|
||||
overdose_mod = 1.25
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
industrial_use = REFINERYEXPORT_REASON_SPECIALDRUG
|
||||
|
||||
@@ -326,8 +326,8 @@
|
||||
taste_description = "bitterness"
|
||||
reagent_state = LIQUID
|
||||
color = "#8040FF"
|
||||
scannable = 1
|
||||
overdose = REAGENTS_OVERDOSE * 4 //YW EDIT - TRICORD FUCKING KILLS YOU
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
|
||||
industrial_use = REFINERYEXPORT_REASON_DRUG
|
||||
|
||||
@@ -356,7 +356,7 @@
|
||||
taste_description = "bitterness"
|
||||
reagent_state = SOLID
|
||||
color = "#B060FF"
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
can_overdose_touch = TRUE
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
industrial_use = REFINERYEXPORT_REASON_SPECIALDRUG
|
||||
@@ -396,7 +396,7 @@
|
||||
color = "#8080FF"
|
||||
metabolism = REM * 0.5
|
||||
mrate_static = TRUE
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
|
||||
industrial_use = REFINERYEXPORT_REASON_CLONEDRUG
|
||||
|
||||
@@ -423,7 +423,7 @@
|
||||
color = "#80BFFF"
|
||||
metabolism = REM * 0.5
|
||||
mrate_static = TRUE
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
industrial_use = REFINERYEXPORT_REASON_CLONEDRUG
|
||||
|
||||
@@ -452,7 +452,7 @@
|
||||
metabolism = REM * 0.5
|
||||
mrate_static = TRUE
|
||||
affects_dead = FALSE //Clarifying this here since the original intent was this ONLY works on people that have the bloodpump_corpse modifier.
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_MASSINDUSTRY
|
||||
industrial_use = REFINERYEXPORT_REASON_CLONEDRUG
|
||||
|
||||
@@ -492,7 +492,7 @@
|
||||
color = "#94B21C"
|
||||
metabolism = REM * 0.5
|
||||
mrate_static = TRUE
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
affects_dead = TRUE
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
industrial_use = REFINERYEXPORT_REASON_CLONEDRUG
|
||||
@@ -529,7 +529,7 @@
|
||||
color = "#C8A5DC"
|
||||
overdose = REAGENTS_OVERDOSE * 2
|
||||
overdose_mod = 0.75
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
metabolism = 0.02
|
||||
mrate_static = TRUE
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
|
||||
@@ -556,7 +556,7 @@
|
||||
color = "#CB68FC"
|
||||
overdose = REAGENTS_OVERDOSE
|
||||
overdose_mod = 0.75
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
metabolism = 0.02
|
||||
mrate_static = TRUE
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
@@ -582,7 +582,7 @@
|
||||
color = "#800080"
|
||||
overdose = 20
|
||||
overdose_mod = 0.75
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
metabolism = 0.02
|
||||
mrate_static = TRUE
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_MASSINDUSTRY
|
||||
@@ -612,8 +612,9 @@
|
||||
reagent_state = LIQUID
|
||||
color = "#99CCFF"
|
||||
metabolism = REM * 0.05
|
||||
mrate_static = TRUE
|
||||
overdose = REAGENTS_OVERDOSE
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
|
||||
industrial_use = REFINERYEXPORT_REASON_DRUG
|
||||
|
||||
@@ -644,6 +645,7 @@
|
||||
reagent_state = LIQUID
|
||||
color = "#FF3300"
|
||||
overdose = REAGENTS_OVERDOSE * 0.5
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
overdose_mod = 0.25
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
|
||||
industrial_use = REFINERYEXPORT_REASON_COMSTIM
|
||||
@@ -677,7 +679,7 @@
|
||||
color = "#FFFF66"
|
||||
metabolism = REM * 0.25
|
||||
overdose = REAGENTS_OVERDOSE
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
industrial_use = REFINERYEXPORT_REASON_SPECIALDRUG
|
||||
|
||||
@@ -702,7 +704,7 @@
|
||||
reagent_state = LIQUID
|
||||
color = "#C8A5DC"
|
||||
overdose = REAGENTS_OVERDOSE
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
industrial_use = REFINERYEXPORT_REASON_SPECIALDRUG
|
||||
|
||||
@@ -729,7 +731,7 @@
|
||||
color = "#561EC3"
|
||||
overdose = 10
|
||||
overdose_mod = 1.5
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
industrial_use = REFINERYEXPORT_REASON_SPECIALDRUG
|
||||
|
||||
@@ -764,7 +766,7 @@
|
||||
metabolism = REM * 0.5
|
||||
overdose = REAGENTS_OVERDOSE * 0.5
|
||||
overdose_mod = 1.5
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_MASSINDUSTRY
|
||||
industrial_use = REFINERYEXPORT_REASON_SPECIALDRUG
|
||||
|
||||
@@ -798,7 +800,7 @@
|
||||
metabolism = REM * 0.75
|
||||
overdose = REAGENTS_OVERDOSE * 0.5
|
||||
overdose_mod = 1.5
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
var/repair_strength = 6
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
industrial_use = REFINERYEXPORT_REASON_SPECIALDRUG
|
||||
@@ -848,7 +850,7 @@
|
||||
metabolism = REM * 1.5
|
||||
overdose = 10
|
||||
overdose_mod = 1.75
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
industrial_use = REFINERYEXPORT_REASON_SPECIALDRUG
|
||||
|
||||
@@ -882,7 +884,7 @@
|
||||
metabolism = REM * 1.5
|
||||
overdose = 10
|
||||
overdose_mod = 1.75
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
industrial_use = REFINERYEXPORT_REASON_SPECIALDRUG
|
||||
|
||||
@@ -916,7 +918,7 @@
|
||||
metabolism = REM * 1.5
|
||||
overdose = 10
|
||||
overdose_mod = 1.75
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
industrial_use = REFINERYEXPORT_REASON_SPECIALDRUG
|
||||
|
||||
@@ -952,7 +954,7 @@
|
||||
metabolism = REM * 1.5
|
||||
overdose = 10
|
||||
overdose_mod = 1.75
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
industrial_use = REFINERYEXPORT_REASON_SPECIALDRUG
|
||||
|
||||
@@ -982,7 +984,7 @@
|
||||
color = "#7B4D4F"
|
||||
overdose = 20
|
||||
overdose_mod = 1.5
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
metabolism = REM * 0.06
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
industrial_use = REFINERYEXPORT_REASON_SPECIALDRUG
|
||||
@@ -1040,7 +1042,7 @@
|
||||
metabolism = REM * 0.06
|
||||
overdose = 20
|
||||
overdose_mod = 1.5
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
industrial_use = REFINERYEXPORT_REASON_SPECIALDRUG
|
||||
|
||||
@@ -1081,6 +1083,7 @@
|
||||
description = REAGENT_RYETALYN + " can cure DNA, Cloning, and genetic damage via a catalytic process."
|
||||
taste_description = "acid"
|
||||
reagent_state = SOLID
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
color = "#004000"
|
||||
overdose = REAGENTS_OVERDOSE
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
|
||||
@@ -1116,6 +1119,7 @@
|
||||
description = "A powerful oxidizer that reacts with ethanol."
|
||||
taste_description = "bitterness"
|
||||
reagent_state = SOLID
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
color = "#605048"
|
||||
overdose = REAGENTS_OVERDOSE
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
|
||||
@@ -1154,7 +1158,7 @@
|
||||
color = "#408000"
|
||||
metabolism = REM * 0.25
|
||||
overdose = REAGENTS_OVERDOSE
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
|
||||
industrial_use = REFINERYEXPORT_REASON_SPECIALDRUG
|
||||
|
||||
@@ -1174,7 +1178,7 @@
|
||||
metabolism = REM * 0.25
|
||||
overdose = REAGENTS_OVERDOSE
|
||||
overdose_mod = 1.25
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
industrial_use = REFINERYEXPORT_REASON_CLONEDRUG
|
||||
|
||||
@@ -1197,7 +1201,7 @@
|
||||
metabolism = REM * 0.25
|
||||
mrate_static = TRUE
|
||||
overdose = REAGENTS_OVERDOSE
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
data = 0
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
|
||||
industrial_use = REFINERYEXPORT_REASON_DRUG
|
||||
@@ -1228,7 +1232,7 @@
|
||||
mrate_static = TRUE
|
||||
overdose = 10
|
||||
overdose_mod = 1.5
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
data = 0
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
industrial_use = REFINERYEXPORT_REASON_DRUG
|
||||
@@ -1298,7 +1302,7 @@
|
||||
metabolism = REM * 0.4
|
||||
mrate_static = TRUE
|
||||
overdose = REAGENTS_OVERDOSE
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
data = 0
|
||||
can_overdose_touch = TRUE
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
@@ -1345,6 +1349,7 @@
|
||||
taste_description = "bitterness"
|
||||
reagent_state = LIQUID
|
||||
color = "#C8A5DC"
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
touch_met = 5
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
industrial_use = REFINERYEXPORT_REASON_CLEAN
|
||||
@@ -1398,7 +1403,7 @@
|
||||
reagent_state = LIQUID
|
||||
color = "#C8A5DC"
|
||||
overdose = REAGENTS_OVERDOSE
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
|
||||
industrial_use = REFINERYEXPORT_REASON_CLONEDRUG
|
||||
coolant_modifier = 0.5 // Okay substitute coolant
|
||||
@@ -1424,7 +1429,7 @@
|
||||
color = "#669900"
|
||||
overdose = REAGENTS_OVERDOSE
|
||||
overdose_mod = 2
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_MASSINDUSTRY
|
||||
industrial_use = REFINERYEXPORT_REASON_CLONEDRUG
|
||||
|
||||
@@ -1474,7 +1479,7 @@
|
||||
reagent_state = SOLID
|
||||
color = "#555555"
|
||||
metabolism = REM * 4 // Nanomachines gotta go fast.
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
affects_robots = TRUE
|
||||
wiki_flag = WIKI_SPOILER
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
@@ -1495,7 +1500,7 @@
|
||||
color = "#80af9c"
|
||||
metabolism = REM * 0.002
|
||||
overdose = REAGENTS_OVERDOSE
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
|
||||
industrial_use = REFINERYEXPORT_REASON_FOOD
|
||||
|
||||
@@ -1509,7 +1514,7 @@
|
||||
overdose = REAGENTS_OVERDOSE * 0.50
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
|
||||
industrial_use = REFINERYEXPORT_REASON_DRUG
|
||||
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
|
||||
/datum/reagent/earthsblood/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
M.heal_organ_damage (4 * removed, 4 * removed)
|
||||
@@ -1531,7 +1536,7 @@
|
||||
color = "#31d422"
|
||||
overdose = 15
|
||||
overdose_mod = 1.2
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
industrial_use = REFINERYEXPORT_REASON_DRUG
|
||||
|
||||
@@ -1588,6 +1593,7 @@
|
||||
id = REAGENT_ID_TERCOZOLAM
|
||||
color = "#afeb17"
|
||||
metabolism = 0.05
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
description = "A well respected drug used for treatment of schizophrenia in specific."
|
||||
overdose = REAGENTS_OVERDOSE * 2
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
id = REAGENT_ID_CLARIDYL
|
||||
description = "Claridyl is an advanced medicine that cures all of your problems. Notice: Clarydil does not claim to fix marriages, car loans, student debt or insomnia and may cause severe pain."
|
||||
taste_description = "sugar"
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
reagent_state = LIQUID
|
||||
color = "#AAAAFF"
|
||||
overdose = REAGENTS_OVERDOSE * 100
|
||||
@@ -62,6 +63,7 @@
|
||||
id = REAGENT_ID_EDEN
|
||||
description = "The ultimate anti toxin unrivaled, it corrects impurities within the body but punishes those who attain them with a burning sensation"
|
||||
taste_description = "peace"
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
color = "#00FFBE"
|
||||
overdose = REAGENTS_OVERDOSE * 1
|
||||
metabolism = 0
|
||||
@@ -92,6 +94,7 @@
|
||||
/datum/reagent/tercozolam
|
||||
name = REAGENT_TERCOZOLAM
|
||||
id = REAGENT_ID_TERCOZOLAM
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
color = "#afeb17"
|
||||
metabolism = 0.05
|
||||
description = "A well respected drug used for treatment of schizophrenia in specific."
|
||||
@@ -105,6 +108,7 @@
|
||||
/datum/reagent/hannoa
|
||||
name = REAGENT_HANNOA
|
||||
id = REAGENT_ID_HANNOA
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
description = "A powerful clotting agent that treats brute damage very quickly but takes a long time to be metabolised. Overdoses easily, reacts badly with other chemicals."
|
||||
taste_description = "paint"
|
||||
reagent_state = LIQUID
|
||||
@@ -150,6 +154,7 @@
|
||||
/datum/reagent/bullvalene //This is for the third sap. It converts Brute Oxy and burn into slightly less toxins.
|
||||
name = REAGENT_BULLVALENE
|
||||
id = REAGENT_ID_BULLVALENE
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
description = "A catalytic chemical that can treat a wide variety of ailments at the cost of toxifying the host's body."
|
||||
taste_description = "sulfur"
|
||||
reagent_state = LIQUID
|
||||
@@ -174,6 +179,7 @@
|
||||
/datum/reagent/serazine
|
||||
name = REAGENT_SERAZINE
|
||||
id = REAGENT_ID_SERAZINE
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
description = "A sweet tasting flower extract, it has very mild anti toxic properties, help with hallucinations and drowsyness, and can be used to make potent drugs."
|
||||
taste_description = "sweet nectar"
|
||||
reagent_state = LIQUID
|
||||
@@ -192,6 +198,7 @@
|
||||
/datum/reagent/alizene
|
||||
name = REAGENT_ALIZENE
|
||||
id = REAGENT_ID_ALIZENE
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
description = "A derivative from bicaridine enhanced by serazine to more effectively mend flesh, but is ineffective against internal hemorrhage."
|
||||
taste_description = "bittersweet"
|
||||
taste_mult = 3
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
taste_description = "milk"
|
||||
reagent_state = LIQUID
|
||||
color = "#d5e2e5"
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
|
||||
industrial_use = REFINERYEXPORT_REASON_DRUG
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
metabolism = 0.1 //Lasts up to 200 seconds if you give 20u which is OD.
|
||||
mrate_static = TRUE
|
||||
overdose = 20 //High OD. This is to make numbing bites have somewhat of a downside if you get bit too much. Have to go to medical for dialysis.
|
||||
scannable = 0 //Let's not have medical mechs able to make an extremely strong organic painkiller
|
||||
scannable = SCANNABLE_ADVANCED //Let's not have medical mechs able to make an extremely strong organic painkiller
|
||||
wiki_flag = WIKI_SPOILER
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_RARE
|
||||
industrial_use = REFINERYEXPORT_REASON_DRUG
|
||||
@@ -73,7 +73,7 @@
|
||||
reagent_state = LIQUID
|
||||
color = "#750404"
|
||||
overdose = REAGENTS_OVERDOSE * 0.5
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
industrial_use = REFINERYEXPORT_REASON_DRUG
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
reagent_state = LIQUID
|
||||
color = "#b4dcdc"
|
||||
overdose = 5
|
||||
scannable = 0
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_RARE
|
||||
industrial_use = REFINERYEXPORT_REASON_DRUG
|
||||
@@ -115,7 +115,7 @@
|
||||
color = "#003153" //Blue!
|
||||
metabolism = REM * 0.25//20 ticks to do things per unit injected. This means injecting 30u will give you 10 minutes to do what you need.
|
||||
overdose = REAGENTS_OVERDOSE
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
|
||||
industrial_use = REFINERYEXPORT_REASON_DRUG
|
||||
|
||||
@@ -131,6 +131,7 @@
|
||||
description = "A chemical compound that causes a dangerously powerful fat-burning reaction."
|
||||
taste_description = "blandness"
|
||||
reagent_state = LIQUID
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
color = "#47AD6D"
|
||||
overdose = REAGENTS_OVERDOSE
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
@@ -148,6 +149,7 @@
|
||||
taste_description = "blubber"
|
||||
reagent_state = LIQUID
|
||||
color = "#61731C"
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
overdose = REAGENTS_OVERDOSE
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
industrial_use = REFINERYEXPORT_REASON_DIET
|
||||
@@ -163,6 +165,7 @@
|
||||
description = "A chemical that instantly transforms the consumer into another creature."
|
||||
taste_description = "luck"
|
||||
reagent_state = LIQUID
|
||||
scannable = SCANNABLE_SECRETIVE
|
||||
color = "#a754de"
|
||||
scannable = 1
|
||||
var/tf_type = /mob/living/simple_mob/animal/passive/mouse
|
||||
@@ -276,7 +279,7 @@
|
||||
taste_description = "change"
|
||||
reagent_state = LIQUID
|
||||
color = "#ffffff"
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_SECRETIVE
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
industrial_use = REFINERYEXPORT_REASON_COSMETIC
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
reagent_state = LIQUID
|
||||
color = "#ff5555"
|
||||
metabolism = REM
|
||||
scannable = SCANNABLE_SECRETIVE
|
||||
|
||||
var/modifier_to_add = /datum/modifier/berserk
|
||||
var/modifier_duration = 3 SECONDS // How long, per unit dose, will this last?
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
reagent_state = LIQUID
|
||||
color = "#888888"
|
||||
overdose = 10
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
|
||||
industrial_use = REFINERYEXPORT_REASON_COSMETIC
|
||||
|
||||
@@ -59,6 +60,7 @@
|
||||
reagent_state = LIQUID
|
||||
color = "#888888"
|
||||
overdose = 10
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
|
||||
industrial_use = REFINERYEXPORT_REASON_COSMETIC
|
||||
|
||||
@@ -116,6 +118,7 @@
|
||||
color = "#808080"
|
||||
overdose = REAGENTS_OVERDOSE * 0.5
|
||||
color_weight = 20
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
|
||||
industrial_use = REFINERYEXPORT_REASON_COSMETIC
|
||||
|
||||
@@ -178,6 +181,7 @@
|
||||
color = "#C8A5DC"
|
||||
affects_dead = TRUE //This can even heal dead people.
|
||||
metabolism = 0.1
|
||||
scannable = SCANNABLE_UNSCANNABLE
|
||||
mrate_static = TRUE //Just in case
|
||||
|
||||
glass_name = "liquid gold"
|
||||
@@ -247,6 +251,7 @@
|
||||
description = "Gold is a dense, soft, shiny metal and the most malleable and ductile metal known."
|
||||
taste_description = "metal"
|
||||
reagent_state = SOLID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#F7C430"
|
||||
supply_conversion_value = 2 SHEET_TO_REAGENT_EQUIVILENT // has sheet value
|
||||
industrial_use = REFINERYEXPORT_REASON_PRECURSOR
|
||||
@@ -257,6 +262,7 @@
|
||||
description = "A soft, white, lustrous transition metal, it has the highest electrical conductivity of any element and the highest thermal conductivity of any metal."
|
||||
taste_description = "metal"
|
||||
reagent_state = SOLID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#D0D0D0"
|
||||
supply_conversion_value = 1 SHEET_TO_REAGENT_EQUIVILENT // has sheet value
|
||||
industrial_use = REFINERYEXPORT_REASON_PRECURSOR
|
||||
@@ -267,6 +273,7 @@
|
||||
description = "Platinum is a dense, malleable, ductile, highly unreactive, precious, gray-white transition metal. It is very resistant to corrosion."
|
||||
taste_description = "metal"
|
||||
reagent_state = SOLID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#777777"
|
||||
supply_conversion_value = 5 SHEET_TO_REAGENT_EQUIVILENT // has sheet value
|
||||
industrial_use = REFINERYEXPORT_REASON_PRECURSOR
|
||||
@@ -277,6 +284,7 @@
|
||||
description = "A silvery-white metallic chemical element in the actinide series, weakly radioactive."
|
||||
taste_description = "metal"
|
||||
reagent_state = SOLID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#B8B8C0"
|
||||
supply_conversion_value = 2 SHEET_TO_REAGENT_EQUIVILENT // has sheet value
|
||||
industrial_use = REFINERYEXPORT_REASON_PRECURSOR
|
||||
@@ -345,6 +353,7 @@
|
||||
reagent_state = SOLID
|
||||
affects_dead = TRUE
|
||||
affects_robots = TRUE
|
||||
scannable = SCANNABLE_UNSCANNABLE
|
||||
description = "The immense power of a supermatter crystal, in liquid form. You're not entirely sure how that's possible, but it's probably best handled with care."
|
||||
taste_description = "taffy" // 0. The supermatter is tasty, tasty taffy.
|
||||
wiki_flag = WIKI_SPOILER
|
||||
@@ -368,6 +377,7 @@
|
||||
description = "Adrenaline is a hormone used as a drug to treat cardiac arrest and other cardiac dysrhythmias resulting in diminished or absent cardiac output."
|
||||
taste_description = "bitterness"
|
||||
reagent_state = LIQUID
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
color = "#C8A5DC"
|
||||
mrate_static = TRUE
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
|
||||
@@ -387,6 +397,7 @@
|
||||
taste_description = "water"
|
||||
color = "#E0E8EF"
|
||||
mrate_static = TRUE
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
|
||||
glass_name = "holy water"
|
||||
glass_desc = "An ashen-obsidian-water mix, this solution will alter certain sections of the brain's rationality."
|
||||
@@ -431,6 +442,7 @@
|
||||
taste_description = "mordant"
|
||||
taste_mult = 2
|
||||
reagent_state = GAS
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#404030"
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
|
||||
industrial_use = REFINERYEXPORT_REASON_RAW
|
||||
@@ -442,6 +454,7 @@
|
||||
description = "A secondary amine, mildly corrosive."
|
||||
taste_description = REAGENT_ID_IRON
|
||||
reagent_state = LIQUID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#604030"
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
|
||||
industrial_use = REFINERYEXPORT_REASON_PRECURSOR
|
||||
@@ -452,6 +465,7 @@
|
||||
description = "Also known as sodium hydroxide. As a profession making this is somewhat underwhelming."
|
||||
taste_description = "acid"
|
||||
reagent_state = LIQUID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#FFFFD6" // very very light yellow"
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
|
||||
industrial_use = REFINERYEXPORT_REASON_PRECURSOR
|
||||
@@ -462,6 +476,7 @@
|
||||
description = "A perfluoronated sulfonic acid that forms a foam when mixed with water."
|
||||
taste_description = "metal"
|
||||
reagent_state = LIQUID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#9E6B38"
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
industrial_use = REFINERYEXPORT_REASON_PRECURSOR
|
||||
@@ -472,6 +487,7 @@
|
||||
description = "A agent that yields metallic foam when mixed with light metal and a strong acid."
|
||||
taste_description = "metal"
|
||||
reagent_state = SOLID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#664B63"
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
|
||||
industrial_use = REFINERYEXPORT_REASON_PRECURSOR
|
||||
@@ -482,6 +498,7 @@
|
||||
description = "Thermite produces an aluminothermic reaction known as a thermite reaction. Can be used to melt walls."
|
||||
taste_description = "sweet tasting metal"
|
||||
reagent_state = SOLID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#673910"
|
||||
touch_met = 50
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
|
||||
@@ -511,6 +528,7 @@
|
||||
description = "A compound used to clean things. Now with 50% more sodium hypochlorite!"
|
||||
taste_description = "sourness"
|
||||
reagent_state = LIQUID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#A5F0EE"
|
||||
touch_met = 50
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
|
||||
@@ -603,6 +621,7 @@
|
||||
description = "Lubricant is a substance introduced between two moving surfaces to reduce the friction and wear between them. giggity."
|
||||
taste_description = "slime"
|
||||
reagent_state = LIQUID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#009CA8"
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
|
||||
industrial_use = REFINERYEXPORT_REASON_LUBE
|
||||
@@ -620,6 +639,7 @@
|
||||
description = "A compound that can be used to reinforce glass."
|
||||
taste_description = "plastic"
|
||||
reagent_state = LIQUID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#C7FFFF"
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
|
||||
industrial_use = REFINERYEXPORT_REASON_PRECURSOR
|
||||
@@ -638,6 +658,7 @@
|
||||
description = "Glycerol is a simple polyol compound. Glycerol is sweet-tasting and of low toxicity."
|
||||
taste_description = "sweetness"
|
||||
reagent_state = LIQUID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#808080"
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
|
||||
industrial_use = REFINERYEXPORT_REASON_PRECURSOR
|
||||
@@ -649,6 +670,7 @@
|
||||
description = "Nitroglycerin is a heavy, colorless, oily, explosive liquid obtained by nitrating glycerol."
|
||||
taste_description = "oil"
|
||||
reagent_state = LIQUID
|
||||
scannable = SCANNABLE_UNSCANNABLE
|
||||
color = "#808080"
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
industrial_use = REFINERYEXPORT_REASON_PRECURSOR
|
||||
@@ -660,6 +682,7 @@
|
||||
taste_description = "sourness"
|
||||
taste_mult = 1.1
|
||||
reagent_state = LIQUID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#C8A5DC"
|
||||
|
||||
affects_robots = TRUE
|
||||
@@ -686,6 +709,7 @@
|
||||
/datum/reagent/ultraglue
|
||||
name = REAGENT_GLUE
|
||||
id = REAGENT_ID_GLUE
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
description = "An extremely powerful bonding agent."
|
||||
taste_description = "a special education class"
|
||||
color = "#FFFFCC"
|
||||
@@ -695,6 +719,7 @@
|
||||
/datum/reagent/woodpulp
|
||||
name = REAGENT_WOODPULP
|
||||
id = REAGENT_ID_WOODPULP
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
description = "A mass of wood fibers."
|
||||
taste_description = "wood"
|
||||
reagent_state = LIQUID
|
||||
@@ -705,6 +730,7 @@
|
||||
/datum/reagent/luminol
|
||||
name = REAGENT_LUMINOL
|
||||
id = REAGENT_ID_LUMINOL
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
description = "A compound that interacts with blood on the molecular level."
|
||||
taste_description = "metal"
|
||||
reagent_state = LIQUID
|
||||
@@ -734,6 +760,7 @@
|
||||
/datum/reagent/mineralfluid
|
||||
name = REAGENT_MINERALIZEDFLUID
|
||||
id = REAGENT_ID_MINERALIZEDFLUID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
description = "A warm, mineral-rich fluid."
|
||||
taste_description = "salt"
|
||||
reagent_state = LIQUID
|
||||
@@ -746,6 +773,7 @@
|
||||
/datum/reagent/defective_nanites
|
||||
name = REAGENT_DEFECTIVENANITES
|
||||
id = REAGENT_ID_DEFECTIVENANITES
|
||||
scannable = SCANNABLE_DIFFICULT
|
||||
description = "Miniature medical robots that are malfunctioning and cause bodily harm. Fortunately, they cannot self-replicate."
|
||||
taste_description = "metal"
|
||||
reagent_state = SOLID
|
||||
@@ -787,6 +815,7 @@
|
||||
/datum/reagent/carpet
|
||||
name = REAGENT_LIQUIDCARPET
|
||||
id = REAGENT_ID_LIQUIDCARPET
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
description = "Liquified carpet fibers, ready for dyeing."
|
||||
reagent_state = LIQUID
|
||||
color = "#b51d05"
|
||||
@@ -794,10 +823,6 @@
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
|
||||
industrial_use = REFINERYEXPORT_REASON_PRECURSOR
|
||||
|
||||
/datum/reagent/carpet
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
|
||||
industrial_use = REFINERYEXPORT_REASON_PRECURSOR
|
||||
|
||||
/datum/reagent/carpet/black
|
||||
name = REAGENT_LIQUIDCARPETB
|
||||
id = REAGENT_ID_LIQUIDCARPETB
|
||||
@@ -857,6 +882,7 @@
|
||||
/datum/reagent/essential_oil
|
||||
name = REAGENT_ESSENTIALOIL
|
||||
id = REAGENT_ID_ESSENTIALOIL
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
description = "A slurry of compounds that contains the basic requirements for life."
|
||||
taste_description = "a mixture of thick, sweet, salty, salty and spicy flavours that all blend together to not be very nice at all"
|
||||
reagent_state = LIQUID
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
description = "A corruptive toxin produced by slimes. Turns the subject of the chemical into a Promethean."
|
||||
reagent_state = LIQUID
|
||||
color = "#13BC5E"
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_MASSINDUSTRY
|
||||
industrial_use = REFINERYEXPORT_REASON_MATSCI
|
||||
|
||||
@@ -39,7 +40,7 @@
|
||||
taste_description = "metallic"
|
||||
reagent_state = LIQUID
|
||||
color = "#333333"
|
||||
scannable = 1
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
affects_robots = TRUE
|
||||
wiki_flag = WIKI_SPOILER
|
||||
|
||||
@@ -61,6 +62,7 @@
|
||||
description = "A historical fire suppressant. Originally believed to simply displace oxygen to starve fires, it actually interferes with the combustion reaction itself. Vastly superior to the cheap water-based extinguishers found on most NT vessels."
|
||||
reagent_state = LIQUID
|
||||
color = "#A6FAFF"
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
taste_description = "the inside of a fire extinguisher"
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_UNWANTED
|
||||
industrial_use = REFINERYEXPORT_REASON_INDUSTRY
|
||||
@@ -111,7 +113,7 @@
|
||||
taste_description = "wiggly peanutbutter"
|
||||
reagent_state = LIQUID
|
||||
color = "#1d1d1d"
|
||||
scannable = 0
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
metabolism = REM * 0.5
|
||||
affects_robots = TRUE
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_UNWANTED
|
||||
@@ -142,6 +144,7 @@
|
||||
reagent_state = LIQUID
|
||||
color = "#E4EC2F"
|
||||
metabolism = 2.50
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
var/power = 9
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
industrial_use = REFINERYEXPORT_REASON_PRECURSOR
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
color = "#CF3600"
|
||||
metabolism = REM * 0.25 // 0.05 by default. Hopefully enough to get some help, or die horribly, whatever floats your boat
|
||||
filtered_organs = list(O_LIVER, O_KIDNEYS)
|
||||
scannable = SCANNABLE_DIFFICULT
|
||||
var/strength = 4 // How much damage it deals per unit
|
||||
var/skin_danger = 0.2 // The multiplier for how effective the toxin is when making skin contact.
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
|
||||
@@ -54,8 +55,9 @@
|
||||
|
||||
/datum/reagent/toxin/amatoxin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
// Trojan horse. Waits until most of the toxin has gone through the body before dealing the bulk of it in one big strike.
|
||||
if(volume < max_dose * 0.2)
|
||||
M.adjustToxLoss(max_dose * strength * removed / (max_dose * 0.2))
|
||||
if(volume < max_dose * 0.1)
|
||||
M.adjustToxLoss(max_dose * strength) //Get hit all at once.
|
||||
M.reagents.del_reagent(REAGENT_ID_AMATOXIN) //Remove the rest of ourselves.
|
||||
|
||||
/datum/reagent/toxin/carpotoxin
|
||||
name = REAGENT_CARPOTOXIN
|
||||
@@ -364,7 +366,7 @@
|
||||
metabolism = REM
|
||||
strength = 3
|
||||
mrate_static = TRUE
|
||||
scannable = FALSE
|
||||
scannable = SCANNABLE_SECRETIVE
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
|
||||
industrial_use = REFINERYEXPORT_REASON_MEDSCI
|
||||
|
||||
@@ -374,11 +376,12 @@
|
||||
return
|
||||
if(!(M.status_flags & FAKEDEATH))
|
||||
M.emote("deathgasp")
|
||||
M.tod = stationtime2text()
|
||||
M.timeofdeath = world.time
|
||||
M.status_flags |= FAKEDEATH
|
||||
M.adjustOxyLoss(1 * removed)
|
||||
M.silent = max(M.silent, 10)
|
||||
M.paralysis = max(M.paralysis, 10)
|
||||
M.tod = stationtime2text()
|
||||
|
||||
/datum/reagent/toxin/zombiepowder/Destroy()
|
||||
if(holder && holder.my_atom && ismob(holder.my_atom))
|
||||
@@ -394,7 +397,7 @@
|
||||
color = "#666666"
|
||||
metabolism = REM * 0.75
|
||||
mrate_static = TRUE
|
||||
scannable = FALSE
|
||||
scannable = SCANNABLE_SECRETIVE
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_MASSINDUSTRY
|
||||
industrial_use = REFINERYEXPORT_REASON_MEDSCI
|
||||
|
||||
@@ -403,10 +406,11 @@
|
||||
return
|
||||
if(!(M.status_flags & FAKEDEATH))
|
||||
M.emote("deathgasp")
|
||||
M.tod = stationtime2text()
|
||||
M.timeofdeath = world.time
|
||||
M.status_flags |= FAKEDEATH
|
||||
M.silent = max(M.silent, 10)
|
||||
M.paralysis = max(M.paralysis, 10)
|
||||
M.tod = stationtime2text()
|
||||
|
||||
if(prob(0.1))
|
||||
M.visible_message("[M] wheezes.", "You wheeze sharply... it's cold.")
|
||||
@@ -534,6 +538,7 @@
|
||||
description = "Polytrinic acid is a an extremely corrosive chemical substance."
|
||||
taste_description = "acid"
|
||||
reagent_state = LIQUID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#8E18A9"
|
||||
power = 10
|
||||
meltdose = 4
|
||||
@@ -546,6 +551,7 @@
|
||||
description = "Some form of digestive slurry."
|
||||
taste_description = "vomit"
|
||||
reagent_state = LIQUID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#664330"
|
||||
power = 2
|
||||
meltdose = 30
|
||||
@@ -619,6 +625,7 @@
|
||||
/datum/reagent/lexorin
|
||||
name = REAGENT_LEXORIN
|
||||
id = REAGENT_ID_LEXORIN
|
||||
scannable = SCANNABLE_DIFFICULT
|
||||
description = "Lexorin temporarily stops respiration. Causes tissue damage."
|
||||
taste_description = "acid"
|
||||
reagent_state = LIQUID
|
||||
@@ -644,6 +651,7 @@
|
||||
/datum/reagent/mutagen
|
||||
name = REAGENT_MUTAGEN
|
||||
id = REAGENT_ID_MUTAGEN
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
description = "Might cause unpredictable mutations. Keep away from children."
|
||||
taste_description = "slime"
|
||||
taste_mult = 0.9
|
||||
@@ -711,6 +719,7 @@
|
||||
/datum/reagent/slimejelly
|
||||
name = REAGENT_SLIMEJELLY
|
||||
id = REAGENT_ID_SLIMEJELLY
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
description = "A gooey semi-liquid produced from one of the deadliest lifeforms in existence. SO REAL."
|
||||
taste_description = "slime"
|
||||
taste_mult = 1.3
|
||||
@@ -739,6 +748,7 @@
|
||||
/datum/reagent/soporific
|
||||
name = REAGENT_STOXIN
|
||||
id = REAGENT_ID_STOXIN
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
description = "An effective hypnotic used to treat insomnia."
|
||||
taste_description = "bitterness"
|
||||
reagent_state = LIQUID
|
||||
@@ -789,6 +799,7 @@
|
||||
/datum/reagent/chloralhydrate
|
||||
name = REAGENT_CHLORALHYDRATE
|
||||
id = REAGENT_ID_CHLORALHYDRATE
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
description = "A powerful sedative."
|
||||
taste_description = "bitterness"
|
||||
reagent_state = SOLID
|
||||
@@ -843,6 +854,7 @@
|
||||
/datum/reagent/chloralhydrate/beer2 //disguised as normal beer for use by emagged brobots
|
||||
name = REAGENT_BEER2
|
||||
id = REAGENT_ID_BEER2
|
||||
scannable = SCANNABLE_SECRETIVE
|
||||
description = "An alcoholic beverage made from malted grains, hops, yeast, and water. The fermentation appears to be incomplete." //If the players manage to analyze this, they deserve to know something is wrong.
|
||||
taste_description = "beer"
|
||||
reagent_state = LIQUID
|
||||
@@ -859,6 +871,7 @@
|
||||
id = REAGENT_ID_SEROTROTIUM
|
||||
description = "A chemical compound that promotes concentrated production of the serotonin neurotransmitter in humans."
|
||||
taste_description = "bitterness"
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
reagent_state = LIQUID
|
||||
color = "#202040"
|
||||
metabolism = REM * 0.25
|
||||
@@ -895,6 +908,7 @@
|
||||
/datum/reagent/cryptobiolin
|
||||
name = REAGENT_CRYPTOBIOLIN
|
||||
id = REAGENT_ID_CRYPTOBIOLIN
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
description = "Cryptobiolin causes confusion and dizzyness."
|
||||
taste_description = "sourness"
|
||||
reagent_state = LIQUID
|
||||
@@ -920,6 +934,7 @@
|
||||
/datum/reagent/impedrezene
|
||||
name = REAGENT_IMPEDREZENE
|
||||
id = REAGENT_ID_IMPEDREZENE
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
description = "Impedrezene is a narcotic that impedes one's ability by slowing down the higher brain cell functions."
|
||||
taste_description = "numbness"
|
||||
reagent_state = LIQUID
|
||||
@@ -943,6 +958,7 @@
|
||||
/datum/reagent/mindbreaker
|
||||
name = REAGENT_MINDBREAKER
|
||||
id = REAGENT_ID_MINDBREAKER
|
||||
scannable = SCANNABLE_DIFFICULT
|
||||
description = "A powerful hallucinogen that causes immediate, prolonged hallucinations in its users."
|
||||
taste_description = "sourness"
|
||||
reagent_state = LIQUID
|
||||
@@ -972,6 +988,7 @@
|
||||
/datum/reagent/slimetoxin
|
||||
name = REAGENT_MUTATIONTOXIN
|
||||
id = REAGENT_ID_MUTATIONTOXIN
|
||||
scannable = SCANNABLE_DIFFICULT
|
||||
description = "A corruptive toxin produced by slimes."
|
||||
taste_description = "sludge"
|
||||
reagent_state = LIQUID
|
||||
@@ -1001,6 +1018,7 @@
|
||||
/datum/reagent/aslimetoxin
|
||||
name = REAGENT_DOCILITYTOXIN
|
||||
id = REAGENT_ID_DOCILITYTOXIN
|
||||
scannable = SCANNABLE_DIFFICULT
|
||||
description = "A corruptive toxin produced by slimes."
|
||||
taste_description = "sludge"
|
||||
reagent_state = LIQUID
|
||||
@@ -1035,6 +1053,7 @@
|
||||
/datum/reagent/shredding_nanites
|
||||
name = REAGENT_SHREDDINGNANITES
|
||||
id = REAGENT_ID_SHREDDINGNANITES
|
||||
scannable = SCANNABLE_SECRETIVE
|
||||
description = "Miniature medical robots that swiftly restore bodily damage. These ones seem to be malfunctioning."
|
||||
taste_description = "metal"
|
||||
reagent_state = SOLID
|
||||
@@ -1052,6 +1071,7 @@
|
||||
/datum/reagent/irradiated_nanites
|
||||
name = REAGENT_IRRADIATEDNANITES
|
||||
id = REAGENT_ID_IRRADIATEDNANITES
|
||||
scannable = SCANNABLE_SECRETIVE
|
||||
description = "Miniature medical robots that swiftly restore bodily damage. These ones seem to be malfunctioning."
|
||||
taste_description = "metal"
|
||||
reagent_state = SOLID
|
||||
@@ -1069,6 +1089,7 @@
|
||||
/datum/reagent/neurophage_nanites
|
||||
name = REAGENT_NEUROPHAGENANITES
|
||||
id = REAGENT_ID_NEUROPHAGENANITES
|
||||
scannable = SCANNABLE_SECRETIVE
|
||||
description = "Miniature medical robots that swiftly restore bodily damage. These ones seem to be completely hostile."
|
||||
taste_description = "metal"
|
||||
reagent_state = SOLID
|
||||
@@ -1087,6 +1108,7 @@
|
||||
/datum/reagent/salmonella
|
||||
name = REAGENT_SALMONELLA
|
||||
id = REAGENT_ID_SALMONELLA
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
description = "A nasty bacteria found in spoiled food."
|
||||
reagent_state = LIQUID
|
||||
color = "#1E4600"
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
id = REAGENT_ID_VACCINE
|
||||
description = "Liquid vaccine against some type of virus."
|
||||
color = "#C81040"
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
taste_description = "antibodies"
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
|
||||
industrial_use = REFINERYEXPORT_REASON_MEDSCI
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
description = "A frothy green liquid, for causing cellular-level hetrogenous structure merging."
|
||||
reagent_state = LIQUID
|
||||
color = "#10881A"
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
overdose = REAGENTS_OVERDOSE
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_RARE
|
||||
industrial_use = REFINERYEXPORT_REASON_ILLDRUG
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
reagent_state = LIQUID
|
||||
color = "#FFFF00" // rgb: 255, 255, 0
|
||||
metabolism = 0.01
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
mrate_static = TRUE
|
||||
supply_conversion_value = REFINERYEXPORT_VALUE_GODTIER
|
||||
industrial_use = REFINERYEXPORT_REASON_MEDSCI
|
||||
@@ -22,6 +23,7 @@
|
||||
/datum/reagent/microcillin
|
||||
name = REAGENT_MICROCILLIN
|
||||
id = REAGENT_ID_MICROCILLIN
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
description = "Murky purple liquid."
|
||||
reagent_state = LIQUID
|
||||
color = "#800080"
|
||||
@@ -39,6 +41,7 @@
|
||||
/datum/reagent/normalcillin
|
||||
name = REAGENT_NORMALCILLIN
|
||||
id = REAGENT_ID_NORMALCILLIN
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
description = "Translucent cyan liquid."
|
||||
reagent_state = LIQUID
|
||||
color = "#00FFFF"
|
||||
@@ -58,6 +61,7 @@
|
||||
/datum/reagent/sizeoxadone
|
||||
name = REAGENT_SIZEOXADONE
|
||||
id = REAGENT_ID_SIZEOXADONE
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
description = "A volatile liquid used as a precursor to size-altering chemicals. Causes dizziness if taken unprocessed."
|
||||
reagent_state = LIQUID
|
||||
color = "#1E90FF"
|
||||
@@ -77,6 +81,7 @@
|
||||
/datum/reagent/ickypak
|
||||
name = REAGENT_ICKYPAK
|
||||
id = REAGENT_ID_ICKYPAK
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
description = "A foul-smelling green liquid, for inducing muscle contractions to expel accidentally ingested things."
|
||||
reagent_state = LIQUID
|
||||
color = "#0E900E"
|
||||
@@ -101,6 +106,7 @@
|
||||
/datum/reagent/unsorbitol
|
||||
name = REAGENT_UNSORBITOL
|
||||
id = REAGENT_ID_UNSORBITOL
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
description = "A frothy pink liquid, for causing cellular-level hetrogenous structure separation."
|
||||
reagent_state = LIQUID
|
||||
color = "#EF77E5"
|
||||
@@ -134,6 +140,7 @@
|
||||
/datum/reagent/amorphorovir
|
||||
name = REAGENT_AMORPHOROVIR
|
||||
id = REAGENT_ID_AMORPHOROVIR
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
description = "A base medical concoction, capable of rapidly altering genetic and physical structure of the body. Requires extra processing to allow for a targeted transformation."
|
||||
reagent_state = LIQUID
|
||||
color = "#AAAAAA"
|
||||
@@ -143,6 +150,7 @@
|
||||
/datum/reagent/androrovir
|
||||
name = REAGENT_ANDROROVIR
|
||||
id = REAGENT_ID_ANDROROVIR
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
description = "A medical concoction, capable of rapidly altering genetic and physical structure of the body. This one seems to realign the target's gender to be male."
|
||||
reagent_state = LIQUID
|
||||
color = "#00BBFF"
|
||||
@@ -166,6 +174,7 @@
|
||||
/datum/reagent/gynorovir
|
||||
name = REAGENT_GYNOROVIR
|
||||
id = REAGENT_ID_GYNOROVIR
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
description = "A medical concoction, capable of rapidly altering genetic and physical structure of the body. This one seems to realign the target's gender to be female."
|
||||
reagent_state = LIQUID
|
||||
color = "#FF00AA"
|
||||
@@ -189,6 +198,7 @@
|
||||
/datum/reagent/androgynorovir
|
||||
name = REAGENT_ANDROGYNOROVIR
|
||||
id = REAGENT_ID_ANDROGYNOROVIR
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
description = "A medical concoction, capable of rapidly altering genetic and physical structure of the body. This one seems to realign the target's gender to be mixed."
|
||||
reagent_state = LIQUID
|
||||
color = "#6600FF"
|
||||
@@ -240,6 +250,7 @@
|
||||
/datum/reagent/paralysis_toxin
|
||||
name = REAGENT_PARALYSISTOXIN
|
||||
id = REAGENT_ID_PARALYSISTOXIN
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
description = "A potent toxin commonly found in a plethora of species. When exposed to the toxin, causes extreme, paralysis for a prolonged period, with only essential functions of the body being unhindered. Commonly used by covert operatives and used as a crowd control tool."
|
||||
taste_description = "bitterness"
|
||||
reagent_state = LIQUID
|
||||
@@ -258,6 +269,7 @@
|
||||
/datum/reagent/pain_enzyme
|
||||
name = REAGENT_PAINENZYME
|
||||
id = REAGENT_ID_PAINENZYME
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
description = "An enzyme found in a variety of species. When exposed to the toxin, will cause severe, agonizing pain. The effects can last for hours depending on the dose. Only known cure is an equally strong painkiller or dialysis."
|
||||
taste_description = "sourness"
|
||||
reagent_state = LIQUID
|
||||
@@ -277,6 +289,7 @@
|
||||
/datum/reagent/aphrodisiac
|
||||
name = REAGENT_APHRODISIAC
|
||||
id = REAGENT_ID_APHRODISIAC
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
description = "You so horny."
|
||||
taste_description = "sweetness"
|
||||
reagent_state = LIQUID
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/obj/item/healthanalyzer/scroll //reports all of the above, as well as name and quantity of nonmed reagents in stomach
|
||||
name = "scroll of divination"
|
||||
desc = "An unusual scroll that appears to report all of the details of a person's health when waved near them. Oddly, it seems to have a little metal chip up near the handles..."
|
||||
advscan = 3
|
||||
advscan = SCANNABLE_SECRETIVE
|
||||
origin_tech = list(TECH_MAGNET = 7, TECH_BIO = 8)
|
||||
icon_state = "health_scroll"
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
id = REAGENT_ID_AMORPHOROVIR
|
||||
metabolism = 100 //set high enough that it does not process multiple times(delay implemented below)
|
||||
description = "the bloods DNA in this seems aggressive"
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
taste_description = "this shouldn't be here" //unobtainable ingame
|
||||
color = "#7F0000"
|
||||
var/gender_change = null //set the gender variable here so we can set it to others in varients
|
||||
@@ -72,6 +73,7 @@
|
||||
id = REAGENT_ID_CLEANSINGAGENT
|
||||
description = "An agent that purges one's body of toxins."
|
||||
reagent_state = LIQUID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#225722"
|
||||
scannable = 1
|
||||
overdose = REAGENTS_OVERDOSE
|
||||
@@ -94,6 +96,7 @@
|
||||
id = REAGENT_ID_PURIFYINGAGENT
|
||||
description = "An agent that purges one's body of rads and toxins."
|
||||
reagent_state = LIQUID
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
color = "#225722"
|
||||
scannable = 1
|
||||
overdose = REAGENTS_OVERDOSE
|
||||
@@ -116,6 +119,7 @@
|
||||
id = REAGENT_ID_BURNCARD
|
||||
description = "A more powerful variation of bicard that also burns the subject."
|
||||
taste_description = "bitterness"
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
taste_mult = 3
|
||||
reagent_state = LIQUID
|
||||
color = "#BF0000"
|
||||
@@ -155,6 +159,7 @@
|
||||
id = REAGENT_ID_FLAMECURE
|
||||
description = "Used to rapidly clot internal hemorrhages by burning the wounded areas"
|
||||
reagent_state = LIQUID
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
color = "#4246C7"
|
||||
overdose = REAGENTS_OVERDOSE * 0.5
|
||||
scannable = 1
|
||||
@@ -189,6 +194,7 @@
|
||||
description = "An advancement of kelotane that scars and breaks apart the user's flesh to remove the burnt tissue."
|
||||
taste_description = "bitterness"
|
||||
reagent_state = LIQUID
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
color = "#FF6600"
|
||||
overdose = REAGENTS_OVERDOSE * 0.2
|
||||
scannable = 1
|
||||
@@ -210,6 +216,7 @@
|
||||
description = "A strange chemical that will stablize bloodflow by burning the subject"
|
||||
taste_description = "bitterness"
|
||||
reagent_state = LIQUID
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
color = "#00BFFF"
|
||||
overdose = REAGENTS_OVERDOSE
|
||||
scannable = 1
|
||||
@@ -225,6 +232,7 @@
|
||||
/datum/reagent/livingagent
|
||||
name = REAGENT_LIVINGAGENT
|
||||
id = REAGENT_ID_LIVINGAGENT
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
description = "Fill the body with life, while making it more senstive to stimulus."
|
||||
taste_description = "bitterness"
|
||||
reagent_state = LIQUID
|
||||
@@ -238,7 +246,6 @@
|
||||
..()
|
||||
M.druggy = max(M.druggy, 5)
|
||||
M.Confuse(5)
|
||||
//YW ADDITIONS END
|
||||
|
||||
/datum/reagent/livingagent/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
if(alien != IS_DIONA)
|
||||
@@ -254,6 +261,7 @@
|
||||
name = REAGENT_PERFORMANCEPEAKER
|
||||
id = REAGENT_ID_PERFORMANCEPEAKER
|
||||
description = "A chemical created to bring a body to peak condition except it's highly toxic"
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
taste_description = "bitterness"
|
||||
reagent_state = LIQUID
|
||||
color = "#006666"
|
||||
@@ -278,6 +286,7 @@
|
||||
description = "An experimental drug that solely works upon dead bodies"
|
||||
taste_description = "ash"
|
||||
reagent_state = LIQUID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#666699"
|
||||
scannable = 1
|
||||
overdose = REAGENTS_OVERDOSE * 2
|
||||
@@ -299,6 +308,7 @@
|
||||
id = REAGENT_ID_QUADCORD
|
||||
description = "An experimental drug that is meant to further enhance tricord"
|
||||
taste_description = "bitterness"
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
reagent_state = LIQUID
|
||||
color = "#FF3399"
|
||||
scannable = 1
|
||||
@@ -324,6 +334,7 @@
|
||||
description = "An experimental that removes many ailments, such as poison and stiffening of muscles via frost"
|
||||
taste_description = "bitterness"
|
||||
reagent_state = LIQUID
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
color = "#660066"
|
||||
scannable = 1
|
||||
overdose = REAGENTS_OVERDOSE * 0.5
|
||||
@@ -352,6 +363,7 @@
|
||||
description = "An experimental drug that mimics rapid regeneration seen in squishy creatures."
|
||||
taste_description = "sweet"
|
||||
reagent_state = LIQUID
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
color = "#00CCFF"
|
||||
scannable = 1
|
||||
overdose = REAGENTS_OVERDOSE * 0.5
|
||||
@@ -393,6 +405,7 @@
|
||||
description = "An experimental chem that will bring those back from the brink, with severe side effects"
|
||||
taste_description = "ash"
|
||||
reagent_state = LIQUID
|
||||
scannable = SCANNABLE_BENEFICIAL
|
||||
color = "#fcac00"
|
||||
scannable = 1
|
||||
overdose = REAGENTS_OVERDOSE
|
||||
@@ -410,6 +423,7 @@
|
||||
description = "A desiccant. Can be used to dry things."
|
||||
taste_description = "dryness"
|
||||
reagent_state = LIQUID
|
||||
scannable = SCANNABLE_ADVANCED
|
||||
color = "#A70FFF"
|
||||
scannable = 1
|
||||
overdose = REAGENTS_OVERDOSE
|
||||
|
||||
Reference in New Issue
Block a user