Merge pull request #12561 from shellspeed1/Ports-kyro-chems
Ports IV bags from TG
This commit is contained in:
@@ -13,7 +13,8 @@
|
||||
var/obj/item/reagent_containers/beaker
|
||||
var/static/list/drip_containers = typecacheof(list(/obj/item/reagent_containers/blood,
|
||||
/obj/item/reagent_containers/food,
|
||||
/obj/item/reagent_containers/glass))
|
||||
/obj/item/reagent_containers/glass,
|
||||
/obj/item/reagent_containers/chem_pack))
|
||||
|
||||
/obj/machinery/iv_drip/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
@@ -391,7 +391,7 @@
|
||||
STR.storage_flags = STORAGE_FLAGS_VOLUME_DEFAULT
|
||||
STR.max_volume = STORAGE_VOLUME_CHEMISTRY_BAG
|
||||
STR.insert_preposition = "in"
|
||||
STR.can_hold = typecacheof(list(/obj/item/reagent_containers/pill, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/syringe/dart))
|
||||
STR.can_hold = typecacheof(list(/obj/item/reagent_containers/pill, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/syringe/dart, /obj/item/reagent_containers/chem_pack))
|
||||
|
||||
/*
|
||||
* Biowaste bag (mostly for xenobiologists)
|
||||
|
||||
@@ -180,7 +180,8 @@
|
||||
/obj/item/implantcase,
|
||||
/obj/item/implant,
|
||||
/obj/item/implanter,
|
||||
/obj/item/pinpointer/crew
|
||||
/obj/item/pinpointer/crew,
|
||||
/obj/item/reagent_containers/chem_pack
|
||||
))
|
||||
|
||||
/obj/item/storage/belt/medical/surgery_belt_adv
|
||||
|
||||
@@ -418,7 +418,8 @@
|
||||
/obj/item/circuitboard/computer/crew,
|
||||
/obj/item/stack/sheet/glass,
|
||||
/obj/item/stack/sheet/mineral/silver,
|
||||
/obj/item/organ_storage
|
||||
/obj/item/organ_storage,
|
||||
/obj/item/reagent_containers/chem_pack
|
||||
))
|
||||
|
||||
//hijacking the minature first aids for hypospray boxes. <3
|
||||
|
||||
@@ -463,7 +463,7 @@
|
||||
return TRUE
|
||||
if(!O.reagents || !O.reagents.reagent_list.len) // other empty containers not accepted
|
||||
return FALSE
|
||||
if(istype(O, /obj/item/reagent_containers/syringe) || istype(O, /obj/item/reagent_containers/glass/bottle) || istype(O, /obj/item/reagent_containers/glass/beaker) || istype(O, /obj/item/reagent_containers/spray) || istype(O, /obj/item/reagent_containers/medspray))
|
||||
if(istype(O, /obj/item/reagent_containers/syringe) || istype(O, /obj/item/reagent_containers/glass/bottle) || istype(O, /obj/item/reagent_containers/glass/beaker) || istype(O, /obj/item/reagent_containers/spray) || istype(O, /obj/item/reagent_containers/medspray) || istype(O, /obj/item/reagent_containers/chem_pack))
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
/obj/item/reagent_containers/chem_pack
|
||||
name = "intravenous medicine bag"
|
||||
desc = "A plastic pressure bag, or 'chem pack', for IV administration of drugs. It is fitted with a thermosealing strip."
|
||||
icon = 'icons/obj/bloodpack.dmi'
|
||||
icon_state = "chempack"
|
||||
volume = 100
|
||||
reagent_flags = OPENCONTAINER
|
||||
spillable = TRUE
|
||||
obj_flags = UNIQUE_RENAME
|
||||
resistance_flags = ACID_PROOF
|
||||
var/sealed = FALSE
|
||||
|
||||
/obj/item/reagent_containers/chem_pack/on_reagent_change(changetype)
|
||||
update_icon()
|
||||
|
||||
/obj/item/reagent_containers/chem_pack/update_icon()
|
||||
cut_overlays()
|
||||
|
||||
var/v = min(round(reagents.total_volume / volume * 10), 10)
|
||||
if(v > 0)
|
||||
var/mutable_appearance/filling = mutable_appearance('icons/obj/reagentfillings.dmi', "chempack1")
|
||||
filling.icon_state = "chempack[v]"
|
||||
filling.color = mix_color_from_reagents(reagents.reagent_list)
|
||||
add_overlay(filling)
|
||||
|
||||
/obj/item/reagent_containers/chem_pack/AltClick(mob/living/user)
|
||||
if(user.canUseTopic(src, BE_CLOSE, NO_DEXTERY) && !sealed)
|
||||
if(iscarbon(user) && (HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50)))
|
||||
to_chat(user, "<span class='warning'>Uh... whoops! You accidentally spill the content of the bag onto yourself.</span>")
|
||||
SplashReagents(user)
|
||||
return
|
||||
else
|
||||
DISABLE_BITFIELD(reagents.reagents_holder_flags, OPENCONTAINER)
|
||||
ENABLE_BITFIELD(reagents.reagents_holder_flags, DRAWABLE |INJECTABLE )
|
||||
spillable = FALSE
|
||||
sealed = TRUE
|
||||
to_chat(user, "<span class='notice'>You seal the bag.</span>")
|
||||
|
||||
|
||||
/obj/item/reagent_containers/chem_pack/examine()
|
||||
. = ..()
|
||||
if(sealed)
|
||||
. += "<span class='notice'>The bag is sealed shut.</span>"
|
||||
else
|
||||
. += "<span class='notice'>Alt-click to seal it.</span>"
|
||||
|
||||
|
||||
obj/item/reagent_containers/chem_pack/attack_self(mob/user)
|
||||
if(sealed)
|
||||
return
|
||||
..()
|
||||
@@ -212,6 +212,16 @@
|
||||
category = list("Medical Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
|
||||
|
||||
/datum/design/chem_pack
|
||||
name = "Intravenous Medicine Bag"
|
||||
desc = "A plastic pressure bag for IV administration of drugs."
|
||||
id = "chem_pack"
|
||||
build_type = PROTOLATHE
|
||||
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
|
||||
materials = list(/datum/material/plastic = 1500)
|
||||
build_path = /obj/item/reagent_containers/chem_pack
|
||||
category = list("Medical Designs")
|
||||
|
||||
/datum/design/cloning_disk
|
||||
name = "Cloning Data Disk"
|
||||
desc = "Produce additional disks for storing genetic data."
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
display_name = "Biological Technology"
|
||||
description = "What makes us tick." //the MC, silly!
|
||||
prereq_ids = list("base")
|
||||
design_ids = list("medicalkit", "chem_heater", "chem_master", "chem_dispenser", "sleeper", "vr_sleeper", "pandemic", "defibrillator", "defibmount", "operating", "soda_dispenser", "beer_dispenser", "healthanalyzer", "blood_bag", "bloodbankgen", "telescopiciv", "medspray","genescanner")
|
||||
design_ids = list("medicalkit", "chem_heater", "chem_master", "chem_dispenser", "sleeper", "vr_sleeper", "pandemic", "defibrillator", "defibmount", "operating", "soda_dispenser", "beer_dispenser", "healthanalyzer", "blood_bag", "bloodbankgen", "telescopiciv", "medspray","genescanner","chem_pack")
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
||||
|
||||
/datum/techweb_node/adv_biotech
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.3 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.5 KiB |
@@ -2992,6 +2992,7 @@
|
||||
#include "code\modules\reagents\reagent_containers\blood_pack.dm"
|
||||
#include "code\modules\reagents\reagent_containers\borghydro.dm"
|
||||
#include "code\modules\reagents\reagent_containers\bottle.dm"
|
||||
#include "code\modules\reagents\reagent_containers\chem_pack.dm"
|
||||
#include "code\modules\reagents\reagent_containers\dropper.dm"
|
||||
#include "code\modules\reagents\reagent_containers\glass.dm"
|
||||
#include "code\modules\reagents\reagent_containers\hypospray.dm"
|
||||
|
||||
Reference in New Issue
Block a user