diff --git a/code/datums/elements/flavor_text.dm b/code/datums/elements/flavor_text.dm
index 9cfd91e8..245f61a7 100644
--- a/code/datums/elements/flavor_text.dm
+++ b/code/datums/elements/flavor_text.dm
@@ -68,7 +68,7 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
if(examine_no_preview)
examine_list += "\[[flavor_name]\]"
return
- var/msg = replacetext(text, "\n", " ")
+ var/msg = replacetext(text, "\n", "
") // preserve newlines
if(length_char(msg) <= 40)
examine_list += "[msg]"
else
@@ -76,14 +76,22 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
//Examine Tab stuff - Hyperstation
examineTabOutput = "
"
+
if(ishuman(target)) //user just returned, y'know, the user's own species. dumb.
var/mob/living/carbon/human/L = target
if(L.gender)
examineTabOutput += "[icon2html('hyperstation/icons/chat/gender.dmi', world, L.gender)]"
-
examineTabOutput += "[L.name] "
examineTabOutput += "([L.dna.custom_species ? L.dna.custom_species : L.dna.species.name])"
+ // GS13: Silicon Examine Text
+ if(iscyborg(target))
+ var/mob/living/silicon/robot/R = target
+ if (R.gender)
+ examineTabOutput += "[icon2html('hyperstation/icons/chat/gender.dmi', world, R.gender)]"
+ examineTabOutput += "[R.name] "
+ examineTabOutput += "([R.get_standard_name()])"
+
/* if(L.client?.prefs?.pins) //character has pins
var/P = ""
for(P in L.client?.prefs?.pins)
@@ -91,11 +99,13 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
*/
examineTabOutput += ""
examineTabOutput += "
[url_encode(msg)]"
+
if(ismob(target))
var/mob/M = target
if(M.ooc_text)
examineTabOutput += "
OOC"
examineTabOutput += "
[url_encode(M.ooc_text)]"
+
user.client << output(examineTabOutput, "statbrowser:update_examine") //open the examine window
user.client << output(null, "statbrowser:create_mobexamine") //open the examine window
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index 8e305af2..675ef7be 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -3003,6 +3003,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
// GS13: Silicon Examine Text
/datum/preferences/proc/copy_to_robot(mob/living/silicon/robot/cyborg, icon_updates = 1, roundstart_checks = TRUE)
SEND_SIGNAL(cyborg, COMSIG_SILICON_PREFS_COPIED_TO, src, icon_updates, roundstart_checks)
+ cyborg.ooc_text = features["ooc_text"]
/datum/preferences/proc/get_default_name(name_id)
switch(name_id)
diff --git a/code/modules/mob/living/silicon/examine.dm b/code/modules/mob/living/silicon/examine.dm
index 37107f2d..b0cae459 100644
--- a/code/modules/mob/living/silicon/examine.dm
+++ b/code/modules/mob/living/silicon/examine.dm
@@ -1,6 +1,10 @@
-/mob/living/silicon/examine(mob/user) //Displays a silicon's laws to ghosts
- . = ..()
+/mob/living/silicon/examine(mob/user)
+ // GS13: Silicon Examine Text
+ // COMSIG_PARENT_EXAMINE is called in /mob/living/silicon/robot/examine instead of /atom/proc/examine
+ // to display flavour_text in the examine text span similar to /mob/living/carbon/human/examine
+
+ //Display a silicon's laws to ghosts
if(laws && isobserver(user))
. += "[src] has the following laws:"
for(var/law in laws.get_law_list(include_zeroth = TRUE))
- . += law
\ No newline at end of file
+ . += law
diff --git a/code/modules/mob/living/silicon/robot/examine.dm b/code/modules/mob/living/silicon/robot/examine.dm
index c49ee6cc..67616460 100644
--- a/code/modules/mob/living/silicon/robot/examine.dm
+++ b/code/modules/mob/living/silicon/robot/examine.dm
@@ -48,5 +48,9 @@
. += "It doesn't seem to be responding."
if(DEAD)
. += "It looks like its system is corrupted and requires a reset."
+
+ // GS13: Silicon Examine Text
+ SEND_SIGNAL(src, COMSIG_PARENT_EXAMINE, user, .)
+
. += "*---------*"
. += ..()
diff --git a/modular_citadel/code/modules/client/preferences.dm b/modular_citadel/code/modules/client/preferences.dm
index 6b8c846b..68ca7640 100644
--- a/modular_citadel/code/modules/client/preferences.dm
+++ b/modular_citadel/code/modules/client/preferences.dm
@@ -57,7 +57,7 @@
if(L[slot_to_string(slot)] < DEFAULT_SLOT_AMT)
return TRUE
-datum/preferences/copy_to(mob/living/carbon/human/character, icon_updates = 1)
+/datum/preferences/copy_to(mob/living/carbon/human/character, icon_updates = 1)
..()
character.give_genitals(TRUE)
character.ooc_text = features["ooc_text"] //Let's update their flavor_text at least initially