[TESTMERGE CANDIDATE] [SEMI-MODULAR] AI and hologram QoL stuff + misc bugfixes (#19248)

* Standarized silicon examine stuff.

* There we actually go

* Fuck, finally.

* Let's do something to amend the double-messages

* fixing a dumb copypaste

* How dumb of me

* Amendments

* oh well, this should take care of some runtimes

* this too

* Okay now it should compile

* Oh well, might as well do this too

* Dear got, subtler is full of spaghetti. Even before I touched it. It legitimately deserves a fucking rewrite.

* one way to resolve a conflict

* ordered tgstation.dme correctly now

* fiiiixed
This commit is contained in:
Useroth
2023-03-24 16:27:18 +01:00
committed by GitHub
parent 7e49c8a33b
commit c76182a977
13 changed files with 132 additions and 70 deletions
@@ -26,6 +26,9 @@
. += "The wireless networking light is blinking."
else if (!shunted && !client)
. += "[src]Core.exe has stopped responding! NTOS is searching for a solution to the problem..."
//SKYRAT EDIT ADDITION BEGIN - CUSTOMIZATION
. += get_silicon_flavortext()
//SKYRAT EDIT ADDITION END
. += "</span>"
. += ..()
@@ -47,24 +47,7 @@
if(DEAD)
. += span_deadsay("It looks like its system is corrupted and requires a reset.")
//SKYRAT EDIT ADDITION BEGIN - CUSTOMIZATION
var/flavor_text_link
/// The first 1-FLAVOR_PREVIEW_LIMIT characters in the mob's client's silicon_flavor_text preference datum. FLAVOR_PREVIEW_LIMIT is defined in flavor_defines.dm.
var/silicon_preview_text = copytext_char((client?.prefs.read_preference(/datum/preference/text/silicon_flavor_text)), 1, FLAVOR_PREVIEW_LIMIT)
flavor_text_link = span_notice("[silicon_preview_text]... <a href='?src=[REF(src)];lookup_info=open_examine_panel'>Look closer?</a>")
if (flavor_text_link)
. += flavor_text_link
if(client)
var/erp_status_pref = client.prefs.read_preference(/datum/preference/choiced/erp_status)
if(erp_status_pref && erp_status_pref != "disabled")
. += span_notice("ERP STATUS: [erp_status_pref]")
if(temporary_flavor_text)
if(length_char(temporary_flavor_text) <= 40)
. += span_notice("<b>They look different than usual:</b> [temporary_flavor_text]")
else
. += span_notice("<b>They look different than usual:</b> [copytext_char(temporary_flavor_text, 1, 37)]... <a href='?src=[REF(src)];temporary_flavor=1'>More...</a>")
. += get_silicon_flavortext()
//SKYRAT EDIT ADDITION END
. += "</span>"
@@ -163,12 +163,6 @@
//Show alerts window if user clicked on "Show alerts" in chat
if(href_list["showalerts"])
alert_control.ui_interact(src)
// SKYRAT EDIT ADDITION -- Customization
if(href_list["lookup_info"])
tgui.holder = src
tgui.ui_interact(usr) //datum has a tgui component, here we open the window
// SKYRAT EDIT END
/mob/living/silicon/robot/get_cell()
return cell
+23
View File
@@ -260,6 +260,17 @@
var/list/hearers = get_hearers_in_view(vision_distance, src) //caches the hearers and then removes ignored mobs.
hearers -= ignored_mobs
//SKYRAT EDIT ADDITION BEGIN - AI QoL
for(var/mob/camera/ai_eye/ai_eye in hearers)
if(ai_eye.ai?.client && !(ai_eye.ai.stat == DEAD))
hearers -= ai_eye
hearers |= ai_eye.ai
for(var/obj/effect/overlay/holo_pad_hologram/holo in hearers)
if(holo.Impersonation?.client)
hearers |= holo.Impersonation
//SKYRAT EDIT ADDITION END - AI QoL
if(self_message)
hearers -= src
@@ -312,6 +323,18 @@
*/
/atom/proc/audible_message(message, deaf_message, hearing_distance = DEFAULT_MESSAGE_RANGE, self_message, audible_message_flags = NONE, separation = " ") // SKYRAT EDIT ADDITION - Better emotes
var/list/hearers = get_hearers_in_view(hearing_distance, src)
//SKYRAT EDIT ADDITION BEGIN - AI QoL
for(var/mob/camera/ai_eye/ai_eye in hearers)
if(ai_eye.ai?.client && !(ai_eye.ai.stat == DEAD))
hearers -= ai_eye
hearers |= ai_eye.ai
for(var/obj/effect/overlay/holo_pad_hologram/holo in hearers)
if(holo.Impersonation?.client)
hearers |= holo.Impersonation
//SKYRAT EDIT ADDITION END - AI QoL
if(self_message)
hearers -= src
var/raw_msg = message