diff --git a/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm
index ddf86cc4411..ef5fea1f73e 100644
--- a/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm
@@ -1,6 +1,7 @@
// Category 2 medicines are medicines that have an ill effect regardless of volume/OD to dissuade doping. Mostly used as emergency chemicals OR to convert damage (and heal a bit in the process). The type is used to prompt borgs that the medicine is harmful.
/datum/reagent/medicine/C2
harmful = TRUE
+ metabolization_rate = 0.2
/******BRUTE******/
/*Suffix: -bital*/
@@ -37,8 +38,8 @@
reagent_state = SOLID
/datum/reagent/medicine/C2/libital/on_mob_life(mob/living/carbon/M)
- M.adjustOrganLoss(ORGAN_SLOT_LIVER, 1*REM)
- M.adjustBruteLoss(-1*REM)
+ M.adjustOrganLoss(ORGAN_SLOT_LIVER, 0.3*REM)
+ M.adjustBruteLoss(-3*REM)
..()
return TRUE
@@ -75,13 +76,14 @@
var/message_cd = 0
/datum/reagent/medicine/C2/aiuri/on_mob_life(mob/living/carbon/M)
- M.adjustFireLoss(-0.5*REM)
+ M.adjustFireLoss(-2*REM)
M.adjustOrganLoss(ORGAN_SLOT_EYES,0.25*REM)
..()
return TRUE
/******OXY******/
/*Suffix: -mol*/
+#define CONVERMOL_RATIO 5 //# Oxygen damage to result in 1 tox
/datum/reagent/medicine/C2/convermol
name = "Convermol"
@@ -94,9 +96,9 @@
/datum/reagent/medicine/C2/convermol/on_mob_life(mob/living/carbon/human/M)
var/oxycalc = 2.5*REM*current_cycle
if(!overdosed)
- oxycalc = min(oxycalc,M.getOxyLoss()+(current_cycle*0.1)) //if NOT overdosing, we lower our toxdamage to only the damage we actually healed with a minimum of 0.1*current_cycle. IE if we only heal 10 oxygen damage but we COULD have healed 20, we will only take toxdamage for the 10. We would take the toxdamage for the extra 10 if we were overdosing.
+ oxycalc = min(oxycalc,M.getOxyLoss()+0.5) //if NOT overdosing, we lower our toxdamage to only the damage we actually healed with a minimum of 0.1*current_cycle. IE if we only heal 10 oxygen damage but we COULD have healed 20, we will only take toxdamage for the 10. We would take the toxdamage for the extra 10 if we were overdosing.
M.adjustOxyLoss(-oxycalc, 0)
- M.adjustToxLoss(oxycalc/2.5, 0)
+ M.adjustToxLoss(oxycalc/CONVERMOL_RATIO, 0)
if(prob(current_cycle) && M.losebreath)
M.losebreath--
..()
@@ -107,6 +109,8 @@
..()
return TRUE
+#undef CONVERMOL_RATIO
+
/datum/reagent/medicine/C2/tirimol
name = "Tirimol"
description = "An oxygen deprivation medication that causes fatigue. Prolonged exposure causes the patient to fall asleep once the medicine metabolizes."
@@ -114,7 +118,7 @@
var/drowsycd = 0
/datum/reagent/medicine/C2/tirimol/on_mob_life(mob/living/carbon/human/M)
- M.adjustOxyLoss(-1)
+ M.adjustOxyLoss(-3)
M.adjustStaminaLoss(2)
if(drowsycd && (world.time > drowsycd))
M.drowsyness += 10
@@ -126,7 +130,7 @@
/datum/reagent/medicine/C2/tirimol/on_mob_end_metabolize(mob/living/L)
if(current_cycle > 20)
- L.Sleeping(200)
+ L.Sleeping(10 SECONDS)
..()
/******TOXIN******/
@@ -170,7 +174,7 @@
return TRUE
-/datum/reagent/medicine/C2/multiver //made up chem, it's a PALLETTE cleanser hehe
+/datum/reagent/medicine/C2/multiver //amplified with MULTIple medicines
name = "Multiver"
description = "An antitoxin that scales with the more unique medicines in the body as well as purges chems (including itself). Causes lung damage."
@@ -187,7 +191,7 @@
..()
return TRUE
-/datum/reagent/medicine/C2/syriniver
+/datum/reagent/medicine/C2/syriniver //Inject >> SYRINge
name = "Syriniver"
description = "A potent antidote for intravenous use with a narrow therapeutic index, it is considered an active prodrug of musiver."
reagent_state = LIQUID
@@ -226,7 +230,7 @@
..()
. = 1
-/datum/reagent/medicine/C2/musiver
+/datum/reagent/medicine/C2/musiver //MUScles
name = "Musiver"
description = "The active metabolite of syriniver. Causes muscle weakness on overdose"
reagent_state = LIQUID
diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm
index d0a85a830e0..90f222c4abf 100644
--- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm
@@ -1223,7 +1223,7 @@
M.adjustFireLoss(3*REM, 0.)
M.adjust_bodytemperature(-35 * TEMPERATURE_DAMAGE_COEFFICIENT, 50)
..()
-
+
/datum/reagent/medicine/silibinin/on_mob_life(mob/living/carbon/M)
M.adjustOrganLoss(ORGAN_SLOT_LIVER, -2)//Add a chance to cure liver trauma once implemented.
..()
@@ -1260,3 +1260,27 @@
M.adjustOrganLoss(ORGAN_SLOT_LUNGS, 0.5)
..()
. = 1
+
+/datum/reagent/medicine/granibitaluri
+ name = "Granibitaluri" //achieve "GRANular" amounts of C2
+ description = "A chemical solution useful as a diluent for more potent medicine. Especially useful when combined with brute/burn medication. Large amounts can cause fluid to appear in both the lungs and the heart."
+ reagent_state = LIQUID
+ overdose_threshold = 50
+ metabolization_rate = 0.2 //same as C2s
+
+/datum/reagent/medicine/granibitaluri/on_mob_life(mob/living/carbon/M)
+ var/tdamage = M.getBruteLoss() //1 var + 2 proccall < 4 proccalls
+ if(tdamage && tdamage <= 10)
+ M.adjustBruteLoss(-0.1)
+ else
+ tdamage = M.getFireLoss()
+ if(tdamage && tdamage <= 10)
+ M.adjustFireLoss(-0.1)
+ ..()
+ return TRUE
+
+/datum/reagent/medicine/granibitaluri/overdose_process(mob/living/M)
+ . = TRUE
+ M.adjustOrganLoss(ORGAN_SLOT_HEART,0.2)
+ M.adjustOrganLoss(ORGAN_SLOT_LUNGS,0.2)
+ ..()
diff --git a/code/modules/reagents/chemistry/recipes/medicine.dm b/code/modules/reagents/chemistry/recipes/medicine.dm
index aaacb73884c..5a95ab9e680 100644
--- a/code/modules/reagents/chemistry/recipes/medicine.dm
+++ b/code/modules/reagents/chemistry/recipes/medicine.dm
@@ -225,3 +225,10 @@
id = /datum/reagent/medicine/trophazole
results = list(/datum/reagent/medicine/trophazole = 4)
required_reagents = list(/datum/reagent/copper = 1, /datum/reagent/acetone = 2, /datum/reagent/phosphorus = 1)
+
+/datum/chemical_reaction/granibitaluri
+ name = "Granibitaluri"
+ id = /datum/reagent/medicine/granibitaluri
+ results = list(/datum/reagent/medicine/granibitaluri = 1)
+ required_reagents = list(/datum/reagent/water = 1, /datum/reagent/space_cleaner/sterilizine = 1) //haha guys totally not some sort of saline reference!
+ required_temp = 373
diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm
index ee24757f55f..51ec69a214e 100644
--- a/code/modules/reagents/reagent_containers/borghydro.dm
+++ b/code/modules/reagents/reagent_containers/borghydro.dm
@@ -138,6 +138,7 @@ Borg Hypospray
. += DescribeContents() //Because using the standardized reagents datum was just too cool for whatever fuckwit wrote this
var/datum/reagent/loaded = modes[mode]
. += "Currently loaded: [initial(loaded.name)]. [initial(loaded.description)]"
+ . += "Alt+Click to change transfer amount. Currently set to [amount_per_transfer_from_this == 5 ? "dose normally (5u)" : "microdose (2u)"]."
/obj/item/reagent_containers/borghypo/proc/DescribeContents()
. = list()
@@ -152,6 +153,16 @@ Borg Hypospray
if(empty)
. += "It is currently empty! Allow some time for the internal synthesizer to produce more."
+/obj/item/reagent_containers/borghypo/AltClick(mob/living/user)
+ . = ..()
+ if(user.stat == DEAD || user != loc)
+ return //IF YOU CAN HEAR ME SET MY TRANSFER AMOUNT TO 1
+ if(amount_per_transfer_from_this == 5)
+ amount_per_transfer_from_this = 2
+ else
+ amount_per_transfer_from_this = 5
+ to_chat(user,"[src] is now set to [amount_per_transfer_from_this == 5 ? "dose normally" : "microdose"].")
+
/obj/item/reagent_containers/borghypo/hacked
icon_state = "borghypo_s"
reagent_ids = list (/datum/reagent/toxin/acid/fluacid, /datum/reagent/toxin/mutetoxin, /datum/reagent/toxin/cyanide, /datum/reagent/toxin/sodium_thiopental, /datum/reagent/toxin/heparin, /datum/reagent/toxin/lexorin)
diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm
index cf5202d4b36..d92cac0a510 100755
--- a/code/modules/reagents/reagent_containers/glass.dm
+++ b/code/modules/reagents/reagent_containers/glass.dm
@@ -223,19 +223,19 @@
list_reagents = list(/datum/reagent/toxin/slimejelly = 50)
/obj/item/reagent_containers/glass/beaker/large/libital
- name = "libital reserve tank"
- list_reagents = list(/datum/reagent/medicine/C2/libital = 50)
+ name = "libital reserve tank (diluted)"
+ list_reagents = list(/datum/reagent/medicine/C2/libital = 10,/datum/reagent/medicine/granibitaluri = 40)
/obj/item/reagent_containers/glass/beaker/large/aiuri
- name = "aiuri reserve tank"
- list_reagents = list(/datum/reagent/medicine/C2/aiuri = 50)
+ name = "aiuri reserve tank (diluted)"
+ list_reagents = list(/datum/reagent/medicine/C2/aiuri = 10, /datum/reagent/medicine/granibitaluri = 40)
/obj/item/reagent_containers/glass/beaker/large/multiver
- name = "multiver reserve tank"
- list_reagents = list(/datum/reagent/medicine/C2/multiver = 50)
+ name = "multiver reserve tank (diluted)"
+ list_reagents = list(/datum/reagent/medicine/C2/multiver = 10, /datum/reagent/medicine/granibitaluri = 40)
/obj/item/reagent_containers/glass/beaker/large/epinephrine
- name = "epinephrine reserve tank"
+ name = "epinephrine reserve tank (diluted)"
list_reagents = list(/datum/reagent/medicine/epinephrine = 50)
/obj/item/reagent_containers/glass/beaker/instabitaluri
diff --git a/code/modules/reagents/reagent_containers/medigel.dm b/code/modules/reagents/reagent_containers/medigel.dm
index d736fbe451a..9ff2f00db50 100644
--- a/code/modules/reagents/reagent_containers/medigel.dm
+++ b/code/modules/reagents/reagent_containers/medigel.dm
@@ -68,15 +68,15 @@
/obj/item/reagent_containers/medigel/libital
name = "medical gel (libital)"
- desc = "A medical gel applicator bottle, designed for precision application, with an unscrewable cap. This one contains libital, for treating cuts and bruises. Libital does minor liver damage."
+ desc = "A medical gel applicator bottle, designed for precision application, with an unscrewable cap. This one contains libital, for treating cuts and bruises. Libital does minor liver damage. Diluted with Granibitaluri."
icon_state = "brutegel"
- list_reagents = list(/datum/reagent/medicine/C2/libital = 60)
+ list_reagents = list(/datum/reagent/medicine/C2/libital = 20, /datum/reagent/medicine/granibitaluri = 40)
/obj/item/reagent_containers/medigel/aiuri
name = "medical gel (aiuri)"
- desc = "A medical gel applicator bottle, designed for precision application, with an unscrewable cap. This one contains aiuri, useful for treating burns. Aiuri does minor eye damage."
+ desc = "A medical gel applicator bottle, designed for precision application, with an unscrewable cap. This one contains aiuri, useful for treating burns. Aiuri does minor eye damage. Diluted with Granibitaluri"
icon_state = "burngel"
- list_reagents = list(/datum/reagent/medicine/C2/aiuri = 60)
+ list_reagents = list(/datum/reagent/medicine/C2/aiuri = 20, /datum/reagent/medicine/granibitaluri = 40)
/obj/item/reagent_containers/medigel/instabitaluri
name = "medical gel (instabitaluri)"
diff --git a/code/modules/reagents/reagent_containers/patch.dm b/code/modules/reagents/reagent_containers/patch.dm
index 7761fedd6e9..c22228e3814 100644
--- a/code/modules/reagents/reagent_containers/patch.dm
+++ b/code/modules/reagents/reagent_containers/patch.dm
@@ -29,14 +29,14 @@
/obj/item/reagent_containers/pill/patch/libital
name = "libital patch (brute)"
- desc = "A common pain reliever. Does minor liver damage."
- list_reagents = list(/datum/reagent/medicine/C2/libital = 10)
+ desc = "A pain reliever. Does minor liver damage. Diluted with Granibitaluri."
+ list_reagents = list(/datum/reagent/medicine/C2/libital = 2, /datum/reagent/medicine/granibitaluri = 8) //10 iterations
icon_state = "bandaid_brute"
/obj/item/reagent_containers/pill/patch/aiuri
name = "aiuri patch (burn)"
- desc = "Helps with burn injuries. Does minor eye damage."
- list_reagents = list(/datum/reagent/medicine/C2/aiuri = 10)
+ desc = "Helps with burn injuries. Does minor eye damage. Diluted with Granibitaluri."
+ list_reagents = list(/datum/reagent/medicine/C2/aiuri = 1, /datum/reagent/medicine/granibitaluri = 9)
icon_state = "bandaid_burn"
/obj/item/reagent_containers/pill/patch/instabitaluri
diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm
index c297e487854..004df33f20c 100644
--- a/code/modules/reagents/reagent_containers/pill.dm
+++ b/code/modules/reagents/reagent_containers/pill.dm
@@ -116,9 +116,9 @@
/obj/item/reagent_containers/pill/multiver
name = "multiver pill"
- desc = "Neutralizes many common toxins."
+ desc = "Neutralizes many common toxins and scales with unique medicine in the system. Diluted with granibitaluri."
icon_state = "pill17"
- list_reagents = list(/datum/reagent/medicine/C2/multiver = 10)
+ list_reagents = list(/datum/reagent/medicine/C2/multiver = 2, /datum/reagent/medicine/granibitaluri = 8)
rename_with_volume = TRUE
/obj/item/reagent_containers/pill/epinephrine
diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm
index 70eaec30313..5f4716b52a6 100644
--- a/code/modules/reagents/reagent_containers/syringes.dm
+++ b/code/modules/reagents/reagent_containers/syringes.dm
@@ -181,13 +181,13 @@
/obj/item/reagent_containers/syringe/multiver
name = "syringe (multiver)"
- desc = "Contains multiver."
- list_reagents = list(/datum/reagent/medicine/C2/multiver = 15)
+ desc = "Contains multiver. Diluted with granibitaluri."
+ list_reagents = list(/datum/reagent/medicine/C2/multiver = 6, /datum/reagent/medicine/granibitaluri = 9)
/obj/item/reagent_containers/syringe/convermol
name = "syringe (convermol)"
- desc = "Contains convermol."
- list_reagents = list(/datum/reagent/medicine/C2/convermol = 15)
+ desc = "Contains convermol. Diluted with granibitaluri."
+ list_reagents = list(/datum/reagent/medicine/C2/convermol = 6, /datum/reagent/medicine/granibitaluri = 9)
/obj/item/reagent_containers/syringe/antiviral
name = "syringe (spaceacillin)"
@@ -276,4 +276,4 @@
/obj/item/reagent_containers/syringe/syriniver
name = "syringe (syriniver)"
desc = "Contains syriniver, used to treat toxins and purge chemicals.The tag on the syringe states 'Inject one time per minute'"
- list_reagents = list(/datum/reagent/medicine/C2/syriniver = 15)
\ No newline at end of file
+ list_reagents = list(/datum/reagent/medicine/C2/syriniver = 15)