e13725b179
🆑 bugfix: Clicking the (F) link when an AI talks in binary chat will follow its camera eye, the same as when (F) is clicked for its radio chat. /🆑 FOLLOW_LINK is a define that creates the clickable (F) link, so it doesn't have to be typed painstakingly out every time we want to give that link to an observer.
78 lines
2.0 KiB
Plaintext
78 lines
2.0 KiB
Plaintext
//Speech verbs.
|
|
/mob/verb/say_verb(message as text)
|
|
set name = "Say"
|
|
set category = "IC"
|
|
if(say_disabled) //This is here to try to identify lag problems
|
|
usr << "<span class='danger'>Speech is currently admin-disabled.</span>"
|
|
return
|
|
usr.say(message)
|
|
|
|
/mob/verb/whisper(message as text)
|
|
set name = "Whisper"
|
|
set category = "IC"
|
|
return
|
|
|
|
/mob/verb/me_verb(message as text)
|
|
set name = "Me"
|
|
set category = "IC"
|
|
|
|
if(say_disabled) //This is here to try to identify lag problems
|
|
usr << "<span class='danger'>Speech is currently admin-disabled.</span>"
|
|
return
|
|
|
|
message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN))
|
|
|
|
usr.emote("me",1,message)
|
|
|
|
/mob/proc/say_dead(var/message)
|
|
var/name = real_name
|
|
var/alt_name = ""
|
|
|
|
if(say_disabled) //This is here to try to identify lag problems
|
|
usr << "<span class='danger'>Speech is currently admin-disabled.</span>"
|
|
return
|
|
|
|
var/mob/dead/observer/O = src
|
|
if(isobserver(src) && O.deadchat_name)
|
|
name = "[O.deadchat_name]"
|
|
else
|
|
if(mind && mind.name)
|
|
name = "[mind.name]"
|
|
else
|
|
name = real_name
|
|
if(name != real_name)
|
|
alt_name = " (died as [real_name])"
|
|
|
|
var/K
|
|
|
|
if(key)
|
|
K = src.key
|
|
|
|
message = src.say_quote(message, get_spans())
|
|
var/rendered = "<span class='game deadsay'><span class='prefix'>DEAD:</span> <span class='name'>[name]</span>[alt_name] <span class='message'>[message]</span></span>"
|
|
|
|
for(var/mob/M in player_list)
|
|
var/adminoverride = 0
|
|
if(M.client && M.client.holder && (M.client.prefs.chat_toggles & CHAT_DEAD))
|
|
adminoverride = 1
|
|
if(istype(M, /mob/new_player) && !adminoverride)
|
|
continue
|
|
if(M.stat != DEAD && !adminoverride)
|
|
continue
|
|
if(K && M.client && K in M.client.prefs.ignoring)
|
|
continue
|
|
if(istype(M, /mob/dead/observer))
|
|
var/link = FOLLOW_LINK(M, src)
|
|
M << "[link] [rendered]"
|
|
else
|
|
M << "[rendered]"
|
|
|
|
/mob/proc/emote(var/act)
|
|
return
|
|
|
|
/mob/proc/hivecheck()
|
|
return 0
|
|
|
|
/mob/proc/lingcheck()
|
|
return 0
|