mirror of
https://github.com/Citadel-Station-13/Citadel-Station-13-RP.git
synced 2026-08-18 13:06:56 +01:00
* Initial Commit * [Broken] Bout to do something dumb * This might be a bad ieda * Beh * Rename Beacon.dm to beacon.dm * Fixes my dumb mistake
38 lines
1.0 KiB
Plaintext
38 lines
1.0 KiB
Plaintext
/atom/proc/DefaultTopicState()
|
|
return GLOB.default_state
|
|
|
|
/atom/Topic(href, href_list, var/datum/topic_state/state = default_state)
|
|
if(usr && ..())
|
|
return TRUE
|
|
|
|
state = state || DefaultTopicState() || GLOB.default_state
|
|
|
|
// In the far future no checks are made in an overriding Topic() beyond if(..()) return
|
|
// Instead any such checks are made in CanUseTopic()
|
|
if(CanUseTopic(usr, state, href_list) == UI_INTERACTIVE)
|
|
CouldUseTopic(usr)
|
|
return FALSE
|
|
|
|
CouldNotUseTopic(usr)
|
|
return TRUE
|
|
|
|
/obj/CanUseTopic(var/mob/user, var/datum/topic_state/state = default_state)
|
|
if(user.CanUseObjTopic(src))
|
|
return ..()
|
|
to_chat(user, "<span class='danger'>[icon2html(thing = src, target = user)] Access Denied!</span>")
|
|
return UI_CLOSE
|
|
|
|
/mob/living/silicon/CanUseObjTopic(var/obj/O)
|
|
var/id = src.GetIdCard()
|
|
return O.check_access(id)
|
|
|
|
/mob/proc/CanUseObjTopic()
|
|
return TRUE
|
|
|
|
/atom/proc/CouldUseTopic(var/mob/user)
|
|
var/atom/host = nano_host()
|
|
host.add_hiddenprint(user)
|
|
|
|
/atom/proc/CouldNotUseTopic(var/mob/user)
|
|
// Nada
|