Files
GS13/code/modules/tgui/states/not_incapacitated.dm
2019-09-23 18:26:34 +02:00

29 lines
827 B
Plaintext

/**
* tgui state: not_incapacitated_state
*
* Checks that the user isn't incapacitated
**/
GLOBAL_DATUM_INIT(not_incapacitated_state, /datum/ui_state/not_incapacitated_state, new)
/**
* tgui state: not_incapacitated_turf_state
*
* Checks that the user isn't incapacitated and that their loc is a turf
**/
GLOBAL_DATUM_INIT(not_incapacitated_turf_state, /datum/ui_state/not_incapacitated_state, new(no_turfs = TRUE))
/datum/ui_state/not_incapacitated_state
var/turf_check = FALSE
/datum/ui_state/not_incapacitated_state/New(loc, no_turfs = FALSE)
..()
turf_check = no_turfs
/datum/ui_state/not_incapacitated_state/can_use_topic(src_object, mob/user)
if(user.stat)
return UI_CLOSE
if(user.incapacitated() || user.lying || (turf_check && !isturf(user.loc)))
return UI_DISABLED
return UI_INTERACTIVE