Files
Paradise/code/modules/nano/interaction/not_incapacitated.dm
T
2017-03-09 12:36:47 -03:00

25 lines
770 B
Plaintext

/**
* This state only checks if the user isn't incapacitated
**/
/var/global/datum/topic_state/not_incapacitated_state/not_incapacitated_state = new()
/**
* This state checks if the user isn't incapacitated and that their loc is a turf
**/
/var/global/datum/topic_state/not_incapacitated_state/not_incapacitated_turf_state = new(no_turfs = TRUE)
/datum/topic_state/not_incapacitated_state
var/turf_check = FALSE
/datum/topic_state/not_incapacitated_state/New(loc, no_turfs = FALSE)
..()
turf_check = no_turfs
/datum/topic_state/not_incapacitated_state/can_use_topic(src_object, mob/user)
if(user.stat)
return STATUS_CLOSE
if(user.incapacitated() || user.lying || (turf_check && !isturf(user.loc)))
return STATUS_DISABLED
return STATUS_INTERACTIVE