mirror of
https://github.com/quotefox/Hyper-Station-13.git
synced 2026-08-25 05:36:17 +01:00
IPC randomization and toggleable markings
This commit is contained in:
+15
-3
@@ -136,15 +136,27 @@
|
||||
var/datum/sprite_accessory/S = instance
|
||||
if(!S.ckeys_allowed)
|
||||
snowflake_mam_snouts_list[S.name] = mspath
|
||||
|
||||
var/list/snowflake_ipc_antenna_list = list()
|
||||
for(var/mspath in GLOB.ipc_antennas_list)
|
||||
var/datum/sprite_accessory/mam_snouts/instance = GLOB.ipc_antennas_list[mspath]
|
||||
var/datum/sprite_accessory/antenna/instance = GLOB.ipc_antennas_list[mspath]
|
||||
if(istype(instance, /datum/sprite_accessory))
|
||||
var/datum/sprite_accessory/S = instance
|
||||
if(intendedspecies && S.recommended_species && !S.recommended_species.Find(intendedspecies))
|
||||
continue
|
||||
if(!S.ckeys_allowed)
|
||||
snowflake_ipc_antenna_list[S.name] = mspath
|
||||
|
||||
var/list/snowflake_ipc_screen_list = list()
|
||||
for(var/mspath in GLOB.ipc_screens_list)
|
||||
var/datum/sprite_accessory/screen/instance = GLOB.ipc_screens_list[mspath]
|
||||
if(istype(instance, /datum/sprite_accessory))
|
||||
var/datum/sprite_accessory/S = instance
|
||||
if(intendedspecies && S.recommended_species && !S.recommended_species.Find(intendedspecies))
|
||||
continue
|
||||
if(!S.ckeys_allowed)
|
||||
snowflake_ipc_screen_list[S.name] = mspath
|
||||
|
||||
var/color1 = random_short_color()
|
||||
var/color2 = random_short_color()
|
||||
var/color3 = random_short_color()
|
||||
@@ -233,8 +245,8 @@
|
||||
"womb_cum_mult" = CUM_RATE_MULT,
|
||||
"womb_efficiency" = CUM_EFFICIENCY,
|
||||
"womb_fluid" = "femcum",
|
||||
"ipc_screen" = snowflake_ipc_antenna_list ? pick(snowflake_ipc_antenna_list) : "None",
|
||||
"ipc_antenna" = "None",
|
||||
"ipc_screen" = snowflake_ipc_screen_list ? pick(snowflake_ipc_screen_list) : "None",
|
||||
"ipc_antenna" = snowflake_ipc_antenna_list ? pick(snowflake_ipc_antenna_list) : "None",
|
||||
"flavor_text" = "",
|
||||
"silicon_flavor_text" = "",
|
||||
"ooc_text" = "",
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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)
|
||||
WRITE_FILE(S["feature_cosmetic_r_leg"], r_leg.id)
|
||||
WRITE_FILE(S["cosmetic_markings"], features["cosmetic_markings"])
|
||||
@@ -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
|
||||
==========================================================
|
||||
|
||||
Reference in New Issue
Block a user