From 35cb1b25308acfeee76d5bb031ba15ef3cd7e8d5 Mon Sep 17 00:00:00 2001 From: "johnsonmt88@gmail.com" Date: Sun, 2 Dec 2012 19:00:33 +0000 Subject: [PATCH] Removed storage.dm from defines and moved the storage item defines to the location of their respective procs. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5252 316c924e-a436-60f5-8080-3fe189b3f50e --- code/defines/obj/storage.dm | 587 ------------------ .../objects/items/weapons/storage/backpack.dm | 148 ++++- .../objects/items/weapons/storage/bible.dm | 16 + .../objects/items/weapons/storage/boxes.dm | 83 +++ .../items/weapons/storage/briefcase.dm | 12 + .../objects/items/weapons/storage/firstaid.dm | 271 +++++--- .../game/objects/items/weapons/storage/kit.dm | 537 ++++++++++------ .../items/weapons/storage/mining_satchel.dm | 18 + .../objects/items/weapons/storage/misc.dm | 21 +- .../objects/items/weapons/storage/storage.dm | 163 +---- .../objects/items/weapons/storage/toolbox.dm | 125 ++-- .../objects/items/weapons/storage/wallets.dm | 72 +++ .../crates_lockers/closets/syndicate.dm | 85 +++ tgstation.dme | 224 ++++++- 14 files changed, 1266 insertions(+), 1096 deletions(-) delete mode 100644 code/defines/obj/storage.dm create mode 100644 code/game/objects/items/weapons/storage/boxes.dm create mode 100644 code/game/objects/items/weapons/storage/mining_satchel.dm create mode 100644 code/game/objects/items/weapons/storage/wallets.dm diff --git a/code/defines/obj/storage.dm b/code/defines/obj/storage.dm deleted file mode 100644 index a5f5446794..0000000000 --- a/code/defines/obj/storage.dm +++ /dev/null @@ -1,587 +0,0 @@ -/obj/item/weapon/storage/backpack - name = "backpack" - desc = "You wear this on your back and put items into it." - icon_state = "backpack" - item_state = "backpack" - w_class = 4.0 - flags = FPRINT|TABLEPASS - slot_flags = SLOT_BACK //ERROOOOO - max_w_class = 3 - max_combined_w_class = 21 - -/obj/item/weapon/storage/backpack/cultpack - name = "trophy rack" - desc = "It's useful for both carrying extra gear and proudly declaring your insanity." - icon_state = "cultpack" - -/* -/obj/item/weapon/storage/lbe - name = "Load Bearing Equipment" - desc = "You wear these on your thighs, they help carry heavy loads." - icon_state = "backpack" //PLACEHOLDER - w_class = 2.0 - max_combined_w_class = 17 -*/ - -/obj/item/weapon/storage/pill_bottle - name = "pill bottle" - desc = "It's an airtight container for storing medication." - icon_state = "pill_canister" - icon = 'icons/obj/chemical.dmi' - item_state = "contsolid" - w_class = 2.0 - can_hold = list("/obj/item/weapon/reagent_containers/pill") - var/mode = 1 // pickup mode - -/obj/item/weapon/storage/dice - name = "pack of dice" - desc = "It's a small container with dice inside." - icon_state = "pill_canister" - icon = 'icons/obj/chemical.dmi' - item_state = "contsolid" - w_class = 2.0 - can_hold = list("/obj/item/weapon/dice") - -/obj/item/weapon/storage/box - name = "box" - desc = "It's just an ordinary box." - icon_state = "box" - item_state = "syringe_kit" - -/obj/item/weapon/storage/box/engineer - -/obj/item/weapon/storage/box/syndicate - -/obj/item/weapon/storage/cupbox - name = "box of paper cups" - desc = "It has pictures of paper cups on the front." - icon_state = "box" - item_state = "syringe_kit" - foldable = /obj/item/stack/sheet/cardboard //BubbleWrap - New() - ..() - new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src ) - new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src ) - new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src ) - new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src ) - new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src ) - new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src ) - new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src ) - -/obj/item/weapon/storage/pillbottlebox - name = "box of pill bottles" - desc = "It has pictures of pill bottles on its front." - icon_state = "pillbox" - item_state = "syringe_kit" - foldable = /obj/item/stack/sheet/cardboard //BubbleWrap - -/obj/item/weapon/storage/blankbox - name = "box of blank shells" - desc = "It has a picture of a gun and several warning symbols on the front." - icon_state = "box" - item_state = "syringe_kit" - foldable = /obj/item/stack/sheet/cardboard //BubbleWrap - -/obj/item/weapon/storage/backpack/clown - name = "Giggles Von Honkerton" - desc = "It's a backpack made by Honk! Co." - icon_state = "clownpack" - item_state = "clownpack" - -/obj/item/weapon/storage/backpack/medic - name = "medical backpack" - desc = "It's a backpack especially designed for use in a sterile environment." - icon_state = "medicalpack" - item_state = "medicalpack" - -/obj/item/weapon/storage/backpack/security - name = "security backpack" - desc = "It's a very robust backpack." - icon_state = "securitypack" - item_state = "securitypack" - -/obj/item/weapon/storage/backpack/captain - name = "captain's backpack" - desc = "It's a special backpack made exclusively for Nanotrasen officers." - icon_state = "captainpack" - item_state = "captainpack" - -/obj/item/weapon/storage/backpack/satchel - name = "leather satchel" - desc = "It's a very fancy satchel made with fine leather." - icon_state = "satchel" - -/obj/item/weapon/storage/backpack/satchel/withwallet - New() - ..() - new /obj/item/weapon/storage/wallet/random( src ) - -// Belt Bags/Satchels - -/obj/item/weapon/storage/backpack/satchel_norm - name = "satchel" - desc = "A trendy looking satchel." - icon_state = "satchel-norm" - -/obj/item/weapon/storage/backpack/satchel_eng - name = "industrial satchel" - desc = "A tough satchel with extra pockets." - icon_state = "satchel-eng" - item_state = "engiepack" - -/obj/item/weapon/storage/backpack/satchel_med - name = "medical satchel" - desc = "A sterile satchel used in medical departments." - icon_state = "satchel-med" - item_state = "medicalpack" - -/obj/item/weapon/storage/backpack/satchel_vir - name = "virologist satchel" - desc = "A sterile satchel with virologist colours." - icon_state = "satchel-vir" - -/obj/item/weapon/storage/backpack/satchel_chem - name = "chemist satchel" - desc = "A sterile satchel with chemist colours." - icon_state = "satchel-chem" - -/obj/item/weapon/storage/backpack/satchel_gen - name = "geneticist satchel" - desc = "A sterile satchel with geneticist colours." - icon_state = "satchel-gen" - -/obj/item/weapon/storage/backpack/satchel_tox - name = "scientist satchel" - desc = "Useful for holding research materials." - icon_state = "satchel-tox" - -/obj/item/weapon/storage/backpack/satchel_sec - name = "security satchel" - desc = "A robust satchel for security related needs." - icon_state = "satchel-sec" - item_state = "securitypack" - -/obj/item/weapon/storage/backpack/satchel_hyd - name = "hydroponics satchel" - desc = "A green satchel for plant related work." - icon_state = "satchel_hyd" - -/obj/item/weapon/storage/backpack/satchel_cap - name = "captain's satchel" - desc = "An exclusive satchel for Nanotrasen officers." - icon_state = "satchel-cap" - item_state = "captainpack" - -/obj/item/weapon/storage/backpack/industrial - name = "industrial backpack" - desc = "It's a tough backpack for the daily grind of station life." - icon_state = "engiepack" - item_state = "engiepack" - -/obj/item/weapon/storage/briefcase - name = "briefcase" - desc = "It's made of AUTHENTIC faux-leather and has a price-tag still attached. Its owner must be a real professional." - icon_state = "briefcase" - flags = FPRINT | TABLEPASS| CONDUCT - force = 8.0 - throw_speed = 1 - throw_range = 4 - w_class = 4.0 - max_w_class = 3 - max_combined_w_class = 16 - -/obj/item/weapon/storage/wallet - name = "wallet" - desc = "It can hold a few small and personal things." - storage_slots = 4 - icon_state = "wallet" - w_class = 2 - can_hold = list( - "/obj/item/weapon/spacecash", - "/obj/item/weapon/card", - "/obj/item/clothing/mask/cigarette", - "/obj/item/device/flashlight/pen", - "/obj/item/seeds", - "/obj/item/stack/medical", - "/obj/item/toy/crayon", - "/obj/item/weapon/coin", - "/obj/item/weapon/dice", - "/obj/item/weapon/disk", - "/obj/item/weapon/implanter", - "/obj/item/weapon/lighter", - "/obj/item/weapon/match", - "/obj/item/weapon/paper", - "/obj/item/weapon/pen", - "/obj/item/weapon/photo", - "/obj/item/weapon/reagent_containers/dropper", - "/obj/item/weapon/screwdriver", - "/obj/item/weapon/stamp") - - attackby(obj/item/A as obj, mob/user as mob) - ..() - update_icon() - return - - update_icon() - for(var/obj/item/weapon/card/id/ID in contents) - switch(ID.icon_state) - if("id") - icon_state = "walletid" - return - if("silver") - icon_state = "walletid_silver" - return - if("gold") - icon_state = "walletid_gold" - return - if("centcom") - icon_state = "walletid_centcom" - return - icon_state = "wallet" - - - - proc/get_id() - for(var/obj/item/weapon/card/id/ID in contents) - if(istype(ID)) - return ID - -/obj/item/weapon/storage/wallet/random/New() - ..() - var/item1_type = pick( /obj/item/weapon/spacecash/c10,/obj/item/weapon/spacecash/c100,/obj/item/weapon/spacecash/c1000,/obj/item/weapon/spacecash/c20,/obj/item/weapon/spacecash/c200,/obj/item/weapon/spacecash/c50, /obj/item/weapon/spacecash/c500) - var/item2_type - if(prob(50)) - item2_type = pick( /obj/item/weapon/spacecash/c10,/obj/item/weapon/spacecash/c100,/obj/item/weapon/spacecash/c1000,/obj/item/weapon/spacecash/c20,/obj/item/weapon/spacecash/c200,/obj/item/weapon/spacecash/c50, /obj/item/weapon/spacecash/c500) - var/item3_type = pick( /obj/item/weapon/coin/silver, /obj/item/weapon/coin/silver, /obj/item/weapon/coin/gold, /obj/item/weapon/coin/iron, /obj/item/weapon/coin/iron, /obj/item/weapon/coin/iron ) - - spawn(2) - if(item1_type) - new item1_type(src) - if(item2_type) - new item2_type(src) - if(item3_type) - new item3_type(src) - - -/obj/item/weapon/storage/disk_kit - name = "box of data disks" - desc = "It has a picture of a data disk on it." - icon_state = "id" - item_state = "syringe_kit" - foldable = /obj/item/stack/sheet/cardboard //BubbleWrap - -/obj/item/weapon/storage/disk_kit/disks - -/obj/item/weapon/storage/disk_kit/disks2 - -/obj/item/weapon/storage/fcard_kit - name = "box of fingerprint cards" - desc = "It has a picture of a fingerprint on each of its faces." - icon_state = "id" - item_state = "syringe_kit" - -/obj/item/weapon/storage/firstaid - name = "first-aid kit" - desc = "It's an emergency medical kit for those serious boo-boos." - icon_state = "firstaid" - throw_speed = 2 - throw_range = 8 - var/empty = 0 - -/obj/item/weapon/storage/firstaid/fire - name = "fire first-aid kit" - desc = "It's an emergency medical kit for when the toxins lab -spontaneously- burns down." - icon_state = "ointment" - item_state = "firstaid-ointment" - -/obj/item/weapon/storage/firstaid/regular - icon_state = "firstaid" - -/obj/item/weapon/storage/syringes - name = "syringes" - desc = "A box full of syringes." - desc = "A biohazard alert warning is printed on the box" - icon_state = "syringe" - foldable = /obj/item/stack/sheet/cardboard //BubbleWrap - -/obj/item/weapon/storage/firstaid/toxin - name = "toxin first aid" - desc = "Used to treat when you have a high amoutn of toxins in your body." - icon_state = "antitoxin" - item_state = "firstaid-toxin" - -/obj/item/weapon/storage/firstaid/o2 - name = "oxygen deprivation first aid" - desc = "A box full of oxygen goodies." - icon_state = "o2" - item_state = "firstaid-o2" - -/obj/item/weapon/storage/flashbang_kit - name = "flashbangs (WARNING)" - desc = "WARNING: These devices are extremely dangerous and can cause blindness or deafness in repeated use." - icon_state = "flashbang" - item_state = "syringe_kit" - foldable = /obj/item/stack/sheet/cardboard //BubbleWrap - -/obj/item/weapon/storage/emp_kit - name = "emp grenades" - desc = "A box with 5 emp grenades." - icon_state = "flashbang" - item_state = "syringe_kit" - foldable = /obj/item/stack/sheet/cardboard //BubbleWrap - -/obj/item/weapon/storage/gl_kit - name = "Prescription Glasses" - desc = "This box contains nerd glasses." - icon_state = "glasses" - item_state = "syringe_kit" - foldable = /obj/item/stack/sheet/cardboard //BubbleWrap - -/obj/item/weapon/storage/seccart_kit - name = "Spare R.O.B.U.S.T. Cartridges" - desc = "A box full of R.O.B.U.S.T. Cartridges, used by Security." - icon = 'icons/obj/pda.dmi' - icon_state = "pdabox" - item_state = "syringe_kit" - foldable = /obj/item/stack/sheet/cardboard //BubbleWrap - -/obj/item/weapon/storage/handcuff_kit - name = "Spare Handcuffs" - desc = "A box full of handcuffs." - icon_state = "handcuff" - item_state = "syringe_kit" - foldable = /obj/item/stack/sheet/cardboard //BubbleWrap - -/obj/item/weapon/storage/id_kit - name = "Spare IDs" - desc = "Has so many empty IDs." - icon_state = "id" - item_state = "syringe_kit" - foldable = /obj/item/stack/sheet/cardboard //BubbleWrap - -/obj/item/weapon/storage/lglo_kit - name = "Latex Gloves" - desc = "Contains white gloves." - icon_state = "latex" - item_state = "syringe_kit" - foldable = /obj/item/stack/sheet/cardboard //BubbleWrap - -/obj/item/weapon/storage/injectbox - name = "DNA-Injectors" - desc = "This box contains injectors it seems." - icon_state = "box" - item_state = "syringe_kit" - foldable = /obj/item/stack/sheet/cardboard //BubbleWrap - -/obj/item/weapon/storage/stma_kit - name = "Sterile Masks" - desc = "This box contains masks of sterility." - icon_state = "sterile" - item_state = "syringe_kit" - foldable = /obj/item/stack/sheet/cardboard //BubbleWrap - -/obj/item/weapon/storage/trackimp_kit - name = "Tracking Implant Kit" - desc = "Box full of scum-bag tracking utensils." - icon_state = "implant" - item_state = "syringe_kit" - foldable = /obj/item/stack/sheet/cardboard //BubbleWrap - -/obj/item/weapon/storage/chemimp_kit - name = "Chemical Implant Kit" - desc = "Box of stuff used to implant chemicals." - icon_state = "implant" - item_state = "syringe_kit" - foldable = /obj/item/stack/sheet/cardboard //BubbleWrap - -/obj/item/weapon/storage/toolbox - name = "toolbox" - desc = "Danger. Very robust." - icon = 'icons/obj/storage.dmi' - icon_state = "red" - item_state = "toolbox_red" - flags = FPRINT | TABLEPASS| CONDUCT - force = 5.0 - throwforce = 10.0 - throw_speed = 1 - throw_range = 7 - w_class = 4.0 - origin_tech = "combat=1" - attack_verb = list("robusted") - -/obj/item/weapon/storage/toolbox/emergency - name = "emergency toolbox" - icon_state = "red" - item_state = "toolbox_red" - -/obj/item/weapon/storage/toolbox/mechanical - name = "mechanical toolbox" - icon_state = "blue" - item_state = "toolbox_blue" - -/obj/item/weapon/storage/toolbox/electrical - name = "electrical toolbox" - icon_state = "yellow" - item_state = "toolbox_yellow" - -/obj/item/weapon/storage/toolbox/syndicate - name = "suspicious looking toolbox" - icon_state = "syndicate" - item_state = "toolbox_syndi" - origin_tech = "combat=1;syndicate=1" - force = 7.0 - -/obj/item/weapon/storage/bible - name = "bible" - desc = "Apply to head repeatedly." - icon_state ="bible" - throw_speed = 1 - throw_range = 5 - w_class = 3.0 - flags = FPRINT | TABLEPASS - var/mob/affecting = null - var/deity_name = "Christ" - -/obj/item/weapon/storage/bible/booze - name = "bible" - desc = "To be applied to the head repeatedly." - icon_state ="bible" - -/obj/item/weapon/storage/mousetraps - name = "box of Pest-B-Gon Mousetraps" - desc = "WARNING: Keep out of reach of children." - icon_state = "mousetraps" - item_state = "syringe_kit" - foldable = /obj/item/stack/sheet/cardboard //BubbleWrap - -/obj/item/weapon/storage/donkpocket_kit - name = "box of donk-pockets" - desc = "Instructions: Heat in microwave. Product will cool if not eaten within seven minutes." - icon_state = "donk_kit" - item_state = "syringe_kit" - foldable = /obj/item/stack/sheet/cardboard //BubbleWrap - -/obj/item/weapon/storage/condimentbottles - name = "box of condiment bottles" - desc = "It has a large ketchup smear on it." - icon_state = "box" - item_state = "syringe_kit" - foldable = /obj/item/stack/sheet/cardboard //BubbleWrap - -/obj/item/weapon/storage/drinkingglasses - name = "box of drinking glasses" - desc = "It has a picture of drinking glasses on it." - icon_state = "box" - item_state = "syringe_kit" - - - - -/obj/structure/closet/syndicate/resources/ - desc = "An old, dusty locker." - -/obj/structure/closet/syndicate/resources/New() - ..() - var/common_min = 30 //Minimum amount of minerals in the stack for common minerals - var/common_max = 50 //Maximum amount of HONK in the stack for HONK common minerals - var/rare_min = 5 //Minimum HONK of HONK in the stack HONK HONK rare minerals - var/rare_max = 20 //Maximum HONK HONK HONK in the HONK for HONK rare HONK - - - sleep(2) - - var/pickednum = rand(1, 50) - - //Sad trombone - if(pickednum == 1) - var/obj/item/weapon/paper/P = new /obj/item/weapon/paper(src) - P.name = "IOU" - P.info = "Sorry man, we needed the money so we sold your stash. It's ok, we'll double our money for sure this time!" - - //Metal (common ore) - if(pickednum >= 2) - new /obj/item/stack/sheet/metal(src, rand(common_min, common_max)) - - //Glass (common ore) - if(pickednum >= 5) - new /obj/item/stack/sheet/glass(src, rand(common_min, common_max)) - - //Plasteel (common ore) Because it has a million more uses then plasma - if(pickednum >= 10) - new /obj/item/stack/sheet/plasteel(src, rand(common_min, common_max)) - - //Plasma (rare ore) - if(pickednum >= 15) - new /obj/item/stack/sheet/mineral/plasma(src, rand(rare_min, rare_max)) - - //Silver (rare ore) - if(pickednum >= 20) - new /obj/item/stack/sheet/mineral/silver(src, rand(rare_min, rare_max)) - - //Gold (rare ore) - if(pickednum >= 30) - new /obj/item/stack/sheet/mineral/gold(src, rand(rare_min, rare_max)) - - //Uranium (rare ore) - if(pickednum >= 40) - new /obj/item/stack/sheet/mineral/uranium(src, rand(rare_min, rare_max)) - - //Diamond (rare HONK) - if(pickednum >= 45) - new /obj/item/stack/sheet/mineral/diamond(src, rand(rare_min, rare_max)) - - //Jetpack (You hit the jackpot!) - if(pickednum == 50) - new /obj/item/weapon/tank/jetpack/carbondioxide(src) - - return - -/obj/structure/closet/syndicate/resources/everything - desc = "It's an emergency storage closet for repairs." - -/obj/structure/closet/syndicate/resources/everything/New() - - - var/list/resources = list( - - /obj/item/stack/sheet/metal, - /obj/item/stack/sheet/glass, - /obj/item/stack/sheet/mineral/gold, - /obj/item/stack/sheet/mineral/silver, - /obj/item/stack/sheet/mineral/plasma, - /obj/item/stack/sheet/mineral/uranium, - /obj/item/stack/sheet/mineral/diamond, - /obj/item/stack/sheet/mineral/clown, - /obj/item/stack/sheet/plasteel, - /obj/item/stack/rods - - ) - - sleep(2) - - for(var/i = 0, i<2, i++) - for(var/res in resources) - var/obj/item/stack/R = new res(src) - R.amount = R.max_amount - - return - - -/obj/item/weapon/storage/satchel - name = "Mining Satchel" - desc = "This little bugger can be used to store and transport ores." - icon = 'icons/obj/mining.dmi' - icon_state = "satchel" - slot_flags = SLOT_BELT | SLOT_POCKET - w_class = 3 - storage_slots = 50 - max_combined_w_class = 200 //Doesn't matter what this is, so long as it's more or equal to storage_slots * ore.w_class - use_to_pickup = 1 - max_w_class = 3 - display_contents_with_number = 1 - allow_quick_empty = 1 - allow_quick_gather = 1 - - can_hold = list( - "/obj/item/weapon/ore" - ) \ No newline at end of file diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm index 94a9642ac9..b14b9886d1 100644 --- a/code/game/objects/items/weapons/storage/backpack.dm +++ b/code/game/objects/items/weapons/storage/backpack.dm @@ -1,32 +1,32 @@ -/obj/item/weapon/storage/MouseDrop(obj/over_object as obj) - if (ishuman(usr) || ismonkey(usr)) //so monkeys can take off their backpacks -- Urist - var/mob/M = usr - if (!( istype(over_object, /obj/screen) )) - return ..() - if (!(src.loc == usr) || (src.loc && src.loc.loc == usr)) - return - playsound(src.loc, "rustle", 50, 1, -5) - if (!( M.restrained() ) && !( M.stat )) - switch(over_object.name) - if("r_hand") - M.u_equip(src) - M.put_in_r_hand(src) - if("l_hand") - M.u_equip(src) - M.put_in_l_hand(src) - src.add_fingerprint(usr) - return - if(over_object == usr && in_range(src, usr) || usr.contents.Find(src)) - if (usr.s_active) - usr.s_active.close(usr) - src.show_to(usr) - return - return +/* Backpacks + * Contains: + * Backpack + * Backpack Types + * Satchel Types + */ + +/* + * Backpack + */ + +/obj/item/weapon/storage/backpack + name = "backpack" + desc = "You wear this on your back and put items into it." + icon_state = "backpack" + item_state = "backpack" + w_class = 4.0 + flags = FPRINT|TABLEPASS + slot_flags = SLOT_BACK //ERROOOOO + max_w_class = 3 + max_combined_w_class = 21 /obj/item/weapon/storage/backpack/attackby(obj/item/weapon/W as obj, mob/user as mob) playsound(src.loc, "rustle", 50, 1, -5) ..() +/* + * Backpack Types + */ /obj/item/weapon/storage/backpack/holding name = "Bag of Holding" @@ -78,7 +78,105 @@ max_w_class = 3 max_combined_w_class = 400 // can store a ton of shit! +/obj/item/weapon/storage/backpack/cultpack + name = "trophy rack" + desc = "It's useful for both carrying extra gear and proudly declaring your insanity." + icon_state = "cultpack" + +/obj/item/weapon/storage/backpack/clown + name = "Giggles Von Honkerton" + desc = "It's a backpack made by Honk! Co." + icon_state = "clownpack" + item_state = "clownpack" + +/obj/item/weapon/storage/backpack/medic + name = "medical backpack" + desc = "It's a backpack especially designed for use in a sterile environment." + icon_state = "medicalpack" + item_state = "medicalpack" + +/obj/item/weapon/storage/backpack/security + name = "security backpack" + desc = "It's a very robust backpack." + icon_state = "securitypack" + item_state = "securitypack" + +/obj/item/weapon/storage/backpack/captain + name = "captain's backpack" + desc = "It's a special backpack made exclusively for Nanotrasen officers." + icon_state = "captainpack" + item_state = "captainpack" + +/obj/item/weapon/storage/backpack/industrial + name = "industrial backpack" + desc = "It's a tough backpack for the daily grind of station life." + icon_state = "engiepack" + item_state = "engiepack" + +/* + * Satchel Types + */ + +/obj/item/weapon/storage/backpack/satchel + name = "leather satchel" + desc = "It's a very fancy satchel made with fine leather." + icon_state = "satchel" + +/obj/item/weapon/storage/backpack/satchel/withwallet New() ..() - return + new /obj/item/weapon/storage/wallet/random( src ) +/obj/item/weapon/storage/backpack/satchel_norm + name = "satchel" + desc = "A trendy looking satchel." + icon_state = "satchel-norm" + +/obj/item/weapon/storage/backpack/satchel_eng + name = "industrial satchel" + desc = "A tough satchel with extra pockets." + icon_state = "satchel-eng" + item_state = "engiepack" + +/obj/item/weapon/storage/backpack/satchel_med + name = "medical satchel" + desc = "A sterile satchel used in medical departments." + icon_state = "satchel-med" + item_state = "medicalpack" + +/obj/item/weapon/storage/backpack/satchel_vir + name = "virologist satchel" + desc = "A sterile satchel with virologist colours." + icon_state = "satchel-vir" + +/obj/item/weapon/storage/backpack/satchel_chem + name = "chemist satchel" + desc = "A sterile satchel with chemist colours." + icon_state = "satchel-chem" + +/obj/item/weapon/storage/backpack/satchel_gen + name = "geneticist satchel" + desc = "A sterile satchel with geneticist colours." + icon_state = "satchel-gen" + +/obj/item/weapon/storage/backpack/satchel_tox + name = "scientist satchel" + desc = "Useful for holding research materials." + icon_state = "satchel-tox" + +/obj/item/weapon/storage/backpack/satchel_sec + name = "security satchel" + desc = "A robust satchel for security related needs." + icon_state = "satchel-sec" + item_state = "securitypack" + +/obj/item/weapon/storage/backpack/satchel_hyd + name = "hydroponics satchel" + desc = "A green satchel for plant related work." + icon_state = "satchel_hyd" + +/obj/item/weapon/storage/backpack/satchel_cap + name = "captain's satchel" + desc = "An exclusive satchel for Nanotrasen officers." + icon_state = "satchel-cap" + item_state = "captainpack" \ No newline at end of file diff --git a/code/game/objects/items/weapons/storage/bible.dm b/code/game/objects/items/weapons/storage/bible.dm index 25d1a52122..342fa2fd35 100644 --- a/code/game/objects/items/weapons/storage/bible.dm +++ b/code/game/objects/items/weapons/storage/bible.dm @@ -1,3 +1,19 @@ +/obj/item/weapon/storage/bible + name = "bible" + desc = "Apply to head repeatedly." + icon_state ="bible" + throw_speed = 1 + throw_range = 5 + w_class = 3.0 + flags = FPRINT | TABLEPASS + var/mob/affecting = null + var/deity_name = "Christ" + +/obj/item/weapon/storage/bible/booze + name = "bible" + desc = "To be applied to the head repeatedly." + icon_state ="bible" + /obj/item/weapon/storage/bible/booze/New() ..() new /obj/item/weapon/reagent_containers/food/drinks/beer(src) diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm new file mode 100644 index 0000000000..52c5f56324 --- /dev/null +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -0,0 +1,83 @@ +/obj/item/weapon/storage/box + name = "box" + desc = "It's just an ordinary box." + icon_state = "box" + item_state = "syringe_kit" + foldable = /obj/item/stack/sheet/cardboard //BubbleWrap + +/obj/item/weapon/storage/box/survival/ + New() + ..() + contents = list() + sleep(1) + new /obj/item/clothing/mask/breath( src ) + new /obj/item/weapon/tank/emergency_oxygen( src ) + return + +/obj/item/weapon/storage/box/engineer/ + New() + ..() + contents = list() + sleep(1) + new /obj/item/clothing/mask/breath( src ) + new /obj/item/weapon/tank/emergency_oxygen/engi( src ) + return + +/obj/item/weapon/storage/box/syndicate/ + New() + ..() + switch (pickweight(list("bloodyspai" = 1, "stealth" = 1, "screwed" = 1, "guns" = 1, "murder" = 1, "freedom" = 1, "hacker" = 1, "lordsingulo" = 1))) + if ("bloodyspai") + new /obj/item/clothing/under/chameleon(src) + new /obj/item/clothing/mask/gas/voice(src) + new /obj/item/weapon/card/id/syndicate(src) + new /obj/item/clothing/shoes/syndigaloshes(src) + return + + if ("stealth") + new /obj/item/weapon/gun/energy/crossbow(src) + new /obj/item/weapon/pen/paralysis(src) + new /obj/item/device/chameleon(src) + return + + if ("screwed") + new /obj/effect/spawner/newbomb/timer/syndicate(src) + new /obj/effect/spawner/newbomb/timer/syndicate(src) + new /obj/item/device/powersink(src) + new /obj/item/clothing/suit/space/syndicate(src) + new /obj/item/clothing/head/helmet/space/syndicate(src) + return + + if ("guns") + new /obj/item/weapon/gun/projectile(src) + new /obj/item/ammo_magazine/a357(src) + new /obj/item/weapon/card/emag(src) + new /obj/item/weapon/plastique(src) + return + + if ("murder") + new /obj/item/weapon/melee/energy/sword(src) + new /obj/item/clothing/glasses/thermal/syndi(src) + new /obj/item/weapon/card/emag(src) + new /obj/item/clothing/shoes/syndigaloshes(src) + return + + if("freedom") + var/obj/item/weapon/implanter/O = new /obj/item/weapon/implanter(src) + O.imp = new /obj/item/weapon/implant/freedom(O) + var/obj/item/weapon/implanter/U = new /obj/item/weapon/implanter(src) + U.imp = new /obj/item/weapon/implant/uplink(U) + return + + if ("hacker") + new /obj/item/weapon/aiModule/syndicate(src) + new /obj/item/weapon/card/emag(src) + new /obj/item/device/encryptionkey/binary(src) + return + + if ("lordsingulo") + new /obj/item/device/radio/beacon/syndicate(src) + new /obj/item/clothing/suit/space/syndicate(src) + new /obj/item/clothing/head/helmet/space/syndicate(src) + new /obj/item/weapon/card/emag(src) + return \ No newline at end of file diff --git a/code/game/objects/items/weapons/storage/briefcase.dm b/code/game/objects/items/weapons/storage/briefcase.dm index 8bd6758057..5d375ed0f6 100644 --- a/code/game/objects/items/weapons/storage/briefcase.dm +++ b/code/game/objects/items/weapons/storage/briefcase.dm @@ -1,3 +1,15 @@ +/obj/item/weapon/storage/briefcase + name = "briefcase" + desc = "It's made of AUTHENTIC faux-leather and has a price-tag still attached. Its owner must be a real professional." + icon_state = "briefcase" + flags = FPRINT | TABLEPASS| CONDUCT + force = 8.0 + throw_speed = 1 + throw_range = 4 + w_class = 4.0 + max_w_class = 3 + max_combined_w_class = 16 + /obj/item/weapon/storage/briefcase/New() ..() new /obj/item/weapon/paper(src) diff --git a/code/game/objects/items/weapons/storage/firstaid.dm b/code/game/objects/items/weapons/storage/firstaid.dm index f8b777bf3f..c4dde85013 100644 --- a/code/game/objects/items/weapons/storage/firstaid.dm +++ b/code/game/objects/items/weapons/storage/firstaid.dm @@ -1,111 +1,206 @@ +/* First aid storage + * Contains: + * First Aid Kits + * Syringe Kit + * Pill Bottles + */ -/obj/item/weapon/storage/firstaid/fire/New() - ..() - if (empty) return +/* + * First Aid Kits + */ +/obj/item/weapon/storage/firstaid + name = "first-aid kit" + desc = "It's an emergency medical kit for those serious boo-boos." + icon_state = "firstaid" + throw_speed = 2 + throw_range = 8 + var/empty = 0 - icon_state = pick("ointment","firefirstaid") - new /obj/item/device/healthanalyzer( src ) - new /obj/item/weapon/reagent_containers/syringe/inaprovaline( src ) - new /obj/item/stack/medical/ointment( src ) - new /obj/item/stack/medical/ointment( src ) - new /obj/item/weapon/reagent_containers/pill/kelotane( src ) - new /obj/item/weapon/reagent_containers/pill/kelotane( src ) - new /obj/item/weapon/reagent_containers/pill/kelotane( src ) //Replaced ointment with these since they actually work --Errorage +/obj/item/weapon/storage/firstaid/fire + name = "fire first-aid kit" + desc = "It's an emergency medical kit for when the toxins lab -spontaneously- burns down." + icon_state = "ointment" + item_state = "firstaid-ointment" + + New() + ..() + if (empty) return + + icon_state = pick("ointment","firefirstaid") + + new /obj/item/device/healthanalyzer( src ) + new /obj/item/weapon/reagent_containers/syringe/inaprovaline( src ) + new /obj/item/stack/medical/ointment( src ) + new /obj/item/stack/medical/ointment( src ) + new /obj/item/weapon/reagent_containers/pill/kelotane( src ) + new /obj/item/weapon/reagent_containers/pill/kelotane( src ) + new /obj/item/weapon/reagent_containers/pill/kelotane( src ) //Replaced ointment with these since they actually work --Errorage + return + + +/obj/item/weapon/storage/firstaid/regular + icon_state = "firstaid" + + New() + ..() + if (empty) return + new /obj/item/stack/medical/bruise_pack(src) + new /obj/item/stack/medical/bruise_pack(src) + new /obj/item/stack/medical/bruise_pack(src) + new /obj/item/stack/medical/ointment(src) + new /obj/item/stack/medical/ointment(src) + new /obj/item/device/healthanalyzer(src) + new /obj/item/weapon/reagent_containers/syringe/inaprovaline( src ) + return + +/obj/item/weapon/storage/firstaid/toxin + name = "toxin first aid" + desc = "Used to treat when you have a high amoutn of toxins in your body." + icon_state = "antitoxin" + item_state = "firstaid-toxin" + + New() + ..() + if (empty) return + + icon_state = pick("antitoxin","antitoxfirstaid","antitoxfirstaid2","antitoxfirstaid3") + + new /obj/item/weapon/reagent_containers/syringe/antitoxin( src ) + new /obj/item/weapon/reagent_containers/syringe/antitoxin( src ) + new /obj/item/weapon/reagent_containers/syringe/antitoxin( src ) + new /obj/item/weapon/reagent_containers/pill/antitox( src ) + new /obj/item/weapon/reagent_containers/pill/antitox( src ) + new /obj/item/weapon/reagent_containers/pill/antitox( src ) + new /obj/item/device/healthanalyzer( src ) + return + +/obj/item/weapon/storage/firstaid/o2 + name = "oxygen deprivation first aid" + desc = "A box full of oxygen goodies." + icon_state = "o2" + item_state = "firstaid-o2" + + New() + ..() + if (empty) return + new /obj/item/weapon/reagent_containers/pill/dexalin( src ) + new /obj/item/weapon/reagent_containers/pill/dexalin( src ) + new /obj/item/weapon/reagent_containers/pill/dexalin( src ) + new /obj/item/weapon/reagent_containers/pill/dexalin( src ) + new /obj/item/weapon/reagent_containers/syringe/inaprovaline( src ) + new /obj/item/weapon/reagent_containers/syringe/inaprovaline( src ) + new /obj/item/device/healthanalyzer( src ) + return + +/* + * Syringe Kit + */ +/obj/item/weapon/storage/syringes + name = "syringes" + desc = "A box full of syringes." + desc = "A biohazard alert warning is printed on the box" + icon_state = "syringe" + foldable = /obj/item/stack/sheet/cardboard //BubbleWrap + + New() + ..() + new /obj/item/weapon/reagent_containers/syringe( src ) + new /obj/item/weapon/reagent_containers/syringe( src ) + new /obj/item/weapon/reagent_containers/syringe( src ) + new /obj/item/weapon/reagent_containers/syringe( src ) + new /obj/item/weapon/reagent_containers/syringe( src ) + new /obj/item/weapon/reagent_containers/syringe( src ) + new /obj/item/weapon/reagent_containers/syringe( src ) + return + +/* + * Pill Bottles + */ +/obj/item/weapon/storage/pill_bottle + name = "pill bottle" + desc = "It's an airtight container for storing medication." + icon_state = "pill_canister" + icon = 'icons/obj/chemical.dmi' + item_state = "contsolid" + w_class = 2.0 + can_hold = list("/obj/item/weapon/reagent_containers/pill") + var/mode = 1 // pickup mode + +/obj/item/weapon/storage/pill_bottle/MouseDrop(obj/over_object as obj) //Quick pillbottle fix. -Agouri + + if (ishuman(usr) || ismonkey(usr)) //Can monkeys even place items in the pocket slots? Leaving this in just in case~ + var/mob/M = usr + if (!( istype(over_object, /obj/screen) )) + return ..() + if ((!( M.restrained() ) && !( M.stat ) /*&& M.pocket == src*/)) + switch(over_object.name) + if("r_hand") + M.u_equip(src) + M.put_in_r_hand(src) + if("l_hand") + M.u_equip(src) + M.put_in_l_hand(src) + src.add_fingerprint(usr) + return + if(over_object == usr && in_range(src, usr) || usr.contents.Find(src)) + if (usr.s_active) + usr.s_active.close(usr) + src.show_to(usr) + return return -/obj/item/weapon/storage/syringes/New() - ..() - new /obj/item/weapon/reagent_containers/syringe( src ) - new /obj/item/weapon/reagent_containers/syringe( src ) - new /obj/item/weapon/reagent_containers/syringe( src ) - new /obj/item/weapon/reagent_containers/syringe( src ) - new /obj/item/weapon/reagent_containers/syringe( src ) - new /obj/item/weapon/reagent_containers/syringe( src ) - new /obj/item/weapon/reagent_containers/syringe( src ) - return -/obj/item/weapon/storage/firstaid/regular/New() +/obj/item/weapon/storage/pill_bottle/verb/toggle_mode() + set name = "Switch Pill Bottle Method" + set category = "Object" - ..() - if (empty) return - new /obj/item/stack/medical/bruise_pack(src) - new /obj/item/stack/medical/bruise_pack(src) - new /obj/item/stack/medical/bruise_pack(src) - new /obj/item/stack/medical/ointment(src) - new /obj/item/stack/medical/ointment(src) - new /obj/item/device/healthanalyzer(src) - new /obj/item/weapon/reagent_containers/syringe/inaprovaline( src ) - return - -/obj/item/weapon/storage/firstaid/toxin/New() - - ..() - if (empty) return - - icon_state = pick("antitoxin","antitoxfirstaid","antitoxfirstaid2","antitoxfirstaid3") - - new /obj/item/weapon/reagent_containers/syringe/antitoxin( src ) - new /obj/item/weapon/reagent_containers/syringe/antitoxin( src ) - new /obj/item/weapon/reagent_containers/syringe/antitoxin( src ) - new /obj/item/weapon/reagent_containers/pill/antitox( src ) - new /obj/item/weapon/reagent_containers/pill/antitox( src ) - new /obj/item/weapon/reagent_containers/pill/antitox( src ) - new /obj/item/device/healthanalyzer( src ) - return - -/obj/item/weapon/storage/firstaid/o2/New() - - ..() - if (empty) return - new /obj/item/weapon/reagent_containers/pill/dexalin( src ) - new /obj/item/weapon/reagent_containers/pill/dexalin( src ) - new /obj/item/weapon/reagent_containers/pill/dexalin( src ) - new /obj/item/weapon/reagent_containers/pill/dexalin( src ) - new /obj/item/weapon/reagent_containers/syringe/inaprovaline( src ) - new /obj/item/weapon/reagent_containers/syringe/inaprovaline( src ) - new /obj/item/device/healthanalyzer( src ) - return + mode = !mode + switch (mode) + if(1) + usr << "The pill bottle now picks up all pills in a tile at once." + if(0) + usr << "The pill bottle now picks up one pill at a time." /obj/item/weapon/storage/pill_bottle/kelotane name = "Pill bottle (kelotane)" desc = "Contains pills used to treat burns." -/obj/item/weapon/storage/pill_bottle/kelotane/New() - ..() - new /obj/item/weapon/reagent_containers/pill/kelotane( src ) - new /obj/item/weapon/reagent_containers/pill/kelotane( src ) - new /obj/item/weapon/reagent_containers/pill/kelotane( src ) - new /obj/item/weapon/reagent_containers/pill/kelotane( src ) - new /obj/item/weapon/reagent_containers/pill/kelotane( src ) - new /obj/item/weapon/reagent_containers/pill/kelotane( src ) - new /obj/item/weapon/reagent_containers/pill/kelotane( src ) + New() + ..() + new /obj/item/weapon/reagent_containers/pill/kelotane( src ) + new /obj/item/weapon/reagent_containers/pill/kelotane( src ) + new /obj/item/weapon/reagent_containers/pill/kelotane( src ) + new /obj/item/weapon/reagent_containers/pill/kelotane( src ) + new /obj/item/weapon/reagent_containers/pill/kelotane( src ) + new /obj/item/weapon/reagent_containers/pill/kelotane( src ) + new /obj/item/weapon/reagent_containers/pill/kelotane( src ) /obj/item/weapon/storage/pill_bottle/antitox name = "Pill bottle (Anti-toxin)" desc = "Contains pills used to counter toxins." -/obj/item/weapon/storage/pill_bottle/antitox/New() - ..() - new /obj/item/weapon/reagent_containers/pill/antitox( src ) - new /obj/item/weapon/reagent_containers/pill/antitox( src ) - new /obj/item/weapon/reagent_containers/pill/antitox( src ) - new /obj/item/weapon/reagent_containers/pill/antitox( src ) - new /obj/item/weapon/reagent_containers/pill/antitox( src ) - new /obj/item/weapon/reagent_containers/pill/antitox( src ) - new /obj/item/weapon/reagent_containers/pill/antitox( src ) + New() + ..() + new /obj/item/weapon/reagent_containers/pill/antitox( src ) + new /obj/item/weapon/reagent_containers/pill/antitox( src ) + new /obj/item/weapon/reagent_containers/pill/antitox( src ) + new /obj/item/weapon/reagent_containers/pill/antitox( src ) + new /obj/item/weapon/reagent_containers/pill/antitox( src ) + new /obj/item/weapon/reagent_containers/pill/antitox( src ) + new /obj/item/weapon/reagent_containers/pill/antitox( src ) /obj/item/weapon/storage/pill_bottle/inaprovaline name = "Pill bottle (inaprovaline)" desc = "Contains pills used to stabilize patients." -/obj/item/weapon/storage/pill_bottle/inaprovaline/New() - ..() - new /obj/item/weapon/reagent_containers/pill/inaprovaline( src ) - new /obj/item/weapon/reagent_containers/pill/inaprovaline( src ) - new /obj/item/weapon/reagent_containers/pill/inaprovaline( src ) - new /obj/item/weapon/reagent_containers/pill/inaprovaline( src ) - new /obj/item/weapon/reagent_containers/pill/inaprovaline( src ) - new /obj/item/weapon/reagent_containers/pill/inaprovaline( src ) - new /obj/item/weapon/reagent_containers/pill/inaprovaline( src ) + New() + ..() + new /obj/item/weapon/reagent_containers/pill/inaprovaline( src ) + new /obj/item/weapon/reagent_containers/pill/inaprovaline( src ) + new /obj/item/weapon/reagent_containers/pill/inaprovaline( src ) + new /obj/item/weapon/reagent_containers/pill/inaprovaline( src ) + new /obj/item/weapon/reagent_containers/pill/inaprovaline( src ) + new /obj/item/weapon/reagent_containers/pill/inaprovaline( src ) + new /obj/item/weapon/reagent_containers/pill/inaprovaline( src ) diff --git a/code/game/objects/items/weapons/storage/kit.dm b/code/game/objects/items/weapons/storage/kit.dm index 67a515cd02..34dfe45823 100644 --- a/code/game/objects/items/weapons/storage/kit.dm +++ b/code/game/objects/items/weapons/storage/kit.dm @@ -1,197 +1,346 @@ -/obj/item/weapon/storage/lglo_kit/New() - new /obj/item/clothing/gloves/latex(src) - new /obj/item/clothing/gloves/latex(src) - new /obj/item/clothing/gloves/latex(src) - new /obj/item/clothing/gloves/latex(src) - new /obj/item/clothing/gloves/latex(src) - new /obj/item/clothing/gloves/latex(src) - new /obj/item/clothing/gloves/latex(src) - ..() - return +/obj/item/weapon/storage/lglo_kit + name = "Latex Gloves" + desc = "Contains white gloves." + icon_state = "latex" + item_state = "syringe_kit" + foldable = /obj/item/stack/sheet/cardboard //BubbleWrap -/obj/item/weapon/storage/blankbox/New() - - new /obj/item/ammo_casing/shotgun/blank(src) - new /obj/item/ammo_casing/shotgun/blank(src) - new /obj/item/ammo_casing/shotgun/blank(src) - new /obj/item/ammo_casing/shotgun/blank(src) - new /obj/item/ammo_casing/shotgun/blank(src) - new /obj/item/ammo_casing/shotgun/blank(src) - new /obj/item/ammo_casing/shotgun/blank(src) - ..() - return - -/obj/item/weapon/storage/flashbang_kit/New() - - new /obj/item/weapon/grenade/flashbang(src) - new /obj/item/weapon/grenade/flashbang(src) - new /obj/item/weapon/grenade/flashbang(src) - new /obj/item/weapon/grenade/flashbang(src) - new /obj/item/weapon/grenade/flashbang(src) - new /obj/item/weapon/grenade/flashbang(src) - new /obj/item/weapon/grenade/flashbang(src) - ..() - return - -/obj/item/weapon/storage/emp_kit/New() - - new /obj/item/weapon/grenade/empgrenade(src) - new /obj/item/weapon/grenade/empgrenade(src) - new /obj/item/weapon/grenade/empgrenade(src) - new /obj/item/weapon/grenade/empgrenade(src) - new /obj/item/weapon/grenade/empgrenade(src) - ..() - return - -/obj/item/weapon/storage/stma_kit/New() - - new /obj/item/clothing/mask/surgical(src) - new /obj/item/clothing/mask/surgical(src) - new /obj/item/clothing/mask/surgical(src) - new /obj/item/clothing/mask/surgical(src) - new /obj/item/clothing/mask/surgical(src) - new /obj/item/clothing/mask/surgical(src) - new /obj/item/clothing/mask/surgical(src) - ..() - return - -/obj/item/weapon/storage/gl_kit/New() - - new /obj/item/clothing/glasses/regular(src) - new /obj/item/clothing/glasses/regular(src) - new /obj/item/clothing/glasses/regular(src) - new /obj/item/clothing/glasses/regular(src) - new /obj/item/clothing/glasses/regular(src) - new /obj/item/clothing/glasses/regular(src) - new /obj/item/clothing/glasses/regular(src) - ..() - return - -/obj/item/weapon/storage/trackimp_kit/New() - - new /obj/item/weapon/implantcase/tracking(src) - new /obj/item/weapon/implantcase/tracking(src) - new /obj/item/weapon/implantcase/tracking(src) - new /obj/item/weapon/implantcase/tracking(src) - new /obj/item/weapon/implanter(src) - new /obj/item/weapon/implantpad(src) - new /obj/item/weapon/locator(src) - ..() - return - -/obj/item/weapon/storage/chemimp_kit/New() - - new /obj/item/weapon/implantcase/chem(src) - new /obj/item/weapon/implantcase/chem(src) - new /obj/item/weapon/implantcase/chem(src) - new /obj/item/weapon/implantcase/chem(src) - new /obj/item/weapon/implantcase/chem(src) - new /obj/item/weapon/implanter(src) - new /obj/item/weapon/implantpad(src) - ..() - return - -/obj/item/weapon/storage/injectbox/New() - - new /obj/item/weapon/dnainjector/h2m(src) - new /obj/item/weapon/dnainjector/h2m(src) - new /obj/item/weapon/dnainjector/h2m(src) - new /obj/item/weapon/dnainjector/m2h(src) - new /obj/item/weapon/dnainjector/m2h(src) - new /obj/item/weapon/dnainjector/m2h(src) - - ..() - return - -/obj/item/weapon/storage/id_kit/New() - - new /obj/item/weapon/card/id(src) - new /obj/item/weapon/card/id(src) - new /obj/item/weapon/card/id(src) - new /obj/item/weapon/card/id(src) - new /obj/item/weapon/card/id(src) - new /obj/item/weapon/card/id(src) - new /obj/item/weapon/card/id(src) - ..() - return - -/obj/item/weapon/storage/handcuff_kit/New() - - new /obj/item/weapon/handcuffs(src) - new /obj/item/weapon/handcuffs(src) - new /obj/item/weapon/handcuffs(src) - new /obj/item/weapon/handcuffs(src) - new /obj/item/weapon/handcuffs(src) - new /obj/item/weapon/handcuffs(src) - new /obj/item/weapon/handcuffs(src) - ..() - return - -/obj/item/weapon/storage/seccart_kit/New() - new /obj/item/weapon/cartridge/security(src) - new /obj/item/weapon/cartridge/security(src) - new /obj/item/weapon/cartridge/security(src) - new /obj/item/weapon/cartridge/security(src) - new /obj/item/weapon/cartridge/security(src) - new /obj/item/weapon/cartridge/security(src) - new /obj/item/weapon/cartridge/security(src) - ..() - return - -/obj/item/weapon/storage/donkpocket_kit/New() - - new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src) - new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src) - new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src) - new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src) - new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src) - new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src) - ..() - return - -/obj/item/weapon/storage/condimentbottles/New() - - new /obj/item/weapon/reagent_containers/food/condiment(src) - new /obj/item/weapon/reagent_containers/food/condiment(src) - new /obj/item/weapon/reagent_containers/food/condiment(src) - new /obj/item/weapon/reagent_containers/food/condiment(src) - new /obj/item/weapon/reagent_containers/food/condiment(src) - new /obj/item/weapon/reagent_containers/food/condiment(src) - ..() - return - -/obj/item/weapon/storage/drinkingglasses/New() - - new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src) - new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src) - new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src) - new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src) - new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src) - new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src) - ..() - return - -/* -/obj/item/weapon/storage/disk_kit/disks/New() - - new /obj/item/weapon/card/data(src) - new /obj/item/weapon/card/data(src) - new /obj/item/weapon/card/data(src) - new /obj/item/weapon/card/data(src) - new /obj/item/weapon/card/data(src) - new /obj/item/weapon/card/data(src) - new /obj/item/weapon/card/data(src) - ..() - return - -/obj/item/weapon/storage/disk_kit/disks2/New() - - spawn( 2 ) - for(var/obj/item/weapon/card/data/D in src.loc) - D.loc = src - //Foreach goto(23) + New() + new /obj/item/clothing/gloves/latex(src) + new /obj/item/clothing/gloves/latex(src) + new /obj/item/clothing/gloves/latex(src) + new /obj/item/clothing/gloves/latex(src) + new /obj/item/clothing/gloves/latex(src) + new /obj/item/clothing/gloves/latex(src) + new /obj/item/clothing/gloves/latex(src) + ..() return - ..() - return -*/ \ No newline at end of file + +/obj/item/weapon/storage/blankbox + name = "box of blank shells" + desc = "It has a picture of a gun and several warning symbols on the front." + icon_state = "box" + item_state = "syringe_kit" + foldable = /obj/item/stack/sheet/cardboard //BubbleWrap + + New() + new /obj/item/ammo_casing/shotgun/blank(src) + new /obj/item/ammo_casing/shotgun/blank(src) + new /obj/item/ammo_casing/shotgun/blank(src) + new /obj/item/ammo_casing/shotgun/blank(src) + new /obj/item/ammo_casing/shotgun/blank(src) + new /obj/item/ammo_casing/shotgun/blank(src) + new /obj/item/ammo_casing/shotgun/blank(src) + ..() + return + +/obj/item/weapon/storage/beakerbox + name = "Beaker Box" + icon_state = "beaker" + item_state = "syringe_kit" + foldable = /obj/item/stack/sheet/cardboard //BubbleWrap + + New() + ..() + new /obj/item/weapon/reagent_containers/glass/beaker( src ) + new /obj/item/weapon/reagent_containers/glass/beaker( src ) + new /obj/item/weapon/reagent_containers/glass/beaker( src ) + new /obj/item/weapon/reagent_containers/glass/beaker( src ) + new /obj/item/weapon/reagent_containers/glass/beaker( src ) + new /obj/item/weapon/reagent_containers/glass/beaker( src ) + new /obj/item/weapon/reagent_containers/glass/beaker( src ) + +/obj/item/weapon/storage/flashbang_kit + name = "flashbangs (WARNING)" + desc = "WARNING: These devices are extremely dangerous and can cause blindness or deafness in repeated use." + icon_state = "flashbang" + item_state = "syringe_kit" + foldable = /obj/item/stack/sheet/cardboard //BubbleWrap + + New() + new /obj/item/weapon/grenade/flashbang(src) + new /obj/item/weapon/grenade/flashbang(src) + new /obj/item/weapon/grenade/flashbang(src) + new /obj/item/weapon/grenade/flashbang(src) + new /obj/item/weapon/grenade/flashbang(src) + new /obj/item/weapon/grenade/flashbang(src) + new /obj/item/weapon/grenade/flashbang(src) + ..() + return + +/obj/item/weapon/storage/emp_kit + name = "emp grenades" + desc = "A box with 5 emp grenades." + icon_state = "flashbang" + item_state = "syringe_kit" + foldable = /obj/item/stack/sheet/cardboard //BubbleWrap + + New() + new /obj/item/weapon/grenade/empgrenade(src) + new /obj/item/weapon/grenade/empgrenade(src) + new /obj/item/weapon/grenade/empgrenade(src) + new /obj/item/weapon/grenade/empgrenade(src) + new /obj/item/weapon/grenade/empgrenade(src) + ..() + return + +/obj/item/weapon/storage/stma_kit + name = "Sterile Masks" + desc = "This box contains masks of sterility." + icon_state = "sterile" + item_state = "syringe_kit" + foldable = /obj/item/stack/sheet/cardboard //BubbleWrap + + New() + new /obj/item/clothing/mask/surgical(src) + new /obj/item/clothing/mask/surgical(src) + new /obj/item/clothing/mask/surgical(src) + new /obj/item/clothing/mask/surgical(src) + new /obj/item/clothing/mask/surgical(src) + new /obj/item/clothing/mask/surgical(src) + new /obj/item/clothing/mask/surgical(src) + ..() + return + +/obj/item/weapon/storage/gl_kit + name = "Prescription Glasses" + desc = "This box contains nerd glasses." + icon_state = "glasses" + item_state = "syringe_kit" + foldable = /obj/item/stack/sheet/cardboard //BubbleWrap + + New() + new /obj/item/clothing/glasses/regular(src) + new /obj/item/clothing/glasses/regular(src) + new /obj/item/clothing/glasses/regular(src) + new /obj/item/clothing/glasses/regular(src) + new /obj/item/clothing/glasses/regular(src) + new /obj/item/clothing/glasses/regular(src) + new /obj/item/clothing/glasses/regular(src) + ..() + return + +/obj/item/weapon/storage/trackimp_kit + name = "Tracking Implant Kit" + desc = "Box full of scum-bag tracking utensils." + icon_state = "implant" + item_state = "syringe_kit" + foldable = /obj/item/stack/sheet/cardboard //BubbleWrap + + New() + new /obj/item/weapon/implantcase/tracking(src) + new /obj/item/weapon/implantcase/tracking(src) + new /obj/item/weapon/implantcase/tracking(src) + new /obj/item/weapon/implantcase/tracking(src) + new /obj/item/weapon/implanter(src) + new /obj/item/weapon/implantpad(src) + new /obj/item/weapon/locator(src) + ..() + return + +/obj/item/weapon/storage/chemimp_kit + name = "Chemical Implant Kit" + desc = "Box of stuff used to implant chemicals." + icon_state = "implant" + item_state = "syringe_kit" + foldable = /obj/item/stack/sheet/cardboard //BubbleWrap + + New() + new /obj/item/weapon/implantcase/chem(src) + new /obj/item/weapon/implantcase/chem(src) + new /obj/item/weapon/implantcase/chem(src) + new /obj/item/weapon/implantcase/chem(src) + new /obj/item/weapon/implantcase/chem(src) + new /obj/item/weapon/implanter(src) + new /obj/item/weapon/implantpad(src) + ..() + return + +/obj/item/weapon/storage/injectbox + name = "DNA-Injectors" + desc = "This box contains injectors it seems." + icon_state = "box" + item_state = "syringe_kit" + foldable = /obj/item/stack/sheet/cardboard //BubbleWrap + + New() + new /obj/item/weapon/dnainjector/h2m(src) + new /obj/item/weapon/dnainjector/h2m(src) + new /obj/item/weapon/dnainjector/h2m(src) + new /obj/item/weapon/dnainjector/m2h(src) + new /obj/item/weapon/dnainjector/m2h(src) + new /obj/item/weapon/dnainjector/m2h(src) + ..() + return + +/obj/item/weapon/storage/id_kit + name = "Spare IDs" + desc = "Has so many empty IDs." + icon_state = "id" + item_state = "syringe_kit" + foldable = /obj/item/stack/sheet/cardboard //BubbleWrap + + New() + new /obj/item/weapon/card/id(src) + new /obj/item/weapon/card/id(src) + new /obj/item/weapon/card/id(src) + new /obj/item/weapon/card/id(src) + new /obj/item/weapon/card/id(src) + new /obj/item/weapon/card/id(src) + new /obj/item/weapon/card/id(src) + ..() + return + +/obj/item/weapon/storage/handcuff_kit + name = "Spare Handcuffs" + desc = "A box full of handcuffs." + icon_state = "handcuff" + item_state = "syringe_kit" + foldable = /obj/item/stack/sheet/cardboard //BubbleWrap + + New() + new /obj/item/weapon/handcuffs(src) + new /obj/item/weapon/handcuffs(src) + new /obj/item/weapon/handcuffs(src) + new /obj/item/weapon/handcuffs(src) + new /obj/item/weapon/handcuffs(src) + new /obj/item/weapon/handcuffs(src) + new /obj/item/weapon/handcuffs(src) + ..() + return + +/obj/item/weapon/storage/seccart_kit + name = "Spare R.O.B.U.S.T. Cartridges" + desc = "A box full of R.O.B.U.S.T. Cartridges, used by Security." + icon = 'icons/obj/pda.dmi' + icon_state = "pdabox" + item_state = "syringe_kit" + foldable = /obj/item/stack/sheet/cardboard //BubbleWrap + + New() + new /obj/item/weapon/cartridge/security(src) + new /obj/item/weapon/cartridge/security(src) + new /obj/item/weapon/cartridge/security(src) + new /obj/item/weapon/cartridge/security(src) + new /obj/item/weapon/cartridge/security(src) + new /obj/item/weapon/cartridge/security(src) + new /obj/item/weapon/cartridge/security(src) + ..() + return + +/obj/item/weapon/storage/donkpocket_kit + name = "box of donk-pockets" + desc = "Instructions: Heat in microwave. Product will cool if not eaten within seven minutes." + icon_state = "donk_kit" + item_state = "syringe_kit" + foldable = /obj/item/stack/sheet/cardboard //BubbleWrap + + New() + new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src) + new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src) + new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src) + new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src) + new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src) + new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src) + ..() + return + +/obj/item/weapon/storage/condimentbottles + name = "box of condiment bottles" + desc = "It has a large ketchup smear on it." + icon_state = "box" + item_state = "syringe_kit" + foldable = /obj/item/stack/sheet/cardboard //BubbleWrap + + New() + new /obj/item/weapon/reagent_containers/food/condiment(src) + new /obj/item/weapon/reagent_containers/food/condiment(src) + new /obj/item/weapon/reagent_containers/food/condiment(src) + new /obj/item/weapon/reagent_containers/food/condiment(src) + new /obj/item/weapon/reagent_containers/food/condiment(src) + new /obj/item/weapon/reagent_containers/food/condiment(src) + ..() + return + +/obj/item/weapon/storage/drinkingglasses + name = "box of drinking glasses" + desc = "It has a picture of drinking glasses on it." + icon_state = "box" + item_state = "syringe_kit" + + New() + new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src) + new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src) + new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src) + new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src) + new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src) + new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src) + ..() + return + +/obj/item/weapon/storage/cupbox + name = "box of paper cups" + desc = "It has pictures of paper cups on the front." + icon_state = "box" + item_state = "syringe_kit" + foldable = /obj/item/stack/sheet/cardboard //BubbleWrap + New() + ..() + new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src ) + new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src ) + new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src ) + new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src ) + new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src ) + new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src ) + new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src ) + +/obj/item/weapon/storage/dice + name = "pack of dice" + desc = "It's a small container with dice inside." + icon_state = "pill_canister" + icon = 'icons/obj/chemical.dmi' + item_state = "contsolid" + w_class = 2.0 + can_hold = list("/obj/item/weapon/dice") + + New() + new /obj/item/weapon/dice( src ) + new /obj/item/weapon/dice/d20( src ) + ..() + return + +/obj/item/weapon/storage/pillbottlebox + name = "box of pill bottles" + desc = "It has pictures of pill bottles on its front." + icon_state = "pillbox" + item_state = "syringe_kit" + foldable = /obj/item/stack/sheet/cardboard //BubbleWrap + + New() + new /obj/item/weapon/storage/pill_bottle( src ) + new /obj/item/weapon/storage/pill_bottle( src ) + new /obj/item/weapon/storage/pill_bottle( src ) + new /obj/item/weapon/storage/pill_bottle( src ) + new /obj/item/weapon/storage/pill_bottle( src ) + new /obj/item/weapon/storage/pill_bottle( src ) + new /obj/item/weapon/storage/pill_bottle( src ) + ..() + return + +/obj/item/weapon/storage/mousetraps + name = "box of Pest-B-Gon Mousetraps" + desc = "WARNING: Keep out of reach of children." + icon_state = "mousetraps" + item_state = "syringe_kit" + foldable = /obj/item/stack/sheet/cardboard //BubbleWrap + + New() + new /obj/item/device/assembly/mousetrap( src ) + new /obj/item/device/assembly/mousetrap( src ) + new /obj/item/device/assembly/mousetrap( src ) + new /obj/item/device/assembly/mousetrap( src ) + new /obj/item/device/assembly/mousetrap( src ) + new /obj/item/device/assembly/mousetrap( src ) + ..() + return \ No newline at end of file diff --git a/code/game/objects/items/weapons/storage/mining_satchel.dm b/code/game/objects/items/weapons/storage/mining_satchel.dm new file mode 100644 index 0000000000..8f26f3fe00 --- /dev/null +++ b/code/game/objects/items/weapons/storage/mining_satchel.dm @@ -0,0 +1,18 @@ +/obj/item/weapon/storage/satchel + name = "Mining Satchel" + desc = "This little bugger can be used to store and transport ores." + icon = 'icons/obj/mining.dmi' + icon_state = "satchel" + slot_flags = SLOT_BELT | SLOT_POCKET + w_class = 3 + storage_slots = 50 + max_combined_w_class = 200 //Doesn't matter what this is, so long as it's more or equal to storage_slots * ore.w_class + use_to_pickup = 1 + max_w_class = 3 + display_contents_with_number = 1 + allow_quick_empty = 1 + allow_quick_gather = 1 + + can_hold = list( + "/obj/item/weapon/ore" + ) \ No newline at end of file diff --git a/code/game/objects/items/weapons/storage/misc.dm b/code/game/objects/items/weapons/storage/misc.dm index e0256aa0f8..2a29e26ef2 100644 --- a/code/game/objects/items/weapons/storage/misc.dm +++ b/code/game/objects/items/weapons/storage/misc.dm @@ -4,9 +4,9 @@ * Candle Packs * Snap Pop Box * Crayon Box - * Beaker Box */ + /* * Monkey Cube Box */ @@ -103,22 +103,3 @@ usr << "This crayon is too powerful to be contained in this box." return ..() - -/* - * Beaker Box - */ -/obj/item/weapon/storage/beakerbox - name = "Beaker Box" - icon_state = "beaker" - item_state = "syringe_kit" - foldable = /obj/item/stack/sheet/cardboard //BubbleWrap - -/obj/item/weapon/storage/beakerbox/New() - ..() - new /obj/item/weapon/reagent_containers/glass/beaker( src ) - new /obj/item/weapon/reagent_containers/glass/beaker( src ) - new /obj/item/weapon/reagent_containers/glass/beaker( src ) - new /obj/item/weapon/reagent_containers/glass/beaker( src ) - new /obj/item/weapon/reagent_containers/glass/beaker( src ) - new /obj/item/weapon/reagent_containers/glass/beaker( src ) - new /obj/item/weapon/reagent_containers/glass/beaker( src ) \ No newline at end of file diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm index 4b28e6ab59..0ba5e9660b 100644 --- a/code/game/objects/items/weapons/storage/storage.dm +++ b/code/game/objects/items/weapons/storage/storage.dm @@ -16,6 +16,32 @@ w_class = 3.0 var/foldable = null // BubbleWrap - if set, can be folded (when empty) into a sheet of cardboard +/obj/item/weapon/storage/MouseDrop(obj/over_object as obj) + if (ishuman(usr) || ismonkey(usr)) //so monkeys can take off their backpacks -- Urist + var/mob/M = usr + if (!( istype(over_object, /obj/screen) )) + return ..() + if (!(src.loc == usr) || (src.loc && src.loc.loc == usr)) + return + playsound(src.loc, "rustle", 50, 1, -5) + if (!( M.restrained() ) && !( M.stat )) + switch(over_object.name) + if("r_hand") + M.u_equip(src) + M.put_in_r_hand(src) + if("l_hand") + M.u_equip(src) + M.put_in_l_hand(src) + src.add_fingerprint(usr) + return + if(over_object == usr && in_range(src, usr) || usr.contents.Find(src)) + if (usr.s_active) + usr.s_active.close(usr) + src.show_to(usr) + return + return + + /obj/item/weapon/storage/proc/return_inv() var/list/L = list( ) @@ -410,143 +436,6 @@ del(src) //BubbleWrap END -/obj/item/weapon/storage/box/ - foldable = /obj/item/stack/sheet/cardboard //BubbleWrap - -/obj/item/weapon/storage/box/survival/New() - ..() - contents = list() - sleep(1) - new /obj/item/clothing/mask/breath( src ) - new /obj/item/weapon/tank/emergency_oxygen( src ) - return - -/obj/item/weapon/storage/box/engineer/New() - ..() - contents = list() - sleep(1) - new /obj/item/clothing/mask/breath( src ) - new /obj/item/weapon/tank/emergency_oxygen/engi( src ) - return - -/obj/item/weapon/storage/box/syndicate/New() - ..() - switch (pickweight(list("bloodyspai" = 1, "stealth" = 1, "screwed" = 1, "guns" = 1, "murder" = 1, "freedom" = 1, "hacker" = 1, "lordsingulo" = 1))) - if ("bloodyspai") - new /obj/item/clothing/under/chameleon(src) - new /obj/item/clothing/mask/gas/voice(src) - new /obj/item/weapon/card/id/syndicate(src) - new /obj/item/clothing/shoes/syndigaloshes(src) - return - - if ("stealth") - new /obj/item/weapon/gun/energy/crossbow(src) - new /obj/item/weapon/pen/paralysis(src) - new /obj/item/device/chameleon(src) - return - - if ("screwed") - new /obj/effect/spawner/newbomb/timer/syndicate(src) - new /obj/effect/spawner/newbomb/timer/syndicate(src) - new /obj/item/device/powersink(src) - new /obj/item/clothing/suit/space/syndicate(src) - new /obj/item/clothing/head/helmet/space/syndicate(src) - return - - if ("guns") - new /obj/item/weapon/gun/projectile(src) - new /obj/item/ammo_magazine/a357(src) - new /obj/item/weapon/card/emag(src) - new /obj/item/weapon/plastique(src) - return - - if ("murder") - new /obj/item/weapon/melee/energy/sword(src) - new /obj/item/clothing/glasses/thermal/syndi(src) - new /obj/item/weapon/card/emag(src) - new /obj/item/clothing/shoes/syndigaloshes(src) - return - - if("freedom") - var/obj/item/weapon/implanter/O = new /obj/item/weapon/implanter(src) - O.imp = new /obj/item/weapon/implant/freedom(O) - var/obj/item/weapon/implanter/U = new /obj/item/weapon/implanter(src) - U.imp = new /obj/item/weapon/implant/uplink(U) - return - - if ("hacker") - new /obj/item/weapon/aiModule/syndicate(src) - new /obj/item/weapon/card/emag(src) - new /obj/item/device/encryptionkey/binary(src) - return - - if ("lordsingulo") - new /obj/item/device/radio/beacon/syndicate(src) - new /obj/item/clothing/suit/space/syndicate(src) - new /obj/item/clothing/head/helmet/space/syndicate(src) - new /obj/item/weapon/card/emag(src) - return - -/obj/item/weapon/storage/dice/New() - new /obj/item/weapon/dice( src ) - new /obj/item/weapon/dice/d20( src ) - ..() - return - -/obj/item/weapon/storage/mousetraps/New() - new /obj/item/device/assembly/mousetrap( src ) - new /obj/item/device/assembly/mousetrap( src ) - new /obj/item/device/assembly/mousetrap( src ) - new /obj/item/device/assembly/mousetrap( src ) - new /obj/item/device/assembly/mousetrap( src ) - new /obj/item/device/assembly/mousetrap( src ) - ..() - return - -/obj/item/weapon/storage/pill_bottle/MouseDrop(obj/over_object as obj) //Quick pillbottle fix. -Agouri - - if (ishuman(usr) || ismonkey(usr)) //Can monkeys even place items in the pocket slots? Leaving this in just in case~ - var/mob/M = usr - if (!( istype(over_object, /obj/screen) )) - return ..() - if ((!( M.restrained() ) && !( M.stat ) /*&& M.pocket == src*/)) - switch(over_object.name) - if("r_hand") - M.u_equip(src) - M.put_in_r_hand(src) - if("l_hand") - M.u_equip(src) - M.put_in_l_hand(src) - src.add_fingerprint(usr) - return - if(over_object == usr && in_range(src, usr) || usr.contents.Find(src)) - if (usr.s_active) - usr.s_active.close(usr) - src.show_to(usr) - return - return ///////////////////////////////////////////////////////Alright, that should do it. *MARKER* for any possible runtimes -/obj/item/weapon/storage/pill_bottle/verb/toggle_mode() - set name = "Switch Pill Bottle Method" - set category = "Object" - mode = !mode - switch (mode) - if(1) - usr << "The pill bottle now picks up all pills in a tile at once." - if(0) - usr << "The pill bottle now picks up one pill at a time." - -/obj/item/weapon/storage/pillbottlebox/New() - new /obj/item/weapon/storage/pill_bottle( src ) - new /obj/item/weapon/storage/pill_bottle( src ) - new /obj/item/weapon/storage/pill_bottle( src ) - new /obj/item/weapon/storage/pill_bottle( src ) - new /obj/item/weapon/storage/pill_bottle( src ) - new /obj/item/weapon/storage/pill_bottle( src ) - new /obj/item/weapon/storage/pill_bottle( src ) - ..() - return - -//////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/code/game/objects/items/weapons/storage/toolbox.dm b/code/game/objects/items/weapons/storage/toolbox.dm index 6db3b4dc69..4223ab8818 100644 --- a/code/game/objects/items/weapons/storage/toolbox.dm +++ b/code/game/objects/items/weapons/storage/toolbox.dm @@ -1,49 +1,86 @@ -/obj/item/weapon/storage/toolbox/New() - ..() - if (src.type == /obj/item/weapon/storage/toolbox) - world << "BAD: [src] ([src.type]) spawned at [src.x] [src.y] [src.z]" - del(src) +/obj/item/weapon/storage/toolbox + name = "toolbox" + desc = "Danger. Very robust." + icon = 'icons/obj/storage.dmi' + icon_state = "red" + item_state = "toolbox_red" + flags = FPRINT | TABLEPASS| CONDUCT + force = 5.0 + throwforce = 10.0 + throw_speed = 1 + throw_range = 7 + w_class = 4.0 + origin_tech = "combat=1" + attack_verb = list("robusted") -/obj/item/weapon/storage/toolbox/emergency/New() - ..() - new /obj/item/weapon/crowbar/red(src) - new /obj/item/weapon/extinguisher/mini(src) - if(prob(50)) - new /obj/item/device/flashlight(src) - else - new /obj/item/device/flashlight/flare(src) - new /obj/item/device/radio(src) + New() + ..() + if (src.type == /obj/item/weapon/storage/toolbox) + world << "BAD: [src] ([src.type]) spawned at [src.x] [src.y] [src.z]" + del(src) -/obj/item/weapon/storage/toolbox/mechanical/New() - ..() - new /obj/item/weapon/screwdriver(src) - new /obj/item/weapon/wrench(src) - new /obj/item/weapon/weldingtool(src) - new /obj/item/weapon/crowbar(src) - new /obj/item/device/analyzer(src) - new /obj/item/weapon/wirecutters(src) +/obj/item/weapon/storage/toolbox/emergency + name = "emergency toolbox" + icon_state = "red" + item_state = "toolbox_red" -/obj/item/weapon/storage/toolbox/electrical/New() - ..() - var/color = pick("red","yellow","green","blue","pink","orange","cyan","white") - new /obj/item/weapon/screwdriver(src) - new /obj/item/weapon/wirecutters(src) - new /obj/item/device/t_scanner(src) - new /obj/item/weapon/crowbar(src) - new /obj/item/weapon/cable_coil(src,30,color) - new /obj/item/weapon/cable_coil(src,30,color) - if(prob(5)) - new /obj/item/clothing/gloves/yellow(src) - else + New() + ..() + new /obj/item/weapon/crowbar/red(src) + new /obj/item/weapon/extinguisher/mini(src) + if(prob(50)) + new /obj/item/device/flashlight(src) + else + new /obj/item/device/flashlight/flare(src) + new /obj/item/device/radio(src) + +/obj/item/weapon/storage/toolbox/mechanical + name = "mechanical toolbox" + icon_state = "blue" + item_state = "toolbox_blue" + + New() + ..() + new /obj/item/weapon/screwdriver(src) + new /obj/item/weapon/wrench(src) + new /obj/item/weapon/weldingtool(src) + new /obj/item/weapon/crowbar(src) + new /obj/item/device/analyzer(src) + new /obj/item/weapon/wirecutters(src) + +/obj/item/weapon/storage/toolbox/electrical + name = "electrical toolbox" + icon_state = "yellow" + item_state = "toolbox_yellow" + + New() + ..() + var/color = pick("red","yellow","green","blue","pink","orange","cyan","white") + new /obj/item/weapon/screwdriver(src) + new /obj/item/weapon/wirecutters(src) + new /obj/item/device/t_scanner(src) + new /obj/item/weapon/crowbar(src) new /obj/item/weapon/cable_coil(src,30,color) + new /obj/item/weapon/cable_coil(src,30,color) + if(prob(5)) + new /obj/item/clothing/gloves/yellow(src) + else + new /obj/item/weapon/cable_coil(src,30,color) -/obj/item/weapon/storage/toolbox/syndicate/New() - ..() - var/color = pick("red","yellow","green","blue","pink","orange","cyan","white") - new /obj/item/weapon/screwdriver(src) - new /obj/item/weapon/wrench(src) - new /obj/item/weapon/weldingtool(src) - new /obj/item/weapon/crowbar(src) - new /obj/item/weapon/cable_coil(src,30,color) - new /obj/item/weapon/wirecutters(src) - new /obj/item/device/multitool(src) \ No newline at end of file +/obj/item/weapon/storage/toolbox/syndicate + name = "suspicious looking toolbox" + icon_state = "syndicate" + item_state = "toolbox_syndi" + origin_tech = "combat=1;syndicate=1" + force = 7.0 + + New() + ..() + var/color = pick("red","yellow","green","blue","pink","orange","cyan","white") + new /obj/item/weapon/screwdriver(src) + new /obj/item/weapon/wrench(src) + new /obj/item/weapon/weldingtool(src) + new /obj/item/weapon/crowbar(src) + new /obj/item/weapon/cable_coil(src,30,color) + new /obj/item/weapon/wirecutters(src) + new /obj/item/device/multitool(src) \ No newline at end of file diff --git a/code/game/objects/items/weapons/storage/wallets.dm b/code/game/objects/items/weapons/storage/wallets.dm new file mode 100644 index 0000000000..7a65764b1b --- /dev/null +++ b/code/game/objects/items/weapons/storage/wallets.dm @@ -0,0 +1,72 @@ +/obj/item/weapon/storage/wallet + name = "wallet" + desc = "It can hold a few small and personal things." + storage_slots = 4 + icon_state = "wallet" + w_class = 2 + can_hold = list( + "/obj/item/weapon/spacecash", + "/obj/item/weapon/card", + "/obj/item/clothing/mask/cigarette", + "/obj/item/device/flashlight/pen", + "/obj/item/seeds", + "/obj/item/stack/medical", + "/obj/item/toy/crayon", + "/obj/item/weapon/coin", + "/obj/item/weapon/dice", + "/obj/item/weapon/disk", + "/obj/item/weapon/implanter", + "/obj/item/weapon/lighter", + "/obj/item/weapon/match", + "/obj/item/weapon/paper", + "/obj/item/weapon/pen", + "/obj/item/weapon/photo", + "/obj/item/weapon/reagent_containers/dropper", + "/obj/item/weapon/screwdriver", + "/obj/item/weapon/stamp") + + attackby(obj/item/A as obj, mob/user as mob) + ..() + update_icon() + return + + update_icon() + for(var/obj/item/weapon/card/id/ID in contents) + switch(ID.icon_state) + if("id") + icon_state = "walletid" + return + if("silver") + icon_state = "walletid_silver" + return + if("gold") + icon_state = "walletid_gold" + return + if("centcom") + icon_state = "walletid_centcom" + return + icon_state = "wallet" + + + + proc/get_id() + for(var/obj/item/weapon/card/id/ID in contents) + if(istype(ID)) + return ID + +/obj/item/weapon/storage/wallet/random + New() + ..() + var/item1_type = pick( /obj/item/weapon/spacecash/c10,/obj/item/weapon/spacecash/c100,/obj/item/weapon/spacecash/c1000,/obj/item/weapon/spacecash/c20,/obj/item/weapon/spacecash/c200,/obj/item/weapon/spacecash/c50, /obj/item/weapon/spacecash/c500) + var/item2_type + if(prob(50)) + item2_type = pick( /obj/item/weapon/spacecash/c10,/obj/item/weapon/spacecash/c100,/obj/item/weapon/spacecash/c1000,/obj/item/weapon/spacecash/c20,/obj/item/weapon/spacecash/c200,/obj/item/weapon/spacecash/c50, /obj/item/weapon/spacecash/c500) + var/item3_type = pick( /obj/item/weapon/coin/silver, /obj/item/weapon/coin/silver, /obj/item/weapon/coin/gold, /obj/item/weapon/coin/iron, /obj/item/weapon/coin/iron, /obj/item/weapon/coin/iron ) + + spawn(2) + if(item1_type) + new item1_type(src) + if(item2_type) + new item2_type(src) + if(item3_type) + new item3_type(src) \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/closets/syndicate.dm b/code/game/objects/structures/crates_lockers/closets/syndicate.dm index b24147eee2..349ca4cc13 100644 --- a/code/game/objects/structures/crates_lockers/closets/syndicate.dm +++ b/code/game/objects/structures/crates_lockers/closets/syndicate.dm @@ -51,3 +51,88 @@ var/obj/item/device/radio/uplink/U = new(src) U.hidden_uplink.uses = 40 return + +/obj/structure/closet/syndicate/resources/ + desc = "An old, dusty locker." + + New() + ..() + var/common_min = 30 //Minimum amount of minerals in the stack for common minerals + var/common_max = 50 //Maximum amount of HONK in the stack for HONK common minerals + var/rare_min = 5 //Minimum HONK of HONK in the stack HONK HONK rare minerals + var/rare_max = 20 //Maximum HONK HONK HONK in the HONK for HONK rare HONK + + + sleep(2) + + var/pickednum = rand(1, 50) + + //Sad trombone + if(pickednum == 1) + var/obj/item/weapon/paper/P = new /obj/item/weapon/paper(src) + P.name = "IOU" + P.info = "Sorry man, we needed the money so we sold your stash. It's ok, we'll double our money for sure this time!" + + //Metal (common ore) + if(pickednum >= 2) + new /obj/item/stack/sheet/metal(src, rand(common_min, common_max)) + + //Glass (common ore) + if(pickednum >= 5) + new /obj/item/stack/sheet/glass(src, rand(common_min, common_max)) + + //Plasteel (common ore) Because it has a million more uses then plasma + if(pickednum >= 10) + new /obj/item/stack/sheet/plasteel(src, rand(common_min, common_max)) + + //Plasma (rare ore) + if(pickednum >= 15) + new /obj/item/stack/sheet/mineral/plasma(src, rand(rare_min, rare_max)) + + //Silver (rare ore) + if(pickednum >= 20) + new /obj/item/stack/sheet/mineral/silver(src, rand(rare_min, rare_max)) + + //Gold (rare ore) + if(pickednum >= 30) + new /obj/item/stack/sheet/mineral/gold(src, rand(rare_min, rare_max)) + + //Uranium (rare ore) + if(pickednum >= 40) + new /obj/item/stack/sheet/mineral/uranium(src, rand(rare_min, rare_max)) + + //Diamond (rare HONK) + if(pickednum >= 45) + new /obj/item/stack/sheet/mineral/diamond(src, rand(rare_min, rare_max)) + + //Jetpack (You hit the jackpot!) + if(pickednum == 50) + new /obj/item/weapon/tank/jetpack/carbondioxide(src) + + return + +/obj/structure/closet/syndicate/resources/everything + desc = "It's an emergency storage closet for repairs." + + New() + var/list/resources = list( + /obj/item/stack/sheet/metal, + /obj/item/stack/sheet/glass, + /obj/item/stack/sheet/mineral/gold, + /obj/item/stack/sheet/mineral/silver, + /obj/item/stack/sheet/mineral/plasma, + /obj/item/stack/sheet/mineral/uranium, + /obj/item/stack/sheet/mineral/diamond, + /obj/item/stack/sheet/mineral/clown, + /obj/item/stack/sheet/plasteel, + /obj/item/stack/rods + ) + + sleep(2) + + for(var/i = 0, i<2, i++) + for(var/res in resources) + var/obj/item/stack/R = new res(src) + R.amount = R.max_amount + + return \ No newline at end of file diff --git a/tgstation.dme b/tgstation.dme index 94e95f4173..88d138f69f 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -6,6 +6,226 @@ // BEGIN_FILE_DIR #define FILE_DIR . +#define FILE_DIR "code" +#define FILE_DIR "code/__HELPERS" +#define FILE_DIR "code/ATMOSPHERICS" +#define FILE_DIR "code/ATMOSPHERICS/components" +#define FILE_DIR "code/ATMOSPHERICS/components/binary_devices" +#define FILE_DIR "code/ATMOSPHERICS/components/trinary_devices" +#define FILE_DIR "code/ATMOSPHERICS/components/unary" +#define FILE_DIR "code/controllers" +#define FILE_DIR "code/datums" +#define FILE_DIR "code/datums/diseases" +#define FILE_DIR "code/datums/diseases/advance" +#define FILE_DIR "code/datums/diseases/advance/symptoms" +#define FILE_DIR "code/datums/helper_datums" +#define FILE_DIR "code/datums/organs" +#define FILE_DIR "code/datums/spells" +#define FILE_DIR "code/defines" +#define FILE_DIR "code/defines/obj" +#define FILE_DIR "code/defines/procs" +#define FILE_DIR "code/FEA" +#define FILE_DIR "code/game" +#define FILE_DIR "code/game/area" +#define FILE_DIR "code/game/gamemodes" +#define FILE_DIR "code/game/gamemodes/blob" +#define FILE_DIR "code/game/gamemodes/blob/blobs" +#define FILE_DIR "code/game/gamemodes/changeling" +#define FILE_DIR "code/game/gamemodes/cult" +#define FILE_DIR "code/game/gamemodes/events" +#define FILE_DIR "code/game/gamemodes/events/holidays" +#define FILE_DIR "code/game/gamemodes/extended" +#define FILE_DIR "code/game/gamemodes/malfunction" +#define FILE_DIR "code/game/gamemodes/meteor" +#define FILE_DIR "code/game/gamemodes/nuclear" +#define FILE_DIR "code/game/gamemodes/revolution" +#define FILE_DIR "code/game/gamemodes/sandbox" +#define FILE_DIR "code/game/gamemodes/traitor" +#define FILE_DIR "code/game/gamemodes/wizard" +#define FILE_DIR "code/game/jobs" +#define FILE_DIR "code/game/jobs/job" +#define FILE_DIR "code/game/machinery" +#define FILE_DIR "code/game/machinery/atmoalter" +#define FILE_DIR "code/game/machinery/bots" +#define FILE_DIR "code/game/machinery/camera" +#define FILE_DIR "code/game/machinery/computer" +#define FILE_DIR "code/game/machinery/doors" +#define FILE_DIR "code/game/machinery/embedded_controller" +#define FILE_DIR "code/game/machinery/kitchen" +#define FILE_DIR "code/game/machinery/pipe" +#define FILE_DIR "code/game/machinery/telecomms" +#define FILE_DIR "code/game/mecha" +#define FILE_DIR "code/game/mecha/combat" +#define FILE_DIR "code/game/mecha/equipment" +#define FILE_DIR "code/game/mecha/equipment/tools" +#define FILE_DIR "code/game/mecha/equipment/weapons" +#define FILE_DIR "code/game/mecha/medical" +#define FILE_DIR "code/game/mecha/working" +#define FILE_DIR "code/game/objects" +#define FILE_DIR "code/game/objects/effects" +#define FILE_DIR "code/game/objects/effects/decals" +#define FILE_DIR "code/game/objects/effects/decals/Cleanable" +#define FILE_DIR "code/game/objects/effects/spawners" +#define FILE_DIR "code/game/objects/items" +#define FILE_DIR "code/game/objects/items/devices" +#define FILE_DIR "code/game/objects/items/devices/PDA" +#define FILE_DIR "code/game/objects/items/devices/radio" +#define FILE_DIR "code/game/objects/items/robot" +#define FILE_DIR "code/game/objects/items/stacks" +#define FILE_DIR "code/game/objects/items/stacks/sheets" +#define FILE_DIR "code/game/objects/items/stacks/tiles" +#define FILE_DIR "code/game/objects/items/weapons" +#define FILE_DIR "code/game/objects/items/weapons/grenades" +#define FILE_DIR "code/game/objects/items/weapons/implants" +#define FILE_DIR "code/game/objects/items/weapons/secstorage" +#define FILE_DIR "code/game/objects/items/weapons/storage" +#define FILE_DIR "code/game/objects/items/weapons/tanks" +#define FILE_DIR "code/game/objects/structures" +#define FILE_DIR "code/game/objects/structures/crates_lockers" +#define FILE_DIR "code/game/objects/structures/crates_lockers/closets" +#define FILE_DIR "code/game/objects/structures/crates_lockers/closets/secure" +#define FILE_DIR "code/game/objects/structures/stool_bed_chair_nest" +#define FILE_DIR "code/game/turfs" +#define FILE_DIR "code/game/turfs/simulated" +#define FILE_DIR "code/game/turfs/space" +#define FILE_DIR "code/game/turfs/unsimulated" +#define FILE_DIR "code/game/verbs" +#define FILE_DIR "code/js" +#define FILE_DIR "code/modules" +#define FILE_DIR "code/modules/admin" +#define FILE_DIR "code/modules/admin/DB ban" +#define FILE_DIR "code/modules/admin/permissionverbs" +#define FILE_DIR "code/modules/admin/verbs" +#define FILE_DIR "code/modules/assembly" +#define FILE_DIR "code/modules/awaymissions" +#define FILE_DIR "code/modules/awaymissions/maploader" +#define FILE_DIR "code/modules/client" +#define FILE_DIR "code/modules/clothing" +#define FILE_DIR "code/modules/clothing/glasses" +#define FILE_DIR "code/modules/clothing/gloves" +#define FILE_DIR "code/modules/clothing/head" +#define FILE_DIR "code/modules/clothing/masks" +#define FILE_DIR "code/modules/clothing/shoes" +#define FILE_DIR "code/modules/clothing/spacesuits" +#define FILE_DIR "code/modules/clothing/suits" +#define FILE_DIR "code/modules/clothing/under" +#define FILE_DIR "code/modules/clothing/under/jobs" +#define FILE_DIR "code/modules/detectivework" +#define FILE_DIR "code/modules/flufftext" +#define FILE_DIR "code/modules/food" +#define FILE_DIR "code/modules/library" +#define FILE_DIR "code/modules/liquid" +#define FILE_DIR "code/modules/mining" +#define FILE_DIR "code/modules/mob" +#define FILE_DIR "code/modules/mob/dead" +#define FILE_DIR "code/modules/mob/dead/observer" +#define FILE_DIR "code/modules/mob/living" +#define FILE_DIR "code/modules/mob/living/blob" +#define FILE_DIR "code/modules/mob/living/carbon" +#define FILE_DIR "code/modules/mob/living/carbon/alien" +#define FILE_DIR "code/modules/mob/living/carbon/alien/humanoid" +#define FILE_DIR "code/modules/mob/living/carbon/alien/humanoid/caste" +#define FILE_DIR "code/modules/mob/living/carbon/alien/larva" +#define FILE_DIR "code/modules/mob/living/carbon/alien/special" +#define FILE_DIR "code/modules/mob/living/carbon/brain" +#define FILE_DIR "code/modules/mob/living/carbon/human" +#define FILE_DIR "code/modules/mob/living/carbon/metroid" +#define FILE_DIR "code/modules/mob/living/carbon/monkey" +#define FILE_DIR "code/modules/mob/living/silicon" +#define FILE_DIR "code/modules/mob/living/silicon/ai" +#define FILE_DIR "code/modules/mob/living/silicon/ai/freelook" +#define FILE_DIR "code/modules/mob/living/silicon/decoy" +#define FILE_DIR "code/modules/mob/living/silicon/pai" +#define FILE_DIR "code/modules/mob/living/silicon/robot" +#define FILE_DIR "code/modules/mob/living/simple_animal" +#define FILE_DIR "code/modules/mob/living/simple_animal/friendly" +#define FILE_DIR "code/modules/mob/living/simple_animal/hostile" +#define FILE_DIR "code/modules/mob/new_player" +#define FILE_DIR "code/modules/paperwork" +#define FILE_DIR "code/modules/power" +#define FILE_DIR "code/modules/power/antimatter" +#define FILE_DIR "code/modules/power/singularity" +#define FILE_DIR "code/modules/power/singularity/particle_accelerator" +#define FILE_DIR "code/modules/projectiles" +#define FILE_DIR "code/modules/projectiles/ammunition" +#define FILE_DIR "code/modules/projectiles/guns" +#define FILE_DIR "code/modules/projectiles/guns/energy" +#define FILE_DIR "code/modules/projectiles/guns/projectile" +#define FILE_DIR "code/modules/projectiles/projectile" +#define FILE_DIR "code/modules/reagents" +#define FILE_DIR "code/modules/reagents/reagent_containers" +#define FILE_DIR "code/modules/reagents/reagent_containers/food" +#define FILE_DIR "code/modules/reagents/reagent_containers/food/drinks" +#define FILE_DIR "code/modules/reagents/reagent_containers/food/drinks/bottle" +#define FILE_DIR "code/modules/reagents/reagent_containers/food/snacks" +#define FILE_DIR "code/modules/reagents/reagent_containers/glass" +#define FILE_DIR "code/modules/reagents/reagent_containers/glass/bottle" +#define FILE_DIR "code/modules/recycling" +#define FILE_DIR "code/modules/research" +#define FILE_DIR "code/modules/scripting" +#define FILE_DIR "code/modules/scripting/AST" +#define FILE_DIR "code/modules/scripting/AST/Operators" +#define FILE_DIR "code/modules/scripting/Implementations" +#define FILE_DIR "code/modules/scripting/Interpreter" +#define FILE_DIR "code/modules/scripting/Parser" +#define FILE_DIR "code/modules/scripting/Scanner" +#define FILE_DIR "code/modules/security levels" +#define FILE_DIR "code/unused" +#define FILE_DIR "code/unused/beast" +#define FILE_DIR "code/unused/computer2" +#define FILE_DIR "code/unused/disease2" +#define FILE_DIR "code/unused/gamemodes" +#define FILE_DIR "code/unused/hivebot" +#define FILE_DIR "code/unused/mining" +#define FILE_DIR "code/unused/optics" +#define FILE_DIR "code/unused/pda2" +#define FILE_DIR "code/unused/powerarmor" +#define FILE_DIR "code/unused/spacecraft" +#define FILE_DIR "code/unused/vehicles" +#define FILE_DIR "code/unused/vehicles/airtight" +#define FILE_DIR "code/WorkInProgress" +#define FILE_DIR "code/WorkInProgress/carn" +#define FILE_DIR "code/WorkInProgress/mapload" +#define FILE_DIR "code/WorkInProgress/organs" +#define FILE_DIR "code/WorkInProgress/virus2" +#define FILE_DIR "html" +#define FILE_DIR "icons" +#define FILE_DIR "icons/effects" +#define FILE_DIR "icons/mecha" +#define FILE_DIR "icons/misc" +#define FILE_DIR "icons/mob" +#define FILE_DIR "icons/obj" +#define FILE_DIR "icons/obj/assemblies" +#define FILE_DIR "icons/obj/atmospherics" +#define FILE_DIR "icons/obj/clothing" +#define FILE_DIR "icons/obj/doors" +#define FILE_DIR "icons/obj/flora" +#define FILE_DIR "icons/obj/machines" +#define FILE_DIR "icons/obj/pipes" +#define FILE_DIR "icons/pda_icons" +#define FILE_DIR "icons/spideros_icons" +#define FILE_DIR "icons/Testing" +#define FILE_DIR "icons/turf" +#define FILE_DIR "icons/vending_icons" +#define FILE_DIR "interface" +#define FILE_DIR "maps" +#define FILE_DIR "maps/backup" +#define FILE_DIR "maps/RandomZLevels" +#define FILE_DIR "sound" +#define FILE_DIR "sound/AI" +#define FILE_DIR "sound/ambience" +#define FILE_DIR "sound/effects" +#define FILE_DIR "sound/hallucinations" +#define FILE_DIR "sound/items" +#define FILE_DIR "sound/machines" +#define FILE_DIR "sound/mecha" +#define FILE_DIR "sound/misc" +#define FILE_DIR "sound/piano" +#define FILE_DIR "sound/violin" +#define FILE_DIR "sound/voice" +#define FILE_DIR "sound/weapons" +#define FILE_DIR "tools" +#define FILE_DIR "tools/Redirector" // END_FILE_DIR // BEGIN_PREFERENCES @@ -140,7 +360,6 @@ #include "code\defines\obj.dm" #include "code\defines\obj\hydro.dm" #include "code\defines\obj\machinery.dm" -#include "code\defines\obj\storage.dm" #include "code\defines\obj\toy.dm" #include "code\defines\obj\vending.dm" #include "code\defines\obj\weapon.dm" @@ -513,15 +732,18 @@ #include "code\game\objects\items\weapons\storage\backpack.dm" #include "code\game\objects\items\weapons\storage\belt.dm" #include "code\game\objects\items\weapons\storage\bible.dm" +#include "code\game\objects\items\weapons\storage\boxes.dm" #include "code\game\objects\items\weapons\storage\briefcase.dm" #include "code\game\objects\items\weapons\storage\fancy.dm" #include "code\game\objects\items\weapons\storage\firstaid.dm" #include "code\game\objects\items\weapons\storage\kit.dm" #include "code\game\objects\items\weapons\storage\lockbox.dm" +#include "code\game\objects\items\weapons\storage\mining_satchel.dm" #include "code\game\objects\items\weapons\storage\misc.dm" #include "code\game\objects\items\weapons\storage\storage.dm" #include "code\game\objects\items\weapons\storage\toolbox.dm" #include "code\game\objects\items\weapons\storage\uplink_kits.dm" +#include "code\game\objects\items\weapons\storage\wallets.dm" #include "code\game\objects\items\weapons\tanks\jetpack.dm" #include "code\game\objects\items\weapons\tanks\tank_types.dm" #include "code\game\objects\items\weapons\tanks\tanks.dm"