mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-27 06:00:23 +01:00
implements whisper and subtle for soulcatcher mobs (#17212)
* implements whisper and subtle for soulcatcher mobs * . * .
This commit is contained in:
@@ -72,52 +72,77 @@
|
||||
/datum/nifsoft/soulcatcher/proc/notify_into(var/message)
|
||||
var/sound = nif.good_sound
|
||||
|
||||
message = " " + span_bold("Soulcatcher") + " displays, \"" + span_notice(span_nif("[message]")) + "\""
|
||||
|
||||
to_chat(nif.human,
|
||||
type = MESSAGE_TYPE_NIF,
|
||||
html = span_nif(span_bold("\[[icon2html(nif.big_icon, nif.human)]NIF\]") + " " + span_bold("Soulcatcher") + " displays, \"" + span_notice(span_nif("[message]")) + "\""))
|
||||
html = span_nif(span_bold("\[[icon2html(nif.big_icon, nif.human)]NIF\]") + message))
|
||||
nif.human << sound
|
||||
|
||||
for(var/mob/living/carbon/brain/caught_soul/CS as anything in brainmobs)
|
||||
to_chat(CS,
|
||||
type = MESSAGE_TYPE_NIF,
|
||||
html = span_nif(span_bold("\[[icon2html(nif.big_icon, CS.client)]NIF\]") + " " + span_bold("Soulcatcher") + " displays, \"" + span_notice(span_nif("[message]")) + "\""))
|
||||
html = span_nif(span_bold("\[[icon2html(nif.big_icon, CS.client)]NIF\]") + message))
|
||||
CS << sound
|
||||
|
||||
/datum/nifsoft/soulcatcher/proc/say_into(var/message, var/mob/living/sender, var/mob/eyeobj)
|
||||
/datum/nifsoft/soulcatcher/proc/say_into(var/message, var/mob/living/sender, var/mob/eyeobj, var/whisper)
|
||||
var/sender_name = eyeobj ? eyeobj.name : sender.name
|
||||
|
||||
//AR Projecting
|
||||
if(eyeobj)
|
||||
sender.eyeobj.visible_message(span_game(span_say(span_bold("[sender_name]") + " says, \"[message]\"")))
|
||||
var/speak_verb = "says"
|
||||
message = span_game(span_say(span_bold("[sender_name]") + " [speak_verb], \"[message]\""))
|
||||
if(whisper)
|
||||
speak_verb = "whispers"
|
||||
sender.eyeobj.visible_message(span_italics(message), range = 1)
|
||||
else
|
||||
sender.eyeobj.visible_message(message)
|
||||
|
||||
//Not AR Projecting
|
||||
else
|
||||
var/speak_verb = "speaks"
|
||||
message = " " + span_bold("[sender_name]") + " [speak_verb], \"[message]\""
|
||||
to_chat(nif.human,
|
||||
type = MESSAGE_TYPE_NIF,
|
||||
html = span_nif(span_bold("\[[icon2html(nif.big_icon, nif.human.client)]NIF\]") + " " + span_bold("[sender_name]") + " speaks, \"[message]\""))
|
||||
for(var/mob/living/carbon/brain/caught_soul/CS as anything in brainmobs)
|
||||
to_chat(CS,
|
||||
html = span_nif(span_bold("\[[icon2html(nif.big_icon, nif.human.client)]NIF\]") + message))
|
||||
if(whisper)
|
||||
speak_verb = "whispers"
|
||||
to_chat(sender,
|
||||
type = MESSAGE_TYPE_NIF,
|
||||
html = span_nif(span_bold("\[[icon2html(nif.big_icon, CS.client)]NIF\]") + " " + span_bold("[sender_name]") + " speaks, \"[message]\""))
|
||||
html = span_nif(span_bold("\[[icon2html(nif.big_icon, sender.client)]NIF\]") + span_italics(message)))
|
||||
else
|
||||
for(var/mob/living/carbon/brain/caught_soul/CS as anything in brainmobs)
|
||||
to_chat(CS,
|
||||
type = MESSAGE_TYPE_NIF,
|
||||
html = span_nif(span_bold("\[[icon2html(nif.big_icon, CS.client)]NIF\]") + message))
|
||||
|
||||
log_nsay(message,nif.human.real_name,sender)
|
||||
|
||||
/datum/nifsoft/soulcatcher/proc/emote_into(var/message, var/mob/living/sender, var/mob/eyeobj)
|
||||
/datum/nifsoft/soulcatcher/proc/emote_into(var/message, var/mob/living/sender, var/mob/eyeobj, var/whisper)
|
||||
var/sender_name = eyeobj ? eyeobj.name : sender.name
|
||||
|
||||
//AR Projecting
|
||||
if(eyeobj)
|
||||
sender.eyeobj.visible_message(span_emote("[sender_name] [message]"))
|
||||
var/range = world.view
|
||||
if(whisper)
|
||||
range = 1
|
||||
sender.eyeobj.visible_message(span_emote("[sender_name] [message]"), range = range)
|
||||
|
||||
//Not AR Projecting
|
||||
else
|
||||
message = " " + span_bold("[sender_name]") + " [message]"
|
||||
to_chat(nif.human,
|
||||
type = MESSAGE_TYPE_NIF,
|
||||
html = span_nif(span_bold("\[[icon2html(nif.big_icon,nif.human.client)]NIF\]") + " " + span_bold("[sender_name]") + " [message]"))
|
||||
for(var/mob/living/carbon/brain/caught_soul/CS as anything in brainmobs)
|
||||
to_chat(CS,
|
||||
html = span_nif(span_bold("\[[icon2html(nif.big_icon,nif.human.client)]NIF\]") + message))
|
||||
if(whisper)
|
||||
to_chat(sender,
|
||||
type = MESSAGE_TYPE_NIF,
|
||||
html = span_nif(span_bold("\[[icon2html(nif.big_icon,CS.client)]NIF\]") + " " + span_bold("[sender_name]") + " [message]"))
|
||||
html = span_nif(span_bold("\[[icon2html(nif.big_icon,sender.client)]NIF\]") + span_italics(message)))
|
||||
else
|
||||
for(var/mob/living/carbon/brain/caught_soul/CS as anything in brainmobs)
|
||||
to_chat(CS,
|
||||
type = MESSAGE_TYPE_NIF,
|
||||
html = span_nif(span_bold("\[[icon2html(nif.big_icon,CS.client)]NIF\]") + message))
|
||||
|
||||
log_nme(message,nif.human.real_name,sender)
|
||||
|
||||
@@ -347,16 +372,6 @@
|
||||
return FALSE
|
||||
..()
|
||||
|
||||
/mob/living/carbon/brain/caught_soul/me_verb_subtle()
|
||||
set hidden = TRUE
|
||||
|
||||
return FALSE
|
||||
|
||||
/mob/living/carbon/brain/caught_soul/whisper()
|
||||
set hidden = TRUE
|
||||
|
||||
return FALSE
|
||||
|
||||
/mob/living/carbon/brain/caught_soul/face_atom(var/atom/A)
|
||||
if(eyeobj)
|
||||
return eyeobj.face_atom(A)
|
||||
@@ -369,6 +384,14 @@
|
||||
else
|
||||
return ..(direction)
|
||||
|
||||
/mob/living/carbon/brain/caught_soul/me_verb_subtle(message as message)
|
||||
if(silent) return FALSE
|
||||
soulcatcher.emote_into(message,src,eyeobj,TRUE)
|
||||
|
||||
/mob/living/carbon/brain/caught_soul/whisper(message as text)
|
||||
if(silent) return FALSE
|
||||
soulcatcher.say_into(message,src,eyeobj,TRUE)
|
||||
|
||||
/mob/living/carbon/brain/caught_soul/say(var/message, var/datum/language/speaking = null, var/whispering = 0)
|
||||
if(silent) return FALSE
|
||||
soulcatcher.say_into(message,src,eyeobj)
|
||||
|
||||
Reference in New Issue
Block a user