"
dat += "
"
dat += "
Head
"
@@ -2815,6 +2818,9 @@ GLOBAL_LIST_EMPTY(preferences_datums)
if("all")
be_random_body = !be_random_body
+ if("cosmetic_markings")
+ features["cosmetic_markings"] = !features["cosmetic_markings"]
+
if("hear_midis")
toggles ^= SOUND_MIDI
diff --git a/code/modules/surgery/bodyparts/bodyparts.dm b/code/modules/surgery/bodyparts/bodyparts.dm
index 2be66de29..b0208f9db 100644
--- a/code/modules/surgery/bodyparts/bodyparts.dm
+++ b/code/modules/surgery/bodyparts/bodyparts.dm
@@ -387,12 +387,6 @@
else
digitigrade_type = null
- if(cosmetic_icon && is_organic_limb())
- if(cosmetic_icon.icon)
- base_bp_icon = cosmetic_icon.icon
- use_digitigrade = cosmetic_icon.support_digitigrade ? use_digitigrade : NOT_DIGITIGRADE
- color_src = cosmetic_icon.color_src ? cosmetic_icon.color_src : MUTCOLORS
-
if("mam_body_markings" in S.default_features)
var/datum/sprite_accessory/Smark
Smark = GLOB.mam_body_markings_list[H.dna.features["mam_body_markings"]]
@@ -407,6 +401,15 @@
else
body_markings = null
auxmarking = null
+
+ if(cosmetic_icon && is_organic_limb())
+ if(cosmetic_icon.icon)
+ base_bp_icon = cosmetic_icon.icon
+ use_digitigrade = cosmetic_icon.support_digitigrade ? use_digitigrade : NOT_DIGITIGRADE
+ color_src = cosmetic_icon.color_src ? cosmetic_icon.color_src : MUTCOLORS
+ if(!H.dna.features["cosmetic_markings"])
+ body_markings = null
+ auxmarking = null
if((MUTCOLORS in S.species_traits) || (MUTCOLORS_PARTSONLY in S.species_traits))
markings_color = list(colorlist)
@@ -464,7 +467,7 @@
if(burnstate)
. += image('icons/mob/dam_mob.dmi', "[dmg_overlay_type]_[body_zone]_0[burnstate]", -DAMAGE_LAYER, image_dir)
- if(!isnull(body_markings) && status == BODYPART_ORGANIC && !has_cosmetic_state)
+ if(!isnull(body_markings) && status == BODYPART_ORGANIC)
if(!use_digitigrade)
if(BODY_ZONE_CHEST)
. += image(body_markings_icon, "[body_markings]_[body_zone]_[icon_gender]", -MARKING_LAYER, image_dir)
@@ -509,7 +512,7 @@
limb.icon_state = "[limb_style]_[body_zone]"
// Body markings
- if(body_markings && !has_cosmetic_state)
+ if(body_markings)
if(is_husk)
marking = image('modular_citadel/icons/mob/markings_notmammals.dmi', "husk_[body_zone]", -MARKING_LAYER, image_dir)
else if(is_husk && use_digitigrade)
@@ -529,7 +532,7 @@
if(aux_zone)
aux = image(limb.icon, "[limb_style]_[aux_zone]", -aux_layer, image_dir)
. += aux
- if(body_markings && !has_cosmetic_state)
+ if(body_markings)
if(is_husk)
auxmarking = image('modular_citadel/icons/mob/markings_notmammals.dmi', "husk_[aux_zone]", -aux_layer, image_dir)
else
@@ -546,14 +549,14 @@
if(aux_zone)
aux = image(limb.icon, "[aux_zone]", -aux_layer, image_dir)
. += aux
- if(!isnull(auxmarking) && !has_cosmetic_state)
+ if(!isnull(auxmarking))
if(is_husk)
auxmarking = image('modular_citadel/icons/mob/markings_notmammals.dmi', "husk_[aux_zone]", -aux_layer, image_dir)
else
auxmarking = image(body_markings_icon, "[body_markings]_[aux_zone]", -aux_layer, image_dir)
. += auxmarking
- if(!isnull(body_markings) && !has_cosmetic_state)
+ if(!isnull(body_markings))
if(is_husk)
marking = image('modular_citadel/icons/mob/markings_notmammals.dmi', "husk_[body_zone]", -MARKING_LAYER, image_dir)
else if(is_husk && use_digitigrade)
@@ -582,8 +585,7 @@
limb.color = list(markings_color)
if(aux_zone)
aux.color = list(markings_color)
- if(has_cosmetic_state)
- return
+
if(!isnull(auxmarking))
auxmarking.color = list(markings_color)
if(!isnull(body_markings))
diff --git a/hyperstation/code/modules/client/hyper_pref_savefile.dm b/hyperstation/code/modules/client/hyper_pref_savefile.dm
index 3eb2a661c..a0a71216b 100644
--- a/hyperstation/code/modules/client/hyper_pref_savefile.dm
+++ b/hyperstation/code/modules/client/hyper_pref_savefile.dm
@@ -5,6 +5,7 @@
S["feature_cosmetic_r_arm"] >> features["cosmetic_r_arm"]
S["feature_cosmetic_l_leg"] >> features["cosmetic_l_leg"]
S["feature_cosmetic_r_leg"] >> features["cosmetic_r_leg"]
+ S["cosmetic_markings"] >> features["cosmetic_markings"]
var/cosmetic_head = sanitize_inlist(features["cosmetic_head"], GLOB.cosmetic_heads, "default")
var/cosmetic_chest = sanitize_inlist(features["cosmetic_chest"], GLOB.cosmetic_chests, "default")
var/cosmetic_l_arm = sanitize_inlist(features["cosmetic_l_arm"], GLOB.cosmetic_arms, "default")
@@ -31,4 +32,5 @@
WRITE_FILE(S["feature_cosmetic_l_arm"], l_arm.id)
WRITE_FILE(S["feature_cosmetic_r_arm"], r_arm.id)
WRITE_FILE(S["feature_cosmetic_l_leg"], l_leg.id)
- WRITE_FILE(S["feature_cosmetic_r_leg"], r_leg.id)
\ No newline at end of file
+ WRITE_FILE(S["feature_cosmetic_r_leg"], r_leg.id)
+ WRITE_FILE(S["cosmetic_markings"], features["cosmetic_markings"])
\ No newline at end of file
diff --git a/hyperstation/code/modules/mob/dead/new_player/sprite_accessories.dm b/hyperstation/code/modules/mob/dead/new_player/sprite_accessories.dm
index d60fa54f9..cc97b26c5 100644
--- a/hyperstation/code/modules/mob/dead/new_player/sprite_accessories.dm
+++ b/hyperstation/code/modules/mob/dead/new_player/sprite_accessories.dm
@@ -441,6 +441,7 @@ from modular_citadel/code/modules/mob/dead/new_player/sprite_accessories.dm:
taur_mode = PAW_TAURIC
ckeys_allowed = list("chemlight")
+
/*
IPCS
==========================================================