diff --git a/code/game/machinery/biogenerator.dm b/code/game/machinery/biogenerator.dm index 34fa34e1188..c91fa3a8597 100644 --- a/code/game/machinery/biogenerator.dm +++ b/code/game/machinery/biogenerator.dm @@ -176,7 +176,9 @@ dat += "Wallet: Make ([100/efficiency])
" dat += "Book bag: Make ([200/efficiency])
" dat += "Plant bag: Make ([200/efficiency])
" + dat += "Rag: Make ([200/efficiency])
" dat += "Mining satchel: Make ([200/efficiency])
" + dat += "Chemistry bag: Make ([200/efficiency])
" dat += "Botanical gloves: Make ([250/efficiency])
" dat += "Leather Satchel: Make ([400/efficiency])
" dat += "Cash Bag: Make ([400/efficiency])
" @@ -303,6 +305,12 @@ if("mnbag") if (check_cost(200/efficiency)) return 0 else new/obj/item/weapon/storage/bag/ore(src.loc) + if("chbag") + if (check_cost(200/efficiency)) return 0 + else new/obj/item/weapon/storage/bag/chemistry(src.loc) + if("rag") + if (check_cost(200/efficiency)) return 0 + else new/obj/item/weapon/reagent_containers/glass/rag(src.loc) if("gloves") if (check_cost(250/efficiency)) return 0 else new/obj/item/clothing/gloves/botanic_leather(src.loc) diff --git a/code/game/machinery/kitchen/monkeyrecycler.dm b/code/game/machinery/kitchen/monkeyrecycler.dm index 810143f6583..cb8947d20a5 100644 --- a/code/game/machinery/kitchen/monkeyrecycler.dm +++ b/code/game/machinery/kitchen/monkeyrecycler.dm @@ -80,7 +80,7 @@ playsound(src.loc, 'sound/machines/hiss.ogg', 50, 1) grinded -= required_grind for(var/i = 0, i < cube_production, i++) // Forgot to fix this bit the first time through - new /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped(src.loc) + new /obj/item/weapon/reagent_containers/food/snacks/monkeycube(src.loc) user << "The machine's display flashes that it has [grinded] monkey\s worth of material left." else // I'm not sure if the \s macro works with a word in between; I'll play it safe user << "The machine needs at least [required_grind] monkey\s worth of material to compress [cube_production] monkey\s. It only has [grinded]." diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm index bd4dd452887..4e9d555f768 100644 --- a/code/game/objects/items/weapons/storage/bags.dm +++ b/code/game/objects/items/weapons/storage/bags.dm @@ -450,3 +450,32 @@ user.visible_message("\blue [user] drops all the items on their tray.") return ..() + + +/* + * Chemistry bag + */ + +/obj/item/weapon/storage/bag/chemistry + name = "chemistry bag" + icon = 'icons/obj/chemical.dmi' + icon_state = "bag" + desc = "A bag for storing pills, patches, and bottles." + storage_slots = 50 + max_combined_w_class = 200 + w_class = 1 + can_hold = list("/obj/item/weapon/reagent_containers/pill","/obj/item/weapon/reagent_containers/glass/beaker","/obj/item/weapon/reagent_containers/glass/bottle") + +/* + * Biowaste bag (mostly for xenobiologists) + */ + +/obj/item/weapon/storage/bag/bio + name = "bio bag" + icon = 'icons/obj/chemical.dmi' + icon_state = "biobag" + desc = "A bag for the safe transportation and disposal of biowaste and other biological materials." + storage_slots = 25 + max_combined_w_class = 200 + w_class = 1 + can_hold = list("/obj/item/slime_extract","/obj/item/weapon/reagent_containers/food/snacks/monkeycube","/obj/item/weapon/reagent_containers/syringe","/obj/item/weapon/reagent_containers/glass/beaker","/obj/item/weapon/reagent_containers/glass/bottle","/obj/item/weapon/reagent_containers/blood","/obj/item/weapon/reagent_containers/hypospray/autoinjector") \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/closets/l3closet.dm b/code/game/objects/structures/crates_lockers/closets/l3closet.dm index 97062911dd8..5100e2170f0 100644 --- a/code/game/objects/structures/crates_lockers/closets/l3closet.dm +++ b/code/game/objects/structures/crates_lockers/closets/l3closet.dm @@ -8,6 +8,7 @@ /obj/structure/closet/l3closet/New() ..() sleep(2) + new /obj/item/weapon/storage/bag/bio( src ) new /obj/item/clothing/suit/bio_suit/general( src ) new /obj/item/clothing/head/bio_hood/general( src ) @@ -34,6 +35,7 @@ ..() sleep(2) contents = list() + new /obj/item/weapon/storage/bag/bio( src ) new /obj/item/clothing/suit/bio_suit/virology( src ) new /obj/item/clothing/head/bio_hood/virology( src ) new /obj/item/clothing/mask/breath(src) @@ -75,5 +77,6 @@ ..() sleep(2) contents = list() + new /obj/item/weapon/storage/bag/bio( src ) new /obj/item/clothing/suit/bio_suit/scientist( src ) new /obj/item/clothing/head/bio_hood/scientist( src ) \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm index 08130cac90a..b5680be43bc 100644 --- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm +++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm @@ -373,6 +373,10 @@ new /obj/item/clothing/shoes/white(src) new /obj/item/clothing/suit/storage/labcoat/chemist(src) new /obj/item/clothing/suit/storage/labcoat/chemist(src) + new /obj/item/weapon/storage/backpack/satchel_chem(src) + new /obj/item/weapon/storage/backpack/satchel_chem(src) + new /obj/item/weapon/storage/bag/chemistry(src) + new /obj/item/weapon/storage/bag/chemistry(src) return diff --git a/code/modules/mob/living/carbon/metroid/metroid.dm b/code/modules/mob/living/carbon/metroid/metroid.dm index d6c1e083176..6e1a3616a4c 100644 --- a/code/modules/mob/living/carbon/metroid/metroid.dm +++ b/code/modules/mob/living/carbon/metroid/metroid.dm @@ -602,6 +602,8 @@ mob/living/carbon/slime/var/temperature_resistance = T0C+75 Uses = 3 enhanced = 1 qdel(O) + if(istype(O,/obj/item/weapon/storage/bag)) + ..() /obj/item/slime_extract/New() ..() diff --git a/code/modules/reagents/reagent_containers/glass_containers.dm b/code/modules/reagents/reagent_containers/glass_containers.dm index 1245bfe4e01..3e64245d2c5 100644 --- a/code/modules/reagents/reagent_containers/glass_containers.dm +++ b/code/modules/reagents/reagent_containers/glass_containers.dm @@ -161,7 +161,8 @@ user << "\blue You set the label to \"[tmp_label]\"." src.label_text = tmp_label src.update_name_label() - + if(istype(I,/obj/item/weapon/storage/bag)) + ..() proc/update_name_label() if(src.label_text == "") diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 2a0d82d3a03..a9bbdb68de6 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -46,7 +46,8 @@ attackby(obj/item/I as obj, mob/user as mob, params) - + if(istype(I,/obj/item/weapon/storage/bag)) + ..() return afterattack(obj/target, mob/user, proximity) diff --git a/icons/obj/chemical.dmi b/icons/obj/chemical.dmi index b00fca709c5..afe27ae192d 100644 Binary files a/icons/obj/chemical.dmi and b/icons/obj/chemical.dmi differ