From 4f0763ada46bdadfc08b51bf85c190596b2c327c Mon Sep 17 00:00:00 2001 From: Erthilo Date: Sat, 19 May 2012 01:44:24 +0100 Subject: [PATCH] TG: - Wallets once again spawn in the satchels in the cabinets in the dorm. - Wallets now fit in pockets - If you are clicking on a storage item in your pocket with an empty hand it will return that item to your hand Revision: r3610 Author: baloh.matevz --- code/defines/obj/storage.dm | 3 +++ code/game/objects/closets/secure/personal.dm | 2 +- code/game/objects/storage/storage.dm | 14 +++++++++++++- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/code/defines/obj/storage.dm b/code/defines/obj/storage.dm index be2e9bc8bd..416ff2dfe8 100644 --- a/code/defines/obj/storage.dm +++ b/code/defines/obj/storage.dm @@ -129,8 +129,10 @@ desc = "It's a very robust satchel to wear on your back." icon_state = "satchel" +/obj/item/weapon/storage/backpack/satchel/withwallet New() ..() + new /obj/item/weapon/storage/wallet/random( src ) /obj/item/weapon/storage/backpack/bandolier name = "bandolier" @@ -211,6 +213,7 @@ desc = "It can hold a few small and personal things." storage_slots = 4 icon_state = "wallet" + w_class = 2 can_hold = list( "/obj/item/weapon/spacecash", "/obj/item/weapon/card", diff --git a/code/game/objects/closets/secure/personal.dm b/code/game/objects/closets/secure/personal.dm index c9f05e3a3e..508a80cabb 100644 --- a/code/game/objects/closets/secure/personal.dm +++ b/code/game/objects/closets/secure/personal.dm @@ -26,7 +26,7 @@ ..() spawn(4) contents = list() - new /obj/item/weapon/storage/backpack/satchel( src ) + new /obj/item/weapon/storage/backpack/satchel/withwallet( src ) new /obj/item/device/radio/headset( src ) return diff --git a/code/game/objects/storage/storage.dm b/code/game/objects/storage/storage.dm index f5fb5c3858..4cf94bd067 100644 --- a/code/game/objects/storage/storage.dm +++ b/code/game/objects/storage/storage.dm @@ -207,6 +207,19 @@ /obj/item/weapon/storage/attack_hand(mob/user as mob) playsound(src.loc, "rustle", 50, 1, -5) + + if(ishuman(user)) + var/mob/living/carbon/human/H = user + if(H.l_store == src && !H.get_active_hand()) + H.put_in_hand(src) + H.l_store = null + return + if(H.r_store == src && !H.get_active_hand()) + H.put_in_hand(src) + H.r_store = null + return + + src.orient2hud(user) if (src.loc == user) if (user.s_active) user.s_active.close(user) @@ -216,7 +229,6 @@ for(var/mob/M in range(1)) if (M.s_active == src) src.close(M) - src.orient2hud(user) src.add_fingerprint(user) return