diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 32d65041bc..8526727464 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -388,6 +388,8 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( \ new/datum/stack_recipe("mining satchel", /obj/item/storage/bag/ore, 4), \ new/datum/stack_recipe("chemistry bag", /obj/item/storage/bag/chemistry, 4), \ new/datum/stack_recipe("bio bag", /obj/item/storage/bag/bio, 4), \ + new/datum/stack_recipe("material bag", /obj/item/storage/bag/material, 4), \ + new/datum/stack_recipe("construction bag", /obj/item/storage/bag/construction, 4), \ null, \ new/datum/stack_recipe("string", /obj/item/weaponcrafting/string, 1, time = 10), \ new/datum/stack_recipe("improvised gauze", /obj/item/stack/medical/gauze/improvised, 1, 2, 6), \ diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm index ab1aab32a0..3dd48237d6 100644 --- a/code/game/objects/items/storage/bags.dm +++ b/code/game/objects/items/storage/bags.dm @@ -457,6 +457,9 @@ STR.display_numerical_stacking = FALSE STR.can_hold = typecacheof(list(/obj/item/ammo_box/magazine, /obj/item/ammo_casing)) +/* +Bag for holding materials +*/ /obj/item/storage/bag/material name = "material pouch" desc = "A pouch for sheets and RCD ammunition that manages to hang where you would normally put things in your pocket." @@ -474,3 +477,24 @@ STR.max_items = 2 STR.display_numerical_stacking = TRUE STR.can_hold = typecacheof(list(/obj/item/rcd_ammo, /obj/item/stack/sheet)) + +/* + * Construction bag (for engineering, holds stock parts and electronics) + */ + +/obj/item/storage/bag/construction + name = "construction bag" + icon = 'icons/obj/tools.dmi' + icon_state = "construction_bag" + desc = "A bag for storing small construction components." + w_class = WEIGHT_CLASS_TINY + resistance_flags = FLAMMABLE + +/obj/item/storage/bag/construction/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_combined_w_class = 100 + STR.max_items = 50 + STR.max_w_class = WEIGHT_CLASS_SMALL + STR.insert_preposition = "in" + STR.can_hold = typecacheof(list(/obj/item/stack/ore/bluespace_crystal, /obj/item/assembly, /obj/item/stock_parts, /obj/item/reagent_containers/glass/beaker, /obj/item/stack/cable_coil, /obj/item/circuitboard, /obj/item/electronics,/obj/item/wallframe/camera)) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm index 05798df953..3cbeae1ce8 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm @@ -30,6 +30,8 @@ new /obj/item/construction/rcd/loaded/upgraded(src) new /obj/item/clothing/suit/hooded/wintercoat/ce(src) new /obj/item/clothing/head/beret/ce/white(src) + new /obj/item/storage/bag/construction(src) + new /obj/item/storage/bag/material(src) /obj/structure/closet/secure_closet/engineering_electrical name = "electrical supplies locker" @@ -78,6 +80,8 @@ new /obj/item/clothing/glasses/meson/engine(src) new /obj/item/storage/box/emptysandbags(src) new /obj/item/cartridge/engineering(src) + new /obj/item/storage/bag/construction(src) + new /obj/item/storage/bag/material(src) /obj/structure/closet/secure_closet/atmospherics name = "\proper atmospheric technician's locker" @@ -99,6 +103,8 @@ new /obj/item/clothing/glasses/meson/engine/tray(src) new /obj/item/extinguisher/advanced(src) new /obj/item/cartridge/atmos(src) + new /obj/item/storage/bag/construction(src) + new /obj/item/storage/bag/material(src) /* * Empty lockers diff --git a/icons/obj/tools.dmi b/icons/obj/tools.dmi index 0a457777c2..8414c8b95c 100644 Binary files a/icons/obj/tools.dmi and b/icons/obj/tools.dmi differ