mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-29 16:18:01 +01:00
[MIRROR] Test tubes and racks [MDB IGNORE] (#21400)
* Test tubes and racks * fixes --------- Co-authored-by: Andrew <mt.forspam@gmail.com> Co-authored-by: ghost sheep <sheepwiththemask@gmail.com>
This commit is contained in:
co-authored by
Andrew
ghost sheep
parent
13970a9399
commit
86aec08be8
@@ -25,6 +25,7 @@
|
||||
atom_storage.set_holdable(list(
|
||||
/obj/item/reagent_containers/cup/beaker,
|
||||
/obj/item/reagent_containers/cup/bottle,
|
||||
/obj/item/reagent_containers/cup/tube,
|
||||
/obj/item/reagent_containers/cup/glass/waterbottle,
|
||||
/obj/item/reagent_containers/condiment,
|
||||
))
|
||||
|
||||
@@ -340,6 +340,7 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \
|
||||
new/datum/stack_recipe("bonfire", /obj/structure/bonfire, 10, time = 6 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_TOOLS), \
|
||||
new/datum/stack_recipe("easel", /obj/structure/easel, 5, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_ENTERTAINMENT), \
|
||||
new/datum/stack_recipe("noticeboard", /obj/item/wallframe/noticeboard, 1, time = 1 SECONDS, one_per_turf = FALSE, on_solid_ground = FALSE, check_density = FALSE, category = CAT_FURNITURE), \
|
||||
new/datum/stack_recipe("test tube rack", /obj/item/storage/test_tube_rack, 1, time = 1 SECONDS, check_density = FALSE, category = CAT_CHEMISTRY), \
|
||||
null, \
|
||||
new/datum/stack_recipe_list("pews", list(
|
||||
new /datum/stack_recipe("pew (middle)", /obj/structure/chair/pew, 3, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE),
|
||||
|
||||
@@ -442,6 +442,7 @@
|
||||
/obj/item/reagent_containers/cup/glass/waterbottle,
|
||||
/obj/item/reagent_containers/cup/beaker,
|
||||
/obj/item/reagent_containers/cup/bottle,
|
||||
/obj/item/reagent_containers/cup/tube,
|
||||
/obj/item/reagent_containers/medigel,
|
||||
/obj/item/reagent_containers/pill,
|
||||
/obj/item/reagent_containers/syringe,
|
||||
@@ -472,6 +473,7 @@
|
||||
/obj/item/reagent_containers/dropper,
|
||||
/obj/item/reagent_containers/cup/beaker,
|
||||
/obj/item/reagent_containers/cup/bottle,
|
||||
/obj/item/reagent_containers/cup/tube,
|
||||
/obj/item/reagent_containers/hypospray/medipen,
|
||||
/obj/item/reagent_containers/syringe,
|
||||
))
|
||||
@@ -501,6 +503,7 @@
|
||||
/obj/item/reagent_containers/dropper,
|
||||
/obj/item/reagent_containers/cup/beaker,
|
||||
/obj/item/reagent_containers/cup/bottle,
|
||||
/obj/item/reagent_containers/cup/tube,
|
||||
/obj/item/reagent_containers/syringe,
|
||||
/obj/item/slime_extract,
|
||||
/obj/item/swab,
|
||||
|
||||
@@ -247,6 +247,7 @@
|
||||
/obj/item/reagent_containers/cup/beaker,
|
||||
/obj/item/reagent_containers/cup/bottle,
|
||||
/obj/item/reagent_containers/cup/vial, //SKYRAT EDIT HYPOSPRAYS
|
||||
/obj/item/reagent_containers/cup/tube,
|
||||
/obj/item/reagent_containers/hypospray,
|
||||
/obj/item/reagent_containers/medigel,
|
||||
/obj/item/reagent_containers/pill,
|
||||
@@ -871,6 +872,7 @@
|
||||
/obj/item/plant_analyzer,
|
||||
/obj/item/reagent_containers/cup/beaker,
|
||||
/obj/item/reagent_containers/cup/bottle,
|
||||
/obj/item/reagent_containers/cup/tube,
|
||||
/obj/item/reagent_containers/spray/pestspray,
|
||||
/obj/item/reagent_containers/spray/plantbgone,
|
||||
/obj/item/secateurs,
|
||||
|
||||
@@ -81,6 +81,7 @@
|
||||
/obj/item/reagent_containers/dropper,
|
||||
/obj/item/reagent_containers/cup/beaker,
|
||||
/obj/item/reagent_containers/cup/bottle,
|
||||
/obj/item/reagent_containers/cup/tube,
|
||||
/obj/item/reagent_containers/pill,
|
||||
/obj/item/reagent_containers/syringe,
|
||||
/obj/item/reagent_containers/medigel,
|
||||
@@ -734,3 +735,31 @@
|
||||
/obj/item/storage/organbox/preloaded/Initialize(mapload)
|
||||
. = ..()
|
||||
reagents.add_reagent(/datum/reagent/cryostylane, reagents.maximum_volume)
|
||||
|
||||
/obj/item/storage/test_tube_rack
|
||||
name = "test tube rack"
|
||||
desc = "A wooden rack for storing test tubes."
|
||||
icon_state = "rack"
|
||||
base_icon_state = "rack"
|
||||
icon = 'icons/obj/medical/chemical.dmi'
|
||||
inhand_icon_state = "contsolid"
|
||||
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
|
||||
/obj/item/storage/test_tube_rack/Initialize(mapload)
|
||||
. = ..()
|
||||
atom_storage.allow_quick_gather = TRUE
|
||||
atom_storage.max_slots = 8
|
||||
atom_storage.screen_max_columns = 4
|
||||
atom_storage.screen_max_rows = 2
|
||||
atom_storage.set_holdable(list(
|
||||
/obj/item/reagent_containers/cup/tube,
|
||||
))
|
||||
|
||||
/obj/item/storage/test_tube_rack/attack_self(mob/user)
|
||||
emptyStorage()
|
||||
|
||||
/obj/item/storage/test_tube_rack/update_icon_state()
|
||||
icon_state = "[base_icon_state][contents.len > 0 ? contents.len : null]"
|
||||
return ..()
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
/obj/item/plant_analyzer,
|
||||
/obj/item/reagent_containers/cup/beaker,
|
||||
/obj/item/reagent_containers/cup/bottle,
|
||||
/obj/item/reagent_containers/cup/tube,
|
||||
/obj/item/reagent_containers/spray/pestspray,
|
||||
/obj/item/reagent_containers/spray/plantbgone,
|
||||
/obj/item/secateurs,
|
||||
@@ -267,6 +268,7 @@
|
||||
/obj/item/reagent_containers/dropper,
|
||||
/obj/item/reagent_containers/cup/beaker,
|
||||
/obj/item/reagent_containers/cup/bottle,
|
||||
/obj/item/reagent_containers/cup/tube,
|
||||
/obj/item/reagent_containers/hypospray,
|
||||
/obj/item/reagent_containers/syringe,
|
||||
/obj/item/retractor,
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
/obj/item/reagent_containers/dropper,
|
||||
/obj/item/reagent_containers/cup/beaker,
|
||||
/obj/item/reagent_containers/cup/bottle,
|
||||
/obj/item/reagent_containers/cup/tube,
|
||||
/obj/item/reagent_containers/hypospray,
|
||||
/obj/item/reagent_containers/pill,
|
||||
/obj/item/reagent_containers/syringe,
|
||||
|
||||
@@ -256,6 +256,7 @@
|
||||
/obj/item/holosign_creator,
|
||||
/obj/item/reagent_containers/cup/beaker,
|
||||
/obj/item/reagent_containers/cup/bottle,
|
||||
/obj/item/reagent_containers/cup/tube,
|
||||
/obj/item/reagent_containers/spray,
|
||||
)
|
||||
hoodtype = /obj/item/clothing/head/hooded/winterhood/janitor
|
||||
@@ -311,6 +312,7 @@
|
||||
/obj/item/reagent_containers/dropper,
|
||||
/obj/item/reagent_containers/cup/beaker,
|
||||
/obj/item/reagent_containers/cup/bottle,
|
||||
/obj/item/reagent_containers/cup/tube,
|
||||
/obj/item/reagent_containers/hypospray,
|
||||
/obj/item/reagent_containers/pill,
|
||||
/obj/item/reagent_containers/syringe,
|
||||
@@ -434,6 +436,7 @@
|
||||
/obj/item/reagent_containers/dropper,
|
||||
/obj/item/reagent_containers/cup/beaker,
|
||||
/obj/item/reagent_containers/cup/bottle,
|
||||
/obj/item/reagent_containers/cup/tube,
|
||||
/obj/item/reagent_containers/hypospray,
|
||||
/obj/item/reagent_containers/pill,
|
||||
/obj/item/reagent_containers/syringe,
|
||||
|
||||
@@ -474,6 +474,7 @@
|
||||
/obj/item/reagent_containers/dropper,
|
||||
/obj/item/reagent_containers/cup/beaker,
|
||||
/obj/item/reagent_containers/cup/bottle,
|
||||
/obj/item/reagent_containers/cup/tube,
|
||||
/obj/item/reagent_containers/hypospray,
|
||||
/obj/item/reagent_containers/pill,
|
||||
/obj/item/reagent_containers/syringe,
|
||||
@@ -569,6 +570,7 @@
|
||||
/obj/item/reagent_containers/dropper,
|
||||
/obj/item/reagent_containers/cup/beaker,
|
||||
/obj/item/reagent_containers/cup/bottle,
|
||||
/obj/item/reagent_containers/cup/tube,
|
||||
/obj/item/reagent_containers/hypospray,
|
||||
/obj/item/reagent_containers/pill,
|
||||
/obj/item/reagent_containers/syringe,
|
||||
|
||||
@@ -422,10 +422,10 @@
|
||||
reagents.trans_to(P, vol_each, transfered_by = usr)
|
||||
return TRUE
|
||||
if(item_type == "bottle")
|
||||
var/obj/item/reagent_containers/cup/bottle/P
|
||||
var/obj/item/reagent_containers/cup/tube/P
|
||||
for(var/i in 1 to amount)
|
||||
P = new/obj/item/reagent_containers/cup/bottle(drop_location())
|
||||
P.name = trim("[name] bottle")
|
||||
P = new/obj/item/reagent_containers/cup/tube(drop_location())
|
||||
P.name = trim("[name] test tube")
|
||||
adjust_item_drop_location(P)
|
||||
reagents.trans_to(P, vol_each, transfered_by = usr)
|
||||
return TRUE
|
||||
|
||||
@@ -201,14 +201,14 @@
|
||||
use_power(active_power_usage)
|
||||
adv_disease = adv_disease.Copy()
|
||||
var/list/data = list("viruses" = list(adv_disease))
|
||||
var/obj/item/reagent_containers/cup/bottle/bottle = new(drop_location())
|
||||
bottle.name = "[adv_disease.name] culture bottle"
|
||||
bottle.desc = "A small bottle. Contains [adv_disease.agent] culture in synthblood medium."
|
||||
var/obj/item/reagent_containers/cup/tube/bottle = new(drop_location())
|
||||
bottle.name = "[adv_disease.name] culture tube"
|
||||
bottle.desc = "A small test tube containing [adv_disease.agent] culture in synthblood medium."
|
||||
bottle.reagents.add_reagent(/datum/reagent/blood, 20, data)
|
||||
wait = TRUE
|
||||
update_appearance()
|
||||
var/turf/source_turf = get_turf(src)
|
||||
log_virus("A culture bottle was printed for the virus [adv_disease.admin_details()] at [loc_name(source_turf)] by [key_name(usr)]")
|
||||
log_virus("A culture tube was printed for the virus [adv_disease.admin_details()] at [loc_name(source_turf)] by [key_name(usr)]")
|
||||
addtimer(CALLBACK(src, PROC_REF(reset_replicator_cooldown)), 5 SECONDS)
|
||||
return TRUE
|
||||
|
||||
@@ -223,8 +223,8 @@
|
||||
use_power(active_power_usage)
|
||||
var/id = index
|
||||
var/datum/disease/disease = SSdisease.archive_diseases[id]
|
||||
var/obj/item/reagent_containers/cup/bottle/bottle = new(drop_location())
|
||||
bottle.name = "[disease.name] vaccine bottle"
|
||||
var/obj/item/reagent_containers/cup/tube/bottle = new(drop_location())
|
||||
bottle.name = "[disease.name] vaccine tube"
|
||||
bottle.reagents.add_reagent(/datum/reagent/vaccine, 15, list(id))
|
||||
wait = TRUE
|
||||
update_appearance()
|
||||
|
||||
@@ -559,3 +559,15 @@
|
||||
volume = 240
|
||||
icon_state = "coffeepot_bluespace"
|
||||
fill_icon_thresholds = list(0)
|
||||
|
||||
///Test tubes created by chem master and pandemic and placed in racks
|
||||
/obj/item/reagent_containers/cup/tube
|
||||
name = "tube"
|
||||
desc = "A small test tube."
|
||||
icon_state = "test_tube"
|
||||
fill_icon_state = "tube"
|
||||
inhand_icon_state = "atoxinbottle"
|
||||
worn_icon_state = "test_tube"
|
||||
possible_transfer_amounts = list(5, 10, 15, 30)
|
||||
volume = 30
|
||||
fill_icon_thresholds = list(0, 1, 20, 40, 60, 80, 100)
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
fill_icon_state = "bottle"
|
||||
inhand_icon_state = "atoxinbottle"
|
||||
worn_icon_state = "bottle"
|
||||
possible_transfer_amounts = list(5, 10, 15, 25, 30)
|
||||
volume = 30
|
||||
possible_transfer_amounts = list(5, 10, 15, 25, 50)
|
||||
volume = 50
|
||||
fill_icon_thresholds = list(0, 1, 20, 40, 60, 80, 100)
|
||||
|
||||
/obj/item/reagent_containers/cup/bottle/Initialize(mapload)
|
||||
@@ -62,7 +62,6 @@
|
||||
/obj/item/reagent_containers/cup/bottle/phlogiston
|
||||
name = "Phlogiston bottle"
|
||||
desc = "A small bottle of Phlogiston, that will set you on fire if used."
|
||||
volume = 50
|
||||
list_reagents = list(/datum/reagent/phlogiston = 30)
|
||||
|
||||
/obj/item/reagent_containers/cup/bottle/ammoniated_mercury
|
||||
@@ -473,7 +472,6 @@
|
||||
fill_icon_state = "syrup"
|
||||
fill_icon_thresholds = list(0, 20, 40, 60, 80, 100)
|
||||
possible_transfer_amounts = list(5, 10)
|
||||
volume = 50
|
||||
amount_per_transfer_from_this = 5
|
||||
spillable = FALSE
|
||||
///variable to tell if the bottle can be refilled
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 65 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 7.8 KiB |
@@ -319,9 +319,9 @@ const PackagingControls = (props, context) => {
|
||||
)}
|
||||
{!condi && (
|
||||
<PackagingControlsItem
|
||||
label="Bottles"
|
||||
label="Tubes"
|
||||
amount={bottleAmount}
|
||||
amountUnit="bottles"
|
||||
amountUnit="tubes"
|
||||
sideNote="max 30u"
|
||||
onChangeAmount={(e, value) => setBottleAmount(value)}
|
||||
onCreate={() =>
|
||||
|
||||
Reference in New Issue
Block a user