fixes for two communication bugs and feature added for ghosts in belly

This commit is contained in:
TheGreatKitsune
2022-05-28 00:50:34 -05:00
parent 6a01e67020
commit ce8b98f2ee
4 changed files with 22 additions and 4 deletions

View File

@@ -204,7 +204,12 @@
if(M)
if(isobserver(M))
message = "<span class='emote'><B>[src]</B> ([ghost_follow_link(src, M)]) [input]</span>"
//CHOMPEdit Start - If you are in the same tile, right next to, or being held by a person doing an emote, you should be able to see it while blind
if(m_type != AUDIBLE_MESSAGE && (src.Adjacent(M) || (istype(src.loc, /obj/item/weapon/holder) && src.loc.loc == M)))
M.show_message(message)
else
M.show_message(message, m_type)
//CHOMPEdit End
M.create_chat_message(src, "[runemessage]", FALSE, list("emote"), (m_type == AUDIBLE_MESSAGE))
for(var/obj/O as anything in o_viewers)

View File

@@ -410,7 +410,7 @@ var/list/channel_to_radio_key = new
/mob/living/proc/say_signlang(var/message, var/verb="gestures", var/verb_understood="gestures", var/datum/language/language, var/type = 1)
var/turf/T = get_turf(src)
//We're in something, gesture to people inside the same thing
if(loc != T)
if(loc != T && !istype(loc, /obj/item/weapon/holder)) //CHOMPEdit - Partially fixes sign language while being held.
for(var/mob/M in loc)
M.hear_signlang(message, verb, verb_understood, language, src, type)

View File

@@ -106,8 +106,21 @@
if(speaking.flags & NONVERBAL)
if(sdisabilities & BLIND || blinded)
return FALSE
if(!other || !(other in view(src)))
if(!other) //CHOMPEdit - Fixes seeing non-verbal languages while being held
return FALSE
//CHOMPEdit Start - Fixes seeing non-verbal languages while being held
if(istype(other.loc, /obj/item/weapon/holder))
if(istype(src.loc, /obj/item/weapon/holder))
if(!(other.loc in view(src.loc.loc)))
return FALSE
else if(!(other.loc in view(src)))
return FALSE
else if(istype(src.loc, /obj/item/weapon/holder))
if(!other in view(src.loc.loc))
return FALSE
else if(!other in view(src))
return FALSE
//CHOMPEdit End
//Language check.
for(var/datum/language/L in languages)

View File

@@ -61,7 +61,7 @@
var/list/vis_objs = vis["objs"]
for(var/mob/M as anything in vis_mobs)
if(isobserver(M) && !is_preference_enabled(/datum/client_preference/whisubtle_vis) && !M.client?.holder)
if(isobserver(M) && !(is_preference_enabled(/datum/client_preference/whisubtle_vis) && !(isbelly(M.loc) && src == M.loc:owner)) && !M.client?.holder) //CHOMPEdit - Added the belly check so that ghosts in bellies can still see their pred's messages.
spawn(0)
M.show_message(undisplayed_message, 2)
else