mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-18 19:44:58 +01:00
[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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user