From 6bf6a4436c836dd11ad85d0bb41f20ed334c2275 Mon Sep 17 00:00:00 2001 From: Skrem_7 <98909416+Skrem7@users.noreply.github.com> Date: Sun, 19 Jun 2022 05:03:33 -0500 Subject: [PATCH] Secbelt + shotgun shell boxes rework, shoulder holster and bandolier buff (#14433) * inb4 webbing meta * bandolier buff + shell box time * oops beanbags were missing * may the lord and savior save me pretty please * hos now spawns with belt * re-adds baton/cuffs/flash to locker --- code/game/objects/items/storage/belt.dm | 23 ++++++++----- code/game/objects/items/storage/boxes.dm | 34 ++++++++++++++++--- .../crates_lockers/closets/secure/security.dm | 5 +-- .../jobs/job_types/head_of_security.dm | 5 ++- 4 files changed, 49 insertions(+), 18 deletions(-) diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index ee311128efa2..391ffb580d49 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -228,7 +228,7 @@ desc = "Can hold security gear like handcuffs and flashes." icon_state = "securitybelt" item_state = "security"//Could likely use a better one. - w_class = WEIGHT_CLASS_NORMAL + w_class = WEIGHT_CLASS_BULKY content_overlays = TRUE /obj/item/storage/belt/security/ComponentInitialize() @@ -246,6 +246,10 @@ /obj/item/clothing/glasses, /obj/item/ammo_casing/shotgun, /obj/item/ammo_box, + /obj/item/storage/box/rubbershot, + /obj/item/storage/box/lethalshot, + /obj/item/storage/box/breacherslug, + /obj/item/storage/box/beanbag, /obj/item/reagent_containers/food/snacks/donut, /obj/item/kitchen/knife/combat, /obj/item/flashlight/seclite, @@ -254,6 +258,7 @@ /obj/item/clothing/gloves, /obj/item/restraints/legcuffs/bola, /obj/item/holosign_creator/security, + /obj/item/shield/riot/tele, /obj/item/barrier_taperoll/police )) @@ -272,6 +277,11 @@ icon_state = "securitybelt_hos" item_state = "security_hos" +/obj/item/storage/belt/security/chief/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_items = 7 + /obj/item/storage/belt/security/chief/full/PopulateContents() new /obj/item/reagent_containers/spray/pepper(src) new /obj/item/restraints/handcuffs(src) @@ -279,6 +289,7 @@ new /obj/item/assembly/flash/handheld(src) new /obj/item/melee/baton/loaded(src) new /obj/item/barrier_taperoll/police(src) + new /obj/item/shield/riot/tele(src) update_icon() /obj/item/storage/belt/security/webbing @@ -292,7 +303,7 @@ /obj/item/storage/belt/security/webbing/ComponentInitialize() . = ..() var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.max_items = 6 + STR.max_items = 7 /obj/item/storage/belt/mining name = "explorer's webbing" @@ -545,11 +556,6 @@ icon_state = "assaultbelt" item_state = "security" -/obj/item/storage/belt/military/assault/ComponentInitialize() - . = ..() - var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.max_items = 6 - /obj/item/storage/belt/grenade name = "grenadier belt" desc = "A belt for holding grenades." @@ -657,7 +663,7 @@ /obj/item/storage/belt/bandolier/ComponentInitialize() . = ..() var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.max_items = 18 + STR.max_items = 24 STR.display_numerical_stacking = TRUE STR.set_holdable(list( /obj/item/ammo_casing/shotgun @@ -668,6 +674,7 @@ desc = "A holster to carry a handgun and ammo. WARNING: Badasses only." icon_state = "holster" item_state = "holster" + w_class = WEIGHT_CLASS_NORMAL alternate_worn_layer = UNDER_SUIT_LAYER /obj/item/storage/belt/holster/ComponentInitialize() diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index c9d5eb16ddda..7ae8e84d389d 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -802,42 +802,66 @@ /obj/item/storage/box/rubbershot name = "box of rubber shots" - desc = "A box full of rubber shots, designed for riot shotguns." + desc = "A box full of rubber shots designed for shotguns. The box itself is designed for holding any kind of shotgun shell." icon_state = "rubbershot_box" illustration = null +/obj/item/storage/box/rubbershot/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_items = 7 + STR.set_holdable(list(/obj/item/ammo_casing/shotgun)) + /obj/item/storage/box/rubbershot/PopulateContents() for(var/i in 1 to 7) new /obj/item/ammo_casing/shotgun/rubbershot(src) /obj/item/storage/box/lethalshot name = "box of lethal shotgun shots" - desc = "A box full of lethal shots, designed for riot shotguns." + desc = "A box full of lethal shots designed for shotguns. The box itself is designed for holding any kind of shotgun shell." icon_state = "lethalshot_box" illustration = null +/obj/item/storage/box/lethalshot/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_items = 7 + STR.set_holdable(list(/obj/item/ammo_casing/shotgun)) + /obj/item/storage/box/lethalshot/PopulateContents() for(var/i in 1 to 7) new /obj/item/ammo_casing/shotgun/buckshot(src) /obj/item/storage/box/breacherslug name = "box of breaching shotgun shells" - desc = "A box full of breaching slugs, designed for rapid entry." + desc = "A box full of breaching slugs designed for rapid entry. The box itself is designed for holding any kind of shotgun shell." icon_state = "breachershot_box" illustration = null +/obj/item/storage/box/breacherslug/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_items = 7 + STR.set_holdable(list(/obj/item/ammo_casing/shotgun)) + /obj/item/storage/box/breacherslug/PopulateContents() for(var/i in 1 to 7) new /obj/item/ammo_casing/shotgun/breacher(src) /obj/item/storage/box/beanbag name = "box of beanbags" - desc = "A box full of beanbag shells." + desc = "A box full of beanbag shells designed for shotguns. The box itself is designed for holding any kind of shotgun shell." icon_state = "rubbershot_box" illustration = null +/obj/item/storage/box/beanbag/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_items = 7 + STR.set_holdable(list(/obj/item/ammo_casing/shotgun)) + /obj/item/storage/box/beanbag/PopulateContents() - for(var/i in 1 to 6) + for(var/i in 1 to 7) new /obj/item/ammo_casing/shotgun/beanbag(src) /obj/item/storage/box/actionfigure diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index e4731c22be69..bd1c9d023d0e 100755 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -63,8 +63,9 @@ new /obj/item/storage/lockbox/loyalty(src) new /obj/item/clothing/mask/gas/sechailer/swat(src) new /obj/item/storage/box/flashbangs(src) - new /obj/item/shield/riot/tele(src) - new /obj/item/storage/belt/security/chief/full(src) + new /obj/item/restraints/handcuffs(src) + new /obj/item/assembly/flash/handheld(src) + new /obj/item/melee/baton/loaded(src) new /obj/item/gun/energy/e_gun/hos(src) new /obj/item/flashlight/seclite(src) new /obj/item/pinpointer/nuke(src) diff --git a/code/modules/jobs/job_types/head_of_security.dm b/code/modules/jobs/job_types/head_of_security.dm index dfebb5973bd2..509b5150224c 100644 --- a/code/modules/jobs/job_types/head_of_security.dm +++ b/code/modules/jobs/job_types/head_of_security.dm @@ -46,6 +46,7 @@ id_type = /obj/item/card/id/silver pda_type = /obj/item/pda/heads/hos + belt = /obj/item/storage/belt/security/chief/full ears = /obj/item/radio/headset/heads/hos/alt uniform = /obj/item/clothing/under/rank/head_of_security uniform_skirt = /obj/item/clothing/under/rank/head_of_security/skirt @@ -56,9 +57,7 @@ head = /obj/item/clothing/head/HoS/beret glasses = /obj/item/clothing/glasses/hud/security/sunglasses suit_store = /obj/item/gun/energy/e_gun - r_pocket = /obj/item/assembly/flash/handheld - l_pocket = /obj/item/restraints/handcuffs - backpack_contents = list(/obj/item/melee/baton/loaded=1, /obj/item/modular_computer/tablet/phone/preset/advanced/command=1) //yogs - removed departmental budget ID //come here often? + backpack_contents = list(/obj/item/modular_computer/tablet/phone/preset/advanced/command=1) //yogs - removed departmental budget ID //come here often? backpack = /obj/item/storage/backpack/security satchel = /obj/item/storage/backpack/satchel/sec