From 116219bee6b2eb79105c4b1fc185470a088c51f1 Mon Sep 17 00:00:00 2001 From: CHOMPStation2StaffMirrorBot <94713762+CHOMPStation2StaffMirrorBot@users.noreply.github.com> Date: Sat, 8 Feb 2025 15:50:15 -0700 Subject: [PATCH] [MIRROR] Fixes the body designer [WIP] (#10105) Co-authored-by: Cameron Lennox Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com> --- code/__defines/misc.dm | 3 + code/datums/datacore.dm | 3 +- code/game/dna/dna2_helpers.dm | 13 +- .../preference_setup/general/03_body.dm | 3 +- .../client/preference_setup/vore/02_size.dm | 4 - .../living/carbon/human/species/species_vr.dm | 1 - .../new_player/sprite_accessories_beards.dm | 1 + .../new_player/sprite_accessories_extra_ch.dm | 28 +- .../mob/new_player/sprite_accessories_hair.dm | 130 +++- .../sprite_accessories_hair_extra.dm | 514 --------------- .../new_player/sprite_accessories_markings.dm | 26 +- .../mob/new_player/sprite_accessories_tail.dm | 4 +- .../mob/new_player/sprite_accessories_taur.dm | 4 +- .../mob/new_player/sprite_accessories_yw.dm | 20 - code/modules/resleeving/designer.dm | 531 +--------------- code/modules/resleeving/infocore_records.dm | 6 +- .../tgui/modules/appearance_changer.dm | 592 ++++++++++++++++-- .../tgui/modules/appearance_changer_vr.dm | 57 -- .../appearance/sprite_accessories_taur_yw.dm | 7 +- code/unit_tests/cosmetic_tests.dm | 87 +++ icons/mob/human_face_alt.dmi | Bin 41716 -> 36944 bytes icons/mob/human_races/markings.dmi | Bin 141444 -> 129934 bytes icons/mob/human_races/markings_yw.dmi | Bin 7032 -> 5226 bytes icons/mob/vore/taurs_yw.dmi | Bin 4317 -> 8555 bytes .../mob/new_player/sprite_accessories.dm | 42 +- .../new_player/sprite_accessories_extra.dm | 50 +- .../mob/new_player/sprite_accessories_wing.dm | 8 - .../human_races/sprite_accessories/sloog.dmi | Bin 395 -> 676 bytes .../AppearanceChangerBody.tsx | 207 +++--- .../AppearanceChangerBodyRecords.tsx | 41 ++ .../AppearanceChangerDetails.tsx | 179 +++++- .../AppearanceChangerFlavor.tsx | 35 ++ .../AppearanceChangerHairs.tsx | 46 -- .../AppearanceChangerHeader.tsx | 33 + .../AppearanceChangerParts.tsx | 135 ++++ .../interfaces/AppearanceChanger/constants.ts | 12 + .../interfaces/AppearanceChanger/index.tsx | 434 ++++++++----- .../interfaces/AppearanceChanger/types.ts | 53 +- .../BodyDesigner/BodyDesignerBodyRecords.tsx | 33 - .../BodyDesigner/BodyDesignerMain.tsx | 16 - .../BodyDesigner/BodyDesignerOOCNotes.tsx | 30 - .../BodyDesignerSpecificRecord.tsx | 440 ------------- .../BodyDesigner/BodyDesignerStockRecords.tsx | 29 - .../tgui/interfaces/BodyDesigner/index.tsx | 72 --- .../tgui/interfaces/BodyDesigner/types.ts | 82 --- vorestation.dme | 3 +- 46 files changed, 1634 insertions(+), 2380 deletions(-) delete mode 100644 code/modules/mob/new_player/sprite_accessories_hair_extra.dm delete mode 100644 code/modules/tgui/modules/appearance_changer_vr.dm create mode 100644 code/unit_tests/cosmetic_tests.dm create mode 100644 tgui/packages/tgui/interfaces/AppearanceChanger/AppearanceChangerBodyRecords.tsx create mode 100644 tgui/packages/tgui/interfaces/AppearanceChanger/AppearanceChangerFlavor.tsx delete mode 100644 tgui/packages/tgui/interfaces/AppearanceChanger/AppearanceChangerHairs.tsx create mode 100644 tgui/packages/tgui/interfaces/AppearanceChanger/AppearanceChangerHeader.tsx create mode 100644 tgui/packages/tgui/interfaces/AppearanceChanger/AppearanceChangerParts.tsx create mode 100644 tgui/packages/tgui/interfaces/AppearanceChanger/constants.ts delete mode 100644 tgui/packages/tgui/interfaces/BodyDesigner/BodyDesignerBodyRecords.tsx delete mode 100644 tgui/packages/tgui/interfaces/BodyDesigner/BodyDesignerMain.tsx delete mode 100644 tgui/packages/tgui/interfaces/BodyDesigner/BodyDesignerOOCNotes.tsx delete mode 100644 tgui/packages/tgui/interfaces/BodyDesigner/BodyDesignerSpecificRecord.tsx delete mode 100644 tgui/packages/tgui/interfaces/BodyDesigner/BodyDesignerStockRecords.tsx delete mode 100644 tgui/packages/tgui/interfaces/BodyDesigner/index.tsx delete mode 100644 tgui/packages/tgui/interfaces/BodyDesigner/types.ts diff --git a/code/__defines/misc.dm b/code/__defines/misc.dm index 6963d8e3b0..0a492c8202 100644 --- a/code/__defines/misc.dm +++ b/code/__defines/misc.dm @@ -587,3 +587,6 @@ GLOBAL_LIST_INIT(all_volume_channels, list( #define RESIZE_A_BIGNORMAL (RESIZE_BIG + RESIZE_NORMAL) / 2 #define RESIZE_A_NORMALSMALL (RESIZE_NORMAL + RESIZE_SMALL) / 2 #define RESIZE_A_SMALLTINY (RESIZE_SMALL + RESIZE_TINY) / 2 + +#define WEIGHT_MIN 70 +#define WEIGHT_MAX 500 diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index bdaa7fa5e3..235bba4a0c 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -376,7 +376,8 @@ var/global/list/PDA_Manifest = list() else M.fields["species"] = "[H.custom_species ? "[H.custom_species] ([H.species.name])" : H.species.name]" M.fields["b_type"] = H.b_type - M.fields["blood_reagent"] = H.species.blood_reagents + M.fields["blood_reagent"] = H.dna.blood_reagents + M.fields["blood_color"] = H.dna.blood_color M.fields["b_dna"] = H.dna.unique_enzymes M.fields["id_gender"] = gender2text(H.identifying_gender) if(H.get_FBP_type()) diff --git a/code/game/dna/dna2_helpers.dm b/code/game/dna/dna2_helpers.dm index e88d9ddfaf..8250613537 100644 --- a/code/game/dna/dna2_helpers.dm +++ b/code/game/dna/dna2_helpers.dm @@ -257,7 +257,6 @@ H.custom_ask = dna.custom_ask H.custom_whisper = dna.custom_whisper H.custom_exclaim = dna.custom_exclaim - H.species.blood_color = dna.blood_color H.fuzzy = dna.scale_appearance H.offset_override = dna.offset_override H.synth_markings = dna.synth_markings @@ -269,10 +268,12 @@ H.custom_heat = dna.custom_heat H.custom_cold = dna.custom_cold var/datum/species/S = H.species - S.produceCopy(dna.species_traits, H, dna.base_species/*, FALSE*/) // Traitgenes edit - reset_dna flag required, or genes get reset on resleeve + S.produceCopy(dna.species_traits, H, dna.base_species, FALSE) // Traitgenes edit - reset_dna flag required, or genes get reset on resleeve + H.dna.blood_reagents = dna.blood_reagents + H.dna.blood_color = dna.blood_color + H.species.blood_reagents = H.dna.blood_reagents + H.species.blood_color = H.dna.blood_color // VOREStation Edit End - - H.species.blood_reagents = dna.blood_reagents // CHOMPEnable Start H.species.species_sounds = dna.species_sounds H.species.gender_specific_species_sounds = dna.gender_specific_species_sounds @@ -280,9 +281,9 @@ H.species.species_sounds_female = dna.species_sounds_female // CHOMPEnable ENd - H.force_update_organs() //VOREStation Add - Gotta do this too + H.force_update_organs() H.force_update_limbs() - //H.update_body(0) //VOREStation Edit - Done in force_update_limbs already + //H.update_body(0) //Done in force_update_limbs already H.update_eyes() H.update_hair() diff --git a/code/modules/client/preference_setup/general/03_body.dm b/code/modules/client/preference_setup/general/03_body.dm index 1a6102076e..deb4c31150 100644 --- a/code/modules/client/preference_setup/general/03_body.dm +++ b/code/modules/client/preference_setup/general/03_body.dm @@ -812,7 +812,8 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O if (isnull(pref.body_markings[M]["color"])) if (tgui_alert(user, "You currently have customized marking colors. This will reset each bodypart's color. Are you sure you want to continue?","Reset Bodypart Colors",list("Yes","No")) != "Yes") return TOPIC_NOACTION - var/mark_color = tgui_color_picker(user, "Choose the [M] color: ", "Character Preference", pref.body_markings[M]["color"]) + var/current = pref.body_markings[M] ? pref.body_markings[M]["color"] : "#000000" + var/mark_color = tgui_color_picker(user, "Choose the [M] color: ", "Character Preference", current) if(mark_color && CanUseTopic(user)) pref.body_markings[M] = pref.mass_edit_marking_list(M,FALSE,TRUE,pref.body_markings[M],color="[mark_color]") return TOPIC_REFRESH_UPDATE_PREVIEW diff --git a/code/modules/client/preference_setup/vore/02_size.dm b/code/modules/client/preference_setup/vore/02_size.dm index 904029b3d4..a8a0451104 100644 --- a/code/modules/client/preference_setup/vore/02_size.dm +++ b/code/modules/client/preference_setup/vore/02_size.dm @@ -1,6 +1,4 @@ // Body weight limits on a character. -#define WEIGHT_MIN 70 -#define WEIGHT_MAX 500 #define WEIGHT_CHANGE_MIN 0 #define WEIGHT_CHANGE_MAX 100 @@ -373,7 +371,5 @@ // CHOMPEdit End return ..(); -#undef WEIGHT_MIN -#undef WEIGHT_MAX #undef WEIGHT_CHANGE_MIN #undef WEIGHT_CHANGE_MAX diff --git a/code/modules/mob/living/carbon/human/species/species_vr.dm b/code/modules/mob/living/carbon/human/species/species_vr.dm index c32c2a6182..ec8b745941 100644 --- a/code/modules/mob/living/carbon/human/species/species_vr.dm +++ b/code/modules/mob/living/carbon/human/species/species_vr.dm @@ -106,7 +106,6 @@ if(H.dna && reset_dna) H.dna.ready_dna(H) - handle_base_eyes(H, custom_base) return new_copy diff --git a/code/modules/mob/new_player/sprite_accessories_beards.dm b/code/modules/mob/new_player/sprite_accessories_beards.dm index bee5e69771..5e1958f0d1 100644 --- a/code/modules/mob/new_player/sprite_accessories_beards.dm +++ b/code/modules/mob/new_player/sprite_accessories_beards.dm @@ -9,6 +9,7 @@ Includes things like facial spines for unathi */ /datum/sprite_accessory/facial_hair + name = DEVELOPER_WARNING_NAME icon = 'icons/mob/Human_face.dmi' color_blend_mode = ICON_ADD em_block = TRUE diff --git a/code/modules/mob/new_player/sprite_accessories_extra_ch.dm b/code/modules/mob/new_player/sprite_accessories_extra_ch.dm index ecfe062f0e..892a1019ea 100644 --- a/code/modules/mob/new_player/sprite_accessories_extra_ch.dm +++ b/code/modules/mob/new_player/sprite_accessories_extra_ch.dm @@ -28,25 +28,13 @@ color_blend_mode = ICON_MULTIPLY body_parts = list(BP_L_ARM,BP_R_ARM) species_allowed = list(SPECIES_AKULA) - +/* //I can't make out what this icon_state was ever supposed to be. There is no 'zan' 'mon' or anything like that in the ch.dmi file... /datum/sprite_accessory/marking/ch/zangoose_belly name = "Mongoose Cat Belly Marking" icon_state = "test" body_parts = list(BP_TORSO) species_allowed = list(SPECIES_HUMAN, SPECIES_UNATHI, SPECIES_TAJARAN, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE) //This lets all races use the default hairstyles. - -/datum/sprite_accessory/marking/ch/head_paint_front - name = "Head Paint Front" - icon_state = "paintfront" - color_blend_mode = ICON_MULTIPLY - body_parts = list(BP_HEAD) - -/datum/sprite_accessory/marking/ch/head_paint_back - name = "Head Paint" - icon_state = "paint" - color_blend_mode = ICON_MULTIPLY - body_parts = list(BP_HEAD) - +*/ /datum/sprite_accessory/marking/ch/athena_lights name = "Hephaestus - Athena lights" icon_state = "athena" @@ -119,18 +107,6 @@ color_blend_mode = ICON_MULTIPLY body_parts = list(BP_HEAD) -/datum/sprite_accessory/marking/ch/manedwolf1 - name = "Maned Wolf Primary Markings" - icon_state = "manedwolf1" - color_blend_mode = ICON_MULTIPLY - body_parts = list(BP_HEAD,BP_TORSO,BP_R_ARM,BP_L_ARM,BP_R_HAND,BP_L_HAND,BP_R_LEG,BP_L_LEG,BP_R_FOOT,BP_L_FOOT) - -/datum/sprite_accessory/marking/ch/manedwolf2 - name = "Maned Wolf Secondary Markings" - icon_state = "manedwolf2" - color_blend_mode = ICON_MULTIPLY - body_parts = list(BP_HEAD,BP_TORSO,BP_GROIN) - /datum/sprite_accessory/marking/ch/voxbeak2 name = "Vox Beak (Normal)" icon_state = "vox_beak" diff --git a/code/modules/mob/new_player/sprite_accessories_hair.dm b/code/modules/mob/new_player/sprite_accessories_hair.dm index 81c99dfbee..6026bd19c2 100644 --- a/code/modules/mob/new_player/sprite_accessories_hair.dm +++ b/code/modules/mob/new_player/sprite_accessories_hair.dm @@ -7,7 +7,8 @@ */ /datum/sprite_accessory/hair - icon = 'icons/mob/Human_face_m.dmi' // default icon for all hairs + name = DEVELOPER_WARNING_NAME + icon = 'icons/mob/human_face_m.dmi' // default icon for all hairs var/icon_add = 'icons/mob/human_face.dmi' var/flags @@ -339,6 +340,34 @@ icon_state = "hair_celebcurls" flags = HAIR_TIEABLE +/* CHOMPRemove Start +/datum/sprite_accessory/hair/citheronia + name = "Citheronia Hair (Kira72)" + icon = 'icons/mob/human_face_vr.dmi' + icon_state = "citheronia_hair" + ckeys_allowed = list("Kira72") + do_colouration = 0 + +/datum/sprite_accessory/hair/taramaw + name = "Hairmaw (Liquidfirefly)" + icon = 'icons/mob/human_face_vr.dmi' + icon_state = "maw_hair" + ckeys_allowed = list("liquidfirefly") + do_colouration = 0 +*/// CHOMPRemove End + +/datum/sprite_accessory/hair/twindrillslong + name = "Twin Drills Long" + icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' + icon_state = "hair_twincurllong" + +/datum/sprite_accessory/hair/crescent_moon + name = "Crescent-Moon" + icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' + icon_state = "crescent_moon" + /datum/sprite_accessory/hair/citheronia_colorable name = "Citheronia" icon = 'icons/mob/human_face_alt.dmi' @@ -1317,6 +1346,12 @@ icon_add = 'icons/mob/human_face_alt_add.dmi' icon_state = "soghun_hood" +/datum/sprite_accessory/hair/una_quinthorns + name = "Quintiple Unathi Horns" + icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' + icon_state = "unathi_quintiple_horns" + /datum/sprite_accessory/hair/una_doublehorns name = "Double Unathi Horns" icon = 'icons/mob/human_face_alt.dmi' @@ -1450,37 +1485,37 @@ //xeno stuffs /datum/sprite_accessory/hair/xeno_head_drone_color name = "Drone dome" - icon = 'icons/mob/human_face_alt.dmi' - icon_add = 'icons/mob/human_face_alt_add.dmi' + icon = 'modular_chomp/icons/mob/human_face_ch.dmi' //chompstation edit + icon_add = 'modular_chomp/icons/mob/human_face_ch_add.dmi' //chompstation edit icon_state = "cxeno_drone" gender = NEUTER // figure this one out for better coloring /datum/sprite_accessory/hair/xeno_head_sentinel_color name = "Sentinal dome" - icon = 'icons/mob/human_face_alt.dmi' - icon_add = 'icons/mob/human_face_alt_add.dmi' + icon = 'modular_chomp/icons/mob/human_face_ch.dmi'//chompstation edit + icon_add = 'modular_chomp/icons/mob/human_face_ch_add.dmi'//chompstation edit icon_state = "cxeno_sentinel" gender = NEUTER /datum/sprite_accessory/hair/xeno_head_queen_color name = "Queen dome" - icon = 'icons/mob/human_face_alt.dmi' - icon_add = 'icons/mob/human_face_alt_add.dmi' + icon = 'modular_chomp/icons/mob/human_face_ch.dmi'//chompstation edit + icon_add = 'modular_chomp/icons/mob/human_face_ch_add.dmi'//chompstation edit icon_state = "cxeno_queen" gender = NEUTER /datum/sprite_accessory/hair/xeno_head_hunter_color name = "Hunter dome" - icon = 'icons/mob/human_face_alt.dmi' - icon_add = 'icons/mob/human_face_alt_add.dmi' + icon = 'modular_chomp/icons/mob/human_face_ch.dmi'//chompstation edit + icon_add = 'modular_chomp/icons/mob/human_face_ch_add.dmi'//chompstation edit icon_state = "cxeno_hunter" gender = NEUTER /datum/sprite_accessory/hair/xeno_head_praetorian_color name = "Praetorian dome" - icon = 'icons/mob/human_face_alt.dmi' - icon_add = 'icons/mob/human_face_alt_add.dmi' + icon = 'modular_chomp/icons/mob/human_face_ch.dmi'//chompstation edit + icon_add = 'modular_chomp/icons/mob/human_face_ch_add.dmi'//chompstation edit icon_state = "cxeno_praetorian" gender = NEUTER @@ -1560,6 +1595,7 @@ /datum/sprite_accessory/hair/una/spines_short name = "Short Unathi Spines" + icon_state = "soghun_shortspines" /datum/sprite_accessory/hair/una/frills_long name = "Long Unathi Frills" @@ -1598,7 +1634,6 @@ /datum/sprite_accessory/hair/skr/tentacle_veryshort name = "Skrell Short Tentacles" icon_state = "skrell_hair_short" - gender = MALE /datum/sprite_accessory/hair/skr/tentacle_average name = "Skrell Long Tentacles" @@ -1764,10 +1799,12 @@ /datum/sprite_accessory/hair/taj/bob name = "Tajaran Bob" icon_state = "hair_tbob" -/datum/sprite_accessory/hair/taj/fingercurl + +/datum/sprite_accessory/hair/taj_ears_fingercurl name = "Tajaran Finger Curls" icon_state = "hair_fingerwave" + //Teshari things /datum/sprite_accessory/hair/teshari name = "Teshari Default" @@ -1867,3 +1904,70 @@ /datum/sprite_accessory/hair/vox/quills_mohawk name = "Quill Mohawk" icon_state = "vox_mohawk" + +/* CHOMPRemve Start +/datum/sprite_accessory/hair/shadekin_hair_rivyr + name = "Rivyr Hair" + icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' + icon_state = "shadekin_rivyr" + ckeys_allowed = list("verysoft") + species_allowed = list(SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW) + gender = NEUTER +*/// CHOMPRemove End + +/datum/sprite_accessory/hair/slicker + name = "Slicker" + icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' + icon_state = "hair_slicker" + +/datum/sprite_accessory/facial_hair + icon = 'icons/mob/human_face_or_vr.dmi' + color_blend_mode = ICON_MULTIPLY + + +/datum/sprite_accessory/facial_hair/vulp_ruff + name = "Ruff" + icon = 'icons/mob/human_face_vr.dmi' + icon_state = "vulp_facial_ruff" + gender = NEUTER + +/datum/sprite_accessory/facial_hair/vulp_kita + name = "Kita" + icon = 'icons/mob/human_face_vr.dmi' + icon_state = "vulp_facial_kita" + gender = NEUTER + +/datum/sprite_accessory/facial_hair/vulp_swift + name = "Swift" + icon = 'icons/mob/human_face_vr.dmi' + icon_state = "vulp_facial_swift" + gender = NEUTER + +/* +//////////////////////////// +/ =--------------------= / +/ == Misc Definitions == / +/ =--------------------= / +//////////////////////////// +*/ + +// Yes, I have to add all of this just to make some glowy hair. +// No, this isn't a character creation option, but... I guess in the future it could be, if anyone wants that? + +/datum/sprite_accessory/hair_accessory + name = DEVELOPER_WARNING_NAME + icon = 'icons/mob/vore/hair_accessories_vr.dmi' + do_colouration = 0 // Set to 1 to blend (ICON_ADD) hair color + + var/ignores_lighting = 0 // Whether or not this hair accessory will ignore lighting and glow in the dark. + color_blend_mode = ICON_ADD // Only appliciable if do_coloration = 1 + var/desc = DEVELOPER_WARNING_NAME + +/datum/sprite_accessory/hair_accessory/verie_hair_glow + name = "veries hair glow" + desc = "" + icon_state = "verie_hair_glow" + ignores_lighting = 1 + //ckeys_allowed = list("vitoras") // This probably won't come into play EVER but better safe than sorry diff --git a/code/modules/mob/new_player/sprite_accessories_hair_extra.dm b/code/modules/mob/new_player/sprite_accessories_hair_extra.dm deleted file mode 100644 index 8835e81eb4..0000000000 --- a/code/modules/mob/new_player/sprite_accessories_hair_extra.dm +++ /dev/null @@ -1,514 +0,0 @@ -//////////////////////// -// For sergals and stuff -//////////////////////// -// Note: Creating a sub-datum to group all vore stuff together -// would require us to exclude that datum from the global list. - -/datum/sprite_accessory/hair/astolfo - name = "Astolfo" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "hair_astolfo" - -/* //Chomp REMOVE - No ckeys_allowed allowed -/datum/sprite_accessory/hair/awoohair - name = "Shoulder-length Messy" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "momijihair" - -/datum/sprite_accessory/hair/citheronia - name = "Citheronia Hair (Kira72)" - icon = 'icons/mob/human_face_vr.dmi' - icon_state = "citheronia_hair" - ckeys_allowed = list("Kira72") - do_colouration = 0 - -/datum/sprite_accessory/hair/taramaw - name = "Hairmaw (Liquidfirefly)" - icon = 'icons/mob/human_face_vr.dmi' - icon_state = "maw_hair" - ckeys_allowed = list("liquidfirefly") - do_colouration = 0 -*/ //Chomp REMOVE END - -/datum/sprite_accessory/hair/citheronia_colorable - name = "Citheronia Hair" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "citheronia_hair_c" - do_colouration = 1 - -/datum/sprite_accessory/hair/sergal_plain - name = "Sergal Plain" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "serg_plain" - species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJARAN, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW, SPECIES_SHADEKIN_YW, SPECIES_ALTEVIAN) //CHOMPEdit - -/datum/sprite_accessory/hair/sergal_medicore - name = "Sergal Medicore" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "serg_medicore" - species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJARAN, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW, SPECIES_SHADEKIN_YW, SPECIES_ALTEVIAN) //CHOMPEdit - -/datum/sprite_accessory/hair/sergal_tapered - name = "Sergal Tapered" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "serg_tapered" - species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJARAN, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW, SPECIES_SHADEKIN_YW, SPECIES_ALTEVIAN) //CHOMPEdit - -/datum/sprite_accessory/hair/sergal_fairytail - name = "Sergal Fairytail" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "serg_fairytail" - species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJARAN, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW, SPECIES_SHADEKIN_YW, SPECIES_ALTEVIAN) //CHOMPEdit - -/datum/sprite_accessory/hair/braid - name = "Floorlength Braid" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "hair_braid" - -/datum/sprite_accessory/hair/twindrills - name = "Twin Drills" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "hair_twincurl" - -/datum/sprite_accessory/hair/twindrillslong - name = "Twin Drills Long" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "hair_twincurllong" - -/datum/sprite_accessory/hair/crescent_moon - name = "Crescent-Moon" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "crescent_moon" - -/datum/sprite_accessory/hair/bald - name = "Bald" - icon_state = "bald" - gender = MALE - -/datum/sprite_accessory/hair/ponytail6_fixed - name = "Ponytail 6 but fixed" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "hair_ponytail6" - -/datum/sprite_accessory/hair/una_hood - name = "Cobra Hood" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "soghun_hood" - -/datum/sprite_accessory/hair/una_spines_long - name = "Long Unathi Spines" - icon_state = "soghun_longspines" - -/datum/sprite_accessory/hair/una_spines_short - name = "Short Unathi Spines" - icon_state = "soghun_shortspines" - -/datum/sprite_accessory/hair/una_frills_long - name = "Long Unathi Frills" - icon_state = "soghun_longfrills" - -/datum/sprite_accessory/hair/una_frills_short - name = "Short Unathi Frills" - icon_state = "soghun_shortfrills" - -/datum/sprite_accessory/hair/una_horns - name = "Unathi Horns" - icon_state = "soghun_horns" - -/datum/sprite_accessory/hair/una_bighorns - name = "Unathi Big Horns" - icon_state = "unathi_bighorn" - -/datum/sprite_accessory/hair/una_smallhorns - name = "Unathi Small Horns" - icon_state = "unathi_smallhorn" - -/datum/sprite_accessory/hair/una_ramhorns - name = "Unathi Ram Horns" - icon_state = "unathi_ramhorn" - -/datum/sprite_accessory/hair/una_sidefrills - name = "Unathi Side Frills" - icon_state = "unathi_sidefrills" - -/datum/sprite_accessory/hair/una_doublehorns - name = "Double Unathi Horns" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "soghun_dubhorns" - -/datum/sprite_accessory/hair/una_quinthorns - name = "Quintiple Unathi Horns" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "unathi_quintiple_horns" - -/datum/sprite_accessory/hair/taj_ears - name = "Tajaran Ears" - icon_state = "ears_plain" - -/datum/sprite_accessory/hair/taj_ears_clean - name = "Tajara Clean" - icon_state = "hair_clean" - -/datum/sprite_accessory/hair/taj_ears_bangs - name = "Tajara Bangs" - icon_state = "hair_bangs" - -/datum/sprite_accessory/hair/taj_ears_braid - name = "Tajara Braid" - icon_state = "hair_tbraid" - -/datum/sprite_accessory/hair/taj_ears_shaggy - name = "Tajara Shaggy" - icon_state = "hair_shaggy" - -/datum/sprite_accessory/hair/taj_ears_mohawk - name = "Tajaran Mohawk" - icon_state = "hair_mohawk" - -/datum/sprite_accessory/hair/taj_ears_plait - name = "Tajara Plait" - icon_state = "hair_plait" - -/datum/sprite_accessory/hair/taj_ears_straight - name = "Tajara Straight" - icon_state = "hair_straight" - -/datum/sprite_accessory/hair/taj_ears_long - name = "Tajara Long" - icon_state = "hair_long" - -/datum/sprite_accessory/hair/taj_ears_rattail - name = "Tajara Rat Tail" - icon_state = "hair_rattail" - -/datum/sprite_accessory/hair/taj_ears_spiky - name = "Tajara Spiky" - icon_state = "hair_tajspiky" - -/datum/sprite_accessory/hair/taj_ears_messy - name = "Tajara Messy" - icon_state = "hair_messy" - -/datum/sprite_accessory/hair/taj_ears_curls - name = "Tajaran Curly" - icon_state = "hair_curly" - -/datum/sprite_accessory/hair/taj_ears_wife - name = "Tajaran Housewife" - icon_state = "hair_wife" - -/datum/sprite_accessory/hair/taj_ears_victory - name = "Tajaran Victory Curls" - icon_state = "hair_victory" - -/datum/sprite_accessory/hair/taj_ears_bob - name = "Tajaran Bob" - icon_state = "hair_tbob" - -/datum/sprite_accessory/hair/taj_ears_fingercurl - name = "Tajaran Finger Curls" - icon_state = "hair_fingerwave" - -//Skrell 'hairstyles' - these were requested for a chimera and screw it, if one wants to eat seafood, go nuts -/datum/sprite_accessory/hair/skr_tentacle_veryshort - name = "Skrell Very Short Tentacles" - icon_state = "skrell_hair_veryshort" - -/datum/sprite_accessory/hair/skr_tentacle_short - name = "Skrell Short Tentacles" - icon_state = "skrell_hair_short" - -/datum/sprite_accessory/hair/skr_tentacle_average - name = "Skrell Average Tentacles" - icon_state = "skrell_hair_average" - -/datum/sprite_accessory/hair/skr_tentacle_verylong - name = "Skrell Long Tentacles" - icon_state = "skrell_hair_verylong" - -// Vulpa stuffs -/datum/sprite_accessory/hair/vulp_hair_kajam - name = "Kajam" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "kajam" - gender = NEUTER - -/datum/sprite_accessory/hair/vulp_hair_keid - name = "Keid" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "keid" - gender = NEUTER - -/datum/sprite_accessory/hair/vulp_hair_adhara - name = "Adhara" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "adhara" - gender = NEUTER - -/datum/sprite_accessory/hair/vulp_hair_kleeia - name = "Kleeia" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "kleeia" - gender = NEUTER - -/datum/sprite_accessory/hair/vulp_hair_mizar - name = "Mizar" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "mizar" - gender = NEUTER - -/datum/sprite_accessory/hair/vulp_hair_apollo - name = "Apollo" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "apollo" - gender = NEUTER - -/datum/sprite_accessory/hair/vulp_hair_belle - name = "Belle" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "belle" - gender = NEUTER - -/datum/sprite_accessory/hair/vulp_hair_bun - name = "Vulp Bun" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "bun" - gender = NEUTER - -/datum/sprite_accessory/hair/vulp_hair_jagged - name = "Jagged" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "jagged" - gender = NEUTER - -/datum/sprite_accessory/hair/vulp_hair_curl - name = "Curl" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "curl" - gender = NEUTER - -/datum/sprite_accessory/hair/vulp_hair_hawk - name = "Hawk" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "hawk" - gender = NEUTER - -/datum/sprite_accessory/hair/vulp_hair_anita - name = "Anita" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "anita" - gender = NEUTER - -/datum/sprite_accessory/hair/vulp_hair_short - name = "Short" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "short" - gender = NEUTER - -/datum/sprite_accessory/hair/vulp_hair_spike - name = "Spike" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "spike" - gender = NEUTER - -//xeno stuffs -/datum/sprite_accessory/hair/xeno_head_drone_color - name = "Drone dome" - icon = 'modular_chomp/icons/mob/human_face_ch.dmi' //chompstation edit - icon_add = 'modular_chomp/icons/mob/human_face_ch_add.dmi' //chompstation edit - icon_state = "cxeno_drone" - species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJARAN, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW, SPECIES_SHADEKIN_YW, SPECIES_ALTEVIAN) //ChompEDIT: allow for all - gender = NEUTER - -// figure this one out for better coloring -/datum/sprite_accessory/hair/xeno_head_sentinel_color - name = "Sentinal dome" - icon = 'modular_chomp/icons/mob/human_face_ch.dmi'//chompstation edit - icon_add = 'modular_chomp/icons/mob/human_face_ch_add.dmi'//chompstation edit - icon_state = "cxeno_sentinel" - species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJARAN, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW, SPECIES_SHADEKIN_YW, SPECIES_ALTEVIAN) //ChompEDIT: allow for all - gender = NEUTER - -/datum/sprite_accessory/hair/xeno_head_queen_color - name = "Queen dome" - icon = 'modular_chomp/icons/mob/human_face_ch.dmi'//chompstation edit - icon_add = 'modular_chomp/icons/mob/human_face_ch_add.dmi'//chompstation edit - icon_state = "cxeno_queen" - species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJARAN, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW, SPECIES_SHADEKIN_YW, SPECIES_ALTEVIAN) //ChompEDIT: allow for all - gender = NEUTER - -/datum/sprite_accessory/hair/xeno_head_hunter_color - name = "Hunter dome" - icon = 'modular_chomp/icons/mob/human_face_ch.dmi'//chompstation edit - icon_add = 'modular_chomp/icons/mob/human_face_ch_add.dmi'//chompstation edit - icon_state = "cxeno_hunter" - species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJARAN, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW, SPECIES_SHADEKIN_YW, SPECIES_ALTEVIAN) //ChompEDIT: allow for all - gender = NEUTER - -/datum/sprite_accessory/hair/xeno_head_praetorian_color - name = "Praetorian dome" - icon = 'modular_chomp/icons/mob/human_face_ch.dmi'//chompstation edit - icon_add = 'modular_chomp/icons/mob/human_face_ch_add.dmi'//chompstation edit - icon_state = "cxeno_praetorian" - species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJARAN, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW, SPECIES_SHADEKIN_YW, SPECIES_ALTEVIAN) //ChompEDIT: allow for all - gender = NEUTER - -// Shadekin stuffs -/datum/sprite_accessory/hair/shadekin_hair_short - name = "Shadekin Short Hair" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "shadekin_short" - species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJARAN, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW, SPECIES_SHADEKIN_YW, SPECIES_ALTEVIAN) //ChompEDIT: allow for all - gender = NEUTER - -/datum/sprite_accessory/hair/shadekin_hair_poofy - name = "Shadekin Poofy Hair" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "shadekin_poofy" - species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJARAN, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW, SPECIES_SHADEKIN_YW, SPECIES_ALTEVIAN) //ChompEDIT: allow for all - gender = NEUTER - -/datum/sprite_accessory/hair/shadekin_hair_long - name = "Shadekin Long Hair" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "shadekin_long" - species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJARAN, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW, SPECIES_SHADEKIN_YW, SPECIES_ALTEVIAN) //ChompEDIT: allow for all - gender = NEUTER - -/* /datum/sprite_accessory/hair/shadekin_hair_rivyr //Chomp REMOVE START - name = "Rivyr Hair" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "shadekin_rivyr" - ckeys_allowed = list("verysoft") - species_allowed = list(SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW) - gender = NEUTER */ //Chomp REMOVE END - -/datum/sprite_accessory/hair/slicker - name = "Slicker" - icon = 'icons/mob/human_face_vr.dmi' - icon_add = 'icons/mob/human_face_vr_add.dmi' - icon_state = "hair_slicker" - -/datum/sprite_accessory/facial_hair - icon = 'icons/mob/human_face_or_vr.dmi' - color_blend_mode = ICON_MULTIPLY - -/datum/sprite_accessory/facial_hair/shaved - name = "Shaved" - icon_state = "bald" - gender = NEUTER - -/datum/sprite_accessory/facial_hair/neck_fluff - name = "Neck Fluff" - icon = 'icons/mob/human_face_or_vr.dmi' - icon_state = "facial_neckfluff" - gender = NEUTER - -/datum/sprite_accessory/facial_hair/vulp_blaze - name = "Blaze" - icon = 'icons/mob/human_face_vr.dmi' - icon_state = "vulp_facial_blaze" - gender = NEUTER - -/datum/sprite_accessory/facial_hair/vulp_vulpine - name = "Vulpine" - icon = 'icons/mob/human_face_vr.dmi' - icon_state = "vulp_facial_vulpine" - gender = NEUTER - -/datum/sprite_accessory/facial_hair/vulp_earfluff - name = "Earfluff" - icon = 'icons/mob/human_face_vr.dmi' - icon_state = "vulp_facial_earfluff" - gender = NEUTER - -/datum/sprite_accessory/facial_hair/vulp_mask - name = "Mask" - icon = 'icons/mob/human_face_vr.dmi' - icon_state = "vulp_facial_mask" - gender = NEUTER - -/datum/sprite_accessory/facial_hair/vulp_patch - name = "Patch" - icon = 'icons/mob/human_face_vr.dmi' - icon_state = "vulp_facial_patch" - gender = NEUTER - -/datum/sprite_accessory/facial_hair/vulp_ruff - name = "Ruff" - icon = 'icons/mob/human_face_vr.dmi' - icon_state = "vulp_facial_ruff" - gender = NEUTER - -/datum/sprite_accessory/facial_hair/vulp_kita - name = "Kita" - icon = 'icons/mob/human_face_vr.dmi' - icon_state = "vulp_facial_kita" - gender = NEUTER - -/datum/sprite_accessory/facial_hair/vulp_swift - name = "Swift" - icon = 'icons/mob/human_face_vr.dmi' - icon_state = "vulp_facial_swift" - gender = NEUTER - -/* -//////////////////////////// -/ =--------------------= / -/ == Misc Definitions == / -/ =--------------------= / -//////////////////////////// -*/ - -// Yes, I have to add all of this just to make some glowy hair. -// No, this isn't a character creation option, but... I guess in the future it could be, if anyone wants that? - -/datum/sprite_accessory/hair_accessory - name = DEVELOPER_WARNING_NAME - icon = 'icons/mob/vore/hair_accessories_vr.dmi' - do_colouration = 0 // Set to 1 to blend (ICON_ADD) hair color - - var/ignores_lighting = 0 // Whether or not this hair accessory will ignore lighting and glow in the dark. - color_blend_mode = ICON_ADD // Only appliciable if do_coloration = 1 - var/desc = DEVELOPER_WARNING_NAME -/* //Chomp REMOVE - No ckeys_allowed allowed -/datum/sprite_accessory/hair_accessory/verie_hair_glow - name = "veries hair glow" - desc = "" - icon_state = "verie_hair_glow" - ignores_lighting = 1 - //ckeys_allowed = list("vitoras") // This probably won't come into play EVER but better safe than sorry -*/ //Chomp REMOVE END diff --git a/code/modules/mob/new_player/sprite_accessories_markings.dm b/code/modules/mob/new_player/sprite_accessories_markings.dm index 5849427747..4105159073 100644 --- a/code/modules/mob/new_player/sprite_accessories_markings.dm +++ b/code/modules/mob/new_player/sprite_accessories_markings.dm @@ -8,6 +8,7 @@ includes scars and tattoos */ /datum/sprite_accessory/marking + name = DEVELOPER_WARNING_NAME icon = 'icons/mob/human_races/markings.dmi' do_colouration = 1 //Almost all of them have it, COLOR_ADD @@ -203,7 +204,7 @@ includes scars and tattoos body_parts = list(BP_HEAD) /datum/sprite_accessory/marking/bandsface_human - name = "Color Bands (Face)" + name = "Color Bands (Face) (Human)" icon_state = "bandshumanface" body_parts = list(BP_HEAD) @@ -859,7 +860,7 @@ includes scars and tattoos /datum/sprite_accessory/marking/diona_leaves name = "Leaves (Diona)" icon_state = "diona_leaves" - body_parts = list(BP_L_FOOT, BP_R_FOOT, BP_L_LEG, BP_R_LEG, BP_L_ARM, BP_R_ARM, BP_L_HAND, BP_R_HAND, BP_TORSO, BP_GROIN, BP_HEAD) + body_parts = list(BP_L_FOOT, BP_R_FOOT, BP_L_LEG, BP_R_LEG, BP_L_ARM, BP_R_ARM, BP_TORSO, BP_GROIN, BP_HEAD) /datum/sprite_accessory/marking/diona_thorns name = "Thorns (Diona)" @@ -991,10 +992,14 @@ includes scars and tattoos /datum/sprite_accessory/marking/aug/backside_left name = "Augment (Backside Left, Head)" icon_state = "aug_backside_l" + body_parts = list(BP_HEAD) + /datum/sprite_accessory/marking/aug/backside_left/side_diode name = "Augment (Backside Left Diode, Head)" icon_state = "aug_sidediode_l" + body_parts = list(BP_HEAD) + /datum/sprite_accessory/marking/aug/backside_right name = "Augment (Backside Right, Head)" @@ -1127,7 +1132,7 @@ includes scars and tattoos /datum/sprite_accessory/marking/bandage/torso/torso3 name = "Bandage, Torso 3" - icon_state = "bandage3" + icon_state = "bandage3" //someone needs to make a proper torso sprite /datum/sprite_accessory/marking/bandage/torso/torso3/teshari name = "Bandage, Torso 3 (Teshari)" @@ -1200,7 +1205,7 @@ includes scars and tattoos icon_state = "bandage1_tesh" species_allowed = list(SPECIES_TESHARI) -/datum/sprite_accessory/marking/bandage/l_hand/l_hand2 +/datum/sprite_accessory/marking/bandage/l_hand/l_hand_2 name = "Bandage, Left Hand 2" icon_state = "bandage2" @@ -1302,7 +1307,7 @@ includes scars and tattoos icon_state = "bandage1_tesh" species_allowed = list(SPECIES_TESHARI) -/datum/sprite_accessory/marking/bandage/l_foot/l_foot2 +/datum/sprite_accessory/marking/bandage/l_foot/l_foot_2 name = "Bandage, Left Foot 2" icon_state = "bandage2" @@ -1311,7 +1316,7 @@ includes scars and tattoos icon_state = "bandage2_tesh" species_allowed = list(SPECIES_TESHARI) -/datum/sprite_accessory/marking/bandage/l_foot/l_foot3 +/datum/sprite_accessory/marking/bandage/l_foot/l_foot_3 name = "Bandage, Left Foot 3" icon_state = "bandage3" @@ -2064,7 +2069,7 @@ includes scars and tattoos name = "Wrist Fluff" icon_state = "fluffy_cuffs" color_blend_mode = ICON_MULTIPLY - body_parts = list(BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND) + body_parts = list(BP_L_ARM,BP_R_ARM) /datum/sprite_accessory/marking/vr_chubby_belly name = "Chubby Belly" @@ -2497,6 +2502,9 @@ includes scars and tattoos //Replikant-specific markings +/datum/sprite_accessory/marking/replikant + name = DEVELOPER_WARNING_NAME + /datum/sprite_accessory/marking/replikant/replika_r_thigh name = "Replikant Stripe - Right Thigh" icon_state = "replika" @@ -2523,7 +2531,7 @@ includes scars and tattoos /datum/sprite_accessory/marking/replikant/replika_panels_body name = "Replikant Paneling - SynthFlesh (body)" - icon_state = "replikao" + icon_state = "replika" color_blend_mode = ICON_MULTIPLY body_parts = list(BP_TORSO) @@ -2535,7 +2543,7 @@ includes scars and tattoos //Digitigrade markings /datum/sprite_accessory/marking/digi - name = "Digitigrate Marking Subcat, Please Ignore" + name = DEVELOPER_WARNING_NAME icon = 'icons/mob/human_races/markings_digi.dmi' digitigrade_acceptance = MARKING_DIGITIGRADE_ONLY diff --git a/code/modules/mob/new_player/sprite_accessories_tail.dm b/code/modules/mob/new_player/sprite_accessories_tail.dm index cecb22bf9b..ae626211f2 100644 --- a/code/modules/mob/new_player/sprite_accessories_tail.dm +++ b/code/modules/mob/new_player/sprite_accessories_tail.dm @@ -606,7 +606,7 @@ extra_overlay = "teshpattern_fem_tail" /datum/sprite_accessory/tail/tesh_pattern_fem_alt - name = "Teshari male tail alt. pattern" + name = "Teshari fem tail alt. pattern" desc = "" icon_state = "teshtail_s" do_colouration = 1 @@ -622,7 +622,7 @@ //For all species tails. Includes haircolored tails. /datum/sprite_accessory/tail/special - name = "Blank tail. Do not select." + name = DEVELOPER_WARNING_NAME icon = 'icons/effects/species_tails.dmi' /datum/sprite_accessory/tail/special/unathi diff --git a/code/modules/mob/new_player/sprite_accessories_taur.dm b/code/modules/mob/new_player/sprite_accessories_taur.dm index 66cc7055b4..c3a9af3917 100644 --- a/code/modules/mob/new_player/sprite_accessories_taur.dm +++ b/code/modules/mob/new_player/sprite_accessories_taur.dm @@ -1312,7 +1312,9 @@ icon_loaf = 'icons/mob/vore/taurs_loaf.dmi' //This file needs to be nuked during the removal of 'taurs_ch_loaf.dmi' into the normal loaf file. loaf_offset = 5 -/datum/sprite_accessory/tail/taur/lizard/fat/spotty + + +/datum/sprite_accessory/tail/taur/lizard/spotty_fat name = "Fat Spotted Lizard (Taur, Tricolor)" icon_state = "fatspottedlizard_s" extra_overlay = "fatspottedlizard_markings" diff --git a/code/modules/mob/new_player/sprite_accessories_yw.dm b/code/modules/mob/new_player/sprite_accessories_yw.dm index b8f93a6551..911d92ce98 100644 --- a/code/modules/mob/new_player/sprite_accessories_yw.dm +++ b/code/modules/mob/new_player/sprite_accessories_yw.dm @@ -58,23 +58,3 @@ icon_state = "preg_tummy_teshari" color_blend_mode = ICON_MULTIPLY body_parts = list(BP_TORSO,BP_GROIN,BP_L_HAND,BP_R_HAND,BP_L_LEG,BP_R_LEG) -/datum/sprite_accessory/marking/yw/teshari_pattern_female - name = "Teshari female pattern" - icon_state = "tesh-pattern-fem" - color_blend_mode = ICON_MULTIPLY - body_parts = list(BP_L_LEG,BP_R_LEG,BP_L_HAND,BP_R_HAND,BP_TORSO,BP_GROIN,BP_HEAD) -/datum/sprite_accessory/marking/yw/teshari_pattern_male - name = "Teshari male pattern" - icon_state = "tesh-pattern-male" - color_blend_mode = ICON_MULTIPLY - body_parts = list(BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND,BP_TORSO,BP_GROIN,BP_HEAD) -/datum/sprite_accessory/marking/yw/teshari_large_eyes - name = "Teshari large eyes" - icon_state = "teshlarge_eyes" - color_blend_mode = ICON_MULTIPLY - body_parts = list(BP_HEAD) -/datum/sprite_accessory/marking/yw/teshari_coat - name = "Teshari coat" - icon_state = "tesh_coat" - color_blend_mode = ICON_MULTIPLY - body_parts = list(BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_TORSO,BP_HEAD) diff --git a/code/modules/resleeving/designer.dm b/code/modules/resleeving/designer.dm index adb0ebcd58..27767e8d9e 100644 --- a/code/modules/resleeving/designer.dm +++ b/code/modules/resleeving/designer.dm @@ -1,6 +1,4 @@ // Little define makes it cleaner to read the tripple color values out of mobs. -#define MOB_HEX_COLOR(M, V) "#[num2hex(M.r_##V, 2)][num2hex(M.g_##V, 2)][num2hex(M.b_##V, 2)]" - #define MENU_MAIN "Main" #define MENU_BODYRECORDS "Body Records" #define MENU_STOCKRECORDS "Stock Records" @@ -16,18 +14,9 @@ light_color = "#315ab4" circuit = /obj/item/circuitboard/body_designer req_access = list(access_medical) // Used for loading people's designs - var/temp = "" - var/menu = MENU_MAIN //Which menu screen to display - var/datum/transhuman/body_record/active_br = null - //Mob preview - var/map_name - var/obj/screen/south_preview = null - var/obj/screen/east_preview = null - var/obj/screen/west_preview = null - var/obj/screen/north_preview = null - // Mannequins are somewhat expensive to create, so cache it - var/mob/living/carbon/human/dummy/mannequin/mannequin = null + var/datum/tgui_module/appearance_changer/body_designer/designer_gui var/obj/item/disk/body_record/disk = null + var/selected_record = FALSE // Resleeving database this machine interacts with. Blank for default database // Needs a matching /datum/transcore_db with key defined in code @@ -36,45 +25,19 @@ /obj/machinery/computer/transhuman/designer/Initialize() . = ..() - map_name = "transhuman_designer_[REF(src)]_map" - - south_preview = new - south_preview.name = "" - south_preview.assigned_map = map_name - south_preview.del_on_map_removal = FALSE - south_preview.screen_loc = "[map_name]:2,1" - - east_preview = new - east_preview.name = "" - east_preview.assigned_map = map_name - east_preview.del_on_map_removal = FALSE - east_preview.screen_loc = "[map_name]:4,1" - - west_preview = new - west_preview.name = "" - west_preview.assigned_map = map_name - west_preview.del_on_map_removal = FALSE - west_preview.screen_loc = "[map_name]:0,1" - - north_preview = new - north_preview.name = "" - north_preview.assigned_map = map_name - north_preview.del_on_map_removal = FALSE - north_preview.screen_loc = "[map_name]:6,1" - our_db = SStranscore.db_by_key(db_key) /obj/machinery/computer/transhuman/designer/Destroy() - active_br = null - mannequin = null - disk = null - return ..() + if(disk) + disk.forceMove(get_turf(src)) + disk = null + . = ..() /obj/machinery/computer/transhuman/designer/dismantle() if(disk) disk.forceMove(get_turf(src)) disk = null - ..() + . = ..() /obj/machinery/computer/transhuman/designer/attackby(obj/item/W as obj, mob/user as mob) if(istype(W, /obj/item/disk/body_record)) @@ -82,482 +45,24 @@ disk = W disk.forceMove(src) to_chat(user, span_notice("You insert \the [W] into \the [src].")) - updateUsrDialog() + SStgui.update_uis(src) else - ..() - return + . = ..() /obj/machinery/computer/transhuman/designer/attack_ai(mob/user as mob) - return attack_hand(user) + attack_hand(user) /obj/machinery/computer/transhuman/designer/attack_hand(mob/user as mob) add_fingerprint(user) if(inoperable()) return - tgui_interact(user) - -/obj/machinery/computer/transhuman/designer/tgui_interact(mob/user, datum/tgui/ui) - ui = SStgui.try_update_ui(user, src, ui) - if(!ui) - give_client_previews(user.client) - ui = new(user, src, "BodyDesigner", name) - ui.open() - -/obj/machinery/computer/transhuman/designer/tgui_static_data(mob/user) - var/list/data = ..() - data["mapRef"] = map_name - return data - -/obj/machinery/computer/transhuman/designer/tgui_data(mob/user) - var/list/data = list() - - if(menu == MENU_BODYRECORDS) - var/bodyrecords_list_ui[0] - for(var/N in our_db.body_scans) - var/datum/transhuman/body_record/BR = our_db.body_scans[N] - bodyrecords_list_ui[++bodyrecords_list_ui.len] = list("name" = N, "recref" = "\ref[BR]") - if(bodyrecords_list_ui.len) - data["bodyrecords"] = bodyrecords_list_ui - - if(menu == MENU_STOCKRECORDS) - var/stock_bodyrecords_list_ui[0] - for (var/N in GLOB.all_species) - var/datum/species/S = GLOB.all_species[N] - if((S.spawn_flags & (SPECIES_IS_WHITELISTED|SPECIES_CAN_JOIN)) != SPECIES_CAN_JOIN) continue - stock_bodyrecords_list_ui += N - if(stock_bodyrecords_list_ui.len) - data["stock_bodyrecords"] = stock_bodyrecords_list_ui - - if(active_br) - data["activeBodyRecord"] = list( - "real_name" = active_br.mydna.name, - "speciesname" = active_br.speciesname ? active_br.speciesname : active_br.mydna.dna.species, - "blood_type" = active_br.mydna.dna.b_type, - "blood_color" = active_br.mydna.dna.blood_color, - "blood_reagents" = active_br.mydna.dna.blood_reagents, - "weight" = !isnull(active_br.weight) ? active_br.weight : 137, // 137 id default in code\modules\client\preference_setup\vore\02_size.dm - "flavors" = list(), - "scale_appearance" = active_br.mydna.dna.scale_appearance ? "Fuzzy" : "Sharp", - "offset_override" = active_br.mydna.dna.offset_override ? "Odd" : "Even", - "species_sound" = active_br.mydna.dna.species_sounds, - "gender" = active_br.bodygender, - "synthetic" = active_br.synthetic ? "Yes" : "No", - "locked" = active_br.locked, - "scale" = player_size_name(active_br.sizemult), - "booc" = active_br.body_oocnotes, - "styles" = list() - ) - - var/list/flavors = data["activeBodyRecord"]["flavors"] - flavors += active_br.mydna.flavor.Copy() - - var/list/styles = data["activeBodyRecord"]["styles"] - var/list/temp - - if (mannequin.species && mannequin.species.selects_bodytype) - if (!mannequin.species.base_species) - mannequin.species.base_species = mannequin.species.name - styles["Bodytype"] = list("styleHref" = "custom_base", "style" = mannequin.species.base_species) - - temp = list("styleHref" = "ear_style", "style" = "Normal") - if(mannequin.ear_style) - temp["style"] = mannequin.ear_style.name - if(mannequin.ear_style.do_colouration) - temp["color"] = MOB_HEX_COLOR(mannequin, ears) - temp["colorHref"] = "ear_color" - if(mannequin.ear_style.extra_overlay) - temp["color2"] = MOB_HEX_COLOR(mannequin, ears2) - temp["colorHref2"] = "ear_color2" - if(mannequin.ear_style.extra_overlay2) - temp["color3"] = MOB_HEX_COLOR(mannequin, ears3) - temp["colorHref3"] = "ear_color3" - styles["Ears"] = temp - - temp = list("styleHref" = "ear_style", "style" = "Normal") - if(mannequin.ear_secondary_style) - temp["style"] = mannequin.ear_secondary_style.name - if(length(mannequin.ear_secondary_colors) >= 1) - temp["color"] = mannequin.ear_secondary_colors[1] - temp["colorHref"] = list("act" = "ear_secondary_color", "channel" = 1) - if(length(mannequin.ear_secondary_colors) >= 2) - temp["color"] = mannequin.ear_secondary_colors[2] - temp["colorHref"] = list("act" = "ear_secondary_color", "channel" = 2) - styles["Horns"] = temp - - temp = list("styleHref" = "tail_style", "style" = "Normal") - if(mannequin.tail_style) - temp["style"] = mannequin.tail_style.name - if(mannequin.tail_style.do_colouration) - temp["color"] = MOB_HEX_COLOR(mannequin, tail) - temp["colorHref"] = "tail_color" - if(mannequin.tail_style.extra_overlay) - temp["color2"] = MOB_HEX_COLOR(mannequin, tail2) - temp["colorHref2"] = "tail_color2" - if(mannequin.tail_style.extra_overlay2) - temp["color3"] = MOB_HEX_COLOR(mannequin, tail3) - temp["colorHref3"] = "tail_color3" - styles["Tail"] = temp - - temp = list("styleHref" = "wing_style", "style" = "Normal") - if(mannequin.wing_style) - temp["style"] = mannequin.wing_style.name - if(mannequin.wing_style.do_colouration) - temp["color"] = MOB_HEX_COLOR(mannequin, wing) - temp["colorHref"] = "wing_color" - if(mannequin.wing_style.extra_overlay) - temp["color2"] = MOB_HEX_COLOR(mannequin, wing2) - temp["colorHref2"] = "wing_color2" - if(mannequin.wing_style.extra_overlay2) - temp["color3"] = MOB_HEX_COLOR(mannequin, wing3) - temp["colorHref3"] = "wing_color3" - styles["Wing"] = temp - - temp = list("styleHref" = "hair_style", "style" = mannequin.h_style) - if(mannequin.species && (mannequin.species.appearance_flags & HAS_HAIR_COLOR)) - temp["color"] = MOB_HEX_COLOR(mannequin, hair) - temp["colorHref"] = "hair_color" - styles["Hair"] = temp - - temp = list("styleHref" = "facial_style", "style" = mannequin.f_style) - if(mannequin.species && (mannequin.species.appearance_flags & HAS_HAIR_COLOR)) - temp["color"] = MOB_HEX_COLOR(mannequin, facial) - temp["colorHref"] = "facial_color" - styles["Facial"] = temp - - if(mannequin.species && (mannequin.species.appearance_flags & HAS_EYE_COLOR)) - styles["Eyes"] = list("colorHref" = "eye_color", "color" = MOB_HEX_COLOR(mannequin, eyes)) - - if(mannequin.species && (mannequin.species.appearance_flags & HAS_SKIN_COLOR)) - styles["Body Color"] = list("colorHref" = "skin_color", "color" = MOB_HEX_COLOR(mannequin, skin)) - - var/datum/preferences/designer/P = new() - apply_markings_to_prefs(mannequin, P) - data["activeBodyRecord"]["markings"] = P.body_markings - data["activeBodyRecord"]["digitigrade"] = mannequin.digitigrade - - data["menu"] = menu - data["temp"] = temp - data["disk"] = disk ? 1 : 0 - data["diskStored"] = disk && disk.stored ? 1 : 0 - - return data - -/obj/machinery/computer/transhuman/designer/tgui_act(action, params, datum/tgui/ui) - if(..()) - return TRUE - - switch(action) - if("debug_load_my_body") - active_br = new /datum/transhuman/body_record(ui.user, FALSE, FALSE) - update_preview_icon() - menu = MENU_SPECIFICRECORD - - if("view_brec") - var/datum/transhuman/body_record/BR = locate(params["view_brec"]) - if(BR && istype(BR.mydna)) - if(allowed(ui.user) || BR.ckey == ui.user.ckey) - active_br = new /datum/transhuman/body_record(BR) // Load a COPY! - update_preview_icon() - menu = MENU_SPECIFICRECORD - else - active_br = null - temp = "Access denied: Body records are confidential." - else - active_br = null - temp = "ERROR: Record missing." - - if("view_stock_brec") - var/datum/species/S = GLOB.all_species[params["view_stock_brec"]] - if(S && (S.spawn_flags & (SPECIES_IS_WHITELISTED|SPECIES_CAN_JOIN)) == SPECIES_CAN_JOIN) - // Generate body record from species! - mannequin = new(null, S.name) - mannequin.real_name = "Stock [S.name] Body" - mannequin.name = mannequin.real_name - mannequin.dna.real_name = mannequin.real_name - mannequin.dna.base_species = mannequin.species.base_species - active_br = new(mannequin, FALSE, FALSE) - active_br.speciesname = "Custom Sleeve" - update_preview_icon() - menu = MENU_SPECIFICRECORD - else - active_br = null - temp = "ERROR: Stock Record missing." - - if("boocnotes") - menu = MENU_OOCNOTES - - if("loadfromdisk") - if(disk && disk.stored) - active_br = new /datum/transhuman/body_record(disk.stored) // Loads a COPY! - update_preview_icon() - menu = MENU_SPECIFICRECORD - - if("savetodisk") - if(active_br.locked) - var/answer = tgui_alert(ui.user,"This body record will be written to a disk and allow any mind to inhabit it. This is against the current body owner's configured OOC preferences for body impersonation. Please confirm that you have permission to do this, and are sure! Admins will be notified.","Mind Compatability",list("No","Yes")) - if(!answer) - return - if(answer == "No") - to_chat(ui.user, span_warning("ERROR: This body record is restricted.")) - return - else - message_admins("[ui.user] wrote an unlocked version of [active_br.mydna.name]'s bodyrecord to a disk. Their preferences do not allow body impersonation, but may be allowed with OOC consent.") - if(disk && active_br) - active_br.locked = FALSE // remove lock - disk.stored = new /datum/transhuman/body_record(active_br) // Saves a COPY! - disk.name = "[initial(disk.name)] ([active_br.mydna.name])" - - if("ejectdisk") - disk.forceMove(get_turf(src)) - disk = null - - if("menu") - menu = params["menu"] - temp = "" - - if("href_conversion") - PrefHrefMiddleware(params, ui.user) - - add_fingerprint(ui.user) - return TRUE // Return 1 to refresh UI - -// -// Code below is for generating preview icons based on a body_record -// - -// Based on /datum/preferences/proc/update_preview_icon() -/obj/machinery/computer/transhuman/designer/proc/update_preview_icon() - if(!mannequin) - mannequin = new () - mannequin.delete_inventory(TRUE) - update_preview_mob(mannequin) - mannequin.ImmediateOverlayUpdate() - - var/mutable_appearance/MA = new(mannequin) - south_preview.appearance = MA - south_preview.dir = SOUTH - south_preview.screen_loc = "[map_name]:2,1" - south_preview.name = "" - east_preview.appearance = MA - east_preview.dir = EAST - east_preview.screen_loc = "[map_name]:4,1" - east_preview.name = "" - west_preview.appearance = MA - west_preview.dir = WEST - west_preview.screen_loc = "[map_name]:0,1" - west_preview.name = "" - north_preview.appearance = MA - north_preview.dir = NORTH - north_preview.screen_loc = "[map_name]:6,1" - north_preview.name = "" - -/obj/machinery/computer/transhuman/designer/proc/give_client_previews(client/C) - C.register_map_obj(south_preview) - C.register_map_obj(east_preview) - C.register_map_obj(west_preview) - C.register_map_obj(north_preview) - - -/obj/machinery/computer/transhuman/designer/proc/update_preview_mob(var/mob/living/carbon/human/H) - ASSERT(!QDELETED(H)) - ASSERT(!QDELETED(active_br)) - //log_debug("designer.update_preview_mob([H]) active_br = \ref[active_br]") - //Get the DNA and generate a new mob - var/datum/dna2/record/R = active_br.mydna - H.set_species(R.dna.species) // This needs to happen before anything else becuase it sets some variables. - - // Update the external organs - for(var/part in active_br.limb_data) - var/status = active_br.limb_data[part] - if(status == null) continue //Species doesn't have limb? Child of amputated limb? - - var/obj/item/organ/external/O = H.organs_by_name[part] - if(!O) continue //Not an organ. Perhaps another amputation removed it already. - - if(status == 1) //Normal limbs - continue - else if(status == 0) //Missing limbs - O.remove_rejuv() - else if(status) //Anything else is a manufacturer - if(active_br.synthetic) - O.robotize(status) - else - O.remove_rejuv() - - // Then the internal organs. I think only O_EYES acutally counts, but lets do all just in case - for(var/part in active_br.organ_data) - var/status = active_br.organ_data[part] - if(status == null) continue //Species doesn't have organ? Child of missing part? - - var/obj/item/organ/I = H.internal_organs_by_name[part] - if(!I) continue//Not an organ. Perhaps external conversion changed it already? - - if(status == 0) //Normal organ - continue - else if(status == 1) //Assisted organ - I.mechassist() - else if(status == 2) //Mechanical organ - I.robotize() - else if(status == 3) //Digital organ - I.digitize() - - // Apply DNA - qdel_swap(H.dna, R.dna.Clone()) - H.UpdateAppearance() // Update all appearance stuff from the DNA record - // H.sync_dna_traits(FALSE) // Traitgenes edit - Sync traits to genetics if needed // Currently not implemented - H.sync_organ_dna() // Do this because sprites depend on DNA-gender of organs (chest etc) - H.resize(active_br.sizemult, FALSE) - - // Emissiive... - if(H.ear_style) - H.ear_style.em_block = FALSE - if(H.tail_style) - H.tail_style.em_block = FALSE - if(H.wing_style) - H.wing_style.em_block = FALSE - - for(var/key in R.flavor) - H.flavor_texts[key] = R.flavor[key] - H.weight = active_br.weight - // stupid dupe vars - H.b_type = active_br.mydna.dna.b_type - H.blood_color = active_br.mydna.dna.blood_color - - // And as for clothing... - // We don't actually dress them! This is a medical machine, handle the nakedness DOCTOR! - - H.regenerate_icons() - return 0 // Success! - -// HORROR SHOW BELOW -// In order to avoid duplicating the many lines of code in player_setup that handle customizing -// body setup, we acutally are invoking those methods in order to let people customize the body here. -// Problem is, those procs save their data to /datum/preferences, not a body_record. -// Luckily the procs to convert from body_record to /datum/preferences and back already exist. -// Its ugly, but I think its still better than duplicating and maintaining all that code. -/obj/machinery/computer/transhuman/designer/proc/PrefHrefMiddleware(list/params, var/mob/user) - if(!mannequin || !active_br) - return - - if(params["target_href"] == "size_multiplier") - var/new_size = tgui_input_number(user, "Choose your character's size, ranging from 25% to 200%", "Character Preference", null, 200, 25) - if(new_size && ISINRANGE(new_size,25,200)) - active_br.sizemult = (new_size/100) - update_preview_icon() - return 1 - - // The black magic horror show begins - var/datum/preferences/designer/P = new() - - // We did DNA to mob, now mob to prefs! - P.species = mannequin.species.name - apply_coloration_to_prefs(mannequin, P) - apply_organs_to_prefs(mannequin, P) - apply_markings_to_prefs(mannequin, P) - apply_ears_to_prefs(mannequin, P) - - for(var/key in active_br.mydna.flavor) - P.flavor_texts[key] = active_br.mydna.flavor[key] - P.fuzzy = active_br.mydna.dna.scale_appearance - P.offset_override = active_br.mydna.dna.offset_override - P.species_sound = active_br.mydna.dna.species_sounds // CHOMPEnable - - // Now we start using the player_setup objects to do stuff! - var/datum/category_collection/CC = P.player_setup - var/datum/category_group/CG = CC.categories_by_name["General"] - - var/datum/category_item/player_setup_item/general/body/B = CG.items_by_name["Body"] - ASSERT(istype(B)) - var/datum/category_item/player_setup_item/general/basic/G = CG.items_by_name["Basic"] - ASSERT(istype(G)) - var/datum/category_item/player_setup_item/general/flavor/F = CG.items_by_name["Flavor"] - ASSERT(istype(F)) - var/datum/category_item/player_setup_item/vore/size/S = CC.categories_by_name["VORE"].items_by_name["Size"] - ASSERT(istype(S)) - var/datum/category_item/player_setup_item/vore/traits/V = CC.categories_by_name["VORE"].items_by_name["Traits"] - ASSERT(istype(V)) - var/list/use_different_category = list("rename" = G, "bio_gender" = G, "blood_reagents" = V, "custom_species" = V, "blood_color" = V, "custom_base" = V, "species_sound_options" = S, "toggle_fuzzy" = S, "toggle_offset_override" = S, "weight" = S, "flavor_text" = F) //add more here if needed - - - var/href_list = list() - href_list["src"] = "\ref[src]" - var/list/target_href_maybe = params["target_href"] - // convert list-form inputs as needed - if(islist(target_href_maybe)) - href_list[target_href_maybe["act"]] = TRUE - for(var/key in target_href_maybe["params"]) - var/val = target_href_maybe["params"][key] - href_list[key] = "[val]" - else - href_list[target_href_maybe] = params["target_value"] - var/datum/category_item/player_setup_item/to_use = (params["target_href"] in use_different_category) ? use_different_category[params["target_href"]] : B - - var/action = 0 - action = to_use.OnTopic(list2params(href_list), href_list, user) - if((action & TOPIC_UPDATE_PREVIEW || action & TOPIC_REFRESH_UPDATE_PREVIEW || action & TOPIC_HANDLED || action & TOPIC_REFRESH) && mannequin && active_br) // Outpost 21 edit - Handled and Refreshes also count for check! - switch(params["target_href"]) - if("rename") - active_br.mydna.name = P.real_name - active_br.mydna.dna.real_name = P.real_name - update_preview_icon() - return TRUE - if("bio_gender") - active_br.bodygender = P.biological_gender - active_br.mydna.dna.SetUIState(DNA_UI_GENDER, P.biological_gender!=MALE, 1) - update_preview_icon() - return TRUE - if("custom_species") - active_br.mydna.dna.custom_species = P.custom_species - active_br.speciesname = P.custom_species - update_preview_icon() - return TRUE - if("blood_color") - active_br.mydna.dna.blood_color = P.blood_color - update_preview_icon() - return TRUE - if("blood_type") - active_br.mydna.dna.b_type = P.b_type - update_preview_icon() - return TRUE - if("blood_reagents") - active_br.mydna.dna.blood_reagents = P.blood_reagents - update_preview_icon() - return TRUE - if("weight") - active_br.weight = P.weight_vr - update_preview_icon() - return TRUE - if("flavor_text") - to_use.copy_to_mob(mannequin) - for(var/key in mannequin.flavor_texts) // Get the flavors from the mob, which we just got from pref! - active_br.mydna.flavor[key] = mannequin.flavor_texts[key] - update_preview_icon() - return TRUE - if("toggle_fuzzy") - active_br.mydna.dna.scale_appearance = P.fuzzy - update_preview_icon() - return TRUE - if("toggle_offset_override") - active_br.mydna.dna.offset_override = P.offset_override - update_preview_icon() - return TRUE - if("species_sound_options") - // CHOMPEnable Start - active_br.mydna.dna.species_sounds = P.species_sound - update_preview_icon() - // CHOMPEnable End - return TRUE - to_use.copy_to_mob(mannequin) - mannequin.species.blood_color = active_br.mydna.dna.blood_color - mannequin.species.blood_reagents = active_br.mydna.dna.blood_reagents - active_br.mydna.dna.ResetUIFrom(mannequin) - update_preview_icon() - return TRUE - -// Fake subtype of preferences we can use to steal code from player_setup -/datum/preferences/designer/New() - player_setup = new(src) - // Do NOT call ..(), it expects real stuff + if(!designer_gui) + designer_gui = new(src, null) + designer_gui.linked_body_design_console = WEAKREF(src) + if(!designer_gui.owner) + designer_gui.make_fake_owner() + selected_record = FALSE + designer_gui.tgui_interact(user) // Disk for manually moving body records between the designer and sleever console etc. /obj/item/disk/body_record @@ -585,8 +90,6 @@ for(var/i = 0 to 7) new /obj/item/disk/body_record(src) -#undef MOB_HEX_COLOR - #undef MENU_MAIN #undef MENU_BODYRECORDS #undef MENU_STOCKRECORDS diff --git a/code/modules/resleeving/infocore_records.dm b/code/modules/resleeving/infocore_records.dm index 0eb7eefee7..d9675da419 100644 --- a/code/modules/resleeving/infocore_records.dm +++ b/code/modules/resleeving/infocore_records.dm @@ -216,7 +216,7 @@ /** - * Make a deep copy of this record so it can be saved on a disk without mofidications + * Make a deep copy of this record so it can be saved on a disk without modifications * to the original affecting the copy. * Just to be clear, this has nothing to do do with acutal biological cloning, body printing, resleeving, * or anything like that! This is the computer science concept of "cloning" a data structure! @@ -239,9 +239,13 @@ src.speciesname = orig.speciesname src.bodygender = orig.bodygender src.body_oocnotes = orig.body_oocnotes + src.body_ooclikes = orig.body_ooclikes + src.body_oocdislikes = orig.body_oocdislikes src.limb_data = orig.limb_data.Copy() src.organ_data = orig.organ_data.Copy() src.genetic_modifiers = orig.genetic_modifiers.Copy() src.toocomplex = orig.toocomplex src.sizemult = orig.sizemult src.aflags = orig.aflags + src.breath_type = orig.breath_type + src.weight = orig.weight diff --git a/code/modules/tgui/modules/appearance_changer.dm b/code/modules/tgui/modules/appearance_changer.dm index 117f02fdbb..e97890bd25 100644 --- a/code/modules/tgui/modules/appearance_changer.dm +++ b/code/modules/tgui/modules/appearance_changer.dm @@ -1,3 +1,20 @@ +// ******************************************************* +// Unified body transformation UI for inround TF or bodyrecord editing. +// Make a new subtype of this, and configure it for whatever changes +// that you will be allowing on the objects. This is a tgui UI and can +// be attached to any object. +// +// USE THIS instead of recoding tf/appearance editing for the forth time +// in this codebase. It should all be in one place, and extended for every +// new feature added to cosmetics. Be sure to update bodyrecords and their +// cloning/to/from mob procs as well. +// +// owner is the mob being transformed, ui.user is the mob using the interface +// if owner and user are the same, there is some special logic for self-tf. +// use can_change(owner, APPEARANCE_X) to validate if the owner is still in a +// valid state for the module to edit them. +// ******************************************************* + /datum/tgui_module/appearance_changer name = "Appearance Editor" tgui_id = "AppearanceChanger" @@ -25,6 +42,7 @@ var/list/valid_earstyles = list() var/list/valid_tailstyles = list() var/list/valid_wingstyles = list() + var/list/valid_gradstyles = list() var/list/markings = null /datum/tgui_module/appearance_changer/New( @@ -84,6 +102,12 @@ if(..()) return TRUE + var/obj/machinery/computer/transhuman/designer/DC = null + var/datum/tgui_module/appearance_changer/body_designer/BD = null + if(istype(src,/datum/tgui_module/appearance_changer/body_designer)) + BD = src + DC = BD.linked_body_design_console?.resolve() + switch(action) if("race") if(can_change(owner, APPEARANCE_RACE) && (params["race"] in valid_species)) @@ -110,14 +134,14 @@ if("skin_tone") if(can_change_skin_tone(owner)) var/new_s_tone = tgui_input_number(ui.user, "Choose your character's skin-tone:\n(Light 1 - 220 Dark)", "Skin Tone", -owner.s_tone + 35, 220, 1) - if(isnum(new_s_tone) && can_still_topic(owner, state)) + if(isnum(new_s_tone) && can_still_topic(ui.user, state)) new_s_tone = 35 - max(min( round(new_s_tone), 220),1) changed_hook(APPEARANCECHANGER_CHANGED_SKINTONE) return owner.change_skin_tone(new_s_tone) if("skin_color") if(can_change_skin_color(owner)) var/new_skin = tgui_color_picker(ui.user, "Choose your character's skin colour: ", "Skin Color", rgb(owner.r_skin, owner.g_skin, owner.b_skin)) - if(new_skin && can_still_topic(owner, state)) + if(new_skin && can_still_topic(ui.user, state)) var/r_skin = hex2num(copytext(new_skin, 2, 4)) var/g_skin = hex2num(copytext(new_skin, 4, 6)) var/b_skin = hex2num(copytext(new_skin, 6, 8)) @@ -126,15 +150,23 @@ changed_hook(APPEARANCECHANGER_CHANGED_SKINCOLOR) return 1 if("hair") - if(can_change(owner, APPEARANCE_HAIR) && (params["hair"] in valid_hairstyles)) - if(owner.change_hair(params["hair"])) + if(can_change(owner, APPEARANCE_HAIR) && (params["name"] in valid_hairstyles)) + if(owner.change_hair(params["name"])) update_dna(owner) changed_hook(APPEARANCECHANGER_CHANGED_HAIRSTYLE) return 1 + if("hair_grad") + var/picked = params["picked"] + if(picked && can_change(owner, APPEARANCE_HAIR_COLOR)) + owner.grad_style = picked[1] // returned as a list + update_dna(owner) + owner.regenerate_icons() + changed_hook(APPEARANCECHANGER_CHANGED_HAIRSTYLE) + return 1 if("hair_color") if(can_change(owner, APPEARANCE_HAIR_COLOR)) var/new_hair = tgui_color_picker(ui.user, "Please select hair color.", "Hair Color", rgb(owner.r_hair, owner.g_hair, owner.b_hair)) - if(new_hair && can_still_topic(owner, state)) + if(new_hair && can_still_topic(ui.user, state)) var/r_hair = hex2num(copytext(new_hair, 2, 4)) var/g_hair = hex2num(copytext(new_hair, 4, 6)) var/b_hair = hex2num(copytext(new_hair, 6, 8)) @@ -142,16 +174,27 @@ update_dna(owner) changed_hook(APPEARANCECHANGER_CHANGED_HAIRCOLOR) return 1 + if("hair_color_grad") + if(can_change(owner, APPEARANCE_HAIR_COLOR)) + var/new_grad = tgui_color_picker(ui.user, "Please select hair gradiant color.", "Hair Color", rgb(owner.r_grad, owner.g_grad, owner.b_grad)) + if(new_grad && can_still_topic(ui.user, state)) + var/r_grad = hex2num(copytext(new_grad, 2, 4)) + var/g_grad = hex2num(copytext(new_grad, 4, 6)) + var/b_grad = hex2num(copytext(new_grad, 6, 8)) + if(owner.change_grad_color(r_grad, g_grad, b_grad)) + update_dna(owner) + changed_hook(APPEARANCECHANGER_CHANGED_HAIRCOLOR) + return 1 if("facial_hair") - if(can_change(owner, APPEARANCE_FACIAL_HAIR) && (params["facial_hair"] in valid_facial_hairstyles)) - if(owner.change_facial_hair(params["facial_hair"])) + if(can_change(owner, APPEARANCE_FACIAL_HAIR) && (params["name"] in valid_facial_hairstyles)) + if(owner.change_facial_hair(params["name"])) update_dna(owner) changed_hook(APPEARANCECHANGER_CHANGED_F_HAIRSTYLE) return 1 if("facial_hair_color") if(can_change(owner, APPEARANCE_FACIAL_HAIR_COLOR)) var/new_facial = tgui_color_picker(ui.user, "Please select facial hair color.", "Facial Hair Color", rgb(owner.r_facial, owner.g_facial, owner.b_facial)) - if(new_facial && can_still_topic(owner, state)) + if(new_facial && can_still_topic(ui.user, state)) var/r_facial = hex2num(copytext(new_facial, 2, 4)) var/g_facial = hex2num(copytext(new_facial, 4, 6)) var/b_facial = hex2num(copytext(new_facial, 6, 8)) @@ -162,7 +205,7 @@ if("eye_color") if(can_change(owner, APPEARANCE_EYE_COLOR)) var/new_eyes = tgui_color_picker(ui.user, "Please select eye color.", "Eye Color", rgb(owner.r_eyes, owner.g_eyes, owner.b_eyes)) - if(new_eyes && can_still_topic(owner, state)) + if(new_eyes && can_still_topic(ui.user, state)) var/r_eyes = hex2num(copytext(new_eyes, 2, 4)) var/g_eyes = hex2num(copytext(new_eyes, 4, 6)) var/b_eyes = hex2num(copytext(new_eyes, 6, 8)) @@ -170,7 +213,6 @@ update_dna(owner) changed_hook(APPEARANCECHANGER_CHANGED_EYES) return 1 - // VOREStation Add - Ears/Tails/Wings/Markings if("ear") if(can_change(owner, APPEARANCE_ALL_HAIR)) var/datum/sprite_accessory/ears/instance = locate(params["ref"]) @@ -202,7 +244,7 @@ if("ears_color") if(can_change(owner, APPEARANCE_HAIR_COLOR)) var/new_hair = tgui_color_picker(ui.user, "Please select ear color.", "Ear Color", rgb(owner.r_ears, owner.g_ears, owner.b_ears)) - if(new_hair && can_still_topic(owner, state)) + if(new_hair && can_still_topic(ui.user, state)) owner.r_ears = hex2num(copytext(new_hair, 2, 4)) owner.g_ears = hex2num(copytext(new_hair, 4, 6)) owner.b_ears = hex2num(copytext(new_hair, 6, 8)) @@ -213,7 +255,7 @@ if("ears2_color") if(can_change(owner, APPEARANCE_HAIR_COLOR)) var/new_hair = tgui_color_picker(ui.user, "Please select secondary ear color.", "2nd Ear Color", rgb(owner.r_ears2, owner.g_ears2, owner.b_ears2)) - if(new_hair && can_still_topic(owner, state)) + if(new_hair && can_still_topic(ui.user, state)) owner.r_ears2 = hex2num(copytext(new_hair, 2, 4)) owner.g_ears2 = hex2num(copytext(new_hair, 4, 6)) owner.b_ears2 = hex2num(copytext(new_hair, 6, 8)) @@ -228,7 +270,7 @@ return TRUE var/existing = LAZYACCESS(owner.ear_secondary_colors, channel) || "#ffffff" var/new_color = tgui_color_picker(ui.user, "Please select ear color.", "2nd Ear Color", existing) - if(new_color && can_still_topic(owner, state)) + if(new_color && can_still_topic(ui.user, state)) owner.ear_secondary_colors[channel] = new_color update_dna(owner) owner.update_hair() @@ -249,7 +291,7 @@ if("tail_color") if(can_change(owner, APPEARANCE_HAIR_COLOR)) var/new_hair = tgui_color_picker(ui.user, "Please select tail color.", "Tail Color", rgb(owner.r_tail, owner.g_tail, owner.b_tail)) - if(new_hair && can_still_topic(owner, state)) + if(new_hair && can_still_topic(ui.user, state)) owner.r_tail = hex2num(copytext(new_hair, 2, 4)) owner.g_tail = hex2num(copytext(new_hair, 4, 6)) owner.b_tail = hex2num(copytext(new_hair, 6, 8)) @@ -260,7 +302,7 @@ if("tail2_color") if(can_change(owner, APPEARANCE_HAIR_COLOR)) var/new_hair = tgui_color_picker(ui.user, "Please select secondary tail color.", "2nd Tail Color", rgb(owner.r_tail2, owner.g_tail2, owner.b_tail2)) - if(new_hair && can_still_topic(owner, state)) + if(new_hair && can_still_topic(ui.user, state)) owner.r_tail2 = hex2num(copytext(new_hair, 2, 4)) owner.g_tail2 = hex2num(copytext(new_hair, 4, 6)) owner.b_tail2 = hex2num(copytext(new_hair, 6, 8)) @@ -271,7 +313,7 @@ if("tail3_color") if(can_change(owner, APPEARANCE_HAIR_COLOR)) var/new_hair = tgui_color_picker(ui.user, "Please select tertiary tail color.", "3rd Tail Color", rgb(owner.r_tail3, owner.g_tail3, owner.b_tail3)) - if(new_hair && can_still_topic(owner, state)) + if(new_hair && can_still_topic(ui.user, state)) owner.r_tail3 = hex2num(copytext(new_hair, 2, 4)) owner.g_tail3 = hex2num(copytext(new_hair, 4, 6)) owner.b_tail3 = hex2num(copytext(new_hair, 6, 8)) @@ -294,7 +336,7 @@ if("wing_color") if(can_change(owner, APPEARANCE_HAIR_COLOR)) var/new_hair = tgui_color_picker(ui.user, "Please select wing color.", "Wing Color", rgb(owner.r_wing, owner.g_wing, owner.b_wing)) - if(new_hair && can_still_topic(owner, state)) + if(new_hair && can_still_topic(ui.user, state)) owner.r_wing = hex2num(copytext(new_hair, 2, 4)) owner.g_wing = hex2num(copytext(new_hair, 4, 6)) owner.b_wing = hex2num(copytext(new_hair, 6, 8)) @@ -305,7 +347,7 @@ if("wing2_color") if(can_change(owner, APPEARANCE_HAIR_COLOR)) var/new_hair = tgui_color_picker(ui.user, "Please select secondary wing color.", "2nd Wing Color", rgb(owner.r_wing2, owner.g_wing2, owner.b_wing2)) - if(new_hair && can_still_topic(owner, state)) + if(new_hair && can_still_topic(ui.user, state)) owner.r_wing2 = hex2num(copytext(new_hair, 2, 4)) owner.g_wing2 = hex2num(copytext(new_hair, 4, 6)) owner.b_wing2 = hex2num(copytext(new_hair, 6, 8)) @@ -316,7 +358,7 @@ if("wing3_color") if(can_change(owner, APPEARANCE_HAIR_COLOR)) var/new_hair = tgui_color_picker(ui.user, "Please select tertiary wing color.", "3rd Wing Color", rgb(owner.r_wing3, owner.g_wing3, owner.b_wing3)) - if(new_hair && can_still_topic(owner, state)) + if(new_hair && can_still_topic(ui.user, state)) owner.r_wing3 = hex2num(copytext(new_hair, 2, 4)) owner.g_wing3 = hex2num(copytext(new_hair, 4, 6)) owner.b_wing3 = hex2num(copytext(new_hair, 6, 8)) @@ -336,10 +378,8 @@ changed_hook(APPEARANCECHANGER_CHANGED_HAIRSTYLE) return TRUE if (1) //add - var/list/usable_markings = markings.Copy() ^ body_marking_styles_list.Copy() - var/new_marking = tgui_input_list(ui.user, "Choose a body marking:", "New Body Marking", usable_markings) - if(new_marking && can_still_topic(owner, state)) - var/datum/sprite_accessory/marking/mark_datum = body_marking_styles_list[new_marking] + if(name_marking && can_still_topic(ui.user, state)) + var/datum/sprite_accessory/marking/mark_datum = body_marking_styles_list[name_marking] if (owner.add_marking(mark_datum)) changed_hook(APPEARANCECHANGER_CHANGED_HAIRSTYLE) return TRUE @@ -352,13 +392,211 @@ if (owner.change_priority_of_marking(mark_datum, TRUE)) return TRUE if (4) //color - var/current = markings[name_marking] ? markings[name_marking] : "#000000" + var/current = markings[name_marking] ? markings[name_marking]["color"] : "#000000" var/marking_color = tgui_color_picker(ui.user, "Please select marking color", "Marking color", current) - if(marking_color && can_still_topic(owner, state)) + if(marking_color && can_still_topic(ui.user, state)) var/datum/sprite_accessory/marking/mark_datum = body_marking_styles_list[name_marking] if (owner.change_marking_color(mark_datum, marking_color)) return TRUE - // VOREStation Add End + if("rotate_view") + if(can_change(owner, APPEARANCE_RACE)) + owner.set_dir(turn(owner.dir, 90)) + return TRUE + if("rename") + if(owner) + var/raw_name = tgui_input_text(ui.user, "Choose the a name:", "Sleeve Name") + if(!isnull(raw_name) && can_change(owner, APPEARANCE_RACE)) + var/new_name = sanitize_name(raw_name, owner.species, FALSE) // can't edit synths + if(new_name) + owner.dna.real_name = new_name + owner.real_name = new_name + owner.name = new_name + return TRUE + else + to_chat(ui.user, span_warning("Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, -, ' and .")) + return TRUE + if("char_name") + if(DC) // Only body designer does this. no hrefing + var/new_name = sanitize(tgui_input_text(ui.user, "Input character's name:", "Name", owner.name, MAX_NAME_LEN), MAX_NAME_LEN) + if(can_change(owner, APPEARANCE_RACE)) // new name can be empty, it uses base species if so + owner.name = new_name + owner.real_name = owner.name + owner.dna.real_name = owner.name + return TRUE + if("race_name") + var/new_name = sanitize(tgui_input_text(ui.user, "Input custom species name:", "Custom Species Name", owner.custom_species, MAX_NAME_LEN), MAX_NAME_LEN) + if(can_change(owner, APPEARANCE_RACE)) // new name can be empty, it uses base species if so + owner.custom_species = new_name + return TRUE + if("base_icon") + if(owner.species.selects_bodytype == SELECTS_BODYTYPE_FALSE) + var/datum/species/S = GLOB.all_species[owner.species.name] + owner.species.base_species = S.base_species // Return to original form + generate_data(ui.user, owner) + changed_hook(APPEARANCECHANGER_CHANGED_RACE) + return TRUE + var/list/choices + var/datum/species/S = GLOB.all_species[owner.species.name] + if(S.selects_bodytype == SELECTS_BODYTYPE_SHAPESHIFTER) + choices = S.get_valid_shapeshifter_forms() + else if(S.selects_bodytype == SELECTS_BODYTYPE_CUSTOM) + choices = GLOB.custom_species_bases + var/new_species = tgui_input_list(ui.user, "Please select basic shape.", "Body Shape", choices) + if(new_species && can_change(owner, APPEARANCE_RACE)) + owner.species.base_species = new_species + owner.regenerate_icons() + generate_data(ui.user, owner) + changed_hook(APPEARANCECHANGER_CHANGED_RACE) + return TRUE + if("blood_reagent") + var/new_blood_reagents = tgui_input_list(ui.user, "Please select blood restoration reagent:", "Character Preference", valid_bloodreagents) + if(new_blood_reagents && can_change(owner, APPEARANCE_RACE)) + owner.dna.blood_reagents = new_blood_reagents + changed_hook(APPEARANCECHANGER_CHANGED_RACE) + return TRUE + if("blood_color") + var/current = owner.species.blood_color ? owner.species.blood_color : "#A10808" + var/blood_col = tgui_color_picker(ui.user, "Please select marking color", "Marking color", current) + if(blood_col && can_change(owner, APPEARANCE_RACE)) + owner.dna.blood_color = blood_col + changed_hook(APPEARANCECHANGER_CHANGED_RACE) + return TRUE + if("weight") + var/new_weight = tgui_input_number(ui.user, "Choose tbe character's relative body weight.\n\ + This measurement should be set relative to a normal 5'10'' person's body and not the actual size of the character.\n\ + ([WEIGHT_MIN]-[WEIGHT_MAX])", "Character Preference", null, WEIGHT_MAX, WEIGHT_MIN, round_value=FALSE) + if(new_weight && can_change(owner, APPEARANCE_RACE)) + var/unit_of_measurement = tgui_alert(ui.user, "Is that number in pounds (lb) or kilograms (kg)?", "Confirmation", list("Pounds", "Kilograms")) + if(unit_of_measurement && can_change(owner, APPEARANCE_RACE)) + if(unit_of_measurement == "Pounds") + new_weight = round(text2num(new_weight),4) + if(unit_of_measurement == "Kilograms") + new_weight = round(2.20462*text2num(new_weight),4) + owner.weight = sanitize_integer(new_weight, WEIGHT_MIN, WEIGHT_MAX, owner.weight) + changed_hook(APPEARANCECHANGER_CHANGED_RACE) + return TRUE + if("size_scale") + var/new_size = tgui_input_number(ui.user, "Choose size, ranging from [RESIZE_MINIMUM * 100]% to [RESIZE_MAXIMUM * 100]%", "Set Size", null, RESIZE_MAXIMUM * 100, RESIZE_MINIMUM * 100) + if(new_size && ISINRANGE(new_size,RESIZE_MINIMUM * 100,RESIZE_MAXIMUM * 100) && can_change(owner, APPEARANCE_RACE)) + owner.size_multiplier = new_size / 100 + owner.update_transform(TRUE) + owner.regenerate_icons() + owner.set_dir(owner.dir) // Causes a visual update for fuzzy/offset + changed_hook(APPEARANCECHANGER_CHANGED_RACE) + return TRUE + if("scale_appearance") + if(can_change(owner, APPEARANCE_RACE)) + owner.dna.scale_appearance = !owner.dna.scale_appearance + owner.fuzzy = owner.dna.scale_appearance + owner.regenerate_icons() + owner.set_dir(owner.dir) // Causes a visual update for fuzzy/offset + return TRUE + if("offset_override") + if(can_change(owner, APPEARANCE_RACE)) + owner.dna.offset_override = !owner.dna.offset_override + owner.offset_override = owner.dna.offset_override + owner.regenerate_icons() + owner.set_dir(owner.dir) // Causes a visual update for fuzzy/offset + return TRUE + if("digitigrade") + if(can_change(owner, APPEARANCE_RACE)) + owner.dna.digitigrade = !owner.dna.digitigrade + owner.digitigrade = owner.dna.digitigrade + owner.regenerate_icons() + generate_data(ui.user, owner) + changed_hook(APPEARANCECHANGER_CHANGED_RACE) + return TRUE + // CHOMPEnable Start + if("species_sound") + var/list/possible_species_sound_types = species_sound_map + var/choice = tgui_input_list(ui.user, "Which set of sounds would you like to use? (Cough, Sneeze, Scream, Pain, Gasp, Death)", "Species Sounds", possible_species_sound_types) + if(choice && can_change(owner, APPEARANCE_RACE)) + owner.species.species_sounds = choice + return TRUE + // CHOMPEnable End + if("flavor_text") + var/select_key = params["target"] + if(select_key && can_change(owner, APPEARANCE_RACE)) + if(select_key in owner.flavor_texts) + switch(select_key) + if("general") + var/msg = strip_html_simple(tgui_input_text(ui.user,"Give a general description of the character. This will be shown regardless of clothings. Put in a single space to make blank.","Flavor Text",html_decode(owner.flavor_texts[select_key]), multiline = TRUE, prevent_enter = TRUE)) + if(can_change(owner, APPEARANCE_RACE)) // allows empty to wipe flavor + owner.flavor_texts[select_key] = msg + return TRUE + else + var/msg = strip_html_simple(tgui_input_text(ui.user,"Set the flavor text for their [select_key]. Put in a single space to make blank.","Flavor Text",html_decode(owner.flavor_texts[select_key]), multiline = TRUE, prevent_enter = TRUE)) + if(can_change(owner, APPEARANCE_RACE)) // allows empty to wipe flavor + owner.flavor_texts[select_key] = msg + return TRUE + // *********************************** + // Body designer UI + // *********************************** + if("view_brec") + var/datum/transhuman/body_record/BR = locate(params["view_brec"]) + if(BR && istype(BR.mydna)) + if(DC.allowed(ui.user) || BR.ckey == ui.user.ckey) + BD.load_record_to_body(BR) + owner.resleeve_lock = BR.locked + DC.selected_record = TRUE + return TRUE + if("view_stock_brec") + var/datum/species/S = GLOB.all_species[params["view_stock_brec"]] + if(S && (S.spawn_flags & (SPECIES_IS_WHITELISTED|SPECIES_CAN_JOIN)) == SPECIES_CAN_JOIN) + // Generate body record from species! + owner = new(null, S.name) + owner.real_name = "Stock [S.name] Body" + owner.name = owner.real_name + owner.dna.real_name = owner.real_name + owner.dna.base_species = S.base_species + owner.resleeve_lock = FALSE + owner.custom_species = "Custom Sleeve" // Custom name + DC.selected_record = TRUE + return TRUE + if("loadfromdisk") + if(!DC.disk) + return FALSE + if(DC.disk.stored && can_change(owner, APPEARANCE_RACE)) + BD.load_record_to_body(DC.disk.stored) + DC.selected_record = TRUE + to_chat(ui.user,span_notice("\The [owner]'s bodyrecord was loaded from the disk.")) + return TRUE + if("savetodisk") + if(!DC.selected_record) + return FALSE + if(!DC.disk) + return FALSE + if(owner.resleeve_lock) + var/answer = tgui_alert(ui.user,"This body record will be written to a disk and allow any mind to inhabit it. This is against the current body owner's configured OOC preferences for body impersonation. Please confirm that you have permission to do this, and are sure! Admins will be notified.","Mind Compatability",list("No","Yes")) + if(!answer) + return + if(answer == "No") + to_chat(ui.user, span_warning("ERROR: This body record is restricted.")) + else + message_admins("[ui.user] wrote an unlocked version of [owner.real_name]'s bodyrecord to a disk. Their preferences do not allow body impersonation, but may be allowed with OOC consent.") + owner.resleeve_lock = FALSE // unlock it, even though it's only temp, so you don't get the warning every time + if(!owner.resleeve_lock && can_change(owner, APPEARANCE_RACE)) + // Create it from the mob + if(DC.disk.stored) + qdel_null(DC.disk.stored) + to_chat(ui.user,span_notice("\The [owner]'s bodyrecord was saved to the disk.")) + DC.disk.stored = new /datum/transhuman/body_record(owner, FALSE, FALSE) // Saves a COPY! + DC.disk.stored.locked = FALSE // remove lock + DC.disk.name = "[initial(DC.disk.name)] ([owner.real_name])" + return TRUE + if("ejectdisk") + if(!DC.disk) + return FALSE + if(can_change(owner, APPEARANCE_RACE)) + to_chat(ui.user,span_notice("You eject the disk.")) + DC.disk.forceMove(get_turf(DC)) + DC.disk = null + return TRUE + if("back_to_library") + if(can_change(owner, APPEARANCE_RACE)) + BD.make_fake_owner() + DC.selected_record = FALSE + return TRUE return FALSE /datum/tgui_module/appearance_changer/tgui_interact(mob/user, datum/tgui/ui = null, datum/tgui/parent_ui = null, datum/tgui_state/custom_state) @@ -373,7 +611,7 @@ ui = SStgui.try_update_ui(user, src, ui) if(!ui) owner.AddComponent(/datum/component/recursive_move) - RegisterSignal(owner, COMSIG_OBSERVER_MOVED, PROC_REF(update_active_camera_screen)) + RegisterSignal(owner, COMSIG_OBSERVER_MOVED, PROC_REF(update_active_camera_screen), TRUE) // Register map objects user.client.register_map_obj(cam_screen) for(var/plane in cam_plane_masters) @@ -400,20 +638,34 @@ if(can_change(owner, APPEARANCE_HAIR)) var/hair_styles[0] for(var/hair_style in valid_hairstyles) - hair_styles[++hair_styles.len] = list("hairstyle" = hair_style) + var/datum/sprite_accessory/hair/S = hair_styles_list[hair_style] + hair_styles[++hair_styles.len] = list("name" = hair_style, "icon" = S.icon, "icon_state" = "[S.icon_state]_s") data["hair_styles"] = hair_styles - // VOREStation Add - Ears/Tails/Wings data["ear_styles"] = valid_earstyles data["tail_styles"] = valid_tailstyles data["wing_styles"] = valid_wingstyles - // VOREStation Add End + + markings = owner.get_prioritised_markings() + var/list/usable_markings = markings.Copy() ^ body_marking_styles_list.Copy() + var/marking_styles[0] + for(var/marking_style in usable_markings) + var/datum/sprite_accessory/marking/S = body_marking_styles_list[marking_style] + var/our_iconstate = S.icon_state + if(LAZYLEN(S.body_parts)) + our_iconstate += "-[S.body_parts[1]]" + marking_styles[++marking_styles.len] = list("name" = marking_style, "icon" = S.icon, "icon_state" = "[our_iconstate]") + data["marking_styles"] = marking_styles if(can_change(owner, APPEARANCE_FACIAL_HAIR)) var/facial_hair_styles[0] for(var/facial_hair_style in valid_facial_hairstyles) - facial_hair_styles[++facial_hair_styles.len] = list("facialhairstyle" = facial_hair_style) + var/datum/sprite_accessory/facial_hair/S = facial_hair_styles_list[facial_hair_style] + facial_hair_styles[++facial_hair_styles.len] = list("name" = facial_hair_style, "icon" = S.icon, "icon_state" = "[S.icon_state]_s") data["facial_hair_styles"] = facial_hair_styles + if(can_change(owner, APPEARANCE_HAIR_COLOR)) + data["hair_grads"] = valid_gradstyles + return data /datum/tgui_module/appearance_changer/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state) @@ -421,10 +673,82 @@ generate_data(user, owner) + data["is_design_console"] = FALSE + data["disk"] = FALSE + data["selected_a_record"] = FALSE + data["character_records"] = list() + data["stock_records"] = list() + // Handle some unique stuff to the body design console + var/obj/machinery/computer/transhuman/designer/DC = null + if(istype(src,/datum/tgui_module/appearance_changer/body_designer)) + var/datum/tgui_module/appearance_changer/body_designer/BD = src + DC = BD.linked_body_design_console?.resolve() + if(DC) + data["is_design_console"] = TRUE + data["disk"] = !isnull(DC.disk) + // Monkey is a placeholder, because I am not hackcoding the appearance changer to accept a null owner - Willbird + data["selected_a_record"] = DC.selected_record + if(!DC.selected_record) + // Load all records on station that can be printed + var/list/bodyrecords_list_ui = list() + for(var/N in DC.our_db.body_scans) + var/datum/transhuman/body_record/BR = DC.our_db.body_scans[N] + var/datum/species/S = GLOB.all_species[BR.mydna.dna.species] + if((S.spawn_flags & (SPECIES_IS_WHITELISTED|SPECIES_CAN_JOIN)) != SPECIES_CAN_JOIN || BR.synthetic) continue + bodyrecords_list_ui[++bodyrecords_list_ui.len] = list("name" = N, "recref" = "\ref[BR]") + data["character_records"] = bodyrecords_list_ui + // Load all stock records printable + var/list/stock_bodyrecords_list_ui = list() + for (var/N in GLOB.all_species) + var/datum/species/S = GLOB.all_species[N] + if((S.spawn_flags & (SPECIES_IS_WHITELISTED|SPECIES_CAN_JOIN)) != SPECIES_CAN_JOIN) continue + stock_bodyrecords_list_ui += N + data["stock_records"] = stock_bodyrecords_list_ui + data["change_race"] = can_change(owner, APPEARANCE_RACE) + data["gender_id"] = can_change(owner, APPEARANCE_GENDER) + data["change_gender"] = can_change(owner, APPEARANCE_GENDER) + data["change_hair"] = can_change(owner, APPEARANCE_HAIR) + data["change_eye_color"] = can_change(owner, APPEARANCE_EYE_COLOR) + data["change_hair_color"] = can_change(owner, APPEARANCE_HAIR_COLOR) + data["change_facial_hair_color"] = can_change(owner, APPEARANCE_FACIAL_HAIR_COLOR) + // Drop out early, as we have nothing to edit, and are on the BR menu for the designer + return data + // species/body + data["species_name"] = owner.custom_species + data["use_custom_icon"] = (owner.species.selects_bodytype >= SELECTS_BODYTYPE_CUSTOM) + data["base_icon"] = owner.species.base_species + data["synthetic"] = owner.synthetic ? "Yes" : "No" + data["size_scale"] = player_size_name(owner.size_multiplier) + data["scale_appearance"] = owner.dna.scale_appearance ? "Fuzzy" : "Sharp" + data["offset_override"] = owner.dna.offset_override ? "Odd" : "Even" + data["weight"] = owner.weight + data["digitigrade"] = owner.digitigrade + data["blood_reagent"] = owner.dna.blood_reagents + data["blood_color"] = owner.dna.blood_color + // CHOMPEnable Start + data["species_sound"] = owner.species.species_sounds //TODO: RAISE UP FROM CHOMP + // CHOMPEnable End + // Are these needed? It seems to be only used if above is unset?? + //data["species_sounds_gendered"] = owner.species.gender_specific_species_sounds + //data["species_sounds_female"] = owner.species.species_sounds_female + //data["species_sounds_male"] = owner.species.species_sounds_male + // flavor + if(!owner.flavor_texts.len) + owner.flavor_texts["general"] = "" + owner.flavor_texts["head"] = "" + owner.flavor_texts["face"] = "" + owner.flavor_texts["eyes"] = "" + owner.flavor_texts["torso"] = "" + owner.flavor_texts["arms"] = "" + owner.flavor_texts["hands"] = "" + owner.flavor_texts["legs"] = "" + owner.flavor_texts["feet"] = "" + data["flavor_text"] = owner.flavor_texts.Copy() + data["name"] = owner.name data["specimen"] = owner.species.name data["gender"] = owner.gender - data["gender_id"] = owner.identifying_gender + data["gender_id"] = owner.identifying_gender //This is saved to your MIND. data["change_race"] = can_change(owner, APPEARANCE_RACE) data["change_gender"] = can_change(owner, APPEARANCE_GENDER) @@ -442,7 +766,6 @@ if(data["change_hair"]) data["hair_style"] = owner.h_style - // VOREStation Add - Ears/Tails/Wings data["ear_style"] = owner.ear_style data["ear_secondary_style"] = owner.ear_secondary_style?.name data["tail_style"] = owner.tail_style @@ -452,7 +775,6 @@ for (var/marking in markings) markings_data[++markings_data.len] = list("marking_name" = marking, "marking_color" = markings[marking]["color"] ? markings[marking]["color"] : "#000000") //too tired to add in another submenu for bodyparts here data["markings"] = markings_data - // VOREStation Add End data["change_facial_hair"] = can_change(owner, APPEARANCE_FACIAL_HAIR) if(data["change_facial_hair"]) @@ -470,10 +792,13 @@ data["change_hair_color"] = can_change(owner, APPEARANCE_HAIR_COLOR) if(data["change_hair_color"]) data["hair_color"] = rgb(owner.r_hair, owner.g_hair, owner.b_hair) - // VOREStation Add - Ears/Tails/Wings + data["hair_color_grad"] = rgb(owner.r_grad, owner.g_grad, owner.b_grad) data["ears_color"] = rgb(owner.r_ears, owner.g_ears, owner.b_ears) data["ears2_color"] = rgb(owner.r_ears2, owner.g_ears2, owner.b_ears2) + // not a color, but it basically is + data["hair_grad"] = owner.grad_style + // secondary ear colors var/list/ear_secondary_color_channels = owner.ear_secondary_colors || list() ear_secondary_color_channels.len = owner.ear_secondary_style?.get_color_channel_count() || 0 @@ -485,7 +810,6 @@ data["wing_color"] = rgb(owner.r_wing, owner.g_wing, owner.b_wing) data["wing2_color"] = rgb(owner.r_wing2, owner.g_wing2, owner.b_wing2) data["wing3_color"] = rgb(owner.r_wing3, owner.g_wing3, owner.b_wing3) - // VOREStation Add End data["change_facial_hair_color"] = can_change(owner, APPEARANCE_FACIAL_HAIR_COLOR) if(data["change_facial_hair_color"]) @@ -502,26 +826,6 @@ cam_background.icon_state = "clear" cam_background.fill_rect(1, 1, 1, 1) local_skybox.cut_overlays() - /* - var/turf/newturf = get_turf(customize_usr ? tgui_host() : owner) - if(newturf == last_camera_turf) - return - - last_camera_turf = newturf - - var/list/visible_turfs = list() - for(var/turf/T in range(1, newturf)) - visible_turfs += T - - cam_screen.vis_contents = visible_turfs - cam_background.icon_state = "clear" - cam_background.fill_rect(1, 1, 3, 3) - - local_skybox.cut_overlays() - local_skybox.add_overlay(SSskybox.get_skybox(get_z(newturf))) - local_skybox.scale_to_view(3) - local_skybox.set_position("CENTER", "CENTER", (world.maxx>>1) - newturf.x, (world.maxy>>1) - newturf.y) - */ /datum/tgui_module/appearance_changer/proc/update_dna(mob/living/carbon/human/target) if(target && (flags & APPEARANCE_UPDATE_DNA)) @@ -540,11 +844,10 @@ // Making the assumption that the available species remain constant valid_hairstyles.Cut() valid_facial_hairstyles.Cut() - // VOREStation Add - Ears/Tails/Wings valid_earstyles.Cut() valid_tailstyles.Cut() valid_wingstyles.Cut() - // VOREStation Add End + valid_gradstyles.Cut() /datum/tgui_module/appearance_changer/proc/generate_data(mob/user, mob/living/carbon/human/target) if(!ishuman(target)) @@ -557,7 +860,6 @@ valid_hairstyles = target.generate_valid_hairstyles(check_gender = 0) valid_facial_hairstyles = target.generate_valid_facial_hairstyles() - // VOREStation Add - Ears/Tails/Wings if(!LAZYLEN(valid_earstyles)) for(var/path in ear_styles_list) var/datum/sprite_accessory/ears/instance = ear_styles_list[path] @@ -567,6 +869,8 @@ "instance" = REF(instance), "color" = !!instance.do_colouration, "second_color" = !!instance.extra_overlay, + "icon" = instance.icon, + "icon_state" = instance.icon_state ))) if(!LAZYLEN(valid_tailstyles)) @@ -578,6 +882,8 @@ "instance" = REF(instance), "color" = !!instance.do_colouration, "second_color" = !!instance.extra_overlay, + "icon" = instance.icon, + "icon_state" = instance.icon_state ))) if(!LAZYLEN(valid_wingstyles)) @@ -589,8 +895,13 @@ "instance" = REF(instance), "color" = !!instance.do_colouration, "second_color" = !!instance.extra_overlay, + "icon" = instance.icon, + "icon_state" = instance.icon_state ))) - // VOREStation Add End + + if(!LAZYLEN(valid_gradstyles)) + for(var/key in GLOB.hair_gradients) + valid_gradstyles.Add(list(list(key))) /datum/tgui_module/appearance_changer/proc/get_genders(mob/living/carbon/human/target) var/datum/species/S = target.species @@ -605,7 +916,6 @@ /datum/tgui_module/appearance_changer/proc/changed_hook(flag) return -// VOREStation Add - Ears/Tails/Wings /datum/tgui_module/appearance_changer/proc/can_use_sprite(datum/sprite_accessory/X, mob/living/carbon/human/target, mob/user) if(X.name == DEVELOPER_WARNING_NAME) return FALSE @@ -616,8 +926,11 @@ return FALSE return TRUE -// VOREStation Add End +// Subtypes for specific items or machines: +// ******************************************************* +// Salon Pro +// ******************************************************* /datum/tgui_module/appearance_changer/mirror name = "SalonPro Nano-Mirror™" flags = APPEARANCE_ALL_HAIR @@ -625,3 +938,158 @@ /datum/tgui_module/appearance_changer/mirror/coskit name = "SalonPro Porta-Makeover Deluxe™" + +// ******************************************************* +// Vore TF +// ******************************************************* +/datum/tgui_module/appearance_changer/vore + name = "Appearance Editor (Vore)" + flags = APPEARANCE_ALL + +/datum/tgui_module/appearance_changer/vore/tgui_state(mob/user) + return GLOB.tgui_conscious_state + +/datum/tgui_module/appearance_changer/vore/tgui_status(mob/user, datum/tgui_state/state) + if(!isbelly(owner.loc)) + return STATUS_CLOSE + return ..() + +/datum/tgui_module/appearance_changer/vore/update_active_camera_screen() + cam_screen.vis_contents = list(owner) + cam_background.icon_state = "clear" + cam_background.fill_rect(1, 1, 1, 1) + local_skybox.cut_overlays() + +/datum/tgui_module/appearance_changer/vore/tgui_close(mob/user) + . = ..() + QDEL_IN(src, 1) + +/datum/tgui_module/appearance_changer/vore/changed_hook(flag) + var/mob/living/carbon/human/M = owner + var/mob/living/O = usr + + switch(flag) + if(APPEARANCECHANGER_CHANGED_RACE) + to_chat(M, span_notice("You lose sensation of your body, feeling only the warmth of everything around you... ")) + to_chat(O, span_notice("Your body shifts as you make dramatic changes to your captive's body.")) + if(APPEARANCECHANGER_CHANGED_GENDER) + to_chat(M, span_notice("Your body feels very strange...")) + to_chat(O, span_notice("You feel strange as you alter your captive's gender.")) + if(APPEARANCECHANGER_CHANGED_GENDER_ID) + to_chat(M, span_notice("You start to feel... [capitalize(M.gender)]?")) + to_chat(O, span_notice("You feel strange as you alter your captive's gender identity.")) + if(APPEARANCECHANGER_CHANGED_SKINTONE, APPEARANCECHANGER_CHANGED_SKINCOLOR) + to_chat(M, span_notice("Your body tingles all over...")) + to_chat(O, span_notice("You tingle as you make noticeable changes to your captive's body.")) + if(APPEARANCECHANGER_CHANGED_HAIRSTYLE, APPEARANCECHANGER_CHANGED_HAIRCOLOR, APPEARANCECHANGER_CHANGED_F_HAIRSTYLE, APPEARANCECHANGER_CHANGED_F_HAIRCOLOR) + to_chat(M, span_notice("Your body tingles all over...")) + to_chat(O, span_notice("You tingle as you make noticeable changes to your captive's body.")) + if(APPEARANCECHANGER_CHANGED_EYES) + to_chat(M, span_notice("You feel lightheaded and drowsy...")) + to_chat(O, span_notice("You feel warm as you make subtle changes to your captive's body.")) + +// ******************************************************* +// Weaver Cocoon +// ******************************************************* +/datum/tgui_module/appearance_changer/cocoon + name ="Appearance Editor (Cocoon)" + flags = APPEARANCE_ALL_HAIR + customize_usr = TRUE + +/datum/tgui_module/appearance_changer/cocoon/tgui_status(mob/user, datum/tgui_state/state) + //if(!istype(owner.loc, /obj/item/storage/vore_egg/bugcocoon)) + if(!owner.transforming) + return STATUS_CLOSE + return ..() + +// ******************************************************* +// Body design console +// ******************************************************* +/datum/tgui_module/appearance_changer/body_designer + name ="Appearance Editor (Body Designer)" + flags = APPEARANCE_ALL + var/datum/weakref/linked_body_design_console = null + +/datum/tgui_module/appearance_changer/body_designer/tgui_status(mob/user, datum/tgui_state/state) + if(!istype(host,/obj/machinery/computer/transhuman/designer)) + return STATUS_CLOSE + return ..() + +/datum/tgui_module/appearance_changer/body_designer/Destroy() + var/obj/machinery/computer/transhuman/designer/DC = linked_body_design_console?.resolve() + if(DC) + DC.selected_record = FALSE + DC.designer_gui = null // no hardrefs + . = ..() + +/datum/tgui_module/appearance_changer/body_designer/proc/make_fake_owner() + // checks for monkey to tell if on the menu + if(owner) + UnregisterSignal(owner, COMSIG_OBSERVER_MOVED) + qdel_null(owner) + owner = new(src) + owner.set_species(SPECIES_LLEILL) + owner.species.produceCopy(owner.species.traits.Copy(),owner,null,FALSE) + owner.invisibility = 101 + // Add listeners back + owner.AddComponent(/datum/component/recursive_move) + RegisterSignal(owner, COMSIG_OBSERVER_MOVED, PROC_REF(update_active_camera_screen), TRUE) + +/datum/tgui_module/appearance_changer/body_designer/proc/load_record_to_body(var/datum/transhuman/body_record/current_project) + if(owner) + UnregisterSignal(owner, COMSIG_OBSERVER_MOVED) + qdel_null(owner) + //Get the DNA and generate a new mob + var/datum/dna2/record/R = current_project.mydna + owner = new /mob/living/carbon/human(src, R.dna.species) + //Fix the external organs + for(var/part in current_project.limb_data) + var/status = current_project.limb_data[part] + if(status == null) continue //Species doesn't have limb? Child of amputated limb? + var/obj/item/organ/external/O = owner.organs_by_name[part] + if(!O) continue //Not an organ. Perhaps another amputation removed it already. + if(status == 1) //Normal limbs + continue + else if(status == 0) //Missing limbs + O.remove_rejuv() + else if(status) //Anything else is a manufacturer + O.remove_rejuv() //Don't robotize them, leave them removed so robotics can attach a part. + for(var/part in current_project.organ_data) + var/status = current_project.organ_data[part] + if(status == null) continue //Species doesn't have organ? Child of missing part? + var/obj/item/organ/I = owner.internal_organs_by_name[part] + if(!I) continue//Not an organ. Perhaps external conversion changed it already? + if(status == 0) //Normal organ + continue + else if(status == 1) //Assisted organ + I.mechassist() + else if(status == 2) //Mechanical organ + I.robotize() + else if(status == 3) //Digital organ + I.digitize() + //Set the name or generate one + owner.real_name = R.dna.real_name + owner.name = owner.real_name + //Apply DNA + owner.dna = R.dna.Clone() + owner.original_player = current_project.ckey + //Apply legs + owner.digitigrade = R.dna.digitigrade // ensure clone mob has digitigrade var set appropriately + if(owner.dna.digitigrade <> R.dna.digitigrade) + owner.dna.digitigrade = R.dna.digitigrade // ensure cloned DNA is set appropriately from record??? for some reason it doesn't get set right despite the override to datum/dna/Clone() + //Update appearance, remake icons + owner.UpdateAppearance() + //owner.sync_dna_traits(FALSE) //Needs trait genetics first + owner.sync_organ_dna() + owner.dna.blood_reagents = R.dna.blood_reagents + owner.dna.blood_color = R.dna.blood_color + owner.regenerate_icons() + owner.flavor_texts = current_project.mydna.flavor.Copy() + owner.resize(current_project.sizemult, FALSE) + owner.appearance_flags = current_project.aflags + owner.weight = current_project.weight + if(current_project.speciesname) + owner.custom_species = current_project.speciesname + // Add listeners back + owner.AddComponent(/datum/component/recursive_move) + RegisterSignal(owner, COMSIG_OBSERVER_MOVED, PROC_REF(update_active_camera_screen), TRUE) diff --git a/code/modules/tgui/modules/appearance_changer_vr.dm b/code/modules/tgui/modules/appearance_changer_vr.dm deleted file mode 100644 index 23a3e86f9b..0000000000 --- a/code/modules/tgui/modules/appearance_changer_vr.dm +++ /dev/null @@ -1,57 +0,0 @@ -/datum/tgui_module/appearance_changer/vore - name = "Appearance Editor (Vore)" - flags = APPEARANCE_ALL - -/datum/tgui_module/appearance_changer/vore/tgui_state(mob/user) - return GLOB.tgui_conscious_state - -/datum/tgui_module/appearance_changer/vore/tgui_status(mob/user, datum/tgui_state/state) - if(!isbelly(owner.loc)) - return STATUS_CLOSE - return ..() - -/datum/tgui_module/appearance_changer/vore/update_active_camera_screen() - cam_screen.vis_contents = list(owner) - cam_background.icon_state = "clear" - cam_background.fill_rect(1, 1, 1, 1) - local_skybox.cut_overlays() - -/datum/tgui_module/appearance_changer/vore/tgui_close(mob/user) - . = ..() - QDEL_IN(src, 1) - -/datum/tgui_module/appearance_changer/vore/changed_hook(flag) - var/mob/living/carbon/human/M = owner - var/mob/living/O = usr - - switch(flag) - if(APPEARANCECHANGER_CHANGED_RACE) - to_chat(M, span_notice("You lose sensation of your body, feeling only the warmth of everything around you... ")) - to_chat(O, span_notice("Your body shifts as you make dramatic changes to your captive's body.")) - if(APPEARANCECHANGER_CHANGED_GENDER) - to_chat(M, span_notice("Your body feels very strange...")) - to_chat(O, span_notice("You feel strange as you alter your captive's gender.")) - if(APPEARANCECHANGER_CHANGED_GENDER_ID) - to_chat(M, span_notice("You start to feel... [capitalize(M.gender)]?")) - to_chat(O, span_notice("You feel strange as you alter your captive's gender identity.")) - if(APPEARANCECHANGER_CHANGED_SKINTONE, APPEARANCECHANGER_CHANGED_SKINCOLOR) - to_chat(M, span_notice("Your body tingles all over...")) - to_chat(O, span_notice("You tingle as you make noticeable changes to your captive's body.")) - if(APPEARANCECHANGER_CHANGED_HAIRSTYLE, APPEARANCECHANGER_CHANGED_HAIRCOLOR, APPEARANCECHANGER_CHANGED_F_HAIRSTYLE, APPEARANCECHANGER_CHANGED_F_HAIRCOLOR) - to_chat(M, span_notice("Your body tingles all over...")) - to_chat(O, span_notice("You tingle as you make noticeable changes to your captive's body.")) - if(APPEARANCECHANGER_CHANGED_EYES) - to_chat(M, span_notice("You feel lightheaded and drowsy...")) - to_chat(O, span_notice("You feel warm as you make subtle changes to your captive's body.")) - -// Cocoon Stuff -/datum/tgui_module/appearance_changer/cocoon - name ="Appearance Editor (Cocoon)" - flags = APPEARANCE_ALL_HAIR - customize_usr = TRUE - -/datum/tgui_module/appearance_changer/cocoon/tgui_status(mob/user, datum/tgui_state/state) - //if(!istype(owner.loc, /obj/item/storage/vore_egg/bugcocoon)) - if(!owner.transforming) - return STATUS_CLOSE - return ..() diff --git a/code/modules/vore/appearance/sprite_accessories_taur_yw.dm b/code/modules/vore/appearance/sprite_accessories_taur_yw.dm index 9abbd3f133..20d5b7d7e5 100644 --- a/code/modules/vore/appearance/sprite_accessories_taur_yw.dm +++ b/code/modules/vore/appearance/sprite_accessories_taur_yw.dm @@ -21,11 +21,6 @@ name = "WolfTG (Taur)" icon_state = "wolf2_s" -/datum/sprite_accessory/tail/taur/wolf/wolf_2fat - icon = 'icons/mob/vore/taurs_yw.dmi' //CHOMP Fix - name = "Fat Wolf (Taur)" - icon_state = "wolf2f_s" - /datum/sprite_accessory/tail/taur/long_lizard name = "Large Dragon Tail" icon_state = "big_liz" @@ -37,4 +32,4 @@ /datum/sprite_accessory/tail/taur/long_lizard/scaled name = "Large Dragon Tail/W scales" - extra_overlay = "big_liz_mark" \ No newline at end of file + extra_overlay = "big_liz_mark" diff --git a/code/unit_tests/cosmetic_tests.dm b/code/unit_tests/cosmetic_tests.dm new file mode 100644 index 0000000000..2a0fb609aa --- /dev/null +++ b/code/unit_tests/cosmetic_tests.dm @@ -0,0 +1,87 @@ +/datum/unit_test/sprite_accessories_shall_be_unique + name = "COSMETICS: Entries shall have unique name." + +/datum/unit_test/sprite_accessories_shall_be_unique/start_test() + var/failed = 0 + + failed += validate_accessory_list( /datum/sprite_accessory/ears) + failed += validate_accessory_list( /datum/sprite_accessory/facial_hair) + failed += validate_accessory_list( /datum/sprite_accessory/hair) + failed += validate_accessory_list( /datum/sprite_accessory/hair_accessory) + failed += validate_accessory_list( /datum/sprite_accessory/marking) + failed += validate_accessory_list( /datum/sprite_accessory/tail) + failed += validate_accessory_list( /datum/sprite_accessory/wing) + + if(failed) + fail("One or more /datum/sprite_accessory definitions had invalid names, icon_states, or names were reused definitions") + else + pass("All /datum/sprite_accessory definitions had correct settings.") + return 1 + +/datum/unit_test/sprite_accessories_shall_be_unique/proc/validate_accessory_list(var/path) + var/failed = 0 + var/total_good = 0 + var/total_all = 0 + + var/list/collection = list() + for(var/SP in subtypesof(path)) + total_all++ + var/datum/sprite_accessory/A = new SP() + if(!A) + log_unit_test("[SP]: Cosmetic - Path resolved to null in list.") + continue + + if(!A.name) + log_unit_test("[A] - [A.type]: Cosmetic - Missing name.") + failed = 1 + + if(A.name == DEVELOPER_WARNING_NAME) + continue + + if(collection[A.name]) + log_unit_test("[A] - [A.type]: Cosmetic - Name defined twice. Original def [collection[A.name]]") + failed = 1 + else + collection[A.name] = A.type + + if(istype(A,text2path("[path]/invisible"))) + if(A.icon_state) + log_unit_test("[A] - [A.type]: Cosmetic - Invisible subtype has icon_state.") + failed = 1 + else if(!A.icon_state) + log_unit_test("[A] - [A.type]: Cosmetic - Has no icon_state.") + failed = 1 + else + // Check if valid icon + failed += validate_icons(A) + + total_good++ + qdel(A) + + log_unit_test("[path]: Cosmetic - Total valid count: [total_good]/[total_all].") + return failed + +/datum/unit_test/sprite_accessories_shall_be_unique/proc/validate_icons(var/datum/sprite_accessory/A) + var/failed = 0 + var/actual_icon_state = A.icon_state + if(istype(A,/datum/sprite_accessory/hair)) + actual_icon_state = "[A.icon_state]_s" + if(!(actual_icon_state in cached_icon_states(A.icon))) + log_unit_test("[A] - [A.type]: Cosmetic - Icon_state \"[actual_icon_state]\" is not present in [A.icon].") + failed = 1 + + if(istype(A,/datum/sprite_accessory/facial_hair)) + actual_icon_state = "[A.icon_state]_s" + if(!(actual_icon_state in cached_icon_states(A.icon))) + log_unit_test("[A] - [A.type]: Cosmetic - Icon_state \"[actual_icon_state]\" is not present in [A.icon].") + failed = 1 + + if(istype(A,/datum/sprite_accessory/marking)) + var/datum/sprite_accessory/marking/MA = A + for(var/BP in MA.body_parts) + actual_icon_state = "[A.icon_state]-[BP]" + if(!(actual_icon_state in cached_icon_states(A.icon))) + log_unit_test("[A] - [A.type]: Cosmetic - Icon_state \"[actual_icon_state]\" is not present in [A.icon].") + failed = 1 + + return failed diff --git a/icons/mob/human_face_alt.dmi b/icons/mob/human_face_alt.dmi index 6172ddf26e53f39062ea43a04657d2d9fe8a1174..53888f9c6339fd01273a0e670ad8abcc728df6da 100644 GIT binary patch literal 36944 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 R_JRQjJYD@<);T3K0RT_HnUnwk literal 41716 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%0A==d*sb=pi;Xj^Ev@W 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 diff --git a/icons/mob/human_races/markings.dmi b/icons/mob/human_races/markings.dmi index 4750e079edc89ffe684fe49e8dc18a154e3fa520..a5c94db9ca66213c2d71632d83ef116a1841365e 100644 GIT binary patch literal 129934 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%0Di4UC!#O9(GO^}!&QZmpS#0y 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 XbiK=cQPwVKFK3O;ohdryc<=uKY8VS0 literal 141444 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
t&Qwo#vMm^;WWmpp@AtkFiwxs=erIIg1Ab5 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%0DDxPg`rn<9Oog94pc2 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 diff --git a/icons/mob/human_races/markings_yw.dmi b/icons/mob/human_races/markings_yw.dmi index 62e529c549352c70209cb90140156d1133026355..a166ac84568fb57fa0bd35d5d596267eb504cb67 100644 GIT binary patch literal 5226 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 G)IR|EoGj`9 literal 7032 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 diff --git a/icons/mob/vore/taurs_yw.dmi b/icons/mob/vore/taurs_yw.dmi index 0bbbca0ba72d5fc7fec688180d5359bacb390547..758f718521e52178d84ffb57aefe04aedc5b3400 100644 GIT binary patch literal 8555 zcmb7qbyO7ZzyB^v=hE__mPVxnX@R9vBt@lL2`QHpSQ?}j=>}<$?p{iiRC4KVknY&K ze(ycMxaZt+@BL?Ho|$>hJm;BtUiF>`Elp(-!hZ+>004=qih>RR0EA9-hHThs;?)lC2mp?PZet#Bv=;0G(vlaAdUC$z4OoiG)oCbwQ z;~ABj*6OF7Z9X1!5*Zrj?69OR{n3RLn4!$}30u>R9<{c_{J~5!C~@{X3A^y2Nr;|j zyy5#C4^XVwuJC@-Wx-nhpRZ?(%#@CvEVE)McK`syTU9|;&og5`(+8p7o7v~%`4A-Z ztP2^=P23NLyfRBgP`!Dbpp3)wIUvE%&he{N&46XELBvZV-Ow3f0*fA)JvA>;sRjqy z0j`2W{MM=j${JCiXC`+$Cal>z*T06VD6ANuV6J-qx{UWOZ z-yVM^bAa^F(y7X6wWIG2N*8Z8M5$=P$d5#K2`k&fndiHP0WOr}@myJ+tckehvj1Qj z{yW~sjynZwmwsY({7VjCZ>&4FdKL?fBfiWbvj;9wasVfIV`c>>nkrQS`0 zlA8U#X&Z(@e``m%41mfchrCA*tqA@~#6C9n{cqU}KyS8HkUb!u(oYCL!K>v_{k|Ip zSixZgY-1}$J`lDz4cBIm;LHFb9DV^2nkhm6a|K_=aBkE#lC{BF*vk%CAOceAlOB@+Wd{G4&2&*B6S&-Acm11h0rUBmQ8-)a2E88J@| z907t&Aq+NKfG!kP!fL6-^JPv-ZF zdilEPH$>SfrV`^TD{nr0w{+ zrSPyf@uTCCwPguWO^gwxf56>h**$Y3Xlrul#`L-%nN4Tg_vZY$qz9b~mXx=xiq|Q@=2Mc zzu^);$QjNM&->GIAbl2Tdds@?EjV!Mhq!LDI`q|o?}hOqxHn76XZ-SLHE2-hwFO}t z@3o}IA3Ych)_&2X|!fU#&{(A+%o4xVdk^M zb@m)djHJ3NP){ygkmm+E80+fhEvCc3IG7pTK?g{}i?aRR7@Rx#-x$JdJEb3VH z#Y|wm($>x`>R|RgC8r5fPqA-+zCP$c`w3h0;Gb>f#TM=XkI*?sBkdQR^{QOUSJRfU zQiZ#PPsRU8{A(<^g8*<*>&L5Vi4R+dtl^bse2YRIes|um(=F`@6sq`r<1#L62?-Q_ zKPQ$+>Jo*uf}Oi{qm4w){4_CrATO*HLmmaXu*&0|9G`KfTXflXm2a>j9 zATs7*Bk{UxkQ%B-x<#60$a-Yu$#3eM1*KS~dDZaNNn*eIxfkP6bV7QDhK9~`AE;1( znw;n{5qAn7vst&3jUfWD!RP5BI7xlwU4PJTL9R@F_x}5JQ+9Y@&Rm{0wm)IpGDz}G z7XV3X%80Q=UkqbO+gvJ5CB*Ffaq%;y=#LH@BFc<8d|$9{{LQnI126a5SUJp(R(f|9 zd=4h^&<}MB*Es%!-&sD5^jXF2kE-s*y#mm$nxGi!V+FNmFMmxiNV@av@%#b?0}K69 zhY2D;9`i5*9^0VNMW>FtbHbBn#9IKBr5~r+9|;`gx*!60kjTtecjt1W1J>H(-+7YT z;I>)HWw#VvolguXA{06=l8D@=dpSeq=>L90d*}c$02QHOCLre0#EUW`Jv-Tu4eC`n z2ISYPZ(ASI=zIKVUHSGONpXmRn1wQ}dr89e0(X$$mv1)HZpL`r8w&#FXpaUop5Vdh zBe2r5YUUaHYeUT!A=moc{VCfuqZ?nvte9J#^F?;{&e6lH=!6c~owjvG zmVuyUe+&qg!|EL%_?{|&2N0J8oHUq6%r+VsP;zP@MOg}YotGK5UCghJ*Qry7SG!uh zPP&HWwt^jlGXBZB<@~nWA)@fgAQ&)G0!dE>uUCZ)|ChDCMq_^Wu+OD0LY`C+WCGH zv5h5-44*#-G{<=hG6G%5UgN{&2^hp(*^hp5Wp9P3F+|L!z(Se_+}mv5B8fSm8o{*L zrUk?G%(h~k=GO+3oHSCW>s>n4e00rj2(rc7sh%C5J7g7#t#PQ>z z>mpmiZ}lS_#rZ4*udIQ7VmD;mcm{&}4iW;01}w>6_7XG_GE9_jxR~1pQQ_~9!cro> z{X4-;ZNwxH*OZHaoXKt{`Fl(=-~%1;#6Vf@Lk4fQx<V5gbVsDq13+>`#20dEZYOzL@gFa$Mf6eEW3z#6G5EzQse5H?WtL%wM(7Z#7!< z)Q7kd^7(RZ;y5ygeYT9Rd#N+%q}hM5-8XYI=kb(@PubUPPvuM}sX|=8RaLHmg^7&& z0e?>Kvo@u$cQH&-GbP!R6B8xcc}nYNqA#+ZmCS;>+^^=6$KsJ2<2N6beau<%{P8uV zPj{zY%zJHSz6+wS)t)ZImwk5RkA8W+%#lEDjlp~IGZ-80}N2%=L(tncbZ8y1`P!*{Tg=;`~yba)Fmz_IDt9`TyT9=rQ7$#H)fF{LvD z`a0c;vNC-#=}WVnv{;$@2Q2Miw{7W*MgNZGKh3)m1s6^W#obnsX#0jo?AV*iCZtI0 zv8l157rSf-fu7~=unGH$wxs4iB}G|kEo4vLzs9RvonL1{<8fQc%gcYAtCtc02`Ktw zh_2+~V%{TLx@%HcSopf_HJ&!$$%uRyX-TAVY^iQ`U2)Bj47t=Mi zyM6%kZeRKPW&i$mbY2ub=|{_VD?5FKOas_`6S3M}@I8jH^l|%_FLF{hdo??GvC=xKq zty+kOkI_qcKXs=q`KoO@9um{#PNNjp-Iu06vS3i^anV-lC;;0T$Hv7Dim$KQ#~JoF ze}Q^gQZqAIxT|MRnDz*dTWE(&NR<3J{<{P@ zS*O+`rQXx+F-nv>F-sRW6`NKDv&08zov6Xr-HMV)w#mnA^ZZSITL9yix7fwusAII0 z$z)51L%ZJv|KrM4`>xN1CP4#Yhh#X-d|NVsp|i7V&BG>KE|K(~Bl z057#MUkL{-wokZA!em`w*e}DNvZ&j_olg95roW5!@F8kz#Ev*#jRjX$e z=`tiq*t(x8)4U^7uKtqkod4oGNdlcU-YX(7d+P=)7UhJ|e3#P=Dl;TR$nG$*3yoON zgQn$oLtNP(1rtM0iunTb$YjvBCp$5cf3(P+9YTkLB*T-voaWr|o~J!kO}@(wV;Zgh z0RvxLuErX)9(EBCG);}i$Zb`F5d_Lty|OoP+yStMuj2`i|LQ2(=0nrLHW8dK_$OeC zzluaHL4+Xcg!y}$b}zLL^*(?-m~A=ANQIpOXVH)kWlft-H zc%HT{*e!GJHQpcVeX~sFzhzia&@8&sXwmRR4jR5}E;{l(n*NO3kbbBRt}{<>4ekhY zPPY!@Rr7U9fsW^QuDm@s?`*pAqOk3tDg)==0%ra8ha=ro(Sa%n%#LKH#1Z@~w<|=f zFmbnibjSj|^{+7P3!CYaZA@cVS(_AK!JemuucLL51k%}%>o*x}GiM1*cEr^x&y%e& za;M9C<1W+z&d>S7iYlPp3 zbhvYGSsyg9-eYt?+y|`P$+AeJtO3SJf``}=fX}qxv?rF|gEL7i0wi)NAy+z|nM1f1 zQu6L%Vn|_!OR~NRr?c-{cm+E`pE{rf7`?eKOr2dB$ALS62syJ&5`1#6U|&Ema|I@9 z*rkQb1Ii__qMnw1{hGl0OgV<(x3WaYD5T1dzontJwip9VV}IEBu`+=UGqn$&_+Ecl zR7%@FDP}$LOD`-eOt=I!;ZC*eU<*czaY&7QVb7Ge5uE0uZ5eC-ZH8gzh}FK>(wUhz z!gk}uzjk=E@B}_y9)6ML7Zm_;D?j+m%`j7bt2&ILpa3FHtlGj>u(4bKHhVrJSyB8+ruEMX4Jx>CSIzDOkg&5tH{3Ck$@ z{-WdYR0gzOQMo6tCfY*r6awGybs;cCiJVr4(M~(;ejzD9`;c7UBF!o@t~(y?6M**OhgUC| z-*nQPC;t6>d6clg*WM(>6DItXZZa8$?QK8loNtd`ep8tpeJIBl0~Dd^Nm^0Z_pu6H zdUF|O^?eU*PJS7WWW7fn=^7iC#irU|tpirjV5tO`UpcbgdSU%|Vk->Wmkd*>yEuGU zxt;bm=lfYg7+rIR1?CG+oC7_Xt+9RaK+zd1fl)*t#HeR}Bs6d?NCI(Ph=A6J5+()4gQ4x~ zz3Cd=gShv6G^=d`B1o*MeAW2cZZ#29Mwi$ICt!}Us4|wh66nBUHOtMi%r*y_%_Frc zN{v)OCmZ{5np}N{t)tM2{&n^RgUbI+6;bGuAe- zd+IBN9o|cjCd>MZ;CTm5xydy0k>1Hr%ATW#Vox~%H$9p4bi=KPMGD)Rv04g6aCB}6K*o||;Mr4Nd z2eN%+jfFhTfLUY?zumFzkki5`@el>EM6lJt_$vF4{rpti;xx!sc)H(f*<&TLjr zT%YagI$9qrv|Z!R_P41sdF71xYIoZMUX^=BNL>5#O(o*IZS>H{LLiSe(%Zkre&*Xe z_Ck5_;<#V=n9lF^QwIFB)EnUUO8U5&=3jC1<>k5D!@|A7=v6Br9SN)x5qEiEWuH{( z$FzfjS&r}Z88?TE`tiAbbzBcT^wsM>;F6v`&Q`7cqVunAAv5X!CF=eUE@0#Ns{|sz zsCHkUFV)pL9n3O*AEz(68y5W}pJ3!vHNUL^IKPbW`uP$j%H^;b$r|eafIq4F6uSBT z-8*eCy0DNlvmRr96!i5IABhIcHN)(`*p6iFbcGNRDu1SbOH{c3zU^%Cb6sRBCeRv6 zr|b?T>5lbI*0+q7z^o5-jHgz3o+=n}w!*zNes_JQdvkGMfYHMf@0_t+N&B=&HO(+l z9D!Ja+vacyhB4n1Elc%J{rUyII!>gZBTjMe_Nh(R8Kfdg!vqP(c$svJuLW#@U}eBj zl&cDUF0U8aau+v^b^LMMUU=COzJ}SXYCI?G-E0mB!VcBU5X+5CnUTL8`t<|BBCkWr zVh5=WVe6k*Sjc+GCnL+284%rLzS4#w7YT9f9X1x$-J7KL4@NjZZpq!5x)dbJ!&xNi z#p&Uf-Qtkv<fu_;XMbY?+F%Vi6Bj4ERPZeFWo0Vr#U4S=u^Q9INr9dxB<>N|lKy5@b@LqYL(E$ET}ouQ0glYpb5XHH>MT_!-Zo`;Lz=VE`F= zY~qkQ6k5&;$jh~`irls@e`1!3l_!+Ix-FaOd_wQ z<0P=J9hU zSWHyKE5Hau{O+h_OH~cjfc;)4HJfX6`C49HK4uF>TiL#>u^F=H{(;1x2<6Y=iq;Hd zXAqvgrKROJ1}LYM71e1Jw8zxqlC$toJw-VK9<^jO&Y$P|nhR(ioAJEQMpBp_WzugZ z-PjZ7{|?a%w7EGlG?kZ(w=dA#Z{9xsM8SpFOL(_Ug`OklGOPBzasSi-Lgi+DjEhU7 zoBTX2Tf%%Z5{e(idr2{t{A_>+`SHChLl%)xva3=Sr|3Rkt`1#-it%(1C7oxAW)6EI z4j0_g*Vp$^^h!3fGuE-+U({1M;wn(cNN@YWohxb<*7~KEPgnB?mP?^`=OEHPF3Yq} z_FrWn6{BT6IO0LP3WYn9isxYq9G``~@E2y8s%YebAi;HYQVCuS>3n8H z_1DhBri=|l99jS9u^-*=L@{rgcN5}=x3nH$1lvwudgs;2W*tZ%Q$B%FmUEd|*iO%C zfExQRpiu&AG84MU4{19C*)V)0JB23?WifNN`&DYdFGYkfND%kCZG4a94tscCAH=qR zat|aacpmPUrzQd%RD|TIm0J_d;C=uA&0_EG5HX}cRGqy+zJz2CK?M;l-G__?`Zl^e?IQNkzwA4y7qECPA*zuM31Dy;APQ?QbCQ=mPIRDM3V5EX8GWkh6~ z5fqyM%R21i;BOvj8JCsdGzpj;dq4G4Oakq0fkD5o7}PF#>Z251&z3zkIXN1W&#l&s zABF2EvSB3dyaZi2ULUX~=MO#f*qwZy`waQww(W8$h>QXg`+u0kEj$ECu3559A@-0j zN1b|NR`50GBk#8HRdN$*myy6F?&z!8#e4S|G)B-ES{$$aeD^Npp%H9C|KabbYD%QT zcPf9xPasMNfFBS^ilp&d;=11u9vT|DPQ@Drw95K-p0G?{lC7s5)9~pSF*ZmDMK}n& z7jv)Vt^u znu@hwTzY1M#xOGG1SDw`7^0(UkC6eGGFJfXl~>@!;c|D$Q#aXBve}XdP?P7;7rw}- zTOcFUCO;D>hE>b|ZqtMeYy;X?ZNvlxXK|Wvd`#(LiNnf-6guj5#|%~lR$b^25=#^{ z(LBM_tbCs`1_F*wKwsXvYgF)l)+x_nfCulkW|U3sJ=VR_=mBb7p2*u^HN~8|m9dR0 z{{j)M@Nqa{gK0XxZ)^hAgepGh9)<|~Q?osX?baq=nHe5dYD^$+Dhb0)Qpwh@F}dl#C?g6Isx>8Vai%2z5oZqM0Q{cLYgn%Z#vsJ@$L9i|79XWXKPLT^6^y`eACQVwfvRk8 z&HjZ1NKPepZ5_ZZ_NS|vC3sC;lQbuxi^8_^QNi<72Lm~k_aBHPCLQjjyt37q`pIQ{ zJ`|L>{RFYFXPx4&X6ty4=1SqSm?Ir?{-?0}|Be2hxyld@gKM$>gZX;`psJ{;P%dW{ F_-{tvW4!F++09teJhEjk+aP*miODjU%%CjkiDV5?ky4EzvNN`j zHA`V^*@dhLV|hK#ulIdF?|<(<=iKkP_ndP-_wzmHb5E?9$t4cf6RZFLjz2N_<^VvB zmJlQ}>_~Y52bUw@VrFD{@d(=4+3oD?1Ox=c#l=lePmh(kZ+^*IpnA5pwvLaFo0^(l zym;~M-Miu8;laVd9v&Xq9UUFn+1X=bV-w8@EiElo zx%l?tNIV`t)f%`kkk;4NSNS5y#KgqY)6?7AyFK4QLqkJfU%!WP+rYqJwjp%#)BR4e zpPQRoQHFg_Pfu)YY+_>KNa^+b{QU3VziVr2hlGS6SOw(ec?pI6OQ&KR-V^JKNviUteF}-QC^X+}zpO`SIh& zckkXE9v*fp+ARO`_WtH3763gv=zat!A(poO`fj&faUQ<@9=Ch|z-J~uDmoS+kBFMv zk~%T?_bI>I3Wx?|VUH!P_cB}B2h8Sz_ti}HfGX5Z?V)T%rv3Mq%a{P~H49s&K1^5c z$g;vUQYdf3>n04#d@|=ZTkKpqzjH@QTdS^ls&i9)<-D_mjF5gNr;}NyNu7B`QbWLP zXnynjkk>a+f2?)m;4LAQ`PbpUq;nfG?5o4aI5c(N^(C?GTyFbw)M{~DyTdwix(Chm z7=UBmf9mU4;xm`C{wC6z1Y1t?3>2*wBiXL#3L*uf%o%5zV?A8*crcd~TpzZPt`((D zkOK|JQuYr+pK1)Hj5gJ3WVyZ9t_yRSF-P4R4=v($z(wht5LY@#OTKe$vE*1s>cqFx z0sJo+IIX24JACst1L?34t-ve*6v%Rcsp(g(K?4y5q@@KxT5(S@R`fNS1WP)?rPo!E17r?u>!*SL_U&CV8_biMZG4e^=-FER4HyNtx9Vpv-M zj-h!qN4LvwZ5P*DSo+6JpAdFZK07vHbQwlXWWuI1 zAVK9lr#{F8-|f`1X(H%?!o~U>i#dKfYA@CkLM^-jK!C$Ak#gwE;dMU<-yq7HDih1%AHd4?1-B;t zW5win;#Im?L&%-xy*CxbkvVlXVK|-wX965xd9pd;G5#uYKu!UO_(4rUp>Q z{PF<)a(4a5KEZEo!=>&uxjRMkZTXy>59a`=XrYxphC^n3{_e2Sv*7wmsDg!GZr8FD?1wt7aGhPwNDk>_o?4Z9c{p$V$>Z~wV z>)S91`RJcF*svlj)f3`a*Nyh2$vbM%Z?IB&P&1-O?RO@q(9m(}uFCA&Fm1LAwZe(o zbB$pt`YpuZDaY5Am1WN=)ss`p%-UVHw%vV0ZC9-*a#lQ3LdjfdjR8&XR%z7r8W}(d zFcqYJN#Rzvvy0eTmHD)F><>H&LdCFwLM>v)TGxlwU%E4e0;Ixzh^on$pFTvuCyWkh z-#FMWRIqW+hoJ?t!Z>_B(<7Iw=lA4@8_S)e8RKCu*s+liM7FL1DVhk=soVu5rOh3A zM&wPWu}{RguvGpZ^>a(2YU9!48u1bU8J-o*DcllHXqRXD03o^H5dbaf=F2E6syX5e zX@Xc@M(yoKn_Hcv@}sQ7_M%mRHat*7z35ZCh_{-f@ewg+)$HO$l0y$v!I}(iCee=e zrsA|4cxcCRmMrd^9nB;9V_GMZYAt2FkI5-%Uc8j8A$tmbNib%=qo))fE!2_Al<#wIW+b8w!-z>x7e1 zUlB{B-33ugNhABW}s zb`UPS&vr-w)zVF5ykj#gloNGaxj_WSn5EsD#G8^~d-2kf$Cf(v?Z_%={X*Zy`$>2H zZmW7JbvB;n)F*L7unMka&YXQn2@08kEkTjCn0gLK!Edv-n2z}JF9O4&XgbVsdmpmn zwZ$~;K_um9{dU1#pu;k?A$RC7Gif?3%&-E5b#f-6Yf~xYeF%)W{*NsL}&Ur zemx*PMJ4Y;4vknQ&g311!&^j?X;WH6VmWQ)C<&*MclL`2kC==l>p3Q2O`4zaHV~nQ|c3^cw+!Pu_WvDYtt28Pz(Q z7ShFE-kHhEiaNZ~#cxZ`D=&{Ba@OX|5g@ZS{ff5RpET@14L)r!u;1HY2x~UwyK>}! zB~yOB`EPsj1_Pt9)*RbrF0K~6MRd>(&LNRE7|0$b9Z_BU|8vNgzS_Cl1s8a@f;6(cI)jOyN;v}<(%1cwK=XFNvFYl_g zJB=Tjk84J4f`%kX{74mk|8uLAiT2nd?`@81W-crX4sK-VSGe9j@Jse)kUTD#n+YKW ziOJ*n#rk(SFMNW|RJ|Svi}e_>X`*XSPNBUJ4h+cC3_tW3NJIc!>gS5X#c9!IUU2F_ z**)e>fQLa9#kX!oNA7Czf- z{i`b%P6WM>Y=|32zp%nP5fu z)+xI03U;OE;g+S#iWo_m$N^#2h=E-#cDPz3PjfqfS&*3HhakG;~3~At)(snKOYy?TgqC&IF~;aB3pF=X&>S*@l~| zqa1JaYY1AEMme`tCe*wVFSNH1X>6{ZJG+u_92(SPt`3FP{yy-1#cu&QH`;x={+>kt=WeR_tQjkka=CEnC+E74yiHG z98&@j{HI)gR}EL}`G9~3^w5R=)F=ZRoL^P=Vqo&~s*`0e8RgtS_q}DfgaIQB6I{lp*||Jz&RC|Q%uq?9{;*e0C1(|M^t+1( z%6+OHctor5XEHT@d-O~Ks{dp14U!#QPhLWEe%oWhJ@Zn9j6=w9v%16;kb<*mpwQel zL~qu|=z5|@=zuIFS&cK<;(T%3J*7iZATdshg{^60h%B$| z9TjGEi{LiKvY4DW!HQ2SW{pKJz?e6M%Xdjnb3P2uGHAj z?$K{RdJ*9a7ei1N)wDBPxv9G|5bTcMz78UD5$Y=f*NG=dM#xW>B?yu>Zlft@kKasmSkgo~i16V8M$vuTW>eev2D&;y*Y(w};KRck<}yFGZT8+&AH=b}I$SrWG_X`w z!=e2AnP}x>=NB9xW3-QFiD+p4oRNHXpDj|PH;;vz0g7}Uv@ft z-`@~Er;}4O%5~_Z=}&Jq9kfK;Vuv(e32~qD4)G6dj@o;~+*kqydi*R?D|F?Yi8X7|scyT@V=M807f(bWC_jDubWAD>e zUdI*&1^82OKI>uZ6A*PWo`L%Gb!N=<(>8m^+vX9c99zn3WtW8iycD+KDE_;Rco^)8 ZianPXJIv@;J{p?ApBGK^$-3Bx{{p7`2(JJD diff --git a/modular_chomp/code/modules/mob/new_player/sprite_accessories.dm b/modular_chomp/code/modules/mob/new_player/sprite_accessories.dm index e4ac799f55..c990abcaff 100644 --- a/modular_chomp/code/modules/mob/new_player/sprite_accessories.dm +++ b/modular_chomp/code/modules/mob/new_player/sprite_accessories.dm @@ -136,7 +136,7 @@ /datum/sprite_accessory/hair/shyold name = "Shy old" - icon_add = 'modular_chomp/icons/mob/human_face.dmi' + icon = 'modular_chomp/icons/mob/human_face.dmi' icon_state = "hair_shy_old" flags = HAIR_TIEABLE @@ -175,7 +175,7 @@ /datum/sprite_accessory/hair/emoleft name = "Emo Left" - icon_add = 'modular_chomp/icons/mob/human_face.dmi' + icon = 'modular_chomp/icons/mob/human_face.dmi' icon_state = "hair_emoleft" flags = HAIR_TIEABLE @@ -205,7 +205,7 @@ /datum/sprite_accessory/hair/doll name = "Doll" - icon_add = 'modular_chomp/icons/mob/human_face.dmi' + icon = 'modular_chomp/icons/mob/human_face.dmi' icon_state = "hair_doll" flags = HAIR_TIEABLE @@ -356,12 +356,12 @@ /datum/sprite_accessory/hair/teshari/tallmohawk name = "Teshari Tall Mohawk" - icon_add = 'modular_chomp/icons/mob/human_face.dmi' + icon = 'modular_chomp/icons/mob/human_face.dmi' icon_state = "teshari_tallmohawk" /datum/sprite_accessory/hair/teshari/aerodynamic name = "Teshari Aerodynamic" - icon_add = 'modular_chomp/icons/mob/human_face.dmi' + icon = 'modular_chomp/icons/mob/human_face.dmi' icon_state = "teshari_aerodynamic" /datum/sprite_accessory/hair/teshari/pointy @@ -369,7 +369,7 @@ /datum/sprite_accessory/hair/teshari/crowned name = "Teshari Crowned" - icon_add = 'modular_chomp/icons/mob/human_face.dmi' + icon = 'modular_chomp/icons/mob/human_face.dmi' icon_state = "teshari_crowned" /datum/sprite_accessory/hair/teshari/tight @@ -377,7 +377,7 @@ /datum/sprite_accessory/hair/teshari/bun name = "Teshari Bun" - icon_add = 'modular_chomp/icons/mob/human_face.dmi' + icon = 'modular_chomp/icons/mob/human_face.dmi' icon_state = "teshari_bun" /datum/sprite_accessory/hair/teshari/droopy @@ -402,7 +402,7 @@ /datum/sprite_accessory/hair/teshari/peel name = "Teshari Peel" - icon_add = 'modular_chomp/icons/mob/human_face.dmi' + icon = 'modular_chomp/icons/mob/human_face.dmi' icon_state = "teshari_peel" /datum/sprite_accessory/hair/teshari/altdefault @@ -410,17 +410,17 @@ /datum/sprite_accessory/hair/teshari/sleek name = "Teshari Sleek" - icon_add = 'modular_chomp/icons/mob/human_face.dmi' + icon = 'modular_chomp/icons/mob/human_face.dmi' icon_state = "teshari_sleek" /datum/sprite_accessory/hair/teshari/ponytail name = "Teshari Ponytail" - icon_add = 'modular_chomp/icons/mob/human_face.dmi' + icon = 'modular_chomp/icons/mob/human_face.dmi' icon_state = "teshari_ponytail" /datum/sprite_accessory/hair/teshari/sweep name = "Teshari Sweep" - icon_add = 'modular_chomp/icons/mob/human_face.dmi' + icon = 'modular_chomp/icons/mob/human_face.dmi' icon_state = "teshari_sweep" /datum/sprite_accessory/hair/teshari/spike @@ -431,7 +431,7 @@ /datum/sprite_accessory/hair/teshari/spiky2 name = "Teshari Alt. Spiky" - icon_add = 'modular_chomp/icons/mob/human_face.dmi' + icon = 'modular_chomp/icons/mob/human_face.dmi' icon_state = "teshari_spiky2" /datum/sprite_accessory/hair/teshari/mane @@ -454,12 +454,12 @@ /datum/sprite_accessory/hair/teshari/crest name = "Teshari Crest" - icon_add = 'modular_chomp/icons/mob/human_face.dmi' + icon= 'modular_chomp/icons/mob/human_face.dmi' icon_state = "teshari_crest" /datum/sprite_accessory/hair/teshari/soap name = "Teshari Soap" - icon_add = 'modular_chomp/icons/mob/human_face.dmi' + icon = 'modular_chomp/icons/mob/human_face.dmi' icon_state = "teshari_soap" //screll hair override @@ -529,8 +529,6 @@ /datum/sprite_accessory/hair/una/Chomp name = "Long Unathi Spines Ch." icon_state = "soghun_longspines" - name = "Long Unathi Spines" - icon_state = "soghun_longspines" icon = 'modular_chomp/icons/mob/hair_unathi.dmi' icon_add = 'modular_chomp/icons/mob/hair_unathi_add.dmi' @@ -606,24 +604,12 @@ name = "Curled Unathi Horns" icon_state = "unathi_horns_curled" -/datum/sprite_accessory/hair/una/ram_horns - icon = 'modular_chomp/icons/mob/hair_unathi.dmi' - icon_add = 'modular_chomp/icons/mob/hair_unathi_add.dmi' - name = "Unathi Ram Horns" - icon_state = "unathi_horns_ram" - /datum/sprite_accessory/hair/una/thick_ram_horns icon = 'modular_chomp/icons/mob/hair_unathi.dmi' icon_add = 'modular_chomp/icons/mob/hair_unathi_add.dmi' name = "Thick Unathi Ram Horns" icon_state = "unathi_horns_ram_thick" -/datum/sprite_accessory/hair/una/double_horns - icon = 'modular_chomp/icons/mob/hair_unathi.dmi' - icon_add = 'modular_chomp/icons/mob/hair_unathi_add.dmi' - name = "Double Unathi Horns" - icon_state = "unathi_horns_double" - /datum/sprite_accessory/hair/una/swept_horns icon = 'modular_chomp/icons/mob/hair_unathi.dmi' icon_add = 'modular_chomp/icons/mob/hair_unathi_add.dmi' diff --git a/modular_chomp/code/modules/mob/new_player/sprite_accessories_extra.dm b/modular_chomp/code/modules/mob/new_player/sprite_accessories_extra.dm index 52853a5cda..ddcf787b4f 100644 --- a/modular_chomp/code/modules/mob/new_player/sprite_accessories_extra.dm +++ b/modular_chomp/code/modules/mob/new_player/sprite_accessories_extra.dm @@ -145,19 +145,6 @@ hide_body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG) body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_GROIN) -/datum/sprite_accessory/marking/ch/sect_drone - name = "Sect Drone Bodytype" - icon_state = "sectdrone" - color_blend_mode = ICON_MULTIPLY - hide_body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND,BP_GROIN,BP_TORSO,BP_HEAD) - body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND,BP_GROIN,BP_TORSO,BP_HEAD) - -/datum/sprite_accessory/marking/ch/sect_drone_eyes - name = "Sect Drone Eyes" - icon_state = "sectdrone_eyes" - color_blend_mode = ICON_MULTIPLY - body_parts = list(BP_HEAD) - /datum/sprite_accessory/marking/ch/thickneck name = "Thick Neck" icon_state = "thickneck" @@ -231,7 +218,7 @@ name = "Scaled Belly" icon_state = "scaled_belly" hide_body_parts = list(BP_L_LEG,BP_R_LEG,BP_L_HAND,BP_R_HAND,BP_L_LEG,BP_R_LEG,BP_GROIN) - body_parts = list(BP_TORSO,BP_GROIN,BP_L_LEG,BP_R_LEG,BP_L_HAND,BP_R_HAND) + body_parts = list(BP_TORSO) color_blend_mode = ICON_MULTIPLY @@ -306,7 +293,7 @@ name = "Chubby Belly, Small" icon_state = "smallchubbybelly" hide_body_parts = list(BP_L_LEG,BP_R_LEG,BP_L_HAND,BP_R_HAND,BP_L_LEG,BP_R_LEG,BP_GROIN) - body_parts = list(BP_TORSO,BP_GROIN,BP_L_LEG,BP_R_LEG,BP_L_HAND,BP_R_HAND) + body_parts = list(BP_TORSO,BP_GROIN,BP_L_HAND,BP_R_HAND) color_blend_mode = ICON_MULTIPLY /datum/sprite_accessory/marking/ch/six_pack @@ -332,7 +319,7 @@ /datum/sprite_accessory/marking/ch/sloog_head name = "sloog head" icon = 'modular_chomp/icons/mob/human_races/sprite_accessories/sloog.dmi' - icon_state = "slooghead" + icon_state = "sloog" body_parts = list(BP_HEAD) color_blend_mode = ICON_MULTIPLY // placed in seperate dmi till normal one is functional. @@ -379,36 +366,13 @@ // DIGI LEGS // -/datum/sprite_accessory/marking/ch/xenomorph/digi_r_leg - name = "Xenomorph right leg (digitigrade)" +/datum/sprite_accessory/marking/ch/xenomorph/digi_legs + name = "Xenomorph legs (digitigrade)" icon = 'icons/mob/human_races/markings_digi.dmi' icon_state = "xeno_digi" digitigrade_acceptance = MARKING_DIGITIGRADE_ONLY - body_parts = list(BP_R_LEG, BP_R_FOOT) - -/datum/sprite_accessory/marking/ch/xenomorph/digi_r_leg_hidden - name = "Xenomorph right leg (digitigrade, hide)" - icon = 'icons/mob/human_races/markings_digi.dmi' - icon_state = "xeno_digi" - digitigrade_acceptance = MARKING_DIGITIGRADE_ONLY - body_parts = list(BP_R_LEG, BP_R_FOOT) - hide_body_parts = list(BP_R_LEG, BP_R_FOOT) - -/datum/sprite_accessory/marking/ch/xenomorph/digi_l_leg - name = "Xenomorph left leg (digitigrade)" - icon = 'icons/mob/human_races/markings_digi.dmi' - icon_state = "xeno_digi" - digitigrade_acceptance = MARKING_DIGITIGRADE_ONLY - body_parts = list(BP_L_LEG, BP_L_FOOT) - -/datum/sprite_accessory/marking/ch/xenomorph/digi_l_leg_hidden - name = "Xenomorph left leg (digitigrade, hide)" - icon = 'icons/mob/human_races/markings_digi.dmi' - icon_state = "xeno_digi" - digitigrade_acceptance = MARKING_DIGITIGRADE_ONLY - body_parts = list(BP_L_LEG, BP_L_FOOT) - hide_body_parts = list(BP_L_LEG, BP_L_FOOT) - + body_parts = list(BP_R_LEG, BP_L_LEG) //This needs BP_L_FOOT AND BP_R_FOOT added to it but the sprite has to be split for that. And it's an upstream .dmi. So you will have to fix it upstream. + hide_body_parts = list(BP_L_LEG, BP_L_FOOT, BP_R_LEG, BP_R_FOOT) // TORSOS // diff --git a/modular_chomp/code/modules/mob/new_player/sprite_accessories_wing.dm b/modular_chomp/code/modules/mob/new_player/sprite_accessories_wing.dm index ceb13ecfd9..35dc52ba0e 100644 --- a/modular_chomp/code/modules/mob/new_player/sprite_accessories_wing.dm +++ b/modular_chomp/code/modules/mob/new_player/sprite_accessories_wing.dm @@ -1,11 +1,3 @@ -/datum/sprite_accessory/wing/sect_drone //We should some day make a variable to make some wings not be able to fly - name = "Sect drone wings (To use with bodytype marking)" - desc = "" - icon = 'modular_chomp/icons/mob/human_races/sprite_accessories/wings.dmi' - icon_state = "sectdrone_wing" - do_colouration = 1 - color_blend_mode = ICON_MULTIPLY - /datum/sprite_accessory/wing/snagc name = "xenomorph backplate, colorable" desc = "" diff --git a/modular_chomp/icons/mob/human_races/sprite_accessories/sloog.dmi b/modular_chomp/icons/mob/human_races/sprite_accessories/sloog.dmi index 3ea950ea6eaf8f68fbcda758d468869ee3de68fe..a773d5e49dc798e6f98384eb1333a0725e0ec16d 100644 GIT binary patch delta 590 zcmeBXUcx#-f|rAhfq`LFX5l>`l|M1ew?5Wf+0@Xrv)fp8^9qS2le>-AY8aY}9x;0o z6jt!Hm~l2Q!_}+OA4PAe+A}aPe(-d045^s&c9!kBCI^w$hfl9wd(%4YSZc%$CNYPI zc2?~L%eF2|l?@ZiYnbjV5J{%upyT5@2Q`O8#ohI-f(V9kaGB6wKq-u-s5)egD>P7l=8PnPkH|HxXiKj z*RxBk=I)t!n|ZP5g>7#GmdG)jGwl1Rn>p**Yp&?o^Oeo+ayY8^US6Sdx^Rs~*TNs4 zfA0CYo$<@_l4-}T8|>qBVmZ3#h0f_R-ME*td)6oJVG^ki4edSswrHnJnS8=tL93#R z!AO(EIzgFn1Mh~33^&+rc)*n%WPkAb zKciLj-;{T;m(3auo`_lglQ{`MQbAF550x_xj;N zsim(v^6Ed%iWDx;y*hDTmS(N^8m1S!@&x=QsZ`m`cb+WL_GPjDvvs}7TOKmTJvhns z`k6++-yg>xe>7xI-e+~}LgXa|Ju5$XMvm9V61aMU=f5qA;l3UMjD)wV9`E4~h<&8X zb^T)Vhl>l#ZnF2hxvTYEvgm`gBdTxAuz3gWYfvmPo|w0<>bc<=6JUyA@O1TaS?83{ F1OPHw3hDp= delta 306 zcmZ3&+RZ#c!j6TRfq@~yJ?AZuk_hk#aXkPAn>KCo_4O?;FE=(ej*pLTXlR&Ro_7wY zhOs2bFPOpM*^M+HCvT#vZ@sOusiA9Ux3TKx6%tD(b{ntNFfzopr0H)Y% AxBvhE diff --git a/tgui/packages/tgui/interfaces/AppearanceChanger/AppearanceChangerBody.tsx b/tgui/packages/tgui/interfaces/AppearanceChanger/AppearanceChangerBody.tsx index 63a12029d9..47669cf5ca 100644 --- a/tgui/packages/tgui/interfaces/AppearanceChanger/AppearanceChangerBody.tsx +++ b/tgui/packages/tgui/interfaces/AppearanceChanger/AppearanceChangerBody.tsx @@ -1,5 +1,5 @@ import { useBackend } from 'tgui/backend'; -import { Button, LabeledList, Section, Stack } from 'tgui-core/components'; +import { Button, ColorBox, LabeledList, Section } from 'tgui-core/components'; import { Data, species } from './types'; @@ -12,16 +12,88 @@ export const AppearanceChangerSpecies = (props) => { ); return ( -
- {sortedSpecies.map((spec) => ( - - ))} +
+
+ {sortedSpecies.map((spec) => ( + + ))} +
+
+ + {data.is_design_console ? ( + + + + ) : ( + '' + )} + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + +
); }; @@ -49,6 +121,7 @@ export const AppearanceChangerGender = (props) => { {id_genders.map((g) => (
); }; - -export const AppearanceChangerEars = (props) => { - const { act, data } = useBackend(); - - const { ear_style, ear_styles } = data; - - ear_styles.sort((a, b) => - a.name.toLowerCase().localeCompare(b.name.toLowerCase()), - ); - - return ( - - -
- - {ear_styles.map((ear) => ( - - ))} -
-
- -
- - {ear_styles.map((ear) => ( - - ))} -
-
-
- ); -}; - -export const AppearanceChangerTails = (props) => { - const { act, data } = useBackend(); - - const { tail_style, tail_styles } = data; - - tail_styles.sort((a, b) => - a.name.toLowerCase().localeCompare(b.name.toLowerCase()), - ); - - return ( -
- - {tail_styles.map((tail) => ( - - ))} -
- ); -}; - -export const AppearanceChangerWings = (props) => { - const { act, data } = useBackend(); - - const { wing_style, wing_styles } = data; - wing_styles.sort((a, b) => - a.name.toLowerCase().localeCompare(b.name.toLowerCase()), - ); - - return ( -
- - {wing_styles.map((wing) => ( - - ))} -
- ); -}; diff --git a/tgui/packages/tgui/interfaces/AppearanceChanger/AppearanceChangerBodyRecords.tsx b/tgui/packages/tgui/interfaces/AppearanceChanger/AppearanceChangerBodyRecords.tsx new file mode 100644 index 0000000000..8a52667897 --- /dev/null +++ b/tgui/packages/tgui/interfaces/AppearanceChanger/AppearanceChangerBodyRecords.tsx @@ -0,0 +1,41 @@ +import { useBackend } from 'tgui/backend'; +import { Button, Section } from 'tgui-core/components'; + +import { Data } from './types'; + +export const AppearanceChangerBodyRecords = () => { + const { act, data } = useBackend(); + const { character_records, stock_records } = data; + return ( +
+
+ {stock_records + ? stock_records.map((record) => ( + + )) + : ''} +
+
+ {character_records + ? character_records.map((record) => ( + + )) + : ''} +
+
+ ); +}; diff --git a/tgui/packages/tgui/interfaces/AppearanceChanger/AppearanceChangerDetails.tsx b/tgui/packages/tgui/interfaces/AppearanceChanger/AppearanceChangerDetails.tsx index f593714368..eea86e1335 100644 --- a/tgui/packages/tgui/interfaces/AppearanceChanger/AppearanceChangerDetails.tsx +++ b/tgui/packages/tgui/interfaces/AppearanceChanger/AppearanceChangerDetails.tsx @@ -1,13 +1,21 @@ +import { useState } from 'react'; import { useBackend } from 'tgui/backend'; import { Box, Button, ColorBox, + Dropdown, + ImageButton, + Input, LabeledList, Section, + Stack, + Tabs, } from 'tgui-core/components'; +import { createSearch } from 'tgui-core/string'; -import { Data, SPRITE_ACCESSORY_COLOR_CHANNEL_NAMES } from './types'; +import { MARKINGS_PER_PAGE } from './constants'; +import { bodyStyle, Data, SPRITE_ACCESSORY_COLOR_CHANNEL_NAMES } from './types'; export const AppearanceChangerColors = (props) => { const { act, data } = useBackend(); @@ -21,6 +29,8 @@ export const AppearanceChangerColors = (props) => { eye_color, skin_color, hair_color, + hair_grad, + hair_color_grad, facial_hair_color, ears_color, ears2_color, @@ -31,6 +41,7 @@ export const AppearanceChangerColors = (props) => { wing2_color, wing3_color, ear_secondary_colors, + hair_grads, } = data; return ( @@ -64,6 +75,24 @@ export const AppearanceChangerColors = (props) => { + + + + { + return { + displayText: key, + value: key, + }; + })} + onSelected={(val: string) => act('hair_grad', { picked: val })} + /> + - {data.ear_secondary_colors.map((color, index) => ( + {ear_secondary_colors.map((color, index) => ( - - - {markings.map((m) => ( - - - + + + + + + + + + + + + + ))} + + + + setSearchText(val)} + /> + + + + + {shownStyles.map((_, i) => ( + + setTabIndex(i)} + > + Page {i + 1} + + + ))} + + + + + {shownStyles[tabIndex]?.map((style) => ( + { + act('marking', { todo: 1, name: style.name }); + }} > - Change Color - - - - - - ))} - + {style.name} + + ))} + + ); }; diff --git a/tgui/packages/tgui/interfaces/AppearanceChanger/AppearanceChangerFlavor.tsx b/tgui/packages/tgui/interfaces/AppearanceChanger/AppearanceChangerFlavor.tsx new file mode 100644 index 0000000000..d736d17d80 --- /dev/null +++ b/tgui/packages/tgui/interfaces/AppearanceChanger/AppearanceChangerFlavor.tsx @@ -0,0 +1,35 @@ +import { useBackend } from 'tgui/backend'; +import { Box, Button, LabeledList, Section } from 'tgui-core/components'; +import { capitalize } from 'tgui-core/string'; + +import { Data } from './types'; + +export const AppearanceChangerFlavor = (props) => { + const { act, data } = useBackend(); + const { flavor_text } = data; + + return ( +
+ + {Object.keys(flavor_text).map((key) => ( + + +
+ + {flavor_text[key]} + +
+ ))} +
+
+ ); +}; diff --git a/tgui/packages/tgui/interfaces/AppearanceChanger/AppearanceChangerHairs.tsx b/tgui/packages/tgui/interfaces/AppearanceChanger/AppearanceChangerHairs.tsx deleted file mode 100644 index 74430e954e..0000000000 --- a/tgui/packages/tgui/interfaces/AppearanceChanger/AppearanceChangerHairs.tsx +++ /dev/null @@ -1,46 +0,0 @@ -import { useBackend } from 'tgui/backend'; -import { Button, Section } from 'tgui-core/components'; - -import { Data } from './types'; - -export const AppearanceChangerHair = (props) => { - const { act, data } = useBackend(); - - const { hair_style, hair_styles } = data; - - return ( -
- {hair_styles.map((hair) => ( - - ))} -
- ); -}; - -export const AppearanceChangerFacialHair = (props) => { - const { act, data } = useBackend(); - - const { facial_hair_style, facial_hair_styles } = data; - - return ( -
- {facial_hair_styles.map((hair) => ( - - ))} -
- ); -}; diff --git a/tgui/packages/tgui/interfaces/AppearanceChanger/AppearanceChangerHeader.tsx b/tgui/packages/tgui/interfaces/AppearanceChanger/AppearanceChangerHeader.tsx new file mode 100644 index 0000000000..e122b696f3 --- /dev/null +++ b/tgui/packages/tgui/interfaces/AppearanceChanger/AppearanceChangerHeader.tsx @@ -0,0 +1,33 @@ +import { useBackend } from 'tgui/backend'; +import { Button, Section } from 'tgui-core/components'; + +import { Data } from './types'; + +export const AppearanceChangerHeader = (props) => { + const { act, data } = useBackend(); + const { disk, selected_a_record } = data; + return ( +
+ + + + +
+ ); +}; diff --git a/tgui/packages/tgui/interfaces/AppearanceChanger/AppearanceChangerParts.tsx b/tgui/packages/tgui/interfaces/AppearanceChanger/AppearanceChangerParts.tsx new file mode 100644 index 0000000000..6907a0670c --- /dev/null +++ b/tgui/packages/tgui/interfaces/AppearanceChanger/AppearanceChangerParts.tsx @@ -0,0 +1,135 @@ +import { Fragment, useState } from 'react'; +import { useBackend } from 'tgui/backend'; +import { ImageButton, Input, Section, Stack } from 'tgui-core/components'; +import { createSearch } from 'tgui-core/string'; + +import { bodyStyle, Data, styles } from './types'; + +export const AppearanceChangerParts = (props: { + sectionNames: string[]; + possibleStyles: styles[][]; + currentStyle: string[]; + actions: string[]; + canClear?: boolean; +}) => { + const { act } = useBackend(); + const { sectionNames, possibleStyles, currentStyle, actions, canClear } = + props; + const [searchText, setSearchText] = useState(''); + + const selectableStyles = possibleStyles.map((styles: styles[]) => { + const searcher = createSearch(searchText, (style: styles) => { + return style.name; + }); + + const filteredStyles = styles.filter(searcher); + + return filteredStyles.sort((a, b) => + a.name.toLowerCase().localeCompare(b.name.toLowerCase()), + ); + }); + + return ( + + {sectionNames.map((section, i) => ( + + + {i === 0 && ( + setSearchText(val)} + /> + )} + + +
+ {canClear && ( + act(actions[i], { clear: true })} + selected={currentStyle[i] === null} + > + -- Not Set -- + + )} + {selectableStyles[i].map((style) => ( + { + act(actions[i], { ref: style.instance }); + }} + selected={style.name === currentStyle[i]} + > + {style.name} + + ))} +
+
+
+ ))} +
+ ); +}; + +export const AppearanceChangerHair = (props: { + sectionNames: string[]; + possibleStyles: bodyStyle[][]; + currentStyle: string[]; + actions: string[]; +}) => { + const { act } = useBackend(); + const { sectionNames, possibleStyles, currentStyle, actions } = props; + const [searchText, setSearchText] = useState(''); + + const selectableStyles = possibleStyles.map((styles: bodyStyle[]) => { + const searcher = createSearch(searchText, (style: styles) => { + return style.name; + }); + + const filteredStyles = styles.filter(searcher); + + return filteredStyles.sort((a, b) => + a.name.toLowerCase().localeCompare(b.name.toLowerCase()), + ); + }); + + return ( + + {sectionNames.map((section, i) => ( + + + setSearchText(val)} + /> + + +
+ {selectableStyles[i].map((style) => ( + { + act(actions[i], { name: style.name }); + }} + selected={style.name === currentStyle[i]} + > + {style.name} + + ))} +
+
+
+ ))} +
+ ); +}; diff --git a/tgui/packages/tgui/interfaces/AppearanceChanger/constants.ts b/tgui/packages/tgui/interfaces/AppearanceChanger/constants.ts new file mode 100644 index 0000000000..a11b2e064a --- /dev/null +++ b/tgui/packages/tgui/interfaces/AppearanceChanger/constants.ts @@ -0,0 +1,12 @@ +export const TAB_RACE = 0; +export const TAB_FLAVOR = 1; +export const TAB_GENDER = 2; +export const TAB_COLORS = 3; +export const TAB_HAIR = 4; +export const TAB_FACIAL_HAIR = 5; +export const TAB_EARS = 6; +export const TAB_EARS2 = 7; +export const TAB_TAIL = 8; +export const TAB_WINGS = 9; +export const TAB_MARKINGS = 10; +export const MARKINGS_PER_PAGE = 30; diff --git a/tgui/packages/tgui/interfaces/AppearanceChanger/index.tsx b/tgui/packages/tgui/interfaces/AppearanceChanger/index.tsx index ada3f28452..84955b6931 100644 --- a/tgui/packages/tgui/interfaces/AppearanceChanger/index.tsx +++ b/tgui/packages/tgui/interfaces/AppearanceChanger/index.tsx @@ -3,6 +3,7 @@ import { useBackend } from 'tgui/backend'; import { Window } from 'tgui/layouts'; import { Box, + Button, ByondUi, LabeledList, Section, @@ -12,20 +13,33 @@ import { import { capitalize, decodeHtmlEntities } from 'tgui-core/string'; import { - AppearanceChangerEars, AppearanceChangerGender, AppearanceChangerSpecies, - AppearanceChangerTails, - AppearanceChangerWings, } from './AppearanceChangerBody'; +import { AppearanceChangerBodyRecords } from './AppearanceChangerBodyRecords'; import { AppearanceChangerColors, AppearanceChangerMarkings, } from './AppearanceChangerDetails'; +import { AppearanceChangerFlavor } from './AppearanceChangerFlavor'; +import { AppearanceChangerHeader } from './AppearanceChangerHeader'; import { - AppearanceChangerFacialHair, AppearanceChangerHair, -} from './AppearanceChangerHairs'; + AppearanceChangerParts, +} from './AppearanceChangerParts'; +import { + TAB_COLORS, + TAB_EARS, + TAB_EARS2, + TAB_FACIAL_HAIR, + TAB_FLAVOR, + TAB_GENDER, + TAB_HAIR, + TAB_MARKINGS, + TAB_RACE, + TAB_TAIL, + TAB_WINGS, +} from './constants'; import { Data } from './types'; export const AppearanceChanger = (props) => { @@ -37,10 +51,16 @@ export const AppearanceChanger = (props) => { gender, gender_id, hair_style, + hair_styles, facial_hair_style, + facial_hair_styles, ear_style, + ear_styles, + ear_secondary_style, tail_style, + tail_styles, wing_style, + wing_styles, change_race, change_gender, change_eye_color, @@ -51,6 +71,8 @@ export const AppearanceChanger = (props) => { change_hair, change_facial_hair, mapRef, + is_design_console, + selected_a_record, } = data; const { title } = config; @@ -64,50 +86,98 @@ export const AppearanceChanger = (props) => { change_hair_color || change_facial_hair_color; - const disabled = ; - tab[-1] = ; - tab[0] = change_race ? ( + tab[TAB_RACE] = change_race ? ( ) : ( ); - tab[1] = change_gender ? ( + tab[TAB_FLAVOR] = change_race ? ( + + ) : ( + + ); + tab[TAB_GENDER] = change_gender ? ( ) : ( ); - tab[2] = change_color ? ( + tab[TAB_COLORS] = change_color ? ( ) : ( ); - tab[3] = change_hair ? ( - + tab[TAB_HAIR] = change_hair ? ( + ) : ( ); - tab[4] = change_facial_hair ? ( - + tab[TAB_FACIAL_HAIR] = change_facial_hair ? ( + ) : ( ); - tab[5] = change_hair ? ( - + tab[TAB_EARS] = change_hair ? ( + ) : ( ); - tab[6] = change_hair ? ( - + tab[TAB_EARS2] = change_hair ? ( + ) : ( ); - tab[7] = change_hair ? ( - + tab[TAB_TAIL] = change_hair ? ( + ) : ( ); - tab[8] = change_hair ? ( + tab[TAB_WINGS] = change_hair ? ( + + ) : ( + + ); + tab[TAB_MARKINGS] = change_hair ? ( ) : ( @@ -115,151 +185,207 @@ export const AppearanceChanger = (props) => { let firstAccesibleTab = -1; if (change_race) { - firstAccesibleTab = 0; + firstAccesibleTab = TAB_RACE; } else if (change_gender) { - firstAccesibleTab = 1; + firstAccesibleTab = TAB_GENDER; } else if (change_color) { - firstAccesibleTab = 2; + firstAccesibleTab = TAB_COLORS; } else if (change_hair) { - firstAccesibleTab = 4; + firstAccesibleTab = TAB_HAIR; } else if (change_facial_hair) { - firstAccesibleTab = 5; + firstAccesibleTab = TAB_FACIAL_HAIR; } const [tabIndex, setTabIndex] = useState(firstAccesibleTab); return ( - - -
- - - - {name} - - {specimen} - - - {gender ? capitalize(gender) : 'Not Set'} - - - {gender_id ? capitalize(gender_id) : 'Not Set'} - - - {hair_style ? capitalize(hair_style) : 'Not Set'} - - - {facial_hair_style - ? capitalize(facial_hair_style) - : 'Not Set'} - - - {ear_style ? capitalize(ear_style) : 'Not Set'} - - - {tail_style ? capitalize(tail_style) : 'Not Set'} - - - {wing_style ? capitalize(wing_style) : 'Not Set'} - - - + + {is_design_console && !selected_a_record ? ( + + + + + ) : ( + + - + {is_design_console ? : ''} +
+ + + + + + + {name} + + + {specimen} + + + {gender ? capitalize(gender) : 'Not Set'} + + + {gender_id ? capitalize(gender_id) : 'Not Set'} + + + {hair_style ? capitalize(hair_style) : 'Not Set'} + + + {facial_hair_style + ? capitalize(facial_hair_style) + : 'Not Set'} + + + {ear_style ? capitalize(ear_style) : 'Not Set'} + + + {tail_style ? capitalize(tail_style) : 'Not Set'} + + + {wing_style ? capitalize(wing_style) : 'Not Set'} + + + + + + + + + + + + + + + + + +
+ + {change_race ? ( + setTabIndex(TAB_RACE)} + > + Race + + ) : null} + {change_race ? ( + setTabIndex(TAB_FLAVOR)} + > + Flavor + + ) : null} + {change_gender ? ( + setTabIndex(TAB_GENDER)} + > + Gender & Sex + + ) : null} + {change_color ? ( + setTabIndex(TAB_COLORS)} + > + Colors + + ) : null} + {change_hair ? ( + setTabIndex(TAB_HAIR)} + > + Hair + + ) : null} + {change_facial_hair ? ( + setTabIndex(TAB_FACIAL_HAIR)} + > + Facial Hair + + ) : null} + {change_hair ? ( + <> + setTabIndex(TAB_EARS)} + > + Ears + + setTabIndex(TAB_EARS2)} + > + Ears Secondary + + setTabIndex(TAB_TAIL)} + > + Tail + + setTabIndex(TAB_WINGS)} + > + Wings + + setTabIndex(TAB_MARKINGS)} + > + Markings + + + ) : null} +
+ {tab[tabIndex]}
-
- - {change_race ? ( - setTabIndex(0)}> - Race - - ) : null} - {change_gender ? ( - setTabIndex(1)}> - Gender & Sex - - ) : null} - {change_color ? ( - setTabIndex(2)}> - Colors - - ) : null} - {change_hair ? ( - <> - setTabIndex(3)} - > - Hair - - setTabIndex(5)} - > - Ear - - setTabIndex(6)} - > - Tail - - setTabIndex(7)} - > - Wing - - setTabIndex(8)} - > - Markings - - - ) : null} - {change_facial_hair ? ( - setTabIndex(4)}> - Facial Hair - - ) : null} - - {tab[tabIndex]} -
+ + )}
); }; diff --git a/tgui/packages/tgui/interfaces/AppearanceChanger/types.ts b/tgui/packages/tgui/interfaces/AppearanceChanger/types.ts index 2c4413069f..bfab1ed3e3 100644 --- a/tgui/packages/tgui/interfaces/AppearanceChanger/types.ts +++ b/tgui/packages/tgui/interfaces/AppearanceChanger/types.ts @@ -14,6 +14,7 @@ export type Data = { gender: string; gender_id: string; hair_style: string; + hair_grad: string; facial_hair_style: string; ear_style: string; ear_styles: styles[]; @@ -37,6 +38,7 @@ export type Data = { eye_color: string; skin_color: string; hair_color: string; + hair_color_grad: string; facial_hair_color: string; ears_color: string; ears2_color: string; @@ -46,10 +48,35 @@ export type Data = { wing_color: string; wing2_color: string; wing3_color: string; - facial_hair_styles: { facialhairstyle: string }[]; - hair_styles: { hairstyle: string }[]; + facial_hair_styles: bodyStyle[]; + hair_styles: bodyStyle[]; + hair_grads: string[]; + marking_styles: bodyStyle[]; ear_secondary_style: string; ear_secondary_colors: string[]; + is_design_console: BooleanLike; // If we have disk access + selected_a_record: BooleanLike; // If we're past record selection + character_records: bodyrecord[]; + stock_records: string[]; + disk: BooleanLike; + stock_bodyrecords: string[]; + bodyrecords: string[]; + species_name: string; + use_custom_icon: BooleanLike; + base_icon: string; + size_scale: number; + synthetic: BooleanLike; + scale_appearance: BooleanLike; + offset_override: BooleanLike; + weight: number; + digitigrade: BooleanLike; + blood_reagent: string; + blood_color: string; + species_sound: string; + // species_sounds_gendered: BooleanLike; + // species_sounds_female: string; + // species_sounds_male: string; + flavor_text: flavors; }; type genders = { gender_name: string; gender_key: string }[]; @@ -59,6 +86,28 @@ export type styles = { instance: string; color: boolean; second_color: boolean; + icon: string; + icon_state: string; +}; + +export type bodyStyle = { + name: string; + icon: string; + icon_state: string; }; export type species = { specimen: string }; + +export type bodyrecord = { name: string; recref: string }; + +export type flavors = { + general: string; + head: string; + face: string; + eyes: string; + torso: string; + arms: string; + hands: string; + legs: string; + feet: string; +}; diff --git a/tgui/packages/tgui/interfaces/BodyDesigner/BodyDesignerBodyRecords.tsx b/tgui/packages/tgui/interfaces/BodyDesigner/BodyDesignerBodyRecords.tsx deleted file mode 100644 index 011ef8880f..0000000000 --- a/tgui/packages/tgui/interfaces/BodyDesigner/BodyDesignerBodyRecords.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import { useBackend } from 'tgui/backend'; -import { Button, Section } from 'tgui-core/components'; - -import { bodyrecord } from './types'; - -export const BodyDesignerBodyRecords = (props: { - bodyrecords: bodyrecord[]; -}) => { - const { act } = useBackend(); - const { bodyrecords } = props; - return ( -
act('menu', { menu: 'Main' })}> - Back - - } - > - {bodyrecords - ? bodyrecords.map((record) => ( - - )) - : ''} -
- ); -}; diff --git a/tgui/packages/tgui/interfaces/BodyDesigner/BodyDesignerMain.tsx b/tgui/packages/tgui/interfaces/BodyDesigner/BodyDesignerMain.tsx deleted file mode 100644 index d4c57f4a1a..0000000000 --- a/tgui/packages/tgui/interfaces/BodyDesigner/BodyDesignerMain.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import { useBackend } from 'tgui/backend'; -import { Button, Section } from 'tgui-core/components'; - -export const BodyDesignerMain = (props) => { - const { act } = useBackend(); - return ( -
- - -
- ); -}; diff --git a/tgui/packages/tgui/interfaces/BodyDesigner/BodyDesignerOOCNotes.tsx b/tgui/packages/tgui/interfaces/BodyDesigner/BodyDesignerOOCNotes.tsx deleted file mode 100644 index 959a2a7659..0000000000 --- a/tgui/packages/tgui/interfaces/BodyDesigner/BodyDesignerOOCNotes.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import { useBackend } from 'tgui/backend'; -import { Button, Section } from 'tgui-core/components'; - -import { activeBodyRecord } from './types'; - -export const BodyDesignerOOCNotes = (props: { - activeBodyRecord: activeBodyRecord; -}) => { - const { act } = useBackend(); - const { activeBodyRecord } = props; - return ( -
act('menu', { menu: 'Specific Record' })} - > - Back - - } - style={{ wordBreak: 'break-all' }} - > - {(activeBodyRecord && activeBodyRecord.booc) || - 'ERROR: Body record not found!'} -
- ); -}; diff --git a/tgui/packages/tgui/interfaces/BodyDesigner/BodyDesignerSpecificRecord.tsx b/tgui/packages/tgui/interfaces/BodyDesigner/BodyDesignerSpecificRecord.tsx deleted file mode 100644 index c9a82dd92d..0000000000 --- a/tgui/packages/tgui/interfaces/BodyDesigner/BodyDesignerSpecificRecord.tsx +++ /dev/null @@ -1,440 +0,0 @@ -import { useBackend } from 'tgui/backend'; -import { - Box, - Button, - ByondUi, - ColorBox, - LabeledList, - Section, - Stack, -} from 'tgui-core/components'; -import { capitalize } from 'tgui-core/string'; - -import { activeBodyRecord } from './types'; - -export const BodyDesignerSpecificRecord = (props: { - activeBodyRecord: activeBodyRecord; - mapRef: string; -}) => { - const { act } = useBackend(); - const { activeBodyRecord, mapRef } = props; - return activeBodyRecord ? ( - -
act('menu', { menu: 'Main' })} - > - Back - - } - > - - - - - -
- - - -
- - - - - - - - - - - - {activeBodyRecord.synthetic} - - - - - - - - - - - - - - {activeBodyRecord.locked ? 'Low' : 'High'} - - - -
-
- - {Object.keys(activeBodyRecord.flavors).map((key) => { - return ( - - -
- - {activeBodyRecord.flavors[key]} - -
- ); - })} -
-
-
- -
- - - - - - - - - - - - - {Object.keys(activeBodyRecord.styles).map((key) => { - const style = activeBodyRecord.styles[key]; - return ( - - {style.styleHref ? ( - - ) : ( - '' - )} - {style.colorHref ? ( - - - - - ) : ( - '' - )} - {style.colorHref2 ? ( - - - - - ) : ( - '' - )} - {style.colorHref3 ? ( - - - - - ) : ( - '' - )} - - ); - })} - - - - {Object.keys(activeBodyRecord.markings).map((key) => { - const marking = activeBodyRecord.markings[key]; - return ( - - - - - - - - ); - })} - - -
-
-
-
-
- ) : ( - ERROR: Record Not Found! - ); -}; diff --git a/tgui/packages/tgui/interfaces/BodyDesigner/BodyDesignerStockRecords.tsx b/tgui/packages/tgui/interfaces/BodyDesigner/BodyDesignerStockRecords.tsx deleted file mode 100644 index f51e16afc3..0000000000 --- a/tgui/packages/tgui/interfaces/BodyDesigner/BodyDesignerStockRecords.tsx +++ /dev/null @@ -1,29 +0,0 @@ -import { useBackend } from 'tgui/backend'; -import { Button, Section } from 'tgui-core/components'; - -export const BodyDesignerStockRecords = (props: { - stock_bodyrecords: string[]; -}) => { - const { act } = useBackend(); - const { stock_bodyrecords } = props; - return ( -
act('menu', { menu: 'Main' })}> - Back - - } - > - {stock_bodyrecords.map((record) => ( - - ))} -
- ); -}; diff --git a/tgui/packages/tgui/interfaces/BodyDesigner/index.tsx b/tgui/packages/tgui/interfaces/BodyDesigner/index.tsx deleted file mode 100644 index a0502474a6..0000000000 --- a/tgui/packages/tgui/interfaces/BodyDesigner/index.tsx +++ /dev/null @@ -1,72 +0,0 @@ -import { useBackend } from 'tgui/backend'; -import { Window } from 'tgui/layouts'; -import { Box, Button } from 'tgui-core/components'; - -import { BodyDesignerBodyRecords } from './BodyDesignerBodyRecords'; -import { BodyDesignerMain } from './BodyDesignerMain'; -import { BodyDesignerOOCNotes } from './BodyDesignerOOCNotes'; -import { BodyDesignerSpecificRecord } from './BodyDesignerSpecificRecord'; -import { BodyDesignerStockRecords } from './BodyDesignerStockRecords'; -import { Data } from './types'; - -export const BodyDesigner = (props) => { - const { act, data } = useBackend(); - - const { - menu, - disk, - diskStored, - activeBodyRecord, - stock_bodyrecords, - bodyrecords, - mapRef, - } = data; - - const MenuToTemplate = { - Main: , - 'Body Records': , - 'Stock Records': ( - - ), - 'Specific Record': ( - - ), - 'OOC Notes': , - }; - - let body = MenuToTemplate[menu]; - - return ( - - - - - - - - {body} - - - ); -}; diff --git a/tgui/packages/tgui/interfaces/BodyDesigner/types.ts b/tgui/packages/tgui/interfaces/BodyDesigner/types.ts deleted file mode 100644 index 761d4e516e..0000000000 --- a/tgui/packages/tgui/interfaces/BodyDesigner/types.ts +++ /dev/null @@ -1,82 +0,0 @@ -import { BooleanLike } from 'tgui-core/react'; - -export type Data = { - mapRef: string; - bodyrecords: bodyrecord[]; - stock_bodyrecords: string[]; - activeBodyRecord: activeBodyRecord; - menu: string; - temp: { - styleHref: string; - style: string; - color: string | undefined; - colorHref: string | undefined | { act: string; params: Object }; - color2?: string | undefined; - colorHref2?: string | undefined | { act: string; params: Object }; - }; - disk: BooleanLike; - diskStored: BooleanLike; -}; - -export type bodyrecord = { name: string; recref: string }; - -export type activeBodyRecord = { - real_name: string; - speciesname: string; - gender: string; - synthetic: string; - locked: BooleanLike; - scale: string; - booc: string; - digitigrade: BooleanLike; - styles: { - Ears: colourableStyle; - Horns: colourableStyle; - Tail: colourableStyle; - Wing: colourableStyle; - Hair: simpleStyle; - Facial: simpleStyle; - Eyes: colourStyle; - 'Body Color': colourStyle; - Bodytype: { styleHref: string; style: string }; - }; - markings: { name: Record }; // Record entries match BP regions - scale_appearance: string; - offset_override: string; - species_sound: string; - weight: string; - blood_type: string; - blood_color: string; - blood_reagents: string; - flavors: { - general: string; - head: string; - face: string; - eyes: string; - arms: string; - hands: string; - legs: string; - feet: string; - }; -}; - -type colourableStyle = { - styleHref: string; - style: string; - color: string | undefined; - colorHref: string | undefined; - color2: string | undefined; - colorHref2: string | undefined; -}; - -type simpleStyle = { - styleHref: string; - style: string; - colorHref: string; - color: string; -}; - -type colourStyle = { - colorHref: string; - color: string; -}; diff --git a/vorestation.dme b/vorestation.dme index 0bcd80e33e..4465cd2df0 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -3747,7 +3747,6 @@ #include "code\modules\mob\new_player\sprite_accessories_ear_ch.dm" #include "code\modules\mob\new_player\sprite_accessories_extra_ch.dm" #include "code\modules\mob\new_player\sprite_accessories_hair.dm" -#include "code\modules\mob\new_player\sprite_accessories_hair_extra.dm" #include "code\modules\mob\new_player\sprite_accessories_markings.dm" #include "code\modules\mob\new_player\sprite_accessories_tail.dm" #include "code\modules\mob\new_player\sprite_accessories_tail_ch.dm" @@ -4498,7 +4497,6 @@ #include "code\modules\tgui\modules\agentcard.dm" #include "code\modules\tgui\modules\alarm.dm" #include "code\modules\tgui\modules\appearance_changer.dm" -#include "code\modules\tgui\modules\appearance_changer_vr.dm" #include "code\modules\tgui\modules\atmos_control.dm" #include "code\modules\tgui\modules\camera.dm" #include "code\modules\tgui\modules\communications.dm" @@ -4719,6 +4717,7 @@ #include "code\modules\xenobio\machinery\processor.dm" #include "code\modules\xgm\xgm_gas_data.dm" #include "code\modules\xgm\xgm_gas_mixture.dm" +#include "code\unit_tests\cosmetic_tests.dm" #include "code\unit_tests\decl_tests.dm" #include "code\unit_tests\language_tests.dm" #include "code\unit_tests\loadout_tests.dm"