IPC randomization and toggleable markings

This commit is contained in:
sarcoph
2022-05-13 05:09:32 -08:00
parent 431b48d344
commit f45e803bd0
5 changed files with 41 additions and 18 deletions
+7 -1
View File
@@ -201,7 +201,8 @@ GLOBAL_LIST_EMPTY(preferences_datums)
"cosmetic_l_arm" = /datum/cosmetic_part/arms/default,
"cosmetic_r_arm" = /datum/cosmetic_part/arms/default,
"cosmetic_l_leg" = /datum/cosmetic_part/legs/default,
"cosmetic_r_leg" = /datum/cosmetic_part/legs/default
"cosmetic_r_leg" = /datum/cosmetic_part/legs/default,
"cosmetic_markings" = FALSE
)
/// Security record note section
@@ -840,6 +841,8 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "<div style='width:100%;display:block;'>"
dat += "<h2>Cosmetic Parts</h2>"
dat += "<b>Use markings on cosmetic parts?</b> "
dat += "<a href='?_src_=prefs;preference=cosmetic_markings'>[features["cosmetic_markings"] ? "Yes" : "No"]</a>"
dat += "<div style='display:flex; align-items:stretch; justify-content:space-around;'>"
dat += "<div style='flex: 1 1 0;'>"
dat += "<h3 style='text-align:center;'>Head</h3>"
@@ -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
+15 -13
View File
@@ -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))