mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-24 13:38:41 +01:00
+37






![tgstation-ci[bot] <179393467+tgstation-ci[bot]@users.noreply.github.com>](/assets/img/avatar_default.png)


Alexis
GitHub
tgstation-ci[bot] <179393467+tgstation-ci[bot]@users.noreply.github.com>
ArcaneMusic
MrMelbert
Rhials
rageguy505
LemonInTheDark
John Willard
Aliceee2ch
Time-Green
Tsar-Salat
SmArtKar
Maxipat
SyncIt21
deltanedas
SimplyLogan
loganuk
Leland Kemble
FalloutFalcon
Roxy
Lucy
siliconOpossum
Isratosh
TheRyeGuyWhoWillNowDie
Neocloudy
Alexander V.
ElGitificador
Twaticus
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bloop
Cameron Lennox
Tim
Iamgoofball
Layzu666
Arturlang
_0Steven
mrmanlikesbt
Ben10Omintrix
John F. Kennedy
Cursor
Josh
Josh Powell
Yobrocharlie
Hardly3D
shayoki
LT3
21b4095dfd
Upstream 04/17/2026 fixes https://github.com/Bubberstation/Bubberstation/issues/5549 --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: tgstation-ci[bot] <179393467+tgstation-ci[bot]@users.noreply.github.com> Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com> Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com> Co-authored-by: rageguy505 <54517726+rageguy505@users.noreply.github.com> Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com> Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> Co-authored-by: Aliceee2ch <160794176+Aliceee2ch@users.noreply.github.com> Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com> Co-authored-by: Tsar-Salat <62388554+Tsar-Salat@users.noreply.github.com> Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com> Co-authored-by: Maxipat <108554989+Maxipat112@users.noreply.github.com> Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com> Co-authored-by: SimplyLogan <47579821+loganuk@users.noreply.github.com> Co-authored-by: loganuk <fakeemail123@aol.com> Co-authored-by: Leland Kemble <70413276+lelandkemble@users.noreply.github.com> Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Co-authored-by: Roxy <75404941+TealSeer@users.noreply.github.com> Co-authored-by: Lucy <lucy@absolucy.moe> Co-authored-by: siliconOpossum <138069572+siliconOpossum@users.noreply.github.com> Co-authored-by: Isratosh <Isratosh@hotmail.com> Co-authored-by: TheRyeGuyWhoWillNowDie <70169560+TheRyeGuyWhoWillNowDie@users.noreply.github.com> Co-authored-by: Neocloudy <88008002+Neocloudy@users.noreply.github.com> Co-authored-by: Alexander V. <volas@ya.ru> Co-authored-by: ElGitificador <168473461+ElGitificador@users.noreply.github.com> Co-authored-by: Twaticus <46540570+Twaticus@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> Co-authored-by: Cameron Lennox <killer65311@gmail.com> Co-authored-by: Tim <timothymtorres@gmail.com> Co-authored-by: Iamgoofball <iamgoofball@gmail.com> Co-authored-by: Layzu666 <121319428+Layzu666@users.noreply.github.com> Co-authored-by: Arturlang <24881678+Arturlang@users.noreply.github.com> Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com> Co-authored-by: mrmanlikesbt <99309552+mrmanlikesbt@users.noreply.github.com> Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com> Co-authored-by: John F. Kennedy <54908920+MacaroniCritter@users.noreply.github.com> Co-authored-by: Cursor <102828457+theselfish@users.noreply.github.com> Co-authored-by: Josh <josh.adam.powell@gmail.com> Co-authored-by: Josh Powell <josh.powell@softwire.com> Co-authored-by: Yobrocharlie <Charliemiller5617@gmail.com> Co-authored-by: Hardly3D <66234359+Hardly3D@users.noreply.github.com> Co-authored-by: shayoki <96078776+shayoki@users.noreply.github.com> Co-authored-by: LT3 <83487515+lessthnthree@users.noreply.github.com>
164 lines
6.3 KiB
Plaintext
164 lines
6.3 KiB
Plaintext
/// Base pouch type. Fits in pockets, as its main gimmick.
|
|
/obj/item/storage/pouch
|
|
name = "storage pouch"
|
|
desc = "It's a nondescript pouch made with dark fabric. It has a clip, for fitting in pockets."
|
|
icon = 'modular_skyrat/modules/modular_items/icons/storage.dmi'
|
|
icon_state = "survival"
|
|
w_class = WEIGHT_CLASS_BULKY
|
|
resistance_flags = FLAMMABLE
|
|
slot_flags = ITEM_SLOT_POCKETS
|
|
|
|
/obj/item/storage/pouch/Initialize(mapload)
|
|
. = ..()
|
|
atom_storage.max_specific_storage = WEIGHT_CLASS_SMALL
|
|
atom_storage.max_slots = 5
|
|
|
|
/obj/item/storage/pouch/ammo
|
|
name = "ammo pouch"
|
|
desc = "A pouch for your ammo that goes in your pocket."
|
|
icon = 'modular_skyrat/modules/modular_items/icons/storage.dmi'
|
|
icon_state = "ammopouch"
|
|
custom_price = PAYCHECK_CREW * 4
|
|
|
|
/obj/item/storage/pouch/ammo/Initialize(mapload)
|
|
. = ..()
|
|
atom_storage.max_specific_storage = WEIGHT_CLASS_NORMAL
|
|
atom_storage.max_total_storage = 12
|
|
atom_storage.max_slots = 3
|
|
atom_storage.numerical_stacking = FALSE
|
|
atom_storage.can_hold = typecacheof(list(/obj/item/ammo_box/magazine, /obj/item/ammo_casing))
|
|
AddComponent(/datum/component/reskinable_item, /datum/atom_skin/ammo_pouch)
|
|
RegisterSignal(src, COMSIG_OBJ_RESKIN, PROC_REF(on_reskin))
|
|
|
|
/datum/atom_skin/ammo_pouch
|
|
abstract_type = /datum/atom_skin/ammo_pouch
|
|
|
|
/datum/atom_skin/ammo_pouch/ammo
|
|
preview_name = "Ammo Pouch"
|
|
new_icon_state = "ammopouch"
|
|
|
|
/datum/atom_skin/ammo_pouch/casing
|
|
preview_name = "Casing Pouch"
|
|
new_icon_state = "casingpouch"
|
|
|
|
/obj/item/storage/pouch/ammo/proc/on_reskin()
|
|
SIGNAL_HANDLER
|
|
if(icon_state == "casingpouch")
|
|
name = "casing pouch"
|
|
desc = "A pouch for your ammo that goes in your pocket, carefully segmented for holding shell casings and nothing else."
|
|
atom_storage.can_hold = typecacheof(list(/obj/item/ammo_casing))
|
|
atom_storage.max_specific_storage = WEIGHT_CLASS_TINY
|
|
atom_storage.numerical_stacking = TRUE
|
|
atom_storage.max_slots = 14
|
|
atom_storage.max_total_storage = WEIGHT_CLASS_TINY * 10
|
|
|
|
/obj/item/storage/pouch/material
|
|
name = "material pouch"
|
|
desc = "A pouch for sheets and RCD ammunition that manages to hang where you would normally put things in your pocket."
|
|
icon = 'modular_skyrat/modules/modular_items/icons/storage.dmi'
|
|
icon_state = "materialpouch"
|
|
custom_price = PAYCHECK_CREW * 4
|
|
|
|
/obj/item/storage/pouch/material/Initialize(mapload)
|
|
. = ..()
|
|
atom_storage.max_specific_storage = WEIGHT_CLASS_NORMAL
|
|
atom_storage.max_total_storage = INFINITY
|
|
atom_storage.max_slots = 2
|
|
atom_storage.numerical_stacking = TRUE
|
|
atom_storage.can_hold = typecacheof(list(/obj/item/rcd_ammo, /obj/item/stack/sheet))
|
|
|
|
/// It's a pocket medkit. Use sparingly?
|
|
/obj/item/storage/pouch/medical
|
|
name = "medkit pouch"
|
|
desc = "A standard medkit pouch compartmentalized for field medical care. Comes with a set of pocket clips."
|
|
resistance_flags = FIRE_PROOF
|
|
icon_state = "medkit"
|
|
/// The list of things that medical pouches can hold. Stolen from what medkits can hold, but modified for things you would probably want at pocket-access.
|
|
var/static/list/med_pouch_holdables = list(
|
|
/obj/item/healthanalyzer,
|
|
/obj/item/hypospray/mkii,
|
|
/obj/item/dnainjector,
|
|
/obj/item/reagent_containers/dropper,
|
|
/obj/item/reagent_containers/cup/beaker,
|
|
/obj/item/reagent_containers/cup/bottle,
|
|
/obj/item/reagent_containers/cup/tube,
|
|
/obj/item/reagent_containers/cup/vial,
|
|
/obj/item/reagent_containers/applicator/pill,
|
|
/obj/item/reagent_containers/syringe,
|
|
/obj/item/reagent_containers/medigel,
|
|
/obj/item/reagent_containers/spray,
|
|
/obj/item/reagent_containers/hypospray,
|
|
/obj/item/storage/pill_bottle,
|
|
/obj/item/storage/box/bandages,
|
|
/obj/item/stack/cable_coil,
|
|
/obj/item/stack/medical,
|
|
/obj/item/flashlight/pen,
|
|
/obj/item/bonesetter,
|
|
/obj/item/cautery,
|
|
/obj/item/hemostat,
|
|
/obj/item/reagent_containers/blood,
|
|
/obj/item/stack/medical/wrap/sticky_tape,
|
|
)
|
|
|
|
/obj/item/storage/pouch/medical/Initialize(mapload)
|
|
. = ..()
|
|
atom_storage.max_specific_storage = WEIGHT_CLASS_NORMAL
|
|
atom_storage.max_slots = 7
|
|
atom_storage.max_total_storage = 14
|
|
atom_storage.set_holdable(med_pouch_holdables)
|
|
|
|
/obj/item/storage/pouch/medical/loaded/Initialize(mapload)
|
|
. = ..()
|
|
var/static/items_inside = list(
|
|
/obj/item/stack/medical/wrap/gauze/twelve = 1,
|
|
/obj/item/stack/medical/suture = 2,
|
|
/obj/item/stack/medical/mesh = 2,
|
|
/obj/item/reagent_containers/hypospray/medipen = 1,
|
|
/obj/item/healthanalyzer/simple = 1,
|
|
)
|
|
generate_items_inside(items_inside, src)
|
|
desc += " Repackaged with station-standard medical supplies."
|
|
|
|
/// It's... not as egregious as a full pocket medkit.
|
|
/obj/item/storage/pouch/medical/firstaid
|
|
name = "first aid pouch"
|
|
desc = "A standard nondescript first-aid pouch, compartmentalized for the bare essentials of field medical care. Comes with a pocket clip."
|
|
icon_state = "firstaid"
|
|
|
|
/obj/item/storage/pouch/medical/firstaid/Initialize(mapload)
|
|
. = ..()
|
|
atom_storage.max_specific_storage = WEIGHT_CLASS_SMALL
|
|
/*
|
|
hi. you might think this is egregious. five slots? that's a lot!
|
|
here's a thought: the pocket first aid kit from the colonial replicator [modular_skyrat\modules\food_replicator\code\storage.dm] has
|
|
mostly unrestricted storage, limited by having 4 max total storage, so at best you're only fitting 4 tiny items. but that's 4 of *any* tiny item.
|
|
or 2 small items (that aren't guns/mags). so it's basically just turning 1 pocket slot into 2, if you think about it hard enough.
|
|
this is a thing you have to buy from cargo's goodies tab. not even an import. and it only fits medical supplies.
|
|
i think it can have a lil extra storage as a treat.
|
|
*/
|
|
atom_storage.max_slots = 5
|
|
atom_storage.max_total_storage = 10
|
|
|
|
/obj/item/storage/pouch/medical/firstaid/loaded/Initialize(mapload)
|
|
. = ..()
|
|
desc += " Repackaged with station-standard medical supplies."
|
|
var/static/items_inside = list(
|
|
/obj/item/stack/medical/suture = 1,
|
|
/obj/item/stack/medical/mesh = 1,
|
|
/obj/item/storage/box/bandages = 1,
|
|
/obj/item/stack/medical/wrap/gauze/twelve = 1,
|
|
/obj/item/reagent_containers/hypospray/medipen/ekit = 1,
|
|
)
|
|
generate_items_inside(items_inside, src)
|
|
|
|
/obj/item/storage/pouch/medical/firstaid/stabilizer/Initialize(mapload)
|
|
. = ..()
|
|
desc += " Repackaged with a wound stabilization-focused loadout."
|
|
var/static/items_inside = list(
|
|
/obj/item/cautery = 1,
|
|
/obj/item/bonesetter = 1,
|
|
/obj/item/stack/medical/wrap/gauze/twelve = 1,
|
|
/obj/item/reagent_containers/hypospray/medipen/ekit = 2,
|
|
)
|
|
generate_items_inside(items_inside, src)
|