diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm
index f2885f4405..30c0dc031d 100644
--- a/code/__HELPERS/mobs.dm
+++ b/code/__HELPERS/mobs.dm
@@ -234,6 +234,7 @@
"ipc_antenna" = "None",
"flavor_text" = "",
"silicon_flavor_text" = "",
+ "naked_flavor_text" = "", //tempt edit
"meat_type" = "Mammalian",
"body_model" = body_model,
"body_size" = RESIZE_DEFAULT_SIZE
diff --git a/code/datums/elements/flavor_text.dm b/code/datums/elements/flavor_text.dm
index 60722bba71..83c452ccae 100644
--- a/code/datums/elements/flavor_text.dm
+++ b/code/datums/elements/flavor_text.dm
@@ -7,6 +7,7 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
var/list/texts_by_atom = list()
var/addendum = ""
var/always_show = FALSE
+ var/show_on_naked = FALSE
var/max_len = MAX_FLAVOR_LEN
var/can_edit = TRUE
/// For preference/DNA saving/loading. Null to prevent. Prefs are only loaded from obviously if it exists in preferences.features.
@@ -16,7 +17,7 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
/// Examine FULLY views. Overrides examine_no_preview
var/examine_full_view = FALSE
-/datum/element/flavor_text/Attach(datum/target, text = "", _name = "Flavor Text", _addendum, _max_len = MAX_FLAVOR_LEN, _always_show = FALSE, _edit = TRUE, _save_key, _examine_no_preview = FALSE)
+/datum/element/flavor_text/Attach(datum/target, text = "", _name = "Flavor Text", _addendum, _max_len = MAX_FLAVOR_LEN, _always_show = FALSE, _edit = TRUE, _save_key, _examine_no_preview = FALSE, _show_on_naked)
. = ..()
if(. == ELEMENT_INCOMPATIBLE || !isatom(target)) //no reason why this shouldn't work on atoms too.
@@ -29,6 +30,7 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
flavor_name = _name
if(!isnull(addendum))
addendum = _addendum
+ show_on_naked = _show_on_naked
always_show = _always_show
can_edit = _edit
save_key = _save_key
@@ -62,6 +64,9 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
if(!unknown && iscarbon(target))
var/mob/living/carbon/C = L
unknown = (C.wear_mask && (C.wear_mask.flags_inv & HIDEFACE)) || (C.head && (C.head.flags_inv & HIDEFACE))
+ if(show_on_naked && ishuman(C))
+ var/mob/living/carbon/human/H = C
+ unknown = (unknown || (H.w_uniform || H.wear_suit))
if(unknown)
if(!("...?" in examine_list)) //can't think of anything better in case of multiple flavor texts.
examine_list += "...?"
@@ -174,7 +179,7 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
var/static/list/i_dont_even_know_who_you_are = typecacheof(list(/datum/antagonist/abductor, /datum/antagonist/ert,
/datum/antagonist/nukeop, /datum/antagonist/wizard))
-/datum/element/flavor_text/carbon/Attach(datum/target, text = "", _name = "Flavor Text", _addendum, _max_len = MAX_FLAVOR_LEN, _always_show = FALSE, _edit = TRUE, _save_key, _examine_no_preview = FALSE)
+/datum/element/flavor_text/carbon/Attach(datum/target, text = "", _name = "Flavor Text", _addendum, _max_len = MAX_FLAVOR_LEN, _always_show = FALSE, _edit = TRUE, _save_key, _examine_no_preview = FALSE, _show_on_naked)
if(!iscarbon(target))
return ELEMENT_INCOMPATIBLE
. = ..()
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index ad01396475..83a0b0da96 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -218,6 +218,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
"ipc_screen" = "Sunburst",
"ipc_antenna" = "None",
"flavor_text" = "",
+"naked_flavor_text" = "", //tempt edit
"silicon_flavor_text" = "",
"ooc_notes" = "",
"meat_type" = "Mammalian",
@@ -483,6 +484,17 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "[html_encode(features["flavor_text"])]
" //skyrat - adds
and uses html_encode
else
dat += "[TextPreview(html_encode(features["flavor_text"]))]...
" //skyrat edit, uses html_encode
+ //tempt edit - nekked flavor text
+ dat += "