diff --git a/code/modules/mob/say_vr.dm b/code/modules/mob/say_vr.dm
index 389d726d982..a0819a21eec 100644
--- a/code/modules/mob/say_vr.dm
+++ b/code/modules/mob/say_vr.dm
@@ -114,9 +114,9 @@
///// PSAY /////
/mob/verb/psay(message as text|null)
- set category = "Abilities"
+ set category = "IC"
set name = "Psay"
- set desc = "Talk to an absorbed or dominated predator/prey."
+ set desc = "Talk to people affected by complete absorbed or dominate predator/prey."
if (src.client)
if(client.prefs.muted & MUTE_IC)
@@ -145,14 +145,10 @@
pb = db.pred_body
to_chat(pb, "The captive mind of \the [M] thinks, \"[message]\"") //To our pred if dominated brain
f = TRUE
- else if(M.forced_psay && M.absorbed)
- if(isbelly(M.loc))
- pb = M.loc.loc
- to_chat(pb, "\The [M] thinks, \"[message]\"") //To our pred if absorbed
- f = TRUE
- else
- M.forced_psay = FALSE
- M.say(message)
+ else if(M.forced_psay && M.absorbed && isbelly(M.loc))
+ pb = M.loc.loc
+ to_chat(pb, "\The [M] thinks, \"[message]\"") //To our pred if absorbed
+ f = TRUE
if(pb) //We are prey, let's do the prey thing.
@@ -179,23 +175,27 @@
to_chat(L, "\The [M] thinks, \"[message]\"") //To any absorbed people inside us
f = TRUE
- if(f) //We found someone to send the message to, let's not print the failed message.
- to_chat(M, "You think \"[message]\"") //To us, if we found anyone to send the message to
+ if(f) //We found someone to send the message to
+ if(pb)
+ to_chat(M, "You think \"[message]\"") //To us if we are the prey
+ else
+ to_chat(M, "You think \"[message]\"") //To us if we are the pred
for (var/mob/G in player_list)
if (istype(G, /mob/new_player))
continue
else if(G.stat == DEAD && G.is_preference_enabled(/datum/client_preference/ghost_ears))
- to_chat(G, "\The [M] thinks, \"[message]\"")
+ to_chat(G, "\The [M] thinks, \"[message]\"")
log_say(message,M)
- else
- to_chat(M, "There is no one inside you to talk to... ([message])") //So sad
+ else //There wasn't anyone to send the message to, pred or prey, so let's just say it instead and correct our psay just in case.
+ M.forced_psay = FALSE
+ M.say(message)
///// PME /////
/mob/verb/pme(message as text|null)
- set category = "Abilities"
+ set category = "IC"
set name = "Pme"
- set desc = "Emote to an absorbed or dominated predator/prey."
+ set desc = "Emote to people affected by complete absorbed or dominate predator/prey."
if (src.client)
if(client.prefs.muted & MUTE_IC)
@@ -222,17 +222,16 @@
return
else
pb = db.pred_body
- if(M.forced_psay)
- if(isbelly(M.loc) && M.absorbed)
- pb = M.loc.loc
- else
- M.forced_psay = FALSE
- M.me_verb(message)
+ to_chat(pb, "The captive mind of \the [M] thinks, \"[message]\"") //To our pred if dominated brain
+ f = TRUE
+
+ else if(M.forced_psay && M.absorbed && isbelly(M.loc))
+ pb = M.loc.loc
+ to_chat(pb, "\The [M] [message]") //To our pred if absorbed
+ f = TRUE
if(pb) //We are prey, let's do the prey thing.
- to_chat(pb, "\The [M] [message]") //To our pred
- f = TRUE
for(var/I in pb.contents)
if(istype(I, /mob/living/dominated_brain) && I != M)
var/mob/living/dominated_brain/db = I
@@ -256,13 +255,17 @@
to_chat(L, "\The [M] [message]") //To any absorbed people inside us
f = TRUE
- if(f) //We found someone to send the message to, let's not print the failed message.
- to_chat(M, "\The [M] [message]") //To us, if we found anyone to send the message to
+ if(f) //We found someone to send the message to
+ if(pb)
+ to_chat(M, "\The [M] [message]") //To us if we are the prey
+ else
+ to_chat(M, "\The [M] [message]") //To us if we are the pred
for (var/mob/G in player_list)
if (istype(G, /mob/new_player))
continue
else if(G.stat == DEAD && G.is_preference_enabled(/datum/client_preference/ghost_ears))
- to_chat(G, "\The [M] [message]")
+ to_chat(G, "\The [M] [message]")
log_say(message,M)
- else
- to_chat(M, "There is no one inside you to talk to... ([message])") //So sad
+ else //There wasn't anyone to send the message to, pred or prey, so let's just emote it instead and correct our psay just in case.
+ M.forced_psay = FALSE
+ M.me_verb(message)
diff --git a/code/modules/vore/eating/belly_obj_vr.dm b/code/modules/vore/eating/belly_obj_vr.dm
index bc6b6a841df..85d4fca868c 100644
--- a/code/modules/vore/eating/belly_obj_vr.dm
+++ b/code/modules/vore/eating/belly_obj_vr.dm
@@ -59,7 +59,7 @@
//Actual full digest modes
var/tmp/static/list/digest_modes = list(DM_HOLD,DM_DIGEST,DM_ABSORB,DM_DRAIN,DM_UNABSORB,DM_HEAL,DM_SHRINK,DM_GROW,DM_SIZE_STEAL,DM_EGG)
//Digest mode addon flags
- var/tmp/static/list/mode_flag_list = list("Numbing" = DM_FLAG_NUMBING, "Stripping" = DM_FLAG_STRIPPING, "Leave Remains" = DM_FLAG_LEAVEREMAINS, "Muffles" = DM_FLAG_THICKBELLY, "Affect Worn Items" = DM_FLAG_AFFECTWORN, "Jams Sensors" = DM_FLAG_JAMSENSORS, "Turbo Absorb" = DM_FLAG_FORCEPSAY)
+ var/tmp/static/list/mode_flag_list = list("Numbing" = DM_FLAG_NUMBING, "Stripping" = DM_FLAG_STRIPPING, "Leave Remains" = DM_FLAG_LEAVEREMAINS, "Muffles" = DM_FLAG_THICKBELLY, "Affect Worn Items" = DM_FLAG_AFFECTWORN, "Jams Sensors" = DM_FLAG_JAMSENSORS, "Complete Absorb" = DM_FLAG_FORCEPSAY)
//Item related modes
var/tmp/static/list/item_digest_modes = list(IM_HOLD,IM_DIGEST_FOOD,IM_DIGEST)
@@ -130,7 +130,7 @@
"You feel %prey becoming part of you.")
var/list/absorb_messages_prey = list(
- "Your feel yourself becoming part of %pred's %belly!")
+ "You feel yourself becoming part of %pred's %belly!")
var/list/unabsorb_messages_owner = list(
"You feel %prey reform into a recognizable state again.")