diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm
index 262c90379c3..4e66a3d1ecc 100644
--- a/code/game/gamemodes/cult/ritual.dm
+++ b/code/game/gamemodes/cult/ritual.dm
@@ -63,9 +63,9 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology",
usr.say("O bidai nabora se[pick("'","`")]sma!")
sleep(10)
usr.say("[input]")
- for(var/datum/mind/H in ticker.mode.cult)
- if (H.current)
- H.current << "[input]"
+ for(var/mob/M in mob_list)
+ if((M.mind && (M.mind in ticker.mode.cult)) || (M in dead_mob_list))
+ M << "[input]"
return
#undef CHECK_STATUS
diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm
index 2b16cdcc366..fb07c3c966c 100644
--- a/code/game/gamemodes/cult/runes.dm
+++ b/code/game/gamemodes/cult/runes.dm
@@ -574,9 +574,9 @@ var/list/sacrificed = list()
usr.say("[input]")
else
usr.whisper("[input]")
- for(var/datum/mind/H in ticker.mode.cult)
- if (H.current)
- H.current << "[input]"
+ for(var/mob/M in mob_list)
+ if((M.mind && (M.mind in ticker.mode.cult)) || (M in dead_mob_list))
+ M << "[input]"
return 1
/////////////////////////////////////////FIFTEENTH RUNE
diff --git a/code/modules/mob/living/carbon/alien/say.dm b/code/modules/mob/living/carbon/alien/say.dm
index a65299adfc1..7c95bf37b74 100644
--- a/code/modules/mob/living/carbon/alien/say.dm
+++ b/code/modules/mob/living/carbon/alien/say.dm
@@ -11,7 +11,7 @@
var/message_a = say_quote(message)
var/rendered = "Hivemind, [name] [message_a]"
for(var/mob/S in player_list)
- if((!S.stat && (S.hivecheck())) || (S.stat == DEAD && !istype(S, /mob/new_player)))
+ if((!S.stat && (S.hivecheck())) || (S in dead_mob_list))
S << rendered
/mob/living/carbon/alien/handle_inherent_channels(message, message_mode)
diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm
index 4c4ee69543c..3a08fa464f5 100644
--- a/code/modules/mob/living/say.dm
+++ b/code/modules/mob/living/say.dm
@@ -222,14 +222,14 @@ var/list/department_radio_keys = list(
var/msg = "[mind.changeling.changelingID]: [message]"
log_say("[mind.changeling.changelingID]/[src.key] : [message]")
for(var/mob/M in mob_list)
- if(M.stat == DEAD && !istype(M, /mob/new_player))
+ if(M in dead_mob_list)
M << msg
else
switch(M.lingcheck())
if(2)
M << msg
if(1)
- if(prob(30))
+ if(prob(40))
M << "We can faintly sense another of our kind trying to communicate through the hivemind..."
return 1
if(1)
diff --git a/code/modules/mob/living/silicon/say.dm b/code/modules/mob/living/silicon/say.dm
index 662c92dabd1..9dd1325113a 100644
--- a/code/modules/mob/living/silicon/say.dm
+++ b/code/modules/mob/living/silicon/say.dm
@@ -10,7 +10,7 @@
var/message_a = say_quote(message)
var/rendered = "Robotic Talk, [name] [message_a]"
for(var/mob/M in player_list)
- if(M.binarycheck() || (M.stat == DEAD && (M.client.prefs.toggles & CHAT_GHOSTEARS) && !istype(M, /mob/new_player)))
+ if(M.binarycheck() || (M in dead_mob_list))
if(istype(M, /mob/living/silicon/ai))
var/renderedAI = "Robotic Talk, [name] ([desig]) [message_a]"
M << renderedAI
@@ -51,7 +51,7 @@
. = ..()
if(.)
return .
-
+
if(message_mode == MODE_BINARY)
if(binarycheck())
robot_talk(message)