diff --git a/code/game/objects/structures/guncase.dm b/code/game/objects/structures/guncase.dm index 1eee4fcf62d..f4c44002500 100644 --- a/code/game/objects/structures/guncase.dm +++ b/code/game/objects/structures/guncase.dm @@ -23,40 +23,44 @@ /obj/structure/guncase/update_icon() icon_state = "[case_type]-[contents.len]-[open ? "open" : "closed"]" -/obj/structure/guncase/attackby(obj/item/O, mob/user, params) - if(isrobot(usr) || isalien(usr)) +/obj/structure/guncase/attackby(obj/item/I, mob/user, params) + if(isrobot(user) || isalien(user)) return - if(istype(O, gun_category)) + if(istype(I, gun_category)) if(contents.len < 4 && open) user.drop_item() - contents += O - user << "You place [O] in [src]." + contents += I + user << "You place [I] in [src]." update_icon() - updateUsrDialog() - else - open = !open - update_icon() - else - open = !open - update_icon() + return + + open = !open + update_icon() /obj/structure/guncase/attack_hand(mob/user) if(isrobot(usr) || isalien(usr)) return if(contents.len && open) - var/dat = "[name]
" - for(var/i = contents.len, i >= 1, i--) - var/obj/item/O = contents[i] - dat += "[O.name]
" - dat += "
" - usr << browse(dat, "window=guncase;size=350x300") + ShowWindow(user) else open = !open update_icon() +/obj/structure/guncase/proc/ShowWindow(mob/user) + var/dat = {"
+

Stored Guns

+ "} + for(var/i = contents.len, i >= 1, i--) + var/obj/item/I = contents[i] + dat += "[I.name]
" + dat += "
" + + var/datum/browser/popup = new(user, "gunlocker", "
[name]
", 350, 300) + popup.set_content(dat) + popup.open(0) + /obj/structure/guncase/Topic(href, href_list) if(href_list["retrieve"]) - usr << browse("", "window=guncase") var/obj/item/O = locate(href_list["retrieve"]) if(!usr.canUseTopic(src)) return @@ -66,8 +70,6 @@ else O.loc = get_turf(src) update_icon() - updateUsrDialog() - /obj/structure/guncase/shotgun name = "shotgun locker"