mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-14 00:23:29 +01:00
Noticeboard updates. Mostly just tidying up, but noticeboards now grab paper on the same tile as them on round start. This is mainly so away missions can have things pinned to noticeboards.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4665 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -1,31 +1,39 @@
|
||||
/obj/structure/noticeboard
|
||||
name = "Notice Board"
|
||||
name = "notice board"
|
||||
desc = "A board for pinning important notices upon."
|
||||
icon = 'icons/obj/stationobjs.dmi'
|
||||
icon_state = "nboard00"
|
||||
flags = FPRINT
|
||||
desc = "A board for pinning important notices upon."
|
||||
density = 0
|
||||
anchored = 1
|
||||
var/notices = 0
|
||||
|
||||
/obj/structure/noticeboard/initialize()
|
||||
for(var/obj/item/I in loc)
|
||||
if(notices > 4) break
|
||||
if(istype(I, /obj/item/weapon/paper))
|
||||
I.loc = src
|
||||
notices++
|
||||
icon_state = "nboard0[notices]"
|
||||
|
||||
//attaching papers!!
|
||||
/obj/structure/noticeboard/attackby(var/obj/item/weapon/O as obj, var/mob/user as mob)
|
||||
if (istype(O, /obj/item/weapon/paper))
|
||||
if (src.notices < 5)
|
||||
if(istype(O, /obj/item/weapon/paper))
|
||||
if(notices < 5)
|
||||
O.add_fingerprint(user)
|
||||
src.add_fingerprint(user)
|
||||
add_fingerprint(user)
|
||||
user.drop_item()
|
||||
O.loc = src
|
||||
src.notices++
|
||||
src.icon_state = text("nboard0[]", src.notices) //update sprite
|
||||
user << "\blue You pin the paper to the noticeboard."
|
||||
notices++
|
||||
icon_state = "nboard0[notices]" //update sprite
|
||||
user << "<span class='notice'>You pin the paper to the noticeboard.</span>"
|
||||
else
|
||||
user << "\red You reach to pin your paper to the board but hesitate. You are certain your paper will not be seen among the many others already attached."
|
||||
user << "<span class='notice'>You reach to pin your paper to the board but hesitate. You are certain your paper will not be seen among the many others already attached.</span>"
|
||||
|
||||
/obj/structure/noticeboard/attack_hand(user as mob)
|
||||
var/dat = "<B>Noticeboard</B><BR>"
|
||||
for(var/obj/item/weapon/paper/P in src)
|
||||
dat += text("<A href='?src=\ref[];read=\ref[]'>[]</A> <A href='?src=\ref[];write=\ref[]'>Write</A> <A href='?src=\ref[];remove=\ref[]'>Remove</A><BR>", src, P, P.name, src, P, src, P)
|
||||
dat += "<A href='?src=\ref[src];read=\ref[P]'>[P.name]</A> <A href='?src=\ref[src];write=\ref[P]'>Write</A> <A href='?src=\ref[src];remove=\ref[P]'>Remove</A><BR>"
|
||||
user << browse("<HEAD><TITLE>Notices</TITLE></HEAD>[dat]","window=noticeboard")
|
||||
onclose(user, "noticeboard")
|
||||
|
||||
@@ -33,43 +41,40 @@
|
||||
/obj/structure/noticeboard/Topic(href, href_list)
|
||||
..()
|
||||
usr.machine = src
|
||||
if (href_list["remove"])
|
||||
if ((usr.stat || usr.restrained())) //For when a player is handcuffed while they have the notice window open
|
||||
usr << "\red It's a bit hard to remove the notice when you're restrained like this."
|
||||
if(href_list["remove"])
|
||||
if((usr.stat || usr.restrained())) //For when a player is handcuffed while they have the notice window open
|
||||
return
|
||||
var/obj/item/P = locate(href_list["remove"])
|
||||
if ((P && P.loc == src))
|
||||
P.loc = get_turf(src) //dump paper on the floor because you're a clumsy fuck
|
||||
P.layer = 20
|
||||
if((P && P.loc == src))
|
||||
P.loc = get_turf(src) //dump paper on the floor because you're a clumsy fuck
|
||||
P.add_fingerprint(usr)
|
||||
src.add_fingerprint(usr)
|
||||
src.notices--
|
||||
src.icon_state = text("nboard0[]", src.notices)
|
||||
add_fingerprint(usr)
|
||||
notices--
|
||||
icon_state = "nboard0[notices]"
|
||||
|
||||
if(href_list["write"])
|
||||
if ((usr.stat || usr.restrained())) //For when a player is handcuffed while they have the notice window open
|
||||
usr << "\red It's a bit hard to write when you're restrained like this."
|
||||
if((usr.stat || usr.restrained())) //For when a player is handcuffed while they have the notice window open
|
||||
return
|
||||
var/obj/item/P = locate(href_list["write"])
|
||||
|
||||
if((P && P.loc == src)) //if the paper's on the board
|
||||
if (istype(usr.r_hand, /obj/item/weapon/pen)) //and you're holding a pen
|
||||
src.add_fingerprint(usr)
|
||||
if((P && P.loc == src)) //ifthe paper's on the board
|
||||
if(istype(usr.r_hand, /obj/item/weapon/pen)) //and you're holding a pen
|
||||
add_fingerprint(usr)
|
||||
P.attackby(usr.r_hand, usr) //then do ittttt
|
||||
else
|
||||
if (istype(usr.l_hand, /obj/item/weapon/pen)) //check other hand for pen
|
||||
src.add_fingerprint(usr)
|
||||
if(istype(usr.l_hand, /obj/item/weapon/pen)) //check other hand for pen
|
||||
add_fingerprint(usr)
|
||||
P.attackby(usr.l_hand, usr)
|
||||
else
|
||||
usr << "\red You'll need something to write with!"
|
||||
usr << "<span class='notice'>You'll need something to write with!</span>"
|
||||
|
||||
if (href_list["read"])
|
||||
if(href_list["read"])
|
||||
var/obj/item/weapon/paper/P = locate(href_list["read"])
|
||||
if ((P && P.loc == src))
|
||||
if (!( istype(usr, /mob/living/carbon/human) ))
|
||||
usr << browse(text("<HTML><HEAD><TITLE>[]</TITLE></HEAD><BODY><TT>[]</TT></BODY></HTML>", P.name, stars(P.info)), text("window=[]", P.name))
|
||||
if((P && P.loc == src))
|
||||
if(!( istype(usr, /mob/living/carbon/human) ))
|
||||
usr << browse("<HTML><HEAD><TITLE>[P.name]</TITLE></HEAD><BODY><TT>[stars(P.info)]</TT></BODY></HTML>", "window=[P.name]")
|
||||
onclose(usr, "[P.name]")
|
||||
else
|
||||
usr << browse(text("<HTML><HEAD><TITLE>[]</TITLE></HEAD><BODY><TT>[]</TT></BODY></HTML>", P.name, P.info), text("window=[]", P.name))
|
||||
usr << browse("<HTML><HEAD><TITLE>[P.name]</TITLE></HEAD><BODY><TT>[P.info]</TT></BODY></HTML>", "window=[P.name]")
|
||||
onclose(usr, "[P.name]")
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user