mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-22 04:22:39 +01:00
Chem Adjustments, Fixes, and Additions (#8554)
This commit is contained in:
@@ -17,74 +17,11 @@
|
||||
/datum/reagent/norepinephrine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
M.add_chemical_effect(CE_STABLE)
|
||||
M.add_chemical_effect(CE_PAINKILLER, 25)
|
||||
if (!modifier)
|
||||
modifier = M.add_modifier(/datum/modifier/adrenaline, MODIFIER_REAGENT, src, _strength = 0.6, override = MODIFIER_OVERRIDE_STRENGTHEN)
|
||||
|
||||
/datum/reagent/norepinephrine/Destroy()
|
||||
QDEL_NULL(modifier)
|
||||
return ..()
|
||||
|
||||
/datum/reagent/inaprovaline
|
||||
name = "Inaprovaline"
|
||||
id = "inaprovaline"
|
||||
description = "Inaprovaline is a super strength stimulant and painkiller intended to keep a patient alive while in critical condition. Overdose causes heart damage and an energy boost equivelent to hyperzine."
|
||||
reagent_state = LIQUID
|
||||
color = "#FFFFFF"
|
||||
overdose = 20
|
||||
metabolism = 2
|
||||
metabolism_min = 0.25
|
||||
breathe_mul = 0.25
|
||||
ingest_mul = 0.25
|
||||
scannable = 1
|
||||
taste_description = "salty sugar"
|
||||
var/datum/modifier/modifier1
|
||||
var/datum/modifier/modifier2
|
||||
|
||||
/datum/reagent/inaprovaline/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
|
||||
var/reagent_strength = round(max(0,1 - (M.health/100)),0.1)
|
||||
|
||||
if(reagent_strength == 0)
|
||||
return
|
||||
|
||||
var/list/damage_stats = list(BRUTE = M.getBruteLoss(), BURN = M.getFireLoss(), TOX = M.getToxLoss(), OXY = M.getOxyLoss())
|
||||
|
||||
var/best_stat = "None"
|
||||
var/best_value = 0
|
||||
|
||||
for(var/key in damage_stats)
|
||||
var/value = damage_stats[key]
|
||||
if(value > best_value)
|
||||
best_stat = key
|
||||
best_value = value
|
||||
|
||||
switch(best_stat)
|
||||
if(BRUTE)
|
||||
M.adjustBruteLoss(-removed*5*reagent_strength)
|
||||
if(BURN)
|
||||
M.adjustFireLoss(-removed*5*reagent_strength)
|
||||
if(TOX)
|
||||
M.adjustToxLoss(-removed*5*reagent_strength)
|
||||
if(OXY)
|
||||
M.adjustOxyLoss(-removed*5*reagent_strength)
|
||||
|
||||
M.make_jittery(removed*10)
|
||||
M.add_chemical_effect(CE_STABLE)
|
||||
M.add_chemical_effect(CE_PAINKILLER, 25)
|
||||
|
||||
/datum/reagent/inaprovaline/overdose(var/mob/living/carbon/human/H, var/alien, removed )
|
||||
if(istype(H))
|
||||
H.add_chemical_effect(CE_CARDIOTOXIC, 0.1*removed)
|
||||
H.make_jittery(removed*10)
|
||||
H.add_chemical_effect(CE_SPEEDBOOST, 1)
|
||||
if (!modifier2)
|
||||
modifier2 = H.add_modifier(/datum/modifier/stimulant, MODIFIER_REAGENT, src, _strength = 1, override = MODIFIER_OVERRIDE_STRENGTHEN)
|
||||
|
||||
/datum/reagent/inaprovaline/Destroy()
|
||||
QDEL_NULL(modifier1)
|
||||
QDEL_NULL(modifier2)
|
||||
return ..()
|
||||
|
||||
/datum/reagent/bicaridine
|
||||
name = "Bicaridine"
|
||||
id = "bicaridine"
|
||||
@@ -114,23 +51,28 @@
|
||||
reagent_state = LIQUID
|
||||
color = "#FFA800"
|
||||
overdose = REAGENTS_OVERDOSE
|
||||
scannable = 1
|
||||
scannable = TRUE
|
||||
metabolism = REM * 0.5
|
||||
taste_description = "bitterness"
|
||||
var/strength = 6
|
||||
|
||||
/datum/reagent/kelotane/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
M.heal_organ_damage(0, 6 * removed)
|
||||
if(!(locate(/datum/reagent/dermaline) in M.reagents.reagent_list))
|
||||
M.heal_organ_damage(0, 6 * removed)
|
||||
|
||||
/datum/reagent/kelotane/dermaline
|
||||
/datum/reagent/dermaline
|
||||
name = "Dermaline"
|
||||
id = "dermaline"
|
||||
description = "Dermaline is the next step in burn medication. Works twice as good as kelotane and enables the body to restore even the direst heat-damaged tissue."
|
||||
reagent_state = LIQUID
|
||||
color = "#FF8000"
|
||||
fallback_specific_heat = 1
|
||||
scannable = TRUE
|
||||
metabolism = REM * 0.5
|
||||
overdose = REAGENTS_OVERDOSE * 0.5
|
||||
taste_mult = 1.5
|
||||
strength = 12
|
||||
|
||||
/datum/reagent/dermaline/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
M.heal_organ_damage(0, 12 * removed)
|
||||
|
||||
/datum/reagent/dylovene
|
||||
name = "Dylovene"
|
||||
@@ -153,7 +95,7 @@
|
||||
|
||||
if(remove_generic)
|
||||
M.drowsyness = max(0, M.drowsyness - 6 * removed)
|
||||
M.hallucination -= (9 * removed)
|
||||
M.hallucination -= (2 * removed)
|
||||
M.add_up_to_chemical_effect(CE_ANTITOXIN, 1)
|
||||
|
||||
var/removing = (4 * removed)
|
||||
@@ -602,7 +544,7 @@
|
||||
fallback_specific_heat = 0.605 // assuming it's ethanol-based
|
||||
|
||||
/datum/reagent/deltamivir/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
M.add_chemical_effect(CE_FEVER, dose/4)
|
||||
M.add_chemical_effect(CE_FEVER, dose/12)
|
||||
|
||||
/datum/reagent/thetamycin
|
||||
name = "Thetamycin"
|
||||
@@ -1360,6 +1302,25 @@
|
||||
H.add_chemical_effect(CE_PNEUMOTOXIC, 0.2*removed)
|
||||
. = ..()
|
||||
|
||||
/datum/reagent/pneumalin
|
||||
name = "Pneumalin"
|
||||
id = "pneumalin"
|
||||
description = "A chemical that, when inhaled, restores tearing and bruising of the lungs. Overdosing can lower a patient's pulse to dangerous levels."
|
||||
color = "#8154b4"
|
||||
overdose = 15
|
||||
scannable = 1
|
||||
taste_description = "fine dust"
|
||||
reagent_state = SOLID
|
||||
|
||||
/datum/reagent/pneumalin/affect_breathe(var/mob/living/carbon/human/H, var/alien, var/removed)
|
||||
H.adjustOxyLoss(removed) //Every unit heals 1 oxy damage
|
||||
H.add_chemical_effect(CE_PNEUMOTOXIC, -removed * 1.5)
|
||||
H.add_chemical_effect(CE_PULSE, -1)
|
||||
. = ..()
|
||||
|
||||
/datum/reagent/pneumalin/overdose(var/mob/living/carbon/human/H, var/alien, var/removed)
|
||||
H.add_chemical_effect(CE_PULSE, -dose * 0.33)
|
||||
|
||||
/datum/reagent/rezadone
|
||||
name = "Rezadone"
|
||||
id = "rezadone"
|
||||
@@ -1435,19 +1396,15 @@
|
||||
/datum/reagent/adipemcina //Based on quinapril
|
||||
name = "Adipemcina"
|
||||
id = "adipemcina"
|
||||
description = "Adipemcina is a heart medication used for treating high blood pressure, heart failure, and diabetes. Works at it's best when the stomach is empty. Causes vomiting and liver damage when overdosed."
|
||||
description = "Adipemcina is a heart medication used for treating high blood pressure, heart failure, and diabetes. Causes vomiting and liver damage when overdosed."
|
||||
reagent_state = LIQUID
|
||||
color = "#008000"
|
||||
metabolism = REM * 0.5
|
||||
overdose = REAGENTS_OVERDOSE
|
||||
scannable = 1
|
||||
taste_description = "bitterness"
|
||||
|
||||
/datum/reagent/adipemcina/affect_blood(var/mob/living/carbon/human/M, var/alien, var/removed)
|
||||
if(istype(M))
|
||||
if(M.max_nutrition > 0)
|
||||
var/nutritionmod = max(0.25, (1 - M.nutrition) / M.max_nutrition * 0.5) //Less effective when your stomach is "full".
|
||||
M.add_chemical_effect(CE_CARDIOTOXIC, -removed * nutritionmod)
|
||||
M.add_chemical_effect(CE_CARDIOTOXIC, -removed*2)
|
||||
..()
|
||||
|
||||
/datum/reagent/adipemcina/overdose(var/mob/living/carbon/human/M, var/alien)
|
||||
|
||||
@@ -616,6 +616,13 @@
|
||||
required_reagents = list("calomel" = 1, "lexorin" = 1)
|
||||
result_amount = 2
|
||||
|
||||
/datum/chemical_reaction/pneumalin
|
||||
name = "Pneumalin"
|
||||
id = "pneumalin"
|
||||
result = "pneumalin"
|
||||
required_reagents = list("coughsyrup" = 1, "copper" = 1, "pulmodeiectionem" = 1)
|
||||
result_amount = 2
|
||||
|
||||
/datum/chemical_reaction/saline
|
||||
name = "Saline"
|
||||
id = "saline"
|
||||
@@ -637,13 +644,6 @@
|
||||
required_reagents = list("tricordrazine" = 1, "phoron" = 0.1, "hydrazine" = 1 )
|
||||
result_amount = 2
|
||||
|
||||
/datum/chemical_reaction/inaprovaline
|
||||
name = "Inaprovaline"
|
||||
id = "inaprovaline"
|
||||
result = "inaprovaline"
|
||||
required_reagents = list("atropine" = 1, "phoron" = 0.1, "adrenaline" = 1 )
|
||||
result_amount = 2
|
||||
|
||||
/datum/chemical_reaction/coughsyrup
|
||||
name = "Cough Syrup"
|
||||
id = "coughsyrup"
|
||||
|
||||
@@ -78,7 +78,6 @@
|
||||
hot_coco spawn_reagent = "hot_coco"
|
||||
|
||||
// ERT
|
||||
inaprov spawn_reagent = "inaprovaline"
|
||||
norepi spawn_reagent = "norepinephrine"
|
||||
ryetalyn spawn_reagent = "ryetalyn"
|
||||
paracetamol spawn_reagent = "paracetamol"
|
||||
@@ -111,3 +110,4 @@
|
||||
chloral spawn_reagent = "chloralhydrate"
|
||||
cryoxadone spawn_reagent = "cryoxadone"
|
||||
clonexadone spawn_reagent = "clonexadone"
|
||||
pneumalin spawn_reagent = "pneumalin"
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/obj/machinery/chemical_dispenser/ert
|
||||
name = "medicine dispenser"
|
||||
spawn_cartridges = list(
|
||||
/obj/item/reagent_containers/chem_disp_cartridge/inaprov,
|
||||
/obj/item/reagent_containers/chem_disp_cartridge/norepi,
|
||||
/obj/item/reagent_containers/chem_disp_cartridge/ryetalyn,
|
||||
/obj/item/reagent_containers/chem_disp_cartridge/paracetamol,
|
||||
/obj/item/reagent_containers/chem_disp_cartridge/tramadol,
|
||||
|
||||
@@ -66,14 +66,7 @@
|
||||
desc = "A small bottle. Contains norepinephrine - used to stabilize patients."
|
||||
icon_state = "bottle-4"
|
||||
reagents_to_add = list("norepinephrine" = 60)
|
||||
|
||||
/obj/item/reagent_containers/glass/bottle/inaprovaline
|
||||
name = "inaprovaline bottle"
|
||||
desc = "A small bottle. Contains inaprovaline - used to stabilize patients."
|
||||
icon_state = "bottle-4"
|
||||
reagents_to_add = list("inaprovaline" = 60)
|
||||
|
||||
|
||||
/obj/item/reagent_containers/glass/bottle/toxin
|
||||
name = "toxin bottle"
|
||||
desc = "A small bottle of toxins. Do not drink, it is poisonous."
|
||||
|
||||
@@ -414,16 +414,6 @@
|
||||
mode = SYRINGE_INJECT
|
||||
update_icon()
|
||||
|
||||
/obj/item/reagent_containers/syringe/inaprovaline
|
||||
name = "Syringe (inaprovaline)"
|
||||
desc = "Contains inaprovaline - used to stabilize patients."
|
||||
|
||||
/obj/item/reagent_containers/syringe/norepinephrine/Initialize()
|
||||
. = ..()
|
||||
reagents.add_reagent("inaprovaline", 15)
|
||||
mode = SYRINGE_INJECT
|
||||
update_icon()
|
||||
|
||||
/obj/item/reagent_containers/syringe/dylovene
|
||||
name = "Syringe (dylovene)"
|
||||
desc = "Contains anti-toxins."
|
||||
|
||||
Reference in New Issue
Block a user