diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 28af52a646..2a1844d218 100755 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -816,6 +816,40 @@ fitting_swords = list(/obj/item/melee/rapier) starting_sword = /obj/item/melee/rapier +/obj/item/storage/belt/sabre/secbelt + name = "security sheath" + desc = "A statement on modern practical fashion; this limber black sheath is fitted to a lightened security belt, allowing one to look fashionable with their sword-shaped stun-baton, while of course carrying less things." + icon_state = "secsheath" + item_state = "secsheath" + w_class = WEIGHT_CLASS_BULKY + starting_sword = /obj/item/melee/baton/stunsword + content_overlays = TRUE + +/obj/item/storage/belt/sabre/secbelt/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_items = 5 + STR.max_w_class = WEIGHT_CLASS_NORMAL + STR.rustle_sound = TRUE + STR.quickdraw = FALSE + STR.can_hold = typecacheof(list( // cannot carry other batons + /obj/item/melee/baton/stunsword, + /obj/item/grenade, + /obj/item/reagent_containers/spray/pepper, + /obj/item/restraints/handcuffs, + /obj/item/assembly/flash/handheld, + /obj/item/clothing/glasses, + /obj/item/reagent_containers/food/snacks/donut, + /obj/item/flashlight/seclite, + /obj/item/radio, + /obj/item/clothing/gloves, + /obj/item/restraints/legcuffs/bola + )) + +/obj/item/storage/belt/sabre/secbelt/PopulateContents() + new /obj/item/melee/baton/stunsword(src) + update_icon() + /obj/item/storage/belt/sabre/twin name = "twin sheath" desc = "Two sheaths. One is capable of holding a katana (or bokken) and the other a wakizashi. You could put two wakizashis in if you really wanted to. Now you can really roleplay as a samurai." diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index a7d96fe6eb..16efecec7c 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -238,7 +238,7 @@ /obj/item/melee/baton/stunsword name = "stunsword" - desc = "not actually sharp, this sword is functionally identical to a stunbaton" + desc = "Not actually sharp, this sword is functionally identical to its baton counterpart." icon_state = "stunsword" item_state = "sword" @@ -250,6 +250,18 @@ /obj/item/melee/baton/stunsword/get_worn_belt_overlay(icon_file) return mutable_appearance(icon_file, "-stunsword") +/obj/item/melee/baton/stunsword/on_exit_storage(datum/component/storage/S) + var/obj/item/storage/belt/sabre/secbelt/B = S.parent + if(istype(B)) + playsound(B, 'sound/items/unsheath.ogg', 25, 1) + ..() + +/obj/item/melee/baton/stunsword/on_enter_storage(datum/component/storage/S) + var/obj/item/storage/belt/sabre/secbelt/B = S.parent + if(istype(B)) + playsound(B, 'sound/items/sheath.ogg', 25, 1) + ..() + /obj/item/ssword_kit name = "stunsword kit" desc = "a modkit for making a stunbaton into a stunsword" diff --git a/code/modules/vending/security.dm b/code/modules/vending/security.dm index 8ad4b0568c..c3540777ab 100644 --- a/code/modules/vending/security.dm +++ b/code/modules/vending/security.dm @@ -15,7 +15,7 @@ /obj/item/secbat = 5) contraband = list(/obj/item/clothing/glasses/sunglasses = 2, /obj/item/storage/fancy/donut_box = 2, - /obj/item/ssword_kit = 1) + /obj/item/storage/belt/sabre/secbelt = 1) premium = list(/obj/item/coin/antagtoken = 1, /obj/item/clothing/head/helmet/blueshirt = 1, /obj/item/clothing/suit/armor/vest/blueshirt = 1, diff --git a/icons/mob/clothing/belt.dmi b/icons/mob/clothing/belt.dmi index a25752c1d0..f84e360179 100644 Binary files a/icons/mob/clothing/belt.dmi and b/icons/mob/clothing/belt.dmi differ diff --git a/icons/obj/clothing/belts.dmi b/icons/obj/clothing/belts.dmi index 75fd20b856..48aaa3a418 100644 Binary files a/icons/obj/clothing/belts.dmi and b/icons/obj/clothing/belts.dmi differ