diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 7d8f1289ce6..8a327ecb8e8 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -164,9 +164,13 @@ BLIND // can't see anything hastie = I I.loc = src user << "You attach [I] to [src]." + if (istype(hastie,/obj/item/clothing/tie/holster)) verbs += /obj/item/clothing/under/proc/holster + if (istype(hastie,/obj/item/clothing/tie/storage)) + verbs += /obj/item/clothing/under/proc/storage + if(istype(loc, /mob/living/carbon/human)) var/mob/living/carbon/human/H = loc H.update_inv_w_uniform() @@ -227,9 +231,16 @@ BLIND // can't see anything if(hastie) usr.put_in_hands(hastie) hastie = null + if (istype(hastie,/obj/item/clothing/tie/holster)) verbs -= /obj/item/clothing/under/proc/holster + if (istype(hastie,/obj/item/clothing/tie/storage)) + verbs -= /obj/item/clothing/under/proc/storage + var/obj/item/clothing/tie/storage/W = hastie + if (W.hold) + W.hold.loc = hastie + if(istype(loc, /mob/living/carbon/human)) var/mob/living/carbon/human/H = loc H.update_inv_w_uniform() @@ -274,3 +285,23 @@ BLIND // can't see anything "\blue You draw \the [H.holstered], pointing it at the ground.") usr.put_in_hands(H.holstered) H.holstered = null + +/obj/item/clothing/under/proc/storage() + set name = "Look in storage" + set category = "Object" + set src in usr + if(!istype(usr, /mob/living)) return + if(usr.stat) return + + if (!hastie || !istype(hastie,/obj/item/clothing/tie/storage)) + usr << "\red You need something to store items in for that!" + return + var/obj/item/clothing/tie/storage/W = hastie + + if (!istype(W.hold)) + return + + W.hold.loc = usr + W.hold.attack_hand(usr) + + diff --git a/code/modules/clothing/under/ties.dm b/code/modules/clothing/under/ties.dm index 703b492163e..71a8e01c667 100644 --- a/code/modules/clothing/under/ties.dm +++ b/code/modules/clothing/under/ties.dm @@ -174,3 +174,56 @@ desc = "A handgun holster. Made of expensive leather." icon_state = "holster" color = "holster_low" + +/obj/item/clothing/tie/storage + name = "load beearing equipment" + desc = "Used to hold things when you don't have enough hands for that." + icon_state = "webbing" + color = "webbing" + var/slots = 3 + var/obj/item/weapon/storage/pockets/hold + +/obj/item/clothing/tie/storage/New() + hold = new /obj/item/weapon/storage/pockets(src) + hold.master_item = src + hold.storage_slots = slots + +/obj/item/clothing/tie/storage/attack_self(mob/user as mob) + user << "You empty [src]." + var/turf/T = get_turf(src) + hold.hide_from(usr) + for(var/obj/item/I in hold.contents) + hold.remove_from_storage(I, T) + src.add_fingerprint(user) + +/obj/item/clothing/tie/storage/attackby(obj/item/weapon/W as obj, mob/user as mob) + hold.attackby(W,user) + src.add_fingerprint(user) + +/obj/item/weapon/storage/pockets + name = "webbing pockets" + var/master_item //item it belongs to + +/obj/item/weapon/storage/pockets/close(mob/user as mob) + ..() + loc = master_item + +/obj/item/clothing/tie/storage/webbing + name = "webbing" + desc = "Strudy mess of synthcotton belts and buckles, ready to share your burden." + icon_state = "webbing" + color = "webbing" + +/obj/item/clothing/tie/storage/black_vest + name = "black webbing vest" + desc = "Robust black synthcotton vest with lots of pockets to hold whatever you need, but cannot hold in hands." + icon_state = "vest_black" + color = "vest_black" + slots = 5 + +/obj/item/clothing/tie/storage/brown_vest + name = "black webbing vest" + desc = "Worn brownish synthcotton vest with lots of pockets to unload your hands." + icon_state = "vest_brown" + color = "vest_brown" + slots = 5 \ No newline at end of file diff --git a/icons/mob/ties.dmi b/icons/mob/ties.dmi index 1d9bee649f7..8f487a3fe24 100644 Binary files a/icons/mob/ties.dmi and b/icons/mob/ties.dmi differ diff --git a/icons/obj/clothing/ties.dmi b/icons/obj/clothing/ties.dmi index 387ffaf3f37..4593ef6283d 100644 Binary files a/icons/obj/clothing/ties.dmi and b/icons/obj/clothing/ties.dmi differ