More medicine fixes

This commit is contained in:
Unknown
2021-06-22 11:13:18 -04:00
parent e3d33334d6
commit e5891bc972
8 changed files with 59 additions and 24 deletions
+12 -1
View File
@@ -33,7 +33,12 @@
/datum/uplink_item/item/medical/bonemeds
name = "Bone Repair injector"
item_cost = 10
path = /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/bonemed
path = /obj/item/weapon/reagent_containers/hypospray/autoinjector/bonemed
/datum/uplink_item/item/medical/clonemeds
name = "Clone injector"
item_cost = 15
path = /obj/item/weapon/reagent_containers/hypospray/autoinjector/clonemed
/datum/uplink_item/item/medical/bonemeds_case
name = "Bone Repair case"
@@ -41,6 +46,12 @@
desc = "A case of three osteodaxon injectors. Can rapidly remove and stow up to six injectors."
path = /obj/item/weapon/storage/quickdraw/syringe_case/bonemed
/datum/uplink_item/item/medical/clonemeds_case
name = "Clone case"
item_cost = 30
desc = "A case of three rezadone injectors. Can rapidly remove and stow up to six injectors."
path = /obj/item/weapon/storage/quickdraw/syringe_case/clonemed
/datum/uplink_item/item/medical/ambrosiadeusseeds
name = "Box of 7x ambrosia deus seed packets"
item_cost = 10
@@ -167,7 +167,7 @@
name = "bone repair kit"
desc = "Contains chemicals to mend broken bones."
max_storage_space = ITEMSIZE_COST_SMALL * 7
starts_with = list(/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/bonemed = 8)
starts_with = list(/obj/item/weapon/reagent_containers/hypospray/autoinjector/bonemed = 8)
/*
* Pill Bottles
@@ -93,7 +93,16 @@
desc = "A small case for safely carrying sharps around. This one is deluxe!"
max_w_class = ITEMSIZE_SMALL
starts_with = list(
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/bonemed,
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/bonemed,
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/bonemed
/obj/item/weapon/reagent_containers/hypospray/autoinjector/bonemed,
/obj/item/weapon/reagent_containers/hypospray/autoinjector/bonemed,
/obj/item/weapon/reagent_containers/hypospray/autoinjector/bonemed
)
/obj/item/weapon/storage/quickdraw/syringe_case/clonemed
desc = "A small case for safely carrying sharps around. This one is deluxe!"
max_w_class = ITEMSIZE_SMALL
starts_with = list(
/obj/item/weapon/reagent_containers/hypospray/autoinjector/clonemed,
/obj/item/weapon/reagent_containers/hypospray/autoinjector/clonemed,
/obj/item/weapon/reagent_containers/hypospray/autoinjector/clonemed
)
@@ -19,6 +19,8 @@ much more likely to show up. This is done for several purposes;
/obj/random/unidentified_medicine/item_to_spawn()
return pick(
/obj/item/weapon/reagent_containers/hypospray/autoinjector/bonemed/unidentified,
/obj/item/weapon/reagent_containers/hypospray/autoinjector/clonemed/unidentified,
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/brute/unidentified,
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn/unidentified,
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/toxin/unidentified,
@@ -27,7 +29,6 @@ much more likely to show up. This is done for several purposes;
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/pain/unidentified,
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/organ/unidentified,
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting/unidentified,
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/bonemed/unidentified,
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/combat/unidentified,
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/healing_nanites/unidentified,
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/stimm/unidentified,
@@ -65,6 +66,8 @@ much more likely to show up. This is done for several purposes;
// 75 Good, 25 Bad. 75% chance of getting something good.
// Good odds, but the contents aren't super great unless someone gets lucky.
return pick(
prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/bonemed/unidentified,
prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/clonemed/unidentified,
prob(10);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/brute/unidentified,
prob(10);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn/unidentified,
prob(10);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/toxin/unidentified,
@@ -73,7 +76,6 @@ much more likely to show up. This is done for several purposes;
prob(10);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/pain/unidentified,
prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/organ/unidentified,
prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting/unidentified,
prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/bonemed/unidentified,
prob(25);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/expired/unidentified)
// For military PoIs like BSD. High odds of good loot since those PoIs are really hard.
@@ -82,12 +84,13 @@ much more likely to show up. This is done for several purposes;
// 75 Good, 30 Bad, roughly 71.4% chance to get something good.
// Very high but very hard to reach and still has a chance of ending poorly if injecting blind.
return pick(
prob(10);/obj/item/weapon/reagent_containers/hypospray/autoinjector/bonemed/unidentified,
prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/clonemed/unidentified,
prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/brute/unidentified,
prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn/unidentified,
prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/pain/unidentified,
prob(10);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/organ/unidentified,
prob(10);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting/unidentified,
prob(10);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/bonemed/unidentified,
prob(30);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/combat/unidentified,
prob(10);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/soporific/unidentified,
prob(30);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/cyanide/unidentified)
@@ -98,10 +101,11 @@ much more likely to show up. This is done for several purposes;
// 65 Good, 160 Bad, roughly 28.8% to get something good.
// Poor odds, but there are a lot of these scattered in the drug dens and illegal chem labs.
return pick(
prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/bonemed/unidentified,
prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/clonemed/unidentified,
prob(10);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/pain/unidentified,
prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/organ/unidentified,
prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting/unidentified,
prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/bonemed/unidentified,
prob(40);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/combat/unidentified,
prob(20);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/stimm/unidentified,
prob(20);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/space_drugs/unidentified,
@@ -120,9 +124,10 @@ much more likely to show up. This is done for several purposes;
// 45 Good, 45 Bad, 50% chance to get something good.
// Do you feel lucky?
return pick(
prob(10);/obj/item/weapon/reagent_containers/hypospray/autoinjector/bonemed/unidentified,
prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/clonemed/unidentified,
prob(10);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/organ/unidentified,
prob(10);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting/unidentified,
prob(10);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/bonemed/unidentified,
prob(10);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/combat/unidentified,
prob(5);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/healing_nanites/unidentified,
prob(20);/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/contaminated/unidentified,
@@ -186,6 +186,16 @@
icon_state = "green"
filled_reagents = list("anti_toxin" = 5)
/obj/item/weapon/reagent_containers/hypospray/autoinjector/bonemed
name = "bone repair injector"
desc = "A rapid and safe way to administer small amounts of drugs by untrained or trained personnel. This one excels at treating damage to bones."
filled_reagents = list("osteodaxon" = 5)
/obj/item/weapon/reagent_containers/hypospray/autoinjector/clonemed
name = "clone injector"
desc = "A rapid and safe way to administer small amounts of drugs by untrained or trained personnel. This one excels at treating genetic damage."
filled_reagents = list("rezadone" = 5)
// These have a 15u capacity, somewhat higher tech level, and generally more useful chems, but are otherwise the same as the regular autoinjectors.
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector
name = "empty hypo"
@@ -247,11 +257,6 @@
desc = "A refined version of the standard autoinjector, allowing greater capacity. This variant excels at treating bleeding wounds and internal bleeding."
filled_reagents = list("inaprovaline" = 5, "myelamine" = 10)
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/bonemed
name = "bone repair injector"
desc = "A refined version of the standard autoinjector, allowing greater capacity. This one excels at treating damage to bones."
filled_reagents = list("inaprovaline" = 5, "osteodaxon" = 10)
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/glucose
name = "glucose hypo"
desc = "A hypoinjector filled with glucose, used for critically malnourished patients and voidsuited workers."
@@ -5,6 +5,14 @@
identity_type = /datum/identification/hypo
// The good.
/obj/item/weapon/reagent_containers/hypospray/autoinjector/bonemed/unidentified
init_hide_identity = TRUE
flags = 0
/obj/item/weapon/reagent_containers/hypospray/autoinjector/clonemed/unidentified
init_hide_identity = TRUE
flags = 0
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/brute/unidentified
init_hide_identity = TRUE
flags = 0
@@ -37,10 +45,6 @@
init_hide_identity = TRUE
flags = 0
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/bonemed/unidentified
init_hide_identity = TRUE
flags = 0
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/combat/unidentified
init_hide_identity = TRUE
flags = 0
+3 -3
View File
@@ -8,7 +8,7 @@
reagent_state = LIQUID
color = "#00BFFF"
overdose = REAGENTS_OVERDOSE * 2
metabolism = REM * 0.5
metabolism = REM * 0.1
scannable = 1
/datum/reagent/inaprovaline/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
@@ -24,9 +24,9 @@
reagent_state = LIQUID
color = "#00BFFF"
overdose = REAGENTS_OVERDOSE * 2
metabolism = REM * 0.5
metabolism = REM * 0.1
scannable = 1
touch_met = REM * 0.75
touch_met = REM * 0.15
can_overdose_touch = TRUE
/datum/reagent/inaprovaline/topical/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
+3 -2
View File
@@ -180,8 +180,8 @@
/datum/reagent/adminordrazine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
M.heal_organ_damage(40,40)
M.adjustCloneLoss(-40)
M.adjustToxLoss(-50)
M.adjustOxyLoss(-100)
M.adjustToxLoss(-40)
M.adjustOxyLoss(-300)
M.hallucination = 0
M.setBrainLoss(0)
M.disabilities = 0
@@ -204,6 +204,7 @@
M.add_chemical_effect(CE_ANTIBIOTIC, ANTIBIO_SUPER)
M.add_chemical_effect(CE_STABLE, 15)
M.add_chemical_effect(CE_PAINKILLER, 200)
M.remove_a_modifier_of_type(/datum/modifier/poisoned)
if(M.bodytemperature > 310)
M.bodytemperature = max(310, M.bodytemperature - (40 * TEMPERATURE_DAMAGE_COEFFICIENT))
else if(M.bodytemperature < 311)