Skip to content

Commit

Permalink
Add Hyposprays to Cargo (#4049)
Browse files Browse the repository at this point in the history
## About The Pull Request
I got to play with one of these and it was cool so I'm adding it to
cargo

Also adds chitosan, a coagulant. since we didn't have a coagulant. for
some reason.
## Why It's Good For The Game

i think its cool :)

## Changelog

:cl:
add: chitosan! a coagulant that you can make by mixing 1 silicon, 2
sugar, 1 cryptobiolin and warming it all up.
add: hyposprays and hypospray vials to cargo
/:cl:
  • Loading branch information
Erikafox authored Jan 21, 2025
1 parent 5cee256 commit 3fdbca1
Show file tree
Hide file tree
Showing 10 changed files with 196 additions and 17 deletions.
2 changes: 1 addition & 1 deletion _maps/shuttles/inteq/inteq_valor.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -4936,7 +4936,7 @@
name = "honorable corpsman beret"
},
/obj/item/clothing/glasses/hud/health/sunglasses,
/obj/item/storage/box/hypospray/CMO,
/obj/item/storage/box/hypospray/mkiii,
/obj/item/clothing/gloves/color/latex/nitrile,
/obj/item/stamp/inteq/corpsman,
/turf/open/floor/carpet/blue,
Expand Down
2 changes: 1 addition & 1 deletion _maps/shuttles/syndicate/syndicate_cybersun_litieguai.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -3072,7 +3072,7 @@
},
/obj/item/storage/belt/medical,
/obj/item/healthanalyzer/advanced,
/obj/item/hypospray/mkii/CMO,
/obj/item/hypospray/mkii/mkiii,
/obj/item/storage/backpack/satchel/med,
/obj/item/defibrillator/compact/loaded,
/obj/item/clothing/gloves/color/latex/nitrile/evil,
Expand Down
2 changes: 1 addition & 1 deletion _maps/shuttles/syndicate/syndicate_twinkleshine.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -8334,7 +8334,7 @@
/obj/structure/sign/warning/chemdiamond{
pixel_x = 30
},
/obj/item/hypospray/mkii/CMO/combat,
/obj/item/hypospray/mkii/mkiii/combat,
/obj/item/reagent_containers/glass/bottle/vial/large,
/obj/item/reagent_containers/glass/bottle/vial/large,
/obj/item/reagent_containers/glass/bottle/vial/large,
Expand Down
8 changes: 4 additions & 4 deletions code/game/objects/items/storage/boxes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -285,11 +285,11 @@
new /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/kelotane(src)
new /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/dexalin(src)

/obj/item/storage/box/hypospray/CMO
name = "advanced hypospray mk. II kit"
/obj/item/storage/box/hypospray/mkiii
name = "hypospray mk. III kit"

/obj/item/storage/box/hypospray/CMO/PopulateContents()
new /obj/item/hypospray/mkii/CMO(src)
/obj/item/storage/box/hypospray/mkiii/PopulateContents()
new /obj/item/hypospray/mkii/mkiii(src)
new /obj/item/reagent_containers/glass/bottle/vial/large/preloaded/bicaridine(src)
new /obj/item/reagent_containers/glass/bottle/vial/large/preloaded/antitoxin(src)
new /obj/item/reagent_containers/glass/bottle/vial/large/preloaded/kelotane(src)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@
new /obj/item/storage/bag/medical(src) //Medibags
new /obj/item/clothing/head/beret/cmo(src) //Berets
new /obj/item/clothing/under/rank/command(src) //Better command uniforms
new /obj/item/storage/box/hypospray/CMO(src) //Hypo mk. 2s
new /obj/item/storage/box/hypospray/mkiii(src) //Hypo mk. 2s
new /obj/item/clothing/neck/cloak/cmo(src)
new /obj/item/clothing/suit/bio_suit/cmo(src)
new /obj/item/clothing/head/bio_hood/cmo(src)
Expand Down
123 changes: 123 additions & 0 deletions code/modules/cargo/packs/medical.dm
Original file line number Diff line number Diff line change
Expand Up @@ -178,3 +178,126 @@
contains = list(/obj/item/storage/box/medipens)
crate_name = "epinephrine medipen crate"

/* Hypospray supplies */

/datum/supply_pack/medical/mkii_hypo
name = "mk.II Hypospray kit"
desc = "Contains an Nanotrasen Hypospray, for on the field medical care. Comes with an assortment of Ready-To-Go Vials"
cost = 1200
contains = list(/obj/item/storage/box/hypospray)
crate_name = "mk.II hypospray crate"
faction = /datum/faction/nt

/datum/supply_pack/medical/mkiii_hypo
name = "mk.III Hypospray kit"
desc = "Contains a mk.III Nanotrasen Hypospray, for on the field medical care. Comes with an assortment of Ready-To-Go Vials"
cost = 2000
contains = list(/obj/item/storage/box/hypospray/mkiii)
crate_name = "mk.III hypospray crate"
faction = /datum/faction/nt
faction_locked = TRUE
faction_discount = 0

/datum/supply_pack/medical/vials
faction = /datum/faction/nt
faction_discount = 50

/datum/supply_pack/medical/vials/bica_vial
name = "Bicardine Vial Crate"
desc = "Contains 2 spare bicardine vials, for usage in a Hypospray."
cost = 800
contains = list(
/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/bicaridine,
/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/bicaridine
)
crate_name = "bicardine vial crate"

/datum/supply_pack/medical/vials/kelo_vial
name = "Kelotane Vial Crate"
desc = "Contains 2 spare kelotane vials, for usage in a Hypospray."
cost = 800
contains = list(
/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/kelotane,
/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/kelotane
)
crate_name = "kelotane vial crate"

/datum/supply_pack/medical/vials/dylo_vial
name = "Dylovene Vial Crate"
desc = "Contains 2 spare dylovene vials, for usage in a Hypospray."
cost = 1200
contains = list(
/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/antitoxin,
/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/antitoxin
)
crate_name = "dylovene vial crate"

/datum/supply_pack/medical/vials/dexa_vial
name = "Dexalin Vial Crate"
desc = "Contains 2 spare dexalin vials, for usage in a Hypospray."
cost = 800
contains = list(
/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/dexalin,
/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/dexalin
)
crate_name = "dexalin vial crate"

/datum/supply_pack/medical/vials/tric_vial
name = "Tricordrazine Vial Crate"
desc = "Contains 2 spare tricordrazine vials, for usage in a Hypospray."
cost = 800
contains = list(
/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/tricord,
/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/tricord
)
crate_name = "tricordrazine vial crate"

/datum/supply_pack/medical/vials/morb_vial
name = "Morphine Vial Crate"
desc = "Contains 2 spare morphine vials, for usage in a Hypospray."
cost = 800
contains = list(
/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/morphine,
/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/morphine
)
crate_name = "morphine vial crate"

/datum/supply_pack/medical/vials/atro_vial
name = "Atropine Vial Crate"
desc = "Contains 2 spare atropine vials, for usage in a Hypospray."
cost = 800
contains = list(
/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/atropine,
/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/morphine
)
crate_name = "atropine vial crate"

/datum/supply_pack/medical/vials/erp_vial
name = "Radiation Purgant Vial Crate"
desc = "Contains 2 spare radiation purgant vials, for usage in a Hypospray."
cost = 800
contains = list(
/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/erp,
/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/erp
)
crate_name = "radiation purgant vial crate"

/datum/supply_pack/medical/vials/sal_vial
name = "SalGlu Vial Crate"
desc = "Contains 2 spare SalGlu Solution vials, for usage in a Hypospray."
cost = 800
contains = list(
/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/salclu,
/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/salclu
)
crate_name = "SalGlu vial crate"

/datum/supply_pack/medical/vials/chit_vial
name = "Chitosan Vial Crate"
desc = "Contains 2 spare Chitosan vials, for usage in a Hypospray."
cost = 800
contains = list(
/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/chitosan,
/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/chitosan
)
crate_name = "chitosan vial crate"
22 changes: 22 additions & 0 deletions code/modules/reagents/chemistry/reagents/medicine_reagents.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2097,3 +2097,25 @@
ADD_TRAIT(M, TRAIT_ALLBREAK, TRAIT_GENERIC)
REMOVE_TRAIT(M, TRAIT_NOBREAK, TRAIT_GENERIC)
..()

/datum/reagent/medicine/chitosan
name = "Chitosan"
description = "Vastly improves the blood's natural ability to coagulate and stop bleeding by hightening platelet production and effectiveness. Overdosing will cause extreme blood clotting, resulting in potential brain damage."
reagent_state = LIQUID
color = "#CC00FF"
overdose_threshold = 10

/datum/reagent/medicine/chitosan/on_mob_life(mob/living/carbon/M)
if(ishuman(M))
var/mob/living/carbon/human/H = M
H.heal_bleeding(1)
..()
. = 1

/datum/reagent/medicine/chitosan/overdose_process(mob/living/M)
M.adjustOxyLoss(4)
if(prob(10))
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2)
if(prob(5))
M.adjustToxLoss(1)
..()
10 changes: 10 additions & 0 deletions code/modules/reagents/chemistry/recipes/medicine.dm
Original file line number Diff line number Diff line change
Expand Up @@ -325,3 +325,13 @@ WS End */
/datum/chemical_reaction/chartreuse
results = list(/datum/reagent/medicine/chartreuse = 10)
required_reagents = list(/datum/reagent/medicine/puce_essence = 5, /datum/reagent/consumable/tinlux = 5, /datum/reagent/consumable/entpoly = 1)

/datum/chemical_reaction/chitosan
results = list(/datum/reagent/medicine/chitosan = 10)
required_reagents = list(/datum/reagent/silicon = 1, /datum/reagent/consumable/sugar = 2, /datum/reagent/cryptobiolin = 1)
required_temp = 380

/datum/chemical_reaction/chitosan_failure
results = list(/datum/reagent/carbon = 1)
required_reagents = list(/datum/reagent/medicine/chitosan = 1)
required_temp = 405
17 changes: 8 additions & 9 deletions code/modules/reagents/reagent_containers/hypospray.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
#define SELF_SPRAY 15
#define SELF_INJECT 15

#define DELUXE_WAIT_SPRAY 20
#define DELUXE_WAIT_INJECT 20
#define DELUXE_WAIT_SPRAY 15
#define DELUXE_WAIT_INJECT 15
#define DELUXE_SELF_SPRAY 10
#define DELUXE_SELF_INJECT 10

Expand Down Expand Up @@ -324,7 +324,7 @@
name = "hypospray mk.II"
icon = 'icons/obj/syringe.dmi'
icon_state = "hypo2"
desc = "A new development from DeForest Medical, this hypospray takes 30-unit vials as the drug supply for easy swapping."
desc = "A medical product traditionally manufactured by Nanotrasen and Cybersun, this hypospray takes 30-unit vials as the drug supply for easy swapping."
w_class = WEIGHT_CLASS_TINY
var/list/allowed_containers = list(/obj/item/reagent_containers/glass/bottle/vial/tiny, /obj/item/reagent_containers/glass/bottle/vial/small)
var/mode = HYPO_INJECT
Expand All @@ -336,7 +336,7 @@
var/spray_self = SELF_SPRAY
var/inject_self = SELF_INJECT
var/quickload = FALSE
var/penetrates = FALSE
var/penetrates = TRUE

/obj/item/hypospray/mkii/brute
start_vial = /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/bicaridine
Expand All @@ -353,19 +353,19 @@
/obj/item/hypospray/mkii/tricord
start_vial = /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/tricord

/obj/item/hypospray/mkii/CMO
name = "hypospray mk.II deluxe"
/obj/item/hypospray/mkii/mkiii
name = "hypospray mk.III"
allowed_containers = list(/obj/item/reagent_containers/glass/bottle/vial/tiny, /obj/item/reagent_containers/glass/bottle/vial/small, /obj/item/reagent_containers/glass/bottle/vial/large)
icon_state = "cmo2"
desc = "The Deluxe Hypospray can take larger-size vials. It also acts faster and delivers more reagents per spray."
desc = "The mk.III Hypospray can take larger-size vials. It also acts faster and delivers more reagents per spray."
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF
start_vial = /obj/item/reagent_containers/glass/bottle/vial/large/preloaded/CMO
inject_wait = DELUXE_WAIT_INJECT
spray_wait = DELUXE_WAIT_SPRAY
spray_self = DELUXE_SELF_SPRAY
inject_self = DELUXE_SELF_INJECT

/obj/item/hypospray/mkii/CMO/combat
/obj/item/hypospray/mkii/mkiii/combat
name = "combat hypospray mk.II"
desc = "A combat-ready deluxe hypospray that acts almost instantly. It can be tactically reloaded by using a vial on it."
icon_state = "combat2"
Expand All @@ -375,7 +375,6 @@
spray_self = COMBAT_SELF_SPRAY
inject_self = COMBAT_SELF_INJECT
quickload = TRUE
penetrates = TRUE

/obj/item/hypospray/mkii/Initialize()
. = ..()
Expand Down
25 changes: 25 additions & 0 deletions code/modules/reagents/reagent_containers/hypovial.dm
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,31 @@
icon_state = "hypovial"
comes_with = list(/datum/reagent/medicine/tricordrazine = 60)

/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/morphine
name = "hypovial (morphine)"
icon_state = "hypovial-pink"
comes_with = list(/datum/reagent/medicine/morphine = 60)

/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/atropine
name = "hypovial (atropine)"
icon_state = "hypovial-t"
comes_with = list(/datum/reagent/medicine/atropine = 60)

/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/erp //its not what it looks like i swear
name = "hypovial (radiation purgant)"
icon_state = "hypovial-k"
comes_with = list(/datum/reagent/medicine/anti_rad = 60)

/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/salclu
name = "hypovial (SalGlu Solution)"
icon_state = "hypovial"
comes_with = list(/datum/reagent/medicine/salglu_solution = 60)

/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/chitosan
name = "hypovial (chitosan)"
icon_state = "hypovial-b"
comes_with = list(/datum/reagent/medicine/chitosan = 60)

/obj/item/reagent_containers/glass/bottle/vial/large/preloaded/CMO
name = "deluxe hypovial"
icon_state = "hypoviallarge-cmos"
Expand Down

0 comments on commit 3fdbca1

Please sign in to comment.