diff --git a/code/modules/client/preference_setup/general/03_body.dm b/code/modules/client/preference_setup/general/03_body.dm
index 203527fb184..f1d6d95f2a2 100644
--- a/code/modules/client/preference_setup/general/03_body.dm
+++ b/code/modules/client/preference_setup/general/03_body.dm
@@ -36,6 +36,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
S["synth_red"] >> pref.r_synth
S["synth_green"] >> pref.g_synth
S["synth_blue"] >> pref.b_synth
+ S["synth_markings"] >> pref.synth_markings
pref.preview_icon = null
S["bgstate"] >> pref.bgstate
@@ -65,6 +66,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
S["synth_red"] << pref.r_synth
S["synth_green"] << pref.g_synth
S["synth_blue"] << pref.b_synth
+ S["synth_markings"] << pref.synth_markings
S["bgstate"] << pref.bgstate
/datum/category_item/player_setup_item/general/body/sanitize_character(var/savefile/S)
@@ -120,6 +122,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
character.r_synth = pref.r_synth
character.g_synth = pref.g_synth
character.b_synth = pref.b_synth
+ character.synth_markings = pref.synth_markings
// Destroy/cyborgize organs and limbs.
for(var/name in list(BP_HEAD, BP_L_HAND, BP_R_HAND, BP_L_ARM, BP_R_ARM, BP_L_FOOT, BP_R_FOOT, BP_L_LEG, BP_R_LEG, BP_GROIN, BP_TORSO))
@@ -305,6 +308,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
. += "
"
. += "
"
+ . += "Allow Synth markings: [pref.synth_markings ? "Yes" : "No"]
"
. += "Allow Synth color: [pref.synth_color ? "Yes" : "No"]
"
if(pref.synth_color)
. += "Change Color "
@@ -709,6 +713,10 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
pref.b_synth = hex2num(copytext(new_color, 6, 8))
return TOPIC_REFRESH_UPDATE_PREVIEW
+ else if(href_list["synth_markings"])
+ pref.synth_markings = !pref.synth_markings
+ return TOPIC_REFRESH_UPDATE_PREVIEW
+
else if(href_list["cycle_bg"])
pref.bgstate = next_in_list(pref.bgstate, pref.bgstate_options)
return TOPIC_REFRESH_UPDATE_PREVIEW
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index d0aefa286f4..99cf57522ed 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -60,6 +60,7 @@ datum/preferences
var/r_synth //Used with synth_color to color synth parts that normaly can't be colored.
var/g_synth //Same as above
var/b_synth //Same as above
+ var/synth_markings = 0 //Enable/disable markings on synth parts.
//Some faction information.
var/home_system = "Unset" //System of birth.
diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm
index d4c33117b24..d55e2e48286 100644
--- a/code/modules/mob/living/carbon/human/human_defines.dm
+++ b/code/modules/mob/living/carbon/human/human_defines.dm
@@ -30,6 +30,7 @@
var/r_synth //Used with synth_color to color synth parts that normaly can't be colored.
var/g_synth //Same as above
var/b_synth //Same as above
+ var/synth_markings = 0 //Enables/disables markings on synth parts.
//var/size_multiplier = 1 //multiplier for the mob's icon size //VOREStation Edit (Moved to /mob/living)
var/damage_multiplier = 1 //multiplies melee combat damage
diff --git a/code/modules/organs/organ_icon.dm b/code/modules/organs/organ_icon.dm
index 9de48edc906..71adba5b115 100644
--- a/code/modules/organs/organ_icon.dm
+++ b/code/modules/organs/organ_icon.dm
@@ -180,13 +180,14 @@ var/global/list/limb_icon_cache = list()
icon_cache_key += "_model_[model]"
apply_colouration(mob_icon)
// VOREStation edit to enable markings on synths
- for(var/M in markings)
- var/datum/sprite_accessory/marking/mark_style = markings[M]["datum"]
- var/icon/mark_s = new/icon("icon" = mark_style.icon, "icon_state" = "[mark_style.icon_state]-[organ_tag]")
- mark_s.Blend(markings[M]["color"], mark_style.color_blend_mode) // VOREStation edit
- overlays |= mark_s //So when it's not on your body, it has icons
- mob_icon.Blend(mark_s, ICON_OVERLAY) //So when it's on your body, it has icons
- icon_cache_key += "[M][markings[M]["color"]]"
+ if(owner && owner.synth_markings)
+ for(var/M in markings)
+ var/datum/sprite_accessory/marking/mark_style = markings[M]["datum"]
+ var/icon/mark_s = new/icon("icon" = mark_style.icon, "icon_state" = "[mark_style.icon_state]-[organ_tag]")
+ mark_s.Blend(markings[M]["color"], mark_style.color_blend_mode) // VOREStation edit
+ overlays |= mark_s //So when it's not on your body, it has icons
+ mob_icon.Blend(mark_s, ICON_OVERLAY) //So when it's on your body, it has icons
+ icon_cache_key += "[M][markings[M]["color"]]"
if(body_hair && islist(h_col) && h_col.len >= 3)
var/cache_key = "[body_hair]-[icon_name]-[h_col[1]][h_col[2]][h_col[3]]"