Absorb Prey Names (#18237)

* Absorb Prey Names

* Test fixes (#15)

* Automatic changelog compile [ci skip]

* Floor tile placement and backend logic (#18228)

* tiletweak

* Update turfs.dm

* Automatic changelog for PR #18228 [ci skip]

* qucik test to telemetry (#18229)

* qucik test to telemetry

* .

* Bump actions/checkout from 4 to 5 (#18233)

Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Cell-Loaded Revolver Update (#18235)

Co-authored-by: Aroliacue <avaylaiss34@gmail.com>

* Automatic changelog for PR #18235 [ci skip]

* Absorb Prey Names

* Added warning + Fixed emotes

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: vorestation-ci[bot] <199609141+vorestation-ci[bot]@users.noreply.github.com>
Co-authored-by: Cameron Lennox <killer65311@gmail.com>
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Aroliacue <96730930+Aroliacue@users.noreply.github.com>
Co-authored-by: Aroliacue <avaylaiss34@gmail.com>

* Delete html/changelogs/AutoChangeLog-pr-18235.yml

* Delete html/changelogs/AutoChangeLog-pr-18228.yml

* why...

* .

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: fracshun <fracshun@gmail.com>
Co-authored-by: vorestation-ci[bot] <199609141+vorestation-ci[bot]@users.noreply.github.com>
Co-authored-by: Cameron Lennox <killer65311@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Aroliacue <96730930+Aroliacue@users.noreply.github.com>
Co-authored-by: Aroliacue <avaylaiss34@gmail.com>
This commit is contained in:
Kashargul
2025-08-13 18:24:38 -04:00
committed by GitHub
co-authored by dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Aroliacue vorestation-ci[bot] <199609141+vorestation-ci[bot]@users.noreply.github.com> Cameron Lennox dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Aroliacue fracshun vorestation-ci[bot] <199609141+vorestation-ci[bot]@users.noreply.github.com> dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
parent 61478b0f27
commit eee14587ca
12 changed files with 136 additions and 21 deletions
@@ -2,6 +2,10 @@
var/datum/component/shadekin/SK = get_shadekin_component()
if(SK && SK.in_phase)
return ""
if(absorbed && isbelly(loc))
var/obj/belly/B = loc
if(B.absorbedrename_enabled)
return "" // Don't use alt name if under absorbed rename.
if(name != GetVoice())
return " (as [get_id_name("Unknown")])"
@@ -107,6 +111,14 @@
return comp.mimicing
if(GetSpecialVoice())
return GetSpecialVoice()
if(absorbed && isbelly(loc)) // If absorbed in a belly, check and apply absorbed rename if applicable.
var/obj/belly/B = loc
if(B.absorbedrename_enabled)
var/formatted_name = B.absorbedrename_name
formatted_name = replacetext(formatted_name,"%pred",B.owner)
formatted_name = replacetext(formatted_name,"%belly",B.name)
formatted_name = replacetext(formatted_name,"%prey",name)
return formatted_name
return real_name
/mob/living/carbon/human/proc/SetSpecialVoice(var/new_voice)
+38 -12
View File
@@ -76,6 +76,14 @@
if(input)
log_subtle(message,src)
message = span_emote_subtle(span_bold("[src]") + " " + span_italics("[input]"))
if(src.absorbed && isbelly(src.loc))
var/obj/belly/B = src.loc
if(B.absorbedrename_enabled)
var/formatted_name = B.absorbedrename_name
formatted_name = replacetext(formatted_name,"%pred",B.owner)
formatted_name = replacetext(formatted_name,"%belly",B.name)
formatted_name = replacetext(formatted_name,"%prey",name)
message = span_emote_subtle(span_bold("[formatted_name]") + " " + span_italics("[input]"))
if(!(subtle_mode == "Adjacent Turfs (Default)"))
message = span_bold("(T) ") + message
else
@@ -272,6 +280,7 @@
var/f = FALSE //did we find someone to send the message to other than ourself?
var/mob/living/pb //predator body
var/mob/living/M = src
var/formatted_name = "\The [M]"
if(istype(M, /mob/living/dominated_brain))
var/mob/living/dominated_brain/db = M
if(db.loc != db.pred_body)
@@ -286,7 +295,15 @@
f = TRUE
else if(M.absorbed && isbelly(M.loc))
pb = M.loc.loc
to_chat(pb, span_psay("\The [M] thinks, \"[message]\"")) //To our pred if absorbed
var/obj/belly/B = M.loc
if(B.absorbedrename_enabled)
formatted_name = B.absorbedrename_name
formatted_name = replacetext(formatted_name,"%pred",B.owner)
formatted_name = replacetext(formatted_name,"%belly",B.name)
formatted_name = replacetext(formatted_name,"%prey","\The [M]")
to_chat(pb, span_psay("[formatted_name] thinks, \"[message]\""))
else
to_chat(pb, span_psay("\The [M] thinks, \"[message]\"")) //To our pred if absorbed
if(pb.read_preference(/datum/preference/toggle/subtle_sounds))
pb << sound('sound/talksounds/subtle_sound.ogg', volume = 50)
f = TRUE
@@ -303,7 +320,7 @@
for(var/B in pb.vore_organs)
for(var/mob/living/L in B)
if(L.absorbed && L != M && L.ckey)
to_chat(L, span_psay("\The [M] thinks, \"[message]\"")) //To any absorbed people in the pred
to_chat(L, span_psay("[formatted_name] thinks, \"[message]\"")) //To any absorbed people in the pred
if(L.read_preference(/datum/preference/toggle/subtle_sounds))
L << sound('sound/talksounds/subtle_sound.ogg', volume = 50)
f = TRUE
@@ -312,14 +329,14 @@
for(var/I in M.contents)
if(istype(I, /mob/living/dominated_brain))
var/mob/living/dominated_brain/db = I
to_chat(db, span_psay(span_bold("\The [M] thinks, \"[message]\""))) //To any dominated brains inside us
to_chat(db, span_psay(span_bold("[formatted_name] thinks, \"[message]\""))) //To any dominated brains inside us
if(db.read_preference(/datum/preference/toggle/subtle_sounds))
db << sound('sound/talksounds/subtle_sound.ogg', volume = 50)
f = TRUE
for(var/B in M.vore_organs)
for(var/mob/living/L in B)
if(L.absorbed)
to_chat(L, span_psay(span_bold("\The [M] thinks, \"[message]\""))) //To any absorbed people inside us
to_chat(L, span_psay(span_bold("[formatted_name] thinks, \"[message]\""))) //To any absorbed people inside us
if(L.read_preference(/datum/preference/toggle/subtle_sounds))
L << sound('sound/talksounds/subtle_sound.ogg', volume = 50)
f = TRUE
@@ -339,7 +356,7 @@
else if(isobserver(G) && G.client?.prefs?.read_preference(/datum/preference/toggle/ghost_ears) && \
G.client?.prefs?.read_preference(/datum/preference/toggle/ghost_see_whisubtle))
if(client?.prefs?.read_preference(/datum/preference/toggle/whisubtle_vis) || check_rights_for(G.client, R_HOLDER))
to_chat(G, span_psay("\The [M] thinks, \"[message]\""))
to_chat(G, span_psay("[formatted_name] thinks, \"[message]\""))
log_say(message,M)
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
@@ -368,6 +385,7 @@
var/f = FALSE //did we find someone to send the message to other than ourself?
var/mob/living/pb //predator body
var/mob/living/M = src
var/formatted_name = "\The [M]"
if(istype(M, /mob/living/dominated_brain))
var/mob/living/dominated_brain/db = M
if(db.loc != db.pred_body)
@@ -383,7 +401,15 @@
else if(M.absorbed && isbelly(M.loc))
pb = M.loc.loc
to_chat(pb, span_pemote("\The [M] [message]")) //To our pred if absorbed
var/obj/belly/B = M.loc
if(B.absorbedrename_enabled)
formatted_name = B.absorbedrename_name
formatted_name = replacetext(formatted_name,"%pred",B.owner)
formatted_name = replacetext(formatted_name,"%belly",B.name)
formatted_name = replacetext(formatted_name,"%prey","\The [M]")
to_chat(pb, span_pemote("[formatted_name] [message]"))
else
to_chat(pb, span_pemote("\The [M] [message]")) //To our pred if absorbed
if(pb.read_preference(/datum/preference/toggle/subtle_sounds))
pb << sound('sound/talksounds/subtle_sound.ogg', volume = 50)
f = TRUE
@@ -393,14 +419,14 @@
for(var/I in pb.contents)
if(istype(I, /mob/living/dominated_brain) && I != M)
var/mob/living/dominated_brain/db = I
to_chat(db, span_pemote("\The [M] [message]")) //To any dominated brains in the pred
to_chat(db, span_pemote("[formatted_name] [message]")) //To any dominated brains in the pred
if(db.read_preference(/datum/preference/toggle/subtle_sounds))
db << sound('sound/talksounds/subtle_sound.ogg', volume = 50)
f = TRUE
for(var/B in pb.vore_organs)
for(var/mob/living/L in B)
if(L.absorbed && L != M && L.ckey)
to_chat(L, span_pemote("\The [M] [message]")) //To any absorbed people in the pred
to_chat(L, span_pemote("[formatted_name] [message]")) //To any absorbed people in the pred
if(L.read_preference(/datum/preference/toggle/subtle_sounds))
L << sound('sound/talksounds/subtle_sound.ogg', volume = 50)
f = TRUE
@@ -409,21 +435,21 @@
for(var/I in M.contents)
if(istype(I, /mob/living/dominated_brain))
var/mob/living/dominated_brain/db = I
to_chat(db, span_pemote(span_bold("\The [M] [message]"))) //To any dominated brains inside us
to_chat(db, span_pemote(span_bold("[formatted_name] [message]"))) //To any dominated brains inside us
if(db.read_preference(/datum/preference/toggle/subtle_sounds))
db << sound('sound/talksounds/subtle_sound.ogg', volume = 50)
f = TRUE
for(var/B in M.vore_organs)
for(var/mob/living/L in B)
if(L.absorbed)
to_chat(L, span_pemote(span_bold("\The [M] [message]"))) //To any absorbed people inside us
to_chat(L, span_pemote(span_bold("[formatted_name] [message]"))) //To any absorbed people inside us
if(L.read_preference(/datum/preference/toggle/subtle_sounds))
L << sound('sound/talksounds/subtle_sound.ogg', volume = 50)
f = TRUE
if(f) //We found someone to send the message to
if(pb)
to_chat(M, span_pemote("\The [M] [message]")) //To us if we are the prey
to_chat(M, span_pemote("[formatted_name] [message]")) //To us if we are the prey
if(M.read_preference(/datum/preference/toggle/subtle_sounds))
M << sound('sound/talksounds/subtle_sound.ogg', volume = 50)
else
@@ -436,7 +462,7 @@
else if(isobserver(G) && G.client?.prefs?.read_preference(/datum/preference/toggle/ghost_ears) && \
G.client?.prefs?.read_preference(/datum/preference/toggle/ghost_see_whisubtle))
if(client?.prefs?.read_preference(/datum/preference/toggle/whisubtle_vis) || check_rights_for(G.client, R_HOLDER))
to_chat(G, span_pemote("\The [M] [message]"))
to_chat(G, span_pemote("[formatted_name] [message]"))
log_say(message,M)
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