From a531e4e99edda183700fb90809d622a0e51f09e7 Mon Sep 17 00:00:00 2001 From: TankTheBirb <96669534+TankTheBirb@users.noreply.github.com> Date: Sun, 1 May 2022 12:58:59 -0400 Subject: [PATCH] Pocket pouch rebalance + obtaining method You know those pocket pouches you can find sometimes except you don't know where you can get them? Well you couldn't aside from map spawns. This fixes that, you can now make them using cloth, fur, or leather. Leather lets you make the really nice ones because its harder to get, cloth and fur let you make the smaller and specialized ones. Botany is your friend, Wabbacks let you grow cloth, teppi provide fur, and any animal can give you leather. There are also alternate ways to get these things too if botany is kill (unfortunate), but they're more time intensive than just asking the botanist. Also I changed the contents to be somewhat more sane because the specialized pouches before were STUPIDLY restrictive and inferior in just about every way. So now there is a balance to it. Tools pouch is basically a belt for your pocket but half size. Supplies can carry actually useful supplies. Parts can carry the most of any pouch but literally only stock parts. Medical can draw stuff faster from their pouch and it can carry more medical related supplies than it could before. Ammo lets you carry grenades and plastique explosives now. Baton pouch is now the melee pouch and can fit more than just batons in it (still only one of them tho). --- .../objects/items/weapons/storage/pouches.dm | 67 ++++++++++++++----- .../materials/materials/organic/cloth.dm | 9 ++- .../materials/materials/organic/leather.dm | 4 ++ .../sheets/organic/animal_products.dm | 7 ++ 4 files changed, 70 insertions(+), 17 deletions(-) diff --git a/code/game/objects/items/weapons/storage/pouches.dm b/code/game/objects/items/weapons/storage/pouches.dm index 3cbf4d51304..1381dad2c63 100644 --- a/code/game/objects/items/weapons/storage/pouches.dm +++ b/code/game/objects/items/weapons/storage/pouches.dm @@ -14,7 +14,7 @@ max_storage_space = INVENTORY_POUCH_SPACE can_hold = null pocketable = TRUE - + var/insert_delay = 0 SECONDS var/remove_delay = 2 SECONDS @@ -32,7 +32,7 @@ // No delay if you have the pouch in your hands if(user.get_active_hand() == src || user.get_inactive_hand() == src) return TRUE // Skip delay - + if(remove_delay && !do_after(user, remove_delay, src, needhand = TRUE, exclusive = TASK_USER_EXCLUSIVE)) return FALSE // Moved while there is a delay @@ -58,10 +58,10 @@ /obj/item/weapon/storage/pouch/ammo name = "storage pouch (ammo)" - desc = "This storage pouch can be used to provide some additional storage for quick access. Can only hold ammunition and cells." + desc = "This storage pouch can be used to provide some additional storage for quick access. Can only hold ammunition, cells, explosives, and grenades." icon_state = "ammo" max_storage_space = INVENTORY_POUCH_SPACE - can_hold = list(/obj/item/ammo_magazine, /obj/item/ammo_casing, /obj/item/weapon/cell/device/weapon) + can_hold = list(/obj/item/ammo_magazine, /obj/item/ammo_casing, /obj/item/weapon/cell/device/weapon, /obj/item/weapon/grenade, /obj/item/weapon/plastique) //Vorestation Add - make it more useful for non-sec/explo /obj/item/weapon/storage/pouch/eng_tool name = "storage pouch (tools)" @@ -69,15 +69,35 @@ icon_state = "engineering_tool" max_storage_space = INVENTORY_POUCH_SPACE can_hold = list( - /obj/item/weapon/tool, + /obj/item/weapon/tool/crowbar, + /obj/item/weapon/tool/screwdriver, /obj/item/weapon/weldingtool, + /obj/item/weapon/tool/wirecutters, + /obj/item/weapon/tool/wrench, /obj/item/device/multitool, /obj/item/device/flashlight, + /obj/item/weapon/cell/device, + /obj/item/stack/cable_coil, /obj/item/device/t_scanner, /obj/item/device/analyzer, /obj/item/clothing/glasses, /obj/item/clothing/gloves, - ) + /obj/item/device/pda, + /obj/item/device/megaphone, + /obj/item/taperoll, + /obj/item/device/radio/headset, + /obj/item/device/robotanalyzer, + /obj/item/weapon/material/minihoe, + /obj/item/weapon/material/knife/machete/hatchet, + /obj/item/device/analyzer/plant_analyzer, + /obj/item/weapon/extinguisher/mini, + /obj/item/weapon/tape_roll, + /obj/item/device/integrated_electronics/wirer, + /obj/item/device/integrated_electronics/debugger, + /obj/item/weapon/shovel/spade, + /obj/item/stack/nanopaste, + /obj/item/device/geiger + ) //Vorestation Add - make it the same as the tool-belt why was it not like this to start with wtf /obj/item/weapon/storage/pouch/eng_supply name = "storage pouch (supplies)" @@ -88,15 +108,19 @@ /obj/item/weapon/cell/device, /obj/item/stack/cable_coil, /obj/item/taperoll, - /obj/item/weapon/extinguisher/mini, - /obj/item/weapon/tape_roll - ) + /obj/item/weapon/extinguisher, + /obj/item/weapon/tape_roll, + /obj/item/stack/material/steel, + /obj/item/stack/material/glass, + /obj/item/device/lightreplacer, + /obj/item/weapon/cell + ) //Vorestation Add - makes it actually useful lmao, adds sheets and cells as well as light replacers and lets you take any extinguisher that fits /obj/item/weapon/storage/pouch/eng_parts name = "storage pouch (parts)" desc = "This storage pouch can be used to provide some additional storage for quick access. Can only hold machinery components." icon_state = "part_pouch" - max_storage_space = INVENTORY_POUCH_SPACE + max_storage_space = INVENTORY_POUCH_SPACE*2 //Vorestation Add - yeah lemme give up my pocket to hold FOUR CAPACITORS or have an inferior box... now you can hold eight in your pocket so its at least a box can_hold = list( /obj/item/weapon/stock_parts, /obj/item/stack/cable_coil, @@ -120,8 +144,19 @@ /obj/item/weapon/storage/pill_bottle, /obj/item/stack/medical, /obj/item/weapon/reagent_containers/hypospray, - /obj/item/weapon/storage/quickdraw/syringe_case - ) + /obj/item/weapon/storage/quickdraw/syringe_case, + /obj/item/weapon/syringe_cartridge, + /obj/item/clothing/gloves/sterile, + /obj/item/device/sleevemate, + /obj/item/bodybag/, + /obj/item/clothing/mask/surgical, + /obj/item/weapon/soap, + /obj/item/stack/nanopaste, + /obj/item/taperoll/medical, + /obj/item/weapon/storage/box/freezer, + /obj/item/device/defib_kit/compact + ) //Vorestation add - added a bunch of misc medical stuff + remove_delay = 5 //Vorestation Add - .5 second delay, get the medical things faster because there is no reason to use this otherwise /obj/item/weapon/storage/pouch/flares name = "storage pouch (flares)" @@ -145,7 +180,7 @@ desc = "This storage pouch can be used to provide some additional storage for quick access. Can hold one normal sized weapon." icon_state = "pistol_holster" storage_slots = 1 - can_hold = list(/obj/item/weapon/gun) + can_hold = list(/obj/item/weapon/gun) //this covers basically everything I think so its fine remove_delay = 0 /obj/item/weapon/storage/pouch/holster/full_stunrevolver starts_with = list(/obj/item/weapon/gun/energy/stunrevolver) @@ -159,11 +194,11 @@ ..() /obj/item/weapon/storage/pouch/baton - name = "storage pouch (baton)" - desc = "This storage pouch can be used to provide some additional storage for quick access. Can hold one standard baton." + name = "storage pouch (melee)" + desc = "This storage pouch can be used to provide some additional storage for quick access. Can hold one normal size melee." //Vorestation add - make it a melee pouch literally why would you hold ONE BATON icon_state = "baton_holster" storage_slots = 1 - can_hold = list(/obj/item/weapon/melee/baton) + can_hold = list(/obj/item/weapon/melee, /obj/item/weapon/material, /obj/item/weapon/tool/wrench) //should be like, every melee weapon I could think of that was normal size. Can make it more specific if needed. Also wrench because I thought it was funny. remove_delay = 0 /obj/item/weapon/storage/pouch/baton/full starts_with = list(/obj/item/weapon/melee/baton) diff --git a/code/modules/materials/materials/organic/cloth.dm b/code/modules/materials/materials/organic/cloth.dm index 294e046670f..0fbe0bce632 100644 --- a/code/modules/materials/materials/organic/cloth.dm +++ b/code/modules/materials/materials/organic/cloth.dm @@ -13,7 +13,7 @@ hardness = 5 -/datum/material/cloth/generate_recipes() +/datum/material/cloth/generate_recipes() //Vorestation Add - adding some funny cool storage pouches to this so botany can do things other than food recipes = list( new /datum/stack_recipe("woven net", /obj/item/weapon/material/fishing_net, 10, time = 30 SECONDS, pass_stack_color = TRUE, supplied_material = "[name]"), new /datum/stack_recipe("bedsheet", /obj/item/weapon/bedsheet, 10, time = 30 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), @@ -29,6 +29,13 @@ new /datum/stack_recipe("scarf", /obj/item/clothing/accessory/scarf/white, 4, time = 5 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("baggy pants", /obj/item/clothing/under/pants/baggy/white, 8, time = 10 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("belt pouch", /obj/item/weapon/storage/belt/fannypack/white, 25, time = 1 MINUTE, pass_stack_color = TRUE, recycle_material = "[name]"), + new /datum/stack_recipe("pouch, small", /obj/item/weapon/storage/pouch/small, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), + new /datum/stack_recipe("pouch, ammo", /obj/item/weapon/storage/pouch/ammo, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), + new /datum/stack_recipe("pouch, tools", /obj/item/weapon/storage/pouch/eng_tool, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), + new /datum/stack_recipe("pouch, parts", /obj/item/weapon/storage/pouch/eng_parts, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), + new /datum/stack_recipe("pouch, supplies", /obj/item/weapon/storage/pouch/eng_supply, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), + new /datum/stack_recipe("pouch, medical", /obj/item/weapon/storage/pouch/medical, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), + new /datum/stack_recipe("pouch, flare", /obj/item/weapon/storage/pouch/flares, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), new /datum/stack_recipe("crude bandage", /obj/item/stack/medical/crude_pack, 1, time = 2 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("empty sandbag", /obj/item/stack/emptysandbag, 2, time = 2 SECONDS, pass_stack_color = TRUE, supplied_material = "[name]"), new /datum/stack_recipe("painting canvas (11x11)", /obj/item/canvas, 2, time = 2 SECONDS, pass_stack_color = FALSE, supplied_material = "[name]"), diff --git a/code/modules/materials/materials/organic/leather.dm b/code/modules/materials/materials/organic/leather.dm index f5fc8cb2f97..7b3da60cd40 100644 --- a/code/modules/materials/materials/organic/leather.dm +++ b/code/modules/materials/materials/organic/leather.dm @@ -27,6 +27,10 @@ new /datum/stack_recipe("scarf", /obj/item/clothing/accessory/scarf/white, 4, time = 5 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("baggy pants", /obj/item/clothing/under/pants/baggy/white, 8, time = 10 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("belt pouch", /obj/item/weapon/storage/belt/fannypack/white, 25, time = 1 MINUTE, pass_stack_color = TRUE, recycle_material = "[name]"), + new /datum/stack_recipe("pouch, medium", /obj/item/weapon/storage/pouch, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), + new /datum/stack_recipe("pouch, large", /obj/item/weapon/storage/pouch/large, 15, time = 30 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), + new /datum/stack_recipe("pouch, holster", /obj/item/weapon/storage/pouch/holster, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), + new /datum/stack_recipe("pouch, melee", /obj/item/weapon/storage/pouch/baton, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), new /datum/stack_recipe("crude [display_name] bandage", /obj/item/stack/medical/crude_pack, 1, time = 2 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("[display_name] net", /obj/item/weapon/material/fishing_net, 10, time = 5 SECONDS, supplied_material = "[name]", pass_stack_color = TRUE), new /datum/stack_recipe("[display_name] ring", /obj/item/clothing/gloves/ring/material, 1, on_floor = 1, supplied_material = "[name]", pass_stack_color = TRUE), diff --git a/code/modules/materials/sheets/organic/animal_products.dm b/code/modules/materials/sheets/organic/animal_products.dm index 5ebd36d008c..c204714e009 100644 --- a/code/modules/materials/sheets/organic/animal_products.dm +++ b/code/modules/materials/sheets/organic/animal_products.dm @@ -73,6 +73,13 @@ new /datum/stack_recipe("scarf", /obj/item/clothing/accessory/scarf/white/craftable, 4, time = 5 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("baggy pants", /obj/item/clothing/under/pants/baggy/white/craftable, 8, time = 10 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("belt pouch", /obj/item/weapon/storage/belt/fannypack/white/craftable, 25, time = 1 MINUTE, pass_stack_color = TRUE, recycle_material = "[name]"), + new /datum/stack_recipe("pouch, small", /obj/item/weapon/storage/pouch/small, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), + new /datum/stack_recipe("pouch, ammo", /obj/item/weapon/storage/pouch/ammo, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), + new /datum/stack_recipe("pouch, tools", /obj/item/weapon/storage/pouch/eng_tool, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), + new /datum/stack_recipe("pouch, parts", /obj/item/weapon/storage/pouch/eng_parts, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), + new /datum/stack_recipe("pouch, supplies", /obj/item/weapon/storage/pouch/eng_supply, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), + new /datum/stack_recipe("pouch, medical", /obj/item/weapon/storage/pouch/medical, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), + new /datum/stack_recipe("pouch, flare", /obj/item/weapon/storage/pouch/flares, 10, time = 20 SECONDS, pass_stack_color = FALSE, recycle_material = "[name]"), new /datum/stack_recipe("crude bandage", /obj/item/stack/medical/crude_pack, 1, time = 2 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("empty sandbag", /obj/item/stack/emptysandbag, 2, time = 2 SECONDS, pass_stack_color = TRUE, supplied_material = "[name]"), new /datum/stack_recipe("satchel", /obj/item/weapon/storage/backpack/satchel/craftable, 30, time = 1 MINUTE, pass_stack_color = TRUE, recycle_material = "[name]"),