From 607642d4efdcb8e769ed6d6ac4be032047d92154 Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Mon, 8 Aug 2016 23:26:51 -0400 Subject: [PATCH] Revert "Refactors Markings, Adds Tail (some body and head) markings, Adds Alt heads, Secondary (F)Hair Themes, Darkens Vulp/Taj + Unathi horns/frills, Sprite adjustments and more..." --- SQL/paradise_schema.sql | 13 +- SQL/paradise_schema_prefixed.sql | 13 +- code/__DEFINES/flags.dm | 11 +- code/__DEFINES/misc.dm | 16 +- code/__DEFINES/mob.dm | 21 +- code/__HELPERS/global_lists.dm | 2 - code/_globalvars/lists/flavor_misc.dm | 5 - code/datums/datacore.dm | 44 +- code/game/dna/dna2.dm | 63 +-- code/game/dna/dna2_helpers.dm | 43 +- code/game/dna/genes/vg_powers.dm | 109 ++-- code/modules/client/preference/preferences.dm | 275 ++------- .../client/preference/preferences_mysql.dm | 156 +++--- code/modules/customitems/item_defines.dm | 13 +- .../mob/living/carbon/human/appearance.dm | 250 +++------ .../living/carbon/human/body_accessories.dm | 6 + code/modules/mob/living/carbon/human/human.dm | 15 +- .../mob/living/carbon/human/human_defines.dm | 10 +- .../living/carbon/human/species/station.dm | 21 +- .../mob/living/carbon/human/update_icons.dm | 278 +++++---- .../mob/new_player/preferences_setup.dm | 101 +--- .../mob/new_player/sprite_accessories.dm | 530 +++--------------- code/modules/nano/modules/human_appearance.dm | 162 +----- code/modules/surgery/limb_reattach.dm | 4 +- code/modules/surgery/organs/organ_external.dm | 4 +- code/modules/surgery/organs/organ_icon.dm | 22 +- .../surgery/organs/subtypes/standard.dm | 18 - icons/effects/species.dmi | Bin 45274 -> 45505 bytes icons/mob/body_accessory.dmi | Bin 57159 -> 17768 bytes icons/mob/human_face.dmi | Bin 71679 -> 71874 bytes icons/mob/human_races/r_def_lizard.dmi | Bin 2086 -> 4419 bytes icons/mob/human_races/r_def_tajaran.dmi | Bin 2016 -> 4592 bytes icons/mob/human_races/r_human.dmi | Bin 8175 -> 8152 bytes icons/mob/human_races/r_lizard.dmi | Bin 2105 -> 1900 bytes icons/mob/human_races/r_skrell.dmi | Bin 1962 -> 4773 bytes icons/mob/human_races/r_tajaran.dmi | Bin 2368 -> 5987 bytes icons/mob/human_races/r_vulpkanin.dmi | Bin 2028 -> 4848 bytes nano/templates/appearance_changer.tmpl | 65 +-- 38 files changed, 592 insertions(+), 1678 deletions(-) diff --git a/SQL/paradise_schema.sql b/SQL/paradise_schema.sql index 5cc19d0848e..ec34b6632f3 100644 --- a/SQL/paradise_schema.sql +++ b/SQL/paradise_schema.sql @@ -33,28 +33,23 @@ CREATE TABLE `characters` ( `hair_red` smallint(4) NOT NULL, `hair_green` smallint(4) NOT NULL, `hair_blue` smallint(4) NOT NULL, - `secondary_hair_red` smallint(4) NOT NULL, - `secondary_hair_green` smallint(4) NOT NULL, - `secondary_hair_blue` smallint(4) NOT NULL, `facial_red` smallint(4) NOT NULL, `facial_green` smallint(4) NOT NULL, `facial_blue` smallint(4) NOT NULL, - `secondary_facial_red` smallint(4) NOT NULL, - `secondary_facial_green` smallint(4) NOT NULL, - `secondary_facial_blue` smallint(4) NOT NULL, `skin_tone` smallint(4) NOT NULL, `skin_red` smallint(4) NOT NULL, `skin_green` smallint(4) NOT NULL, `skin_blue` smallint(4) NOT NULL, - `marking_colours` mediumtext NOT NULL DEFAULT 'head=%23000000&body=%23000000&tail=%23000000', + `markings_red` smallint(4) NOT NULL, + `markings_green` smallint(4) NOT NULL, + `markings_blue` smallint(4) NOT NULL, `head_accessory_red` smallint(4) NOT NULL, `head_accessory_green` smallint(4) NOT NULL, `head_accessory_blue` smallint(4) NOT NULL, `hair_style_name` varchar(45) NOT NULL, `facial_style_name` varchar(45) NOT NULL, - `marking_styles` mediumtext NOT NULL DEFAULT 'head=None&body=None&tail=None', + `marking_style_name` varchar(45) NOT NULL, `head_accessory_style_name` varchar(45) NOT NULL, - `alt_head_name` varchar(45) NOT NULL, `eyes_red` smallint(4) NOT NULL, `eyes_green` smallint(4) NOT NULL, `eyes_blue` smallint(4) NOT NULL, diff --git a/SQL/paradise_schema_prefixed.sql b/SQL/paradise_schema_prefixed.sql index d93eb4ef681..b5115a93caf 100644 --- a/SQL/paradise_schema_prefixed.sql +++ b/SQL/paradise_schema_prefixed.sql @@ -33,28 +33,23 @@ CREATE TABLE `SS13_characters` ( `hair_red` smallint(4) NOT NULL, `hair_green` smallint(4) NOT NULL, `hair_blue` smallint(4) NOT NULL, - `secondary_hair_red` smallint(4) NOT NULL, - `secondary_hair_green` smallint(4) NOT NULL, - `secondary_hair_blue` smallint(4) NOT NULL, `facial_red` smallint(4) NOT NULL, `facial_green` smallint(4) NOT NULL, `facial_blue` smallint(4) NOT NULL, - `secondary_facial_red` smallint(4) NOT NULL, - `secondary_facial_green` smallint(4) NOT NULL, - `secondary_facial_blue` smallint(4) NOT NULL, `skin_tone` smallint(4) NOT NULL, `skin_red` smallint(4) NOT NULL, `skin_green` smallint(4) NOT NULL, `skin_blue` smallint(4) NOT NULL, - `marking_colours` mediumtext NOT NULL DEFAULT 'head=%23000000&body=%23000000&tail=%23000000', + `markings_red` smallint(4) NOT NULL, + `markings_green` smallint(4) NOT NULL, + `markings_blue` smallint(4) NOT NULL, `head_accessory_red` smallint(4) NOT NULL, `head_accessory_green` smallint(4) NOT NULL, `head_accessory_blue` smallint(4) NOT NULL, `hair_style_name` varchar(45) NOT NULL, `facial_style_name` varchar(45) NOT NULL, - `marking_styles` mediumtext NOT NULL DEFAULT 'head=None&body=None&tail=None', + `marking_style_name` varchar(45) NOT NULL, `head_accessory_style_name` varchar(45) NOT NULL, - `alt_head_name` varchar(45) NOT NULL, `eyes_red` smallint(4) NOT NULL, `eyes_green` smallint(4) NOT NULL, `eyes_blue` smallint(4) NOT NULL, diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index e7966690a8e..2b2adbdbaf2 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -59,13 +59,10 @@ #define HAS_SKIN_TONE 64 #define HAS_ICON_SKIN_TONE 128 #define HAS_SKIN_COLOR 256 -#define HAS_HEAD_MARKINGS 512 -#define HAS_BODY_MARKINGS 1024 -#define HAS_TAIL_MARKINGS 2048 -#define TAIL_WAGGING 4096 -#define NO_EYES 8192 -#define HAS_FUR 16384 -#define HAS_ALT_HEADS 32768 +#define HAS_MARKINGS 512 +#define TAIL_WAGGING 1024 +#define NO_EYES 2048 +#define HAS_FUR 4096 //Species Diet Flags #define DIET_CARN 1 diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index d7cd7ad7401..cbd39a49a21 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -214,14 +214,14 @@ #define GLOVES_LAYER 11 #define EARS_LAYER 12 #define SUIT_LAYER 13 -#define BELT_LAYER 14 //Possible make this an overlay of somethign required to wear a belt? -#define SUIT_STORE_LAYER 15 -#define BACK_LAYER 16 -#define FHAIR_LAYER 17 -#define HAIR_LAYER 18 //TODO: make part of head layer? -#define HEAD_ACCESSORY_LAYER 19 -#define GLASSES_LAYER 20 -#define TAIL_LAYER 21 //bs12 specific. this hack is probably gonna come back to haunt me +#define GLASSES_LAYER 14 +#define BELT_LAYER 15 //Possible make this an overlay of somethign required to wear a belt? +#define SUIT_STORE_LAYER 16 +#define BACK_LAYER 17 +#define TAIL_LAYER 18 //bs12 specific. this hack is probably gonna come back to haunt me +#define HAIR_LAYER 19 //TODO: make part of head layer? +#define HEAD_ACCESSORY_LAYER 20 +#define FHAIR_LAYER 21 #define FACEMASK_LAYER 22 #define HEAD_LAYER 23 #define COLLAR_LAYER 24 diff --git a/code/__DEFINES/mob.dm b/code/__DEFINES/mob.dm index 5d9aba0e3df..736ca0d291f 100644 --- a/code/__DEFINES/mob.dm +++ b/code/__DEFINES/mob.dm @@ -72,18 +72,15 @@ #define APPEARANCE_SKIN 8 #define APPEARANCE_HAIR 16 #define APPEARANCE_HAIR_COLOR 32 -#define APPEARANCE_SECONDARY_HAIR_COLOR 64 -#define APPEARANCE_FACIAL_HAIR 128 -#define APPEARANCE_FACIAL_HAIR_COLOR 256 -#define APPEARANCE_SECONDARY_FACIAL_HAIR_COLOR 512 -#define APPEARANCE_EYE_COLOR 1024 -#define APPEARANCE_ALL_HAIR APPEARANCE_HAIR|APPEARANCE_HAIR_COLOR|APPEARANCE_SECONDARY_HAIR_COLOR|APPEARANCE_FACIAL_HAIR|APPEARANCE_FACIAL_HAIR_COLOR|APPEARANCE_SECONDARY_FACIAL_HAIR_COLOR -#define APPEARANCE_HEAD_ACCESSORY 2048 -#define APPEARANCE_MARKINGS 4096 -#define APPEARANCE_BODY_ACCESSORY 8192 -#define APPEARANCE_ALT_HEAD 16384 -#define APPEARANCE_ALL_BODY APPEARANCE_ALL_HAIR|APPEARANCE_HEAD_ACCESSORY|APPEARANCE_MARKINGS|APPEARANCE_BODY_ACCESSORY|APPEARANCE_ALT_HEAD -#define APPEARANCE_ALL 32767 +#define APPEARANCE_FACIAL_HAIR 64 +#define APPEARANCE_FACIAL_HAIR_COLOR 128 +#define APPEARANCE_EYE_COLOR 256 +#define APPEARANCE_ALL_HAIR APPEARANCE_HAIR|APPEARANCE_HAIR_COLOR|APPEARANCE_FACIAL_HAIR|APPEARANCE_FACIAL_HAIR_COLOR +#define APPEARANCE_HEAD_ACCESSORY 512 +#define APPEARANCE_MARKINGS 1024 +#define APPEARANCE_BODY_ACCESSORY 2048 +#define APPEARANCE_ALL_BODY APPEARANCE_ALL_HAIR|APPEARANCE_HEAD_ACCESSORY|APPEARANCE_MARKINGS|APPEARANCE_BODY_ACCESSORY +#define APPEARANCE_ALL 4095 // Intents #define I_HELP "help" diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index ed0b7887e5a..7398518bb03 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -18,8 +18,6 @@ init_sprite_accessory_subtypes(/datum/sprite_accessory/undershirt, undershirt_list, undershirt_m, undershirt_f) //socks init_sprite_accessory_subtypes(/datum/sprite_accessory/socks, socks_list, socks_m, socks_f) - //alt heads - init_sprite_accessory_subtypes(/datum/sprite_accessory/alt_heads, alt_heads_list) init_subtypes(/datum/surgery_step, surgery_steps) diff --git a/code/_globalvars/lists/flavor_misc.dm b/code/_globalvars/lists/flavor_misc.dm index 77d404a741a..d409d6e54c9 100644 --- a/code/_globalvars/lists/flavor_misc.dm +++ b/code/_globalvars/lists/flavor_misc.dm @@ -3,9 +3,6 @@ var/global/list/head_accessory_styles_list = list() //stores /datum/sprite_accessory/head_accessory indexed by name //Marking styles var/global/list/marking_styles_list = list() //stores /datum/sprite_accessory/body_markings indexed by name -var/global/list/head_marking_styles_list = list() -var/global/list/body_marking_styles_list = list() -var/global/list/tail_marking_styles_list = list() //Hairstyles var/global/list/hair_styles_list = list() //stores /datum/sprite_accessory/hair indexed by name var/global/list/hair_styles_male_list = list() @@ -26,8 +23,6 @@ var/global/list/undershirt_f = list() //stores only undershirt name var/global/list/socks_list = list() //stores /datum/sprite_accessory/socks indexed by name var/global/list/socks_m = list() //stores only socks name var/global/list/socks_f = list() //stores only socks name - //Alt Heads -var/global/list/alt_heads_list = list() //stores /datum/sprite_accessory/alt_heads indexed by name //Backpacks var/global/list/backbaglist = list("Nothing", "Backpack", "Satchel", "Satchel Alt") diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index ea1a82fc6fd..f9c3ce39b08 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -140,12 +140,7 @@ proc/get_id_photo(var/mob/living/carbon/human/H) var/icon/temp temp = new /icon(icobase, "groin_[g]") preview_icon.Blend(temp, ICON_OVERLAY) - var/head = "head" - if(head_organ.alt_head && head_organ.species.bodyflags & HAS_ALT_HEADS) - var/datum/sprite_accessory/alt_heads/alternate_head = alt_heads_list[head_organ.alt_head] - if(alternate_head.icon_state) - head = alternate_head.icon_state - temp = new /icon(icobase, "[head]_[g]") + temp = new /icon(icobase, "head_[g]") preview_icon.Blend(temp, ICON_OVERLAY) //Tail @@ -187,13 +182,6 @@ proc/get_id_photo(var/mob/living/carbon/human/H) hair_s.Blend(rgb(H.r_skin, H.g_skin, H.b_skin, 160), ICON_ADD) else hair_s.Blend(rgb(head_organ.r_hair, head_organ.g_hair, head_organ.b_hair), ICON_ADD) - - if(hair_style.secondary_theme) - var/icon/hair_secondary_s = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_[hair_style.secondary_theme]_s") - if(!hair_style.no_sec_colour) - hair_secondary_s.Blend(rgb(head_organ.r_hair_sec, head_organ.g_hair_sec, head_organ.b_hair_sec), ICON_ADD) - hair_s.Blend(hair_secondary_s, ICON_OVERLAY) - face_s.Blend(hair_s, ICON_OVERLAY) //Head Accessory @@ -211,33 +199,15 @@ proc/get_id_photo(var/mob/living/carbon/human/H) facial_s.Blend(rgb(H.r_skin, H.g_skin, H.b_skin, 160), ICON_ADD) else facial_s.Blend(rgb(head_organ.r_facial, head_organ.g_facial, head_organ.b_facial), ICON_ADD) - - if(facial_hair_style.secondary_theme) - var/icon/facial_secondary_s = new/icon("icon" = facial_hair_style.icon, "icon_state" = "[facial_hair_style.icon_state]_[facial_hair_style.secondary_theme]_s") - if(!facial_hair_style.no_sec_colour) - facial_secondary_s.Blend(rgb(head_organ.r_facial_sec, head_organ.g_facial_sec, head_organ.b_facial_sec), ICON_ADD) - facial_s.Blend(facial_secondary_s, ICON_OVERLAY) - face_s.Blend(facial_s, ICON_OVERLAY) //Markings - if((H.species.bodyflags & HAS_HEAD_MARKINGS) || (H.species.bodyflags & HAS_BODY_MARKINGS)) - var/list/marking_styles = params2list(H.m_styles) - var/list/marking_colours = params2list(H.m_colours) - if(H.species.bodyflags & HAS_BODY_MARKINGS) //Body markings. - var/body_marking = marking_styles["body"] - var/datum/sprite_accessory/body_marking_style = marking_styles_list[body_marking] - if(body_marking_style && body_marking_style.species_allowed) - var/icon/b_marking_s = new/icon("icon" = body_marking_style.icon, "icon_state" = "[body_marking_style.icon_state]_s") - b_marking_s.Blend(rgb(hex2num(copytext(marking_colours["body"], 2, 4)), hex2num(copytext(marking_colours["body"], 4, 6)), hex2num(copytext(marking_colours["body"], 6, 8))), ICON_ADD) - face_s.Blend(b_marking_s, ICON_OVERLAY) - if(H.species.bodyflags & HAS_HEAD_MARKINGS) //Head markings. - var/head_marking = marking_styles["head"] - var/datum/sprite_accessory/head_marking_style = marking_styles_list[head_marking] - if(head_marking_style && head_marking_style.species_allowed) - var/icon/h_marking_s = new/icon("icon" = head_marking_style.icon, "icon_state" = "[head_marking_style.icon_state]_s") - h_marking_s.Blend(rgb(hex2num(copytext(marking_colours["head"], 2, 4)), hex2num(copytext(marking_colours["head"], 4, 6)), hex2num(copytext(marking_colours["head"], 6, 8))), ICON_ADD) - face_s.Blend(h_marking_s, ICON_OVERLAY) + if(H.species.bodyflags & HAS_MARKINGS) + var/datum/sprite_accessory/marking_style = marking_styles_list[H.m_style] + if(marking_style && marking_style.species_allowed) + var/icon/markings_s = new/icon("icon" = marking_style.icon, "icon_state" = "[marking_style.icon_state]_s") + markings_s.Blend(rgb(H.r_markings, H.g_markings, H.b_markings), ICON_ADD) + face_s.Blend(markings_s, ICON_OVERLAY) preview_icon.Blend(face_s, ICON_OVERLAY) diff --git a/code/game/dna/dna2.dm b/code/game/dna/dna2.dm index 114fcb1598f..4224ad1aa5e 100644 --- a/code/game/dna/dna2.dm +++ b/code/game/dna/dna2.dm @@ -30,27 +30,19 @@ #define DNA_UI_HACC_R 11 #define DNA_UI_HACC_G 12 #define DNA_UI_HACC_B 13 -#define DNA_UI_HEAD_MARK_R 14 -#define DNA_UI_HEAD_MARK_G 15 -#define DNA_UI_HEAD_MARK_B 16 -#define DNA_UI_BODY_MARK_R 17 -#define DNA_UI_BODY_MARK_G 18 -#define DNA_UI_BODY_MARK_B 19 -#define DNA_UI_TAIL_MARK_R 20 -#define DNA_UI_TAIL_MARK_G 21 -#define DNA_UI_TAIL_MARK_B 22 -#define DNA_UI_EYES_R 23 -#define DNA_UI_EYES_G 24 -#define DNA_UI_EYES_B 25 -#define DNA_UI_GENDER 26 -#define DNA_UI_BEARD_STYLE 27 -#define DNA_UI_HAIR_STYLE 28 +#define DNA_UI_MARK_R 14 +#define DNA_UI_MARK_G 15 +#define DNA_UI_MARK_B 16 +#define DNA_UI_EYES_R 17 +#define DNA_UI_EYES_G 18 +#define DNA_UI_EYES_B 19 +#define DNA_UI_GENDER 20 +#define DNA_UI_BEARD_STYLE 21 +#define DNA_UI_HAIR_STYLE 22 /*#define DNA_UI_BACC_STYLE 23*/ -#define DNA_UI_HACC_STYLE 29 -#define DNA_UI_HEAD_MARK_STYLE 30 -#define DNA_UI_BODY_MARK_STYLE 31 -#define DNA_UI_TAIL_MARK_STYLE 32 -#define DNA_UI_LENGTH 32 // Update this when you add something, or you WILL break shit. +#define DNA_UI_HACC_STYLE 23 +#define DNA_UI_MARK_STYLE 24 +#define DNA_UI_LENGTH 24 // Update this when you add something, or you WILL break shit. #define DNA_SE_LENGTH 55 // Was STRUCDNASIZE, size 27. 15 new blocks added = 42, plus room to grow. @@ -162,16 +154,9 @@ var/global/list/bad_blocks[0] var/bodyacc = character.body_accessory*/ // Markings - if(!character.m_styles) - character.m_styles = "head=None;\ - body=None;\ - tail=None" - - var/list/marking_styles = params2list(character.m_styles) - var/list/marking_colours = params2list(character.m_colours) - var/head_marks = marking_styles_list.Find(marking_styles["head"]) - var/body_marks = marking_styles_list.Find(marking_styles["body"]) - var/tail_marks = marking_styles_list.Find(marking_styles["tail"]) + if(!character.m_style) + character.m_style = "None" + var/marks = marking_styles_list.Find(character.m_style) SetUIValueRange(DNA_UI_HAIR_R, H.r_hair, 255, 1) SetUIValueRange(DNA_UI_HAIR_G, H.g_hair, 255, 1) @@ -193,17 +178,9 @@ var/global/list/bad_blocks[0] SetUIValueRange(DNA_UI_HACC_G, H.g_headacc, 255, 1) SetUIValueRange(DNA_UI_HACC_B, H.b_headacc, 255, 1) - SetUIValueRange(DNA_UI_HEAD_MARK_R, hex2num(copytext(marking_colours["head"], 2, 4)), 255, 1) - SetUIValueRange(DNA_UI_HEAD_MARK_G, hex2num(copytext(marking_colours["head"], 4, 6)), 255, 1) - SetUIValueRange(DNA_UI_HEAD_MARK_B, hex2num(copytext(marking_colours["head"], 6, 8)), 255, 1) - - SetUIValueRange(DNA_UI_BODY_MARK_R, hex2num(copytext(marking_colours["body"], 2, 4)), 255, 1) - SetUIValueRange(DNA_UI_BODY_MARK_G, hex2num(copytext(marking_colours["body"], 4, 6)), 255, 1) - SetUIValueRange(DNA_UI_BODY_MARK_B, hex2num(copytext(marking_colours["body"], 6, 8)), 255, 1) - - SetUIValueRange(DNA_UI_TAIL_MARK_R, hex2num(copytext(marking_colours["tail"], 2, 4)), 255, 1) - SetUIValueRange(DNA_UI_TAIL_MARK_G, hex2num(copytext(marking_colours["tail"], 4, 6)), 255, 1) - SetUIValueRange(DNA_UI_TAIL_MARK_B, hex2num(copytext(marking_colours["tail"], 6, 8)), 255, 1) + SetUIValueRange(DNA_UI_MARK_R, character.r_markings, 255, 1) + SetUIValueRange(DNA_UI_MARK_G, character.g_markings, 255, 1) + SetUIValueRange(DNA_UI_MARK_B, character.b_markings, 255, 1) SetUIValueRange(DNA_UI_SKIN_TONE, 35-character.s_tone, 220, 1) // Value can be negative. @@ -213,9 +190,7 @@ var/global/list/bad_blocks[0] SetUIValueRange(DNA_UI_BEARD_STYLE, beard, facial_hair_styles_list.len, 1) /*SetUIValueRange(DNA_UI_BACC_STYLE, bodyacc, facial_hair_styles_list.len, 1)*/ SetUIValueRange(DNA_UI_HACC_STYLE, headacc, head_accessory_styles_list.len, 1) - SetUIValueRange(DNA_UI_HEAD_MARK_STYLE, head_marks, marking_styles_list.len, 1) - SetUIValueRange(DNA_UI_BODY_MARK_STYLE, body_marks, marking_styles_list.len, 1) - SetUIValueRange(DNA_UI_TAIL_MARK_STYLE, tail_marks, marking_styles_list.len, 1) + SetUIValueRange(DNA_UI_MARK_STYLE, marks, marking_styles_list.len, 1) UpdateUI() diff --git a/code/game/dna/dna2_helpers.dm b/code/game/dna/dna2_helpers.dm index 9b0bd39dc9a..5bc984b11ac 100644 --- a/code/game/dna/dna2_helpers.dm +++ b/code/game/dna/dna2_helpers.dm @@ -152,10 +152,10 @@ head_organ.g_headacc = dna.GetUIValueRange(DNA_UI_HACC_G, 255) head_organ.b_headacc = dna.GetUIValueRange(DNA_UI_HACC_B, 255) - var/list/marking_colours = params2list(H.m_colours) - marking_colours["head"] = "#[num2hex(dna.GetUIValueRange(DNA_UI_HEAD_MARK_R,255),2)][num2hex(dna.GetUIValueRange(DNA_UI_HEAD_MARK_G,255),2)][num2hex(dna.GetUIValueRange(DNA_UI_HEAD_MARK_B,255),2)]" - marking_colours["body"] = "#[num2hex(dna.GetUIValueRange(DNA_UI_BODY_MARK_R,255),2)][num2hex(dna.GetUIValueRange(DNA_UI_BODY_MARK_G,255),2)][num2hex(dna.GetUIValueRange(DNA_UI_BODY_MARK_B,255),2)]" - marking_colours["tail"] = "#[num2hex(dna.GetUIValueRange(DNA_UI_TAIL_MARK_R,255),2)][num2hex(dna.GetUIValueRange(DNA_UI_TAIL_MARK_G,255),2)][num2hex(dna.GetUIValueRange(DNA_UI_TAIL_MARK_B,255),2)]" + H.r_markings = dna.GetUIValueRange(DNA_UI_MARK_R, 255) + H.g_markings = dna.GetUIValueRange(DNA_UI_MARK_G, 255) + H.b_markings = dna.GetUIValueRange(DNA_UI_MARK_B, 255) + H.update_eyes() @@ -181,43 +181,16 @@ if((0 < headacc) && (headacc <= head_accessory_styles_list.len)) head_organ.ha_style = head_accessory_styles_list[headacc] - var/number_head_marks = 0 - var/number_body_marks = 0 - var/number_tail_marks = 0 - for(var/m in marking_styles_list) - var/datum/sprite_accessory/body_markings/marking = marking_styles_list[m] - if(marking.marking_location == "head") - number_head_marks++ - else if(marking.marking_location == "body") - number_body_marks++ - else if(marking.marking_location == "tail") - number_tail_marks++ - - //Head Markings - var/head_marks = dna.GetUIValueRange(DNA_UI_HEAD_MARK_STYLE,marking_styles_list.len) - if((0 < head_marks) && (head_marks <= number_head_marks)) - var/list/marking_styles = params2list(H.m_styles) - marking_styles["head"] = marking_styles_list[head_marks] - H.m_styles = list2params(marking_styles) - //Body Markings - var/body_marks = dna.GetUIValueRange(DNA_UI_BODY_MARK_STYLE,marking_styles_list.len) - if((0 < body_marks) && (body_marks <= number_body_marks)) - var/list/marking_styles = params2list(H.m_styles) - marking_styles["body"] = marking_styles_list[body_marks] - H.m_styles = list2params(marking_styles) - //Tail Markings - var/tail_marks = dna.GetUIValueRange(DNA_UI_TAIL_MARK_STYLE,marking_styles_list.len) - if((0 < tail_marks) && (tail_marks <= number_tail_marks)) - var/list/marking_styles = params2list(H.m_styles) - marking_styles["tail"] = marking_styles_list[tail_marks] - H.m_styles = list2params(marking_styles) + //Markings + var/marks = dna.GetUIValueRange(DNA_UI_MARK_STYLE,marking_styles_list.len) + if((0 < marks) && (marks <= marking_styles_list.len)) + H.m_style = marking_styles_list[marks] H.force_update_limbs() H.update_eyes() H.update_hair() H.update_fhair() H.update_markings() - H.update_tail_layer() H.update_head_accessory() return 1 diff --git a/code/game/dna/genes/vg_powers.dm b/code/game/dna/genes/vg_powers.dm index 0f1c700a17f..7ed7f3fea97 100644 --- a/code/game/dna/genes/vg_powers.dm +++ b/code/game/dna/genes/vg_powers.dm @@ -46,58 +46,63 @@ var/new_eyes = input("Please select eye color.", "Character Generation", rgb(M.r_eyes,M.g_eyes,M.b_eyes)) as null|color if(new_eyes) + M.r_eyes = hex2num(copytext(new_eyes, 2, 4)) + M.g_eyes = hex2num(copytext(new_eyes, 4, 6)) + M.b_eyes = hex2num(copytext(new_eyes, 6, 8)) M.change_eye_color(M.r_eyes, M.g_eyes, M.b_eyes) - //Alt heads. - if(head_organ.species.bodyflags & HAS_ALT_HEADS) - var/list/valid_alt_heads = M.generate_valid_alt_heads() - var/new_alt_head = input("Please select alternate head", "Character Generation", head_organ.alt_head) as null|anything in valid_alt_heads - if(new_alt_head) - M.change_alt_head(new_alt_head) - // hair var/list/valid_hairstyles = M.generate_valid_hairstyles() var/new_style = input("Please select hair style", "Character Generation", head_organ.h_style) as null|anything in valid_hairstyles // if new style selected (not cancel) if(new_style) - M.change_hair(new_style) + head_organ.h_style = new_style var/new_hair = input("Please select hair color.", "Character Generation", rgb(head_organ.r_hair, head_organ.g_hair, head_organ.b_hair)) as null|color if(new_hair) - M.change_hair_color(hex2num(copytext(new_hair, 2, 4)), hex2num(copytext(new_hair, 4, 6)), hex2num(copytext(new_hair, 6, 8))) - - var/datum/sprite_accessory/hair_style = hair_styles_list[head_organ.h_style] - if(hair_style.secondary_theme && !hair_style.no_sec_colour) - new_hair = input("Please select secondary hair color.", "Character Generation", rgb(head_organ.r_hair_sec, head_organ.g_hair_sec, head_organ.b_hair_sec)) as null|color - M.change_hair_color(hex2num(copytext(new_hair, 2, 4)), hex2num(copytext(new_hair, 4, 6)), hex2num(copytext(new_hair, 6, 8)), 1) + head_organ.r_hair = hex2num(copytext(new_hair, 2, 4)) + head_organ.g_hair = hex2num(copytext(new_hair, 4, 6)) + head_organ.b_hair = hex2num(copytext(new_hair, 6, 8)) // facial hair var/list/valid_facial_hairstyles = M.generate_valid_facial_hairstyles() new_style = input("Please select facial style", "Character Generation", head_organ.f_style) as null|anything in valid_facial_hairstyles if(new_style) - M.change_facial_hair(new_style) + head_organ.f_style = new_style var/new_facial = input("Please select facial hair color.", "Character Generation", rgb(head_organ.r_facial, head_organ.g_facial, head_organ.b_facial)) as null|color if(new_facial) - M.change_facial_hair_color(hex2num(copytext(new_facial, 2, 4)), hex2num(copytext(new_facial, 4, 6)), hex2num(copytext(new_facial, 6, 8))) - - var/datum/sprite_accessory/facial_hair_style = facial_hair_styles_list[head_organ.f_style] - if(facial_hair_style.secondary_theme && !facial_hair_style.no_sec_colour) - new_facial = input("Please select secondary facial hair color.", "Character Generation", rgb(head_organ.r_facial_sec, head_organ.g_facial_sec, head_organ.b_facial_sec)) as null|color - M.change_facial_hair_color(hex2num(copytext(new_facial, 2, 4)), hex2num(copytext(new_facial, 4, 6)), hex2num(copytext(new_facial, 6, 8)), 1) + head_organ.r_facial = hex2num(copytext(new_facial, 2, 4)) + head_organ.g_facial = hex2num(copytext(new_facial, 4, 6)) + head_organ.b_facial = hex2num(copytext(new_facial, 6, 8)) //Head accessory. if(head_organ.species.bodyflags & HAS_HEAD_ACCESSORY) var/list/valid_head_accessories = M.generate_valid_head_accessories() var/new_head_accessory = input("Please select head accessory style", "Character Generation", head_organ.ha_style) as null|anything in valid_head_accessories if(new_head_accessory) - M.change_head_accessory(new_head_accessory) + head_organ.ha_style = new_head_accessory var/new_head_accessory_colour = input("Please select head accessory colour.", "Character Generation", rgb(head_organ.r_headacc, head_organ.g_headacc, head_organ.b_headacc)) as null|color if(new_head_accessory_colour) - M.change_head_accessory_color(hex2num(copytext(new_head_accessory_colour, 2, 4)), hex2num(copytext(new_head_accessory_colour, 4, 6)), hex2num(copytext(new_head_accessory_colour, 6, 8))) + head_organ.r_headacc = hex2num(copytext(new_head_accessory_colour, 2, 4)) + head_organ.g_headacc = hex2num(copytext(new_head_accessory_colour, 4, 6)) + head_organ.b_headacc = hex2num(copytext(new_head_accessory_colour, 6, 8)) + + //Body markings. + if(M.species.bodyflags & HAS_MARKINGS) + var/list/valid_markings = M.generate_valid_markings() + var/new_marking = input("Please select marking style", "Character Generation", M.m_style) as null|anything in valid_markings + if(new_marking) + M.m_style = new_marking + + var/new_marking_colour = input("Please select marking colour.", "Character Generation", rgb(M.r_markings, M.g_markings, M.b_markings)) as null|color + if(new_marking_colour) + M.r_markings = hex2num(copytext(new_marking_colour, 2, 4)) + M.g_markings = hex2num(copytext(new_marking_colour, 4, 6)) + M.b_markings = hex2num(copytext(new_marking_colour, 6, 8)) //Body accessory. if(M.species.tail && M.species.bodyflags & HAS_TAIL) @@ -105,60 +110,18 @@ if(valid_body_accessories.len > 1) //By default valid_body_accessories will always have at the very least a 'none' entry populating the list, even if the user's species is not present in any of the list items. var/new_body_accessory = input("Please select body accessory style", "Character Generation", M.body_accessory) as null|anything in valid_body_accessories if(new_body_accessory) - M.change_body_accessory(new_body_accessory) - - //Head markings. - if(M.species.bodyflags & HAS_HEAD_MARKINGS) - var/list/marking_styles = params2list(M.m_styles) - var/list/valid_head_markings = M.generate_valid_markings("head") - var/new_marking = input("Please select head marking style", "Character Generation", marking_styles["head"]) as null|anything in valid_head_markings - if(new_marking) - M.change_markings(new_marking, "head") - - var/list/marking_colours = params2list(M.m_colours) - marking_colours["head"] = sanitize_hexcolor(marking_colours["head"]) - var/new_marking_colour = input("Please select head marking colour.", "Character Generation", rgb(hex2num(copytext(marking_colours["head"], 2, 4)), hex2num(copytext(marking_colours["head"], 4, 6)), hex2num(copytext(marking_colours["head"], 6, 8)))) as null|color - if(new_marking_colour) - M.change_marking_color(new_marking_colour, "head") - //Body markings. - if(M.species.bodyflags & HAS_BODY_MARKINGS) - var/list/marking_styles = params2list(M.m_styles) - var/list/valid_body_markings = M.generate_valid_markings("body") - var/new_marking = input("Please select body marking style", "Character Generation", marking_styles["body"]) as null|anything in valid_body_markings - if(new_marking) - M.change_markings(new_marking, "body") - - var/list/marking_colours = params2list(M.m_colours) - marking_colours["body"] = sanitize_hexcolor(marking_colours["body"]) - var/new_marking_colour = input("Please select body marking colour.", "Character Generation", rgb(hex2num(copytext(marking_colours["body"], 2, 4)), hex2num(copytext(marking_colours["body"], 4, 6)), hex2num(copytext(marking_colours["body"], 6, 8)))) as null|color - if(new_marking_colour) - M.change_marking_color(new_marking_colour, "body") - //Tail markings. - if(M.species.bodyflags & HAS_TAIL_MARKINGS) - var/list/marking_styles = params2list(M.m_styles) - var/list/valid_tail_markings = M.generate_valid_markings("tail") - var/new_marking = input("Please select tail marking style", "Character Generation", marking_styles["tail"]) as null|anything in valid_tail_markings - if(new_marking) - M.change_markings(new_marking, "tail") - - var/list/marking_colours = params2list(M.m_colours) - marking_colours["tail"] = sanitize_hexcolor(marking_colours["tail"]) - var/new_marking_colour = input("Please select tail marking colour.", "Character Generation", rgb(hex2num(copytext(marking_colours["tail"], 2, 4)), hex2num(copytext(marking_colours["tail"], 4, 6)), hex2num(copytext(marking_colours["tail"], 6, 8)))) as null|color - if(new_marking_colour) - M.change_marking_color(new_marking_colour, "tail") + M.body_accessory = body_accessory_by_name[new_body_accessory] //Skin tone. if(M.species.bodyflags & HAS_SKIN_TONE) var/new_tone = input("Please select skin tone level: 1-220 (1=albino, 35=caucasian, 150=black, 220='very' black)", "Character Generation", M.s_tone) as null|text if(!new_tone) new_tone = 35 - else - new_tone = 35 - max(min(round(text2num(new_tone)), 220), 1) - M.change_skin_tone(new_tone) + M.s_tone = 35 - max(min(round(text2num(new_tone)), 220), 1) if(M.species.bodyflags & HAS_ICON_SKIN_TONE) var/prompt = "Please select skin tone: 1-[M.species.icon_skin_tones.len] (" - for(var/i = 1 to M.species.icon_skin_tones.len) + for(var/i = 1; i <= M.species.icon_skin_tones.len; i++) prompt += "[i] = [M.species.icon_skin_tones[i]]" if(i != M.species.icon_skin_tones.len) prompt += ", " @@ -167,16 +130,18 @@ var/new_tone = input(prompt, "Character Generation", M.s_tone) as null|text if(!new_tone) new_tone = 0 - else - new_tone = max(min(round(text2num(new_tone)), M.species.icon_skin_tones.len), 1) - M.change_skin_tone(new_tone) + M.s_tone = max(min(round(text2num(new_tone)), M.species.icon_skin_tones.len), 1) //Skin colour. if(M.species.bodyflags & HAS_SKIN_COLOR) var/new_body_colour = input("Please select body colour.", "Character Generation", rgb(M.r_skin, M.g_skin, M.b_skin)) as null|color if(new_body_colour) - M.change_skin_color(hex2num(copytext(new_body_colour, 2, 4)), hex2num(copytext(new_body_colour, 4, 6)), hex2num(copytext(new_body_colour, 6, 8))) + M.r_skin = hex2num(copytext(new_body_colour, 2, 4)) + M.g_skin = hex2num(copytext(new_body_colour, 4, 6)) + M.b_skin = hex2num(copytext(new_body_colour, 6, 8)) + M.force_update_limbs() + M.regenerate_icons() M.update_dna() M.visible_message("[src] morphs and changes [M.get_visible_gender() == MALE ? "his" : M.get_visible_gender() == FEMALE ? "her" : "their"] appearance!", "You change your appearance!", "Oh, god! What the hell was that? It sounded like flesh getting squished and bone ground into a different shape!") diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm index 5f0d31f9c26..c28f472020d 100644 --- a/code/modules/client/preference/preferences.dm +++ b/code/modules/client/preference/preferences.dm @@ -110,26 +110,18 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts var/r_headacc = 0 //Head accessory colour var/g_headacc = 0 //Head accessory colour var/b_headacc = 0 //Head accessory colour - var/m_styles = "head=None;\ - body=None;\ - tail=None" //Marking styles. - var/m_colours = "head=#000000;\ - body=#000000;\ - tail=#000000" //Marking colours. + var/m_style = "None" //Marking style + var/r_markings = 0 //Marking colour + var/g_markings = 0 //Marking colour + var/b_markings = 0 //Marking colour var/h_style = "Bald" //Hair type var/r_hair = 0 //Hair color var/g_hair = 0 //Hair color var/b_hair = 0 //Hair color - var/r_hair_sec = 0 //Secondary hair color - var/g_hair_sec = 0 //Secondary hair color - var/b_hair_sec = 0 //Secondary hair color - var/f_style = "Shaved" //Facial hair type - var/r_facial = 0 //Facial hair color - var/g_facial = 0 //Facial hair color - var/b_facial = 0 //Facial hair color - var/r_facial_sec = 0 //Secondary facial hair color - var/g_facial_sec = 0 //Secondary facial hair color - var/b_facial_sec = 0 //Secondary facial hair color + var/f_style = "Shaved" //Face hair type + var/r_facial = 0 //Face hair color + var/g_facial = 0 //Face hair color + var/b_facial = 0 //Face hair color var/s_tone = 0 //Skin tone var/r_skin = 0 //Skin color var/g_skin = 0 //Skin color @@ -137,7 +129,6 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts var/r_eyes = 0 //Eye color var/g_eyes = 0 //Eye color var/b_eyes = 0 //Eye color - var/alt_head = "None" //Alt head style. var/species = "Human" var/language = "None" //Secondary language @@ -295,44 +286,18 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts dat += "[ha_style] " dat += "Color [color_square(r_headacc, g_headacc, b_headacc)]
" - if(species in list("Machine", "Tajaran", "Unathi", "Vulpkanin")) //Species with head markings. - var/list/marking_styles = params2list(m_styles) - var/list/marking_colours = params2list(m_colours) - marking_colours["head"] = sanitize_hexcolor(marking_colours["head"]) - dat += "Head Markings: " - dat += "[marking_styles["head"]]" - dat += "Color [color_square(hex2num(copytext(marking_colours["head"], 2, 4)), hex2num(copytext(marking_colours["head"], 4, 6)), hex2num(copytext(marking_colours["head"], 6, 8)))]
" - if(species in list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell", "Vox")) //Species with body markings/tattoos. - var/list/marking_styles = params2list(m_styles) - var/list/marking_colours = params2list(m_colours) - marking_colours["body"] = sanitize_hexcolor(marking_colours["body"]) + if(species in list("Unathi", "Vulpkanin", "Tajaran", "Machine")) //Species that have body markings. dat += "Body Markings: " - dat += "[marking_styles["body"]]" - dat += "Color [color_square(hex2num(copytext(marking_colours["body"], 2, 4)), hex2num(copytext(marking_colours["body"], 4, 6)), hex2num(copytext(marking_colours["body"], 6, 8)))]
" - if(species in list("Vox", "Vulpkanin")) //Species with tail markings. - var/list/marking_styles = params2list(m_styles) - var/list/marking_colours = params2list(m_colours) - marking_colours["tail"] = sanitize_hexcolor(marking_colours["tail"]) - dat += "Tail Markings: " - dat += "[marking_styles["tail"]]" - dat += "Color [color_square(hex2num(copytext(marking_colours["tail"], 2, 4)), hex2num(copytext(marking_colours["tail"], 4, 6)), hex2num(copytext(marking_colours["tail"], 6, 8)))]
" + dat += "[m_style]" + dat += "Color [color_square(r_markings, g_markings, b_markings)]
" dat += "Hair: " dat += "[h_style]" - dat += "Color [color_square(r_hair, g_hair, b_hair)]" - var/datum/sprite_accessory/temp_hair_style = hair_styles_list[h_style] - if(temp_hair_style.secondary_theme && !temp_hair_style.no_sec_colour) - dat += " Color #2 [color_square(r_hair_sec, g_hair_sec, b_hair_sec)]" - dat += "
" + dat += "Color [color_square(r_hair, g_hair, b_hair)]
" dat += "Facial Hair: " dat += "[f_style ? "[f_style]" : "Shaved"]" - dat += "Color [color_square(r_facial, g_facial, b_facial)]" - var/datum/sprite_accessory/temp_facial_hair_style = facial_hair_styles_list[f_style] - if(temp_facial_hair_style.secondary_theme && !temp_facial_hair_style.no_sec_colour) - dat += " Color #2 [color_square(r_facial_sec, g_facial_sec, b_facial_sec)]" - dat += "
" - + dat += "Color [color_square(r_facial, g_facial, b_facial)]
" if(species != "Machine") dat += "Eyes: " @@ -355,9 +320,6 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts dat += "Character Records
" dat += "

Limbs

" - if(species in list("Unathi")) //Species with alt heads. - dat += "Alternate Head: " - dat += "[alt_head]
" dat += "Limbs and Parts: Adjust
" if(species != "Slime People" && species != "Machine") dat += "Internal Organs: Adjust
" @@ -1199,6 +1161,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts if(new_age) age = max(min( round(text2num(new_age)), AGE_MAX),AGE_MIN) if("species") + var/list/new_species = list("Human", "Tajaran", "Skrell", "Unathi", "Diona", "Vulpkanin") var/prev_species = species // var/whitelisted = 0 @@ -1268,18 +1231,9 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts socks = random_socks(gender, species) //reset hair colour and skin colour - r_hair = 0 - g_hair = 0 - b_hair = 0 - r_hair_sec = 0 - g_hair_sec = 0 - b_hair_sec = 0 - r_facial = 0 - g_facial = 0 - b_facial = 0 - r_facial_sec = 0 - g_facial_sec = 0 - b_facial_sec = 0 + r_hair = 0//hex2num(copytext(new_hair, 2, 4)) + g_hair = 0//hex2num(copytext(new_hair, 4, 6)) + b_hair = 0//hex2num(copytext(new_hair, 6, 8)) s_tone = 0 @@ -1289,11 +1243,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts b_skin = 0 ha_style = "None" // No Vulp ears on Unathi - m_styles = "head=None;\ - body=None;\ - tail=None" // No Unathi markings on Tajara - - alt_head = "None" //No alt heads on species that don't have them. + m_style = "None" // No Unathi markings on Tajara body_accessory = null //no vulptail on humans damnit @@ -1344,16 +1294,6 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts g_hair = hex2num(copytext(new_hair, 4, 6)) b_hair = hex2num(copytext(new_hair, 6, 8)) - if("secondary_hair") - if(species in list("Human", "Unathi", "Tajaran", "Skrell", "Machine", "Vulpkanin", "Vox")) - var/datum/sprite_accessory/hair_style = hair_styles_list[h_style] - if(hair_style.secondary_theme && !hair_style.no_sec_colour) - var/new_hair = input(user, "Choose your character's secondary hair colour:", "Character Preference", rgb(r_hair_sec, g_hair_sec, b_hair_sec)) as color|null - if(new_hair) - r_hair_sec = hex2num(copytext(new_hair, 2, 4)) - g_hair_sec = hex2num(copytext(new_hair, 4, 6)) - b_hair_sec = hex2num(copytext(new_hair, 6, 8)) - if("h_style") var/list/valid_hairstyles = list() for(var/hairstyle in hair_styles_list) @@ -1411,46 +1351,22 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts if(new_head_accessory_style) ha_style = new_head_accessory_style - if("alt_head") - if(organ_data["head"] == "cyborg") - return - if(species in list("Unathi")) //Species with alt heads. - var/list/valid_alt_heads = list() - valid_alt_heads["None"] = alt_heads_list["None"] //The only null entry should be the "None" option - for(var/alternate_head in alt_heads_list) - var/datum/sprite_accessory/alt_heads/head = alt_heads_list[alternate_head] - if(!(species in head.species_allowed)) - continue + if("markings") + if(species in list("Unathi", "Vulpkanin", "Tajaran", "Machine")) //Species with markings. + var/input = "Choose the colour of your your character's markings:" + var/new_markings = input(user, input, "Character Preference", rgb(r_markings, g_markings, b_markings)) as color|null + if(new_markings) + r_markings = hex2num(copytext(new_markings, 2, 4)) + g_markings = hex2num(copytext(new_markings, 4, 6)) + b_markings = hex2num(copytext(new_markings, 6, 8)) - valid_alt_heads[alternate_head] = alt_heads_list[alternate_head] - - var/new_alt_head = input(user, "Choose your character's alternate head style:", "Character Preference") as null|anything in valid_alt_heads - if(new_alt_head) - alt_head = new_alt_head - var/list/marking_styles = params2list(m_styles) - if(marking_styles["head"]) - var/head_marking = marking_styles["head"] - var/datum/sprite_accessory/body_markings/head/head_marking_style = marking_styles_list[head_marking] - if(!head_marking_style.heads_allowed || !(alt_head in head_marking_style.heads_allowed)) - marking_styles["head"] = "None" - m_styles = list2params(marking_styles) - - if("m_style_head") - if(species in list("Machine", "Tajaran", "Unathi", "Vulpkanin")) //Species with head markings. + if("m_style") + if(species in list("Unathi", "Vulpkanin", "Tajaran", "Machine")) //Species with markings. var/list/valid_markings = list() - valid_markings["None"] = marking_styles_list["None"] for(var/markingstyle in marking_styles_list) - var/datum/sprite_accessory/body_markings/head/M = marking_styles_list[markingstyle] + var/datum/sprite_accessory/M = marking_styles_list[markingstyle] if(!(species in M.species_allowed)) continue - if(M.marking_location != "head") - continue - if(alt_head && alt_head != "None") - if(!(alt_head in M.heads_allowed)) - continue - else - if(M.heads_allowed) - continue if(species == "Machine") //Species that can use prosthetic heads. var/obj/item/organ/external/head/H = new() @@ -1467,86 +1383,9 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts valid_markings[markingstyle] = marking_styles_list[markingstyle] - var/list/marking_styles = params2list(m_styles) - var/new_marking_style = input(user, "Choose the style of your character's head markings:", "Character Preference", marking_styles["head"]) as null|anything in valid_markings + var/new_marking_style = input(user, "Choose the style of your character's markings:", "Character Preference", m_style) as null|anything in valid_markings if(new_marking_style) - marking_styles["head"] = new_marking_style - m_styles = list2params(marking_styles) - - if("m_head_colour") - if(species in list("Machine", "Tajaran", "Unathi", "Vulpkanin")) //Species with head markings. - var/input = "Choose the colour of your your character's head markings:" - var/list/marking_colours = params2list(m_colours) - marking_colours["head"] = sanitize_hexcolor(marking_colours["head"]) - var/new_markings = input(user, input, "Character Preference", rgb(hex2num(copytext(marking_colours["head"], 2, 4)), hex2num(copytext(marking_colours["head"], 4, 6)), hex2num(copytext(marking_colours["head"], 6, 8)))) as color|null - if(new_markings) - marking_colours["head"] = new_markings - m_colours = list2params(marking_colours) - - if("m_style_body") - if(species in list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell", "Vox")) //Species with body markings/tattoos. - var/list/valid_markings = list() - valid_markings["None"] = marking_styles_list["None"] - for(var/markingstyle in marking_styles_list) - var/datum/sprite_accessory/M = marking_styles_list[markingstyle] - if(!(species in M.species_allowed)) - continue - if(M.marking_location != "body") - continue - - valid_markings[markingstyle] = marking_styles_list[markingstyle] - - var/list/marking_styles = params2list(m_styles) - var/new_marking_style = input(user, "Choose the style of your character's body markings:", "Character Preference", marking_styles["body"]) as null|anything in valid_markings - if(new_marking_style) - marking_styles["body"] = new_marking_style - m_styles = list2params(marking_styles) - - if("m_body_colour") - if(species in list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell", "Vox")) //Species with body markings/tattoos. - var/input = "Choose the colour of your your character's body markings:" - var/list/marking_colours = params2list(m_colours) - marking_colours["body"] = sanitize_hexcolor(marking_colours["body"]) - var/new_markings = input(user, input, "Character Preference", rgb(hex2num(copytext(marking_colours["body"], 2, 4)), hex2num(copytext(marking_colours["body"], 4, 6)), hex2num(copytext(marking_colours["body"], 6, 8)))) as color|null - if(new_markings) - marking_colours["body"] = new_markings - m_colours = list2params(marking_colours) - - if("m_style_tail") - if(species in list("Vox", "Vulpkanin")) //Species with tail markings. - var/list/valid_markings = list() - valid_markings["None"] = marking_styles_list["None"] - for(var/markingstyle in marking_styles_list) - var/datum/sprite_accessory/body_markings/tail/M = marking_styles_list[markingstyle] - if(M.marking_location != "tail") - continue - if(!(species in M.species_allowed)) - continue - if(!body_accessory) - if(M.tails_allowed) - continue - else - if(!M.tails_allowed || !(body_accessory in M.tails_allowed)) - continue - - valid_markings[markingstyle] = marking_styles_list[markingstyle] - - var/list/marking_styles = params2list(m_styles) - var/new_marking_style = input(user, "Choose the style of your character's tail markings:", "Character Preference", marking_styles["tail"]) as null|anything in valid_markings - - if(new_marking_style) - marking_styles["tail"] = new_marking_style - m_styles = list2params(marking_styles) - - if("m_tail_colour") - if(species in list("Vox", "Vulpkanin")) //Species with tail markings. - var/input = "Choose the colour of your your character's tail markings:" - var/list/marking_colours = params2list(m_colours) - marking_colours["tail"] = sanitize_hexcolor(marking_colours["tail"]) - var/new_markings = input(user, input, "Character Preference", rgb(hex2num(copytext(marking_colours["tail"], 2, 4)), hex2num(copytext(marking_colours["tail"], 4, 6)), hex2num(copytext(marking_colours["tail"], 6, 8)))) as color|null - if(new_markings) - marking_colours["tail"] = new_markings - m_colours = list2params(marking_colours) + m_style = new_marking_style if("body_accessory") var/list/possible_body_accessories = list() @@ -1563,9 +1402,6 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts var/new_body_accessory = input(user, "Choose your body accessory:", "Character Preference") as null|anything in possible_body_accessories if(new_body_accessory) - var/list/marking_styles = params2list(m_styles) - marking_styles["tail"] = "None" - m_styles = list2params(marking_styles) body_accessory = (new_body_accessory == "None") ? null : new_body_accessory if("facial") @@ -1576,16 +1412,6 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts g_facial = hex2num(copytext(new_facial, 4, 6)) b_facial = hex2num(copytext(new_facial, 6, 8)) - if("secondary_facial") - if(species in list("Human", "Unathi", "Tajaran", "Skrell", "Machine", "Vulpkanin", "Vox")) - var/datum/sprite_accessory/facial_hair_style = facial_hair_styles_list[f_style] - if(facial_hair_style.secondary_theme && !facial_hair_style.no_sec_colour) - var/new_facial = input(user, "Choose your character's secondary facial-hair colour:", "Character Preference", rgb(r_facial_sec, g_facial_sec, b_facial_sec)) as color|null - if(new_facial) - r_facial_sec = hex2num(copytext(new_facial, 2, 4)) - g_facial_sec = hex2num(copytext(new_facial, 4, 6)) - b_facial_sec = hex2num(copytext(new_facial, 6, 8)) - if("f_style") var/list/valid_facialhairstyles = list() for(var/facialhairstyle in facial_hair_styles_list) @@ -1767,12 +1593,11 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts var/new_state = input(user, "What state do you wish the limb to be in?") as null|anything in valid_limb_states if(!new_state) return - var/list/marking_styles = params2list(m_styles) //Handle resetting of head markings if the head is changed. switch(new_state) if("Normal") if(limb == "head") - marking_styles["head"] = "None" - h_style = hair_styles_list["Bald"] + m_style = "None" + h_style = random_hair_style(gender, species) f_style = facial_hair_styles_list["Shaved"] organ_data[limb] = null rlimb_data[limb] = null @@ -1817,15 +1642,11 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts subchoice = input(user, "Which model of [choice] [limb_name] do you wish to use?") as null|anything in robolimb_models if(subchoice) choice = subchoice - if(limb in list("head", "chest", "groin")) - if(species != "Machine") - return - if(limb == "head") - ha_style = "None" - alt_head = null - h_style = hair_styles_list["Bald"] - f_style = facial_hair_styles_list["Shaved"] - marking_styles["head"] = "None" + if(limb == "head") + ha_style = "None" + h_style = hair_styles_list["Bald"] + f_style = facial_hair_styles_list["Shaved"] + m_style = "None" rlimb_data[limb] = choice organ_data[limb] = "cyborg" if(second_limb) @@ -1836,7 +1657,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts else rlimb_data[second_limb] = choice organ_data[second_limb] = "cyborg" - m_styles = list2params(marking_styles) //Pass the reset head markings back to the preference variable. + if("organs") var/organ_name = input(user, "Which internal function do you want to change?") as null|anything in list("Heart", "Eyes") if(!organ_name) return @@ -2041,22 +1862,12 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts H.g_hair = g_hair H.b_hair = b_hair - H.r_hair_sec = r_hair_sec - H.g_hair_sec = g_hair_sec - H.b_hair_sec = b_hair_sec - H.r_facial = r_facial H.g_facial = g_facial H.b_facial = b_facial - H.r_facial_sec = r_facial_sec - H.g_facial_sec = g_facial_sec - H.b_facial_sec = b_facial_sec - H.h_style = h_style H.f_style = f_style - - H.alt_head = alt_head //End of head-specific. character.r_skin = r_skin @@ -2145,9 +1956,11 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts H.g_headacc = g_headacc H.b_headacc = b_headacc H.ha_style = ha_style - if((character.species.bodyflags & HAS_HEAD_MARKINGS) || (character.species.bodyflags & HAS_BODY_MARKINGS) || (character.species.bodyflags & HAS_TAIL_MARKINGS)) - character.m_colours = m_colours - character.m_styles = m_styles + if(character.species.bodyflags & HAS_MARKINGS) + character.r_markings = r_markings + character.g_markings = g_markings + character.b_markings = b_markings + character.m_style = m_style if(body_accessory) character.body_accessory = body_accessory_by_name["[body_accessory]"] diff --git a/code/modules/client/preference/preferences_mysql.dm b/code/modules/client/preference/preferences_mysql.dm index cd6177a08f1..f72ac076dff 100644 --- a/code/modules/client/preference/preferences_mysql.dm +++ b/code/modules/client/preference/preferences_mysql.dm @@ -110,28 +110,23 @@ hair_red, hair_green, hair_blue, - secondary_hair_red, - secondary_hair_green, - secondary_hair_blue, facial_red, facial_green, facial_blue, - secondary_facial_red, - secondary_facial_green, - secondary_facial_blue, skin_tone, skin_red, skin_green, skin_blue, - marking_colours, + markings_red, + markings_green, + markings_blue, head_accessory_red, head_accessory_green, head_accessory_blue, hair_style_name, facial_style_name, - marking_styles, + marking_style_name, head_accessory_style_name, - alt_head_name, eyes_red, eyes_green, eyes_blue, @@ -186,68 +181,63 @@ r_hair = text2num(query.item[8]) g_hair = text2num(query.item[9]) b_hair = text2num(query.item[10]) - r_hair_sec = text2num(query.item[11]) - g_hair_sec = text2num(query.item[12]) - b_hair_sec = text2num(query.item[13]) - r_facial = text2num(query.item[14]) - g_facial = text2num(query.item[15]) - b_facial = text2num(query.item[16]) - r_facial_sec = text2num(query.item[17]) - g_facial_sec = text2num(query.item[18]) - b_facial_sec = text2num(query.item[19]) - s_tone = text2num(query.item[20]) - r_skin = text2num(query.item[21]) - g_skin = text2num(query.item[22]) - b_skin = text2num(query.item[23]) - m_colours = query.item[24] - r_headacc = text2num(query.item[25]) - g_headacc = text2num(query.item[26]) - b_headacc = text2num(query.item[27]) - h_style = query.item[28] - f_style = query.item[29] - m_styles = query.item[30] - ha_style = query.item[31] - alt_head = query.item[32] - r_eyes = text2num(query.item[33]) - g_eyes = text2num(query.item[34]) - b_eyes = text2num(query.item[35]) - underwear = query.item[36] - undershirt = query.item[37] - backbag = text2num(query.item[38]) - b_type = query.item[39] + r_facial = text2num(query.item[11]) + g_facial = text2num(query.item[12]) + b_facial = text2num(query.item[13]) + s_tone = text2num(query.item[14]) + r_skin = text2num(query.item[15]) + g_skin = text2num(query.item[16]) + b_skin = text2num(query.item[17]) + r_markings = text2num(query.item[18]) + g_markings = text2num(query.item[19]) + b_markings = text2num(query.item[20]) + r_headacc = text2num(query.item[21]) + g_headacc = text2num(query.item[22]) + b_headacc = text2num(query.item[23]) + h_style = query.item[24] + f_style = query.item[25] + m_style = query.item[26] + ha_style = query.item[27] + r_eyes = text2num(query.item[28]) + g_eyes = text2num(query.item[29]) + b_eyes = text2num(query.item[30]) + underwear = query.item[31] + undershirt = query.item[32] + backbag = text2num(query.item[33]) + b_type = query.item[34] //Jobs - alternate_option = text2num(query.item[40]) - job_support_high = text2num(query.item[41]) - job_support_med = text2num(query.item[42]) - job_support_low = text2num(query.item[43]) - job_medsci_high = text2num(query.item[44]) - job_medsci_med = text2num(query.item[45]) - job_medsci_low = text2num(query.item[46]) - job_engsec_high = text2num(query.item[47]) - job_engsec_med = text2num(query.item[48]) - job_engsec_low = text2num(query.item[49]) - job_karma_high = text2num(query.item[50]) - job_karma_med = text2num(query.item[51]) - job_karma_low = text2num(query.item[52]) + alternate_option = text2num(query.item[35]) + job_support_high = text2num(query.item[36]) + job_support_med = text2num(query.item[37]) + job_support_low = text2num(query.item[38]) + job_medsci_high = text2num(query.item[39]) + job_medsci_med = text2num(query.item[40]) + job_medsci_low = text2num(query.item[41]) + job_engsec_high = text2num(query.item[42]) + job_engsec_med = text2num(query.item[43]) + job_engsec_low = text2num(query.item[44]) + job_karma_high = text2num(query.item[45]) + job_karma_med = text2num(query.item[46]) + job_karma_low = text2num(query.item[47]) //Miscellaneous - flavor_text = query.item[53] - med_record = query.item[54] - sec_record = query.item[55] - gen_record = query.item[56] - disabilities = text2num(query.item[57]) - player_alt_titles = params2list(query.item[58]) - organ_data = params2list(query.item[59]) - rlimb_data = params2list(query.item[60]) - nanotrasen_relation = query.item[61] - speciesprefs = text2num(query.item[62]) + flavor_text = query.item[48] + med_record = query.item[49] + sec_record = query.item[50] + gen_record = query.item[51] + disabilities = text2num(query.item[52]) + player_alt_titles = params2list(query.item[53]) + organ_data = params2list(query.item[54]) + rlimb_data = params2list(query.item[55]) + nanotrasen_relation = query.item[56] + speciesprefs = text2num(query.item[57]) //socks - socks = query.item[63] - body_accessory = query.item[64] - gear = params2list(query.item[65]) + socks = query.item[58] + body_accessory = query.item[59] + gear = params2list(query.item[60]) //Sanitize metadata = sanitize_text(metadata, initial(metadata)) @@ -263,26 +253,23 @@ r_hair = sanitize_integer(r_hair, 0, 255, initial(r_hair)) g_hair = sanitize_integer(g_hair, 0, 255, initial(g_hair)) b_hair = sanitize_integer(b_hair, 0, 255, initial(b_hair)) - r_hair_sec = sanitize_integer(r_hair_sec, 0, 255, initial(r_hair_sec)) - g_hair_sec = sanitize_integer(g_hair_sec, 0, 255, initial(g_hair_sec)) - b_hair_sec = sanitize_integer(b_hair_sec, 0, 255, initial(b_hair_sec)) r_facial = sanitize_integer(r_facial, 0, 255, initial(r_facial)) g_facial = sanitize_integer(g_facial, 0, 255, initial(g_facial)) b_facial = sanitize_integer(b_facial, 0, 255, initial(b_facial)) - r_facial_sec = sanitize_integer(r_facial_sec, 0, 255, initial(r_facial_sec)) - g_facial_sec = sanitize_integer(g_facial_sec, 0, 255, initial(g_facial_sec)) - b_facial_sec = sanitize_integer(b_facial_sec, 0, 255, initial(b_facial_sec)) s_tone = sanitize_integer(s_tone, -185, 34, initial(s_tone)) r_skin = sanitize_integer(r_skin, 0, 255, initial(r_skin)) g_skin = sanitize_integer(g_skin, 0, 255, initial(g_skin)) b_skin = sanitize_integer(b_skin, 0, 255, initial(b_skin)) + r_markings = sanitize_integer(r_markings, 0, 255, initial(r_markings)) + g_markings = sanitize_integer(g_markings, 0, 255, initial(g_markings)) + b_markings = sanitize_integer(b_markings, 0, 255, initial(b_markings)) r_headacc = sanitize_integer(r_headacc, 0, 255, initial(r_headacc)) g_headacc = sanitize_integer(g_headacc, 0, 255, initial(g_headacc)) b_headacc = sanitize_integer(b_headacc, 0, 255, initial(b_headacc)) h_style = sanitize_inlist(h_style, hair_styles_list, initial(h_style)) f_style = sanitize_inlist(f_style, facial_hair_styles_list, initial(f_style)) + m_style = sanitize_inlist(m_style, marking_styles_list, initial(m_style)) ha_style = sanitize_inlist(ha_style, head_accessory_styles_list, initial(ha_style)) - alt_head = sanitize_inlist(alt_head, alt_heads_list, initial(alt_head)) r_eyes = sanitize_integer(r_eyes, 0, 255, initial(r_eyes)) g_eyes = sanitize_integer(g_eyes, 0, 255, initial(g_eyes)) b_eyes = sanitize_integer(b_eyes, 0, 255, initial(b_eyes)) @@ -313,8 +300,6 @@ if(!player_alt_titles) player_alt_titles = new() if(!organ_data) src.organ_data = list() if(!rlimb_data) src.rlimb_data = list() - if(!m_colours) m_colours = initial(m_colours) - if(!m_styles) m_styles = initial(m_styles) if(!gear) gear = list() return 1 @@ -347,28 +332,23 @@ hair_red='[r_hair]', hair_green='[g_hair]', hair_blue='[b_hair]', - secondary_hair_red='[r_hair_sec]', - secondary_hair_green='[g_hair_sec]', - secondary_hair_blue='[b_hair_sec]', facial_red='[r_facial]', facial_green='[g_facial]', facial_blue='[b_facial]', - secondary_facial_red='[r_facial_sec]', - secondary_facial_green='[g_facial_sec]', - secondary_facial_blue='[b_facial_sec]', skin_tone='[s_tone]', skin_red='[r_skin]', skin_green='[g_skin]', skin_blue='[b_skin]', - marking_colours='[m_colours]', + markings_red='[r_markings]', + markings_green='[g_markings]', + markings_blue='[b_markings]', head_accessory_red='[r_headacc]', head_accessory_green='[g_headacc]', head_accessory_blue='[b_headacc]', hair_style_name='[sql_sanitize_text(h_style)]', facial_style_name='[sql_sanitize_text(f_style)]', - marking_styles='[m_styles]', + marking_style_name='[sql_sanitize_text(m_style)]', head_accessory_style_name='[sql_sanitize_text(ha_style)]', - alt_head_name='[sql_sanitize_text(alt_head)]', eyes_red='[r_eyes]', eyes_green='[g_eyes]', eyes_blue='[b_eyes]', @@ -417,13 +397,11 @@ INSERT INTO [format_table_name("characters")] (ckey, slot, OOC_Notes, real_name, name_is_always_random, gender, age, species, language, hair_red, hair_green, hair_blue, - secondary_hair_red, secondary_hair_green, secondary_hair_blue, facial_red, facial_green, facial_blue, - secondary_facial_red, secondary_facial_green, secondary_facial_blue, skin_tone, skin_red, skin_green, skin_blue, - marking_colours, + markings_red, markings_green, markings_blue, head_accessory_red, head_accessory_green, head_accessory_blue, - hair_style_name, facial_style_name, marking_styles, head_accessory_style_name, alt_head_name, + hair_style_name, facial_style_name, marking_style_name, head_accessory_style_name, eyes_red, eyes_green, eyes_blue, underwear, undershirt, backbag, b_type, alternate_option, @@ -440,13 +418,11 @@ ('[C.ckey]', '[default_slot]', '[sql_sanitize_text(metadata)]', '[sql_sanitize_text(real_name)]', '[be_random_name]','[gender]', '[age]', '[sql_sanitize_text(species)]', '[sql_sanitize_text(language)]', '[r_hair]', '[g_hair]', '[b_hair]', - '[r_hair_sec]', '[g_hair_sec]', '[b_hair_sec]', '[r_facial]', '[g_facial]', '[b_facial]', - '[r_facial_sec]', '[g_facial_sec]', '[b_facial_sec]', '[s_tone]', '[r_skin]', '[g_skin]', '[b_skin]', - '[m_colours]', + '[r_markings]', '[g_markings]', '[b_markings]', '[r_headacc]', '[g_headacc]', '[b_headacc]', - '[sql_sanitize_text(h_style)]', '[sql_sanitize_text(f_style)]', '[m_styles]', '[sql_sanitize_text(ha_style)]', '[sql_sanitize_text(alt_head)]', + '[sql_sanitize_text(h_style)]', '[sql_sanitize_text(f_style)]', '[sql_sanitize_text(m_style)]', '[sql_sanitize_text(ha_style)]', '[r_eyes]', '[g_eyes]', '[b_eyes]', '[underwear]', '[undershirt]', '[backbag]', '[b_type]', '[alternate_option]', diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index 07f8d6b7931..c7b9b3abdb6 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -47,8 +47,7 @@ to_chat(user, "[target] has no skin, how do you expect to tattoo them?") return - var/list/marking_styles = params2list(target.m_styles) - if(marking_styles["body"] != "None") + if(target.m_style != "None") to_chat(user, "[target] already has body markings, any more would look silly!") return @@ -62,12 +61,10 @@ user.visible_message("[user] finishes the [tattoo_name] on [target].", "You finish the [tattoo_name].") if(!used) // No exploiting do_after to tattoo multiple folks. - var/list/marking_colours = params2list(target.m_colours) - marking_styles["body"] = tattoo_icon - marking_colours["body"] = "#[num2hex(tattoo_r,2)][num2hex(tattoo_g,2)][num2hex(tattoo_b,2)]" - - target.m_styles = list2params(marking_styles) - target.m_colours = list2params(marking_colours) + target.m_style = tattoo_icon + target.r_markings = tattoo_r + target.g_markings = tattoo_g + target.b_markings = tattoo_b target.update_markings() diff --git a/code/modules/mob/living/carbon/human/appearance.dm b/code/modules/mob/living/carbon/human/appearance.dm index 91a6a08cbe7..ca241306f00 100644 --- a/code/modules/mob/living/carbon/human/appearance.dm +++ b/code/modules/mob/living/carbon/human/appearance.dm @@ -4,7 +4,13 @@ AC.ui_interact(user, state = state) /mob/living/carbon/human/proc/change_species(var/new_species) - if(!new_species || species == new_species || !(new_species in all_species)) + if(!new_species) + return + + if(species == new_species) + return + + if(!(new_species in all_species)) return set_species(new_species) @@ -34,7 +40,13 @@ /mob/living/carbon/human/proc/change_hair(var/hair_style) var/obj/item/organ/external/head/H = get_organ("head") - if(!hair_style || H.h_style == hair_style || !(hair_style in hair_styles_list)) + if(!hair_style) + return + + if(H.h_style == hair_style) + return + + if(!(hair_style in hair_styles_list)) return H.h_style = hair_style @@ -44,7 +56,13 @@ /mob/living/carbon/human/proc/change_facial_hair(var/facial_hair_style) var/obj/item/organ/external/head/H = get_organ("head") - if(!facial_hair_style || H.f_style == facial_hair_style || !(facial_hair_style in facial_hair_styles_list)) + if(!facial_hair_style) + return + + if(H.f_style == facial_hair_style) + return + + if(!(facial_hair_style in facial_hair_styles_list)) return H.f_style = facial_hair_style @@ -54,7 +72,13 @@ /mob/living/carbon/human/proc/change_head_accessory(var/head_accessory_style) var/obj/item/organ/external/head/H = get_organ("head") - if(!head_accessory_style || H.ha_style == head_accessory_style || !(head_accessory_style in head_accessory_styles_list)) + if(!head_accessory_style) + return + + if(H.ha_style == head_accessory_style) + return + + if(!(head_accessory_style in head_accessory_styles_list)) return H.ha_style = head_accessory_style @@ -62,51 +86,30 @@ update_head_accessory() return 1 -/mob/living/carbon/human/proc/change_markings(var/marking_style, var/location = "body") - var/list/marking_styles = params2list(m_styles) - if(!marking_style || marking_styles[location] == marking_style || !(marking_style in marking_styles_list)) +/mob/living/carbon/human/proc/change_markings(var/marking_style) + if(!marking_style) return - var/datum/sprite_accessory/body_markings/marking = marking_styles_list[marking_style] - if(marking.name != "None" && marking.marking_location != location) + if(src.m_style == marking_style) return - var/obj/item/organ/external/head/head_organ = get_organ("head") - if(location == "head") - if(head_organ.alt_head && head_organ.alt_head != "None") - var/datum/sprite_accessory/body_markings/head/H = marking_styles_list[marking_style] - if(marking.name != "None" && (!H.heads_allowed || !(head_organ.alt_head in H.heads_allowed))) - return - else - if(!head_organ.alt_head || head_organ.alt_head == "None") - head_organ.alt_head = "None" - var/datum/sprite_accessory/body_markings/head/H = marking_styles_list[marking_style] - if(H.heads_allowed ) - return + if(!(marking_style in marking_styles_list)) + return - if(location == "tail" && marking.name != "None") - var/datum/sprite_accessory/body_markings/tail/tail_marking = marking_styles_list[marking_style] - if(!body_accessory) - if(tail_marking.tails_allowed) - return - else - if(!tail_marking.tails_allowed || !(body_accessory.name in tail_marking.tails_allowed)) - return + src.m_style = marking_style - marking_styles[location] = marking_style - m_styles = list2params(marking_styles) - - if(location == "tail") - stop_tail_wagging() - else - update_markings() + update_markings() return 1 /mob/living/carbon/human/proc/change_body_accessory(var/body_accessory_style) var/found - if(!body_accessory_style || (src.body_accessory && src.body_accessory.name == body_accessory_style)) + if(!body_accessory_style) return + if(src.body_accessory) + if(src.body_accessory.name == body_accessory_style) + return + for(var/B in body_accessory_by_name) if(B == body_accessory_style) src.body_accessory = body_accessory_by_name[body_accessory_style] @@ -115,39 +118,17 @@ if(!found) return - var/list/marking_styles = params2list(m_styles) - marking_styles["tail"] = "None" - m_styles = list2params(marking_styles) update_tail_layer() return 1 -/mob/living/carbon/human/proc/change_alt_head(var/alternate_head) - var/obj/item/organ/external/head/H = get_organ("head") - if(H.alt_head == alternate_head || (H.status & ORGAN_ROBOT) || (!(species.bodyflags & HAS_ALT_HEADS) && alternate_head != "None") || !(alternate_head in alt_heads_list)) - return - - H.alt_head = alternate_head - - //Handle head markings if they're incompatible with the new alt head. - var/list/marking_styles = params2list(m_styles) - if(marking_styles["head"]) - var/head_marking = marking_styles["head"] - var/datum/sprite_accessory/body_markings/head/head_marking_style = marking_styles_list[head_marking] - if(!head_marking_style.heads_allowed || !(H.alt_head in head_marking_style.heads_allowed)) - marking_styles["head"] = "None" - m_styles = list2params(marking_styles) - update_markings() - - update_body(1, 1) //Update the body and force limb icon regeneration to update the head with the new icon. - return 1 - /mob/living/carbon/human/proc/reset_hair() reset_head_hair() reset_facial_hair() reset_head_accessory() - var/list/marking_styles = params2list(m_styles) - if(marking_styles["head"] && marking_styles["head"] != "None") //Resets head markings. - reset_markings() + if(m_style && m_style != "None") //Resets the markings if they were head markings. + var/datum/sprite_accessory/marking_style = marking_styles_list[m_style] + if(marking_style && marking_style.marking_location == "head") + reset_markings() /mob/living/carbon/human/proc/reset_head_hair() var/obj/item/organ/external/head/H = get_organ("head") @@ -170,30 +151,14 @@ H.f_style = "Shaved" update_fhair() -/mob/living/carbon/human/proc/reset_markings(var/location) - var/list/valid_markings - var/list/marking_styles = params2list(m_styles) - - if(location) - valid_markings = generate_valid_markings(location) - if(valid_markings.len) - marking_styles[location] = pick(valid_markings) - else - //this shouldn't happen - marking_styles[location] = "None" +/mob/living/carbon/human/proc/reset_markings() + var/list/valid_markings = generate_valid_markings() + if(valid_markings.len) + m_style = pick(valid_markings) else - for(var/m_location in list("head", "body", "tail")) - valid_markings = generate_valid_markings(m_location) - if(valid_markings.len) - marking_styles[m_location] = pick(valid_markings) - else - //this shouldn't happen - marking_styles[m_location] = "None" - - m_styles = list2params(marking_styles) - + //this shouldn't happen + m_style = "None" update_markings() - stop_tail_wagging() /mob/living/carbon/human/proc/reset_head_accessory() var/obj/item/organ/external/head/H = get_organ("head") @@ -217,42 +182,26 @@ update_body() return 1 -/mob/living/carbon/human/proc/change_hair_color(var/red, var/green, var/blue, var/secondary) +/mob/living/carbon/human/proc/change_hair_color(var/red, var/green, var/blue) var/obj/item/organ/external/head/H = get_organ("head") - if(!secondary) - if(red == H.r_hair && green == H.g_hair && blue == H.b_hair) - return + if(red == H.r_hair && green == H.g_hair && blue == H.b_hair) + return - H.r_hair = red - H.g_hair = green - H.b_hair = blue - else - if(red == H.r_hair_sec && green == H.g_hair_sec && blue == H.b_hair_sec) - return - - H.r_hair_sec = red - H.g_hair_sec = green - H.b_hair_sec = blue + H.r_hair = red + H.g_hair = green + H.b_hair = blue update_hair() return 1 -/mob/living/carbon/human/proc/change_facial_hair_color(var/red, var/green, var/blue, var/secondary) +/mob/living/carbon/human/proc/change_facial_hair_color(var/red, var/green, var/blue) var/obj/item/organ/external/head/H = get_organ("head") - if(!secondary) - if(red == H.r_facial && green == H.g_facial && blue == H.b_facial) - return + if(red == H.r_facial && green == H.g_facial && blue == H.b_facial) + return - H.r_facial = red - H.g_facial = green - H.b_facial = blue - else - if(red == H.r_facial_sec && green == H.g_facial_sec && blue == H.b_facial_sec) - return - - H.r_facial_sec = red - H.g_facial_sec = green - H.b_facial_sec = blue + H.r_facial = red + H.g_facial = green + H.b_facial = blue update_fhair() return 1 @@ -269,19 +218,15 @@ update_head_accessory() return 1 -/mob/living/carbon/human/proc/change_marking_color(var/colour, var/location = "body") - var/list/marking_colours = params2list(m_colours) - marking_colours[location] = sanitize_hexcolor(marking_colours[location]) - if(colour == marking_colours[location]) +/mob/living/carbon/human/proc/change_marking_color(var/red, var/green, var/blue) + if(red == r_markings && green == g_markings && blue == b_markings) return - marking_colours[location] = colour - m_colours = list2params(marking_colours) + r_markings = red + g_markings = green + b_markings = blue - if(location == "tail") - update_tail_layer() - else - update_markings() + update_markings() return 1 @@ -317,7 +262,11 @@ var/datum/species/current_species = all_species[current_species_name] if(check_whitelist && config.usealienwhitelist && !check_rights(R_ADMIN, 0, src)) //If we're using the whitelist, make sure to check it! - if((whitelist.len && !(current_species_name in whitelist)) || (blacklist.len && (current_species_name in blacklist)) || ((current_species.flags & IS_WHITELISTED) && !is_alien_whitelisted(src, current_species_name))) + if(whitelist.len && !(current_species_name in whitelist)) + continue + if(blacklist.len && (current_species_name in blacklist)) + continue + if((current_species.flags & IS_WHITELISTED) && !is_alien_whitelisted(src, current_species_name)) continue valid_species += current_species_name @@ -330,7 +279,9 @@ for(var/hairstyle in hair_styles_list) var/datum/sprite_accessory/S = hair_styles_list[hairstyle] - if((gender == MALE && S.gender == FEMALE) || (gender == FEMALE && S.gender == MALE)) + if(gender == MALE && S.gender == FEMALE) + continue + if(gender == FEMALE && S.gender == MALE) continue if(H.species.flags & ALL_RPARTS) //If the user is a species who can have a robotic head... var/datum/robolimb/robohead = all_robolimbs[H.model] @@ -362,7 +313,9 @@ for(var/facialhairstyle in facial_hair_styles_list) var/datum/sprite_accessory/S = facial_hair_styles_list[facialhairstyle] - if((gender == MALE && S.gender == FEMALE) || (gender == FEMALE && S.gender == MALE)) + if(gender == MALE && S.gender == FEMALE) + continue + if(gender == FEMALE && S.gender == MALE) continue if(H.species.flags & ALL_RPARTS) //If the user is a species who can have a robotic head... var/datum/robolimb/robohead = all_robolimbs[H.model] @@ -401,37 +354,18 @@ return valid_head_accessories -/mob/living/carbon/human/proc/generate_valid_markings(var/location = "body") +/mob/living/carbon/human/proc/generate_valid_markings() var/list/valid_markings = new() var/obj/item/organ/external/head/H = get_organ("head") for(var/marking in marking_styles_list) - var/datum/sprite_accessory/body_markings/S = marking_styles_list[marking] - if(S.name == "None") - valid_markings += marking - continue - if(S.marking_location != location) //If the marking isn't for the location we desire, skip. - continue + var/datum/sprite_accessory/S = marking_styles_list[marking] + if(!(species.name in S.species_allowed)) //If the user's head is not of a species the marking style allows, skip it. Otherwise, add it to the list. continue - if(location == "tail") - if(!body_accessory) - if(S.tails_allowed) - continue - else - if(!S.tails_allowed || !(body_accessory.name in S.tails_allowed)) - continue - if(location == "head") - var/datum/sprite_accessory/body_markings/head/M = marking_styles_list[S.name] - if(H.species.flags & ALL_RPARTS)//If the user is a species that can have a robotic head... - var/datum/robolimb/robohead = all_robolimbs[H.model] - if(!(S.models_allowed && (robohead.company in S.models_allowed))) //Make sure they don't get markings incompatible with their head. - continue - else if(H.alt_head && H.alt_head != "None") //If the user's got an alt head, validate markings for that head. - if(!(H.alt_head in M.heads_allowed)) - continue - else - if(M.heads_allowed) - continue + if(H.species.flags & ALL_RPARTS) //If the user is a species that can have a robotic head... + var/datum/robolimb/robohead = all_robolimbs[H.model] + if(!(S.models_allowed && (robohead.company in S.models_allowed))) //Make sure they don't get markings incompatible with their head. + continue valid_markings += marking return valid_markings @@ -451,15 +385,3 @@ valid_body_accessories += B return valid_body_accessories - -/mob/living/carbon/human/proc/generate_valid_alt_heads() - var/list/valid_alt_heads = list() - valid_alt_heads["None"] = alt_heads_list["None"] //The only null entry should be the "None" option, and there should always be a "None" option. - for(var/alternate_head in alt_heads_list) - var/datum/sprite_accessory/alt_heads/head = alt_heads_list[alternate_head] - if(!(species.name in head.species_allowed)) - continue - - valid_alt_heads[alternate_head] = alt_heads_list[alternate_head] - - return valid_alt_heads \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/body_accessories.dm b/code/modules/mob/living/carbon/human/body_accessories.dm index 8744a09ea4d..f4b95eec4d4 100644 --- a/code/modules/mob/living/carbon/human/body_accessories.dm +++ b/code/modules/mob/living/carbon/human/body_accessories.dm @@ -112,30 +112,36 @@ var/global/list/body_accessory_by_species = list("None" = null) //Vulpkanin /datum/body_accessory/tail/vulpkanin_2 name = "Vulpkanin Alt 1 (Bushy)" + icon_state = "vulptail2" animated_icon_state = "vulptail2_a" allowed_species = list("Vulpkanin") /datum/body_accessory/tail/vulpkanin_3 name = "Vulpkanin Alt 2 (Straight)" + icon_state = "vulptail3" animated_icon_state = "vulptail3_a" allowed_species = list("Vulpkanin") /datum/body_accessory/tail/vulpkanin_4 name = "Vulpkanin Alt 3 (Tiny)" + icon_state = "vulptail4" animated_icon_state = "vulptail4_a" allowed_species = list("Vulpkanin") /datum/body_accessory/tail/vulpkanin_5 name = "Vulpkanin Alt 4 (Short)" + icon_state = "vulptail5" animated_icon_state = "vulptail5_a" allowed_species = list("Vulpkanin") /datum/body_accessory/tail/vulpkanin_6 name = "Vulpkanin Alt 5 (Straight Bushy)" + icon_state = "vulptail6" animated_icon_state = "vulptail6_a" allowed_species = list("Vulpkanin") + diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index ab176e6912f..c63c03d8321 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1587,12 +1587,6 @@ H.g_headacc = 0 H.b_headacc = 0 - m_styles = initial(m_styles) //Wipes out markings, setting them all to "None". - m_colours = initial(m_styles) //Defaults colour to #00000 for all markings. - H.alt_head = "None" - H.ha_style = "None" - body_accessory = null - if(!dna) dna = new /datum/dna(null) dna.species = species.name @@ -1693,15 +1687,14 @@ if(!head_organ) return if(!robohead.is_monitor) //If they've got a prosthetic head and it isn't a monitor, they've no screen to adjust. Instead, let them change the colour of their optics! - var/list/marking_colours = params2list(m_colours) - marking_colours["head"] = sanitize_hexcolor(marking_colours["head"]) - var/optic_colour = input(src, "Select optic colour", rgb(hex2num(copytext(marking_colours["head"], 2, 4)), hex2num(copytext(marking_colours["head"], 4, 6)), hex2num(copytext(marking_colours["head"], 6, 8)))) as color|null + var/optic_colour = input(src, "Select optic colour", rgb(r_markings, g_markings, b_markings)) as color|null if(incapacitated()) to_chat(src, "You were interrupted while changing the colour of your optics.") return if(optic_colour) - marking_colours["head"] = optic_colour - m_colours = list2params(marking_colours) + r_markings = hex2num(copytext(optic_colour, 2, 4)) + g_markings = hex2num(copytext(optic_colour, 4, 6)) + b_markings = hex2num(copytext(optic_colour, 6, 8)) update_markings() else if(robohead.is_monitor) //Means that the character's head is a monitor (has a screen). Time to customize. diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index 0626c89fa1f..a74409a9b44 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -4,12 +4,10 @@ var/global/default_martial_art = new/datum/martial_art hud_possible = list(HEALTH_HUD,STATUS_HUD,ID_HUD,WANTED_HUD,IMPLOYAL_HUD,IMPCHEM_HUD,IMPTRACK_HUD,SPECIALROLE_HUD,NATIONS_HUD) //Marking colour and style - var/m_colours = "head=#000000;\ - body=#000000;\ - tail=#000000" - var/m_styles = "head=None;\ - body=None;\ - tail=None" + var/r_markings = 0 + var/g_markings = 0 + var/b_markings = 0 + var/m_style = "None" //Eye colour var/r_eyes = 0 diff --git a/code/modules/mob/living/carbon/human/species/station.dm b/code/modules/mob/living/carbon/human/species/station.dm index 3577209ecd5..6268652f828 100644 --- a/code/modules/mob/living/carbon/human/species/station.dm +++ b/code/modules/mob/living/carbon/human/species/station.dm @@ -8,7 +8,7 @@ language = "Sol Common" flags = HAS_LIPS | CAN_BE_FAT clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS - bodyflags = HAS_SKIN_TONE | HAS_BODY_MARKINGS + bodyflags = HAS_SKIN_TONE dietflags = DIET_OMNI unarmed_type = /datum/unarmed_attack/punch blurb = "Humanity originated in the Sol system, and over the last five centuries has spread \ @@ -40,7 +40,7 @@ flags = HAS_LIPS clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS - bodyflags = FEET_CLAWS | HAS_TAIL | HAS_HEAD_ACCESSORY | HAS_BODY_MARKINGS | HAS_HEAD_MARKINGS | HAS_SKIN_COLOR | HAS_ALT_HEADS | TAIL_WAGGING + bodyflags = FEET_CLAWS | HAS_TAIL | HAS_HEAD_ACCESSORY | HAS_MARKINGS | HAS_SKIN_COLOR | TAIL_WAGGING dietflags = DIET_CARN cold_level_1 = 280 //Default 260 - Lower is better @@ -112,11 +112,13 @@ flags = HAS_LIPS | CAN_BE_FAT clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS - bodyflags = FEET_PADDED | HAS_TAIL | HAS_HEAD_ACCESSORY | HAS_HEAD_MARKINGS | HAS_BODY_MARKINGS | HAS_SKIN_COLOR | TAIL_WAGGING | HAS_FUR + bodyflags = FEET_PADDED | HAS_TAIL | HAS_HEAD_ACCESSORY | HAS_MARKINGS | HAS_SKIN_COLOR | TAIL_WAGGING | HAS_FUR dietflags = DIET_OMNI reagent_tag = PROCESS_ORG flesh_color = "#AFA59E" - base_color = "#424242" + base_color = "#333333" + //Default styles for created mobs. + default_headacc = "Tajaran Ears" butt_sprite = "tajaran" has_organ = list( @@ -162,11 +164,11 @@ flags = HAS_LIPS clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS - bodyflags = FEET_PADDED | HAS_TAIL | TAIL_WAGGING | TAIL_OVERLAPPED | HAS_HEAD_ACCESSORY | HAS_HEAD_MARKINGS | HAS_BODY_MARKINGS | HAS_TAIL_MARKINGS | HAS_SKIN_COLOR | HAS_FUR + bodyflags = FEET_PADDED | HAS_TAIL | HAS_HEAD_ACCESSORY | HAS_MARKINGS | HAS_SKIN_COLOR | TAIL_WAGGING | HAS_FUR dietflags = DIET_OMNI reagent_tag = PROCESS_ORG flesh_color = "#966464" - base_color = "#CF4D2F" + base_color = "#B43214" butt_sprite = "vulp" has_organ = list( @@ -210,7 +212,7 @@ flags = HAS_LIPS clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS - bodyflags = HAS_SKIN_COLOR | HAS_BODY_MARKINGS + bodyflags = HAS_SKIN_COLOR dietflags = DIET_HERB flesh_color = "#8CD7A3" blood_color = "#1D2CBF" @@ -285,7 +287,7 @@ flags = NO_SCAN | IS_WHITELISTED clothing_flags = HAS_SOCKS dietflags = DIET_OMNI - bodyflags = HAS_ICON_SKIN_TONE | HAS_TAIL | TAIL_WAGGING | TAIL_OVERLAPPED | HAS_BODY_MARKINGS | HAS_TAIL_MARKINGS + bodyflags = HAS_ICON_SKIN_TONE | HAS_TAIL | TAIL_WAGGING | TAIL_OVERLAPPED blood_color = "#2299FC" flesh_color = "#808D11" @@ -702,7 +704,6 @@ flags = IS_WHITELISTED | HAS_LIPS | CAN_BE_FAT clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS - bodyflags = HAS_BODY_MARKINGS dietflags = DIET_HERB reagent_tag = PROCESS_ORG blood_color = "#A200FF" @@ -851,7 +852,7 @@ flags = IS_WHITELISTED | NO_BREATHE | NO_SCAN | NO_BLOOD | NO_PAIN | NO_DNA | NO_POISON | RADIMMUNE | ALL_RPARTS clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS - bodyflags = HAS_SKIN_COLOR | HAS_HEAD_MARKINGS | HAS_HEAD_ACCESSORY + bodyflags = HAS_SKIN_COLOR | HAS_MARKINGS | HAS_HEAD_ACCESSORY dietflags = 0 //IPCs can't eat, so no diet blood_color = "#1F181F" flesh_color = "#AAAAAA" diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 130ea34f93d..b919912a6c1 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -212,15 +212,15 @@ var/global/list/damage_icon_parts = list() if(update_icons) update_icons() //BASE MOB SPRITE -/mob/living/carbon/human/proc/update_body(var/update_icons=1, var/rebuild_base=0) +/mob/living/carbon/human/proc/update_body(var/update_icons=1) var/husk_color_mod = rgb(96,88,80) var/hulk_color_mod = rgb(48,224,40) - var/husk = (HUSK in mutations) - var/fat = (FAT in mutations) - var/hulk = (HULK in mutations) - var/skeleton = (SKELETON in mutations) + var/husk = (HUSK in src.mutations) + var/fat = (FAT in src.mutations) + var/hulk = (HULK in src.mutations) + var/skeleton = (SKELETON in src.mutations) if(species && species.bodyflags & HAS_ICON_SKIN_TONE) species.updatespeciescolor(src) @@ -262,7 +262,7 @@ var/global/list/damage_icon_parts = list() icon_key = "[icon_key][husk ? 1 : 0][fat ? 1 : 0][hulk ? 1 : 0][skeleton ? 1 : 0]" var/icon/base_icon - if(human_icon_cache[icon_key] && !rebuild_base) + if(human_icon_cache[icon_key]) base_icon = human_icon_cache[icon_key] else //BEGIN CACHED ICON GENERATION. @@ -309,7 +309,7 @@ var/global/list/damage_icon_parts = list() //END CACHED ICON GENERATION. stand_icon.Blend(base_icon,ICON_OVERLAY) - if((!body_accessory || istype(body_accessory, /datum/body_accessory/tail)) && species.bodyflags & TAIL_OVERLAPPED) // If the user's species is flagged to have a tail that needs to be overlapped by limbs... (having a non-tail body accessory like the snake body will override this) + if(src.species.bodyflags & TAIL_OVERLAPPED) // If the user's species is flagged to have a tail that needs to be overlapped by limbs... overlays_standing[LIMBS_LAYER] = image(stand_icon) // Diverts limbs to their own layer so they can overlay things (i.e. tails). else overlays_standing[LIMBS_LAYER] = null // So we don't get the old species' sprite splatted on top of the new one's @@ -360,38 +360,29 @@ var/global/list/damage_icon_parts = list() //MARKINGS OVERLAY /mob/living/carbon/human/proc/update_markings(var/update_icons=1) - //Reset our markings. + //Reset our markings overlays_standing[MARKINGS_LAYER] = null - //Base icon. - var/icon/markings_standing = new/icon('icons/mob/body_accessory.dmi',"accessory_none_s") - - //Prep marking styles and colours. - var/list/marking_styles = params2list(m_styles) - var/list/marking_colours = params2list(m_colours) - - //Body markings. var/obj/item/organ/external/chest/chest_organ = get_organ("chest") - if(chest_organ && !chest_organ.is_stump() && !(chest_organ.status & ORGAN_DESTROYED) && marking_styles["body"]) - var/body_marking = marking_styles["body"] - var/datum/sprite_accessory/body_marking_style = marking_styles_list[body_marking] - if(body_marking_style && body_marking_style.species_allowed && (species.name in body_marking_style.species_allowed)) - var/icon/b_marking_s = new/icon("icon" = body_marking_style.icon, "icon_state" = "[body_marking_style.icon_state]_s") - if(body_marking_style.do_colouration) - marking_colours["body"] = sanitize_hexcolor(marking_colours["body"]) - b_marking_s.Blend(rgb(hex2num(copytext(marking_colours["body"], 2, 4)), hex2num(copytext(marking_colours["body"], 4, 6)), hex2num(copytext(marking_colours["body"], 6, 8))), ICON_ADD) - markings_standing.Blend(b_marking_s, ICON_OVERLAY) - //Head markings. - var/obj/item/organ/external/head/head_organ = get_organ("head") - if(head_organ && !head_organ.is_stump() && !(head_organ.status & ORGAN_DESTROYED) && marking_styles["head"]) //If the head is destroyed, forget the head markings. This prevents floating optical markings on decapitated IPCs, for example. - var/head_marking = marking_styles["head"] - var/datum/sprite_accessory/head_marking_style = marking_styles_list[head_marking] - if(head_marking_style && head_marking_style.species_allowed && (head_organ.species.name in head_marking_style.species_allowed)) - var/icon/h_marking_s = new/icon("icon" = head_marking_style.icon, "icon_state" = "[head_marking_style.icon_state]_s") - if(head_marking_style.do_colouration) - marking_colours["head"] = sanitize_hexcolor(marking_colours["head"]) - h_marking_s.Blend(rgb(hex2num(copytext(marking_colours["head"], 2, 4)), hex2num(copytext(marking_colours["head"], 4, 6)), hex2num(copytext(marking_colours["head"], 6, 8))), ICON_ADD) - markings_standing.Blend(h_marking_s, ICON_OVERLAY) + if(!chest_organ || chest_organ.is_stump() || (chest_organ.status & ORGAN_DESTROYED) ) + if(update_icons) update_icons() + return + + //base icons + var/icon/markings_standing = new /icon('icons/mob/body_accessory.dmi',"accessory_none_s") + + if(m_style && m_style != "None") + var/datum/sprite_accessory/marking_style = marking_styles_list[m_style] + if(marking_style) + var/obj/item/organ/external/head/head_organ = get_organ("head") + if((!head_organ || head_organ.is_stump() || (head_organ.status & ORGAN_DESTROYED)) && marking_style.marking_location == "head") + return //If the head is destroyed and it is the organ the marking is located on, get us out of here. This prevents floating optical markings on decapitated IPCs, for example. + var/icon/markings_s = new/icon("icon" = marking_style.icon, "icon_state" = "[marking_style.icon_state]_s") + if(marking_style.do_colouration) + markings_s.Blend(rgb(r_markings, g_markings, b_markings), ICON_ADD) + markings_standing.Blend(markings_s, ICON_OVERLAY) + else + //warning("Invalid m_style for [species.name]: [m_style]") overlays_standing[MARKINGS_LAYER] = image(markings_standing) @@ -435,15 +426,15 @@ var/global/list/damage_icon_parts = list() //HAIR OVERLAY /mob/living/carbon/human/proc/update_hair(var/update_icons=1) //Reset our hair - overlays_standing[HAIR_LAYER] = null + overlays_standing[HAIR_LAYER] = null var/obj/item/organ/external/head/head_organ = get_organ("head") - if(!head_organ || head_organ.is_stump() || (head_organ.status & ORGAN_DESTROYED)) + if(!head_organ || head_organ.is_stump() || (head_organ.status & ORGAN_DESTROYED) ) if(update_icons) update_icons() return //masks and helmets can obscure our hair, unless we're a synthetic - if((head && (head.flags & BLOCKHAIR)) || (wear_mask && (wear_mask.flags & BLOCKHAIR))) + if( (head && (head.flags & BLOCKHAIR)) || (wear_mask && (wear_mask.flags & BLOCKHAIR))) if(update_icons) update_icons() return @@ -463,19 +454,13 @@ var/global/list/damage_icon_parts = list() else if(hair_style.do_colouration) hair_s.Blend(rgb(head_organ.r_hair, head_organ.g_hair, head_organ.b_hair), ICON_ADD) - if(hair_style.secondary_theme) - var/icon/hair_secondary_s = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_[hair_style.secondary_theme]_s") - if(!hair_style.no_sec_colour) - hair_secondary_s.Blend(rgb(head_organ.r_hair_sec, head_organ.g_hair_sec, head_organ.b_hair_sec), ICON_ADD) - hair_s.Blend(hair_secondary_s, ICON_OVERLAY) - hair_standing = hair_s //hair_standing.Blend(hair_s, ICON_OVERLAY) //Having it this way preserves animations. Useful for IPC screens. else //warning("Invalid h_style for [species.name]: [h_style]") //hair_standing.Blend(debrained_s, ICON_OVERLAY)//how does i overlay for fish? - overlays_standing[HAIR_LAYER] = image(hair_standing) + overlays_standing[HAIR_LAYER] = image(hair_standing) if(update_icons) update_icons() @@ -483,15 +468,15 @@ var/global/list/damage_icon_parts = list() //FACIAL HAIR OVERLAY /mob/living/carbon/human/proc/update_fhair(var/update_icons=1) //Reset our facial hair - overlays_standing[FHAIR_LAYER] = null + overlays_standing[FHAIR_LAYER] = null var/obj/item/organ/external/head/head_organ = get_organ("head") - if(!head_organ || head_organ.is_stump() || (head_organ.status & ORGAN_DESTROYED)) + if(!head_organ || head_organ.is_stump() || (head_organ.status & ORGAN_DESTROYED) ) if(update_icons) update_icons() return //masks and helmets can obscure our facial hair, unless we're a synthetic - if((head && (head.flags & BLOCKHAIR)) || (wear_mask && (wear_mask.flags & BLOCKHAIR))) + if( (head && (head.flags & BLOCKHAIR)) || (wear_mask && (wear_mask.flags & BLOCKHAIR))) if(update_icons) update_icons() return @@ -507,18 +492,11 @@ var/global/list/damage_icon_parts = list() facial_s.Blend(rgb(r_skin, g_skin, b_skin, 160), ICON_AND) else if(facial_hair_style.do_colouration) facial_s.Blend(rgb(head_organ.r_facial, head_organ.g_facial, head_organ.b_facial), ICON_ADD) - - if(facial_hair_style.secondary_theme) - var/icon/facial_secondary_s = new/icon("icon" = facial_hair_style.icon, "icon_state" = "[facial_hair_style.icon_state]_[facial_hair_style.secondary_theme]_s") - if(!facial_hair_style.no_sec_colour) - facial_secondary_s.Blend(rgb(head_organ.r_facial_sec, head_organ.g_facial_sec, head_organ.b_facial_sec), ICON_ADD) - facial_s.Blend(facial_secondary_s, ICON_OVERLAY) - face_standing.Blend(facial_s, ICON_OVERLAY) else //warning("Invalid f_style for [species.name]: [f_style]") - overlays_standing[FHAIR_LAYER] = image(face_standing) + overlays_standing[FHAIR_LAYER] = image(face_standing) if(update_icons) update_icons() @@ -558,7 +536,7 @@ var/global/list/damage_icon_parts = list() /mob/living/carbon/human/proc/update_mutantrace(var/update_icons=1) //BS12 EDIT - var/skel = (SKELETON in mutations) + var/skel = (SKELETON in src.mutations) if(skel) skeleton = 'icons/mob/human_races/r_skeleton.dmi' else @@ -584,7 +562,7 @@ var/global/list/damage_icon_parts = list() ..() if(notransform) return update_mutations(0) - update_body(0, 1) //Update the body and force limb icon regeneration. + update_body(0) update_hair(0) update_head_accessory(0) update_fhair(0) @@ -1075,7 +1053,7 @@ var/global/list/damage_icon_parts = list() clear_alert("legcuffed") if(legcuffed) overlays_standing[LEGCUFF_LAYER] = image("icon" = 'icons/mob/mob.dmi', "icon_state" = "legcuff1") - throw_alert("legcuffed", /obj/screen/alert/restrained/legcuffed, new_master = legcuffed) + throw_alert("legcuffed", /obj/screen/alert/restrained/legcuffed, new_master = src.legcuffed) if(m_intent != "walk") m_intent = "walk" if(hud_used && hud_used.move_intent) @@ -1143,69 +1121,71 @@ var/global/list/damage_icon_parts = list() /mob/living/carbon/human/proc/update_tail_layer(var/update_icons=1) overlays_standing[TAIL_UNDERLIMBS_LAYER] = null // SEW direction icons, overlayed by LIMBS_LAYER. - overlays_standing[TAIL_LAYER] = null /* This will be one of two things: - If the species' tail is overlapped by limbs, this will be only the N direction icon so tails can still appear on the outside of uniforms and such. - Otherwise, since the user's tail isn't overlapped by limbs, it will be a full icon with all directions. */ - - var/list/marking_styles = params2list(m_styles) - var/icon/tail_marking_icon - var/datum/sprite_accessory/body_markings/tail/tail_marking_style - if(marking_styles["tail"] != "None" && (species.bodyflags & HAS_TAIL_MARKINGS)) - var/tail_marking = marking_styles["tail"] - var/list/marking_colours = params2list(m_colours) - marking_colours["tail"] = sanitize_hexcolor(marking_colours["tail"]) - tail_marking_style = marking_styles_list[tail_marking] - tail_marking_icon = new/icon("icon" = tail_marking_style.icon, "icon_state" = "[tail_marking_style.icon_state]_s") - tail_marking_icon.Blend(rgb(hex2num(copytext(marking_colours["tail"], 2, 4)), hex2num(copytext(marking_colours["tail"], 4, 6)), hex2num(copytext(marking_colours["tail"], 6, 8))), ICON_ADD) + overlays_standing[TAIL_LAYER] = null // This will be one of two things: + // If the species' tail is overlapped by limbs, this will be only the N direction icon so tails can still appear on the outside of uniforms and such. + // Otherwise, since the user's tail isn't overlapped by limbs, it will be a full icon with all directions. if(body_accessory) if(body_accessory.try_restrictions(src)) var/icon/accessory_s = new/icon("icon" = body_accessory.icon, "icon_state" = body_accessory.icon_state) if(species.bodyflags & HAS_SKIN_COLOR) accessory_s.Blend(rgb(r_skin, g_skin, b_skin), body_accessory.blend_mode) - if(tail_marking_icon && (body_accessory.name in tail_marking_style.tails_allowed)) - accessory_s.Blend(tail_marking_icon, ICON_OVERLAY) - if((!body_accessory || istype(body_accessory, /datum/body_accessory/tail)) && species.bodyflags & TAIL_OVERLAPPED) // If the player has a species whose tail is overlapped by limbs... (having a non-tail body accessory like the snake body will override this) - // Gives the underlimbs layer SEW direction icons since it's overlayed by limbs and just about everything else anyway. - var/icon/under = new/icon("icon" = 'icons/mob/body_accessory.dmi', "icon_state" = "accessory_none_s") - under.Insert(new/icon(accessory_s, dir=SOUTH), dir=SOUTH) - under.Insert(new/icon(accessory_s, dir=EAST), dir=EAST) - under.Insert(new/icon(accessory_s, dir=WEST), dir=WEST) - overlays_standing[TAIL_UNDERLIMBS_LAYER] = image(under, "pixel_x" = body_accessory.pixel_x_offset, "pixel_y" = body_accessory.pixel_y_offset) + if(species.bodyflags & TAIL_OVERLAPPED) // If the player has a species whose tail is overlapped by limbs... + // Gives the underlimbs layer SEW direction icons since it's overlayed by limbs and just about everything else anyway. + var/icon/temp1 = new /icon('icons/mob/body_accessory.dmi',"accessory_none_s") + if(species.name in body_accessory.allowed_species) + var/icon/temp = new/icon("icon" = 'icons/mob/body_accessory.dmi', "icon_state" = "[species.tail]_delay") + temp1 = temp + else + var/icon/temp = new/icon("icon" = 'icons/mob/body_accessory.dmi', "icon_state" = "vulptail_delay") + temp1 = temp + + temp1.Insert(new/icon(accessory_s,dir=SOUTH),dir=SOUTH) + temp1.Insert(new/icon(accessory_s,dir=EAST),dir=EAST) + temp1.Insert(new/icon(accessory_s,dir=WEST),dir=WEST) + + overlays_standing[TAIL_UNDERLIMBS_LAYER] = image(temp1, "pixel_x" = body_accessory.pixel_x_offset, "pixel_y" = body_accessory.pixel_y_offset) // Creates a blank icon, and copies accessory_s' north direction sprite into it // before passing that to the tail layer that overlays uniforms and such. - var/icon/over = new/icon("icon" = 'icons/mob/body_accessory.dmi', "icon_state" = "accessory_none_s") - over.Insert(new/icon(accessory_s, dir=NORTH), dir=NORTH) + var/icon/temp2 = new /icon('icons/mob/body_accessory.dmi',"accessory_none_s") + if(species.name in body_accessory.allowed_species) + var/icon/temp = new/icon("icon" = 'icons/mob/body_accessory.dmi', "icon_state" = "[species.tail]_delay") + temp2 = temp + else + var/icon/temp = new/icon("icon" = 'icons/mob/body_accessory.dmi', "icon_state" = "vulptail_delay") + temp2 = temp - overlays_standing[TAIL_LAYER] = image(over, "pixel_x" = body_accessory.pixel_x_offset, "pixel_y" = body_accessory.pixel_y_offset) + temp2.Insert(new/icon(accessory_s,dir=NORTH),dir=NORTH) + + overlays_standing[TAIL_LAYER] = image(temp2, "pixel_x" = body_accessory.pixel_x_offset, "pixel_y" = body_accessory.pixel_y_offset) else // Otherwise, since the user's tail isn't overlapped by limbs, go ahead and use default icon generation. - overlays_standing[TAIL_LAYER] = image(accessory_s, "pixel_x" = body_accessory.pixel_x_offset, "pixel_y" = body_accessory.pixel_y_offset) + overlays_standing[TAIL_LAYER] = image(accessory_s, "pixel_x" = body_accessory.pixel_x_offset, "pixel_y" = body_accessory.pixel_y_offset) else if(species.tail && species.bodyflags & HAS_TAIL) //no tailless tajaran if(!wear_suit || !(wear_suit.flags_inv & HIDETAIL) && !istype(wear_suit, /obj/item/clothing/suit/space)) var/icon/tail_s = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[species.tail]_s") if(species.bodyflags & HAS_SKIN_COLOR) tail_s.Blend(rgb(r_skin, g_skin, b_skin), ICON_ADD) - if(tail_marking_icon) - tail_s.Blend(tail_marking_icon, ICON_OVERLAY) - if((!body_accessory || istype(body_accessory, /datum/body_accessory/tail)) && species.bodyflags & TAIL_OVERLAPPED) // If the player has a species whose tail is overlapped by limbs... (having a non-tail body accessory like the snake body will override this) + + if(species.bodyflags & TAIL_OVERLAPPED) // If the player has a species whose tail is overlapped by limbs... // Gives the underlimbs layer SEW direction icons since it's overlayed by limbs and just about everything else anyway. - var/icon/under = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "blank") - under.Insert(new/icon(tail_s, dir=SOUTH), dir=SOUTH) - under.Insert(new/icon(tail_s, dir=EAST), dir=EAST) - under.Insert(new/icon(tail_s, dir=WEST), dir=WEST) + var/icon/temp1 = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[species.tail]_delay") + temp1.Insert(new/icon(tail_s,dir=SOUTH),dir=SOUTH) + temp1.Insert(new/icon(tail_s,dir=EAST),dir=EAST) + temp1.Insert(new/icon(tail_s,dir=WEST),dir=WEST) - overlays_standing[TAIL_UNDERLIMBS_LAYER] = image(under) + overlays_standing[TAIL_UNDERLIMBS_LAYER] = image(temp1) - // Creates a blank icon, and copies accessory_s' north direction sprite into it before passing that to the tail layer that overlays uniforms and such. - var/icon/over = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "blank") - over.Insert(new/icon(tail_s, dir=NORTH), dir=NORTH) + // Creates a blank icon, and copies accessory_s' north direction sprite into it + // before passing that to the tail layer that overlays uniforms and such. + var/icon/temp2 = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[species.tail]_delay") + temp2.Insert(new/icon(tail_s,dir=NORTH),dir=NORTH) - overlays_standing[TAIL_LAYER] = image(over) + overlays_standing[TAIL_LAYER] = image(temp2) else // Otherwise, since the user's tail isn't overlapped by limbs, go ahead and use default icon generation. - overlays_standing[TAIL_LAYER] = image(tail_s) + overlays_standing[TAIL_LAYER] = image(tail_s) if(update_icons) update_icons() @@ -1213,70 +1193,70 @@ var/global/list/damage_icon_parts = list() /mob/living/carbon/human/proc/start_tail_wagging(var/update_icons=1) overlays_standing[TAIL_UNDERLIMBS_LAYER] = null // SEW direction icons, overlayed by LIMBS_LAYER. - overlays_standing[TAIL_LAYER] = null /* This will be one of two things: - If the species' tail is overlapped by limbs, this will be only the N direction icon so tails can still appear on the outside of uniforms and such. - Otherwise, since the user's tail isn't overlapped by limbs, it will be a full icon with all directions. */ - - var/list/marking_styles = params2list(m_styles) - var/icon/tail_marking_icon - var/datum/sprite_accessory/body_markings/tail/tail_marking_style - if(marking_styles["tail"] != "None" && (species.bodyflags & HAS_TAIL_MARKINGS)) - var/tail_marking = marking_styles["tail"] - var/list/marking_colours = params2list(m_colours) - marking_colours["tail"] = sanitize_hexcolor(marking_colours["tail"]) - tail_marking_style = marking_styles_list[tail_marking] - tail_marking_icon = new/icon("icon" = tail_marking_style.icon, "icon_state" = "[tail_marking_style.icon_state]w_s") - tail_marking_icon.Blend(rgb(hex2num(copytext(marking_colours["tail"], 2, 4)), hex2num(copytext(marking_colours["tail"], 4, 6)), hex2num(copytext(marking_colours["tail"], 6, 8))), ICON_ADD) + overlays_standing[TAIL_LAYER] = null // This will be one of two things: + // If the species' tail is overlapped by limbs, this will be only the N direction icon so tails can still appear on the outside of uniforms and such. + // Otherwise, since the user's tail isn't overlapped by limbs, it will be a full icon with all directions. if(body_accessory) var/icon/accessory_s = new/icon("icon" = body_accessory.get_animated_icon(), "icon_state" = body_accessory.get_animated_icon_state()) if(species.bodyflags & HAS_SKIN_COLOR) accessory_s.Blend(rgb(r_skin, g_skin, b_skin), body_accessory.blend_mode) - if(tail_marking_icon && (body_accessory.name in tail_marking_style.tails_allowed)) - accessory_s.Blend(tail_marking_icon, ICON_OVERLAY) - if((!body_accessory || istype(body_accessory, /datum/body_accessory/tail)) && species.bodyflags & TAIL_OVERLAPPED) // If the player has a species whose tail is overlapped by limbs... (having a non-tail body accessory like the snake body will override this) + + if(species.bodyflags & TAIL_OVERLAPPED) // If the player has a species whose tail is overlapped by limbs... // Gives the underlimbs layer SEW direction icons since it's overlayed by limbs and just about everything else anyway. - var/icon/under = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "Vulpkanin_tail_delay") - if(body_accessory.allowed_species && (species.name in body_accessory.allowed_species)) - under = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[species.name]_tail_delay") - under.Insert(new/icon(accessory_s, dir=SOUTH), dir=SOUTH) - under.Insert(new/icon(accessory_s, dir=EAST), dir=EAST) - under.Insert(new/icon(accessory_s, dir=WEST), dir=WEST) + var/icon/temp1 = new /icon('icons/mob/body_accessory.dmi',"accessory_none_s") + if(body_accessory.allowed_species) + if(species.name in body_accessory.allowed_species) + var/icon/temp = new/icon("icon" = 'icons/mob/body_accessory.dmi', "icon_state" = "[species.tail]_delay") + temp1 = temp + else + var/icon/temp = new/icon("icon" = 'icons/mob/body_accessory.dmi', "icon_state" = "vulptail_delay") + temp1 = temp - overlays_standing[TAIL_UNDERLIMBS_LAYER] = image(under, "pixel_x" = body_accessory.pixel_x_offset, "pixel_y" = body_accessory.pixel_y_offset) + temp1.Insert(accessory_s,dir=SOUTH) + temp1.Insert(accessory_s,dir=EAST) + temp1.Insert(accessory_s,dir=WEST) - // Creates a blank icon, and copies accessory_s' north direction sprite into it before passing that to the tail layer that overlays uniforms and such. - var/icon/over = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "Vulpkanin_tail_delay") - if(body_accessory.allowed_species && (species.name in body_accessory.allowed_species)) // If the user's species is in the list of allowed species for the currently selected body accessory, use the appropriate animation timing blank - over = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[species.name]_tail_delay") - over.Insert(new/icon(accessory_s, dir=NORTH), dir=NORTH) + overlays_standing[TAIL_UNDERLIMBS_LAYER] = image(temp1, "pixel_x" = body_accessory.pixel_x_offset, "pixel_y" = body_accessory.pixel_y_offset) - overlays_standing[TAIL_LAYER] = image(over, "pixel_x" = body_accessory.pixel_x_offset, "pixel_y" = body_accessory.pixel_y_offset) + // Creates a blank icon, and copies accessory_s' north direction sprite into it + // before passing that to the tail layer that overlays uniforms and such. + var/icon/temp2 = new /icon('icons/mob/body_accessory.dmi',"accessory_none_s") + if(species.name in body_accessory.allowed_species) // If the user's species is in the list of allowed species for the currently selected body accessory, use the appropriate animation timing blank + var/icon/temp = new/icon("icon" = 'icons/mob/body_accessory.dmi', "icon_state" = "[species.tail]_delay") + temp2 = temp + else // Else if the user's species is not in the list of allowed species for the currently selected body accessory, this point must have been reached by admin-override. Use vulpkanin timings as default. + var/icon/temp = new/icon("icon" = 'icons/mob/body_accessory.dmi', "icon_state" = "vulptail_delay") + temp2 = temp + + temp2.Insert(accessory_s,dir=NORTH) + + overlays_standing[TAIL_LAYER] = image(temp2, "pixel_x" = body_accessory.pixel_x_offset, "pixel_y" = body_accessory.pixel_y_offset) else // Otherwise, since the user's tail isn't overlapped by limbs, go ahead and use default icon generation. - overlays_standing[TAIL_LAYER] = image(accessory_s, "pixel_x" = body_accessory.pixel_x_offset, "pixel_y" = body_accessory.pixel_y_offset) + overlays_standing[TAIL_LAYER] = image(accessory_s, "pixel_x" = body_accessory.pixel_x_offset, "pixel_y" = body_accessory.pixel_y_offset) else if(species.tail && species.bodyflags & HAS_TAIL) var/icon/tailw_s = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[species.tail]w_s") if(species.bodyflags & HAS_SKIN_COLOR) tailw_s.Blend(rgb(r_skin, g_skin, b_skin), ICON_ADD) - if(tail_marking_icon) - tailw_s.Blend(tail_marking_icon, ICON_OVERLAY) - if((!body_accessory || istype(body_accessory, /datum/body_accessory/tail)) && species.bodyflags & TAIL_OVERLAPPED) // If the player has a species whose tail is overlapped by limbs... (having a non-tail body accessory like the snake body will override this) + + if(species.bodyflags & TAIL_OVERLAPPED) // If the player has a species whose tail is overlapped by limbs... // Gives the underlimbs layer SEW direction icons since it's overlayed by limbs and just about everything else anyway. - var/icon/under = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[species.name]_tail_delay") - under.Insert(new/icon(tailw_s, dir=SOUTH), dir=SOUTH) - under.Insert(new/icon(tailw_s, dir=EAST), dir=EAST) - under.Insert(new/icon(tailw_s, dir=WEST), dir=WEST) + var/icon/temp1 = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[species.tail]_delay") + temp1.Insert(tailw_s,dir=SOUTH) + temp1.Insert(tailw_s,dir=EAST) + temp1.Insert(tailw_s,dir=WEST) - overlays_standing[TAIL_UNDERLIMBS_LAYER] = image(under) + overlays_standing[TAIL_UNDERLIMBS_LAYER] = image(temp1) - // Creates a blank icon, and copies accessory_s' north direction sprite into it before passing that to the tail layer that overlays uniforms and such. - var/icon/over = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[species.name]_tail_delay") - over.Insert(new/icon(tailw_s, dir=NORTH), dir=NORTH) + // Creates a blank icon, and copies accessory_s' north direction sprite into it + // before passing that to the tail layer that overlays uniforms and such. + var/icon/temp2 = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[species.tail]_delay") + temp2.Insert(tailw_s,dir=NORTH) - overlays_standing[TAIL_LAYER] = image(over) + overlays_standing[TAIL_LAYER] = image(temp2) else // Otherwise, since the user's tail isn't overlapped by limbs, go ahead and use default icon generation. - overlays_standing[TAIL_LAYER] = image(tailw_s) + overlays_standing[TAIL_LAYER] = image(tailw_s) if(update_icons) update_icons() @@ -1302,15 +1282,17 @@ var/global/list/damage_icon_parts = list() if(wear_suit.icon_override) var/icon_path = "[wear_suit.icon_override]" icon_path = "[copytext(icon_path, 1, findtext(icon_path, "/suit.dmi"))]/collar.dmi" //If this file doesn't exist, the end result is that COLLAR_LAYER will be unchanged (empty). + var/icon/icon_file if(fexists(icon_path)) //Just ensuring the nonexistance of a file with the above path won't cause a runtime. - var/icon/icon_file = new(icon_path) - standing = image("icon" = icon_file, "icon_state" = "[wear_suit.icon_state]") + icon_file = new(icon_path) + standing = image("icon" = icon_file, "icon_state" = "[wear_suit.icon_state]") else if(wear_suit.sprite_sheets && wear_suit.sprite_sheets[species.name]) var/icon_path = "[wear_suit.sprite_sheets[species.name]]" icon_path = "[copytext(icon_path, 1, findtext(icon_path, "/suit.dmi"))]/collar.dmi" //If this file doesn't exist, the end result is that COLLAR_LAYER will be unchanged (empty). + var/icon/icon_file if(fexists(icon_path)) //Just ensuring the nonexistance of a file with the above path won't cause a runtime. - var/icon/icon_file = new(icon_path) - standing = image("icon" = icon_file, "icon_state" = "[wear_suit.icon_state]") + icon_file = new(icon_path) + standing = image("icon" = icon_file, "icon_state" = "[wear_suit.icon_state]") else if(wear_suit.icon_state in C.IconStates()) standing = image("icon" = C, "icon_state" = "[wear_suit.icon_state]") diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index 4c55cc9ba71..dc0916ee344 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -221,12 +221,26 @@ fat="_fat" preview_icon = new /icon(icobase, "torso_[g][fat]") preview_icon.Blend(new /icon(icobase, "groin_[g]"), ICON_OVERLAY) - var/head = "head" - if(alt_head && current_species.bodyflags & HAS_ALT_HEADS) - var/datum/sprite_accessory/alt_heads/H = alt_heads_list[alt_head] - if(H.icon_state) - head = H.icon_state - preview_icon.Blend(new /icon(icobase, "[head]_[g]"), ICON_OVERLAY) + preview_icon.Blend(new /icon(icobase, "head_[g]"), ICON_OVERLAY) + + //Tail + if(current_species && (current_species.bodyflags & HAS_TAIL)) + var/tail_icon + var/tail_icon_state + + if(body_accessory) + var/datum/body_accessory/accessory = body_accessory_by_name[body_accessory] + tail_icon = accessory.icon + tail_icon_state = accessory.icon_state + else + tail_icon = "icons/effects/species.dmi" + if(coloured_tail) + tail_icon_state = "[coloured_tail]_s" + else + tail_icon_state = "[current_species.tail]_s" + + var/icon/temp = new /icon("icon" = tail_icon, "icon_state" = tail_icon_state) + preview_icon.Blend(temp, ICON_OVERLAY) for(var/name in list("chest", "groin", "head", "r_arm", "r_hand", "r_leg", "r_foot", "l_leg", "l_foot", "l_arm", "l_hand")) if(organ_data[name] == "amputated") continue @@ -251,60 +265,13 @@ else preview_icon.Blend(rgb(-s_tone, -s_tone, -s_tone), ICON_SUBTRACT) - //Tail - if(current_species && (current_species.bodyflags & HAS_TAIL)) - var/tail_icon - var/tail_icon_state - - if(body_accessory) - var/datum/body_accessory/accessory = body_accessory_by_name[body_accessory] - tail_icon = accessory.icon - tail_icon_state = accessory.icon_state - else - tail_icon = "icons/effects/species.dmi" - if(coloured_tail) - tail_icon_state = "[coloured_tail]_s" - else - tail_icon_state = "[current_species.tail]_s" - - var/icon/temp = new /icon("icon" = tail_icon, "icon_state" = tail_icon_state) - - if(current_species && (current_species.bodyflags & HAS_SKIN_COLOR)) - temp.Blend(rgb(r_skin, g_skin, b_skin), ICON_ADD) - - if(current_species && (current_species.bodyflags & HAS_TAIL_MARKINGS)) - var/list/marking_styles = params2list(m_styles) - var/list/marking_colours = params2list(m_colours) - var/tail_marking = marking_styles["tail"] - var/datum/sprite_accessory/tail_marking_style = marking_styles_list[tail_marking] - if(tail_marking_style && tail_marking_style.species_allowed) - marking_colours["tail"] = sanitize_hexcolor(marking_colours["tail"]) - var/icon/t_marking_s = new/icon("icon" = tail_marking_style.icon, "icon_state" = "[tail_marking_style.icon_state]_s") - t_marking_s.Blend(rgb(hex2num(copytext(marking_colours["tail"], 2, 4)), hex2num(copytext(marking_colours["tail"], 4, 6)), hex2num(copytext(marking_colours["tail"], 6, 8))), ICON_ADD) - temp.Blend(t_marking_s, ICON_OVERLAY) - - preview_icon.Blend(temp, ICON_OVERLAY) - - //Markings - if(current_species && ((current_species.bodyflags & HAS_HEAD_MARKINGS) || (current_species.bodyflags & HAS_BODY_MARKINGS))) - var/list/marking_styles = params2list(m_styles) - var/list/marking_colours = params2list(m_colours) - if(current_species.bodyflags & HAS_BODY_MARKINGS) //Body markings. - var/body_marking = marking_styles["body"] - var/datum/sprite_accessory/body_marking_style = marking_styles_list[body_marking] - if(body_marking_style && body_marking_style.species_allowed) - marking_colours["body"] = sanitize_hexcolor(marking_colours["body"]) - var/icon/b_marking_s = new/icon("icon" = body_marking_style.icon, "icon_state" = "[body_marking_style.icon_state]_s") - b_marking_s.Blend(rgb(hex2num(copytext(marking_colours["body"], 2, 4)), hex2num(copytext(marking_colours["body"], 4, 6)), hex2num(copytext(marking_colours["body"], 6, 8))), ICON_ADD) - preview_icon.Blend(b_marking_s, ICON_OVERLAY) - if(current_species.bodyflags & HAS_HEAD_MARKINGS) //Head markings. - var/head_marking = marking_styles["head"] - var/datum/sprite_accessory/head_marking_style = marking_styles_list[head_marking] - if(head_marking_style && head_marking_style.species_allowed) - marking_colours["head"] = sanitize_hexcolor(marking_colours["head"]) - var/icon/h_marking_s = new/icon("icon" = head_marking_style.icon, "icon_state" = "[head_marking_style.icon_state]_s") - h_marking_s.Blend(rgb(hex2num(copytext(marking_colours["head"], 2, 4)), hex2num(copytext(marking_colours["head"], 4, 6)), hex2num(copytext(marking_colours["head"], 6, 8))), ICON_ADD) - preview_icon.Blend(h_marking_s, ICON_OVERLAY) + //Body Markings + if(current_species && (current_species.bodyflags & HAS_MARKINGS)) + var/datum/sprite_accessory/marking_style = marking_styles_list[m_style] + if(marking_style && marking_style.species_allowed) + var/icon/markings_s = new/icon("icon" = marking_style.icon, "icon_state" = "[marking_style.icon_state]_s") + markings_s.Blend(rgb(r_markings, g_markings, b_markings), ICON_ADD) + preview_icon.Blend(markings_s, ICON_OVERLAY) var/icon/face_s = new/icon("icon" = 'icons/mob/human_face.dmi', "icon_state" = "bald_s") @@ -321,13 +288,6 @@ hair_s.Blend(rgb(r_skin, g_skin, b_skin, 160), ICON_ADD) else hair_s.Blend(rgb(r_hair, g_hair, b_hair), ICON_ADD) - - if(hair_style.secondary_theme) - var/icon/hair_secondary_s = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_[hair_style.secondary_theme]_s") - if(!hair_style.no_sec_colour) - hair_secondary_s.Blend(rgb(r_hair_sec, g_hair_sec, b_hair_sec), ICON_ADD) - hair_s.Blend(hair_secondary_s, ICON_OVERLAY) - face_s.Blend(hair_s, ICON_OVERLAY) //Head Accessory @@ -345,13 +305,6 @@ facial_s.Blend(rgb(r_skin, g_skin, b_skin, 160), ICON_ADD) else facial_s.Blend(rgb(r_facial, g_facial, b_facial), ICON_ADD) - - if(facial_hair_style.secondary_theme) - var/icon/facial_secondary_s = new/icon("icon" = facial_hair_style.icon, "icon_state" = "[facial_hair_style.icon_state]_[facial_hair_style.secondary_theme]_s") - if(!facial_hair_style.no_sec_colour) - facial_secondary_s.Blend(rgb(r_facial_sec, g_facial_sec, b_facial_sec), ICON_ADD) - facial_s.Blend(facial_secondary_s, ICON_OVERLAY) - face_s.Blend(facial_s, ICON_OVERLAY) var/icon/underwear_s = null diff --git a/code/modules/mob/new_player/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories.dm index d9a7a84f9fd..3ade5970d03 100644 --- a/code/modules/mob/new_player/sprite_accessories.dm +++ b/code/modules/mob/new_player/sprite_accessories.dm @@ -43,12 +43,8 @@ // Restrict some styles to specific species var/list/species_allowed = list("Human", "Slime People") - var/list/models_allowed = list() //Specifies which, if any, hairstyles or markings can be accessed by which prosthetics. Should equal the manufacturing company name in robolimbs.dm. - var/list/heads_allowed = null //Specifies which, if any, alt heads a head marking, hairstyle or facial hair style is compatible with. - var/list/tails_allowed = null //Specifies which, if any, tails a tail marking is compatible with. + var/models_allowed = list() //Specifies which, if any, hairstyles can be accessed by which prosthetics. Should equal the manufacturing company name in robolimbs.dm. var/marking_location //Specifies which bodypart a body marking is located on. - var/secondary_theme = null //If exists, there's a secondary colour to that hair style and the secondary theme's icon state's suffix is equal to this. - var/no_sec_colour = null //If exists, prohibit the colouration of the secondary theme. // Whether or not the accessory can be affected by colouration var/do_colouration = 1 @@ -69,7 +65,7 @@ name = "Bald" icon_state = "bald" gender = MALE - species_allowed = list("Human", "Unathi", "Vox", "Diona", "Kidan", "Grey", "Plasmaman", "Skeleton", "Vulpkanin", "Tajaran") + species_allowed = list("Human", "Unathi", "Vox", "Diona", "Kidan", "Grey", "Plasmaman", "Skeleton") short name = "Short Hair" // try to capatilize the names please~ @@ -204,19 +200,6 @@ icon_state = "hair_hbraid" gender = FEMALE - braid_hip - name = "Hippie Braid" - icon_state = "hair_hipbraid" - species_allowed = list("Human") - secondary_theme = "beads" - - - braid_hip_una - name = "Unathi Hippie Braid" - icon_state = "hair_ubraid" - species_allowed = list("Unathi") - secondary_theme = "beads" - buzz name = "Buzzcut" icon_state = "hair_buzzcut" @@ -258,9 +241,9 @@ icon_state = "hair_bigafro" gender = MALE - sergeant + sargeant name = "Flat Top" - icon_state = "hair_sergeant" + icon_state = "hair_sargeant" gender = MALE emo @@ -315,7 +298,7 @@ icon_state = "hair_spikey" species_allowed = list("Human", "Unathi") - kusanagi + kusangi name = "Kusanagi Hair" icon_state = "hair_kusanagi" @@ -706,117 +689,95 @@ skr_gold_m name = "Gold plated Skrell Male Tentacles" - icon_state = "skrell_hair_m" + icon_state = "skrell_goldhair_m" species_allowed = list("Skrell") gender = MALE - secondary_theme = "gold" - no_sec_colour = 1 skr_gold_f name = "Gold chained Skrell Female Tentacles" - icon_state = "skrell_hair_f" + icon_state = "skrell_goldhair_f" species_allowed = list("Skrell") gender = FEMALE - secondary_theme = "gold" - no_sec_colour = 1 - skr_clothtentacle_m name = "Cloth draped Skrell Male Tentacles" - icon_state = "skrell_hair_m" + icon_state = "skrell_clothhair_m" species_allowed = list("Skrell") gender = MALE - secondary_theme = "cloth" skr_clothtentacle_f name = "Cloth draped Skrell Female Tentacles" - icon_state = "skrell_hair_f" + icon_state = "skrell_clothhair_f" species_allowed = list("Skrell") gender = FEMALE - secondary_theme = "cloth" - taj_hair_clean + taj_ears + name = "Tajaran Ears" + icon_state = "ears_plain" + species_allowed = list("Tajaran") + + taj_ears_clean name = "Tajara Clean" icon_state = "hair_clean" species_allowed = list("Tajaran") - taj_hair_bangs + taj_ears_bangs name = "Tajara Bangs" icon_state = "hair_bangs" species_allowed = list("Tajaran") - taj_hair_braid + taj_ears_braid name = "Tajara Braid" icon_state = "hair_tbraid" species_allowed = list("Tajaran") - secondary_theme = "beads" - taj_hair_shaggy + taj_ears_shaggy name = "Tajara Shaggy" icon_state = "hair_shaggy" species_allowed = list("Tajaran") - taj_hair_mohawk + taj_ears_mohawk name = "Tajaran Mohawk" icon_state = "hair_mohawk" species_allowed = list("Tajaran") - taj_hair_plait + taj_ears_plait name = "Tajara Plait" icon_state = "hair_plait" species_allowed = list("Tajaran") - taj_hair_straight + taj_ears_straight name = "Tajara Straight" icon_state = "hair_straight" species_allowed = list("Tajaran") - taj_hair_long + taj_ears_long name = "Tajara Long" icon_state = "hair_long" species_allowed = list("Tajaran") - taj_hair_rattail + taj_ears_rattail name = "Tajara Rat Tail" icon_state = "hair_rattail" species_allowed = list("Tajaran") - taj_hair_spiky - name = "Tajara Spikey" - icon_state = "hair_tajspikey" + taj_ears_spiky + name = "Tajara Spiky" + icon_state = "hair_tajspiky" species_allowed = list("Tajaran") - taj_hair_messy + taj_ears_messy name = "Tajara Messy" icon_state = "hair_messy" species_allowed = list("Tajaran") - taj_hair_curls - name = "Tajara Curly" - icon_state = "hair_curly" - species_allowed = list("Tajaran") - - taj_hair_wife - name = "Tajaran Ladies' Retro" - icon_state = "hair_ladies_retro" - species_allowed = list("Tajaran") - - taj_hair_victory - name = "Tajara Victory Curls" - icon_state = "hair_victory" - species_allowed = list("Tajaran") - - taj_hair_bob - name = "Tajara Bob" - icon_state = "hair_tbob" - species_allowed = list("Tajaran") - - taj_hair_fingercurl - name = "Tajara Finger Curls" - icon_state = "hair_fingerwave" - species_allowed = list("Tajaran") - //Vulpkanin + + vulp_hair_none + name = "None" + icon_state = "bald" + species_allowed = list("Vulpkanin") + vulp_hair_kajam name = "Kajam" icon_state = "kajam" @@ -851,7 +812,6 @@ name = "Belle" icon_state = "belle" species_allowed = list("Vulpkanin") - secondary_theme = "bands" vulp_hair_bun name = "Bun" @@ -888,12 +848,6 @@ icon_state = "spike" species_allowed = list("Vulpkanin") - vulp_hair_braided - name = "Braided" - icon_state = "braided" - species_allowed = list("Vulpkanin") - secondary_theme = "beads" - //Vox vox_quills_short @@ -1127,12 +1081,6 @@ species_allowed = list("Unathi") gender = NEUTER - una_frills_aquatic - name = "Aquatic Frills" - icon_state = "soghun_aquaticfrills" - species_allowed = list("Unathi") - gender = NEUTER - una_frills_long name = "Long Frills" icon_state = "soghun_longfrills" @@ -1145,25 +1093,22 @@ species_allowed = list("Unathi") gender = NEUTER - una_frills_webbed_aquatic - name = "Aquatic Webbed Frills" - icon_state = "soghun_aquaticfrills" - species_allowed = list("Unathi") - secondary_theme = "webbing" - gender = NEUTER - una_frills_webbed_long name = "Long Webbed Frills" - icon_state = "soghun_longfrills" + icon_state = "soghun_longfrills_webbed" species_allowed = list("Unathi") - secondary_theme = "webbing" gender = NEUTER una_frills_webbed_short name = "Short Webbed Frills" - icon_state = "soghun_shortfrills" + icon_state = "soghun_shortfrills_webbed" + species_allowed = list("Unathi") + gender = NEUTER + + una_frills_webbed_aquatic + name = "Aquatic Frills" + icon_state = "soghun_aquaticfrills_webbed" species_allowed = list("Unathi") - secondary_theme = "webbing" gender = NEUTER @@ -1848,26 +1793,6 @@ species_allowed = list("Unathi") icon_state = "horns_ram" -/datum/sprite_accessory/head_accessory/outears_taj - name = "Tajaran Outer Ears" - species_allowed = list("Tajaran") - icon_state = "markings_face_outears_taj" - -/datum/sprite_accessory/head_accessory/inears_taj - name = "Tajaran Inner Ears" - species_allowed = list("Tajaran") - icon_state = "markings_face_inears_taj" - -/datum/sprite_accessory/head_accessory/muzzle_taj - name = "Tajaran Muzzle" - species_allowed = list("Tajaran") - icon_state = "markings_face_muzzle_taj" - -/datum/sprite_accessory/head_accessory/muzzle_and_inears_taj - name = "Tajaran Muzzle and Inner Ears" - species_allowed = list("Tajaran") - icon_state = "markings_face_muzzle_and_inears_taj" - /datum/sprite_accessory/head_accessory/vulp_earfluff icon = 'icons/mob/human_face.dmi' name = "Vulpkanin Earfluff" @@ -1922,12 +1847,6 @@ icon_state = "vulp_facial_swift" species_allowed = list("Vulpkanin") -/datum/sprite_accessory/head_accessory/vulp_nose - icon = 'icons/mob/body_accessory.dmi' - name = "Vulpkanin Nose" - species_allowed = list("Vulpkanin") - icon_state = "markings_face_nose_vulp" - /datum/sprite_accessory/head_accessory/taj_ears icon = 'icons/mob/human_face.dmi' name = "Tajaran Ears" @@ -1959,274 +1878,70 @@ /datum/sprite_accessory/body_markings icon = 'icons/mob/body_accessory.dmi' - species_allowed = list("Unathi", "Tajaran", "Vulpkanin", "Machine", "Vox") + species_allowed = list("Unathi", "Tajaran", "Vulpkanin", "Machine") icon_state = "accessory_none" - marking_location = "body" /datum/sprite_accessory/body_markings/none name = "None" species_allowed = list("Human", "Unathi", "Diona", "Grey", "Machine", "Tajaran", "Vulpkanin", "Slime People", "Skeleton", "Vox") icon_state = "accessory_none" +/datum/sprite_accessory/body_markings/stripe + name = "Stripe" + species_allowed = list("Unathi") + icon_state = "markings_stripe" + /datum/sprite_accessory/body_markings/tiger name = "Tiger Body" species_allowed = list("Unathi", "Tajaran", "Vulpkanin") icon_state = "markings_tiger" -/datum/sprite_accessory/body_markings/stripe_una - name = "Unathi Stripe" - species_allowed = list("Unathi") - icon_state = "markings_stripe_una" +/datum/sprite_accessory/body_markings/tigerhead + name = "Tiger Body and Head" + species_allowed = list("Unathi", "Tajaran", "Vulpkanin") + icon_state = "markings_tigerhead" -/datum/sprite_accessory/body_markings/belly_narrow_una - name = "Unathi Belly" - species_allowed = list("Unathi") - icon_state = "markings_belly_narrow_una" - -/datum/sprite_accessory/body_markings/banded_una - name = "Unathi Banded" - species_allowed = list("Unathi") - icon_state = "markings_banded_una" - -/datum/sprite_accessory/body_markings/points_una - name = "Unathi Points" - species_allowed = list("Unathi") - icon_state = "markings_points_una" - -/datum/sprite_accessory/body_markings/belly_flat_taj - name = "Tajaran Belly" +/datum/sprite_accessory/body_markings/tigerheadface_taj + name = "Tajaran Tiger Body, Head and Face" species_allowed = list("Tajaran") - icon_state = "markings_belly_flat_taj" + icon_state = "markings_tigerheadface_taj" -/datum/sprite_accessory/body_markings/belly_crest_taj - name = "Tajaran Chest Crest" - species_allowed = list("Tajaran") - icon_state = "markings_belly_crest_taj" - -/datum/sprite_accessory/body_markings/belly_full_taj - name = "Tajaran Belly 2" - species_allowed = list("Tajaran") - icon_state = "markings_belly_full_taj" - -/datum/sprite_accessory/body_markings/points_taj - name = "Tajaran Points" - species_allowed = list("Tajaran") - icon_state = "markings_points_taj" - -/datum/sprite_accessory/body_markings/patchy_taj - name = "Tajaran Patches" - species_allowed = list("Tajaran") - icon_state = "markings_patch_taj" - -/datum/sprite_accessory/body_markings/belly_fox_vulp - name = "Vulpkanin Belly" +/datum/sprite_accessory/body_markings/tigerheadface_vulp + name = "Vulpkanin Tiger Body, Head and Face" species_allowed = list("Vulpkanin") - icon_state = "markings_belly_fox_vulp" + icon_state = "markings_tigerheadface_vulp" -/datum/sprite_accessory/body_markings/belly_full_vulp - name = "Vulpkanin Belly 2" - species_allowed = list("Vulpkanin") - icon_state = "markings_belly_full_vulp" - -/datum/sprite_accessory/body_markings/belly_crest_vulp - name = "Vulpkanin Belly Crest" - species_allowed = list("Vulpkanin") - icon_state = "markings_belly_crest_vulp" - -/datum/sprite_accessory/body_markings/points_fade_vulp - name = "Vulpkanin Points" - species_allowed = list("Vulpkanin") - icon_state = "markings_points_fade_vulp" - -/datum/sprite_accessory/body_markings/points_fade_belly_vulp - name = "Vulpkanin Points and Belly" - species_allowed = list("Vulpkanin") - icon_state = "markings_points_fade_belly_vulp" - -/datum/sprite_accessory/body_markings/points_sharp_vulp - name = "Vulpkanin Points 2" - species_allowed = list("Vulpkanin") - icon_state = "markings_points_sharp_vulp" - -/datum/sprite_accessory/body_markings/head - marking_location = "head" - species_allowed = list() - -/datum/sprite_accessory/body_markings/head/tiger_head_taj - name = "Tajaran Tiger Head" - species_allowed = list("Tajaran") - icon_state = "markings_head_tiger_taj" - -/datum/sprite_accessory/body_markings/head/tiger_face_taj - name = "Tajaran Tiger Head and Face" - species_allowed = list("Tajaran") - icon_state = "markings_face_tiger_taj" - -/datum/sprite_accessory/body_markings/head/outears_taj - name = "Tajaran Outer Ears" - species_allowed = list("Tajaran") - icon_state = "markings_face_outears_taj" - -/datum/sprite_accessory/body_markings/head/inears_taj - name = "Tajaran Inner Ears" - species_allowed = list("Tajaran") - icon_state = "markings_face_inears_taj" - -/datum/sprite_accessory/body_markings/head/nose_taj - name = "Tajaran Nose" - species_allowed = list("Tajaran") - icon_state = "markings_face_nose_taj" - -/datum/sprite_accessory/body_markings/head/muzzle_taj - name = "Tajaran Muzzle" - species_allowed = list("Tajaran") - icon_state = "markings_face_muzzle_taj" - -/datum/sprite_accessory/body_markings/head/muzzle_and_inears_taj - name = "Tajaran Muzzle and Inner Ears" - species_allowed = list("Tajaran") - icon_state = "markings_face_muzzle_and_inears_taj" - -/datum/sprite_accessory/body_markings/head/muzzle_alt_taj //Companion marking for Tajaran Belly 2. - name = "Tajaran Muzzle 2" - species_allowed = list("Tajaran") - icon_state = "markings_face_full_taj" - -/datum/sprite_accessory/body_markings/head/points_taj //Companion marking for Tajaran Points. - name = "Tajaran Points Head" - species_allowed = list("Tajaran") - icon_state = "markings_face_points_taj" - -/datum/sprite_accessory/body_markings/head/patchy_taj //Companion marking for Tajaran Patches. - name = "Tajaran Patches Head" - species_allowed = list("Tajaran") - icon_state = "markings_face_patch_taj" - -/datum/sprite_accessory/body_markings/head/tiger_head_vulp - name = "Vulpkanin Tiger Head" - species_allowed = list("Vulpkanin") - icon_state = "markings_head_tiger_vulp" - -/datum/sprite_accessory/body_markings/head/tiger_face_vulp - name = "Vulpkanin Tiger Head and Face" - species_allowed = list("Vulpkanin") - icon_state = "markings_face_tiger_vulp" - -/datum/sprite_accessory/body_markings/head/nose_default_vulp - name = "Vulpkanin Nose" - species_allowed = list("Vulpkanin") - icon_state = "markings_face_nose_vulp" - -/datum/sprite_accessory/body_markings/head/muzzle_vulp //Companion marking for Vulpkanin Belly Alt.. - name = "Vulpkanin Muzzle" - species_allowed = list("Vulpkanin") - icon_state = "markings_face_full_vulp" - -/datum/sprite_accessory/body_markings/head/muzzle_ears_vulp //Companion marking for Vulpkanin Belly Alt.. - name = "Vulpkanin Muzzle and Ears" - species_allowed = list("Vulpkanin") - icon_state = "markings_face_full_ears_vulp" - -/datum/sprite_accessory/body_markings/head/points_fade_vulp //Companion marking for Vulpkanin Points Fade. - name = "Vulpkanin Points Head" - species_allowed = list("Vulpkanin") - icon_state = "markings_face_points_fade_vulp" - -/datum/sprite_accessory/body_markings/head/points_sharp_vulp //Companion marking for Vulpkanin Points Sharp. - name = "Vulpkanin Points Head 2" - species_allowed = list("Vulpkanin") - icon_state = "markings_face_points_sharp_vulp" - -/datum/sprite_accessory/body_markings/head/tiger_head_una - name = "Unathi Tiger Head" +/datum/sprite_accessory/body_markings/tigerheadface_una + name = "Unathi Tiger Body, Head and Face" species_allowed = list("Unathi") - icon_state = "markings_head_tiger_una" + icon_state = "markings_tigerheadface_una" -/datum/sprite_accessory/body_markings/head/tiger_face_una - name = "Unathi Tiger Head and Face" - species_allowed = list("Unathi") - icon_state = "markings_face_tiger_una" - -/datum/sprite_accessory/body_markings/head/tiger_face_una_sharp - name = "Unathi Sharp Tiger Head and Face" - species_allowed = list("Unathi") - icon_state = "markings_face_tiger_una_sharp" - heads_allowed = list("Unathi Sharp Snout") - -/datum/sprite_accessory/body_markings/head/snout_una_round - name = "Unathi Round Snout" - species_allowed = list("Unathi") - icon_state = "markings_face_snout_una_round" - -/datum/sprite_accessory/body_markings/head/snout_lower_una_round - name = "Unathi Lower Round Snout" - species_allowed = list("Unathi") - icon_state = "markings_face_snout_lower_una" - -/datum/sprite_accessory/body_markings/head/snout_una_sharp - name = "Unathi Sharp Snout" - species_allowed = list("Unathi") - icon_state = "markings_face_snout_una_sharp" - heads_allowed = list("Unathi Sharp Snout") - -/datum/sprite_accessory/body_markings/head/banded_una //Companion marking for Unathi Banded. - name = "Unathi Banded Head" - species_allowed = list("Unathi") - icon_state = "markings_face_banded_una" - -/datum/sprite_accessory/body_markings/head/banded_una_sharp //Companion marking for Unathi Banded. - name = "Unathi Sharp Banded Head" - species_allowed = list("Unathi") - icon_state = "markings_face_banded_una" - heads_allowed = list("Unathi Sharp Snout") - -/datum/sprite_accessory/body_markings/head/snout_narrow_una //Companion marking for Unathi Narrow Belly. - name = "Unathi Snout 2" - species_allowed = list("Unathi") - icon_state = "markings_face_narrow_una" - -/datum/sprite_accessory/body_markings/head/snout_narrow_una_sharp //Companion marking for Unathi Narrow Belly. - name = "Unathi Sharp Snout 2" - species_allowed = list("Unathi") - icon_state = "markings_face_narrow_una_sharp" - heads_allowed = list("Unathi Sharp Snout") - -/datum/sprite_accessory/body_markings/head/points_una //Companion marking for Unathi Points. - name = "Unathi Points Head" - species_allowed = list("Unathi") - icon_state = "markings_face_points_una" - -/datum/sprite_accessory/body_markings/head/points_una_sharp //Companion marking for Unathi Points. - name = "Unathi Sharp Points Head" - species_allowed = list("Unathi") - icon_state = "markings_face_points_una" - heads_allowed = list("Unathi Sharp Snout") - -/datum/sprite_accessory/body_markings/head/optics +/datum/sprite_accessory/body_markings/optics name = "Humanoid Optics" species_allowed = list("Machine") icon_state = "optics" models_allowed = list("Bishop Cybernetics", "Hesphiastos Industries", "Ward-Takahashi", "Xion Manufacturing Group", "Zeng-Hu Pharmaceuticals") //Should be the same as the manufacturing company of the limb in robolimbs.dm + marking_location = "head" -/datum/sprite_accessory/body_markings/head/optics/bishop_alt +/datum/sprite_accessory/body_markings/optics/bishop_alt name = "Bishop Alt. Optics" species_allowed = list("Machine") icon_state = "bishop_alt_optics" models_allowed = list("Bishop Cybernetics alt.") -/datum/sprite_accessory/body_markings/head/optics/morpheus_alt +/datum/sprite_accessory/body_markings/optics/morpheus_alt name = "Morpheus Alt. Optics" species_allowed = list("Machine") icon_state = "morpheus_alt_optics" models_allowed = list("Morpheus Cyberkinetics alt.") -/datum/sprite_accessory/body_markings/head/optics/wardtakahashi_alt +/datum/sprite_accessory/body_markings/optics/wardtakahashi_alt name = "Ward-Takahashi Alt. Optics" species_allowed = list("Machine") icon_state = "wardtakahashi_alt_optics" models_allowed = list("Ward-Takahashi alt.") -/datum/sprite_accessory/body_markings/head/optics/xion_alt +/datum/sprite_accessory/body_markings/optics/xion_alt name = "Xion Alt. Optics" species_allowed = list("Machine") icon_state = "xion_alt_optics" @@ -2239,115 +1954,4 @@ /datum/sprite_accessory/body_markings/tattoo/elliot name = "Elliot Circuit Tattoo" - icon_state = "campbell_tattoo" - -/datum/sprite_accessory/body_markings/tattoo/heart - name = "Heart Tattoo" - species_allowed = list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell") - icon_state = "markings_tattoo_heart" - -/datum/sprite_accessory/body_markings/tattoo/heart_vox - name = "Vox Heart Tattoo" - species_allowed = list("Vox") - icon_state = "markings_tattoo_heart_vox" - -/datum/sprite_accessory/body_markings/tattoo/hive - name = "Hive Tattoo" - species_allowed = list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell") - icon_state = "markings_tattoo_hive" - -/datum/sprite_accessory/body_markings/tattoo/hive_vox - name = "Vox Hive Tattoo" - species_allowed = list("Vox") - icon_state = "markings_tattoo_hive_vox" - -/datum/sprite_accessory/body_markings/tattoo/nightling - name = "Nightling Tattoo" - species_allowed = list("Human", "Unathi", "Grey", "Vulpkanin", "Tajaran", "Skrell") - icon_state = "markings_tattoo_nightling" - -/datum/sprite_accessory/body_markings/tattoo/nightling_vox - name = "Vox Nightling Tattoo" - species_allowed = list("Vox") - icon_state = "markings_tattoo_nightling_vox" - -/datum/sprite_accessory/body_markings/tail - name = "Tail Markings" - species_allowed = list() - icon_state = "accessory_none" - marking_location = "tail" - tails_allowed = null - -/datum/sprite_accessory/body_markings/tail/vox_band - name = "Vox Tail Band" - species_allowed = list("Vox") - icon_state = "markings_voxtail_band" - -/datum/sprite_accessory/body_markings/tail/vox_tip - name = "Vox Tail Tip" - species_allowed = list("Vox") - icon_state = "markings_voxtail_tip" - -/datum/sprite_accessory/body_markings/tail/vox_stripe - name = "Vox Tail Stripe" - species_allowed = list("Vox") - icon_state = "markings_voxtail_stripe" - -/datum/sprite_accessory/body_markings/tail/vulp_default_tip - name = "Vulpkanin Default Tail Tip" - species_allowed = list("Vulpkanin") - icon_state = "markings_vulptail_tip" - -/datum/sprite_accessory/body_markings/tail/vulp_default_fade - name = "Vulpkanin Default Tail Fade" - species_allowed = list("Vulpkanin") - icon_state = "markings_vulptail_fade" - -/datum/sprite_accessory/body_markings/tail/vulp_bushy_fluff - name = "Vulpkanin Bushy Tail Fluff" - species_allowed = list("Vulpkanin") - tails_allowed = list("Vulpkanin Alt 1 (Bushy)") - icon_state = "markings_vulptail2_fluff" - -/datum/sprite_accessory/body_markings/tail/vulp_short_tip - name = "Vulpkanin Short Tail Tip" - species_allowed = list("Vulpkanin") - tails_allowed = list("Vulpkanin Alt 4 (Short)") - icon_state = "markings_vulptail5_tip" - -/datum/sprite_accessory/body_markings/tail/vulp_hybrid_tip - name = "Vulpkanin Bushy Straight Tail Tip" - species_allowed = list("Vulpkanin") - tails_allowed = list("Vulpkanin Alt 5 (Straight Bushy)") - icon_state = "markings_vulptail6_tip" - -/datum/sprite_accessory/body_markings/tail/vulp_hybrid_fade - name = "Vulpkanin Bushy Straight Tail Fade" - species_allowed = list("Vulpkanin") - tails_allowed = list("Vulpkanin Alt 5 (Straight Bushy)") - icon_state = "markings_vulptail6_fade" - -/datum/sprite_accessory/body_markings/tail/vulp_hybrid_silverf - name = "Vulpkanin Bushy Straight Tail Black Fade White Tip" - species_allowed = list("Vulpkanin") - tails_allowed = list("Vulpkanin Alt 5 (Straight Bushy)") - icon_state = "markings_vulptail6_silverf" - -/* ALT HEADS */ - -/datum/sprite_accessory/alt_heads - name = "Alternate Head" - icon = null - icon_state = null - species_allowed = null - -/datum/sprite_accessory/alt_heads/none - name = "None" - icon = null - icon_state = null - species_allowed = null - -/datum/sprite_accessory/alt_heads/una_sharp_snout - name = "Unathi Sharp Snout" - species_allowed = list("Unathi") - icon_state = "head_sharp" + icon_state = "campbell_tattoo" \ No newline at end of file diff --git a/code/modules/nano/modules/human_appearance.dm b/code/modules/nano/modules/human_appearance.dm index 7771764c5a1..ee289cfec9b 100644 --- a/code/modules/nano/modules/human_appearance.dm +++ b/code/modules/nano/modules/human_appearance.dm @@ -7,11 +7,8 @@ var/list/valid_hairstyles = list() var/list/valid_facial_hairstyles = list() var/list/valid_head_accessories = list() - var/list/valid_head_marking_styles = list() - var/list/valid_body_marking_styles = list() - var/list/valid_tail_marking_styles = list() + var/list/valid_marking_styles = list() var/list/valid_body_accessories = list() - var/list/valid_alt_head_styles = list() var/check_whitelist var/list/whitelist @@ -49,7 +46,7 @@ else if(owner.species.bodyflags & HAS_ICON_SKIN_TONE) var/const/MAX_LINE_ENTRIES = 4 var/prompt = "Choose your character's skin tone: 1-[owner.species.icon_skin_tones.len]\n(" - for(var/i = 1 to owner.species.icon_skin_tones.len) + for(var/i = 1; i <= owner.species.icon_skin_tones.len; i++) if(i > MAX_LINE_ENTRIES && !((i - 1) % MAX_LINE_ENTRIES)) prompt += "\n" prompt += "[i] = [owner.species.icon_skin_tones[i]]" @@ -88,16 +85,6 @@ if(owner.change_hair_color(r_hair, g_hair, b_hair)) update_dna() return 1 - if(href_list["secondary_hair_color"]) - if(can_change(APPEARANCE_SECONDARY_HAIR_COLOR)) - var/new_hair = input("Please select secondary hair color.", "Secondary Hair Color", rgb(head_organ.r_hair_sec, head_organ.g_hair_sec, head_organ.b_hair_sec)) as color|null - if(new_hair && can_still_topic(state)) - var/r_hair_sec = hex2num(copytext(new_hair, 2, 4)) - var/g_hair_sec = hex2num(copytext(new_hair, 4, 6)) - var/b_hair_sec = hex2num(copytext(new_hair, 6, 8)) - if(owner.change_hair_color(r_hair_sec, g_hair_sec, b_hair_sec, 1)) - update_dna() - return 1 if(href_list["facial_hair"]) if(can_change(APPEARANCE_FACIAL_HAIR) && (href_list["facial_hair"] in valid_facial_hairstyles)) if(owner.change_facial_hair(href_list["facial_hair"])) @@ -113,16 +100,6 @@ if(owner.change_facial_hair_color(r_facial, g_facial, b_facial)) update_dna() return 1 - if(href_list["secondary_facial_hair_color"]) - if(can_change(APPEARANCE_SECONDARY_FACIAL_HAIR_COLOR)) - var/new_facial = input("Please select secondary facial hair color.", "Secondary Facial Hair Color", rgb(head_organ.r_facial_sec, head_organ.g_facial_sec, head_organ.b_facial_sec)) as color|null - if(new_facial && can_still_topic(state)) - var/r_facial_sec = hex2num(copytext(new_facial, 2, 4)) - var/g_facial_sec = hex2num(copytext(new_facial, 4, 6)) - var/b_facial_sec = hex2num(copytext(new_facial, 6, 8)) - if(owner.change_facial_hair_color(r_facial_sec, g_facial_sec, b_facial_sec, 1)) - update_dna() - return 1 if(href_list["eye_color"]) if(can_change(APPEARANCE_EYE_COLOR)) var/new_eyes = input("Please select eye color.", "Eye Color", rgb(owner.r_eyes, owner.g_eyes, owner.b_eyes)) as color|null @@ -148,46 +125,19 @@ if(owner.change_head_accessory_color(r_headacc, g_headacc, b_headacc)) update_dna() return 1 - if(href_list["head_marking"]) - if(can_change_markings("head") && (href_list["head_marking"] in valid_head_marking_styles)) - if(owner.change_markings(href_list["head_marking"], "head")) + if(href_list["marking"]) + if(can_change_markings() && (href_list["marking"] in valid_marking_styles)) + if(owner.change_markings(href_list["marking"])) update_dna() return 1 - if(href_list["head_marking_color"]) - if(can_change_markings("head")) - var/list/marking_colours = params2list(owner.m_colours) - marking_colours["head"] = sanitize_hexcolor(marking_colours["head"]) - var/new_markings = input("Please select head marking color.", "Marking Color", rgb(hex2num(copytext(marking_colours["head"], 2, 4)), hex2num(copytext(marking_colours["head"], 4, 6)), hex2num(copytext(marking_colours["head"], 6, 8)))) as color|null + if(href_list["marking_color"]) + if(can_change_markings()) + var/new_markings = input("Please select marking color.", "Marking Color", rgb(owner.r_markings, owner.g_markings, owner.b_markings)) as color|null if(new_markings && can_still_topic(state)) - if(owner.change_marking_color(new_markings, "head")) - update_dna() - return 1 - if(href_list["body_marking"]) - if(can_change_markings("body") && (href_list["body_marking"] in valid_body_marking_styles)) - if(owner.change_markings(href_list["body_marking"], "body")) - update_dna() - return 1 - if(href_list["body_marking_color"]) - if(can_change_markings("body")) - var/list/marking_colours = params2list(owner.m_colours) - marking_colours["body"] = sanitize_hexcolor(marking_colours["body"]) - var/new_markings = input("Please select body marking color.", "Marking Color", rgb(hex2num(copytext(marking_colours["body"], 2, 4)), hex2num(copytext(marking_colours["body"], 4, 6)), hex2num(copytext(marking_colours["body"], 6, 8)))) as color|null - if(new_markings && can_still_topic(state)) - if(owner.change_marking_color(new_markings, "body")) - update_dna() - return 1 - if(href_list["tail_marking"]) - if(can_change_markings("tail") && (href_list["tail_marking"] in valid_tail_marking_styles)) - if(owner.change_markings(href_list["tail_marking"], "tail")) - update_dna() - return 1 - if(href_list["tail_marking_color"]) - if(can_change_markings("tail")) - var/list/marking_colours = params2list(owner.m_colours) - marking_colours["tail"] = sanitize_hexcolor(marking_colours["tail"]) - var/new_markings = input("Please select tail marking color.", "Marking Color", rgb(hex2num(copytext(marking_colours["tail"], 2, 4)), hex2num(copytext(marking_colours["tail"], 4, 6)), hex2num(copytext(marking_colours["tail"], 6, 8)))) as color|null - if(new_markings && can_still_topic(state)) - if(owner.change_marking_color(new_markings, "tail")) + var/r_markings = hex2num(copytext(new_markings, 2, 4)) + var/g_markings = hex2num(copytext(new_markings, 4, 6)) + var/b_markings = hex2num(copytext(new_markings, 6, 8)) + if(owner.change_marking_color(r_markings, g_markings, b_markings)) update_dna() return 1 if(href_list["body_accessory"]) @@ -195,11 +145,6 @@ if(owner.change_body_accessory(href_list["body_accessory"])) update_dna() return 1 - if(href_list["alt_head"]) - if(can_change_alt_head() && (href_list["alt_head"] in valid_alt_head_styles)) - if(owner.change_alt_head(href_list["alt_head"])) - update_dna() - return 1 return 0 @@ -244,35 +189,13 @@ data["facial_hair_styles"] = facial_hair_styles data["facial_hair_style"] = head_organ.f_style - data["change_head_markings"] = can_change_markings("head") - if(data["change_head_markings"]) - var/list/marking_styles = params2list(owner.m_styles) - var/m_style = marking_styles["head"] - var/head_marking_styles[0] - for(var/head_marking_style in valid_head_marking_styles) - head_marking_styles[++head_marking_styles.len] = list("headmarkingstyle" = head_marking_style) - data["head_marking_styles"] = head_marking_styles - data["head_marking_style"] = m_style - - data["change_body_markings"] = can_change_markings("body") - if(data["change_body_markings"]) - var/list/marking_styles = params2list(owner.m_styles) - var/m_style = marking_styles["body"] - var/body_marking_styles[0] - for(var/body_marking_style in valid_body_marking_styles) - body_marking_styles[++body_marking_styles.len] = list("bodymarkingstyle" = body_marking_style) - data["body_marking_styles"] = body_marking_styles - data["body_marking_style"] = m_style - - data["change_tail_markings"] = can_change_markings("tail") - if(data["change_tail_markings"]) - var/list/marking_styles = params2list(owner.m_styles) - var/m_style = marking_styles["tail"] - var/tail_marking_styles[0] - for(var/tail_marking_style in valid_tail_marking_styles) - tail_marking_styles[++tail_marking_styles.len] = list("tailmarkingstyle" = tail_marking_style) - data["tail_marking_styles"] = tail_marking_styles - data["tail_marking_style"] = m_style + data["change_markings"] = can_change_markings() + if(data["change_markings"]) + var/marking_styles[0] + for(var/marking_style in valid_marking_styles) + marking_styles[++marking_styles.len] = list("markingstyle" = marking_style) + data["marking_styles"] = marking_styles + data["marking_style"] = owner.m_style data["change_body_accessory"] = can_change_body_accessory() if(data["change_body_accessory"]) @@ -285,22 +208,10 @@ BA = owner.body_accessory.name data["body_accessory_style"] = BA - data["change_alt_head"] = can_change_alt_head() - if(data["change_alt_head"]) - var/alt_head_styles[0] - for(var/alt_head_style in valid_alt_head_styles) - alt_head_styles[++alt_head_styles.len] = list("altheadstyle" = alt_head_style) - data["alt_head_styles"] = alt_head_styles - data["alt_head_style"] = head_organ.alt_head - data["change_head_accessory_color"] = can_change_head_accessory() data["change_hair_color"] = can_change(APPEARANCE_HAIR_COLOR) - data["change_secondary_hair_color"] = can_change(APPEARANCE_SECONDARY_HAIR_COLOR) data["change_facial_hair_color"] = can_change(APPEARANCE_FACIAL_HAIR_COLOR) - data["change_secondary_facial_hair_color"] = can_change(APPEARANCE_SECONDARY_FACIAL_HAIR_COLOR) - data["change_head_marking_color"] = can_change_markings("head") - data["change_body_marking_color"] = can_change_markings("body") - data["change_tail_marking_color"] = can_change_markings("tail") + data["change_marking_color"] = can_change_markings() ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) ui = new(user, src, ui_key, "appearance_changer.tmpl", "[src]", 800, 450, state = state) @@ -324,36 +235,19 @@ /datum/nano_module/appearance_changer/proc/can_change_head_accessory() return owner && (flags & APPEARANCE_HEAD_ACCESSORY) && (head_organ.species.bodyflags & HAS_HEAD_ACCESSORY) -/datum/nano_module/appearance_changer/proc/can_change_markings(var/location = "body") - var/marking_flag = HAS_BODY_MARKINGS - var/body_flags = owner.species.bodyflags - if(location == "head") - var/obj/item/organ/external/head/H = owner.get_organ("head") - body_flags = H.species.bodyflags - marking_flag = HAS_HEAD_MARKINGS - if(location == "body") - marking_flag = HAS_BODY_MARKINGS - if(location == "tail") - marking_flag = HAS_TAIL_MARKINGS - - return owner && (flags & APPEARANCE_MARKINGS) && (body_flags & marking_flag) +/datum/nano_module/appearance_changer/proc/can_change_markings() + return owner && (flags & APPEARANCE_MARKINGS) && (owner.species.bodyflags & HAS_MARKINGS) /datum/nano_module/appearance_changer/proc/can_change_body_accessory() return owner && (flags & APPEARANCE_BODY_ACCESSORY) && (owner.species.bodyflags & HAS_TAIL) -/datum/nano_module/appearance_changer/proc/can_change_alt_head() - return owner && (flags & APPEARANCE_ALT_HEAD) && (owner.species.bodyflags & HAS_ALT_HEADS) - /datum/nano_module/appearance_changer/proc/cut_and_generate_data() // Making the assumption that the available species remain constant valid_hairstyles.Cut() valid_facial_hairstyles.Cut() valid_head_accessories.Cut() - valid_head_marking_styles.Cut() - valid_body_marking_styles.Cut() - valid_tail_marking_styles.Cut() + valid_marking_styles.Cut() valid_body_accessories.Cut() - valid_alt_head_styles.Cut() generate_data() /datum/nano_module/appearance_changer/proc/generate_data() @@ -366,13 +260,7 @@ valid_facial_hairstyles = owner.generate_valid_facial_hairstyles() if(!valid_head_accessories.len) valid_head_accessories = owner.generate_valid_head_accessories() - if(!valid_head_marking_styles.len) - valid_head_marking_styles = owner.generate_valid_markings("head") - if(!valid_body_marking_styles.len) - valid_body_marking_styles = owner.generate_valid_markings("body") - if(!valid_tail_marking_styles.len) - valid_tail_marking_styles = owner.generate_valid_markings("tail") + if(!valid_marking_styles.len) + valid_marking_styles = owner.generate_valid_markings() if(!valid_body_accessories.len) valid_body_accessories = owner.generate_valid_body_accessories() - if(!valid_alt_head_styles.len) - valid_alt_head_styles = owner.generate_valid_alt_heads() diff --git a/code/modules/surgery/limb_reattach.dm b/code/modules/surgery/limb_reattach.dm index 0de37b1a652..ad0a1973b8f 100644 --- a/code/modules/surgery/limb_reattach.dm +++ b/code/modules/surgery/limb_reattach.dm @@ -104,11 +104,9 @@ var/obj/item/organ/external/head/H = target.get_organ("head") var/datum/robolimb/robohead = all_robolimbs[H.model] if(robohead.is_monitor) //Ensures that if an IPC gets a head that's got a human hair wig attached to their body, the hair won't wipe. - var/list/marking_styles = params2list(target.m_styles) H.h_style = "" H.f_style = "" - marking_styles["head"] = "None" - target.m_styles = list2params(marking_styles) + target.m_style = "" E.status &= ~ORGAN_DESTROYED if(E.children) for(var/obj/item/organ/external/C in E.children) diff --git a/code/modules/surgery/organs/organ_external.dm b/code/modules/surgery/organs/organ_external.dm index 9e1e1d70b79..1c3f05f5816 100644 --- a/code/modules/surgery/organs/organ_external.dm +++ b/code/modules/surgery/organs/organ_external.dm @@ -856,11 +856,11 @@ Note that amputating the affected organ does in fact remove the infection from t /obj/item/organ/external/proc/mutate() src.status |= ORGAN_MUTATED - if(owner) owner.update_body(0, 1) //Forces all bodyparts to update in order to correctly render the deformed sprite. + if(owner) owner.update_body() /obj/item/organ/external/proc/unmutate() src.status &= ~ORGAN_MUTATED - if(owner) owner.update_body(0, 1) //Forces all bodyparts to update in order to correctly return them to normal. + if(owner) owner.update_body() /obj/item/organ/external/proc/get_damage() //returns total damage return max(brute_dam + burn_dam - perma_injury, perma_injury) //could use health? diff --git a/code/modules/surgery/organs/organ_icon.dm b/code/modules/surgery/organs/organ_icon.dm index 2f0eb84c1be..49777aa4a5c 100644 --- a/code/modules/surgery/organs/organ_icon.dm +++ b/code/modules/surgery/organs/organ_icon.dm @@ -73,17 +73,13 @@ var/global/list/limb_icon_cache = list() overlays |= lip_icon mob_icon.Blend(lip_icon, ICON_OVERLAY) - var/list/marking_styles = params2list(owner.m_styles) - var/head_marking = marking_styles["head"] - if(head_marking != "None") - var/list/marking_colours = params2list(owner.m_colours) - marking_colours["head"] = sanitize_hexcolor(marking_colours["head"]) - var/datum/sprite_accessory/head_marking_style = marking_styles_list[head_marking] - if(head_marking_style && head_marking_style.species_allowed && (species.name in head_marking_style.species_allowed) && head_marking_style.marking_location == "head") - var/icon/h_marking_s = new/icon("icon" = head_marking_style.icon, "icon_state" = "[head_marking_style.icon_state]_s") - if(head_marking_style.do_colouration) - h_marking_s.Blend(rgb(hex2num(copytext(marking_colours["head"], 2, 4)), hex2num(copytext(marking_colours["head"], 4, 6)), hex2num(copytext(marking_colours["head"], 6, 8))), ICON_ADD) - overlays |= h_marking_s + if(owner.m_style) + var/datum/sprite_accessory/marking_style = marking_styles_list[owner.m_style] + if(marking_style && marking_style.species_allowed && (species.name in marking_style.species_allowed) && marking_style.marking_location == "head") + var/icon/markings_s = new/icon("icon" = marking_style.icon, "icon_state" = "[marking_style.icon_state]_s") + if(marking_style.do_colouration) + markings_s.Blend(rgb(owner.r_markings, owner.g_markings, owner.b_markings), ICON_ADD) + overlays |= markings_s if(H.ha_style) var/datum/sprite_accessory/head_accessory_style = head_accessory_styles_list[H.ha_style] @@ -139,10 +135,6 @@ var/global/list/limb_icon_cache = list() else if(status & ORGAN_ROBOT) mob_icon = new /icon('icons/mob/human_races/robotic.dmi', "[icon_name][gender ? "_[gender]" : ""]") else - if(limb_name == "head") - var/obj/item/organ/external/head/head_organ = src - head_organ.handle_alt_icon() - if(status & ORGAN_MUTATED) mob_icon = new /icon(species.deform, "[icon_name][gender ? "_[gender]" : ""]") else diff --git a/code/modules/surgery/organs/subtypes/standard.dm b/code/modules/surgery/organs/subtypes/standard.dm index 85d698ea98b..1c6240318fe 100644 --- a/code/modules/surgery/organs/subtypes/standard.dm +++ b/code/modules/surgery/organs/subtypes/standard.dm @@ -140,15 +140,11 @@ gendered_icon = 1 encased = "skull" var/can_intake_reagents = 1 - var/alt_head = "None" //Hair colour and style var/r_hair = 0 var/g_hair = 0 var/b_hair = 0 - var/r_hair_sec = 0 - var/g_hair_sec = 0 - var/b_hair_sec = 0 var/h_style = "Bald" //Head accessory colour and style @@ -161,9 +157,6 @@ var/r_facial = 0 var/g_facial = 0 var/b_facial = 0 - var/r_facial_sec = 0 - var/g_facial_sec = 0 - var/b_facial_sec = 0 var/f_style = "Shaved" /obj/item/organ/external/head/remove() @@ -200,14 +193,3 @@ disfigure("brute") if(burn_dam > 40) disfigure("burn") - -/obj/item/organ/external/head/proc/handle_alt_icon() - if(alt_head && alt_heads_list[alt_head]) - var/datum/sprite_accessory/alt_heads/alternate_head = alt_heads_list[alt_head] - if(alternate_head.icon_state) - icon_name = alternate_head.icon_state - else //If alternate_head.icon_state doesn't exist, that means alternate_head is "None", so default icon_name back to "head". - icon_name = initial(icon_name) - else //If alt_head is null, set it to "None" and default icon_name for sanity. - alt_head = initial(alt_head) - icon_name = initial(icon_name) diff --git a/icons/effects/species.dmi b/icons/effects/species.dmi index 87c047f397a90b64ff2d00519e3a2dc3d0120367..ee3da07c3c5e030c50f5764535f6320968f55e4a 100644 GIT binary patch literal 45505 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 literal 45274 zcmd42^&5=Igb2t@uuMez*?gu4p-br2B% zS0>#1Wk4XD=nvZZ?-gx4tlZzay?^WK0s{GDlqX8Lb_r0*ZX@;dt8z&mI83vt-729s zcQDAyYvv^AFR=Se85lq)`$~JrAVyN@!^L6usORS1Z)b^=jd^XS_>3CmKKHXOCuV|o~F6{bSWv1~L z57m#NocL-qa8@qt+?kX!mi1_WJ9DbMy7&Acnqg zDLWtV$G!9r!a)j!j}{Yuug;GfvM@uu9UX=t&iQ$!KiSSlaupWbB2Av^vo<%o={^Zu z^!dz|7gi8+@2^D%-EPGbr)@BAyFu{li>S@=`p~7&x|_*~q=ZZTSUW8Qc^OSJ)R|`| z0t8|Oy-<|X_Q}|9hxi!lv>#!Xg)c=0trx82nbPIo=A3<2sbIbHMT)W1N6`MuSn>0~ zMAc5h*dpy%AO3At_sYA+K9cAjmWv^dPXiRqTY+QcX1r$OjCb!Fy{gkOBvHXn|5lgw z;#t}gm>mR@YVgd_>zp$ot$k+M?<7!4GmBGr&|lgy;M^3|E`zF_5o&2|l_O#cp_C^Y zR~T?4{7=z9s>kf0LA&9p+a~?_NdwJS?4nPtn)?mxs7D)7&7G$Pwf@9 zc_AM8>u4S!P!K|q;BmTxtu?+5oNl6!->~{Ar8VgULdz5nLKMSKZs0cu|?08z#IViZ+Pypq@%1TxZe%1bG z2YSrg#YmZ3;@FvPSv!cAg83zD#E)8iOj2$J7mpGeX4}7W->t&o`~7f$_ySL?ADwUVn;NuCAJPHsFjU@$y~wh+eAm zqx87JR4DDrC$RsOG)IEqctcHuft$RF0ey4jhF>35#TZHX@2ZF`g6=EEpGh1cd*sY3 z!Y(&oNKo|%%06m_N2rH^6)~R^=fFLHD)uato?PWs=(J~)IFjcycgniYDbmjmrq&R7 zGxe=7G_GsnXsB{0(T}^FCOoSY(JMFmy``SuFt3Px)MgJ>dW!P^N-IJyo;0xP&zTiVdFH)Xe zcn26tQ(|Zm%BoKDCQLjpfT46u>nlr*rb{RC*@o?P=@yzsJ|m)+W5HRO$uWK)VpwT} zD&u9WKCJY6PBpEFXXi8Z-8_+^lJy%AwtPvA!|Wb!4;pyI!S0jKMhZSlSG@F~mmr9g zctkw(DZv@Fk?qg_3c7oKYe~$D3Cyg*5#UA*7~HZEy*J(5qeC{vI%V?g zl-U6@1&qLRLDfR@DKyqY@!q~)nLGGU%(;=Rq;&nTxXnqZ z?mL$$olX={`wfrUD;M#GB+uBhDmKjtJkY+|RU`Z@3Jtr#%vcPWk(j)X;cx7D`-?>$LN!x=Q?Hfl_>H1;Zr~U9I?Oafd6~e4h-};P+Lk5CGRUL(*Y!(W_mfl%7 z%+)2&(M12XI}!SB^=3z@tes>{LTb{pC;!F!fKsoBfHmB>rnaM zcr#RE*l543YCF7abuJ`pBGKUdEb!i)EXR$&(idiQbQR|c?rB{9%cjMbLQi6ct>XEr z;DOGjv_8O0IM-p+M1$W%tDFYM`K>44K8-N4rJL#4cYf4x6G*#)%fq4;Q@JvqozbCQ zDsNb`>bUW@M7=329jZZ|P9#RJ+c1VNkVs=vO@J5E%(bHkdV}IA$Gi)63;tMaAv`7x za@-`1zezlZ!n}@{Lz^5@fW(ijRnycF^X}PS&TZnP#h;>Nl5sY&Hx1K~UXK9xkk6_7 zoZF38By2pM_@E(EXq8ugaWTA4sa`ydx!Nn`?DTd*7wpwQ$KY=wM!IRscODyU(pDIl zXR24c?gK|&^ynl08_PyEDEfnc0ewoSUG=BQ;+u7kP<4^=hb(L9`>qcISes6U9@*Xa zRn~Tavxg$xc(zX3DK#(`z~Xm>dLpzRvTPH(nn-Tyv&gJSH$#S9tlU=c3EW#r4eRUk zxF;f_|AxMvENQLBXg)n?!d9D)i4$C?>!07MZ;o)Qp9m43T!Rc%AB8+npg$P4t}RDU z7AUK?B|BC|Qd7>K-xzr@RUR<(PZdSD@e4~Xq`ZC;*oCx<=LyVe&cE-{C*w2xjM6MF zO-N8e=;O~sv}4tPkKS}h{2#SP!$Ei*-m-Aso;1E+ z`<1?r8@AN~^ou^1qRngp@-c;}0R#6zP?u@0MS{JkMwpECC=rs5d~ZwJ8Ij!^X&<*A(g zpmH6V3Cw=k(#k$86L7_N`cp)Wip1`CVR%sXfdAppt5NY*hO}Zz^v>jLsu_A8ulBa8 z#;2c0xvi8x>TDV?Z@tGvoW+*}5~;`TDlZJZ$H2Q~PL>eICl5iXz?v?&wGDB8XyPV) zGQiQ7q-Xk;zcj5Yd2_zn8R9PQH{$!0`5uK8#J%eTwl{zuL^;$RPtBB}xXwm~gB%4y zrOz!ABPx<1@rufqTRa3oud8pGv;(V}+DUGj$@SmIEyxi2s=15Rw4bh_AGgLFOuX^i zhzFbO?bwOYCEeob(O`=|s7KNk z-RYB~Uh>kul%C1%T>q;>sWtKv6i+$J!SYrh4p(3~<>LdzIJH~vbKP;R1sn4A zrW*{bgMm1mesB19uS`Ao8K%n>0c$9oyz_UpH_&!j=yO0?8`ICD(UYf}ec23dZ-iph zue`h3j+iiTV2pxgh7d*#?&nnwH*c|D7cXKk2Sc~Eh0V~Zmtj$(9lr(zU#i;*{7UJY z8^DL&Bt6IT5JaEr-4_8CH1_J0wUS)2Xk9dedFuj$S9|(>~)!i?2pF= zbvdbHZGiPrKwr5W?m-QD8kznn(z|UjX$O9X*ws;2f9=*HqbcL;MzXcst&^0ctDh+{ zwt-v2EW(;Ht;EmG)Yku$M#x6Ge&p-=0{u2%)0JN4_2GbpjZ;5dPM{(1!$f8p%7o79 zCXM0Ttg)CN-Z)H`M+8ARYP`O5l4!?YtS5vsl|_DkILREJ4W0KCvT2o*QIk0D#)0ni zt1XmFI`hgFW^=W0!tYaoY(Q={!!0QB z;vjpfhO{6E;a#x!FVaOAb~L{=Bbrd9TJ}@wq4)*1eO8=NUgK|Z=@-S?nRZ749QNVywOJ(#l1yD&9rvY} zdIZszO?M%At*!7|-q;)z$Rm3@sPFtscjceR<7oW57_O{ZfzwFWGG;f+CKh+F*Ki<) zGDWWPpiD1dv;SB6>$eu1z3;b#F@;}r5mp`?l^xdXuLxEv`C(9lP&#SkAawS|EcWKB zLq{W!Q9MpBXk^o5$>^~+Q-;5=Zv=7$<2}$SA=#~*{Ogk7UzaN@^$(8ff&cc(%DO*p)M#OXNAakhRp2R_v4lB=(+4kIj0Kk}NF_3ux zxed3wUb;S8M@XP$p~$aFsd@tFXpDRWrbC4!`)Zw$EV}JBsA>c4oySGp-JzoT1&;x5 zBaOI!wq5@0xf*9!<{-b8&eJf;4kl=pyc%agS5Jnv;q|cTt={m@<~@J;3jW_TAp+n6 z3WPj@B2JcAs=)ZSIu8<{zzjEB^luMrkQ2E zHndzGsx1@^^G3j|ETgJjf8QdD&KF31v9W{L7EFC%WzHEIzyW?xi3bI$5%BnwIA*o& z_AF+#jYbae+j51#w@CZtqsQ^|S@$8P#T4EzodkhWU>LFil{*pmqZeYDAh6kQ1lZiE z-x`u&?zK6yNh#t29bTnBr#{rnKI{pN!U?=)0A)c%!^9ADB29&+neu=w@4FH%GNYRD z!m9&NLYXspj@R3Pp}^R`b^-;L$dnE6mDzU=w8l9Dq|YqWm?1o<5{v6XgK%JS4NUBgf~jev z@-E?Jy&BdlS`T|dZccY~bDCSI1|!&>=!vbjwdfe`)5)hG32F}D5&Rx_GY(*d;vQtm z+5R7Fw1YtJ5Sx$x)tN(_*lPX7kK;;rsCutO?!ZVkHN{X=F&tR=Rsee;`9Veq`#yO2 z6*-M8XUa_!z?g9OmS2@mLHC~nIS|moM$3M7b+JY!WS>+ ztP!q*H?&VG0iCwU@_zC2!x=blPtZKarV7-Tji_8iJ}VF8;KpBgUC&)xkDnE+ZgNW5 zcKq?5X!=&5hbP8O?fmcAP|r2Fs>%YloV0cJ-mD~}vo0HK=)`TaJd-|(C&7pal;0qG z$5+-5{}3`@*bh?bZujT^02=m;!a)oloeub{$ovlWq9{z`xNNatOb&p@O#JV5pmS0 zQ2IIHSbaYoQ^-_(Np{RA;3ituAS|J67XzNx4t5;A zgX_L^ie#zzTOn_)lPOdVMl4vjTij$0x#M%(@4^BqcqyQGT`#T8dlVLCK8mih0TV3< zQ}6LW=v7k_Y#jZRkAVH$7_{5E;}e|rK8y8z)NgBvvA~rcR#1l`_mQ`S%+q2h=WoPs z;W!@l550gJ;tFsne6t~QRBKxY4hDv!L{9LgVFa|OoN){=%9o)23w73{0rS@ypzund zPJ>HG9O{b8y$HWIGKkjJaGLH@=qP%7Bl)8vknJ}#8Kuy#NDr*8*}D+o3$Ck`hv(;3 zvS`0X3A0i6*ig`E9p%qS`P4G8vh05OiHY|lv-uj^$xHY_FEc;71zSY0++)fmVp5h& zj~V%$g{w}UE}UHW2u@26c}DsW&5nAI-0b&mU!{}lNRc=UIUmDURFzGyW^isM?Rlqs zS{(%H9%yK5<)ep-r z-NG`lwGrKtiiH#VSxqz~eP z;T1vG_L|1RcCBQUM?c_R&i^XW+WqhwYf{fTiy1T-6$!MT(`t_fMv@i%1R|cZ&WE$y zYl7%WKv__k;}1Q5r2MF|G`=~{mvF+rCAKaD##u&`-=+bLE@%g99}4O_U^oo{tp@NI zK*?I6xVS+KY8gMA7+$TB#=&eVcu^V*uaf>Rj3xlzwmiK%&H_Mv-DvG!KwHA~5TVL3 z21o!x#^Z(5^?i(R%2cb1o}>w=0PZjrL<0E@^JHSHiQZr+C6lcn)>YT3{rG#V*73N` zsYK2alb;l!op$SS;>{Bp22OVbVbJd}o>$ZR&~wY{TD~b{wpMG~A9vhp)z9f=MFv9M z=)nk!sW3-3cT1nJo4X=v#`WMLM~9A&&~Dv`UT8es$ugv#`y+f}MazqI8EfPm)Y*^f zfnY#3F@pKev*?zBFkFm@L=rQ`m-zUUe^A<1Wh?n3u7K5gN@Ty;ngj>9b=H0uU~%5- zmY<~?caM8)NoxWM$%>rJW?RZ~kCY&wNx?UAf(ShvteQr`s@NC)%~C#S4?(95XggWa z0D6$&mpo=$l%3QNE|D2=$KVB9^rCV&|5Mc49)+TjUb9|i5Wu;{#d2_VBqmDJ|rS)upvy%X&qrizjP7On| z{9bMHr#ZyS25_Z6TVV1(9H)O_a7bY;q0IY06zu}=r|N92z*rd5HU`V5@cjD9^>rJ= zP8N9k&CUy3M67Q#pY92gqCPFmyfP)263^h z>g>P|8qD|WU$LI(!8d>Wkq6GaH~fIgEE=<~{o(o+9>>EvMau^b6}s0ZS`Q@p&1hXQ zd>+JMjy$$)+nhDPXO)v>yyH13o2EqK3!Z6WNa0wPvt>RLaPu}-N2}|;=pnE{=i@vk z4p6lakF?HlfQD~u_a5j}n1m1l91br{XI9LCJ##?c4B+zLWKftyM~L}YQ+;!geO$)h zM2P4;bRjcJBU~sExK$L+NMYeH)#KQFUh)7Z-g%4`(&#LVHo#(cx^1E3T(aIT2t8kP zlyiUR93!J>{7^uOt8Cwukee_%7{x8nec#nx<=2$2DKQL1Sv@baAp#-~U6$r{ z;@F={;}ne8!1lhTv{m_s8nzl*aO^z*FV;}5o4Hpzs7qQeUG@P~|GuTlLAD}i3JxWm z1)HjBy%omnolc70xA1zsP4%XC9;>yGeHg=bD1=UHo8f5ZOU?4|{KE2VfpMi}ea^r;uQm%C3k2nxR;kOX6@!vo!)>2k_~~eTgYv z#qY>6K#-}7Bgq^CX}{bQL=||~*Jo%bpG9N3Vqvo3_o{aycikz{l2yno=#!Bj-t7~0 zEmT}j8W^mpsc~*y&Fu9ek9|%UhNZtN`_tuqT|e3l=Mth=|6O~3etY+#N2w{JvlApB z;bf@ZfT>`_>zJ#Gph0n$5!-vJDa_012NRhTg*#RK5BbCHT^IK^ipw|{)r#H8Yc5~v zC3v=yRP)ZJWjhV^KW72N6mfXRAo1HqiLLY196c$!}k*yMEc{A8ODmM@KgBw^aT`deC4(M(!Ocb?S?o!2w^sd@Rqj@(eXd`Kk$nWHT|P4 ze?3gSx)Yob8+AmQ<7RS*kAE_2{rGu4AnhujfV(}~!Zfn^ogEQ+g{qfLU&Ei!tKiTd z4eR4UC133-ZsHGEI+ZT?%dzsydzP~S$W-yzHLeFZEw+8E5(T{8%DF8EtP& zcqDX<(ncDJ+D%oO7%*R_wSY{BFze-7+mBF3$dQ&?*EByln+=nb79r2;)+a_RrFa&Y zXMo{m+1-7j6gGh$R9oK!Vts~$0{rm(PP6y@P%xZ4IX(FUw)Lvza(NX792J}2=@>4)=LQQbbfr#vYX zu*s67Vo=*SYW$|s6E{`d(Q2=dXDO|D#Zz!5JIw;)neIS2NIoD@45VaE{%`n7)?LR4 zzWlY>%MPZ*jAy`3s=t?5TeJ1Dq-OazerZJB^q>a~vS|~8+xSclB6l8#ml`VQx8*P* z)J1H1VZQ`rW>Px68}~&OTSI&RV5g{FL2xmUkG5NR&ixz+=U&lJ7_6%yxvwAB%g|#& z??K)$KaNlR8si%IqoP=DhxUvV=SGCahIMp-3eGruzM}J{^~rC0GdqHYiHC`7RB3l* z`puF+`YM22wE`Fx8*LijndlW7w98}u`j>%&Q63C~R~f9s-_Q1!{V|$leS-7Zh~M1% zKe_(SzdWAUfAe1Bk!#`=eh4BvT{TvQjWqP@q#ocC481yOoc_bm=?})f&om6GItRxG zw2S2L9~#clo$sIHJg7GdZ<&cpzN@k?fWAD(=`-UB42Pvdwg~__LYY!dt8G+!eD6a;)En+V(jP#-VqRNBw0t!;i00QiBM z_b80&- zm6VV?g%FsiFSD$d7326;t7Blv;^C5rjEItC5B|%wC|=&DXs(p+i`TWKAnQi>^v5b5 zDCy6q%ieIP$@|oS73Aucw8;6vfPtota~3&phC_Ozax7~W;mr<4AG4wZ^qQfhYfjoC zOcR$KKnl1^bgHXgLLWmvM%%Xe8c zAMk18+@E^O^gI8HJR|=dKcZas+cNpI&Ivtg*%S~}oN+J+w8IJqaP;0w?sFfU0UnW| z)oP4l%=ia=Lw?fDI&{Dg)pko)56tG-|6S}+H=d6~Ynd4be~h2a0npy4bxLu`9mT{f zC*%hbKnqA{{&Vw#AHT_vK>w$Kt`R-QXUJ34y((@`ijQ%Tu@R5^faslB z>EDSZBDTQ7e4SUoq_9v$4WGhxqT-n-9RRddNPwv5tx@QIx{Gs9O##6k-$;2VSeNSr zKZfoZ6a0dbxgANK*Y5i)TN45rle&o6i#PUx8`7z+L>3zKR^@`42(gZ>pgwFz@wY ze$_^~7Kvyw!~+C2fNKM9aGsGTppZtgUd*t5>^lD%ew4}#gvE$h=#W; zq1>qP8->(a+|g~zG*+YvATEXQq=JG1hDsdt9RUp|c*DpY=n$Ip)5PtipEG*y*;n_P z?`ibcWG}qdCAiL5*c3L65(VS+4PQ=mDW<1bOh`U0qzIwBAnsyi#%BqZr|eau3^>Pg zhmqgDjXMxY*BXTIGdrBC?sjr;aBoYaJRp&O_Fg!}-r2#SEB4;ApOpazj?hCfDhLCW z_s8sYvlyJy0R72Yp*>OO} zrA>Fmh`aP)S33kiufnrs26!NGe`M8!TwfsDxg)K0f9yS914$W*woP`+8tXx7y$!RU zF}jrNM~YncXlBhI?Fyau@qaU}erLvW-+v@H zQ-hTD+D{dF2CTU6uZy1aj^XbVI4*NNz@`9RxsP1cu7DM8e;4}iJ2!S?rItq4({A;a z>5Ssdk>PHq0|tP6x4k?kwO+C2e)YJ}Z=q`P{xS82CTOiXX{SV3IiYZt&O z=6?{1XxZ>#i}r>Ewu4FX2HFgjO2t)R|GRY7Yp4FI;5L^i679yp7m4?udA&5+3HIT0 zqWkn?j^b+vKP`CS_q3LvL5Q9uA2FLjPZK!HpW4-p14m1jppA<#-1O;Ai2*AAYqo=YE;o?7d3Z@|3|BDIuXx zDx6<=x(p~P2rJco`HcESG0nnjcq}5xecMt)e1UzjG8g@=dEN(rWekr#)balP^CI%@ zqoJ&5^-sa6aSZuCE(V?e?zs(c;Gn7&3kH4wy<<23uzvhHcK`5O_BYF0cdAJXkFj9QdrX5%!MY(!a#~8Wt8- z06JRNKA%|H4ot4v53}J-{H-@)@SoSOZx-XGxuHe4s6QH1FI!uvzh!oIm z?LmeI4oD>afrhJNcaDr?VL8S1FJQOTYyiQNgoi!QiyzXttVdGu{?}B4YBQ)R3jC3u z>U{C=^T?!z88ImChMwhxBb9{#;xECJVu5#%1`i4c)Q_3STa^A6k@J%N8xhFI<)XWw zX>KJA%75esoL$tT{XP`<^r%%yJs-!53VEdU?3dSQvueOVWaaF}N}&s`KzVKMh}tQB znkouNPGV$=B_DJE!eX6LWUSgl?Tn~zDjd>xZ*GGoYs%B#*RXtPKh>naUbFJq&xF(nRgp4K zVPL3!qoiKU5gIYmhNOAJ4;&e$qy~*1wGI6VKzs>T&hwdsgS&5GHcqhxg(r;DC&(M% zxkYb4cGB386N7=}Usn2`hn)tRc^=*ZM8lD}-@ib*5;mQUOxzRIgRE=m`>ny_G|sIo zt$ncjfBCrM7|7%$4yXg$DkuoHa~+h7zHq#r91P6xM!>OijngPh>XpgVu$peB`+lgAu9lVcxGctHWTaFS}y#RW_b4)LY2tfnU*B&?s#ij-KiKYeqst~NJjo0kWS z#p)o`b=VK{3w-hYFS+ac>1?RX^{Da1jJj`S`|&=QkL82eH3uUTlR_!xynRS3j~#t; zbEDt#e&-XgwZ%|M71djIp$Mz1t83aF>*xr2cxBiia=f6nu%XFI$giM6gt#@1X_}JE z7}AF|9$ddrdTGDgzF{(>kSWpx7iA`nPUUZ@sP2%hF)mHh=OhGjh{~8Kd@v zxX2_{y#egt*6WSP8s)QB=ZvhUgOV3(^Bzex_KJa~>U%hfwH*`#oq;)YKZ0DBC*5d2 zhT8T(=4)=TVD$M!InXXqt{|eALdTCktZK^j`ND8yjjms8b^=EaR9=*!w^~hFR~0cE zZ%#e`&hOd6N3-dZ*r6Y<&)X`NWzS^zGreIEWqFh`;Px}>*!xnEDW)HY$G3h^9uf`dbh#I?-f8#B*L?q`^GV=un@E~?y)!=omu2fD;u9fko`+LB zlR{na4u(kl#fv+LTDdv&Ru#(jJ!gSDc#pO*62`;B+hSTl_O%5PPEE_h;g9=GS^W)) z5SoRPKDM(LRadSnrH8~F8x*08R@KE(q7ce)du^=by2!-Ytd{}tfRbVN*&WrVSa(g7 z`i|P7RzwwoB4$Ha-94T*$gew!YTL?hPMZ>#`Y!KAO_%CfnVZYLC8&{Jb|51oOD)x_ zB#1k>_^6lVeKzuVACVms%8appQqpBC-JGK_H$eq?Gmm{6BK%8ngyMKD1U%Dz`L(SK zeiV4|Y;POS5AxB|6^akcFqeD1g8r%RZzZy}6aUw^ZmUV#?@k7yDi*vgf#U1NrrzBz z_D>>zsM*h{r<@_Lg7peJ7;dxYnrzmzkX2ywz>kWWcLLk z6t4)FOcQs(%+VRv!pRxx=s`uHy%pR@8G!&ip%0cF&K|zu(s9lu(K5yUSTp(KT~Fpu z&8q}WdWe+Bso}vEr)H&_L%07f%#rSJa}uII`-T#7Jx}p&X2p6IBfaO!AM8^O zRItrBcnOp8?pLDW7o#n=&vsz}l{RK~MdHKS8X_j5wRvyp&>Z6r=2d>v($Z4qP5Sm4 zV@wml`%o@!0}SJ?IUcuvQYoX|2eG%epMfzkGJZNlqHgH`?t~n0Cp~m!5uv=ir_P1g zW$kGBgQ9utAaIUs7TlG)xotjQV*?7Z8BVqsKk=ZfFw6J6MZ!?2`;n5NA24NS7o{uY zCxEpT0{vQ%c??badv<#%0K9(mgCf7?I|w-57NRxNqCJuA-z5$hA@;UB5i-^}1GhE5 z=Z8QTtV#EAHggNy)=}QAthDs!i~*EeVYIHow4D)rv-`ZD%Ldtn z9hU!&o=gq51@8R*@z8lxQZlO#_9RjY71x7vWE3@LD1stlEO|KdeNVPF|3~UoAR0Zr z>Gc6V3T}oSvw1^V&ul3D-$%Kpu+&X9obrUtg%`HE4qcJ(o{KVT*r=M?RzF>q+^FyD z?94@17%OX%v8D}0-Y&G+{ym#ed{$Q9wP{YL2Y7woBMNfz5ucIA$~@fTb8|#~3}H^L zXFWkRTz>$J|0fzEl$0fm4*8kVu^-ax3>U2}E*^9g+v*v7&Ng)4|5&bKUU%(@h=>I+ zGHxpq#-zI2O-#=5JdN}37#+Vxa5DDu42d|h>DJlDj+C`}Qd_Mb^+eut5eAlMOK&$l z3qv2U7<<0m$>sh~A+h&* z)SYmoo?%&pSU9n>r8^UFf}0}#hMAeUPIrS60}SW)P#EjBx2X*$&7dTz_j(NI`D;Y} zS0^_sD~?#q4?-aB2nNEE2teh4kN||afCSvf{=R5PHhaZ)`c4gT>4FJn?^GXf&MG{p zcMCg@9zzyK!-UYIK6fx=zCF|#n&T!ibgIWS0ft$1i+xG|Ybp_vdUBBlg_nIcclJnginEyW9XOGaO1I&UF z{kAbu6kikX5*a6-%_UR|*dtqO`MZ&<-KJK|&Zd!iXr$5It&Dw5Y($n?5TTa^88!T< zgiN5Zs4&%Hz+8|06-TFSd&!Wca+_XmxRUnDl=Y_F8sJJXwv@j7odAURQz26V2+-|YObby z319-&7||?v;xO2l_H_}z{;e7!8ZRB^0Micilt(K|#lhuGWxsBNnNx&7rcsz-#v(3VWg>+*B-UxrX-hE{jm?}R?dGm zuDEt6n$3N&B6+tin#;G^yhM>+;ti@x&^X_QHQT&dmtb6sh8yspVT|*6}hLk_vIHg;+)1lR@5EcV5T+j7_kgoVW8rl)s@QH1HqB zAGeeL^vUN8oIEfYYUBD*z3r4K8rBFT|CX~ACJPnsy1UV4b^%c7QNO!)mS~O#ezrJP z?w8W8uLIS~yx)-4+AS8qoYJgmNf z0V4KzmGQr;r$a%*^3h!?Qn?|WrA+r*1Cr{I=hU3{jY248PDUTOq+adhtpM)=ty3Mf zt%pUktRHbIhaP)q6%DD8lOW0^P>)IHR5(9{g%LzYM;8fg^OBR#bIEOr-idrZ&fwOH z=Ot}mTRKcn$yn3l~-49p{8OaG2cz!`jD zAAL6Nny$e#Srmc*|CA4hR1@Xs4Mj3*ghw|banHh!l9Oo_*{Rh0Dago>zzBR!26Q7kCI-CnxPAQ!Wi3R)3B2{#4XhtgJz(kFECbFxXoqVa)PaVktL0+X zy4Lc#WSYv>ysMLwqNlp&GKx3F`q9*uHE)c!>APT|R_u^0KnWw&f5_lLEq^N+FllH| zR*ww6xvKYddmnT@HnzpJ)tvkjGWp>QCKn$|^IYAAc!%gv&C3)mH}DVGzX-&=G)UT0-zA+zG`=u374p5utgdtUcHw#ay1xB3Y<58%xtiq6qm9ga859L7 zDflIqI|R+vl$SwmiMDzj2w`&(_+Jke)V!EZ5maRWm+aV^g>)qYU;jrgFWP-^b1ys_ zrG2hW3lBV>KjP~-HB0e&)JK@PP(i;K3(!0O{>EEA)u6}c@5M=RL#TnZ;qSXj)XZ8TQAh&{#HEClsoZa{4it3Q0 z8KWNKje+z>By1HC9q*a6V-1pMAz2vV`1+(9jCL=i!LeL#)Kg<@vL0}{h?kdsl-&+b=VMkzK?TK=wIF0j*6u;H(gii z8{zL7u4kEg=294#`Z)LpZsmQolt*2eJt;oz{zqq8DnWxsBcD|ti9Jw!wP6zOz92kX z-xIYVr^6n-4Lh~-5rLRDFoC9LEiz~S9rYd=D^>Z8*Ez=ilOk||=i#5Tyk8u@FC$&S zM@>r|!=mBHy%urQT59F{_p?E?8=7%0(ZP{sSp?$5?0xrzebpyze14|(l>hE1%93Hy-I3MD&M<=U3fBv~R z&slD7?E9q=uOudu_#5m;*Xc?c_G{xxVCzm_v+H|r@7C2=l(EN%$QB-jQ#9R^Ag<_8)A(yWz)ETAB|Ttb1eusx8s8@eU-bsY&s{&oAIvk>~sOsm{*M`pxcK zAl7)5)n7RZAYMmSS_IvJ*0iWaVPPTRBfSbT?d#C7l2Hn9b>nHy=lkoIUqZdnc+40Z zTEpw5@XxNotANM!WjAhQ#hS1AsVVClC%U!u8z6)sIlC23N$5c}K88=TjeD+xyL(>KOBc^ShGuz2UV1|+&JNRD{<$@aNz_$1;z43?hRv zN;Kw@gt*D5_NY zAkuaj7L*3vvOXU{2PU{umaGeCOofwL<;NRCa8JuRc%k4^Z0v21r4~=$%D-o4O@Yek)0OLJ^usm>bc%VN@W+g8zY|fJ;##pUQ6G8xgU$+Pcze90!8~VtE{mH?hC(n zIbX6RFPUTQ8()hjsVNWYBt@@jzTahoa7EN*(LP{=D|X3zb12E)(NV$3$SCXJav_Dq z5y#+Tqx+_6&jzA{4EhOp{&|g!bO;}2K=6v}@u0Z&@8P7?yl~!)%10>jjt~1}FJ(TQ zqu#NuFT>&KJQ|w~ab4P7^sAfAN4G4m!Hp(KlzyG^&j^M(|LVNTsOkM-N!RJMSff=E zkeux^93!?Y?s&b#$V|#cKzkYQ_wao4nJ&B2$I4&V+uG&yteAtLyn|mh!J~SC|PrbTR8jH)7yJ-^RPMvorjPSSawKh|g|u z;jhU_t0n&k(dLLzxS>l}f(L{(|h1Lglz$UWl=MV2#N>d*mCWLD zk)%px5U~-IaFq0h)J3x?QI)IDMEL?)iTBO};6%W7<*RGth68b=aSa>kJH%!|d1z!x z!s~7MM%Pe99p0o*T8~T8!zIK7o922i{11k|)O`{~6j0`V2`URpOeu87Yuo@2k@buu z?iZTO?E%XB(;rQhp z)%t)~Oz8O23tQ>@H^mIjX-CM755$oV<|*e5pE~aSC1H@`dNA+$v4XE@a+MSCB$}Hc z6n+mQ&7tR;o>`CX8Z@;`>*^rrpuLvW3}U)LSEPCV#t{p@Sc%8$|Gu74smS|qEA+u%{Z!{^25`S(p^!FetT$Rl)uH3Sb5f4_ zOJHX)=30733wl|j**Cq}7@!p`&p!V+L)wg%sdtW!f!(*c`n#PB{z;8?M_rMQ4&2b? zI#d&ox-h~2L*08vHT8Avq9`gTN)ZJSDT0C`MMZj5iWCLu(iH?$q)6{b6A%Fb=}nQ2 zbm=5PX+r1_LJvJafKWq12)Qf2_kGX#zI(^G(bFQ4hHP zZJUJyX6oPn@PKtc#G9(UimLSh0ZmrkmOlcm%Lq)Ev8p1);6qd=PRm$Ff%nvNp15y+ z1>(JAW0ZMb+C;YZQ|$!MpNmxH!Ae%t0iWQ#YQa5AprDAt-z%G&9)7K>^XY0gwo0A+ z;YikMcBkgSUqru^f$yK-p_I_cF5%dg={aL;*ra^M4>u@lE<30Nn$>E~nFJOl_=$g)#Wz1T6U_2c7d zEQ#$wpk^2vCi-xHY z#*lJQ3-58`;@Mo?+nNzk_0+#3<*4>>xEv5mfMs}>)9H*34~zbo;(Hx|r+8tv1-@W( zUXLW~;s7)t=Y=+31V6W;v-L*kYyK}!B@5L)-90{5$skM2 zc>O54-@v^NTs|e11$}~TjrSj)R7^DQIq?C)1cZ5a{0}9Hf#C7E-3s_!L-r4=xCS8$ zh@xXMJLq4VRb{iw1)Y4RuVd5%9^GcXHZU)Wf-KgA$W#4+k_O>R#;wcnNg}^ zE*jMb`Fn4>)w9!ua@iF+HN zf`Zep=|B&7HA3|LYt6kPkI!}Aw~M#7b}UxZ%0l;S z=LckE9jdvW&9*UPxrHJ`7J35AT^o0=i(TXxfkwlAi}Xw zUC%}b1cmz0V4h!cQWLyD=y1~};sc@P={5X3(`PPh*1D&U*8HQRKCyDdoQ+h7;Ge~Z z`TE!Ub`?_U8*=j*&8P$`ua2bOCH5vy2`8=;i?Qw+>yLbxB;KJ-D9>c%d2+NaUY+Tg zXAy`V;&KUAW);xL)Mvhwtu#G7{ZaC_^5_Bpu0ah8sdR%-rEvNs8+Tj#>?^;}7f}JL zT!h?9mjA*x)wX}t?=p4%lBJD`KXrbb7$HXeI-+HVBI=hD-*cJm}L{{2HqM$+fLi6#Q~sd(9EQ9U=G`HhC5 z1K)Vb@zopa@+LnxdxB{%{ZhlFhduA9rZ5r(>|b^JU=0KJjw7H|$vlylzXV6<^-P=9 zRzHJ%^&ttV2Cg*Ure7O=BsIvxMIF#4@bK)8qN!kete_69b{%>7Pjlt)LojVq#!Pc-_Nz8Ty{U-&SdYIASrX+Dz$8}wq zbiB?|Q+j6-@>Ho%*j{+c9hCc1L60bIg60XWzk;XS_fxnpJbKs;x3;b=umE8;k4vO+ zVr`UQbj!E6)f3_2_DtR3dLqsL;DgRmmT>>DN_1!c_kwGLNWI^#dzs_HCci*~L+BTR z5@lK2rZ=F0qv;U4B=>+((pZw#F#%G!-7M87{DVh0?9%)e__hs=nvjbySpV!a5aWG*SL} zgct^rDAl(EMG30eJ2DD7I{vP^9G3S_eA@u8`?mB$cTdZ1FFY0~j$Y!9CChl2nZ=QI zYRWgnHWnzGi?!*UJA0QZi1j58W-g2>L9}$Y(qN687@}v0Uw3DnRe<9AgJQ`1PK02> z&UaKFSSij=M&V^_!jKkT*Dbto<1Ob9lwRDPc)?%jpc^!d=i1wy>7!h5w&xm|TBtzC|FrMYSKeTf7u@e0Q2EaNv*drUe&3{F6@7hXgi>c|3%)q5#TcLk1sO66r0O+Frhe?>p6+(JoJ2++WIIJnSYPj;iyVKnt+4x))tiOPD{@BW*n-%< zjgtAqL8caIK^>0PrNNGtMC8uKB-frzr6UZoo=yp9##y%g8XLRZ{b*Hn%%XYu{1HK- z|5Vi}l|53bQzNb9PmzSzk4Lzou+=tJ8{6fdYP@-PAbp%oK}cgiCe3^Ku184id&kKJ z)B#JEjZ$J|*8*MykT90%APY(L0mSb!n~MqFU?us4iZ;B}Yd0NrZKd|h3!NV8&hcYp z$)Q1cb*CfKo(CJ@t}<1OXefBjf= zZy`GZ>Tz(s9Up!GLm}MR4>qUmXM8ZF^&7R5jP&8VGsG4e`B|bE&xZWR)|XQrlMeO! zqo$RfSPK+UTOdl8rkp%QDtvEM$RGrt{3#eQ36;8TXAvR`_zZbJFkPk6E#Jz>Q&r7R z(}kGG%;A=FzrYL4+vHuRtlyEXiXQ#uzkNtd^Tz58lodT-ggOk)$j*xxB zsh#au;waflYJV*6pEPB})iXdKzL#DjNJ36@duy!sEzJK;S=Hj5U`Mt_lYj6;W`3sQ z<2#P`lCy`Gi)mSJvcvn|(7juY%%mvR_Mhs0D}s~*sA~y}feRh7Ws#TeAqk);Q{wYG zl%T@Gc{9&mv9eQEE-n|TUZnAc8Wwz?U z-^wMfAbfUXa8M`37H2fr@y%teQnNRkBkQm4hFv(nBGaa}24r@UM#-G5S>vzYSe)qf z#@qbIcFLtC5iMXWX9Z~O3JopvhHbMl{>BzcT?98EU~;IIK$6)7FwoF z6*)-y0;~rIcM>;Es@pyi2_EkwSJmcNHrZbI7#{xK<@H~m4Qq*+*A~?drs@v~YZB0x z8Lp$o_(LQt2I6}#zXKPMD2E=tbp<1vbH2jN%cf0n`5mr6@Z zQ!+BzK+3kyx0Su(014}`j+I+BJwY6^j%DL&K76~ok3lZ9a2kmf`qHkj(h$r>gcD}R*cvJpHxXSSzGOuF9HR)59da#lhZ7S zV^z%#7MfDy{4o*O9kL@(%-yzUTzwXvCoJUmOa&d^g$+}gpQ{q`{&q3p1gQ@=&0m5} z>6NKr&A*a_1$ClCHDX|!PreG`7v*Jv*P3gaL%KEUUbNazdbG`&aMk@;x4<=AWO7)_ zll}P~3G>BbTACdrxwx>k2|AIsI96YO2w#1QbHhK4qgKCB*_Q;|Rx)^FdQv*puspY(ylN%Txjjg&H(E18Ee2rR9Pd=WYF}eN)9U?n$xjUfvd5+_( z8us(~Ag$kPd^;*nesxBrM<|e&Q>*5&p&8db6MzRvX9~;=Mm&ARl+GI1E5RfpOB8Gq zxYq8n*lzJ8zpC@icd;J^f;wJ{?K5m_R+N^DHkVX<+n$DM>3=2{C*3lSSO_#`+rs*j zi5>2fb?N<^li>^jTOn7txE>SPXFkw$UrKw_Heq=OE$V*JjZCLQ4&wi;7i<2OP;^1Pu-QhR^;{RnyK z_qTkvrG2MQi%#UYy6D{AX8p6>=JY8RRsxl7Lv09_XlR|^pKEif@^@KI7v6br%!5f2 z!lcO1Wo47Hj1Pojf{LG~8wl*6QT4okLdzA|m064<3@Sf*Gpc3Feqzm%JI8&ee#2p~ z;nMfAZIpo}`U;uU7x^9P9Zj|=r55HrWp|VIsqU2m^^^~d@r>hHg6|;08x_{&u{6!M z6Dk!BFP2AkhP9t>ag{rBDFp1HcDmqD3U+R@VXIgOw~sj(r>dAre->sv3Z5v1O5>VKVRCLN~R?jicI zkjHN<*}(EsKtbWI-)eetYN^9Z%z+KOT0x=CNwy+*UlY~bBO9o6fogUo?lxv0I#bjF zo|#RULZu677MG%ug?n+6yMb5ef4(5~ppR$#NbFass7R!RQ4Dn_-^ocngQ?wqu)k@q z`zY2S3fy+LJF?~6sP8f1+-{CR)CnpGziKJcH{nN+LxO4#RII&J*jgiFjBf!erVcGzUDy7ubK zG3uWHrmw9~K7vepM?}l)zTvzpvAJPZau$KpE-J5{a!r z22u-tB|P9o?r_2ima8)|fw{1RLG?&sw*e-hKt>38-zzPVaGqa0bx7>oCRckN{C;oX znMH;f>DDz)K8lZa2%O;$~=gX8o2V1O1bhqfiNpQ`=YP z-D&T%d=*uN56`DiS$`ToE&A@s*r(L#GQx)8#}SbtE9Us|ntS$&wUhBGb%O47ji&N2 zg$eYbN6AgiwMq2Mqz|mvOjT(3Aj7w*pETv#FXid>>orp3Vs$a@bH5P@g3&k4HFlgi z)Wa;7D%1?62A|J$xi6cPT&uQAK(){u`XYA40@dYh`DBS&Yod)nmRGd3xc}c=ggt1X0nl{Q#yuRHSPTzOKNq zMv571uw|Fer#tEmamKd+bf9sRZYRjr)BShwW!L#EmNyKU&{grv>FRT z`ymCIbG~+)%SQ{3crnO4ez*_EM-mZi-mOdLn|~% zo6|o@t~W++lo-}c{AW~{tWBNvCl5`mu6q;9CVXx!pvd_evOB>BgfziO4dPPNt3@(9 zBirpU*se8p+sKks_jVCRLb;0k3eP2F3o5WeOGe6fYPcI3u&5G0K9RZS&v8zqIx&Rx zhTK7Mh_ay-Bmt&?cXwSNJE!Z0`7&Gr2UL;vRd`Kc!_J4PC8#C0meN zg+>aMGHJ$lHUBhYODIvOZaJ>D%O?9U=&e4YT;mx1U}hVOH7{ThqSbsba%21tThThf zo$`^oD8sB~{bYl!N&yKCX6A4c&k(x=?=Echd~oS6Ux106DW@SvX79zw=kf5{|6Fy$ zN_|IJ$FS5fQM){HB9LSO0lyii8!TB&S;P{wV_*uggmKCp#tuW!CEv1w|Hl1zmO=~X=TXwcB!x#D%Wv)otS z%(O2V3@~y-h5+S?kdStD2nuk^0}xai7>&Vv94j9Oxs6xkdHWCEe;xxYJ}>3=lYPUi z+qUOyY)0mqyxd;7U_E6yS7w}^9(+Kq%`(SoOCQr@dre9E`;F1h6@(ArP=qG|#dT>l ziZssC)SDlbdG4)J7b)S@4nK3?rq7WaU6X{;b?(Q@>xubA>6hCxu5vm{=uh%XhsMUR zY*b(kS3J|J-z`Yp{PCl`c+NEUJpk(`Je6wvbCkTK^(tDSrr%KxeN{Geb~iF_>t8_e zM7tijGt{#eZ!mNG(FWe_KP{GAG=Q@!yb4vhipFF9^APxpQF@|dSU{Z=-0=5K0r@|* z06mv9Y|1YF_qMSGkN@cq@?^vL?^#!hLTu%HUH5$zfD5~-o@~*yp-SH8>mAR}>|K&#HSs!;?$xR7j z#Q|Qq@qwyNawU^beL)Vt>e@Hs{uwjU41{5?Xt+SLoHQE%p2a|)WGFRg^DdNg^LA$D z|L9OBjQrH#>(CWq9hY~9C$ZMcEqCu={6Ag#3;e>us!q{0*ajbI#va>X6rJs0#vr>m zgF7j9R6X<1W+@Cr% zDr!man;wj>g3ivGibLLHUP-y-yJoXAzxvv2vTn2PqZUhdmQUAqwt|lb)at@{^uPZ) z^mM2`lMq%_VBvCvj&0KuG2J;<8`l#7n?rU629}|&%DgXLFG`MfKBBHZ_bES_=h92b zZol0Bh2xvgbGL%%z|W0PDSkO^OH26;k^x#;%HJOzo^l3<7VeXjF27(raSa^qMo`g% z!xd#J8gMwz^MM*1&M>u{0EdwO<;&g{9h`wWKaMT-+khz`oe;iF4}W2b*!ea}gwkiu z??KZch6J&03#9%+ecvuk;Y)RQQrKmmY{ zFEm+#B2t5Sq{M9~nQGSRUyq^S4t(2!$CuZUwcV@Ve=Ul7vuVdpz)XGnA!~G=d$)Z4 zXi^^Wsm9o4GMe0ek;!|xeMnvMYW0m#mMQZ~_SK6CbE5IRx7gIP<78m(Tgp&n1&+`5 zLX(e{Gn?BK(C)W;(qi4Sx-m3PzhHFR)E3G40rb~y`I8s2?;r^IHBMV3n*7=3XOJ~6 zkuPe$xMAM>*h!hcjjck-7rL-yWD2R#5{{uMJG})jYtWTHLMV(uCPA-_ajAC}N5VsF z=1i3rf%`NC1}QNB;V$QD*0B-Q$hoKaRxYk>LQp2-Q^XV@n%eMos6l{J9C`k{1vn;~Nm zfSYiZ6JI@NH!f^4BRKf{&B4mygGWu@CSNeU&*ShA`jE}30k=V#8RI637-()@ql0@* zl$PQ{phL{J_c!H%Yb|~p!W?bvvc7N@jPThwCSYC82jGz6s`rw(?N9(wK0g@SX1yKu zlp}>1231E)h`y)Huz-I*)@9I~g8Z72l;@xvx4T&gn@}T4r2H*{Tn%arO96kDzZ7KO>vn1qW&j;Pb$- z3=qodLaPk~#gnK0JhA+A+$O2;{|+`3K)=Zwoe4(bKe{Q1X$Rkyt18JEi(CqB&jk}q zQEmA|W+qP`zS?&_!;Nn?*higay5NY9aew)(c0Nx_8%WJ`avl2d2-9yG;K zp*dhnb-!yX^`qod5w9-3=|fn#MCh zjtk-1OE=PW$^t)nQk(&YFHv_%2=*CFQ~Jn`e({3p0FOn(c-uPuI7wjRw8ZrdZS zB+!ZsOvd$ULGvCm8>-bck(kZuWVGw z88nOx+*BBMy_w-=>N;!^SW6aV3-)S%n>w6HT|P;Np6-07+C>vS^`>=-J=n$XxpEt) z;}EUfl-?jS?;U>D(Gb`99L{cFImh<(jwZy9OM=z|SCI|fwqIX~N>Stw{6@oW)?w7f z`MXiVf}{;}R}?TVCz@w=*e}RvJ2@#OJP--m&vb|&-&o1YB=cdlNn<#3wmBD`E$3VL zP3Z@HAuzWtpigEp@4b7awC(12ir}xj{nyEJkYKz&{Qy`IR^+EqkK76%!#Z-^DmThf z=`D8_-g`=07JBqKoSWb|--w*t5Fe|d+Ekepmt)Z?H_TyYNmxh^VSN2Gd62076%>dwkO+Gt?Si5@`Zcc zMZAE@KKR%svw<&S#JmAph@*Nfdelk>^WC) zkM4u$LQe#ZE(_n(d5jZF4zlaxr=?b>1^ zl#>_wWmiw5s#c%EOEy~BDRGK}==H~feynJM@FE{z#}ftbJf?=X<1C!GW*R&@7ip}) z`m}ADvE>V}A~|#BNz6uTGcZ$%PtHY)>1Q$6^4>ksy!MIl4C@}!dM~4nE#y!!NOiV- zp(nGmNr$t5)6L@ZX?OYWBZLuMd4^?!+TV54c+1Z-aW0NzV1otbG;EvWlpeupE*dyy z3%*D)a;0*c#7+e)F_+l2YTURe#@h2hgv+%gnP=}Uam$17P=Zq?c4F0nmZU5_+}VoR zSh!Z6%sYbq@vVH5N!iE!emSSs@;(mDOKLs^5s2){E1aGQ;Qkk`)DL0{J_(@MgOmT~ zLEFEvUX7PINWD|AOkz1@%9m7(-y+o90RW7qjK(7QgnZ?H0GTp{e!*dYS##CTHd4;o zm0y?yrOsZDl$Ev4KRHzZnL&~pKYV9+|b{g=+rLYoh*!WgJ35i~4}Tp#ZCYke4H3W{|=&bS*IBFb}tTqNa;6^R`{K zUq9#ee?{C8EyfG#j}3ZOn>0UoMV>+!G#Tz={FFI#G&Bmd4T^}kk>E|-|DF)m zGFrrG0r;Ki3DQvW1lMk5-|!$RFb zGA*CJ`p~<7fxPy1MNA$BeD`&BUm1mD0sW2Zw_s07M&XNhTnUiH^C%u3@Z(h<#Ny?7 z0WkttD8gaA(Zv49g|+Syr3A1{D6*&&pRg$4@Ruk71XB}i7dbkOBG}uz{kqll%0hQF zSlR0Lv{78jO|Z5H%*bc3usu|Dm#>PjXx#;GrF1lQxz;_ zd1&abRXA=0bWK3rVKv}eD0wSG?#$G<>ruMrPQvj^K%)Vtd-H1bD}a!1!S=Z~eb&yn zgP=vUnj7n6cCmW#=a@vpLkVLPux*(XSexZtIq9glHZH^QFHl81nSX!aFmkho3>rxN z8&Ty#gbn=H$LqAB(O-Y53O4wY?uc>3g0WF3HdrSq-Ljf<+CS>zn>fIx?W}B?>I=JW z`Yj=6cq80r7E_YgDFeh+lAudx(rK< zAP^V2wcY@p*uMdF5#Y*lpiGftrE94?4)`FqaZ2d**CtPbO@+dwcbAdyn^Lw=p z*KW?3oV=m1MhSd1W$F;)Oai__sXdzZZSi_aVd}&JlgyAdwiI3_c;e(*--ny`89aRS~Samn~0;`%Wj*KryM2Nu1JbC`_q1Znq zG~$J??qetEx>CK|4upzJOWTj-N9~_S)7SWz=AR_LlM+$glhSD;KWtW4rr-IF%?Iykr{#~tm=R7(lMo0WZtxll>a zZMX=XrepJ-+^1i)YIcv`)DcP#Omp?~DOMAw_9pN%`dmD_hz8J@AO?PhqMxh@5DbNP zSa%l8i&|F~ENC_&)@`n(LzF*}Kf_NNwHapb|P-Ycwtg7&! zjPG;yg>*;U%Bu7H`MVr3FK^d*G}YcVqR{X%AEXZ+^M;ldNh*068I5uB=)#GT;b|*W z`B(vh`|0cE$J=>%&x$FCF_Xg%8|pW9Wo{B+H0fO7gr)t;K)~!%;Nk|xvJ$|>MLXR6 z&_=uc?TxUH79Uq;IKCT;sITnjK1H80o`$ox<(**f&GN^5?W%MJ)D_qXU##teVOtl3GKKLjYK%Sh(a&80g_$Ohg5U28Pw1-BM&QyK?;;_ytitr;twMlIubzQI zeYY01q2N7_5l_Y=$*I@*E^Pmx!+sG!f?9Dn(IfQep>uVJuEc0T8++`Rt zl5>mA2M`EnTo9M)TSc_BZuk*fEg^?!fkd3+qcm4yfI?S`IpAy(CUTaN!)~T7YDFNM zn|V7LerM=6atH3OWh4E5o}Cr_hJ5IGzac4i2D-bN9AE;!m;yF1=p;1yd!bD|g$0Sm z3Zb8xu76;o=33skX=4A7D*Jo4!LujjH=BVu8QSW1iHdlXfF(Np(eSm9e3Sn8t|)Ff zfRxkYqV8h7wk2KB+m2s5i)b=UtsmO85<+z$q;Ijv3&q{y_)Y9l&7h2K--bdXk!1;K z!^7SSu#J#J*6)`hO0+L*-Dq+1N!b?ny8%RCq zrlRsRj#U1Gxli?hqUJ&tS1&Tfm6cVH4t-%9bY{-eK+qn+L2;GjSmH;>SDSO{ZVu$hO*2DrV7 zRnioUAf~CjNTIlEYgs@TaCuw!0>*hMb`z>%UN3p$U*vt2&(i%*{g1+qXWZWsaw15( zJAFfepXJ#Wv`+&~my5KO>tql}ZH{*S%<-TFw-%~=m$AyvQAenow^u{i= z1W{jTpm2bQ5D7Eg(R_jr?WbLq&2GfKNM#T@**KssQa7<&-DBm%n&yBXzKZT2F5lk2 z=HVW8Gg0{OeBSkOF#a9P@yHVLyUf4hF;GSdsFVfa^^T8XiR(uvrZ@`Hkpnt$bBO1T zQHP)Z)SXoi?$n;-FefHE$hZB2GCfKT&>N#I#1u!#8Y(O2eCK-;^}yG({^~E4G#f8L z5s=$bw>!53GBxA-7?AR!ox2H>j*qv82#3A|I91OZvmK4|oNF1`^b6%jMZF^Tj^1Z&l* zIkZ%iDTz`Hfd+XeGHkKfhV}0*Lz&T!hO&|z=#E^a&4ck-ZKlT z7a1`!kuX`kd)Yn^Ri_Wqesq6?c0@J_u?8q@)XhQGw*l2Ktm)gvCicLCHp{|FKb@*D zQ7Gwre}{}Vs_0{>umj(Z%9~tb!*()rQju>Fmi*>e#@Ce_-*w9I*+Xw5Q7ij z^_Pl%K5bz0cLXxx2yqfH|1ycxKHi#;gX^vtC&A6ef0kqrZDb4buVI=fXdNJwZ%Xy9 zUVpu`x8a^^`L$Uxu!(%oeM7ry0de!$rPftWP!<5hj@BgMaTs{<*$iS5?c?rS;f z8}=+V2|qX8ykC$+|6Foa(OkYD*0rM&r@nB!kG2xDd~i|! z>EN92U~t9HHGvvB*CNwe=jCP!gk0G;j1(RgyCdD-#6`IHhTHgh?dK%H1PWSzG)( zj~#wAu<5(WT}a@r{b(+l9gHh+!E?pzF)$7n@w%$ z74Sem8-AH5iG2E7TsG9c5nK`YxOc6pbnR1OqCaP7tn{#S7 zR)gj78bZMcE|MTMEw$BHr_aDJDA$bjUzvG+G#cSP^Ih;Cw-2RFje%Za`*P%c056>u zG4{o!+TWViuWfw%c(wfNh{PrI{o?h_V0O7p$H{7^%pukrjush*#t%joO|F!Aywnxf z=Vhs?L#zIiY4z#xG zuqgt_Vj8mqqH8{|=Bi@*L&mc3en~7#@7v3uyDuHJ_~>>v@D1loG7r{G3--VZk^C1A z?>$494y^q&x=mSN#yZK1=`-rx@sSjP9vwo?K4P2RItsxc^cT`G4Npm^fDJi%aBk78 zA)oV3lO%Odn&xDl*vKNr;JsVKHIa-sPlcV$>a2d^qer2t#0;tEiZg%SA z455te{d12Rj}EOKqE0h25z*Z{{f7ZsU@Fz@qe`sPNV1hx7Qu#SpD?Gmp^Ed<)rZ4& z@^4mbBB1W*KgQ*Y3;XS9uE9S={n9hevxO?!H-66Ve1t)0xZ%a6pi;C!qi$@ZiumsN z(=VHnCmaxK%jiU{STS%g|9SVQlL`iO-AJckeGe9IJ?^%j=05BWjCqZIuGpyCLu_BsD1 zUc2i{IRPjVlJkuM@Xnt+jXMsY;6C}R&L_em;v9eK6pp5u1HXfUhpc^BnL2Ik!IAEU z9}L6+>f2p{?_&0w;Wq<_b%E5_&)IC9mZ5*4Ah^L z^8QJh671%a}w^!}6WZRx4}zz^ue|D(y@ z{|-P+ngP6|3K&2&X@N>25XIq9RU^f5YbPJ@+=)~3GCxB_C5r%G3RzwPiNmE#CgMKu zq^E`JaR4wOf3ExrlNtSs-+-MTFe|-Ui?iWP5rIH~lYX*NE>^_#QSjFr=fRp8!vKlk@}s;{gZ&;QA$oTf%=e`}qtN%ky?=almcjXu+Q zdtry<(Ps(eA)o0j7s5n$HXrliFabj4s1?p<94}NfXtWEIrdZ=AyBH)yWKPf=*21|TNlKCuV!9u-`n!3o$7|-&4 zgswJAh@nL7r+R=h**_^l4NL8>p$y8&Zd|0>e9!>S4;7v5TKbwHFLzxg@E4+t>-td! z3X;D6ZZe2|mf}$<^)EmYBB-XiGA=&5A4~5BjwlJ)RtjoTRxX2JQX5BfXs`z6_n4Tv zSo+3bt}~~`ZI0;)aGm-hY_k}Lp7e5ez|xQc%v$?}+7K9W4R@ls}<|61qW{DY{? zeK3WuUPz+xtZc@J%L(>|ZiiJz)i%YYQ6JM@aVJ*)7YzC1JD<9*d7-rTy8|tNvj9ME zaB_8e+R1y-zN)n-;%^_9LygAuW@AbP*9^@eg+;tJi=17%=6Equtg9GN8ZWCONQdI- zJ3KvEEwZl5!-FC%C#A(aCYL#kGI04nQQ=8a=ItHYonHHQMqA>P$NBnQmX~r)m1`d@ zoZ$Mi*+S^{2l>gz5Arg(LEk!&R`I-C5f=&94Iyudci+liIWY4T14kNwheE7p4=+Xx$e~ z$H$s#o=Ql;SuTjFKNh^f>i$ckW-=PFcJ)+axaVJ{`%@JAf&kR%-up?*c!n)5XfC6f zI2dvMJbKajJ}(cCHDTU+rd_7-U3fxjRh0-<@Inb?ZBRVXO)Gj2N$wYtJ|)vBhOySY zLxSps)l(oBSjtt+VjtrM65a^cLjAB7_CU2(=z6$|jeO07QUZwI{YL?ki};EwN5zue z0JY)65uyP~$=;%4YfTc-ZJ=)L?FIUzlkY&CAFu%;)~pZw?vj~SV&eP8EsoeuY7VH1 z@|lFwz&QNk1u}Q{o*$U(VJB>->l%=U(@n7)%&3wF9=VjJ*{JtnM zJRH2>TnfAh>8l(U1wXQF^UT9lpC9x|UC4Fup!F2*0ITR?KOx$V{;bzPlaan#xC4Jp z01>-_ouj5(-5uItgVzUQcDjM;!=>P0G+%93-vHU2hCW_R3fc zvP})Hj1xXB?W_EC>ofnHLH2zQ7PrqE`DI@V7#%Pc1^UXSrGHU@_f4Bqq}m+|lD~w3 z-Y7kVC}lz9ALkl6O4hm;hnu3M6wN(FU6%AWDV||_9U4_}Y(6PCZJp^^$EBsLae_Pq zZ;kJL8liUE%QM5lV``1Wa@Lv3Q!Ab+uCYfSIY*?_w62U(U!V8CQnU;|*c76p{dYkt zZbvVAb~;vdZOBz(_+Djz?4}l)4ndyJBEKffzh3x|$xH{is zxqmc7HX5|ib1Nrx;NKKsUu0B)cCrQWH|ZE72X%5Sr(~9W>+J-R_2S`| zZSER7Z^-RGV?n1JhGpgzuH!;`(@xfN`RMH5NCj?^yI-N+qBrj$XYbRmh<2%tEzoru z+iUJNkd5uA%7NTNDUn;j6vuaZj>RZE8}Dsp136XNw|^cb-E3B!qsQs9Yc1tGtH=$- zRwJgTOF5h8;*C*qTZdM?QV&PjpigVz4{3kp!|`LAnca)eUxPZgEVC<-&vU5lAg8Yn zqzV7vGSoF58@D>pZR%B?etT|KPwYef)pyf$0XmOM}{mWIU>Db|&tT1MST5 zoC?0QHealHX&LMh;|Mb>JNSTkNpJBjNZbxE9ux!c8lsz_00T-+S5C&V@{Fz&aZXJO z(13pQYdvreju}@iwcU$zlU#?{(|N$A`+c%9CmG&i>(r>vKMaxpjx?(*62O|5Sr$=E zE@vS$PW5diJiT;2UReoUc4t>MWU$U>_KnXd^8Q`sTm123MyPXrA2+S*N>%=j)(KS3 z!xt-P&^X|MNxv}Mt#Xu3H2ZPuEa9ZCr!OI{QT-R__D=6wUQ}`SJuVzx_T^93>+pqTc1}iZAVcoN<{bD)J(?E1xQCDnRuf@bMzp?Zo;mhg z^n1`0Arl+IF!cWfY+K{39=AcF7|UArPn8~(XzP{#ud4O_OX3$)1ro}@3jrWML-7zI z-MS^J#hQ@kz^~y|7q;s`g6tYCs1n5P12`nKdM+|T4XJ`YR1G|E6nFkz1Fl>Hs)Fn9 zVpd^dVtc}J(kR(yCznPR6y{M%*!>UEO(hxaRvFg&k9PwTsA=dQEC#G@ZW>w=i~_Iz zJ#(7s$pAXo?d>CJ>GTa)$bjRShINaz@tulKZE1@%2PnJ9h&}m%0!oEE*fo-;ayI%> zOk3IwP?v0`)wMdzTm>rVH+(34+cv(nol9euyBD;;{Z+Qsx1iC<727<)3Rtw3calzX z$H2X7NX}zt?s7nPq~gfCug$uLv*Fl05Q)Fi7xn$8Vt;%802=Q|L&1l0rX_|*LN|hQi%b46C2f;#l)NsS*qeAY z{+nM){w@HHUmb5LNT-$iW&%w6Qy3yE2<|>#*F@uEnKH%@unoKm@OPkaT^Ab_37)fl zcNy7nhXT+3K{dK{*l+YR$rhX}ak{j_8FlWY4r6hSHswA<0n^0k=`&FgB^wphXuK!Z zmY*blu`(Bv!$KiDJuIa9pRSICa@5wu#w5x2XIn7u+Ys#F`lhU)Mji|fRK<5wV3Gmd zuYm6&SKRP1%7Rk<6Bu1Yr@Jq-;FGoY8)L?#Iw$gWMr^pf+^qD6)e<-U>AMmpioO7{ z-Q@B3A&P7yZ4GwnBUOZk#h3fem?*Dt;%(s#B7L4U$6)08JIaI5X%^)^)6o6q_F{G) zh>%`TU~L8~?_uo^HS5#w?HI~8)e1Z9#-v!>UfM;0C_O=R2OmOt_vy&4`;=SA^Cxs4 zsu#cS2r&HkgvoQ_rCnh;E+A134#ozOoQ>~>_eU_h%3oYRRBw1z%aw^slu=%=c%@#H z{p&}yvGUQuG}5gz^w{w{Jqv#gIr=VHWTyI|d%&Bp&wP(_C6idCQWM)+ebM^-Ml`G{ zym<_N0c5gKH&Qzuy9lV+9W-f`yCp zCI`?UC?GW=NQWpzkP-w%rGu0}Xo^S`5Rf8W0fEpI2)(F?Gy&-)R1pIK455S?nElDQ z_s*Gh*SfRj&iys>gDh6EzI=Os`z_CY-{;xM+$?c%1e*rekzEi8z(~d}8}=~19gnn_ z^A#WS^MoL+u8wxKIz8VQO${$s6cWQfwsBL6;^^>;;Kmnk=B!kD?pBZ9fPR)?zTNTJ z$UvlC6PA+^2l)U7T)#Fad1J0R_Zq-2n}|I*(I>3|K5m!9__8NSM%DJ*oE-^qbzrGC zSCeufqffHiwl6VHx7`M#vRIEix{vN zTyuZG9E7ot(rU5315+UV31fZ4@%|3*^yzsJo$??zNk7p#69$ljx`0*H!1a#6)_fuq zH)<+G46*ZOj?DAx-9mY7RKwwI%ZL7*26@`q;;T1Ja@i0H-hv zxgqMoyV)>yOX_By^}_R>FKEDDi*NyF(F9y(x{xkPEyQ1vMl>RPR>j@tW-LQh-*63N z;FGp}h7M82oE+cXlQ>KUFa}Cf`lWTQlkVQHNQy+R@hCI0QP9D&I7W@Osz$1~8J-Ei4`vBH#_%$nmjP{LzIJWxENU?vhC^5QJr z94x04-7^2VG%ba9RL1K~{JIO1q>JuH@`}J|^IbFe-6*4z(HgPNqw+3ZHV_!i9v{=2 zEojzu_g#Q-pGg2WpjLCQPk@Kre(>raI-Yi*V#Xz);8>zNlDKdYNkvl)6#~=w5Q~GkBNdJR%LPO;+{7AO?oZN*wy?`6?;R20eyvHF^*ApvAWnqb#x3uk-? zcYRX;?-UOThDGdSrLG7I`?P%$o64^ZQxOw_yz;3HbIc@lo~_>9(~@n3SX*!Gn%0{# zg}+;~Kv=22SN&{oaWf5Teek<|leg6GHZToBx|v8Gzj8L0^GkV4jFczKn{YnBUJy4? z+9=U!x;va>OQRz>RL$zs8gtsa@|xQH6#$LI%=|WH?@$7@e0f>Fn|f^xr4((df@wVhKS#Dsq*uL zPg-(5{?Ci@)=fXnXe1uDK*j`auL`{E%@MLqdX_0M1rSBdv$FB!%&IcF+0?%g0euazdz;0MLg@&)bJt6(Ef=*$ws7Lwyg@(() zH~W?qm6-7QHlJkY;uJ3U&u;2)bFNhjEdBNYkEo@a01rblYO_cMw!s0;%|!lY0z!EF z_fRY4qmew_jU2UC4ms$`O7c>>FunBS4R!#0P^KclKnj2$52|q45)M_iLx?DR-F~Tw zjF#It@t!a#x<^E|`whT&9|YnGAM52&FYf8P;3{= zS3G)rih)?lFe&yJHVJXtm@anXVOySK8CZKde^5+t_aEvtz>|D4oJQQAPo@3B0o>{a zRld3{_q-%&uT)Sw7cVZn-4($b^sdlB%7s;1!~Qh26}$D&Q{@|8 zsv5)mV8SuL7k!x+2Q878QAY{n=q(_b8qotw66e&wIrc2yPkf4*0ju>B%Q$ zzPA;7d56MXCNaWSE6TZtehCr|-4G9gqgvXA(G#P2D zRktt6@Hv<-QYMrhNI$trIUQX(Rihvf+JQ9T~^J%^SerXPOUvd)g-!8RFA4ua_tZdZBUi6d%$k`qkt0P+v=OoL=fgJ+;|q z@3HV@5?Ax?oFEJ8IK|;PvkYtf@*S_%ovx_GL8=L=p*!`hEMUFK!sU$4!Kt-a^PQAr zx6Q?`zF99U)nfU3HnUH$O!!tTn-c77=rp}sm~!~|LW9>$pi#QysYCt`{*8Nfa$&C( zdCFOY-4UooI}uf7eJhJ}6MO_BL4((P6_@T{^o#R#cFUsVTMg;vdHRnmj^Qm`gKLJq z2t7DD%tpXeQf?Dc!K9I=nwNV@c+RcWCpwoWbe8ua1Fow|SN8uzUQ1Uq9eD9GfEBcaNUNOI2oX^{ zmZC@dIwc>;Uq)Zec$(P=Z+XAVg~+Pb=9j<{9e-p>@3_TriZ$TBB&){qXOE&iRl@H3 zr^oQx+$uF5sW1CzG~@J=l0g44TQmbqa={%)K+P)%-avZr)#%E#R*V653zTAtsrEHk z+PT0)D5N^rD38#LSIq|2F;Yz&yl5RfQi>Oe zobko)%C+aVkEufitz_;F4WIQftYa!~{z&%a_yl94InvGpU5QraPahXrI-7}vV6>EC8^P=%t zF@8m%zvSLKr>mZ^EyG+>p0(%71h~fSP9fCsyk-`LL#I|>elxBwc;>OO%cGFT40Mem zON=X1JuWSm1Jnv3hjW_Py(797&YvyXVz|h%os;k)V0}3Mr?Y9+kHx-lxM_P*leIOH zlPw0AcMHB^Z%CqB%dBf1EmALMAl0dZHS_t>GNpINZ!C>uNc9(WTHM@ccL7rkSHCKu0{sUmUR1X2V?{FFEwSPLDmqM7;^zwGv#KIq(ng;degT7-m~Ef6^VF`}4kKbSMRi=~uMP~5Re zslF3=aO|&OxG|b&+fdSl>>WMgzfIvb-7=e_^?-Te40%(OCBw9`Yag$?)DQ}Zy(O$! zZVOZAFL)F^>)+aARJ4gnISz|b2h;Y*Jna}hG}Z1@$IX{5;R~6G=QSJuSyXcT5zF;6 zShfpZhJ}bjvK$rX=(O-0`*MQ5EUG)DGkC1=wllzAcOOM#^Y(vi#N#v1&DNAkg7cB#MlE8)gcARV@HB}@{b?)FV}B7LMt4I z=Oc`)hi&py3-uKP3=+iCmek~04Z*Id+HGTw_L`9(+&Q}R^~4dvne-k))(cR+B7+cU zsnb7vcce`Dx=NNkBp@JD8h6{Pt^|cO+R6obH0Apb zpdHAw;E+KJy%*nYhai|+qp?}PpJRzOBS~N8m>TT`LZvL?C(?Yk4_m8%x)Ei5lG$5N zH#5+QAkWFXFB;JI-;0J=V8Cc9<#{d>Xe2|v?Cn&-70?&!I7!XZKi%rDFQ(wXC-Bl; zoJldBHDq7-RkhL~)E+RSznURwu8Qypy<@(Z{jS5^lZ16&vDrAC_j|DxE5Fk1U}UsL zU0kW}AApPY6~UMkETwF{t}KRiO^ZxBhnUAio@^t27=;ERMS8_t#8&mvAPSPBcXvDEmvR;iPtpS3GL+WjFaSFo=VFocO0 zsHr7~WR5XhVMiEsT0fu$sC5s%N166CE`}%G3Sjy$NzjOKPER{0CR8e^6WIsVl7Q=N z>_#?k3V?9!rjX+9nyHJ){yi3QUra$hUZGNnJ_|=@Wo|RbenMdqw~UcIQd|L>_^Nz< z$L(pQA{I0pCp5%@)7_`IG=_o#OkB2ZYb1eYLL!m$y7`{7h=;E z-UUBd*0((XOfM_aS?H4;YMhzA&3IAuLK25?A=Wa{kpy+RAg9sfWGhKH*`87o%ja#xOJcjm+|dtGqqIrK#eVY3?f!gU)YxL+y&jn#&` zUYl25w=L4HOPBM}xeCNwXuq?$buw{4{vhahRgx7~!V=nH)#M?sKHc@J+UrAj z)p5m6GAI#k+e96(7~>CFU3Nezq{8qEI)+($mzTyfoQn_k{sXTtC_!?}|EW0h zzXO2=kK{rbRm4IIn$(SW6G=UDaLY-i{hpm^?foY)hKqcBJyllks2GqS53-s~E3g}Y zP&kChiDZb|onBI(BwDqN$o+ij_Tk}DmC(U|!2YMXp6V2o@o9gvV6_r^6Z#{P5HWqx zylgs=A!Wg}@bLv)@Ld3iKs<^8p0j|_@XodE+VH8MM0y)+m(X9^yG7kZwi3Jiv9^yG z!*J-)OvonbAEpv5d&hGKhCDg~ECX-qkSlD?#@@{ew%|>}op1~LAu7w>H`adei73#8 zs_a}koDD!$@cM|*6xjL~f>esFG{{;(!s7sHKb?j zD~nyFyP1R87wi-VyhJJ#deA>>-jd-_TKb641}eVP{apX%49RI`8>aoi>lJ1$=@d&S zt_@uEp#uHfJ=hd}5zbxb{mIX_dbv~Pk(_eY#oN_|AmszZnYE%NDgZ*XA=?A0K)pj| zO!kfLsT%NESj<|rvAYYN-`7??Ibq;|F%XFcS`~U+27SiOpQ!_D$=-45$vfRiryf#& zpbT4{;rGV7EUr)|UK!^@@5abuO8%x3UC)a^_q)k6DXs^)w^KN=l4s)8O${i!h`nm! z_FRp?*3}Lt$KiVA2o5>P8G`Gy|Atl^dq6vF0$fX;o9Pj81u zVb1Cm^JjmeXq|0cjjIdvC^q*j8mf%kQMKxyOTFf*eQbsskg3}Jbsy3T@mzEIsakUF zC@n4p;ll2>S&=a02%?|J0q<}HeQl-=4HYE=fzI~}H@gBa-VRM!6!iESk(7RD$Wuy; zzgahqsw@2kko6tCvyh=7Zt%r|JjV+AiC5Kd3)w|+_i`D~T_QE8+gPNKYTnwAdPTfe zvz){P?tk0rs1q3(zUR+9-+wVrxo|u_?>)k_Go0C1_oPh$&(DRae$HcS8w~T2rAqQLNHzN8C!PkXPk-;RX)=NZ zcapx~xT?+J^Yhp|uxK0;br}XMNpB><{P%>STfB?y@G@^@K8Nmo{ixPWl-W(n_wLw- zvkCss6B-)&{{VMqeD*3i>*W$WI=%cFTi)r%$i6I5wioohI`CH(74V`QJt6&Acu#;j zEu*wS`5qrZ)>5Rg!UFGqpDi=hp~s8Nm*);~+TJ$qzNz;s*f>P3>Ll%n&-4Bsm+u{- zPE{tWD~$kn4#HH^yIOE4yLVdz7g`#E{+brg%iM8V#4+CDa09fXR8T)$yDixEh4e>1 zeXoF)H>!fk*zrR>bgY)N>E0iE6b59Pmv}0kamWdRr(rK`8(p5uS-&%|&8sKU3qnw2_86KBj?A}EX(eQYZ`R= znd)Y=;e)Yegeq84~saK%V9!y>Vex8Li^~G z(JvSzSM{D?tg_e}k)6#lF5=$hW4;c-duNKEC4Lw${vcxBEaLu3(R$GA(JySbW#eB2 zz1s9z{sx6Sri@N%H=U)ONau0z_u39%6jWhd}{{$ zQ~!#)Be?;U%M za@zobX74cIz32$j($KU? zeCjvW#TrA%1gg;)5YBH!yuI9{Ei*4Wt&!OIH;urr=ARRA4r^&5%E98(7Zx|VqljMx zw7Z-3wq%UUf+UgZNs=| zy>4FJS>CV$Y%cp9n13Gd^fbw(&PC~O8b|f>DU}<7qGItNZZNW44*1kAXO+VKMI%+a z_4D3RLfUEoHwZtVxhS2)c4SFqPb;2-OW1qM`ubqW;WJ8(m*(d-)B!prnc;Q^O48Sq zb1T^oCW-^+-$#ZKR-Y9nLw6I-u?egD;8jmel)H>GB(8_sDrlV*3t0V&0^!M#O1hOu z)~JhUE|RKO3g)Yq`02hsNd^Eyi1;NK1%bP_=n2C*6cGO^7`-6viaDuJo2~qowPI&g zFA(LxJq|}yf_NYHc1D5Pr(SooW^Q^4k_`;DGZR;Cd^K99X#~q5W44vl_UmC* zEN1~g`!^H0CWY)sm1>6d9stk%(HsPVf{0K1y3nPkP%4LFJ0BkirZ@}4YCGaEys`*H zSscjLCH}e~PxA4B)OVx^u);2#!MxA^It9TbkVQeiZ(kz-1?5v=xHdbva#KD&5U&io zJEfpxbJA|D+Oza@7*3OTR}&=T);Fp%gc|h7nhAh)VO>BMJ8sEP*$5!#4G^I$X^o@x zx?VArfFx6ZF`W=|gB3B2RS#YSx64QD30GNfGtCf|y@gNO;gqoxWLNMlF*;u6A~ZDDg|8o|mAFep*;b58gE@eZHlO8e zI9$4*)=8B}>p;p3te2~8^~J=o(#i(P1qVO7zw!{|HtdK?azr|5+y=0qfjpxP6J9(q znlCGc63C0q>#1~Z9&&Ej%#;*W$#QGX1W2xrJf*=(ALo9UhUQ0yCtcWJ#iTo(N2DDW z$ibqd!U;6?I2tT}0Z5e#4%>0#V!b+L-kaN|g`L@{uZ7r;Mql)qZy39NK5^G)U02i{ zIyj&|ydL8mUu*)l%P2Kqqyx_mRSwo=gH_1WD;^)_LP-mqDpzeJaJE4kg#sv$Fx2~x z;wDLF&5K?xB;-hqTjNw4--P|ZLKX(_kq9uDYkTIT>XQ=FlvLQ*G-{Bs^8-lB!oIvc zRb~3Wy>yAv0yB8SlF0jeXXsPZ`RpGMjppxt6#eGl?B{I7-eWL;VrOa(eQ)-qF0WUN zSaX1RinW6#x8}i8rVS|NVuG9$j;*Y3qvAeI>^dk1C2X)ZC-K1lvHHHr7B-=L+K8$Q!jM9({DN| z9QBh*K{oc`*D-NSiLZX09|WwLu1MyHGu1$|PDGHutn0``}Ws($+-I|;77!cW)t zi+jK``;Y47|C{Fq{qwEq|KIK3dT`VKdeWhiO{8{=IklSLU#Kpy%hc5{s2bAQjQjXk61(DY|+);6DIM CVUrX9 diff --git a/icons/mob/body_accessory.dmi b/icons/mob/body_accessory.dmi index facdd260fb3a60f51a6430248172263d7bfd0fd9..c45bd957a1a82b2e717f4d9f98b53cb35281365e 100644 GIT binary patch literal 17768 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 literal 57159 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 literal 2086 zcmV+>2-)|EP)0000#P)t-sz`(#8 z8yhVxEhZ)=|H}Xyj z0I;yIz`($#milb~0004WQchCV=-0C=2@(mM*n zFboFZ**=9y_R`ndr6iOL%@u;cPGp)yL3Ueu`{uC~inU4bS>{K|&9%H$wJGkEemM@F zMsqRe-CnD=w-M*&bkqu+?=Wsnh!EXeW*w6sn>N$RdJfAoty+e`E%o8o4M~R%tYF;A z0s>D`Ec|+#nZ|tsEKw~{6flI*3Rv&Dq@sC+J$xE`hDQ>!CUDiDPoXbo$uZhHU!f4!jD-Fr9A z8Cya`J#U_VXofIwL{u2CX$T?YRfx#eMW`Ba&QT#9aXx;ikdC~$H?|=_I>p>O1=0}L zzPHo|Ai~QSA%qY@2qDkM`}nNpy>1up;@@HY+xP@9PXkJ@fd1lxZVk~~vwxemZGklw z&ifxuPmt<&K?S^E1vdAei?~$6f(|P8PY5A|5JCtcMX)9ot(nIa_I>*|;$tM>1nKv| zu*3Xo_n(3ryq-dW2udJnzzdYniodDef3m{^6vT^v(~^jLiv{rD5aRfo_5K&rNO}K$ zMFE|94CkNY0>b#4>iy3tj3%x(@;QIp#Buyh?f%zwl3wlUqrn@Uq;Zw0-M>x13Qq;h za!|Q{LI@#*5JCtcgb+dqA%qY@PQm8!H<|uRvw8eYrvK7x9)FYRzc{;(|0&JZ@i*E2 zOS5(SO|Jj)Y#o1->%Tl($KP!2|0FC+%&nz#cHU!Ii3y$4|Q>dBA= zF_ykNF%N2Ny5mQE$U`^%_|2*5t`7oTyG=?`EB)Vcbp0mfAcPP?2qAI2q9$<7qlCN5X{?sd3WI**@M1l zdM~K!c2{j1ApARRpC`3{J&z+OR5bSk2$ad` z1u($ZK!e(!0iV$Q-%yo|J)<0DkP1qTS*P6et)57w4jUx``G8So1zdp1gjQZQ%47BUU>h-xlAXv{CcYT&0Cq^?1)mHx*Hdoo|h_FC&7yYd!Ch#G+ z2JXfFIscG5W^@%%t%$fOXipIQA}eKG|SBT1S#-S&E#f4{CD;@CdSUt0pf`>}O}&#Yp; zLh2!2Gxcuv0AjOoZn^&uiJLKDbd4|Wo?VZr)m z_+NxJLnvsm;Hgk1C)k31v8;r=Q=mItx1>aO9jcgk`4(T9O<6HR`tW|Pz4N8%Ciytw zPKjR%gFc}?Uwb?_qdtTXLI^3!n(?HiZAkwZgLS*N=Z$FpY1Zrw1cR{;Es)5%9hguu zBaf9X2qAu;_9z3Y{;D9{}SH-3k#ZwY>Od;wMKSvd)A7bU*^fxT^Btx{%DYRv8;`%WqIjBPY;D5EC zVQIn7wV7;F6I#weLO=S;<){LUO}Mupt%8$&Q66m)T4DzN5)lC}Bj^IPD$$DVhfW#7Ob8)_5JCt!Ja{~$ zeEd!A0Xjq9gK_Ed@i*B2=7eDY!42i(Z?OLgfB`Zuh`*^lKqsUMj{R~4Ul4x-{ntQ9 z(J^DcyrSp@@i)+a4NSo?URiSWg7_QgzXn1opZ8h;i^ty>{wqN65iA~mWB9KCi3JRL z0ZYfT5}I!W~^Tt5B=`>%lc z2x`{y@i*9i4fGdqgkKPU1N~P443K$2{7vBioqUQfm$Jr#O8X~-5JJwwzfdSFwwQ57 Q5&!@I07*qoM6N<$f;e~Y$^ZZW diff --git a/icons/mob/human_races/r_def_tajaran.dmi b/icons/mob/human_races/r_def_tajaran.dmi index e62f4228fc61c96a28683b52f9d44f378689994f..1e7da69c495e09f7d3acd84a3c38d74a42ec00d5 100644 GIT binary patch literal 4592 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 GVfJo(~q7DF{F`*6s7aJ8J z=l|M(I<*Jr8F?w%ytVRlaQAX>a|Hmu?D#(t#NAAU*ef&|VISLeoep%^%7ugtWj}?6 zX7+q6_!a>FE8@+$K2hTzcxt-z)KXqvWqwYS;Yeb)Bf7 zT#fE)uW-wW%A_vL*i%6+x=xF&o8!I6ic?BLtA(zU@c^P8ZDK*e&rxFnMs6(?T@GVX zL3Q9hWlC}$Y}gx8e(djW9)F4ca59qb4L<7zv47|@_@*&R5u6!vo6YSc$mJwdBiYk+8wAmVB$m_x3 z*qQoBT$TDP{fR?vyq6R%nZk;y6d%1HW(BHal?KD**70*LVm{w>S>(|TV)DJ*JJ772 zegOY!ZQB}N*b-Y8>|AfU9QJEx#A~~@{JY>g(zfh-6nvSpzPGc(3;@+~r1}65iej8e z766W4*9BkwfS6y39h}RB0zh9+N&CU-&gE^QL~kr9CN7{=cO`&mHzIq7df+dwG+6AI z{$_g0aKY+33nm&mU@F%AzJ#-N`$d2#qQ;LZsejDx9ebr|zCf`B0GJ(bM=Hya*JV&D zKN%ayh16ZO6UhgC(z-ga?0QHDSSW_e?=?IK7GsymlAKjH3daVh$qTYcG8-P=nvgO9 zp(6JPaY+FH9TNah0RV;PAJq3TSrl4*PFc{!?G)bBlN{Lf#AMtVba+vE5v%>_RW3PR z)W)77f>X)r(Z(JuM&$-tCK2RbWA=(gWhZjmqHJeNATr zU+kc?qEA#Rmdd??HL<%^}c$CBZe_E9@*UVHSpJV^BM}Fb^f+G(442tIjnO9iXlaSlys{-R~B#FZc2Bu z3?fL4T5`FK?C1|i(EUiP`| zM*2M-C zZ$XpjJrrh*mVv`|i1ve08k~oYL4^Ivf@8P~tuqWicw_c`+4ln<$#fs7d&_QuK?3q# zn?ZedhPeXl@{@}%x;D{wtV|@7l-E-Nq%pWx@HKkO+i1Se^JWOZB6`hE~foasYCXqmKczIEEAW& zl9O3|2M1 zOK?NM3+8M3E=BquEKG`=Tu;zL6xLGQpaxemeC6}}6$$AvNRIx<`gukQQF+Q+&^h`S z+OQzOPAMIPQ**yxXPcpHid<(Kgme;D9dvD*Z8uK&^Wy0HT(k?Ek(!ce{s)n|(&Md} zAJ`JBgmCP2wD&@1GIs0sGv<`uki8e7mCL;v_5dZR_+ezTFNmBP4GkcS)hY*gutD??(FR9g}6kHE3@J$88Kx|OAR!Nj1*XD zrXepJ(?Mr`)Qu9EYOOF-PX9|t?pMASlKVXW|EY)nQJw#*M*b(pB#SjmC-wJO@OePO zo#zIh_&7|L(Ubtd9N^sfuDPO(dV?*^0XS`Uo*_~UEfkmyD*>S@Es5e@LC|#t{z0H6 zg6?IZ%qZmtO^hVI_ydl+-EOWmpbGyh-`S<>6Vf{3 z#rO-Ketw5$fx}RCHSLmCn9SXIqyihfdm`e@4?l$-!zcure?-l}>M-m=u5B zW4AzQEv;fH9r!EV|4t+m$x;cKaihL8;ZI9BYWhZv$q-Uvi7w4M&D{NlfVio^B~b>7 zW9btu;&U`6*(q(on7JE9U)5QfAGK*#t&oX`#2%HZR2JDa&|bfcJGOx�>LfPvH}W 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

fabuum*CGz{b~N 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 V=ZQ%M_zym$^_Q+%naZQE{{U)u+jal| diff --git a/icons/mob/human_races/r_lizard.dmi b/icons/mob/human_races/r_lizard.dmi index d60ae4979df61a1d98e877c0383d48d7463c7d7e..457e50b204e9dbdc428490083d891be8fab798c5 100644 GIT binary patch literal 1900 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 diff --git a/icons/mob/human_races/r_vulpkanin.dmi b/icons/mob/human_races/r_vulpkanin.dmi index 3bcdb3539b797a031a85ad944a5ef075dab476a7..0f1b6956c1061d9da52cf645442f47de3e57d77c 100644 GIT binary patch literal 4848 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 delta 1823 zcmV+)2jKYdCF~E78DIkd001QMTZ8}r06$PnR7JqRzyJUMJUl!pDJdHp8yJ27Qc_YA z6B9>AMn+a0d!JM zQvg8b*k+L-%zp-vNkl0e74#5QTSuX!5MvP5b}<>jT}KG-sI^+|dQ~e%rLC zfiQ4`h1CNg(GO1mYkUC5j({KzWEC9D3Jdk(o2_Q$pIw~lW{_s7gR#4>~**UH~IzL^-_JD2{F zD(K|p1b@L^qxo;Pj&CNpV-ivYLrUidnN&dF1(N+YTgNv;6s8IWeiWVR|K@1;^_ci; zAon&kkrPPq-)tS<4uz?U^Zt*oCOAJlCJyuOUuvJ?zu7vzohiQHkD)+Q3-VbgObsNV zfr|fT>-cs^>7e%(u*Zysai zN41Cofm&VAoSUo-M6y8h5N$k0TirfX!t2)iGfde=R@qY0#OKV zaJ-2rEw}mo@96zJGz^1}U%Wv63_yk5~(AhRiBG=+FWc&A}uM zRDoKb%mV-b0000009a1RW6PEW8O?vweEjL=s~ADL@o4wov>re0|KmF8wqfUlH9fQc zruF#Kvoc-B=b)Gc43}{_Jj$Dk$0?to|Eo{BV!YzIVeMKlU*Hmv7)@@ZDd} z_i?NL#u`7|rlxDroiJtP$Uv;|tF$PA38Bkv&R%l=qKV z{Ws?LVLD4G<^)UpIfF6=$Q88sZ`zMQmi+Bgd~#b^nbVzdqzUSJi(b$FC1fBS=O6jU2x|)%`be{Q6Y)-^lUn zQ{8{lyg=3cH#DsaRNH^k`WRH-f1|{&PHq2<8ozzuzX1RM001}%{{zQeD*EZ_-n#$* N002ovPDHLkV1l(SbgBRV diff --git a/nano/templates/appearance_changer.tmpl b/nano/templates/appearance_changer.tmpl index f63879aaf7e..886076f21d2 100644 --- a/nano/templates/appearance_changer.tmpl +++ b/nano/templates/appearance_changer.tmpl @@ -23,7 +23,7 @@ {{/if}} -{{if data.change_eye_color || data.change_skin_tone || data.change_skin_color || data.change_head_accessory_color || data.change_hair_color || data.change_facial_hair_color || data.change_head_marking_color || data.change_body_marking_color || data.change_tail_marking_color}} +{{if data.change_eye_color || data.change_skin_tone || data.change_skin_color || data.change_head_accessory_color || data.change_hair_color || data.change_facial_hair_color || data.change_marking_color}}
Colors: @@ -43,24 +43,12 @@ {{/if}} {{if data.change_hair_color}} {{:helper.link('Change hair color', null, { 'hair_color' : 1})}} - {{/if}} - {{if data.change_secondary_hair_color}} - {{:helper.link('Change secondary hair color', null, { 'secondary_hair_color' : 1})}} {{/if}} {{if data.change_facial_hair_color}} {{:helper.link('Change facial hair color', null, { 'facial_hair_color' : 1})}} {{/if}} - {{if data.change_secondary_facial_hair_color}} - {{:helper.link('Change secondary facial hair color', null, { 'secondary_facial_hair_color' : 1})}} - {{/if}} - {{if data.change_head_marking_color}} - {{:helper.link('Change head marking color', null, { 'head_marking_color' : 1})}} - {{/if}} - {{if data.change_body_marking_color}} - {{:helper.link('Change body marking color', null, { 'body_marking_color' : 1})}} - {{/if}} - {{if data.change_tail_marking_color}} - {{:helper.link('Change tail marking color', null, { 'tail_marking_color' : 1})}} + {{if data.change_marking_color}} + {{:helper.link('Change marking color', null, { 'marking_color' : 1})}} {{/if}}
@@ -105,40 +93,14 @@ {{/if}} -{{if data.change_head_markings}} +{{if data.change_markings}}
- Head Marking styles: + Marking styles:
- {{for data.head_marking_styles}} - {{:helper.link(value.headmarkingstyle, null, { 'head_marking' : value.headmarkingstyle}, null, data.head_marking_style == value.headmarkingstyle ? 'selected' : null)}} - {{/for}} -
-
-{{/if}} - -{{if data.change_body_markings}} -
-
- Body Marking styles: -
-
- {{for data.body_marking_styles}} - {{:helper.link(value.bodymarkingstyle, null, { 'body_marking' : value.bodymarkingstyle}, null, data.body_marking_style == value.bodymarkingstyle ? 'selected' : null)}} - {{/for}} -
-
-{{/if}} - -{{if data.change_tail_markings}} -
-
- Tail Marking styles: -
-
- {{for data.tail_marking_styles}} - {{:helper.link(value.tailmarkingstyle, null, { 'tail_marking' : value.tailmarkingstyle}, null, data.tail_marking_style == value.tailmarkingstyle ? 'selected' : null)}} + {{for data.marking_styles}} + {{:helper.link(value.markingstyle, null, { 'marking' : value.markingstyle}, null, data.marking_style == value.markingstyle ? 'selected' : null)}} {{/for}}
@@ -156,16 +118,3 @@ {{/if}} - -{{if data.change_alt_head}} -
-
- Alternate Heads: -
-
- {{for data.alt_head_styles}} - {{:helper.link(value.altheadstyle, null, { 'alt_head' : value.altheadstyle}, null, data.alt_head_style == value.altheadstyle ? 'selected' : null)}} - {{/for}} -
-
-{{/if}}