From b0243c1b40a8e25e5b2c489658e047579e187e7c Mon Sep 17 00:00:00 2001 From: nikothedude Date: Thu, 30 Oct 2025 20:01:21 -0400 Subject: [PATCH 01/52] le push --- code/__DEFINES/mobs.dm | 5 + .../~doppler_defines/_clothing_defines.dm | 85 +++++++ code/__DEFINES/~doppler_defines/is_helpers.dm | 1 + code/__DEFINES/~doppler_defines/mobs.dm | 1 + .../~doppler_defines/mutant_blacklists.dm | 1 + .../~doppler_defines/mutant_variations.dm | 2 + code/__DEFINES/~doppler_defines/species.dm | 1 + code/modules/clothing/under/_under.dm | 2 +- .../living/carbon/human/human_update_icons.dm | 117 +++++++++- code/~doppler_earliest_defines.dm | 11 + config/game_options.txt | 1 + icons/map_icons/clothing/head/beret.dmi | Bin 2726 -> 2907 bytes .../GAGS/icons/beret_teshari.dmi | Bin 0 -> 395 bytes .../GAGS/icons/dressteshari.dmi | Bin 0 -> 945 bytes .../GAGS/icons/head_teshari.dmi | Bin 0 -> 499 bytes .../GAGS/icons/jumpsuit_teshari.dmi | Bin 0 -> 1056 bytes .../GAGS/icons/labcoat_teshari.dmi | Bin 0 -> 788 bytes .../GAGS/icons/masks_teshari.dmi | Bin 0 -> 379 bytes .../icons/masquerade_mask_worn_teshari.dmi | Bin 0 -> 785 bytes .../GAGS/icons/neck_teshari.dmi | Bin 0 -> 695 bytes .../GAGS/icons/ranger_poncho_teshari.dmi | Bin 0 -> 758 bytes .../GAGS/icons/shoes_teshari.dmi | Bin 0 -> 419 bytes .../GAGS/icons/sneakers_teshari.dmi | Bin 0 -> 350 bytes .../GAGS/icons/suit_teshari.dmi | Bin 0 -> 800 bytes .../GAGS/icons/teshari_fallbacks.dmi | Bin 0 -> 12824 bytes .../GAGS/icons/teshari_uniform.dmi | Bin 0 -> 916 bytes .../json_configs/teshari_fallbacks/armor.json | 10 + .../teshari_fallbacks/backpack.json | 10 + .../json_configs/teshari_fallbacks/cloak.json | 16 ++ .../json_configs/teshari_fallbacks/coat.json | 10 + .../teshari_fallbacks/glasses.json | 16 ++ .../teshari_fallbacks/gloves.json | 10 + .../teshari_fallbacks/hardsuit.json | 22 ++ .../teshari_fallbacks/jacket.json | 28 +++ .../teshari_fallbacks/longcoat.json | 34 +++ .../teshari_fallbacks/mantle.json | 16 ++ .../teshari_fallbacks/modcontrol.json | 10 + .../json_configs/teshari_fallbacks/scarf.json | 10 + .../json_configs/teshari_fallbacks/shoes.json | 10 + .../teshari_fallbacks/spacesuit.json | 10 + .../teshari_fallbacks/thickrobe.json | 34 +++ .../json_configs/teshari_fallbacks/tie.json | 10 + .../json_configs/teshari_fallbacks/under.json | 22 ++ .../teshari_fallbacks/under_skirt.json | 22 ++ .../teshari_fallbacks/wizrobe.json | 46 ++++ .../code/teshari_accessories/teshari_ears.dm | 78 +++++++ .../code/teshari_accessories/teshari_tail.dm | 14 ++ .../icons/teshari/teshari_ears.dmi | Bin 0 -> 11801 bytes .../icons/teshari/teshari_tails.dmi | Bin 0 -> 897 bytes .../modular_customization/preferences/ears.dm | 34 +++ .../modular_customization/preferences/tail.dm | 39 ++++ .../modular_customization/tri_color/ears.dm | 5 + .../modular_customization/tri_color/tail.dm | 5 + .../modular_species/custom_bodytype.dm | 101 ++++++++ .../species_types/teshari/birdman_food.dm | 107 +++++++++ .../species_types/teshari/ears.dm | 80 +++++++ .../species_types/teshari/gags_configs.dm | 168 +++++++++++++ .../teshari/icons/abilities/actions.dmi | Bin 0 -> 1264 bytes .../teshari/icons/clothing/accessories.dmi | Bin 0 -> 4916 bytes .../teshari/icons/clothing/back.dmi | Bin 0 -> 22312 bytes .../teshari/icons/clothing/belt.dmi | Bin 0 -> 8060 bytes .../teshari/icons/clothing/ears.dmi | Bin 0 -> 1135 bytes .../teshari/icons/clothing/eyes.dmi | Bin 0 -> 8769 bytes .../teshari/icons/clothing/feet.dmi | Bin 0 -> 2056 bytes .../teshari/icons/clothing/feet_64.dmi | Bin 0 -> 1009 bytes .../teshari/icons/clothing/hands.dmi | Bin 0 -> 2135 bytes .../teshari/icons/clothing/head.dmi | Bin 0 -> 50208 bytes .../teshari/icons/clothing/mask.dmi | Bin 0 -> 13647 bytes .../teshari/icons/clothing/neck.dmi | Bin 0 -> 55948 bytes .../teshari/icons/clothing/suit.dmi | Bin 0 -> 100854 bytes .../teshari/icons/clothing/uniform.dmi | Bin 0 -> 93697 bytes .../teshari/icons/teshari_eyes.dmi | Bin 0 -> 1039 bytes .../teshari/icons/teshari_parts_greyscale.dmi | Bin 0 -> 3104 bytes .../species_types/teshari/notes.txt | 18 ++ .../species_types/teshari/parts.dm | 7 + .../species_types/teshari/schechi.dm | 30 +++ .../species_types/teshari/teshari.dm | 121 ++++++++++ .../teshari/teshari_bodyparts.dm | 125 ++++++++++ .../species_types/teshari/teshari_clothes.dm | 220 ++++++++++++++++++ .../species_types/teshari/worn_overlays.dm | 13 ++ tgstation.dme | 13 ++ 81 files changed, 1738 insertions(+), 13 deletions(-) create mode 100644 code/__DEFINES/~doppler_defines/_clothing_defines.dm create mode 100644 modular_doppler/modular_cosmetics/GAGS/icons/beret_teshari.dmi create mode 100644 modular_doppler/modular_cosmetics/GAGS/icons/dressteshari.dmi create mode 100644 modular_doppler/modular_cosmetics/GAGS/icons/head_teshari.dmi create mode 100644 modular_doppler/modular_cosmetics/GAGS/icons/jumpsuit_teshari.dmi create mode 100644 modular_doppler/modular_cosmetics/GAGS/icons/labcoat_teshari.dmi create mode 100644 modular_doppler/modular_cosmetics/GAGS/icons/masks_teshari.dmi create mode 100644 modular_doppler/modular_cosmetics/GAGS/icons/masquerade_mask_worn_teshari.dmi create mode 100644 modular_doppler/modular_cosmetics/GAGS/icons/neck_teshari.dmi create mode 100644 modular_doppler/modular_cosmetics/GAGS/icons/ranger_poncho_teshari.dmi create mode 100644 modular_doppler/modular_cosmetics/GAGS/icons/shoes_teshari.dmi create mode 100644 modular_doppler/modular_cosmetics/GAGS/icons/sneakers_teshari.dmi create mode 100644 modular_doppler/modular_cosmetics/GAGS/icons/suit_teshari.dmi create mode 100644 modular_doppler/modular_cosmetics/GAGS/icons/teshari_fallbacks.dmi create mode 100644 modular_doppler/modular_cosmetics/GAGS/icons/teshari_uniform.dmi create mode 100644 modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/armor.json create mode 100644 modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/backpack.json create mode 100644 modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/cloak.json create mode 100644 modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/coat.json create mode 100644 modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/glasses.json create mode 100644 modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/gloves.json create mode 100644 modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/hardsuit.json create mode 100644 modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/jacket.json create mode 100644 modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/longcoat.json create mode 100644 modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/mantle.json create mode 100644 modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/modcontrol.json create mode 100644 modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/scarf.json create mode 100644 modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/shoes.json create mode 100644 modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/spacesuit.json create mode 100644 modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/thickrobe.json create mode 100644 modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/tie.json create mode 100644 modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/under.json create mode 100644 modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/under_skirt.json create mode 100644 modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/wizrobe.json create mode 100644 modular_doppler/modular_customization/accessories/code/teshari_accessories/teshari_ears.dm create mode 100644 modular_doppler/modular_customization/accessories/code/teshari_accessories/teshari_tail.dm create mode 100644 modular_doppler/modular_customization/accessories/icons/teshari/teshari_ears.dmi create mode 100644 modular_doppler/modular_customization/accessories/icons/teshari/teshari_tails.dmi create mode 100644 modular_doppler/modular_species/custom_bodytype.dm create mode 100644 modular_doppler/modular_species/species_types/teshari/birdman_food.dm create mode 100644 modular_doppler/modular_species/species_types/teshari/ears.dm create mode 100644 modular_doppler/modular_species/species_types/teshari/gags_configs.dm create mode 100644 modular_doppler/modular_species/species_types/teshari/icons/abilities/actions.dmi create mode 100644 modular_doppler/modular_species/species_types/teshari/icons/clothing/accessories.dmi create mode 100644 modular_doppler/modular_species/species_types/teshari/icons/clothing/back.dmi create mode 100644 modular_doppler/modular_species/species_types/teshari/icons/clothing/belt.dmi create mode 100644 modular_doppler/modular_species/species_types/teshari/icons/clothing/ears.dmi create mode 100644 modular_doppler/modular_species/species_types/teshari/icons/clothing/eyes.dmi create mode 100644 modular_doppler/modular_species/species_types/teshari/icons/clothing/feet.dmi create mode 100644 modular_doppler/modular_species/species_types/teshari/icons/clothing/feet_64.dmi create mode 100644 modular_doppler/modular_species/species_types/teshari/icons/clothing/hands.dmi create mode 100644 modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi create mode 100644 modular_doppler/modular_species/species_types/teshari/icons/clothing/mask.dmi create mode 100644 modular_doppler/modular_species/species_types/teshari/icons/clothing/neck.dmi create mode 100644 modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi create mode 100644 modular_doppler/modular_species/species_types/teshari/icons/clothing/uniform.dmi create mode 100644 modular_doppler/modular_species/species_types/teshari/icons/teshari_eyes.dmi create mode 100644 modular_doppler/modular_species/species_types/teshari/icons/teshari_parts_greyscale.dmi create mode 100644 modular_doppler/modular_species/species_types/teshari/notes.txt create mode 100644 modular_doppler/modular_species/species_types/teshari/parts.dm create mode 100644 modular_doppler/modular_species/species_types/teshari/schechi.dm create mode 100644 modular_doppler/modular_species/species_types/teshari/teshari.dm create mode 100644 modular_doppler/modular_species/species_types/teshari/teshari_bodyparts.dm create mode 100644 modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm create mode 100644 modular_doppler/modular_species/species_types/teshari/worn_overlays.dm diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index 246d925214fe45..4da82a733ae0be 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -180,6 +180,9 @@ /// A bit nasty, but I can't think of another way to do this. Owners of this limb will not render shoes. #define BODYSHAPE_HIDE_SHOES (1<<11) +/// Teshari limbs. They are very much not normally shaped, so they need an entire bodytype. +#define BODYSHAPE_TESHARI (1<<12) + /// BREAKER: Numeric -> text for use in defines #define BODYSHAPE_HUMANOID_T "1" #define BODYSHAPE_MONKEY_T "2" @@ -188,6 +191,7 @@ #define BODYSHAPE_TAUR_SNAKE_T "256" #define BODYSHAPE_TAUR_HOOF_T "512" #define BODYSHAPE_TAUR_PAW_T "1024" +#define BODYSHAPE_TESHARI_T "4096" /// DOPPLER SHIFT ADDITION END #define BODYTYPE_BIOSCRAMBLE_INCOMPATIBLE (BODYTYPE_ROBOTIC | BODYTYPE_LARVA_PLACEHOLDER | BODYTYPE_GOLEM | BODYTYPE_PEG) @@ -489,6 +493,7 @@ #define OFFSET_SUIT "suit" #define OFFSET_NECK "neck" #define OFFSET_HELD "held" +#define OFFSET_ACCESSORY "accessory" // Doppler edit - addition //MINOR TWEAKS/MISC #define AGE_MIN 18 //youngest a character can be diff --git a/code/__DEFINES/~doppler_defines/_clothing_defines.dm b/code/__DEFINES/~doppler_defines/_clothing_defines.dm new file mode 100644 index 00000000000000..68a23c6e9fa32f --- /dev/null +++ b/code/__DEFINES/~doppler_defines/_clothing_defines.dm @@ -0,0 +1,85 @@ +// These COLORPIXEL defines indicate the pixel position on the base sprite of a clothing piece from which the color will be taken. +#define GLASSES_COLORPIXEL_X_1 10 +#define GLASSES_COLORPIXEL_Y_1 16 +#define GLASSES_COLORPIXEL_X_2 18 +#define GLASSES_COLORPIXEL_Y_2 16 + +#define GLOVES_COLORPIXEL_X_1 10 +#define GLOVES_COLORPIXEL_Y_1 13 + +#define SCARF_COLORPIXEL_X_1 15 +#define SCARF_COLORPIXEL_Y_1 19 + +#define TIE_COLORPIXEL_X_1 16 +#define TIE_COLORPIXEL_Y_1 20 + +#define SHOES_COLORPIXEL_X_1 13 +#define SHOES_COLORPIXEL_Y_1 3 + +#define SPACESUIT_COLORPIXEL_X_1 10 +#define SPACESUIT_COLORPIXEL_Y_1 20 + +#define MODSUIT_COLORPIXEL_X_1 10 +#define MODSUIT_COLORPIXEL_Y_1 20 +#define MODSUIT_COLORPIXEL_X_2 14 +#define MODSUIT_COLORPIXEL_Y_2 15 +#define MODSUIT_COLORPIXEL_X_3 22 +#define MODSUIT_COLORPIXEL_Y_3 12 + +#define MODCONTROL_COLORPIXEL_X_1 13 +#define MODCONTROL_COLORPIXEL_Y_1 10 + +#define COAT_COLORPIXEL_X_1 13 +#define COAT_COLORPIXEL_Y_1 15 + +#define ARMOR_COLORPIXEL_X_1 14 +#define ARMOR_COLORPIXEL_Y_1 18 + +#define CLOAK_COLORPIXEL_X_1 11 +#define CLOAK_COLORPIXEL_Y_1 15 +#define CLOAK_COLORPIXEL_X_2 12 +#define CLOAK_COLORPIXEL_Y_2 22 + +#define MANTLE_COLORPIXEL_X_1 10 +#define MANTLE_COLORPIXEL_Y_1 20 +#define MANTLE_COLORPIXEL_X_2 15 +#define MANTLE_COLORPIXEL_Y_2 20 + +#define UNDER_COLORPIXEL_X_1 15 +#define UNDER_COLORPIXEL_Y_1 17 +#define UNDER_COLORPIXEL_X_2 10 +#define UNDER_COLORPIXEL_Y_2 19 +#define UNDER_COLORPIXEL_X_3 15 +#define UNDER_COLORPIXEL_Y_3 10 + +#define THICKROBE_COLORPIXEL_X_1 16 +#define THICKROBE_COLORPIXEL_Y_1 9 +#define WIZARDROBE_COLORPIXEL_X_1 16 +#define WIZARDROBE_COLORPIXEL_Y_1 9 +#define JACKET_COLORPIXEL_X_1 14 +#define JACKET_COLORPIXEL_Y_1 16 +#define LONGCOAT_COLORPIXEL_X_1 13 +#define LONGCOAT_COLORPIXEL_Y_1 20 +#define THICKROBE_COLORPIXEL_X_2 14 +#define THICKROBE_COLORPIXEL_Y_2 19 +#define JACKET_COLORPIXEL_X_2 14 +#define JACKET_COLORPIXEL_Y_2 21 +#define WIZARDROBE_COLORPIXEL_X_2 14 +#define WIZARDROBE_COLORPIXEL_Y_2 19 +#define THICKROBE_COLORPIXEL_X_3 13 +#define THICKROBE_COLORPIXEL_Y_3 19 +#define THICKROBE_COLORPIXEL_X_4 8 +#define THICKROBE_COLORPIXEL_Y_4 16 +#define LONGCOAT_COLORPIXEL_X_4 19 +#define LONGCOAT_COLORPIXEL_Y_4 17 +#define JACKET_COLORPIXEL_X_4 9 +#define JACKET_COLORPIXEL_Y_4 15 +#define THICKROBE_COLORPIXEL_X_5 16 +#define THICKROBE_COLORPIXEL_Y_5 12 +#define WIZARDROBE_COLORPIXEL_X_5 16 +#define WIZARDROBE_COLORPIXEL_Y_5 12 +#define THICKROBE_COLORPIXEL_X_6 16 +#define THICKROBE_COLORPIXEL_Y_6 20 + +#define BACK_COLORPIXEL_X_1 13 +#define BACK_COLORPIXEL_Y_1 18 diff --git a/code/__DEFINES/~doppler_defines/is_helpers.dm b/code/__DEFINES/~doppler_defines/is_helpers.dm index bca61f97526918..5b6768c039bc5f 100644 --- a/code/__DEFINES/~doppler_defines/is_helpers.dm +++ b/code/__DEFINES/~doppler_defines/is_helpers.dm @@ -5,3 +5,4 @@ #define issnail(A) (is_species(A, /datum/species/snail)) #define ishemophage(A) (is_species(A, /datum/species/human/genemod/hemophage)) #define isramatan(A) (is_species(A, /datum/species/ramatan)) +#define isteshari(A) (is_species(A, /datum/species/teshari)) diff --git a/code/__DEFINES/~doppler_defines/mobs.dm b/code/__DEFINES/~doppler_defines/mobs.dm index 58ee19c13f3754..99bf02320ca76a 100644 --- a/code/__DEFINES/~doppler_defines/mobs.dm +++ b/code/__DEFINES/~doppler_defines/mobs.dm @@ -7,6 +7,7 @@ #define BODYPART_ICON_SNAIL 'modular_doppler/modular_species/species_types/snails/icons/bodyparts/snail_bodyparts.dmi' #define BODYPART_ICON_ROUNDSTARTSLIME 'modular_doppler/modular_species/species_types/slimes/icons/bodyparts.dmi' #define BODYPART_ICON_TAUR 'modular_doppler/taurs/icons/taur_invisible_legs.dmi' +#define BODYPART_ICON_TESHARI 'modular_doppler/modular_species/species_types/teshari/icons/teshari_parts_greyscale.dmi' #define DIGI_HOOF "Hooved Legs" #define DIGI_TALON "Taloned Legs" diff --git a/code/__DEFINES/~doppler_defines/mutant_blacklists.dm b/code/__DEFINES/~doppler_defines/mutant_blacklists.dm index fa7b3a4ff6fb82..45d880d3cb86d2 100644 --- a/code/__DEFINES/~doppler_defines/mutant_blacklists.dm +++ b/code/__DEFINES/~doppler_defines/mutant_blacklists.dm @@ -1,5 +1,6 @@ GLOBAL_LIST_INIT(species_blacklist_no_mutant, list( /datum/species/human, + /datum/species/teshari, // tesh have special ears and tails )) GLOBAL_LIST_INIT(species_blacklist_no_humanoid, list( diff --git a/code/__DEFINES/~doppler_defines/mutant_variations.dm b/code/__DEFINES/~doppler_defines/mutant_variations.dm index c1d8db84c16f4b..2aea3df307361b 100644 --- a/code/__DEFINES/~doppler_defines/mutant_variations.dm +++ b/code/__DEFINES/~doppler_defines/mutant_variations.dm @@ -19,6 +19,7 @@ #define MOUSE "mouse" #define ROACH "roach" #define BAT "bat" +#define TESHARI "teshari" /// This list gets read by the dropdown pref when a player chooses what type of sprite accessory to access GLOBAL_LIST_INIT(mutant_variations, list( @@ -36,6 +37,7 @@ GLOBAL_LIST_INIT(mutant_variations, list( LIZARD, MONKEY, MOUSE, + // no TESHARI bc theyre only for tesh - TODO allow use of tails... somehow? )) /// This list gets read by the animalistic preference for genemod and anthros diff --git a/code/__DEFINES/~doppler_defines/species.dm b/code/__DEFINES/~doppler_defines/species.dm index 05af02502fb80c..5657869f5158a7 100644 --- a/code/__DEFINES/~doppler_defines/species.dm +++ b/code/__DEFINES/~doppler_defines/species.dm @@ -6,3 +6,4 @@ #define SPECIES_HEMOPHAGE "hemophage" #define SPECIES_SLIMESTART "slimehybrid" #define SPECIES_HOLOSYNTH "holosynth" +#define SPECIES_TESHARI "teshari" diff --git a/code/modules/clothing/under/_under.dm b/code/modules/clothing/under/_under.dm index 42317854c5debb..28e241dc6aeff5 100644 --- a/code/modules/clothing/under/_under.dm +++ b/code/modules/clothing/under/_under.dm @@ -103,7 +103,7 @@ if(damaged_clothes) . += mutable_appearance('icons/effects/item_damage.dmi', "damageduniform") if(accessory_overlay) - . += accessory_overlay + . += modify_accessory_overlay() // DOPPLER EDIT CHANGE - ORIGINAL: . += accessory_overlay /obj/item/clothing/under/separate_worn_overlays(mutable_appearance/standing, mutable_appearance/draw_target, isinhands = FALSE, icon_file) . = ..() diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index 77b4a9b9ae2c85..04f60a78f9ca35 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -101,11 +101,21 @@ There are several things that need to be remembered: var/handled_by_bodyshape = TRUE var/icon_file var/woman - /// DOPPLER ADDITION BEGIN + /// DOPPLER SHIFT ADDITION BEGIN + var/found_alt_shape = FALSE for(var/shape in uniform.supported_bodyshapes) if(bodyshape & shape) icon_file = uniform.bodyshape_icon_files["[shape]"] - /// DOPPLER SHIFT REMOVAL BEGIN + found_alt_shape = TRUE + + if(!found_alt_shape) + var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_BELT, uniform) + if (!isnull(fallback_config)) + // we found a config for our species? that must mean the clothing doesnt fit. so just trust it + var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_BELT, uniform, src) + if(species_icon_file) + icon_file = species_icon_file + /// DOPPLER SHIFT ADDITION END //BEGIN SPECIES HANDLING /*if((bodyshape & BODYSHAPE_DIGITIGRADE) && (uniform.supports_variations_flags & CLOTHING_DIGITIGRADE_VARIATION)) icon_file = DIGITIGRADE_UNIFORM_FILE*/ @@ -207,9 +217,19 @@ There are several things that need to be remembered: var/icon_file = 'icons/mob/clothing/hands.dmi' /// DOPPLER SHIFT ADDITION BEGIN - for(var/shape in gloves.supported_bodyshapes) + var/found_alt_shape = FALSE + for(var/shape in worn_item.supported_bodyshapes) if(bodyshape & shape) - icon_file = gloves.bodyshape_icon_files["[shape]"] + icon_file = worn_item.bodyshape_icon_files["[shape]"] + found_alt_shape = TRUE + + if(!found_alt_shape) + var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_BELT, worn_item) + if (!isnull(fallback_config)) + // we found a config for our species? that must mean the clothing doesnt fit. so just trust it + var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_BELT, worn_item, src) + if(species_icon_file) + icon_file = species_icon_file /// DOPPLER SHIFT ADDITION END var/mutable_appearance/gloves_overlay = gloves.build_worn_icon(default_layer = GLOVES_LAYER, default_icon_file = icon_file, humie = src) /// DOPPLER SHIFT EDIT @@ -318,9 +338,22 @@ There are several things that need to be remembered: var/icon_file = 'icons/mob/clothing/neck.dmi' /// DOPPLER SHIFT ADDITION BEGIN + var/found_alt_shape = FALSE for(var/shape in worn_item.supported_bodyshapes) if(bodyshape & shape) icon_file = worn_item.bodyshape_icon_files["[shape]"] + found_alt_shape = TRUE + + //var/mutant_override = FALSE + // always defer to the alt shape. this is a LAST RESORT + if(!found_alt_shape) + var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_BELT, worn_item) + if (!isnull(fallback_config)) + // we found a config for our species? that must mean the clothing doesnt fit. so just trust it + var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_BELT, worn_item, src) + if(species_icon_file) + icon_file = species_icon_file + //mutant_override = TRUE /// DOPPLER SHIFT ADDITION END var/mutable_appearance/neck_overlay = worn_item.build_worn_icon(default_layer = NECK_LAYER, default_icon_file = icon_file, humie = src) /// DOPPLER SHIFT EDIT @@ -394,9 +427,19 @@ There are several things that need to be remembered: /// DOPPLER SHIFT ADDITION BEGIN var/icon_file = 'icons/mob/clothing/belt_mirror.dmi' + var/found_alt_shape = FALSE for(var/shape in worn_item.supported_bodyshapes) if(bodyshape & shape) icon_file = worn_item.bodyshape_icon_files["[shape]"] + found_alt_shape = TRUE + + if(!found_alt_shape) + var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_BELT, worn_item) + if (!isnull(fallback_config)) + // we found a config for our species? that must mean the clothing doesnt fit. so just trust it + var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_BELT, worn_item, src) + if(species_icon_file) + icon_file = species_icon_file /// DOPPLER SHIFT ADDITION END var/mutable_appearance/s_store_overlay = worn_item.build_worn_icon(default_layer = SUIT_STORE_LAYER, default_icon_file = icon_file, humie = src) /// DOPPLER SHIFT EDIT @@ -421,9 +464,19 @@ There are several things that need to be remembered: var/icon_file = 'icons/mob/clothing/head/default.dmi' /// DOPPLER SHIFT ADDITION BEGIN - for(var/shape in head.supported_bodyshapes) + var/found_alt_shape = FALSE + for(var/shape in worn_item.supported_bodyshapes) if(bodyshape & shape) - icon_file = head.bodyshape_icon_files["[shape]"] + icon_file = worn_item.bodyshape_icon_files["[shape]"] + found_alt_shape = TRUE + + if(!found_alt_shape) + var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_BELT, worn_item) + if (!isnull(fallback_config)) + // we found a config for our species? that must mean the clothing doesnt fit. so just trust it + var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_BELT, worn_item, src) + if(species_icon_file) + icon_file = species_icon_file /// DOPPLER SHIFT ADDITION END var/mutable_appearance/head_overlay = head.build_worn_icon(default_layer = HEAD_LAYER, default_icon_file = icon_file, humie = src) /// DOPPLER SHIFT EDIT @@ -451,9 +504,19 @@ There are several things that need to be remembered: var/icon_file = 'icons/mob/clothing/belt.dmi' /// DOPPLER SHIFT ADDITION BEGIN - for(var/shape in belt.supported_bodyshapes) + var/found_alt_shape = FALSE + for(var/shape in worn_item.supported_bodyshapes) if(bodyshape & shape) - icon_file = belt.bodyshape_icon_files["[shape]"] + icon_file = worn_item.bodyshape_icon_files["[shape]"] + found_alt_shape = TRUE + + if(!found_alt_shape) + var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_BELT, worn_item) + if (!isnull(fallback_config)) + // we found a config for our species? that must mean the clothing doesnt fit. so just trust it + var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_BELT, worn_item, src) + if(species_icon_file) + icon_file = species_icon_file /// DOPPLER SHIFT ADDITION END var/mutable_appearance/belt_overlay = belt.build_worn_icon(default_layer = BELT_LAYER, default_icon_file = icon_file, humie = src) /// DOPPLER SHIFT EDIT @@ -480,9 +543,19 @@ There are several things that need to be remembered: var/icon_file = DEFAULT_SUIT_FILE /// DOPPLER SHIFT ADDITION BEGIN - for(var/shape in wear_suit.supported_bodyshapes) + var/found_alt_shape = FALSE + for(var/shape in worn_item.supported_bodyshapes) if(bodyshape & shape) - icon_file = wear_suit.bodyshape_icon_files["[shape]"] + icon_file = worn_item.bodyshape_icon_files["[shape]"] + found_alt_shape = TRUE + + if(!found_alt_shape) + var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_BELT, worn_item) + if (!isnull(fallback_config)) + // we found a config for our species? that must mean the clothing doesnt fit. so just trust it + var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_BELT, worn_item, src) + if(species_icon_file) + icon_file = species_icon_file /// DOPPLER SHIFT ADDITION END var/mutable_appearance/suit_overlay = wear_suit.build_worn_icon(default_layer = SUIT_LAYER, default_icon_file = icon_file, humie = src) /// DOPPLER SHIFT EDIT @@ -535,9 +608,19 @@ There are several things that need to be remembered: var/icon_file = 'icons/mob/clothing/mask.dmi' /// DOPPLER SHIFT ADDITION BEGIN - for(var/shape in wear_mask.supported_bodyshapes) + var/found_alt_shape = FALSE + for(var/shape in worn_item.supported_bodyshapes) if(bodyshape & shape) - icon_file = wear_mask.bodyshape_icon_files["[shape]"] + icon_file = worn_item.bodyshape_icon_files["[shape]"] + found_alt_shape = TRUE + + if(!found_alt_shape) + var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_BELT, worn_item) + if (!isnull(fallback_config)) + // we found a config for our species? that must mean the clothing doesnt fit. so just trust it + var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_BELT, worn_item, src) + if(species_icon_file) + icon_file = species_icon_file /// DOPPLER SHIFT ADDITION END var/mutable_appearance/mask_overlay = wear_mask.build_worn_icon(default_layer = FACEMASK_LAYER, default_icon_file = icon_file, humie = src) /// DOPPLER SHIFT EDIT @@ -565,9 +648,19 @@ There are several things that need to be remembered: var/icon_file = 'icons/mob/clothing/back.dmi' /// DOPPLER SHIFT ADDITION BEGIN + var/found_alt_shape = FALSE for(var/shape in worn_item.supported_bodyshapes) if(bodyshape & shape) icon_file = worn_item.bodyshape_icon_files["[shape]"] + found_alt_shape = TRUE + + if(!found_alt_shape) + var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_BELT, worn_item) + if (!isnull(fallback_config)) + // we found a config for our species? that must mean the clothing doesnt fit. so just trust it + var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_BELT, worn_item, src) + if(species_icon_file) + icon_file = species_icon_file /// DOPPLER SHIFT ADDITION END back_overlay = back.build_worn_icon(default_layer = BACK_LAYER, default_icon_file = icon_file, humie = src) /// DOPPLER SHIFT EDIT diff --git a/code/~doppler_earliest_defines.dm b/code/~doppler_earliest_defines.dm index 07e5bb7fe562af..22c82e9be4134f 100644 --- a/code/~doppler_earliest_defines.dm +++ b/code/~doppler_earliest_defines.dm @@ -200,6 +200,17 @@ name = "No Horns" icon_state = "none" +// Teshari +/datum/sprite_accessory/tails/teshari/none + icon = /datum/sprite_accessory/tails/none::icon + name = DOPPLER_SPRITE_ACCESSORY_NOTAIL + icon_state = /datum/sprite_accessory/tails/none::icon_state + +/datum/sprite_accessory/ears_more/teshari/none + icon = 'modular_doppler/modular_customization/accessories/code/~overrides/icons/fallbacks.dmi' + name = DOPPLER_SPRITE_ACCESSORY_NOEARS + icon_state = /datum/sprite_accessory/ears/none::icon_state + // Taur /datum/sprite_accessory/taur/none name = DOPPLER_SPRITE_ACCESSORY_NOTAUR diff --git a/config/game_options.txt b/config/game_options.txt index dc3339d2c9effb..91fcd6903328c9 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -387,6 +387,7 @@ ROUNDSTART_RACES ethereal #ROUNDSTART_RACES jelly #ROUNDSTART_RACES abductor ROUNDSTART_RACES snail +ROUNDSTART_RACES teshari ## Races that are straight upgrades. If these are on expect powergamers to always pick them #ROUNDSTART_RACES skeleton diff --git a/icons/map_icons/clothing/head/beret.dmi b/icons/map_icons/clothing/head/beret.dmi index 852e71b241fdb1d43b4fce0101912fd540337a18..927fff83023cb764ba78ab375f745e388b021120 100644 GIT binary patch delta 2664 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 N!1=Jd!%IBz#@`j43L5|b delta 2501 zcmY+G2T)V#8ir32N(@U0HHex7LN5Z#vIZexF$hQrpe)z`H<6+uQUsL92}sAK2*?Hy zEMP=wf`TX;A|N0wdWB`BND%2#Bp@LOxxw9;>wRawbN>JPzd1AiGw(ZdhLrCq>87~4 z*hwRHA^-r8cCaV8i{7`k3l0-K8FH$!;6e8PD?tlO*@bcq zqV0D(9twmX0X+N^{T*eUO84qgk{G`O88NDK8+kcxbE|y--W2iUb+()YL*#Q=h}(Fc=J^wu$s^oRd~=?!NQq2?Tqg zP^fHT<^A+23bo76&kwGE(sXd(@p!T7ddWD$Yzs&s$gNlL5M2Zk?(T9Ju%7(ePqbFK ze8el9bUKU@8h9Z*F!($GL={%__nc`l{sG{IEi2ysGyU28<&o2mbN2k@iApVR-MOV& zlXtzoxYneuMFO_rn<*w>x77@cjL*;-BHEdb`?E+gtmtW(f}o*cFYWB?jVnW_4{u61 zI4#gVr=|ZvkeOrmSY?m|#Lkh{;Zb9}ccN!&pcW)6V! zc%D`C4oAw_rvQ<5J$-M?a9#GUh{*oPQu+Yu`35-RnG;T49H;{{58)^qS*V&%+(p0MKGt) z4#AuldvcZY<5)=qaohO@ql^g$G`}Iw~zQ>+qOvH7!cg<$%L9k0A` zXNo3jWBgul(TdbU)*O7C$uRqaqc@K}y|aV(*Hl zb04U*_gc55?h5(ss{xf3hn>vLP*U#Wm$NY?=uT?xPbK~&(G%Xdp^nOcW6ZKL6#IdXrEOmtg@Sq87-qt4yhhVh^3OpsE1-B;z^Xb*7v~^Z%gkNpf2We)$7wFz)`xbi9<|5cCPA+H|8^GKYwDAw0S>l^5!^~-fcB|;f~lapI1Ns#bjAw@VR{J0c)|MA!i z$g|$5l@*6k=-6A!l@TpkeiCbcJel`8GH*q*h!a~y-KKYXT!YSih(bfeeERwDTNeqD zixMIB?)e}C!uU8MJbel)VZiB)bK;$Er{^}{GXvk>L{(c5WlejYI|4oH!&jr%bTEjC zPgad!G4#&sB{&8lodIkwe4_|!T*$@F$F4T&Mhh)T@#JA64L9BgeHt^4)RR`VG@>W} zQwColyohsKE=rHIJ0ah$QQiF?c=@2+`tVd(VK-crfiyMMpq?gtufTDO(Xf6M?2~wb zd`Xe3Pof#WW{$@3s4^tP8T_^Hw<|Ly)UsZrS{E79B`rcG8a~_Ej+hgbny5}rMOR*) zcN1}1Z5MGeFA^h2d>dL7;X2&RyfhsR9^{+JUeW)^PZ7;p@Xv@$_QLaL0u;_l{EW1o zqb;siwPMpez|U%KRfa|)K1FTx)ly9npITJ)qsAXhUq!EPbRr;TQ_)pLL?->-mf)on zBH5-zgRWy{2~D=aM+bYeO6X(j?;m>h>3Vp9oB0oj71(V+U(3@;;5MN{u#~4ygWtOn z*4B$2rrY#rcq4WDEI%k^eRJD(bK6*1s#tyA=kMfDz+V&IIhs(e**Adgi5Eze^xt!S zJu0lNtrIBMJZnQ1%q?Q(oYVgvjFNp9@Wi2{N$CGMCqv0x6wtbysvs z#vGG8e+pP%6qcQ<#3EJJc>c}Wb@`$sZZ0P*rOYeKhlDi61hwZaZ4w>fmP&Wh{|O(I uTq=zgZW1*_q3h_lRvpC1*cN$XUF|}SPgqpsfR^Zo25_)-AywM=#{Cz;`M<&d diff --git a/modular_doppler/modular_cosmetics/GAGS/icons/beret_teshari.dmi b/modular_doppler/modular_cosmetics/GAGS/icons/beret_teshari.dmi new file mode 100644 index 0000000000000000000000000000000000000000..8ec9c15df73731d6860ae59907fb5206818dfb18 GIT binary patch literal 395 zcmV;60d)R}P)V=-0C=2J zR&a84_w-Y6@%7{?OD!tS%+FJ>RWQ*r;NmRLOex6#a*U0*I5Sc+(=$pSoZ^zil2jm5 zDJd}}JvBZpF)z6?J}tATxFo(jzbH?Mi!%kt0hz+ZnO2mTn+jqZV%Jujnw+1PLW(}( zl%^J?;&+X*f~%hk*w+9#{Y4K>;#q z0FST#nt+7S3K9a39sHL`+PT|t=n#O$W$yw20N`-Wdlvuz0Ed(R37@uV0RR9#YU$2Z z&rvUGpO0yjn>Zy+%qf>Po~}Az&i0T2HjTOt_(PN)r}iZ`sL} zgLWq?RDf|DB<5hw!QLqH>ZhMDCx{EWtRmrzL>_|+Br@-YuRW5peTL4W{MRqBZmaZz zH-JTWv?aJ|?EnA*lSxEDRA_i(`fwrxnl*jkuuY0z95%EUvt@#i!FyC`%_vop9pDd2MTl_?#`SeK4|)y!t+ zb4(AzdGK{LtJ2;7WS}309U$n#d_Db)w=l>l2ff}rPIwkJxnd=|Az6Zk| z+Fb7ZpXndEz9b_G2L{~vKi5BuyK?F47u=`p`9IS?sJ^5I4wj642l4(vo87LpkG0DF zvZ})_w7x%55ClOGgecm^b?|qDNi^Vo^n-YTBQ3lV?MFj!XtCyrh3@);!uie7!KLtNcXomxKBtr|!j#|U6GMG_a(;T!8>U(-0^U3|32!bF8 zg785&yik5_3jbgakGQ*ozA)jGKmHwLLsE91ltd1W%Bf$03on%q#luGg;eGfG-VPaNQrtFw*A7oeX5&j(O?K!#m{kmO|`mQOsZS!v0^xN{Z`<^ z`{@jZy#Rxn7SO@^Gt9K!Dlm8t9m6ofM6}+9R7WWz1k?%qB#5AbxZXkEWfpkCI*>0> zz84Z1k60OC7>4;9Qubw2f>@vbs)y>Zc>h*4(ZRdQndYG`K%LnRD3cv@@|wzqNW%o< zj2ozx@s?_<8(a{1hc-SyH^)v>4Z`4BF4N~9S>jgdXBdWIp4b_U2aP&zC!7Pr&e~EB pJEv-NKl#4Ne#u;=~s|SVm%91OR{glx=3|ALH{Z%xca$( z(*gitiKC;fJ3`_B00RI?L_t(|ob8%TlAACPg%wJ8w!_Z>4B`TS55V66ycuW9W@@(C zBzMRSa@=6A)UC2)4Tyx*kivC0m zW4_8So2FKst}~(+1AQezkp;c|q6gQnh`BzUNri3 zmGF?V%x9KrS=na$PWUF`i zjsFZ>%Ql^KJr!-Y#xGPgG&U_;@*P;d6>LFIzbHDH+O%xQ2`y(ve`enPsFO#V9@z$$ zMU&wIh)c`rCT?}dluz3{NSx0b`1eyd*QcxELm?*RY+0O0xI{l(z${$g-=e{mr` z-&YT$A-kXV7lXt5i*DRcXodF|jc9Y_%>TCKJ%^w77jKtii*)BbyPx+LZ(Ah(gPj3}&0N^VKK2ORCK2OU0;pa)2e~)=mx?t#eQr@2oK2OT~lfmand4DqWJgM2A_FwIpuwyyxpT@>{QH zKT)=1UX$1R`px{d+<`s;%agp`*Kg*xiN6Em`Z_-V00000@b51^A1nKd-h8INXlM02 zDQhT(pC^sYJJ?w}PwIcD00000008`lY&=i;1niObwwxz@WVKD_N!@HcPwHmlc~Stt azsz4b9?Umr8aF=x0000WP)fFDZ*Bkp zc$`yKaB_9`^iy#0_2eo`Eh^5;&r`5fFwryM;w;ZhDainGjE%TBGg33tGfE(w;*!LY zR3K9+Cow5GKd~e}D?dqzi!&v&s2HS`i!-e#F*g;&HpHqnzJ#Faq{QTGq7)HfR&io+ z22qNLF)Jg#G$$psh-ihl%~V!!^>YCSI{>EoZS6WW|04hZ0uf0>K~#90?VDkagCG!v z5j=p>9st1ui0lEh+xwqs?fzo0nF*oW-DKbQZzzukXv{N3r2qinA7iK2>N}+d(h%0F z@nrqb@iS17mX})nbR(rnX`vkqnPFG_s+{KaYfK@pmy}G6!MYe$uVYLXm(?F;`E+@Y zA#QouU&xl|=rpU>@uM)%jvCnFq6MYMN6T8`IR^QK^ zx^1K$^7?S_WC_8OOVS^9yndh8YhGXNw37joCH?y;5yRbSR+MVeQl|M zT@0&NAyUEB`(g!T0ml+(|F9TVFB#}Gs)8}O8Us7i`|j@jofxd;76oEpo#FJ4M~5dD zY4@b=io53fuF6~NWI6rOa2;6#e|mabV!3w%Z_wZG8>z=}BW1CG!;^OCH%<=#006uV zA^*1{ z00000;O*$se>TREQh22j^#A|>007`Qr|$_`^;W5gtJNvkxjKDNikzcx<&gB~%j57% zm0lNfDr==Kqf`27C@kpBSypoK5gi9YUI SsLlHT00000fhdEP)fFDZ*Bkp zc$`yKaB_9`^iy#0_2eo`Eh^5;&r`5fFwryM;w;ZhDainGjE%TBGg33tGfE(w;*!LY zR3KBSD7CmCvna77zetITGbOXA7^IVnGp#5wHxb|TROAjIBMa{sF^ zHV#swObGOU+mjvHTPy*8%^lnN58dTt^7U@>ER9=SByZ}{>tXXc*?jJYxTSFGpT!E* zmD7@SxG`1Q0RVvIW0;#BIBEBL_NgelR164F``nt}2h+zmU)?yrAX*O~008iPTqpp3 Z(HlK73|6U002ovPDHLkV1j4jp8o&< literal 0 HcmV?d00001 diff --git a/modular_doppler/modular_cosmetics/GAGS/icons/masquerade_mask_worn_teshari.dmi b/modular_doppler/modular_cosmetics/GAGS/icons/masquerade_mask_worn_teshari.dmi new file mode 100644 index 0000000000000000000000000000000000000000..694f600739b33fbb943636d0e8a336a9b5fd438c GIT binary patch literal 785 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRS?NuQWB`&GO$wiq3C7Jno3=9=> zdQa`=I%FWg{=o9Pi2beDKbK9rmw2>&6IHq3U7R6W)V^GYFu8iVIEGZrd3)C|?~s9nL*nvRg*EK) zZFics3MH+snxmJ)k+yE)&19>PJjT+4M-;yA&0l5J^5XjBj+Q^^H{O;x#^|5l$7nm9 z@qi@591J3qbwbcA`|s_cUYU0Pt6$E3?b`D(Np7v(^O}2x$6W1}Yc*ufa^g^YGROJc z&qwtsug{j9v1}I;Tr%a^oZ^W5ZI35im(8l@*`@cP#ERGZPQd!8^NX*3UCn&q{{v?Q zOxv)z0K3?ovy2n?8~-i+UU^5xVfEquy{~HJ>R1oll{xUSLgv)Og0J@c{_KZ;iZY}# z6tGc+2xXj7e&hQd$z)H%WAiJ&m`z^Auq=~Hv1Yyd#r0p)tiNqDT2|%gQaS%`(EE+= zV`sWwJRNgKfay79-h>6wUD<}+OmfTL$p5$_A9j8D#O%HIsv9>cFL=WfAg#I7^0~~t zd-lgv*H?f4Sn!?2#%=Xq=6CE3pA`kpF+AX5AcA004jl0{{R3eocQU0000IP)t-sz`($z zskY0_(ca$Pba8_2?(U1?UQ7T000DGTPE!Ct=GbNc004}7R9JLGWpiV4X>fFDZ*Bkp zc$`yKaB_9`^iy#0_2eo`Eh^5;&r`5fFwryM;w;ZhDainGjE%TBGg33tGfE(w;*!LY zR3K9+H!-gyCsm1yGbOXA7^I7fGp#5wHx8bG~n2xLgza7d7u6{1yFaZGZsZ;}GH6M2X00Fy6L_t(&f$f;hZo)7Sglz}z#esVg zH+Qh*JM9ycSo{93(jX+*bs}4C_^I0c4oHKX@x+Og(F(yZ3{!w^mt9{8vBz2(`$iT- za$G>JRDM}0WfF0J2`oe($1_N+4s9*r- z@hNFfu1Ga z7=~dO<_>i6V1^RU2aEe;+y}EneR6DX?|Odag?K(#Oxy?aOg7AvqooBi?t^(I8|D(0 zZm^hX!ly@I7=~e(KT38!cy}^=a`AkyxKB>V^vT8Z!SX&iwMcKcbUt{8x>wj}Uoao! dKFRzmz5$5>GlGW>vN`|&002ovPDHLkV1m(fG*kcp literal 0 HcmV?d00001 diff --git a/modular_doppler/modular_cosmetics/GAGS/icons/ranger_poncho_teshari.dmi b/modular_doppler/modular_cosmetics/GAGS/icons/ranger_poncho_teshari.dmi new file mode 100644 index 0000000000000000000000000000000000000000..bb6155f256bfe7435308a8def1f07103de477d51 GIT binary patch literal 758 zcmV;Sad{Xb7OL8aCB*J zZU6vyoKseCa&`CgQ*iP1GC)ttc@!6~s0~R~BDFP+>_?W-d{RaGRy9;OgfB z_6z{aMm!CO;p0XC00Ih0L_t(&f$dgNjvFBiHB1gLxYPgO(*JC7fmy@}D)k1v{~5}x zRIQ((Bh6;jL@IB8_A&VJFa(=uU|`@g;fQA79D&nSFhIT`XO0ngDZptdXH9*1MS)}j zSR{iZNx)MUbQn0Y8gVg%00NP50hnGL{fMlWs0+wBUi~=R6q6IdN0yYOI z;FeNQph8D@PAHHg@Fmv(wdqX{vgRFQ65|X8i`0nsyt+54EqEe*F&qnhd9CgfnjYH238n+^juLA)p(0l>r<;3UGiQ@aHt5W;1T*NXra zd^Q4fyX|vgq>+xo?7QkE)m_$nqH8L^dv+T(92lmyj)pk+U^QCU#mtN74g8-LIj<$lX1UM$N+|-rD76vc6 z%c>npfpR`sfz(tMILCzjMo$1c76We^6uQ_crqp!=vW{sCY)NQ_RwZBWkrKEy2Hwu0 z8GARyMM5VCz)cqPF{WaA;f@7+6LiJ44NKnw3e50xajJjE zvFiU%RMx-D>#t}BPRA^)jmmmt{T@D&gC`S!GkJ`_z`(%3z|-JF_m-CR-okLSymu_z oXW$vC^Wz29M;o}m!}*`^8@D7owh46e`~Uy|07*qoM6N<$g2aC^0t`#5P2z%1KO4EiE9dt~fC-B{2u5I%Ne{ zKNqkw0eAf|O3_e_Bme*awMj%lR9J=W*s%(OFc<{jKYyZg2*o*K=^UgFkhU-2)LDhT z|0`6Gf@dMnp-{?w+le`GJ0e0vMD&k>H*G1Kw!;H`@Q~e5^hZ!GNdr;q(U#t$G0kO;(M+{g+l4304VwRrp_C zZQ@&9BLsA6v**(}dn34+Rb}3b>*QwGow@eNZs+n|28IXudaTL$9EA$s+e7$QU2%`} u=H=ddzWg621B0E(+QW1F`a9d>?lC-Cz+Aee|6VQ7W(H4JKbLh*2~7aeNQh1V literal 0 HcmV?d00001 diff --git a/modular_doppler/modular_cosmetics/GAGS/icons/suit_teshari.dmi b/modular_doppler/modular_cosmetics/GAGS/icons/suit_teshari.dmi new file mode 100644 index 0000000000000000000000000000000000000000..46dc19157da04c0eaac5c4a218b7beb4aba8587b GIT binary patch literal 800 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 literal 0 HcmV?d00001 diff --git a/modular_doppler/modular_cosmetics/GAGS/icons/teshari_uniform.dmi b/modular_doppler/modular_cosmetics/GAGS/icons/teshari_uniform.dmi new file mode 100644 index 0000000000000000000000000000000000000000..1e89e9d6ca52aa3513f46a6e20b8e6f2de68d2a6 GIT binary patch literal 916 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 XjXWK;u&k0$00000NkvXXu0mjfq!FP) literal 0 HcmV?d00001 diff --git a/modular_doppler/modular_customization/preferences/ears.dm b/modular_doppler/modular_customization/preferences/ears.dm index 735bbc69d941d4..b43467658041c8 100644 --- a/modular_doppler/modular_customization/preferences/ears.dm +++ b/modular_doppler/modular_customization/preferences/ears.dm @@ -13,6 +13,7 @@ var/list/ears_list_humanoid var/list/ears_list_synthetic var/list/ears_list_alien + var/list/ears_list_teshari /datum/controller/subsystem/accessories/setup_lists() . = ..() @@ -29,6 +30,7 @@ ears_list_humanoid = init_sprite_accessory_subtypes(/datum/sprite_accessory/ears_more/humanoid)["default_sprites"] ears_list_synthetic = init_sprite_accessory_subtypes(/datum/sprite_accessory/ears_more/cybernetic)["default_sprites"] ears_list_alien = init_sprite_accessory_subtypes(/datum/sprite_accessory/ears_more/alien)["default_sprites"] + ears_list_teshari = init_sprite_accessory_subtypes(/datum/sprite_accessory/ears_more/teshari)["default_sprites"] /datum/dna /// This variable is read by the regenerate_organs() proc to know what organ subtype to give @@ -529,6 +531,38 @@ var/datum/sprite_accessory/chosen_ears = SSaccessories.ears_list_alien[value] return generate_ears_icon(chosen_ears) +// Teshari +// Only available to teshari, and their only choice, because of how they work on sprites +/datum/preference/choiced/teshari_ears + savefile_key = "feature_teshari_ears" + savefile_identifier = PREFERENCE_CHARACTER + category = PREFERENCE_CATEGORY_CLOTHING + relevant_external_organ = null + should_generate_icons = TRUE + main_feature_name = "Ears" + +/datum/preference/choiced/teshari_ears/init_possible_values() + return assoc_to_keys_features(SSaccessories.ears_list_teshari) + +/datum/preference/choiced/teshari_ears/is_accessible(datum/preferences/preferences) + . = ..() + + var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) + if (!ispath(species, /datum/species/teshari)) + return FALSE + + return TRUE + +/datum/preference/choiced/teshari_ears/create_default_value() + return /datum/sprite_accessory/ears_more/alien/none::name + +/datum/preference/choiced/teshari_ears/apply_to_human(mob/living/carbon/human/target, value) + if(target.dna.ear_type == ALIEN) + target.dna.features[FEATURE_EARS] = value + +/datum/preference/choiced/teshari_ears/icon_for(value) + var/datum/sprite_accessory/chosen_ears = SSaccessories.ears_list_teshari[value] + return generate_ears_icon(chosen_ears) /// Proc to gen that icon // We don't wanna copy paste this diff --git a/modular_doppler/modular_customization/preferences/tail.dm b/modular_doppler/modular_customization/preferences/tail.dm index 88c651df0c9cc8..f30dd32e81edba 100644 --- a/modular_doppler/modular_customization/preferences/tail.dm +++ b/modular_doppler/modular_customization/preferences/tail.dm @@ -10,6 +10,7 @@ var/list/tails_list_synth var/list/tails_list_humanoid var/list/tails_list_alien + var/list/tails_list_teshari /datum/controller/subsystem/accessories/setup_lists() . = ..() @@ -23,6 +24,7 @@ tails_list_synth = init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/cybernetic)["default_sprites"] tails_list_humanoid = init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/humanoid)["default_sprites"] tails_list_alien = init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/alien)["default_sprites"] + tails_list_teshari = init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/teshari)["default_sprites"] /datum/dna /// This variable is read by the regenerate_organs() proc to know what organ subtype to give @@ -567,6 +569,43 @@ var/datum/sprite_accessory/chosen_tail = SSaccessories.tails_list_alien[value] return generate_back_icon(chosen_tail, "tail") +// Teshari - the only tail choice available to tesh +/datum/preference/choiced/teshari_tail + savefile_key = "feature_teshari_tail" + savefile_identifier = PREFERENCE_CHARACTER + category = PREFERENCE_CATEGORY_CLOTHING + relevant_external_organ = null + should_generate_icons = TRUE + main_feature_name = "Tail" + +/datum/preference/choiced/teshari_tail/init_possible_values() + return assoc_to_keys_features(SSaccessories.tails_list_teshari) + +/datum/preference/choiced/teshari_tail/is_accessible(datum/preferences/preferences) + . = ..() + var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) + if (ispath(species, /datum/species/teshari)) + return TRUE + + if(species.type in GLOB.species_blacklist_no_mutant) + return FALSE + + var/chosen_variation = preferences.read_preference(/datum/preference/choiced/tail_variation) + if(chosen_variation == TESHARI) + return TRUE + return FALSE + +/datum/preference/choiced/teshari_tail/create_default_value() + return /datum/sprite_accessory/tails/alien/none::name + +/datum/preference/choiced/teshari_tail/apply_to_human(mob/living/carbon/human/target, value) + if(target.dna.tail_type == ALIEN || isteshari(target)) + target.dna.features[FEATURE_TAIL_OTHER] = value + +/datum/preference/choiced/teshari_tail/icon_for(value) + var/datum/sprite_accessory/chosen_tail = SSaccessories.tails_list_teshari[value] + return generate_back_icon(chosen_tail, "tail") + /// Proc to gen that icon // We don't wanna copy paste this /datum/preference/choiced/proc/generate_back_icon(datum/sprite_accessory/sprite_accessory, key) diff --git a/modular_doppler/modular_customization/tri_color/ears.dm b/modular_doppler/modular_customization/tri_color/ears.dm index 3c085298a78a1d..66089081bda938 100644 --- a/modular_doppler/modular_customization/tri_color/ears.dm +++ b/modular_doppler/modular_customization/tri_color/ears.dm @@ -69,6 +69,11 @@ data[SUPPLEMENTAL_FEATURE_KEY] = /datum/preference/tri_color/ears_color::savefile_key return data +/datum/preference/choiced/teshari_ears/compile_constant_data() + var/list/data = ..() + data[SUPPLEMENTAL_FEATURE_KEY] = /datum/preference/tri_color/ears_color::savefile_key + return data + /// Ears colors! /datum/preference/tri_color/ears_color diff --git a/modular_doppler/modular_customization/tri_color/tail.dm b/modular_doppler/modular_customization/tri_color/tail.dm index 1141fa1c9cbc31..99a8b2074ff9eb 100644 --- a/modular_doppler/modular_customization/tri_color/tail.dm +++ b/modular_doppler/modular_customization/tri_color/tail.dm @@ -70,6 +70,11 @@ data[SUPPLEMENTAL_FEATURE_KEY] = /datum/preference/tri_color/tail_color::savefile_key return data +/datum/preference/choiced/teshari_tail/compile_constant_data() + var/list/data = ..() + data[SUPPLEMENTAL_FEATURE_KEY] = /datum/preference/tri_color/tail_color::savefile_key + return data + /// Tail colors! /datum/preference/tri_color/tail_color diff --git a/modular_doppler/modular_species/custom_bodytype.dm b/modular_doppler/modular_species/custom_bodytype.dm new file mode 100644 index 00000000000000..e12738f1fc8903 --- /dev/null +++ b/modular_doppler/modular_species/custom_bodytype.dm @@ -0,0 +1,101 @@ +GLOBAL_LIST_EMPTY(species_clothing_fallback_cache) + +/** + * Modularly get the species' fallback greyscale config. + * Only used if you use generate_custom_worn_icon_fallback() + * Arguments: + * * item_slot: The slot we're updating. One of OFFSET_HEAD, etc. + * * item: The item being rendered. + */ +/datum/species/proc/get_custom_worn_config_fallback(item_slot, obj/item/item) + if (isnull(item)) return + var/list/list_to_use = item.autogen_clothing_config + if(istype(item, /obj/item/clothing/under) && !(item.body_parts_covered & LEGS) && !isnull(item.autogen_clothing_config_skirt)) + list_to_use = item.autogen_clothing_config_skirt + + if (isnull(list_to_use)) + return null + + return list_to_use[id] + +/datum/species/proc/use_custom_worn_icon_cached() + LAZYINITLIST(GLOB.species_clothing_fallback_cache[name]) + +/** + * Read from freely usable cache of generated icons for your species. + * Arguments: + * * file_to_use: icon you're substituting + * * state_to_use: icon state you're substituting + * * meta: string containing other info. + */ +/datum/species/proc/get_custom_worn_icon_cached(file_to_use, state_to_use, meta) + return GLOB.species_clothing_fallback_cache[name]["[file_to_use]-[state_to_use]-[meta]"] + +/** + * Write to a freely usable cache of generated icons for your species. + * Arguments: + * * file_to_use: icon you're substituting + * * state_to_use: icon state you're substituting + * * meta: string containing other info. + * * cached_value: Cached value + */ +/datum/species/proc/set_custom_worn_icon_cached(file_to_use, state_to_use, meta, cached_value) + GLOB.species_clothing_fallback_cache[name]["[file_to_use]-[state_to_use]-[meta]"] = cached_value + +/** + * Generate a fallback worn icon, if the species supports it. You must call it in an override of generate_custom_worn_icon() + */ +/datum/species/proc/generate_custom_worn_icon_fallback(item_slot, obj/item/item, mob/living/carbon/human/human_owner) + var/icon/human_icon = item.worn_icon || item.icon + var/human_icon_state = item.worn_icon_state || item.icon_state + + // First, let's just check if we've already made this. + use_custom_worn_icon_cached() + var/icon/cached_icon = get_custom_worn_icon_cached(human_icon, human_icon_state, item.greyscale_colors || "x") + if(cached_icon) + if(!(human_icon_state in icon_states(cached_icon))) + cached_icon.Insert(cached_icon, icon_state = human_icon_state) // include the expected icon_state + return cached_icon + + // Get GAGs config + var/fallback_config = get_custom_worn_config_fallback(item_slot, item) + if(!fallback_config) + return null + + // The GAGs config needs this many colors. + var/expected_num_colors = SSgreyscale.configurations["[fallback_config]"].expected_colors + // The colors string. + var/fallback_greyscale_colors + + // If this outfit is already GAGs, use the existing colors. + if(item.greyscale_colors) + // Just use the colors already given to us, but re-align to expected colors. + var/list/colors = SSgreyscale.ParseColorString(item.greyscale_colors) + var/default_color = (length(colors) >= 1) ? colors[1] : COLOR_DARK + var/list/final_list = list() + for(var/i in 1 to expected_num_colors) + final_list += (i < length(colors)) ? colors[i] : default_color + fallback_greyscale_colors = final_list.Join("") + else + // OK, we have to actually guess the colors. + var/icon/final_human_icon = icon(human_icon, human_icon_state) + var/list/color_list = list() + + for(var/i in 1 to expected_num_colors) + if(isnull(item.species_clothing_color_coords) || \ + length(item.species_clothing_color_coords) < i) + color_list += COLOR_DARK + continue + var/coord = item.species_clothing_color_coords[i] + color_list += final_human_icon.GetPixel(coord[1], coord[2]) || COLOR_DARK + + fallback_greyscale_colors = color_list.Join("") + + // Finally, render with GAGs + var/icon/final_icon = icon(SSgreyscale.GetColoredIconByType(get_custom_worn_config_fallback(item_slot, item), fallback_greyscale_colors)) + // Duplicate to the specific icon_state and set. + final_icon.Insert(final_icon, icon_state = human_icon_state) // include the expected icon_state + // Cache the clean copy. + set_custom_worn_icon_cached(human_icon, human_icon_state, item.greyscale_colors || "x", final_icon) + + return final_icon diff --git a/modular_doppler/modular_species/species_types/teshari/birdman_food.dm b/modular_doppler/modular_species/species_types/teshari/birdman_food.dm new file mode 100644 index 00000000000000..29e466cf831160 --- /dev/null +++ b/modular_doppler/modular_species/species_types/teshari/birdman_food.dm @@ -0,0 +1,107 @@ +/obj/item/food/meat/slab/chicken/human + name = "meat" + tastes = list("tender meat" = 1) + foodtypes = MEAT | RAW | GORE + venue_value = FOOD_MEAT_HUMAN + +/obj/item/food/meat/slab/chicken/human/make_grillable() + AddComponent(/datum/component/grillable, /obj/item/food/meat/steak/chicken/human, rand(30 SECONDS, 90 SECONDS), TRUE, TRUE) + +/obj/item/food/meat/steak/chicken/human/on_microwave_cooked(datum/source, atom/source_item, cooking_efficiency = 1) + . = ..() + if(!istype(source_item, /obj/item/food/meat)) + return + + var/obj/item/food/meat/origin_meat = source_item + subjectname = origin_meat.subjectname + subjectjob = origin_meat.subjectjob + if(subjectname) + name = "[origin_meat.subjectname] meatsteak" + else if(subjectjob) + name = "[origin_meat.subjectjob] meatsteak" + +/obj/item/food/meat/slab/chicken/human/make_processable() + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/chicken/human, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut") + +/obj/item/food/meat/steak/chicken/human + tastes = list("tender meat" = 1) + foodtypes = MEAT | GORE + +/obj/item/food/meat/rawcutlet/chicken/human + tastes = list("tender meat" = 1) + foodtypes = MEAT | RAW | GORE + +/obj/item/food/meat/cutlet/chicken/human + tastes = list("tender meat" = 1) + foodtypes = MEAT | GORE + +/obj/item/food/meat/cutlet/chicken/human/on_microwave_cooked(datum/source, atom/source_item, cooking_efficiency) + . = ..() + if(!istype(source_item, /obj/item/food/meat)) + return + + var/obj/item/food/meat/origin_meat = source_item + if(subjectname) + name = "[origin_meat.subjectname] [initial(name)]" + else if(subjectjob) + name = "[origin_meat.subjectjob] [initial(name)]" + +/obj/item/food/raw_meatball/chicken/human + name = "strange raw chicken meatball" + meatball_type = /obj/item/food/meatball/chicken/human + patty_type = /obj/item/food/raw_patty/chicken/human + +/obj/item/food/meatball/chicken/human + name = "strange chicken meatball" + +/obj/item/food/raw_patty/chicken/human + name = "strange raw chicken patty" + patty_type = /obj/item/food/patty/human/chicken + +/obj/item/food/patty/human/chicken + name = "strange chicken patty" + tastes = list("chikun" = 1) + icon_state = "chicken_patty" + +/datum/food_processor_process/meat/chicken + blacklist = list(/obj/item/food/meat/slab/chicken/human) + +/datum/food_processor_process/meat/chicken/human + input = /obj/item/food/meat/slab/chicken/human + output = /obj/item/food/raw_meatball/chicken/human + blacklist = null + +/obj/item/food/burger/human/chicken + name = "birdman sandwich" + desc = "You're pretty sure this sandwich doesn't fund a good cause..." + icon_state = "chickenburger" + food_reagents = list( + /datum/reagent/consumable/nutriment = 3, + /datum/reagent/consumable/mayonnaise = 3, + /datum/reagent/consumable/nutriment/protein = 7, + /datum/reagent/consumable/nutriment/vitamin = 1, + /datum/reagent/consumable/nutriment/fat/oil = 2, + ) + tastes = list("bun" = 2, "chikun" = 4, "Against God and Nature" = 1) + foodtypes = GRAIN | MEAT | FRIED | GORE + crafting_complexity = FOOD_COMPLEXITY_3 + venue_value = FOOD_PRICE_CHEAP + +/obj/item/food/burger/human/chicken/on_craft_completion(list/components, datum/crafting_recipe/current_recipe, atom/crafter) + . = ..() + for(var/datum/material/meat/mob_meat/mob_meat_material in custom_materials) + if(mob_meat_material.subjectname) + name = "[mob_meat_material.subjectname] burger" + else if(mob_meat_material.subjectjob) + name = "[mob_meat_material.subjectjob] burger" + +/datum/crafting_recipe/food/chickenburger/human + added_foodtypes = FRIED | GORE + name = "Birdman Sandwich" + reqs = list( + /obj/item/food/patty/human/chicken = 1, + /datum/reagent/consumable/mayonnaise = 5, + /obj/item/food/bun = 1 + ) + result = /obj/item/food/burger/human/chicken + category = CAT_BURGER diff --git a/modular_doppler/modular_species/species_types/teshari/ears.dm b/modular_doppler/modular_species/species_types/teshari/ears.dm new file mode 100644 index 00000000000000..d915bbe25669c6 --- /dev/null +++ b/modular_doppler/modular_species/species_types/teshari/ears.dm @@ -0,0 +1,80 @@ +/obj/item/organ/ears/teshari + name = "teshari ears" + desc = "A set of four long rabbit-like ears, a Teshari's main tool while hunting. Naturally extremely sensitive to loud sounds." + damage_multiplier = 1.5 + actions_types = list(/datum/action/cooldown/spell/teshari_hearing) + //overrides_sprite_datum_organ_type = TRUE + preference = "feature_teshari_ears" + bodypart_overlay = /datum/bodypart_overlay/mutant/ears/teshari + +/obj/item/organ/ears/teshari/on_mob_remove(mob/living/carbon/ear_owner) + . = ..() + REMOVE_TRAIT(ear_owner, TRAIT_GOOD_HEARING, ORGAN_TRAIT) + +/datum/action/cooldown/spell/teshari_hearing + name = "Toggle Sensitive Hearing" + desc = "Perk up your ears to listen for quiet sounds, useful for picking up whispering." + button_icon = 'modular_doppler/modular_species/species_types/teshari/icons/abilities/actions.dmi' + button_icon_state = "echolocation_off" + background_icon_state = "bg_alien" + overlay_icon_state = "bg_alien_border" + + cooldown_time = 1 SECONDS + spell_requirements = NONE + +/datum/action/cooldown/spell/teshari_hearing/proc/update_button_state(new_state) //This makes it so that the button icon changes dynamically based on ears being up or not. + button_icon_state = new_state + owner.update_action_buttons() + +/datum/action/cooldown/spell/teshari_hearing/Remove(mob/living/remove_from) + REMOVE_TRAIT(remove_from, TRAIT_GOOD_HEARING, ORGAN_TRAIT) + remove_from.update_sight() + return ..() + +/datum/action/cooldown/spell/teshari_hearing/cast(list/targets, mob/living/carbon/human/user = usr) + . = ..() + + if(HAS_TRAIT(user, TRAIT_GOOD_HEARING)) + teshari_hearing_deactivate(user) + return + + user.apply_status_effect(/datum/status_effect/teshari_hearing) + user.visible_message(span_notice("[user], pricks up [user.p_their()] four ears, each twitching intently!"), span_notice("You perk up all four of your ears, hunting for even the quietest sounds.")) + update_button_state("echolocation_on") + + var/obj/item/organ/ears/ears = user.get_organ_slot(ORGAN_SLOT_EARS) + if(ears) + ears.damage_multiplier = 3 + +/datum/action/cooldown/spell/teshari_hearing/proc/teshari_hearing_deactivate(mob/living/carbon/human/user) //Called when you activate it again after casting the ability-- turning them off, so to say. + if(!HAS_TRAIT_FROM(user, TRAIT_GOOD_HEARING, ORGAN_TRAIT)) + return + + user.remove_status_effect(/datum/status_effect/teshari_hearing) + user.visible_message(span_notice("[user] drops [user.p_their()] ears down a bit, no longer listening as closely."), span_notice("You drop your ears down, no longer paying close attention.")) + update_button_state("echolocation_off") + + var/obj/item/organ/ears/ears = user.get_organ_slot(ORGAN_SLOT_EARS) + if(ears) + ears.damage_multiplier = 1.5 + +/datum/status_effect/teshari_hearing + id = "teshari_hearing" + alert_type = null + status_type = STATUS_EFFECT_UNIQUE + +/datum/status_effect/teshari_hearing/on_apply() + ADD_TRAIT(owner, TRAIT_GOOD_HEARING, ORGAN_TRAIT) + return ..() + +/datum/status_effect/teshari_hearing/on_remove() + REMOVE_TRAIT(owner, TRAIT_GOOD_HEARING, ORGAN_TRAIT) + return ..() + +/datum/status_effect/teshari_hearing/get_examine_text() + return span_notice("[owner.p_They()] [owner.p_have()] [owner.p_their()] ears perked up, listening closely to whisper-quiet sounds.") + +/datum/bodypart_overlay/mutant/ears/teshari + +/datum/bodypart_overlay/mutant/ears/teshari/get_global_feature_list() + return SSaccessories.ears_list_teshari diff --git a/modular_doppler/modular_species/species_types/teshari/gags_configs.dm b/modular_doppler/modular_species/species_types/teshari/gags_configs.dm new file mode 100644 index 00000000000000..13dfb9e573935c --- /dev/null +++ b/modular_doppler/modular_species/species_types/teshari/gags_configs.dm @@ -0,0 +1,168 @@ +/datum/greyscale_config/teshari + name = "Teshari Clothing" + icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/teshari_fallbacks.dmi' + json_config = 'modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/under.json' + +/datum/greyscale_config/teshari/under + name = "Teshari Under" + json_config = 'modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/under.json' + +/datum/greyscale_config/teshari/under_skirt + name = "Teshari Skirt" + json_config = 'modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/under_skirt.json' + +/datum/greyscale_config/teshari/shoes + name = "Teshari Shoes" + json_config = 'modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/shoes.json' + +/datum/greyscale_config/teshari/gloves + name = "Teshari Gloves" + json_config = 'modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/gloves.json' + +/datum/greyscale_config/teshari/glasses + name = "Teshari Glasses" + json_config = 'modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/glasses.json' + +/datum/greyscale_config/teshari/coat + name = "Teshari Coat" + json_config = 'modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/coat.json' + +/datum/greyscale_config/teshari/thickrobe + name = "Teshari Thick Robe" + json_config = 'modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/thickrobe.json' + +/datum/greyscale_config/teshari/thickrobe/wiz + name = "Teshari Wizard Robe" + json_config = 'modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/wizrobe.json' + +/datum/greyscale_config/teshari/thickrobe/jacket + name = "Teshari Jacket" + json_config = 'modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/jacket.json' + +/datum/greyscale_config/teshari/thickrobe/longcoat + name = "Teshari Longcoat" + json_config = 'modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/longcoat.json' + +/datum/greyscale_config/teshari/armor + name = "Teshari Armor" + json_config = 'modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/armor.json' + +/datum/greyscale_config/teshari/backpack + name = "Teshari Backpack" + json_config = 'modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/backpack.json' + +/datum/greyscale_config/teshari/spacesuit + name = "Teshari Spacesuit" + json_config = 'modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/spacesuit.json' + +/datum/greyscale_config/teshari/cloak + name = "Teshari Cloak" + json_config = 'modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/cloak.json' + +/datum/greyscale_config/teshari/mantle + name = "Teshari Mantle" + json_config = 'modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/mantle.json' + +/datum/greyscale_config/teshari/tie + name = "Teshari Tie" + json_config = 'modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/tie.json' + +/datum/greyscale_config/teshari/scarf + name = "Teshari Scarf" + json_config = 'modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/scarf.json' + +/datum/greyscale_config/teshari/modcontrol + name = "Teshari Modsuit" + json_config = 'modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/modcontrol.json' + +/datum/greyscale_config/teshari/hardsuit + name = "Teshari Hardsuit" + json_config = 'modular_doppler/modular_cosmetics/GAGS/json_configs/teshari_fallbacks/hardsuit.json' + +/datum/greyscale_config/jumpsuit/worn/teshari + name = "Jumpsuit (Worn, Teshari)" + icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/jumpsuit_teshari.dmi' + +/datum/greyscale_config/jumpsuit/prison/worn/teshari + name = "Prison Jumpsuit (Worn, Teshari)" + icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/jumpsuit_teshari.dmi' + +/datum/greyscale_config/sneakers/worn/teshari + name = "Sneakers (Worn, Teshari)" + icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/sneakers_teshari.dmi' + +/datum/greyscale_config/sneakers_orange/worn/teshari + name = "Orange Sneakers (Worn, Teshari)" + icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/sneakers_teshari.dmi' + +/datum/greyscale_config/boots/worn/teshari + icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/shoes_teshari.dmi' + +///datum/greyscale_config/laceup/worn/teshari +// icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/shoes_teshari.dmi' + +///datum/greyscale_config/sandals/worn/teshari +// icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/shoes_teshari.dmi' + +/datum/greyscale_config/plaidskirt/worn/teshari + name = "Plaid Skirt (Worn, Teshari)" + icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/dressteshari.dmi' + +/datum/greyscale_config/sundress/worn/teshari + name = "Sundress (Worn, Teshari)" + icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/dressteshari.dmi' + +///datum/greyscale_config/shorts_ripped/worn/teshari +// name = "Ripped Shorts (Worn, Teshari)" +// icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/teshari_uniform.dmi' + +///datum/greyscale_config/bathrobe/worn/teshari +// icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/suit_teshari.dmi' + +/datum/greyscale_config/suspenders/worn/teshari + icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/suit_teshari.dmi' + +/datum/greyscale_config/labcoat/worn/teshari + name = "Labcoat (Worn, Teshari)" + icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/labcoat_teshari.dmi' + +/datum/greyscale_config/apron/worn/teshari + icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/suit_teshari.dmi' + +/datum/greyscale_config/scarf/worn/teshari + name = "Scarf (Worn, Teshari)" + icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/neck_teshari.dmi' + +/datum/greyscale_config/mantle/worn/teshari + icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/neck_teshari.dmi' + +/datum/greyscale_config/ranger_poncho/worn/teshari + name = "Ranger Poncho (Worn, Teshari)" + icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/ranger_poncho_teshari.dmi' + +///datum/greyscale_config/masquerade_mask/worn/teshari +// name = "Masquerade Mask (Worn) (Teshari)" +// icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/masquerade_mask_worn_teshari.dmi' + +///datum/greyscale_config/sterile_mask/worn/teshari +// name = "Colourable Sterile Mask (Worn) (Teshari)" +// icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/masks_teshari.dmi' + +/datum/greyscale_config/respirator/worn/teshari + name = "Colourable Respirator (Worn) (Teshari)" + icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/masks_teshari.dmi' + +/datum/greyscale_config/standalone_hood/worn/teshari + icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/head_teshari.dmi' + +///datum/greyscale_config/beret_badge_fancy/worn/teshari +// name = "Beret With Fancy Badge (Worn, Teshari)" +// icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/beret_teshari.dmi' + +/datum/greyscale_config/beret_badge/worn/teshari + name = "Badged Beret (Worn, Teshari)" + icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/beret_teshari.dmi' + +/datum/greyscale_config/beret/worn/teshari + name = "Beret (Worn, Teshari)" + icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/beret_teshari.dmi' diff --git a/modular_doppler/modular_species/species_types/teshari/icons/abilities/actions.dmi b/modular_doppler/modular_species/species_types/teshari/icons/abilities/actions.dmi new file mode 100644 index 0000000000000000000000000000000000000000..5b2e354f7c1581ace14f92ee384007080c6dd33c GIT binary patch literal 1264 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 literal 0 HcmV?d00001 diff --git a/modular_doppler/modular_species/species_types/teshari/icons/clothing/back.dmi b/modular_doppler/modular_species/species_types/teshari/icons/clothing/back.dmi new file mode 100644 index 0000000000000000000000000000000000000000..3c049a590f7ee5b36a3a84c8fbdccadf7a55cff2 GIT binary patch literal 22312 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 literal 0 HcmV?d00001 diff --git a/modular_doppler/modular_species/species_types/teshari/icons/clothing/belt.dmi b/modular_doppler/modular_species/species_types/teshari/icons/clothing/belt.dmi new file mode 100644 index 0000000000000000000000000000000000000000..c3ee69dd2a334bf0f859596c5ba371c3482ab381 GIT binary patch literal 8060 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 ZNsdwW=lf>x7W|zKC@ZML%H>Q#{trT0Z{h#| literal 0 HcmV?d00001 diff --git a/modular_doppler/modular_species/species_types/teshari/icons/clothing/ears.dmi b/modular_doppler/modular_species/species_types/teshari/icons/clothing/ears.dmi new file mode 100644 index 0000000000000000000000000000000000000000..0d7426088718bf31cc7755c4a657f6f9d7ff8b4b GIT binary patch literal 1135 zcmV-#1d#iQP)0001iP)t-sz`(#_ zVq#cWSW!_?I5;>>O-+md08#(|Nl8fpA#*dC07XSbQc_X^E0sV%Kr{a{jS31~U0ro` zb!=>G#Kgp55D?|%=u&~Jotwj63JW;e^lm8W1an!?!yAO&f;I%HkiuZ3 zWm<}B)DD(<_r-_cK5VaV89eyJ8Xy>0yaU7HvlrEI4B1*7dWOT56ONC+Ech`$H%^@B z8PAsih6c=!X0WT*=6uy(Y^mz5dY#P^m{s{8AT_xh0008gNklPKb}v}zu*MbmL=oa z#JOS^KcX9Z${~#*+0r3osN{hN#>76>3`Y1 zPE=C=-wKm41^JtJkDH20dH*Ajp3goj$=?6~0000006??0{7t*hm9-uWpTEf~J6`VVRpPH+ zX)<;Grto;_WdqNr(6ITN*n~F-000000000O!(C;qFJCHaJ-91cmHUdNwy$3*JKopI zTI^f2pzwHu{rptn@zTrM=F`{x8}0^`8SVxF000000000_LM{Xn21I)BJyZKJLjSNw z?gz4RwOH=xWArZ@Z`>mtlW7dl6ux}0{)OX>mi?@(^=0b*ZMPHv00000003w*M*e2F zcuSdIm9>qw2P}K_@5)*%Jl@8i%G$lgH?Z({>1A#636B>pi#HhKickF!Yq>!H00000 z006)aXv*L0w&C+PJ8p#h&2#XKZx8?g0000ve*qdu7KHCyBR2p5002ovPDHLkV1kcW B6l(wg literal 0 HcmV?d00001 diff --git a/modular_doppler/modular_species/species_types/teshari/icons/clothing/eyes.dmi b/modular_doppler/modular_species/species_types/teshari/icons/clothing/eyes.dmi new file mode 100644 index 0000000000000000000000000000000000000000..4868ae09f72682244a04f758012e0e23aa0000ec GIT binary patch literal 8769 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 literal 0 HcmV?d00001 diff --git a/modular_doppler/modular_species/species_types/teshari/icons/clothing/feet.dmi b/modular_doppler/modular_species/species_types/teshari/icons/clothing/feet.dmi new file mode 100644 index 0000000000000000000000000000000000000000..53a2f1f70e9256f5a79381beb85e00e81077765c GIT binary patch literal 2056 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 literal 0 HcmV?d00001 diff --git a/modular_doppler/modular_species/species_types/teshari/icons/clothing/hands.dmi b/modular_doppler/modular_species/species_types/teshari/icons/clothing/hands.dmi new file mode 100644 index 0000000000000000000000000000000000000000..885c3895fa5cf3bbc92276434e842a1f4100d44e GIT binary patch literal 2135 zcmZ8ic|6pM7XOXOjAbm>&V*OIi zHQ5XEY$3_M+{T!ho7gM7oCZZ$)0Du_wxV;Ae zfc8QVAOzk6T-|BUJ?M6G_H@`owFByk3Q7itj1r?fKeWYH6rS&BipwXto(F@k3JS@~ z%gf5j-Unc2W@hT@>YAFGF99*t1Dg8!M=UJR3W_SSGBRjsZ3qN%MoH%iLSIf!5e9>4 zX=zQ~mSt*x!jMh#Sf|Lo7(oe$+S%Ao8LEFx0hhNw&H zp4|AFH&S7`T8zs6xaZL^r8EYU$WV3J@-s>M5U%lpbEkfe<=;GW_;g3`_Xg( z@~ThVYafX8R_PCZcn_CT0A~5)Z+pp1qUUM6eQ_JwGp>Yn-+p2l_tCB1X9n;|eHR*gSQAvS|VvAEr5ld8Fdt%To^g-#k< zakPZQSh}-&k48dL4E>7n^~4iT(&nWoXGv__QrU420|yF2P|A0{*l+Zdikkw?Bvf}$ zA61eYbU8D4U+L9B&x@!5`EFEFsl`N* z#J+;}lD0x>8UJ%=RPjSHedgZ|CgW(77=ecx46tN+H zJf&z96`Fh#^zzpK*A!BF>dK$UM)WC9TYhifZag5fIRJOlqx+q3sEgFwm)g3LOQDpC zT>$C~{hqsH4^^MmSrpv0HS){v7n{hK>*LM@SNk^+-naqcolKox@x|C1(pPj%OtHr%$$T|!|&;C3x3G2*+mTQFBvyr=d;2$ zSYKJJCGHhj8jUj^8`hk@9$#=2`6v?_6bHpxwNxR-@62qd*3|1?zae9lnh6USa6}IN%mxR#%3=v~;S1}=%%2I^ zzDueSw(B_x8(9EIxpJ_P>hEM>+aAK!ASo++l=vIGsj2Getuc4e45OXdcO*wBCT}2P za;VOztjB$t6&UokYDB^WT-NiE7%P1eK4fYBY))9Geo4vu38*T0ka+M*Z6NxV3AG(d zU251NCx~P&H<`*TH_SWUZER)plpAM%u?*2zEgu=_3Q?T87JiO)33KGYNR-vx#%mER z%CkJW;Z!RA<4p02nfU7Njg&i=TwH2+IbbBR;Mm`YO#iam_U96h69utzgpwFTD9%KE z+_aBx9(Q$N{f*_5=pj&mGrFaIuB&tf^M^oF^_jrSaS0nOGsWWvsl})-7+Tz8i$RN) z=X0_;^$SW?{~;jy1*b>D$@`^?6yQ&A)>^l~!f5Ir#VABSqcaaM#*F*Wvc;`!FH~ey zEa-G{H5f0wo1jbyWyO-1W*vC&@Enh7;5EVV^E+|&>^UFoo}efc zM9$BflhJw*Vu*(Yl+5#nBajJP3bD$$5C zysipr2IHr=aMxKm73XeV^S7}q_~J1?^nL~fSS_w`6ov)tXoi~*zjhwm6hJa)Ed-~} zQ&{G07@LjI*VmkjksDWa)%^Pm*2eNxQRtp=w3@F0-?qNI(umtP5WH*g{DFCXW>rUe zK%)ICQ3nKrGzi?c_u)pd=TzkM$ki(aw&&{6ukRoUp=A@MiYvDBhPrC*0GZ?04x z%|qWA=L#8QDGS{;fgU638Ukht2!>bfC}dbn3QXoZZ&!W&B7$U4X5t0%++q)V#kmaY zAI9>|t>NxjR0)=W{(ZI>>?#6%KOJ63BW#3v8|Uh>uX^DL)~}oT9FnkrI^b(TXuqjHwn0KhDs@kqtI~UrkRU1)pMDLYYK9MmW*EwR+Z!SH1oAw0?P~7u7k<9yVp^sKU6j$qf*uFS&Q!4l8(yT z0K$BOCQ91A^PW!$ XoG(K4FG?WyUMYZeaIvS@`ltO18&T?% literal 0 HcmV?d00001 diff --git a/modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi b/modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi new file mode 100644 index 0000000000000000000000000000000000000000..37a3374be47864ca2386455ade957841240cbe93 GIT binary patch literal 50208 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 literal 0 HcmV?d00001 diff --git a/modular_doppler/modular_species/species_types/teshari/icons/clothing/mask.dmi b/modular_doppler/modular_species/species_types/teshari/icons/clothing/mask.dmi new file mode 100644 index 0000000000000000000000000000000000000000..f67ee50f1a11d2679c4f0d001556154b744f507a GIT binary patch literal 13647 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 literal 0 HcmV?d00001 diff --git a/modular_doppler/modular_species/species_types/teshari/icons/clothing/neck.dmi b/modular_doppler/modular_species/species_types/teshari/icons/clothing/neck.dmi new file mode 100644 index 0000000000000000000000000000000000000000..065e2550b8a08503486b5d5e438dcf9dd35b64ef GIT binary patch literal 55948 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 E0~A=FWdHyG literal 0 HcmV?d00001 diff --git a/modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi b/modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi new file mode 100644 index 0000000000000000000000000000000000000000..0de0607c737f4e4a6b05e0a972eb79ae1763b96e GIT binary patch literal 100854 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 Sz}N!V1W8HzQJJDu*na`!IH8{a literal 0 HcmV?d00001 diff --git a/modular_doppler/modular_species/species_types/teshari/icons/clothing/uniform.dmi b/modular_doppler/modular_species/species_types/teshari/icons/clothing/uniform.dmi new file mode 100644 index 0000000000000000000000000000000000000000..fe62a0d10a26828f4db55422c37fa66197dd5d89 GIT binary patch literal 93697 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 literal 0 HcmV?d00001 diff --git a/modular_doppler/modular_species/species_types/teshari/icons/teshari_parts_greyscale.dmi b/modular_doppler/modular_species/species_types/teshari/icons/teshari_parts_greyscale.dmi new file mode 100644 index 0000000000000000000000000000000000000000..8bcfd9c2aaeca9be92dc8cd0efadea619b3d55af GIT binary patch literal 3104 zcmZuzc{mi@9v=HN8iOn)Oi|V$Avi3=o!1=QJUokU-+$aFxVaB2eQUQlwe zXePvGv}#Uh->51S7asxOYIXbRTz4zzscyf?oougKW%lax+ZK=13{P51$p!V6fQ99> z8<52r^ZE%fx&5b{yk9^%`H9}=qYQ!P4LX-edvi{?uOs8PfA9y|v)CC5O26;*QP`-= zZQrn!4l}=PcEP0jo0bxHNl&O%tBqc_G;|@GBC$zG09cV0m|qrjU0YqUvu3}2vi%kj zQn}j9d38ht^6s94+N8lYm)5vR3t4YeSfelxHZ3I@3;=*~EQ}4VgypXltc8@e@*A_+ ziL&z?o2D{r&A{3Dk@%OdwR63czPdLonX&K5sHb7ilGoCB4S}b>pHKxW`cI=iAo9wQ z3&3gKb)eBvj=tB2v6?Da#9)7JDY`h0@KEUJY2l{8o;62l^Mn|lkLw5G`Vi0bOw+nk zjaGVqd`!sxcrtRVI71^;38H@v4IIhHYzR!KnT@(1_gz0M*()IY_Se%1RlJ3md;8-) zo<&IR(79pb1X)|!)tOSH;ERZ% z;C^Cg7bao|eTfI(-feT#KPq*bcNWPE?1L%p;DwstCFd5Egk&RR1_OSuK0F~0NM$r6 zuHo;;csWnBNR@qA0ZCR8;QN`t33eVRNu4nIw7ABjCMBQ%(GuNM&%hMeMy$t}ig!OOrLQN58o~FN1S3=hpFh#f%zHj$u*5`u0z7mpQ$^)%jbezB^b$dTUrG zJ~D=5vtHvdGEa#Q1Jk4CEI?7Vi0wyX(8r4pX5G}9(tTQ=B}1`JMvk1=7Oo>HqrZS? zy8DK2!)jE)k$}=1&k6_zeq0vD<7(wmx;H-~F8msl;?uwynwT9+$nVpnx1{}B4Qd`G4^6m{gEB>%cmX^iqtcf4Q{ZK|;2 z{WNoMk?l771dQkh8J_OE`&H4kbVYr~FuVFLe-vNh2q+Ew=82Ke0@}8DJev8f0hq(x z0V9HrYsVFRNMF3lLOvzR-Bnq4q_uZ2@gm;2jP^MPi8hV38n!ICUIeAZM@ero3b_QO z{=209Bbs~G3e9a?jq}PT^@Yw&`tS?VTbx?uLo;*RNsLP?!VvFE%Z5vi4q8sBc$5+I*9?Z7>>w^}N=2il-jIY7Px*RUMPfr(G<-`^gTXs?} z%I$~Br!(7FI^G1gDP>^Kn(1_7T!QF94D(ZtPt3ebA!2+E-+t%VbEU8b)Ur0-o#{bY zSl4vSU|hoK|4SPfj&whqI=baAHv60B7S%x<&S-mzvtiyPZ9wNRE+~4^4s}ADxxi?9 z{~Mj%IQHj>!CO+M`VIOw#u`5c=_`qk58v_(*`W9sjbWD`@2D}^1bc<_{JtCFxCh0K zoiU8nKi`fiMMyrc$}k35Zic?Z5cq#lV-mtN1ntloSp0b zz}KRqTAkn_r_+c<9%VtPh?qd1NqpCakX&l=qk=p%f>Scj4G>|cMfQ3v7XLJxEl;vM z9|*&XCHZIfPPtxt$sDFx&p+eLOxP4GEam;!yxY3>>4cMAz3~YeQWd;yW!&R1BD!lK ziKFC5cd2scVyupN&}--=6Tgrme2lo6-tKpC_ThKVq*jBtTCA!;HdNX4 zwht(kh;ZEF4(_i->XF4pCU9I@+NrQomwn6%tq>s>;_^a*$ zUBaE4?}gN->x+h`{Vp*E$CaLnac_uCI$-d13~8|nP{E@?>ccMV)AAqRwC z#Q%YF|HCd0RMCk8Nz;!U?`x~LG#eveyikyibnAsz(t;N-5e$jYIdt3rnRBKiDXhdkU@Vv|#;(#nXF%lKa+Izr# z{4%&gzO%d5+(RRNuiV8tW*&Se@=0*p&ASmT1BRxmarWY;G?=-mvE3b#F(w`zu!0i$ z>!22J57?FU8gV3S*n*8eOrI|oTDq$E*`qSWikug;$^l<-y$3Xk4bl`it}CrMZjc17 zg*AxCrlGk(BRM~DtQF!bd4i@kd)|lx%N3QWW-OwIkb&?O9(zU$;x+HqG&F;)10`m{ z!;NC`J-OM&6O=gi0X{`_O%(g&2&h;G(()rQL^wK-z}Y_qUQts`>8_;vx|dWzYXb^D z_|XLXR{Uj-x!cv*C|gfH$Y5dFQ%n4%gl$Y!Y3w=9CH z+U|1b%HE2N+_$KOH)8#z$!@GL8}+SPf33w}?RV|}@DiIC1TKdS&5QMi>8>B+CqHx! zR?9s<^%S~yavrlXlz0QBPOU?Msyo*BmIyT`?-a#Wcd_+mdEG3#->xGoD<1Kkyfu-w zhT$qH#16afr?N+T!)GcKLP&vGCHtY!iC$JCs(bvevgpyOvDrKdC0fDi)e}tg^sAG_ z{

83GSszuhY>qjAG4%<-q|mdww7@t54ZS@fTvo4ZXK`t+yFT2mR}*`;QyM?!Dc| zswL$8*T?^lj~|xxDv#D9-%{E9(Hep$N{<{VHol~l-vyb0XM3rHUku|02z%E*zk>W2 zMRRRb_+FjvoC4LSQns65@uk7$GON7iJqC$2#`?@Mo+znx ziQPub*P>h7POACoB;G)uI5c&!{|ywmL%QaDOEpWoc`*uE1zkl@O+`LOMeh{uqwObO z<20;4q+7hEBrQARp6ZvYZQU2mgs{kd(wiov4Fu|6)sd|oqXzQqt|H}Z6Q0Y?y`3Ja z1_^`m1)GK_gPQJH*z`TewCj#30322US&_ZQ!MOcm&0J|h@X3|{0*W{= Date: Fri, 31 Oct 2025 14:40:04 -0400 Subject: [PATCH 02/52] push --- .../~doppler_defines/construction.dm | 2 + .../~doppler_defines/mutant_variations.dm | 2 +- .../under/accessories/_accessories.dm | 14 +- .../living/carbon/human/human_update_icons.dm | 268 ++++++-- .../code/clothing/clothing.dm | 51 +- .../code/clothing/storage.dm | 11 +- .../code/clothing_overrides.dm | 6 - .../modular_cosmetics/code/suits/jacket.dm | 5 + .../modular_cosmetics/code/towels.dm | 5 + .../code/under/miscellania.dm | 5 + .../icons/teshari/teshari_ears.dmi | Bin 11801 -> 4401 bytes .../icons/teshari/teshari_tails.dmi | Bin 897 -> 883 bytes .../preferences/antennae.dm | 8 +- .../modular_customization/preferences/ears.dm | 71 +- .../preferences/fluff.dm | 6 +- .../preferences/frills.dm | 8 +- .../preferences/horns.dm | 6 +- .../preferences/preference.dm | 4 + .../preferences/snout.dm | 6 +- .../modular_customization/preferences/tail.dm | 57 +- .../modular_customization/preferences/taur.dm | 6 +- .../preferences/wings.dm | 10 +- .../modular_customization/tri_color/ears.dm | 1 - .../modular_customization/tri_color/legs.dm | 2 +- modular_doppler/modular_species/_species.dm | 5 + .../teshari/food/drinks_recipes.dm | 14 + .../teshari/food/food_reagents.dm | 34 + .../species_types/teshari/food/kiri.dm | 30 + .../species_types/teshari/food/muli.dm | 30 + .../species_types/teshari/food/nakati.dm | 27 + .../species_types/teshari/food/piru.dm | 27 + .../teshari/food/teshari_food.dm | 312 +++++++++ .../teshari/food/teshari_recipes.dm | 139 ++++ .../teshari/icons/clothing/accessories.dmi | Bin 4916 -> 3523 bytes .../teshari/icons/clothing/belt.dmi | Bin 8060 -> 7014 bytes .../teshari/icons/clothing/head.dmi | Bin 50208 -> 27799 bytes .../teshari/icons/clothing/mask.dmi | Bin 13647 -> 12248 bytes .../teshari/icons/clothing/suit.dmi | Bin 100854 -> 71319 bytes .../teshari/icons/clothing/uniform.dmi | Bin 93697 -> 74188 bytes .../teshari/icons/food/teshfood.dmi | Bin 0 -> 7481 bytes .../teshari/icons/hydroponics/growing.dmi | Bin 0 -> 4065 bytes .../teshari/icons/hydroponics/harvest.dmi | Bin 0 -> 1466 bytes .../teshari/icons/hydroponics/seeds.dmi | Bin 0 -> 970 bytes .../species_types/teshari/notes.txt | 11 + .../species_types/teshari/teshari.dm | 12 +- .../teshari/teshari_bodyparts.dm | 2 +- .../species_types/teshari/teshari_clothes.dm | 642 +++++++++++++++++- .../teshari/{ears.dm => teshari_organs.dm} | 15 +- .../species_types/teshari/worn_overlays.dm | 11 + .../code/tg_vendors/megaseed.dm | 10 + .../reagent_forging/code/forge_clothing.dm | 20 + tgstation.dme | 11 +- 52 files changed, 1727 insertions(+), 179 deletions(-) create mode 100644 modular_doppler/modular_customization/preferences/preference.dm create mode 100644 modular_doppler/modular_species/species_types/teshari/food/drinks_recipes.dm create mode 100644 modular_doppler/modular_species/species_types/teshari/food/food_reagents.dm create mode 100644 modular_doppler/modular_species/species_types/teshari/food/kiri.dm create mode 100644 modular_doppler/modular_species/species_types/teshari/food/muli.dm create mode 100644 modular_doppler/modular_species/species_types/teshari/food/nakati.dm create mode 100644 modular_doppler/modular_species/species_types/teshari/food/piru.dm create mode 100644 modular_doppler/modular_species/species_types/teshari/food/teshari_food.dm create mode 100644 modular_doppler/modular_species/species_types/teshari/food/teshari_recipes.dm create mode 100644 modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi create mode 100644 modular_doppler/modular_species/species_types/teshari/icons/hydroponics/growing.dmi create mode 100644 modular_doppler/modular_species/species_types/teshari/icons/hydroponics/harvest.dmi create mode 100644 modular_doppler/modular_species/species_types/teshari/icons/hydroponics/seeds.dmi rename modular_doppler/modular_species/species_types/teshari/{ears.dm => teshari_organs.dm} (87%) diff --git a/code/__DEFINES/~doppler_defines/construction.dm b/code/__DEFINES/~doppler_defines/construction.dm index 10efde968debb2..07da785270bf96 100644 --- a/code/__DEFINES/~doppler_defines/construction.dm +++ b/code/__DEFINES/~doppler_defines/construction.dm @@ -1 +1,3 @@ #define CAT_HEMOPHAGE "Hemophage Food" +#define CAT_TESHARI "Teshari Food" + diff --git a/code/__DEFINES/~doppler_defines/mutant_variations.dm b/code/__DEFINES/~doppler_defines/mutant_variations.dm index 2aea3df307361b..55964483fbf189 100644 --- a/code/__DEFINES/~doppler_defines/mutant_variations.dm +++ b/code/__DEFINES/~doppler_defines/mutant_variations.dm @@ -37,7 +37,7 @@ GLOBAL_LIST_INIT(mutant_variations, list( LIZARD, MONKEY, MOUSE, - // no TESHARI bc theyre only for tesh - TODO allow use of tails... somehow? + // no TESHARI - TESHARI is handled specially in tail.dm )) /// This list gets read by the animalistic preference for genemod and anthros diff --git a/code/modules/clothing/under/accessories/_accessories.dm b/code/modules/clothing/under/accessories/_accessories.dm index 0e4e2f981907ee..b3cfb741f482e1 100644 --- a/code/modules/clothing/under/accessories/_accessories.dm +++ b/code/modules/clothing/under/accessories/_accessories.dm @@ -126,7 +126,19 @@ /obj/item/clothing/accessory/proc/generate_accessory_overlay(obj/item/clothing/under/attached_to) SHOULD_CALL_PARENT(TRUE) - var/mutable_appearance/appearance = mutable_appearance(worn_icon, icon_state) + // DOPPLER EDIT BEGIN + var/local_worn_icon = worn_icon + var/mob/living/carbon/human/human_wearer = attached_to.loc + if (istype(human_wearer)) + for(var/shape in supported_bodyshapes) + if(human_wearer.bodyshape & shape) + var/potential_file = bodyshape_icon_files["[shape]"] + if (icon_exists(potential_file, icon_state)) + local_worn_icon = bodyshape_icon_files["[shape]"] + if (shape != BODYSHAPE_HUMANOID) // EVERYTHING has this + break + // DOPPLER EDIT END + var/mutable_appearance/appearance = mutable_appearance(local_worn_icon, icon_state) // DOPPLER SHIFT EDIT appearance.alpha = alpha appearance.color = color return appearance diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index 04f60a78f9ca35..72a3491dd142c1 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -105,14 +105,18 @@ There are several things that need to be remembered: var/found_alt_shape = FALSE for(var/shape in uniform.supported_bodyshapes) if(bodyshape & shape) - icon_file = uniform.bodyshape_icon_files["[shape]"] - found_alt_shape = TRUE + var/potential_file = uniform.bodyshape_icon_files["[shape]"] + if (icon_exists(potential_file, uniform.icon_state)) + icon_file = uniform.bodyshape_icon_files["[shape]"] + if (shape != BODYSHAPE_HUMANOID) // EVERYTHING has this + found_alt_shape = TRUE + break if(!found_alt_shape) - var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_BELT, uniform) + var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_UNIFORM, uniform) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_BELT, uniform, src) + var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_UNIFORM, uniform, src) if(species_icon_file) icon_file = species_icon_file /// DOPPLER SHIFT ADDITION END @@ -220,18 +224,24 @@ There are several things that need to be remembered: var/found_alt_shape = FALSE for(var/shape in worn_item.supported_bodyshapes) if(bodyshape & shape) - icon_file = worn_item.bodyshape_icon_files["[shape]"] - found_alt_shape = TRUE + var/potential_file = worn_item.bodyshape_icon_files["[shape]"] + if (icon_exists(potential_file, worn_item.icon_state)) + icon_file = worn_item.bodyshape_icon_files["[shape]"] + if (shape != BODYSHAPE_HUMANOID) // EVERYTHING has this + found_alt_shape = TRUE + break + var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_BELT, worn_item) + var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_SUIT, worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_BELT, worn_item, src) + var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_SUIT, worn_item, src) if(species_icon_file) icon_file = species_icon_file + autogen_override = TRUE /// DOPPLER SHIFT ADDITION END - var/mutable_appearance/gloves_overlay = gloves.build_worn_icon(default_layer = GLOVES_LAYER, default_icon_file = icon_file, humie = src) /// DOPPLER SHIFT EDIT + var/mutable_appearance/gloves_overlay = gloves.build_worn_icon(default_layer = GLOVES_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) /// DOPPLER SHIFT EDIT var/feature_y_offset = 0 //needs to be typed, hand_bodyparts can have nulls @@ -279,13 +289,32 @@ There are several things that need to be remembered: var/icon_file = 'icons/mob/clothing/eyes.dmi' /// DOPPLER SHIFT ADDITION BEGIN - for(var/shape in glasses.supported_bodyshapes) + var/found_alt_shape = FALSE + for(var/shape in worn_item.supported_bodyshapes) if(bodyshape & shape) - icon_file = glasses.bodyshape_icon_files["[shape]"] + var/potential_file = worn_item.bodyshape_icon_files["[shape]"] + if (icon_exists(potential_file, worn_item.icon_state)) + icon_file = worn_item.bodyshape_icon_files["[shape]"] + if (shape != BODYSHAPE_HUMANOID) // EVERYTHING has this + found_alt_shape = TRUE + break + + var/autogen_override = FALSE + if(!found_alt_shape) + var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_SUIT, worn_item) + if (!isnull(fallback_config)) + // we found a config for our species? that must mean the clothing doesnt fit. so just trust it + var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_SUIT, worn_item, src) + if(species_icon_file) + icon_file = species_icon_file + autogen_override = TRUE /// DOPPLER SHIFT ADDITION END - var/mutable_appearance/glasses_overlay = glasses.build_worn_icon(default_layer = GLASSES_LAYER, default_icon_file = icon_file, humie = src) /// DOPPLER SHIFT EDIT - my_head.worn_glasses_offset?.apply_offset(glasses_overlay) + var/mutable_appearance/glasses_overlay = glasses.build_worn_icon(default_layer = GLASSES_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) /// DOPPLER SHIFT EDIT + // DOPPLER SHIFT EDIT BEGIN - autogen sprites bypass offsets as we assume they offset themselves + if (!autogen_override && !found_alt_shape) + my_head?.worn_glasses_offset?.apply_offset(glasses_overlay) + // DOPPLER SHIFT EDIT END overlays_standing[GLASSES_LAYER] = glasses_overlay apply_overlay(GLASSES_LAYER) @@ -311,13 +340,32 @@ There are several things that need to be remembered: var/icon_file = 'icons/mob/clothing/ears.dmi' /// DOPPLER SHIFT ADDITION BEGIN - for(var/shape in ears.supported_bodyshapes) + var/found_alt_shape = FALSE + for(var/shape in worn_item.supported_bodyshapes) if(bodyshape & shape) - icon_file = ears.bodyshape_icon_files["[shape]"] + var/potential_file = worn_item.bodyshape_icon_files["[shape]"] + if (icon_exists(potential_file, worn_item.icon_state)) + icon_file = worn_item.bodyshape_icon_files["[shape]"] + if (shape != BODYSHAPE_HUMANOID) // EVERYTHING has this + found_alt_shape = TRUE + break + + var/autogen_override = FALSE + if(!found_alt_shape) + var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_SUIT, worn_item) + if (!isnull(fallback_config)) + // we found a config for our species? that must mean the clothing doesnt fit. so just trust it + var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_SUIT, worn_item, src) + if(species_icon_file) + icon_file = species_icon_file + autogen_override = TRUE /// DOPPLER SHIFT ADDITION END - var/mutable_appearance/ears_overlay = ears.build_worn_icon(default_layer = EARS_LAYER, default_icon_file = icon_file, humie = src) /// DOPPLER SHIFT EDIT - my_head.worn_ears_offset?.apply_offset(ears_overlay) + var/mutable_appearance/ears_overlay = ears.build_worn_icon(default_layer = EARS_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) /// DOPPLER SHIFT EDIT + // DOPPLER SHIFT EDIT BEGIN - autogen sprites bypass offsets as we assume they offset themselves + if (!autogen_override && !found_alt_shape) + my_head?.worn_ears_offset?.apply_offset(ears_overlay) + // DOPPLER SHIFT EDIT END overlays_standing[EARS_LAYER] = ears_overlay apply_overlay(EARS_LAYER) @@ -341,24 +389,30 @@ There are several things that need to be remembered: var/found_alt_shape = FALSE for(var/shape in worn_item.supported_bodyshapes) if(bodyshape & shape) - icon_file = worn_item.bodyshape_icon_files["[shape]"] - found_alt_shape = TRUE - - //var/mutant_override = FALSE - // always defer to the alt shape. this is a LAST RESORT + var/potential_file = worn_item.bodyshape_icon_files["[shape]"] + if (icon_exists(potential_file, worn_item.icon_state)) + icon_file = worn_item.bodyshape_icon_files["[shape]"] + if (shape != BODYSHAPE_HUMANOID) // EVERYTHING has this + found_alt_shape = TRUE + break + + var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_BELT, worn_item) + var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_SUIT, worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_BELT, worn_item, src) + var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_SUIT, worn_item, src) if(species_icon_file) icon_file = species_icon_file - //mutant_override = TRUE + autogen_override = TRUE /// DOPPLER SHIFT ADDITION END - var/mutable_appearance/neck_overlay = worn_item.build_worn_icon(default_layer = NECK_LAYER, default_icon_file = icon_file, humie = src) /// DOPPLER SHIFT EDIT + var/mutable_appearance/neck_overlay = worn_item.build_worn_icon(default_layer = NECK_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) /// DOPPLER SHIFT EDIT var/obj/item/bodypart/chest/my_chest = get_bodypart(BODY_ZONE_CHEST) - my_chest?.worn_belt_offset?.apply_offset(neck_overlay) + // DOPPLER SHIFT EDIT BEGIN - autogen sprites bypass offsets as we assume they offset themselves + if (!autogen_override && !found_alt_shape) + my_chest?.worn_neck_offset?.apply_offset(neck_overlay) + // DOPPLER SHIFT EDIT END overlays_standing[NECK_LAYER] = neck_overlay apply_overlay(NECK_LAYER) @@ -386,12 +440,26 @@ There are several things that need to be remembered: if(bodyshape & BODYSHAPE_HIDE_SHOES) return // We just don't want shoes that float if we're not displaying legs (useful for taurs, for now) - for(var/shape in shoes.supported_bodyshapes) + var/found_alt_shape = FALSE + for(var/shape in worn_item.supported_bodyshapes) if(bodyshape & shape) - icon_file = shoes.bodyshape_icon_files["[shape]"] + icon_file = worn_item.bodyshape_icon_files["[shape]"] + if (shape != BODYSHAPE_HUMANOID) + found_alt_shape = TRUE + break + + var/autogen_override = FALSE + if(!found_alt_shape) + var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_SUIT, worn_item) + if (!isnull(fallback_config)) + // we found a config for our species? that must mean the clothing doesnt fit. so just trust it + var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_SUIT, worn_item, src) + if(species_icon_file) + icon_file = species_icon_file + autogen_override = TRUE /// DOPPLER SHIFT ADDITION END - var/mutable_appearance/shoes_overlay = shoes.build_worn_icon(default_layer = SHOES_LAYER, default_icon_file = icon_file, humie = src) /// DOPPLER SHIFT EDIT + var/mutable_appearance/shoes_overlay = shoes.build_worn_icon(default_layer = SHOES_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) /// DOPPLER SHIFT EDIT if(!shoes_overlay) return @@ -430,21 +498,30 @@ There are several things that need to be remembered: var/found_alt_shape = FALSE for(var/shape in worn_item.supported_bodyshapes) if(bodyshape & shape) - icon_file = worn_item.bodyshape_icon_files["[shape]"] - found_alt_shape = TRUE - + var/potential_file = worn_item.bodyshape_icon_files["[shape]"] + if (icon_exists(potential_file, worn_item.icon_state)) + icon_file = worn_item.bodyshape_icon_files["[shape]"] + if (shape != BODYSHAPE_HUMANOID) // EVERYTHING has this + found_alt_shape = TRUE + break + + var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_BELT, worn_item) + var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_SUIT, worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_BELT, worn_item, src) + var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_SUIT, worn_item, src) if(species_icon_file) icon_file = species_icon_file + autogen_override = TRUE /// DOPPLER SHIFT ADDITION END - var/mutable_appearance/s_store_overlay = worn_item.build_worn_icon(default_layer = SUIT_STORE_LAYER, default_icon_file = icon_file, humie = src) /// DOPPLER SHIFT EDIT + var/mutable_appearance/s_store_overlay = worn_item.build_worn_icon(default_layer = SUIT_STORE_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) /// DOPPLER SHIFT EDIT var/obj/item/bodypart/chest/my_chest = get_bodypart(BODY_ZONE_CHEST) - my_chest?.worn_suit_storage_offset?.apply_offset(s_store_overlay) + // DOPPLER SHIFT EDIT BEGIN - autogen sprites bypass offsets as we assume they offset themselves + if (!autogen_override && !found_alt_shape) + my_chest?.worn_suit_storage_offset?.apply_offset(s_store_overlay) + // DOPPLER SHIFT EDIT END overlays_standing[SUIT_STORE_LAYER] = s_store_overlay apply_overlay(SUIT_STORE_LAYER) @@ -467,21 +544,30 @@ There are several things that need to be remembered: var/found_alt_shape = FALSE for(var/shape in worn_item.supported_bodyshapes) if(bodyshape & shape) - icon_file = worn_item.bodyshape_icon_files["[shape]"] - found_alt_shape = TRUE - + var/potential_file = worn_item.bodyshape_icon_files["[shape]"] + if (icon_exists(potential_file, worn_item.icon_state)) + icon_file = worn_item.bodyshape_icon_files["[shape]"] + if (shape != BODYSHAPE_HUMANOID) // EVERYTHING has this + found_alt_shape = TRUE + break + + var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_BELT, worn_item) + var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_SUIT, worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_BELT, worn_item, src) + var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_SUIT, worn_item, src) if(species_icon_file) icon_file = species_icon_file + autogen_override = TRUE /// DOPPLER SHIFT ADDITION END - var/mutable_appearance/head_overlay = head.build_worn_icon(default_layer = HEAD_LAYER, default_icon_file = icon_file, humie = src) /// DOPPLER SHIFT EDIT + var/mutable_appearance/head_overlay = head.build_worn_icon(default_layer = HEAD_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) /// DOPPLER SHIFT EDIT var/obj/item/bodypart/head/my_head = get_bodypart(BODY_ZONE_HEAD) - my_head?.worn_head_offset?.apply_offset(head_overlay) + // DOPPLER SHIFT EDIT BEGIN - autogen sprites bypass offsets as we assume they offset themselves + if (!autogen_override && !found_alt_shape) + my_head?.worn_head_offset?.apply_offset(head_overlay) + // DOPPLER SHIFT EDIT END overlays_standing[HEAD_LAYER] = head_overlay apply_overlay(HEAD_LAYER) @@ -507,21 +593,30 @@ There are several things that need to be remembered: var/found_alt_shape = FALSE for(var/shape in worn_item.supported_bodyshapes) if(bodyshape & shape) - icon_file = worn_item.bodyshape_icon_files["[shape]"] - found_alt_shape = TRUE - + var/potential_file = worn_item.bodyshape_icon_files["[shape]"] + if (icon_exists(potential_file, worn_item.icon_state)) + icon_file = worn_item.bodyshape_icon_files["[shape]"] + if (shape != BODYSHAPE_HUMANOID) // EVERYTHING has this + found_alt_shape = TRUE + break + + var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_BELT, worn_item) + var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_SUIT, worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_BELT, worn_item, src) + var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_SUIT, worn_item, src) if(species_icon_file) icon_file = species_icon_file + autogen_override = TRUE /// DOPPLER SHIFT ADDITION END - var/mutable_appearance/belt_overlay = belt.build_worn_icon(default_layer = BELT_LAYER, default_icon_file = icon_file, humie = src) /// DOPPLER SHIFT EDIT + var/mutable_appearance/belt_overlay = belt.build_worn_icon(default_layer = BELT_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) /// DOPPLER SHIFT EDIT var/obj/item/bodypart/chest/my_chest = get_bodypart(BODY_ZONE_CHEST) - my_chest?.worn_belt_offset?.apply_offset(belt_overlay) + // DOPPLER SHIFT EDIT BEGIN - autogen sprites bypass offsets as we assume they offset themselves + if (!autogen_override && !found_alt_shape) + my_chest?.worn_belt_offset?.apply_offset(belt_overlay) + // DOPPLER SHIFT EDIT END overlays_standing[BELT_LAYER] = belt_overlay apply_overlay(BELT_LAYER) @@ -546,21 +641,30 @@ There are several things that need to be remembered: var/found_alt_shape = FALSE for(var/shape in worn_item.supported_bodyshapes) if(bodyshape & shape) - icon_file = worn_item.bodyshape_icon_files["[shape]"] - found_alt_shape = TRUE - + var/potential_file = worn_item.bodyshape_icon_files["[shape]"] + if (icon_exists(potential_file, worn_item.icon_state)) + icon_file = worn_item.bodyshape_icon_files["[shape]"] + if (shape != BODYSHAPE_HUMANOID) // EVERYTHING has this + found_alt_shape = TRUE + break + + var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_BELT, worn_item) + var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_SUIT, worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_BELT, worn_item, src) + var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_SUIT, worn_item, src) if(species_icon_file) icon_file = species_icon_file + autogen_override = TRUE /// DOPPLER SHIFT ADDITION END - var/mutable_appearance/suit_overlay = wear_suit.build_worn_icon(default_layer = SUIT_LAYER, default_icon_file = icon_file, humie = src) /// DOPPLER SHIFT EDIT + var/mutable_appearance/suit_overlay = wear_suit.build_worn_icon(default_layer = SUIT_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) /// DOPPLER SHIFT EDIT var/obj/item/bodypart/chest/my_chest = get_bodypart(BODY_ZONE_CHEST) - my_chest?.worn_suit_offset?.apply_offset(suit_overlay) + // DOPPLER SHIFT EDIT BEGIN - autogen sprites bypass offsets as we assume they offset themselves + if (!autogen_override && !found_alt_shape) + my_chest?.worn_suit_offset?.apply_offset(suit_overlay) + // DOPPLER SHIFT EDIT END overlays_standing[SUIT_LAYER] = suit_overlay apply_overlay(SUIT_LAYER) @@ -611,20 +715,29 @@ There are several things that need to be remembered: var/found_alt_shape = FALSE for(var/shape in worn_item.supported_bodyshapes) if(bodyshape & shape) - icon_file = worn_item.bodyshape_icon_files["[shape]"] - found_alt_shape = TRUE - + var/potential_file = worn_item.bodyshape_icon_files["[shape]"] + if (icon_exists(potential_file, worn_item.icon_state)) + icon_file = worn_item.bodyshape_icon_files["[shape]"] + if (shape != BODYSHAPE_HUMANOID) // EVERYTHING has this + found_alt_shape = TRUE + break + + var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_BELT, worn_item) + var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_SUIT, worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_BELT, worn_item, src) + var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_SUIT, worn_item, src) if(species_icon_file) icon_file = species_icon_file + autogen_override = TRUE /// DOPPLER SHIFT ADDITION END - var/mutable_appearance/mask_overlay = wear_mask.build_worn_icon(default_layer = FACEMASK_LAYER, default_icon_file = icon_file, humie = src) /// DOPPLER SHIFT EDIT - my_head.worn_mask_offset?.apply_offset(mask_overlay) + var/mutable_appearance/mask_overlay = wear_mask.build_worn_icon(default_layer = FACEMASK_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) /// DOPPLER SHIFT EDIT + // DOPPLER SHIFT EDIT BEGIN - autogen sprites bypass offsets as we assume they offset themselves + if (!autogen_override && !found_alt_shape) + my_head?.worn_mask_offset?.apply_offset(mask_overlay) + // DOPPLER SHIFT EDIT END overlays_standing[FACEMASK_LAYER] = mask_overlay apply_overlay(FACEMASK_LAYER) @@ -651,24 +764,33 @@ There are several things that need to be remembered: var/found_alt_shape = FALSE for(var/shape in worn_item.supported_bodyshapes) if(bodyshape & shape) - icon_file = worn_item.bodyshape_icon_files["[shape]"] - found_alt_shape = TRUE - + var/potential_file = worn_item.bodyshape_icon_files["[shape]"] + if (icon_exists(potential_file, worn_item.icon_state)) + icon_file = worn_item.bodyshape_icon_files["[shape]"] + if (shape != BODYSHAPE_HUMANOID) // EVERYTHING has this + found_alt_shape = TRUE + break + + var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_BELT, worn_item) + var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_SUIT, worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_BELT, worn_item, src) + var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_SUIT, worn_item, src) if(species_icon_file) icon_file = species_icon_file + autogen_override = TRUE /// DOPPLER SHIFT ADDITION END - back_overlay = back.build_worn_icon(default_layer = BACK_LAYER, default_icon_file = icon_file, humie = src) /// DOPPLER SHIFT EDIT + back_overlay = back.build_worn_icon(default_layer = BACK_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) /// DOPPLER SHIFT EDIT if(!back_overlay) return var/obj/item/bodypart/chest/my_chest = get_bodypart(BODY_ZONE_CHEST) - my_chest?.worn_back_offset?.apply_offset(back_overlay) + // DOPPLER SHIFT EDIT BEGIN - autogen sprites bypass offsets as we assume they offset themselves + if (!autogen_override && !found_alt_shape) + my_chest?.worn_back_offset?.apply_offset(back_overlay) + // DOPPLER SHIFT EDIT END overlays_standing[BACK_LAYER] = back_overlay apply_overlay(BACK_LAYER) @@ -1044,7 +1166,7 @@ generate/load female uniform sprites matching all previously decided variables greyscale_colors = greyscale_colors, ) /// DOPPLER SHIFT ADDITION BEGIN - we migrate this down here & use building_icon to allow for auto-generated digi sprites to still support ladies - if(female_uniform) + if(!is_digi && female_uniform) building_icon = wear_female_version( icon_state = t_state, icon = istype(building_icon) ? building_icon : file2use, diff --git a/modular_doppler/kahraman_equipment/code/clothing/clothing.dm b/modular_doppler/kahraman_equipment/code/clothing/clothing.dm index e61c9aaf462387..c25acb5b24593e 100644 --- a/modular_doppler/kahraman_equipment/code/clothing/clothing.dm +++ b/modular_doppler/kahraman_equipment/code/clothing/clothing.dm @@ -7,9 +7,10 @@ icon = 'modular_doppler/kahraman_equipment/icons/clothes/clothing.dmi' icon_state = "jumpsuit" worn_icon = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn.dmi' - supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_DIGITIGRADE) + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI, BODYSHAPE_DIGITIGRADE) bodyshape_icon_files = list( BODYSHAPE_HUMANOID_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn_teshari.dmi', BODYSHAPE_DIGITIGRADE_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn_digi.dmi', ) worn_icon_state = "jumpsuit" @@ -29,9 +30,12 @@ icon = 'modular_doppler/kahraman_equipment/icons/clothes/clothing.dmi' icon_state = "boots" worn_icon = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn.dmi' - supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_DIGITIGRADE) - bodyshape_icon_files = list(BODYSHAPE_HUMANOID_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn.dmi', - BODYSHAPE_DIGITIGRADE_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn_digi.dmi') + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI, BODYSHAPE_DIGITIGRADE) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn_teshari.dmi', + BODYSHAPE_DIGITIGRADE_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn_digi.dmi', + ) worn_icon_state = "boots" armor_type = /datum/armor/colonist_clothing resistance_flags = FIRE_PROOF @@ -51,6 +55,11 @@ icon_state = "jacket" worn_icon = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn.dmi' worn_icon_state = "jacket" + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn_teshari.dmi' + ) slot_flags = ITEM_SLOT_OCLOTHING|ITEM_SLOT_NECK armor_type = /datum/armor/colonist_clothing resistance_flags = NONE @@ -92,6 +101,11 @@ icon_state = "flak" worn_icon = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn.dmi' worn_icon_state = "flak" + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn_teshari.dmi' + ) body_parts_covered = CHEST cold_protection = CHEST|GROIN min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT @@ -115,6 +129,11 @@ icon_state = "cap" soft_type = "cap" soft_suffix = null + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn_teshari.dmi' + ) worn_icon = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn.dmi' worn_icon_state = "cap" @@ -138,6 +157,11 @@ icon_state = "tanker" worn_icon = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn.dmi' worn_icon_state = "tanker" + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn_teshari.dmi' + ) armor_type = /datum/armor/colonist_armor resistance_flags = NONE flags_inv = 0 @@ -157,6 +181,11 @@ icon_state = "radio" worn_icon = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn.dmi' worn_icon_state = "radio" + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn_teshari.dmi' + ) alternate_worn_layer = FACEMASK_LAYER + 0.5 subspace_transmission = FALSE // radio_talk_sound = 'modular_doppler/kahraman_equipment/sounds/morse_signal.wav' @@ -194,6 +223,11 @@ icon_state = "gloves" worn_icon = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn.dmi' worn_icon_state = "gloves" + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn_teshari.dmi' + ) greyscale_colors = "#3a373e" siemens_coefficient = 0.25 // Doesn't insulate you entirely, but makes you a little more resistant cold_protection = HANDS @@ -218,9 +252,12 @@ icon_state = "mask" worn_icon = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn.dmi' supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION - supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_SNOUTED) - bodyshape_icon_files = list(BODYSHAPE_HUMANOID_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn.dmi', - BODYSHAPE_SNOUTED_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn_digi.dmi') + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI, BODYSHAPE_SNOUTED) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn_teshari.dmi', + BODYSHAPE_SNOUTED_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn_digi.dmi' + ) worn_icon_state = "mask" flags_inv = HIDEEYES|HIDEFACE|HIDEFACIALHAIR|HIDESNOUT armor_type = /datum/armor/colonist_hazard diff --git a/modular_doppler/kahraman_equipment/code/clothing/storage.dm b/modular_doppler/kahraman_equipment/code/clothing/storage.dm index 65f68b937f5c6e..9d94a5e909d778 100644 --- a/modular_doppler/kahraman_equipment/code/clothing/storage.dm +++ b/modular_doppler/kahraman_equipment/code/clothing/storage.dm @@ -6,6 +6,11 @@ icon = 'modular_doppler/kahraman_equipment/icons/clothes/clothing.dmi' icon_state = "backpack" worn_icon = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn.dmi' + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn_teshari.dmi' + ) supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON // worn_icon_teshari = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn_teshari.dmi' worn_icon_state = "backpack" @@ -38,7 +43,11 @@ icon_state = "harness" worn_icon = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn.dmi' supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON -// worn_icon_teshari = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn_teshari.dmi' + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn_teshari.dmi' + ) worn_icon_state = "harness" inhand_icon_state = null diff --git a/modular_doppler/modular_cosmetics/code/clothing_overrides.dm b/modular_doppler/modular_cosmetics/code/clothing_overrides.dm index 00ce0a6c924c32..a8ffeb6c8b62e8 100644 --- a/modular_doppler/modular_cosmetics/code/clothing_overrides.dm +++ b/modular_doppler/modular_cosmetics/code/clothing_overrides.dm @@ -6,11 +6,5 @@ return TRUE return ..() -//for making rollerskates work again - -/obj/item/clothing/shoes/wheelys - supported_bodyshapes = null - bodyshape_icon_files = null - /datum/component/riding/vehicle/scooter/skateboard/wheelys vehicle_move_delay = 1.5 diff --git a/modular_doppler/modular_cosmetics/code/suits/jacket.dm b/modular_doppler/modular_cosmetics/code/suits/jacket.dm index ee7628d7c1419b..a729f705c3ac7f 100644 --- a/modular_doppler/modular_cosmetics/code/suits/jacket.dm +++ b/modular_doppler/modular_cosmetics/code/suits/jacket.dm @@ -30,6 +30,11 @@ desc = "A simple and practical jacket for labor with a center front zipper closure, two handwarmer pockets, \ and two interior pockets. A venerable old design in cutting edge textile fiber." icon_state = "off_dep_jacket" + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/modular_cosmetics/icons/obj/suit/jacket.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi' + ) allowed = list( /obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, diff --git a/modular_doppler/modular_cosmetics/code/towels.dm b/modular_doppler/modular_cosmetics/code/towels.dm index 40fc9944c02c33..f061f2f31f08c9 100644 --- a/modular_doppler/modular_cosmetics/code/towels.dm +++ b/modular_doppler/modular_cosmetics/code/towels.dm @@ -29,6 +29,11 @@ desc = "Everyone knows what a towel is. Use it to dry yourself, or wear it around your chest, your waist or even your head!" icon = TOWEL_OBJ_ICON worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/suit/towel.dmi' + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/modular_cosmetics/icons/mob/suit/towel.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi' + ) icon_state = "towel" base_icon_state = "towel" lefthand_file = 'modular_doppler/modular_cosmetics/icons/mob/inhands/towel_lefthand.dmi' diff --git a/modular_doppler/modular_cosmetics/code/under/miscellania.dm b/modular_doppler/modular_cosmetics/code/under/miscellania.dm index 338f0c3ec28c54..a8e67094fa0f3f 100644 --- a/modular_doppler/modular_cosmetics/code/under/miscellania.dm +++ b/modular_doppler/modular_cosmetics/code/under/miscellania.dm @@ -52,6 +52,11 @@ desc = "A simple, inconspicuous harness replacement for a jumpsuit." icon = 'modular_doppler/modular_cosmetics/icons/obj/under/miscellania.dmi' worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/under/miscellania.dmi' + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/modular_cosmetics/icons/mob/under/miscellania.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/uniform.dmi' + ) icon_state = "gear_harness" body_parts_covered = NONE attachment_slot_override = CHEST diff --git a/modular_doppler/modular_customization/accessories/icons/teshari/teshari_ears.dmi b/modular_doppler/modular_customization/accessories/icons/teshari/teshari_ears.dmi index 5b3abc7ebf83898b0a8d34c8b6ff8cafda1c23c8..f482d0f5826dcfbda4c21fa4df7cec996e189bb1 100644 GIT binary patch literal 4401 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 literal 11801 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 delta 232 zcmVfFDZ*Bkpc$}@&yAHxI3QgPN0U(UXFb4;E+YhA-Y`a)e@&bvb zT{dewPR3l6p(XN&Ik)!DlO_9d6XQ}EandjgiMg@HI)uk}U53#~ULaXE8U~GS0Ii0Z{^ySZ)#k diff --git a/modular_doppler/modular_customization/preferences/antennae.dm b/modular_doppler/modular_customization/preferences/antennae.dm index 0b87a521bd6c0e..b6be84be597a86 100644 --- a/modular_doppler/modular_customization/preferences/antennae.dm +++ b/modular_doppler/modular_customization/preferences/antennae.dm @@ -1,6 +1,6 @@ /datum/species/regenerate_organs(mob/living/carbon/target, datum/species/old_species, replace_current = TRUE, list/excluded_zones, visual_only = FALSE, replace_missing = TRUE) . = ..() - if(target.dna.features["moth_antennae"] && !(type in GLOB.species_blacklist_no_mutant)) + if(target.dna.features["moth_antennae"] && can_regenerate_mutant_feature("moth_antennae")) if(target.dna.features["moth_antennae"] != /datum/sprite_accessory/moth_antennae/none::name && target.dna.features["moth_antennae"] != /datum/sprite_accessory/blank::name) var/obj/item/organ/replacement = SSwardrobe.provide_type(/obj/item/organ/antennae) replacement.Insert(target, special = TRUE, movement_flags = DELETE_IF_REPLACED) @@ -26,8 +26,7 @@ /datum/preference/toggle/antennae/is_accessible(datum/preferences/preferences) . = ..() - var/species = preferences.read_preference(/datum/preference/choiced/species) - if(species in GLOB.species_blacklist_no_mutant) + if(!species_can_access_mutant_customization()) return FALSE return TRUE @@ -37,8 +36,7 @@ /datum/preference/choiced/moth_antennae/is_accessible(datum/preferences/preferences) . = ..() - var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if(!species_can_access_mutant_customization()) return FALSE var/has_antennae = preferences.read_preference(/datum/preference/toggle/antennae) if(has_antennae == TRUE) diff --git a/modular_doppler/modular_customization/preferences/ears.dm b/modular_doppler/modular_customization/preferences/ears.dm index b43467658041c8..c6a3812f9bb139 100644 --- a/modular_doppler/modular_customization/preferences/ears.dm +++ b/modular_doppler/modular_customization/preferences/ears.dm @@ -38,7 +38,7 @@ /datum/species/regenerate_organs(mob/living/carbon/target, datum/species/old_species, replace_current = TRUE, list/excluded_zones, visual_only = FALSE, replace_missing = TRUE) . = ..() - if(target.dna.features[FEATURE_EARS] && !(type in GLOB.species_blacklist_no_mutant)) + if(target.dna.features[FEATURE_EARS] && can_regenerate_mutant_feature(FEATURE_EARS)) if(target.dna.ear_type == NO_VARIATION) return . else if(target.dna.features[FEATURE_EARS] != /datum/sprite_accessory/ears/none::name && target.dna.features[FEATURE_EARS] != /datum/sprite_accessory/blank::name) @@ -68,9 +68,7 @@ /datum/preference/choiced/ear_variation/is_accessible(datum/preferences/preferences) . = ..() var/species = preferences.read_preference(/datum/preference/choiced/species) - if(species in GLOB.species_blacklist_no_mutant) - return FALSE - return TRUE + return species_can_access_mutant_customization(species) /// All current ear types to choose from // Cat @@ -83,8 +81,9 @@ /datum/preference/choiced/felinid_ears/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE + var/chosen_variation = preferences.read_preference(/datum/preference/choiced/ear_variation) if(chosen_variation == CAT) return TRUE @@ -117,7 +116,7 @@ /datum/preference/choiced/lizard_ears/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE var/chosen_variation = preferences.read_preference(/datum/preference/choiced/ear_variation) if(chosen_variation == LIZARD) @@ -150,7 +149,7 @@ /datum/preference/choiced/fox_ears/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE var/chosen_variation = preferences.read_preference(/datum/preference/choiced/ear_variation) if(chosen_variation == FOX) @@ -183,7 +182,7 @@ /datum/preference/choiced/dog_ears/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE var/chosen_variation = preferences.read_preference(/datum/preference/choiced/ear_variation) if(chosen_variation == DOG) @@ -216,7 +215,7 @@ /datum/preference/choiced/bunny_ears/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE var/chosen_variation = preferences.read_preference(/datum/preference/choiced/ear_variation) if(chosen_variation == BUNNY) @@ -249,7 +248,7 @@ /datum/preference/choiced/bird_ears/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE var/chosen_variation = preferences.read_preference(/datum/preference/choiced/ear_variation) if(chosen_variation == BIRD) @@ -282,7 +281,7 @@ /datum/preference/choiced/mouse_ears/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE var/chosen_variation = preferences.read_preference(/datum/preference/choiced/ear_variation) if(chosen_variation == MOUSE) @@ -315,7 +314,7 @@ /datum/preference/choiced/monkey_ears/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE var/chosen_variation = preferences.read_preference(/datum/preference/choiced/ear_variation) if(chosen_variation == MONKEY) @@ -348,7 +347,7 @@ /datum/preference/choiced/deer_ears/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE var/chosen_variation = preferences.read_preference(/datum/preference/choiced/ear_variation) if(chosen_variation == DEER) @@ -381,7 +380,7 @@ /datum/preference/choiced/fish_ears/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE var/chosen_variation = preferences.read_preference(/datum/preference/choiced/ear_variation) if(chosen_variation == FISH) @@ -414,7 +413,7 @@ /datum/preference/choiced/bug_ears/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE var/chosen_variation = preferences.read_preference(/datum/preference/choiced/ear_variation) if(chosen_variation == BUG) @@ -447,7 +446,7 @@ /datum/preference/choiced/humanoid_ears/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE var/chosen_variation = preferences.read_preference(/datum/preference/choiced/ear_variation) if(chosen_variation == HUMANOID) @@ -480,7 +479,7 @@ /datum/preference/choiced/synthetic_ears/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE var/chosen_variation = preferences.read_preference(/datum/preference/choiced/ear_variation) if(chosen_variation == CYBERNETIC) @@ -513,7 +512,7 @@ /datum/preference/choiced/alien_ears/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE var/chosen_variation = preferences.read_preference(/datum/preference/choiced/ear_variation) if(chosen_variation == ALIEN) @@ -540,6 +539,7 @@ relevant_external_organ = null should_generate_icons = TRUE main_feature_name = "Ears" + priority = PREFERENCE_PRIORITY_SPECIES + 0.1 /datum/preference/choiced/teshari_ears/init_possible_values() return assoc_to_keys_features(SSaccessories.ears_list_teshari) @@ -553,23 +553,50 @@ return TRUE +/datum/preference/choiced/teshari_ears/species_can_access_mutant_customization(species_typepath) + if (ispath(species_typepath, /datum/species/teshari)) + return TRUE + return ..() + /datum/preference/choiced/teshari_ears/create_default_value() - return /datum/sprite_accessory/ears_more/alien/none::name + return /datum/sprite_accessory/ears_more/teshari/none::name /datum/preference/choiced/teshari_ears/apply_to_human(mob/living/carbon/human/target, value) - if(target.dna.ear_type == ALIEN) + if(target.dna.ear_type == TESHARI) target.dna.features[FEATURE_EARS] = value + target.regenerate_organs() /datum/preference/choiced/teshari_ears/icon_for(value) var/datum/sprite_accessory/chosen_ears = SSaccessories.ears_list_teshari[value] return generate_ears_icon(chosen_ears) +GLOBAL_VAR(generic_uni_icon_ears) +GLOBAL_VAR(generic_uni_icon_ears_tesh) + +/datum/preference/choiced/proc/gen_uni_icon_ears() + var/icon = uni_icon('icons/mob/human/bodyparts_greyscale.dmi', "human_head_f") + GLOB.generic_uni_icon_ears = icon + return icon + +/datum/preference/choiced/teshari_ears/gen_uni_icon_ears() + var/icon = uni_icon('modular_doppler/modular_species/species_types/teshari/icons/teshari_parts_greyscale.dmi', "teshari_head_f") + GLOB.generic_uni_icon_ears_tesh = icon + return icon + +/datum/preference/choiced/proc/get_uni_icon_ears_cached() + RETURN_TYPE(/datum/universal_icon) + + return GLOB.generic_uni_icon_ears + +/datum/preference/choiced/teshari_ears/get_uni_icon_ears_cached() + return GLOB.generic_uni_icon_ears_tesh + /// Proc to gen that icon // We don't wanna copy paste this /datum/preference/choiced/proc/generate_ears_icon(datum/sprite_accessory/sprite_accessory) - var/static/datum/universal_icon/body + var/datum/universal_icon/body = get_uni_icon_ears_cached() if (isnull(body)) - body = uni_icon('icons/mob/human/bodyparts_greyscale.dmi', "human_head_f") + body = gen_uni_icon_ears() var/datum/universal_icon/final_icon = body.copy() if(sprite_accessory.icon_state != "none") diff --git a/modular_doppler/modular_customization/preferences/fluff.dm b/modular_doppler/modular_customization/preferences/fluff.dm index 3ad6bbb2882502..ab3f431be31947 100644 --- a/modular_doppler/modular_customization/preferences/fluff.dm +++ b/modular_doppler/modular_customization/preferences/fluff.dm @@ -7,7 +7,7 @@ /datum/species/regenerate_organs(mob/living/carbon/target, datum/species/old_species, replace_current = TRUE, list/excluded_zones, visual_only = FALSE, replace_missing = TRUE) . = ..() - if(target.dna.features[FEATURE_FLUFF] && !(type in GLOB.species_blacklist_no_mutant)) + if(target.dna.features[FEATURE_FLUFF] && can_regenerate_mutant_feature(FEATURE_FLUFF)) if(target.dna.features[FEATURE_FLUFF] != /datum/sprite_accessory/fluff/none::name && target.dna.features[FEATURE_FLUFF] != /datum/sprite_accessory/blank::name) var/obj/item/organ/replacement = SSwardrobe.provide_type(/obj/item/organ/fluff) replacement.Insert(target, special = TRUE, movement_flags = DELETE_IF_REPLACED) @@ -34,7 +34,7 @@ /datum/preference/toggle/fluff/is_accessible(datum/preferences/preferences) . = ..() var/species = preferences.read_preference(/datum/preference/choiced/species) - if(species in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE return TRUE @@ -52,7 +52,7 @@ /datum/preference/choiced/fluff/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if(!species_can_access_mutant_customization(species)) return FALSE var/has_fluff = preferences.read_preference(/datum/preference/toggle/fluff) if(has_fluff) diff --git a/modular_doppler/modular_customization/preferences/frills.dm b/modular_doppler/modular_customization/preferences/frills.dm index eee278b5a02f3f..f8feb8847d4db6 100644 --- a/modular_doppler/modular_customization/preferences/frills.dm +++ b/modular_doppler/modular_customization/preferences/frills.dm @@ -25,8 +25,7 @@ /datum/preference/toggle/frills/is_accessible(datum/preferences/preferences) . = ..() - var/species = preferences.read_preference(/datum/preference/choiced/species) - if(species in GLOB.species_blacklist_no_mutant) + if(!species_can_access_mutant_customization()) return FALSE return TRUE @@ -56,7 +55,7 @@ /datum/species/regenerate_organs(mob/living/carbon/target, datum/species/old_species, replace_current = TRUE, list/excluded_zones, visual_only = FALSE, replace_missing = TRUE) . = ..() - if(target.dna.features["frills"] && !(type in GLOB.species_blacklist_no_mutant)) + if(target.dna.features["frills"] && can_regenerate_mutant_feature("frills")) if(target.dna.features["frills"] != /datum/sprite_accessory/frills/none::name && target.dna.features["frills"] != /datum/sprite_accessory/blank::name) var/obj/item/organ/replacement = SSwardrobe.provide_type(/obj/item/organ/frills) replacement.Insert(target, special = TRUE, movement_flags = DELETE_IF_REPLACED) @@ -72,8 +71,7 @@ /datum/preference/choiced/lizard_frills/is_accessible(datum/preferences/preferences) . = ..() - var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if(!species_can_access_mutant_customization()) return FALSE var/has_frills = preferences.read_preference(/datum/preference/toggle/frills) if(has_frills == TRUE) diff --git a/modular_doppler/modular_customization/preferences/horns.dm b/modular_doppler/modular_customization/preferences/horns.dm index 2af4712e3f568f..1728745b4e732b 100644 --- a/modular_doppler/modular_customization/preferences/horns.dm +++ b/modular_doppler/modular_customization/preferences/horns.dm @@ -26,13 +26,13 @@ /datum/preference/toggle/horns/is_accessible(datum/preferences/preferences) . = ..() var/species = preferences.read_preference(/datum/preference/choiced/species) - if(species in GLOB.species_blacklist_no_mutant) + if(!species_can_access_mutant_customization(species)) return FALSE return TRUE /datum/species/regenerate_organs(mob/living/carbon/target, datum/species/old_species, replace_current = TRUE, list/excluded_zones, visual_only = FALSE, replace_missing = TRUE) . = ..() - if(target.dna.features[FEATURE_HORNS] && !(type in GLOB.species_blacklist_no_mutant)) + if(target.dna.features[FEATURE_HORNS] && can_regenerate_mutant_feature(FEATURE_HORNS)) if(target.dna.features[FEATURE_HORNS] != /datum/sprite_accessory/horns/none::name && target.dna.features[FEATURE_HORNS] != /datum/sprite_accessory/blank::name) var/obj/item/organ/replacement = SSwardrobe.provide_type(/obj/item/organ/horns) replacement.Insert(target, special = TRUE, movement_flags = DELETE_IF_REPLACED) @@ -49,7 +49,7 @@ /datum/preference/choiced/lizard_horns/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if(!species_can_access_mutant_customization(species)) return FALSE var/has_horns = preferences.read_preference(/datum/preference/toggle/horns) if(has_horns == TRUE) diff --git a/modular_doppler/modular_customization/preferences/preference.dm b/modular_doppler/modular_customization/preferences/preference.dm new file mode 100644 index 00000000000000..3d68686f9b84f1 --- /dev/null +++ b/modular_doppler/modular_customization/preferences/preference.dm @@ -0,0 +1,4 @@ +/datum/preference/proc/species_can_access_mutant_customization(species_typepath) + if (species_typepath in GLOB.species_blacklist_no_mutant) + return FALSE + return TRUE diff --git a/modular_doppler/modular_customization/preferences/snout.dm b/modular_doppler/modular_customization/preferences/snout.dm index a37aee41628990..b79feb93848501 100644 --- a/modular_doppler/modular_customization/preferences/snout.dm +++ b/modular_doppler/modular_customization/preferences/snout.dm @@ -1,6 +1,6 @@ /datum/species/regenerate_organs(mob/living/carbon/target, datum/species/old_species, replace_current = TRUE, list/excluded_zones, visual_only = FALSE, replace_missing = TRUE) . = ..() - if(target.dna.features["snout"] && !(type in GLOB.species_blacklist_no_mutant)) + if(target.dna.features["snout"] && can_regenerate_mutant_feature("snout")) if(target.dna.features["snout"] != /datum/sprite_accessory/snouts/none::name && target.dna.features["snout"] != /datum/sprite_accessory/blank::name) var/obj/item/organ/replacement = SSwardrobe.provide_type(/obj/item/organ/snout) replacement.Insert(target, special = TRUE, movement_flags = DELETE_IF_REPLACED) @@ -27,7 +27,7 @@ /datum/preference/toggle/snout/is_accessible(datum/preferences/preferences) . = ..() var/species = preferences.read_preference(/datum/preference/choiced/species) - if(species in GLOB.species_blacklist_no_mutant) + if(!species_can_access_mutant_customization(species)) return FALSE return TRUE @@ -37,7 +37,7 @@ /datum/preference/choiced/lizard_snout/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if(!species_can_access_mutant_customization(species)) return FALSE var/has_snout = preferences.read_preference(/datum/preference/toggle/snout) if(has_snout == TRUE) diff --git a/modular_doppler/modular_customization/preferences/tail.dm b/modular_doppler/modular_customization/preferences/tail.dm index f30dd32e81edba..72cc22d492eb0e 100644 --- a/modular_doppler/modular_customization/preferences/tail.dm +++ b/modular_doppler/modular_customization/preferences/tail.dm @@ -37,23 +37,23 @@ if(!ishuman(target)) return - if(target.dna.features[FEATURE_TAIL_LIZARD] != /datum/sprite_accessory/tails/lizard/none::name && !(type in GLOB.species_blacklist_no_mutant) && target.dna.features[FEATURE_TAIL_LIZARD] != /datum/sprite_accessory/blank::name) + if(target.dna.features[FEATURE_TAIL_LIZARD] != /datum/sprite_accessory/tails/lizard/none::name && can_regenerate_mutant_feature(FEATURE_TAIL_LIZARD) && target.dna.features[FEATURE_TAIL_LIZARD] != /datum/sprite_accessory/blank::name) var/obj/item/organ/replacement = SSwardrobe.provide_type(/obj/item/organ/tail/lizard) replacement.Insert(target, special = TRUE, movement_flags = DELETE_IF_REPLACED) return . - else if(target.dna.features[FEATURE_TAIL] != /datum/sprite_accessory/tails/human/none::name && !(type in GLOB.species_blacklist_no_mutant) && target.dna.features[FEATURE_TAIL] != /datum/sprite_accessory/blank::name) + else if(target.dna.features[FEATURE_TAIL] != /datum/sprite_accessory/tails/human/none::name && can_regenerate_mutant_feature(FEATURE_TAIL) && target.dna.features[FEATURE_TAIL] != /datum/sprite_accessory/blank::name) var/obj/item/organ/replacement = SSwardrobe.provide_type(/obj/item/organ/tail/cat) replacement.Insert(target, special = TRUE, movement_flags = DELETE_IF_REPLACED) return . - else if(target.dna.features[FEATURE_TAIL_MONKEY] != /datum/sprite_accessory/tails/monkey/none::name && !(type in GLOB.species_blacklist_no_mutant) && target.dna.features[FEATURE_TAIL_MONKEY] != /datum/sprite_accessory/blank::name) + else if(target.dna.features[FEATURE_TAIL_MONKEY] != /datum/sprite_accessory/tails/monkey/none::name && can_regenerate_mutant_feature(FEATURE_TAIL_MONKEY) && target.dna.features[FEATURE_TAIL_MONKEY] != /datum/sprite_accessory/blank::name) var/obj/item/organ/replacement = SSwardrobe.provide_type(/obj/item/organ/tail/monkey) replacement.Insert(target, special = TRUE, movement_flags = DELETE_IF_REPLACED) return . - else if(target.dna.features[FEATURE_TAIL_FISH] != /datum/sprite_accessory/tails/fish/none::name && !(type in GLOB.species_blacklist_no_mutant) && target.dna.features[FEATURE_TAIL_FISH] != /datum/sprite_accessory/blank::name) + else if(target.dna.features[FEATURE_TAIL_FISH] != /datum/sprite_accessory/tails/fish/none::name && can_regenerate_mutant_feature(FEATURE_TAIL_FISH) && target.dna.features[FEATURE_TAIL_FISH] != /datum/sprite_accessory/blank::name) var/obj/item/organ/replacement = SSwardrobe.provide_type(/obj/item/organ/tail/fish) replacement.Insert(target, special = TRUE, movement_flags = DELETE_IF_REPLACED) return . - else if((target.dna.features[FEATURE_TAIL_OTHER] != /datum/sprite_accessory/tails/lizard/none::name && !(type in GLOB.species_blacklist_no_mutant) && target.dna.features[FEATURE_TAIL_OTHER] != /datum/sprite_accessory/blank::name) && (target.dna.tail_type != NO_VARIATION)) + else if((target.dna.features[FEATURE_TAIL_OTHER] != /datum/sprite_accessory/tails/lizard/none::name && can_regenerate_mutant_feature(FEATURE_TAIL_OTHER) && target.dna.features[FEATURE_TAIL_OTHER] != /datum/sprite_accessory/blank::name) && (target.dna.tail_type != NO_VARIATION)) var/obj/item/organ/organ_path = text2path("/obj/item/organ/tail/[target.dna.tail_type]") var/obj/item/organ/replacement = SSwardrobe.provide_type(organ_path) replacement.Insert(target, special = TRUE, movement_flags = DELETE_IF_REPLACED) @@ -77,12 +77,12 @@ return NO_VARIATION /datum/preference/choiced/tail_variation/init_possible_values() - return list(NO_VARIATION) + (GLOB.mutant_variations) + return list(NO_VARIATION) + (GLOB.mutant_variations) + list(TESHARI) /datum/preference/choiced/tail_variation/is_accessible(datum/preferences/preferences) . = ..() var/species = preferences.read_preference(/datum/preference/choiced/species) - if(species in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE return TRUE @@ -135,7 +135,7 @@ /datum/preference/choiced/lizard_tail/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE var/chosen_variation = preferences.read_preference(/datum/preference/choiced/tail_variation) if(chosen_variation == LIZARD) @@ -162,7 +162,7 @@ /datum/preference/choiced/tail_felinid/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE var/chosen_variation = preferences.read_preference(/datum/preference/choiced/tail_variation) if(chosen_variation == CAT) @@ -194,7 +194,7 @@ /datum/preference/choiced/dog_tail/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE var/chosen_variation = preferences.read_preference(/datum/preference/choiced/tail_variation) if(chosen_variation == DOG) @@ -227,7 +227,7 @@ /datum/preference/choiced/fox_tail/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE var/chosen_variation = preferences.read_preference(/datum/preference/choiced/tail_variation) if(chosen_variation == FOX) @@ -260,7 +260,7 @@ /datum/preference/choiced/bunny_tail/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE var/chosen_variation = preferences.read_preference(/datum/preference/choiced/tail_variation) if(chosen_variation == BUNNY) @@ -293,7 +293,7 @@ /datum/preference/choiced/mouse_tail/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE var/chosen_variation = preferences.read_preference(/datum/preference/choiced/tail_variation) if(chosen_variation == MOUSE) @@ -326,7 +326,7 @@ /datum/preference/choiced/bird_tail/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE var/chosen_variation = preferences.read_preference(/datum/preference/choiced/tail_variation) if(chosen_variation == BIRD) @@ -354,7 +354,7 @@ /datum/preference/choiced/monkey_tail/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE var/chosen_variation = preferences.read_preference(/datum/preference/choiced/tail_variation) if(chosen_variation == MONKEY) @@ -386,7 +386,7 @@ /datum/preference/choiced/deer_tail/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE var/chosen_variation = preferences.read_preference(/datum/preference/choiced/tail_variation) if(chosen_variation == DEER) @@ -419,7 +419,7 @@ /datum/preference/choiced/fish_tail/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE var/chosen_variation = preferences.read_preference(/datum/preference/choiced/tail_variation) if(chosen_variation == FISH) @@ -452,7 +452,7 @@ /datum/preference/choiced/bug_tail/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE var/chosen_variation = preferences.read_preference(/datum/preference/choiced/tail_variation) if(chosen_variation == BUG) @@ -485,7 +485,7 @@ /datum/preference/choiced/synth_tail/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE var/chosen_variation = preferences.read_preference(/datum/preference/choiced/tail_variation) if(chosen_variation == CYBERNETIC) @@ -518,7 +518,7 @@ /datum/preference/choiced/humanoid_tail/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE var/chosen_variation = preferences.read_preference(/datum/preference/choiced/tail_variation) if(chosen_variation == HUMANOID) @@ -551,7 +551,7 @@ /datum/preference/choiced/alien_tail/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE var/chosen_variation = preferences.read_preference(/datum/preference/choiced/tail_variation) if(chosen_variation == ALIEN) @@ -569,7 +569,7 @@ var/datum/sprite_accessory/chosen_tail = SSaccessories.tails_list_alien[value] return generate_back_icon(chosen_tail, "tail") -// Teshari - the only tail choice available to tesh +// Teshari /datum/preference/choiced/teshari_tail savefile_key = "feature_teshari_tail" savefile_identifier = PREFERENCE_CHARACTER @@ -577,6 +577,7 @@ relevant_external_organ = null should_generate_icons = TRUE main_feature_name = "Tail" + priority = PREFERENCE_PRIORITY_SPECIES + 0.1 /datum/preference/choiced/teshari_tail/init_possible_values() return assoc_to_keys_features(SSaccessories.tails_list_teshari) @@ -584,10 +585,8 @@ /datum/preference/choiced/teshari_tail/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if (ispath(species, /datum/species/teshari)) - return TRUE - if(species.type in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE var/chosen_variation = preferences.read_preference(/datum/preference/choiced/tail_variation) @@ -595,12 +594,18 @@ return TRUE return FALSE +/datum/preference/choiced/teshari_tail/species_can_access_mutant_customization(species_typepath) + if (ispath(species_typepath, /datum/species/teshari)) + return TRUE + return ..() + /datum/preference/choiced/teshari_tail/create_default_value() return /datum/sprite_accessory/tails/alien/none::name /datum/preference/choiced/teshari_tail/apply_to_human(mob/living/carbon/human/target, value) - if(target.dna.tail_type == ALIEN || isteshari(target)) + if(target.dna.tail_type == TESHARI) target.dna.features[FEATURE_TAIL_OTHER] = value + target.regenerate_organs() /datum/preference/choiced/teshari_tail/icon_for(value) var/datum/sprite_accessory/chosen_tail = SSaccessories.tails_list_teshari[value] diff --git a/modular_doppler/modular_customization/preferences/taur.dm b/modular_doppler/modular_customization/preferences/taur.dm index aa083382a80e0e..09e7f64a7e4a3e 100644 --- a/modular_doppler/modular_customization/preferences/taur.dm +++ b/modular_doppler/modular_customization/preferences/taur.dm @@ -10,7 +10,7 @@ // dna is a string /datum/species/regenerate_organs(mob/living/carbon/target, datum/species/old_species, replace_current = TRUE, list/excluded_zones, visual_only = FALSE, replace_missing = TRUE) . = ..() - if(target.dna.features[FEATURE_TAUR] && !(type in GLOB.species_blacklist_no_mutant)) + if(target.dna.features[FEATURE_TAUR] && can_regenerate_mutant_feature(FEATURE_TAUR)) if(target.dna.features[FEATURE_TAUR] != /datum/sprite_accessory/taur/none::name && target.dna.features[FEATURE_TAUR] != /datum/sprite_accessory/blank::name) var/obj/item/organ/taur_body/body_to_use = /obj/item/organ/taur_body var/datum/sprite_accessory/taur/accessory = SSaccessories.taur_list[target.dna.features[FEATURE_TAUR]] @@ -41,7 +41,7 @@ /datum/preference/toggle/taur/is_accessible(datum/preferences/preferences) . = ..() var/species = preferences.read_preference(/datum/preference/choiced/species) - if(species in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE return TRUE @@ -89,7 +89,7 @@ return FALSE var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE var/has_taur = preferences.read_preference(/datum/preference/toggle/taur) if(has_taur == TRUE) diff --git a/modular_doppler/modular_customization/preferences/wings.dm b/modular_doppler/modular_customization/preferences/wings.dm index 7b190ee9e1b0c5..b3dfbf1e145eb5 100644 --- a/modular_doppler/modular_customization/preferences/wings.dm +++ b/modular_doppler/modular_customization/preferences/wings.dm @@ -17,14 +17,14 @@ if(!ishuman(target)) return - if(target.dna.features[FEATURE_MOTH_WINGS] && !(type in GLOB.species_blacklist_no_mutant)) + if(target.dna.features[FEATURE_MOTH_WINGS] && can_regenerate_mutant_feature(FEATURE_MOTH_WINGS)) if(target.dna.wing_type == NO_VARIATION) return . if((target.dna.features[FEATURE_MOTH_WINGS] != /datum/sprite_accessory/moth_wings/none::name && target.dna.features["moth_wings"] != /datum/sprite_accessory/blank::name)) var/obj/item/organ/replacement = SSwardrobe.provide_type(/obj/item/organ/wings/moth) replacement.Insert(target, special = TRUE, movement_flags = DELETE_IF_REPLACED) return . - if(target.dna.features[FEATURE_WINGS] && !(type in GLOB.species_blacklist_no_mutant)) + if(target.dna.features[FEATURE_WINGS] && can_regenerate_mutant_feature(FEATURE_WINGS)) if(target.dna.features[FEATURE_WINGS] != /datum/sprite_accessory/wings_more/none::name && target.dna.features["wings"] != /datum/sprite_accessory/blank::name) var/obj/item/organ/replacement = SSwardrobe.provide_type(/obj/item/organ/wings/more) replacement.Insert(target, special = TRUE, movement_flags = DELETE_IF_REPLACED) @@ -63,7 +63,7 @@ /datum/preference/choiced/wing_variation/is_accessible(datum/preferences/preferences) . = ..() var/species = preferences.read_preference(/datum/preference/choiced/species) - if(species in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE return TRUE @@ -79,7 +79,7 @@ /datum/preference/choiced/wings/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE var/chosen_variation = preferences.read_preference(/datum/preference/choiced/wing_variation) if(chosen_variation == "Wings") @@ -110,7 +110,7 @@ /datum/preference/choiced/moth_wings/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) - if(species.type in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE var/chosen_variation = preferences.read_preference(/datum/preference/choiced/wing_variation) if(chosen_variation == "Moth Wings") diff --git a/modular_doppler/modular_customization/tri_color/ears.dm b/modular_doppler/modular_customization/tri_color/ears.dm index 66089081bda938..b47363fee5da79 100644 --- a/modular_doppler/modular_customization/tri_color/ears.dm +++ b/modular_doppler/modular_customization/tri_color/ears.dm @@ -74,7 +74,6 @@ data[SUPPLEMENTAL_FEATURE_KEY] = /datum/preference/tri_color/ears_color::savefile_key return data - /// Ears colors! /datum/preference/tri_color/ears_color priority = PREFERENCE_PRIORITY_BODY_TYPE diff --git a/modular_doppler/modular_customization/tri_color/legs.dm b/modular_doppler/modular_customization/tri_color/legs.dm index b8929c5a5cc23d..80cbce6c2f396c 100644 --- a/modular_doppler/modular_customization/tri_color/legs.dm +++ b/modular_doppler/modular_customization/tri_color/legs.dm @@ -12,7 +12,7 @@ /datum/preference/toggle/default_legs_color/is_accessible(datum/preferences/preferences) . = ..() var/species = preferences.read_preference(/datum/preference/choiced/species) - if(species in GLOB.species_blacklist_no_mutant) + if (!species_can_access_mutant_customization(species)) return FALSE return TRUE diff --git a/modular_doppler/modular_species/_species.dm b/modular_doppler/modular_species/_species.dm index 6b6762927a1fa1..41b250e74425d3 100644 --- a/modular_doppler/modular_species/_species.dm +++ b/modular_doppler/modular_species/_species.dm @@ -159,3 +159,8 @@ if(.) if(dna && dna.species) dna.species.spec_revival(src) + +/datum/species/proc/can_regenerate_mutant_feature(feature_key) + if (type in GLOB.species_blacklist_no_mutant) + return FALSE + return TRUE diff --git a/modular_doppler/modular_species/species_types/teshari/food/drinks_recipes.dm b/modular_doppler/modular_species/species_types/teshari/food/drinks_recipes.dm new file mode 100644 index 00000000000000..bbcd9dbf2ecff9 --- /dev/null +++ b/modular_doppler/modular_species/species_types/teshari/food/drinks_recipes.dm @@ -0,0 +1,14 @@ +/datum/chemical_reaction/drink/shakiri_spritz + results = list(/datum/reagent/consumable/ethanol/shakiri_spritz = 3) + required_reagents = list(/datum/reagent/consumable/ethanol/shakiri = 1, /datum/reagent/consumable/sodawater = 1, /datum/reagent/consumable/orangejuice = 1) + mix_message = "The liquids combine to create a pleasant orange mixture." + +/datum/chemical_reaction/drink/crimson_hurricane + results = list(/datum/reagent/consumable/ethanol/crimson_hurricane = 5) + required_reagents = list(/datum/reagent/consumable/ethanol/shakiri = 1, /datum/reagent/consumable/ethanol/rum = 2, /datum/reagent/consumable/grenadine = 1, /datum/reagent/consumable/limejuice = 1) + mix_message = "The mixture develops into a rich red color." + +/datum/chemical_reaction/drink/shakiri_rogers + results = list(/datum/reagent/consumable/ethanol/shakiri_rogers = 10) + required_reagents = list(/datum/reagent/consumable/ethanol/shakiri = 1, /datum/reagent/consumable/space_cola = 5, /datum/reagent/consumable/ice = 2) + mix_message = "Bubbles of carbonation rise and pop at the surface of the dark mixture." diff --git a/modular_doppler/modular_species/species_types/teshari/food/food_reagents.dm b/modular_doppler/modular_species/species_types/teshari/food/food_reagents.dm new file mode 100644 index 00000000000000..2bf3625faa402f --- /dev/null +++ b/modular_doppler/modular_species/species_types/teshari/food/food_reagents.dm @@ -0,0 +1,34 @@ +/datum/reagent/consumable/piru_flour + name = "Piru Flour" + description = "Flour made from ground piru fronds, it seems to clump together with itself." + nutriment_factor = 4 * REAGENTS_METABOLISM + color = "#c499bc" + taste_description = "chalky, sweet flour" + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + +/datum/reagent/consumable/kiri_jelly + name = "Kiri Jelly" + description = "Sticky, sweet jelly from ground kiri fruits. It almost seems to sparkle by itself." + nutriment_factor = 10 * REAGENTS_METABOLISM + color = "#993c5c" + taste_mult = 2 + taste_description = "ultra-sweet jelly" + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + +/datum/reagent/consumable/muli_juice + name = "Muli Juice" + description = "A pale-blue liquid contained inside muli pods. Widely used in teshari cuisine." + nutriment_factor = 4 * REAGENTS_METABOLISM + color = "#6f83a6" + taste_mult = 2 + taste_description = "mintyness" + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + +/datum/reagent/consumable/nakati_spice + name = "Nakati Spice" + description = "A coarse brown powder ground from nakati bark which serves as a staple in teshari cooking. The aroma is delightful, but extremely potent." + nutriment_factor = 2 * REAGENTS_METABOLISM + color = "#735c45" + taste_mult = 3 + taste_description = "potent seasoning" + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED diff --git a/modular_doppler/modular_species/species_types/teshari/food/kiri.dm b/modular_doppler/modular_species/species_types/teshari/food/kiri.dm new file mode 100644 index 00000000000000..d851f4c4cf225d --- /dev/null +++ b/modular_doppler/modular_species/species_types/teshari/food/kiri.dm @@ -0,0 +1,30 @@ +// Kiri +/obj/item/seeds/kiri + name = "pack of kiri starters" + desc = "This bacterial colony forms into kiri fruits." + icon = 'modular_doppler/modular_species/species_types/teshari/icons/hydroponics/seeds.dmi' + icon_state = "seed-kiri" + species = "kiri" + plantname = "Kiri Colony" + product = /obj/item/food/grown/kiri + growing_icon = 'modular_doppler/modular_species/species_types/teshari/icons/hydroponics/growing.dmi' + icon_grow = "kiri-grow" + icon_dead = "kiri-dead" + lifespan = 60 + endurance = 50 + growthstages = 4 + reagents_add = list(/datum/reagent/consumable/kiri_jelly = 0.04, /datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.1) + +/obj/item/food/grown/kiri + seed = /obj/item/seeds/kiri + name = "kiri fruit" + desc = "A bizarre egg-shaped fruit, striped with a vivid pink and yellow color. It feels somewhat firm, but the entire thing is edible. Contains an ultra-sweet jelly typically used in teshari cuisine, or it can be baked by itself for a delightful treat." + icon = 'modular_doppler/modular_species/species_types/teshari/icons/hydroponics/harvest.dmi' + icon_state = "kiri" + foodtypes = FRUIT | SUGAR + grind_results = list(/datum/reagent/consumable/kiri_jelly = 0.1) + distill_reagent = /datum/reagent/consumable/ethanol/shakiri + tastes = list("ultra-sweet jelly" = 1) + +/obj/item/food/grown/kiri/make_bakeable() + AddComponent(/datum/component/bakeable, /obj/item/food/baked_kiri, rand(15 SECONDS, 25 SECONDS), TRUE, TRUE) diff --git a/modular_doppler/modular_species/species_types/teshari/food/muli.dm b/modular_doppler/modular_species/species_types/teshari/food/muli.dm new file mode 100644 index 00000000000000..b66d93f77ea2ad --- /dev/null +++ b/modular_doppler/modular_species/species_types/teshari/food/muli.dm @@ -0,0 +1,30 @@ +// Muli +/obj/item/seeds/muli + name = "pack of muli starters" + desc = "This bacterial colony forms into muli pods." + icon = 'modular_doppler/modular_species/species_types/teshari/icons/hydroponics/seeds.dmi' + icon_state = "seed-muli" + species = "muli" + plantname = "Muli Colony" + product = /obj/item/food/grown/muli + growing_icon = 'modular_doppler/modular_species/species_types/teshari/icons/hydroponics/growing.dmi' + icon_grow = "muli-grow" + icon_dead = "muli-dead" + lifespan = 60 + endurance = 50 + growthstages = 4 + reagents_add = list(/datum/reagent/consumable/muli_juice = 0.1, /datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.1) + +/obj/item/food/grown/muli + seed = /obj/item/seeds/muli + name = "muli pod" + desc = "A soft, oval-shaped pod. Contains a minty pale-blue juice used for many applications in teshari cuisine." + icon = 'modular_doppler/modular_species/species_types/teshari/icons/hydroponics/harvest.dmi' + icon_state = "muli" + foodtypes = VEGETABLES + juice_typepath = /datum/reagent/consumable/muli_juice + grind_results = list(/datum/reagent/consumable/muli_juice = 0.1) + tastes = list("mint and savory sweetness" = 1) + +/obj/item/food/grown/muli/make_bakeable() + AddComponent(/datum/component/bakeable, /obj/item/food/baked_muli, rand(15 SECONDS, 25 SECONDS), TRUE, TRUE) diff --git a/modular_doppler/modular_species/species_types/teshari/food/nakati.dm b/modular_doppler/modular_species/species_types/teshari/food/nakati.dm new file mode 100644 index 00000000000000..ed7b9a0588c944 --- /dev/null +++ b/modular_doppler/modular_species/species_types/teshari/food/nakati.dm @@ -0,0 +1,27 @@ +// Nakati +/obj/item/seeds/nakati + name = "pack of nakati starters" + desc = "This bacterial colony forms into bioluminescent nakati growths." + icon = 'modular_doppler/modular_species/species_types/teshari/icons/hydroponics/seeds.dmi' + icon_state = "seed-nakati" + species = "nakati" + plantname = "Nakati Colony" + product = /obj/item/food/grown/nakati + growing_icon = 'modular_doppler/modular_species/species_types/teshari/icons/hydroponics/growing.dmi' + icon_grow = "nakati-grow" + icon_dead = "nakati-dead" + genes = list(/datum/plant_gene/trait/repeated_harvest) + lifespan = 60 + endurance = 50 + growthstages = 4 + reagents_add = list(/datum/reagent/consumable/nakati_spice = 0.25) + +/obj/item/food/grown/nakati + seed = /obj/item/seeds/nakati + name = "nakati bark" + desc = "A segment of fragrant brown 'bark' from a nakati growth, grinds into a zesty spice widely used in teshari cooking." + icon = 'modular_doppler/modular_species/species_types/teshari/icons/hydroponics/harvest.dmi' + icon_state = "nakati" + foodtypes = VEGETABLES + grind_results = list(/datum/reagent/consumable/nakati_spice = 0) + tastes = list("overwhelming spicyness" = 1) diff --git a/modular_doppler/modular_species/species_types/teshari/food/piru.dm b/modular_doppler/modular_species/species_types/teshari/food/piru.dm new file mode 100644 index 00000000000000..f816f76a88035f --- /dev/null +++ b/modular_doppler/modular_species/species_types/teshari/food/piru.dm @@ -0,0 +1,27 @@ +// Piru +/obj/item/seeds/piru + name = "pack of piru starters" + desc = "This bacterial colony forms into piru fronds." + icon = 'modular_doppler/modular_species/species_types/teshari/icons/hydroponics/seeds.dmi' + icon_state = "seed-piru" + species = "piru" + plantname = "Piru Colony" + product = /obj/item/food/grown/piru + genes = list(/datum/plant_gene/trait/repeated_harvest) + growing_icon = 'modular_doppler/modular_species/species_types/teshari/icons/hydroponics/growing.dmi' + icon_grow = "piru-grow" + icon_dead = "piru-dead" + lifespan = 60 + endurance = 50 + growthstages = 4 + reagents_add = list(/datum/reagent/consumable/piru_flour = 0.25) + +/obj/item/food/grown/piru + seed = /obj/item/seeds/piru + name = "piru frond" + desc = "A delicate frond of piru, resembling strands of silk more than leaves. grinds down into piru flour used in teshari cuisine." + icon = 'modular_doppler/modular_species/species_types/teshari/icons/hydroponics/harvest.dmi' + icon_state = "piru" + foodtypes = VEGETABLES + grind_results = list(/datum/reagent/consumable/piru_flour = 0) + tastes = list("chalky dryness" = 1) diff --git a/modular_doppler/modular_species/species_types/teshari/food/teshari_food.dm b/modular_doppler/modular_species/species_types/teshari/food/teshari_food.dm new file mode 100644 index 00000000000000..8e600acd8e845f --- /dev/null +++ b/modular_doppler/modular_species/species_types/teshari/food/teshari_food.dm @@ -0,0 +1,312 @@ + +/datum/crafting_recipe/food/teshari + category = CAT_TESHARI + +/obj/item/food/piru_dough + name = "piru dough" + desc = "A coarse, stretchy dough made from piru flour and muli juice in a striking purple color, acting as the basis for most teshari cuisine. Puffs up dramatically when grilled or baked." + icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' + icon_state = "piru_dough" + food_reagents = list(/datum/reagent/consumable/nutriment = 6) + w_class = WEIGHT_CLASS_SMALL + tastes = list("minty dough" = 1) + foodtypes = VEGETABLES + crafting_complexity = FOOD_COMPLEXITY_1 + +/obj/item/food/piru_dough/make_processable() + AddElement(/datum/element/processable, TOOL_ROLLINGPIN, /obj/item/food/flat_piru_dough, 1, 3 SECONDS, table_required = TRUE, screentip_verb = "Flatten") + +/obj/item/food/piru_dough/make_grillable() + AddComponent(/datum/component/grillable, /obj/item/food/piru_loaf, rand(15 SECONDS, 25 SECONDS), TRUE, TRUE) + +/obj/item/food/piru_dough/make_bakeable() + AddComponent(/datum/component/bakeable, /obj/item/food/piru_loaf, rand(15 SECONDS, 25 SECONDS), TRUE, TRUE) + +/obj/item/food/piru_loaf + name = "piru loaf" + desc = "A loaf of soft piru bread in a striking dark purple color, ready to be cut into slices. It's surprisingly stretchy, and smells quite minty." + icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' + icon_state = "piru_loaf" + food_reagents = list(/datum/reagent/consumable/nutriment = 20) + tastes = list("minty bread" = 1) + foodtypes = VEGETABLES + w_class = WEIGHT_CLASS_SMALL + crafting_complexity = FOOD_COMPLEXITY_2 + +/obj/item/food/piru_loaf/make_processable() + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/breadslice/piru, 4, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice") + +/obj/item/food/breadslice/piru + name = "piru bread slice" + desc = "A slice of stretchy piru bread." + icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' + icon_state = "piru_bread_slice" + food_reagents = list(/datum/reagent/consumable/nutriment = 5) + tastes = list("minty bread" = 1) + foodtypes = VEGETABLES + crafting_complexity = FOOD_COMPLEXITY_2 + +/obj/item/food/flat_piru_dough + name = "flattened piru dough" + desc = "Flattened piru dough, can be cooked on a griddle or sliced into pasta." + icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' + icon_state = "flat_piru_dough" + food_reagents = list(/datum/reagent/consumable/nutriment = 6) + tastes = list("minty dough" = 1) + foodtypes = VEGETABLES + crafting_complexity = FOOD_COMPLEXITY_1 + +/obj/item/food/flat_piru_dough/make_processable() + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/piru_pasta, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice") + +/obj/item/food/flat_piru_dough/make_grillable() + AddComponent(/datum/component/grillable, /obj/item/food/grilled_piru_flatbread, rand(15 SECONDS, 25 SECONDS), TRUE, TRUE) + +/obj/item/food/flat_piru_dough/make_bakeable() + AddComponent(/datum/component/bakeable, /obj/item/food/grilled_piru_flatbread, rand(15 SECONDS, 25 SECONDS), TRUE, TRUE) + +/obj/item/food/grilled_piru_flatbread + name = "grilled piru flatbread" + desc = "Crispy, grilled piru flatbread. No longer as stretchy, but it smells absolutely amazing." + icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' + icon_state = "grilled_piru_flatbread" + food_reagents = list(/datum/reagent/consumable/nutriment = 8) + tastes = list("minty flatbread" = 1) + foodtypes = VEGETABLES + crafting_complexity = FOOD_COMPLEXITY_2 + +/obj/item/food/piru_pasta + name = "piru pasta" + desc = "Thick-cut segments of piru dough formed into chewy pasta." + icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' + icon_state = "piru_pasta" + food_reagents = list(/datum/reagent/consumable/nutriment = 4) + w_class = WEIGHT_CLASS_SMALL + tastes = list("minty pasta" = 1) + foodtypes = VEGETABLES + crafting_complexity = FOOD_COMPLEXITY_2 + +/obj/item/food/baked_kiri + name = "baked kiri fruit" + desc = "A kiri fruit baked in an oven, causing the jelly inside to caramelize into a jelly donut-like crispy treat. Try not to get addicted." + icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' + icon_state = "baked_kiri" + food_reagents = list( + /datum/reagent/consumable/nutriment = 6, + /datum/reagent/consumable/kiri_jelly = 6 + ) + w_class = WEIGHT_CLASS_SMALL + tastes = list("crispy sweetness" = 1, "caramelized jelly" = 1) + foodtypes = FRUIT | SUGAR + crafting_complexity = FOOD_COMPLEXITY_2 + +/obj/item/food/baked_muli + name = "baked muli pod" + desc = "A muli pod baked in an oven, causing the minty liquid inside to condense and the exterior to soften, giving the vegetable a hard-boiled egg consistency. Remarkably tasty and healthy!" + icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' + icon_state = "baked_muli" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/consumable/nutriment/vitamin = 4, + /datum/reagent/consumable/muli_juice = 4 + ) + w_class = WEIGHT_CLASS_SMALL + tastes = list("zesty mintyness" = 1) + foodtypes = VEGETABLES + crafting_complexity = FOOD_COMPLEXITY_2 + +/obj/item/food/spiced_jerky + name = "spiced jerky" + desc = "A segment of meat seasoned with nakati spice and dehydrated. Makes for a tasty, chewy snack." + icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' + icon_state = "spiced_jerky" + food_reagents = list( + /datum/reagent/consumable/nutriment = 8, + /datum/reagent/consumable/nutriment/protein = 6 + ) + w_class = WEIGHT_CLASS_SMALL + tastes = list("tough, spicy jerky" = 1) + foodtypes = MEAT + crafting_complexity = FOOD_COMPLEXITY_2 + custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT) + +/obj/item/food/sirisai_wrap + name = "sirisai wrap" + desc = "Meat and cabbage seasoned with nakati spice and wrapped tightly in flattened piru bread. Simple, light, delicious." + icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' + icon_state = "sirisai_wrap" + food_reagents = list( + /datum/reagent/consumable/nutriment = 8, + /datum/reagent/consumable/nutriment/protein = 6, + /datum/reagent/consumable/nutriment/vitamin = 6 + ) + w_class = WEIGHT_CLASS_SMALL + tastes = list("cooked cabbage" = 1, "spiced meat" = 1, "minty piru bread" = 1) + foodtypes = MEAT | VEGETABLES + crafting_complexity = FOOD_COMPLEXITY_4 + custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT) + +/obj/item/food/sweet_piru_noodles + name = "sweet piru noodles" + desc = "Piru pasta mixed in a bowl with chopped kiri fruit, muli pods, and carrots. It looks bizarre and seems kind of slimy, but the taste cannot be denied." + icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' + icon_state = "sweet_piru_noodles" + trash_type = /obj/item/reagent_containers/cup/bowl + food_reagents = list( + /datum/reagent/consumable/nutriment = 8, + /datum/reagent/consumable/kiri_jelly = 4, + /datum/reagent/consumable/muli_juice = 4, + /datum/reagent/consumable/nutriment/vitamin = 4 + ) + w_class = WEIGHT_CLASS_SMALL + tastes = list("minty piru noodles" = 1, "minty muli juice" = 1, "sugary kiri jelly" = 1, "baked carrots" = 1) + foodtypes = VEGETABLES | FRUIT | SUGAR + crafting_complexity = FOOD_COMPLEXITY_4 + +/obj/item/food/kiri_curry + name = "kiri curry" + desc = "Spiced meat mixed with finely sliced piru pasta and minced chili all drizzled in piru jelly sauce, just the perfect balance of spicy and sweet." + icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' + icon_state = "kiri_curry" + trash_type = /obj/item/reagent_containers/cup/bowl + food_reagents = list( + /datum/reagent/consumable/nutriment = 8, + /datum/reagent/consumable/nutriment/protein = 4, + /datum/reagent/consumable/kiri_jelly = 6, + /datum/reagent/consumable/nutriment/vitamin = 4 + ) + w_class = WEIGHT_CLASS_SMALL + tastes = list("heavily seasoned meat" = 1, "sweetened minty piru noodles" = 1, "zesty chilis" = 1) + foodtypes = VEGETABLES | FRUIT | SUGAR | MEAT + crafting_complexity = FOOD_COMPLEXITY_5 + custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT) + +/obj/item/food/sirisai_flatbread + name = "sirisai flatbread" + desc = "Piru flatbread grilled until crispy and topped with meat, chopped muli pods, and tomato sauce. Looks similar to a pizza, but way more purple and blue. Can be sliced!" + icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' + icon_state = "sirisai_flatbread" + food_reagents = list( + /datum/reagent/consumable/nutriment = 24, + /datum/reagent/consumable/nutriment/protein = 16, + /datum/reagent/consumable/muli_juice = 12, + /datum/reagent/consumable/nutriment/vitamin = 16 + ) + w_class = WEIGHT_CLASS_SMALL + tastes = list("crispy minty flatbread" = 1, "minty muli pods" = 1, "tomato sauce" = 1, "tangy spice" = 1, "baked meat" = 1) + foodtypes = VEGETABLES | MEAT + crafting_complexity = FOOD_COMPLEXITY_4 + custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT * 3) + +/obj/item/food/sirisai_flatbread/make_processable() + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/sirisai_flatbread_slice, 4, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice") + +/obj/item/food/sirisai_flatbread_slice + name = "sirisai flatbread slice" + desc = "A slice of piru flatbread grilled until crispy and topped with meat, chopped muli pods, and tomato sauce. Looks similar to a slice of pizza, but way more purple and blue." + icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' + icon_state = "sirisai_flatbread_slice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 6, + /datum/reagent/consumable/nutriment/protein = 4, + /datum/reagent/consumable/muli_juice = 3, + /datum/reagent/consumable/nutriment/vitamin = 4 + ) + w_class = WEIGHT_CLASS_SMALL + tastes = list("crispy minty flatbread" = 1, "minty muli pods" = 1, "tomato sauce" = 1, "tangy spice" = 1, "baked meat" = 1) + foodtypes = VEGETABLES | MEAT + crafting_complexity = FOOD_COMPLEXITY_4 + custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT * 0.75) + +/obj/item/food/bluefeather_crisp + name = "bluefeather crisp" + desc = "A spiced cracker made of flattened, dried piru bread. The name comes from the blue stain often left on feathers when eaten with muli dip." + icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' + icon_state = "bluefeather_crisp" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/consumable/nutriment/vitamin = 2 + ) + w_class = WEIGHT_CLASS_SMALL + tastes = list("chewy crackers" = 1, "zesty spice" = 1, "pleasant mintyness" = 1) + foodtypes = VEGETABLES + crafting_complexity = FOOD_COMPLEXITY_3 + +/obj/item/food/bluefeather_crisps_and_dip + name = "bluefeather crisps and dip" + desc = "Bluefeather crisp crackers, now with dip made of muli juice and tomatoes. The name comes from the blue stain often left on feathers when dripped onto them." + icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' + icon_state = "bluefeather_crisps_and_dip" + food_reagents = list( + /datum/reagent/consumable/nutriment = 12, + /datum/reagent/consumable/muli_juice = 8, + /datum/reagent/consumable/nutriment/vitamin = 6 + ) + w_class = WEIGHT_CLASS_SMALL + tastes = list("chewy crackers" = 1, "tangy dip" = 1, "pleasant mintyness" = 1) + foodtypes = VEGETABLES + crafting_complexity = FOOD_COMPLEXITY_4 + +/obj/item/food/stewed_muli + name = "stewed muli" + desc = "A simple stew of meat, carrots and cabbage all cooked in muli juice. For the growing teshari." + icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' + icon_state = "stewed_muli" + trash_type = /obj/item/reagent_containers/cup/bowl + food_reagents = list( + /datum/reagent/consumable/nutriment = 10, + /datum/reagent/consumable/nutriment/protein = 8, + /datum/reagent/consumable/nutriment/vitamin = 6, + /datum/reagent/consumable/muli_juice = 6 + ) + w_class = WEIGHT_CLASS_SMALL + tastes = list("hearty spiced meat" = 1, "baked carrots" = 1, "baked cabbage" = 1, "minty broth" = 1) + foodtypes = VEGETABLES | MEAT + crafting_complexity = FOOD_COMPLEXITY_5 + custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT * 2) + +/obj/item/food/stuffed_muli_pod + name = "stuffed muli pod" + desc = "A cooked muli pod, now stuffed with meat, minced kiri fruit, and chili. Chewy sweet and spicy all in one!" + icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' + icon_state = "stuffed_muli_pod" + food_reagents = list( + /datum/reagent/consumable/nutriment = 8, + /datum/reagent/consumable/nutriment/protein = 4, + /datum/reagent/consumable/nutriment/vitamin = 4, + /datum/reagent/consumable/muli_juice = 4 + ) + w_class = WEIGHT_CLASS_SMALL + tastes = list("spiced meat" = 1, "minty muli pod" = 1, "super-sweet kiri fruit" = 1, "chili" = 1) + foodtypes = VEGETABLES | FRUIT | MEAT | SUGAR + crafting_complexity = FOOD_COMPLEXITY_3 + custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT) + +/obj/item/food/caramel_jelly_toast + name = "caramel jelly toast" + desc = "A toasted slice of piru bread with a generous slathering of thick caramel and sweet kiri jelly. Is this supposed to be breakfast or desert?" + icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' + icon_state = "caramel_jelly_toast" + food_reagents = list( + /datum/reagent/consumable/nutriment = 8, + /datum/reagent/consumable/nutriment/vitamin = 6 + ) + w_class = WEIGHT_CLASS_SMALL + tastes = list("minty piru bread" = 1, "sweet caramel" = 1, "super-sweet kiri jelly" = 1) + foodtypes = VEGETABLES | FRUIT | SUGAR + crafting_complexity = FOOD_COMPLEXITY_4 + +/obj/item/food/kiri_jellypuff + name = "kiri jellypuff" + desc = "A piece of piru bread puffed and rolled into a thick disk, containing a kiri jelly and cream filling and sprinkled with piru flour. Just one will never be enough." + icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' + icon_state = "kiri_jellypuff" + food_reagents = list( + /datum/reagent/consumable/nutriment = 8, + /datum/reagent/consumable/nutriment/vitamin = 6, + /datum/reagent/consumable/kiri_jelly = 4 + ) + w_class = WEIGHT_CLASS_SMALL + tastes = list("puffed minty piru bread" = 1, "rich cream" = 1, "super-sweet kiri jelly" = 1) + foodtypes = VEGETABLES | FRUIT | SUGAR + crafting_complexity = FOOD_COMPLEXITY_4 diff --git a/modular_doppler/modular_species/species_types/teshari/food/teshari_recipes.dm b/modular_doppler/modular_species/species_types/teshari/food/teshari_recipes.dm new file mode 100644 index 00000000000000..bb048e7767f85d --- /dev/null +++ b/modular_doppler/modular_species/species_types/teshari/food/teshari_recipes.dm @@ -0,0 +1,139 @@ +/datum/crafting_recipe/food/reaction/piru_dough + reaction = /datum/chemical_reaction/food/piru_dough + result = /obj/item/food/piru_dough + category = CAT_TESHARI + +/datum/chemical_reaction/food/piru_dough + required_reagents = list( + /datum/reagent/consumable/piru_flour = 15, + /datum/reagent/consumable/muli_juice = 10, + ) + mix_message = "The ingredients form a dough." + reaction_flags = REACTION_INSTANT + resulting_food_path = /obj/item/food/piru_dough + +/datum/crafting_recipe/food/spiced_jerky + name = "Spiced Jerky" + reqs = list( + /obj/item/food/meat/cutlet = 1, + /datum/reagent/consumable/nakati_spice = 2, + ) + result = /obj/item/food/spiced_jerky + category = CAT_TESHARI + +/datum/crafting_recipe/food/sirisai_wrap + name = "Sirisai Wrap" + reqs = list( + /obj/item/food/breadslice/piru = 1, + /obj/item/food/meat/cutlet = 1, + /obj/item/food/grown/cabbage = 1, + /datum/reagent/consumable/nakati_spice = 5, + ) + result = /obj/item/food/sirisai_wrap + category = CAT_TESHARI + +/datum/crafting_recipe/food/sweet_piru_noodles + name = "Sweet Piru Noodles" + reqs = list( + /obj/item/reagent_containers/cup/bowl = 1, + /obj/item/food/piru_pasta = 1, + /obj/item/food/grown/kiri = 1, + /obj/item/food/grown/muli = 1, + /obj/item/food/grown/carrot = 1, + ) + result = /obj/item/food/sweet_piru_noodles + category = CAT_TESHARI + +/datum/crafting_recipe/food/kiri_curry + added_foodtypes = FRUIT | SUGAR + name = "Kiri Curry" + reqs = list( + /obj/item/reagent_containers/cup/bowl = 1, + /obj/item/food/piru_pasta = 1, + /obj/item/food/meat/cutlet = 1, + /obj/item/food/grown/chili = 1, + /datum/reagent/consumable/nakati_spice = 5, + /datum/reagent/consumable/kiri_jelly = 5, + ) + result = /obj/item/food/kiri_curry + category = CAT_TESHARI + +/datum/crafting_recipe/food/sirisai_flatbread + name = "Sirisai Flatbread" + reqs = list( + /obj/item/food/grilled_piru_flatbread = 1, + /obj/item/food/meat/cutlet = 3, + /obj/item/food/grown/muli = 1, + /obj/item/food/grown/tomato = 1, + /datum/reagent/consumable/nakati_spice = 5, + ) + result = /obj/item/food/sirisai_flatbread + category = CAT_TESHARI + +/datum/crafting_recipe/food/bluefeather_crisp + name = "Bluefeather Crisp" + reqs = list( + /obj/item/food/breadslice/piru = 1, + /datum/reagent/consumable/nakati_spice = 2, + ) + result = /obj/item/food/bluefeather_crisp + category = CAT_TESHARI + +/datum/crafting_recipe/food/stewed_muli + name = "Stewed Muli" + reqs = list( + /obj/item/reagent_containers/cup/bowl = 1, + /datum/reagent/consumable/muli_juice = 10, + /obj/item/food/meat/cutlet = 2, + /obj/item/food/grown/cabbage = 1, + /obj/item/food/grown/carrot = 1, + /datum/reagent/consumable/nakati_spice = 5, + ) + result = /obj/item/food/stewed_muli + category = CAT_TESHARI + +/datum/crafting_recipe/food/stuffed_muli_pod + name = "Stuffed Muli Pod" + reqs = list( + /obj/item/food/grown/muli = 1, + /obj/item/food/meat/cutlet = 1, + /obj/item/food/grown/kiri = 1, + /obj/item/food/grown/chili = 1, + /datum/reagent/consumable/nakati_spice = 2, + ) + result = /obj/item/food/stuffed_muli_pod + category = CAT_TESHARI + +/datum/crafting_recipe/food/caramel_jelly_toast + added_foodtypes = FRUIT | SUGAR + name = "Caramel-jelly Toast" + reqs = list( + /obj/item/food/breadslice/piru = 1, + /datum/reagent/consumable/kiri_jelly = 5, + /datum/reagent/consumable/caramel = 5, + ) + result = /obj/item/food/caramel_jelly_toast + category = CAT_TESHARI + +/datum/crafting_recipe/food/kiri_jellypuff + added_foodtypes = FRUIT | SUGAR + name = "Kiri Jellypuff" + reqs = list( + /obj/item/food/breadslice/piru = 1, + /datum/reagent/consumable/kiri_jelly = 5, + /datum/reagent/consumable/cream = 5, + /datum/reagent/consumable/piru_flour = 5, + ) + result = /obj/item/food/kiri_jellypuff + category = CAT_TESHARI + +/datum/crafting_recipe/food/bluefeather_crisps_and_dip + name = "Bluefeather Crisps and Dip" + reqs = list( + /obj/item/food/bluefeather_crisp = 2, + /datum/reagent/consumable/muli_juice = 5, + /obj/item/food/grown/tomato = 1, + /datum/reagent/consumable/nakati_spice = 5, + ) + result = /obj/item/food/bluefeather_crisps_and_dip + category = CAT_TESHARI diff --git a/modular_doppler/modular_species/species_types/teshari/icons/clothing/accessories.dmi b/modular_doppler/modular_species/species_types/teshari/icons/clothing/accessories.dmi index 878009dcffa740fa42a8af11a55822ca78d7b0c8..0f299e4d3beff33c95a5fbc055e32a15c765c778 100644 GIT binary patch literal 3523 zcmcInXHXN^8VwyqkRqU>p(vn4s!DIN2ul%=vM4PsRR|p<^nic`1QZmc%YqQ4gx(=i zgR~$JLP%)RArK(+lDs(c=FPm>*|$4yXMfzeZSKtd&UeoF?tN)uq|1K#;%NW?z^?bR zwkZHWCq!!iR%Y4?k91KDt-}SIKk(Of@^kQY_4ar5@&o_^GvkMw6WV0Xux!)^#j*x4 zvVhp=g_#4H=EMrByLIRHIW~8(ZC`Yna6@PqE^09Vs+cVm08>xXnA1|il}y}7DF}L< z8ty)-QLy}`!EW*%7w4tkhm2b?-bOcv1Ha3$r!RDI`h2z&e7Jrt|1%@~JJy{#789=2 zT%eL8RQCe(oPSdNdYbCWh{bu+`{Q?fFxK{NIr`&C+)s<9I=mCeC-E2U^RHPEWnl;qZMg3+Y$x@D3 zHW!W*tW+UoOf(XlVmp6h0K^mr(*e@?>F9-iiU4$T3IXI8StHK;8CP+eOalC#hP z&-CrNE|>v<9|5jf_tRAj&XI#^A=uJZp2^*{mO7Ct7j(Aa6L0sa^*D!hHy&}LZTGm4 z$^5>vXDlHlf@M(BWMB82E6tao6U*bM>~)O;Xwy#Y>eA8%wS;0|SgId*LPf+tG4sO{ z$M^P7TT~>hHPq{17SFuMG9)o#P}b6-uHZG4wqC9u=w2DtC~cIdn+Ws;x3)plI6)~w=7u^?N`KL^ zgIoA1K1K3k1|gn5lSG<2=;pxU@d5$Y0PK%OGB1=usg!heG5?6ZEHvr-z;lJSieT=| zEjGPdyL0l;fuLbXu%~ky#U%Ks$82LV&i16^zyfZ3=q4a8_FAgFf!P65=yLbTj1D?j%5*jdnakwpv?}B+4RreFP1jCQXgY zq9m8cfy=?47ZKSiD+eBSjs4Zm6Q5AZ3Pr1Q=mm{jkD6^IswWzus=}Pum$@1s=w0d$ zCn9dHpmOcBz;w9Y(v{Rl{nz#j`t%vElJNxIa^3E1B8D=z9_M$Mw~*+!E~LItm^$zz zPghZa`i)H$WAWT}=eU5Zj>W@rkWw%YmI^-MPG7B4ydS3Z#rHkuoSU{}bz833?80j6 z*Hm(6IX;9Hup4!(99;|wZ~Sco@sz_+Llu{`E1K9JW*2dajc9ws!4zwYg)I@@gz`o>rWU4nm6x+ zino-^u%Vo6IkUeQkP1NR&j7h%ts%nB1X<6G{IeaKK$9}Tj*XotK}yIa@kg9(D@A2> zBDc&#hXUt$gfv+tUqr6FL}VhBqazg&5$1ka0UF)g&t7Ht>k{~#K=gB&$cr$d_;>av zVDl6y+Z7A6%TWN>hMebtScN}@)J># z8U4WO>+u(FufRb`aGZ^N;n3ZfriIH_)ZQ zTw!WSbv330j8q>=rd?l1aT&v<-=jPf3lPS zeVMXI*bjvuQL}=kO8{H*Yk@I6zo0wwT`3Wri%ms-+ShdSlt>15o@ykrg*11g^5 zK9~y40)6DUhuyG<7vPU6$0;%WRUI6HRE_@cqb5T>7>#vlt z|2tk z^69CM#;J^As%m~^St5eGeCrRUypsp&o$G#@G1DI^pDdfPt6dte_rz6nu6(=|pAUq@ zq3f>{V76t`?8_C2FWEpqaxBQj@tGQ@=_eNh9HddXcXnzn8&nmD2y;%&Aa_I?pV+{A zLo|P+Uhuuuti!&<`G^MiZJImMy%yF4II?mAF8mO|KQc{Ar?0AW$l}Ln4K1Y@)CARt zF4w76FMsYH<(?mNt*TYTR!ZujoH`fM-js;OmP1Yt(xT(ay#j0^I+0dcO1*1vK6>;j zTw;kTQWcvX#H(5E`h3}yExyH-l06P~Y-}BsAF(0=Q(dLdXe-D`gxB85hpk0THSBAB z>1~ZQyYmOzGstZf1=PJkDfn-GyXR}kXcmzi2e15_`RxV>*tAz<99u&*%^s?7uz|^Ecsqw(9Jx!efgSxE*#_aij_pK5bH_Ru79KUy}veG z;6JiOwzkb8flkmJ$m{txXe4^ literal 4916 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 diff --git a/modular_doppler/modular_species/species_types/teshari/icons/clothing/belt.dmi b/modular_doppler/modular_species/species_types/teshari/icons/clothing/belt.dmi index c3ee69dd2a334bf0f859596c5ba371c3482ab381..02ed9bf8514a61518a0e3c1721d7ea11f10aa498 100644 GIT binary patch literal 7014 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 ZNsdwW=lf>x7W|zKC@ZML%H>Q#{trT0Z{h#| diff --git a/modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi b/modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi index 37a3374be47864ca2386455ade957841240cbe93..704d99f04291ec73ac0bbfdc0eb4a84b148b14be 100644 GIT binary patch literal 27799 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 HVaR^~269uy literal 50208 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 diff --git a/modular_doppler/modular_species/species_types/teshari/icons/clothing/mask.dmi b/modular_doppler/modular_species/species_types/teshari/icons/clothing/mask.dmi index f67ee50f1a11d2679c4f0d001556154b744f507a..b3e9575b1236d295a99d995f894e1a4c39062011 100644 GIT binary patch literal 12248 zcmchd2UJu4mhS^1MFdntl#WVKN<^eX02NUYP*9N?l_tF?AdnEGh>A23kQx;M=}3n_ zqM!*#2}&n~5CS44KnM^>Nb=(UzM1=G-pstU?wdQT71l~l@;m43^V{FO_h;|t*R9Nj z_DSpm002T)E?=|(0Jx_Ay!d%JpFoF@8Jss)BW~V#bkY5xYp_?~Bd-8|0N`<6QAWFe zr`&;PPsXVVH_LLxg@GcAjE~<3+G0YUXd({>^5|AkH@;QA?#ejcUv@`$dnIenuWz_5 zXcJId7P0%X-_|v8bY_Qg3akI>U2^*7X{`6jTM2~cA_vaA(A^f+nXO6C*T;q!WAku)!J@pG}4 zo>2H)u4r-O`itBvUyj~>qEwi7bpJ6lWnZ9jxbhjj-NkIVLO$=qWIQd>#g~=~w_cDe z&09>R$)_X$0P0t+Tr|D;IFF1MeC>2Af0g3=uG;_~9x~7Tm8PiphKDR!ts&sW{r=6{ z;2@q$Z5Hoir;7IT2b&)i^CZeuX=&2R_CKC4JNTx9uQNZhLQU@8Bx99iXS1RxIg1&Eq>kf3Gs4?HLVz3Y~Z_gboZddaZtIGL^ysFQe@hMSj_DjBgZ;WBcmW`hlmsN537QbuC1zQ}g;l!p9|q1o2q2FGHA!Hj1>>G_j|tISqzE zvx6+wo;Eqd+#)M#og}6`j75OIk-9DRb%8O>vPW^vPkOaO|uIZE_iDny=A;z z5u)zc=&M0OCs|ZxmDxzb1fnk_2p_X=^uvu1J%Md&=V!^?hqpjLz|W!Fgn}=dfT_*w!7ry@ARQHGA-b zV%4s>JKuiW!s)N2w=uG?N#VG>16kK}Yqy8e=x+0Q;`VssYkC0`*=y|!+V4uTQKj<3 zgatB%_)d_f?o!iMDU|4$sm2;`Ao=b3`1p{i(%Np%@KX(uP0)(+a_agn_8g0-@%(DB z0|*0-p{-{6x4Af=75%NWlF^$G z)%dM|$7Lt4H;z6R@v*`S9*uu)Wd-rS6ufx3oH^bg6nms=ekM@{TL0EB&D8~`-({%x zh%nRW09}qxt^eY=wy%`&{fpnP?<&=waEXNQi52R%QC)asDG4?AEOe zY1qSyTfdXopKXKbR5p|NSb}1MW>{TkH-53vXIHdPn^HgVYju@Dx_Ms*1w#XGwB}&hatw< ze(c)cnaVy(3zCQJv_dz4=_QrHAmxZW{~0cKY(twUdudTgkv}TabQewpCNuD~51* zyO6Z_S*kxnYOJ@kLSnMH0U+BoX&2EG8f>w31AQ4ZS;R3oB)8bT=YNoMbqq1&f?0I^ow_8 zON=wF`wP4{%=L22hdxpx2L+=7$XDGM2HzamPUPohR?E0|$D(a;!$Q@axwv_34T&AA zpz@+|Rn&BV*!JU;mX?+&sh~X+O3k!1!*M-p+DPAh0yVc;DrAq|W3=M7jKABWH1A%A zhq6J0>jPD=s;!H+lt##xd8fozAn4uMCn>nTq1NgHy@#7~BXPIQ!Z}%yfWnIvN@~RRM!E@i^c&b%N7|SlTZ`4N%MOnPH4~Cw? zh-(JH)U$O_!(}E%?6DgLH%7vUxkwpzre=IWYSgoez#|R)Bk1!xz-Lq%=SFsnCLttO8_^wj-w*(83>xt6lLRjepmVR`7NI<>)VUNN%i!_f+*lxI2J*wngd^{xbOW)C*wKnd7%l7= z=<>RT;*+6QIj3JKG3{>q>44i93q$JmSx^^lqOaC#?knmb)+WoR%?MUHw;7|=_|*n? z=JGn@VC89fsf1(AL+~@5ICBq&*HXHzeUIH;!F5FA~X?jU0AMBh=bJvL%$jwvq^U~J}>-#-ciM1ZxxMf$zq zasy^)SVyOG*M>y)1hEr~fq+O6v;Cpv_LRgsD;;0^<4zpMB=^K8Ls&~5pKDhVAzOK; z;_&l7#}_x6-nwt$!q#;WQ*HiTios0oJE5?r8|$@t>jP?f3^JaXuNO(v`emaDJfs@jLD*nG z1>JZ(@?Bsv4G*~GoOcFnr905^sUlU4?PL&o47X;z;^VMJ%r~-}dlTi6J}!R6xpc63 z>nnE)PHySEH|W!(H7a4RX|3CR`oiX|?(3k3x`%U|05`4S1-hfik01E(3lo0O``izg zpDbCXaF0I1Jkolll>|i&iikJc%y;=-iy5tq6srp`Mab<3zdk&<(I}bxbN(kGhp0k$ zEMx4`S{mt+UNFA!3JAV+Tc~kqT|rd< z42Ls{A2xx%6^Agcz4L_3m*u+vU)Xzk;$F2L(C~xGACC!mvRTPswd9tKKo!it2rGiZt#M+;sHON zHJzAP!4e*0wxn$lm{0eZ9@Y?8enJ2pNPhH(7xiGL5E%ch?#FYHG=Rx+}z znf!iPkbVrXujIj=qk!o9Xtv~`zo)zZAFBPIB+!3fah|xfqsjdzm6m=9^K#uytB&DW z8%&v;W}1DxF&Ms$ppqp6wlJ7nAdFeKm88t5pD0YCc1rzHPL9FQsMi?O^+TqqPz2tjXE-5M#U!ZS`%Sx= zCaaTnDOgL<&UkZ)aHf50xfZt)52NsvExT@;9aEs~q|{$<+5b~9+;qEnU&h2bWDs8d z^7+ez6zwytmng%toPV6`ANV1UTQ}b+yG!r~ULy5LYWb@+5vk*Lx>Y3S$_Z5DjiSyu zOF5uEEhfFOEAb1>PcCfO?l-dk2*+5Ote3FTm+WCXXE8$tj-c4zP_4P|(C3xCr#?{4 z4)2jmA(qP$fRD|q06w19Iw8Qyt7K~UrotwEUIr1WgEJo=i8#Tz3S-Vvi8e>sEf0V3 z*n0M#6BJiJXT&Fbj=kQ#nyuB7l`Ed9MwR@$0OV8TX9ai!BSC!_muLeokkm73u4((Y0rJ-)!=e%j{w*H4~x%Dp~|M%8Pu zijpWWU>s0F?=0n4vh))}kI0uXlQF!2w?l@kUFw(FMelTr?R_lU*8sq*9DGgePkpD? zr3BggAD4W8-?9I!6el$U=FoEXcP|LwX_wh!+)6JikMV>ta9>-tyi!HKjCy+?_cDKt z;eF99=-9Y>9U(LzKmVoN{N)*(bzTjwu-}+qhKNm>iYp?;-%z`8xybQ7e^F!(;IH}8w9M39c)fK zkY>SFijiwFFh69d9@w#jYys?2-kTNAe|}ON!e(8rLQmd;ms50f@NP68!_{j{^27Zf zZj;->6(L-=n;v;}J4HWW5UE%`rSCmSZ8Gs~Q&?lj7-Z*#%GEOVoRMBj*`j$Zl33Z~ z9|Aoz#~^HOM$2tmkE2T7&p;(KjRoWdWaZ_jRUo9xG1t-G+GXGWP6>n|9OC&|d3$vI zSDI;4cV{smkI}-my=o~2QA{7|bQrR5D<-9L|2bjtyFqV4d>T!Cc%|%CI!=D4!JO0| zP40a%y%muAksxwI3f03CcuD}i(bQ1SQy59J`YQhtl0LoqqcGvhYNE2wQ=iN59&=!h zCai@XW;a6&c?5Ne7Bl8<=D)J$L~UO^7G|;gJY=bNkg$E}$`rTNsvua_^m3B!MoV0k zqY~uF%z1$LsjwbA^vI3xb+QYI$22{2x`&6;rjj4ZxA`+8>hA9Z52wfj4s(|5YPqgF zye34Y_&Ko-3z@uIlbulxE)cF-el*&6u?adC4R5^s1?kHwq`zKof6o>9h;2q;V9llX3MOvfQqW zl+w{1&TIJaSMS}~uCz->?165D`abKk-Jujqmo*MXxZ+Dd8d2hbkT2Kr^@r76(JwUy zi!Bo?fU{#Zox|x9KY2OYsw4lGP!$=llwa05vC{T$i;F(LOI#o)r1z}LT|Qi8@2Lbl z|H&WUD$Ic38vSzZ>pYTLJTbzWMlJ29I~>4QM}o9gEDE+ytEil)2=(yaErCyEZoQ^& zgY%`>DdtWVXz*p2v1BY|o=FJe9HfG0SJK?1k42Ix=ET`^dopn{>)hL0TBCo^3izF5 zm}0KB-`P4(tkrOO$oPCZf?4-y!3F^(EU+H?j#OOsPw3W|8?(9KEl^6HxbZu}lZ0kx zyEzuz+a)(HrF_H?Hk$@yU{h>q410^8^Lq2rc%RZio|YtM`rDq$)R=nZ1nuoAwGijN z0FFF7aoUT}d9SRZQdbvue&n^zba%RvEspxDPqWZGMH|MZ!Qhtz(nUBLEIZ|~YvHqd zZ}EqnwpwN=To8mNH4Z!uX0s%p?+x9QTEnR_Rrh8A!g zR90H%k!c*Tr<~ef@Hoi-+hkV0pC;G-!*-3({CQoJnQ z9qvpRmrqW^Ap^t*xyl2%+E40P0+AJD+{t)(?-2C_WbYD#Dd#Y6p3T zUeI&*wvd_-Ptd+-X7zc(k6(}$Vz)xmeU9@1@C5QXQ{3bN+M3&UW*&1VJIaQ*6OqM) z8)e_?B@gK2?SG#&h1t-HwwYCn#;eXdDdGBAG62B0UPnNf_H_XlfXS(8&A-uB&Rr`% z2Cz3q?AMP~IWNju%reO%gP5A01=po<>H^1R#T_JAD{5V|5R@|Pqfy+t&OovLy)851 z11yg7KbGbKOiMPs{l^%@zuM;C;^2SmvAn&8;JCnyot>R{m#d$j-+6@Ew-^BL^#gg) zg|_>ll1+_sI8PAW@F0)rO$_gKxo?5o$+`D+xeDtw_VB&{$fveL7%xHQL#-o>@+*<#)Ejb`IItt+0|2Dt5pkn=C$^7e5wV(%Jsfhy_oSHZ;RIzRnf@1x|AcrPyxV?g`xe; zZ>+us`M6d=#S=g&j^HD8{mGtEXz6HKXMf)P9NIN)apzy2bn0-^+oe@29x(e`Bo6B@ zvYmIjZ@BPKX(XM1`tjxpZGO}|Xpu_Cyz*;Nk@0(89!g@TbW_;A1ti%L5P`Zdy||Eq zDOA%ClVN+>LBGE#V|P`j+#j0%6rqN`*|-V=?fKJu_#fS-HA*2NAx}aj0dL<74-N6y z7GGNkRL_8}YszkF4(koF9?C}>m2$-LKnEZd!3ixn&qb9cKIflfdmy@6m#OX?!dc5h zGF}h*^R_2m=x)px5rKPTZGg!q{hI0@zWCPRjm6=f4T(F$jVDLl2?hp@W-h3O=_u+Y zrv6}IMeZ?O;vqy=1k=Z78C#pd&s{4HxGwc{|FJ{8Ia)pEz#9hGJI}02&zC6{A z>)|o?Xq#(~%sG)EK0yX0N%j#lZ@2JwwMN;0apVJ-@XUr%=V>ciY-Dgz>9Xd?O1X7a z4`^q6qQU2c5HXzktJ|~PW2rdlmx)C>-fkSxR9XNjWsd(WvZyP=?mr4R5V@{U^7JWh z_&Gb)qTR24O4b-t#5W3W7={n=a6kJjL0I~9N?KgaP!={qM8@#J7J15@zDaha>1fGn z#6I1x$z;%)nmX!Au~{{M!%5kio*sD`d0xh?yxGpJKz$)u(4^t+7m=J}qEG*7$)pm} z2ubgS*7w$k!S47^S@lOnK3etX75W_@&f#q9nmhTvXZG-3KU{2?d*lyIu5d;)c4GhZ zkZxDpxyQlb(&K8E1$O3ovfz~MdAi>E33&T=S2MGCJo54KWyUrdXRu6qcOhZfRUQ7# z11G$*zZquMf(JeR9oP@&68#K#@icC2sMNMEHvs9S-unCf5GhB?=eQ6!Xi!Lp2NAm3 zxYYS{{}r;xs^iA*!n8(t!$ITV*=GxbCDsVIIg~3kszknB2&8Uu62RD4_CL)hT!Twu zh`c#bi8&!MRYP$#=QHBeC{?lsK^?wPk&adk*khkJQxsyV37b<}b+|nZDs6N`y5EkO z;lv?3yOgURcsCe25}FIFUAnRr)CJ~Vt5(hNnV@0+UEq~u_QUXG*nWo7c@vK|PP0jq zlP!MIyf3R1RcZiZK^|hH!ybLyoQ@UYwa8SZ{7epvoV`ImPyg(kdU2Sybl$r;=e*B| zvDb{**3M|aV_T+Hwu%SG1j)T|_=q7*LX9TgW2BX-8sdIr@giQF7?qU`Y?`EA_=|4` znEta$!2i49s4xAQ1FOHZg;ST0<2XJkFp2z~6BcUYI3ed3g!6}|&~M#3!EFy2dg02n z(YgQonMtNiC3vx(0Y-qedev#%_ckIRpi+W`@)l_M)2KX-HY*uVFE@TOd; zp-AZG5wCO~IHxhf115mPitVsdmrn2$6%S=<2CqFt9 z8cbDq&iNqdFJTMGuy>F2qeZ0k-3lPV+EnK+_-uml&JDSNJ4&j;%(5u1IXl@)cU=8&b4uU`d~cvS4F zu8}1TLMw#Ye5%_=+Qw-yH~B|_J6^|Mpj+3(#I;cFJ{FQ4ev8BHy}o13r(V$?h#~<8 zh>6igk)f9+Xba-T9r1xf4V^h6TDb-75yd0WbkTs~5Lu_~r%Q+fW8(+NN8>s%LGn@| zI38)*d3KE??dg!)=NfE?LbDGei&!sqi>5%rZ&mnN#s(oa4T#(Ablq|qPufB|wM z=;$r9W~Xpy4KEHBh=MNT3u$^$b!)R9=2rk+ts75LCwu? z85sa!T+O}MmcWg`xe>Hb>+&5Ja3N{o3Lr%gG1CLpIR3@wd3=yr;q1Exa zN|d7`;g%$9l&_=jGQsP?OSjzw5$Nheb91`O8CC>om2sr)M40Id=&phE=k7qkNzbZ7 zZG2l=IsWc=aw87NrTpZMQPgXDR5-#O5$b2EZ^r5$mA2&`a|WC{cWw-0tCW(<6?@v& zRFyGj;Tr!Ds=Z?NJ93S5a2T9*?*TqAIaJesLVM`^HAvKoCaK*FADaKq*ag&McSxR~+g{e4DwK_3S4K}v5zvVUigGL=KBQO31KvPf~C{+h6VHjHy zYA-Lz3;QDu9M?bT2Azo)Z3lCGmjn*Bimdc0Iixh^6c;Pj)!p;#u!EM)O+7M-+^kRZ zW%%ylKne@zrWHpgG+{VQUTX7b91tWW-qA9o{v99;4%&wNz?7=3%r1>UUAPK#heKx` zDgiiwA9Tf%$e3MN?1ENL0%l^XL`V^Kjg|x^zhn5ZgF}DKQMgkt5!x%HUP3U)b zn=Ov7#xfZWy}#6|aY&I->@7|UI-%3?(BES#2R~l!gSuf{wxjK=#Qpk)!?=XSROdI(X&C->64p zQE|DfzilH2cRM;Zcz&)*=eylTQw+2_xq9y0kv1cnfb9VqC@gqO);o8{+Ym;ZEE1B~ zB%Nguai2ilx6W|vD2RqrVd|JZy=c<$!C|YLKwfx*erJPuozTPwk@^CZho2o-hJ)3? zJ}An^S9`cjT# z1rRCDrprawLdLaTjza#gXT9bljbQ3hK}DK3@2dzbxH1 z&6wt!$_i?K{UL?z9EQ)_d^{`lIrwKtKomjgZiyEx(fQm5zUW?_Fceg7y_LhwibiRt zY^NW@rT*H^s>QLlZc}x96iXW2owqW|KDj33wxE`Yl?9x3wS!v)o4z1ugR6DU<6s6D*4bl0b1n2*s2WOVt-dD@3ri~Ox)e2426Uqx%nG= zaqf+6iIwHv_P?3Zt%8<|F<4g7^54ZI=NIe)A1m}l8*|uRdyv9`?|hAWqvK59?J3dR zR7kz(bCzFgv8Qlp&kxe0NQp41(~l!RxXg9!L&y|RTGvJ&b6PXFZ67>W>o)4;zIrqY zOo;lD*mHYqvuD2djAfst!j3{-`&7dqah1reiZ! z^cHNpY|#ECEEj@S_#4kV_5F|HUtj*;19JaTC;u}CLO5>uRypaY{_)hJn@d@(g6hq3 zsb=M@JiUk9_Un4QoTI;AXJzrZqLVdhyCO=5#W_P4{BEVCr4$#icPky~BPcM1MqfIS zc!@tDRtJ7Sy=P9=Xm{y@h0MdO0{aaE2Th6~L1lm=x)NQAyfz!@aif9!21$^Y2XBQkHiQu`{9F zC`=s5!Pj-Ta=YqA##F?T8qhD*q3}}DVhu2hZjX(g>kDIUj!N49w2nbu#{Y3SCj&R< zadc(Z3n)gbH1=Zzhew1(( zmyV{|+Mm4Ds(;#-A3uK7B~cA=*#48{fJ~jqKVCL5Vo1^YyDM71;KZIYtk$a`yYA@l z^_ZMJ<{UC~*KQ|nkLh?3pBvoz5IuVY>SZ)B;qOQ{rMqs3!SS-UEcF_fsC5kr-reJ& zr{kQrzk_5y6pSIEk=}5}Fyo#}Bbw7#kjCO9>hPz(92JXFw)X33T~@i}iV+4r&q;o{ z`3~loF_9U9MlFrLOe86#;LNkRTJ7KB=If9=aHq#zFE`qn9Q(cy*q*ZuMNc_iZG(%i z#?AvlTj?Y;XQ*Zg={r$>isb9K)s3wkUf`JVYS`jX>8}P4SJwQZ1a(ZQDYwW1e6^T8 zQjz#;=>nDYsS{a^56z;5K1fGqjT2O=E6#$EOPP1uNIu? zOsIE`tC#YjI2iOAt(KkEyo<%15WWn)NC~fzvh6s(qJ2|nQqRPLX@lE*Vm&uE_lv0| z+FPFCS2sl)eVq%=@|2Bg;g6A%Z_4SEUmltB9G3wu0q@}_!_u;K0vd$~|Khw;sArT( z(I!O>dk}|gqQycZyV=?Ia&mI7u2|^)q|qj+_~~K#lV8K`v9_%%mRNEjE11W$TeHN z=Cfmr*j1ravJ5`*C>+e~J&Aj;gdi8HnUg{A&ACMDvwO${6bx~|1%><(b*gf}4ULFm z(q}&r1i_`y-B|&|N*()8y?9{&zs^kP&RypGEZt^vZYxZksB)+qHnsrH)QNoTI5#Uf zGf{{a_CuoMDJdm3(y)`Ul#O_k>Z$f?5>M4P+_!+@(jD{h=K8cEB{)%1QC>Br zvH5E|H8?*aPga1e6L8?OHn1^E^Kj0f)t%0!;&p32OBl4hw!<0J)Xmeba%{egq^Qlq{k3-Gbjjs8p;f ze@YPmm{Bir95@6y6vI&tD{{J@{Yn19Rs~gza6*8qYoRj-35}?~`E4= zm;0OE5+ar=L*-Q`$@9vb*vc8C>1ZfYi?8B9xYz4+gXuLtu&m}l;DF*G0p#X>fU?7L qw?OYEQ!zG-Q!5Dl_f8J(!piPVcN{yYH3s1PT`{w|Satqx%>M$wg3xpT literal 13647 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 diff --git a/modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi b/modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi index 0de0607c737f4e4a6b05e0a972eb79ae1763b96e..e22555f558858ae133acc73b0cc78570171e66cd 100644 GIT binary patch literal 71319 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

iuyL@4i_{I4 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 OBPXr&vQ!f0_rCxG^DA=z literal 100854 zcmcG$bx<9_w?8;Ykl=v?_aH$61PM;?goNPkPLSZP!3iETxCeK4cMa|y+#N3W?%eNt zuj>7=Rllv;-Ksmov`o+Ru|DV1X9$)5DvkA=@0l+miKB@Ej5<6zl_@ENnaV=3osldN?HAL>_dZL+hv!<4z z6nVUtOQ+GVWPf5kcyXQW&&mDFHr8p*xNWCMUtZbjb~a_sUN~MkPAp#BP^`g(ae+0Nl9vy zx5$F%KP60?TYXNTliv9K`C5ALCE9_J1b#e(#fZCTF(FOGkSJakCcFCmeT=jwILLSB z_suDkW{o+^)%Wa7tu%$g-Aj`cC5a!5@W~1>WR4fscsq6l_+k_`84)N9CMnfAnU~eI zbCzeZQY|O8GiF{yboh#5jG!dj-gKdTM|zK7UPd1iaP4m8(r%xWZ+9NU02AAY|1pba zj5XG%*UJ!Dylkr;=z~r8aoeP0K-7--9sA}x^PVZmdHGvQoApfP&Z%`I$+{%Pr?d~4 z)1QBdrhIyL^e+1PXKdzy7K2`Qwm1GBPnIse^xm?7kwQ5V!<(4|C$0kFFoVLR-U)32 zY}DAMOtoB}a1B0uWF+Zxba4ipF1|C8SIQ@R4)OA;otbst{#4uugeNd1VDjRmdJJN! zP6%LHD9Qe$`(dHTh2;O0F_`Hs-f~v=iw)KXF^%Z8a8B@MG^JxS-8Wa8cb(Y+u7e64 zSS{O(@+-+-RT$PH2o_u{{H-I_yJ3(Cf3Pa=EsG**dR^)oaF?fCM($s>8Lho?adD&1N6cZ%AXd? zszcfMr4S-ptTy>>f5kj{@|@47e9Q}#ZHATg)i(PyIk-gOEVVnF6TNFJb~yw9D&UiZ zsIqJ7QJROg^2};q2J3rbeP4ryob2p`4661VpW&!VLKTdFme@33m}Y~B0GCdT{joa%5UM}YYan{okYjI7C9 z^3ZCQ_fKv$?#;no)u#sB8XtG-6#A>Hlxkd<5YB7C?il{DdA2)>+9XAK^L>wTl-3t+^<i}*y?HFmxn&flQEkcr6qJ@qy1DVySuM~YbQCD$Bl8hG zuDI%JO6!2}XPHe^FCu19_Qb>#JloLNS`BbMjEnHa_Bw_HX62IzL%q?kaHNd{*0Ub_ zMT@6kC;k^xQK$=}?^gmcsj#?6u2NccHSJc$hylxk-flSM}vVy|G zACu-1hK4jl!^0~SVnU^-MHC$rb^Q^f{eb>fUxb)9N}T%;zl6D5DsN0+KtN`84S}HT zg*7)fxAjSn?%S>YD6@@?je?Sr0M+7W08xb0nKh;7nP~A9+XBMu!PVc4rfbtcv+=Cm zh?O&uH}xAGiF%t*yREa0WEWyU@Mc8s{P1?osAI)tOHX4hyQBfxE{z|0a#p>a)_XJ= zOewmS^7ttj`>E%~J0&#vuRRwJ7Y&Pg*aBM{xKO%{Io$1Lw|DoCqf#rlFMDe-J*+Ov z71d8ynVgn&DRG)M^~Q;dJPq(W?fDk$F}6SkxO&VHD-Q1O&%#2*jY?yLnq4cSDZA!O z$BczLHMs}~X{7LdCHJF@R*POTvc54j8_(#M^|Eo+BH#AGU)^ixgydoX_ii(zb%nBt z>HLtEc3kuoG4d;)RlN{Wls@!Ago@xYOE1dK!k_gq6RZUIl*vO9fm9}FJKQ0D|6xT2 z$ODoH6a@tZ_LNbO`l54XItTzr%?8^IKgi;5PO~z8FFL{S%l^*JPBd)nz6QIkq(y4i z2gY;&U!r{obHd{k5XGjCY_$lp|n`L#i^>IJ;d*L80hSh*X;V&(n!?DkMR%Y#Pe$OcVM7H zx=Z2+U1b(Il*jCqsjLs#C9Dy5vEzn4EG&HgLfv?#OU<`Z8yXJfZQ*i`$D&@Nq^e%g;R>8JMA0JoeKSJTZ2NO=2lj5*K%nj zTCZ z+A)d42??8a+haUVNNG%VjklI4+q(a{sC61w>fanK6uf;aHJAI^QC3FG$&SNxJRK{x z*Dnv$iFy&w;Go-YAl_Z_<4qlqZgm9_`Odz*f(r(KBr1buP|EH}iSGvA22>Wu{X!%lb%>*&tUPzQiE@XI-aOX+Xwi>96WFf!BReGO z7K*+z`y}Q#2r_CE#;R5K(QG_DaL`z+T(>oI#-dXo12kT(?$>^U#$5~5W;>OQ76(zI z#XSsjy@)`KCTpAQe#E@{CvGn~(`pUq9VqU2#Kh<+qxt!{NIWT6F)=alI&urV-s_x0 zHp>(eWmVPe;np1hD4ux^{(wDu8$KpxX00dh#2Ew>-ybf^bWbe?LR0ax*$uZD6V(o8 z%RG!P0eSBSf+88_=(tB_Owmpv*M6PvPYBu-+gRuT&#FkAbrlB@=F5h|GFV{VDpW6# zN06*otu){(;SXOn;qKHZVU-=i_5A->HE0LG4$RwScLKP*}>twVKJ=pwH{_67Y#Q($(BVY}d4C0Q?Pi4UA!JC^C0Ej^AZ7H_CwT79IDwHCK(E{kbKRe5>e zyE|89Wn};m6BCn{m#6ZHSbSK4KIwU;*poxqm`TxqAQMVyaW9V+^3@R5lo_mcV11X= z7u1HNQByY`NlYK$Xv-VET&U`#Itsa8ndeWMukSMd+ik0=dJ!KVe};o;Rj2bhA|m4K z_7)Z3L#_`TZo})lT{|)2S7LoG-o>$ACNP;dem!4zM+ran{_eVCHXME>2nrB4E9wP1 zI#?1OEXmbX{uD?3&BugN+oyS#GXekZX29wHYxZz4{;R8*t1XH93e%kE}OtKQaG2bODXPm5yChiQcq zfx+GCW}PF1yBjBiIJ9D<;a}7E2lWztpkzyzqbEBjf9YVyuEj7p!E59xX;e{CJYS+x z3K4StP$3VPKm5qRPLl{%#j%zEK#SzMS;(;LO{TqXvvxyXXY=?qq|Jd<%Kus4PxrXQ zq=~#g*x*u9bZCDJX|VvcBQ}_v2DH#zS6op1H))j{cy&X}WwyCR{E z(X|+89fbqtn7@UwexH_$_bya_JQ4vypHMS5k2H+i+Ofs+<+{NRHDJHV4D2d33a@P! z%8)4C)c&tek3gGd18{AM|3bjIXX{cgz_`}1pCLmZJU&!up5H+TW9BPq4@T)dYi$wW z-G$xlR!?Us9sAR!9HJ=o>@FnU3V2s!t`WmaVq9S9yW(anEO&>66?2jrZf{*P}PJe&8 z0!5PLJiSN1{UgqhHB%eRL(>7xvWx;b=ZJ=UB1m1In*pxe;IghV=hA0h@uAof#{{j( zKtJ_BGyt_6T;=%!D0Rbme&7%2%)(js>(`5uA5#p zuj*i}VGx2X;_U!s@acUk8QYs5#vI~njrh2@fb2)KS6`BS14((h=K68kguT@p3~0d` zcmvq%wfi-i#gvTAZalR|)Mc5k)l$)AP+lX{ulmozd^=m;YU|o&^U80KDP77cSlzv! zfktVc-mDC7$48uP@Q*QAdEK<-lv_G_0wt4HO$Q z18oFz_)5Cb)0)_po8n3fSV&uB2kc;svHKLLUhkb}(d7HYTcXvj_~7P~C4M(4g}fg0 z!!GG=LRsZ&z<=C55q-+rCi6*}I_G1}LBq=Ry~&&cP$yMXUPe*~JrC>ktF@ey346tA zXb~>0a^ORp*Lm>~y*Rt8l8K3In3m3yI8Q+(gVXTtWBw#^m!^#aT6!#loT-q_@#OcAd4AOKmeQu(WcBP-_l1@lC+O8edHbheH;qu9a7-9c+D{6H(@%mHh{ zxoaCN2kqYo)1$ZuaiNd1I*gAZZ2J30n{gTR{dCDYs8XDMyf?T(+G2NKCJLu`k5WxZ z6znb{qMR6S2=5@6gMQw5k`ZUCw3d>$VySAl<#8AT#)Bw0#Npj3?>Dy_9e7*ZXr+XO zNb%FZ^n2K_I5ppZ=iUH@DUOT%1?*)1U`#3Kg2VjXs{4^{_21*q`Y|wB*Bn@CVusf1 zQjiCmi5_VJzL2UTFt(wqoqeqXGAI{Qa0r_UN5Xx1_lOupoIZVCwbdHi)l&@&(|23+r=VW zf$N~MaqgUP#tuFi)x@7J6e=-%Nf-S6rkf2wMzK)F=_K35u2?j-T70eZwV-vmd`nvu zl^3Mkv)*3byY5>S;kU2wLUk1IaeY4;annT16riJhkT6v1>F?cK$62fP+cfOyZ!qJ_ z-%Tj})mC2Ai3Ns;F8M+uB%WS)-%6y6nwe!+j-f9zrj`=(v_-uvV9f4Zsu>x>nb8L)=D;5_qty|Oy~Rq})zymC<0cy$bvCEt zdAv*0u`aN2iQ7y#LZ>)kYn9p`et&AY>aK|1MLW99mEK?>nZIYF+QN@!(2fZT=*haC z?f+F`aG`3xnjRGW_!{nv(IN({A%pP?m9>QL8M*>o12$ocwU&7fyJH4W$og|h)o^HnV6X5 z)y$;i<&|>i7#L8&<+!WG?Q*$H$YxcrQ0dRtfx&N@_H2xdXiiS1pfl28RVEJJxFo#F zv~3o%7Nj0peri%)XxnQ$DA37wIabnMl{H1td&1Tpa6j?}@TITBIB9wO?%8BWY|8TR zrwFCxazsxrQRu;&`5-#&8a({hj3x4X1g_HWT zuC=vxSr@xj+qQf=}>m7*hi%7mFC zNw~oVdr)A`_#PKnA+M)e)Fg~UbWGP#?&V?b@6YZH%DJmq-oXYc(3PE?hjm)gbN4Ma z3k%y%@A1Z*jc+!ee!Jb}u{;7Tx*O-T<4t`ijYzrX?5>fLR=Ys?Ry&AFaNdKV%5S^41qL3q18A1A9hV=dSIH?Gd-WT}zk{|W(9t0s$ zI+$Jw{LD;PDn-G19joYNT*{q_W|Fe9SlQXxxMdj6D3donX*&g~OezHEbqHfOlzz^t z6^0!I^`npXvKHcw4SX!Pwb$1~!u!;ocPH*F8ue1@4Elpj+<${l%lgkg z;bhgdt?GUb`5M9l_Z#}nuZbKVGq%4^rF>qE3xD~a5^l~+ahb^8jmTi)VxzErI~V-A zuxy+!-pICru6&Op6C}q4tFI)c(0Vk8V$JyEOonipjb+-bwO!P;c|C59{N`jQi4eQO zLJ{Zm^6#XQpac#MMnZo66mxdwfp{VXU<(1sL56qtC{zLhq#$xoP>kGJUm1A>j#I2c3D|jGpBP0z%q4VvoR~P}5DP1F2t15T#J3Qz8!NI8Gv7wXN<>UZ0*MK06>U_|26w^f}BI>NMaZ3suPKW>hm za7+cuR*?zDCa7^f4XL2|=BuCwVY_{F0<}=q#B&or1F}=dk?Hx4q+C*h@E7FvJ1mh^ zi~d`!CWux^tvdf3AvUkoWYMboa=leywearSMpxi3`>G|-;O7Qn5X#V8A$S1S%6BTW znV6k4mbTo3UrLuK>m^J~=)$FF!=<)Po6x0;k=Ow;KBwo;+Q||!2qE@F(qGdo9Pmo% z%G1V8td;y1Y+9(F?#I2(XZBwZjfX7lCa|aT1(ttJTp#y234^z82S>wSEdnL1n`q?X zMQqVwbW=%I_UevNt-@FbVe5FA{45PqNDNH(1lG&Z0J*O+8Gfy>GRGV^n)3cL>ATfL zK|F6hxJ9!baMe@1JnmQjP)OD9<7wCB`)jo)j#AYg1ide z&|Or9&5kJ4r3+Q-&3sD_KEYG3mFun=g!Se2cJV(I`ks|$B3)p}UKkqtd++VK5WBZvB=-INYNBLzf&5m(YB^t#=*%n z>A$U51JQ6=8{yFCF0{Yqxa(^KQZs#g zzNmMP7)v(0{0(iY#ewB|O9$o-Ksv7-4F)>8=*N#}f-l5`3d(1K_>osb@##5Ad6bRO ztI7t}k7Z!LHL8X3VIw6AUAGyi6Z2o^^oQc!Sb+yi-4r+4piX$q`wV3rk&DPLEluUj zk^jiLSHHI^{4ISCzbt-iq5)fGuKC7R%wnkL=M)E01=h3I5w4!;gdf2$nurV#u4K-9 zw$C_9)W$6u;lEh|GWSC?cM4Iwx6+8=MbXf_FONR6|2UxWvSv zpwDG=G+%ktjUz(v_c^72GfVT$qNReaZX}4&)Yz=)29$(Ps$-S%5Zp$Q4f^@lPFRQ= zaH(RHtowUovf z2aAsfUkY^IQAJ1{dSma*wM!(^e2qfDEg`ix6Boa5w?Y4{FPxYqB~ARicfzcElf()l z|3uBG-JX;tZa(CN3HAK>hm5wyls{bB;w`D)?zaR1YchRgZFL!)AQbBonuwsUY zDydF@E_R9_GAMwwisjO+Ge0M9qYP6-7PCPt(HqLh#3Z3O_d57kQZn%D`ZBn*v*m{i#1o4?NcYuJ)(EqWDHSvO3GFtVQkdxj9O~fS)CuhLr2sCFhd!J_G6ySMoRnyE1;(v5x@j|`RxmZxA18WYybJys`) zC@Cy=E{h4RgAf_w=pZTB!~8yw5YUd%UZNxlJ3qmSV`1o14 zipDg$P$pBpy#AP$fkU-sp!LPE=AemVa*{XM0n_B=&c`&I#-LJ4*sMz<&IRTC!#VvM zr#m8NlY2I2M139s)YhmcJ3awaD#hFu9oXhpm=bm10dpfKr_y3Z@{pgWFR98b|A|ph zXj*p~lS{G|4a)+d%A?g=z2ZePaY(B{(Ki?3BIy}nQa>&dkXBg*1-Jk%Dd{fzYcbh` zGIi=axs<*GQmYHwknGJ(Q}S=MZP~xP){UzjIedG zg_<9nAjC{Vc!hJ~gs+0;lZc3lrWb6~h>D7~zkBBD;)qMSrF5}P^Z|m-N9rg5h*yI! zT4(K?Zdj#J|8tEP18`S4JPP40h^-kJ<%r8#Y#km(-5f6oIO^3d%7ccMqOI)!Cjga9 zprZvlhFm|kFn@t(CmOldE^nuZ-ldBH3VcwmX}#@23b9Yo#J7)oXnnW>cX!Z#em`4spIY#sf5i#sL(+J#Nu8p5+|fQ6zv;Mniiwzf@Yk?DVp7eA`Ef^@9T} ze#>tryC#<`{cPbj*2J*?6XTrjX+VSw9D-|{4Byg>+R%cn?n6u*P)@Mh<@}c~`$f&{c zs_}BDx#CsWGnya~;O0BqoXUX*30~~Fglvt{rsW&sVLcCIjC2oV_yQq_qI^GDEGGwU zfp4gvEz_z)7iquiyvzb8U+1-Dm>boORlJt&&zd4Em67fxuc;XM_m}$KvfQ#$)sLH?MOf3bu%3?sH%W z>5l{I{JooRd;5}D#f8@wQ_knk#5*0wWIgvu`V>7g2Z;S^q(MbqJbPVT+w0^61mOc{ z9C^rk==oty;WfqquRP9zgdv)VXY21d4bk>tmS&vA3)#=jQ2TwnfIM0c@$NJ@KV) ze-tHKFe`;OpCED=84~8aI6F@JkY;#a{yA@U7yE{g)u&Geg0_qsKa7=C6AlpA-_Hr( zoaclsouHoiy+v7R?k}MD@Z(=%O1+IX%WH_eD;fpQ_xx^Wyp8@TaOa^|l=qR%f+ndN z_WKfFeqonV3^p4?c~4p`*JCBt18oNlKgGyM9KEb-h>-JY8SJL_Y*4RR^BT0Sga1@j zyO8zQU%v9Y{gYos1z>b_ue31*IG{OUYY$;_P`+9}0Y(&13{22eH%~}{FezAIZKx;~ zxP@~9d&~?dKhZiyx!6v8G~D-O@tAd6p5W#c-JPHbIFhNGWR8^gg!Wi7n z7K9+)gxdZK6Bs)Lw=_guT^lNzvvF7ZU+G{<5&w)yPmF-;huP)z$MIp%mREXyQkS)N z2*V@J>i-Ka3L-}vX8XN%NsWyMa%h|6@;lO#3r1aCZ2G6)3Dbm7cKId3k*;fCkh|s! zy&foda=d%yJ0uK?7TkdO|Ni~=1ayw=h4s<{z%ym@vj9E0Lz|T*6-`_U><$WE96gA< z(q;Yn!z0^lrqrE^qD^h~s)aQLFR2ywhMH^~iD!eqgV#wA>R`tQtQyVIlFn;4h6J2o zc_VUTXu82*8+NiM4D{nbWB~+y$t>CkK)#FIts@PZb7fanDx^F9+uHI^P9`bQsvk3g zp_ggZe=RC3jA`y@5sne3Mmzl>C$YFx`d%0@`oa}Kk%Fy5+B`X}{NE?nhd9R@EeyD= zP$Bo<|Ds&;RMi~9?V1*P#PLzH&AqUv-|wd{#3kU7O=g^U66$aQ@*2+XpZb*EXZoi3 zuialH{kf|DzQTkB)}ol2%Fu^s+-K2!Z&61omo7cCw5;IQ*7zqHYr{zrf!#S}&eb)$ zo=$a8GJ2hs!Q9*i>DJ)}Zax$qmGPsV-+9z9&YS4{`oao&0pOJcL}<~pGeb$utnKIw zqsD-Iy{}Iy*Z>utOvaNU>$*-R;w^Z2ZOxPsg`_$wg=;a1A8nR-iyTlQt^?P6_o$z< zTjmrKhnq&iNP5#)2(D+Y8;$oRHM!dJcWRl17=xDbC+&=I9Eh?4Rc<3&EgBlnjwvRA zg~dZkV#PC0QgX3a&)Vs4=0DmhDo^YeucNNE2q-rb2ThvC-Db?;uAiP(5Tq{JvhEtK zL!!ENCJt1nTsyAL&wohe{9u5KkIa%4k2x1fa59>htjy;jI}cr+KCecF^gxl5;fMwy zwk28y1HAWocdV{=3vG6l?4!q|gkZG2OxvIGD8j`2c@r8nH1w-w#V6){Hryc_RD$BK z_JgV*lX1NKhI`(spqO)*989g_1dZ=cJ{!x51 zV8o*16@})Cs=4q|4Qch8%dUJBkCQKg$Nbfmyg!cc-3Jnoo)|bdE(Kv!)B5+8QTm`E zj7G}bJK}Kj0QF(uN9$u9q*hwFynDt(Z&HW7>}6VFM53xNj@Bcufe)(H@mB6mxlq^Y z?}ryMR44y%v_w{4N012z?KHSXJhIWC>3)N<5wf3;|1PDp`StG)7;=M?iEt<&f9J|> zc}#a(S7H6={H>?Lz-sB{xM~bUDTsVVXB>9sn!?7NPvYY6H{(`JCojviotl?6C5sb8 zw?1dS2|K$|Ut+GL-#q9AW8$A<6yk6g0}@Ao0$f&Cy>62#O%{!|BuEnqT6-vQ#`5^n zhTK8%pnGqhGjUej1KyI}>_O(P>*@VCw7b%DwVWsaz$WAHS?1?3fIS~<7@{6%INbX* z_G8}5r57Bv?}@PT6nSHm5s7_*;OG4|CpUe^n~g)v%ZkII^w}1@lv#v-QRQ)&ZgjH} z+D~UG!XcPCiO)M}x(cdLA-cIGB_*mpQ*hkqaKhz6Qy}0(-~+f9vEBauv7LF# z$ysi33XU=r;sDy?_l*N2yfn24R7U&SD8RRUi~!hC3~conHX{Lopr>sO{0L2pC*P$o zN&6h}+>yb^_hSwM0Q%6=TBYpDaTt>>!U%*fUp_w-jsWq7-o8ErTvA}b=YkU4ik*S! z5SLf4uYZ`Ho#nIIU7E&5Y<{O}W*5^5_;yuk0=^fGAymIA9p4_}lKz;8{@|u%puxIH z;~zL34OWItF5NaZEPG>0Jfpr?YkorYUC^>z=!)rtzkBbma?1rJ7e0%|MQ6Sm3ru#A z!TX2%;T6=5)le|@wkdTk-gp>_r38?_aa{}+_J% z(GNZ#KyQ+#Z+syPFocUWt*5p4bAAkqQ=|?G*Eq@%)4;4MnUgPtqJ4iGN8~jE4@f-j zeuiNtbjvx(rX4(_)?7XNd!PN>c=w;c^slrOwz-^Ff{;BYg9&7mY;h}O!>dlQn-nlM zA$@9BWaQ9YtsBmoiCqUtDRFR2o&;x)5=Ht5BIM~maYk1E-lKG(HzK(IWmVT&P#`ai zP~i4%lc60%_UM&ZztBJW=zr3QjRqr>1CfCJsr<^^vQGfj;ha|K#V2`dknS0f+pjRJ zcokkfd;dYz%*t_8+P0<0COe4Exz)jWlx~v+C^5a6(fHxkXqn9<)5*{4Nrx@ zvAp$%emaG`F zLFiL145iOI{yWHjOxO3=?Hr%ma9fophX?rt{0~rtFN9grgLe{OoVw97h|m6e6#Vhp zT_778ZGjF-j-jH9iU2h{wr6IO_RV1X`7=yGS(_yT`F}$E>3~NcWxbts5g%`wv63cO z-rOBD9~N}TwcRdb3)>mnl7!tm=%^Br``u+Adch^`Rt%cv-P)kl3{qAU2(`QzvFk{U!Xk(0FeT zD4}rREow9K@;3a2h1waQVXOWj{SC_W=azHbq{9QPt9G7(C`j$etWD^W)JUA*hR^8< z`h|2NcFfr&{-pyBpg8)*@dP&zF7ZdDwIvS0j32rG1neW3zv@_e5H39dVA0FiPq#X@ z_nI&-!f3B@cb$-yEdHxC7X(ofERaO<%E}?x*8GMnD z;9bb=>mdVF*8A~bv4X(*M@o_xj8R_OoxwIrk)g`|ib(c6DYNVgD(RAK~MI#yfbVFChFXa>{4z*=y&cf`grb zJZ9C8K|k$1`roi%g7V0&tfKQkx)P98By-Xyd2kK4aabZ_&|4;(hn%_MFKIr$Z|7j% z|9CI-Oj4g*yvtC)Kr8r@4eLE+?qoE~&-SIem*GQkKA{yqjmy33`p%CAIIF1~kSLG-a zI4D&GKFG^gJiRlPT!LbJ!!mh^0%Bq`j03CB3hFf#IKa)kEu2Qw7NlZ{IM~yO9dE%m z5?JAtUZajR9HsginW`qw1NoIK?vgL)|`$7&=mf@D} zB)bMgp7xo^)XMloR4~l5$O^{s^4Flzyx=wOaQLDA$4-dkgKSZlgWXYwDM$$#enFrg z+e*sG?t9AWVU;4S2*P>nNFM(OProlIO!i{;!XRYP>M}FLpuLOFL5V*g*JF`JP<1+! z4Qs;y@x;MS0Y*k5kYg$g2oYe&2kxv4GPG0vS`sCEmH#ji%RC6v-7%oJg_-B#f%N## z9ZUF7%4q_z|LNef`t)p~Vh!R=>f;XQ=02e4GzM;}EA9UQ{8x&MO)8cGfJZyV2zHBxoD{J9-4h!)UCSS=fOQt8}qfk=rfak!1nZ?;t%;iNe<3BSp6JVnD z6qih(f_Uv1il+03ZRc9bt*r`_*;EWNQ0$iT3b)E!Ga2dag=T5^Wt3_m)PoHu>721QuuvX6_)Dz6VREWVq4n_u}N!}9lt zX(Kc1qL1(^twz}DQG2m`Spv*6wemte+sim!$|I>apCbd)B*hZ~9LV)o`@Uo3*|??8tW4TNq7&YXi~PH=vurH+)-9D&x$r^& zf?WNu!u_jCyoU{=i4@v4#z49AspH;q#pwmbJJ$+`|4X6*(Olg%7POEg-yNCHjWBSh zENd3@Y8{8!nD2e)9`xu$=wYpsAi!hsh{NS{b0-S`9`idZYjDqmkBM6h5y#b&F@Smc z2(iv_msJk?Qw3^zzEZQ0)DDgXM7_$0Q z@7}leO}Fs%f!6#eL704dcX9)PQIr7iKy~)kWK)Tngw*K%Ephp&?qv5C5m6kMC|i7{ zcLT?I^7~B3f_w2y8#M0{eb+Epsx&sk0gKGLajH?+rCaXxj~^spP^#g7c=?ru61(y~ zhxI#*di`{;c~m?0)Tedkd8ukx$A<{<(USm(%dyC5&&39=#ltwf8FJeKgK$X8!s0cv zpHP#(BX(}2>2r6NE2g;k32`iM$Y6dLb8Y%c;qB7)7{1gLQ)rYPKjI{-Mi$5HUGU^U z>-m1xWO$!j}S9AW|(n|XGyjTt}*W;SNuG# z)eV01q~*UwC+nTPu@o+q(;XVTmM}%mYw6&%yE{~d1G81b@_hNNESeebpBHFS5Oe>(rI;{UjKU2xRZ@E0X>(eQ3)xN~T@YRo8lCcu)963Ip9 z!YK&iGHtuleo17^y`j0?ZfX6Y1xBNmCGYH&X4$;>?HgmjA2D1?mv7crfd#etE+#Ew z$+P6Duzw6{h(jtocU5L*6N}?&Ob{3GQEYac#^eb`BHX=-=g1iQh#yAW=h@^A*kEO& zjqO?~KBsSsksu3WX@B8SD;QaW$s+c_d1YhaaGY>#2@JIBov8m4uf`^qc0Skge+e## z8sqW`Z$(_Lg=p5v8C||Y?Vg?16gm~w(+$AZfYT=}7sMId zex`oc%5eN`aB+{B3*xSLYhO@U8mPIVx0{7aqvms$(~-EVbeP1YZlPbs(V?yLGw6Yz zXhat89opus7^*Lw-dq)(Uj5TsTYw7uKCkvZ}sl#9IO$O3UY+CWI1&8sO zeqaB>n`YS-W@9cA6=Ec`c{4v|r_^ShY&M@?ux*hKP>*6*KpGf-a88O&<0q>b13OlL~6gGo(R~>1SQlB%3&_%$UaBJ?jj*=;LS4c9EotJlibb>c+d`M%=$iU zmkYira=O?$qf59O98(dpIPeevlbpoi=?2>5|0`6qyT$qMFaJWAf&as&fBzrGjsNGQ z23RIRT#|qgDPVv^*ugxV+T(^EFM~-u~U^uU}2yym`aI$M@Um zU^;YXceff$wJZA9J6)*syIL5w{$TMox__?hd(iGUHek z6Ak^{D{Yzk*;+}d-9u5Z$@zrJW>`pp>dV>^HLR8NV$I{z$B)t2WV{_y^TLt=F$#e-v;&F}}s37^%t1 z0stc?Zs()rLQV4f`}?D|PXDaw!?|`5)iUijj_rf6;(plL41)KLrQXfZTpPtBTL=CF zWIN}msbMj{&if=3F;&ouf<*`|9F|92? zzqi@7IBy>%Usr3pF&SSmiA|*p>r#3c8v6{srZe~?_JAfZseO6@>}T54E1 z1#D>JsqsN5RB3p3(a)QH5mp^W4`sgF$bsAn)`RiMWA85aa z#gtjgAgG|;6DibMy~S`r^8(KN2N8GbMokXLee#3>mUMoSus@L~0QG~+(4|~hbR&zz zOjolHF){JSFJF2>@MtF*9n4w>B7tw&0cM;kPi4Hfp=fBU!Z0lF72+YS61KQWP0 z-g_S4`oUQ>N-F#^zkK=_{!l_ME0=%i%w#7-BNKK00}sxv%jhyZ9IszC)X; zRVKCtSwsbL?5fS7hFu4Mf2N{e@GApE#9spX?8>5q6mKQkS<4GM;bIHQD7k>J3opIJ z<*e3caPxB4^?oPO4svH_&;;CrF+Z-36s47QEsq z^iXVJr)%Nr*0Xd96$ zw|6A(&v=KNI@|W|tCyMq_;xR{%O!{#Kuu&F@hNixAHLCz2!4TAh62-i>1)<{iIs9a z_WrHb5luf(pL?x!{iGY0n1SO1!-vz9)MlSK827`<@I<@Qy;f+*@H%Mc`sAS5Y^_M6 zQN18_6}=FXm|=X|u$j|#`;p?jAzzSoc3Z4oJGjreu*6**JMHV|vZrCJ(|^_8fjZwO z&}MPs@R^qq<8!>|HM;N6pq!l@$EYrdVl`o|{M}|Ylh8)lJ+&z)38-u$i4x)w*QNL( zs{^bLdkNjlV=AkuYz(utI~IIm9q{Sb^eyg&sk-O}{qxtVU$vKs-hUuw4;XcI<$ zCziQONB;*}(&KSyx*CpTg%7g9CQ$bw0$pS5A%O`Al=B=x7+0KuGB^gvg9d1ug8i04M?eudN^D~b z$^>l~8L#aJYYp%WeEar|T~)0c{CWeF9m02bkr0<{xB(NVdSxZh4<5VcR4i4Io#HmJ zJT`X(?^pj4`U(Y{4X?qkKxF_^V|?L_u6qsV32l4n1W_lS&h3R78J;Us9!w&FzW0Cq zUx1$-NNB*a!!D~m+6%lEpr0zqBOAC~cEbQT(&Wrw@zF4~c36g2gVfNtaKMcLKX9|= zBTQW8m4to25Ufo8{A?lE@-+qjQt*DJ+#aTvm|0``1!SrSN0O0|gR^a12)c{Sha85s z>boU^2vTHn%jX2pKlLp3dbz&2_=kvH|3meskDxWct-_p+OcStM^YZz2v*>mEBsuWK zv+Y&!TfyZrHx6VIV`DUQU2q{&l#&V}^9IcU+l?j)j%w@WC#aqmwBCZ4YxQX-ZT8vH zSY@q)e&nxD);gf_xrUG-4JGO*b@@;H!^)uX z29?cXW0A%$@mH8=w3{JW!Cx4y^wH-?5UAaPUA$lYbxRC{4K3qBMsYHHEN$}NY!ZXA6P6p$je4W9y%e}qHY z`5`t_xFNINQH&DP|2$FYzs`-32YeaXNRu+tJor*H3QnO5-zD>B)a=J}^?P54P1&I= zv|rltHMp1&P?p-=tuIZ_Qi7&rP+4iA1O=>peUO0*{^?278y*)%Ryc$)EmV2N^r*Gr zl6$9_Ern?!WYRq))HUJ@Z;5bl;C)a6rUHXOm?l-&%l-4v8PbO~>VQRqIJj#9TPgnF zTJ(7M&Duu7?cQVV5XAG0VJ*DRm=+Q>GH68HrGb$>K%g@6mSiE=o2dC1M zBIdDsjmT4sME!ZjWw%n(S8Gg3{3N&2i|1aX+11PGd zYZo1I79@iN5dkG5pkxqGlq^U_KtOVoC}|KRE1*b}oF(TVVaP#p&N=6thGFJ3@Av(o z{<^2?o?Ex-RLQo}?&;lY_3HIJ-Me>cq(j6UzTl&Wi7qOkv7MhorM6(C$A+BA$0-&q zWJyq!iPVvR+QeYff}%iWs_Z|F&8lPRjninoV;{~}S4~}4h@O>zErJ2_;g=ov?2Nj* zyZZ#j=V@m>f3V?k=CrX5?=j>la^EP(SRhYqDsigu{xsk+0xcwt0RTq zXrO0N{Vw}4>29>|vuhO+DRtbVxA#@I^XYx`x7c-1NbIGk)N$B>`?a15JTb0t88re>`903<)zYWqji&Q)$)nftw^qc}2VOYqq2+ob`!&dUTx%R`!*>cg zk*~!}@Jw%NCKl9^UhI?v!|3>EF`^rK6nvg?-*xvAQC9W)d5T0s*6sB7sa9u?q^0ue ziGKQl*f{B5!S^pP`HoTBM}}bEq}p%Je@^-+V%7h4LEb>x6s_uC{gH*v(``)ZzmE2p zeS-b(vqSD9AN@CE@P7jgyvWBmEc)tSfN&Ofnm6$Ilf3s=s4H7JX?j=Cjn8HKZO2(g z3n`sMO{4B~e}yxhtW(zRv#SFd*@KJd7XKdB(yUIcGV_bZCIrXITCV6Pa6Iz@%EpLw%&}7IXLpi7AiPa?t5Bv zI6#_E-;e|nQwZU4*a_eM>m4>UDS3JP9b-;p@th>O%h7`{s(^t1^r`t5c&08-v->9n*L2yIvw0HXdeM64?T(Z(6x%@8mi8O6TH@+ys99Qd@;HHsm!&jC@gYzLL$F`+2dsOlf@y34~Xi`wr?v zw^9{l2sJ{-@Rew6yj-{#cW*-#vnra&**t|bjoh0j(`@1x23hjKc@WDb__uF^?7w)Zsqn+`Ba$S|~@?Uy7Qs-X>4lkm7;apEL6A}p%9 zy|X>-Hk==y?m>^yVrWX{v+rl?FMpSmJ~VPu6(J@}c$#s&p>mQ(nC3fiMpl+@dmkhV zoh2&gqEzhNRdf-q7_6MXTeZko2`*6icu`YdSX{IbuKt6E_q6x}DhK9>^Ce!-n~kxh zdGGtYM_ycA(g?_QqyrJqin3)eJ)!iL@OhbwVr+P#13#L&5fX3_$L2xk)}Z{UeERMv zy^CN>nd1>aQ2Jbv)LD*JPkN|())Lg6WuH$bKf??#l*oiTK0+KbRf*f_H03^4{SBpl{^qOF1PkyC(2mFpj)QdE;mA7yewGF*La2p5D8*HPRt><{F>I(wFne_66T> zp`7GGBXNrT!UhTUi^Get^26@Hxl6BWiF()y(QJai%iyAN6y5QHC_)A0M$zG={^eTX zBE!%MN{;Ygz=9=LOLB9z#o32OA`jTdP8s!|hB&^1#9ca(CZ7tUK^|S6i50<$EG_(| zzt-f4KLnt^Pa+U@6}>brbymlisE5I5e4}=~GO=qCndwUHsN%`=hXZBVw9gdJ8_sth zNP&%uGO85*O~*f))w`gh zhokbRtkF7A0XxOz&~H{)j~09w zqOq6iu5@mtv}50hSE!u7Jyvo%l68|Pi(yx+KxBt=2u|63{&Y^AFn?6+7fXugh2!=v zI5ine)Kz4fS6AaMhG-BQwt`IyT)W$s5Eq6?(u!q)yhIfz7EkuB4~rX6ce6dMhpD|9 zy&2iP?yOuMt+Y6QUPn5C{X&PZ)Dn_s`kkt(+Q9)6NJ&p~1}cp+6l$Ub5C0J^uA<#% zmXJxSY#j?mKA*>d*D;o9kAHj1GgHBHQ)ZR=SSm6F-s0;!+&s|sOV76OA%7uo|BWd< zohf7ryZ<1fr*;0{rXw*$xHXSi~51u_E*=V=sHtVgSmoTd3)Wa zg~X#8o{f2~a&ShN$r(Q}?^@Y)D}d}Z#e(gD2{|Q$++>ED!Yxdy%)hE+Qn5o|i9tc; zZZ^4}@b|5iQ1D-;vYIZHk*IB}Q?F`Vh4VP3{6Dl?YinJ3MKLUa`bw>}K5VIU)qeD* zLpTuBUHpn~&eA(WwZXzu48?@($Q}D(GVp)LdisM$N=iddhw+fitJcpeAH8ZV7suno zA1>L8Rwd^S^Lz1}mJ|P@(VNH)eb`uo^P|u*+ON=Slydq6@~Zdj@ttz`;#@_*W!1$q zT;&_6L)_x=#6l*|9v*jzcpV1IoMC&NCBYJJeuT|5B+|K&djRJF^O4NFgw7e-Vo<%e z5DCqcg`!g0YwXLY0CnDrUP8jSX@?dZ#XbL8bF)Q|mO$}J{q&mHy|K9#iIHqxgfc&6 zJQRxwQjXoL9y}i03I(a1;LW!Wwgih;_H-uQl558rMmF2_ak0i27lJMAs_RpPIu(Le z%?N~+#>Jb>U@~RgKl8d`Y;4!j{t!se_{;7XsBk6i%CSc3=@p^=O&S;FH&O{?ghqKj zLOzXE&#J0CFTd36U6u{De(0P83&dzI?WSx^R=KdF#*0E*ou5%1O5{5y4Tbo=_DJNM zUeBXTf^Hq*NdDRR+THHnrwnOI8;m}_LB+mNkhhb+BVa{TZ{R8iLd!*&AuGOzb@2@4 zqp{K^haOW6I`9Y^U;p}NKMGM(5h-47g1US1!F69i==~1#oVm+0W4>om?WV?dgElc@ z#x?wRBRQP!`V@7ib8<6e8NDFu0MUgoi3I;W;>N7=5hm(cw;c@$p%6p4P@5p2t${H)&8`hb6H;~JkwhrA5xQI5WHOf0OWyx z0TGjK27Y%X?<#gdz7E>gjNdlRw0ua>YL^ujKw9 zHPz5!2DOx>GJ5J$#mduFT6NFz?R}8e2V%6Y}5qzvVAddQ@&$Xgj z37iNbm9vKTNGRDKivZ#BR#9qR660e`4^&-r@#Mt%n@p$YK8&Hf-qmh>NtCPyb5C8~EGb;kBby&-c}vp#NTL0pG%( zw*s*CPcIJR&sl#m(8q5NBVdQ0(fg~a9Lg)cz@Wme0lF=H!=xa=eF+2W1R)pw(yx||K;se8Avbz+4W*CP%}*OXQChCR#szqAP`VU z_UJj3oNmA}#wY3m?auN1D;rUf^r&fCmC5NQ>nn~+SbS-XiQ$8=tK4E@+zvVJ8!R-v z*B5k4CdH!XEbfDOxIpmB&+{KlNnq!M4dp)F^KMxB(JqF)g{bRukb^NXgqBp_Axnm? zbU|HrrOUc!33VRF8;?cPF6(IM*1$PU@>KGR#RJ^|gUa|?8pwNH&u>Vc;~NtP3z?*f zfD9FtQzF-mZVckW_Jpas>vs#x)iUjL^HHOl?~PB>R4GBX|ILeF_Q!WU9g}Qrm+Wo7 zjknG`89*h3M7=J0>7PaKLIia%V@*j;QkfVam(oubX!9^d4>qo^DXIKc&~XK z+tCtFPNYJ-bmc|cc`OFaMGj!rk#7R8i#OAe-eQeCZzcCxCcV4S^Vs}$Uy zl+irFz!gs&#e8#e@}-bye{|nZ%F|TGrsqTO)w2qT0az0-dcngP85Ta4Jb4RrP;|&I zF_8xxtKuzxzbN50}Mj zSoq{_{fY4R$2@*m1=Sdj5ko10KJIHNuOWj>I5%~#DK{{Dk+hy}ajD~n@}&n~LGTjG zmI?l}dH5VXs>OM9vbI^)`yOQ;-A~CgcBI=?#q(oBgJ%^ZX$TV@hPQNg7v+x$tJ=&kkjuq91jR4 z#4&+9yA{Z^9M;a!x7)r@&Cxe`fSRGMI3b;8ag`nb8DpEnG(2B?oEAFql(k+l0>bNSahDJy)4 zhyY=*)Yz}4Pxvw=pU0aPV-6#(ig8f1`HXrw;Cd@yIk^o!DpB!N{<+~Vt7}D1GT^<+ zP3s5PR735)Qeeb98eV6QyzKcjgsHGHI$?L$npK(Aa>P6|tQaAuyIDc&^~XA>1)3R9 zL;Y1ki*b6G+N{c!Lo>y4fn%=|*d7uMwFe!kJad&n=NumeX&nbltbA0WV~k%v{JwWS z@NKElr5uEte-En-VU7r8QNTOff#EsAYhdSY{1`W9m@~FGxJ`o}G}F2qT3(3 zdv8!Z4fz0l{4riSUbdq=$0^)+H1|zrcI@Lsas85vjK@BbPGl-)p0uJO_$Go4ihSTC zJhN=QJRZSDAdmS%AY#r@Ux0W8xS4$^*p#1Q?Jv}Q(dp2mp z`O>@Pq&SRkHARyO&FHsDV!z3jQ;bN5AY43xz}7p}EfM1jJ(~rVuiZD9164Uarc+8O zF13^V(@oq9o)0h#D~ws#L*NXI@-@R>{yDIl;5nw93woxN@%%P)liV3lB{3-4kJf_D z>%k_pWk>icEVNA%w*d>1cJ|!LXO5Gr)S}|K8#4xkleWB59p@HfRM2b{ z#`4jNq(Qx-mS1*darNsTwbZ{-%{!ZD-V{or3d6;kLL84|!>{ZWQ(8`Vn%Ggm%YXbM z;^F&fIXo{PD=tmSt%k)dClLIm!NBrL;z#C1gBAaPSyQ%*UYn1nqE~^lOTh4$#;m{4 z`HV@))}ZErC+P^g1DIJKB0n;8c4~DG?;kxHtopgKl7Fkn6;9N5Gq{Gb(;?6$wKg3)u!gH3)8y0H**haxA4X9^!Jie1#FS& zVx5;(cLKdtMCPFbf4Qv66G7we_Jw`8r-$z3w{*G*einC@Y}(>DP)}+{<847ZkJ1DfIig)$~N35imDmy2fO;-{D$3T zQ~mKJulH2t*dNB~g;Jj8OuS=n@_k@`jJHY|yUC{iQ0JmK%i^rV-F6j7>YWlF>=w3S zl1PNcnh@*%mVhKf<4;h{-`VMO^~~X+C(hO01i<{H9W<(M?U*I^4f45G{N~oei_9eQ-3&21%GxKA#-c}W35a~9FLw~eQcn#CLXJl7?fXGobF87pH3TeTljtI zvUAT`cP%>njkhG-#w#V_a<}HHt?aSOJpx;J7OUn@cF=9E(mn^d^f*>l4_;0efCpq-o-SAMQcO#=w;-whU`st^8 z6>!G0>8i@-zz4(^>Cb~-n#0e&%b==FwnSzeGzcyG^s7sSbm>1qQu`4l1xR@pwD-vw zZfvB$SNsbrU3u1-Qt|MFBa5Z;T;)A@D&tMj(i<8s;VLM;586p^+J4))R>kV1F1ymx zro;}VI3~i#G!tG;-Im$vFVsSGcY<24>RO0+gIbpyK&&&@;+UJ{HuW~zzd&Q>EBx=+ zORQ&2|B;d5chBhGWy0Sy|F^prvE%+#QIN@72aMi->I`b-W3NG5zpWlrOHDBgar#%# z;Vb_CVfDQH&XC0QyZpkwuNaBv@8HLX>3TC^TYdL8+P8Q*DTC@c zRz14n89V0Jx?HoITuWw_ArA{FKW?kvx?|h-9EC$bDG;`aL?{pit88jao!F=SeV*kn z%1%G~KJ72xtAAkT*|)gF%P$5jGMa6Fiww_~2*XiyDZOwZ8$^%;5s#FM~QfKB|I?wlW_wQ<0)>8Y^ z!Ou+MkB8`cG1b%_3U^8<}I1A`?+@wEf2d>ng z&$phJSzb7}v>DlQ^lHZv>jpHuKeNxw&R*VDS?@h7Mw*6?j=r5Ofj#URN zk=FrvzsJozo^@H@0w~$<-@mott#96n)I8hl8wF=p`isUO9mqlQ{hbBbh0J1y@tuX+ zdpvHAu++UDCl9#D)T}uR6>JBFHTXnUlIm@3`h_O(e;9yWgqJ@A8ZT=YEQL5ZXuTe1 ziu^VbnUD~gnlvPpv#*%{eqOYn)OkA`#HEqXl>INd$AY2axI^`#N2g$wRt|O{)li6E$jDh&N8(AhD9Kkw9aREtU}B>m&fs# zO;VUb7slBK4es}z4@_(mvI(|8BEJ)YTMp@HNH*#(8P?4cV=LkMzy`L6jW)W~9>c(} zbNqPH6m9Yb0+~4vPd}>v$ce9P$Do*BqUL?i6X!IAm&n&Bcx^B?y*39OB5SW3ZtQ|) zGt+Z{TBvGZ4jsb^p0Chni&-DE!9bX-TH08RVd0?GLZSAL+juZU1Vw|h%TC8Wy=wHL zF=>Pn|I&47j`*JQVFcSZ^Tcxb=yTUA^1%H_4MqsQjN77=sc8mZ_icfrMPH)zfr?I8 zHTiOei@52?euEXw4<5q~JJcI@ho+9jE8@l>O-*kIZsXAS;uWJ|BSj}RUF&V}{=<|H zBjMEBUsii!j}W>{*tI7-g%$L{Uu9Jj5WluCv*I^b4g0qlA;8~j4^2yXaJugJMJt90 zF8#%3`c0$VZBvu)rI#9S<_Kx%vj2J-dcf3BuP@+}R;z`{9P?e@{3Xo}Gh0TpgT+3@ zWurh~gAZ3@crxxLKf|rjOz-JA9MkQ|DXhdUN(K`lbLxP58ap@H_#RfPUIF*zh||YS z45^lV`xj)Ku|D1gNxVckZcvW8{jIr$WsPo6d+t7DpZJb379{m#B#GDFkH~Hk%BjZ~ z{x0ZFDBl7MN6%9)Nn1NAbL;^icMW*zm|y3=n2i>2q=NuIw%sHKu4X|9lKCfM%RFNv z?PS)V)u=~D%!afC)|_vJOCG)QpXh06;TO38EW^@*pTJRERwKD3QfEgY{v3t}A&f0o?0x(et^MLlsCt@wq9^&d=KauvF?#;dSgT>`pV`^FXDoxR#6Vj+^t79| zcZkZ?7o21&CWAQSc0$O(SnZ8KG2Gg&rV;-y&54Ac+AMvtK5@Tg@~w#Gx==&M?n8&@ zxTW!qhEpYY<^@&JPELx7X$qEQ?M&oozw`a!*%IKJ_~&i@s=@ONss~DGI@p&}U%;nKA#dSwRMYfYE;+XM71X3eh^SRJ+>HV*C&?WXTq{ma?7UX)hLAPle1m zSONK69hQeKj9sAO3mk%gi5$jj;smUNGn@}ocUjFo`j%{`a7*Vm+$S+HZY$h;@es_o zU9Vn3EW;?~514@J_rgBb?7ybz26J;O$oGhNF`7fZMi5x7%0f5MA`fa^w#5{taiKC5 zH}nT#*>Ho|+eu{-Uz+Fg;}cWMo5>1`Mn9ijq?|FjN5fXJlZ3~}M;l#%lz8FT?Pu85 z-hb)G#2t%9NLAin2Ug+>J3szK*{5Z*P@?%g#yxK+E26hr^lF(ITGF`RUt&ZZ!4yYb&F@>kR>gWMDQG{7R0O6uW4gs#>IfOI=9 z2lh&tm$?m+%XAJT3Ds_FdaP~KcL<>F%05@@i#cWecw9K+b$9lRFz3;KxHF zxJ>eR+P}?GxcR1HS1d<4m94?R6|&8~51cOtX1Dl%+Wf%nmFSmb0vzFzJDp-F0Z?ZV zh|wnw&s!-1oAF&Vlm1p?Hhx?fgVfYZ21Le)WABMhB*qTV#ZN`>@P9f7h<|Y310CZO-2t%Cq)6;`&P!UU%_wvu~yM)May6X45m970eFl8WTn$1viG!0~2GBf`&sM z%l)w90PR0rBYxH1t-4sg*y~yz%6D$ElSkMz3uhK}7M5!08Vo60Z_I(b4IPC&B!T;O zCx6^F;fyx)^74|^yH(WWbkU7>x|F(~BWjduF6$_+QSOzqp$4)BUU`J` zlJlQ|H^7-r;E6U6~&JV-2(k((@4aC-cMp4ettUsd|&I@ z$3ODq-H|jq*Gfq$R>^d}c3Yy~XW4LpDMX0C&HYzV(Ou9qu$&>@U-&X_MwIu8`A$$( zVI&vox$aWzzE!!J|EgggaaR=dfS8h0_cL-KpWjy+5HJiuTP5dZ>oEADc-jqczy^}$ z{ZMDrc(boekw=%ejC$oA^?>AsM8fxjSp?4O=7+_PcHZ=E#q>#_ z!m969xS-oT#OE`8$SiPyzu!Q(PG#`()-0TF1Q3uoZ!zr#%{Dw!{TXrDt{&eh&XA`rN#u0{v_TA4Yh_PjI=q4;lnF4_?`O7jtjC)^L#|;5=3# zT8v?HTe(@T1xUoGC#sHbB?7OEnm5l7I)O!?afjdA(i6@04B{L6G2n%EU_T0LV`#ai zo6&KZFRV5d+W{Hfs=ai>pqfh>?nxA|cji>KYIvfU@&`>f1S^h4D(T#BT9X(;9m(W{ zu-`;Ea?G_DI-@GrUEBFf;$->gY1mAx6_+?F_}5J;!%c z!nb}(o3jqqDx%rsYJDv2zaP;EGUT z+?Ky?cWQs3eLz*dfU4%(Oln$9UGGK{S+53aYVP6lr3UR6VGIgf9kMs%{(TGn!NoS^ z`%f?&$Y5N_0+IA+i4*y`Z>1&A0Hx_^HUYV)T$}hs^7|9ibWX76zWCgQp`@}nDa<|3 z@BC``DK5lUfoc$GbW7rUx@@K2!|_kS01A(vU8g|26qaC^@_N~cFdBOFdEg;ab~@sZ z(2NM*9ziU3qsMH3c0>lsa#3Ii*D0Z&`KANx;?rU(EKmaot<>08jL}oDBNR=6+?g+t zT(gj5czfrt$rY@PeTG#E2IAmfFN(}e-x5S-sI5%6+RBcZW%pYsFa`k?W$a@v3+w}( z2LCY7>7@jaf89@0%xDBSG|~v9&Q z&Bu)3`p>=54!So1Nf{*n?-6Vt?W9lvMCRr~8^^t5B8nXFCczWq?$P`yhPc2`$T7}k}eE#{v6RS&E zX{dVEaC>B4tM>HqsPDZpEI%vBeymsJ@{|?Jf0{F?Z;|aSdD7+0CX`p(oT<&mIzDK% z5`C~!#hlUkah7oTJ?+Q2uYTL^-^!bAmlpxo@Zch8F*kcchyXZ7GWp+lK0ukmhfIX+ zu#b3&YVBS=cOl)QGzRp*GMPv8KlR32RI9SFu8(R?ZJw)$bbfqm%$UtI(f7#8C0*r9 zljqIz=EH6;@cT604`jicM60I3K|^fPv+8|TN;o_trJ!d7 zLSi|EQAoEJ7CV_HK0{eS1=j~i8sIcbw`*DX0p%H)X?$O}d|Z07OsVh8QPR_S-cyAe zzKtO@<*)WLcWor6`W-gr%GJANr7|Ws;rDB0hkNM*k+l^gDnyjuK63F_Bv;4E?ox{vll~9QFu*SD>pi<&;;`xN z54;}l0~8=_UKDWqxTdB6lgzar*rWztv9Uax0&r6S9BwjqUt+FOrV0TC3n-wz64PJ0 zUpsqxzg|fT0ZRs)>tN`N{QF}$I-3Y2)sem4<$((&kF?$%5Q-Hz>9Hxe{M8U!)VRwawN!qZK8S zy0%1S%&ojJ&bL*->uY!rXB5lbOC_U5<{|v&T!HmO#}GP_eub}#7NY>m96wZmZPw_k z7Q!6`*aBJi(D`mTzqhcQ(&o%bqxEVZF@eBMWYJ}A2R1CF*0RJMxdrx{#9!*^wOS_z zH1~o-lr0FuvZtB1I^|`fe^PTMLq%?h5-_q~Rp?ppp6E$3(6)v&b`I7#&;UZ6ka9qh z9{9Oz&;x7An`b>B9{Yzb@EC)dLCh!K7JJsA~4=FbGS zjtT$Ii1#{7hr(#9P15Eo#nq>&2!W1J_`z7mYL(5w&49pKA~YGAjFO`s@>q1fOjC}g1v|$RexSNZ_s`8J{#%X|V;mc< z&|T4LAJ#Beg)UfB2!@>smR&}w>nOT1>mBTFR6!^N(sa7|rfeN*9U%_!RVtMJ#*LDf zQ-4&7n_EQh41uTve|34nFMEuG%CrwURm_71F+dE?ZyqmH$Ff0G$j8Dfw`a+`MKPAJ zyHIjH6X=lahONieNSL@Q5v1gOGhIdxEG!JGaW(;O2m&c7E0a0wt0=kUL3F+B-?hbx)`l%vFn)@Hsm z>=W|Y!DN8{kvVOmC^a;&RwAI^rEQ2Be0pTCIyUF_p=L}bK#=Wiz>8oZ+6*!>1<)U_ z>s-D0-s_tBBUIuj@u;Zm*RR|hk6vny?_qD0mD%x6LS`&V~< zY5MyY-OA-oef`U=wzeP8bdMQGlx~!;!m=SI1&F(ECf7_S-z$bjv#Y98$A+4kcpMxA|2#`}K>?}!2XoU8bAb&FVK#q!jV`1A_KO@O396x} zgz|{ZioRk&3UCwP)n`zpJcyp29tH$m?yPxI3-C*enkD6$M!We{xO8JUzjd;fowN@h z75AyZ_%>H(h{Yew7)s@_DAm&q*3z#?+)Fl_<7@lKJN-zvb)-PFqh{cxkJ9I%wG`UH zi919wT&TAS$|nS)eS1aGJS``$`7yuofBuz^o~)Aae&R3H_pH39e-P>z9z9!BQ^zWm zs{$}z-fHt={nj$Z0jaIk;G7g6+H>W8RS{w1sR(n2^S^=_J(7Z{#jZOK^^m_~64$A6 zf6Yu_d*9L1b8_BV#={BXE~ymkwDy;f)6vQLrx|NKY=CRZW68O~a=uweA97v31Q)0t z>Y@ufE(QjzV?hkxY*l1`#z5_93YI?+;sPfW=W&TE_pwK35gDI|F``47hmsCw3a!2# zn1Aj&@d}0?lB_era*2tVer;Su9^G)>W@5^@fw4qUaq~H$$a?x75qrs%AXe`*iN!U> zSo-wvEk_wcNSUw)^;o`tY>m&GssZJsp;J`8YUdq5J%&-2nL6;&4CYCKyu%SP92a9_ zEL-R!PD<0Fn>1V1&s?0W|5e!vr$!~GElKP-;X}w`-K8ZtCD~W^cb^qJv40d@+4BxS zClJrNvcxgEgC{5+ak3u1LsTd$7NqXsB)t=XK+29ajIm;dr?N20pJL{zD5bpB)5VL) zAbP-l#E#~Bc*ZdVvgr1vZ{xyA9$+V=O3pmfn-Hy#jCXp@u3NW7{?)wPJW{XZm+E7w z=z1DiM&p4}GmN>EV=)Y|(Heh;vH85=wCIqFgOnE<(dg&r+;I}#L^>r#R3``??UFFX zl*YixnYz?G`OnuE1KVwFp&bauwS!$0LpMZW0nxW>CAMc3O7$mU+v^ln0d{McX|3dp z&^D;}o%RK#{2r}^r*hKT1|9N8m&Gq;HM&6{qC6s@tU?Gy7VQM1vn8g7Ae4JG_i5-2 z8>Qx}KKqXv_#Sbdx2AL>1I4h;@Ty3@S#Xc2;g{;~t8e+Qny5KY*aI{sYY{b}m{W>} zlXWf2K{Drj>3HG!uOJF!UVnK4fhqP)SOAG4V4V=`5Yk7-mLQ&-dgLqtXS@`1SpH%3 z^~_c}Yu#<(wcix;Jy*Lv2FpNiwh$XuAz-B;z6(FtWXb9e9-=9b%?hH3$__G9HMA8M zt5@*=yZyY+T(c3Msu&ecmGTK+o=xt^#2w;(6rba81V8BdtF<-vMZT{%ujJL}&nLZg zjKJ=K2R~vYXt*H2$O&cD*3ia`VZC(TrcY<*L>GjC#O<~g{NGnx-2H*yzH#*S;k{+A z)OIW{b$sFI_*5W){hue-$ahM8>uPsMmsQ3;x=lBw=m1PO8syU_@Zg&HPEEs@x5COD z6HZ-!#>4Xxbfv&Ls{h8I`p(KuTqvv%<@peUj+8V#*WPF6L|RK7$b?N<`qiu8c?nWn zJiIqzyM5}JQK>54k1OEQN>kX#IeWBR{$>b?PvBf9>1k!w`ULEn%UQkZZvG&rvy8Mf z`B|U6ccLO4Z^vIlfo6C=sr?z*220iiBkv8=`}Nodg3SfTU`H$PB)$yPqNVm@Vl*{I z?IQPwCt?y74uzkkItx(z_Xhk_4yRt9Q~93_xIRB_LyYa9jm8^6R4FLMcV`$0;I~bH zo_U<^tv%LE)7cFC^5xO?uLXGAFS19`NiWC>4iJ*P2(?VsI1Qxb*%+AYY^QN0!$vVN ze07srr8PG|A5<&-@&UdG$!!x*-AI+YjEoDJMvZa8!Cpc&6p-e~H~hE|6w=_^z%xek zX#!@!RJBdaK7E=VMZ;+i-g6B-N3X?DT5TO2CQeSp7>U%^QLNv=Co~*!aHTF^Ee8~3 z_io(p+8}!ZEcL%DTacXmHdeY5*N-+Y-Z=Z8hm~s;@lC{5F}&hI@2D4?ynmG=Dg}{N_`8=V2Aq$@g*vu!p^k_Yxj)W# z*BgPCFg`wROdu`)m*q=PvFU%cg@$GV(8zkkHnx53N12)8*xizIXy_!mYG51yJ-3;I zKXxKMbx{o1Jo~4c&yvMsWGSDVF{pWaU%>!Ek#cW!9mgk+!KI=*jjO!MvPs^M$$i@1 zuiNZ({JV<%(`LYb>;*Vwe<+y$b{xw=Z8Ru|WQ*93PSV%cNP6axZpKeB2xQP?e7(A{ zk-YXamhcYiFuOCDAPWcj_2ROd%Ic^JDC4Cb+3h7yc0cI&7e}NOjW>Jpx-VssCd$ zQ2zq`|KT>C{~eNvrU0D5#B2I!F-j<<0@<?sdsKqFvPK zLB`K7%17y;FUhKTd3_y~oBIfB42QNK#~S2C1?cUT*t}#)J_^wqj7xxv^yNVmpofqp zNmD0-4aeMK9ZA+0fozr>A0LBr=5POrLID-300g2!FZR1oboFLk-*w&YD@+&~()gCT|jT>AbLZ26DzZ)Ic(Q*&I&5k)ez zqv8t!cC{~1Kgg}XhJt}FgiR7J93%L%Syo}$*`gAtNhLOvVS!3eNH_8l@h zJX_WHuIf9{O$a0#0O|H(ETw!c?ydw>nV}&%r2aCkVQ39z&!YlKew0UVJyy#Gcg1cY zibO@k6k|aYJxA2X5m3)vT8L4rpYY3AC>0ffSFIqKRJM@ahYz0<>8?%|3TJpBO`n6M zbWTv`aU>8atL^7g$BfIv7_SsNeCMU89&ROOtUqhZ!gjS*Y>g(U#&jdUyt@TMpueAEfxd|JIMxdhDg>cO|m6pV;ZtZ)s7#bH* zhrwj zUsi|Q$s0duhbM2H3BYN))9162vHf{TfeI-f5 zhxOVphi?EnJYfl7-pt}`M}scF`yvy<-(O6+{gB$SV5e0Resq1t0-$#3!Ncdurr-Zv z%Zg-jP>E9l_7$-xIFpaQE^Y$~Ah!@TG`qPLpzOFE^-X;_x^JKJN^reBKZORqz0(L7 z3lNmn(Ebvf!6(93`jD45vch_TiY)uZ(=OB(%kK`3M`p=DRQ3Sq**S1?>^!}FCTpJJ zH>&wgMjt*ffyTH4Is?4KovOLf)MNbZ z2rb%UGgav{RbAX|qsgtHBR zuvY+LDV6_&^uJf#b;7YF>)g0A9T;5kO=RFbI1(HHsBhp!#$pv8CA1Fht7leSI%EKz z^JyY)p{%nVTYp_})Lr$qBXHq$oPUwDQ8J3-%cx0riVEC`(A^)p)IsRySyvga>*8gQaVBg23Ao|gy=pEovh)}fWn;$Z(0FOZW$HYt^~@_%GZKpm>nlln$L1yXZ>g^OTH&g5gcD zK)QLnM)n^+=(nW%G=t<~e@>=j;CvaKcdVG6uf4ecXXyi8Hl1DZ{w@l*-30api5^q$ z%qJ#ZwkxLMRL0xctBnPn${=rK*s4-nFh4HjD(eylk)G<^@pE^xbI02*25nw!AP6Gm z;LL__&8G#-kP$%h=@MdJt~z!iE9Il`pVm0j{N2?u1seP(lyRh zTVU^BI#w)qD8jx@!7j_)&zEIp_N}AWm{FnupE@Q`3~IxSCZ0KtQIasXMuv z>+x&la-kORRo(|zntSzoZ{DhNmw=>@#Uk>3{-ZmVzg*@|SbqtuSZoD@CgZ{BfqGn^ zu>r!*Tobg3O_rIzNopLo(rqp7-a|AqaUx;~AUxj1u}Qwpw7c zThA!T7MG_syL6NNMI7*%!VG-Ud*qf28d1yO)WxVv#D9tWOZ=0k)e48si|}IHi~29O zR?bcC7rmJAu>MM;8MT;>P)kwkH85uIHInF9TrE5?0gZq08vxWhIvRr#yWClPoSeY` z@<+#1<$l-xi#IULe5(~u003#O?(&yMA(Nlh@u4q0F;~^f4Kp!bv3a+InB4u)hbD{! z$RBhP6m8DlI5yx<|3-I3F)J)Ov1zU#H0u|lM0X5lzTDX|~eg(VTV^?b>(`@j|x z6ElH9<|tx;>-GJ{#IO&3KX*#H2EU|}N7O8pc2zOTU1dJFM@nzj-5!_i$I8qcq{R5D zbX*~#EV`{%qF}6UR9mRUA=Gbni9xGiDSb;?ma5ri5#8u0Z634`m{COLJEWniMy)Ya zi_3l{InB;oPzH&U5kPacV*%W|NS-S7L-oHB0>JLV$!7J(lT+hoHYO+!X{sJNj{pn8>~;6GZAs{(Uw6;`6~ZhZ)nXRHU!epYas6zKIMtv-&flH&VE6-zR`$R_aZ2n5t!UiGh_%tU!n*7*8$rB|fS}c*6%0Q= zzrtaAaFlZ_?vqd@f0F1esyFgu*Ee8CXukF4rD1=nUJrwR}d7Gt?mHUpjKG+`}S|i72oD_ zuy*eI5a@Q5YC(4r`q>v7N61KkVW1%3cw~`8tI0XU430mjX7o<;pz4wlHM9GRhseDV zzD3aTgy_(b`c6paYjZ%-Eh}bfLLnfx?gs&rQ%P%K{QM;$l2Q#AhqJadCWk*1f@F4y z;5_f!N!shMJ0MhQSIVm%tSp9K8G@!8e8{$mY4V_;O9DgdUVJkk?sv9-zFeihPgqE9 zp8#}*5i#JB=8scru;~8!`^QS3GhcT36a7VE?A}#U!WD7OD20N?t7=FU75(z^jODzK zl?$HUImqWB2^v5pB)UES!_16~7}IMgPgwmkoQ|oCJ0JR5Mm}V(3CBf|v6HH(sDwpC z+|2VsQ|bN^J{ChuLUQM8PfvxzC~spsD2I2qva0IxKOF$G{a)zjLx(PR;HyPdcbxPv z7b;`&19tU{`^F|F6}|`djeYXkg*&U$`-vV7e05^@Jh*4`CbMg6(Md_06GMMx<=lP3K%JwN4Y#{aIrHVgBWkbzc}Nd1ye@tn`41 zQLc`2@>zTepj(8IZ~A7C^?0fS?%j86ojM;GO}UmLEqs;)*zik2#l061dY=zdWNR2aHwh@YyP4U=RzaJY z8L$7p*b(NgD>%%ln!t4+j#Zn(9Qyg>Lm8g}?*&kABz6>aB_$6psU1r0F$K^G1B03a z=Ri&r3YDjpE~3xB%8Rv6*;$BNz{bscRiE(?Q&~mjHFYznt@!p6ZZOz9_6>S(og`W! z1L|k59iki~4yz4IV%)nL{f_oai6Mq9{7u4-%VXcZ5fqt8v~J}atqkO1fFo;CQ_b*% zTeOS8vKMQ5feT8T#lNi8daUx*;b;YaKFxz&?Ek^FP+A4kYRIR}yrPb&xbyrSORtMc zY=?eM=U~FpsAh#G8Rfn+%{`O~zo{QW1g!0n)HIp*fndGG{{H;oEz-HhT-jjF3}9cd zX=PEnmTsbW^(oF#%fEc#p&j%)bK#{BGw)qv;o@2)2|1x22xGwDf0N3g=K9g$98m)G z(1h+gTbDL@9$SZKx*69@VvTtjlAZh zh*t=gYAg#*wH+p|^9^L)1`Ba=Kv)MPSNxs%)kU4Ngg+n*2Gu8*P3!u8{B40Y5r+B! z^sGRScaLkhtc*}dBm19-gAC*y!{B_TqqDO!vfEtc`}+1l>+vA$eIU2JtqlX5ISnjH z>TD-_-^pOfx(7vk#-!p0)@kCZ0Tlqh->8j&PWr$l9ZHWw2P&9zPa0DKQq$_ zPA(!N^ok^6;CElqT=IfS`Ui65ql6+F8Y29vWbpo#z9xxjUkCDIJUk_yMMpmbxjeT- zLw_7%*nQgDnQOb;l-}OnUo7ttGf9`+S5W~h69YI-7mJvf*xRqF@uHI4#l>ZQZVt_k zp!Yory#f1QiF4LFc>hkv`#<8c{?8NY{=3KjiLE$ho#SxR5nqqBvHdmQjdI~6ASaD% zON?R)c|@jXi=SDsF{Rv4@5>6q{d4DSa|rnM=^F!zSsBu}7a(W??PAW$cgZJ{PcOg9 zQGi+^;+ss@&N+!ty=*BRomKwknqx3ymd3jOXK|x1l%W+?U(TNr5W{CKQ|B*H;K(X; zRRrY3gZn*+iySg{P{O%DvksuBKKOE_R&4TZ+vj!h1s|XAFWov;9&nBRSB%HrSL~k^ zYshz)ubjh)u1WL_sc}RM8}6NZzwrb%6hsY{gDh1~-eCzzc+$BYye@*6=|^cbM|8%> zPJWg12zKEPn`G|3AVpVmyFG2gX{vI8_mQQjKO!1LlEN&HMLz34B64tW0Jpp#ZFsD6 z!-z4iES(G0;(~j^wBMalxk7h(1XnOkw*36W;OjlK63hPXqr9Q#ZS=D$Z7TkynM)#! z30F~RqI+v)?z@7mwe%y6Z(d550<350~wm5ep&3rU8}9Jk33p3{c&;uU!?rHU(C@e-iamjVO}JG zhhB>;DdR=(#|`5-`cr{n(L*E{Co(4+KgR+UzxlW>@Fiin)8vS&TXmVR+z(cT4GjL65ej-EN)}vlMI?6ZpL) z{_*hE&h-T(%)9mo9r;ARyJ`x`5q4KKPL+d}M~%#~**t98F(@u6 zPq%8t0o$0@hi?`aixN}xaG+YBz0%`jnHl;=oW*U3rrX@QQZ6XOVV@*#(Gz$f`}2#~ zN^dk9y65`nXkH&`Uw?S0*FAJ=bZBaVyGFI@VK-&UP~{KG8rL=v(V<%4N zw3D_nGtb)4VTFP7&gO1E?c?W=-^+NNwtaT+yW@4+mt~1%!T#IXdl}1;>}{@`sf|lf zjVJw@KM;`Tx{QnQlw??qUK2YO5#>F7W*@&_ey(nNv(*=B2VBKP);$deX!2u)rKMPq zF=ykorfE0b&&Qt@9P`K4ee(D5AS*r&jg4MJ#0!*41v{KPTQ6D_K1X~vDmXO!D&_qM z8Ithr>2FKb7ow70#^#0_@7!;<&rs22N%RfFC9T);OpY0#9jC4S`E{P+6SDwIM}rTd zhrUZFg61*&uVj9E*}JyqH5^b?(68lnTqY*sU3Q~aO_A)$6ygtF4(GJ*U>Ed87~S_{ zP2LDjvaj=6<0y_|KU_pOjO@0WUM%+(b}@D(tZ>xUe{LBb);aHf6$$D>3|YlL9W5&! zj7ckrs1uj+3dpg;xi{z<6Bddq_EbFIfO&xs-``gK9rK)dNC{ik*h{#8;}=r9KkHl% zow8i+Jm4x#V9fDL9+jE4PjPjUpd;qgsOIdFI!U+M@Q7zP{e^F{t-y*>HTkpi^XFl-4{y@dat1# zUR=!8m!aM=US&(M2Zs`m6#5>l-2k`V_3#iTC1NulYilc)2&5aO-RMTVmp0OEML^|R z@Rezl?eH&_&5-loRmb%Ovu#i5opntZBO(=}%JPNJC3cAJM$G&eV*TnuzcbOhptDy% z!+TK$;XuSqlqIR~VWBv7rF z(l2*P!lPZVpS#>wRBX^?^`T5Xd9MoW3ubKgr`HTsQYzkc_LBs2+Q1}m7B!9H4#IKJ zTVrHUOeBw-_$+CmvHNB$At!|&OJ?RUwS@DF;TnuV+myhW^pY1BRw-|MR#je;j;oIh zQj-ai@-^(d$!XU%cf)^#dwESlCiu`;bgiOG;6^2bp2_c-XRN3Fa!l)XQ*c1E_elVJ z#A(TA{p=~Uq&8`Du-UwCR5#Qgac$=Zk}+|v=5i-cOu~qxN7d%EcYOA|4v;!h&8Hb! zt)>0C=={^WF5*~Z&?_k^)dslaBmL~Aa|f}~m(@oCPe#QEj*DBDQl#Wx5kZ~_ac z@r==ijoIe@#F_Ef!C!#>j&k7VYYWn7zhPgo5ID+V8QH%77Sk!N2RYYa?aUu`|Tw&7t43~}So z)wbK-v)hx57}0BP6-q|9U*K16nDD{vcVTK0U1=BHsknjpQuz#S=acsut(Lr8!Ws>r^1Sxc~S8{h;@Ip$k zJTbpagni*vuOm#)zn!!!HiBrW3r`;0_Qnj#Sd>TigRq&2O~E3GF}r`mmmaN+CK1fWd73x%k4U+4 z#+Dw1U*1b|leMa`YAA_nSaCYz+VQDJn3tX&n1vV_v>Y%I#EsR->mv7mN@^t>N-J}6 z7GlL?+?fh7kjpN=C$O*N)i4ua7PHb4vGaDQ4Tp5JkLsFV7|ZU;ZOP+1*alKT782)a z-{X4PXh7x4neXTQO48T0Z5W-GU{o2~wZ*I$k)N>b#XE_J_zCAit$C!;isl4d6Cxso zN8_0`%l%I*0RJ>@S^LlB>M%8Np3L2#xrK$`3-&6Ci{BU7$hC=LhEwo6NK@c1JLn_ZdxcY=wcBbb^8>R)?G%TosGOUa@!%>EosK6{(n z4Z3#qoQg@@q7$BbTg|#I^V6vsPKhvUZbyLL01`6{?aQ{9-jh>KqvovIN})GQre-MF zs&V3^hBLEh@j|5i))Z>&lSBQ6im9#LUj8 z;t63w$VlCybH;~FyaKK!N&SAAFZJ+cDMG$5LUcstpvEWbB0Mt%7hE90w`IM7`1~4H z?n5yvFbtU;%sN24Z(hR|ZF)kDZ!X~H<&SYN*L|@GLK6wC5?xkw;KkXC2?yp8A)>4{@v8mm?YK8F!M zSFVnvCk)TuSeCYUZp_=FtOOQ-x#1FTH+~Tb`oVU}>&M~A*57=0!5hw@(c@haAXMVaOz&b#ojw$ z{oPYi!1nek`W3iib-4xk)$ABd>JHGFMZ-X4mQ9&WIC$}(zo*)7EI=!9cY#vj!Zz)P zI9BiZK)GrctZU^4d0MBQOkcg&`L;0%f=0`XqCu}p^^YyM^{Kh|opiD5@pZa)@5f=D zY>$=iP>r(^=>0}qf!tR|u)&4S#%$N+W-y;9Ariq4ezEX?0r&SzMdB9xa#RLnj|uI` zUoS&Uv!MjRlQvrEG6p}-kk`nAaQ|H5M24XA%aUM%pE=Ec9YIfz_pc-9 zWk$bp3_Bh6)w?U*PF2(clGpv^2pVqLPyioM;j@O&sKiYA=vsz(0)Q;~N z*lO2KRYy&DaFTtK@t~>UkY=Jg4K?yQOBTk%pIhHb%T}Z8O?is&ih^YYB!8g^%^V)i zA|DEmO~61N%3=Q$z`Wv~P}X0p;M7%5u@^jnbUHVy`^8@C?c4fuJ;O1;#(>8DYfnYy z1oB#4wIf`7XcAVRlJcjWGIm9MGh6TlbTdQBPxlJc=zBnF{A4fjbv}jnQERDq6H}9d z)ZEh>cdMJkSn(Ccm&>=lyIuBSI~er7>XZHBr_f>C3cHVoVPa>0!eI#i%>!i)4CKW! zm-dMVCR7-DiUBGA&|qEY;^C+(ktbQk(EM(bS^G^+Q{9wD8L#L8&>7Rl!@VwkemiFG zX&pCV7x)CPN$s@v0*Ey-SltqIU60;j_TpY ztk~hYVBn)~yqKIo6c7s?!M}*(Tt{uk(qZLKaEF9+kkM@Kn9#{>Hxo~1>4Gk&J33o8 z9DUqa^e&2~ROTx+Qduyo{yZX2YT#iK4lH>&C{uw0_ON5RzUFIfXU)j%GN%hI%7wCB zh4I(YV%1#WFjwGeUlt+IzB@Tu#@bL{M~mKHN_>U#9=N<&WcE;#r<9AcP*)Whxh`OeH+X*8NMBxHVk{s5zXwy2a6n!yN?I_XC*e}NKwF)HJt zhdRotHody(#KmUScbZqwOvYZ$KR>@3^*n}2M-^GnU~H_XWm=lrlzX&`#|u|u^JZm1 z1hS6fV_8$5Xu!JU9uFW&wo!rzvS+qOj2;;1M#SI7zGHN@y)lnPrJ*sDloErMdQx`1 zt*h~o9?E6r^wqTq=U~w`(OP!=h7d4i5Hw?MBP}z?_f^Cc?dDhMcd4lAH}uEur`Qh{ zM4qKdTd;Vu+zm}DDvll^p?%YWt;hTJ7}*Uz4|z0@$ie%y)}n`c1wY4O+yv4RtQ}}}gYU-tdMs1TPEzuvOsp8)11(T&V~%8nC`_Y# z%GUvKOo*+iG3(`A2><#u#sn8o1LS8=c}Ab*<3?DsDdYCF7#$y}s#Pax8$imY?vq>$ zgBuIExiFxl<>ja{+lGqBcO|hjE*n?KRKgO=s$3)}4|s=soBCUd}&(7vbR|lC(Ui z!}s*C3yJH+$5-p;6BQihg@ZxR#++JUAz7Yst&J&FgwDCbsl$3B9zg~sA$mXXmI!a4 zHbL&BuIj6Q5T5s_xdw_04PU>hMQV(rz8y%&2qLmE#I;B9IWVWO5?QsZ!3JK8=|k;R{dZAIyy zZ*^zf#?_WeR3T)C%B-Qxa?ZBz^txo#b)vI{8SM?W>&>ohgQ#QC-ES|%z8Pd+kI3O` z^3Ha+oX&kVu~qRKt+OlNt1$ic5c?|z;3IUl@+tjj4Kz6VnGKWuaKRR-^>8I{?+Aa) z!J{B=#|f@38~j`4YO&{d_;|II+W7F{7~dn!Z?Hn6Ut!(^H>Qh^TW*K2z76fiFFQs% zKhwuUNVQrPuQQQ0`3V|5BS41NBoTNH*h)Qrt4D6RWt$?vuHL*t5pKzMy)0B<&=$>6 zJ%jnI3q6(8!rZ~|?S_Zu9c*LiN=*TnkI8@|wJ*fn@Fl2K_gw4^{8q7_G{a=7Jqr|5 zG9_#4{52Cu2H>N~R4sk%YiYVb^SG~-x13K4?(_M`fGO#3sJ$luXZyH4-vQH6^=T*M zJZ0fAO2ee;p(}oa!G@ixRD)i_d6utt*%{VWN=Y&mm^Uq$wWHqFh*VDGrlAHdw0*kzD z?UhbBTMTVG3Qk>^rmpC{*)lTXMqES@H1zC78u|HD}J=Ld;?RI%E5AphW#NU5TFgBd#1dn;7G3$f-O^1ef~G~ zmMA`IH2)0$Uv(A(X$kO?Jkfcy^7pXv6tptG#F7y^iQ6o;5W4?D#%TId8$AlynDWmp zSS!-0M!uJ>-{ODNW^6#{GA)eLLe^yj&?>pDbqhN;=1c!jlA`A4uDL9dPZ#_h7s!ce{`EUbvce)4MfXzrO!!Z_-(BLLHK9GTC$9~}ue^SUQgONaawI1V zzTF*(+3$>234L^Q)abadts*Li7RPylCfhg+e`ga$xeCE*81Hy4Y=MpPWKTv=B?ioe zHQmx_GNE9Cy6mG_|9y&KJ>VMFE&lA3X;1fO*rDaOt%s|hY9yK4%8%Ryc&>`Q) zE&t~2jvSQ?)Jek+em7V^cSlD_NlDaSOZ_)X?#;b&{|Q#;44L*U!H@Ti#=d6h^FH!` zKF$`2H%x(QlCdSQd)Ll`NkR{i1Ds@X?KU2Fj+E}tU2*Bx#UzRerGj*H<~5+g;z28~ zbCJ?X^WQHuaJQVDA0hM%bi!-ri1ttt* zP*=D8uxsl^aLJ@ z&UMessDw6(;O1yp+|DMQH0 zN~vm;9vt50rWR|^A?~c5Bf$|_-Pg%L zaK^343|5E3C2Th?yc*>(fc8j4nMyjZ%@IKy8e+u#7EmeZD z$Rz{DY6rHR#?LJQxh^$N0?Pc>dWt$D911q1a#_-JrKlGo z(DYBIPGT?kMDbhx6CRZt*#rnSrhJYo&2)F1MTsw1B?XS-hZjT++ZJi|(!+CzrS+`@ zVHt4D4JD7^%{^pY9jzOko@nDW80KC?(zg+c`dO#6pe@8glQoAmbp_-jWZ2h*&lutr zSp;FP58IKuf}_!B3$Jgu9ea;kmv^CYJqMd{Z9({Au9VVR^sdgUWQ);LAGNYCunhjm zOa`!43ya^ks<~37B&S8F+KrKo&SP|0O&yw8;%rH~aPyY_e6CX_`TpS=8udf_qS7MD zgRS5zE(kXFY*Affvy8;>&u+9JZp?I|+l5~xW2Xm4o;s1dPq)QW z?Qy>!A$0y*j4Rn0dzGeUKQ`m&nCq!6OrZPnQ@?M1wh?WJD&K8nlaEY_%FaVJnUkb{ z!1s9#<03NnlA@toAA12K*%+6etR}AltK1I9azS(a#&W(<;QSL@-LLJOWq7J8r`K=k z664D(A`h5h!g7^u$a=v)KmOOR+vGXY*1Q_F+FoDQIMz=NJQN{tQUVuq)>^6YZ

TwPtuP>|eK9Eq5iH$~@T^v^)kfv6WpVt8=hN8vHHw%WQvTa{#gr zw@{eSNxyu`xoC4W@;2<_jL-^r3TX0uf!Ylg8~{h!q|W()>8SJPZeU*poiFFApy+^a zfdu*z!iHY})e>Jx03XJBek+gVxM@tG5*y)|c1{nl$Smk()loaXD(Gc=MGu<3C+Uwh zh=7_H1;Bhl1Ih<#2A#j=bFmj4Zgvj{ee}Uc9_0f1%5jQMuIHiR>Cc2f-N!8relUdS zaHh^h_H5Erk>b$vWqg42?_b!aoF8=|qkw|f;{Lmr0OSA8<^!BWTPwoVTy%=69tYa7 z+IRvk?pN&eq&Bjf0v;d^2xRD0W|%&C5KRdSR1H^-1Bf3Y<@D6AsN+HTJ11w2Phxn7 zAA2|7Q!2J(Re!#O{pHLAJKMWUCMxOwpn2JIorM%Xt^YH`{(nmY zh>h1lA?4&w73w&I-@lC5JhIE(T`l~Ni2un8Vq5^9#_Qyqu7+TB=ue?0hcHTbMsPnE zD4t7IS0P@hom&-TJM~A#VF_%LVuT1q-T!|WqO<8EC zNXOKwn|9eWl0HA?LHSW)&;Iw|Ik!XMqXJV9bx4e0r6#~MG4YJ^rTsV}0(YYRq5=A{ z8jHe&bT`i_O&i~oKgs(8zA3lV{>)dVisHwyfs+nJz=VEqH%W6Z-%gO3KT=_gY2l zM~?$Zy8*2FRmtsj0Lrngo2oA_Bka-fPs$6a7>sg&Wp@a-y3xy;TMJ!WHB?~jbn{a{ zWwb-aNdf8t0i6LAF?ZFn%SjqY-pHyY-!f|*AR&~leL~X#t6>3z4usCTXVrRT9AO7> z))JB}<$^cw>TloQZO#h|yl0KPG*+L0F>^~8ei?>ihlH$uQF}_tIL&Z3nbwMKV!?yH+*9d~ zHV(#`Xo4!J!q^X&WaO3LeBe=3o~>|eCA>Hq6APX^1g~=uo7wNAXU8^Yrq69TR{sLf zx*4$)5qA}%f?tL|puB(Sy6ouIcb-Im*I>Jf>>s}dNS=3`QXW86rg}58S(e+ytNK%K zHlE(uW_)#S5cB?PV;F#*?sdW>kn8DV-YHk5@20arUsg^(zVS&-xcCVl=bN6sx;9_M zXxo_rtBP9>2cbUOw>Gv~B)5Ke6Y^f?7%FE?*dX_@w-vfbI=n~i`Q__A^hGX6NllUu zZ4&rJP1B9K>aqNOXCLJwp!+?I5pHHvF(qi(X$OcYs-tV1N3`CbvtRiU#%M@~vrujE zPok*IjJkA~5^6pV7`ZSZZtTX@oL8l}=m(&5x&y3y%r{&GJj#z@ zpYUJ$`@Qa}+fCZ^f#t_t<2XBe?fY9Q6)WkhU%0rJi;%1H>#h>x*ud;|2(VY#l)Qfn7vDvZMyA(imim1H|xH_&t(7S2J6 z^{&)_vwWvV9S7J6xns=7e<4u70a>l3B?AoJ(^v3uY_Pd63|zPl6XW7_WRkrDt}*{{ zqT{}(K@w8(ui#wLkzPOT8-z04Byp>6zNz6r`~^Ka$=Z{}dgOG7u1{db%zXbaB{I-A z(|W~nQIIzAv#s%>Y(tXLh2Z$30z5;#!>Q}Z*rOv8=>9Nf6TFh@1vHPLYCZ=%k5{C> zcfN9cqqbVz4fZlNiah?VbnM-3;rR5-F!9jk@986^o*OduQE`Jd|~}}1x0qwEd&_wztA<4BkgvNv&b2nz?JOnF=8ln%n1z$x4VyC zQ3A0rJBzZ?ogq@q{<-r=88nT5KA~K%vBwFENsn~B<;)H(#1j8dK{@&iE-vSJE#Z!& zrL}3pp9&7FM7|{t?<|>wl1REW3sM)*2_zK367lr7lkb? zEqp5I?{&VLA@)nh;%ua*1oc@hAUUokNnJK+d@sB5X!p0w!W0Y%Wn;1L#Us9gs%-6Q z`ko&(%~QPu`*hv{ zI$TC}b>_AX(@6YrmF8(0Va|T6%`i1(jW7kC->X?Vl}A?$?9_$8*mVG35qx1HGE=rH z^w{HtxDj2`C8VXK5cJ*WZW-?&y!x~=YOa{$jQ%TG-`mmxJTw1Y>CvjvOL%N7DRq^9 zm1X?2!AVh5%an)_P4jPH7=Z#!u4hJq9g!{scBj9&glRs3MM6S9MmTf5AV`XQvAuY` z!|5SV<@i`c%eQXVxSzk>Cvt?MW96-Y|Mjh%I5jWIMfyl){G(`)+iwq}Q@%{{tOFeD zyaEfue#8q{H{@LO;qlkUEVp*p{3YkhzrkKl&EyQXgpZLIS4N$H76=*0chIXs)<4vQ z7}1)C;12d|Ik492e_u+_`R8ca=*;kk4@xLHpTlNumgX5Um#G?c5sbFOa~&Z3x)kGg zdJ$aeop@-0S&tAYUZ3gth@XABKQr$WWU@Wb%(L?-4@niD?puoifthIo&``no&K~_p z+eR!t+Dpb;eov>f!_~w$jjq2wng2jyY+O(GbNP8kbu4$-l0Es^Z;VbsOUgh#0HOeX z=JeATq`>H@&QSd5L$w z_F2tQP=|XR5q9JibtRz9{+vqT7u{h<0_R<13U_?Fy#DBo?yg1qO5dPA1KyQYqCOfV zXrKA~o%fvS@+w|EWWSW;_l$S~+=~lD|2&iJ+sMN}s2NNFPz8(P7?=ybv`*h^#2}1_ zaq2buB3H7h4x9Xf`G>TJ?a9Z@yVNxSDbykL{d6$^09y@nX%r=;K}O1I!#cxnrlrbf zH~Yi3_F}!7C~d7-n(XM^2hU1Mc^U^zqw2SuaQEO3cV>sT1p&4dFexpvFG?ya2K~bT-e~OMDg@Q9e=^H;$0Hq<1+0_syye*+d%3B8@S5XW{Vlhycl zxj)|FgRl7@<)0Z+x+|+~KaB*nawXln5g0&H5+}fMYe?xXZ$Vo8H11UN56F{}5BEQ* zRtTM=JK;3P5jdO!5vbhQ5c$yMTGCWZgNL&G!RCn@%UI}1O}+^pWS z0`?onr8oGbp9=VQSzrdb-|#l}m06KyT6FU>zV!d>yInfej(KaYF*)^bC+~l9W`}vge1j(MTr!8k>(7wv)%)4uW?+3( zBEZTxCAtYb!d*+soy326b*n$`_}$*Vma!kc&!8Ptd!;JP$@b~Gx82!UwW4)A|F{fd z=J3+nE0>&JCbeF9d3a-;GUXvzW%TZg*?@_wTCkju?Bc8j*1NpyJ9ffB5;3Be8PaHHmqxd{NCrHK?yTs&lE{X zYu6@KwyRz?Y4UrKHv65aU=+fkg4&Sg@y~lKoBk2k8p{DO4_tc!e&_w)e#k8hCe{-d zNDWl41XSx1QW6IzFha2z_rP??zR%3zak$Ut75enCSVABz2w;MOUhEHYJjGS?^&t%L zjuyP&=7F9)4+=OL?D<){4lo_8+(`Ph*&*BXZaq;-`L4~E^X!UwOj-wzF=38~;y|kp zLHWab~+e29AIHU^ZL%3pYq8{MQvb=`t-mrR~ zg!WAx&>SuyA8x|%5;7*ZuWx5^SDH3$1RUw4xJy>GgYfY1zCIVYCA=sqVwqD_b$t4W zot?g{c%c+O$6!_n6_%ro;kAsEw9G@_e3_6+sH)-a=>)Lnn1$|!e&e3~hO&~IDMSlWsjcPlwi+6Z zCS(>=DNdDMkTd;Ya#98ei)WtoL=4}-a!~cLA*7{UyTZ=iX7E^XCbHeUC@iqCkJ@wH zL%dD=%06LZ{HUhe3Fd^CkmDXvrntqyqO<66_DGxALd=QVN#O@E;^v(biIbCDu%yzl zcZWSuw%#$Q1vV5rvnsNZ8I3_)3Jogcz8~Z_YEik3=@OxFI#zl}J zmyxoGB;Q(Hj9cv_cV>>zAb8YWt{mJFfBpJS5>-4hwVVJuJr2G~_G*0bxL@=4F+8O> znf?oj=--YI){riICJh~*Rd>Z?2e3<^kYX}LYA5~k0?n@t3?CftF`RXb+VIZ3LcJH! zS|a7mI`D6@l7SWsNHqQdnr32$Hr8feSiV2dcf0j!QY?dl-3oAu7p*FzyF;RX9LIJ~ z=fl(k0|zJ=fXx@S|uv%USD z^!ys4Q9W`Z8V|bTWbppjw=EJ3}prFC}o^zF06fs~(VSojzK2`#7O<3J=-Sq&Oe@-P}L8Dow><6(q4uV14BLvKGy&wC^fp2ZS zmz<4F_=Z%&_Y?%No}SkV*Gn|W{uAx+ubH<2T^3WH=o~x-blBuQv=9a^?(#ObARFH~ z0>jXDQx`kn@}`2(LYI9TO^r)Sb>F}<_pLtkm7eQGs}K_Ito=}^F8%nC+|<;x*8NxX zHDPZb9~%4BVU?z>oA8B;tkx_hBtm)8_fhEj@oDwGS*@$BVOn8-Ncl$*#*DJ=4!^{0 ztFe~E`CT({N-ygT=^?5`i292HvWXdcZ$W*o+Vcu?BIXiJ6-1jb+=F)d8*eb;wb+5EA7 zP&v?6_@Qvtm*2TW7?Yp<-Jz@3_Vq*Qx_Y`1kCmY)KkBhh7YaJ^@{QDi;_ho2nq zTQP0Z?%TH?mIsR{@5NHc`80ltBB-%~^%BEF1YH5IFghg#=%4<0G`ICRpmr6b^IQ*Q zcO^?o1Q)ciSoPs{#KYN)e67=CSI15#+Kvy8Je~RwPFYw^mNi%Ae}jpc1^!tM0SZl^ z%US^7y(9+44ZT}B&&pet06cp3bDON5rx{54FW-K=aT$VmEn-(|hKBoj6?T4zc6>i) zl5u-JP%5wGq9-r4?<)mn;{iBci+6OLpwV)Hy|m)g)BM!&7;P{)q5_BoXW%uKf2W=* z!VU^0yz7l3Q?-?yy~N0Ivodsn5M*Ox)7$D|U_b-8(nT<5UIc&t{M6Qf1dE`tvLRA7 z<2!Y!bR~3JcDU(gKE@9Sh}lx>b7p#K5!GY8v%^YSeYJ+#>0LOzojg(kB~$(j&CN%B zf*WwkILfMRlr`qBE=RlZoPnj(NT}K+9iGk(B)JD7qe3w1=ceWu_%k!Iv4Oz@%n*zg zL8>UL2i|Y{Z{LVzvZ}2wxPI}`joF{falCj59T40slIA49vwX=bC>CVkVc!jL?$#-B`e$`_3nG)mEH?4weKNmmNDs zhKAALz_Y1pKMdYwlXfSxpKiAou!EPA%w-hrq1)NbJCehOQhJF7)aU4R3*f`vnCH%6 z)h>8=L>Q*2-|0Ev3;wuAv*Pe%kj_Yb<}+rZRO>()Mndgj5Q&t_C*alB zM$GgP#Ol|59`^&Ge`80dLLguulmQl%l(bn$ca_PjRYpKhJJfCO%WOLz-7 zD&Bgs-S(yrD`Zmp8dQUZr+0}dY#Gc$kzJAk8Iy$O;S<*Y^Np3ht|d+p<&H->cw~SN zn1kf~ZDs5?Dh|MdFMgZ|EASjbH-7WzraWjAgfUvYOi^z&rRFuUW$ z{mdlXtA?@pS3`{M;5Mn}Weh=MLqogiW6D7AZtd|K4=MQQ8_5{;V)ivww}w(86TLoC z83~tEY;bWa!i>7}PJgOEsKyyzk>Z4p{4o!AQ5V=?my-lVSZz0rzN3kQ+5Qez&qLI7 zEFkY@>j6stC9{|)CzLC2!1Ti}(-x zgD3XVzxjtud>6n-vo!Y)ZfpaAyYLIGLU)uM#4D?O-&kT=O|pLeNqlQT(`lDE7PvuM ze{7~$51OLgQJY5N&N@t0yFgg&jk@A`V?ynWEx>Ll(`a~oUPB53_C?5pdmDRv@9+r= zar|bE)-%mwl?>eVf;xNPuJnTIXO(9>-hLf^y2G}_O=Ek$r>+9lPTd}dR1d?9AqQ$r{*9B@0qwdU4 zoX7!`Vm#%`)e5pOl)b(A>NHNCJM0Jzi(>O#05}uY!dFV-S2w=gcu;X=Y-i&x2>pNm z#n!gmDZzW6KI`nUMBte(1+Q}>MH^8Zra4ZB;%LKE5w_KoD-LG5yJSu%JNh{R44H$u zt#DXlG+!a(P?9Pd>mxRoy7ms!?l^G-3qoZzO|jV$|HE{Q@UNcy#dK&}V@0gn?F_KP zy={z=xf_i~j~~1o4dqXTHzh<6r>QE1PyY2{@g~_-NqG_d5V8-T_8z#rA<6 zaOO4-ux0^4!c2$+TB>{c<@EmJ6}s?QI-+26jVYhA()=&=js*IE>!L>fdN2g+0M5^Q zRv?_V_|mfv0=pMYc)KROc*4Od=C%6ao&q;lXc<_JNxpnS3YZl!&ztywanU#Fr(X); zE!$B;rALN8?=-Z@YVI^|1WtnbxetVUa8Eq@Ylf$vPa3;L_7Ho1FVj~?bhT$eYvLuJ z=Mv|RGN{hz_rc=@l~Z;eHTFxIgL>P=%U^|bjT@uEnzFXGc14_*->wV$S!Q|4b$t-| zOH?F!A@Rd)f^dPey;bkSvFqb?-?(`$wQ-e9wzG$n7US4&D1w3B?l615Q^=tutM+hm zwAi|hcPX#8wc|t08^AazcklE(%c?Qd0Wm-}w1HJm_jbWO1o1`A9jS}Dgu&)18PIGp z+{6nq`JRp4SoSJqoRh|!9mlA`ETEWmDU>(t2UBwe;!Ro1o0Jvr(>T>v&q_h>l|diD zDej(V{BPnE;I8a(Ha|>0b3h)spWWb1nax-AUtVY3xGih1R>^%Zj%VUg~jF|l}1qY?-mTU+D-L6mtaDrQa)6FwsWN&gb z!foXP!;9}l5WyF(5VEFJo{0E{)+Y^(x z#-{Z&M{mA(m~)w@fGvY{;u7S9c#7JaLKU1YX?{hlTDby@c&Ug1G70fJw)ktP%Ijmu zO&VxXh8U!Q1ql&U2H60IwljH%kJR($tLP+c?B*M87s!+CC&b9uOK#yZasiAP9h&k_ zz>-~k?p%_R^kI3J^=kyHu?vB##e;z2&L+d?{VM!M_Gfc~z((EAR3QN{<7lU6fN~wP z0F+fst|JSwVf-i#VRY^+GkhlogCvB;Zu>H@`3o3T?6i3UfgEgCB@S#2j9Df*28zq% zgi{&+A6-z;#bj2?juI0WWgsR(&WKSJ#IlB(= zW6DC6Io%Tqkf&PP}@5zjGg5`a)GE%@*+gA;&uGUELj5Wi0$IqacP*4CzR%vzl6LG3OTUmYEtUy#Gbp zTSryZwQJ*>E(t-pMFgakZbSh^LX>WcE|HE+D4<9vDj+Q)-Q68ZY#O9C-QBU->zmu> zd7t;3^Ej{&2hY+KV;ToNLZ`-`90t_dOdXxKHFIl<*o0HzrsxNr%yTb%;Yg z8SwjTRb)AbL}9$0FK|J{fMZm9NDs37!We4`Gfjm}@b?2Q183^$*#^l5LCrFq~%BQAYHQ0Wrga+1XR@`ePv%U z+2z+5db1G@e5HRW3iR%b>Y^K}{kUG#c(K>dll?w(uEx*J5l}*<(1oFs+OWoKXSna& zAypXf<=lby6$*efxU1LsluUlzQ-c!PJV=?|bn~@DM2KR(87^ zcbnyd-k5ok{)#f)!e8!lV!IF-QoO)|fhgC*CCZ3{JqBFo5qXZ&h`2NO^~GxO?f(Jlp5K7c_Y5j`-s^tso zHvFi#be#vu><39~HfV1@@m$Y6#kSH5---D)M7&z+Rg+%3;|BK*3 zTCyy}Fz-cxp3}>l#&2|UhWmIan&bSk^Dp;@_rm;#s;kA;jYRN0j2;9EU6ZCE0!b`)!4rem_2@ngU^L!Z)`1vm zL9Bxxsk00(M^n6-@3Q6-}cu1^jtWed5Wtc$J-y>AzzvR{KQ14X}M5D^(_nVKTt`Aq$Uba?o)N8UHG$Sh;Nvv?Z3 znVRLJrb4dZE&+L=nn-KZSO7YIOeUmuBFr0cy5G#oe)mKH)XT>GsMd zatI2VL84i!cwtYIRvc;1;VGWyaLz);X}_RkIdeM*iJm4iGV`VbK^dW&Zmg!qt5y>i z4cME=B$W6l`tuH}P$|4--z;DrZalp0L_L{0y8gV07IvUMPd=B;yDOyP3x}s|4=@;; zOwDdh6FI+WF#3*MOQUAQ#QsmN3*X)FgMb3SQd{FHu%Go0ahyQ&bKHY&U3?KZEL6K( zd!X)V-i0%_2Ob_HI|RAn0+_WIa2aEa(zlH(tnAFDix(P*mQZ?6Zo~p?5(t97LR|J= z0L`I@?gD|J3HYjsQC<)+CDQ72w#+cU;0Yubh8Wd%2jXeB(bW2f!__4rzfXWuj2w-dht*i;c^OG zHWpeY+xA~wn3UNWJ(&X}2VqiGC@Mw)y&nWp=`q1TTqu$WMd{xJr8%~yxztE~5|c_R z$i_d-H|4f})jrcU-x|l0y9vMLYZ6`WO}b~Bpf%pqppH=_fGld*&DKQ_5>Q1}-KnLw zMXnEO(V_@{J(#xS|F)c`Tjc3Z61HZPfUj=IRj^aTe_e6Mdq$qnzWNFikXd}?V!d-P zlLYeFo0N*_`-8ln^hA?CX&vZ!Lb@s)V{Y`|jnHbJP!4(vppgA~z5RF9zfY`>749O;9zn?C%RsiS%+si`cNuW!#ULcQa+0Y6?@BhCI$E3G&c z+silZK|>ij=i|qZd^fH;Z~CwotI%NpqlLOS9J4%4WuSrqgEGn5*?7>?q$UrBti?_k zZ|g0SBTq+PJ1pQ1JiOF!U-o^VeNb!KG6pC&DP+25M} zqi|GYH+0#1Tk)-hgKGYS|7v_t3`V2hBzYhg2XP!t2erq`IB)HcIWK1nJzKD2#H5YO zhR6lDjs7ZfT!24Ak3L6tK7Z*3#>8>NN=Q}B%iSRbv)92^Lh@TzrkPn+gwQ1jTTL`# z>T}p|H0gfvM`+{?O8lkMFCVaRixf-&m@J0n2=f9p#>Cwn-FkZN=Vv6h#bfYG8oCOc zZx8(-=Nkagd%?X7!}5M;-p!_qd&yc8a*pe7q)G83*y< zeokl6v0LuwTTY;?^&+QfiOhlkF;^v%8j2F1$wbQ^4!EWIjGBw{!VLWC-VT3Mw5!oS$}(*p!WLY=ebj&V751(Z8%s%2`0p8pnKHBw;)F+1b)e zs^F$`J>V94$O4afJ&r3R{pez@#j>C{OdH$L(1QHV=n?W8jE^+Xdiho>;}ptwLa91w)CnfWH0$-$-_!Vr zU?JJ$jBcTuFV91XZ5t>BFmU2WDVffi2FypcZ<&rDtwfOF{0TP7LCzdR_IJ&6-v3Jr zFk7_$RFx6v%VR+_%VXGBAx^FG8~PRic(YibhRhVv2k-<6Kum@C#DUvG6R)V4U`B!eYB8vHcm8bo`0yqD^8RfgQn709n0X>6&bgyZ|^)hY~s||!}!ORV-2mr>h z$4zW$%OVuvW#`3Q*qyQdqC%9@SpB=!Go%W>yVCg|5zqlAXEJOB3EID8#p9ED9K*Nea z4IIPd|GLBykqt}HD=-aIbC3hRQ6R`aAC+=AbKsV-5nWlK!NS~x{X6l*RwN)=!RO;haD#Ug2lj1kSao~jJ>a_S7MWm) z3FAt6x+RUgg+kf7IjMSVuZ4Zr4w`vjj}3EhuGbGOA+aascI(O+0t)=_AkNyFF*`bda^QbN(pWw-i3uvRqU@47e?ol*PXzn48rms2D@fN zm%UrP6;Z!nt%vsJ?b|0Biv%iK=FF0r-oXEQg+ z_Z(j-c3_Pr+p*);ZhZoQD^m~_1##~;DyClAle2}1mnYa|_XeW>M8uEGoNwxy8xqz1 ziUR5^z&BkxxItw*mqkwJCWglo%!~-xwrv{)Z+IVMU)Q8ojIHm^o(Ct&dG~-yP|3_b zuz9S903Q4|0&v9x=qSShC#jiiQG~a$K(tjK4n~fn%jSrE# zH8{+@8%-R7cR8?vaUPClTKSxyEl<#B=_tL}Hg!+|&u#6EzqaOr>)!1~56z)7Pi*-O z#Rf%&D^5CM&2A@1B*eYf+~xee&^ULMBcd8q=W0;gLtebXe+LxaV51zL;c z$S2JPbbwWY^fwo2C5p#6!((T^X+U(@@xm_52B1}d)mA3+$$;Mi`mJNIM$9RXJ%7!; zXt^JxtTE^vO6&Q$A8RByn`ayB`PRd%ob26z!z=%kaveMkLKBr~S# zh#h`s#X@)$8;^bAP#Wees~egWT=bXtvlj7}n4IbXxL+HJz~6U&i&`L}VblTD0J?S~ z-d*tc2!7iP+r&dL487h=;&j`rSqJHI-y>`jd`jr~!gk>2BsxHmdIx_RH^!AgfL@4O3R!EP*W%;6Dct`9@RU{K-9~@T;=^{~!F+*0s&a*#>$TK&lWx+F*jn zNN)fAKM`c4__pb6Z#{*hnB-2c<=kQn&bCi*axa~qyQP_vB;6mNSETl^_8?v6(<_=s zg4f;_j2^nHj3T+XZ_;L!>vO%j@C_`?Z>XtsSbKAAt0@u{^VAW&9}Ha6+h&26%8Kw2 zJhSi4w(0KPZRSw|{L@ly)|i={8K zDV%%0$9;pBx7E<&8;AolNuF@RTHceZAVXD_-CO}WQZ~~e-7~4v8ee(e6xQ+f78Qt1 zQs#<^#u)rZu#_BMFUj;14lIzx&xbAPn}9Ae?i#o%bSKExz;LBDjpAg|*x3Z|6qm$m zH48_E9{f1F5GwuceMUMkV}od+Lxmn5s#n?1TFgi*k%9%N%U|AoEEJhoGVGAiQo&Y38etZ2qc_fPAckbAqHLm>t1-oDgG%^1b{-ET& zEm=Ui0JMwX{#6)8LKyT-;RF<>8{Fcr!e7$-}*>>BiZW9nF zrA034{PtIYU4z!+T+NeaHh(j0L-y1+Z02)iic% zUOLMj#@3B|fQ}Ch`3=eE!b-x(La9}p=X6B;#dW;++})ba&3uE(z8-;e(3JYCznT&8 zH)Ov|2n1DWCkI;vdo;p5oZL()lqlx*thQ%hjEAmoj&Z~A9uR=Y4l)@2l#T-kYf!oF~7e+M)tSII>Xk|OLu|^_ePV9v_Ov>btYSCg9uyo#pqP#-R9l1 z@6K1Lg)$wnB_;c&G8gM{b&jPKzt`CH^PGx3l4dt?wpC}?TRQr5TT5C{5Yymv!MIT< z`YT>z~Xz-#4vi1ygM6J!wAq+uB$3;bz#?EF;$+>B;_tUv^u=%Va$#>XdpbJ>lug zSU<|CK%cArBj2mjtU?BNk>(Ry?dEf5)bFV6zPV1PN_CByHTdp`LVz`%Ojc8ZZ6sY; z$QxD`IRMog%FYGJ74`P_(^Fwfdkr_pls7E^QWs|?FM*D!{jugLt~FfBH!bM+5lQpp zY>paJK&|;iD8TyHgtJw$2mPHS_Q%O4^7P?&>NF3q{Gt(bFY|(T2pcZ#nYDsh_w{|F z6vK!x7V0{y(1Ic9Z2zh7LLwWZKe=SukV}1xQ80 z8QFwylt2Wh68bLZX4G7!*Pg62nf=k=v+6?I(lDIESwx-@Oj$<$GR(;e>Gs~k@7t5v z5Mc|S*v3)=>9HHQKxAKby%WA3?24{Wlx9Pd7Ol}7+#{MpTIK04cW_TL0IB^5sHbM| zbJuDF_tbF;R7vb@M+-_y0{DTJAm(Ouu?@+wH{ft%q znupCeqy3;Y$?X0D;TejmRf)_OP4sA2f!f^uVVRTsghyj@f#WinvOL<4p>5oJGjonNNr2*wF(|&okYWrg)Sdc8Z?B6` z=?#U%rRx5pFXOz0RnF8%S;@c*8UGqyt))!4xE#`@Bl+_a_Sw&4*hAJ*4EBy$b%Cx* zvX~%bBA+jszX@KZX_j+>YB2gj>e|8UEv%yO;(H0Icrbo{ z2_D=GwXOXqp|kaZD7YjZ(%@y8r7bK`()uDc(4k(A@+ z4$!iL3>Kq`3e5dn-u)>VfbQw1X8C%z>GeM)1$=q_dyMcYWcENlKq?PQIN=zcI0A!l zV}GZ3{A!oxz#4y5I7$C}899j#I}-~(Yfz2ve|7;{$aMz8(zJ=9>}TZCW|!$#nPl1d zj{ihxkz^2_Z6)eO^BM*lcy}~27QKI^A6~n}=^=?b-^duhUHc+s+26czn>90A>-y`H zbL+mrS(gRYP#oBIrqL%0jDs_VR3Scg%h~ok=nSUOW?TPC{>4gNVP9nwV;=u6xHw*~ z4-E7Jp;C^UJ2rwvv64#pQrNq1XJgn$ymG;*I?}Kw6k*Kc zXma$xD=^HTT5Y(NqSkm}bL$0L)3p3$coKWp%M}_aqNK*WO?wU~E)2;oeFQo+5_q?6DeUpZ+C!P7ziS1Ff&0MZG z&-D@dfywHnh8m+ znT;DaHLVu7OhBZE_729P)jdY66fMeXo76CcFcj0OU*|gxndjkz2F`b~y~;ZgSXyRy zi*M8a)aaJ{0z!$ku{F9oWM!YR2}n5jqCm^$+9t~;kD%{CwzxlBy)`)3_DUYcB!^G9 z+(;Kwm#PfTfzCv5-U&=&!#;JarJoD_NS@)bZ4F!H`krm+nX7+hd0e$-7zOP$@*+nb zL-AMQ2R|Oo^bo}hZQpY{lhhESxkctU?s(g9fMsS^O#QS%eZWkXowY|dM`$nHoJlQ# z0Jg(G@qTAGes{28?*mPbCM%5Q1Rj($&92Hj9+VV)+i8Nf(fbCjOqQaYxXx4kne$aM zY=P%k!uPzti*3$i+TKGGh-AJ>RDE+5-E}CCPr=s==X>nT3hE+WKC;)EdQNC)Q=mF5 zeyZR7_G^7%L)3dq$u&kMh@5}VMQgOKeoi}MHI(L5GInd2RxCJY@*v=hoi6*={caoG zFgYQLsF-yF@QzZZM@htfvS=O4UOLY2 z3D;D@Df~@?>uQQ6lpN`olM5@&+HY*jId6NnoS0qUJ-SrMloR4OMQDuRo#F5!I8V## zyV*t1vscpptBb&XO(yEIn`#j;w-)P(&${wVbv?{gr6gT!*Jt18BSd=ao;b3jfELff zW;#2h>pt(#>A(NdDnn64~<*HhybzH<{^R zTSn02(`ypocJEHfVdthKS1|qD4u$dJZg}%Yc`vHz7(_|N)nR&nx_W(B4LAVbCzWPW`B{O!&R`R4yfpS)q`tH&kb|{8GZs>j^Lcof-b4Lh z<0eCnEJR-Nb@<)9V}(y=87UaJG9FzOJi=r?twWrF>8J8f)+o19iS=IHh zF${%w;+iGa`xrl^s~hWxo0wiw`eJwGlRhywFoYJJAH$nl1=1MpNd&=7b9se#bbsC2ysf4u$i<3Jw!Ho4h1HLWa zJupjzFl5$k!V7w2w4y^CPaKu+JnXA~(NIub7Zjbdcyxo^`t_&!HWjt zpsD&KnP;cRF{}}opO_$sJhX!bl923H-&YUek*GV)bd5YUg0tHhvvQYzAvJ>@#hEpe z2oL1COYQEJ3 zRG2e=TESI$Dma=vxW9EHxjKWi+3_%BLjU=NV6_LymP!26-Omy4P8&{$cXagfL}=o~ z|8k&j-7HhCfZux~g8!%<_jeCIVz6=oiD-b7vTxkiF_5GfgY2Dacc1q;j9Z7J+po=$ z5=y(8NVr)N;>UY@);%P@M6$&etb~WbveuFel~*-vlp3QOA7$kK4ea&PASrux|0}EI z*~QunLG;q4q_=giDS;U^y6@xjAgutvryClyqb9@FB9=1a-2-fuc%|*Hp!4B8p&~omXfs>ypQ()6|(>j-W!O6hS zhfv}^Pwb$~J)0oVcT3;`!eoeckM(%F;RZW<>b-Cx&~Ed2v)@hPz%MdWr@R7C|1-V7 zzVfGhAZ7TNmbhMzWzb{wYx^77{p(q;>&B|W1+tTd$zd1<0gzvz@^tz z;X>fU8bj#zkTCfIanBydUsLM0bCm=R@bl3nkNOLA&1kte%WOhCtIaN3AeBEjXJUF} zOLTUn_odeLQ3T*TC;r3Vv6jn+&k1KRjTAvO^R)+Bu&nI3<5%}Eq=+=QcUvN1=} ztt?lauZu;|qDgDU7QTJr0#lfXknJyl6DHjcyb_pn!;qf^CAm@*Mt1OO{f$8VT)99! zJKbmMzzduoIBx~nd6%Wzn#r}yE-2X+W5h6%U|zF01m?!>;Q4nC zpVz#EdO|4dLv&Zm_F*k{rDnF-ho*g+Q@Ff{B+RVlWAIe}+-5#SOwj#(WKij~U11p( zt8p4JV1}Zk6|doTCb}PsF^Oie)XeFM+!vnB&EdnvN-GwdO-_u+PU*v=Sa=Mmv}`H+ zj*UP?Y+EXr@h|Le-Z9uKjY$}cZ#LW8f z;ZDvO#VanSYqe5$`qffy4$1lIsK{-EHHLC1XO*NM5mV~bIxQ!yYW@ULgH3rh0mKAG9@;KPSOh94xK! zTxsAtT`qYskZAb~nLrvN)$3Yl2ItylYCM|vezw=tTb`>0pkCX&wY`92p(p=Hs)qJ z9Mvv}Wk_xtot49~H_A`0Xh%sYy(nY3EGdvNvv?`F?t!`C9`A>uBe4BP3jxqtRJcJ( zf_b;9aRs&H7iOl4?F5vB79L1dDw`V)d|r9B`F3@W7`6xbL6*@SFlmXZ`_Uit`^=kg zXT(oK*+*>%BX?S&LQ+`F(6oEbg^6aeVZdhvJVKg>ZAznv0pWeM@t}Rd3sM-8;y&ha z&o<6}66U5^FjF-;?hz^F4^sezba3r{j2ZsuQoGKEfdno)Z-f)M{QKFG7@%;Tj!3RI z#P#1+3`KE4SnEgdg)Ju@pS8hDV`G~{wXuFcKK=a9(|+A^W1^ELfSn>gL8A*WyB<)Z zcA^Sr4oRVjhwrN$cp`3y5h}MC;o$w~8E?{M*Lo?FEeeD+;<@|ofa7ea-w}rSxs`tW zmlj|qqkv|%K+q=_DE|NS+juUs9ZmJe`OA5rLVNXxbNQF<60n)ZF-f{AX=6i$y_RZ%gJmkFIP?+r82QmFsrcaH|M|G)h3XdILKb+_kQ38|8NLD<@{Cz3K%EA z&yNOK9Hy|}`^kuIQriZVJ=K7S_LVxIkPw1=*m_BHdZK;Ano`S+(D96dt7paHDNb9H zl7H87>-?#t{6lxEy^dUkuQ= z7|z3amGs2Zi_RV~M4hrep!@E0W@h0Ah82La-)Y}HFld<1rFs1lQzf9+M$sJWle@gt zIwW4YJDBna@FWwCWme(qWI*jqNqTOowgP>&397ol7?c%BA4(s_6Hurlq;$KSX9KTLt{cN!k5))=tR;)_vii;^1sj0_`J#jQWVdSH`Pyi^9Rss86cjc}e>XIk*>xX~9 zyYwl6M~#QMqFv!1j)6C%oxLI##>(Uwk>lrJ5b!Gg4I7Q$V&v{^H0k3AN>)ELEAR-G zXN^;6t_K=R|AAOo<Zi)&*b`W^kv1`p%&#{}*|(djH`5?oCST zhiG2sB^=n~K~7NE%p5q|4`nSjsa%eLZ_NqUQ~qIV*|lQM9>dC%(p4 z!L4J3?eQa6!j%T<)!(h)Jb{qV=_;KFH{FMLjt?KQ+6tF5IC!}tLDJDjlqHtJJ&2yx z#g^|EJX{*-muz916I>Ea11 zUJVUcD_gykPZ`*MqgHZX%fNt0!RI20g(WjLxAm(i@7IF{^bp<5p1v#~9IlwuzM&n| zM8&~}ubBdJ2hdX~nzvG9bW;obU~`tMuV+ks)Bhp_n(EH3`hAH28TNu5i8P=XI)B4d zRUTJ8ll#|oi4@SW&(>P+yWG|-eg$9blSnF7&ShfIGdt|QkN;np0SSpJ;+8-H7!1YX z{teLqwIki(cu;2|%-^C3=Y4Q+EQ9W;$JX!V?|`TxpJ?}HG6zf~h|a+L3o14{zEvPQ zQWTpi>uoqR4LI@(#zPf@0*h8Qk9QBtFJNmqplH0vpQ7;{A3@RhDi>N}(01*aXBMCE zv^B}eyAx}oCeX=Jo6kW#I^^C2=&xAtB_AE5_gJ-Qf2}NM-~tT8-A|%VHe#K%htI(o zaMv02#Q@$$S3{i1gNyzjy*LKeA>VBZDKovt6_Q{0V=(q8ZHj*U_fUbHYFCGK9vvh@ zMB5c5I;4%Ug8^2c_psjNg^X-e)aP7P>L}8ZPJUjYY~>pU0d|=@ju@a11)tXx+1E~( zTZ34y&Q!hZ34eP8J(rHcFWwtFn@x`C%RBkXzsIw~HK0?sEtu}xIa0>J4_`eDvy}zB z&V5hLc|7phUUJd=%ud=9+hxLjau1C}h$ZQNg=$04uy2TnhzRAUPK*(4zEKn-k8NxZ zoenbPwDHl_|5%{54k zg=|N1wSJb_+Yj5JT%#v;8kN`_PJXCXkVen#KG`xH7;)FGj$N7Y()$Zk@6PQvP0Y9 zq9+KlGy1sknim!&5fU7ax;D+b4}R|iwRisd`H1gQ=Pn3Wl4<0>JA}aJ?G_@TzyC_! zulY*Th%Udn*dXn2`(~L6%P|6+h2IJw$ z*5n&-CzoY`D-62Rte@oT$ejAyj9~t4dQ#tJ=QjSJ-#K39@KVotVC$H;jRQqvUSRCY zK~pUv(FZ|KjDgp*GD~6k*Yp?_tjy!(ik#X#PIsBPiLcu zcI3V%_;l%y8Qhuqg>5kIK5=Co8mymq@!hweJdSv;fyMR!2|`M$4Nmx3Ja5M?dIVnC z@<*J@%AC;noyh5C-`+yMpw)gv`N41Y{m*mw57sKl;{I8Duo#3+GX1;@9h=Vw{1&2{ zE@T&fxhby{O|aE#a9A>fs+E{l1@j%iv}s8stwR$Qx5l#BTReZ2ppg0h4zxzc%rW*> zYB*2@-G>Wak%&nd*u^DIP}354%)wC--@pGrlqMGh6+eH*3AjLV^fE>*jWKL(fo-9` zebdHVZo3r!R}{bYbVR%9slM&2-pu4nBfg%tCvICiHN!-YZt{7+icxz}l35BiN{dun zJ4;4tZx$hg`{*E)IOpGZ--nMat@hho{_<(8mHG`}zIB|d>8$RMrWhToV7lPd#E7o_ zcf?bZ$23A{IqNI_XTt;^kL;TPz^C4XqL1uv$4@J2GXg6%R_?;lt{Hn(rZcM#8HAz* z`;;*rL93k9bOTNJ9B?;<L>!!nn&u>OqJbjk&~Uoq3F%4fa9<%fk@lePm~$ zN}%_BWK4D5NiU>8w-!1+HVUU7e4%Q;GXEk3j!5FKJ#V8`_nOLn{ra`MkM_~7QghAo z-vf8V)%R`*J$R=A#-qMZdfLH~o{g{#7&bE_{4mS8`W6-Dg2p;qmob1A%eO6dcSUf} zn{zGCowxK%Js&x_6@{prk8pGIeelCk@H7w|$usJ8W&P8!X};^qti0TOSdp+4;GF9E zmNPww!4s^Q*GvOm-4nLUF>Kl!S1;M|{0LKXOgZ_<3JX=Fpg3+pjZQBVONjqr3gX7X zoh{kD^3ToJN@MWE@FT;IpH_h7!T6vAtOIrz&~+V;ByU|~+iH^uw-c2W^O7SdxdX-B zgBzoHC#UB`Fa{0alLPcy3)hm1%WhpKlsabOYQrxWOjR(;BgHvWJ)jO6pBicDYQksy zb_UAuS;J21AP}v?u7MH2WELGFKV`qb7kfZJxteu`R9D|-M+Z!{}LbRFOmTWpPA!y$fiMe_5 z>3{~a?*?aZ&lB}5n-?Mikl#5Z&xF&RUr9N*NNt>GA5#2$YIYAn0!B|rPdS_2K~lQ* zUJpX+{6NPZ92Wx?9q^HrsD12TUtBwef4hYOoH|*J=foKO*i@JQ4XfL^1*wu<`Q{IG z#&lxF`PbWGxOs<$Rr>It&nQcExH+pQEJjkr%#T!gf@#oJufrDAIjfUzm zi~t#o!pl1GG0}_YzOkqvz#J8A{;o21Z~qg3;WT-xF_IK3PymC)Ji58}J7e$7=wi&` zyyuM>(-_#ZLb15&HBR`{U`B(L$kCNd`Ni6`l0{>UrY_I@ymahA8;|=*Z&>{!!7gpC z=j21l*!J%UOx|T=o#pP0MlC1#MugSZLaefWKl-Ut7AC7GsYXYUW0#yxsZ)=(jLH2q zAy61^WJCTCY6PyFa*R3tS_l)LpKZWZCI496mSc93hQ^C?Co?QMAv8s&U=Rp`VK~*D zCuc-kvoXS}GYo%31?C$}FqD)$Y+&R5DPwq@FqU5sf*zwO@Yuh#z#5p^a{K$vLoNM4 z!K=C!M>+ddA*}83j{MZIKWdqaklR>|6;yzE8ijkZ>L(;!RabqYbF(~A580xjaw{*m zP;6IX^IU~p^(}^xVB>5N#LRM>AqYny*&j=pHsCifD({(ZMPL|%#G~Ryk;P3_^?SH| zrJ(z9gkaXz)F9RkusjpY2|VZfNoKH#+h5$mALO4csqs@EXQO2sunNIsBv`OkzXk%O zkT=|bRdB2?dkoT_0YC89RSR%mR&H_zzE~LQoTW-v$>R-ca4i%Ap6WVW^o|^T_#0Nv zGq8b2^+m;tg$sBxZ1>{~FncRhLXCW2r?-&^f>jVN^QYev#qYUzQG($RFo(=y|5=>i zo6lL+W?1;$*WsRh5e;7!;-bXf^B?sA1(btY!j6MQqr6sf`!9|_S|XFH z`grBZ0Tt8GqarbV>7|2YA^Arcbv}P&3R&{*TeoNPDyFHYz1B@EfIAfU@$B{K+qZ8o zGt{W-6a3g~`1wchFteQz0Mri6RW8eqVSPDzf=%pPu$^C4c`HOK_;;zM$6R(y4X>Hn(}iU$ofciM@TpZsW79 z>X>tJe+Q7~|Jb|Ip!Ae_WoA@PX9%i9n2MkE@#KfqZZZ^HdnWo+V@#>bUrH|1KhYZ{sVWz6+j;UO%mI_>0;NC zzB+IB0}_u1c(9B|ewPJ|EB&*gGk6BbXgnOIYpt&Y-d0kgmdBxEVG-z#yVb#G$?F=$h*#PEEYr1(^!ZpZkXB85q3Xdq)ha zn}HCHDn=r5mv^REkbNLho2h$*{pP(8l4Zer69NehuRE_Xlf784TxY!GnwiT7RJJkY ztC*C;FD>So^Z5vD^A_ULkJNqqj=fY2YbCH>MiZ0hTcl-%_6HpB2SgZZ0R!n$QwlL? zm`+;Y0p_2R+soUE76DgvX0irNX=KK|{ogcz=aG<>Y)Y#O`KDt9(`Fo_#ZG^$)MGyr0bN+qa|Qd<{Cg>-m5?Vvai59iyk}@nvmoZ6(}aMs#??o!h4Cyo=no zO>2*7^}3Vg&35lQd3aRLY;K0{>^QaY_AL$gjiDT0;*9}k+|BO~$00a2{*HhZ82V4* zhsmc`^70`oJ*FeQunady>wH1#>Ge=Ux@Z+h!+*X$?3MZ`j#W+bcbO{7J}ZMnQ&|F7$ma zUu%0iu~G<`PHWKEm_ECR$Q5*b{Rule7T8L@`4i8hPKY4o9`($BkLfG?y?ysZN5yw@ zM)U6vuK*0s!x;uX@9AuVGdF(ZB+9Fq6ZnXWyC0N0l7attFexKe%ZRyhsBGVoC?cX4 zNN=@gp3my#>9+Lu$K}ZROE*nao?U{0p1!Nmpa~Wi>bUQ>23}Nn!m$c*A$z;lRIYGO z^QVI!Yar61E70dZt{-Up6&mX1v^s+9>>CetbciC4Sh)FaysoRm8AZn&LJz{4#=k#< z%uF8!tgYQxt!$~k#2pY6l=iCosl8TUqHurnN`KmJCr4ys+X&gM42_QNtijnQwjnAk zp15f$kxPbn@4;I1rT$#Nfe70$IpX%c1|Ceu=4q;te|ZMsXH6+m%4m}-ONxP-YvBExPuf8`o{=1Ewb7@0QVi&^&{;W%Kg7JmPF_h-`@Jr!WqO7-YJ6Ilhx938wR>$$7{jeM-p5BTvS9IQHD-~fl|H98#qK)Bl-s|Xj_8UJOatd84@+LYEVM+hz!cU8 zA6oeu=3;OCE+H_GlmvA`7Z(qg)Z z!7?{0xVG>K*UwAcBQi$=d>SK#XC|cZDJ0Qd*z0-yEs2W|mA~vJKQRU-K11yMW)pW$aTE zSjS)4p5JiWoX)#Rw^pbJe9aTsxWD(%q` z*$bi>u+ojy*@is1fVNDeAAi}oo0eOS|GZ4}olUU?ob%#`>cp7+X)W9I(9n=V1{I=p zrPQ$0CVg_bK_^GI&${dzsBG|+;km52%q4UVB_-w7`dhvOtixdh@Ig%zL`jS|#P3av z%}b}HJs4;2RN`WEU{}%8Vv}uGf=ul#6pgcVxEb;To9d%>{CWm6dMFYSO|(o+@j+@6 z{e|r8C)2QZ4s&DiU|}D!5gl_8vyTw5HoE?voT}CN$CEb4;V#6?L{ApXfBDCuFhg|K z==$ZlXe5?(cdT$TV}8;K-8hMwTf!avf{`(&IdPfw`JWdeCtt*ui3mzuJxvHmm|#CNLL%vJ+*SV_WKu?cJV;gdtWR6@RDlUT5Y9IZmPLUycL zJ!On#Fju-f7W<6z)#7=8wXTlNOY)iE$Yh$NJ&N_`9mEdvBh5<6k>X~;*n1uJG#BOr zMJDwsdXy0rA0IX_pe=(wnWww?j8J?tWEeUpZUn3iwvja(Pyjlr6SWM#u)%;oz2b}S z6y@jfCQA#iPKKuN3TWSEG?E5O)uQfj0o^jtP;8~kr!{cF zgnf3096Qen_3)DYj$jD$pTk?fM-SXIfPcBg!xNYhLn|XIn>x6f z(uL^A>`x0%DuHjCium-VVPP2`sbNg)_BJ_8-*ATr#+Li!3as(>?>HmEhyHfR$!IJQATgT+zZIGVYVkSk1*!; zBZLg@N|AlJjz2ynHnL282a@$J7y2HQ^VlBWADCoez_^fCDboX)MNW$zPNo^wQ^04S z0IwmCq3HU?wbBVq3A`9wlT?Y-?w%fI*!O!{Vq*N;UM!lvWrpF*%l8ZCjfvcSCFk2C zsE16&%&9)Wobmi;Qj&}h7&w4)+U!;KWlQDyYRXaZtQ$iDs-T16!qV<{t)h;WzW-E> zTjm10W7iUCHs+9+n4~fo!5=T4nVplvK947v$=~i z3~#A@6NRnt;>C5?%o*u!SH27i<{y^F41ApTNiFF1#~xl@&3WpKJg8S|LqAt6hgSOg z7MEMV8Sul`$3_}2UlvnbW{JStU&5jY+OD^lxD399?l^sliQ%|$kj6mi1Um;S83slDm@rUDSEyox)iPEV2sc+)M`lN>;fu#C?Gl z;jyfh-b7!aYXyWVQkC;(hwB4b&Pf?bi)SF?at{fsTrC;w^{*U&!S0n57c=FU`UTsz z6|v`Dm4dfe08bsf%*+0HxJ~P?WH4xtYNVq#*2=todd z3pFq>5EU0kbTqk}O7*}LOD6HtYh=E0(@CF}jGPl2Y-Z?ZG;kGzG?=BonL+5u8;w7I z{%l@&OI750?q*Fn{%bhr!-o$6p!cpZNe9Qq(h2C8)A%bXDP2ApdgS5S%XD&nuBMn! zX1#v2xiV2vaIcK@1;o0d-RVzPoOD_w89_73ma}%fINL#PrNM?$tirZ$tDHqIKI?I83%cW!SdUVFIP>Mq$d?Q*5xMfE{^9&QS* zU4nHBverDt6n~3M9tNU}?<-G4?iRFCqsB9`!66T-bE0*;^L(Ihp&_*FOjDnHUWqHy z@4<;;H7nDV*T7DzMW+au)xV!fVOw>61nT&Ch_EUAAKKnBDz2t!8{J5d1P$&Mh!EVJ zK!7A@0t9!5puuf`U_nC&?hxFAOMu`I+X|)z zcUN~;T~%F`3r^lz8XXjXNj9SGYv=1!VUNf8O6i?oF@l^66{xW7`DoWcmyUl9h-Jo=a-l;pd8NDGYr8JIuH$Smatd2cyzChwIgU*%Na*!8z z4{c%Z1wKf=U&?ZWy57jkOKWTUoP1^TH|t+!+8Xr(Cc))NF!np+`Qa?lt5>hw4{D|X zAfvGomi%8|0G~^WGE$NiDQ!vtA4%P_t1o7M?}gxdHfYOF|4zF`;Y*>Kr|@1zMh2UU zi%WK1i$3b>*H^FI1?}!&#eFs4xrP*8^z0Q=UjCtkpw}R1!Kdbnz1(eR%Y9J@x!H>k zF}!(F9gV1Z3{IfT-j{}X%o%|_a~$CwC|}@t1od)0q((%K!adW^uHWm20pfuiP$l2~b74GWU3} z!*OI?X^mMr#Y;G(=Qbf!GiRC=x7MF61_J1n1Ul8TE`^*5%fOxL+5(!6iN|LtP9G z^=E>=$sEa|S)Pzf0@PwCpRJQgKNKay$9$-7*T0kS6Z28pZ~K)|Q0_>7+YrQ!X(nAE zKWX@?EF*TFy0oe5c`cHT6!{z=x(Az1LVnU=6SG93I+X#r2c2yzo_s3X3xqSZt>VOD zB{1Myg3CCTjzv9a0A09+PQdV+ zaVY=6u%`S)z4wv!@Jl$7q)w5NSv({GQJE+)B|+MuY%sI|O*TRj(!a=~Xqj<%B$4q^ z_Eu9N^Z3kaIUKi+fP|@b<@2@?PRIiT}@hl#yHxrY1z zcap5i`9K%YpG&~&>X76g)at2Q3GqLL31mvJ1dU%uN5^38*)2ZrmzRH zQ2WK+^n)AzTrDw=wAnj>gv&k})}UY%wLXIWYU+!ifSeYUZ}zImzcV=aQ;?fud5G3@ zu3l~>i!C+{&Z!a+ORSp3KMPWS>+>oV4 zGT(=VEXRs`eE5f9jmvhFTMYq=Rk_(yZm*X4OF+%7A4A~j)bozPbT>S)){Wz8Y@lqpAScswg4w8vo?HwG_8T1acf%qfC zc)gHx*X0t^SE3HUz1WI@M;+Q{WCT8$%%@K!#v%;-{2#$e*Lnpf4z(Zw2!n)KZ9OPW zup=WQ%c-xgAMJ6Ep&~{R(b3u0al%HHMzn#wQeof6JTp7TDDW(xNqh}n1tGF-cTHJD zCRZ%FBln>Lr)!1nzIx@>obJbl)Iv_Lx$vW?g&1*YMaj!F_&DXT zrmnAo)6!@#LR$R(WO1|&4dGEDm%?^LysnMUdXSxtwruCg`ZISY5-a;FU@{E)V5o;Z zB=AQL=C{uq580__3KB8N@IDbcmFd3fA4N;Nx|9nGUUng~{yC2eCJ!-b4y{+g2A@@T zt^%Eq>;<7?*5d^Jm;Py`Y>ez`PSX~z!CkY@yG17u8Be}!sbe8cw{;v_ms0#;|AYH_kat( z*!$3EZP?lkev={eyZlVu`r~wD#UpX+ooGd6;un`}Be(m`I73?g%nd$+o5=4AE##?H zs7n_4tl16sP@(OG z8vSwQuJw*fJE&Z4vGXPjf~ZpnCk=K^!U7zujlxGeWDU)>P@g_j{9ud_w)T4}m}BRLSBLf*CU z*?<4it&RmV*H;^1H#Xlf+>@^NHq0p=8kMcJK6hURboKSw7t=)@8Ru$jEWTqb;vdY_ zbb#_Qc+^1oG+@fa{wjvtX9f5N7_tX}p;0nCLy)Fh+}7}l(EZ9)Zk>4w1-Ks+@Dn~$ z+bP`a)s$nbZdf}kAokvpA9;VBAYF0}3;Q!zsp@cZYUT~C%eG*9LIB63_Ce8w6_;av#{IY(g?sgHWrk~8 z|FjJpuanBGR>nr)xH3zEML88~QJ(gVpzFT!1rndy&&Jw1b9@H?giA?FwQD?=WqIR1 zmTJGspA4H5rm?oZ&hP~M@J@J6vUUY_e6?(G`>pqCB-G%+Agy7?tEV-Liww`mVdx>a z-o2e`0av>F83)q-h#=JMU{2slw{{u`LFFt*COo|(;xlR@8HL-vdxnAV!~nk87x!d2 z=}^C@lW8fX1vrnVd9J}W0XVBFOPlM}rPuEK;ZhV>aTre+=eWc?7r$Z!Mv<EP$(V|K-hK=!05f3#7u*fxEN>$E5s2586Dvo z#cPhex2Sex3kN44k@~d74y2z&RerVLEKfDzH7eeI? z33X8Uk40|x#xS*m5Y_VT?n8Tf`+JDWl12zcL^R*H|HtzpOuIoJ0umDDz@6GmQ(0c6 zG~u9y1>O6I^(Q@aJ>M9l>#ZOk9zSy?A9?JjX`8l1Y;%6S8`gK49n;T`f>=}_)oEmEOLNJs$paK?AJ5T}1`Jj-Lw$mCqj zh`8<94^m$Dlz|(7a>??>GA__t-Y+v##C6;xgx52k;U{+lG3>dsr-yhiO=&31#RtQP zG@^Jsy>A2bbT2kKdwL%2=y0O|{%PsbH-nTvE!S2MC9DXjND?vaZk<>*2%Iyx(Tp)ywk;E@EhX#BKP|1;(WV(HiTb*6bFXZm#xCIM!9LE!?e0M(m8SHwH!x9lv zXU|cRd?$8V>@>=BjDgWw5n7Ct@V%&X5YHlMrf%kf>~UI=%Q|XNn6twJQe2n+JkHuc z;sU?~JUO&uc!o+0F|cCYOQ-B!Tl02)Ohw|5;%QFL7kmwe$%GCVk`6Y|Ewy4%0`8T; zzo-YE2^G9S(#^uOX6l{0@2KW0q%O!r(_md_VDtszd(rU$1adNeH5Q-@07fJ^0064$ z3$9Y2EvK!2Q6#l`&D@`gjHLb}e%`FD&s+Y$tNK0ZIQ@EI5w94c$j=syNr z?a!hCiQ-0#?B-@nTsu!-4@AwsU#7l&ODOugd3k3CJ532w&sQ7_nPhvO3irCoUinOm zi?#eqVjYn%K*$Q2-i$=gOhwvi&;dX-9)!m46w$NAD_vD=j8(rlg#Rkd9!+Hm2{J1R z;Cp)@P<32MY)1 zM>pc*LdkO^RM7@T5WgyZ=1!iWy!X=6&D|@ObEC}l?o?-;EalZ9h zhs{M))jRV)fFoeUFJ5%MRaR1px?feCcWCIvdVaugwOXBPkH=Vf2oc@b?n3TsH@TGV zx0mhn_5;Bw;g4jIYfS8oUJ?c`i4)>hz9_dy+D!?88-acaS)1y zF9)I({eS;94D_3Gr0?ug)#^Q5e6%?z4U)gd#x~#p!vn-$hAybgfC%UvungL_zI`Le z*{W#eB1unAcd!}neg+;|1cx3M1zQ8D&N5F{3 z2EE~XjZd0Qv{X}Na=S^y-tdcQmMi}tgFK>&0#;{zu(L)gO-^7o9tiJxV z*rNCN^6E-XAwuxvDX1Rh?Fvxj5fTxhK_HO6(9-!jlhe+x3wQy-V92aeEo=ZZ(ft~o zf&QAK)NS#m0FGyq{OngZB^P# zvjdWEwJ6AZByn0h(mgPsbfm@0StdP<+dGCOI<2I@H>XV;GCd&$lSNn!mZz}h!&NAq zc!bfgXa^fQ6%K~g;3A=_K9~g(CGmJu4$IxV#5tpM(1w#-0rV#jRFRk+0{eZz2RzEL zM$vZV+oHLR>@*|ngq*)ay2&I!|&qg`-61UY7)1n zJ%Mzb;uFp$72vX_vU7S?31Xo@TPPuu10xsVJxE#@`_vIEGRcNQ`|A#7`VY>*SgleB z=pbm#NE|g$?<>sDy@k_xDLe#igO`wfuAP(hiE(ls&yv2&SFH%R`gB;hqo7i%+daOR zDgvS1aq}HYlZf_5!$bw}db*sb5XYL5ZDP`P{YgBUb-rwM3G z(GSoQwJFg$NDG`BW-Dy1!ncRxv-9#Wz|HKveq!`#ySHh&;%h}k+-wP*hx75ZBOB%^ z&ewn1DjpQEYEgvFR}lfr(_VgRK0~4@q0;XOkN4Q3kP#qR;}^Gr_#HTF@a;L=-MttL zN8aT0s7BGYCG1Ug40Z+m6R3Xx2)^zJe3$we24l?LEmKjHevj2g{h{bVF4 z0_d+QKfDNdR_&1WfK~mQ_B*r>&oceTq_S)pa|e#1$A!eO&8!9$z75=7^cVM~#(Jj@ z@b*1bPEXpw2cxZ=vFB|jj9t&H!|^}nXbd;~aJ3Ev_vSBPE}f9Sxw#*w^MX$oqM?K! z>VSSl6%Z?Q`ayHT+jV>5f&Z20!1_(`1C9N*V^x*Ody&%4EShs`{f9Izb1& zq#O0m$IGuu;H#hS5VuF>2{i`ZQC~3ef5mHLBJbj-wX!9AbsHCZ3?O%cX{dZkm;bepC_XS6c?psflGaHXI<^*~9T#$+0fc_KjQp(FY8eR5++0&Z14Ny?O zDLNz!>5Z1^2vlirH8+bYByr0$>T36kVkDz1)%iTSw1sAy`gu5VKYb*0>zdV=M>@$@ z(>q%y&$U)^eDpZbL;{WuJmcVl!hhMnHn_H&=eoZs&mZwQ*KMlN>5{Z==l%SQWhirK zQj0sXwQ32eQ-gOL$EuOpg!Fxq|1-0`o*aBEcf`$Bl7vV9*{}r1#>Pe#NbP(6d}I;Q z`iuFw4F*1K1PHMKZS|FFxu7$FJU~E88}+9sP|AaOoE+Z=T^E6P7l1s#42M{ z3Dv`4${!}Xnx&Ed>6B)ixzPwrEC9XQ{t+MusYEgAxODJ3jjt?N1KOD5H>|2c&vpm~ zu644}fno_w8SBO!uBW?V?C=UvTT(|cny6Ozf&F8^`}hxL=L}myIHKstf(ST1{bupU z;CZpk>hGf&(>o0xiIjiuSMq-C&E+=cV7J6-ik`ysQq9CL1^nCW_0_HUQ!;per6W2Z z+Q070aaIuIy2p|d0oj-l%#K0>5;Xahk@0FvIuZHlsV`CP7uK(rUJ{+&*H{U@Goo-E zd*f~#Ob_& zC|1tiA~{$j*kM%yKFUC5p5yK3Ej*fIrG?-89`NC%bFue5D4AWA)q-f${GXzUM_Sk# zU98&b9oq(WY**f209WvQu_9V}p8UG5dPm7Rc3dn=XnYFc(e_bTvYqFKtD=CIFsx~5 znRaSgz|{uUZLuH!S5e|*$?XXT{!?;Ph*UI!1&4Bq)Lwtekq#-qvDcevWILMEiXGgR zvAnU;IT#vJ<09E9phy+-+PmtJku8n;8&(*+#cD1z7b+mquwzqa_g%CuVs5;zwn~7 zgLObD=;PGL+Iza_Vp=*z=S%C1!#sYuT^fzemkKcYgmi!n%#%U75!YL{PL9W6fgdsq zb4w?ll4F*?x%Q^JeYpVAxlEQGO>Yk;UZIk~9X}&jZJ{S@OLG-y_O>(r6RK0?buH>2 zl;d7Fegf%aXODmbPt3J?`B10ZdU>q53%r&;VkPCs@WLJV7FjHv0Nic$FwQzGEc3z+ z|EQp~t;T?S)3+u1b`Ns6bsK8a%IPi#f1rJIS@8UYbsV9+I(BD_0ad1iBS|Z@ourJF z7z}^eCg6T-;F#4iVBJ^fWslSPGzRFYop<&vOAIkGYqdK87|v zz%xND|IE*BOlzw~rj+<5nztyripMDlE~a3qmzP$yyQ>3B*iGP}(&-I0ug!$u<3cWm zU%#y6CwkwpG4ipPMpE`P<9{l}2a@LArSdjpW4Sz&q7iP3DaJk&G$P&s z_PLaNh`g`}<}!OUXYK)badyRP+uVV2AED{&se04+I5h7HM&NEND01?(b_Y9AmkZ+= z$YrEJ`yMu*Y<}Rrot?dx42meHy)gWW`d{3`=v5hMkpfG){UvmtO3Mkzqj2fU|DZuU zfO|T3-OvCt+w;$R5wpWX-S<=~aeXxO;LoFJzs1w4ad*)}mh|HI!OJLr0g-vRvc=Ms z8r0SyaBP!bFaQkkTWvLtVJqU9bvQyekr3DJsA5pY;(k9EYnd$t9IP^nSxlDmqmOLo zs{8wEhX6E5L=yi@GDZn>0)tiJljJ6YA(Z8k#S+Rw(W-vVV zHKfh#`yXm#t98j|g8DAHU!!Z-C&2=B>tw3jTNegjHWAONCap-fC0|T0L>;DCuA)o1 zS+3d4S*w`))`8ohyHC+oXLaFy{moKpgkL5g-rW=fj@UcY0Mu{ILKOGEQdUT@o}w#B z1V^QQX`JrDEVn>7v9wx)W$&dH&hSLwkY>Y19*pOs-3m7zNsn^7rgi{~2ZQ`` zRQvi!aQG#-xP|s*;YJ9_nH`KhR-?A}!Syb#l_JGLNA;JaC%{6K9KTI__@4@T9d5yNxJi*giJ5ZXebBkA+h`BNNDKB7S(lx6_ z8$Tg*KH$%dwbg!sA6>Md-cA`^B zWhTg`V1r#bQ=3_ZQ+DhaCO0JR<`ruyxlhim=2d9 zKJRrI)LpAabEY|zx7&M}N~qa76`GGE3BLba*hJ2x^8|#q{Elsslxs&>-%W-IYfR77 z`uQNY*hgY~XqmqGP`C>p*@>pP3H;(fyA_qKe%C5Pu{;v)0{G?1@VSFeo|QCZk>C9d ztn~|d9MI@c%7vfjJbVWLVxf25%5NVdRyVtKGmNe3>Fo9&xnxvKL314)ezU z-{5Q$ica1-z53x%|NexE8RcmB+&hCAljbwk=GIjG05C zn;>h2V)??Msiew2fC|+RC@z1sV3`^_KILv@g=$Ix%ShaPOxsSZ^*FvHC{myzV^-+p zg%yqq?w!p!2;{Ja)IP3uysBvQ{oD!v7_68kR#8}mIYv$W?L4^er9NqL ze017*Ft!yQ-aG0EbR8;dajFOn6kvSG>+z99J+0k}QooRRwB^a44l2%r-%m#ko5L{H z)Qgiw_I8RL5BJ*?T7}-Vl)mn(i~C0Xqzk=x%`9tn!KBq;nGUQo)0Xij8y;?IIOs?! za@wDNW=)l4d-lZ+q`w8`w3%t4u#`eO$ zVtq|D0nxjNejP{8eXnD&>Q;465J-~+4UyDyJ^%riqjCU*4}qX&$#8<8SUg@U93uK&w2e@K%yPw=YD`o-l21a6NDU-Q}w;6~6~6R-^yX z7?K=4v+SOtT=*`&{vC@H7Oy!q*TO%6!a-Xgr{*KZqxcTI>WivGPX{NbNW@>X;&vC; zYb!d`%-tCjbLV5k2|3X?DMsEUq|5QtPE8>{EwL!*i=0rx`)r=BR(Yf(ZW~13?@0;c zMaP?E8uuyDbMcax?HH7{7aDk$7A{_}=c~`Uc7@NqxnY!qjp5j>wW;pO-ghsBkrxZo z7ii+~MD{u)hiOb37~hy5j`z-@);Xs0P{Pami@}Ga+OuF{yFj78nvU&-Uzn;&=d`TF z2~Rk z=f7`;ORW}tN{suH$FFRl=_xJ0tJc~w(E%ZRc zI=U0Smli>aL5Ggx@2f?VFLP(>rn*%OuIzEMn8_O0D+O2J_Q{HI)<7 zmb`)ShL*gP?W)jtRta7Fc&<{-%7A@Q9u$+u>X|vzsTXAcSb~Y%02_1P@ zvjOxH&B}J`6U|-dqBKGjtCdx=4;8xD@pBt(U-3BnNR58v40!Rj^aH+6?JZXPcfb@^ z+fDDSHQ}}gz|o@mN9}W07|E00Yv`hl_Rm~J`r%&7{c(9jPXgN8rS@H^!{n}TWjy8f zq9L9=*qR0cJ>jP&C3=sW-3IIqdUJaoo`$JK{&q4+0)}U)k z{QP`7KA~Mff=#*%K)X zQSU;a;fl@zjP{+K*XL7Sy7;wDq8wEmeKoi~OQY*0%i2-gcT~N159f}={H!r=G_H?G z+0~*rbgv%+nR8h*AQ=E#n?IBYAkc5rpjSw;F2Jc5qj;ju)H>`xylLA`MAy|``K4O{`8C?O z()E-q>}~A>aDETi_<8)$S|A<{?T)ZFnJU#@>?WP{)}QY=Wg*{B`16Z5xpu)%8svJE z0Yy&y#n4bJQwxg}GaoA|8%o?GzJti%#PF6m%Q+`ByhvGENDa1mR;MyB|`|ao_q{ZEcnc!uPzKOyDDTjBGhH=@;bz<{l(|FBTx)0t#riNoHMIFeB1XNDl@b1H z+%xGwH|oN@roJL1WGJ39U!UVKv(s-6jX9m->Guq zf2p+Tdwdp)f#01OKunGKZ5$O&O0g^eZ4IkKYNK4kvaeTVB)N~azK?xqzGG*SaQ*Iwy5_|natg5QQ9=-^fjg=MPR@LLM{0a6kWEyD0o4)_lXjea>Lfj4n~%NSw2T zIn%o3wF&!?wb$6~U{ifIX z@_N}D5mdHSm_9&n-?Jd;Z>cCttvyM_H`D}Gs&lP!m#^?%b@lcwS0IufCVSvQ`1Bq^ z)DIzZmlospF(@BZ-KD~FG2fcZq9AbzKb1nM(eM}VQYF50mr6}9FkjT(;QXp-5&I7A z5I+@MKlgv)ZmlhlQ{S5haydQ`eo@U+go%oZ>So6-a`W(zoc%4PRgct$l8&@g$lxR; zCGqc^v5)SIWpZk)6Z6(=5cis4O++m9!5Vbr2r^vxdY^yei57aWZ0-9T&DizbF1h#I zB)!`n)+SxxN_n1qBfDg+wc^tLUndGwz8nY(oRn(0Zu(O^qq*?fNE!M%K^kFDz zvUS0Us==rCk8Bzq2eD=P{5iXsmr@;s)l8e~q}VhOU3Byu#sitnvR~kyxD^TEpU(Cl zT<-BbD<4hl>Q25&p0%xSsFnEA@*_QcsYpcI?)Tq$?>X&OAxni4VBK z&bI%ubq{NDh!u@CYTALPtwEUPW(W#~oM1<vI(DeP=g`?F^ZEEYT+8~W61I|453j(1+)dOxOA5Mq zu)YVq`P<{ZT|CG^Sq=%F+Nl#p`!8@qa7SU~@;~qn{WTBc|BCzk_b30au%7=NR{Gy= zU*|`sssY9V>8lixF`y>^Zs{@{2W?6k_~T*WtNAZH!OP=x*pFQc{U_(f%5$+9$xe~x zpKaZWT7L6f%qo}f>}}2+s=-CDjr{BhtzU{X3L0FcuAl`B44D;{^EaQ9%fmNU-`kw= zE?FxYfj&Gt)$Uwxw`WHOjt?Q;7+{Gojg-S20eN#FXGvZ8%=d*Bu|!4 z?!y~5eu=y?dL@ndw!edfKCo-!BO|oKufDR`J;C@`Qe`dVB(g--^SbI$m1Dz`WN3hB zjgo`&r!ROk^IVg45f1?GG#bakJUqZb`J87gx{wu1Uav^8COOB9(5|Z-!7z2mA zP4U)sq)x-KyE37ihkw%m0G^!hhY}^2qOJd0;h8E4Wb16Mka9GyoU#OSZSLuqe^H!Y1?4vDCirgP&R2{J(AWbSqanC>B=Vfc;~& zxB9TgSGtCfN?>4PiEP4Kq_NR>a6YzvTSv8Ol45z`fiSm0K2w8m+TbtyhQ@Ak(u&BH zo(YnlDfv`$4b~%hxS6BX@8>3Gdf_(m0771?Z4R1%QiHc z-+Ie?`&b4Ra)%U#Mf0Qc4~$S~%_}Q6k5@W=+Cy9J&%kaQ$V>NY8;=wa` zkC%p_qoXmmXN$;d9I2|Pr|gsTSr&3#z?f@%E*8}p$FezWg1D-4?C$c^rJJ5Zd9#t& z+SiKi(?DyR*sU%1B*T*xT<3cGDC5^2S(A+&rbS<5*9sC1N~h9naDLS6iN~a-rLB;1 z#iiuwbgHE!8vvFC{MlRej>ojTueq|D9ZpVU!0rJ%jpS@^b?q-7Mt^eM)3;G&Wez)} z1B&ChIu(;RZpAnbo8kE1rT@eNfY7(dZ93eax$C>mPx4P-S<7#Gy-!}{1(#>%(E=*d z4kS;Nf6)INbw+9X;^x+!6u|ndMK>}m*>gkJhWyvw&aFpN=Cugr&AT45f{ z$DZQ)d17+X5lR0mXwy!W2IM^z1?X3KKJ#gTO@lT&S@Qx|5?NpAZdF;hdWt~;N%>n| zw1IGGjdz39h1i>2o!98ulZ`pNJ`d*7=Wt4=Xhb1ld?Sse5i)liv$wZ@dOuwR!z1H%n!M3OaE0T%mV48z;E$GtM9d3Mrd$A)Fp7feQS{_fA(!Qz0U2%>^B5t8aMRgGD z;6t02e2!Wt$>$<|fnDK!N2%w}ySiimz`~-%rI&YJUa{PJ-nC{1fQm0KLZ@>|DhPn( zULllMRlg_B8?UcX`IQ2W_t9*uYhIvMkme*y>qh4_*lr0>yf>L_`*budz(A*0Nx#pU#>-;sv|FW&)<)eY*V}e#2 z?iSHKh`$X_o2*hSJ@Cx4wjY?!zFRgw4z;Q)#0!s|defxn@{aU_t@sWX=}RSTrr*Am znp`V`JJBP8{hI<-xZ~5Pr2@4P(Yc$0)yd&sNmx`t_iXFst!WfrUm6uv)s7mRdoQ54 zxQ!9(MR1I| zmO=S8=@{!9-U_3u|MRN!Gf{X)nHdrlk5qpXIOquB2 z#RS)JJGh#VM|RKmqo0L+rR1o=t{J%d#TzhT*gCRwMCmiv-4S~F(yd$#$kFuqA z=FM8opGQh%ILJ*yv8fa75RHLe|M*VHzHOqrmIIiGOB}kKQdR$x$p+6 zy4R@-(pNLwZW~mWuf=4(G5s{dWQT z`0Y*sVTP!!hXl2nwyWmH5mp@`JWu{@=C?~^9sO$WEJZy`0;*SYor9LP3T)hM$!5Z* zF;`ET!R*0>L6oM5;lOdsT`plZT)+WDil#b87z?_$t9et!Rlw}-N#C>!{-nf7pMbwG zXGxS&WC4f`%4APAtS7k3yne^{<`2>8UOeEw)JDzXPX^Dz^7H)x!lKxZ8-Ksq1H2W(|aTl4#!bBucIlD+X`8%D3g1fjyg{c4n?rZJpZ!~aGVUE zbyVv4+E-Q^lT-__k%*(#xUA}5@hL5m-SK?&gNgxbL8F$Ppu_!0jvRh{V`Fwf0hYeL z{=)erF$qZ)7z4+0x-9K+tn7G^$8U%*>C@7fg3&dj77xn1sdf=rowC=!LVA*>SAfN$ z&1bB&+a9aY{GgLnp-#OYTQGJi+yQvrPGanM{+l<3O{nOALb|BdT>bl@(@p+bHY(ia zaiG&|5p$V(j{qGtWpWu+<@}RT8|#Y~KU&Mm%8pM@f6b;iJA>_X5LrTTtDu^$3s-!tplDndUhW&c2y3|B9=-V18|B#JSj``?!|86By>(2Y3_XPy7Cco0Tc}qhURPcznIe% zqOiSqfeIH&ud$Pn>EfGf-Wkb4J3#v$7iSimb{vdDksTrJ=y(?U>cOWh9j>!vKMPhx ze@Ta}(Oq?VZv1|cZ$du+iUjJ!WMz3qgL!5%T_->3uO2T;-Yd(p+I8<&@@EY06uSjf z#ogo*tq5zAeg>-7@Zs`+yE86&>N{%NN(1GP7NX zxLisWwj_dF#=^=f-!RnSUXgC9R2jM>1F0~0<6QA zKhMw4Nukfrx-k1{(N13wY~A^{Ni92e>(J|*CMn4kxU&0kN#B@fLlpF01)s;eN&FSo zA6Nu|Rr!P>$I}m8wnn~%To(UP;6O{bAzgJ5Mk3{)ZZAePovF0-V4Gd1g)q%d2+LV< z)K{{r*Ah%-G#s^GZ`Ajo?3)_@+QpZLrHZ-#$BzCdBkp54D#L$FCY0d|0L*HIa9Z!fzeh?xc6h?i5^TvE1pu*yczr1X zpfep4e|I1F4MVqqA@0BZ+*g`LR#;TexL6WNa*yLsCCHxr*B5|Af-eXZ z-@iIn@qZjZ^iY2|;02;yEusJ}!Kn2UwA~^{>|4T!i9k$Ohnha*Vgn;nWzbFC#kK0$ z-u^xgP*7M{`4u}V@+$+7IV!js{xedy2GpDgz=s0rC62DI-#&T1qq<{m`|_ejTlp?U z4HZBzS-scNdZ-V(j3S5JZf0#`cP=vZmXtOR_@xy-*M&)NamBpR*K_1TQUjSj!;;@v zEh?-hi%9qCiqKa(`#w9^Y~^~ReYV+>QA!n^P7bl=ny)(qH8E(53thvgPw61|j6xcw zPj)rkSEh!-ReaJLm6g0A>zlj`K}C*uu}@i%;qZ{w-D%Edz$A+jeA)MLzcJKjZHSo$ zqzx3oV4Uu5vk*@B4emk@1a?N%+w>RlG&z|PjA{f1f1#j^ z%rSoBkv%HdK3tB*(*4w7Je@p4^6pO9&%DiJEPt9ad(t!6Z25j{sxgho>k4hTRczgY3H|FSQz+ zn6be_y2pNp_qo*WKUlOQG+9|$nhj27;TJk)erO`~?>tbFiF48O@y05xXELa~UVwo%KG^UjIq;|*5R z6BC)>O+e}Foen6mg9kD0MK;}xWCJ%h{PP_mREbtR@b6Rj6*-};ekv7%C4ES znzRLcHQH`v-N@BkDKO-oacBbBW1Vx}v9d-#UP^%b|h+OJulO#&s%dN?f7XegCAg zcStx8oO}darUbvL@K!2&dYmHtKd3v(fIS-8Ctv${JhjQt8 zMTG>Ndmmf-UU>eVeE@nF+x)6v8;g#@0I08>Brbg$X}u)$qR|Zck>R7Gqij?5lTYeD z%gCP2teKpY+ob_Oz7jHu=;<(_{%kLY#C#aoMM7)h!$^65JZ{LGv#^LrM@S{&qJW2( zzMvA{eR*vSOj`|XuMaB{0hg`p43@p{?L7Go|GHGe8z1D%(5+GLoQtB!BOgir7SRi~ z*$XGOfZ+dA+E+(K6@F_U7+M-6C6pEfq>)DHM(G$D6p#|>p+r+nT`Y{ucbM(C* zOs)eS$%Q^|vrTcI46ewY`A7sQX>z20$(OH71!e{Yp?*V@7m^Z7K%n2ZzEZ5X1+QQR z>twQPksYs3grtKioaqp#kJ`v z~@|L%y_QS(J{`flv4c7 zGlQA;xzkd?;&2-l^!_n?SPSDHc(J82*Nqw1kxTG(c)$}rRhqb+g-C@^ESMqZDZw3l zP;Tqa%D;-Kh&=E)B~bjAS%s?Rd+4-ST^z`fRf+(z;Uc3AF_#R#s;q<{INT2{6|q>X z8Qo}LYJjca?5-j!fy2gf3)?ijKME+#um0h>WnfDGd4S_Ekdny{g_zYH4Ezu)?D7|y zOB}akD{p?l2w*55FHzB1aEBPzcXx7HlQYj``>_QBzH^Z1L7bLIKp-Y39@tNZE2Y)L zIJz@3QStLn_f673=}x`W$Lpkw^KpiLY#7UCw)UYIQzEWz`?Pa^9sLjZyq#^p-}VLlL_723Iv8reRTz1EYF z$2t`7J!GLA16ZMUm_GtK*%~id#I;&G-xtmOPG`;PK@fTUhd_XP|&{6UQUCLZP z07vB=0fBOZi&CN18nhKqvEM&GMp(9mW;<6MhD>1)=hKG&Co8Oo-ZGDm{~UOZM}zzr zcK`IH-ZMcgZtw3v-RQjBX!#JlxIFL{YlDXfnV^%1e1w-o0B+9uJ1ijT4`@q*Yez(e z%qk*80EFz6K_luXR!$Ws=!tZ_x?1fI!B7Pwhw0&%`7VzuFF(Ic6?<}i3m83ea1N^2 zon<;J)_}Z%L}y#(L)CU0?kYEdG^k&ldi$o}CPq4gpeOb7XPtbNp14P|lf87yYY~GU zWZ7T8VjCFT{CVpXdhP3%v%764{Q$w9xb}tbgwdfh*S%ekTAS|mYx+viSWf*RiOpf0 z+0LRqSF@X8{{TftAxb@7P?<(3=Q`sebm!R@n=^nAN>d+s-%Quwb4uAP6)^-7Zj0PKA3*m!NE7;)`cc`GW*D{+gzgs#R5207uuwGT%Nyt7S=$^;k56`Pks z*3MwR#Xsxrn8nHo1f8708v@%4S~`I4TgzNM$cUAYI_Ew?uG!-q)4hnBmMkQ_e6zVl z<+0R%$t@t9T~LR!wY6pVR;d(jo(^;5@|$Zs-2{92N^o!~KYOMDDm>*%7o}pY(1(1a zODz_z#i>y;95LX}m3a2zP~}&s=7f1X(p545w=LL-T^%9N8BonupR6OF8Hm^F@(@r- zxq~>3AgJt#*Ju-=xzSp7|I$4Kuae)N7n;U$!6)j(BI7gWj2c05a(tc_NjCd}s9s;kt{eOGx9F!ddU2xWN6xGyuX?oY zetus3cg&#d8;#U1WJ4e>E1r%^>6_2F2)P&w0J7fXj66W;gsOzCYrctJUUo=aUcOb# zVD+_pe2W0OmQsIZKH?1b*|W9bug-Qu zCwT={C;?oO2vu6D{{;gqJvEicapU>VhGiMWy$(hAJmPS_HtX~_-E0!`5YN~OKJr@t zs&07fKVO(A=g^#}W^5liISm)B!AmNG4dhXWv_Du065ci0v-8X%36!#`-^Ls4tm^h8 zv0DIH-m~#uw^5gHwcLVTj z#yQ38<(~xaEi|)BN}BKlWCKyNiiy#HJ0NcHErP9KW(8#)yVKt|Njj5U(}>1;=4Nr@ zWMs*YWH0M0`9cSU>}poAGteK6Cp<A3IvRP??09?X*Q-zKg&mKnXNtmR|sKz-|d}BcUC!O^)l1mx-MpMgt%z> zWIpB9!H)X$=y2a8rGr|XQ9;LsfDOk|=;O%E! z?nh!ssN!mcmc!IvA3LPmd;56rmHktF5Osr?ePnB4cf@Io0OC0My1<+wDqYLHeF1-W zZ$N-GNnXS;j0wR#i1U1Banb$(p)&~o z@(JTE69K63INW-Vim*f*5_t(DJ<&@!j4y`F^w z@tI2`)h}dm(6nWdS%+X=MXS;&1qL+Os5%)z@`ela=6&Ker`@~DBq6YkIvJI*1caz_ z)H~#jP}{3G4a_i;Z2GJ7#yfYf`19}G+cMHzI4h+KCY6358w$y9t%1UY&K?A{qTsHp zV;Cu6VM55x!43<$6G;N-b zPe9)c3&2aO%^HyN(_;M3w_e6Ppn%-@1cnDf^o{99IW#^|Kn}yza7;_~0iWOb%{!VE z*&OKGuv@g^X*GNF1d#Fhwp{(y${_GnSRqm88`l^xSEIrneFxgVxZ&Z;YcB;^Exgk6 z{dJ-Rwa&eY1rkt}VX&DJW3S;Qzss`nG;D>oi{e>(R!l(n&Ka_KD+}lSVDQ+o)?7`R za8`(md>lWE_NU$Xevwbjm`h&z6RVJ1Ldc>+dQ^0PDgg7(NC*wj^4hs^LW{Mq9^l%} zhO_jq3-*3+BRu%+Bh@!(hQPf%7WdO*U-YpxI^H~5JDA}nAa!x!jHQ$hhtY37OdaEse4?Bmub7= z0|FwghaG!<1&z{zA<@+Wru97{+tm(<(dRYOU3BMy?P!aX9WF*`2x@MBzzUS?QP*OG zr8Uz)?12>s%HN&G08IpH2|jMfH6V6Gfc2>w(gr*;S7UU~;+^y){-62rm5)dfw*Cay ztl)(bZ3ktVx}Ymbub@7_rg8HqEhRo8>8de$mage|(f(1!<@&+JwE=BWF}w>43)F>u z0vf2FfK&v^I8q)Ar>0(I+el(lFBqG-Fqo`Wy+Gf%)!*OIo&;|{I@(~n>;KuN#S0-B z28zRMTm7X27i=KKN&vk&4#9q-;Qi?Xa!9*;?ei__b>h<;V?i)$;1=`W`qGo z;o#z0PkuEpzrv!Tq9U9m1{EaGxnAcw+ih-EI36F{fwmebQ_$5Vx3RUwf&g2rARV!L zjC*%Pw9V(jLgBaekJ`DHO{ei{76rZ`aiIN{&En&5y?~DzJUB5N+}s2ZIU{2fV4w7& z$213=CakX7K_P8cOMlaQqUj&56F-f#3y&1~`vIKq#QSLNXNX&k>AG**{a(^*eQ7|& zO*Ad^&&9DcAG{^K-#PSe#KH=OXIeLNg$x3~dD~u2aMw#TE>?%tNb6(YKT_y-FQ0)> zD~V{;eFp=ggUvG>p?@ib@#*QrS=r3Gj3bmCJRntC&bZ0q!P7Oe^`diro(Zb(J92i{* zaDtglEwF$6o+DXwnGH{!q5R(1*kL7TEL_H@SPOR6Akx0sHlN2xYoQfFlXMv4?y8x- zbK+mU0**&;oKm(L4eLVn0#m_enas!KVHLNbzf2--BUUd^SKbz=3b z60#DcqlTg7KXd70+(@D980Dya1z5^9`0lS>zg|`}iJ7h(8PVN5@h`X-q@bpLH87wF zE&aVH^aq@@=CVE$CPOt7Onu(ogo?ne5D^_x+?1hI%L=xh9M}ZnN1+F@fNjvUpcBTl zwFCy0iw7%3E7M=0nget+-!R3AC-K|oqHf{hp8F!M0zb0{M<6c$VMC&rfj%7^AI{R3 z8ls|wzc!zg&#lLYKGp6YEn)^I{M2~AEc*JT2G?euD#3xzs8u6|mKc6Te_P1F&ii}U zVJN-V740~b&O={obTHNU7(6$iL4zBUQnr4PS~u!tyfrQ$_i02xf$!v=Lr>F`)qaM+g=qBB+QnCsY^z|sGMYX_Cq zRlT}q^Z`LZV5(TG&PoZ)|B`&DzyEPnh;$#T)A>U`KS{vDl^q+NFLv3RhR4J~z z?XXZ){%Xshw2*Mb#(Y(EeFZ7@i((9bRe$x}GG||K;n%)ESVf~$mPfO+oL>gp%8;m2 z9Ztf82^&n)n=g#hf@Ao5VsipCiH{D9b}Y#N%8yVII`=4^V4WvH7Yx}ztw2!^8#?mv zeG!PA!)rC-fxjwXU4kSi2VkI^SI&I>9?pCgjZb`RBIBt?{S=?`|HuP@Ub{#`&>byV zFre2(_d5`?zgTq zd*mLASNFr>P7OKRQihD~7AqNt1Gh)+UB|||N38$&F>qSZz$t<&y2HB{?Kx*9D40R_ z0=x_SAFH-;ua602rj&rTE_rLLr@%B7xQ6j04a`h-LKopo9O>;o*CUU|Fim_3V5V@W}v1zz@hG>}9V&ee@l( zD3Y%~8$@2bDTcLe7QoXwB(`n}Ic}%N9AV{3{HKP8quVIto@hhK zr$>3i-#{SNcipnVKiD0%l-Z{4r{X?r1w6uV&FVvU$8pf2{cx0u0Ln+-=H^x{(})VB z3uzL9MQO4QqSY)dupqyb#oO%ck9x!O9ybY#c5N@p7h%2h@riVPRbBO)UbJZzImO$b zOJD5_wvQmy3YmIlVwIt-0+c^_$VibYJHk!J$o>v9WRJa&ADHJEyA{Zh=;DITmGI z0*@NqG8vL1A0?Ea4xhGEVIZBE@QuPLmO|H7g<<|d?RG|Ue;VLuOfBGpbH6&&5REV2 zy|ygxkymT~f)9J|vfsKiR(*CHcr)=Ji+YJu?lfD-Wzm~ij>_gQ^GJ0rHs7b5$EU%_ z+a2!%HXYGHe>AJT7T|UIMHF~HWBzkG@uRgEMcfsGe4L3HJO-rwr%Ew+U>~vlof|Yu z5k~N?fBlBJ$A^BL)5fXZ1#posoFg^NhgUUj$xRzYToy%If*Aw_mI=`gkytzS@FYGH zWv8IZH5}=aRjCunsR_`y*eZIzVyw}G_(@|nD+`Fosp+j0qMSzA!Nk$@XHXCt(w239 z`RDba5RBi#v-PK=!|js}fe%NZ0%szlD~CjIOV~rKj{ZHe!Z+|+=HePm@xKS)dsWmw`YAadcaD2P;&xDDo@ZB$uDZC6UCn= zu9LE8Bc3}Xq}LulozKt5Vkr5D!IYHhn569!5FYt-4R7?{*G(Wd^rzuZn49dyBLjAc zXRAq!C-mhZGq;+cvMh1ZU|M{%tb5ye0o~o`vlQ}IxZkZoh~GK0#^T>>dEZ;$(udw} zUm)K7YcUL(c<`XTsEm~Cii482?^%WGtk~A*0paI*wS=iLpV!Cfw9w6Z!Rv*b1PA z$HXnW7yUBstwP)Spk`G?NP18K!(`9}tJoJ}=z~k3ca|*hV49q(V zmz!oi`(P;>S5qU>bT~x>X*t}oYGh+6RWQJ;y4B$@*p7?Z_bn2Z9@P%C(@?JpPrvi) zO|XA-X+GIsfqP24{tPiWVzJ4$@>ETx;s-P<4jP|o&^f@2u6O2!fpSPS=n5RhE2wpS zLE{d9$wV4T6C&u#VcY370Xewi59yv_CE*1BWe%|o^6EOQ9L zGgo`0@C3yC(y6}UkAu7|giGH};W!PdQ~GL#=_i?gS;?+2r}F)?|I2P79Lqr?bF|kH zD88e^)x-s)3((s{sx;KTNT+t|HH+SXk9Bts*JyQaSpB&{k9_UnY_0IWWd#j=^! z;hPM9mrq!bPx~PxHgjMh{0qfrMr&@lOC*{S;_lC?oFnp8{Ox;8NYeFzD@#P`FB*Lg zl?WgF@t=9-Mfk&+Y}S9e(iWM?xt(eS-D7}RhwP@&e3aLpSV-2G)|z zmE`sPmV)j?ArMz@{daEyK}P$Yfz5TzkN*NF$$VnaT**Cv;_F&;UFHGT$>yIwvB2BU zNhu6LZWzmw1}28k#AnG+)@anbfY0W(6Ky^wB~eR+N}%Hn=`Pcnu3NWK_>2nP99>75%tW)H?} z`A&*xEQnls`^&l0tiB9elT20)kRBQ1D$ehLU^FeJ0|f3roBuKLng4JzdeWAaWa#<| z#Ncs@UPzUJH*K48?fAV$LssLQvg=guV|>AyzNNqIDF1i8EHaOZWmjimSP`T)xp|G; z8doEw5^{cWH^L2N{8sQQt`nE*Dr9zxjykktTAwl^#ym2>b?@P?`Wvhxc3~uVu-v@7 zde?Gz%gXeno*w9`Kr zU5OgyO2zB@mW7rqP?Xi5_?qNco`gE2VS)o32WG^mm3|$C!L;>QKWMk<-Vvlu)85q) zY|77x%FZ`~MJ#J_7OVIW#N5v}rXyx1PKo1A$+C)JJr$r0m_Jl?Sj zMlD&3Ggg6@CJM%5KXSRUjgF{vHPgi}dvaGny+|}nYm$lfVW$U^IqGKSMohA-5b~Cs z;)@s_MC>e@vd%S1lT(2{#MzbF~Utx3L z7Bl`+1l$s@G&1iBE*DIx-xtrfsmTfB;pit={(iy(OU-Q5F6?-QAVhg96^;{5#Sd@P zqJkG^JO1tNW>aad$Jz943O6{_GAJ^=z?w@|m`TX7B@h+a~4M)uw>yL?=%Y=w}F z@vU2Asb9R+qfob)#TW!hxc*tHsSnS8E?##b;N95vK*B_o{#%*c#@}#>6ARSMW=pag zJg~Sd*|xsR$)DRg|Ke!%@jwklgDZ7lq2(Lx3%2?JfgA>%u_q*z+NPziB_!!vFgB?s z$qt|FaXgdN^B-_iPw8=&bcnEEsSdccuWE`C(Z3OEHWy#QWHU`M`UFlLclh5u`kXN# zcg4_I^xwa7wB}J2)A_zav2-F!b<@l~=BE!JoRy?{eCsa-!81qN`mF0|$RCe;E~Z*8 Sz}N!V1W8HzQJJDu*na`!IH8{a diff --git a/modular_doppler/modular_species/species_types/teshari/icons/clothing/uniform.dmi b/modular_doppler/modular_species/species_types/teshari/icons/clothing/uniform.dmi index fe62a0d10a26828f4db55422c37fa66197dd5d89..1c4c6585ab2cc9d0aed35cfacccd2f82d4f3a8fb 100644 GIT binary patch literal 74188 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 literal 93697 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 literal 0 HcmV?d00001 diff --git a/modular_doppler/modular_species/species_types/teshari/icons/hydroponics/harvest.dmi b/modular_doppler/modular_species/species_types/teshari/icons/hydroponics/harvest.dmi new file mode 100644 index 0000000000000000000000000000000000000000..1e597ae650ab37aba96df6818c50a33ec73c2ef2 GIT binary patch literal 1466 zcmV;r1x5OaP)V=-0C=2JR&a84_w-Y6@%7{?OD!tS%+FJ>RWQ*r;NmRLOex6#a*U0*I5Sc+ z(=$pSoZ^zil2jm5sUWkcREdi-C9|j)$Tj5ROe;#vO@*-Gin23{G6^cmOUzCzA*?L7 zGzX_5Wd&D17qB+~3->vLjY{*a000E}Nkl!2(MU9%?t)a%I)cHS&JF$zD1g@wEKaUy zUO&@M?DFbCM7;0baW*;hS&R0yM7(;opQuX!knUgySlgv8w#14oelNx{LwObi`5!+= zOinwv|CXzFM%=CgKpvwlLLd3S$e%p1W@?+AYjP!m>kPoi|DJB<=QsvMUPLn4!GHBY zdJ42p7P<9c`#q-%ocz-Gm%zx==!1AV{g)*Y#u)y65oe?MVeRU}+fx0IasX_Pd5#~* z132PZMf!t$X7CF8Hh6)Z=|08I-;s|r>A#>6r@(^~fS~O^cC(Wul1YAk`Pn>6rQR~8 z=YTAv1ps-2biqh}{hFgMD*bXzmZ*+0ux zWgp`T@1FiCpQlr)GI?ZyTSy5&$uFjVP<3Afh{qqK%hwcyZs2$wKr-DMc98wv?LMR9q(Bg-HYJhcsThtW5Sp8wsQ!ur|1!yy- zfqu-x9{}R8yKS6vKPc* zc_R=TT$jR4%OKfWtOB$M5`laOvJ?VT5vn1(Ep}W5avNVG-Mf!zAd72!3m|7e9R0r2 zce)04dJq96an>g3Wxok*DgarUj??2){5;B9_j9AF{l+kXzJbMUWN% zm0&v8f&@WKg}0-U@tiRg8%>k07*qoM6N<$g4?~NiU0rr literal 0 HcmV?d00001 diff --git a/modular_doppler/modular_species/species_types/teshari/icons/hydroponics/seeds.dmi b/modular_doppler/modular_species/species_types/teshari/icons/hydroponics/seeds.dmi new file mode 100644 index 0000000000000000000000000000000000000000..6e4c982c77ba0c7cd393acdc4ddfe999939608d1 GIT binary patch literal 970 zcmV;*12z1KP)V=-0C=2JR&a84_w-Y6@%7{?OD!tS%+FJ>RWQ*r;NmRLOex6#a*U0*I5Sc+ z(=$pSoZ^zil2jm5sW>$?MYkZcs8orIGbOXA7$|1Q#hF%=n41b=qpHl#EXpKKWnN-- zVhNFIb4zn@s#I2R^>YDx4FH2EK)afRsK5XK0|QA!K~#90?V3+$6G0TlCncbW5ELrJ z3Jsd}pd}(wh$Yg3*n{-or56z)hD2ULjN-2nV>BU3wB0`Em3q{0GJ){v* zu?8$C1rdc{^c&d_ubzo>q67%^Nqf~cWQn8fQpKh$}IW#q!9q| zi3@ctjuMg2m-;slU%!7-uTvuOscn-CK+kU8i)(R|h>P zDIgw{i!bfk;p_yl36<62rFeUBQpbaL=YNlaqwIEABcN3{dLP?+rnj?;Fa^C2;aGxg zc3YgC0@1D8YMNbx6~Rat%<=ZOx(Z12KET8W;aD&V26G)g1p>i{60<*mXe?q^0V(0G zF){$Rxi-Js5;fUzCc_x@t#D=L8TkPtJ$2mq)8Odn82R{%iv{xW$p-wdbp5k{H$b`o zX}kf_1xVu!kS;(PZ-8_G(s%=;3y{VeAYFho-T>(Wr0IGC$nUV0A6#o>QoB{D`dLNA z;j`DBzY*G-$uwSUY^Y7q_B*-=Z zL;iK~smof7*grnrTx?()aOdYKb*bmEhzapjO2>UeLps`+z%~HlVS*$dR#uuOaIu;L z4(Cp2BP4+dHn0r9`5(6ZFToxGt=Ilwy_38zmz}i3`kcGfwZBvM0ia&3>WMHg0oz>K z`#rmj*obb$=oG+huFdbZ;5OIh_pKm*9{*9CAwOVj%S}0d8eB^z$;a=n)%^bhsQ70A s=>nwj21pkmjWV!Z literal 0 HcmV?d00001 diff --git a/modular_doppler/modular_species/species_types/teshari/notes.txt b/modular_doppler/modular_species/species_types/teshari/notes.txt index 654777dd5b6f8d..020aab1e63c4ca 100644 --- a/modular_doppler/modular_species/species_types/teshari/notes.txt +++ b/modular_doppler/modular_species/species_types/teshari/notes.txt @@ -16,3 +16,14 @@ custom_worn_icons is important check greyscale_config_worn_teshari when youre filling in premade sprites! worn_icon_teshari too cahnge the name of the fallback gen sprite to not be a fallback + +need to add + if (shape != BODYSHAPE_HUMANOID) + found_alt_shape = TRUE + +to all human_update_icons procs... the chec that discludes bodyshapehumanoid + maybe check to see if the icon state actually exists in the target, and if not, skip... + if so. use icon_states_fast + + +many sprites arent used bc they were updated to gags and the tesh sprite is NOT g ags diff --git a/modular_doppler/modular_species/species_types/teshari/teshari.dm b/modular_doppler/modular_species/species_types/teshari/teshari.dm index c2ee9177f559bf..b09bc7af77d06e 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari.dm @@ -13,6 +13,10 @@ TRAIT_MUTANT_COLORS, TRAIT_NO_UNDERWEAR, ) + mutant_organs = list( + /obj/item/organ/tail/teshari = "No Tail", + ) + mutantears = /obj/item/organ/ears/teshari digitigrade_customization = DIGITIGRADE_NEVER changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT payday_modifier = 1.0 @@ -23,7 +27,6 @@ bodytemp_heat_damage_limit = (BODYTEMP_HEAT_DAMAGE_LIMIT + TESHARI_TEMP_OFFSET) bodytemp_cold_damage_limit = (BODYTEMP_COLD_DAMAGE_LIMIT + TESHARI_TEMP_OFFSET) species_language_holder = /datum/language_holder/teshari - mutantears = /obj/item/organ/ears/teshari //mutantlungs = /obj/item/organ/lungs/adaptive/cold //body_size_restricted = TRUE bodypart_overrides = list( @@ -58,6 +61,8 @@ tesh.update_body(TRUE) /datum/species/teshari/on_species_gain(mob/living/carbon/human/new_teshari, datum/species/old_species, pref_load, regenerate_icons) + new_teshari.dna.ear_type = TESHARI + new_teshari.dna.tail_type = TESHARI . = ..() passtable_on(new_teshari, SPECIES_TRAIT) // TODO make it a toggleable ability @@ -119,3 +124,8 @@ new_icon.Insert(new_icon, human_icon_state) set_custom_worn_icon_cached(human_icon, human_icon_state, "m", new_icon) return new_icon + +/datum/species/teshari/can_regenerate_mutant_feature(feature_key) + if (feature_key == FEATURE_EARS || feature_key == FEATURE_TAIL_OTHER) + return TRUE + return ..() diff --git a/modular_doppler/modular_species/species_types/teshari/teshari_bodyparts.dm b/modular_doppler/modular_species/species_types/teshari/teshari_bodyparts.dm index 214d86cbbbc0cd..1f6b6522ce5ae8 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari_bodyparts.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari_bodyparts.dm @@ -23,7 +23,7 @@ attached_part = src, feature_key = OFFSET_HEAD, offset_x = list("north" = 1, "south" = 1, "east" = 1, "west" = -1, "northwest" = -1, "southwest" = -1, "northeast" = 1, "southeast" = 1), - offset_y = list("north" = -4, "south" = -4, "east" = -4, "west" = -4), + offset_y = list("north" = -5, "south" = -5, "east" = -5, "west" = -5), ) worn_mask_offset = new( attached_part = src, diff --git a/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm b/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm index d49af1cf2840a2..d709df48c29e9a 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm @@ -196,16 +196,10 @@ species_clothing_color_coords = list(list(JACKET_COLORPIXEL_X_1, JACKET_COLORPIXEL_Y_1), list(JACKET_COLORPIXEL_X_2, JACKET_COLORPIXEL_Y_2), list(THICKROBE_COLORPIXEL_X_3, THICKROBE_COLORPIXEL_Y_3), list(JACKET_COLORPIXEL_X_4, JACKET_COLORPIXEL_Y_4)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/thickrobe/jacket) -// Wintercoats and Satchels +// Wintercoats and Satchels and stuff -/obj/item/storage/backpack/satchel - supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) - bodyshape_icon_files = list( - BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/back/backpack.dmi', - BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/back.dmi' - ) - -/obj/item/storage/backpack/duffelbag +// unfortunately the basetype backpack has a sprite, so... +/obj/item/storage/backpack supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) bodyshape_icon_files = list( BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/back/backpack.dmi', @@ -218,3 +212,633 @@ component.undeployed_overlay = null . = ..() +/obj/item/gravity_harness + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/gravity_harness/icons/gravity_harness_back.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/back.dmi' + ) + +/obj/item/tank/jetpack + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/back.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/back.dmi' + ) + +// mods +/obj/item/mod/control/pre_equipped/loader + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/modsuit/mod_clothing.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/back.dmi' + ) + +// belts + +/obj/item/storage/belt/utility + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/belt.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/belt.dmi' + ) + +/obj/item/storage/belt/medical + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/belt.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/belt.dmi' + ) + +/obj/item/storage/belt/janitor + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/belt.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/belt.dmi' + ) + + +/obj/item/storage/belt/military + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/belt.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/belt.dmi' + ) + + +/obj/item/storage/belt/mining + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/belt.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/belt.dmi' + ) + + +/obj/item/storage/belt/security/webbing + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/belt.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/belt.dmi' + ) + + +/obj/item/storage/belt/mining + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/belt.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/belt.dmi' + ) + +/obj/item/tank/internals/emergency_oxygen + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/back.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/belt.dmi' + ) + +/obj/item/storage/belt/bandolier + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/belt.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/belt.dmi' + ) + +/obj/item/storage/belt/sheath/sabre + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/belt.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/belt.dmi' + ) + +/obj/item/storage/bag/trash + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/belt.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/belt.dmi' + ) +// ears + +// the basetype has a sprite; the has_icon will remedy the overlap +/obj/item/radio/headset + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/ears.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/ears.dmi' + ) + +// eyes + +// yet another basetype w/ a sprite :( +/obj/item/clothing/glasses + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/eyes.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/eyes.dmi' + ) + +// shoes + +/obj/item/clothing/shoes/wheelys + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/feet.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/feet_64.dmi' + ) + +// gloves + +/obj/item/clothing/gloves/captain + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/hands.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/hands.dmi' + ) + +/obj/item/clothing/gloves/color/black + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/hands.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/hands.dmi' + ) + +/obj/item/clothing/gloves/fingerless + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/hands.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/hands.dmi' + ) + + +/obj/item/clothing/gloves/combat + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/hands.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/hands.dmi' + ) + +/obj/item/clothing/gloves/combat/wizard + supported_bodyshapes = null + bodyshape_icon_files = null + +/obj/item/clothing/gloves/radio + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/hands.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/hands.dmi' + ) + +/obj/item/clothing/gloves/chief_engineer + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/hands.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/hands.dmi' + ) + +/obj/item/clothing/gloves/bracer + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/hands.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/hands.dmi' + ) + +// head + +/obj/item/clothing/head/utility/welding + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/head/utility.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi' + ) + +/obj/item/clothing/head/hooded/cloakhood/drake + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/head/helmet.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi' + ) + +/obj/item/clothing/head/hooded/explorer + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/head/utility.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi' + ) + +/obj/item/clothing/head/soft + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/head/hats.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi' + ) + +/obj/item/clothing/head/costume/weddingveil + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/head/costume.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi' + ) + +/obj/item/reagent_containers/cup/bucket + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/head/utility.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi' + ) + +/obj/item/clothing/head/cone + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/head/utility.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi' + ) + +/obj/item/clothing/head/helmet/alt + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/head/helmet.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi' + ) + +/obj/item/clothing/head/helmet/swat + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/head/helmet.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi' + ) + +// i cant be assed to maintain parity between every single collectible hat so here. basetype. +/obj/item/clothing/head/collectable + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/head/helmet.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi' + ) + +/obj/item/clothing/head/helmet/toggleable/riot + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/head/helmet.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi' + ) + +/obj/item/clothing/head/hooded/winterhood + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/head/winterhood.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi' + ) + +/obj/item/clothing/head/hats/hos/cap + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/head/hats.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi' + ) + +/obj/item/clothing/head/hats/hopcap + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/head/hats.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi' + ) + +/obj/item/clothing/head/hats/caphat + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/head/hats.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi' + ) + +/obj/item/clothing/head/hats/centcom_cap + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/head/hats.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi' + ) + +/obj/item/clothing/head/hats/centhat + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/head/hats.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi' + ) + +/obj/item/clothing/head/hats/warden + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/head/hats.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi' + ) + +/obj/item/clothing/head/utility/hardhat/cakehat + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/head/costume.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi' + ) + +/obj/item/clothing/head/wizard + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/head/wizard.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi' + ) + +/obj/item/clothing/head/costume/maid_headband + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/head/costume.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi' + ) + +/obj/item/clothing/head/utility/radiation + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/head/utility.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi' + ) + +/obj/item/clothing/head/armor/captain + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/head/utility.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi' + ) + +// masks + +/obj/item/clothing/mask/gas + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/mask.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/mask.dmi' + ) + +/obj/item/clothing/mask/joy + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/mask.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/mask.dmi' + ) + +/obj/item/clothing/mask/breath + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/mask.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/mask.dmi' + ) + +/obj/item/cigarette + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/mask.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/mask.dmi' + ) + +/obj/item/clothing/mask/muzzle + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/mask.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/mask.dmi' + ) + +/obj/item/clothing/mask/balaclava + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/mask.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/mask.dmi' + ) + +// uniforms + +/obj/item/clothing/under/rank/engineering + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/under/engineering.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/uniform.dmi' + ) + +/*/obj/item/clothing/under/rank/medical + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/under/medical.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/uniform.dmi' + )*/ + +/obj/item/clothing/under/rank/security + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/under/security.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/uniform.dmi' + ) + +/obj/item/clothing/under/rank/rnd + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/under/rnd.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/uniform.dmi' + ) + +/obj/item/clothing/under/rank/civilian + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/under/civilian.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/uniform.dmi' + ) + +/obj/item/clothing/under/rank/cargo + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/under/cargo.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/uniform.dmi' + ) + +/obj/item/clothing/under/syndicate + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/under/syndicate.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/uniform.dmi' + ) + +/obj/item/clothing/under/costume/kilt + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/under/costume.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/uniform.dmi' + ) + +/obj/item/clothing/under/dress/wedding_dress + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/under/dress.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/uniform.dmi' + ) + +/obj/item/clothing/under/suit + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/under/suits.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/uniform.dmi' + ) + +// suits + +/obj/item/clothing/suit/hooded/cloak/drake + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/suits/armor.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi' + ) + +/obj/item/clothing/suit/hooded/explorer + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/suits/utility.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi' + ) + +/obj/item/clothing/suit/armor + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/suits/armor.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi' + ) + +/obj/item/clothing/suit/toggle/labcoat + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/suits/labcoat.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi' + ) + +/obj/item/clothing/suit/utility/radiation + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/suits/utility.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi' + ) + +/obj/item/clothing/suit/hooded/wintercoat + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/suits/wintercoat.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi' + ) + +/obj/item/clothing/suit/bio_suit + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/suits/bio.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi' + ) + +/obj/item/clothing/suit/wizrobe/tape + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/suits/wizard.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi' + ) + +/obj/item/clothing/suit/costume/poncho + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/suits/costume.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi' + ) + +// neck + +/obj/item/clothing/neck/cloak + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/neck.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/neck.dmi' + ) + +/obj/item/clothing/neck/tie + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/neck.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/neck.dmi' + ) + +// misc + +/obj/item/storage/medkit/robotic_repair + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/deforest_medical_items/icons/worn/worn.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/deforest_medical_items/icons/worn/worn_teshari.dmi' + ) + +/obj/item/storage/medkit/frontier + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/deforest_medical_items/icons/worn/worn.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/deforest_medical_items/icons/worn/worn_teshari.dmi' + ) + +/obj/item/storage/medkit/combat_surgeon + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/deforest_medical_items/icons/worn/worn.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/deforest_medical_items/icons/worn/worn_teshari.dmi' + ) + +/obj/item/storage/backpack/duffelbag/deforest_medkit + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/deforest_medical_items/icons/worn/worn.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/deforest_medical_items/icons/worn/worn_teshari.dmi' + ) + +/obj/item/storage/backpack/duffelbag/deforest_surgical + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/deforest_medical_items/icons/worn/worn.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/deforest_medical_items/icons/worn/worn_teshari.dmi' + ) + +/obj/item/storage/backpack/duffelbag/deforest_paramedic + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/deforest_medical_items/icons/worn/worn.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/deforest_medical_items/icons/worn/worn_teshari.dmi' + ) + +// accessories + +/obj/item/clothing/accessory/maidapron + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/accessories.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/accessories.dmi' + ) + +/obj/item/clothing/accessory/maidapron + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/accessories.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/accessories.dmi' + ) + +/obj/item/clothing/accessory/talisman + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/accessories.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/accessories.dmi' + ) + +/obj/item/clothing/accessory/pocketprotector + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/accessories.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/accessories.dmi' + ) + +/obj/item/clothing/accessory/armband + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/accessories.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/accessories.dmi' + ) diff --git a/modular_doppler/modular_species/species_types/teshari/ears.dm b/modular_doppler/modular_species/species_types/teshari/teshari_organs.dm similarity index 87% rename from modular_doppler/modular_species/species_types/teshari/ears.dm rename to modular_doppler/modular_species/species_types/teshari/teshari_organs.dm index d915bbe25669c6..791a8af335a346 100644 --- a/modular_doppler/modular_species/species_types/teshari/ears.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari_organs.dm @@ -3,7 +3,6 @@ desc = "A set of four long rabbit-like ears, a Teshari's main tool while hunting. Naturally extremely sensitive to loud sounds." damage_multiplier = 1.5 actions_types = list(/datum/action/cooldown/spell/teshari_hearing) - //overrides_sprite_datum_organ_type = TRUE preference = "feature_teshari_ears" bodypart_overlay = /datum/bodypart_overlay/mutant/ears/teshari @@ -78,3 +77,17 @@ /datum/bodypart_overlay/mutant/ears/teshari/get_global_feature_list() return SSaccessories.ears_list_teshari + +/obj/item/organ/tail/teshari + name = "teshari tail" + desc = "A long, sinewous tail typically found in teshari. Whoever lost it probably isn't very pleased." + preference = "feature_teshari_tail" + dna_block = null + bodypart_overlay = /datum/bodypart_overlay/mutant/tail/teshari + +/datum/bodypart_overlay/mutant/tail/teshari + feature_key = FEATURE_TAIL_OTHER + +/datum/bodypart_overlay/mutant/tail/teshari/get_global_feature_list() + return SSaccessories.tails_list_teshari + diff --git a/modular_doppler/modular_species/species_types/teshari/worn_overlays.dm b/modular_doppler/modular_species/species_types/teshari/worn_overlays.dm index b1c22b7c8787a1..d539d212d74711 100644 --- a/modular_doppler/modular_species/species_types/teshari/worn_overlays.dm +++ b/modular_doppler/modular_species/species_types/teshari/worn_overlays.dm @@ -8,6 +8,17 @@ var/mob/living/carbon/human/human_wearer = loc var/obj/item/bodypart/chest/my_chest = human_wearer.get_bodypart(BODY_ZONE_CHEST) + + if(isnull(attached_accessories)) + return accessory_overlay + for(var/obj/item/clothing/accessory/iter_accessory as anything in attached_accessories) + for(var/shape in iter_accessory.supported_bodyshapes) + if(human_wearer.bodyshape & shape) + var/potential_file = iter_accessory.bodyshape_icon_files["[shape]"] + if (icon_exists(potential_file, icon_state)) + if (shape != BODYSHAPE_HUMANOID) // EVERYTHING has this + return accessory_overlay // dont modify + my_chest?.worn_accessory_offset?.apply_offset(accessory_overlay) return accessory_overlay diff --git a/modular_doppler/modular_vending/code/tg_vendors/megaseed.dm b/modular_doppler/modular_vending/code/tg_vendors/megaseed.dm index 5f09d759e9dd1d..72570ee0b556e6 100644 --- a/modular_doppler/modular_vending/code/tg_vendors/megaseed.dm +++ b/modular_doppler/modular_vending/code/tg_vendors/megaseed.dm @@ -1,4 +1,14 @@ /obj/machinery/vending/hydroseeds //sneed + products_doppler = list( + "name" = "Miscellaneous", + "icon" = "question", + "products" = list( + /obj/item/seeds/kiri = 3, + /obj/item/seeds/muli = 3, + /obj/item/seeds/nakati = 3, + /obj/item/seeds/piru = 3, + ), + ) contraband_doppler = list( /obj/item/seeds/tea/catnip = 3, ) diff --git a/modular_doppler/reagent_forging/code/forge_clothing.dm b/modular_doppler/reagent_forging/code/forge_clothing.dm index fb3a9ddc9a3518..b6e89824b7a7a5 100644 --- a/modular_doppler/reagent_forging/code/forge_clothing.dm +++ b/modular_doppler/reagent_forging/code/forge_clothing.dm @@ -4,6 +4,11 @@ desc = "An armor vest made of hammered, interlocking plates." icon = 'modular_doppler/reagent_forging/icons/obj/forge_clothing.dmi' worn_icon = 'modular_doppler/reagent_forging/icons/mob/clothing/forge_clothing.dmi' + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/reagent_forging/icons/mob/clothing/forge_clothing.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/reagent_forging/icons/mob/clothing/forge_clothing_teshari.dmi' + ) icon_state = "plate_vest" supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON resistance_flags = FIRE_PROOF @@ -30,6 +35,11 @@ desc = "A set of leather gloves with protective armor plates connected to the wrists." icon = 'modular_doppler/reagent_forging/icons/obj/forge_clothing.dmi' worn_icon = 'modular_doppler/reagent_forging/icons/mob/clothing/forge_clothing.dmi' + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/reagent_forging/icons/mob/clothing/forge_clothing.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/reagent_forging/icons/mob/clothing/forge_clothing_teshari.dmi' + ) icon_state = "plate_gloves" resistance_flags = FIRE_PROOF obj_flags_doppler = ANVIL_REPAIR @@ -54,6 +64,11 @@ desc = "A helmet out of hammered plates with a leather neck guard and chin strap." icon = 'modular_doppler/reagent_forging/icons/obj/forge_clothing.dmi' worn_icon = 'modular_doppler/reagent_forging/icons/mob/clothing/forge_clothing.dmi' + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/reagent_forging/icons/mob/clothing/forge_clothing.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/reagent_forging/icons/mob/clothing/forge_clothing_teshari.dmi' + ) icon_state = "plate_helmet" resistance_flags = FIRE_PROOF flags_inv = null @@ -78,6 +93,11 @@ desc = "A pair of leather boots with protective armor plates over the shins and toes." icon = 'modular_doppler/reagent_forging/icons/obj/forge_clothing.dmi' worn_icon = 'modular_doppler/reagent_forging/icons/mob/clothing/forge_clothing.dmi' + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/reagent_forging/icons/mob/clothing/forge_clothing.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/reagent_forging/icons/mob/clothing/forge_clothing_teshari.dmi' + ) supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_DIGITIGRADE) bodyshape_icon_files = list(BODYSHAPE_HUMANOID_T = 'modular_doppler/reagent_forging/icons/mob/clothing/forge_clothing.dmi', BODYSHAPE_DIGITIGRADE_T = 'modular_doppler/reagent_forging/icons/mob/clothing/forge_clothing_digi.dmi') diff --git a/tgstation.dme b/tgstation.dme index c3fb1fe9bddc20..622fae155058aa 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -7299,6 +7299,7 @@ #include "modular_doppler\modular_customization\preferences\fluff.dm" #include "modular_doppler\modular_customization\preferences\frills.dm" #include "modular_doppler\modular_customization\preferences\horns.dm" +#include "modular_doppler\modular_customization\preferences\preference.dm" #include "modular_doppler\modular_customization\preferences\preferences.dm" #include "modular_doppler\modular_customization\preferences\preferences_setup.dm" #include "modular_doppler\modular_customization\preferences\snout.dm" @@ -7539,14 +7540,22 @@ #include "modular_doppler\modular_species\species_types\snails\organs\snail_heart.dm" #include "modular_doppler\modular_species\species_types\snails\organs\snail_liver.dm" #include "modular_doppler\modular_species\species_types\teshari\birdman_food.dm" -#include "modular_doppler\modular_species\species_types\teshari\ears.dm" #include "modular_doppler\modular_species\species_types\teshari\gags_configs.dm" #include "modular_doppler\modular_species\species_types\teshari\parts.dm" #include "modular_doppler\modular_species\species_types\teshari\schechi.dm" #include "modular_doppler\modular_species\species_types\teshari\teshari.dm" #include "modular_doppler\modular_species\species_types\teshari\teshari_bodyparts.dm" #include "modular_doppler\modular_species\species_types\teshari\teshari_clothes.dm" +#include "modular_doppler\modular_species\species_types\teshari\teshari_organs.dm" #include "modular_doppler\modular_species\species_types\teshari\worn_overlays.dm" +#include "modular_doppler\modular_species\species_types\teshari\food\drinks_recipes.dm" +#include "modular_doppler\modular_species\species_types\teshari\food\food_reagents.dm" +#include "modular_doppler\modular_species\species_types\teshari\food\kiri.dm" +#include "modular_doppler\modular_species\species_types\teshari\food\muli.dm" +#include "modular_doppler\modular_species\species_types\teshari\food\nakati.dm" +#include "modular_doppler\modular_species\species_types\teshari\food\piru.dm" +#include "modular_doppler\modular_species\species_types\teshari\food\teshari_food.dm" +#include "modular_doppler\modular_species\species_types\teshari\food\teshari_recipes.dm" #include "modular_doppler\modular_species\species_types\viridian\organs\pod_hair.dm" #include "modular_doppler\modular_uplink\code\ammunition.dm" #include "modular_doppler\modular_uplink\code\kit_special.dm" From 27ddac0f52bb17dc2bd4f0b6b6029afbb18dbbcd Mon Sep 17 00:00:00 2001 From: nikothedude Date: Fri, 31 Oct 2025 14:40:26 -0400 Subject: [PATCH 03/52] no food --- .../teshari/food/drinks_recipes.dm | 14 - .../teshari/food/food_reagents.dm | 34 -- .../species_types/teshari/food/kiri.dm | 30 -- .../species_types/teshari/food/muli.dm | 30 -- .../species_types/teshari/food/nakati.dm | 27 -- .../species_types/teshari/food/piru.dm | 27 -- .../teshari/food/teshari_food.dm | 312 ------------------ .../teshari/food/teshari_recipes.dm | 139 -------- .../teshari/icons/food/teshfood.dmi | Bin 7481 -> 0 bytes .../teshari/icons/hydroponics/growing.dmi | Bin 4065 -> 0 bytes .../teshari/icons/hydroponics/harvest.dmi | Bin 1466 -> 0 bytes .../teshari/icons/hydroponics/seeds.dmi | Bin 970 -> 0 bytes 12 files changed, 613 deletions(-) delete mode 100644 modular_doppler/modular_species/species_types/teshari/food/drinks_recipes.dm delete mode 100644 modular_doppler/modular_species/species_types/teshari/food/food_reagents.dm delete mode 100644 modular_doppler/modular_species/species_types/teshari/food/kiri.dm delete mode 100644 modular_doppler/modular_species/species_types/teshari/food/muli.dm delete mode 100644 modular_doppler/modular_species/species_types/teshari/food/nakati.dm delete mode 100644 modular_doppler/modular_species/species_types/teshari/food/piru.dm delete mode 100644 modular_doppler/modular_species/species_types/teshari/food/teshari_food.dm delete mode 100644 modular_doppler/modular_species/species_types/teshari/food/teshari_recipes.dm delete mode 100644 modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi delete mode 100644 modular_doppler/modular_species/species_types/teshari/icons/hydroponics/growing.dmi delete mode 100644 modular_doppler/modular_species/species_types/teshari/icons/hydroponics/harvest.dmi delete mode 100644 modular_doppler/modular_species/species_types/teshari/icons/hydroponics/seeds.dmi diff --git a/modular_doppler/modular_species/species_types/teshari/food/drinks_recipes.dm b/modular_doppler/modular_species/species_types/teshari/food/drinks_recipes.dm deleted file mode 100644 index bbcd9dbf2ecff9..00000000000000 --- a/modular_doppler/modular_species/species_types/teshari/food/drinks_recipes.dm +++ /dev/null @@ -1,14 +0,0 @@ -/datum/chemical_reaction/drink/shakiri_spritz - results = list(/datum/reagent/consumable/ethanol/shakiri_spritz = 3) - required_reagents = list(/datum/reagent/consumable/ethanol/shakiri = 1, /datum/reagent/consumable/sodawater = 1, /datum/reagent/consumable/orangejuice = 1) - mix_message = "The liquids combine to create a pleasant orange mixture." - -/datum/chemical_reaction/drink/crimson_hurricane - results = list(/datum/reagent/consumable/ethanol/crimson_hurricane = 5) - required_reagents = list(/datum/reagent/consumable/ethanol/shakiri = 1, /datum/reagent/consumable/ethanol/rum = 2, /datum/reagent/consumable/grenadine = 1, /datum/reagent/consumable/limejuice = 1) - mix_message = "The mixture develops into a rich red color." - -/datum/chemical_reaction/drink/shakiri_rogers - results = list(/datum/reagent/consumable/ethanol/shakiri_rogers = 10) - required_reagents = list(/datum/reagent/consumable/ethanol/shakiri = 1, /datum/reagent/consumable/space_cola = 5, /datum/reagent/consumable/ice = 2) - mix_message = "Bubbles of carbonation rise and pop at the surface of the dark mixture." diff --git a/modular_doppler/modular_species/species_types/teshari/food/food_reagents.dm b/modular_doppler/modular_species/species_types/teshari/food/food_reagents.dm deleted file mode 100644 index 2bf3625faa402f..00000000000000 --- a/modular_doppler/modular_species/species_types/teshari/food/food_reagents.dm +++ /dev/null @@ -1,34 +0,0 @@ -/datum/reagent/consumable/piru_flour - name = "Piru Flour" - description = "Flour made from ground piru fronds, it seems to clump together with itself." - nutriment_factor = 4 * REAGENTS_METABOLISM - color = "#c499bc" - taste_description = "chalky, sweet flour" - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED - -/datum/reagent/consumable/kiri_jelly - name = "Kiri Jelly" - description = "Sticky, sweet jelly from ground kiri fruits. It almost seems to sparkle by itself." - nutriment_factor = 10 * REAGENTS_METABOLISM - color = "#993c5c" - taste_mult = 2 - taste_description = "ultra-sweet jelly" - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED - -/datum/reagent/consumable/muli_juice - name = "Muli Juice" - description = "A pale-blue liquid contained inside muli pods. Widely used in teshari cuisine." - nutriment_factor = 4 * REAGENTS_METABOLISM - color = "#6f83a6" - taste_mult = 2 - taste_description = "mintyness" - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED - -/datum/reagent/consumable/nakati_spice - name = "Nakati Spice" - description = "A coarse brown powder ground from nakati bark which serves as a staple in teshari cooking. The aroma is delightful, but extremely potent." - nutriment_factor = 2 * REAGENTS_METABOLISM - color = "#735c45" - taste_mult = 3 - taste_description = "potent seasoning" - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED diff --git a/modular_doppler/modular_species/species_types/teshari/food/kiri.dm b/modular_doppler/modular_species/species_types/teshari/food/kiri.dm deleted file mode 100644 index d851f4c4cf225d..00000000000000 --- a/modular_doppler/modular_species/species_types/teshari/food/kiri.dm +++ /dev/null @@ -1,30 +0,0 @@ -// Kiri -/obj/item/seeds/kiri - name = "pack of kiri starters" - desc = "This bacterial colony forms into kiri fruits." - icon = 'modular_doppler/modular_species/species_types/teshari/icons/hydroponics/seeds.dmi' - icon_state = "seed-kiri" - species = "kiri" - plantname = "Kiri Colony" - product = /obj/item/food/grown/kiri - growing_icon = 'modular_doppler/modular_species/species_types/teshari/icons/hydroponics/growing.dmi' - icon_grow = "kiri-grow" - icon_dead = "kiri-dead" - lifespan = 60 - endurance = 50 - growthstages = 4 - reagents_add = list(/datum/reagent/consumable/kiri_jelly = 0.04, /datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.1) - -/obj/item/food/grown/kiri - seed = /obj/item/seeds/kiri - name = "kiri fruit" - desc = "A bizarre egg-shaped fruit, striped with a vivid pink and yellow color. It feels somewhat firm, but the entire thing is edible. Contains an ultra-sweet jelly typically used in teshari cuisine, or it can be baked by itself for a delightful treat." - icon = 'modular_doppler/modular_species/species_types/teshari/icons/hydroponics/harvest.dmi' - icon_state = "kiri" - foodtypes = FRUIT | SUGAR - grind_results = list(/datum/reagent/consumable/kiri_jelly = 0.1) - distill_reagent = /datum/reagent/consumable/ethanol/shakiri - tastes = list("ultra-sweet jelly" = 1) - -/obj/item/food/grown/kiri/make_bakeable() - AddComponent(/datum/component/bakeable, /obj/item/food/baked_kiri, rand(15 SECONDS, 25 SECONDS), TRUE, TRUE) diff --git a/modular_doppler/modular_species/species_types/teshari/food/muli.dm b/modular_doppler/modular_species/species_types/teshari/food/muli.dm deleted file mode 100644 index b66d93f77ea2ad..00000000000000 --- a/modular_doppler/modular_species/species_types/teshari/food/muli.dm +++ /dev/null @@ -1,30 +0,0 @@ -// Muli -/obj/item/seeds/muli - name = "pack of muli starters" - desc = "This bacterial colony forms into muli pods." - icon = 'modular_doppler/modular_species/species_types/teshari/icons/hydroponics/seeds.dmi' - icon_state = "seed-muli" - species = "muli" - plantname = "Muli Colony" - product = /obj/item/food/grown/muli - growing_icon = 'modular_doppler/modular_species/species_types/teshari/icons/hydroponics/growing.dmi' - icon_grow = "muli-grow" - icon_dead = "muli-dead" - lifespan = 60 - endurance = 50 - growthstages = 4 - reagents_add = list(/datum/reagent/consumable/muli_juice = 0.1, /datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.1) - -/obj/item/food/grown/muli - seed = /obj/item/seeds/muli - name = "muli pod" - desc = "A soft, oval-shaped pod. Contains a minty pale-blue juice used for many applications in teshari cuisine." - icon = 'modular_doppler/modular_species/species_types/teshari/icons/hydroponics/harvest.dmi' - icon_state = "muli" - foodtypes = VEGETABLES - juice_typepath = /datum/reagent/consumable/muli_juice - grind_results = list(/datum/reagent/consumable/muli_juice = 0.1) - tastes = list("mint and savory sweetness" = 1) - -/obj/item/food/grown/muli/make_bakeable() - AddComponent(/datum/component/bakeable, /obj/item/food/baked_muli, rand(15 SECONDS, 25 SECONDS), TRUE, TRUE) diff --git a/modular_doppler/modular_species/species_types/teshari/food/nakati.dm b/modular_doppler/modular_species/species_types/teshari/food/nakati.dm deleted file mode 100644 index ed7b9a0588c944..00000000000000 --- a/modular_doppler/modular_species/species_types/teshari/food/nakati.dm +++ /dev/null @@ -1,27 +0,0 @@ -// Nakati -/obj/item/seeds/nakati - name = "pack of nakati starters" - desc = "This bacterial colony forms into bioluminescent nakati growths." - icon = 'modular_doppler/modular_species/species_types/teshari/icons/hydroponics/seeds.dmi' - icon_state = "seed-nakati" - species = "nakati" - plantname = "Nakati Colony" - product = /obj/item/food/grown/nakati - growing_icon = 'modular_doppler/modular_species/species_types/teshari/icons/hydroponics/growing.dmi' - icon_grow = "nakati-grow" - icon_dead = "nakati-dead" - genes = list(/datum/plant_gene/trait/repeated_harvest) - lifespan = 60 - endurance = 50 - growthstages = 4 - reagents_add = list(/datum/reagent/consumable/nakati_spice = 0.25) - -/obj/item/food/grown/nakati - seed = /obj/item/seeds/nakati - name = "nakati bark" - desc = "A segment of fragrant brown 'bark' from a nakati growth, grinds into a zesty spice widely used in teshari cooking." - icon = 'modular_doppler/modular_species/species_types/teshari/icons/hydroponics/harvest.dmi' - icon_state = "nakati" - foodtypes = VEGETABLES - grind_results = list(/datum/reagent/consumable/nakati_spice = 0) - tastes = list("overwhelming spicyness" = 1) diff --git a/modular_doppler/modular_species/species_types/teshari/food/piru.dm b/modular_doppler/modular_species/species_types/teshari/food/piru.dm deleted file mode 100644 index f816f76a88035f..00000000000000 --- a/modular_doppler/modular_species/species_types/teshari/food/piru.dm +++ /dev/null @@ -1,27 +0,0 @@ -// Piru -/obj/item/seeds/piru - name = "pack of piru starters" - desc = "This bacterial colony forms into piru fronds." - icon = 'modular_doppler/modular_species/species_types/teshari/icons/hydroponics/seeds.dmi' - icon_state = "seed-piru" - species = "piru" - plantname = "Piru Colony" - product = /obj/item/food/grown/piru - genes = list(/datum/plant_gene/trait/repeated_harvest) - growing_icon = 'modular_doppler/modular_species/species_types/teshari/icons/hydroponics/growing.dmi' - icon_grow = "piru-grow" - icon_dead = "piru-dead" - lifespan = 60 - endurance = 50 - growthstages = 4 - reagents_add = list(/datum/reagent/consumable/piru_flour = 0.25) - -/obj/item/food/grown/piru - seed = /obj/item/seeds/piru - name = "piru frond" - desc = "A delicate frond of piru, resembling strands of silk more than leaves. grinds down into piru flour used in teshari cuisine." - icon = 'modular_doppler/modular_species/species_types/teshari/icons/hydroponics/harvest.dmi' - icon_state = "piru" - foodtypes = VEGETABLES - grind_results = list(/datum/reagent/consumable/piru_flour = 0) - tastes = list("chalky dryness" = 1) diff --git a/modular_doppler/modular_species/species_types/teshari/food/teshari_food.dm b/modular_doppler/modular_species/species_types/teshari/food/teshari_food.dm deleted file mode 100644 index 8e600acd8e845f..00000000000000 --- a/modular_doppler/modular_species/species_types/teshari/food/teshari_food.dm +++ /dev/null @@ -1,312 +0,0 @@ - -/datum/crafting_recipe/food/teshari - category = CAT_TESHARI - -/obj/item/food/piru_dough - name = "piru dough" - desc = "A coarse, stretchy dough made from piru flour and muli juice in a striking purple color, acting as the basis for most teshari cuisine. Puffs up dramatically when grilled or baked." - icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' - icon_state = "piru_dough" - food_reagents = list(/datum/reagent/consumable/nutriment = 6) - w_class = WEIGHT_CLASS_SMALL - tastes = list("minty dough" = 1) - foodtypes = VEGETABLES - crafting_complexity = FOOD_COMPLEXITY_1 - -/obj/item/food/piru_dough/make_processable() - AddElement(/datum/element/processable, TOOL_ROLLINGPIN, /obj/item/food/flat_piru_dough, 1, 3 SECONDS, table_required = TRUE, screentip_verb = "Flatten") - -/obj/item/food/piru_dough/make_grillable() - AddComponent(/datum/component/grillable, /obj/item/food/piru_loaf, rand(15 SECONDS, 25 SECONDS), TRUE, TRUE) - -/obj/item/food/piru_dough/make_bakeable() - AddComponent(/datum/component/bakeable, /obj/item/food/piru_loaf, rand(15 SECONDS, 25 SECONDS), TRUE, TRUE) - -/obj/item/food/piru_loaf - name = "piru loaf" - desc = "A loaf of soft piru bread in a striking dark purple color, ready to be cut into slices. It's surprisingly stretchy, and smells quite minty." - icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' - icon_state = "piru_loaf" - food_reagents = list(/datum/reagent/consumable/nutriment = 20) - tastes = list("minty bread" = 1) - foodtypes = VEGETABLES - w_class = WEIGHT_CLASS_SMALL - crafting_complexity = FOOD_COMPLEXITY_2 - -/obj/item/food/piru_loaf/make_processable() - AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/breadslice/piru, 4, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice") - -/obj/item/food/breadslice/piru - name = "piru bread slice" - desc = "A slice of stretchy piru bread." - icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' - icon_state = "piru_bread_slice" - food_reagents = list(/datum/reagent/consumable/nutriment = 5) - tastes = list("minty bread" = 1) - foodtypes = VEGETABLES - crafting_complexity = FOOD_COMPLEXITY_2 - -/obj/item/food/flat_piru_dough - name = "flattened piru dough" - desc = "Flattened piru dough, can be cooked on a griddle or sliced into pasta." - icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' - icon_state = "flat_piru_dough" - food_reagents = list(/datum/reagent/consumable/nutriment = 6) - tastes = list("minty dough" = 1) - foodtypes = VEGETABLES - crafting_complexity = FOOD_COMPLEXITY_1 - -/obj/item/food/flat_piru_dough/make_processable() - AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/piru_pasta, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice") - -/obj/item/food/flat_piru_dough/make_grillable() - AddComponent(/datum/component/grillable, /obj/item/food/grilled_piru_flatbread, rand(15 SECONDS, 25 SECONDS), TRUE, TRUE) - -/obj/item/food/flat_piru_dough/make_bakeable() - AddComponent(/datum/component/bakeable, /obj/item/food/grilled_piru_flatbread, rand(15 SECONDS, 25 SECONDS), TRUE, TRUE) - -/obj/item/food/grilled_piru_flatbread - name = "grilled piru flatbread" - desc = "Crispy, grilled piru flatbread. No longer as stretchy, but it smells absolutely amazing." - icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' - icon_state = "grilled_piru_flatbread" - food_reagents = list(/datum/reagent/consumable/nutriment = 8) - tastes = list("minty flatbread" = 1) - foodtypes = VEGETABLES - crafting_complexity = FOOD_COMPLEXITY_2 - -/obj/item/food/piru_pasta - name = "piru pasta" - desc = "Thick-cut segments of piru dough formed into chewy pasta." - icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' - icon_state = "piru_pasta" - food_reagents = list(/datum/reagent/consumable/nutriment = 4) - w_class = WEIGHT_CLASS_SMALL - tastes = list("minty pasta" = 1) - foodtypes = VEGETABLES - crafting_complexity = FOOD_COMPLEXITY_2 - -/obj/item/food/baked_kiri - name = "baked kiri fruit" - desc = "A kiri fruit baked in an oven, causing the jelly inside to caramelize into a jelly donut-like crispy treat. Try not to get addicted." - icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' - icon_state = "baked_kiri" - food_reagents = list( - /datum/reagent/consumable/nutriment = 6, - /datum/reagent/consumable/kiri_jelly = 6 - ) - w_class = WEIGHT_CLASS_SMALL - tastes = list("crispy sweetness" = 1, "caramelized jelly" = 1) - foodtypes = FRUIT | SUGAR - crafting_complexity = FOOD_COMPLEXITY_2 - -/obj/item/food/baked_muli - name = "baked muli pod" - desc = "A muli pod baked in an oven, causing the minty liquid inside to condense and the exterior to soften, giving the vegetable a hard-boiled egg consistency. Remarkably tasty and healthy!" - icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' - icon_state = "baked_muli" - food_reagents = list( - /datum/reagent/consumable/nutriment = 4, - /datum/reagent/consumable/nutriment/vitamin = 4, - /datum/reagent/consumable/muli_juice = 4 - ) - w_class = WEIGHT_CLASS_SMALL - tastes = list("zesty mintyness" = 1) - foodtypes = VEGETABLES - crafting_complexity = FOOD_COMPLEXITY_2 - -/obj/item/food/spiced_jerky - name = "spiced jerky" - desc = "A segment of meat seasoned with nakati spice and dehydrated. Makes for a tasty, chewy snack." - icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' - icon_state = "spiced_jerky" - food_reagents = list( - /datum/reagent/consumable/nutriment = 8, - /datum/reagent/consumable/nutriment/protein = 6 - ) - w_class = WEIGHT_CLASS_SMALL - tastes = list("tough, spicy jerky" = 1) - foodtypes = MEAT - crafting_complexity = FOOD_COMPLEXITY_2 - custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT) - -/obj/item/food/sirisai_wrap - name = "sirisai wrap" - desc = "Meat and cabbage seasoned with nakati spice and wrapped tightly in flattened piru bread. Simple, light, delicious." - icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' - icon_state = "sirisai_wrap" - food_reagents = list( - /datum/reagent/consumable/nutriment = 8, - /datum/reagent/consumable/nutriment/protein = 6, - /datum/reagent/consumable/nutriment/vitamin = 6 - ) - w_class = WEIGHT_CLASS_SMALL - tastes = list("cooked cabbage" = 1, "spiced meat" = 1, "minty piru bread" = 1) - foodtypes = MEAT | VEGETABLES - crafting_complexity = FOOD_COMPLEXITY_4 - custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT) - -/obj/item/food/sweet_piru_noodles - name = "sweet piru noodles" - desc = "Piru pasta mixed in a bowl with chopped kiri fruit, muli pods, and carrots. It looks bizarre and seems kind of slimy, but the taste cannot be denied." - icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' - icon_state = "sweet_piru_noodles" - trash_type = /obj/item/reagent_containers/cup/bowl - food_reagents = list( - /datum/reagent/consumable/nutriment = 8, - /datum/reagent/consumable/kiri_jelly = 4, - /datum/reagent/consumable/muli_juice = 4, - /datum/reagent/consumable/nutriment/vitamin = 4 - ) - w_class = WEIGHT_CLASS_SMALL - tastes = list("minty piru noodles" = 1, "minty muli juice" = 1, "sugary kiri jelly" = 1, "baked carrots" = 1) - foodtypes = VEGETABLES | FRUIT | SUGAR - crafting_complexity = FOOD_COMPLEXITY_4 - -/obj/item/food/kiri_curry - name = "kiri curry" - desc = "Spiced meat mixed with finely sliced piru pasta and minced chili all drizzled in piru jelly sauce, just the perfect balance of spicy and sweet." - icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' - icon_state = "kiri_curry" - trash_type = /obj/item/reagent_containers/cup/bowl - food_reagents = list( - /datum/reagent/consumable/nutriment = 8, - /datum/reagent/consumable/nutriment/protein = 4, - /datum/reagent/consumable/kiri_jelly = 6, - /datum/reagent/consumable/nutriment/vitamin = 4 - ) - w_class = WEIGHT_CLASS_SMALL - tastes = list("heavily seasoned meat" = 1, "sweetened minty piru noodles" = 1, "zesty chilis" = 1) - foodtypes = VEGETABLES | FRUIT | SUGAR | MEAT - crafting_complexity = FOOD_COMPLEXITY_5 - custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT) - -/obj/item/food/sirisai_flatbread - name = "sirisai flatbread" - desc = "Piru flatbread grilled until crispy and topped with meat, chopped muli pods, and tomato sauce. Looks similar to a pizza, but way more purple and blue. Can be sliced!" - icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' - icon_state = "sirisai_flatbread" - food_reagents = list( - /datum/reagent/consumable/nutriment = 24, - /datum/reagent/consumable/nutriment/protein = 16, - /datum/reagent/consumable/muli_juice = 12, - /datum/reagent/consumable/nutriment/vitamin = 16 - ) - w_class = WEIGHT_CLASS_SMALL - tastes = list("crispy minty flatbread" = 1, "minty muli pods" = 1, "tomato sauce" = 1, "tangy spice" = 1, "baked meat" = 1) - foodtypes = VEGETABLES | MEAT - crafting_complexity = FOOD_COMPLEXITY_4 - custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT * 3) - -/obj/item/food/sirisai_flatbread/make_processable() - AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/sirisai_flatbread_slice, 4, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice") - -/obj/item/food/sirisai_flatbread_slice - name = "sirisai flatbread slice" - desc = "A slice of piru flatbread grilled until crispy and topped with meat, chopped muli pods, and tomato sauce. Looks similar to a slice of pizza, but way more purple and blue." - icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' - icon_state = "sirisai_flatbread_slice" - food_reagents = list( - /datum/reagent/consumable/nutriment = 6, - /datum/reagent/consumable/nutriment/protein = 4, - /datum/reagent/consumable/muli_juice = 3, - /datum/reagent/consumable/nutriment/vitamin = 4 - ) - w_class = WEIGHT_CLASS_SMALL - tastes = list("crispy minty flatbread" = 1, "minty muli pods" = 1, "tomato sauce" = 1, "tangy spice" = 1, "baked meat" = 1) - foodtypes = VEGETABLES | MEAT - crafting_complexity = FOOD_COMPLEXITY_4 - custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT * 0.75) - -/obj/item/food/bluefeather_crisp - name = "bluefeather crisp" - desc = "A spiced cracker made of flattened, dried piru bread. The name comes from the blue stain often left on feathers when eaten with muli dip." - icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' - icon_state = "bluefeather_crisp" - food_reagents = list( - /datum/reagent/consumable/nutriment = 4, - /datum/reagent/consumable/nutriment/vitamin = 2 - ) - w_class = WEIGHT_CLASS_SMALL - tastes = list("chewy crackers" = 1, "zesty spice" = 1, "pleasant mintyness" = 1) - foodtypes = VEGETABLES - crafting_complexity = FOOD_COMPLEXITY_3 - -/obj/item/food/bluefeather_crisps_and_dip - name = "bluefeather crisps and dip" - desc = "Bluefeather crisp crackers, now with dip made of muli juice and tomatoes. The name comes from the blue stain often left on feathers when dripped onto them." - icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' - icon_state = "bluefeather_crisps_and_dip" - food_reagents = list( - /datum/reagent/consumable/nutriment = 12, - /datum/reagent/consumable/muli_juice = 8, - /datum/reagent/consumable/nutriment/vitamin = 6 - ) - w_class = WEIGHT_CLASS_SMALL - tastes = list("chewy crackers" = 1, "tangy dip" = 1, "pleasant mintyness" = 1) - foodtypes = VEGETABLES - crafting_complexity = FOOD_COMPLEXITY_4 - -/obj/item/food/stewed_muli - name = "stewed muli" - desc = "A simple stew of meat, carrots and cabbage all cooked in muli juice. For the growing teshari." - icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' - icon_state = "stewed_muli" - trash_type = /obj/item/reagent_containers/cup/bowl - food_reagents = list( - /datum/reagent/consumable/nutriment = 10, - /datum/reagent/consumable/nutriment/protein = 8, - /datum/reagent/consumable/nutriment/vitamin = 6, - /datum/reagent/consumable/muli_juice = 6 - ) - w_class = WEIGHT_CLASS_SMALL - tastes = list("hearty spiced meat" = 1, "baked carrots" = 1, "baked cabbage" = 1, "minty broth" = 1) - foodtypes = VEGETABLES | MEAT - crafting_complexity = FOOD_COMPLEXITY_5 - custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT * 2) - -/obj/item/food/stuffed_muli_pod - name = "stuffed muli pod" - desc = "A cooked muli pod, now stuffed with meat, minced kiri fruit, and chili. Chewy sweet and spicy all in one!" - icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' - icon_state = "stuffed_muli_pod" - food_reagents = list( - /datum/reagent/consumable/nutriment = 8, - /datum/reagent/consumable/nutriment/protein = 4, - /datum/reagent/consumable/nutriment/vitamin = 4, - /datum/reagent/consumable/muli_juice = 4 - ) - w_class = WEIGHT_CLASS_SMALL - tastes = list("spiced meat" = 1, "minty muli pod" = 1, "super-sweet kiri fruit" = 1, "chili" = 1) - foodtypes = VEGETABLES | FRUIT | MEAT | SUGAR - crafting_complexity = FOOD_COMPLEXITY_3 - custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT) - -/obj/item/food/caramel_jelly_toast - name = "caramel jelly toast" - desc = "A toasted slice of piru bread with a generous slathering of thick caramel and sweet kiri jelly. Is this supposed to be breakfast or desert?" - icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' - icon_state = "caramel_jelly_toast" - food_reagents = list( - /datum/reagent/consumable/nutriment = 8, - /datum/reagent/consumable/nutriment/vitamin = 6 - ) - w_class = WEIGHT_CLASS_SMALL - tastes = list("minty piru bread" = 1, "sweet caramel" = 1, "super-sweet kiri jelly" = 1) - foodtypes = VEGETABLES | FRUIT | SUGAR - crafting_complexity = FOOD_COMPLEXITY_4 - -/obj/item/food/kiri_jellypuff - name = "kiri jellypuff" - desc = "A piece of piru bread puffed and rolled into a thick disk, containing a kiri jelly and cream filling and sprinkled with piru flour. Just one will never be enough." - icon = 'modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi' - icon_state = "kiri_jellypuff" - food_reagents = list( - /datum/reagent/consumable/nutriment = 8, - /datum/reagent/consumable/nutriment/vitamin = 6, - /datum/reagent/consumable/kiri_jelly = 4 - ) - w_class = WEIGHT_CLASS_SMALL - tastes = list("puffed minty piru bread" = 1, "rich cream" = 1, "super-sweet kiri jelly" = 1) - foodtypes = VEGETABLES | FRUIT | SUGAR - crafting_complexity = FOOD_COMPLEXITY_4 diff --git a/modular_doppler/modular_species/species_types/teshari/food/teshari_recipes.dm b/modular_doppler/modular_species/species_types/teshari/food/teshari_recipes.dm deleted file mode 100644 index bb048e7767f85d..00000000000000 --- a/modular_doppler/modular_species/species_types/teshari/food/teshari_recipes.dm +++ /dev/null @@ -1,139 +0,0 @@ -/datum/crafting_recipe/food/reaction/piru_dough - reaction = /datum/chemical_reaction/food/piru_dough - result = /obj/item/food/piru_dough - category = CAT_TESHARI - -/datum/chemical_reaction/food/piru_dough - required_reagents = list( - /datum/reagent/consumable/piru_flour = 15, - /datum/reagent/consumable/muli_juice = 10, - ) - mix_message = "The ingredients form a dough." - reaction_flags = REACTION_INSTANT - resulting_food_path = /obj/item/food/piru_dough - -/datum/crafting_recipe/food/spiced_jerky - name = "Spiced Jerky" - reqs = list( - /obj/item/food/meat/cutlet = 1, - /datum/reagent/consumable/nakati_spice = 2, - ) - result = /obj/item/food/spiced_jerky - category = CAT_TESHARI - -/datum/crafting_recipe/food/sirisai_wrap - name = "Sirisai Wrap" - reqs = list( - /obj/item/food/breadslice/piru = 1, - /obj/item/food/meat/cutlet = 1, - /obj/item/food/grown/cabbage = 1, - /datum/reagent/consumable/nakati_spice = 5, - ) - result = /obj/item/food/sirisai_wrap - category = CAT_TESHARI - -/datum/crafting_recipe/food/sweet_piru_noodles - name = "Sweet Piru Noodles" - reqs = list( - /obj/item/reagent_containers/cup/bowl = 1, - /obj/item/food/piru_pasta = 1, - /obj/item/food/grown/kiri = 1, - /obj/item/food/grown/muli = 1, - /obj/item/food/grown/carrot = 1, - ) - result = /obj/item/food/sweet_piru_noodles - category = CAT_TESHARI - -/datum/crafting_recipe/food/kiri_curry - added_foodtypes = FRUIT | SUGAR - name = "Kiri Curry" - reqs = list( - /obj/item/reagent_containers/cup/bowl = 1, - /obj/item/food/piru_pasta = 1, - /obj/item/food/meat/cutlet = 1, - /obj/item/food/grown/chili = 1, - /datum/reagent/consumable/nakati_spice = 5, - /datum/reagent/consumable/kiri_jelly = 5, - ) - result = /obj/item/food/kiri_curry - category = CAT_TESHARI - -/datum/crafting_recipe/food/sirisai_flatbread - name = "Sirisai Flatbread" - reqs = list( - /obj/item/food/grilled_piru_flatbread = 1, - /obj/item/food/meat/cutlet = 3, - /obj/item/food/grown/muli = 1, - /obj/item/food/grown/tomato = 1, - /datum/reagent/consumable/nakati_spice = 5, - ) - result = /obj/item/food/sirisai_flatbread - category = CAT_TESHARI - -/datum/crafting_recipe/food/bluefeather_crisp - name = "Bluefeather Crisp" - reqs = list( - /obj/item/food/breadslice/piru = 1, - /datum/reagent/consumable/nakati_spice = 2, - ) - result = /obj/item/food/bluefeather_crisp - category = CAT_TESHARI - -/datum/crafting_recipe/food/stewed_muli - name = "Stewed Muli" - reqs = list( - /obj/item/reagent_containers/cup/bowl = 1, - /datum/reagent/consumable/muli_juice = 10, - /obj/item/food/meat/cutlet = 2, - /obj/item/food/grown/cabbage = 1, - /obj/item/food/grown/carrot = 1, - /datum/reagent/consumable/nakati_spice = 5, - ) - result = /obj/item/food/stewed_muli - category = CAT_TESHARI - -/datum/crafting_recipe/food/stuffed_muli_pod - name = "Stuffed Muli Pod" - reqs = list( - /obj/item/food/grown/muli = 1, - /obj/item/food/meat/cutlet = 1, - /obj/item/food/grown/kiri = 1, - /obj/item/food/grown/chili = 1, - /datum/reagent/consumable/nakati_spice = 2, - ) - result = /obj/item/food/stuffed_muli_pod - category = CAT_TESHARI - -/datum/crafting_recipe/food/caramel_jelly_toast - added_foodtypes = FRUIT | SUGAR - name = "Caramel-jelly Toast" - reqs = list( - /obj/item/food/breadslice/piru = 1, - /datum/reagent/consumable/kiri_jelly = 5, - /datum/reagent/consumable/caramel = 5, - ) - result = /obj/item/food/caramel_jelly_toast - category = CAT_TESHARI - -/datum/crafting_recipe/food/kiri_jellypuff - added_foodtypes = FRUIT | SUGAR - name = "Kiri Jellypuff" - reqs = list( - /obj/item/food/breadslice/piru = 1, - /datum/reagent/consumable/kiri_jelly = 5, - /datum/reagent/consumable/cream = 5, - /datum/reagent/consumable/piru_flour = 5, - ) - result = /obj/item/food/kiri_jellypuff - category = CAT_TESHARI - -/datum/crafting_recipe/food/bluefeather_crisps_and_dip - name = "Bluefeather Crisps and Dip" - reqs = list( - /obj/item/food/bluefeather_crisp = 2, - /datum/reagent/consumable/muli_juice = 5, - /obj/item/food/grown/tomato = 1, - /datum/reagent/consumable/nakati_spice = 5, - ) - result = /obj/item/food/bluefeather_crisps_and_dip - category = CAT_TESHARI diff --git a/modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi b/modular_doppler/modular_species/species_types/teshari/icons/food/teshfood.dmi deleted file mode 100644 index 05c9f6e6fd64cf5172e0d19a5d7f7ff45f23c800..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7481 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 diff --git a/modular_doppler/modular_species/species_types/teshari/icons/hydroponics/harvest.dmi b/modular_doppler/modular_species/species_types/teshari/icons/hydroponics/harvest.dmi deleted file mode 100644 index 1e597ae650ab37aba96df6818c50a33ec73c2ef2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1466 zcmV;r1x5OaP)V=-0C=2JR&a84_w-Y6@%7{?OD!tS%+FJ>RWQ*r;NmRLOex6#a*U0*I5Sc+ z(=$pSoZ^zil2jm5sUWkcREdi-C9|j)$Tj5ROe;#vO@*-Gin23{G6^cmOUzCzA*?L7 zGzX_5Wd&D17qB+~3->vLjY{*a000E}Nkl!2(MU9%?t)a%I)cHS&JF$zD1g@wEKaUy zUO&@M?DFbCM7;0baW*;hS&R0yM7(;opQuX!knUgySlgv8w#14oelNx{LwObi`5!+= zOinwv|CXzFM%=CgKpvwlLLd3S$e%p1W@?+AYjP!m>kPoi|DJB<=QsvMUPLn4!GHBY zdJ42p7P<9c`#q-%ocz-Gm%zx==!1AV{g)*Y#u)y65oe?MVeRU}+fx0IasX_Pd5#~* z132PZMf!t$X7CF8Hh6)Z=|08I-;s|r>A#>6r@(^~fS~O^cC(Wul1YAk`Pn>6rQR~8 z=YTAv1ps-2biqh}{hFgMD*bXzmZ*+0ux zWgp`T@1FiCpQlr)GI?ZyTSy5&$uFjVP<3Afh{qqK%hwcyZs2$wKr-DMc98wv?LMR9q(Bg-HYJhcsThtW5Sp8wsQ!ur|1!yy- zfqu-x9{}R8yKS6vKPc* zc_R=TT$jR4%OKfWtOB$M5`laOvJ?VT5vn1(Ep}W5avNVG-Mf!zAd72!3m|7e9R0r2 zce)04dJq96an>g3Wxok*DgarUj??2){5;B9_j9AF{l+kXzJbMUWN% zm0&v8f&@WKg}0-U@tiRg8%>k07*qoM6N<$g4?~NiU0rr diff --git a/modular_doppler/modular_species/species_types/teshari/icons/hydroponics/seeds.dmi b/modular_doppler/modular_species/species_types/teshari/icons/hydroponics/seeds.dmi deleted file mode 100644 index 6e4c982c77ba0c7cd393acdc4ddfe999939608d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 970 zcmV;*12z1KP)V=-0C=2JR&a84_w-Y6@%7{?OD!tS%+FJ>RWQ*r;NmRLOex6#a*U0*I5Sc+ z(=$pSoZ^zil2jm5sW>$?MYkZcs8orIGbOXA7$|1Q#hF%=n41b=qpHl#EXpKKWnN-- zVhNFIb4zn@s#I2R^>YDx4FH2EK)afRsK5XK0|QA!K~#90?V3+$6G0TlCncbW5ELrJ z3Jsd}pd}(wh$Yg3*n{-or56z)hD2ULjN-2nV>BU3wB0`Em3q{0GJ){v* zu?8$C1rdc{^c&d_ubzo>q67%^Nqf~cWQn8fQpKh$}IW#q!9q| zi3@ctjuMg2m-;slU%!7-uTvuOscn-CK+kU8i)(R|h>P zDIgw{i!bfk;p_yl36<62rFeUBQpbaL=YNlaqwIEABcN3{dLP?+rnj?;Fa^C2;aGxg zc3YgC0@1D8YMNbx6~Rat%<=ZOx(Z12KET8W;aD&V26G)g1p>i{60<*mXe?q^0V(0G zF){$Rxi-Js5;fUzCc_x@t#D=L8TkPtJ$2mq)8Odn82R{%iv{xW$p-wdbp5k{H$b`o zX}kf_1xVu!kS;(PZ-8_G(s%=;3y{VeAYFho-T>(Wr0IGC$nUV0A6#o>QoB{D`dLNA z;j`DBzY*G-$uwSUY^Y7q_B*-=Z zL;iK~smof7*grnrTx?()aOdYKb*bmEhzapjO2>UeLps`+z%~HlVS*$dR#uuOaIu;L z4(Cp2BP4+dHn0r9`5(6ZFToxGt=Ilwy_38zmz}i3`kcGfwZBvM0ia&3>WMHg0oz>K z`#rmj*obb$=oG+huFdbZ;5OIh_pKm*9{*9CAwOVj%S}0d8eB^z$;a=n)%^bhsQ70A s=>nwj21pkmjWV!Z From 56a5b3cf49b962538c0ad0e275b3eb531ff4faf8 Mon Sep 17 00:00:00 2001 From: nikothedude Date: Fri, 31 Oct 2025 18:07:25 -0400 Subject: [PATCH 04/52] okay. and now, we polish --- .../living/carbon/human/human_update_icons.dm | 40 +++++----- .../languages/code/language_datums.dm | 1 + .../json_configs/shoes/boots_teshari.json | 10 +++ .../modular_customization/preferences/ears.dm | 7 ++ .../modular_customization/preferences/tail.dm | 74 +++++++++++++++++- .../species_types/teshari/gags_configs.dm | 5 +- .../teshari/icons/abilities/actions.dmi | Bin 1264 -> 1629 bytes .../species_types/teshari/teshari.dm | 21 +++-- .../species_types/teshari/teshari_tablerun.dm | 20 +++++ .../species_types/teshari/worn_overlays.dm | 2 +- .../code/tg_vendors/megaseed.dm | 10 --- tgstation.dme | 9 +-- 12 files changed, 149 insertions(+), 50 deletions(-) create mode 100644 modular_doppler/modular_cosmetics/GAGS/json_configs/shoes/boots_teshari.json create mode 100644 modular_doppler/modular_species/species_types/teshari/teshari_tablerun.dm diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index 72a3491dd142c1..53bd7dbcd7f93b 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -233,10 +233,10 @@ There are several things that need to be remembered: var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_SUIT, worn_item) + var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_GLOVES, worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_SUIT, worn_item, src) + var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_GLOVES, worn_item, src) if(species_icon_file) icon_file = species_icon_file autogen_override = TRUE @@ -301,10 +301,10 @@ There are several things that need to be remembered: var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_SUIT, worn_item) + var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_GLASSES, worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_SUIT, worn_item, src) + var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_GLASSES, worn_item, src) if(species_icon_file) icon_file = species_icon_file autogen_override = TRUE @@ -352,10 +352,10 @@ There are several things that need to be remembered: var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_SUIT, worn_item) + var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_EARS, worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_SUIT, worn_item, src) + var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_EARS, worn_item, src) if(species_icon_file) icon_file = species_icon_file autogen_override = TRUE @@ -398,10 +398,10 @@ There are several things that need to be remembered: var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_SUIT, worn_item) + var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_NECK, worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_SUIT, worn_item, src) + var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_NECK, worn_item, src) if(species_icon_file) icon_file = species_icon_file autogen_override = TRUE @@ -450,10 +450,10 @@ There are several things that need to be remembered: var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_SUIT, worn_item) + var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_SHOES, worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_SUIT, worn_item, src) + var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_SHOES, worn_item, src) if(species_icon_file) icon_file = species_icon_file autogen_override = TRUE @@ -507,10 +507,10 @@ There are several things that need to be remembered: var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_SUIT, worn_item) + var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_S_STORE, worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_SUIT, worn_item, src) + var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_S_STORE, worn_item, src) if(species_icon_file) icon_file = species_icon_file autogen_override = TRUE @@ -553,10 +553,10 @@ There are several things that need to be remembered: var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_SUIT, worn_item) + var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_HEAD, worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_SUIT, worn_item, src) + var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_HEAD, worn_item, src) if(species_icon_file) icon_file = species_icon_file autogen_override = TRUE @@ -602,10 +602,10 @@ There are several things that need to be remembered: var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_SUIT, worn_item) + var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_BELT, worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_SUIT, worn_item, src) + var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_BELT, worn_item, src) if(species_icon_file) icon_file = species_icon_file autogen_override = TRUE @@ -724,10 +724,10 @@ There are several things that need to be remembered: var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_SUIT, worn_item) + var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_FACEMASK, worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_SUIT, worn_item, src) + var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_FACEMASK, worn_item, src) if(species_icon_file) icon_file = species_icon_file autogen_override = TRUE @@ -773,10 +773,10 @@ There are several things that need to be remembered: var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_SUIT, worn_item) + var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_BACK, worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_SUIT, worn_item, src) + var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_BACK, worn_item, src) if(species_icon_file) icon_file = species_icon_file autogen_override = TRUE diff --git a/modular_doppler/languages/code/language_datums.dm b/modular_doppler/languages/code/language_datums.dm index 022d67954ab7bf..8531345666db10 100644 --- a/modular_doppler/languages/code/language_datums.dm +++ b/modular_doppler/languages/code/language_datums.dm @@ -7,6 +7,7 @@ langs += /datum/language/slime langs += /datum/language/primitive_genemod langs += /datum/language/nambuni + langs += /datum/language/schechi return langs /// ACTUAL LANGUAGES BEGIN HERE diff --git a/modular_doppler/modular_cosmetics/GAGS/json_configs/shoes/boots_teshari.json b/modular_doppler/modular_cosmetics/GAGS/json_configs/shoes/boots_teshari.json new file mode 100644 index 00000000000000..6cac4b9a065fb8 --- /dev/null +++ b/modular_doppler/modular_cosmetics/GAGS/json_configs/shoes/boots_teshari.json @@ -0,0 +1,10 @@ +{ + "boots": [ + { + "type": "icon_state", + "icon_state": "boots", + "blend_mode": "overlay", + "color_ids": [ 1 ] + } + ] +} diff --git a/modular_doppler/modular_customization/preferences/ears.dm b/modular_doppler/modular_customization/preferences/ears.dm index c6a3812f9bb139..67fc525f01da3e 100644 --- a/modular_doppler/modular_customization/preferences/ears.dm +++ b/modular_doppler/modular_customization/preferences/ears.dm @@ -632,11 +632,18 @@ GLOBAL_VAR(generic_uni_icon_ears_tesh) accessory_icon.blend_color(COLOR_BLUE, ICON_MULTIPLY) final_icon.blend_icon(accessory_icon, ICON_OVERLAY) + shift_ears_icon(final_icon) final_icon.crop(11, 20, 23, 32) final_icon.scale(32, 32) return final_icon +/datum/preference/choiced/proc/shift_ears_icon(var/datum/universal_icon/icon) + return + +/datum/preference/choiced/teshari_ears/shift_ears_icon(var/datum/universal_icon/icon) + icon.shift(NORTH, 5) + /// Overwrite lives here // This is for the triple color channel /datum/bodypart_overlay/mutant/ears diff --git a/modular_doppler/modular_customization/preferences/tail.dm b/modular_doppler/modular_customization/preferences/tail.dm index 72cc22d492eb0e..34c43f5c5beb20 100644 --- a/modular_doppler/modular_customization/preferences/tail.dm +++ b/modular_doppler/modular_customization/preferences/tail.dm @@ -77,7 +77,7 @@ return NO_VARIATION /datum/preference/choiced/tail_variation/init_possible_values() - return list(NO_VARIATION) + (GLOB.mutant_variations) + list(TESHARI) + return list(NO_VARIATION) + (GLOB.mutant_variations) + list(TESHARI) // causes runtimes with other species... how do i fix this /datum/preference/choiced/tail_variation/is_accessible(datum/preferences/preferences) . = ..() @@ -86,6 +86,11 @@ return FALSE return TRUE +/datum/preference/choiced/tail_variation/species_can_access_mutant_customization(species_typepath) + if (ispath(species_typepath, /datum/species/teshari)) + return TRUE + return ..() + /datum/preference/choiced/tail_variation/apply_to_human(mob/living/carbon/human/target, chosen_variation) // Read by the regenerate_organs() proc to know what organ subtype to grant target.dna.tail_type = chosen_variation @@ -132,6 +137,11 @@ should_generate_icons = TRUE main_feature_name = "Tail" +/datum/preference/choiced/lizard_tail/species_can_access_mutant_customization(species_typepath) + if (ispath(species_typepath, /datum/species/teshari)) + return TRUE + return ..() + /datum/preference/choiced/lizard_tail/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) @@ -188,6 +198,11 @@ should_generate_icons = TRUE main_feature_name = "Tail" +/datum/preference/choiced/dog_tail/species_can_access_mutant_customization(species_typepath) + if (ispath(species_typepath, /datum/species/teshari)) + return TRUE + return ..() + /datum/preference/choiced/dog_tail/init_possible_values() return assoc_to_keys_features(SSaccessories.tails_list_dog) @@ -221,6 +236,11 @@ should_generate_icons = TRUE main_feature_name = "Tail" +/datum/preference/choiced/fox_tail/species_can_access_mutant_customization(species_typepath) + if (ispath(species_typepath, /datum/species/teshari)) + return TRUE + return ..() + /datum/preference/choiced/fox_tail/init_possible_values() return assoc_to_keys_features(SSaccessories.tails_list_fox) @@ -254,6 +274,11 @@ should_generate_icons = TRUE main_feature_name = "Tail" +/datum/preference/choiced/bunny_tail/species_can_access_mutant_customization(species_typepath) + if (ispath(species_typepath, /datum/species/teshari)) + return TRUE + return ..() + /datum/preference/choiced/bunny_tail/init_possible_values() return assoc_to_keys_features(SSaccessories.tails_list_bunny) @@ -287,6 +312,11 @@ should_generate_icons = TRUE main_feature_name = "Tail" +/datum/preference/choiced/mouse_tail/species_can_access_mutant_customization(species_typepath) + if (ispath(species_typepath, /datum/species/teshari)) + return TRUE + return ..() + /datum/preference/choiced/mouse_tail/init_possible_values() return assoc_to_keys_features(SSaccessories.tails_list_mouse) @@ -320,6 +350,11 @@ should_generate_icons = TRUE main_feature_name = "Tail" +/datum/preference/choiced/bird_tail/species_can_access_mutant_customization(species_typepath) + if (ispath(species_typepath, /datum/species/teshari)) + return TRUE + return ..() + /datum/preference/choiced/bird_tail/init_possible_values() return assoc_to_keys_features(SSaccessories.tails_list_bird) @@ -351,6 +386,11 @@ should_generate_icons = TRUE main_feature_name = "Tail" +/datum/preference/choiced/monkey_tail/species_can_access_mutant_customization(species_typepath) + if (ispath(species_typepath, /datum/species/teshari)) + return TRUE + return ..() + /datum/preference/choiced/monkey_tail/is_accessible(datum/preferences/preferences) . = ..() var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) @@ -380,6 +420,11 @@ should_generate_icons = TRUE main_feature_name = "Tail" +/datum/preference/choiced/deer_tail/species_can_access_mutant_customization(species_typepath) + if (ispath(species_typepath, /datum/species/teshari)) + return TRUE + return ..() + /datum/preference/choiced/deer_tail/init_possible_values() return assoc_to_keys_features(SSaccessories.tails_list_deer) @@ -413,6 +458,11 @@ should_generate_icons = TRUE main_feature_name = "Tail" +/datum/preference/choiced/fish_tail/species_can_access_mutant_customization(species_typepath) + if (ispath(species_typepath, /datum/species/teshari)) + return TRUE + return ..() + /datum/preference/choiced/fish_tail/init_possible_values() return assoc_to_keys_features(SSaccessories.tails_list_fish) @@ -446,6 +496,11 @@ should_generate_icons = TRUE main_feature_name = "Tail" +/datum/preference/choiced/bug_tail/species_can_access_mutant_customization(species_typepath) + if (ispath(species_typepath, /datum/species/teshari)) + return TRUE + return ..() + /datum/preference/choiced/bug_tail/init_possible_values() return assoc_to_keys_features(SSaccessories.tails_list_bug) @@ -479,6 +534,11 @@ should_generate_icons = TRUE main_feature_name = "Tail" +/datum/preference/choiced/synth_tail/species_can_access_mutant_customization(species_typepath) + if (ispath(species_typepath, /datum/species/teshari)) + return TRUE + return ..() + /datum/preference/choiced/synth_tail/init_possible_values() return assoc_to_keys_features(SSaccessories.tails_list_synth) @@ -512,6 +572,11 @@ should_generate_icons = TRUE main_feature_name = "Tail" +/datum/preference/choiced/humanoid_tail/species_can_access_mutant_customization(species_typepath) + if (ispath(species_typepath, /datum/species/teshari)) + return TRUE + return ..() + /datum/preference/choiced/humanoid_tail/init_possible_values() return assoc_to_keys_features(SSaccessories.tails_list_humanoid) @@ -545,6 +610,11 @@ should_generate_icons = TRUE main_feature_name = "Tail" +/datum/preference/choiced/alien_tail/species_can_access_mutant_customization(species_typepath) + if (ispath(species_typepath, /datum/species/teshari)) + return TRUE + return ..() + /datum/preference/choiced/alien_tail/init_possible_values() return assoc_to_keys_features(SSaccessories.tails_list_alien) @@ -577,7 +647,7 @@ relevant_external_organ = null should_generate_icons = TRUE main_feature_name = "Tail" - priority = PREFERENCE_PRIORITY_SPECIES + 0.1 + //priority = PREFERENCE_PRIORITY_SPECIES + 0.1 /datum/preference/choiced/teshari_tail/init_possible_values() return assoc_to_keys_features(SSaccessories.tails_list_teshari) diff --git a/modular_doppler/modular_species/species_types/teshari/gags_configs.dm b/modular_doppler/modular_species/species_types/teshari/gags_configs.dm index 13dfb9e573935c..c96c95f837f0f3 100644 --- a/modular_doppler/modular_species/species_types/teshari/gags_configs.dm +++ b/modular_doppler/modular_species/species_types/teshari/gags_configs.dm @@ -96,6 +96,7 @@ icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/sneakers_teshari.dmi' /datum/greyscale_config/boots/worn/teshari + json_config = 'modular_doppler/modular_cosmetics/GAGS/json_configs/shoes/boots_teshari.json' icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/shoes_teshari.dmi' ///datum/greyscale_config/laceup/worn/teshari @@ -148,9 +149,9 @@ // name = "Colourable Sterile Mask (Worn) (Teshari)" // icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/masks_teshari.dmi' -/datum/greyscale_config/respirator/worn/teshari +/*/datum/greyscale_config/respirator/worn/teshari name = "Colourable Respirator (Worn) (Teshari)" - icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/masks_teshari.dmi' + icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/masks_teshari.dmi'*/ /datum/greyscale_config/standalone_hood/worn/teshari icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/head_teshari.dmi' diff --git a/modular_doppler/modular_species/species_types/teshari/icons/abilities/actions.dmi b/modular_doppler/modular_species/species_types/teshari/icons/abilities/actions.dmi index 5b2e354f7c1581ace14f92ee384007080c6dd33c..fa3f51ac9c1f9e6e6cb68d12031f1fc016c2a676 100644 GIT binary patch literal 1629 zcmV-j2BP_iP)V=-0C=2r%&`iCFc?MQIeChUuAx*T-LjNOanM(gRDVstCXl2peftg_q|lCM z_)dv)d+7$~zT*#y$psIE=5XZf>E>*qAZyMnxz*-Rq--)lp`gizElei6;K$$#&Sn=A z6e`Y^Xl|6CaN=yH&Agyc3n`?Kq85KA%kukD?I2UKCb}`3>qhbJz4PminlDtM9W->` z@i$U_Ll<2Op@IMa1#(G5K~#90?VP`B8%Y$$pN^Cvq)!tOq4MC+Kj6Z3Y-8-hMT$F2 zg0VX#N)yHOq2A_+ncSL zd2vWT9ltE5ihfzFnra?^3IFr(LFV_T!!uz)FmS2QdvL1yqKcH&)zufpR5HMLGEMTr zc}|CC)=c11zo_zc^i@p2Dwub@$^93_^?D4DZ{}RZz|eIO69Z`j$hZ&SSJQ-5acQ^e z>ThqhYAWR^`lguNKZ_+QN7?6C&p-cJsR8I4SPeG1(4v@1UBLHmKTxjGh4k_DmB#>O z0yb}+^zG=E8X(eUhR0=Jg}bsTD=Bh42G~;peoAY0_9BLN#|7p z05BN6$^4$V6XV92I@kxd0+8ydDD(_R*RS zE_$VKHP9h_Jbh^cq(zHz(x=0-Ob%YPFr@EZUup~>I}wp94BA5=eS7-CF~E2-O?LNp zl*9o5cK3JCCX-0tp1yE4aCd(PZr#4AT!34*ZyG-Y(zmZ)Y56 z{lYQ8N#|9P&o(iN99dLIo%sRMccZWM8t7u$ll0x_Qz9sG$N-T;a{-Y z7{Fy8&C?oBrq3PfJJa$VZ_fuHeK%+y5)~4n3Nz`lY{bPx$pGKK{SYos!k#Nnj~P_; zWyc$`6``u{Lj{ZQ{(OM^LsZeXQ2|w-4}gud0bK5nCw+H#dp-c^yJ2Ynm;Dt_3oAn> zsqak7cUBTX0Oe*d*`F_pFO#J+Js-d{6Ik{62-s-P1?cRL$D9k$)JK~OuyH;>yWL3u z0D8Ty6%+B|bJql7&j#9x85-?&C#g4@u$a%#O;8k@I|#&{zNN~S=g+@dPGf7W3Jz(1 zyf6Cw!N_U)_~huY20-Tnc%#3V&*0_j|KQ%;JKANG;q#ZT@a)Os<> zn*CVxKYp0P#}8BW0vbT)19+})8#*7rV|^FU`2Zg4yP(hjy#48-2f_P%FnY6+G?5{8 zeOJ)=0Bfj^3GEDu99k0Q3B6vo#&Y#8wAlaYe1MAC*x0C4KhpxZN=LFZBvCy}1M~-@ zxLY zLk5T(GC<^z0V0PC5IJOk$RPtn4jCYF$N-TO)S5uHY}?k#UE9aFRY5Q<06PXvw7%a2 zwk+J$9zGWY)dDQ$Gg!=LP;WHh?f>u4;<8vamz-Bckefr-X=_;3n?r*%z&cU20fHF= b5PJLs)@A^D)ST)900000NkvXXu0mjf76ur6 literal 1264 zcmVV=-0C=2r%rOqaAQ%SFng0}D+Lag!#*M|$7>4!=h7=Hz3JDO6w|8*W@hxw} zWxkpfdNK6$wWX4wa5@}`y^`w@3Q`b@KHX#gqIKIn6b8S=vX{;FRPwFlftX9RL17{m zs(ttdg)=edcl(Bd;F3!&x!`}35PmNcjhI&ry%_oc#mq7ug%kVa000CVNkl zy=o&d5XZ;CWe9l}zkmxrfQ`Z36$jxUBz01TE0a1Q5CSgz0$U$j_yzV|LP)tpn>8d;hjq{w=$zpTHsTFq+M$$q~FhK@7p3e*l8Knxo|3>!cU8$b*jK+M$li%r}0 z^8d@lY!Y6b`t+R*5W?Sod^IR;l?t^awhm)tTzU@9-r7ONC9}oHcx``bi^V`rE_w%tv z;8^u=T8IGv+}=I*006J=F9*j(?}*X+bJ16g9#{RSD`8bd1Yx+x1FQv+Og zGT3n4o|qD?0k#S^ZP&|xwsWx+!ZyB(J^oqKm91O{m>R*bKOO+|4FW0e_$ zY~}!&*x}<`8y~=P1eCNtpIV>u1BmrGKY&=D^8<+WIX{3{pYsEV^*KL)SfBF)i1o8v zh}8reKn!^-Xg;5l>QlobfEYG_7&d?yHh>s5fEYG_n3H{fKq;Ku`vXeD$pF)X32}V; zw#)YUYmV?7Kuosp52%GHfPLd^NJ`Hb<(9-00N)UwA79qTb8@Vl8`#dthst4m!qU+=07KyA5ap!5F>^S aAm%q+|3++7j$5t(0000 Date: Fri, 31 Oct 2025 18:09:32 -0400 Subject: [PATCH 05/52] aaa --- code/__DEFINES/~doppler_defines/construction.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/__DEFINES/~doppler_defines/construction.dm b/code/__DEFINES/~doppler_defines/construction.dm index 07da785270bf96..cd731afaf801f9 100644 --- a/code/__DEFINES/~doppler_defines/construction.dm +++ b/code/__DEFINES/~doppler_defines/construction.dm @@ -1,3 +1,2 @@ #define CAT_HEMOPHAGE "Hemophage Food" -#define CAT_TESHARI "Teshari Food" From 44997e0a4ccb966fa80822588bb5783bc460f3a4 Mon Sep 17 00:00:00 2001 From: nikothedude Date: Fri, 31 Oct 2025 18:28:20 -0400 Subject: [PATCH 06/52] cleanup, docs, some reorg --- .../living/carbon/human/human_update_icons.dm | 48 +++++++++--------- icons/map_icons/clothing/head/beret.dmi | Bin 2907 -> 2726 bytes .../code/chest.dm} | 0 .../code/under/under.dm} | 0 .../preferences/preference.dm | 5 ++ modular_doppler/modular_species/_species.dm | 4 ++ .../modular_species/custom_bodytype.dm | 30 +++++------ .../species_types/teshari/teshari.dm | 18 +++---- .../teshari/teshari_bodyparts.dm | 1 - .../species_types/teshari/teshari_clothes.dm | 1 + tgstation.dme | 4 +- 11 files changed, 57 insertions(+), 54 deletions(-) rename modular_doppler/{modular_species/species_types/teshari/parts.dm => modular_cosmetics/code/chest.dm} (100%) rename modular_doppler/{modular_species/species_types/teshari/worn_overlays.dm => modular_cosmetics/code/under/under.dm} (100%) diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index 53bd7dbcd7f93b..92b18c896533f9 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -113,10 +113,10 @@ There are several things that need to be remembered: break if(!found_alt_shape) - var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_UNIFORM, uniform) + var/fallback_config = dna.species.get_autogen_worn_config(OFFSET_UNIFORM, uniform) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_UNIFORM, uniform, src) + var/species_icon_file = dna.species.generate_autogen_worn_icon(OFFSET_UNIFORM, uniform, src) if(species_icon_file) icon_file = species_icon_file /// DOPPLER SHIFT ADDITION END @@ -233,10 +233,10 @@ There are several things that need to be remembered: var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_GLOVES, worn_item) + var/fallback_config = dna.species.get_autogen_worn_config(OFFSET_GLOVES, worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_GLOVES, worn_item, src) + var/species_icon_file = dna.species.generate_autogen_worn_icon(OFFSET_GLOVES, worn_item, src) if(species_icon_file) icon_file = species_icon_file autogen_override = TRUE @@ -301,10 +301,10 @@ There are several things that need to be remembered: var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_GLASSES, worn_item) + var/fallback_config = dna.species.get_autogen_worn_config(OFFSET_GLASSES, worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_GLASSES, worn_item, src) + var/species_icon_file = dna.species.generate_autogen_worn_icon(OFFSET_GLASSES, worn_item, src) if(species_icon_file) icon_file = species_icon_file autogen_override = TRUE @@ -352,10 +352,10 @@ There are several things that need to be remembered: var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_EARS, worn_item) + var/fallback_config = dna.species.get_autogen_worn_config(OFFSET_EARS, worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_EARS, worn_item, src) + var/species_icon_file = dna.species.generate_autogen_worn_icon(OFFSET_EARS, worn_item, src) if(species_icon_file) icon_file = species_icon_file autogen_override = TRUE @@ -398,10 +398,10 @@ There are several things that need to be remembered: var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_NECK, worn_item) + var/fallback_config = dna.species.get_autogen_worn_config(OFFSET_NECK, worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_NECK, worn_item, src) + var/species_icon_file = dna.species.generate_autogen_worn_icon(OFFSET_NECK, worn_item, src) if(species_icon_file) icon_file = species_icon_file autogen_override = TRUE @@ -450,10 +450,10 @@ There are several things that need to be remembered: var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_SHOES, worn_item) + var/fallback_config = dna.species.get_autogen_worn_config(OFFSET_SHOES, worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_SHOES, worn_item, src) + var/species_icon_file = dna.species.generate_autogen_worn_icon(OFFSET_SHOES, worn_item, src) if(species_icon_file) icon_file = species_icon_file autogen_override = TRUE @@ -507,10 +507,10 @@ There are several things that need to be remembered: var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_S_STORE, worn_item) + var/fallback_config = dna.species.get_autogen_worn_config(OFFSET_S_STORE, worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_S_STORE, worn_item, src) + var/species_icon_file = dna.species.generate_autogen_worn_icon(OFFSET_S_STORE, worn_item, src) if(species_icon_file) icon_file = species_icon_file autogen_override = TRUE @@ -553,10 +553,10 @@ There are several things that need to be remembered: var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_HEAD, worn_item) + var/fallback_config = dna.species.get_autogen_worn_config(OFFSET_HEAD, worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_HEAD, worn_item, src) + var/species_icon_file = dna.species.generate_autogen_worn_icon(OFFSET_HEAD, worn_item, src) if(species_icon_file) icon_file = species_icon_file autogen_override = TRUE @@ -602,10 +602,10 @@ There are several things that need to be remembered: var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_BELT, worn_item) + var/fallback_config = dna.species.get_autogen_worn_config(OFFSET_BELT, worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_BELT, worn_item, src) + var/species_icon_file = dna.species.generate_autogen_worn_icon(OFFSET_BELT, worn_item, src) if(species_icon_file) icon_file = species_icon_file autogen_override = TRUE @@ -650,10 +650,10 @@ There are several things that need to be remembered: var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_SUIT, worn_item) + var/fallback_config = dna.species.get_autogen_worn_config(OFFSET_SUIT, worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_SUIT, worn_item, src) + var/species_icon_file = dna.species.generate_autogen_worn_icon(OFFSET_SUIT, worn_item, src) if(species_icon_file) icon_file = species_icon_file autogen_override = TRUE @@ -724,10 +724,10 @@ There are several things that need to be remembered: var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_FACEMASK, worn_item) + var/fallback_config = dna.species.get_autogen_worn_config(OFFSET_FACEMASK, worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_FACEMASK, worn_item, src) + var/species_icon_file = dna.species.generate_autogen_worn_icon(OFFSET_FACEMASK, worn_item, src) if(species_icon_file) icon_file = species_icon_file autogen_override = TRUE @@ -773,10 +773,10 @@ There are several things that need to be remembered: var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_custom_worn_config_fallback(OFFSET_BACK, worn_item) + var/fallback_config = dna.species.get_autogen_worn_config(OFFSET_BACK, worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_custom_worn_icon_fallback(OFFSET_BACK, worn_item, src) + var/species_icon_file = dna.species.generate_autogen_worn_icon(OFFSET_BACK, worn_item, src) if(species_icon_file) icon_file = species_icon_file autogen_override = TRUE diff --git a/icons/map_icons/clothing/head/beret.dmi b/icons/map_icons/clothing/head/beret.dmi index 927fff83023cb764ba78ab375f745e388b021120..852e71b241fdb1d43b4fce0101912fd540337a18 100644 GIT binary patch delta 2501 zcmY+G2T)V#8ir32N(@U0HHex7LN5Z#vIZexF$hQrpe)z`H<6+uQUsL92}sAK2*?Hy zEMP=wf`TX;A|N0wdWB`BND%2#Bp@LOxxw9;>wRawbN>JPzd1AiGw(ZdhLrCq>87~4 z*hwRHA^-r8cCaV8i{7`k3l0-K8FH$!;6e8PD?tlO*@bcq zqV0D(9twmX0X+N^{T*eUO84qgk{G`O88NDK8+kcxbE|y--W2iUb+()YL*#Q=h}(Fc=J^wu$s^oRd~=?!NQq2?Tqg zP^fHT<^A+23bo76&kwGE(sXd(@p!T7ddWD$Yzs&s$gNlL5M2Zk?(T9Ju%7(ePqbFK ze8el9bUKU@8h9Z*F!($GL={%__nc`l{sG{IEi2ysGyU28<&o2mbN2k@iApVR-MOV& zlXtzoxYneuMFO_rn<*w>x77@cjL*;-BHEdb`?E+gtmtW(f}o*cFYWB?jVnW_4{u61 zI4#gVr=|ZvkeOrmSY?m|#Lkh{;Zb9}ccN!&pcW)6V! zc%D`C4oAw_rvQ<5J$-M?a9#GUh{*oPQu+Yu`35-RnG;T49H;{{58)^qS*V&%+(p0MKGt) z4#AuldvcZY<5)=qaohO@ql^g$G`}Iw~zQ>+qOvH7!cg<$%L9k0A` zXNo3jWBgul(TdbU)*O7C$uRqaqc@K}y|aV(*Hl zb04U*_gc55?h5(ss{xf3hn>vLP*U#Wm$NY?=uT?xPbK~&(G%Xdp^nOcW6ZKL6#IdXrEOmtg@Sq87-qt4yhhVh^3OpsE1-B;z^Xb*7v~^Z%gkNpf2We)$7wFz)`xbi9<|5cCPA+H|8^GKYwDAw0S>l^5!^~-fcB|;f~lapI1Ns#bjAw@VR{J0c)|MA!i z$g|$5l@*6k=-6A!l@TpkeiCbcJel`8GH*q*h!a~y-KKYXT!YSih(bfeeERwDTNeqD zixMIB?)e}C!uU8MJbel)VZiB)bK;$Er{^}{GXvk>L{(c5WlejYI|4oH!&jr%bTEjC zPgad!G4#&sB{&8lodIkwe4_|!T*$@F$F4T&Mhh)T@#JA64L9BgeHt^4)RR`VG@>W} zQwColyohsKE=rHIJ0ah$QQiF?c=@2+`tVd(VK-crfiyMMpq?gtufTDO(Xf6M?2~wb zd`Xe3Pof#WW{$@3s4^tP8T_^Hw<|Ly)UsZrS{E79B`rcG8a~_Ej+hgbny5}rMOR*) zcN1}1Z5MGeFA^h2d>dL7;X2&RyfhsR9^{+JUeW)^PZ7;p@Xv@$_QLaL0u;_l{EW1o zqb;siwPMpez|U%KRfa|)K1FTx)ly9npITJ)qsAXhUq!EPbRr;TQ_)pLL?->-mf)on zBH5-zgRWy{2~D=aM+bYeO6X(j?;m>h>3Vp9oB0oj71(V+U(3@;;5MN{u#~4ygWtOn z*4B$2rrY#rcq4WDEI%k^eRJD(bK6*1s#tyA=kMfDz+V&IIhs(e**Adgi5Eze^xt!S zJu0lNtrIBMJZnQ1%q?Q(oYVgvjFNp9@Wi2{N$CGMCqv0x6wtbysvs z#vGG8e+pP%6qcQ<#3EJJc>c}Wb@`$sZZ0P*rOYeKhlDi61hwZaZ4w>fmP&Wh{|O(I uTq=zgZW1*_q3h_lRvpC1*cN$XUF|}SPgqpsfR^Zo25_)-AywM=#{Cz;`M<&d delta 2664 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 N!1=Jd!%IBz#@`j43L5|b diff --git a/modular_doppler/modular_species/species_types/teshari/parts.dm b/modular_doppler/modular_cosmetics/code/chest.dm similarity index 100% rename from modular_doppler/modular_species/species_types/teshari/parts.dm rename to modular_doppler/modular_cosmetics/code/chest.dm diff --git a/modular_doppler/modular_species/species_types/teshari/worn_overlays.dm b/modular_doppler/modular_cosmetics/code/under/under.dm similarity index 100% rename from modular_doppler/modular_species/species_types/teshari/worn_overlays.dm rename to modular_doppler/modular_cosmetics/code/under/under.dm diff --git a/modular_doppler/modular_customization/preferences/preference.dm b/modular_doppler/modular_customization/preferences/preference.dm index 3d68686f9b84f1..09b1d0114213c6 100644 --- a/modular_doppler/modular_customization/preferences/preference.dm +++ b/modular_doppler/modular_customization/preferences/preference.dm @@ -1,3 +1,8 @@ +/** + * Only used for doppler-specific customization, such as tails, antenna... + * + * If this returns TRUE, allows the species to access our customization. + */ /datum/preference/proc/species_can_access_mutant_customization(species_typepath) if (species_typepath in GLOB.species_blacklist_no_mutant) return FALSE diff --git a/modular_doppler/modular_species/_species.dm b/modular_doppler/modular_species/_species.dm index 41b250e74425d3..bc05dd09362154 100644 --- a/modular_doppler/modular_species/_species.dm +++ b/modular_doppler/modular_species/_species.dm @@ -160,6 +160,10 @@ if(dna && dna.species) dna.species.spec_revival(src) +/** + * Determines if we're allowed to regenerate a mutant appearance/organ associated with the feature key. + * By default, returns FALSE if we cant have mutant organs. + */ /datum/species/proc/can_regenerate_mutant_feature(feature_key) if (type in GLOB.species_blacklist_no_mutant) return FALSE diff --git a/modular_doppler/modular_species/custom_bodytype.dm b/modular_doppler/modular_species/custom_bodytype.dm index e12738f1fc8903..dd6d7366b399a8 100644 --- a/modular_doppler/modular_species/custom_bodytype.dm +++ b/modular_doppler/modular_species/custom_bodytype.dm @@ -1,13 +1,13 @@ -GLOBAL_LIST_EMPTY(species_clothing_fallback_cache) +GLOBAL_LIST_EMPTY(species_autogen_clothing_cache) /** * Modularly get the species' fallback greyscale config. - * Only used if you use generate_custom_worn_icon_fallback() + * Only used if you use generate_autogen_worn_icon() * Arguments: * * item_slot: The slot we're updating. One of OFFSET_HEAD, etc. * * item: The item being rendered. */ -/datum/species/proc/get_custom_worn_config_fallback(item_slot, obj/item/item) +/datum/species/proc/get_autogen_worn_config(item_slot, obj/item/item) if (isnull(item)) return var/list/list_to_use = item.autogen_clothing_config if(istype(item, /obj/item/clothing/under) && !(item.body_parts_covered & LEGS) && !isnull(item.autogen_clothing_config_skirt)) @@ -18,8 +18,8 @@ GLOBAL_LIST_EMPTY(species_clothing_fallback_cache) return list_to_use[id] -/datum/species/proc/use_custom_worn_icon_cached() - LAZYINITLIST(GLOB.species_clothing_fallback_cache[name]) +/datum/species/proc/use_autogen_worn_icon_cached() + LAZYINITLIST(GLOB.species_autogen_clothing_cache[name]) /** * Read from freely usable cache of generated icons for your species. @@ -28,8 +28,8 @@ GLOBAL_LIST_EMPTY(species_clothing_fallback_cache) * * state_to_use: icon state you're substituting * * meta: string containing other info. */ -/datum/species/proc/get_custom_worn_icon_cached(file_to_use, state_to_use, meta) - return GLOB.species_clothing_fallback_cache[name]["[file_to_use]-[state_to_use]-[meta]"] +/datum/species/proc/get_autogen_worn_icon_cached(file_to_use, state_to_use, meta) + return GLOB.species_autogen_clothing_cache[name]["[file_to_use]-[state_to_use]-[meta]"] /** * Write to a freely usable cache of generated icons for your species. @@ -39,26 +39,26 @@ GLOBAL_LIST_EMPTY(species_clothing_fallback_cache) * * meta: string containing other info. * * cached_value: Cached value */ -/datum/species/proc/set_custom_worn_icon_cached(file_to_use, state_to_use, meta, cached_value) - GLOB.species_clothing_fallback_cache[name]["[file_to_use]-[state_to_use]-[meta]"] = cached_value +/datum/species/proc/set_autogen_worn_icon_cached(file_to_use, state_to_use, meta, cached_value) + GLOB.species_autogen_clothing_cache[name]["[file_to_use]-[state_to_use]-[meta]"] = cached_value /** * Generate a fallback worn icon, if the species supports it. You must call it in an override of generate_custom_worn_icon() */ -/datum/species/proc/generate_custom_worn_icon_fallback(item_slot, obj/item/item, mob/living/carbon/human/human_owner) +/datum/species/proc/generate_autogen_worn_icon(item_slot, obj/item/item, mob/living/carbon/human/human_owner) var/icon/human_icon = item.worn_icon || item.icon var/human_icon_state = item.worn_icon_state || item.icon_state // First, let's just check if we've already made this. - use_custom_worn_icon_cached() - var/icon/cached_icon = get_custom_worn_icon_cached(human_icon, human_icon_state, item.greyscale_colors || "x") + use_autogen_worn_icon_cached() + var/icon/cached_icon = get_autogen_worn_icon_cached(human_icon, human_icon_state, item.greyscale_colors || "x") if(cached_icon) if(!(human_icon_state in icon_states(cached_icon))) cached_icon.Insert(cached_icon, icon_state = human_icon_state) // include the expected icon_state return cached_icon // Get GAGs config - var/fallback_config = get_custom_worn_config_fallback(item_slot, item) + var/fallback_config = get_autogen_worn_config(item_slot, item) if(!fallback_config) return null @@ -92,10 +92,10 @@ GLOBAL_LIST_EMPTY(species_clothing_fallback_cache) fallback_greyscale_colors = color_list.Join("") // Finally, render with GAGs - var/icon/final_icon = icon(SSgreyscale.GetColoredIconByType(get_custom_worn_config_fallback(item_slot, item), fallback_greyscale_colors)) + var/icon/final_icon = icon(SSgreyscale.GetColoredIconByType(get_autogen_worn_config(item_slot, item), fallback_greyscale_colors)) // Duplicate to the specific icon_state and set. final_icon.Insert(final_icon, icon_state = human_icon_state) // include the expected icon_state // Cache the clean copy. - set_custom_worn_icon_cached(human_icon, human_icon_state, item.greyscale_colors || "x", final_icon) + set_autogen_worn_icon_cached(human_icon, human_icon_state, item.greyscale_colors || "x", final_icon) return final_icon diff --git a/modular_doppler/modular_species/species_types/teshari/teshari.dm b/modular_doppler/modular_species/species_types/teshari/teshari.dm index c354de23e17fb5..8e8fdba6f1c342 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari.dm @@ -13,9 +13,6 @@ TRAIT_MUTANT_COLORS, TRAIT_NO_UNDERWEAR, ) - /*mutant_organs = list( - /obj/item/organ/tail/teshari = "No Tail", - )*/ mutantears = /obj/item/organ/ears/teshari digitigrade_customization = DIGITIGRADE_NEVER changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT @@ -27,8 +24,6 @@ bodytemp_heat_damage_limit = (BODYTEMP_HEAT_DAMAGE_LIMIT + TESHARI_TEMP_OFFSET) bodytemp_cold_damage_limit = (BODYTEMP_COLD_DAMAGE_LIMIT + TESHARI_TEMP_OFFSET) species_language_holder = /datum/language_holder/teshari - //mutantlungs = /obj/item/organ/lungs/adaptive/cold - //body_size_restricted = TRUE bodypart_overrides = list( BODY_ZONE_HEAD = /obj/item/bodypart/head/mutant/teshari, BODY_ZONE_CHEST = /obj/item/bodypart/chest/mutant/teshari, @@ -38,6 +33,8 @@ BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/mutant/teshari, ) meat = /obj/item/food/meat/slab/chicken/human + // species are instanced, so this is ok + /// The tablerun ability we will give to our teshari. var/datum/action/innate/teshari_tablerun/tablerun /datum/language_holder/teshari @@ -66,15 +63,12 @@ /datum/species/teshari/on_species_gain(mob/living/carbon/human/new_teshari, datum/species/old_species, pref_load, regenerate_icons) new_teshari.dna.ear_type = TESHARI - //new_teshari.dna.tail_type = TESHARI . = ..() tablerun = new /datum/action/innate/teshari_tablerun() tablerun.Grant(new_teshari) - //passtable_on(new_teshari, SPECIES_TRAIT) // TODO make it a toggleable ability /datum/species/teshari/on_species_loss(mob/living/carbon/C, datum/species/new_species, pref_load) . = ..() - //passtable_off(C, SPECIES_TRAIT) QDEL_NULL(tablerun) /datum/species/teshari/create_pref_unique_perks() @@ -99,7 +93,7 @@ "no lore yet", ) -/datum/species/teshari/generate_custom_worn_icon_fallback(item_slot, obj/item/item, mob/living/carbon/human/human_owner) +/datum/species/teshari/generate_autogen_worn_icon(item_slot, obj/item/item, mob/living/carbon/human/human_owner) . = ..() if(.) return @@ -120,8 +114,8 @@ return // Use already resolved icon - use_custom_worn_icon_cached() - var/icon/cached_icon = get_custom_worn_icon_cached(human_icon, human_icon_state, "m") + use_autogen_worn_icon_cached() + var/icon/cached_icon = get_autogen_worn_icon_cached(human_icon, human_icon_state, "m") if(cached_icon) return cached_icon @@ -129,7 +123,7 @@ var/icon/new_icon = icon('icons/blanks/32x32.dmi', "nothing") new_icon.Blend(icon(human_icon, human_icon_state), ICON_OVERLAY, x = selected_offset.offset_x["north"], y = selected_offset.offset_y["north"]) new_icon.Insert(new_icon, human_icon_state) - set_custom_worn_icon_cached(human_icon, human_icon_state, "m", new_icon) + set_autogen_worn_icon_cached(human_icon, human_icon_state, "m", new_icon) return new_icon /datum/species/teshari/can_regenerate_mutant_feature(feature_key) diff --git a/modular_doppler/modular_species/species_types/teshari/teshari_bodyparts.dm b/modular_doppler/modular_species/species_types/teshari/teshari_bodyparts.dm index 1f6b6522ce5ae8..be0a0f5b8ee055 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari_bodyparts.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari_bodyparts.dm @@ -3,7 +3,6 @@ #define TESHARI_BURN_MODIFIER 1.25 // They take more damage from practically everything #define TESHARI_BRUTE_MODIFIER 1.2 -// teshari! /obj/item/bodypart/head/mutant/teshari icon_greyscale = BODYPART_ICON_TESHARI bodyshape = parent_type::bodyshape | BODYSHAPE_TESHARI diff --git a/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm b/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm index d709df48c29e9a..063d122f177a12 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm @@ -618,6 +618,7 @@ BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/uniform.dmi' ) +// disabled; we use custom medical clothing /*/obj/item/clothing/under/rank/medical supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) bodyshape_icon_files = list( diff --git a/tgstation.dme b/tgstation.dme index 20ccf7c464d05a..dfd5477af9bec5 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -7131,6 +7131,7 @@ #include "modular_doppler\modular_antagonists\datums\antag_recipes.dm" #include "modular_doppler\modular_cargo\doppler_cargo_packs.dm" #include "modular_doppler\modular_cosmetics\toggle_clothes.dm" +#include "modular_doppler\modular_cosmetics\code\chest.dm" #include "modular_doppler\modular_cosmetics\code\clothing_overrides.dm" #include "modular_doppler\modular_cosmetics\code\garment_bag_overrides.dm" #include "modular_doppler\modular_cosmetics\code\suit_overrides.dm" @@ -7188,6 +7189,7 @@ #include "modular_doppler\modular_cosmetics\code\under\miscellania.dm" #include "modular_doppler\modular_cosmetics\code\under\pants.dm" #include "modular_doppler\modular_cosmetics\code\under\syndicate.dm" +#include "modular_doppler\modular_cosmetics\code\under\under.dm" #include "modular_doppler\modular_cosmetics\GAGS\greyscale_configs_face.dm" #include "modular_doppler\modular_cosmetics\GAGS\greyscale_configs_hand.dm" #include "modular_doppler\modular_cosmetics\GAGS\greyscale_configs_head.dm" @@ -7541,14 +7543,12 @@ #include "modular_doppler\modular_species\species_types\snails\organs\snail_liver.dm" #include "modular_doppler\modular_species\species_types\teshari\birdman_food.dm" #include "modular_doppler\modular_species\species_types\teshari\gags_configs.dm" -#include "modular_doppler\modular_species\species_types\teshari\parts.dm" #include "modular_doppler\modular_species\species_types\teshari\schechi.dm" #include "modular_doppler\modular_species\species_types\teshari\teshari.dm" #include "modular_doppler\modular_species\species_types\teshari\teshari_bodyparts.dm" #include "modular_doppler\modular_species\species_types\teshari\teshari_clothes.dm" #include "modular_doppler\modular_species\species_types\teshari\teshari_organs.dm" #include "modular_doppler\modular_species\species_types\teshari\teshari_tablerun.dm" -#include "modular_doppler\modular_species\species_types\teshari\worn_overlays.dm" #include "modular_doppler\modular_species\species_types\viridian\organs\pod_hair.dm" #include "modular_doppler\modular_uplink\code\ammunition.dm" #include "modular_doppler\modular_uplink\code\kit_special.dm" From 38f61616b6e114c9bd65ec3c67ca508d01907cec Mon Sep 17 00:00:00 2001 From: nikothedude Date: Fri, 31 Oct 2025 18:34:09 -0400 Subject: [PATCH 07/52] a! --- code/__DEFINES/~doppler_defines/construction.dm | 1 - modular_doppler/modular_customization/preferences/ears.dm | 2 +- modular_doppler/modular_customization/preferences/tail.dm | 1 - 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/code/__DEFINES/~doppler_defines/construction.dm b/code/__DEFINES/~doppler_defines/construction.dm index cd731afaf801f9..10efde968debb2 100644 --- a/code/__DEFINES/~doppler_defines/construction.dm +++ b/code/__DEFINES/~doppler_defines/construction.dm @@ -1,2 +1 @@ #define CAT_HEMOPHAGE "Hemophage Food" - diff --git a/modular_doppler/modular_customization/preferences/ears.dm b/modular_doppler/modular_customization/preferences/ears.dm index 67fc525f01da3e..7967fa95cbe7c8 100644 --- a/modular_doppler/modular_customization/preferences/ears.dm +++ b/modular_doppler/modular_customization/preferences/ears.dm @@ -539,7 +539,7 @@ relevant_external_organ = null should_generate_icons = TRUE main_feature_name = "Ears" - priority = PREFERENCE_PRIORITY_SPECIES + 0.1 + priority = PREFERENCE_PRIORITY_SPECIES + 0.1 // ears are only applied if the human is a tesh, so we have to wait for species /datum/preference/choiced/teshari_ears/init_possible_values() return assoc_to_keys_features(SSaccessories.ears_list_teshari) diff --git a/modular_doppler/modular_customization/preferences/tail.dm b/modular_doppler/modular_customization/preferences/tail.dm index 34c43f5c5beb20..35459fc11235bc 100644 --- a/modular_doppler/modular_customization/preferences/tail.dm +++ b/modular_doppler/modular_customization/preferences/tail.dm @@ -647,7 +647,6 @@ relevant_external_organ = null should_generate_icons = TRUE main_feature_name = "Tail" - //priority = PREFERENCE_PRIORITY_SPECIES + 0.1 /datum/preference/choiced/teshari_tail/init_possible_values() return assoc_to_keys_features(SSaccessories.tails_list_teshari) From 78e6276da4ac6543b7e12352d4b1e09197a1e62a Mon Sep 17 00:00:00 2001 From: nikothedude Date: Fri, 31 Oct 2025 18:41:48 -0400 Subject: [PATCH 08/52] i totally forgot this --- .../teshari/sounds/raptorscream.ogg | Bin 0 -> 10608 bytes .../species_types/teshari/teshari.dm | 2 ++ 2 files changed, 2 insertions(+) create mode 100644 modular_doppler/modular_species/species_types/teshari/sounds/raptorscream.ogg diff --git a/modular_doppler/modular_species/species_types/teshari/sounds/raptorscream.ogg b/modular_doppler/modular_species/species_types/teshari/sounds/raptorscream.ogg new file mode 100644 index 0000000000000000000000000000000000000000..9beb0106a3bbd23e47010fe20d18651c1bf1b703 GIT binary patch literal 10608 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 literal 0 HcmV?d00001 diff --git a/modular_doppler/modular_species/species_types/teshari/teshari.dm b/modular_doppler/modular_species/species_types/teshari/teshari.dm index 8e8fdba6f1c342..e9bd111d714f7a 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari.dm @@ -43,6 +43,8 @@ spoken_languages = list(/datum/language/common = list(LANGUAGE_ATOM), /datum/language/schechi = list(LANGUAGE_ATOM)) +/datum/species/teshari/get_scream_sound(mob/living/carbon/human/human) + return 'modular_doppler/modular_species/species_types/teshari/sounds/raptorscream.ogg' /obj/item/organ/tongue/teshari liked_foodtypes = SEAFOOD | VEGETABLES | NUTS From 874459c3a779d102f6ecff12cba208e75d736b71 Mon Sep 17 00:00:00 2001 From: nikothedude Date: Fri, 31 Oct 2025 19:01:13 -0400 Subject: [PATCH 09/52] ci moment --- icons/map_icons/clothing/head/beret.dmi | Bin 2726 -> 2907 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/map_icons/clothing/head/beret.dmi b/icons/map_icons/clothing/head/beret.dmi index 852e71b241fdb1d43b4fce0101912fd540337a18..927fff83023cb764ba78ab375f745e388b021120 100644 GIT binary patch delta 2664 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 N!1=Jd!%IBz#@`j43L5|b delta 2501 zcmY+G2T)V#8ir32N(@U0HHex7LN5Z#vIZexF$hQrpe)z`H<6+uQUsL92}sAK2*?Hy zEMP=wf`TX;A|N0wdWB`BND%2#Bp@LOxxw9;>wRawbN>JPzd1AiGw(ZdhLrCq>87~4 z*hwRHA^-r8cCaV8i{7`k3l0-K8FH$!;6e8PD?tlO*@bcq zqV0D(9twmX0X+N^{T*eUO84qgk{G`O88NDK8+kcxbE|y--W2iUb+()YL*#Q=h}(Fc=J^wu$s^oRd~=?!NQq2?Tqg zP^fHT<^A+23bo76&kwGE(sXd(@p!T7ddWD$Yzs&s$gNlL5M2Zk?(T9Ju%7(ePqbFK ze8el9bUKU@8h9Z*F!($GL={%__nc`l{sG{IEi2ysGyU28<&o2mbN2k@iApVR-MOV& zlXtzoxYneuMFO_rn<*w>x77@cjL*;-BHEdb`?E+gtmtW(f}o*cFYWB?jVnW_4{u61 zI4#gVr=|ZvkeOrmSY?m|#Lkh{;Zb9}ccN!&pcW)6V! zc%D`C4oAw_rvQ<5J$-M?a9#GUh{*oPQu+Yu`35-RnG;T49H;{{58)^qS*V&%+(p0MKGt) z4#AuldvcZY<5)=qaohO@ql^g$G`}Iw~zQ>+qOvH7!cg<$%L9k0A` zXNo3jWBgul(TdbU)*O7C$uRqaqc@K}y|aV(*Hl zb04U*_gc55?h5(ss{xf3hn>vLP*U#Wm$NY?=uT?xPbK~&(G%Xdp^nOcW6ZKL6#IdXrEOmtg@Sq87-qt4yhhVh^3OpsE1-B;z^Xb*7v~^Z%gkNpf2We)$7wFz)`xbi9<|5cCPA+H|8^GKYwDAw0S>l^5!^~-fcB|;f~lapI1Ns#bjAw@VR{J0c)|MA!i z$g|$5l@*6k=-6A!l@TpkeiCbcJel`8GH*q*h!a~y-KKYXT!YSih(bfeeERwDTNeqD zixMIB?)e}C!uU8MJbel)VZiB)bK;$Er{^}{GXvk>L{(c5WlejYI|4oH!&jr%bTEjC zPgad!G4#&sB{&8lodIkwe4_|!T*$@F$F4T&Mhh)T@#JA64L9BgeHt^4)RR`VG@>W} zQwColyohsKE=rHIJ0ah$QQiF?c=@2+`tVd(VK-crfiyMMpq?gtufTDO(Xf6M?2~wb zd`Xe3Pof#WW{$@3s4^tP8T_^Hw<|Ly)UsZrS{E79B`rcG8a~_Ej+hgbny5}rMOR*) zcN1}1Z5MGeFA^h2d>dL7;X2&RyfhsR9^{+JUeW)^PZ7;p@Xv@$_QLaL0u;_l{EW1o zqb;siwPMpez|U%KRfa|)K1FTx)ly9npITJ)qsAXhUq!EPbRr;TQ_)pLL?->-mf)on zBH5-zgRWy{2~D=aM+bYeO6X(j?;m>h>3Vp9oB0oj71(V+U(3@;;5MN{u#~4ygWtOn z*4B$2rrY#rcq4WDEI%k^eRJD(bK6*1s#tyA=kMfDz+V&IIhs(e**Adgi5Eze^xt!S zJu0lNtrIBMJZnQ1%q?Q(oYVgvjFNp9@Wi2{N$CGMCqv0x6wtbysvs z#vGG8e+pP%6qcQ<#3EJJc>c}Wb@`$sZZ0P*rOYeKhlDi61hwZaZ4w>fmP&Wh{|O(I uTq=zgZW1*_q3h_lRvpC1*cN$XUF|}SPgqpsfR^Zo25_)-AywM=#{Cz;`M<&d From e6bd5e80d3a69c404f0a48e0901d3850cddfa716 Mon Sep 17 00:00:00 2001 From: nikothedude Date: Fri, 31 Oct 2025 19:33:39 -0400 Subject: [PATCH 10/52] lets try this --- ...creenshot_humanoids__datum_species_teshari.png | Bin 0 -> 875 bytes .../modular_cosmetics/code/suits/labcoat.dm | 8 ++++++++ 2 files changed, 8 insertions(+) create mode 100644 code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_teshari.png diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_teshari.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_teshari.png new file mode 100644 index 0000000000000000000000000000000000000000..7d46a08db6c53a9480812c2a61578e85b2d8cea5 GIT binary patch literal 875 zcmV-x1C;!UP)}X#kYJwuy;}u&}TI0001^0BC4vb9R3|K0ZlFNo;Ivv$M02k&%v% zl2K1vDk>@w6cp6g-zq9EBP1yu9VA*>T24+*7#tiTCMMV#E&2ce00DGTPE!Ct=GbNc z003orR9JLGWpiV4X>fFDZ*Bkpc$`yKaB_9`^iy#0_2eo`Eh^5;&r`5fFwryM;w;Zh zDainGjE%TBGg33tGfE(w;*!LYR3KAHiHkEOv#1!Po{KZBC^0t`#5UwoR&e!m0h|$N&GE_hc1FSBl*$@daHG z4LlYfmAB`1|$DoTb!$@H0dLTQ$tDM;H)zCRcw)DhAoYaVGiqjNz zec+Utb7EDG(>za6*GtMJmsFI9XTC)MfF-j5i1YKK0VLPVxzsF*9;bE&Q`GdFQv;;j zCrJL>LSOezuzhJ~Aic`~z3zb8)ltdet)}<)RNq3crky9Q6Gmm~*1V%Zxa3?|2I>SL zNw~&Xq4%$=CqX_4(ti>teCk1~H-?HB{h}P`2w)Mm0Je^sgujny_vlzhL<{(aJ}eM< z(e)MDvRZ(34^jc^{-fsK+V7i6IMRQ|e=|re)qjy;e%`cqh?aRH{~XBa1UzL}f<>U0 z)?#S>+PVXKg~J8j>P9Vu{OFqd8h~)YDo2HY{1N*zw=jf&RVqC~`yT0L{*KUkL9G5L zJ;FGx7i(Y`Y&7!kTa3n|i)T5;?XD8yveG_rs0I<&h zfNfR*Z3`eM{X?^aX1)3r>U}E~Vb3qyy=pVm@&G|x|FWUZAROIc z{|dn2j7veeDc22mln{_b`=5jeeU?@5kO&GcS})52A~u+qYP0nGfJU`=q8e@Ng( z4y+deW`nUVmi@QpV6plKc>lWG48nR_*4y7-{Q*CoBG6EWXu<#h002ovPDHLkV1lH| Bk%0gJ literal 0 HcmV?d00001 diff --git a/modular_doppler/modular_cosmetics/code/suits/labcoat.dm b/modular_doppler/modular_cosmetics/code/suits/labcoat.dm index 0b6fbdba74cd05..c1e565b84f629f 100644 --- a/modular_doppler/modular_cosmetics/code/suits/labcoat.dm +++ b/modular_doppler/modular_cosmetics/code/suits/labcoat.dm @@ -6,6 +6,8 @@ icon_state = "hgown" icon = 'modular_doppler/modular_cosmetics/icons/obj/suit/labcoat.dmi' worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/suit/labcoat.dmi' + supported_bodyshapes = null + bodyshape_icon_files = null toggle_noun = "drapes" body_parts_covered = NONE armor_type = /datum/armor/none @@ -17,6 +19,8 @@ icon_state = "labcoat_lalunevest" icon = 'modular_doppler/modular_cosmetics/icons/obj/suit/labcoat.dmi' worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/suit/labcoat.dmi' + supported_bodyshapes = null + bodyshape_icon_files = null supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/suit/toggle/labcoat/medical @@ -24,6 +28,8 @@ desc = "A suit that protects against minor chemical spills. This one is greener than you'd typically expect." icon = 'modular_doppler/modular_cosmetics/icons/obj/suit/labcoat.dmi' worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/suit/labcoat.dmi' + supported_bodyshapes = null + bodyshape_icon_files = null icon_state = "labcoat_med" /obj/item/clothing/suit/toggle/labcoat/medical/unbuttoned @@ -36,6 +42,8 @@ desc = "A neon jacket piped with retroreflective strips and ample pocket room. This style is common for forensicists and field medical researchers." icon = 'modular_doppler/modular_cosmetics/icons/obj/suit/labcoat.dmi' worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/suit/labcoat.dmi' + supported_bodyshapes = null + bodyshape_icon_files = null icon_state = "labcoat_highvis" blood_overlay_type = "armor" supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON From 5b5b610fa5b7e7e822f9f643bf93855ab6ee3369 Mon Sep 17 00:00:00 2001 From: nikothedude Date: Fri, 31 Oct 2025 19:37:24 -0400 Subject: [PATCH 11/52] glorp --- modular_doppler/modular_cosmetics/code/under/mining.dm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modular_doppler/modular_cosmetics/code/under/mining.dm b/modular_doppler/modular_cosmetics/code/under/mining.dm index 8717101904a2b8..d9b0b941688e2a 100644 --- a/modular_doppler/modular_cosmetics/code/under/mining.dm +++ b/modular_doppler/modular_cosmetics/code/under/mining.dm @@ -6,9 +6,10 @@ worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/under/mining.dmi' resistance_flags = FIRE_PROOF supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION - supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_DIGITIGRADE) + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI, BODYSHAPE_DIGITIGRADE) bodyshape_icon_files = list( BODYSHAPE_HUMANOID_T = 'modular_doppler/modular_cosmetics/icons/mob/under/mining.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/uniform.dmi', BODYSHAPE_DIGITIGRADE_T = 'modular_doppler/modular_cosmetics/icons/mob/under/mining_digi.dmi' ) @@ -17,8 +18,9 @@ desc = "It's a snappy turtleneck with a pair of working pants." icon_state = "explorer" supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION - supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_DIGITIGRADE) + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI, BODYSHAPE_DIGITIGRADE) bodyshape_icon_files = list( BODYSHAPE_HUMANOID_T = 'modular_doppler/modular_cosmetics/icons/mob/under/mining.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/uniform.dmi', BODYSHAPE_DIGITIGRADE_T = 'modular_doppler/modular_cosmetics/icons/mob/under/mining_digi.dmi' ) From f25e2fa27020defa701db2ac307ffde54f9ca5e4 Mon Sep 17 00:00:00 2001 From: nikothedude Date: Fri, 31 Oct 2025 21:33:35 -0400 Subject: [PATCH 12/52] aaaaaaaaaaaaaaagh --- .../modular_cosmetics/code/suits/mining.dm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/modular_doppler/modular_cosmetics/code/suits/mining.dm b/modular_doppler/modular_cosmetics/code/suits/mining.dm index 056ed0e16dac1b..bad41ce517d90d 100644 --- a/modular_doppler/modular_cosmetics/code/suits/mining.dm +++ b/modular_doppler/modular_cosmetics/code/suits/mining.dm @@ -4,6 +4,11 @@ icon_state = "explorer" icon = 'modular_doppler/modular_cosmetics/icons/obj/suit/working.dmi' worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/suit/working.dmi' + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/modular_cosmetics/icons/mob/suit/working.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi' + ) inhand_icon_state = null supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON @@ -19,6 +24,12 @@ desc = "An armoured hood for exploring harsh environments." icon = 'modular_doppler/modular_cosmetics/icons/obj/head/mining.dmi' worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/head/mining.dmi' + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/modular_cosmetics/icons/mob/head/mining.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi' + ) + icon_state = "explorer" /obj/item/clothing/head/hooded/explorer/syndicate @@ -41,6 +52,8 @@ max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF dog_fashion = null + supported_bodyshapes = null + bodyshape_icon_files = null /obj/item/clothing/suit/armor/vest/miningjacket/Initialize(mapload) . = ..() From 92043706444a83f80f9f49905ce5969a693b0a5a Mon Sep 17 00:00:00 2001 From: nikothedude Date: Fri, 31 Oct 2025 21:35:24 -0400 Subject: [PATCH 13/52] remove double defs (is he stupid?) --- .../species_types/teshari/teshari_clothes.dm | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm b/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm index 063d122f177a12..a4d6618dd16a6f 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm @@ -417,13 +417,6 @@ BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi' ) -/obj/item/clothing/head/hooded/explorer - supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) - bodyshape_icon_files = list( - BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/head/utility.dmi', - BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi' - ) - /obj/item/clothing/head/soft supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) bodyshape_icon_files = list( @@ -691,13 +684,6 @@ BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi' ) -/obj/item/clothing/suit/hooded/explorer - supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) - bodyshape_icon_files = list( - BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/suits/utility.dmi', - BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi' - ) - /obj/item/clothing/suit/armor supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) bodyshape_icon_files = list( From af918ffc3d0e046d8a9ea9408f44bc8fc094c73e Mon Sep 17 00:00:00 2001 From: nikothedude Date: Sat, 1 Nov 2025 11:09:03 -0400 Subject: [PATCH 14/52] fix cmo labcoat sprite --- .../modular_species/species_types/teshari/teshari_clothes.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm b/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm index a4d6618dd16a6f..e0c6e23b58ef77 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm @@ -698,6 +698,10 @@ BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi' ) +/obj/item/clothing/suit/toggle/labcoat/cmo + supported_bodyshapes = null + bodyshape_icon_files = null + /obj/item/clothing/suit/utility/radiation supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) bodyshape_icon_files = list( From b4f481987a8741cec55f99f2205a3539bbce43f6 Mon Sep 17 00:00:00 2001 From: nikothedude Date: Sat, 1 Nov 2025 11:15:00 -0400 Subject: [PATCH 15/52] fucked this one up --- .../modular_customization/preferences/antennae.dm | 6 ++++-- modular_doppler/modular_customization/preferences/frills.dm | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/modular_doppler/modular_customization/preferences/antennae.dm b/modular_doppler/modular_customization/preferences/antennae.dm index b6be84be597a86..2d568092ba6231 100644 --- a/modular_doppler/modular_customization/preferences/antennae.dm +++ b/modular_doppler/modular_customization/preferences/antennae.dm @@ -26,7 +26,8 @@ /datum/preference/toggle/antennae/is_accessible(datum/preferences/preferences) . = ..() - if(!species_can_access_mutant_customization()) + var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) + if(!species_can_access_mutant_customization(species)) return FALSE return TRUE @@ -36,7 +37,8 @@ /datum/preference/choiced/moth_antennae/is_accessible(datum/preferences/preferences) . = ..() - if(!species_can_access_mutant_customization()) + var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) + if(!species_can_access_mutant_customization(species)) return FALSE var/has_antennae = preferences.read_preference(/datum/preference/toggle/antennae) if(has_antennae == TRUE) diff --git a/modular_doppler/modular_customization/preferences/frills.dm b/modular_doppler/modular_customization/preferences/frills.dm index f8feb8847d4db6..60e2702123d40f 100644 --- a/modular_doppler/modular_customization/preferences/frills.dm +++ b/modular_doppler/modular_customization/preferences/frills.dm @@ -25,7 +25,8 @@ /datum/preference/toggle/frills/is_accessible(datum/preferences/preferences) . = ..() - if(!species_can_access_mutant_customization()) + var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) + if(!species_can_access_mutant_customization(species)) return FALSE return TRUE @@ -71,7 +72,8 @@ /datum/preference/choiced/lizard_frills/is_accessible(datum/preferences/preferences) . = ..() - if(!species_can_access_mutant_customization()) + var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) + if(!species_can_access_mutant_customization(species)) return FALSE var/has_frills = preferences.read_preference(/datum/preference/toggle/frills) if(has_frills == TRUE) From 3069a5c4ce891b2242c74781c9ebb89e1626f105 Mon Sep 17 00:00:00 2001 From: nikothedude Date: Sat, 1 Nov 2025 12:02:55 -0400 Subject: [PATCH 16/52] fixseseaesehjajwkeaeawe --- .../modular_cosmetics/code/shoes/baseshoes.dm | 7 +- .../modular_cosmetics/code/suits/basesuits.dm | 33 +++++++--- .../modular_cosmetics/code/suits/labcoat.dm | 8 --- .../teshari/icons/clothing/suit.dmi | Bin 71319 -> 67471 bytes .../species_types/teshari/teshari_clothes.dm | 62 ++++-------------- 5 files changed, 42 insertions(+), 68 deletions(-) diff --git a/modular_doppler/modular_cosmetics/code/shoes/baseshoes.dm b/modular_doppler/modular_cosmetics/code/shoes/baseshoes.dm index a8159abcbd3d01..9ad7f138446cf0 100644 --- a/modular_doppler/modular_cosmetics/code/shoes/baseshoes.dm +++ b/modular_doppler/modular_cosmetics/code/shoes/baseshoes.dm @@ -52,5 +52,8 @@ icon_file = 'modular_doppler/modular_cosmetics/icons/mob/shoes/basefeet_digi.dmi' /obj/item/clothing/shoes/wheelys - supported_bodyshapes = null - bodyshape_icon_files = null + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/feet.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/feet_64.dmi' + ) diff --git a/modular_doppler/modular_cosmetics/code/suits/basesuits.dm b/modular_doppler/modular_cosmetics/code/suits/basesuits.dm index fc5f20b5aea288..0680f919ef2ae5 100644 --- a/modular_doppler/modular_cosmetics/code/suits/basesuits.dm +++ b/modular_doppler/modular_cosmetics/code/suits/basesuits.dm @@ -2,10 +2,14 @@ supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION supported_bodyshapes = list( BODYSHAPE_HUMANOID, + BODYSHAPE_TESHARI, BODYSHAPE_DIGITIGRADE ) - bodyshape_icon_files = list(BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/suits/bio.dmi', - BODYSHAPE_DIGITIGRADE_T = 'modular_doppler/modular_cosmetics/icons/mob/suit/bio_digi.dmi') + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/suits/bio.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi' + BODYSHAPE_DIGITIGRADE_T = 'modular_doppler/modular_cosmetics/icons/mob/suit/bio_digi.dmi' + ) /obj/item/clothing/suit/wizrobe supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION @@ -17,8 +21,14 @@ BODYSHAPE_DIGITIGRADE_T = 'modular_doppler/modular_cosmetics/icons/mob/suit/wizard_digi.dmi') /obj/item/clothing/suit/hooded/wintercoat/medical - supported_bodyshapes = null - bodyshape_icon_files = null + supported_bodyshapes = list( + BODYSHAPE_HUMANOID, + BODYSHAPE_TESHARI, + ) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/modular_cosmetics/icons/mob/suit/wintercoat.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi' + ) icon = 'modular_doppler/modular_cosmetics/icons/obj/suit/wintercoat.dmi' worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/suit/wintercoat.dmi' @@ -26,10 +36,12 @@ supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION supported_bodyshapes = list( BODYSHAPE_HUMANOID, + BODYSHAPE_TESHARI, BODYSHAPE_DIGITIGRADE ) bodyshape_icon_files = list( BODYSHAPE_HUMANOID_T = 'modular_doppler/modular_cosmetics/icons/mob/suit/labcoat.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi' BODYSHAPE_DIGITIGRADE_T = 'modular_doppler/modular_cosmetics/icons/mob/suit/labcoat_digi.dmi' ) @@ -73,21 +85,24 @@ supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_DIGITIGRADE) bodyshape_icon_files = list(BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/suits/spacesuit.dmi', BODYSHAPE_DIGITIGRADE_T = 'modular_doppler/modular_cosmetics/icons/mob/suit/spacesuit_digi.dmi') + species_clothing_color_coords = list(list(SPACESUIT_COLORPIXEL_X_1, SPACESUIT_COLORPIXEL_Y_1)) + autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/spacesuit) /// RADSUITS /obj/item/clothing/head/utility/radiation - supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_SNOUTED) + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI, BODYSHAPE_SNOUTED) bodyshape_icon_files = list(BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/head/utility.dmi', - BODYSHAPE_SNOUTED_T = 'modular_doppler/modular_cosmetics/icons/mob/head/basehead_muzzled.dmi') + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi', + BODYSHAPE_SNOUTED_T = 'modular_doppler/modular_cosmetics/icons/mob/head/basehead_muzzled.dmi', + ) /obj/item/clothing/suit/utility/radiation supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION - supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_DIGITIGRADE) + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI, BODYSHAPE_DIGITIGRADE) bodyshape_icon_files = list(BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/suits/utility.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi', BODYSHAPE_DIGITIGRADE_T = 'modular_doppler/modular_cosmetics/icons/mob/suit/suit_digi.dmi') - - /// FLAKY SUITS /obj/item/clothing/suit/chaplainsuit supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION diff --git a/modular_doppler/modular_cosmetics/code/suits/labcoat.dm b/modular_doppler/modular_cosmetics/code/suits/labcoat.dm index c1e565b84f629f..0b6fbdba74cd05 100644 --- a/modular_doppler/modular_cosmetics/code/suits/labcoat.dm +++ b/modular_doppler/modular_cosmetics/code/suits/labcoat.dm @@ -6,8 +6,6 @@ icon_state = "hgown" icon = 'modular_doppler/modular_cosmetics/icons/obj/suit/labcoat.dmi' worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/suit/labcoat.dmi' - supported_bodyshapes = null - bodyshape_icon_files = null toggle_noun = "drapes" body_parts_covered = NONE armor_type = /datum/armor/none @@ -19,8 +17,6 @@ icon_state = "labcoat_lalunevest" icon = 'modular_doppler/modular_cosmetics/icons/obj/suit/labcoat.dmi' worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/suit/labcoat.dmi' - supported_bodyshapes = null - bodyshape_icon_files = null supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/suit/toggle/labcoat/medical @@ -28,8 +24,6 @@ desc = "A suit that protects against minor chemical spills. This one is greener than you'd typically expect." icon = 'modular_doppler/modular_cosmetics/icons/obj/suit/labcoat.dmi' worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/suit/labcoat.dmi' - supported_bodyshapes = null - bodyshape_icon_files = null icon_state = "labcoat_med" /obj/item/clothing/suit/toggle/labcoat/medical/unbuttoned @@ -42,8 +36,6 @@ desc = "A neon jacket piped with retroreflective strips and ample pocket room. This style is common for forensicists and field medical researchers." icon = 'modular_doppler/modular_cosmetics/icons/obj/suit/labcoat.dmi' worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/suit/labcoat.dmi' - supported_bodyshapes = null - bodyshape_icon_files = null icon_state = "labcoat_highvis" blood_overlay_type = "armor" supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON diff --git a/modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi b/modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi index e22555f558858ae133acc73b0cc78570171e66cd..7e74a48e208b9832862d90ace44f608a01e1661d 100644 GIT binary patch literal 67471 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%0DAL~3`q9A)9HkpoVnwMxS9;o#Hv^|29S7Zb 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 gGCB=l6E0PAvo2F7i69nnK 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

iuyL@4i_{I4 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 OBPXr&vQ!f0_rCxG^DA=z diff --git a/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm b/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm index e0c6e23b58ef77..235cb67fda574b 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm @@ -57,10 +57,6 @@ species_clothing_color_coords = list(list(ARMOR_COLORPIXEL_X_1, ARMOR_COLORPIXEL_Y_1)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/armor) -/obj/item/clothing/suit/space - species_clothing_color_coords = list(list(SPACESUIT_COLORPIXEL_X_1, SPACESUIT_COLORPIXEL_Y_1)) - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/spacesuit) - /obj/item/clothing/suit/mod species_clothing_color_coords = list(list(MODSUIT_COLORPIXEL_X_1, MODSUIT_COLORPIXEL_Y_1), list(MODSUIT_COLORPIXEL_X_2, MODSUIT_COLORPIXEL_Y_2), list(MODSUIT_COLORPIXEL_X_3, MODSUIT_COLORPIXEL_Y_3)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/hardsuit) @@ -338,12 +334,7 @@ // shoes -/obj/item/clothing/shoes/wheelys - supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) - bodyshape_icon_files = list( - BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/feet.dmi', - BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/feet_64.dmi' - ) +// empty // gloves @@ -544,13 +535,6 @@ BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi' ) -/obj/item/clothing/head/utility/radiation - supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) - bodyshape_icon_files = list( - BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/head/utility.dmi', - BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi' - ) - /obj/item/clothing/head/armor/captain supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) bodyshape_icon_files = list( @@ -561,44 +545,49 @@ // masks /obj/item/clothing/mask/gas - supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI, BODYSHAPE_SNOUTED) bodyshape_icon_files = list( BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/mask.dmi', + BODYSHAPE_SNOUTED_T = 'modular_doppler/modular_cosmetics/icons/mob/face/basemask_muzzled.dmi', BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/mask.dmi' ) - /obj/item/clothing/mask/joy - supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI, BODYSHAPE_SNOUTED) bodyshape_icon_files = list( BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/mask.dmi', + BODYSHAPE_SNOUTED_T = 'modular_doppler/modular_cosmetics/icons/mob/face/basemask_muzzled.dmi', BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/mask.dmi' ) /obj/item/clothing/mask/breath - supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI, BODYSHAPE_SNOUTED) bodyshape_icon_files = list( BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/mask.dmi', + BODYSHAPE_SNOUTED_T = 'modular_doppler/modular_cosmetics/icons/mob/face/basemask_muzzled.dmi', BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/mask.dmi' ) /obj/item/cigarette - supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI, BODYSHAPE_SNOUTED) bodyshape_icon_files = list( BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/mask.dmi', + BODYSHAPE_SNOUTED_T = 'modular_doppler/modular_cosmetics/icons/mob/face/basemask_muzzled.dmi', BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/mask.dmi' ) /obj/item/clothing/mask/muzzle - supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI, BODYSHAPE_SNOUTED) bodyshape_icon_files = list( BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/mask.dmi', + BODYSHAPE_SNOUTED_T = 'modular_doppler/modular_cosmetics/icons/mob/face/basemask_muzzled.dmi', BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/mask.dmi' ) /obj/item/clothing/mask/balaclava - supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI, BODYSHAPE_SNOUTED) bodyshape_icon_files = list( BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/mask.dmi', + BODYSHAPE_SNOUTED_T = 'modular_doppler/modular_cosmetics/icons/mob/face/basemask_muzzled.dmi', BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/mask.dmi' ) @@ -691,24 +680,6 @@ BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi' ) -/obj/item/clothing/suit/toggle/labcoat - supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) - bodyshape_icon_files = list( - BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/suits/labcoat.dmi', - BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi' - ) - -/obj/item/clothing/suit/toggle/labcoat/cmo - supported_bodyshapes = null - bodyshape_icon_files = null - -/obj/item/clothing/suit/utility/radiation - supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) - bodyshape_icon_files = list( - BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/suits/utility.dmi', - BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi' - ) - /obj/item/clothing/suit/hooded/wintercoat supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) bodyshape_icon_files = list( @@ -716,13 +687,6 @@ BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi' ) -/obj/item/clothing/suit/bio_suit - supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) - bodyshape_icon_files = list( - BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/suits/bio.dmi', - BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi' - ) - /obj/item/clothing/suit/wizrobe/tape supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) bodyshape_icon_files = list( From 3309883f948ff85aa85a09f72fae5a02f7c33d59 Mon Sep 17 00:00:00 2001 From: nikothedude Date: Sat, 1 Nov 2025 12:09:26 -0400 Subject: [PATCH 17/52] commas --- modular_doppler/modular_cosmetics/code/suits/basesuits.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modular_doppler/modular_cosmetics/code/suits/basesuits.dm b/modular_doppler/modular_cosmetics/code/suits/basesuits.dm index 0680f919ef2ae5..081f323f14b6c0 100644 --- a/modular_doppler/modular_cosmetics/code/suits/basesuits.dm +++ b/modular_doppler/modular_cosmetics/code/suits/basesuits.dm @@ -7,7 +7,7 @@ ) bodyshape_icon_files = list( BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/suits/bio.dmi', - BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi' + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi', BODYSHAPE_DIGITIGRADE_T = 'modular_doppler/modular_cosmetics/icons/mob/suit/bio_digi.dmi' ) @@ -41,7 +41,7 @@ ) bodyshape_icon_files = list( BODYSHAPE_HUMANOID_T = 'modular_doppler/modular_cosmetics/icons/mob/suit/labcoat.dmi', - BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi' + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/suit.dmi', BODYSHAPE_DIGITIGRADE_T = 'modular_doppler/modular_cosmetics/icons/mob/suit/labcoat_digi.dmi' ) From e8a9851133caa71231b097f48554aeb8d7770dad Mon Sep 17 00:00:00 2001 From: nikothedude Date: Sat, 1 Nov 2025 12:32:28 -0400 Subject: [PATCH 18/52] this should be it --- .../code/storage/backpacks.dm | 20 +++++++++++++++++++ .../modular_cosmetics/code/storage/mining.dm | 14 +++++++++++++ 2 files changed, 34 insertions(+) diff --git a/modular_doppler/modular_cosmetics/code/storage/backpacks.dm b/modular_doppler/modular_cosmetics/code/storage/backpacks.dm index beec7a83028609..315e6f3bafd058 100644 --- a/modular_doppler/modular_cosmetics/code/storage/backpacks.dm +++ b/modular_doppler/modular_cosmetics/code/storage/backpacks.dm @@ -8,6 +8,8 @@ greyscale_config = /datum/greyscale_config/backpack greyscale_config_worn = /datum/greyscale_config/backpack/worn flags_1 = IS_PLAYER_COLORABLE_1 + supported_bodyshapes = null + bodyshape_icon_files = null /obj/item/storage/backpack/industrial/custom name = "custom industrial backpack" @@ -18,6 +20,8 @@ greyscale_config = /datum/greyscale_config/backpack greyscale_config_worn = /datum/greyscale_config/backpack/worn flags_1 = IS_PLAYER_COLORABLE_1 + supported_bodyshapes = null + bodyshape_icon_files = null // satchels /obj/item/storage/backpack/satchel/custom @@ -29,6 +33,8 @@ greyscale_config = /datum/greyscale_config/backpack/satchel greyscale_config_worn = /datum/greyscale_config/backpack/satchel/worn flags_1 = IS_PLAYER_COLORABLE_1 + supported_bodyshapes = null + bodyshape_icon_files = null /obj/item/storage/backpack/satchel/eng/custom name = "custom industrial satchel" @@ -39,6 +45,8 @@ greyscale_config = /datum/greyscale_config/backpack/satchel greyscale_config_worn = /datum/greyscale_config/backpack/satchel/worn flags_1 = IS_PLAYER_COLORABLE_1 + supported_bodyshapes = null + bodyshape_icon_files = null /obj/item/storage/backpack/satchel/crusader //Not very special, really just a satchel texture icon = 'modular_doppler/modular_cosmetics/icons/obj/storage/crusaderbandolier.dmi' @@ -48,6 +56,8 @@ icon_state = "crusader_bandolier" inhand_icon_state = "explorerpack" w_class = WEIGHT_CLASS_BULKY + supported_bodyshapes = null + bodyshape_icon_files = null /datum/crafting_recipe/crusader_satchel name = "Adventurer's Bandolier" @@ -67,6 +77,8 @@ greyscale_config = /datum/greyscale_config/backpack/duffel greyscale_config_worn = /datum/greyscale_config/backpack/duffel/worn flags_1 = IS_PLAYER_COLORABLE_1 + supported_bodyshapes = null + bodyshape_icon_files = null /obj/item/storage/backpack/duffelbag/engineering/custom name = "custom industrial duffelbag" @@ -77,6 +89,8 @@ greyscale_config = /datum/greyscale_config/backpack/duffel greyscale_config_worn = /datum/greyscale_config/backpack/duffel/worn flags_1 = IS_PLAYER_COLORABLE_1 + supported_bodyshapes = null + bodyshape_icon_files = null // messenger bags /obj/item/storage/backpack/messenger/custom @@ -88,6 +102,8 @@ greyscale_config = /datum/greyscale_config/backpack/messenger greyscale_config_worn = /datum/greyscale_config/backpack/messenger/worn flags_1 = IS_PLAYER_COLORABLE_1 + supported_bodyshapes = null + bodyshape_icon_files = null /obj/item/storage/backpack/messenger/eng/custom name = "custom industrial messenger bag" @@ -98,6 +114,8 @@ greyscale_config = /datum/greyscale_config/backpack/messenger greyscale_config_worn = /datum/greyscale_config/backpack/messenger/worn flags_1 = IS_PLAYER_COLORABLE_1 + supported_bodyshapes = null + bodyshape_icon_files = null // slimpacks /obj/item/storage/backpack/satchel/flat/empty/custom @@ -110,3 +128,5 @@ greyscale_config = /datum/greyscale_config/backpack/slimpack greyscale_config_worn = /datum/greyscale_config/backpack/slimpack/worn flags_1 = IS_PLAYER_COLORABLE_1 + supported_bodyshapes = null + bodyshape_icon_files = null diff --git a/modular_doppler/modular_cosmetics/code/storage/mining.dm b/modular_doppler/modular_cosmetics/code/storage/mining.dm index bb46009f92b2b6..d7e70957fe2ab7 100644 --- a/modular_doppler/modular_cosmetics/code/storage/mining.dm +++ b/modular_doppler/modular_cosmetics/code/storage/mining.dm @@ -4,6 +4,11 @@ icon_state = "backpack-explorer" worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/storage/mining.dmi' icon = 'modular_doppler/modular_cosmetics/icons/obj/storage/mining.dmi' + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/modular_cosmetics/icons/mob/storage/mining.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/back.dmi' + ) /obj/item/storage/backpack/duffelbag/explorer name = "explorer duffel bag" @@ -11,6 +16,8 @@ icon_state = "duffel-explorer" worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/storage/mining.dmi' icon = 'modular_doppler/modular_cosmetics/icons/obj/storage/mining.dmi' + supported_bodyshapes = null + bodyshape_icon_files = null /obj/item/storage/backpack/satchel/explorer name = "explorer satchel" @@ -18,6 +25,11 @@ icon_state = "satchel-explorer" worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/storage/mining.dmi' icon = 'modular_doppler/modular_cosmetics/icons/obj/storage/mining.dmi' + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/modular_cosmetics/icons/mob/storage/mining.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/back.dmi' + ) /obj/item/storage/backpack/messenger/explorer name = "explorer messenger bag" @@ -25,3 +37,5 @@ icon_state = "messenger_explorer" worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/storage/mining.dmi' icon = 'modular_doppler/modular_cosmetics/icons/obj/storage/mining.dmi' + supported_bodyshapes = null + bodyshape_icon_files = null From 7fd2f98eb9d5996beb6293ab83d513ddcd4b626b Mon Sep 17 00:00:00 2001 From: nikothedude Date: Sat, 1 Nov 2025 12:46:48 -0400 Subject: [PATCH 19/52] force ci From 37abdf90c8ab50f863f88016f45efc90c34edf72 Mon Sep 17 00:00:00 2001 From: nikothedude <59709059+nikothedude@users.noreply.github.com> Date: Sat, 1 Nov 2025 22:16:16 -0400 Subject: [PATCH 20/52] markings, cybernetics --- code/__DEFINES/teshari.dm | 4 + .../research/techweb/nodes/cyborg_nodes.dm | 12 ++ .../markings/body_markings/teshari.dm | 38 ++++ .../icons/markings/teshari_markings.dmi | Bin 0 -> 6624 bytes .../preferences/cyber_limbs.dm | 2 + .../teshari/icons/augments_teshari.dmi | Bin 0 -> 4513 bytes .../prosthetics/mechfabricator_designs.dm | 133 ++++++++++++ .../teshari/prosthetics/robot_bodyparts.dm | 204 ++++++++++++++++++ .../teshari/teshari_bodyparts.dm | 10 - tgstation.dme | 4 + 10 files changed, 397 insertions(+), 10 deletions(-) create mode 100644 code/__DEFINES/teshari.dm create mode 100644 modular_doppler/modular_customization/markings/body_markings/teshari.dm create mode 100644 modular_doppler/modular_customization/markings/icons/markings/teshari_markings.dmi create mode 100644 modular_doppler/modular_species/species_types/teshari/icons/augments_teshari.dmi create mode 100644 modular_doppler/modular_species/species_types/teshari/prosthetics/mechfabricator_designs.dm create mode 100644 modular_doppler/modular_species/species_types/teshari/prosthetics/robot_bodyparts.dm diff --git a/code/__DEFINES/teshari.dm b/code/__DEFINES/teshari.dm new file mode 100644 index 00000000000000..743625b8644c1e --- /dev/null +++ b/code/__DEFINES/teshari.dm @@ -0,0 +1,4 @@ +#define TESHARI_PUNCH_LOW 2 // Lower bound punch damage +#define TESHARI_PUNCH_HIGH 6 +#define TESHARI_BURN_MODIFIER 1.25 // They take more damage from practically everything +#define TESHARI_BRUTE_MODIFIER 1.2 diff --git a/code/modules/research/techweb/nodes/cyborg_nodes.dm b/code/modules/research/techweb/nodes/cyborg_nodes.dm index e5750376458ad1..04acbb4d205979 100644 --- a/code/modules/research/techweb/nodes/cyborg_nodes.dm +++ b/code/modules/research/techweb/nodes/cyborg_nodes.dm @@ -20,6 +20,12 @@ "cybernetic_liver", "cybernetic_heart", // DOPPLER ADDITION START + "teshari_cyber_chest", + "teshari_cyber_l_arm", + "teshari_cyber_r_arm", + "teshari_cyber_l_leg", + "teshari_cyber_r_leg", + "teshari_cyber_head", "android_chest", "android_head", "android_l_arm", @@ -49,6 +55,12 @@ "advanced_r_arm", "advanced_l_leg", "advanced_r_leg", + // DOPPLER EDIT ADDITION BEGIN + "teshari_advanced_l_arm", + "teshari_advanced_r_arm", + "teshari_advanced_l_leg", + "teshari_advanced_r_leg", + // DOPPLER EDIT END "borg_upgrade_rename", "borg_upgrade_restart", ) diff --git a/modular_doppler/modular_customization/markings/body_markings/teshari.dm b/modular_doppler/modular_customization/markings/body_markings/teshari.dm new file mode 100644 index 00000000000000..aada5232e39e2c --- /dev/null +++ b/modular_doppler/modular_customization/markings/body_markings/teshari.dm @@ -0,0 +1,38 @@ +/datum/sprite_accessory/body_marking/teshari + icon = 'modular_doppler/modular_customization/markings/icons/markings/teshari_markings.dmi' + gender_specific = TRUE + +/datum/sprite_accessory/body_marking/teshari/teshari_basic + name = "Teshari" + icon_state = "teshari" + body_zones = CHEST | ARM_LEFT | ARM_RIGHT + +/datum/sprite_accessory/body_marking/teshari/teshari_plain + name = "Teshari Plain" + icon_state = "teshari_plain" + body_zones = HEAD | CHEST | ARM_LEFT | ARM_RIGHT | LEG_RIGHT | LEG_LEFT + +/datum/sprite_accessory/body_marking/teshari/teshari_coat + name = "Teshari Coat" + icon_state = "teshari_coat" + body_zones = HEAD | CHEST | ARM_LEFT | ARM_RIGHT | LEG_RIGHT | LEG_LEFT + +/datum/sprite_accessory/body_marking/teshari/teshari_underfluff + name = "Teshari Underfluff" + icon_state = "teshari_underfluff" + body_zones = HEAD | CHEST | LEG_RIGHT | LEG_LEFT + +/datum/sprite_accessory/body_marking/teshari/teshari_short + name = "Teshari Short" + icon_state = "teshari_short" + body_zones = ARM_LEFT | ARM_RIGHT | LEG_RIGHT | LEG_LEFT + +/datum/sprite_accessory/body_marking/teshari/teshari_feathers_male + name = "Teshari Feathers (Light)" + icon_state = "teshari_feathers_male" + body_zones = HEAD | CHEST | ARM_LEFT | ARM_RIGHT | LEG_RIGHT | LEG_LEFT + +/datum/sprite_accessory/body_marking/teshari/teshari_feathers_female + name = "Teshari Feathers (Heavy)" + icon_state = "teshari_feathers_female" + body_zones = HEAD | CHEST | ARM_LEFT | ARM_RIGHT | LEG_RIGHT | LEG_LEFT diff --git a/modular_doppler/modular_customization/markings/icons/markings/teshari_markings.dmi b/modular_doppler/modular_customization/markings/icons/markings/teshari_markings.dmi new file mode 100644 index 0000000000000000000000000000000000000000..45d4b4ca0b0424cbd074870bd777b16c9e816271 GIT binary patch literal 6624 zcmb_=cT`i`w*C(NAP6Fe0#Ze!MljMLbP$A~AV>>Mq$#~7Kq4v%96$s_=~YT7M|!Ao z=p90n8kF8^=p--R-+1HR@y5Ns_s`p7WMu6%_Fj9fIluYMZ_aQ-18qin4tf9p7$4|p zJO%(z#_t~;4S8lmy4;L>BY`k}>Z9S{ZSUpm;p6P?1^@vmxu5!?|K??VJH9CVeoJV7 zeymU9o~LA^n)-&Oj*~0k2uHc(inM?6*xJbWIX}1``_=oTk@(}q;+nTWV<+vDzn3sO zY#{5jN*~g)u=&I|Y-6@{|CR=u^Ywo7#r$a2KliF;Z_s<*E^I&bm{c{M#C$TCPZZ4x z2kB#ii-RocC)tYoqrE-4{pw{@2UCO<9Q$qbAIe1^dKml>C%XCM89dBON}ZvAM&Pe* zZ7NsAT;8{NtTo&A;~&Pi^6!`WentUmG;Xp*nVf$W<^93%^(g<~-fOdTubpzqde_H8 z3_Kf%pzg;56Tc)cS)sYwDi*}PE-SMS`K0%ZCvcs^u2*!qLty5iUnW`lSpB=67t}o? zsSYe6>NrqgAwZM=Cf(1q4Ql|n{_=r_s&PQd<_zpT+e8B}hmq!g#&V0YJXQsEFSM1p zL-X@nGl$H`iB^4;r9UD#gTZD_S#_^oO;9b$MN&PN&Kd;MO?)mcd47fcBkfIfgcEa) zOurqkDhv1fifNgqb*{V@7Mmp&z6PVk+poW3w*NdzK^n~LWA^h5qO{2V`!|!#Cv#1BCT)1*0u*Z|^qTweznE>@L(9M|c#< zsI+o(vl^dv{vq*{r>eB^)TQ2ayaYE9@EqS5tci=7^FBY`eW}T^{Xv%fS4#fAyDN1D zEfe>PwfoQG$S>rtXKTm!ef_BvurpVco10stbftOO!c$`8f;hfbS5j2;XV%|G8x!|V z6j)-$!*2U3#oSadS5u&CU|xTfzwxVch>>`#H_>RE)V#d)je z7FhLkPjlYXOA%pfn`w+|!{pl%Dup5rYmWIw> zBDL@k|LRNm@ylFLTOypS~U%cZM8>RGK#Lj*xBF9>c99^6@aX<=t&4L)>YeNGOad zvuYN))R8J+qj7| zqaBBBKRYtj-mc$&&HCnR)hYmiLajG+n_TUFY(|0`?{EZd&05`X_vyWxj~a`_7SJib z?0uBW{e&vbnzU3MmHTa#ucl_Z;{poXoW_>>Tq_FYkR=RgO%5q?zJ-y{!ph_`;^%IPe*yJx2Dzu7HkSEt=lOwAk$o=ZSC>7h0fNA$H4i6CTo^JPy-+m<&@=F%p zBgk>?bZ(Ti`p1x5s3E;_?DO}E8t^q5J`mkX0%YN;f=UOBP|4MwLbUnlMqVR)K0rKi zWM8LAfKD5T4yu^A8hI2A;V))A#sn7FmrRIJRDhQ(b;T+2`!C*njuiQJ!)5IxS6edZ z!XJ}d_Vp;*CY}3%NaE$5Crcq+B|u>{^AKU?WK?qq9gyLUuJt~QxXI8qe@ zrI2PCykczUx?lTV+@&>Er&o3s)Ts#+MJbE)@O21oQQk@LbFTB>j<&5HN>f7KMr}`H z_a{6Jt^i|WV_M^-);v54eqydSHIlCQQ1gAYWwT^le+@II`C{ZN_bj}F(sY=6vZbJ~ zS*UgQH7!%w5+4UqW;Vc{g+VX8LVzhY(e6veI8_FRU1#yB<-uc&4Q|0c{6XhO=ftYo z+EdH#zpb8!#bSqsvbC!3Y(Trn52AvA( zV%<8j7o?iL3K})Oc_<=D^$EEiW4ihn?iEN*dtn{eR<4JK8rE5Qftl7+8R8Kq(LUqe zlaV5=uGl5DELs!0&TR*N@bCuhsE~}?^yi@dYJ3RtU@6(%AmmrgDSoo5q5@(D46?;0 zb{ee)4MHgfueBLkKx)?6`EqP)xO6u{&O~ApYb`tv`dZ#GX-l48dnNSy6hw>5R-9Xr z^%`majE4Wu2<`X((%UOH4+$0MOV_oi-|WgG`&a3=BczqNjQb3?l`Kj`51|Nlv~q86 z(=%=Ua>JB1` zDx+rae6duyn}s!Nxx7ATV03GIY%J|hSo+Cb*KAH-F5j8ly_ot|xhu(k; z?AXKy#;cEj3}FIF86G5}i;+9wF$@Vs4SY1=(V%>4cc(0JktZ<1Tfh-~r@Jw-`TA+r z5Vzq}3-3_pbp7b$)RAs)TPqtXK2V~-t!{Epx65DA`{8s-TU& z3kE%F$=@9P>?SWEYJy6WyHK@X#QzYHwW+ZS41qkv){xc;=+5P&0iCSq?2=@D0A%z) z!4NWWx8Y%t^g|hL{|EiNhWht5>EqVJ4vahWH|5EXR6gNsOi|6$Q}-C+6m7Www8TQ7 z(05v6&~-zZ*CxQOe|f##9ml*lOJ8t_|2Te(TFV2G#LjA$DKdb z+c;Z3W^sAZym6UG+$%+0xSr2!ha64p9yJ~{G>@UkBD*=hQ1C?v zAQ(f?Jv~QhH<_Mrgms$H2p4~B$Uu?K@SNOC`Ue^zhvn%G`u8YMIR)$xrATH3S(QNE zjH*C1t^m446cG@;Bl&E;hYcB-5rARV5xXD%%!ajl zGF%4`UUJSTH&8wNtV!4M{0c>I9_@%d8P!SWjUJ62T6g%5rfDJiz}h!Hu(A#0_=M-Q z^jitCh%N$4*P|`36z&OvQ#wGnjL|-#>bGXNq1mH z2JUpjhqrG}Qo0&=5%A@H3+UM_{g zevlOqP<|^E7ALdVu?1f4PjlM10DvUP$g6K&JhW23$IyI#?%)ek`NnJ0+$&;2Yw~OL zKFTc16v2YPeH&X_Wn>bTl6ye((K2}6GNY6#gQhhnyF-IPd&GA#fIS}utQ7>@qNZB@ zU-bGvHm`#DO=F4uE$at-F@V)y!ILsI0js*7Xk<7J$(UHyaS@5_uvEQcIzd@sI|U)h za(owf#}swAjaNuYo{}6zHt5nTlhvAwc+_o8Y>EOhYgFpD{DQ+9W!8+afbr-SXpvr- z5BI*}G;4G2>aPnU?8+a%ed6;4OZi-@H?mUc;KqKeTv+NEZ&--;0CXvTULKdS@rv@S zY^hk|CZwSH25mRi2j*Yk)U-&4A8ok`08u_OgQQVgIJBZXV2=9L~T> z;t#~q-zVcuW1pg`vV<#@^b7Q#o}JT$6~Z04?_{6eL7N4LeXqa;87HgqQPz1l{QX7wrVoa^?tVh9< zM-N^-A3^ZWV9SN13Fa2k9NyBGQwPqro003i zn!nk1l#Qcugz1LZd=+>rDF(@UT!t{o9M5$sns7*N07(D7p;NZf;fx3vwWGugJ;!5i zpNUhUZ40Lk-LbT+7H%Ua?)q1Np2-HJe=%t+o>RuHz9QP1fJYy;n&|jW;wQaTa{aQS zm`=+ae&im$7Rg=UQmOnlFtNjTY_07x6X7 zN3DRBGPr94*Zo$-fOt=GsbpYvl2F4U?n{`eEQ9GTx#|#@Ub8YjB(n>U;qDZbLSBKt?Fdvt#yd0;U%UnOI#iO&EmAsA(*PXQ{w9T#D zUkIdomQ;v$D^f4!N0uaB+R4(V%^=rjQ#en{V7M&GWeP(inLS}t_T*apNOUvGxe|qp zuBZ~}f9n#HgD9yG?B>Hgc%{u8N}Ry)zZp56X=<9(eSVrTxi6gH$DZq*rNNC+%A9sq zmpX9%18w3PC?Qo%06DIJ^82y2H>7*t^D(J@ayrL&H$6I(`zrXnIC_~Jk)I79jo)?z zI;JghhAQRe9-lnek3Kuv?t6SF+_&OvNnDuBclG^%VfdeRpR`@4LUZ7jl5?vv3X~&q zG)@6l!x>heF=@J)qT}gdHwsZNijfT3gCKbA2PS~#SrT`~dul`VF7D1aAy_*(12=T- z#)MS(SJ-QxX!9+EK&XL{+m8u9*4EY*=wF0{z?Ck4IOQoBnW7`7Z+S^3DxkM^eY`YA zMxI;uw2R!0xGc4aTeOzHct+-c56;63GgZRzaGH}*Q)_)3YQ4BRB8LYwN3KUC5SJ5r zTgc2Hw1^@HzUml?3Qg`4uosgg7C>d@=H`f>-LBc=VOgzF0fO#CBhrBA3}sG}rQ8TB zWB>1xp@WHA@%l~0fV-|{TBpK&Yn~G8?utEu0_I&6ahc=f)$BW>mGtg8a*yRzDuWN+ z>8^jnso#yyCEB8;CrM6|O0iXT*+26#x3r)99mOdF|4mS?dPzvcjO(CpNs5a|!)0hm zNE7KoMyP{yz6>pcQ~P`3^QHr9y_fsF8Hvd4hQtOUK4{ z8ePn6ObNtD9}0#w>5ifjInN}PqoP*J+=hC#E`&W{hAshN6%-{t+;G2bSU572{7lf; z+Oj3-$Z$^uBqubr+9<)${K#N3#?8rj_)n}eo|gjmc0bQDkk#-PeLyfQd%^Ba6e82g zf@|n23!#aami&=3vjjGEp>kn_DJ!%-V6i6eu*i6MSEKWz!mdd=RH|am=&{Sn{1*u7 ze4a-;m*b+d101p&*;VdAmHsNcJ#T^eeWuF)#2^4}^L=WD&vIk7$5cXW0F z)Aj-$ZAm?%J(xJe-EdNm20Ls}&H8azU2{;BskSc@G>R@;@lv<=WvSz=b<+p?!p3m& zRLTVJzhZs-n9K`a;77OnADp@^Ayifi>-&zP7|q^^EZr2{kc{J7$eB!j zMm_Dx>aRSv3CvwI_xir~BqGrkEuxfB#t*>Bk*ed)^^e1%ZE#L=%B1ssoEbplvgD@* zWbjb&0ujt;;EozVkwFKdL-YS%PT2K;R(|D*&Pz+-gt`G6#MIh(c4ei|Jh`~yBv*Nb zV@>JQk7#z0Zf@G8J#+g5P;e@>O~#VTMRuA@t^OS|8vpH*KaaNY7;ZEi!-fuptdXo-8S_slRK{^IO zDFHObNH>9ymv60i{pY@S*F9^^IGQ_K~yImF` z7H_t)&vND0=1L3SaJ5gHQ>)Xdo#kpAL0w!rNL)U}Ga}fjdwWgaG1nW_)O+1|4&>n` z1vwzics<&cbwwjF4gdg0rjF)4)1bT!yq60e$3L`fBDSs#bCC9v;4poj9MBPq!%c;A;vcOr*O?-sLvP)zNJ7YI8qv;qiyZKKci0` ze}Am9ep>*v$|_l7wOL~sKtC|sgi12V;>2~&DzEzl5m^O`?c1dgB43+5vQXB*z@u|l znCF?N#%pZ5dj0*XS@~HO?s-%~%U%##~ zvPYc6xG4_Hd^GId6VG~RZgSQCPeDN_UVhTH)l$wcN070pa@L%-HSEBfbo*>5*KDE{ z?GI4PM?%HQT}Rn3OqEi_ore9p@52r1|EiylCWiSwq@L*5>X*_7O!}5asGM&z7Xxx=&0sw{o}5# z4oeIW;HdsIM(2rWr6icaMPDlkh~P?^7GAnWN2eXjd$LsjO@^*Wtm|YjyJP!>+~JzD zNgY-4x&VM}`vc*3ak+yRrvM$D%d6C+R4A7qO>DF?e*dH37c=G}yCfA%ON}N^$f3f& z$06W75Ojqh`BnG%^|5>6X6ZKDd` z_S-f*vG#*jVD|31KL1~(L?c%cX75pV!|U*weCx5Kh<|jRy61RabB%>=*~UvfAJ_k} zuXIC|?WO=8f|@ts-#c%i58nOYz{1^Y2R4ztC1qtS683CH5MaJI8erX_?m-Q zvQ2;e$N@#k)>HUC>>q5_v^42=q@)yE;kuiDYE4GHHvxRKi4OT@9j7%oG=vNstR~vz zvU_!GU`R&E_tm_*;aCbKmavidq{dYIiIViL-i7&I>&jv=(%#^{cE^zEoJL zIZ|`?Q+U_yZf;nTBzL!=jOt16!oc}Zw&5)`7soFd!iY0+^NOJozf25O-N{5$!uu`8 zE~{_WYGKD;zi-2L#s{*pj4H_BP=?&`MdRF~FqgXD?O#q9v`YF9H-WLS2R(&FDf-np8YsMoX}0Xi*u9RR+uXmuB+_CVQ=fPI|oHRw(qkTU%1#@2j$Y8?(m zEicp`J@)e73{|a=cF`{}N4@FaMS=!K?MHRs`pBZTaTgWTeyaqR;p{fIO3(N2k13Qx zk=y)X;-tB-(63$l=CZq|VBMl$rl+6O-`zTl+B-ZX*t3+0jlW=fs)t2Z5~ilo*GkrL z%a!MN%@!f6)h~P8o}nJjy{)%MGurtud1km?df5p-VgeE*31*4Xxw5PTYCLgucc1h3 z_t$)<3Crk73X@1Ho{mV5*#X1v!F%J0vkQs6606sUzQj;sw6;{h3J?gaA=v#{m;7~R z`kiK&xS;vuRsC>T@`neMP*qMf@+$Jle$f_e3X%zD|C@U1^V_`k49Df~TRibOIx1z} zw}q006g|PZswatnaZaH@9qkWty<3P{{3}Ox^{)|o&$Rj( z{k9A5Zex#o+(X=hz4!)<=OisdN~BeqG4hF?x=q2pEgk+#(s>xm&HE3lW9uXhPeIyS zMf~X7&m|~gxRO@ues;kO3V{gKsKqs2{!9?_=Tq-ehSUtqO9YD;D-@sANdFP(gYOvW zApmBlGayb_^5lAV8DGbz9sTIyu_*)iZ64bX z??p5+`rbW=t^M5w*Ry3373PA{D@Llz-`hn3g+P=stos~w$aJUfN+kM^-O=;jU1s$K zS$;C589mMfnLK$`Q{ZcN7Brcq;RN2k>1;48&6r?ALNCNlSiA!Hi;*0?MF8+_(n@Yg zVa8dF>7hmPK^$QzNi7aT*w_RVvz@(Cz4h%-^9Ob11vNtA0=3>I$PqM_5jUJP492~D z=Ot9AEL7mr)`9W(Cgq&Lk^X#e=#%`wLG+8V$GU)S%IGh+H=6riW?h%LfpUQp{qR%x z4bqfUl2*A>3`V{!_0vA;;Ya0qHCEM_{;enoGKmQk$F5~^t#&TqM_Q6S>g+Fudzmsj zZB|EE!Rdhn(CCm1^TkIRUVZ1nNjiJhaqp$iT0kYj#Y?3bl7;XWED15O%B4oE+uvFi z9LO&;Tq-+R%aC^dipcX_+>2W3>cGweqS(yLq4wvCv+h-aCu4cRcU-PKh~rK!Q$2@1 zR#eP&wO{O9y97CbHp)JohA;_MNo>Xv(7g-`^{$ir##>C@`lwo4|T-sUgNQujXI(WtTDAN@(+hg?mOh9$K-5ZEP7;e zlfS2J}6}WocH~_f`+fDN&UL&m%SvF zJfe0kVAxBz@fWc@6OCPE9WQ z#Rq;ezL^K0yTC0t^|-egyg%#}0uLBk;72Osob9~Zri7}{COW8T z9lNlVJB8daDL$0yG2c1O#-`#7JhY&Ngm0NU-hdEjX?)ofg)F-j*(eC4bNyj9B=A&a z5KCg^t}#co>E~|VOt>_(Hi`6ft18X|CJ=2rikfe-vXqJ%(Hp?ymSdWO8x}qql3|W{*M`vv%TWXKiBYDJhs1Bzy2kvCuM+p+)+}iGzde4 zCGv;f3hFHN^WOYANtpfi4M|?x+B#=pFko_xNF-(lTLp+1baKfk+_14(2TE!(--{dG z!9i~&{QiHLDte~RA!!Q@QVD7NxvnG`ccJ)FJb}sMM~Q!JbF*thkVTpdYo>$lpe|O2 z3jYxRW=J4$#-&1C0`XtZqqk`!csi+xhi`vvl8#)Ti0((WL-Pgs;i(ayWg35jX4k!5 zw`JJ?5vfq1%T$Z!Mox7?N|0|YzU;gJhfwTgFBjj!FuC)}nTxCZFrngVQebJ5+GeE) zNUrb&NOf;d?_<|K?RM2d7WKWXegIgGn5T1h_5{cNE>4bcxz(HVa-RYQK6B_I3-JoSDHbvHhaawpvLhBwM z#YGDv$1F0w^9cgwV#q^Jmigo-6pOP1HIz%xpJqxC;^9IK5h zO9RZ!ay~f~TWuP2bt=Z0+0tqfF;i=+2fw13&6tDlvIpGaXMGy1EM4PCt8c0{iW)v8 zWX6DXJHi@xl<1mhbVTEHjdY(qwY+{LY1=f`h9V8^|A-ZK3Y8Qj09mIR$-PJgS_JVAd9{ zyz6c>+*=yU&mU{Q_(;HSCnc8IS=eUvSIx^?SmO`#@q))4zW@7T4+?JJS5>F}%?d$7nd-U6U#|Wkk7OnbnU0_^W z<9cytZ64Q88grmgq7R+uGsTVQC-{^PqzKWpJKCqifSVZYHHZ! z<>U&?I02zK#AQ2jT{gCK?Uk7_PQ%>4cp3Rcuj@ZK>#wdzD18L4?{B3~jlaaY@tgQ_ zyX`H>K3xFot_q;Fn6);5ilm^uTYqQy?>aRlv_jX}`o&$^Qr&*)@3u+AxS;0e@&51) zwP&SJ|MB?6Mymf+)`=?GnOPQ+lGlCHs8x{1cy^yvLWlGIz4p7{PTh3{S$gfG;7Q(k z#IdNhzg0}T3k1@7|MJ9M_~S@eBf=0I58=XIsL}uLZ2H$I7rPAIx6fYAI~%P~m=dQ# zLj$#JUDX2H=B!)g)I-2cG`k99Vj?4>W7`1f&uLZbO$4lzOvj@2ZWGcvEJKFE&<<6e zU__Ym{d;J{!BC6nj|ztv165#tZPWP4zh(ivZ#q7AA9zyShv#|yk5C6 Date: Sun, 2 Nov 2025 01:52:16 -0400 Subject: [PATCH 21/52] lmfao --- code/game/objects/structures/tables_racks.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index eff18ba1fffbc1..b88a987c132e72 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -571,7 +571,7 @@ /obj/structure/table/glass/proc/check_break(mob/living/M) if(is_flipped) return FALSE - if(M.has_gravity() && M.mob_size > MOB_SIZE_SMALL && !(M.movement_type & MOVETYPES_NOT_TOUCHING_GROUND)) + if(M.has_gravity() && M.mob_size > MOB_SIZE_SMALL && !(M.movement_type & MOVETYPES_NOT_TOUCHING_GROUND) && (!isteshari(M))) // Doppler edit addition - Teshari can tablerun without breaking glass tables table_shatter(M) /obj/structure/table/glass/proc/table_shatter(mob/living/victim) From f1089ed443619a9381208e739df793f99210fee7 Mon Sep 17 00:00:00 2001 From: nikothedude <59709059+nikothedude@users.noreply.github.com> Date: Sun, 2 Nov 2025 15:06:08 -0500 Subject: [PATCH 22/52] forgot to remove dev comments, bneither of these are relevant anymore --- .../modular_customization/preferences/tail.dm | 2 +- .../species_types/teshari/notes.txt | 29 ------------------- 2 files changed, 1 insertion(+), 30 deletions(-) delete mode 100644 modular_doppler/modular_species/species_types/teshari/notes.txt diff --git a/modular_doppler/modular_customization/preferences/tail.dm b/modular_doppler/modular_customization/preferences/tail.dm index 35459fc11235bc..fe288e13b8bc97 100644 --- a/modular_doppler/modular_customization/preferences/tail.dm +++ b/modular_doppler/modular_customization/preferences/tail.dm @@ -77,7 +77,7 @@ return NO_VARIATION /datum/preference/choiced/tail_variation/init_possible_values() - return list(NO_VARIATION) + (GLOB.mutant_variations) + list(TESHARI) // causes runtimes with other species... how do i fix this + return list(NO_VARIATION) + (GLOB.mutant_variations) + list(TESHARI) /datum/preference/choiced/tail_variation/is_accessible(datum/preferences/preferences) . = ..() diff --git a/modular_doppler/modular_species/species_types/teshari/notes.txt b/modular_doppler/modular_species/species_types/teshari/notes.txt deleted file mode 100644 index 020aab1e63c4ca..00000000000000 --- a/modular_doppler/modular_species/species_types/teshari/notes.txt +++ /dev/null @@ -1,29 +0,0 @@ -notes on how to translate... - -feel free to ignore mutant_styles on build_worn_icons, it doesnt do anything important - - -generate_custom_worn_icon - - // SKYRAT EDIT ADDITION - if(!mutant_override) - my_chest?.worn_belt_offset?.apply_offset(belt_overlay) - // SKYRAT EDIT END - -we're not doing this right now but check if it fails to render properly - do we need to abort the sprite offset if we autogen -custom_worn_icons is important - -check greyscale_config_worn_teshari when youre filling in premade sprites! worn_icon_teshari too - -cahnge the name of the fallback gen sprite to not be a fallback - -need to add - if (shape != BODYSHAPE_HUMANOID) - found_alt_shape = TRUE - -to all human_update_icons procs... the chec that discludes bodyshapehumanoid - maybe check to see if the icon state actually exists in the target, and if not, skip... - if so. use icon_states_fast - - -many sprites arent used bc they were updated to gags and the tesh sprite is NOT g ags From 9e39eed261c8258219444f5b816f47201d4f793b Mon Sep 17 00:00:00 2001 From: nikothedude <59709059+nikothedude@users.noreply.github.com> Date: Mon, 3 Nov 2025 16:17:35 -0500 Subject: [PATCH 23/52] cleanup, moving, fixes... --- ...efines.dm => _autogen_clothing_defines.dm} | 2 +- .../{ => ~doppler_defines}/teshari.dm | 0 .../modular_cosmetics/code/suits/basesuits.dm | 2 +- ...custom_bodytype.dm => autogen_clothing.dm} | 16 +++++-- .../species_types/teshari/gags_configs.dm | 29 ------------ .../species_types/teshari/teshari.dm | 19 +++++--- .../species_types/teshari/teshari_clothes.dm | 45 ++++++++----------- tgstation.dme | 6 +-- 8 files changed, 51 insertions(+), 68 deletions(-) rename code/__DEFINES/~doppler_defines/{_clothing_defines.dm => _autogen_clothing_defines.dm} (97%) rename code/__DEFINES/{ => ~doppler_defines}/teshari.dm (100%) rename modular_doppler/modular_species/{custom_bodytype.dm => autogen_clothing.dm} (83%) diff --git a/code/__DEFINES/~doppler_defines/_clothing_defines.dm b/code/__DEFINES/~doppler_defines/_autogen_clothing_defines.dm similarity index 97% rename from code/__DEFINES/~doppler_defines/_clothing_defines.dm rename to code/__DEFINES/~doppler_defines/_autogen_clothing_defines.dm index 68a23c6e9fa32f..857155b1d86a44 100644 --- a/code/__DEFINES/~doppler_defines/_clothing_defines.dm +++ b/code/__DEFINES/~doppler_defines/_autogen_clothing_defines.dm @@ -1,4 +1,4 @@ -// These COLORPIXEL defines indicate the pixel position on the base sprite of a clothing piece from which the color will be taken. +// These COLORPIXEL defines indicate the pixel position on the base sprite of a clothing piece from which the color will be taken for autogenerated clothing See: [autogen_clothing.dm]. #define GLASSES_COLORPIXEL_X_1 10 #define GLASSES_COLORPIXEL_Y_1 16 #define GLASSES_COLORPIXEL_X_2 18 diff --git a/code/__DEFINES/teshari.dm b/code/__DEFINES/~doppler_defines/teshari.dm similarity index 100% rename from code/__DEFINES/teshari.dm rename to code/__DEFINES/~doppler_defines/teshari.dm diff --git a/modular_doppler/modular_cosmetics/code/suits/basesuits.dm b/modular_doppler/modular_cosmetics/code/suits/basesuits.dm index 081f323f14b6c0..3f8a13729d748c 100644 --- a/modular_doppler/modular_cosmetics/code/suits/basesuits.dm +++ b/modular_doppler/modular_cosmetics/code/suits/basesuits.dm @@ -85,7 +85,7 @@ supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_DIGITIGRADE) bodyshape_icon_files = list(BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/suits/spacesuit.dmi', BODYSHAPE_DIGITIGRADE_T = 'modular_doppler/modular_cosmetics/icons/mob/suit/spacesuit_digi.dmi') - species_clothing_color_coords = list(list(SPACESUIT_COLORPIXEL_X_1, SPACESUIT_COLORPIXEL_Y_1)) + autogen_clothing_color_coods = list(list(SPACESUIT_COLORPIXEL_X_1, SPACESUIT_COLORPIXEL_Y_1)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/spacesuit) /// RADSUITS diff --git a/modular_doppler/modular_species/custom_bodytype.dm b/modular_doppler/modular_species/autogen_clothing.dm similarity index 83% rename from modular_doppler/modular_species/custom_bodytype.dm rename to modular_doppler/modular_species/autogen_clothing.dm index dd6d7366b399a8..3148a29c18ec8c 100644 --- a/modular_doppler/modular_species/custom_bodytype.dm +++ b/modular_doppler/modular_species/autogen_clothing.dm @@ -1,5 +1,15 @@ GLOBAL_LIST_EMPTY(species_autogen_clothing_cache) +/obj/item + /// Assoc list of (SPECIES_ID -> /datum/greyscale_config). Used for generating autogenerated clothing on non-standard species. + var/list/autogen_clothing_config + /// [autogen_clothing_config], but used when the item is 1. a uniform and 2. does not cover the legs. + var/list/autogen_clothing_config_skirt + /// List of lists in format: (X, Y) coordinates. When an autogen clothing is made, these are the coordinates on the base sprite that will be used + /// to determine the color of the created sprite. + /// Add multiple entries if the target sprite template uses multiple colors. + var/list/autogen_clothing_color_coods = null + /** * Modularly get the species' fallback greyscale config. * Only used if you use generate_autogen_worn_icon() @@ -82,11 +92,11 @@ GLOBAL_LIST_EMPTY(species_autogen_clothing_cache) var/list/color_list = list() for(var/i in 1 to expected_num_colors) - if(isnull(item.species_clothing_color_coords) || \ - length(item.species_clothing_color_coords) < i) + if(isnull(item.autogen_clothing_color_coods) || \ + length(item.autogen_clothing_color_coods) < i) color_list += COLOR_DARK continue - var/coord = item.species_clothing_color_coords[i] + var/coord = item.autogen_clothing_color_coods[i] color_list += final_human_icon.GetPixel(coord[1], coord[2]) || COLOR_DARK fallback_greyscale_colors = color_list.Join("") diff --git a/modular_doppler/modular_species/species_types/teshari/gags_configs.dm b/modular_doppler/modular_species/species_types/teshari/gags_configs.dm index c96c95f837f0f3..5344026f148973 100644 --- a/modular_doppler/modular_species/species_types/teshari/gags_configs.dm +++ b/modular_doppler/modular_species/species_types/teshari/gags_configs.dm @@ -99,12 +99,6 @@ json_config = 'modular_doppler/modular_cosmetics/GAGS/json_configs/shoes/boots_teshari.json' icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/shoes_teshari.dmi' -///datum/greyscale_config/laceup/worn/teshari -// icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/shoes_teshari.dmi' - -///datum/greyscale_config/sandals/worn/teshari -// icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/shoes_teshari.dmi' - /datum/greyscale_config/plaidskirt/worn/teshari name = "Plaid Skirt (Worn, Teshari)" icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/dressteshari.dmi' @@ -113,13 +107,6 @@ name = "Sundress (Worn, Teshari)" icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/dressteshari.dmi' -///datum/greyscale_config/shorts_ripped/worn/teshari -// name = "Ripped Shorts (Worn, Teshari)" -// icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/teshari_uniform.dmi' - -///datum/greyscale_config/bathrobe/worn/teshari -// icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/suit_teshari.dmi' - /datum/greyscale_config/suspenders/worn/teshari icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/suit_teshari.dmi' @@ -141,25 +128,9 @@ name = "Ranger Poncho (Worn, Teshari)" icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/ranger_poncho_teshari.dmi' -///datum/greyscale_config/masquerade_mask/worn/teshari -// name = "Masquerade Mask (Worn) (Teshari)" -// icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/masquerade_mask_worn_teshari.dmi' - -///datum/greyscale_config/sterile_mask/worn/teshari -// name = "Colourable Sterile Mask (Worn) (Teshari)" -// icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/masks_teshari.dmi' - -/*/datum/greyscale_config/respirator/worn/teshari - name = "Colourable Respirator (Worn) (Teshari)" - icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/masks_teshari.dmi'*/ - /datum/greyscale_config/standalone_hood/worn/teshari icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/head_teshari.dmi' -///datum/greyscale_config/beret_badge_fancy/worn/teshari -// name = "Beret With Fancy Badge (Worn, Teshari)" -// icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/beret_teshari.dmi' - /datum/greyscale_config/beret_badge/worn/teshari name = "Badged Beret (Worn, Teshari)" icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/beret_teshari.dmi' diff --git a/modular_doppler/modular_species/species_types/teshari/teshari.dm b/modular_doppler/modular_species/species_types/teshari/teshari.dm index e9bd111d714f7a..c7e37b458f1758 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari.dm @@ -38,10 +38,14 @@ var/datum/action/innate/teshari_tablerun/tablerun /datum/language_holder/teshari - understood_languages = list(/datum/language/common = list(LANGUAGE_ATOM), - /datum/language/schechi = list(LANGUAGE_ATOM)) - spoken_languages = list(/datum/language/common = list(LANGUAGE_ATOM), - /datum/language/schechi = list(LANGUAGE_ATOM)) + understood_languages = list( + /datum/language/common = list(LANGUAGE_ATOM), + /datum/language/schechi = list(LANGUAGE_ATOM) + ) + spoken_languages = list( + /datum/language/common = list(LANGUAGE_ATOM), + /datum/language/schechi = list(LANGUAGE_ATOM) + ) /datum/species/teshari/get_scream_sound(mob/living/carbon/human/human) return 'modular_doppler/modular_species/species_types/teshari/sounds/raptorscream.ogg' @@ -55,7 +59,6 @@ var/ear_color = "#e4c49b" tesh.dna.ear_type = TESHARI - //tesh.dna.tail_type = TESHARI tesh.dna.features[FEATURE_MUTANT_COLOR] = base_color tesh.dna.features[FEATURE_EARS] = "Teshari Feathers Upright" tesh.dna.features[FEATURE_EARS_COLORS][1] = base_color @@ -76,6 +79,12 @@ /datum/species/teshari/create_pref_unique_perks() var/list/perk_descriptions = list() + perk_descriptions += list(list( + SPECIES_PERK_TYPE = SPECIES_NEUTRAL_PERK, + SPECIES_PERK_ICON = FA_ICON_EAR_LISTEN, + SPECIES_PERK_NAME = "Sensitive Hearing", + SPECIES_PERK_DESC = "Your ears are extremely sensitive, and can hear whispers. Unfortunately, this also increases ear damage taken..." + )) perk_descriptions += list(list( SPECIES_PERK_TYPE = SPECIES_POSITIVE_PERK, SPECIES_PERK_ICON = FA_ICON_RUNNING, diff --git a/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm b/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm index 235cb67fda574b..8ad367aeb34ea1 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm @@ -1,73 +1,68 @@ -/obj/item - /// TODO doc - var/list/autogen_clothing_config - var/list/autogen_clothing_config_skirt - /// TODO doc - var/list/species_clothing_color_coords = null +// For defining teshari autogen sprite variables on TG clothes. Use your own doppler definition for doppler-made clothing. /obj/item/storage/backpack - species_clothing_color_coords = list(list(BACK_COLORPIXEL_X_1, BACK_COLORPIXEL_Y_1)) + autogen_clothing_color_coods = list(list(BACK_COLORPIXEL_X_1, BACK_COLORPIXEL_Y_1)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/backpack) /obj/item/clothing/glasses - species_clothing_color_coords = list(list(GLASSES_COLORPIXEL_X_1, GLASSES_COLORPIXEL_Y_1), list(GLASSES_COLORPIXEL_X_2, GLASSES_COLORPIXEL_Y_2)) + autogen_clothing_color_coods = list(list(GLASSES_COLORPIXEL_X_1, GLASSES_COLORPIXEL_Y_1), list(GLASSES_COLORPIXEL_X_2, GLASSES_COLORPIXEL_Y_2)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/glasses) /obj/item/clothing/gloves - species_clothing_color_coords = list(list(GLOVES_COLORPIXEL_X_1, GLOVES_COLORPIXEL_Y_1)) + autogen_clothing_color_coods = list(list(GLOVES_COLORPIXEL_X_1, GLOVES_COLORPIXEL_Y_1)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/gloves) /obj/item/clothing/neck - species_clothing_color_coords = list(list(SCARF_COLORPIXEL_X_1, SCARF_COLORPIXEL_Y_1)) + autogen_clothing_color_coods = list(list(SCARF_COLORPIXEL_X_1, SCARF_COLORPIXEL_Y_1)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/scarf) /obj/item/clothing/neck/cloak - species_clothing_color_coords = list(list(CLOAK_COLORPIXEL_X_1, CLOAK_COLORPIXEL_Y_1), list(CLOAK_COLORPIXEL_X_2, CLOAK_COLORPIXEL_Y_2)) + autogen_clothing_color_coods = list(list(CLOAK_COLORPIXEL_X_1, CLOAK_COLORPIXEL_Y_1), list(CLOAK_COLORPIXEL_X_2, CLOAK_COLORPIXEL_Y_2)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/cloak) /obj/item/clothing/neck/mantle - species_clothing_color_coords = list(list(MANTLE_COLORPIXEL_X_1, MANTLE_COLORPIXEL_Y_1), list(MANTLE_COLORPIXEL_X_2, MANTLE_COLORPIXEL_Y_2)) + autogen_clothing_color_coods = list(list(MANTLE_COLORPIXEL_X_1, MANTLE_COLORPIXEL_Y_1), list(MANTLE_COLORPIXEL_X_2, MANTLE_COLORPIXEL_Y_2)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/mantle) /obj/item/clothing/neck/tie - species_clothing_color_coords = list(list(TIE_COLORPIXEL_X_1, TIE_COLORPIXEL_Y_1)) + autogen_clothing_color_coods = list(list(TIE_COLORPIXEL_X_1, TIE_COLORPIXEL_Y_1)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/tie) /obj/item/clothing/shoes - species_clothing_color_coords = list(list(SHOES_COLORPIXEL_X_1, SHOES_COLORPIXEL_Y_1)) + autogen_clothing_color_coods = list(list(SHOES_COLORPIXEL_X_1, SHOES_COLORPIXEL_Y_1)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/shoes) /obj/item/clothing/suit - species_clothing_color_coords = list(list(COAT_COLORPIXEL_X_1, COAT_COLORPIXEL_Y_1)) + autogen_clothing_color_coods = list(list(COAT_COLORPIXEL_X_1, COAT_COLORPIXEL_Y_1)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/coat) /obj/item/clothing/suit/wizrobe - species_clothing_color_coords = list(list(THICKROBE_COLORPIXEL_X_1, THICKROBE_COLORPIXEL_Y_1), list(THICKROBE_COLORPIXEL_X_2, THICKROBE_COLORPIXEL_Y_2), list(THICKROBE_COLORPIXEL_X_3, THICKROBE_COLORPIXEL_Y_3), list(THICKROBE_COLORPIXEL_X_4, THICKROBE_COLORPIXEL_Y_4), list(THICKROBE_COLORPIXEL_X_5, THICKROBE_COLORPIXEL_Y_5), list(THICKROBE_COLORPIXEL_X_6, THICKROBE_COLORPIXEL_Y_6)) + autogen_clothing_color_coods = list(list(THICKROBE_COLORPIXEL_X_1, THICKROBE_COLORPIXEL_Y_1), list(THICKROBE_COLORPIXEL_X_2, THICKROBE_COLORPIXEL_Y_2), list(THICKROBE_COLORPIXEL_X_3, THICKROBE_COLORPIXEL_Y_3), list(THICKROBE_COLORPIXEL_X_4, THICKROBE_COLORPIXEL_Y_4), list(THICKROBE_COLORPIXEL_X_5, THICKROBE_COLORPIXEL_Y_5), list(THICKROBE_COLORPIXEL_X_6, THICKROBE_COLORPIXEL_Y_6)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/thickrobe/wiz) /obj/item/clothing/suit/jacket/trenchcoat - species_clothing_color_coords = list(list(LONGCOAT_COLORPIXEL_X_1, LONGCOAT_COLORPIXEL_Y_1), list(THICKROBE_COLORPIXEL_X_2, THICKROBE_COLORPIXEL_Y_2), list(THICKROBE_COLORPIXEL_X_3, THICKROBE_COLORPIXEL_Y_3), list(LONGCOAT_COLORPIXEL_X_4, LONGCOAT_COLORPIXEL_Y_4)) + autogen_clothing_color_coods = list(list(LONGCOAT_COLORPIXEL_X_1, LONGCOAT_COLORPIXEL_Y_1), list(THICKROBE_COLORPIXEL_X_2, THICKROBE_COLORPIXEL_Y_2), list(THICKROBE_COLORPIXEL_X_3, THICKROBE_COLORPIXEL_Y_3), list(LONGCOAT_COLORPIXEL_X_4, LONGCOAT_COLORPIXEL_Y_4)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/thickrobe/longcoat) /obj/item/clothing/suit/jacket - species_clothing_color_coords = list(list(JACKET_COLORPIXEL_X_1, JACKET_COLORPIXEL_Y_1), list(JACKET_COLORPIXEL_X_2, JACKET_COLORPIXEL_Y_2), list(THICKROBE_COLORPIXEL_X_3, THICKROBE_COLORPIXEL_Y_3), list(JACKET_COLORPIXEL_X_4, JACKET_COLORPIXEL_Y_4)) + autogen_clothing_color_coods = list(list(JACKET_COLORPIXEL_X_1, JACKET_COLORPIXEL_Y_1), list(JACKET_COLORPIXEL_X_2, JACKET_COLORPIXEL_Y_2), list(THICKROBE_COLORPIXEL_X_3, THICKROBE_COLORPIXEL_Y_3), list(JACKET_COLORPIXEL_X_4, JACKET_COLORPIXEL_Y_4)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/thickrobe/jacket) /obj/item/clothing/suit/armor - species_clothing_color_coords = list(list(ARMOR_COLORPIXEL_X_1, ARMOR_COLORPIXEL_Y_1)) + autogen_clothing_color_coods = list(list(ARMOR_COLORPIXEL_X_1, ARMOR_COLORPIXEL_Y_1)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/armor) /obj/item/clothing/suit/mod - species_clothing_color_coords = list(list(MODSUIT_COLORPIXEL_X_1, MODSUIT_COLORPIXEL_Y_1), list(MODSUIT_COLORPIXEL_X_2, MODSUIT_COLORPIXEL_Y_2), list(MODSUIT_COLORPIXEL_X_3, MODSUIT_COLORPIXEL_Y_3)) + autogen_clothing_color_coods = list(list(MODSUIT_COLORPIXEL_X_1, MODSUIT_COLORPIXEL_Y_1), list(MODSUIT_COLORPIXEL_X_2, MODSUIT_COLORPIXEL_Y_2), list(MODSUIT_COLORPIXEL_X_3, MODSUIT_COLORPIXEL_Y_3)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/hardsuit) /obj/item/clothing/under - species_clothing_color_coords = list(list(UNDER_COLORPIXEL_X_1, UNDER_COLORPIXEL_Y_1), list(UNDER_COLORPIXEL_X_2, UNDER_COLORPIXEL_Y_2), list(UNDER_COLORPIXEL_X_3, UNDER_COLORPIXEL_Y_3)) + autogen_clothing_color_coods = list(list(UNDER_COLORPIXEL_X_1, UNDER_COLORPIXEL_Y_1), list(UNDER_COLORPIXEL_X_2, UNDER_COLORPIXEL_Y_2), list(UNDER_COLORPIXEL_X_3, UNDER_COLORPIXEL_Y_3)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/under) autogen_clothing_config_skirt = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/under_skirt) /obj/item/mod/control - species_clothing_color_coords = list(list(MODCONTROL_COLORPIXEL_X_1, MODCONTROL_COLORPIXEL_Y_1)) + autogen_clothing_color_coods = list(list(MODCONTROL_COLORPIXEL_X_1, MODCONTROL_COLORPIXEL_Y_1)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/modcontrol) ///GAGS below here @@ -127,7 +122,6 @@ autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret_badge/worn/teshari) /obj/item/clothing/head/beret/sec/navywarden - //autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret_badge_fancy/worn/teshari) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret_badge/worn/teshari) /obj/item/clothing/head/beret/medical @@ -161,7 +155,6 @@ autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret_badge/worn/teshari) /obj/item/clothing/head/beret/sec/peacekeeper/armadyne - //autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret_badge_fancy/worn/teshari) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret_badge/worn/teshari) /obj/item/clothing/head/beret/sec/peacekeeper @@ -185,11 +178,11 @@ // Unique clothing here /obj/item/clothing/suit/kimjacket - species_clothing_color_coords = list(list(JACKET_COLORPIXEL_X_1, JACKET_COLORPIXEL_Y_1), list(JACKET_COLORPIXEL_X_2, JACKET_COLORPIXEL_Y_2), list(THICKROBE_COLORPIXEL_X_3, THICKROBE_COLORPIXEL_Y_3), list(JACKET_COLORPIXEL_X_4, JACKET_COLORPIXEL_Y_4)) + autogen_clothing_color_coods = list(list(JACKET_COLORPIXEL_X_1, JACKET_COLORPIXEL_Y_1), list(JACKET_COLORPIXEL_X_2, JACKET_COLORPIXEL_Y_2), list(THICKROBE_COLORPIXEL_X_3, THICKROBE_COLORPIXEL_Y_3), list(JACKET_COLORPIXEL_X_4, JACKET_COLORPIXEL_Y_4)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/thickrobe/jacket) /obj/item/clothing/suit/discoblazer - species_clothing_color_coords = list(list(JACKET_COLORPIXEL_X_1, JACKET_COLORPIXEL_Y_1), list(JACKET_COLORPIXEL_X_2, JACKET_COLORPIXEL_Y_2), list(THICKROBE_COLORPIXEL_X_3, THICKROBE_COLORPIXEL_Y_3), list(JACKET_COLORPIXEL_X_4, JACKET_COLORPIXEL_Y_4)) + autogen_clothing_color_coods = list(list(JACKET_COLORPIXEL_X_1, JACKET_COLORPIXEL_Y_1), list(JACKET_COLORPIXEL_X_2, JACKET_COLORPIXEL_Y_2), list(THICKROBE_COLORPIXEL_X_3, THICKROBE_COLORPIXEL_Y_3), list(JACKET_COLORPIXEL_X_4, JACKET_COLORPIXEL_Y_4)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/thickrobe/jacket) // Wintercoats and Satchels and stuff diff --git a/tgstation.dme b/tgstation.dme index 5278a594e920dd..1b236e9b20e339 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -250,7 +250,6 @@ #include "code\__DEFINES\supply_pods.dm" #include "code\__DEFINES\surgery.dm" #include "code\__DEFINES\tcg.dm" -#include "code\__DEFINES\teshari.dm" #include "code\__DEFINES\text.dm" #include "code\__DEFINES\tgs.config.dm" #include "code\__DEFINES\tgs.dm" @@ -415,7 +414,7 @@ #include "code\__DEFINES\traits\declarations.dm" #include "code\__DEFINES\traits\macros.dm" #include "code\__DEFINES\traits\sources.dm" -#include "code\__DEFINES\~doppler_defines\_clothing_defines.dm" +#include "code\__DEFINES\~doppler_defines\_autogen_clothing_defines.dm" #include "code\__DEFINES\~doppler_defines\admin.dm" #include "code\__DEFINES\~doppler_defines\armor_defines.dm" #include "code\__DEFINES\~doppler_defines\automapper.dm" @@ -466,6 +465,7 @@ #include "code\__DEFINES\~doppler_defines\speech_channels.dm" #include "code\__DEFINES\~doppler_defines\strippable.dm" #include "code\__DEFINES\~doppler_defines\techweb_nodes.dm" +#include "code\__DEFINES\~doppler_defines\teshari.dm" #include "code\__DEFINES\~doppler_defines\text.dm" #include "code\__DEFINES\~doppler_defines\traits.dm" #include "code\__DEFINES\~doppler_defines\vehicles.dm" @@ -7494,8 +7494,8 @@ #include "modular_doppler\modular_skillchips\code\modular_skillchips.dm" #include "modular_doppler\modular_sounds\code\sounds.dm" #include "modular_doppler\modular_species\_species.dm" +#include "modular_doppler\modular_species\autogen_clothing.dm" #include "modular_doppler\modular_species\blood_types.dm" -#include "modular_doppler\modular_species\custom_bodytype.dm" #include "modular_doppler\modular_species\species_types\akula\code\wetsuit.dm" #include "modular_doppler\modular_species\species_types\android\android.dm" #include "modular_doppler\modular_species\species_types\android\android_hud.dm" From 5f587a19b252b8dcb57ab263fb2ac78d92234d66 Mon Sep 17 00:00:00 2001 From: nikothedude <59709059+nikothedude@users.noreply.github.com> Date: Mon, 3 Nov 2025 16:19:02 -0500 Subject: [PATCH 24/52] remove unused def --- .../__DEFINES/~doppler_defines/_autogen_clothing_defines.dm | 6 ------ 1 file changed, 6 deletions(-) diff --git a/code/__DEFINES/~doppler_defines/_autogen_clothing_defines.dm b/code/__DEFINES/~doppler_defines/_autogen_clothing_defines.dm index 857155b1d86a44..52b8f44b78af4e 100644 --- a/code/__DEFINES/~doppler_defines/_autogen_clothing_defines.dm +++ b/code/__DEFINES/~doppler_defines/_autogen_clothing_defines.dm @@ -54,8 +54,6 @@ #define THICKROBE_COLORPIXEL_X_1 16 #define THICKROBE_COLORPIXEL_Y_1 9 -#define WIZARDROBE_COLORPIXEL_X_1 16 -#define WIZARDROBE_COLORPIXEL_Y_1 9 #define JACKET_COLORPIXEL_X_1 14 #define JACKET_COLORPIXEL_Y_1 16 #define LONGCOAT_COLORPIXEL_X_1 13 @@ -64,8 +62,6 @@ #define THICKROBE_COLORPIXEL_Y_2 19 #define JACKET_COLORPIXEL_X_2 14 #define JACKET_COLORPIXEL_Y_2 21 -#define WIZARDROBE_COLORPIXEL_X_2 14 -#define WIZARDROBE_COLORPIXEL_Y_2 19 #define THICKROBE_COLORPIXEL_X_3 13 #define THICKROBE_COLORPIXEL_Y_3 19 #define THICKROBE_COLORPIXEL_X_4 8 @@ -76,8 +72,6 @@ #define JACKET_COLORPIXEL_Y_4 15 #define THICKROBE_COLORPIXEL_X_5 16 #define THICKROBE_COLORPIXEL_Y_5 12 -#define WIZARDROBE_COLORPIXEL_X_5 16 -#define WIZARDROBE_COLORPIXEL_Y_5 12 #define THICKROBE_COLORPIXEL_X_6 16 #define THICKROBE_COLORPIXEL_Y_6 20 From bdda8e0122b48ea27c88a67784064f11ac0f230d Mon Sep 17 00:00:00 2001 From: nikothedude <59709059+nikothedude@users.noreply.github.com> Date: Mon, 3 Nov 2025 16:29:32 -0500 Subject: [PATCH 25/52] absolute dogshit --- .../modular_cosmetics/code/suits/basesuits.dm | 2 +- .../modular_species/autogen_clothing.dm | 8 ++--- .../species_types/teshari/teshari_clothes.dm | 36 +++++++++---------- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/modular_doppler/modular_cosmetics/code/suits/basesuits.dm b/modular_doppler/modular_cosmetics/code/suits/basesuits.dm index 3f8a13729d748c..35000d5e7e06a8 100644 --- a/modular_doppler/modular_cosmetics/code/suits/basesuits.dm +++ b/modular_doppler/modular_cosmetics/code/suits/basesuits.dm @@ -85,7 +85,7 @@ supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_DIGITIGRADE) bodyshape_icon_files = list(BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/suits/spacesuit.dmi', BODYSHAPE_DIGITIGRADE_T = 'modular_doppler/modular_cosmetics/icons/mob/suit/spacesuit_digi.dmi') - autogen_clothing_color_coods = list(list(SPACESUIT_COLORPIXEL_X_1, SPACESUIT_COLORPIXEL_Y_1)) + autogen_clothing_color_coords = list(list(SPACESUIT_COLORPIXEL_X_1, SPACESUIT_COLORPIXEL_Y_1)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/spacesuit) /// RADSUITS diff --git a/modular_doppler/modular_species/autogen_clothing.dm b/modular_doppler/modular_species/autogen_clothing.dm index 3148a29c18ec8c..6b180e5110bc14 100644 --- a/modular_doppler/modular_species/autogen_clothing.dm +++ b/modular_doppler/modular_species/autogen_clothing.dm @@ -8,7 +8,7 @@ GLOBAL_LIST_EMPTY(species_autogen_clothing_cache) /// List of lists in format: (X, Y) coordinates. When an autogen clothing is made, these are the coordinates on the base sprite that will be used /// to determine the color of the created sprite. /// Add multiple entries if the target sprite template uses multiple colors. - var/list/autogen_clothing_color_coods = null + var/list/autogen_clothing_color_coords = null /** * Modularly get the species' fallback greyscale config. @@ -92,11 +92,11 @@ GLOBAL_LIST_EMPTY(species_autogen_clothing_cache) var/list/color_list = list() for(var/i in 1 to expected_num_colors) - if(isnull(item.autogen_clothing_color_coods) || \ - length(item.autogen_clothing_color_coods) < i) + if(isnull(item.autogen_clothing_color_coords) || \ + length(item.autogen_clothing_color_coords) < i) color_list += COLOR_DARK continue - var/coord = item.autogen_clothing_color_coods[i] + var/coord = item.autogen_clothing_color_coords[i] color_list += final_human_icon.GetPixel(coord[1], coord[2]) || COLOR_DARK fallback_greyscale_colors = color_list.Join("") diff --git a/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm b/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm index 8ad367aeb34ea1..96b62fa1d57592 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm @@ -1,68 +1,68 @@ // For defining teshari autogen sprite variables on TG clothes. Use your own doppler definition for doppler-made clothing. /obj/item/storage/backpack - autogen_clothing_color_coods = list(list(BACK_COLORPIXEL_X_1, BACK_COLORPIXEL_Y_1)) + autogen_clothing_color_coords = list(list(BACK_COLORPIXEL_X_1, BACK_COLORPIXEL_Y_1)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/backpack) /obj/item/clothing/glasses - autogen_clothing_color_coods = list(list(GLASSES_COLORPIXEL_X_1, GLASSES_COLORPIXEL_Y_1), list(GLASSES_COLORPIXEL_X_2, GLASSES_COLORPIXEL_Y_2)) + autogen_clothing_color_coords = list(list(GLASSES_COLORPIXEL_X_1, GLASSES_COLORPIXEL_Y_1), list(GLASSES_COLORPIXEL_X_2, GLASSES_COLORPIXEL_Y_2)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/glasses) /obj/item/clothing/gloves - autogen_clothing_color_coods = list(list(GLOVES_COLORPIXEL_X_1, GLOVES_COLORPIXEL_Y_1)) + autogen_clothing_color_coords = list(list(GLOVES_COLORPIXEL_X_1, GLOVES_COLORPIXEL_Y_1)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/gloves) /obj/item/clothing/neck - autogen_clothing_color_coods = list(list(SCARF_COLORPIXEL_X_1, SCARF_COLORPIXEL_Y_1)) + autogen_clothing_color_coords = list(list(SCARF_COLORPIXEL_X_1, SCARF_COLORPIXEL_Y_1)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/scarf) /obj/item/clothing/neck/cloak - autogen_clothing_color_coods = list(list(CLOAK_COLORPIXEL_X_1, CLOAK_COLORPIXEL_Y_1), list(CLOAK_COLORPIXEL_X_2, CLOAK_COLORPIXEL_Y_2)) + autogen_clothing_color_coords = list(list(CLOAK_COLORPIXEL_X_1, CLOAK_COLORPIXEL_Y_1), list(CLOAK_COLORPIXEL_X_2, CLOAK_COLORPIXEL_Y_2)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/cloak) /obj/item/clothing/neck/mantle - autogen_clothing_color_coods = list(list(MANTLE_COLORPIXEL_X_1, MANTLE_COLORPIXEL_Y_1), list(MANTLE_COLORPIXEL_X_2, MANTLE_COLORPIXEL_Y_2)) + autogen_clothing_color_coords = list(list(MANTLE_COLORPIXEL_X_1, MANTLE_COLORPIXEL_Y_1), list(MANTLE_COLORPIXEL_X_2, MANTLE_COLORPIXEL_Y_2)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/mantle) /obj/item/clothing/neck/tie - autogen_clothing_color_coods = list(list(TIE_COLORPIXEL_X_1, TIE_COLORPIXEL_Y_1)) + autogen_clothing_color_coords = list(list(TIE_COLORPIXEL_X_1, TIE_COLORPIXEL_Y_1)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/tie) /obj/item/clothing/shoes - autogen_clothing_color_coods = list(list(SHOES_COLORPIXEL_X_1, SHOES_COLORPIXEL_Y_1)) + autogen_clothing_color_coords = list(list(SHOES_COLORPIXEL_X_1, SHOES_COLORPIXEL_Y_1)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/shoes) /obj/item/clothing/suit - autogen_clothing_color_coods = list(list(COAT_COLORPIXEL_X_1, COAT_COLORPIXEL_Y_1)) + autogen_clothing_color_coords = list(list(COAT_COLORPIXEL_X_1, COAT_COLORPIXEL_Y_1)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/coat) /obj/item/clothing/suit/wizrobe - autogen_clothing_color_coods = list(list(THICKROBE_COLORPIXEL_X_1, THICKROBE_COLORPIXEL_Y_1), list(THICKROBE_COLORPIXEL_X_2, THICKROBE_COLORPIXEL_Y_2), list(THICKROBE_COLORPIXEL_X_3, THICKROBE_COLORPIXEL_Y_3), list(THICKROBE_COLORPIXEL_X_4, THICKROBE_COLORPIXEL_Y_4), list(THICKROBE_COLORPIXEL_X_5, THICKROBE_COLORPIXEL_Y_5), list(THICKROBE_COLORPIXEL_X_6, THICKROBE_COLORPIXEL_Y_6)) + autogen_clothing_color_coords = list(list(THICKROBE_COLORPIXEL_X_1, THICKROBE_COLORPIXEL_Y_1), list(THICKROBE_COLORPIXEL_X_2, THICKROBE_COLORPIXEL_Y_2), list(THICKROBE_COLORPIXEL_X_3, THICKROBE_COLORPIXEL_Y_3), list(THICKROBE_COLORPIXEL_X_4, THICKROBE_COLORPIXEL_Y_4), list(THICKROBE_COLORPIXEL_X_5, THICKROBE_COLORPIXEL_Y_5), list(THICKROBE_COLORPIXEL_X_6, THICKROBE_COLORPIXEL_Y_6)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/thickrobe/wiz) /obj/item/clothing/suit/jacket/trenchcoat - autogen_clothing_color_coods = list(list(LONGCOAT_COLORPIXEL_X_1, LONGCOAT_COLORPIXEL_Y_1), list(THICKROBE_COLORPIXEL_X_2, THICKROBE_COLORPIXEL_Y_2), list(THICKROBE_COLORPIXEL_X_3, THICKROBE_COLORPIXEL_Y_3), list(LONGCOAT_COLORPIXEL_X_4, LONGCOAT_COLORPIXEL_Y_4)) + autogen_clothing_color_coords = list(list(LONGCOAT_COLORPIXEL_X_1, LONGCOAT_COLORPIXEL_Y_1), list(THICKROBE_COLORPIXEL_X_2, THICKROBE_COLORPIXEL_Y_2), list(THICKROBE_COLORPIXEL_X_3, THICKROBE_COLORPIXEL_Y_3), list(LONGCOAT_COLORPIXEL_X_4, LONGCOAT_COLORPIXEL_Y_4)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/thickrobe/longcoat) /obj/item/clothing/suit/jacket - autogen_clothing_color_coods = list(list(JACKET_COLORPIXEL_X_1, JACKET_COLORPIXEL_Y_1), list(JACKET_COLORPIXEL_X_2, JACKET_COLORPIXEL_Y_2), list(THICKROBE_COLORPIXEL_X_3, THICKROBE_COLORPIXEL_Y_3), list(JACKET_COLORPIXEL_X_4, JACKET_COLORPIXEL_Y_4)) + autogen_clothing_color_coords = list(list(JACKET_COLORPIXEL_X_1, JACKET_COLORPIXEL_Y_1), list(JACKET_COLORPIXEL_X_2, JACKET_COLORPIXEL_Y_2), list(THICKROBE_COLORPIXEL_X_3, THICKROBE_COLORPIXEL_Y_3), list(JACKET_COLORPIXEL_X_4, JACKET_COLORPIXEL_Y_4)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/thickrobe/jacket) /obj/item/clothing/suit/armor - autogen_clothing_color_coods = list(list(ARMOR_COLORPIXEL_X_1, ARMOR_COLORPIXEL_Y_1)) + autogen_clothing_color_coords = list(list(ARMOR_COLORPIXEL_X_1, ARMOR_COLORPIXEL_Y_1)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/armor) /obj/item/clothing/suit/mod - autogen_clothing_color_coods = list(list(MODSUIT_COLORPIXEL_X_1, MODSUIT_COLORPIXEL_Y_1), list(MODSUIT_COLORPIXEL_X_2, MODSUIT_COLORPIXEL_Y_2), list(MODSUIT_COLORPIXEL_X_3, MODSUIT_COLORPIXEL_Y_3)) + autogen_clothing_color_coords = list(list(MODSUIT_COLORPIXEL_X_1, MODSUIT_COLORPIXEL_Y_1), list(MODSUIT_COLORPIXEL_X_2, MODSUIT_COLORPIXEL_Y_2), list(MODSUIT_COLORPIXEL_X_3, MODSUIT_COLORPIXEL_Y_3)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/hardsuit) /obj/item/clothing/under - autogen_clothing_color_coods = list(list(UNDER_COLORPIXEL_X_1, UNDER_COLORPIXEL_Y_1), list(UNDER_COLORPIXEL_X_2, UNDER_COLORPIXEL_Y_2), list(UNDER_COLORPIXEL_X_3, UNDER_COLORPIXEL_Y_3)) + autogen_clothing_color_coords = list(list(UNDER_COLORPIXEL_X_1, UNDER_COLORPIXEL_Y_1), list(UNDER_COLORPIXEL_X_2, UNDER_COLORPIXEL_Y_2), list(UNDER_COLORPIXEL_X_3, UNDER_COLORPIXEL_Y_3)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/under) autogen_clothing_config_skirt = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/under_skirt) /obj/item/mod/control - autogen_clothing_color_coods = list(list(MODCONTROL_COLORPIXEL_X_1, MODCONTROL_COLORPIXEL_Y_1)) + autogen_clothing_color_coords = list(list(MODCONTROL_COLORPIXEL_X_1, MODCONTROL_COLORPIXEL_Y_1)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/modcontrol) ///GAGS below here @@ -178,11 +178,11 @@ // Unique clothing here /obj/item/clothing/suit/kimjacket - autogen_clothing_color_coods = list(list(JACKET_COLORPIXEL_X_1, JACKET_COLORPIXEL_Y_1), list(JACKET_COLORPIXEL_X_2, JACKET_COLORPIXEL_Y_2), list(THICKROBE_COLORPIXEL_X_3, THICKROBE_COLORPIXEL_Y_3), list(JACKET_COLORPIXEL_X_4, JACKET_COLORPIXEL_Y_4)) + autogen_clothing_color_coords = list(list(JACKET_COLORPIXEL_X_1, JACKET_COLORPIXEL_Y_1), list(JACKET_COLORPIXEL_X_2, JACKET_COLORPIXEL_Y_2), list(THICKROBE_COLORPIXEL_X_3, THICKROBE_COLORPIXEL_Y_3), list(JACKET_COLORPIXEL_X_4, JACKET_COLORPIXEL_Y_4)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/thickrobe/jacket) /obj/item/clothing/suit/discoblazer - autogen_clothing_color_coods = list(list(JACKET_COLORPIXEL_X_1, JACKET_COLORPIXEL_Y_1), list(JACKET_COLORPIXEL_X_2, JACKET_COLORPIXEL_Y_2), list(THICKROBE_COLORPIXEL_X_3, THICKROBE_COLORPIXEL_Y_3), list(JACKET_COLORPIXEL_X_4, JACKET_COLORPIXEL_Y_4)) + autogen_clothing_color_coords = list(list(JACKET_COLORPIXEL_X_1, JACKET_COLORPIXEL_Y_1), list(JACKET_COLORPIXEL_X_2, JACKET_COLORPIXEL_Y_2), list(THICKROBE_COLORPIXEL_X_3, THICKROBE_COLORPIXEL_Y_3), list(JACKET_COLORPIXEL_X_4, JACKET_COLORPIXEL_Y_4)) autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/thickrobe/jacket) // Wintercoats and Satchels and stuff From fe3c5cb2c630c6c88dd1ba10143c699e5ae91661 Mon Sep 17 00:00:00 2001 From: nikothedude <59709059+nikothedude@users.noreply.github.com> Date: Fri, 14 Nov 2025 08:52:48 -0500 Subject: [PATCH 26/52] Update modular_doppler/modular_species/species_types/teshari/teshari_organs.dm Co-authored-by: kittysmooch <105110468+kittysmooch@users.noreply.github.com> Signed-off-by: nikothedude <59709059+nikothedude@users.noreply.github.com> --- .../modular_species/species_types/teshari/teshari_organs.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_doppler/modular_species/species_types/teshari/teshari_organs.dm b/modular_doppler/modular_species/species_types/teshari/teshari_organs.dm index 791a8af335a346..0848941fd780f5 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari_organs.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari_organs.dm @@ -80,7 +80,7 @@ /obj/item/organ/tail/teshari name = "teshari tail" - desc = "A long, sinewous tail typically found in teshari. Whoever lost it probably isn't very pleased." + desc = "A long, sinuous tail typically found in teshari. Whoever lost it probably isn't very pleased." preference = "feature_teshari_tail" dna_block = null bodypart_overlay = /datum/bodypart_overlay/mutant/tail/teshari From e7f5aaac30b6c1f07e515b58835554f7951f1210 Mon Sep 17 00:00:00 2001 From: nikothedude <59709059+nikothedude@users.noreply.github.com> Date: Sun, 14 Dec 2025 00:10:45 -0500 Subject: [PATCH 27/52] blacklist ovbersized/undersized, add no table break trait --- code/__DEFINES/~doppler_defines/traits.dm | 2 ++ code/game/objects/structures/tables_racks.dm | 2 +- modular_doppler/modular_quirks/oversized/oversized.dm | 5 +++++ modular_doppler/modular_quirks/undersized/undersized.dm | 5 +++++ .../species_types/teshari/teshari_bodyparts.dm | 1 + 5 files changed, 14 insertions(+), 1 deletion(-) diff --git a/code/__DEFINES/~doppler_defines/traits.dm b/code/__DEFINES/~doppler_defines/traits.dm index 40b97c4af0db9c..d8cccbf2da59da 100644 --- a/code/__DEFINES/~doppler_defines/traits.dm +++ b/code/__DEFINES/~doppler_defines/traits.dm @@ -17,6 +17,8 @@ #define TRAIT_ANIMALISTIC "animalistic" // Trait that lets golems put stone limbs back on #define TRAIT_GOLEM_LIMBATTACHMENT "golem_limbattachment" +// Prevents the mob from breaking tables from standing on them +#define TRAIT_LIGHT_BODY "light_body" //// // Quirks diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index b88a987c132e72..d904d3f1729423 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -571,7 +571,7 @@ /obj/structure/table/glass/proc/check_break(mob/living/M) if(is_flipped) return FALSE - if(M.has_gravity() && M.mob_size > MOB_SIZE_SMALL && !(M.movement_type & MOVETYPES_NOT_TOUCHING_GROUND) && (!isteshari(M))) // Doppler edit addition - Teshari can tablerun without breaking glass tables + if(M.has_gravity() && M.mob_size > MOB_SIZE_SMALL && !(M.movement_type & MOVETYPES_NOT_TOUCHING_GROUND) && (!HAS_TRAIT(M, TRAIT_LIGHT_BODY))) // Doppler edit addition - Teshari can tablerun without breaking glass tables table_shatter(M) /obj/structure/table/glass/proc/table_shatter(mob/living/victim) diff --git a/modular_doppler/modular_quirks/oversized/oversized.dm b/modular_doppler/modular_quirks/oversized/oversized.dm index 549c70676a6b7c..3f244e549ff0e6 100644 --- a/modular_doppler/modular_quirks/oversized/oversized.dm +++ b/modular_doppler/modular_quirks/oversized/oversized.dm @@ -116,6 +116,11 @@ gained.name = "oversized " + gained.name +/datum/quirk/oversized/is_species_appropriate(datum/species/mob_species) + if(mob_species == /datum/species/teshari) + return FALSE + return ..() + /datum/movespeed_modifier/oversized multiplicative_slowdown = OVERSIZED_SPEED_SLOWDOWN diff --git a/modular_doppler/modular_quirks/undersized/undersized.dm b/modular_doppler/modular_quirks/undersized/undersized.dm index 9dd66d0e377173..684cf6fc14148b 100644 --- a/modular_doppler/modular_quirks/undersized/undersized.dm +++ b/modular_doppler/modular_quirks/undersized/undersized.dm @@ -134,6 +134,11 @@ gained.name = "Tiny " + gained.name +/datum/quirk/undersized/is_species_appropriate(datum/species/mob_species) + if(mob_species == /datum/species/teshari) + return FALSE + return ..() + /datum/movespeed_modifier/undersized multiplicative_slowdown = UNDERSIZED_SPEED_SLOWDOWN diff --git a/modular_doppler/modular_species/species_types/teshari/teshari_bodyparts.dm b/modular_doppler/modular_species/species_types/teshari/teshari_bodyparts.dm index 7dddbec84aa819..81480da6caf68a 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari_bodyparts.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari_bodyparts.dm @@ -33,6 +33,7 @@ limb_id = SPECIES_TESHARI brute_modifier = TESHARI_BRUTE_MODIFIER burn_modifier = TESHARI_BURN_MODIFIER + bodypart_traits = list(TRAIT_LIGHT_BODY) /obj/item/bodypart/chest/mutant/teshari/Initialize(mapload) worn_back_offset = new( From c67f8aba32b7d8ee127a327ae1dede9052e9d07b Mon Sep 17 00:00:00 2001 From: nikothedude <59709059+nikothedude@users.noreply.github.com> Date: Sun, 14 Dec 2025 21:22:26 -0500 Subject: [PATCH 28/52] refactor wintercoat undeployed stuff, clean up an unused args, docs... --- code/__DEFINES/mobs.dm | 2 +- .../components/toggle_attached_clothing.dm | 7 +++ .../living/carbon/human/human_update_icons.dm | 44 +++++++++---------- .../modular_species/autogen_clothing.dm | 19 +++++--- .../species_types/teshari/teshari_clothes.dm | 6 --- 5 files changed, 43 insertions(+), 35 deletions(-) diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index 832c68ce6cd05a..c26926d5af457e 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -494,7 +494,7 @@ #define OFFSET_SUIT "suit" #define OFFSET_NECK "neck" #define OFFSET_HELD "held" -#define OFFSET_ACCESSORY "accessory" // Doppler edit - addition +#define OFFSET_ACCESSORY "accessory" // DOPPLER EDIT ADDITION - Accesory offsets, currently used only for teshari //MINOR TWEAKS/MISC #define AGE_MIN 18 //youngest a character can be diff --git a/code/datums/components/toggle_attached_clothing.dm b/code/datums/components/toggle_attached_clothing.dm index a251fd0e38af6f..1caad1328a2177 100644 --- a/code/datums/components/toggle_attached_clothing.dm +++ b/code/datums/components/toggle_attached_clothing.dm @@ -110,6 +110,13 @@ SIGNAL_HANDLER if (isinhands || currently_deployed) return + var/obj/item/parent_gear = parent // DOPPLER EDIT ADDITION BEGIN - Autogenerated clothing ignores undeployed sprites + if (ishuman(parent_gear.loc)) + var/mob/living/carbon/human/human_owner = parent_gear.loc + if (!isnull(human_owner.dna.species.get_autogen_worn_config(parent_gear))) + return // sorry, i cant wrap my head around making autogenned undeployed sprites rn... + // DOPPLER EDIT ADDITION END + overlays += undeployed_overlay /// Deploys gear if it is hidden, hides it if it is deployed diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index 92b18c896533f9..5f41d5d37e3b4a 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -113,10 +113,10 @@ There are several things that need to be remembered: break if(!found_alt_shape) - var/fallback_config = dna.species.get_autogen_worn_config(OFFSET_UNIFORM, uniform) + var/fallback_config = dna.species.get_autogen_worn_config(uniform) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_autogen_worn_icon(OFFSET_UNIFORM, uniform, src) + var/species_icon_file = dna.species.generate_autogen_worn_icon(uniform, src) if(species_icon_file) icon_file = species_icon_file /// DOPPLER SHIFT ADDITION END @@ -233,10 +233,10 @@ There are several things that need to be remembered: var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_autogen_worn_config(OFFSET_GLOVES, worn_item) + var/fallback_config = dna.species.get_autogen_worn_config(worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_autogen_worn_icon(OFFSET_GLOVES, worn_item, src) + var/species_icon_file = dna.species.generate_autogen_worn_icon(worn_item, src) if(species_icon_file) icon_file = species_icon_file autogen_override = TRUE @@ -301,10 +301,10 @@ There are several things that need to be remembered: var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_autogen_worn_config(OFFSET_GLASSES, worn_item) + var/fallback_config = dna.species.get_autogen_worn_config(worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_autogen_worn_icon(OFFSET_GLASSES, worn_item, src) + var/species_icon_file = dna.species.generate_autogen_worn_icon(worn_item, src) if(species_icon_file) icon_file = species_icon_file autogen_override = TRUE @@ -352,10 +352,10 @@ There are several things that need to be remembered: var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_autogen_worn_config(OFFSET_EARS, worn_item) + var/fallback_config = dna.species.get_autogen_worn_config(worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_autogen_worn_icon(OFFSET_EARS, worn_item, src) + var/species_icon_file = dna.species.generate_autogen_worn_icon(worn_item, src) if(species_icon_file) icon_file = species_icon_file autogen_override = TRUE @@ -450,10 +450,10 @@ There are several things that need to be remembered: var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_autogen_worn_config(OFFSET_SHOES, worn_item) + var/fallback_config = dna.species.get_autogen_worn_config(worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_autogen_worn_icon(OFFSET_SHOES, worn_item, src) + var/species_icon_file = dna.species.generate_autogen_worn_icon(worn_item, src) if(species_icon_file) icon_file = species_icon_file autogen_override = TRUE @@ -507,10 +507,10 @@ There are several things that need to be remembered: var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_autogen_worn_config(OFFSET_S_STORE, worn_item) + var/fallback_config = dna.species.get_autogen_worn_config(worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_autogen_worn_icon(OFFSET_S_STORE, worn_item, src) + var/species_icon_file = dna.species.generate_autogen_worn_icon(worn_item, src) if(species_icon_file) icon_file = species_icon_file autogen_override = TRUE @@ -553,10 +553,10 @@ There are several things that need to be remembered: var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_autogen_worn_config(OFFSET_HEAD, worn_item) + var/fallback_config = dna.species.get_autogen_worn_config(worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_autogen_worn_icon(OFFSET_HEAD, worn_item, src) + var/species_icon_file = dna.species.generate_autogen_worn_icon(worn_item, src) if(species_icon_file) icon_file = species_icon_file autogen_override = TRUE @@ -602,10 +602,10 @@ There are several things that need to be remembered: var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_autogen_worn_config(OFFSET_BELT, worn_item) + var/fallback_config = dna.species.get_autogen_worn_config(worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_autogen_worn_icon(OFFSET_BELT, worn_item, src) + var/species_icon_file = dna.species.generate_autogen_worn_icon(worn_item, src) if(species_icon_file) icon_file = species_icon_file autogen_override = TRUE @@ -650,10 +650,10 @@ There are several things that need to be remembered: var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_autogen_worn_config(OFFSET_SUIT, worn_item) + var/fallback_config = dna.species.get_autogen_worn_config(worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_autogen_worn_icon(OFFSET_SUIT, worn_item, src) + var/species_icon_file = dna.species.generate_autogen_worn_icon(worn_item, src) if(species_icon_file) icon_file = species_icon_file autogen_override = TRUE @@ -724,10 +724,10 @@ There are several things that need to be remembered: var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_autogen_worn_config(OFFSET_FACEMASK, worn_item) + var/fallback_config = dna.species.get_autogen_worn_config(worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_autogen_worn_icon(OFFSET_FACEMASK, worn_item, src) + var/species_icon_file = dna.species.generate_autogen_worn_icon(worn_item, src) if(species_icon_file) icon_file = species_icon_file autogen_override = TRUE @@ -773,10 +773,10 @@ There are several things that need to be remembered: var/autogen_override = FALSE if(!found_alt_shape) - var/fallback_config = dna.species.get_autogen_worn_config(OFFSET_BACK, worn_item) + var/fallback_config = dna.species.get_autogen_worn_config(worn_item) if (!isnull(fallback_config)) // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_autogen_worn_icon(OFFSET_BACK, worn_item, src) + var/species_icon_file = dna.species.generate_autogen_worn_icon(worn_item, src) if(species_icon_file) icon_file = species_icon_file autogen_override = TRUE diff --git a/modular_doppler/modular_species/autogen_clothing.dm b/modular_doppler/modular_species/autogen_clothing.dm index 6b180e5110bc14..d39845d8086c70 100644 --- a/modular_doppler/modular_species/autogen_clothing.dm +++ b/modular_doppler/modular_species/autogen_clothing.dm @@ -14,10 +14,9 @@ GLOBAL_LIST_EMPTY(species_autogen_clothing_cache) * Modularly get the species' fallback greyscale config. * Only used if you use generate_autogen_worn_icon() * Arguments: - * * item_slot: The slot we're updating. One of OFFSET_HEAD, etc. * * item: The item being rendered. */ -/datum/species/proc/get_autogen_worn_config(item_slot, obj/item/item) +/datum/species/proc/get_autogen_worn_config(obj/item/item) if (isnull(item)) return var/list/list_to_use = item.autogen_clothing_config if(istype(item, /obj/item/clothing/under) && !(item.body_parts_covered & LEGS) && !isnull(item.autogen_clothing_config_skirt)) @@ -53,9 +52,17 @@ GLOBAL_LIST_EMPTY(species_autogen_clothing_cache) GLOB.species_autogen_clothing_cache[name]["[file_to_use]-[state_to_use]-[meta]"] = cached_value /** - * Generate a fallback worn icon, if the species supports it. You must call it in an override of generate_custom_worn_icon() + * Generate a fallback worn icon, if the species supports it. + * Arguments: + * * obj/item/item: The item we are considering. + * * mob/living/carbon/human/human_owner: The owner of the item. + * + * Returns: + * * A /icon, or null, if no sprite could be generated. */ -/datum/species/proc/generate_autogen_worn_icon(item_slot, obj/item/item, mob/living/carbon/human/human_owner) +/datum/species/proc/generate_autogen_worn_icon(obj/item/item, mob/living/carbon/human/human_owner) + RETURN_TYPE(/icon) + var/icon/human_icon = item.worn_icon || item.icon var/human_icon_state = item.worn_icon_state || item.icon_state @@ -68,7 +75,7 @@ GLOBAL_LIST_EMPTY(species_autogen_clothing_cache) return cached_icon // Get GAGs config - var/fallback_config = get_autogen_worn_config(item_slot, item) + var/fallback_config = get_autogen_worn_config(item) if(!fallback_config) return null @@ -102,7 +109,7 @@ GLOBAL_LIST_EMPTY(species_autogen_clothing_cache) fallback_greyscale_colors = color_list.Join("") // Finally, render with GAGs - var/icon/final_icon = icon(SSgreyscale.GetColoredIconByType(get_autogen_worn_config(item_slot, item), fallback_greyscale_colors)) + var/icon/final_icon = icon(SSgreyscale.GetColoredIconByType(get_autogen_worn_config(item), fallback_greyscale_colors)) // Duplicate to the specific icon_state and set. final_icon.Insert(final_icon, icon_state = human_icon_state) // include the expected icon_state // Cache the clean copy. diff --git a/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm b/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm index 96b62fa1d57592..674043c254a0d5 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm @@ -195,12 +195,6 @@ BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/back.dmi' ) -/obj/item/clothing/suit/hooded/wintercoat/equipped(mob/living/user, slot) - if(isteshari(user)) - var/datum/component/toggle_attached_clothing/component = GetComponent(/datum/component/toggle_attached_clothing) - component.undeployed_overlay = null - . = ..() - /obj/item/gravity_harness supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) bodyshape_icon_files = list( From cac35e80b6fa2f3e884a16f57a2262303af61ff5 Mon Sep 17 00:00:00 2001 From: nikothedude <59709059+nikothedude@users.noreply.github.com> Date: Sun, 14 Dec 2025 21:35:39 -0500 Subject: [PATCH 29/52] why was this even a spell --- .../species_types/teshari/teshari_organs.dm | 27 ++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/modular_doppler/modular_species/species_types/teshari/teshari_organs.dm b/modular_doppler/modular_species/species_types/teshari/teshari_organs.dm index 0848941fd780f5..a4671e65ab03c3 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari_organs.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari_organs.dm @@ -2,7 +2,7 @@ name = "teshari ears" desc = "A set of four long rabbit-like ears, a Teshari's main tool while hunting. Naturally extremely sensitive to loud sounds." damage_multiplier = 1.5 - actions_types = list(/datum/action/cooldown/spell/teshari_hearing) + actions_types = list(/datum/action/cooldown/teshari_hearing) preference = "feature_teshari_ears" bodypart_overlay = /datum/bodypart_overlay/mutant/ears/teshari @@ -10,7 +10,7 @@ . = ..() REMOVE_TRAIT(ear_owner, TRAIT_GOOD_HEARING, ORGAN_TRAIT) -/datum/action/cooldown/spell/teshari_hearing +/datum/action/cooldown/teshari_hearing name = "Toggle Sensitive Hearing" desc = "Perk up your ears to listen for quiet sounds, useful for picking up whispering." button_icon = 'modular_doppler/modular_species/species_types/teshari/icons/abilities/actions.dmi' @@ -19,33 +19,36 @@ overlay_icon_state = "bg_alien_border" cooldown_time = 1 SECONDS - spell_requirements = NONE -/datum/action/cooldown/spell/teshari_hearing/proc/update_button_state(new_state) //This makes it so that the button icon changes dynamically based on ears being up or not. +/datum/action/cooldown/teshari_hearing/proc/update_button_state(new_state) //This makes it so that the button icon changes dynamically based on ears being up or not. button_icon_state = new_state owner.update_action_buttons() -/datum/action/cooldown/spell/teshari_hearing/Remove(mob/living/remove_from) +/datum/action/cooldown/teshari_hearing/Remove(mob/living/remove_from) REMOVE_TRAIT(remove_from, TRAIT_GOOD_HEARING, ORGAN_TRAIT) remove_from.update_sight() return ..() -/datum/action/cooldown/spell/teshari_hearing/cast(list/targets, mob/living/carbon/human/user = usr) +/datum/action/cooldown/teshari_hearing/Activate(atom/target) . = ..() - if(HAS_TRAIT(user, TRAIT_GOOD_HEARING)) - teshari_hearing_deactivate(user) + var/mob/living/living_target = target + if (!istype(living_target)) return - user.apply_status_effect(/datum/status_effect/teshari_hearing) - user.visible_message(span_notice("[user], pricks up [user.p_their()] four ears, each twitching intently!"), span_notice("You perk up all four of your ears, hunting for even the quietest sounds.")) + if(HAS_TRAIT(living_target, TRAIT_GOOD_HEARING)) + teshari_hearing_deactivate(living_target) + return + + living_target.apply_status_effect(/datum/status_effect/teshari_hearing) + living_target.visible_message(span_notice("[living_target], pricks up [living_target.p_their()] four ears, each twitching intently!"), span_notice("You perk up all four of your ears, hunting for even the quietest sounds.")) update_button_state("echolocation_on") - var/obj/item/organ/ears/ears = user.get_organ_slot(ORGAN_SLOT_EARS) + var/obj/item/organ/ears/ears = living_target.get_organ_slot(ORGAN_SLOT_EARS) if(ears) ears.damage_multiplier = 3 -/datum/action/cooldown/spell/teshari_hearing/proc/teshari_hearing_deactivate(mob/living/carbon/human/user) //Called when you activate it again after casting the ability-- turning them off, so to say. +/datum/action/cooldown/teshari_hearing/proc/teshari_hearing_deactivate(mob/living/carbon/human/user) //Called when you activate it again after casting the ability-- turning them off, so to say. if(!HAS_TRAIT_FROM(user, TRAIT_GOOD_HEARING, ORGAN_TRAIT)) return From 93423c6395281e7586f99d0c444a1094bb5784e6 Mon Sep 17 00:00:00 2001 From: nikothedude Date: Tue, 16 Dec 2025 18:22:22 -0500 Subject: [PATCH 30/52] of course, madame ephe --- code/game/objects/structures/tables_racks.dm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index d904d3f1729423..2dddb32f7e1363 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -569,10 +569,14 @@ check_break(M) /obj/structure/table/glass/proc/check_break(mob/living/M) - if(is_flipped) - return FALSE - if(M.has_gravity() && M.mob_size > MOB_SIZE_SMALL && !(M.movement_type & MOVETYPES_NOT_TOUCHING_GROUND) && (!HAS_TRAIT(M, TRAIT_LIGHT_BODY))) // Doppler edit addition - Teshari can tablerun without breaking glass tables - table_shatter(M) + if(is_flipped) + return FALSE + // DOPPLER EDIT ADDITION START - Light-bodied species can tablerun without breaking glass tables + if(HAS_TRAIT(M, TRAIT_LIGHT_BODY)) + return FALSE + // DOPPLER EDIT ADDITION END + if(M.has_gravity() && M.mob_size > MOB_SIZE_SMALL && !(M.movement_type & MOVETYPES_NOT_TOUCHING_GROUND)) + table_shatter(M) /obj/structure/table/glass/proc/table_shatter(mob/living/victim) visible_message(span_warning("[src] breaks!"), From 14ae738b0d0cec780301618e536aca088e17b46c Mon Sep 17 00:00:00 2001 From: nikothedude Date: Sun, 21 Dec 2025 17:52:19 -0500 Subject: [PATCH 31/52] wweeee INCOMPLETE REFACTOR BUT I HAV TO COMMIT IT --- .../components/toggle_attached_clothing.dm | 2 +- .../living/carbon/human/human_update_icons.dm | 393 ++++-------------- .../modular_cosmetics/code/suits/basesuits.dm | 2 +- .../modular_species/autogen_clothing.dm | 123 ++++-- .../species_types/teshari/teshari.dm | 33 -- .../species_types/teshari/teshari_clothes.dm | 110 ++--- 6 files changed, 228 insertions(+), 435 deletions(-) diff --git a/code/datums/components/toggle_attached_clothing.dm b/code/datums/components/toggle_attached_clothing.dm index 1caad1328a2177..42160eafe0c308 100644 --- a/code/datums/components/toggle_attached_clothing.dm +++ b/code/datums/components/toggle_attached_clothing.dm @@ -113,7 +113,7 @@ var/obj/item/parent_gear = parent // DOPPLER EDIT ADDITION BEGIN - Autogenerated clothing ignores undeployed sprites if (ishuman(parent_gear.loc)) var/mob/living/carbon/human/human_owner = parent_gear.loc - if (!isnull(human_owner.dna.species.get_autogen_worn_config(parent_gear))) + if (!isnull(parent_gear.get_matching_bodyshape(human_owner))) return // sorry, i cant wrap my head around making autogenned undeployed sprites rn... // DOPPLER EDIT ADDITION END diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index 5f41d5d37e3b4a..faced7326a5433 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -102,23 +102,25 @@ There are several things that need to be remembered: var/icon_file var/woman /// DOPPLER SHIFT ADDITION BEGIN - var/found_alt_shape = FALSE + var/found_special_sprite = FALSE for(var/shape in uniform.supported_bodyshapes) - if(bodyshape & shape) - var/potential_file = uniform.bodyshape_icon_files["[shape]"] - if (icon_exists(potential_file, uniform.icon_state)) - icon_file = uniform.bodyshape_icon_files["[shape]"] - if (shape != BODYSHAPE_HUMANOID) // EVERYTHING has this - found_alt_shape = TRUE - break - - if(!found_alt_shape) - var/fallback_config = dna.species.get_autogen_worn_config(uniform) - if (!isnull(fallback_config)) - // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_autogen_worn_icon(uniform, src) - if(species_icon_file) - icon_file = species_icon_file + if(!(bodyshape & shape)) + continue + var/potential_file = uniform.bodyshape_icon_files["[shape]"] + if (icon_exists(potential_file, uniform.icon_state)) + icon_file = uniform.bodyshape_icon_files["[shape]"] + if (shape == BODYSHAPE_HUMANOID) // EVERYTHING has this + continue + found_special_sprite = TRUE + break + + if(!found_special_sprite) + var/corresponding_shape = uniform.get_matching_bodyshape(src) + if (!isnull(corresponding_shape)) + // we found a config for our body? that must mean the clothing doesnt fit. so just trust it + var/autogenerated_icon = uniform.generate_autogen_worn_icon(corresponding_shape, OFFSET_UNIFORM) + if(autogenerated_icon) + icon_file = autogenerated_icon /// DOPPLER SHIFT ADDITION END //BEGIN SPECIES HANDLING /*if((bodyshape & BODYSHAPE_DIGITIGRADE) && (uniform.supports_variations_flags & CLOTHING_DIGITIGRADE_VARIATION)) @@ -174,13 +176,14 @@ There are several things that need to be remembered: icon_file = wear_id.bodyshape_icon_files["[shape]"] /// DOPPLER SHIFT ADDITION END - id_overlay = wear_id.build_worn_icon(default_layer = ID_LAYER, default_icon_file = icon_file, humie = src) /// DOPPLER SHIFT EDIT + var/obj/item/bodypart/chest/my_chest = get_bodypart(BODY_ZONE_CHEST) // DOPPLER EDIT ADDITION + id_overlay = get_updated_worn_icon(id, ID_LAYER, OFFSET_ID, icon_file, my_chest.worn_id_offset) /// DOPPLER SHIFT EDIT - WAS wear_suit.build_worn_icon(default_layer = BACK_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) if(!id_overlay) return - var/obj/item/bodypart/chest/my_chest = get_bodypart(BODY_ZONE_CHEST) - my_chest?.worn_id_offset?.apply_offset(id_overlay) + //var/obj/item/bodypart/chest/my_chest = get_bodypart(BODY_ZONE_CHEST) // DOPPLER EDIT REMOVAL - Moved up + //my_chest?.worn_id_offset?.apply_offset(id_overlay) // DOPPLER EDIT REMOVAL - Moved into get_updated_worn_icon overlays_standing[ID_LAYER] = id_overlay apply_overlay(ID_LAYER) @@ -220,28 +223,7 @@ There are several things that need to be remembered: var/icon_file = 'icons/mob/clothing/hands.dmi' - /// DOPPLER SHIFT ADDITION BEGIN - var/found_alt_shape = FALSE - for(var/shape in worn_item.supported_bodyshapes) - if(bodyshape & shape) - var/potential_file = worn_item.bodyshape_icon_files["[shape]"] - if (icon_exists(potential_file, worn_item.icon_state)) - icon_file = worn_item.bodyshape_icon_files["[shape]"] - if (shape != BODYSHAPE_HUMANOID) // EVERYTHING has this - found_alt_shape = TRUE - break - - var/autogen_override = FALSE - if(!found_alt_shape) - var/fallback_config = dna.species.get_autogen_worn_config(worn_item) - if (!isnull(fallback_config)) - // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_autogen_worn_icon(worn_item, src) - if(species_icon_file) - icon_file = species_icon_file - autogen_override = TRUE - /// DOPPLER SHIFT ADDITION END - var/mutable_appearance/gloves_overlay = gloves.build_worn_icon(default_layer = GLOVES_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) /// DOPPLER SHIFT EDIT + var/mutable_appearance/gloves_overlay = get_updated_worn_icon(glasses, GLOVES_LAYER, OFFSET_GLOVES, icon_file, null) /// DOPPLER SHIFT EDIT - WAS wear_suit.build_worn_icon(default_layer = BACK_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) var/feature_y_offset = 0 //needs to be typed, hand_bodyparts can have nulls @@ -288,33 +270,8 @@ There are several things that need to be remembered: var/icon_file = 'icons/mob/clothing/eyes.dmi' - /// DOPPLER SHIFT ADDITION BEGIN - var/found_alt_shape = FALSE - for(var/shape in worn_item.supported_bodyshapes) - if(bodyshape & shape) - var/potential_file = worn_item.bodyshape_icon_files["[shape]"] - if (icon_exists(potential_file, worn_item.icon_state)) - icon_file = worn_item.bodyshape_icon_files["[shape]"] - if (shape != BODYSHAPE_HUMANOID) // EVERYTHING has this - found_alt_shape = TRUE - break - - var/autogen_override = FALSE - if(!found_alt_shape) - var/fallback_config = dna.species.get_autogen_worn_config(worn_item) - if (!isnull(fallback_config)) - // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_autogen_worn_icon(worn_item, src) - if(species_icon_file) - icon_file = species_icon_file - autogen_override = TRUE - /// DOPPLER SHIFT ADDITION END - - var/mutable_appearance/glasses_overlay = glasses.build_worn_icon(default_layer = GLASSES_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) /// DOPPLER SHIFT EDIT - // DOPPLER SHIFT EDIT BEGIN - autogen sprites bypass offsets as we assume they offset themselves - if (!autogen_override && !found_alt_shape) - my_head?.worn_glasses_offset?.apply_offset(glasses_overlay) - // DOPPLER SHIFT EDIT END + var/mutable_appearance/glasses_overlay = get_updated_worn_icon(glasses, GLASSES_LAYER, OFFSET_GLASSES, icon_file, my_head?.worn_glasses_offset) /// DOPPLER SHIFT EDIT - WAS wear_suit.build_worn_icon(default_layer = BACK_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) + //my_head?.worn_glasses_offset?.apply_offset(glasses_overlay) // DOPPLER EDIT REMOVAL - Moved into get_updated_worn_icon overlays_standing[GLASSES_LAYER] = glasses_overlay apply_overlay(GLASSES_LAYER) @@ -339,33 +296,9 @@ There are several things that need to be remembered: var/icon_file = 'icons/mob/clothing/ears.dmi' - /// DOPPLER SHIFT ADDITION BEGIN - var/found_alt_shape = FALSE - for(var/shape in worn_item.supported_bodyshapes) - if(bodyshape & shape) - var/potential_file = worn_item.bodyshape_icon_files["[shape]"] - if (icon_exists(potential_file, worn_item.icon_state)) - icon_file = worn_item.bodyshape_icon_files["[shape]"] - if (shape != BODYSHAPE_HUMANOID) // EVERYTHING has this - found_alt_shape = TRUE - break - - var/autogen_override = FALSE - if(!found_alt_shape) - var/fallback_config = dna.species.get_autogen_worn_config(worn_item) - if (!isnull(fallback_config)) - // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_autogen_worn_icon(worn_item, src) - if(species_icon_file) - icon_file = species_icon_file - autogen_override = TRUE - /// DOPPLER SHIFT ADDITION END + var/mutable_appearance/ears_overlay = get_updated_worn_icon(ears, NECK_LAYER, OFFSET_NECK, icon_file, my_head?.worn_ears_offset) /// DOPPLER SHIFT EDIT - WAS wear_suit.build_worn_icon(default_layer = BACK_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) + //my_chest?.worn_ears_offset?.apply_offset(head_overlay) // DOPPLER EDIT REMOVAL - Moved into get_updated_worn_icon - var/mutable_appearance/ears_overlay = ears.build_worn_icon(default_layer = EARS_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) /// DOPPLER SHIFT EDIT - // DOPPLER SHIFT EDIT BEGIN - autogen sprites bypass offsets as we assume they offset themselves - if (!autogen_override && !found_alt_shape) - my_head?.worn_ears_offset?.apply_offset(ears_overlay) - // DOPPLER SHIFT EDIT END overlays_standing[EARS_LAYER] = ears_overlay apply_overlay(EARS_LAYER) @@ -385,38 +318,47 @@ There are several things that need to be remembered: var/icon_file = 'icons/mob/clothing/neck.dmi' - /// DOPPLER SHIFT ADDITION BEGIN - var/found_alt_shape = FALSE - for(var/shape in worn_item.supported_bodyshapes) - if(bodyshape & shape) - var/potential_file = worn_item.bodyshape_icon_files["[shape]"] - if (icon_exists(potential_file, worn_item.icon_state)) - icon_file = worn_item.bodyshape_icon_files["[shape]"] - if (shape != BODYSHAPE_HUMANOID) // EVERYTHING has this - found_alt_shape = TRUE - break - - var/autogen_override = FALSE - if(!found_alt_shape) - var/fallback_config = dna.species.get_autogen_worn_config(OFFSET_NECK, worn_item) - if (!isnull(fallback_config)) - // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_autogen_worn_icon(OFFSET_NECK, worn_item, src) - if(species_icon_file) - icon_file = species_icon_file - autogen_override = TRUE - /// DOPPLER SHIFT ADDITION END - - var/mutable_appearance/neck_overlay = worn_item.build_worn_icon(default_layer = NECK_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) /// DOPPLER SHIFT EDIT var/obj/item/bodypart/chest/my_chest = get_bodypart(BODY_ZONE_CHEST) - // DOPPLER SHIFT EDIT BEGIN - autogen sprites bypass offsets as we assume they offset themselves - if (!autogen_override && !found_alt_shape) - my_chest?.worn_neck_offset?.apply_offset(neck_overlay) - // DOPPLER SHIFT EDIT END + var/mutable_appearance/neck_overlay = get_updated_worn_icon(wear_neck, NECK_LAYER, OFFSET_NECK, icon_file, my_chest?.worn_neck_offset) /// DOPPLER SHIFT EDIT - WAS wear_suit.build_worn_icon(default_layer = BACK_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) + //var/obj/item/bodypart/chest/my_head = get_bodypart(BODY_ZONE_HEAD) // Doppler edit removal - Moved up + //my_chest?.worn_suit_offset?.apply_offset(head_overlay) // DOPPLER EDIT REMOVAL - Moved into get_updated_worn_icon + overlays_standing[NECK_LAYER] = neck_overlay apply_overlay(NECK_LAYER) +/mob/living/carbon/human/proc/get_updated_worn_icon(obj/item/clothing, layer, slot, icon_file, datum/worn_feature_offset/offset) + RETURN_TYPE(/mutable_appearance) + + var/found_special_sprite = FALSE + for(var/shape in clothing.supported_bodyshapes) + if(!(bodyshape & shape)) + continue + var/potential_file = clothing.bodyshape_icon_files["[shape]"] + if (icon_exists(potential_file, clothing.icon_state)) + icon_file = clothing.bodyshape_icon_files["[shape]"] + if (shape == BODYSHAPE_HUMANOID) // EVERYTHING has this + continue + found_special_sprite = TRUE + break + + var/autogen_override = FALSE + if(!found_special_sprite) + var/corresponding_shape = clothing.get_matching_bodyshape(src) + if (!isnull(corresponding_shape)) + // we found a config for our body? that must mean the clothing doesnt fit. so just trust it + var/autogenerated_icon = clothing.generate_autogen_worn_icon(corresponding_shape, slot) + if(autogenerated_icon) + icon_file = autogenerated_icon + autogen_override = TRUE + + var/icon/final_icon = clothing.build_worn_icon(default_layer = layer, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) + + if (!autogen_override && !found_special_sprite) + offset?.apply_offset(final_icon) + + return final_icon + /mob/living/carbon/human/update_worn_shoes() remove_overlay(SHOES_LAYER) @@ -436,30 +378,8 @@ There are several things that need to be remembered: var/icon_file = DEFAULT_SHOES_FILE - /// DOPPLER SHIFT ADDITION BEGIN - if(bodyshape & BODYSHAPE_HIDE_SHOES) - return // We just don't want shoes that float if we're not displaying legs (useful for taurs, for now) + var/mutable_appearance/shoes_overlay = get_updated_worn_icon(shoes, SHOES_LAYER, OFFSET_SHOES, icon_file, null) /// DOPPLER SHIFT EDIT - WAS wear_suit.build_worn_icon(default_layer = BACK_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) - var/found_alt_shape = FALSE - for(var/shape in worn_item.supported_bodyshapes) - if(bodyshape & shape) - icon_file = worn_item.bodyshape_icon_files["[shape]"] - if (shape != BODYSHAPE_HUMANOID) - found_alt_shape = TRUE - break - - var/autogen_override = FALSE - if(!found_alt_shape) - var/fallback_config = dna.species.get_autogen_worn_config(worn_item) - if (!isnull(fallback_config)) - // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_autogen_worn_icon(worn_item, src) - if(species_icon_file) - icon_file = species_icon_file - autogen_override = TRUE - /// DOPPLER SHIFT ADDITION END - - var/mutable_appearance/shoes_overlay = shoes.build_worn_icon(default_layer = SHOES_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) /// DOPPLER SHIFT EDIT if(!shoes_overlay) return @@ -492,36 +412,11 @@ There are several things that need to be remembered: if(HAS_TRAIT(worn_item, TRAIT_NO_WORN_ICON) || (obscured_slots & HIDESUITSTORAGE)) return - /// DOPPLER SHIFT ADDITION BEGIN - var/icon_file = 'icons/mob/clothing/belt_mirror.dmi' - - var/found_alt_shape = FALSE - for(var/shape in worn_item.supported_bodyshapes) - if(bodyshape & shape) - var/potential_file = worn_item.bodyshape_icon_files["[shape]"] - if (icon_exists(potential_file, worn_item.icon_state)) - icon_file = worn_item.bodyshape_icon_files["[shape]"] - if (shape != BODYSHAPE_HUMANOID) // EVERYTHING has this - found_alt_shape = TRUE - break - - var/autogen_override = FALSE - if(!found_alt_shape) - var/fallback_config = dna.species.get_autogen_worn_config(worn_item) - if (!isnull(fallback_config)) - // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_autogen_worn_icon(worn_item, src) - if(species_icon_file) - icon_file = species_icon_file - autogen_override = TRUE - /// DOPPLER SHIFT ADDITION END - - var/mutable_appearance/s_store_overlay = worn_item.build_worn_icon(default_layer = SUIT_STORE_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) /// DOPPLER SHIFT EDIT var/obj/item/bodypart/chest/my_chest = get_bodypart(BODY_ZONE_CHEST) - // DOPPLER SHIFT EDIT BEGIN - autogen sprites bypass offsets as we assume they offset themselves - if (!autogen_override && !found_alt_shape) - my_chest?.worn_suit_storage_offset?.apply_offset(s_store_overlay) - // DOPPLER SHIFT EDIT END + var/mutable_appearance/s_store_overlay = get_updated_worn_icon(s_store, SUIT_STORE_LAYER, OFFSET_S_STORE, 'icons/mob/clothing/belt_mirror.dmi', my_chest?.worn_suit_storage_offset) /// DOPPLER SHIFT EDIT - WAS wear_suit.build_worn_icon(default_layer = BACK_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) + //var/obj/item/bodypart/chest/my_head = get_bodypart(BODY_ZONE_HEAD) // Doppler edit removal - Moved up + //my_chest?.worn_suit_offset?.apply_offset(head_overlay) // DOPPLER EDIT REMOVAL - Moved into get_updated_worn_icon + overlays_standing[SUIT_STORE_LAYER] = s_store_overlay apply_overlay(SUIT_STORE_LAYER) @@ -540,34 +435,11 @@ There are several things that need to be remembered: var/icon_file = 'icons/mob/clothing/head/default.dmi' - /// DOPPLER SHIFT ADDITION BEGIN - var/found_alt_shape = FALSE - for(var/shape in worn_item.supported_bodyshapes) - if(bodyshape & shape) - var/potential_file = worn_item.bodyshape_icon_files["[shape]"] - if (icon_exists(potential_file, worn_item.icon_state)) - icon_file = worn_item.bodyshape_icon_files["[shape]"] - if (shape != BODYSHAPE_HUMANOID) // EVERYTHING has this - found_alt_shape = TRUE - break - - var/autogen_override = FALSE - if(!found_alt_shape) - var/fallback_config = dna.species.get_autogen_worn_config(worn_item) - if (!isnull(fallback_config)) - // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_autogen_worn_icon(worn_item, src) - if(species_icon_file) - icon_file = species_icon_file - autogen_override = TRUE - /// DOPPLER SHIFT ADDITION END - - var/mutable_appearance/head_overlay = head.build_worn_icon(default_layer = HEAD_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) /// DOPPLER SHIFT EDIT var/obj/item/bodypart/head/my_head = get_bodypart(BODY_ZONE_HEAD) - // DOPPLER SHIFT EDIT BEGIN - autogen sprites bypass offsets as we assume they offset themselves - if (!autogen_override && !found_alt_shape) - my_head?.worn_head_offset?.apply_offset(head_overlay) - // DOPPLER SHIFT EDIT END + var/mutable_appearance/head_overlay = get_updated_worn_icon(head, HEAD_LAYER, OFFSET_HEAD, icon_file, my_head?.worn_head_offset) /// DOPPLER SHIFT EDIT - WAS wear_suit.build_worn_icon(default_layer = BACK_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) + //var/obj/item/bodypart/chest/my_head = get_bodypart(BODY_ZONE_HEAD) // Doppler edit removal - Moved up + //my_chest?.worn_suit_offset?.apply_offset(head_overlay) // DOPPLER EDIT REMOVAL - Moved into get_updated_worn_icon + overlays_standing[HEAD_LAYER] = head_overlay apply_overlay(HEAD_LAYER) @@ -589,34 +461,10 @@ There are several things that need to be remembered: var/icon_file = 'icons/mob/clothing/belt.dmi' - /// DOPPLER SHIFT ADDITION BEGIN - var/found_alt_shape = FALSE - for(var/shape in worn_item.supported_bodyshapes) - if(bodyshape & shape) - var/potential_file = worn_item.bodyshape_icon_files["[shape]"] - if (icon_exists(potential_file, worn_item.icon_state)) - icon_file = worn_item.bodyshape_icon_files["[shape]"] - if (shape != BODYSHAPE_HUMANOID) // EVERYTHING has this - found_alt_shape = TRUE - break - - var/autogen_override = FALSE - if(!found_alt_shape) - var/fallback_config = dna.species.get_autogen_worn_config(worn_item) - if (!isnull(fallback_config)) - // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_autogen_worn_icon(worn_item, src) - if(species_icon_file) - icon_file = species_icon_file - autogen_override = TRUE - /// DOPPLER SHIFT ADDITION END - - var/mutable_appearance/belt_overlay = belt.build_worn_icon(default_layer = BELT_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) /// DOPPLER SHIFT EDIT var/obj/item/bodypart/chest/my_chest = get_bodypart(BODY_ZONE_CHEST) - // DOPPLER SHIFT EDIT BEGIN - autogen sprites bypass offsets as we assume they offset themselves - if (!autogen_override && !found_alt_shape) - my_chest?.worn_belt_offset?.apply_offset(belt_overlay) - // DOPPLER SHIFT EDIT END + var/mutable_appearance/belt_overlay = get_updated_worn_icon(belt, BELT_LAYER, OFFSET_BELT, icon_file, my_chest?.worn_belt_offset) /// DOPPLER SHIFT EDIT - WAS wear_suit.build_worn_icon(default_layer = BACK_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) + //var/obj/item/bodypart/chest/my_chest = get_bodypart(BODY_ZONE_CHEST) // Doppler edit removal - Moved up + //my_chest?.worn_suit_offset?.apply_offset(suit_overlay) // DOPPLER EDIT REMOVAL - Moved into get_updated_worn_icon overlays_standing[BELT_LAYER] = belt_overlay apply_overlay(BELT_LAYER) @@ -637,34 +485,10 @@ There are several things that need to be remembered: var/icon_file = DEFAULT_SUIT_FILE - /// DOPPLER SHIFT ADDITION BEGIN - var/found_alt_shape = FALSE - for(var/shape in worn_item.supported_bodyshapes) - if(bodyshape & shape) - var/potential_file = worn_item.bodyshape_icon_files["[shape]"] - if (icon_exists(potential_file, worn_item.icon_state)) - icon_file = worn_item.bodyshape_icon_files["[shape]"] - if (shape != BODYSHAPE_HUMANOID) // EVERYTHING has this - found_alt_shape = TRUE - break - - var/autogen_override = FALSE - if(!found_alt_shape) - var/fallback_config = dna.species.get_autogen_worn_config(worn_item) - if (!isnull(fallback_config)) - // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_autogen_worn_icon(worn_item, src) - if(species_icon_file) - icon_file = species_icon_file - autogen_override = TRUE - /// DOPPLER SHIFT ADDITION END - - var/mutable_appearance/suit_overlay = wear_suit.build_worn_icon(default_layer = SUIT_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) /// DOPPLER SHIFT EDIT var/obj/item/bodypart/chest/my_chest = get_bodypart(BODY_ZONE_CHEST) - // DOPPLER SHIFT EDIT BEGIN - autogen sprites bypass offsets as we assume they offset themselves - if (!autogen_override && !found_alt_shape) - my_chest?.worn_suit_offset?.apply_offset(suit_overlay) - // DOPPLER SHIFT EDIT END + var/mutable_appearance/suit_overlay = get_updated_worn_icon(wear_suit, SUIT_LAYER, OFFSET_SUIT, icon_file, my_chest?.worn_suit_offset) /// DOPPLER SHIFT EDIT - WAS wear_suit.build_worn_icon(default_layer = BACK_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) + //var/obj/item/bodypart/chest/my_chest = get_bodypart(BODY_ZONE_CHEST) // Doppler edit removal - Moved up + //my_chest?.worn_suit_offset?.apply_offset(suit_overlay) // DOPPLER EDIT REMOVAL - Moved into get_updated_worn_icon overlays_standing[SUIT_LAYER] = suit_overlay apply_overlay(SUIT_LAYER) @@ -711,33 +535,8 @@ There are several things that need to be remembered: var/icon_file = 'icons/mob/clothing/mask.dmi' - /// DOPPLER SHIFT ADDITION BEGIN - var/found_alt_shape = FALSE - for(var/shape in worn_item.supported_bodyshapes) - if(bodyshape & shape) - var/potential_file = worn_item.bodyshape_icon_files["[shape]"] - if (icon_exists(potential_file, worn_item.icon_state)) - icon_file = worn_item.bodyshape_icon_files["[shape]"] - if (shape != BODYSHAPE_HUMANOID) // EVERYTHING has this - found_alt_shape = TRUE - break - - var/autogen_override = FALSE - if(!found_alt_shape) - var/fallback_config = dna.species.get_autogen_worn_config(worn_item) - if (!isnull(fallback_config)) - // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_autogen_worn_icon(worn_item, src) - if(species_icon_file) - icon_file = species_icon_file - autogen_override = TRUE - /// DOPPLER SHIFT ADDITION END - - var/mutable_appearance/mask_overlay = wear_mask.build_worn_icon(default_layer = FACEMASK_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) /// DOPPLER SHIFT EDIT - // DOPPLER SHIFT EDIT BEGIN - autogen sprites bypass offsets as we assume they offset themselves - if (!autogen_override && !found_alt_shape) - my_head?.worn_mask_offset?.apply_offset(mask_overlay) - // DOPPLER SHIFT EDIT END + var/mutable_appearance/mask_overlay = get_updated_worn_icon(wear_mask, FACEMASK_LAYER, OFFSET_FACEMASK, icon_file, my_head?.worn_mask_offset) /// DOPPLER SHIFT EDIT - WAS wear_maskback.build_worn_icon(default_layer = BACK_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) + //my_head?.worn_mask_offset?.apply_offset(mask_overlay) // DOPPLER EDIT REMOVAL - Moved into get_updated_worn_icon overlays_standing[FACEMASK_LAYER] = mask_overlay apply_overlay(FACEMASK_LAYER) @@ -760,37 +559,13 @@ There are several things that need to be remembered: var/icon_file = 'icons/mob/clothing/back.dmi' - /// DOPPLER SHIFT ADDITION BEGIN - var/found_alt_shape = FALSE - for(var/shape in worn_item.supported_bodyshapes) - if(bodyshape & shape) - var/potential_file = worn_item.bodyshape_icon_files["[shape]"] - if (icon_exists(potential_file, worn_item.icon_state)) - icon_file = worn_item.bodyshape_icon_files["[shape]"] - if (shape != BODYSHAPE_HUMANOID) // EVERYTHING has this - found_alt_shape = TRUE - break - - var/autogen_override = FALSE - if(!found_alt_shape) - var/fallback_config = dna.species.get_autogen_worn_config(worn_item) - if (!isnull(fallback_config)) - // we found a config for our species? that must mean the clothing doesnt fit. so just trust it - var/species_icon_file = dna.species.generate_autogen_worn_icon(worn_item, src) - if(species_icon_file) - icon_file = species_icon_file - autogen_override = TRUE - /// DOPPLER SHIFT ADDITION END - - back_overlay = back.build_worn_icon(default_layer = BACK_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) /// DOPPLER SHIFT EDIT + var/obj/item/bodypart/chest/my_chest = get_bodypart(BODY_ZONE_CHEST) + back_overlay = get_updated_worn_icon(back, BACK_LAYER, OFFSET_BACK, icon_file, my_chest?.worn_back_offset) /// DOPPLER SHIFT EDIT - WAS back.build_worn_icon(default_layer = BACK_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) if(!back_overlay) return - var/obj/item/bodypart/chest/my_chest = get_bodypart(BODY_ZONE_CHEST) - // DOPPLER SHIFT EDIT BEGIN - autogen sprites bypass offsets as we assume they offset themselves - if (!autogen_override && !found_alt_shape) - my_chest?.worn_back_offset?.apply_offset(back_overlay) - // DOPPLER SHIFT EDIT END + //var/obj/item/bodypart/chest/my_chest = get_bodypart(BODY_ZONE_CHEST) // DOPPLER EDIT REMOVAL - Moved up + //my_chest?.worn_back_offset?.apply_offset(back_overlay) // DOPPLER EDIT REMOVAL - Moved into get_updated_worn_icon overlays_standing[BACK_LAYER] = back_overlay apply_overlay(BACK_LAYER) diff --git a/modular_doppler/modular_cosmetics/code/suits/basesuits.dm b/modular_doppler/modular_cosmetics/code/suits/basesuits.dm index 35000d5e7e06a8..e54bea7479c109 100644 --- a/modular_doppler/modular_cosmetics/code/suits/basesuits.dm +++ b/modular_doppler/modular_cosmetics/code/suits/basesuits.dm @@ -86,7 +86,7 @@ bodyshape_icon_files = list(BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/suits/spacesuit.dmi', BODYSHAPE_DIGITIGRADE_T = 'modular_doppler/modular_cosmetics/icons/mob/suit/spacesuit_digi.dmi') autogen_clothing_color_coords = list(list(SPACESUIT_COLORPIXEL_X_1, SPACESUIT_COLORPIXEL_Y_1)) - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/spacesuit) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/teshari/spacesuit) /// RADSUITS /obj/item/clothing/head/utility/radiation diff --git a/modular_doppler/modular_species/autogen_clothing.dm b/modular_doppler/modular_species/autogen_clothing.dm index d39845d8086c70..09859d435e2876 100644 --- a/modular_doppler/modular_species/autogen_clothing.dm +++ b/modular_doppler/modular_species/autogen_clothing.dm @@ -1,7 +1,7 @@ -GLOBAL_LIST_EMPTY(species_autogen_clothing_cache) +GLOBAL_LIST_EMPTY(bodyshape_autogen_clothing_cache) /obj/item - /// Assoc list of (SPECIES_ID -> /datum/greyscale_config). Used for generating autogenerated clothing on non-standard species. + /// Assoc list of (BODYSHAPE_X (Stringified) -> /datum/greyscale_config). Used for generating autogenerated clothing on non-standard species. var/list/autogen_clothing_config /// [autogen_clothing_config], but used when the item is 1. a uniform and 2. does not cover the legs. var/list/autogen_clothing_config_skirt @@ -11,71 +11,83 @@ GLOBAL_LIST_EMPTY(species_autogen_clothing_cache) var/list/autogen_clothing_color_coords = null /** - * Modularly get the species' fallback greyscale config. + * Modularly get the bodyshape's fallback greyscale config. * Only used if you use generate_autogen_worn_icon() - * Arguments: - * * item: The item being rendered. + * + * Args: + * * bodyshape: The stringified bodyshape we are considering. */ -/datum/species/proc/get_autogen_worn_config(obj/item/item) - if (isnull(item)) return - var/list/list_to_use = item.autogen_clothing_config - if(istype(item, /obj/item/clothing/under) && !(item.body_parts_covered & LEGS) && !isnull(item.autogen_clothing_config_skirt)) - list_to_use = item.autogen_clothing_config_skirt +/obj/item/proc/get_autogen_worn_config(bodyshape_text) + RETURN_TYPE(/datum/greyscale_config) - if (isnull(list_to_use)) - return null + return autogen_clothing_config?[bodyshape_text] + +/obj/item/clothing/under/get_autogen_worn_config(bodyshape_text) + . = ..() - return list_to_use[id] + if ((body_parts_covered & LEGS) || isnull(autogen_clothing_config_skirt)) + return -/datum/species/proc/use_autogen_worn_icon_cached() - LAZYINITLIST(GLOB.species_autogen_clothing_cache[name]) + return autogen_clothing_config_skirt[bodyshape_text] + +/obj/item/proc/use_autogen_worn_icon_cached() + LAZYINITLIST(GLOB.bodyshape_autogen_clothing_cache[type]) + +/obj/item/proc/get_matching_bodyshape(mob/living/carbon/human/wearer) + for (var/shape in autogen_clothing_config) + if (shape == BODYSHAPE_HUMANOID_T) // EVERYTHING has this + continue + if (!(wearer.bodyshape & text2num(shape))) + continue + return shape /** - * Read from freely usable cache of generated icons for your species. + * Read from freely usable cache of generated icons. * Arguments: * * file_to_use: icon you're substituting * * state_to_use: icon state you're substituting * * meta: string containing other info. */ -/datum/species/proc/get_autogen_worn_icon_cached(file_to_use, state_to_use, meta) - return GLOB.species_autogen_clothing_cache[name]["[file_to_use]-[state_to_use]-[meta]"] +/obj/item/proc/get_autogen_worn_icon_cached(file_to_use, state_to_use, meta) + RETURN_TYPE(/icon) + + return GLOB.bodyshape_autogen_clothing_cache[type]["[file_to_use]-[state_to_use]-[meta]"] /** - * Write to a freely usable cache of generated icons for your species. + * Write to a freely usable cache of generated icons. * Arguments: * * file_to_use: icon you're substituting * * state_to_use: icon state you're substituting * * meta: string containing other info. * * cached_value: Cached value */ -/datum/species/proc/set_autogen_worn_icon_cached(file_to_use, state_to_use, meta, cached_value) - GLOB.species_autogen_clothing_cache[name]["[file_to_use]-[state_to_use]-[meta]"] = cached_value +/obj/item/proc/set_autogen_worn_icon_cached(file_to_use, state_to_use, meta, icon/cached_value) + GLOB.bodyshape_autogen_clothing_cache[type]["[file_to_use]-[state_to_use]-[meta]"] = cached_value /** - * Generate a fallback worn icon, if the species supports it. + * Generate a fallback worn icon, if the item supports it. * Arguments: - * * obj/item/item: The item we are considering. - * * mob/living/carbon/human/human_owner: The owner of the item. + * * bodyshape_text: The bodyshape we are generating for. * * Returns: * * A /icon, or null, if no sprite could be generated. */ -/datum/species/proc/generate_autogen_worn_icon(obj/item/item, mob/living/carbon/human/human_owner) +/obj/item/proc/generate_autogen_worn_icon(bodyshape_text, item_slot) RETURN_TYPE(/icon) - var/icon/human_icon = item.worn_icon || item.icon - var/human_icon_state = item.worn_icon_state || item.icon_state + var/icon/human_icon = worn_icon || icon + var/human_icon_state = worn_icon_state || icon_state // First, let's just check if we've already made this. use_autogen_worn_icon_cached() - var/icon/cached_icon = get_autogen_worn_icon_cached(human_icon, human_icon_state, item.greyscale_colors || "x") + var/icon/cached_icon = get_autogen_worn_icon_cached(human_icon, human_icon_state, greyscale_colors || "x") if(cached_icon) if(!(human_icon_state in icon_states(cached_icon))) cached_icon.Insert(cached_icon, icon_state = human_icon_state) // include the expected icon_state return cached_icon // Get GAGs config - var/fallback_config = get_autogen_worn_config(item) + var/fallback_config = get_autogen_worn_config(bodyshape_text) if(!fallback_config) return null @@ -85,9 +97,9 @@ GLOBAL_LIST_EMPTY(species_autogen_clothing_cache) var/fallback_greyscale_colors // If this outfit is already GAGs, use the existing colors. - if(item.greyscale_colors) + if(greyscale_colors) // Just use the colors already given to us, but re-align to expected colors. - var/list/colors = SSgreyscale.ParseColorString(item.greyscale_colors) + var/list/colors = SSgreyscale.ParseColorString(greyscale_colors) var/default_color = (length(colors) >= 1) ? colors[1] : COLOR_DARK var/list/final_list = list() for(var/i in 1 to expected_num_colors) @@ -99,20 +111,59 @@ GLOBAL_LIST_EMPTY(species_autogen_clothing_cache) var/list/color_list = list() for(var/i in 1 to expected_num_colors) - if(isnull(item.autogen_clothing_color_coords) || \ - length(item.autogen_clothing_color_coords) < i) + if(isnull(autogen_clothing_color_coords) || \ + length(autogen_clothing_color_coords) < i) color_list += COLOR_DARK continue - var/coord = item.autogen_clothing_color_coords[i] + var/coord = autogen_clothing_color_coords[i] color_list += final_human_icon.GetPixel(coord[1], coord[2]) || COLOR_DARK fallback_greyscale_colors = color_list.Join("") // Finally, render with GAGs - var/icon/final_icon = icon(SSgreyscale.GetColoredIconByType(get_autogen_worn_config(item), fallback_greyscale_colors)) + var/icon/final_icon = icon(SSgreyscale.GetColoredIconByType(get_autogen_worn_config(bodyshape_text), fallback_greyscale_colors)) // Duplicate to the specific icon_state and set. final_icon.Insert(final_icon, icon_state = human_icon_state) // include the expected icon_state // Cache the clean copy. - set_autogen_worn_icon_cached(human_icon, human_icon_state, item.greyscale_colors || "x", final_icon) + set_autogen_worn_icon_cached(human_icon, human_icon_state, greyscale_colors || "x", final_icon) + + final_icon = do_bodyshape_modifiers(final_icon, bodyshape_text, item_slot) + + return final_icon + +/obj/item/proc/do_bodyshape_modifiers(icon/final_icon, bodyshape_text, item_slot) + + if (bodyshape_text == BODYSHAPE_TESHARI_T) + if ((item_slot == OFFSET_FACEMASK || item_slot == OFFSET_HEAD) && (supported_bodyshapes & BODYSHAPE_SNOUTED)) + if (!ishuman(loc)) + return final_icon + var/mob/living/carbon/human/human_owner = loc + var/obj/item/bodypart/head/my_head = human_owner.get_bodypart(BODY_ZONE_HEAD) + var/datum/worn_feature_offset/selected_offset + var/human_icon = bodyshape_icon_files[BODYSHAPE_SNOUTED_T] + var/human_icon_state = worn_icon_state || icon_state + if(item_slot == OFFSET_HEAD) + selected_offset = my_head?.worn_head_offset + else + selected_offset = my_head?.worn_mask_offset + + // Did the snout variation flag lie to us? + if(!icon_exists(human_icon, human_icon_state)) + return + + // Use already resolved icon + use_autogen_worn_icon_cached() + var/icon/cached_icon = get_autogen_worn_icon_cached(human_icon, human_icon_state, "m") + if(cached_icon) + return cached_icon + + // Generate muzzled icon, but offset + var/icon/new_icon = icon('icons/blanks/32x32.dmi', "nothing") + new_icon.Blend(icon(human_icon, human_icon_state), ICON_OVERLAY, x = selected_offset.offset_x["north"], y = selected_offset.offset_y["north"]) + new_icon.Insert(new_icon, human_icon_state) + set_autogen_worn_icon_cached(human_icon, human_icon_state, "m", new_icon) + + return new_icon return final_icon + diff --git a/modular_doppler/modular_species/species_types/teshari/teshari.dm b/modular_doppler/modular_species/species_types/teshari/teshari.dm index c7e37b458f1758..2e1d2b798b78e1 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari.dm @@ -104,39 +104,6 @@ "no lore yet", ) -/datum/species/teshari/generate_autogen_worn_icon(item_slot, obj/item/item, mob/living/carbon/human/human_owner) - . = ..() - if(.) - return - - // If there isn't even a fallback, use snouted sprites for masks and helmets, but offsetted - if((item_slot == OFFSET_FACEMASK || item_slot == OFFSET_HEAD) && (item.supported_bodyshapes & BODYSHAPE_SNOUTED)) - var/obj/item/bodypart/head/my_head = human_owner.get_bodypart(BODY_ZONE_HEAD) - var/datum/worn_feature_offset/selected_offset - var/human_icon = item.bodyshape_icon_files[BODYSHAPE_SNOUTED_T] - var/human_icon_state = item.worn_icon_state || item.icon_state - if(item_slot == OFFSET_HEAD) - selected_offset = my_head?.worn_head_offset - else - selected_offset = my_head?.worn_mask_offset - - // Did the snout variation flag lie to us? - if(!icon_exists(human_icon, human_icon_state)) - return - - // Use already resolved icon - use_autogen_worn_icon_cached() - var/icon/cached_icon = get_autogen_worn_icon_cached(human_icon, human_icon_state, "m") - if(cached_icon) - return cached_icon - - // Generate muzzled icon, but offset - var/icon/new_icon = icon('icons/blanks/32x32.dmi', "nothing") - new_icon.Blend(icon(human_icon, human_icon_state), ICON_OVERLAY, x = selected_offset.offset_x["north"], y = selected_offset.offset_y["north"]) - new_icon.Insert(new_icon, human_icon_state) - set_autogen_worn_icon_cached(human_icon, human_icon_state, "m", new_icon) - return new_icon - /datum/species/teshari/can_regenerate_mutant_feature(feature_key) if (feature_key == FEATURE_EARS || feature_key == FEATURE_TAIL_OTHER) return TRUE diff --git a/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm b/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm index 674043c254a0d5..3bdd96cbc1434d 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm @@ -2,188 +2,188 @@ /obj/item/storage/backpack autogen_clothing_color_coords = list(list(BACK_COLORPIXEL_X_1, BACK_COLORPIXEL_Y_1)) - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/backpack) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/teshari/backpack) /obj/item/clothing/glasses autogen_clothing_color_coords = list(list(GLASSES_COLORPIXEL_X_1, GLASSES_COLORPIXEL_Y_1), list(GLASSES_COLORPIXEL_X_2, GLASSES_COLORPIXEL_Y_2)) - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/glasses) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/teshari/glasses) /obj/item/clothing/gloves autogen_clothing_color_coords = list(list(GLOVES_COLORPIXEL_X_1, GLOVES_COLORPIXEL_Y_1)) - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/gloves) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/teshari/gloves) /obj/item/clothing/neck autogen_clothing_color_coords = list(list(SCARF_COLORPIXEL_X_1, SCARF_COLORPIXEL_Y_1)) - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/scarf) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/teshari/scarf) /obj/item/clothing/neck/cloak autogen_clothing_color_coords = list(list(CLOAK_COLORPIXEL_X_1, CLOAK_COLORPIXEL_Y_1), list(CLOAK_COLORPIXEL_X_2, CLOAK_COLORPIXEL_Y_2)) - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/cloak) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/teshari/cloak) /obj/item/clothing/neck/mantle autogen_clothing_color_coords = list(list(MANTLE_COLORPIXEL_X_1, MANTLE_COLORPIXEL_Y_1), list(MANTLE_COLORPIXEL_X_2, MANTLE_COLORPIXEL_Y_2)) - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/mantle) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/teshari/mantle) /obj/item/clothing/neck/tie autogen_clothing_color_coords = list(list(TIE_COLORPIXEL_X_1, TIE_COLORPIXEL_Y_1)) - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/tie) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/teshari/tie) /obj/item/clothing/shoes autogen_clothing_color_coords = list(list(SHOES_COLORPIXEL_X_1, SHOES_COLORPIXEL_Y_1)) - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/shoes) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/teshari/shoes) /obj/item/clothing/suit autogen_clothing_color_coords = list(list(COAT_COLORPIXEL_X_1, COAT_COLORPIXEL_Y_1)) - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/coat) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/teshari/coat) /obj/item/clothing/suit/wizrobe autogen_clothing_color_coords = list(list(THICKROBE_COLORPIXEL_X_1, THICKROBE_COLORPIXEL_Y_1), list(THICKROBE_COLORPIXEL_X_2, THICKROBE_COLORPIXEL_Y_2), list(THICKROBE_COLORPIXEL_X_3, THICKROBE_COLORPIXEL_Y_3), list(THICKROBE_COLORPIXEL_X_4, THICKROBE_COLORPIXEL_Y_4), list(THICKROBE_COLORPIXEL_X_5, THICKROBE_COLORPIXEL_Y_5), list(THICKROBE_COLORPIXEL_X_6, THICKROBE_COLORPIXEL_Y_6)) - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/thickrobe/wiz) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/teshari/thickrobe/wiz) /obj/item/clothing/suit/jacket/trenchcoat autogen_clothing_color_coords = list(list(LONGCOAT_COLORPIXEL_X_1, LONGCOAT_COLORPIXEL_Y_1), list(THICKROBE_COLORPIXEL_X_2, THICKROBE_COLORPIXEL_Y_2), list(THICKROBE_COLORPIXEL_X_3, THICKROBE_COLORPIXEL_Y_3), list(LONGCOAT_COLORPIXEL_X_4, LONGCOAT_COLORPIXEL_Y_4)) - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/thickrobe/longcoat) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/teshari/thickrobe/longcoat) /obj/item/clothing/suit/jacket autogen_clothing_color_coords = list(list(JACKET_COLORPIXEL_X_1, JACKET_COLORPIXEL_Y_1), list(JACKET_COLORPIXEL_X_2, JACKET_COLORPIXEL_Y_2), list(THICKROBE_COLORPIXEL_X_3, THICKROBE_COLORPIXEL_Y_3), list(JACKET_COLORPIXEL_X_4, JACKET_COLORPIXEL_Y_4)) - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/thickrobe/jacket) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/teshari/thickrobe/jacket) /obj/item/clothing/suit/armor autogen_clothing_color_coords = list(list(ARMOR_COLORPIXEL_X_1, ARMOR_COLORPIXEL_Y_1)) - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/armor) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/teshari/armor) /obj/item/clothing/suit/mod autogen_clothing_color_coords = list(list(MODSUIT_COLORPIXEL_X_1, MODSUIT_COLORPIXEL_Y_1), list(MODSUIT_COLORPIXEL_X_2, MODSUIT_COLORPIXEL_Y_2), list(MODSUIT_COLORPIXEL_X_3, MODSUIT_COLORPIXEL_Y_3)) - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/hardsuit) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/teshari/hardsuit) /obj/item/clothing/under autogen_clothing_color_coords = list(list(UNDER_COLORPIXEL_X_1, UNDER_COLORPIXEL_Y_1), list(UNDER_COLORPIXEL_X_2, UNDER_COLORPIXEL_Y_2), list(UNDER_COLORPIXEL_X_3, UNDER_COLORPIXEL_Y_3)) - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/under) - autogen_clothing_config_skirt = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/under_skirt) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/teshari/under) + autogen_clothing_config_skirt = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/teshari/under_skirt) /obj/item/mod/control autogen_clothing_color_coords = list(list(MODCONTROL_COLORPIXEL_X_1, MODCONTROL_COLORPIXEL_Y_1)) - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/modcontrol) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/teshari/modcontrol) ///GAGS below here /obj/item/clothing/under/color - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/jumpsuit/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/jumpsuit/worn/teshari) /obj/item/clothing/under/color/jumpskirt - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/jumpsuit/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/jumpsuit/worn/teshari) /obj/item/clothing/shoes/sneakers - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/sneakers/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/sneakers/worn/teshari) /obj/item/clothing/shoes/sneakers/orange - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/sneakers_orange/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/sneakers_orange/worn/teshari) /obj/item/clothing/head/collectable/beret - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/beret/worn/teshari) /obj/item/clothing/head/collectable/flatcap - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/beret/worn/teshari) /obj/item/clothing/head/frenchberet - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/beret/worn/teshari) /obj/item/clothing/head/flatcap - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/beret/worn/teshari) /obj/item/clothing/head/caphat/beret - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret_badge/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/beret_badge/worn/teshari) /obj/item/clothing/head/beret - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/beret/worn/teshari) /obj/item/clothing/head/beret/badge - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret_badge/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/beret_badge/worn/teshari) /obj/item/clothing/head/hats/hos/beret - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret_badge/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/beret_badge/worn/teshari) /obj/item/clothing/head/beret/sec - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret_badge/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/beret_badge/worn/teshari) /obj/item/clothing/head/beret/science/fancy - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret_badge/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/beret_badge/worn/teshari) /obj/item/clothing/head/beret/science/rd - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret_badge/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/beret_badge/worn/teshari) /obj/item/clothing/head/beret/durathread - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret_badge/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/beret_badge/worn/teshari) /obj/item/clothing/head/beret/centcom_formal - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret_badge/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/beret_badge/worn/teshari) /obj/item/clothing/head/beret/militia - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret_badge/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/beret_badge/worn/teshari) /obj/item/clothing/head/beret/sec/navywarden - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret_badge/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/beret_badge/worn/teshari) /obj/item/clothing/head/beret/medical - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret_badge/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/beret_badge/worn/teshari) /obj/item/clothing/head/beret/engi - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret_badge/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/beret_badge/worn/teshari) /obj/item/clothing/head/beret/atmos - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret_badge/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/beret_badge/worn/teshari) /obj/item/clothing/head/beret/cargo/qm - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret_badge/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/beret_badge/worn/teshari) /obj/item/clothing/head/hopcap/beret - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret_badge/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/beret_badge/worn/teshari) /obj/item/clothing/head/beret/blueshield - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret_badge/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/beret_badge/worn/teshari) /obj/item/clothing/head/flatcap - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/beret/worn/teshari) /obj/item/clothing/head/frenchberet - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/beret/worn/teshari) /obj/item/clothing/head/beret/sec/navywarden/syndicate - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret_badge/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/beret_badge/worn/teshari) /obj/item/clothing/head/nanotrasen_consultant/beret - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret_badge/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/beret_badge/worn/teshari) /obj/item/clothing/head/beret/sec/peacekeeper/armadyne - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret_badge/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/beret_badge/worn/teshari) /obj/item/clothing/head/beret/sec/peacekeeper - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/beret_badge/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/beret_badge/worn/teshari) /obj/item/clothing/neck/ranger_poncho - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/ranger_poncho/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/ranger_poncho/worn/teshari) /obj/item/clothing/under/dress/skirt/plaid - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/plaidskirt/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/plaidskirt/worn/teshari) /obj/item/clothing/under/dress/sundress - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/sundress/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/sundress/worn/teshari) /obj/item/clothing/neck/scarf - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/scarf/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/scarf/worn/teshari) /obj/item/clothing/suit/toggle/suspenders - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/suspenders/worn/teshari) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/suspenders/worn/teshari) // Unique clothing here /obj/item/clothing/suit/kimjacket autogen_clothing_color_coords = list(list(JACKET_COLORPIXEL_X_1, JACKET_COLORPIXEL_Y_1), list(JACKET_COLORPIXEL_X_2, JACKET_COLORPIXEL_Y_2), list(THICKROBE_COLORPIXEL_X_3, THICKROBE_COLORPIXEL_Y_3), list(JACKET_COLORPIXEL_X_4, JACKET_COLORPIXEL_Y_4)) - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/thickrobe/jacket) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/teshari/thickrobe/jacket) /obj/item/clothing/suit/discoblazer autogen_clothing_color_coords = list(list(JACKET_COLORPIXEL_X_1, JACKET_COLORPIXEL_Y_1), list(JACKET_COLORPIXEL_X_2, JACKET_COLORPIXEL_Y_2), list(THICKROBE_COLORPIXEL_X_3, THICKROBE_COLORPIXEL_Y_3), list(JACKET_COLORPIXEL_X_4, JACKET_COLORPIXEL_Y_4)) - autogen_clothing_config = list(SPECIES_TESHARI = /datum/greyscale_config/teshari/thickrobe/jacket) + autogen_clothing_config = list(BODYSHAPE_TESHARI_T = /datum/greyscale_config/teshari/thickrobe/jacket) // Wintercoats and Satchels and stuff From 11d5c9af0a3b4b29d25690c7df6eb078e07b5ffd Mon Sep 17 00:00:00 2001 From: nikothedude <59709059+nikothedude@users.noreply.github.com> Date: Wed, 24 Dec 2025 23:11:47 -0500 Subject: [PATCH 32/52] aaaaaabhhh --- .../living/carbon/human/human_update_icons.dm | 36 ++----------------- .../modular_species/autogen_clothing.dm | 10 +++--- .../teshari/teshari_bodyparts.dm | 2 +- .../code/human_update_icons.dm | 31 ++++++++++++++++ tgstation.dme | 1 + 5 files changed, 41 insertions(+), 39 deletions(-) create mode 100644 modular_doppler/species_clothes/code/human_update_icons.dm diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index faced7326a5433..a15e392af25f7d 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -177,7 +177,7 @@ There are several things that need to be remembered: /// DOPPLER SHIFT ADDITION END var/obj/item/bodypart/chest/my_chest = get_bodypart(BODY_ZONE_CHEST) // DOPPLER EDIT ADDITION - id_overlay = get_updated_worn_icon(id, ID_LAYER, OFFSET_ID, icon_file, my_chest.worn_id_offset) /// DOPPLER SHIFT EDIT - WAS wear_suit.build_worn_icon(default_layer = BACK_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) + id_overlay = get_updated_worn_icon(worn_item, ID_LAYER, OFFSET_ID, icon_file, my_chest.worn_id_offset) /// DOPPLER SHIFT EDIT - WAS wear_suit.build_worn_icon(default_layer = BACK_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) if(!id_overlay) return @@ -223,7 +223,7 @@ There are several things that need to be remembered: var/icon_file = 'icons/mob/clothing/hands.dmi' - var/mutable_appearance/gloves_overlay = get_updated_worn_icon(glasses, GLOVES_LAYER, OFFSET_GLOVES, icon_file, null) /// DOPPLER SHIFT EDIT - WAS wear_suit.build_worn_icon(default_layer = BACK_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) + var/mutable_appearance/gloves_overlay = get_updated_worn_icon(worn_item, GLOVES_LAYER, OFFSET_GLOVES, icon_file, null) /// DOPPLER SHIFT EDIT - WAS wear_suit.build_worn_icon(default_layer = BACK_LAYER, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) var/feature_y_offset = 0 //needs to be typed, hand_bodyparts can have nulls @@ -327,38 +327,6 @@ There are several things that need to be remembered: apply_overlay(NECK_LAYER) -/mob/living/carbon/human/proc/get_updated_worn_icon(obj/item/clothing, layer, slot, icon_file, datum/worn_feature_offset/offset) - RETURN_TYPE(/mutable_appearance) - - var/found_special_sprite = FALSE - for(var/shape in clothing.supported_bodyshapes) - if(!(bodyshape & shape)) - continue - var/potential_file = clothing.bodyshape_icon_files["[shape]"] - if (icon_exists(potential_file, clothing.icon_state)) - icon_file = clothing.bodyshape_icon_files["[shape]"] - if (shape == BODYSHAPE_HUMANOID) // EVERYTHING has this - continue - found_special_sprite = TRUE - break - - var/autogen_override = FALSE - if(!found_special_sprite) - var/corresponding_shape = clothing.get_matching_bodyshape(src) - if (!isnull(corresponding_shape)) - // we found a config for our body? that must mean the clothing doesnt fit. so just trust it - var/autogenerated_icon = clothing.generate_autogen_worn_icon(corresponding_shape, slot) - if(autogenerated_icon) - icon_file = autogenerated_icon - autogen_override = TRUE - - var/icon/final_icon = clothing.build_worn_icon(default_layer = layer, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) - - if (!autogen_override && !found_special_sprite) - offset?.apply_offset(final_icon) - - return final_icon - /mob/living/carbon/human/update_worn_shoes() remove_overlay(SHOES_LAYER) diff --git a/modular_doppler/modular_species/autogen_clothing.dm b/modular_doppler/modular_species/autogen_clothing.dm index 09859d435e2876..cbf1024264553d 100644 --- a/modular_doppler/modular_species/autogen_clothing.dm +++ b/modular_doppler/modular_species/autogen_clothing.dm @@ -127,13 +127,15 @@ GLOBAL_LIST_EMPTY(bodyshape_autogen_clothing_cache) // Cache the clean copy. set_autogen_worn_icon_cached(human_icon, human_icon_state, greyscale_colors || "x", final_icon) - final_icon = do_bodyshape_modifiers(final_icon, bodyshape_text, item_slot) + var/mob/living/carbon/wearer = null + if (iscarbon(loc)) + wearer = loc + final_icon = do_bodyshape_modifiers(final_icon, bodyshape_text, wearer?.bodyshape, item_slot) return final_icon -/obj/item/proc/do_bodyshape_modifiers(icon/final_icon, bodyshape_text, item_slot) - - if (bodyshape_text == BODYSHAPE_TESHARI_T) +/obj/item/proc/do_bodyshape_modifiers(icon/final_icon, bodyshape_text, all_bodyshapes, item_slot) + if (bodyshape_text == BODYSHAPE_SNOUTED_T && (all_bodyshapes & BODYSHAPE_TESHARI)) if ((item_slot == OFFSET_FACEMASK || item_slot == OFFSET_HEAD) && (supported_bodyshapes & BODYSHAPE_SNOUTED)) if (!ishuman(loc)) return final_icon diff --git a/modular_doppler/modular_species/species_types/teshari/teshari_bodyparts.dm b/modular_doppler/modular_species/species_types/teshari/teshari_bodyparts.dm index 81480da6caf68a..c50966cbbe7849 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari_bodyparts.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari_bodyparts.dm @@ -1,6 +1,6 @@ /obj/item/bodypart/head/mutant/teshari icon_greyscale = BODYPART_ICON_TESHARI - bodyshape = parent_type::bodyshape | BODYSHAPE_TESHARI + bodyshape = parent_type::bodyshape | BODYSHAPE_TESHARI | BODYSHAPE_SNOUTED eyes_icon = 'modular_doppler/modular_species/species_types/teshari/icons/teshari_eyes.dmi' limb_id = SPECIES_TESHARI brute_modifier = TESHARI_BRUTE_MODIFIER diff --git a/modular_doppler/species_clothes/code/human_update_icons.dm b/modular_doppler/species_clothes/code/human_update_icons.dm new file mode 100644 index 00000000000000..1ac0aa63ef88ba --- /dev/null +++ b/modular_doppler/species_clothes/code/human_update_icons.dm @@ -0,0 +1,31 @@ +/mob/living/carbon/human/proc/get_updated_worn_icon(obj/item/clothing, layer, slot, icon_file, datum/worn_feature_offset/offset) + RETURN_TYPE(/mutable_appearance) + + var/found_special_sprite = FALSE + for(var/shape in clothing.supported_bodyshapes) + if(!(bodyshape & shape)) + continue + var/potential_file = clothing.bodyshape_icon_files["[shape]"] + if (icon_exists(potential_file, clothing.icon_state)) + icon_file = clothing.bodyshape_icon_files["[shape]"] + if (shape == BODYSHAPE_HUMANOID) // EVERYTHING has this + continue + found_special_sprite = TRUE + break + + var/autogen_override = FALSE + if(!found_special_sprite) + var/corresponding_shape = clothing.get_matching_bodyshape(src) + if (!isnull(corresponding_shape)) + // we found a config for our body? that must mean the clothing doesnt fit. so just trust it + var/autogenerated_icon = clothing.generate_autogen_worn_icon(corresponding_shape, slot) + if(autogenerated_icon) + icon_file = autogenerated_icon + autogen_override = TRUE + + var/icon/final_icon = clothing.build_worn_icon(default_layer = layer, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) + + if (!autogen_override && !found_special_sprite) + offset?.apply_offset(final_icon) + + return final_icon diff --git a/tgstation.dme b/tgstation.dme index 1b236e9b20e339..63386921192879 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -7724,6 +7724,7 @@ #include "modular_doppler\soulcatcher\code\soulcatcher_tgui.dm" #include "modular_doppler\soulcatcher\code\soulcatcher_verbs.dm" #include "modular_doppler\spacer_swimming\spacer_swim.dm" +#include "modular_doppler\species_clothes\code\human_update_icons.dm" #include "modular_doppler\species_clothes\code\coalition\armor.dm" #include "modular_doppler\species_clothes\code\coalition\clothing.dm" #include "modular_doppler\species_clothes\code\coalition\storage.dm" From 8b0da948b91fddac7ea0118dbbc603a11a318534 Mon Sep 17 00:00:00 2001 From: _0Steven Date: Mon, 19 Jan 2026 21:32:26 +0100 Subject: [PATCH 33/52] exorcises three bugs --- code/game/objects/items.dm | 1 + .../living/carbon/human/human_update_icons.dm | 17 +++-------------- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index d06d5388f09e6f..2cc4c189cb4ee0 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -449,6 +449,7 @@ if(greyscale_config_worn_bodyshapes && greyscale_config_last_bodyshape) if(greyscale_config_worn_bodyshapes[greyscale_config_last_bodyshape]) greyscale_config_worn = greyscale_config_worn_bodyshapes[greyscale_config_last_bodyshape] + LAZYINITLIST(bodyshape_icon_files) bodyshape_icon_files["[greyscale_config_last_bodyshape]"] = SSgreyscale.GetColoredIconByType(greyscale_config_worn, greyscale_colors) worn_icon = bodyshape_icon_files["[greyscale_config_last_bodyshape]"] else diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index 77b4a9b9ae2c85..1ee0ddb4daf43b 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -681,7 +681,7 @@ There are several things that need to be remembered: /// Modifies a sprite slightly to conform to female body shapes /proc/wear_female_version(icon_state, icon, type, greyscale_colors) - var/index = "[icon_state]-[greyscale_colors]" + var/index = "[icon]-[icon_state]-[greyscale_colors]" // DOPPLER EDIT CHANGE - Include icon in key to cache per bodyshape - original: var/index = "[icon_state]-[greyscale_colors]" var/static/list/female_clothing_icons = list() var/icon/female_clothing_icon = female_clothing_icons[index] if(!female_clothing_icon) //Create standing/laying icons if they don't exist @@ -934,15 +934,13 @@ generate/load female uniform sprites matching all previously decided variables var/mutable_appearance/draw_target // MA of the item itself, not the final result var/icon/building_icon // used to construct an icon across multiple procs before converting it to MA - /// DOPPLER SHIFT REMOVAL BEGIN - see below; migrating this down to better support hybrids of female critter + digi or other legs - /*if(female_uniform) + if(female_uniform) building_icon = wear_female_version( icon_state = t_state, icon = file2use, type = female_uniform, greyscale_colors = greyscale_colors, - )*/ - /// DOPPLER SHIFT REMOVAL END + ) if(!isinhands && is_digi && (supports_variations_flags & CLOTHING_DIGITIGRADE_MASK)) building_icon = wear_digi_version( base_icon = building_icon || icon(file2use, t_state), @@ -950,15 +948,6 @@ generate/load female uniform sprites matching all previously decided variables key = "[t_state]-[file2use]-[female_uniform]", greyscale_colors = greyscale_colors, ) - /// DOPPLER SHIFT ADDITION BEGIN - we migrate this down here & use building_icon to allow for auto-generated digi sprites to still support ladies - if(female_uniform) - building_icon = wear_female_version( - icon_state = t_state, - icon = istype(building_icon) ? building_icon : file2use, - type = female_uniform, - greyscale_colors = greyscale_colors, - ) - /// DOPPLER SHIFT ADDITION END /// DOPPLER SHIFT ADDITION START - Taur-friendly uniforms and suits var/shift_pixel_x = 0 if (istype(wearer) && wearer.bodyshape & BODYSHAPE_TAUR) From 8dd4ad404b45358c728a230a850f15492f02c762 Mon Sep 17 00:00:00 2001 From: _0Steven Date: Mon, 19 Jan 2026 22:40:13 +0100 Subject: [PATCH 34/52] update to proper system --- .../code/shoes/gags_shoes.dm | 62 +++------- .../code/under/doppler_uniforms.dm | 67 +++++----- .../modular_cosmetics/code/under/dresses.dm | 114 ++++++++---------- .../modular_cosmetics/code/under/pants.dm | 99 +++++++-------- 4 files changed, 138 insertions(+), 204 deletions(-) diff --git a/modular_doppler/modular_cosmetics/code/shoes/gags_shoes.dm b/modular_doppler/modular_cosmetics/code/shoes/gags_shoes.dm index e953c4b720edf7..cc01c0c3d16cc7 100644 --- a/modular_doppler/modular_cosmetics/code/shoes/gags_shoes.dm +++ b/modular_doppler/modular_cosmetics/code/shoes/gags_shoes.dm @@ -8,15 +8,12 @@ greyscale_colors = "#2b2b2b" greyscale_config = /datum/greyscale_config/casualshoes greyscale_config_worn = /datum/greyscale_config/casualshoes/worn + greyscale_config_worn_bodyshapes = list( + BODYSHAPE_HUMANOID_T = /datum/greyscale_config/casualshoes/worn, + BODYSHAPE_DIGITIGRADE_T = /datum/greyscale_config/casualshoes/worn/digi, + ) flags_1 = IS_PLAYER_COLORABLE_1 -/obj/item/clothing/shoes/colorable_laceups/Initialize(mapload) - . = ..() - greyscale_config_worn_bodyshapes = list() - greyscale_config_worn_bodyshapes["[BODYSHAPE_HUMANOID]"] = /datum/greyscale_config/casualshoes/worn - greyscale_config_worn_bodyshapes["[BODYSHAPE_DIGITIGRADE]"] = /datum/greyscale_config/casualshoes/worn/digi - set_greyscale(colors = greyscale_colors) - /obj/item/clothing/shoes/colorable_sandals name = "sandals" desc = "Rumor has it that wearing these with socks puts you on a no entry list in several sectors." @@ -27,15 +24,12 @@ greyscale_colors = "#AA0000" greyscale_config = /datum/greyscale_config/casualshoes greyscale_config_worn = /datum/greyscale_config/casualshoes/worn + greyscale_config_worn_bodyshapes = list( + BODYSHAPE_HUMANOID_T = /datum/greyscale_config/casualshoes/worn, + BODYSHAPE_DIGITIGRADE_T = /datum/greyscale_config/casualshoes/worn/digi, + ) flags_1 = IS_PLAYER_COLORABLE_1 -/obj/item/clothing/shoes/colorable_sandals/Initialize(mapload) - . = ..() - greyscale_config_worn_bodyshapes = list() - greyscale_config_worn_bodyshapes["[BODYSHAPE_HUMANOID]"] = /datum/greyscale_config/casualshoes/worn - greyscale_config_worn_bodyshapes["[BODYSHAPE_DIGITIGRADE]"] = /datum/greyscale_config/casualshoes/worn/digi - set_greyscale(colors = greyscale_colors) - /obj/item/clothing/shoes/jackboots/recolorable icon = 'icons/map_icons/clothing/shoes.dmi' worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/shoes/casual.dmi' @@ -44,15 +38,12 @@ greyscale_colors = "#2b2b2b" greyscale_config = /datum/greyscale_config/boots greyscale_config_worn = /datum/greyscale_config/boots/worn + greyscale_config_worn_bodyshapes = list( + BODYSHAPE_HUMANOID_T = /datum/greyscale_config/boots/worn, + BODYSHAPE_DIGITIGRADE_T = /datum/greyscale_config/boots/worn/digi, + ) flags_1 = IS_PLAYER_COLORABLE_1 -/obj/item/clothing/shoes/jackboots/recolorable/Initialize(mapload) - . = ..() - greyscale_config_worn_bodyshapes = list() - greyscale_config_worn_bodyshapes["[BODYSHAPE_HUMANOID]"] = /datum/greyscale_config/boots/worn - greyscale_config_worn_bodyshapes["[BODYSHAPE_DIGITIGRADE]"] = /datum/greyscale_config/boots/worn/digi - set_greyscale(colors = greyscale_colors) - /obj/item/clothing/shoes/wraps name = "cloth foot wraps" desc = "Simple cloth footwraps, suitable for padding the heels." @@ -62,17 +53,14 @@ post_init_icon_state = "wrap" greyscale_config = /datum/greyscale_config/legwraps greyscale_config_worn = /datum/greyscale_config/legwraps/worn + greyscale_config_worn_bodyshapes = list( + BODYSHAPE_HUMANOID_T = /datum/greyscale_config/legwraps/worn, + BODYSHAPE_DIGITIGRADE_T = /datum/greyscale_config/legwraps/worn/digi, + ) greyscale_colors = "#FFFFFF" body_parts_covered = FALSE flags_1 = IS_PLAYER_COLORABLE_1 -/obj/item/clothing/shoes/wraps/Initialize(mapload) - . = ..() - greyscale_config_worn_bodyshapes = list() - greyscale_config_worn_bodyshapes["[BODYSHAPE_HUMANOID]"] = /datum/greyscale_config/legwraps/worn - greyscale_config_worn_bodyshapes["[BODYSHAPE_DIGITIGRADE]"] = /datum/greyscale_config/legwraps/worn/digi - set_greyscale(colors = greyscale_colors) - /obj/item/clothing/shoes/wraps/leggy name = "cloth leg wraps" desc = "Simple cloth legwraps, for when socks aren't good enough." @@ -87,15 +75,12 @@ greyscale_colors = "#2b2b2b" greyscale_config = /datum/greyscale_config/boots greyscale_config_worn = /datum/greyscale_config/boots/worn + greyscale_config_worn_bodyshapes = list( + BODYSHAPE_HUMANOID_T = /datum/greyscale_config/boots/worn, + BODYSHAPE_DIGITIGRADE_T = /datum/greyscale_config/boots/worn/digi, + ) flags_1 = IS_PLAYER_COLORABLE_1 -/obj/item/clothing/shoes/jackboots/colonial/greyscale/Initialize(mapload) - . = ..() - greyscale_config_worn_bodyshapes = list() - greyscale_config_worn_bodyshapes["[BODYSHAPE_HUMANOID]"] = /datum/greyscale_config/boots/worn - greyscale_config_worn_bodyshapes["[BODYSHAPE_DIGITIGRADE]"] = /datum/greyscale_config/boots/worn/digi - set_greyscale(colors = greyscale_colors) - /obj/item/clothing/shoes/geowpn name = "'GEOWPN' designer sneakers" desc = "A pair of designer high tops that come much coveted amongst introverted fashion bloggers, underground Marsian ravers, bourgeoisie poseurs, and \ @@ -112,10 +97,3 @@ ) greyscale_colors = "#e8dccf#292929#cfdbe8" flags_1 = IS_PLAYER_COLORABLE_1 - -/obj/item/clothing/shoes/geowpn/Initialize(mapload) - . = ..() - greyscale_config_worn_bodyshapes = list() - greyscale_config_worn_bodyshapes["[BODYSHAPE_HUMANOID]"] = /datum/greyscale_config/geowpn/worn - greyscale_config_worn_bodyshapes["[BODYSHAPE_DIGITIGRADE]"] = /datum/greyscale_config/geowpn/digi - set_greyscale(colors = greyscale_colors) diff --git a/modular_doppler/modular_cosmetics/code/under/doppler_uniforms.dm b/modular_doppler/modular_cosmetics/code/under/doppler_uniforms.dm index 7bb6dfbf0b97c0..dbdffd98284f98 100644 --- a/modular_doppler/modular_cosmetics/code/under/doppler_uniforms.dm +++ b/modular_doppler/modular_cosmetics/code/under/doppler_uniforms.dm @@ -6,8 +6,10 @@ digitigrade_greyscale_config_worn = null supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_DIGITIGRADE) - bodyshape_icon_files = list(BODYSHAPE_HUMANOID_T = 'modular_doppler/modular_cosmetics/icons/mob/under/doppler_uniforms.dmi', - BODYSHAPE_DIGITIGRADE_T = 'modular_doppler/modular_cosmetics/icons/mob/under/doppler_uniforms_digi.dmi') + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/modular_cosmetics/icons/mob/under/doppler_uniforms.dmi', + BODYSHAPE_DIGITIGRADE_T = 'modular_doppler/modular_cosmetics/icons/mob/under/doppler_uniforms_digi.dmi', + ) icon_state = "" can_adjust = TRUE @@ -69,16 +71,13 @@ worn_icon_state = "doppler_uniform" greyscale_config = /datum/greyscale_config/doppler_undersuit greyscale_config_worn = /datum/greyscale_config/doppler_undersuit/worn + greyscale_config_worn_bodyshapes = list( + BODYSHAPE_HUMANOID_T = /datum/greyscale_config/doppler_undersuit/worn, + BODYSHAPE_DIGITIGRADE_T = /datum/greyscale_config/doppler_undersuit/worn/digi, + ) greyscale_colors = "#333333#AAAAAA" flags_1 = IS_PLAYER_COLORABLE_1 -/obj/item/clothing/under/misc/doppler_uniform/standard/Initialize(mapload) - . = ..() - greyscale_config_worn_bodyshapes = list() - greyscale_config_worn_bodyshapes["[BODYSHAPE_HUMANOID]"] = /datum/greyscale_config/doppler_undersuit/worn - greyscale_config_worn_bodyshapes["[BODYSHAPE_DIGITIGRADE]"] = /datum/greyscale_config/doppler_undersuit/worn/digi - set_greyscale(colors = greyscale_colors) - /obj/item/clothing/under/misc/doppler_uniform/standard/cozy name = "doppler cozy uniform" desc = "A cozier standard uniform from Doppler Shift-series stations." @@ -87,14 +86,12 @@ worn_icon_state = "doppler_cozy" greyscale_config = /datum/greyscale_config/doppler_undersuit/cozy greyscale_config_worn = /datum/greyscale_config/doppler_undersuit/cozy/worn + greyscale_config_worn_bodyshapes = list( + BODYSHAPE_HUMANOID_T = /datum/greyscale_config/doppler_undersuit/cozy/worn, + BODYSHAPE_DIGITIGRADE_T = /datum/greyscale_config/doppler_undersuit/cozy/worn/digi, + ) greyscale_colors = "#333333#AA0000" -/obj/item/clothing/under/misc/doppler_uniform/standard/cozy/Initialize(mapload) - . = ..() - greyscale_config_worn_bodyshapes["[BODYSHAPE_HUMANOID]"] = /datum/greyscale_config/doppler_undersuit/cozy/worn - greyscale_config_worn_bodyshapes["[BODYSHAPE_DIGITIGRADE]"] = /datum/greyscale_config/doppler_undersuit/cozy/worn/digi - set_greyscale(colors = greyscale_colors) - /obj/item/clothing/under/misc/doppler_uniform/standard/suit name = "doppler fancy uniform" desc = "A fancy standard uniform from Doppler Shift-series stations." @@ -103,14 +100,12 @@ worn_icon_state = "doppler_suit" greyscale_config = /datum/greyscale_config/doppler_undersuit/fancysuit greyscale_config_worn = /datum/greyscale_config/doppler_undersuit/fancysuit/worn + greyscale_config_worn_bodyshapes = list( + BODYSHAPE_HUMANOID_T = /datum/greyscale_config/doppler_undersuit/fancysuit/worn, + BODYSHAPE_DIGITIGRADE_T = /datum/greyscale_config/doppler_undersuit/fancysuit/worn/digi, + ) greyscale_colors = "#333333#AAAAAA#AA0000#FFFFFF" -/obj/item/clothing/under/misc/doppler_uniform/standard/suit/Initialize(mapload) - . = ..() - greyscale_config_worn_bodyshapes["[BODYSHAPE_HUMANOID]"] = /datum/greyscale_config/doppler_undersuit/fancysuit/worn - greyscale_config_worn_bodyshapes["[BODYSHAPE_DIGITIGRADE]"] = /datum/greyscale_config/doppler_undersuit/fancysuit/worn/digi - set_greyscale(colors = greyscale_colors) - // Overall versions /obj/item/clothing/under/misc/doppler_uniform/standard/overalls name = "doppler uniform w/ overalls" @@ -120,12 +115,10 @@ worn_icon_state = "doppler_uniform_overalls" greyscale_config = /datum/greyscale_config/doppler_undersuit/overalls greyscale_config_worn = /datum/greyscale_config/doppler_undersuit/overalls/worn - -/obj/item/clothing/under/misc/doppler_uniform/standard/overalls/Initialize(mapload) - . = ..() - greyscale_config_worn_bodyshapes["[BODYSHAPE_HUMANOID]"] = /datum/greyscale_config/doppler_undersuit/overalls/worn - greyscale_config_worn_bodyshapes["[BODYSHAPE_DIGITIGRADE]"] = /datum/greyscale_config/doppler_undersuit/overalls/worn/digi - set_greyscale(colors = greyscale_colors) + greyscale_config_worn_bodyshapes = list( + BODYSHAPE_HUMANOID_T = /datum/greyscale_config/doppler_undersuit/overalls/worn, + BODYSHAPE_DIGITIGRADE_T = /datum/greyscale_config/doppler_undersuit/overalls/worn/digi, + ) /obj/item/clothing/under/misc/doppler_uniform/standard/cozy/overalls name = "doppler cozy uniform w/ overalls" @@ -135,12 +128,10 @@ worn_icon_state = "doppler_cozy_overalls" greyscale_config = /datum/greyscale_config/doppler_undersuit/cozy/overalls greyscale_config_worn = /datum/greyscale_config/doppler_undersuit/cozy/overalls/worn - -/obj/item/clothing/under/misc/doppler_uniform/standard/cozy/overalls/Initialize(mapload) - . = ..() - greyscale_config_worn_bodyshapes["[BODYSHAPE_HUMANOID]"] = /datum/greyscale_config/doppler_undersuit/cozy/overalls/worn - greyscale_config_worn_bodyshapes["[BODYSHAPE_DIGITIGRADE]"] = /datum/greyscale_config/doppler_undersuit/cozy/overalls/worn/digi - set_greyscale(colors = greyscale_colors) + greyscale_config_worn_bodyshapes = list( + BODYSHAPE_HUMANOID_T = /datum/greyscale_config/doppler_undersuit/cozy/overalls/worn, + BODYSHAPE_DIGITIGRADE_T = /datum/greyscale_config/doppler_undersuit/cozy/overalls/worn/digi, + ) /obj/item/clothing/under/misc/doppler_uniform/standard/suit/overalls name = "doppler fancy uniform w/ overalls" @@ -150,12 +141,10 @@ worn_icon_state = "doppler_suit_overalls" greyscale_config = /datum/greyscale_config/doppler_undersuit/fancysuit/overalls greyscale_config_worn = /datum/greyscale_config/doppler_undersuit/fancysuit/overalls/worn - -/obj/item/clothing/under/misc/doppler_uniform/standard/suit/overalls/Initialize(mapload) - . = ..() - greyscale_config_worn_bodyshapes["[BODYSHAPE_HUMANOID]"] = /datum/greyscale_config/doppler_undersuit/fancysuit/overalls/worn - greyscale_config_worn_bodyshapes["[BODYSHAPE_DIGITIGRADE]"] = /datum/greyscale_config/doppler_undersuit/fancysuit/overalls/worn/digi - set_greyscale(colors = greyscale_colors) + greyscale_config_worn_bodyshapes = list( + BODYSHAPE_HUMANOID_T = /datum/greyscale_config/doppler_undersuit/fancysuit/overalls/worn, + BODYSHAPE_DIGITIGRADE_T = /datum/greyscale_config/doppler_undersuit/fancysuit/overalls/worn/digi, + ) /obj/item/clothing/under/misc/doppler_uniform/standard/suit/overalls/colored flags_1 = parent_type::flags_1 | NO_NEW_GAGS_PREVIEW_1 // This entire subtype is a randomized broken mess diff --git a/modular_doppler/modular_cosmetics/code/under/dresses.dm b/modular_doppler/modular_cosmetics/code/under/dresses.dm index ea675ae9654620..1317d22903d73b 100644 --- a/modular_doppler/modular_cosmetics/code/under/dresses.dm +++ b/modular_doppler/modular_cosmetics/code/under/dresses.dm @@ -87,31 +87,26 @@ post_init_icon_state = "qipao" body_parts_covered = CHEST|GROIN|LEGS female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_DIGITIGRADE) greyscale_colors = "#2b2b2b" greyscale_config = /datum/greyscale_config/lunar_japanese greyscale_config_worn = /datum/greyscale_config/lunar_japanese/worn + greyscale_config_worn_bodyshapes = list( + BODYSHAPE_HUMANOID_T = /datum/greyscale_config/lunar_japanese/worn, + BODYSHAPE_DIGITIGRADE_T = /datum/greyscale_config/lunar_japanese/worn/digi, + ) flags_1 = IS_PLAYER_COLORABLE_1 supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION -/obj/item/clothing/under/dress/doppler/qipao/Initialize(mapload) - . = ..() - greyscale_config_worn_bodyshapes = list() - greyscale_config_worn_bodyshapes["[BODYSHAPE_HUMANOID]"] = /datum/greyscale_config/lunar_japanese/worn - greyscale_config_worn_bodyshapes["[BODYSHAPE_DIGITIGRADE]"] = /datum/greyscale_config/lunar_japanese/worn/digi - set_greyscale(colors = greyscale_colors) - /obj/item/clothing/under/dress/doppler/qipao/customtrim icon_state = "/obj/item/clothing/under/dress/doppler/qipao/customtrim" greyscale_colors = "#2b2b2b#ffce5b" greyscale_config = /datum/greyscale_config/lunar_japanese/bicol greyscale_config_worn = /datum/greyscale_config/lunar_japanese/bicol/worn - -/obj/item/clothing/under/dress/doppler/qipao/customtrim/Initialize(mapload) - . = ..() - greyscale_config_worn_bodyshapes = list() - greyscale_config_worn_bodyshapes["[BODYSHAPE_HUMANOID]"] = /datum/greyscale_config/lunar_japanese/bicol/worn - greyscale_config_worn_bodyshapes["[BODYSHAPE_DIGITIGRADE]"] = /datum/greyscale_config/lunar_japanese/bicol/worn/digi - set_greyscale(colors = greyscale_colors) + greyscale_config_worn_bodyshapes = list( + BODYSHAPE_HUMANOID_T = /datum/greyscale_config/lunar_japanese/bicol/worn, + BODYSHAPE_DIGITIGRADE_T = /datum/greyscale_config/lunar_japanese/bicol/worn/digi, + ) /obj/item/clothing/under/dress/doppler/cheongsam name = "cheongsam" @@ -121,31 +116,26 @@ post_init_icon_state = "cheongsam" body_parts_covered = CHEST|GROIN|LEGS female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_DIGITIGRADE) greyscale_colors = "#2b2b2b#353535" greyscale_config = /datum/greyscale_config/lunar_japanese/bicol greyscale_config_worn = /datum/greyscale_config/lunar_japanese/bicol/worn + greyscale_config_worn_bodyshapes = list( + BODYSHAPE_HUMANOID_T = /datum/greyscale_config/lunar_japanese/bicol/worn, + BODYSHAPE_DIGITIGRADE_T = /datum/greyscale_config/lunar_japanese/bicol/worn/digi, + ) flags_1 = IS_PLAYER_COLORABLE_1 supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION -/obj/item/clothing/under/dress/doppler/cheongsam/Initialize(mapload) - . = ..() - greyscale_config_worn_bodyshapes = list() - greyscale_config_worn_bodyshapes["[BODYSHAPE_HUMANOID]"] = /datum/greyscale_config/lunar_japanese/bicol/worn - greyscale_config_worn_bodyshapes["[BODYSHAPE_DIGITIGRADE]"] = /datum/greyscale_config/lunar_japanese/bicol/worn/digi - set_greyscale(colors = greyscale_colors) - /obj/item/clothing/under/dress/doppler/cheongsam/customtrim icon_state = "/obj/item/clothing/under/dress/doppler/cheongsam/customtrim" greyscale_colors = "#2b2b2b#ffce5b#353535" greyscale_config = /datum/greyscale_config/lunar_japanese/tricol greyscale_config_worn = /datum/greyscale_config/lunar_japanese/tricol/worn - -/obj/item/clothing/under/dress/doppler/cheongsam/customtrim/Initialize(mapload) - . = ..() - greyscale_config_worn_bodyshapes = list() - greyscale_config_worn_bodyshapes["[BODYSHAPE_HUMANOID]"] = /datum/greyscale_config/lunar_japanese/tricol/worn - greyscale_config_worn_bodyshapes["[BODYSHAPE_DIGITIGRADE]"] = /datum/greyscale_config/lunar_japanese/tricol/worn/digi - set_greyscale(colors = greyscale_colors) + greyscale_config_worn_bodyshapes = list( + BODYSHAPE_HUMANOID_T = /datum/greyscale_config/lunar_japanese/tricol/worn, + BODYSHAPE_DIGITIGRADE_T = /datum/greyscale_config/lunar_japanese/tricol/worn/digi, + ) /obj/item/clothing/under/dress/doppler/yukata name = "yukata" @@ -154,26 +144,26 @@ icon_state = "/obj/item/clothing/under/dress/doppler/yukata" post_init_icon_state = "yukata" female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_DIGITIGRADE) greyscale_colors = "#2b2b2b#666666" greyscale_config = /datum/greyscale_config/lunar_japanese/bicol greyscale_config_worn = /datum/greyscale_config/lunar_japanese/bicol/worn + greyscale_config_worn_bodyshapes = list( + BODYSHAPE_HUMANOID_T = /datum/greyscale_config/lunar_japanese/bicol/worn, + BODYSHAPE_DIGITIGRADE_T = /datum/greyscale_config/lunar_japanese/bicol/worn/digi, + ) flags_1 = IS_PLAYER_COLORABLE_1 supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION -/obj/item/clothing/under/dress/doppler/yukata/Initialize(mapload) - . = ..() - greyscale_config_worn_bodyshapes = list() - greyscale_config_worn_bodyshapes["[BODYSHAPE_HUMANOID]"] = /datum/greyscale_config/lunar_japanese/bicol/worn - greyscale_config_worn_bodyshapes["[BODYSHAPE_DIGITIGRADE]"] = /datum/greyscale_config/lunar_japanese/bicol/worn/digi - set_greyscale(colors = greyscale_colors) - /// GAGS-IFIED TG LUNAR/JAPANESE CLOTHES /obj/item/clothing/under/costume/yukata supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_DIGITIGRADE) - bodyshape_icon_files = list(BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/under/costume.dmi', - BODYSHAPE_DIGITIGRADE_T = 'modular_doppler/modular_cosmetics/icons/mob/under/dresses_digi.dmi') + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/under/costume.dmi', + BODYSHAPE_DIGITIGRADE_T = 'modular_doppler/modular_cosmetics/icons/mob/under/dresses_digi.dmi', + ) /obj/item/clothing/under/costume/yukata/greyscale icon = 'icons/map_icons/clothing/under/costume.dmi' @@ -183,13 +173,10 @@ greyscale_colors = "#333333#AAAAAA#AA0000" greyscale_config = /datum/greyscale_config/lunar_japanese/tg greyscale_config_worn = /datum/greyscale_config/lunar_japanese/tg/worn - -/obj/item/clothing/under/costume/yukata/greyscale/Initialize(mapload) - . = ..() - greyscale_config_worn_bodyshapes = list() - greyscale_config_worn_bodyshapes["[BODYSHAPE_HUMANOID]"] = /datum/greyscale_config/lunar_japanese/tg/worn - greyscale_config_worn_bodyshapes["[BODYSHAPE_DIGITIGRADE]"] = /datum/greyscale_config/lunar_japanese/tg/worn/digi - set_greyscale(colors = greyscale_colors) + greyscale_config_worn_bodyshapes = list( + BODYSHAPE_HUMANOID_T = /datum/greyscale_config/lunar_japanese/tg/worn, + BODYSHAPE_DIGITIGRADE_T = /datum/greyscale_config/lunar_japanese/tg/worn/digi, + ) /obj/item/clothing/under/costume/yukata/green/greyscale icon = 'icons/map_icons/clothing/under/costume.dmi' @@ -199,13 +186,10 @@ greyscale_colors = "#333333#AAAAAA#AA0000#AA0000" greyscale_config = /datum/greyscale_config/lunar_japanese/tg/decorated greyscale_config_worn = /datum/greyscale_config/lunar_japanese/tg/decorated/worn - -/obj/item/clothing/under/costume/yukata/green/greyscale/Initialize(mapload) - . = ..() - greyscale_config_worn_bodyshapes = list() - greyscale_config_worn_bodyshapes["[BODYSHAPE_HUMANOID]"] = /datum/greyscale_config/lunar_japanese/tg/decorated/worn - greyscale_config_worn_bodyshapes["[BODYSHAPE_DIGITIGRADE]"] = /datum/greyscale_config/lunar_japanese/tg/decorated/worn/digi - set_greyscale(colors = greyscale_colors) + greyscale_config_worn_bodyshapes = list( + BODYSHAPE_HUMANOID_T = /datum/greyscale_config/lunar_japanese/tg/decorated/worn, + BODYSHAPE_DIGITIGRADE_T = /datum/greyscale_config/lunar_japanese/tg/decorated/worn/digi, + ) /obj/item/clothing/under/costume/yukata/white/greyscale icon = 'icons/map_icons/clothing/under/costume.dmi' @@ -215,19 +199,18 @@ greyscale_colors = "#AAAAAA#0066AA#0066AA#00AAFF" greyscale_config = /datum/greyscale_config/lunar_japanese/tg/decorated greyscale_config_worn = /datum/greyscale_config/lunar_japanese/tg/decorated/worn - -/obj/item/clothing/under/costume/yukata/white/greyscale/Initialize(mapload) - . = ..() - greyscale_config_worn_bodyshapes = list() - greyscale_config_worn_bodyshapes["[BODYSHAPE_HUMANOID]"] = /datum/greyscale_config/lunar_japanese/tg/decorated/worn - greyscale_config_worn_bodyshapes["[BODYSHAPE_DIGITIGRADE]"] = /datum/greyscale_config/lunar_japanese/tg/decorated/worn/digi - set_greyscale(colors = greyscale_colors) + greyscale_config_worn_bodyshapes = list( + BODYSHAPE_HUMANOID_T = /datum/greyscale_config/lunar_japanese/tg/decorated/worn, + BODYSHAPE_DIGITIGRADE_T = /datum/greyscale_config/lunar_japanese/tg/decorated/worn/digi, + ) /obj/item/clothing/under/costume/kimono supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_DIGITIGRADE) - bodyshape_icon_files = list(BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/under/costume.dmi', - BODYSHAPE_DIGITIGRADE_T = 'modular_doppler/modular_cosmetics/icons/mob/under/dresses_digi.dmi') + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/under/costume.dmi', + BODYSHAPE_DIGITIGRADE_T = 'modular_doppler/modular_cosmetics/icons/mob/under/dresses_digi.dmi', + ) /obj/item/clothing/under/costume/kimono/greyscale icon = 'icons/map_icons/clothing/under/costume.dmi' @@ -237,10 +220,7 @@ greyscale_colors = "#333333#AAAAAA#AA0000" greyscale_config = /datum/greyscale_config/lunar_japanese/tg greyscale_config_worn = /datum/greyscale_config/lunar_japanese/tg/worn - -/obj/item/clothing/under/costume/kimono/greyscale/Initialize(mapload) - . = ..() - greyscale_config_worn_bodyshapes = list() - greyscale_config_worn_bodyshapes["[BODYSHAPE_HUMANOID]"] = /datum/greyscale_config/lunar_japanese/tg/worn - greyscale_config_worn_bodyshapes["[BODYSHAPE_DIGITIGRADE]"] = /datum/greyscale_config/lunar_japanese/tg/worn/digi - set_greyscale(colors = greyscale_colors) + greyscale_config_worn_bodyshapes = list( + BODYSHAPE_HUMANOID_T = /datum/greyscale_config/lunar_japanese/tg/worn, + BODYSHAPE_DIGITIGRADE_T = /datum/greyscale_config/lunar_japanese/tg/worn/digi, + ) diff --git a/modular_doppler/modular_cosmetics/code/under/pants.dm b/modular_doppler/modular_cosmetics/code/under/pants.dm index f0a40dfe9c5b6d..86d135e19be86b 100644 --- a/modular_doppler/modular_cosmetics/code/under/pants.dm +++ b/modular_doppler/modular_cosmetics/code/under/pants.dm @@ -4,22 +4,22 @@ digitigrade_greyscale_config_worn = null supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_DIGITIGRADE) - bodyshape_icon_files = list(BODYSHAPE_HUMANOID_T = 'modular_doppler/modular_cosmetics/icons/mob/under/pants.dmi', - BODYSHAPE_DIGITIGRADE_T = 'modular_doppler/modular_cosmetics/icons/mob/under/pants_digi.dmi') + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/modular_cosmetics/icons/mob/under/pants.dmi', + BODYSHAPE_DIGITIGRADE_T = 'modular_doppler/modular_cosmetics/icons/mob/under/pants_digi.dmi', + ) -/obj/item/clothing/under/pants/slacks/Initialize(mapload) - . = ..() - greyscale_config_worn_bodyshapes = list() - greyscale_config_worn_bodyshapes["[BODYSHAPE_HUMANOID]"] = /datum/greyscale_config/slacks/worn - greyscale_config_worn_bodyshapes["[BODYSHAPE_DIGITIGRADE]"] = /datum/greyscale_config/slacks/worn/digi - set_greyscale(colors = greyscale_colors) +/obj/item/clothing/under/pants/slacks + greyscale_config_worn_bodyshapes = list( + BODYSHAPE_HUMANOID_T = /datum/greyscale_config/slacks/worn, + BODYSHAPE_DIGITIGRADE_T = /datum/greyscale_config/slacks/worn/digi, + ) -/obj/item/clothing/under/pants/jeans/Initialize(mapload) - . = ..() - greyscale_config_worn_bodyshapes = list() - greyscale_config_worn_bodyshapes["[BODYSHAPE_HUMANOID]"] = /datum/greyscale_config/jeans/worn - greyscale_config_worn_bodyshapes["[BODYSHAPE_DIGITIGRADE]"] = /datum/greyscale_config/jeans/worn/digi - set_greyscale(colors = greyscale_colors) +/obj/item/clothing/under/pants/jeans + greyscale_config_worn_bodyshapes = list( + BODYSHAPE_HUMANOID_T = /datum/greyscale_config/jeans/worn, + BODYSHAPE_DIGITIGRADE_T = /datum/greyscale_config/jeans/worn/digi, + ) /obj/item/clothing/under/pants/track icon = 'icons/map_icons/clothing/under/_under.dmi' @@ -28,15 +28,12 @@ greyscale_colors = "#2b2b2b#FFFFFF" greyscale_config = /datum/greyscale_config/track_pants greyscale_config_worn = /datum/greyscale_config/track_pants/worn + greyscale_config_worn_bodyshapes = list( + BODYSHAPE_HUMANOID_T = /datum/greyscale_config/track_pants/worn, + BODYSHAPE_DIGITIGRADE_T = /datum/greyscale_config/track_pants/worn/digi, + ) flags_1 = IS_PLAYER_COLORABLE_1 -/obj/item/clothing/under/pants/track/Initialize(mapload) - . = ..() - greyscale_config_worn_bodyshapes = list() - greyscale_config_worn_bodyshapes["[BODYSHAPE_HUMANOID]"] = /datum/greyscale_config/track_pants/worn - greyscale_config_worn_bodyshapes["[BODYSHAPE_DIGITIGRADE]"] = /datum/greyscale_config/track_pants/worn/digi - set_greyscale(colors = greyscale_colors) - /obj/item/clothing/under/pants/camo icon = 'icons/map_icons/clothing/under/_under.dmi' icon_state = "/obj/item/clothing/under/pants/camo" @@ -44,15 +41,12 @@ greyscale_colors = "#69704C#6E5B4C#343741" greyscale_config = /datum/greyscale_config/camo_pants greyscale_config_worn = /datum/greyscale_config/camo_pants/worn + greyscale_config_worn_bodyshapes = list( + BODYSHAPE_HUMANOID_T = /datum/greyscale_config/camo_pants/worn, + BODYSHAPE_DIGITIGRADE_T = /datum/greyscale_config/camo_pants/worn/digi, + ) flags_1 = IS_PLAYER_COLORABLE_1 -/obj/item/clothing/under/pants/camo/Initialize(mapload) - . = ..() - greyscale_config_worn_bodyshapes = list() - greyscale_config_worn_bodyshapes["[BODYSHAPE_HUMANOID]"] = /datum/greyscale_config/camo_pants/worn - greyscale_config_worn_bodyshapes["[BODYSHAPE_DIGITIGRADE]"] = /datum/greyscale_config/camo_pants/worn/digi - set_greyscale(colors = greyscale_colors) - /obj/item/clothing/under/pants/jeans/ripped name = "ripped jeans" desc = "A pair of jeans pocked in rips." @@ -61,13 +55,11 @@ post_init_icon_state = "ripped_jeans" greyscale_config = /datum/greyscale_config/ripped_jeans greyscale_config_worn = /datum/greyscale_config/ripped_jeans/worn + greyscale_config_worn_bodyshapes = list( + BODYSHAPE_HUMANOID_T = /datum/greyscale_config/ripped_jeans/worn, + BODYSHAPE_DIGITIGRADE_T = /datum/greyscale_config/ripped_jeans/worn/digi, + ) -/obj/item/clothing/under/pants/jeans/ripped/Initialize(mapload) - . = ..() - greyscale_config_worn_bodyshapes = list() - greyscale_config_worn_bodyshapes["[BODYSHAPE_HUMANOID]"] = /datum/greyscale_config/ripped_jeans/worn - greyscale_config_worn_bodyshapes["[BODYSHAPE_DIGITIGRADE]"] = /datum/greyscale_config/ripped_jeans/worn/digi - set_greyscale(colors = greyscale_colors) /// SHORTS UPDATES @@ -76,22 +68,20 @@ digitigrade_greyscale_config_worn = null supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_DIGITIGRADE) - bodyshape_icon_files = list(BODYSHAPE_HUMANOID_T = 'modular_doppler/modular_cosmetics/icons/mob/under/pants.dmi', - BODYSHAPE_DIGITIGRADE_T = 'modular_doppler/modular_cosmetics/icons/mob/under/pants_digi.dmi') - -/obj/item/clothing/under/shorts/Initialize(mapload) - . = ..() - greyscale_config_worn_bodyshapes = list() - greyscale_config_worn_bodyshapes["[BODYSHAPE_HUMANOID]"] = /datum/greyscale_config/shorts/worn - greyscale_config_worn_bodyshapes["[BODYSHAPE_DIGITIGRADE]"] = /datum/greyscale_config/shorts/worn/digi - set_greyscale(colors = greyscale_colors) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/modular_cosmetics/icons/mob/under/pants.dmi', + BODYSHAPE_DIGITIGRADE_T = 'modular_doppler/modular_cosmetics/icons/mob/under/pants_digi.dmi', + ) + greyscale_config_worn_bodyshapes = list( + BODYSHAPE_HUMANOID_T = /datum/greyscale_config/shorts/worn, + BODYSHAPE_DIGITIGRADE_T = /datum/greyscale_config/shorts/worn/digi, + ) -/obj/item/clothing/under/shorts/jeanshorts/Initialize(mapload) - . = ..() - greyscale_config_worn_bodyshapes = list() - greyscale_config_worn_bodyshapes["[BODYSHAPE_HUMANOID]"] = /datum/greyscale_config/jeanshorts/worn - greyscale_config_worn_bodyshapes["[BODYSHAPE_DIGITIGRADE]"] = /datum/greyscale_config/jeanshorts/worn/digi - set_greyscale(colors = greyscale_colors) +/obj/item/clothing/under/shorts/jeanshorts + greyscale_config_worn_bodyshapes = list( + BODYSHAPE_HUMANOID_T = /datum/greyscale_config/jeanshorts/worn, + BODYSHAPE_DIGITIGRADE_T = /datum/greyscale_config/jeanshorts/worn/digi, + ) /obj/item/clothing/under/shorts/shorter name = "short shorts" @@ -100,13 +90,10 @@ post_init_icon_state = "shortshorts" greyscale_config = /datum/greyscale_config/skimpypants greyscale_config_worn = /datum/greyscale_config/skimpypants/worn - -/obj/item/clothing/under/shorts/shorter/Initialize(mapload) - . = ..() - greyscale_config_worn_bodyshapes = list() - greyscale_config_worn_bodyshapes["[BODYSHAPE_HUMANOID]"] = /datum/greyscale_config/skimpypants/worn - greyscale_config_worn_bodyshapes["[BODYSHAPE_DIGITIGRADE]"] = /datum/greyscale_config/skimpypants/worn/digi - set_greyscale(colors = greyscale_colors) + greyscale_config_worn_bodyshapes = list( + BODYSHAPE_HUMANOID_T = /datum/greyscale_config/skimpypants/worn, + BODYSHAPE_DIGITIGRADE_T = /datum/greyscale_config/skimpypants/worn/digi, + ) /obj/item/clothing/under/shorts/shorter/shortest name = "shortest shorts" From 53d65f903b128762f7910c377b32fba17a221abe Mon Sep 17 00:00:00 2001 From: nikothedude <59709059+nikothedude@users.noreply.github.com> Date: Mon, 19 Jan 2026 17:53:27 -0500 Subject: [PATCH 35/52] reviews --- .../under/accessories/_accessories.dm | 2 +- .../research/techweb/nodes/cyborg_nodes.dm | 6 -- .../modular_species/autogen_clothing.dm | 10 +++ .../prosthetics/mechfabricator_designs.dm | 60 ------------- .../teshari/prosthetics/robot_bodyparts.dm | 88 ------------------- .../code/human_update_icons.dm | 13 +++ 6 files changed, 24 insertions(+), 155 deletions(-) diff --git a/code/modules/clothing/under/accessories/_accessories.dm b/code/modules/clothing/under/accessories/_accessories.dm index b3cfb741f482e1..99df40ea163440 100644 --- a/code/modules/clothing/under/accessories/_accessories.dm +++ b/code/modules/clothing/under/accessories/_accessories.dm @@ -138,7 +138,7 @@ if (shape != BODYSHAPE_HUMANOID) // EVERYTHING has this break // DOPPLER EDIT END - var/mutable_appearance/appearance = mutable_appearance(local_worn_icon, icon_state) // DOPPLER SHIFT EDIT + var/mutable_appearance/appearance = mutable_appearance(local_worn_icon, icon_state) // DOPPLER SHIFT EDIT - was var/mutable_appearance/appearance = mutable_appearance(worn_icon, icon_state) appearance.alpha = alpha appearance.color = color return appearance diff --git a/code/modules/research/techweb/nodes/cyborg_nodes.dm b/code/modules/research/techweb/nodes/cyborg_nodes.dm index 04acbb4d205979..5c99ef76346adb 100644 --- a/code/modules/research/techweb/nodes/cyborg_nodes.dm +++ b/code/modules/research/techweb/nodes/cyborg_nodes.dm @@ -55,12 +55,6 @@ "advanced_r_arm", "advanced_l_leg", "advanced_r_leg", - // DOPPLER EDIT ADDITION BEGIN - "teshari_advanced_l_arm", - "teshari_advanced_r_arm", - "teshari_advanced_l_leg", - "teshari_advanced_r_leg", - // DOPPLER EDIT END "borg_upgrade_rename", "borg_upgrade_restart", ) diff --git a/modular_doppler/modular_species/autogen_clothing.dm b/modular_doppler/modular_species/autogen_clothing.dm index cbf1024264553d..6a65fdafeb29f6 100644 --- a/modular_doppler/modular_species/autogen_clothing.dm +++ b/modular_doppler/modular_species/autogen_clothing.dm @@ -134,6 +134,16 @@ GLOBAL_LIST_EMPTY(bodyshape_autogen_clothing_cache) return final_icon +/** + * Modifies the autogenerated sprite, final_icon, by [bodyshape_text] and the bodyshapes found in [all_bodyshapes]. Used for making autogenerated sprites + * fit better. + * + * Args: + * * icon/final_icon: The icon to be modified. + * * bodyshape_text: The stringified bodyshape this autogenerated sprite was created for. + * * all_bodyshapes: The bitfield of the wearer's bodyshapes. + * * item_slot: The item slot the icon was generated for. + */ /obj/item/proc/do_bodyshape_modifiers(icon/final_icon, bodyshape_text, all_bodyshapes, item_slot) if (bodyshape_text == BODYSHAPE_SNOUTED_T && (all_bodyshapes & BODYSHAPE_TESHARI)) if ((item_slot == OFFSET_FACEMASK || item_slot == OFFSET_HEAD) && (supported_bodyshapes & BODYSHAPE_SNOUTED)) diff --git a/modular_doppler/modular_species/species_types/teshari/prosthetics/mechfabricator_designs.dm b/modular_doppler/modular_species/species_types/teshari/prosthetics/mechfabricator_designs.dm index b89662bee9f646..b5f4433ef78762 100644 --- a/modular_doppler/modular_species/species_types/teshari/prosthetics/mechfabricator_designs.dm +++ b/modular_doppler/modular_species/species_types/teshari/prosthetics/mechfabricator_designs.dm @@ -69,65 +69,5 @@ RND_CATEGORY_MECHFAB_CYBORG + RND_SUBCATEGORY_MECHFAB_CYBORG_RAPTORAL, ) -/datum/design/teshari_advanced_l_arm - name = "Advanced Raptoral Cybernetic Left Forelimb" - id = "teshari_advanced_l_arm" - build_type = MECHFAB - build_path = /obj/item/bodypart/arm/left/robot/android/teshari_advanced - materials = list( - /datum/material/iron = SHEET_MATERIAL_AMOUNT * 9, - /datum/material/titanium = SHEET_MATERIAL_AMOUNT * 3, - /datum/material/gold = SHEET_MATERIAL_AMOUNT * 3, - ) - construction_time = 18 SECONDS - category = list( - RND_CATEGORY_CYBERNETICS + RND_SUBCATEGORY_CYBERNETICS_ADVANCED_RAPTORAL, - ) - -/datum/design/teshari_advanced_r_arm - name = "Advanced Raptoral Cybernetic Right Forelimb" - id = "teshari_advanced_r_arm" - build_type = MECHFAB - build_path = /obj/item/bodypart/arm/right/robot/android/teshari_advanced - materials = list( - /datum/material/iron = SHEET_MATERIAL_AMOUNT * 9, - /datum/material/titanium = SHEET_MATERIAL_AMOUNT * 3, - /datum/material/gold = SHEET_MATERIAL_AMOUNT * 3, - ) - construction_time = 18 SECONDS - category = list( - RND_CATEGORY_CYBERNETICS + RND_SUBCATEGORY_CYBERNETICS_ADVANCED_RAPTORAL, - ) - -/datum/design/teshari_advanced_l_leg - name = "Advanced Raptoral Cybernetic Left Hindlimb" - id = "teshari_advanced_l_leg" - build_type = MECHFAB - build_path = /obj/item/bodypart/leg/left/robot/android/teshari_advanced - materials = list( - /datum/material/iron = SHEET_MATERIAL_AMOUNT * 9, - /datum/material/titanium = SHEET_MATERIAL_AMOUNT * 3, - /datum/material/gold = SHEET_MATERIAL_AMOUNT * 3, - ) - construction_time = 18 SECONDS - category = list( - RND_CATEGORY_CYBERNETICS + RND_SUBCATEGORY_CYBERNETICS_ADVANCED_RAPTORAL, - ) - -/datum/design/teshari_advanced_r_leg - name = "Advanced Raptoral Cybernetic Right Hindlimb" - id = "teshari_advanced_r_leg" - build_type = MECHFAB - build_path = /obj/item/bodypart/leg/right/robot/android/teshari_advanced - materials = list( - /datum/material/iron = SHEET_MATERIAL_AMOUNT * 9, - /datum/material/titanium = SHEET_MATERIAL_AMOUNT * 3, - /datum/material/gold = SHEET_MATERIAL_AMOUNT * 3, - ) - construction_time = 18 SECONDS - category = list( - RND_CATEGORY_CYBERNETICS + RND_SUBCATEGORY_CYBERNETICS_ADVANCED_RAPTORAL, - ) - #undef RND_SUBCATEGORY_MECHFAB_CYBORG_RAPTORAL #undef RND_SUBCATEGORY_CYBERNETICS_ADVANCED_RAPTORAL diff --git a/modular_doppler/modular_species/species_types/teshari/prosthetics/robot_bodyparts.dm b/modular_doppler/modular_species/species_types/teshari/prosthetics/robot_bodyparts.dm index 3bbd90ba4a276f..843bc6bb9ff31a 100644 --- a/modular_doppler/modular_species/species_types/teshari/prosthetics/robot_bodyparts.dm +++ b/modular_doppler/modular_species/species_types/teshari/prosthetics/robot_bodyparts.dm @@ -107,94 +107,6 @@ limb_id = "teshari" icon_state = "teshari_head" -// teshari_ advanced - -/obj/item/bodypart/arm/left/robot/android/teshari_advanced - name = "advanced left raptoral forelimb" - desc = "An advanced robotic hindlimb. Covered in a layer of reactive, membranous feathers, this limb is nearly indistinguishable from the real thing." - icon_static = 'modular_doppler/modular_species/species_types/teshari/icons/augments_teshari.dmi' - icon = 'modular_doppler/modular_species/species_types/teshari/icons/augments_teshari.dmi' - bodyshape = parent_type::bodyshape | BODYSHAPE_TESHARI - - unarmed_damage_low = TESHARI_PUNCH_LOW * 2 - unarmed_damage_high = TESHARI_PUNCH_HIGH * 3 - - brute_modifier = 0.8 - burn_modifier = 1 - - max_damage = LIMB_MAX_HP_ADVANCED - body_damage_coeff = LIMB_BODY_DAMAGE_COEFFICIENT_ADVANCED - - biological_state = (BIO_ROBOTIC|BIO_JOINTED) - - limb_id = "teshari_advanced" - icon_state = "teshari_advanced_l_arm" - -/obj/item/bodypart/arm/right/robot/android/teshari_advanced - name = "advanced right raptoral forelimb" - desc = "An advanced robotic hindlimb. Covered in a layer of reactive, membranous feathers, this limb is nearly indistinguishable from the real thing." - icon_static = 'modular_doppler/modular_species/species_types/teshari/icons/augments_teshari.dmi' - icon = 'modular_doppler/modular_species/species_types/teshari/icons/augments_teshari.dmi' - bodyshape = parent_type::bodyshape | BODYSHAPE_TESHARI - - unarmed_damage_low = TESHARI_PUNCH_LOW * 2 - unarmed_damage_high = TESHARI_PUNCH_HIGH * 3 - - brute_modifier = TESHARI_BRUTE_MODIFIER - (1 - parent_type::brute_modifier) - burn_modifier = TESHARI_BURN_MODIFIER - (1 - parent_type::brute_modifier) - - max_damage = LIMB_MAX_HP_ADVANCED - body_damage_coeff = LIMB_BODY_DAMAGE_COEFFICIENT_ADVANCED - - biological_state = (BIO_ROBOTIC|BIO_JOINTED) - - limb_id = "teshari_advanced" - icon_state = "teshari_advanced_r_arm" - -/obj/item/bodypart/leg/left/robot/android/teshari_advanced - name = "advanced left raptoral hindlimb" - desc = "An advanced robotic hindlimb. Covered in a layer of reactive, membranous feathers, this limb is nearly indistinguishable from the real thing." - icon_static = 'modular_doppler/modular_species/species_types/teshari/icons/augments_teshari.dmi' - icon = 'modular_doppler/modular_species/species_types/teshari/icons/augments_teshari.dmi' - bodyshape = parent_type::bodyshape | BODYSHAPE_TESHARI - - unarmed_damage_low = TESHARI_PUNCH_LOW * 2 - unarmed_damage_high = TESHARI_PUNCH_HIGH * 3 - - brute_modifier = TESHARI_BRUTE_MODIFIER - (1 - parent_type::brute_modifier) - burn_modifier = TESHARI_BURN_MODIFIER - (1 - parent_type::brute_modifier) - speed_modifier = -0.1 - - max_damage = LIMB_MAX_HP_ADVANCED - body_damage_coeff = LIMB_BODY_DAMAGE_COEFFICIENT_ADVANCED - - biological_state = (BIO_ROBOTIC|BIO_JOINTED) - - limb_id = "teshari_advanced" - icon_state = "teshari_advanced_l_leg" - -/obj/item/bodypart/leg/right/robot/android/teshari_advanced - name = "advanced right raptoral hindlimb" - desc = "An advanced robotic hindlimb. Covered in a layer of reactive, membranous feathers, this limb is nearly indistinguishable from the real thing." - icon_static = 'modular_doppler/modular_species/species_types/teshari/icons/augments_teshari.dmi' - icon = 'modular_doppler/modular_species/species_types/teshari/icons/augments_teshari.dmi' - bodyshape = parent_type::bodyshape | BODYSHAPE_TESHARI - - unarmed_damage_low = TESHARI_PUNCH_LOW * 2 - unarmed_damage_high = TESHARI_PUNCH_HIGH * 3 - - brute_modifier = TESHARI_BRUTE_MODIFIER - (1 - parent_type::brute_modifier) - burn_modifier = TESHARI_BURN_MODIFIER - (1 - parent_type::brute_modifier) - speed_modifier = -0.1 - - max_damage = LIMB_MAX_HP_ADVANCED - body_damage_coeff = LIMB_BODY_DAMAGE_COEFFICIENT_ADVANCED - - biological_state = (BIO_ROBOTIC|BIO_JOINTED) - - limb_id = "teshari_advanced" - icon_state = "teshari_advanced_r_leg" - #undef ROBOTIC_LIGHT_BRUTE_MSG #undef ROBOTIC_MEDIUM_BRUTE_MSG #undef ROBOTIC_HEAVY_BRUTE_MSG diff --git a/modular_doppler/species_clothes/code/human_update_icons.dm b/modular_doppler/species_clothes/code/human_update_icons.dm index 1ac0aa63ef88ba..396ed24f52f80c 100644 --- a/modular_doppler/species_clothes/code/human_update_icons.dm +++ b/modular_doppler/species_clothes/code/human_update_icons.dm @@ -1,3 +1,16 @@ +/** + * Returns a mutable appearance of [clothing], adjusted for bodyshape and offsets. Effectively the final step in update icons for clothing. + * + * Args: + * * obj/item/clothing: The clothing item we are getting a new appearance for. + * * layer: The layer the resultant appearance will be using. + * * slot: The item slot of the clothing item. OFFSET_UNIFORM, etc + * * icon_file: The DEFAULT icon file that will be used. Will be overridden by bodyshape modifiers if applicable! + * * datum/worn_feature_offset/offset: The offset to be applied to the resultant appearance, if no bodyshape override was found/created. Nullable. + * + * Returns: + * * A /mutable_appearance, either from a cache or newly created, adjusted by bodyshape and offsets. + */ /mob/living/carbon/human/proc/get_updated_worn_icon(obj/item/clothing, layer, slot, icon_file, datum/worn_feature_offset/offset) RETURN_TYPE(/mutable_appearance) From 5dee5b603cc45435518bae884c256ec7bb52a496 Mon Sep 17 00:00:00 2001 From: nikothedude <59709059+nikothedude@users.noreply.github.com> Date: Mon, 19 Jan 2026 18:01:48 -0500 Subject: [PATCH 36/52] a --- icons/map_icons/clothing/head/_head.dmi | Bin 16256 -> 15941 bytes .../code/clothing/clothing.dm | 22 +++++++++--------- .../icons/clothes/clothing_worn_teshari.dmi | Bin 0 -> 6143 bytes tgstation.dme | 1 - 4 files changed, 11 insertions(+), 12 deletions(-) create mode 100644 modular_doppler/colony_fabricator/icons/clothes/clothing_worn_teshari.dmi diff --git a/icons/map_icons/clothing/head/_head.dmi b/icons/map_icons/clothing/head/_head.dmi index e4d16f9f0c99a5a1dfe9be791470d9edc8f900a3..1c5bb44f46a313779d25e4ad9cbc128e7e5ae907 100644 GIT binary patch literal 15941 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 literal 16256 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 diff --git a/modular_doppler/colony_fabricator/code/clothing/clothing.dm b/modular_doppler/colony_fabricator/code/clothing/clothing.dm index 18e661e91dfd1c..652e0aac4cf79d 100644 --- a/modular_doppler/colony_fabricator/code/clothing/clothing.dm +++ b/modular_doppler/colony_fabricator/code/clothing/clothing.dm @@ -57,8 +57,8 @@ worn_icon_state = "jacket" supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) bodyshape_icon_files = list( - BODYSHAPE_HUMANOID_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn.dmi', - BODYSHAPE_TESHARI_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn_teshari.dmi' + BODYSHAPE_HUMANOID_T = 'modular_doppler/colony_fabricator/icons/clothes/clothing_worn.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/colony_fabricator/icons/clothes/clothing_worn_teshari.dmi' ) slot_flags = ITEM_SLOT_OCLOTHING|ITEM_SLOT_NECK armor_type = /datum/armor/colonist_clothing @@ -103,8 +103,8 @@ worn_icon_state = "flak" supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) bodyshape_icon_files = list( - BODYSHAPE_HUMANOID_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn.dmi', - BODYSHAPE_TESHARI_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn_teshari.dmi' + BODYSHAPE_HUMANOID_T = 'modular_doppler/colony_fabricator/icons/clothes/clothing_worn.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/colony_fabricator/icons/clothes/clothing_worn_teshari.dmi' ) body_parts_covered = CHEST cold_protection = CHEST|GROIN @@ -159,8 +159,8 @@ worn_icon_state = "tanker" supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) bodyshape_icon_files = list( - BODYSHAPE_HUMANOID_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn.dmi', - BODYSHAPE_TESHARI_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn_teshari.dmi' + BODYSHAPE_HUMANOID_T = 'modular_doppler/colony_fabricator/icons/clothes/clothing_worn.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/colony_fabricator/icons/clothes/clothing_worn_teshari.dmi' ) armor_type = /datum/armor/colonist_armor resistance_flags = NONE @@ -183,12 +183,12 @@ worn_icon_state = "radio" supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) bodyshape_icon_files = list( - BODYSHAPE_HUMANOID_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn.dmi', - BODYSHAPE_TESHARI_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn_teshari.dmi' + BODYSHAPE_HUMANOID_T = 'modular_doppler/colony_fabricator/icons/clothes/clothing_worn.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/colony_fabricator/icons/clothes/clothing_worn_teshari.dmi' ) alternate_worn_layer = FACEMASK_LAYER + 0.5 subspace_transmission = FALSE -// radio_talk_sound = 'modular_doppler/kahraman_equipment/sounds/morse_signal.wav' +// radio_talk_sound = 'modular_doppler/colony_fabricator/sounds/morse_signal.wav' /obj/item/radio/headset/headset_frontier_colonist/Initialize(mapload) . = ..() @@ -225,8 +225,8 @@ worn_icon_state = "gloves" supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) bodyshape_icon_files = list( - BODYSHAPE_HUMANOID_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn.dmi', - BODYSHAPE_TESHARI_T = 'modular_doppler/kahraman_equipment/icons/clothes/clothing_worn_teshari.dmi' + BODYSHAPE_HUMANOID_T = 'modular_doppler/colony_fabricator/icons/clothes/clothing_worn.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/colony_fabricator/icons/clothes/clothing_worn_teshari.dmi' ) greyscale_colors = "#3a373e" siemens_coefficient = 0.25 // Doesn't insulate you entirely, but makes you a little more resistant diff --git a/modular_doppler/colony_fabricator/icons/clothes/clothing_worn_teshari.dmi b/modular_doppler/colony_fabricator/icons/clothes/clothing_worn_teshari.dmi new file mode 100644 index 0000000000000000000000000000000000000000..da167942a77fbe2431906d7e548ac24812ccbfff GIT binary patch literal 6143 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 RGwu&Wn(8`gl`1da{To_c`27F? literal 0 HcmV?d00001 diff --git a/tgstation.dme b/tgstation.dme index be45a80f1afb73..1e5a0665c20159 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -464,7 +464,6 @@ #include "code\__DEFINES\~doppler_defines\species_clothing_paths.dm" #include "code\__DEFINES\~doppler_defines\speech_channels.dm" #include "code\__DEFINES\~doppler_defines\strippable.dm" -#include "code\__DEFINES\~doppler_defines\techweb_nodes.dm" #include "code\__DEFINES\~doppler_defines\teshari.dm" #include "code\__DEFINES\~doppler_defines\text.dm" #include "code\__DEFINES\~doppler_defines\traits.dm" From 300d5ecf49ccbafaea25039776ec01e46d37e2cf Mon Sep 17 00:00:00 2001 From: nikothedude <59709059+nikothedude@users.noreply.github.com> Date: Mon, 19 Jan 2026 18:05:04 -0500 Subject: [PATCH 37/52] ah. okay. ill push this I Guess --- icons/map_icons/clothing/head/_head.dmi | Bin 15941 -> 16256 bytes icons/map_icons/clothing/head/beret.dmi | Bin 2907 -> 2995 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/map_icons/clothing/head/_head.dmi b/icons/map_icons/clothing/head/_head.dmi index 1c5bb44f46a313779d25e4ad9cbc128e7e5ae907..e4d16f9f0c99a5a1dfe9be791470d9edc8f900a3 100644 GIT binary patch literal 16256 zcmaKTWk8f&x9Br~bhmVaASH-&cY`QM2m(?{cO%jvp>&s^bax5@(j{FZNXO7HGjJc? z_ndRTANSlJGi-LQy?U>;CQ@5d2@jhJ8vp=26=iu{0Dyo^2!M$W{xNnbu>t@TdLKOl zH~F`&7B03bxkVqYUmqyqW}Ub%@-559=W4;;$}#%6*!e;AqVP!p zS4xU;Rs6!Y)>a3LcFX$biw**qiofiNvs+?|f}$6`9sKx{LNJz-)OCaBmxsyb*HcIJ`P*4o(*eO{|G-&DxpbN637LoyhG{Vxcs()SkkTUqp0k5;jwU8dKkGt)w4*P36v=@t~~ zH_yB>X8P@UwmK++Ma~{_Zc8^%!w@5@CPcY=`M1i_DU&*5aut_FocGfniF@BB>nq2q zX-8K~gN2_rW!{jXDN<##iw4PLYI59=KAoYyR^9L*?oOqg$9&@9_0k`U(4yv^6gYm2 zP3j(eW7~$^Y*s@lY!a6&guw=zpa}dLP$-{Z?R*#zh#OEstBf0lI@lY(kYhSw zJ!53yVT~swAtn}!^z5%`Q>}Ubs-Z0l-hUONRPfMNaZ=gYEnuubX);aVbVT_yU`uQ$ z^G8xr(g&jUv$He#>DyHYAF2F{O8?W7hy`A5?${D!YJ{ORA0<(!2!PHU^#(tvJHp%? zvKC#d8tL|I1jx!N1z{92Nx#IgcDot+EhQ;@9V9oVj%%GF|<&6ZsMlns&d^XqTY;epNzuc#$LEZ&>NJE+8Pm;St+FUqD;%s!FlDc$kA{waW?;>^PnlOET(|hOnq42?=14Y|AcAFwD>{E$J8hi|ZFr_y7DbFWn6c+$X1*;~v6*sho0=EiH_DURpm?I(Pq zRCTscsocl7^5NX?+yWnfniFFIbLc+t#MBf*#Z%P|c(%9a%Rms~&KrP^%@a6I9*Dp8 z+vKjq-1D3@Ca;s2!IzF5pAr2it?gP+N+!opLeyetO^BJ$cAM-$k=N7cE|QR({5AD5 zb2D0JbuMN>6bCDm#K7l3-}2g4@v&5_r|1||V6qeLSJ)qy_0c{z92j3Faw{{EV`J}w zB355RfVsQwA9OhxzsnhYgg;Q2dPf%)6)~*}4l*ON0^hR%PJ?|?cynLJ(HZn**;!c8 z9@`c9Cow^qi8*;5F|K78+L{(6YFC7O(ug83m{x^zDxiQUXDzuZCi}~Uy}Is{+fn_n z&XBL1kA5mzT~?3~SK$H7rVclE;t4}xWFG!ZT~p&p_mHIp>@llwb2 zv2ZK3(*8@oDVB{4w)J~Zjt~|C3DLv|B5g7TA<35)u1%>7H6o0}7k{9ZQsE;3sTF~H z$&~};jd$dWo`-#PJ$}M8_)9Gwv^BL)Bu?Dj3}L;W349A@e!r^nT34TI$%HiG^!BkN z1}^!sy+=i$s(pR?w#rW@YDck4a_#t6PR5tG^lbDe%x`zGX7FLH?|A+kc3kqi98P-B z)FJ>tJRfo+vMQ)j!dX&I*Nb9NbdsHu&F&S?n$d5VdWqa+Vq!l-O)0-P7QW4dNOTBd z=N2VuSW3xRuEI*ABbH)Un5&PpaL=wLb>owNId>w`oZ7lO0~zMD+7QIx(!$l(ySA%w z0=fMuiVzT`rr>2VYyJ2u+C8|9c_><1_qPvgd^ZLK($M;=4l5S5jjX#xhA40rrMx_G zUN!Gxd{>`eHWr{8{cJIFJQ6(-?_JYtD>DqdIJ z|J*R-pko2Ya_lKvg7$i}ns@cu;!V25McQW}BPVi@iv*?eu7hJSML|Z!t9YaSR9*V{ zDxpUw0=&3k#4tVb_)@ zEC1y#zb@PZWAa1lzO1-`c#b5^CWwE=YOjzKhi&|r>u{}9%HC06^EQYd zJ&$Gxi`n-#C_(%aM*-J(j9MSxQ6`x5e8i64Cw&z%FP<42CezmsD{o1^uyq1var1Rtkr|Ivny?E;<>*-vT zKfJeI=c*t8(-!OAV$2@Ly?2UZxl>z`Ztyq#L?GMYXa*5SHGFu%hT33Y3=nHy&xrzE z5P%XXF3b-B?@;z6^flt_G_mh=&F%c7D5`+!2eyDk+s~#S+Utq`c2ny`)5pi4wLuHC znz$ryLf|v2tCzykO(C5dU=J(3e-HPUIfB_(DP;S|(%GeuYbdqEL8#i*y*AQi|7zir zfQ3VzwO`N8+uyahNh!RbjR}C{0mdH(MA_$J*!z#jmgEp`NgPUl%9bgvinGsE@~S_7 zitz%^#t9E~Elc`s3NDHv7ZlZ;%YdP&FU84eXL;&Br581H`29~^1U+UI zg_)(L{6#IX;qIN!96{Y}DcVE21Y}uA@=YgIk2g|F>Qw*m^4VR&^zT=E?E`2jwQ54E zB_s?-fmK8l$bH>R&%+0h`HX}oNu@is40}2Iz5RFA6zI3w9ksM4ui~HukPd!A>2WBA z_>a36Y#+ft89wcN1YdUQ+>+hq7r@}Y73pt7?d4y7c z@$Fv>V-RPcEXp8KIY`21nt+RV?bBC_qD+@euw4|P|6AAc}FSi z7JZn6fo2YAsuudBI!(B$J~rHBxm_4->>2>Bb+xHlesj*HsOe+-E`z<;M_cQg`GDr9Oj?(9ir z3upHQGBFzY;+~J>yYmEf6E4pBNc>o?h+mi$r2q+%LnPrP4?vsY$sZ^j7{*{zM1h8( zyxFZh6o^>r0oQ%E-i+VWrsAHfG{-%78zKRsP_5EqW`AVN_76vDfUFwyB6iaPw>8RM z;^uYie2V~m4DB%l$ySYzV{_@|6>n6 zjQ{CY*B<)S)?gkwYf-Fkzvv+=@iQ$wT~obzr)Kf7y@#9UqI>&_QY7j=RP0Qo5-R}F31#{MH?&L_d%uNN-@1C<8~Qb9^KJvUgvulrzu^FnhP!N;U%;; z5@|uoN1*sc(g(%A4ggA|e(&p037a4}1mB{aQ(qBF0dZ$hQEUY85i6XRWyZu`{7pe2 zuI#+%$_+iBvJt1g67X53s@09Zo^HaWDFIB zfUfo3F3}%%p_5-8L#tNX?ST1t6(DF7pNqIb-b4OfZixrr0>ubAn-H{JAz{SE3{yCb z4)#FlcIwZX#W+9A~H)}g*tLATzXfaxyxJZh|O5^$j@R@BFiae5R*rO=(!{! zHvVF8nV^8>9TSk-HxFG$Yq_~D8b3gqq@LnBm9=6$Z_o<6rV&Vf+=likn~3IH0L80C z0cUXF6(HI9PE18>BkmdhL@fp@NTsvh$g7RRaMYXflB(G2Z_3#l?Uqy;u0oy#HvarD z3cQj}z)RWYGm6vGuWXjq))u3gA`8i*FLLXuzpOn0QeZiKs}Mz=u=)M?%e zmG7peDDXb$XSfLH9UURg$GL&ZlzE0TazRzh&fER|(Tq+;IvmGspF6}$}X5z*?(f7NG4&uYw zGZgLTH)9y9lucr!)-1AwVqLs_H>^P^8>g@F*3bbQ;4vNY*3R}3mIBLK^a-jJr~rg@ z-@)uK-CAxEMEL7U`&8$f3ur(cAY^|tUdmWC|Gs;v`LlbyX+T#Ds0H5dIC(uqYaqZi zZ;>&1YSxrb0uVL|=I{dnD40c;wCB{J$fJ_g2#_Zt+Uc*g zvg7{N)8q8#s;4G~buW+9TyTk9N4Q7s2-58RO<7vL9H2Jv+9ET+T$|6Re9%>i)|0YQ zU*f;lJ<wG|H%&-uYF*6tsf=kB}5NvY}F6A z_}iJ7gNMv%ydpTRbmR%|myJ2wxgpC42tGqd-AG`VoDszX9?tl|5)#;ORukiN45g~I#PdBfUdI!DQswp5OIaEj%tGg*B_hh z&R#dFud6T%VIM{9yJ@TWKT+Uh{sZ!kgzD4lu?H}UWy!1pA+_gf{)YrHky74?ME0wO z@xI>?f!yR$U1C8O`i6dX3?&IcswHHdRGP2iL!Z2RsDHC*qa4^JHnuY1xr-U_>g7+3 z5x-DDgO9cTg)N_I>*lclzq;5;9M#n#DEQ7(vg5X?n?u>fQyz<0f9=01fpT1MyRq`m zScZ^)guT%v+B9|i?IztJv(zjvS*IZO+~j)KtO?HxlVH76iv57h!h?(Uma2sZO~raK zGv~;2KI6OjnYoton8n(4>Y6Pn+Z{S%qnAb6vv*eNSB)v(R!oggQ2mxochO3Y2@o(+ zN<8O*cB}B+Kcyak)l4`pH{S1eKW_y&Z?}FnbV}X?u>Pd^FdHD_bgaxxKEjLA6+KU( z3!ADt`REQ=Y&2YS?$7e0Y_**VmpoPN)0(35-?$Ds@H|?M<2t$i@XSb*W@S+!rwCeX z>nP}HSM%`jO}kO!!P%82Erh!W*^X+V6EfzRa9kwhzyAI(3}m$Sa?QMY`s2s2Rm8lW zWaZG^?zA~VG)PUz@u!&7=8x1Q$&-mUT`BLA3DSa#-fMseU$SxRqS9#(z`MJ+u_;*P zl{4Pr6@2Ri8bVBW6y2CGc~Bx{Jg*;Bn{N^yPAFxwPh%+$^77@)zsG7B(u$m7r)qkZ zE`|lpb%FjFm*gvH89KTO`2(1(dWMfrgF>f`Wq2s6lM5T%25Sm^){!x-FE=g3hA# zdC4H(2pfM^iuqc7C=u0^p!L}AjTBjl3s9Wx!wIahBauOXE zNlM~05M;#{o)k8BDrlQwo~E>rgfc=D_}Ja$4?k!`qjW`c(O##|`?Z`wKRLVF>i1N1D=uqc{`OgKnz6ni3o~Q*7Y`b$=8L!D;}1n- zG8Y}yl0lNi)(sOt*)V-ph-hX^(<#f#>tA3U)Ha?}zRamT^^=Tvc zz3}%ldmS35IRL=g+41|fIvPm-kTPu1fudorZ@AQf*n!V316uN3cIMsK?rRh}pOXNG zzb~F8)TIfukABE5$lgjwOM<*B#^dHbkTrb$8vjY{6Y8vDm2IUbH2bvA{iY{8h?lDNEpI;VyiUFbLql>C zPfo!OZtCA$<7u|vsmS_DybGct1x4Pk|}sA}7xsp@=u!hZL#YtEYacubqhf=|;4q4*EufYKhHni>RdMa50) z)VgeNXPV(O^rF;xkUI_lcGJsb-Mh@xWfWhMpPZb^5tFrLP4~Vke`#rD1!Wrs^Om0< z3@dM#&c@)Ybz%v`r=?+)&V2ul6W<--0h)xATBWN@aCf6aU%I#@Z?YwaXUV*2c)-^>38lpZV%#;SnBh=YM$9p>#J}~gBCo8Tk%sxYiftgEfZe?;Q z#=WzXiYG;&kQKJ5qLJBW-aT2Q23uC);(z!1@o@T6oYky4Vzm^W7ZNvd-DbxnblBq7 zKLt;wR+k9?Wi_>=kv~pusB69trlX|dA9ep`JN?11HJXJ3l$4Z!q5Jt#e?8I+vQ(mx z5;{z`rmxw)yV-jxd5@^4iIly;rp~M-p7$VcC^m8oZ%`hQ)oo@YH>E6{GBikA;cR{y zy{A%8gc|zwy`Z6}_N=AC#D;p4v8IEr)s^BJvdCn$pZ8%5Nmfwy17YLmW3VH?y~V;| zv?k*+)=%A(j#ZDk|DQJKKTQ*Io5~xJJv&H$*gCoA`CL_MVn4e125K}|dgm2faP(*5 zqMtsH=GWBZu<7lInfyU5rZj5Y>Z$1UM1JVi5BETrSMN2!EHV^fGa)M;Ft*pC8F6wY zQTZ7snKz|Au=`}QWs$=5yst4aGVNg#xUY&s_TU{pBipmF4QKo}QXfb{g3wVyUHng^ zBYQ;*7Sa=vYiK&bXC%O2{aBo=^};{eG|N+RQg_nK_TBHPHYY#3)h`(YYDNOcidO$$ zGZd?;w_bmaU_D~gIyXORotyqT8SJY*LaxuxnO@W04?!6Abp|4XtT3cgI7Wwm#XB$s z-7*#Sdoz(J5V>+e@RC;1-<3-I$l!PE)+j_u2?i9Z04 z>T>D~UgpYXOEb=`Jr62n&=-B{H1g(g`ZJ2a8>9sqK<9HKWD*!?XFbu@%puh)h2~MU z%jb#$$sdGh!>FIPQT$DPu8aGwSY!5uuBxi0j*DcE$j$-UZidnQ#yy@lY1lei#847g z<%vI?N1rAGqoj^LybfEo&+*p?1>zC*3%y=H6+OV8CtIf`yG^qmKdrkdATdWmX^St^ZxDKQfAQ z0|}&LqQRsx~tdqh`yqXTsCm0#Wqio)P!&st@nA*-VU0L zZSA|&MlVFDR9w=Nf>;-~*4JmEwA&iWgsNt7_DJS!_gy2r+- zFg_+~6uII)Adv8Z2@OPVWl4TSN0`k;@b%? zUwQLAX7bzKS!_CyBl9Y01j|Nf3GZtGqU>pX?(khYC5k$l$u`3|-8_TYsbr7_pqpoK zCGh?r3ple!1%6UJ6mY2tsRLcd=oTrH$05q+{?STwy2XW;&EtDKkJ5MxA50xkY-_J2 zd!#rWc#DJu9bkx(HU*j)ROL`gF`B`3*lEz^VqRiMhX#(G^vNzVMv2}H=17}PmU&(wfF78u^yVMyvM%Iko@~F4l^ptFaVe%~0 ziQ<#4HIoy2yK2=^*V}W1^NBJr)e5{apCc{H%`WC*}0fx~Z@*fb@k1_qrQC+$33gZW7Tz06LocbkKN=#O~v1Z#lQ5g3j@}j(Po#blhwHf ze%1xQ2U3WDE7-%@PI5P|+&Dsstgfml z4Re7S!jy!Agls_zd~|zS${KfKi7e?-`&3dgmVCak(@WD1VcJ-3{}O>q5^zB2h%YTO zAp#+&1y?IBDwv-LXETzTn8Ff2$06iFm2MeU6qA0>;G>8tA>ojimh>rRSUv6x`bxm8 z*6__i-Te+byu8e9$KEB!kEXC|bU-{|#^O%ril7|VOL{YuezsHK3~=`OaU5}YQ3RzZ zCYTp>Zv+E4!tJAFcSrv;2ESG!xo)wB&#T*I_4mYeVbN3NSr>enGB!E~z{28t7G9}Y z>ugIoCd2eal*@oeA)^$M5dK zfto*t11YzpVotx+7*5?vu=QxgRsV8}_E~2Sm$}h!-hCR*lu~Qt$X!{2IFm9geot$zgH7K@kS0T=>wtJhNVYUVJj!_F=BH|!ZwfE2s{mfr_W8nQnCNTVnS_|t zC>8;}MoXqBY+^En*VczhIxC_q5>&gCrmFaH-!>anE&Gl2Ch98@*tC(31i)IQ|*I=QfPAE z?5)Y`MLhPL4^1)en=X!Ibq9mv7b{EldrtbM0D#`{-T6YmZIlYfuv$<5q9Ol|`n8W8 zpWZ7P*`d3w@V2|V+O16{DQ>JBdOJA}=k2?@XUQnkuTc)0$Qf3B9k5akNt zn7KuHGB(#zdbe4#7v9mDGKyAg_(_4`U#@FqtvtI2`+Bx~bG(4d6`yAymQ!tx+xov< z9r;5cd7M>i8|GhVkqcWe5$@-~JJpiS$&b1{S}+FPCG%q_jFIDpce77e4NNyLSq{o_ zI2}CqL6dzR2+sAtElOH)yB6#_80&aN@NeG%$bdtmso$HBCeuU@iIar3 zAAAynobawCFE8xgeae{qHfrR4%<-z>gr@Jn^!+k^`T5<4lTP@^b5PtO>iSmca}GpN zp0-2Mp>HLAv(NUNga{u#(C^Imm!P`qWl4IxMk6M~wJ=)%(;A+)wsHZXsI)PS`zgh5 zO=|7rc%XZGcW#3qaUF7S(t>PwG(X`2VDH}kMZ8*~Flyv_-T68;ur2<&TT&G-=!=gl zM(@WEL|$`GS>pgQ@Bj6&#_8n!b$d&$k1k0CFf3v!pW2F4NOD`@qRUZ~bPdV6iC^#$ zf;rXy$cO%aEyuqZSSOCSvq$nGM~c4@tLTBGI`G5Kx6Jt$o&K=Uhz0srP73$Wf&0kS z|6&v7{6IsF4*i-=YK=zqzG_?YmGb1oEZM>3NQ>@W5%@N-VRiT(NlH=J^~Lsh!K%7N z8;=B3ged#yzaAGZkG{5p*qR1N2aE+N-+z$W538k z@-5zcsLWvp;=OOq^RmcNyCcX;j{EXgn`dJ-qjB2419VUf?f8^1XfWyi(mVV)BCr@p zp|jvSj`c|9_KOF{gi=AlG4dd!z4&CG7;G@A*1kWNpkmD&b(n59qHRcf9(eONM`GVI zb+3A_LgP&>{mx!z`2h_9JeFGs@n^%IC`-h%jk$bpDn9TUilUd{t8IS>Tj*bcO3S=X zUqkyoA|V^#iW5Q3&Tv2Ht}Km2XJ$U`yXMhM+HgYvsU-`xX72Y|(*eiZ8}IxLG!zd& zp)@*jA~kBmvS42bXu)2O!I+KT54If;)JO*1U411m-QVeTC###9@&RFdRMf?@(isno z_YsNTDA4m$C7My1fhg4?h$gmurPES(6jeO`*jE&9*cvd2K1_?;lktVM)PinG9&W_|{z7Ls5<=mL@@e9m^tx-YM5NTfr2Y6E1Ht_0^%BFXHa0+5m z=-60RL{A$oqa%ksSLEu>uAH3@74c_cr$w*Ayi@86}OtNqVv`3zuo3;fqUUv^F*f{JZl1ZUn_4~%HubR@!I9SOJ zd=mNHLjWEqqdz&<;+N%*NcXb}r)FW+D7oW0Cr1k&@3}(?2)C_SxfRB7V^7*{QK0b~ zrSs?Q28P^p>N5bf=n!dc4zP(1bR;y56$ND|0_HX5dnzp20g+=S?H z(m;$zai2r3NCRDsD5#9y1AwcMO-d;_FCiC?|BleFEez3tdG@#AZJfEk1Nd--44UkY z@q(bl#`|cZmKV$Ss3;EPxxAWF@tnuPGKlw=!jLmi}tsB`8k5dxeC z7JpmGI8>+zrt4Lmb7yRaRyJdNz5S7q`?cE|?so5L`M?2iN!dkd>|-L9vx zns&+_1DfhXnkdq0GPms=9|J2(YAvjP@JULDza+yfG+C=~AG2+6H1vLSi##W4J6l@Z zK61smsBgg0X20iq%uWB$GxK#d-v@OUC}7vj{1MSFIQC9oPs#;0+6)c@&o$6xqkc{d zX@_-s{jsCO!%A)5)gepyhVMK`0L(v_YRd%3ZdYeV!zZdR)f}`tp%qdfu+T(PtZ&D1 zIw$OGtX*HER7xD5L2T@x`axgME}NYfy{}73{u~^fNGt81^xFGOD zJiSG3((%GQ%Y8qgLD7H!GXi(CAV+q>vg5w-ZgF!Z;K~EVFhom-3<464kLr173oqV> zKGqf2z#FWb+0B=(${KE|dkH3d8YS>4&Y-5=yHoFnE%R|_=g%7Ev{O^oUtG@0U47{^ z7LJ6UhL`t#ks4$+K`ig={-_lbomlNRb)ATjWz3p%uqEI?Y4SxrT|&L=%pbWmD@eIo z}F3>Dfq2qS(bqDH`S8%Bk(@@3<8#SgOmyOx`QnxgED28$qAY z2Ix^;g>TjOhbebEIkGhWDC)qr|w8xnlihefgN?G%2GG0clZkd zU_I87m6D7@i@r^z;+1J-8Nn|}ca$^Vz#M9kuQWi=L_A9y&_P{M@s$W#B{An9vx^p7 zP5-`;LE+$dWl5XzbDlp3x>907Th%4Ltt3wdQAD@!s0fI6OOF7~${GoIerOs9a06gdt#2>GJ?~>Y6CH+*kcvYJyP!SI(6@D;iuhX!}EBc!MhKU5@v&*C1|^K1k`Qv>HnnSXt$qDQk2Kxq6I*Ff4Zw z5RogP*qOx!;r?{~1tojtYHz|b=Nqn=1qqp4KBSU13E%qj(;QYxi`#p@ltwNKtYm>) ztT4)K?+jK4Gw0fZ3pAJ^ugHQxJmi_v?JZE3l51}PHqvV?jjPWd608!fVEdQc$ zg}y~89M#;%a^w#bb8(gY4V+hDE+FL1i+>)SFM^y0dL}=&DS97pi4itfKhS)pbs50- zE!Sg7s?_Ptwg2nc^Ywh+;1(WsT6V2EGji_p;VbYJW6|8NL|}zxSx6taWC* zDA3Zrm-m-WYdE% zEh%Rv0Gq6evAOGAhB0y_K9eOwUu#1(5Oxjx(hQ14rBvGI66-?3=&qk)+ zd&lz9u=ZM#iWSNA8AJU8cU;$xuY^CHQTi~~D=|ZCCCMQ%%nq+F*6G%o*k(2-V>mJB7CXN7uz?p7mmWfY9@Faw>3J-$fM>n%WzDx_Mi~2mV&8j!m zXV>;D`$!|98{Y2Ab$nGY1^~(2QaJYzT8;3?PJHP~W_ed$O5Wom=aQ(sMZt`J#C5rU zG54~@@|)5}`dBm@=KN`L@&_)-D+5Wlf6;5pOhi&qF_ZhV&(FTwD}BHl+hz*3rVEHL zI=+>4S?J+sm+re8>9E^=6ad&{)#nJ*StWd#zVBU~I*=Cb?Svh~!TLsN=Q{ig%-+E- zVuiOd)dp)et@92IFtDbv=ETI>clY(q>TXvJ^G2S>BIZ6y$hI+4!mvc-vhv*!YZx5I;?W$j0( zQwm5T(NRlClvOl-tc^1mf6|n`)j5wp-f587SSbDNgK0W^aX{UCu=orbot2WP)p)?T zRbfCp?s&9&KqCLnfv=#x!q8@%A8Qs-KV4|XRZNJ_zUE@!4WlLw9RrR?d%)afQ&O+i)WW9| zZ@GQ6Z0{?^iql39mxI_8?9nx3XJEeXjuuGx9BNTvX%}p3%+apjF6y(BorebDTCnJc zBXV_$D84TpH`tOWNDPBf2}9KLSjCa*YR_#&k?L8Y23HOErDcTmO!&xm1oUL1FEp>t zZZ6$n|x~P@=St2B5L1ifptT14k_#FR24)0ldqR`qPTPL?u90w}gHC}@a%rK>^1S?gjmU{BzT#-37n*gOolCV1U z=4C%-o@+?QA+I}1LC;ZhC7z-jP1Df(mHszq;E&ako$f{cF!1;(3b1$7qI$tryhy>D z9W6}_`M}Sf`vL)N(@U+h#MeW(Xpv2dN`=1UMyXz(f@Ie3lYV-M%ErdtWyvCK2br8| zQ}Uaq<;m@fsd(M--R#JNG5#W`Z7@`JNRq(?4Zv2n-9C(#$?ska=o|_~d7dA>{pgc} zwNpEqy^{C(REtzON`xvR@a_gP$W7SfBP8Puhg?=y*}Ov2*)u;+26wbesVl1Hvu9hV zYXzZZy#&YkLk2xK>Y7(B=U2a5?BY5+Tj*oaLFRqugElw&JQP&y+8q|f+FJx)?be^6 z2)~J>4i~SI*qX?ug-#e1B>nF$|MHV{xi&oIbN~|2ap@6`t zA+)1cXBntK0e<d!5iq+I#=1daf^>@8l_jCk$pkkHFoz0_YjnlO&yFp z^AzH;t49K=e_fs?krg)fV|`-=exg;#JH|a1*3@P{`CUxIBbLJ8iGF9Icm;@uYF%1{ z&~P4ungz@DTVUJTJL67pYcD?C+>%4|!u(`WlxFd~;HXAW&;X14-!+cPxth{ESwuvm zCe<1x1>{Wkk9vuCtxKtiAu*n*_j`!45{#k z+r2TDsz?RbCEBQibuv9z5g0HI5r}F2=LS^mUephWNRR!zeDydFG??>__8)Cr4s$Kk zCqHRj$+MIab#;j-aw3|pcRt27Ci&P!C7JONkD$XQ-P& zTF!}<^>mmk$xjt((W8U)@-fcgQxip;+=Lq;tYkG(UrtKN%BQg+Or^KONKnE2$WKO% znbs!!Q+`~$7Jk8P#qev&^zWXb@`RHd(lJyJuFVNf!)lUvI(EGxDbPK%$dt{J=IGN( zAW1cZaEZiA%X4|4oRLMX_nL#@oET@dl29!osU=jKzzC%qZ5=+wRyP|Lj(<}Y157;C z^~o)|6X=U36m}EQ_l}($I#mD$l?z5|V3QdU@G(!isz)L_RO=1cChBvV=#Uhxh&{vN zqfGdya9{fWX9AsY=X`?MKBqfED1AvY7qX$RByd z-w;q!g*;SZCnNKn$?JR09yzt~m7BP-EWbhU)BR#YLYn`(5sVVc=4k)y*V^vE$L8++ zrxf#r`R4nt+7lLQeVEx_=Sn-!@4&u9+^<_Wrow)lg;wn{<`5T&H(eHoA5(6?nZ+_e zpU^O7CQkxd53RTI>) z$v1iNFvccW1M4UF%L+Pt={8B95~9kuiZAT{4E%UU11PA3+}^-8j}7Tf`fd}dz{9BN z@EQIK;Y9Xc^$>X<|1;%9YrcFeUX1@CESse-gsEN9=by_2LzShgBkCmOnf*(Y-tAD| z6SOW@nEk&=1ro7Yn1f6ww`i+rE~gx~7c7+9?E)D)pHhevjM(g8vWP$;8V5 literal 15941 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 diff --git a/icons/map_icons/clothing/head/beret.dmi b/icons/map_icons/clothing/head/beret.dmi index 927fff83023cb764ba78ab375f745e388b021120..8122ae8b2e87343199f942ec088451a8a483723e 100644 GIT binary patch delta 2546 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 Date: Tue, 20 Jan 2026 13:07:31 -0500 Subject: [PATCH 38/52] fack --- .../code/storage/medical/base_overrides.dm | 8 ++++++++ .../species_types/teshari/teshari_clothes.dm | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/modular_doppler/modular_cosmetics/code/storage/medical/base_overrides.dm b/modular_doppler/modular_cosmetics/code/storage/medical/base_overrides.dm index b1141ec9847b63..dca9bafde4497a 100644 --- a/modular_doppler/modular_cosmetics/code/storage/medical/base_overrides.dm +++ b/modular_doppler/modular_cosmetics/code/storage/medical/base_overrides.dm @@ -3,21 +3,29 @@ icon_state = "backpack_medical" worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/storage/medical.dmi' icon = 'modular_doppler/modular_cosmetics/icons/obj/storage/medical.dmi' + supported_bodyshapes = null + bodyshape_icon_files = null /obj/item/storage/backpack/chemistry icon_state = "backpack_chemistry" worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/storage/medical.dmi' icon = 'modular_doppler/modular_cosmetics/icons/obj/storage/medical.dmi' + supported_bodyshapes = null + bodyshape_icon_files = null /obj/item/storage/backpack/virology icon_state = "backpack_virology" worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/storage/medical.dmi' icon = 'modular_doppler/modular_cosmetics/icons/obj/storage/medical.dmi' + supported_bodyshapes = null + bodyshape_icon_files = null /obj/item/storage/backpack/coroner icon_state = "backpack_coroner" worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/storage/medical.dmi' icon = 'modular_doppler/modular_cosmetics/icons/obj/storage/medical.dmi' + supported_bodyshapes = null + bodyshape_icon_files = null // Messenger Bags /obj/item/storage/backpack/messenger/med diff --git a/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm b/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm index 3bdd96cbc1434d..e07fd8a0b8bb49 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm @@ -195,6 +195,10 @@ BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/back.dmi' ) +/obj/item/storage/backpack/messenger + supported_bodyshapes = null + bodyshape_icon_files = null + /obj/item/gravity_harness supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) bodyshape_icon_files = list( From 437c736c9ee1436fd37c015deaec60fdc1b749b4 Mon Sep 17 00:00:00 2001 From: nikothedude <59709059+nikothedude@users.noreply.github.com> Date: Tue, 20 Jan 2026 15:58:13 -0500 Subject: [PATCH 39/52] yay --- .../code/belt/crusaderbelt.dm | 2 ++ .../modular_cosmetics/code/belt/rigs.dm | 2 ++ .../modular_cosmetics/code/eyes/mining.dm | 2 ++ .../modular_cosmetics/code/face/glasses.dm | 24 ++++++++++++++++++- .../code/storage/medical/backpacks.dm | 2 ++ .../modular_items/code/invisible_gear.dm | 5 +++- .../species_types/teshari/teshari_clothes.dm | 2 +- .../code/coalition/clothing.dm | 2 ++ .../super_glasses/code/techno_visors.dm | 2 ++ 9 files changed, 40 insertions(+), 3 deletions(-) diff --git a/modular_doppler/modular_cosmetics/code/belt/crusaderbelt.dm b/modular_doppler/modular_cosmetics/code/belt/crusaderbelt.dm index b17c8c8bf1c495..60c53c500cbfe1 100644 --- a/modular_doppler/modular_cosmetics/code/belt/crusaderbelt.dm +++ b/modular_doppler/modular_cosmetics/code/belt/crusaderbelt.dm @@ -9,6 +9,8 @@ w_class = WEIGHT_CLASS_BULKY // Can't fit a sheath in your bag. interaction_flags_click = NEED_DEXTERITY storage_type = /datum/storage/belt/crusader + supported_bodyshapes = null + bodyshape_icon_files = null /obj/item/storage/belt/crusader/Initialize(mapload) . = ..() diff --git a/modular_doppler/modular_cosmetics/code/belt/rigs.dm b/modular_doppler/modular_cosmetics/code/belt/rigs.dm index ff0037eed84390..2c3e5206c8dc4b 100644 --- a/modular_doppler/modular_cosmetics/code/belt/rigs.dm +++ b/modular_doppler/modular_cosmetics/code/belt/rigs.dm @@ -16,6 +16,8 @@ RESKIN_WORN_ICON_STATE = "evilwebbing" ) ) + supported_bodyshapes = null + bodyshape_icon_files = null //preloaded variant for a security loadout package /obj/item/storage/belt/military/pouches/security_gunner_package diff --git a/modular_doppler/modular_cosmetics/code/eyes/mining.dm b/modular_doppler/modular_cosmetics/code/eyes/mining.dm index 563544676aa051..8df8a5dbd37590 100644 --- a/modular_doppler/modular_cosmetics/code/eyes/mining.dm +++ b/modular_doppler/modular_cosmetics/code/eyes/mining.dm @@ -13,6 +13,8 @@ color_cutoffs = list(15, 15, 5) resistance_flags = FIRE_PROOF glass_colour_type = /datum/client_colour/glass_colour/yellow + supported_bodyshapes = null + bodyshape_icon_files = null /obj/item/clothing/glasses/mining_meson/attack_self(mob/living/user) adjust_visor(user) diff --git a/modular_doppler/modular_cosmetics/code/face/glasses.dm b/modular_doppler/modular_cosmetics/code/face/glasses.dm index 8b4df7ce07dcca..74c59bb17f6b09 100644 --- a/modular_doppler/modular_cosmetics/code/face/glasses.dm +++ b/modular_doppler/modular_cosmetics/code/face/glasses.dm @@ -6,6 +6,11 @@ /obj/item/clothing/glasses/eyepatch/wrap name = "eye wrap" desc = "A glorified bandage. At least this one's actually made for your head..." + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/modular_cosmetics/icons/mob/face/glasses.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/eyes.dmi' + ) icon = 'modular_doppler/modular_cosmetics/icons/obj/face/glasses.dmi' worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/face/glasses.dmi' icon_state = "eyewrap" @@ -16,6 +21,11 @@ desc = "This is what happens when a pirate gets a PhD." icon = 'modular_doppler/modular_cosmetics/icons/obj/face/glasses.dmi' worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/face/glasses.dmi' + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/modular_cosmetics/icons/mob/face/glasses.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/eyes.dmi' + ) icon_state = "eyepatch_white" base_icon_state = "eyepatch_white" @@ -79,6 +89,11 @@ desc = "A simple HUD designed to interface with optical nerves of a lost eye. This one seems busted." icon = 'modular_doppler/modular_cosmetics/icons/obj/face/glasses.dmi' worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/face/glasses.dmi' + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/modular_cosmetics/icons/mob/face/glasses.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/eyes.dmi' + ) icon_state = "hudpatch" base_icon_state = "hudpatch" inhand_icon_state = "sunhudmed" @@ -235,6 +250,8 @@ worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/face/glasses.dmi' icon_state = "obsoletefold" base_icon_state = "obsoletefold" + supported_bodyshapes = null + bodyshape_icon_files = null /obj/item/clothing/glasses/hud/eyepatch/sec/blindfold name = "sec blindfold HUD" @@ -269,6 +286,8 @@ /obj/item/clothing/glasses/hud/ar name = "\improper AR glasses" icon = 'icons/obj/clothing/glasses.dmi' + supported_bodyshapes = null + bodyshape_icon_files = null icon_state = "glasses_regular" desc = "A heads-up display that provides important info in (almost) real time. These don't really seem to work" actions_types = list(/datum/action/item_action/toggle_mode) @@ -418,6 +437,8 @@ icon_state = "aviator" icon = 'modular_doppler/modular_cosmetics/icons/obj/face/glasses.dmi' worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/face/glasses.dmi' + supported_bodyshapes = null + bodyshape_icon_files = null // Security Aviators /obj/item/clothing/glasses/hud/ar/aviator/security @@ -623,7 +644,8 @@ greyscale_config = /datum/greyscale_config/recolorable_glasses greyscale_config_worn = /datum/greyscale_config/recolorable_glasses/worn flags_1 = IS_PLAYER_COLORABLE_1 - + supported_bodyshapes = null + bodyshape_icon_files = null #undef MODE_OFF #undef MODE_OFF_FLASH_PROTECTION diff --git a/modular_doppler/modular_cosmetics/code/storage/medical/backpacks.dm b/modular_doppler/modular_cosmetics/code/storage/medical/backpacks.dm index 9e605601f0d3d6..070c4e3257b351 100644 --- a/modular_doppler/modular_cosmetics/code/storage/medical/backpacks.dm +++ b/modular_doppler/modular_cosmetics/code/storage/medical/backpacks.dm @@ -4,3 +4,5 @@ icon_state = "duffel_paramed" worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/storage/medical.dmi' icon = 'modular_doppler/modular_cosmetics/icons/obj/storage/medical.dmi' + supported_bodyshapes = null + bodyshape_icon_files = null diff --git a/modular_doppler/modular_items/code/invisible_gear.dm b/modular_doppler/modular_items/code/invisible_gear.dm index d8bbd40b42fb70..0f15ca763489bc 100644 --- a/modular_doppler/modular_items/code/invisible_gear.dm +++ b/modular_doppler/modular_items/code/invisible_gear.dm @@ -9,6 +9,8 @@ icon = 'modular_doppler/modular_items/icons/belts.dmi' lefthand_file = 'modular_doppler/modular_items/icons/belt_lefthand.dmi' righthand_file = 'modular_doppler/modular_items/icons/belt_righthand.dmi' + supported_bodyshapes = null + bodyshape_icon_files = null /obj/item/storage/belt/utility/invisible/Initialize(mapload) . = ..() @@ -25,7 +27,8 @@ icon = 'modular_doppler/modular_items/icons/belts.dmi' lefthand_file = 'modular_doppler/modular_items/icons/belt_lefthand.dmi' righthand_file = 'modular_doppler/modular_items/icons/belt_righthand.dmi' - + supported_bodyshapes = null + bodyshape_icon_files = null /obj/item/storage/belt/medical/invisible/Initialize(mapload) . = ..() diff --git a/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm b/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm index e07fd8a0b8bb49..3629a5a1a6f088 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm @@ -233,7 +233,7 @@ /obj/item/storage/belt/medical supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) bodyshape_icon_files = list( - BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/belt.dmi', + BODYSHAPE_HUMANOID_T = 'modular_doppler/modular_cosmetics/icons/mob/storage/medical.dmi', BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/belt.dmi' ) diff --git a/modular_doppler/species_clothes/code/coalition/clothing.dm b/modular_doppler/species_clothes/code/coalition/clothing.dm index d3b57e97904e1f..0d6ab0b9f0b47f 100644 --- a/modular_doppler/species_clothes/code/coalition/clothing.dm +++ b/modular_doppler/species_clothes/code/coalition/clothing.dm @@ -46,6 +46,8 @@ lefthand_file = 'modular_doppler/species_clothes/icons/generic/lefthand.dmi' righthand_file = 'modular_doppler/species_clothes/icons/generic/righthand.dmi' inhand_icon_state = null + supported_bodyshapes = null + bodyshape_icon_files = null /obj/item/clothing/glasses/tajaran_hud/Initialize(mapload) . = ..() diff --git a/modular_doppler/super_glasses/code/techno_visors.dm b/modular_doppler/super_glasses/code/techno_visors.dm index b951cd65db4c9a..b67bd0dc8ef3e6 100644 --- a/modular_doppler/super_glasses/code/techno_visors.dm +++ b/modular_doppler/super_glasses/code/techno_visors.dm @@ -7,6 +7,8 @@ icon = 'modular_doppler/super_glasses/icons/visors.dmi' icon_state = "black" worn_icon = 'modular_doppler/super_glasses/icons/worn/visors.dmi' + supported_bodyshapes = null + bodyshape_icon_files = null worn_icon_state = "black" obj_flags = UNIQUE_RENAME | INFINITE_RESKIN uses_advanced_reskins = TRUE From f24367c09e41eaaf8d93b87b3c8f4f0303142e9d Mon Sep 17 00:00:00 2001 From: nikothedude <59709059+nikothedude@users.noreply.github.com> Date: Tue, 20 Jan 2026 16:10:28 -0500 Subject: [PATCH 40/52] temp fix --- modular_doppler/modular_cosmetics/code/under/under.dm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modular_doppler/modular_cosmetics/code/under/under.dm b/modular_doppler/modular_cosmetics/code/under/under.dm index 4c94f6efd36b59..5b8a95ef986f95 100644 --- a/modular_doppler/modular_cosmetics/code/under/under.dm +++ b/modular_doppler/modular_cosmetics/code/under/under.dm @@ -19,6 +19,11 @@ if (shape != BODYSHAPE_HUMANOID) // EVERYTHING has this return accessory_overlay // dont modify + // TEMPORARY TM ONLY FIX - Accesories are cached when they shouldnt be. Thus tesh accessories stack their offset forever + // REMOVE THIS ONCE WE FIX THIS ON TG + accessory_overlay.pixel_w = 0 + accessory_overlay.pixel_z = 0 + // Temporary fix end my_chest?.worn_accessory_offset?.apply_offset(accessory_overlay) return accessory_overlay From 3aa63bf6c1db31d63a8579b2bf7e9cc71a5ee3c2 Mon Sep 17 00:00:00 2001 From: nikothedude <59709059+nikothedude@users.noreply.github.com> Date: Tue, 20 Jan 2026 17:53:38 -0500 Subject: [PATCH 41/52] lore pass 1 --- .../species_types/teshari/teshari.dm | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/modular_doppler/modular_species/species_types/teshari/teshari.dm b/modular_doppler/modular_species/species_types/teshari/teshari.dm index 2e1d2b798b78e1..2bd9527f33646f 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari.dm @@ -95,15 +95,27 @@ return perk_descriptions /datum/species/teshari/get_species_description() - return list( - "todo" + var/static/desc = list( + "Short of stature, full of heart, the Teshari race has recently entered the galactic stage after a cataclysmic event wrecked their homeworld Sirisai.", + "Having - somewhat - bounced back, these agile avians are slowly spreading throughout all of space, bringing their death-worship and 'interesting' cuisine (read: carrion) with them.", ) + return desc + /datum/species/teshari/get_species_lore() - return list( - "no lore yet", + var/static/desc = list( + "A race of feathered, carnivous scavengers, the Teshari descend from the tundra moon Sirisai IV, in orbit around the much larger Sirisai Prime - a gas giant often revered and feared as a portal to the underworld. \" + "Teshari are a tribal, scattered people. Making do with scavenged and reverse-engineered technology, the Teshari roam their ruined homeworld to recover their dead, find treasures, and find a new future.", + "Teshari consider their dead sacred. In order for a soul to be \"light\", the body which houses it must be well kept. Burning a corpse is to damn a Teshari - keeping their bones, embroidering them, preserving their corpse - all ways to make a soul lighter. \ + Some Teshari are even made into meals to be consumed by their tribemates, their lovers, their friends - such an act is extremely meaningful in Teshari culture, even if outside observers are often reviled by it." + "", + "Much of Teshari history is formed, and lost, by and due to the event termed the \"Cataclysm\". Two hundred years ago, what is now understood as stray ordnance from a long-ended war struck the planet, destroying its ecosystem and \ + plunging its inhabitants into a dark age. Its colonies withered and died, many taken over by the Tiziran clan Talunan, while the planet itself was left to recover, with its massively dwindled population.", + "It is not certain if Teshari were always so self-sufficient, so obsessed with death and rememberence, but it is clear that the cataclysm boosted these ideologies massively. \ + Now, in the modern day, Teshari are seen as eerie, strange, and in violation of more than a few social norms. Yet, they find their place, as difficult as it may be sometimes." ) + return desc /datum/species/teshari/can_regenerate_mutant_feature(feature_key) if (feature_key == FEATURE_EARS || feature_key == FEATURE_TAIL_OTHER) return TRUE From 4b908a45f7a28a368675619ae2a2f64d4e71ec8c Mon Sep 17 00:00:00 2001 From: nikothedude <59709059+nikothedude@users.noreply.github.com> Date: Tue, 20 Jan 2026 18:02:36 -0500 Subject: [PATCH 42/52] AA --- .../modular_species/species_types/teshari/teshari.dm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/modular_doppler/modular_species/species_types/teshari/teshari.dm b/modular_doppler/modular_species/species_types/teshari/teshari.dm index 2bd9527f33646f..6dfffae5671489 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari.dm @@ -104,10 +104,10 @@ /datum/species/teshari/get_species_lore() var/static/desc = list( - "A race of feathered, carnivous scavengers, the Teshari descend from the tundra moon Sirisai IV, in orbit around the much larger Sirisai Prime - a gas giant often revered and feared as a portal to the underworld. \" - "Teshari are a tribal, scattered people. Making do with scavenged and reverse-engineered technology, the Teshari roam their ruined homeworld to recover their dead, find treasures, and find a new future.", + "A race of feathered, carnivous scavengers, the Teshari descend from the tundra moon Sirisai IV, in orbit around the much larger Sirisai Prime - a gas giant often revered and feared as a portal to the underworld. \ + Teshari are a tribal, scattered people. Making do with scavenged and reverse-engineered technology, the Teshari roam their ruined homeworld to recover their dead, find treasures, and find a new future.", "Teshari consider their dead sacred. In order for a soul to be \"light\", the body which houses it must be well kept. Burning a corpse is to damn a Teshari - keeping their bones, embroidering them, preserving their corpse - all ways to make a soul lighter. \ - Some Teshari are even made into meals to be consumed by their tribemates, their lovers, their friends - such an act is extremely meaningful in Teshari culture, even if outside observers are often reviled by it." + Some Teshari are even made into meals to be consumed by their tribemates, their lovers, their friends - such an act is extremely meaningful in Teshari culture, even if outside observers are often reviled by it.", "", "Much of Teshari history is formed, and lost, by and due to the event termed the \"Cataclysm\". Two hundred years ago, what is now understood as stray ordnance from a long-ended war struck the planet, destroying its ecosystem and \ plunging its inhabitants into a dark age. Its colonies withered and died, many taken over by the Tiziran clan Talunan, while the planet itself was left to recover, with its massively dwindled population.", @@ -116,6 +116,7 @@ ) return desc + /datum/species/teshari/can_regenerate_mutant_feature(feature_key) if (feature_key == FEATURE_EARS || feature_key == FEATURE_TAIL_OTHER) return TRUE From d8ba6b79303764a2aa394305c3db8e4752eb6013 Mon Sep 17 00:00:00 2001 From: nikothedude <59709059+nikothedude@users.noreply.github.com> Date: Tue, 20 Jan 2026 18:22:49 -0500 Subject: [PATCH 43/52] food --- .../modular_species/species_types/teshari/teshari.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modular_doppler/modular_species/species_types/teshari/teshari.dm b/modular_doppler/modular_species/species_types/teshari/teshari.dm index 6dfffae5671489..6a344ad8fe9065 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari.dm @@ -51,8 +51,9 @@ return 'modular_doppler/modular_species/species_types/teshari/sounds/raptorscream.ogg' /obj/item/organ/tongue/teshari - liked_foodtypes = SEAFOOD | VEGETABLES | NUTS - disliked_foodtypes = GROSS | GRAIN + liked_foodtypes = RAW | MEAT | GORE + disliked_foodtypes = GROSS | CLOTH | BUGS + toxic_foodtypes = parent_type::toxic_foodtypes | FRUIT /datum/species/teshari/prepare_human_for_preview(mob/living/carbon/human/tesh) var/base_color = "#c0965f" From 5321574ecd2ae2d355956c800d4f11d9dd2349cd Mon Sep 17 00:00:00 2001 From: nikothedude <59709059+nikothedude@users.noreply.github.com> Date: Tue, 20 Jan 2026 19:06:58 -0500 Subject: [PATCH 44/52] ok --- modular_doppler/doppler_command_uniforms/hop/overrides.dm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modular_doppler/doppler_command_uniforms/hop/overrides.dm b/modular_doppler/doppler_command_uniforms/hop/overrides.dm index 3b2ac56100e61e..87b9aaef7c00e6 100644 --- a/modular_doppler/doppler_command_uniforms/hop/overrides.dm +++ b/modular_doppler/doppler_command_uniforms/hop/overrides.dm @@ -3,6 +3,8 @@ worn_icon = 'modular_doppler/doppler_command_uniforms/hop/worn.dmi' icon_state = "uniform" inhand_icon_state = null + supported_bodyshapes = null + bodyshape_icon_files = null /obj/item/clothing/under/rank/civilian/head_of_personnel/skirt icon = 'modular_doppler/doppler_command_uniforms/hop/icon.dmi' @@ -19,6 +21,8 @@ worn_icon = 'modular_doppler/doppler_command_uniforms/hop/worn.dmi' icon_state = "jacket" inhand_icon_state = null + supported_bodyshapes = null + bodyshape_icon_files = null /obj/item/clothing/head/hats/hopcap icon = 'modular_doppler/doppler_command_uniforms/hop/icon.dmi' @@ -31,6 +35,8 @@ worn_icon = 'modular_doppler/doppler_command_uniforms/hop/worn.dmi' icon_state = "wintercoat" inhand_icon_state = null + supported_bodyshapes = null + bodyshape_icon_files = null /obj/item/clothing/head/hooded/winterhood/hop icon = 'modular_doppler/doppler_command_uniforms/hop/icon.dmi' From 023e19e4d20e573db3e865cdca5639608698ffdc Mon Sep 17 00:00:00 2001 From: nikothedude <59709059+nikothedude@users.noreply.github.com> Date: Tue, 20 Jan 2026 20:48:45 -0500 Subject: [PATCH 45/52] it just works --- .../organs/internal/cyberimp/augments_internal.dm | 2 +- .../modular_species/species_types/teshari/teshari.dm | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/code/modules/surgery/organs/internal/cyberimp/augments_internal.dm b/code/modules/surgery/organs/internal/cyberimp/augments_internal.dm index ae88ccb3105335..6465fe7ff79f1e 100644 --- a/code/modules/surgery/organs/internal/cyberimp/augments_internal.dm +++ b/code/modules/surgery/organs/internal/cyberimp/augments_internal.dm @@ -34,7 +34,7 @@ /obj/item/organ/cyberimp/on_bodypart_insert(obj/item/bodypart/limb) . = ..() - if (bodypart_aug) + if (bodypart_aug && !(limb.bodyshape & BODYSHAPE_TESHARI)) // DOPPLER EDIT - was if (bodypart_aug) limb.add_bodypart_overlay(bodypart_aug) /obj/item/organ/cyberimp/on_bodypart_remove(obj/item/bodypart/limb) diff --git a/modular_doppler/modular_species/species_types/teshari/teshari.dm b/modular_doppler/modular_species/species_types/teshari/teshari.dm index 6a344ad8fe9065..4a9b0bd226f423 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari.dm @@ -12,12 +12,14 @@ inherent_traits = list( TRAIT_MUTANT_COLORS, TRAIT_NO_UNDERWEAR, + TRAIT_STRONG_STOMACH ) mutantears = /obj/item/organ/ears/teshari digitigrade_customization = DIGITIGRADE_NEVER changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT payday_modifier = 1.0 mutanttongue = /obj/item/organ/tongue/teshari + mutanteyes = /obj/item/organ/eyes/teshari coldmod = TESHARI_COLDMOD heatmod = TESHARI_HEATMOD bodytemp_normal = BODYTEMP_NORMAL + TESHARI_TEMP_OFFSET @@ -50,6 +52,9 @@ /datum/species/teshari/get_scream_sound(mob/living/carbon/human/human) return 'modular_doppler/modular_species/species_types/teshari/sounds/raptorscream.ogg' +/obj/item/organ/eyes/teshari + blink_animation = FALSE + /obj/item/organ/tongue/teshari liked_foodtypes = RAW | MEAT | GORE disliked_foodtypes = GROSS | CLOTH | BUGS @@ -86,6 +91,12 @@ SPECIES_PERK_NAME = "Sensitive Hearing", SPECIES_PERK_DESC = "Your ears are extremely sensitive, and can hear whispers. Unfortunately, this also increases ear damage taken..." )) + perk_descriptions += list(list( + SPECIES_PERK_TYPE = SPECIES_POSITIVE_PERK, + SPECIES_PERK_ICON = FA_ICON_BIOHAZARD, + SPECIES_PERK_NAME = "Carrion Eater", + SPECIES_PERK_DESC = "Your biology is well suited to eating stale food. You don't get disgusted, nor get diseases, from eating old or rotting food." + )) perk_descriptions += list(list( SPECIES_PERK_TYPE = SPECIES_POSITIVE_PERK, SPECIES_PERK_ICON = FA_ICON_RUNNING, From cc15c5948b5f94a938f17cb5a2a189275f0eee65 Mon Sep 17 00:00:00 2001 From: nikothedude Date: Thu, 22 Jan 2026 11:31:23 -0500 Subject: [PATCH 46/52] fixes a few sprite issues, language, broken sprites... --- .../code/language menu/language_holder.dm | 2 ++ .../modular_cosmetics/code/eyes/mining.dm | 5 +++ .../modular_cosmetics/code/hands/gloves.dm | 2 ++ .../modular_cosmetics/code/storage/belts.dm | 5 +++ .../modular_species/autogen_clothing.dm | 11 ++----- .../species_types/teshari/teshari.dm | 8 ++--- .../teshari/teshari_bodyparts.dm | 2 +- .../species_types/teshari/teshari_clothes.dm | 31 ++++++++----------- .../code/human_update_icons.dm | 2 +- .../species_clothes/code/tiziria/clothing.dm | 2 ++ 10 files changed, 35 insertions(+), 35 deletions(-) diff --git a/modular_doppler/languages/code/language menu/language_holder.dm b/modular_doppler/languages/code/language menu/language_holder.dm index 27629b53cf5b20..a1640e59400bcc 100644 --- a/modular_doppler/languages/code/language menu/language_holder.dm +++ b/modular_doppler/languages/code/language menu/language_holder.dm @@ -92,6 +92,7 @@ GLOBAL_DATUM_INIT(language_holder_adjustor, /datum/language_holder_adjustor, new /datum/language/terrum = list(LANGUAGE_ATOM), /datum/language/sylvan = list(LANGUAGE_ATOM), /datum/language/nambuni = list(LANGUAGE_ATOM), + /datum/language/schechi = list(LANGUAGE_ATOM), ) spoken_languages = list( /datum/language/common = list(LANGUAGE_ATOM), @@ -114,4 +115,5 @@ GLOBAL_DATUM_INIT(language_holder_adjustor, /datum/language_holder_adjustor, new /datum/language/terrum = list(LANGUAGE_ATOM), /datum/language/sylvan = list(LANGUAGE_ATOM), /datum/language/nambuni = list(LANGUAGE_ATOM), + /datum/language/schechi = list(LANGUAGE_ATOM), ) diff --git a/modular_doppler/modular_cosmetics/code/eyes/mining.dm b/modular_doppler/modular_cosmetics/code/eyes/mining.dm index 8df8a5dbd37590..8385e90d312e86 100644 --- a/modular_doppler/modular_cosmetics/code/eyes/mining.dm +++ b/modular_doppler/modular_cosmetics/code/eyes/mining.dm @@ -39,3 +39,8 @@ icon = 'modular_doppler/modular_cosmetics/icons/obj/eyes/mining.dmi' worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/eyes/mining.dmi' glass_colour_type = /datum/client_colour/glass_colour/blue + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/modular_cosmetics/icons/mob/eyes/mining.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi' + ) diff --git a/modular_doppler/modular_cosmetics/code/hands/gloves.dm b/modular_doppler/modular_cosmetics/code/hands/gloves.dm index aa14eaf7a80d12..c5e9b149a8ae1e 100644 --- a/modular_doppler/modular_cosmetics/code/hands/gloves.dm +++ b/modular_doppler/modular_cosmetics/code/hands/gloves.dm @@ -24,6 +24,8 @@ greyscale_config_worn = /datum/greyscale_config/armwraps/worn greyscale_colors = "#FFFFFF" flags_1 = IS_PLAYER_COLORABLE_1 + supported_bodyshapes = null + bodyshape_icon_files = null /obj/item/clothing/gloves/doppler_mining name = "mining gloves" diff --git a/modular_doppler/modular_cosmetics/code/storage/belts.dm b/modular_doppler/modular_cosmetics/code/storage/belts.dm index 496e2f90862319..20a1b7d32a5bb7 100644 --- a/modular_doppler/modular_cosmetics/code/storage/belts.dm +++ b/modular_doppler/modular_cosmetics/code/storage/belts.dm @@ -21,6 +21,11 @@ icon_state = "explorer1" worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/storage/mining.dmi' worn_icon_state = "explorer1" + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'modular_doppler/modular_cosmetics/icons/mob/storage/mining.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/belt.dmi' + ) /obj/item/storage/belt/mining/alt icon = 'modular_doppler/modular_cosmetics/icons/obj/storage/mining.dmi' diff --git a/modular_doppler/modular_species/autogen_clothing.dm b/modular_doppler/modular_species/autogen_clothing.dm index 6a65fdafeb29f6..fe660f3c6bf92c 100644 --- a/modular_doppler/modular_species/autogen_clothing.dm +++ b/modular_doppler/modular_species/autogen_clothing.dm @@ -149,15 +149,8 @@ GLOBAL_LIST_EMPTY(bodyshape_autogen_clothing_cache) if ((item_slot == OFFSET_FACEMASK || item_slot == OFFSET_HEAD) && (supported_bodyshapes & BODYSHAPE_SNOUTED)) if (!ishuman(loc)) return final_icon - var/mob/living/carbon/human/human_owner = loc - var/obj/item/bodypart/head/my_head = human_owner.get_bodypart(BODY_ZONE_HEAD) - var/datum/worn_feature_offset/selected_offset var/human_icon = bodyshape_icon_files[BODYSHAPE_SNOUTED_T] var/human_icon_state = worn_icon_state || icon_state - if(item_slot == OFFSET_HEAD) - selected_offset = my_head?.worn_head_offset - else - selected_offset = my_head?.worn_mask_offset // Did the snout variation flag lie to us? if(!icon_exists(human_icon, human_icon_state)) @@ -169,9 +162,9 @@ GLOBAL_LIST_EMPTY(bodyshape_autogen_clothing_cache) if(cached_icon) return cached_icon - // Generate muzzled icon, but offset + // Generate muzzled icon var/icon/new_icon = icon('icons/blanks/32x32.dmi', "nothing") - new_icon.Blend(icon(human_icon, human_icon_state), ICON_OVERLAY, x = selected_offset.offset_x["north"], y = selected_offset.offset_y["north"]) + new_icon.Blend(icon(human_icon, human_icon_state), ICON_OVERLAY) new_icon.Insert(new_icon, human_icon_state) set_autogen_worn_icon_cached(human_icon, human_icon_state, "m", new_icon) diff --git a/modular_doppler/modular_species/species_types/teshari/teshari.dm b/modular_doppler/modular_species/species_types/teshari/teshari.dm index 4a9b0bd226f423..66f283210e1db5 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari.dm @@ -107,12 +107,8 @@ return perk_descriptions /datum/species/teshari/get_species_description() - var/static/desc = list( - "Short of stature, full of heart, the Teshari race has recently entered the galactic stage after a cataclysmic event wrecked their homeworld Sirisai.", - "Having - somewhat - bounced back, these agile avians are slowly spreading throughout all of space, bringing their death-worship and 'interesting' cuisine (read: carrion) with them.", - ) - - return desc + return "Short of stature, full of heart, the Teshari race has recently entered the galactic stage after a cataclysmic event wrecked their homeworld Sirisai. \ + Having - somewhat - bounced back, these agile avians are slowly spreading throughout all of space, bringing their death-worship and 'interesting' cuisine (read: carrion) with them." /datum/species/teshari/get_species_lore() var/static/desc = list( diff --git a/modular_doppler/modular_species/species_types/teshari/teshari_bodyparts.dm b/modular_doppler/modular_species/species_types/teshari/teshari_bodyparts.dm index c50966cbbe7849..81480da6caf68a 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari_bodyparts.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari_bodyparts.dm @@ -1,6 +1,6 @@ /obj/item/bodypart/head/mutant/teshari icon_greyscale = BODYPART_ICON_TESHARI - bodyshape = parent_type::bodyshape | BODYSHAPE_TESHARI | BODYSHAPE_SNOUTED + bodyshape = parent_type::bodyshape | BODYSHAPE_TESHARI eyes_icon = 'modular_doppler/modular_species/species_types/teshari/icons/teshari_eyes.dmi' limb_id = SPECIES_TESHARI brute_modifier = TESHARI_BRUTE_MODIFIER diff --git a/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm b/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm index 3629a5a1a6f088..bc56990a6159bf 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari_clothes.dm @@ -252,15 +252,6 @@ BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/belt.dmi' ) - -/obj/item/storage/belt/mining - supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) - bodyshape_icon_files = list( - BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/belt.dmi', - BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/belt.dmi' - ) - - /obj/item/storage/belt/security/webbing supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) bodyshape_icon_files = list( @@ -268,14 +259,6 @@ BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/belt.dmi' ) - -/obj/item/storage/belt/mining - supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) - bodyshape_icon_files = list( - BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/belt.dmi', - BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/belt.dmi' - ) - /obj/item/tank/internals/emergency_oxygen supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) bodyshape_icon_files = list( @@ -519,6 +502,10 @@ BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/head.dmi' ) +/obj/item/clothing/head/wizard/marisa + supported_bodyshapes = null + bodyshape_icon_files = null + /obj/item/clothing/head/costume/maid_headband supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI) bodyshape_icon_files = list( @@ -539,9 +526,17 @@ supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI, BODYSHAPE_SNOUTED) bodyshape_icon_files = list( BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/mask.dmi', + BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/mask.dmi', BODYSHAPE_SNOUTED_T = 'modular_doppler/modular_cosmetics/icons/mob/face/basemask_muzzled.dmi', - BODYSHAPE_TESHARI_T = 'modular_doppler/modular_species/species_types/teshari/icons/clothing/mask.dmi' ) + +/obj/item/clothing/mask/gas/atmos + supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_SNOUTED) + bodyshape_icon_files = list( + BODYSHAPE_HUMANOID_T = 'icons/mob/clothing/mask.dmi', + BODYSHAPE_SNOUTED_T = 'modular_doppler/modular_cosmetics/icons/mob/face/basemask_muzzled.dmi', + ) + /obj/item/clothing/mask/joy supported_bodyshapes = list(BODYSHAPE_HUMANOID, BODYSHAPE_TESHARI, BODYSHAPE_SNOUTED) bodyshape_icon_files = list( diff --git a/modular_doppler/species_clothes/code/human_update_icons.dm b/modular_doppler/species_clothes/code/human_update_icons.dm index 396ed24f52f80c..299d279ecee824 100644 --- a/modular_doppler/species_clothes/code/human_update_icons.dm +++ b/modular_doppler/species_clothes/code/human_update_icons.dm @@ -36,7 +36,7 @@ icon_file = autogenerated_icon autogen_override = TRUE - var/icon/final_icon = clothing.build_worn_icon(default_layer = layer, default_icon_file = icon_file, override_file = autogen_override ? icon_file : null, humie = src) + var/icon/final_icon = clothing.build_worn_icon(default_layer = layer, default_icon_file = icon_file, override_file = (found_special_sprite || autogen_override) ? icon_file : null, humie = src) if (!autogen_override && !found_special_sprite) offset?.apply_offset(final_icon) diff --git a/modular_doppler/species_clothes/code/tiziria/clothing.dm b/modular_doppler/species_clothes/code/tiziria/clothing.dm index c34a1f16752b9a..f3ff80cf0853e8 100644 --- a/modular_doppler/species_clothes/code/tiziria/clothing.dm +++ b/modular_doppler/species_clothes/code/tiziria/clothing.dm @@ -37,6 +37,8 @@ righthand_file = 'modular_doppler/species_clothes/icons/generic/righthand.dmi' inhand_icon_state = null flags_cover = GLASSESCOVERSEYES + supported_bodyshapes = null + bodyshape_icon_files = null /obj/item/clothing/glasses/lizard_hud/Initialize(mapload) . = ..() From b89ca7d96f9a3887b1505bc664d97a9551af668b Mon Sep 17 00:00:00 2001 From: nikothedude Date: Sat, 24 Jan 2026 11:26:07 -0500 Subject: [PATCH 47/52] ok... lets give this a try... maybe itll look good --- .../modular_species/species_types/teshari/teshari_bodyparts.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_doppler/modular_species/species_types/teshari/teshari_bodyparts.dm b/modular_doppler/modular_species/species_types/teshari/teshari_bodyparts.dm index 81480da6caf68a..80876512a5565a 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari_bodyparts.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari_bodyparts.dm @@ -17,7 +17,7 @@ attached_part = src, feature_key = OFFSET_HEAD, offset_x = list("north" = 1, "south" = 1, "east" = 1, "west" = -1, "northwest" = -1, "southwest" = -1, "northeast" = 1, "southeast" = 1), - offset_y = list("north" = -5, "south" = -5, "east" = -5, "west" = -5), + offset_y = list("north" = -4, "south" = -4, "east" = -4, "west" = -4), ) worn_mask_offset = new( attached_part = src, From 0677c860de8c4298d867cbaf065b65526cf3bf5a Mon Sep 17 00:00:00 2001 From: nikothedude Date: Sat, 24 Jan 2026 11:45:44 -0500 Subject: [PATCH 48/52] have i fixed literally every issue with clothing with this --- code/modules/mob/living/carbon/human/human_update_icons.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index c8b5f39a218f83..404789cb21c8ba 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -879,6 +879,8 @@ generate/load female uniform sprites matching all previously decided variables var/using_taur_variant = FALSE if(ishuman(humie)) for(var/shape in supported_bodyshapes) + if(shape == BODYSHAPE_HUMANOID) + continue if(humie.bodyshape & shape) using_taur_variant = (shape & BODYSHAPE_TAUR_ALL) chosen_worn_icon = bodyshape_icon_files["[shape]"] From e6fd9b839c75cf1008d0aa77041fcfa0f1eedf0b Mon Sep 17 00:00:00 2001 From: nikothedude Date: Wed, 4 Feb 2026 18:48:05 -0500 Subject: [PATCH 49/52] fixes harnesses, fixes tablerun icon, reflavors tesh meat --- code/datums/components/food/edible.dm | 2 +- .../living/carbon/human/human_update_icons.dm | 11 +- .../modular_cosmetics/code/suits/basesuits.dm | 1 + .../species_types/teshari/birdman_food.dm | 107 -------------- .../species_types/teshari/teshari.dm | 2 +- .../species_types/teshari/teshari_meat.dm | 131 ++++++++++++++++++ .../species_types/teshari/teshari_tablerun.dm | 2 + tgstation.dme | 2 +- 8 files changed, 142 insertions(+), 116 deletions(-) delete mode 100644 modular_doppler/modular_species/species_types/teshari/birdman_food.dm create mode 100644 modular_doppler/modular_species/species_types/teshari/teshari_meat.dm diff --git a/code/datums/components/food/edible.dm b/code/datums/components/food/edible.dm index ca14db4c8cdaeb..a209cec771f0e8 100644 --- a/code/datums/components/food/edible.dm +++ b/code/datums/components/food/edible.dm @@ -620,7 +620,7 @@ Behavior that's still missing from this component that original food items had t var/list/extra_complexity = list(0) SEND_SIGNAL(parent, COMSIG_FOOD_GET_EXTRA_COMPLEXITY, extra_complexity) var/complexity_to_add = extra_complexity[1] - if(!HAS_TRAIT(parent, TRAIT_FOOD_CHEF_MADE) || !istype(parent, /obj/item/food)) + if(complexity_to_add > 0 && (!HAS_TRAIT(parent, TRAIT_FOOD_CHEF_MADE) || !istype(parent, /obj/item/food))) // DOPPLER EDIT - Was if(!HAS_TRAIT(parent, TRAIT_FOOD_CHEF_MADE) || !istype(parent, /obj/item/food)) return complexity_to_add // It is factory made. Soulless. var/obj/item/food/food = parent return food.crafting_complexity + complexity_to_add diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index 404789cb21c8ba..31140d863d4125 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -93,12 +93,10 @@ There are several things that need to be remembered: var/mutable_appearance/uniform_overlay //This is how non-humanoid clothing works. You check if the mob has the right bodyflag, and the clothing has the corresponding clothing flag. - //handled_by_bodyshape is used to track whether or not we successfully used an alternate sprite. It's set to TRUE to ease up on copy-paste. + //found_special_sprite/autogen_override is used to track whether or not we successfully used an alternate sprite. //icon_file MUST be set to null by default, or it causes issues. - //handled_by_bodyshape MUST be set to FALSE under the if(!icon_exists()) statement, or everything breaks. - //"override_file = handled_by_bodyshape ? icon_file : null" MUST be added to the arguments of build_worn_icon() + //"override_file = (found_special_sprite || autogen_override) ? icon_file : null" MUST be added to the arguments of build_worn_icon() //Friendly reminder that icon_exists_or_scream(file, state) is your friend when debugging this code. - var/handled_by_bodyshape = TRUE var/icon_file var/woman /// DOPPLER SHIFT ADDITION BEGIN @@ -114,6 +112,7 @@ There are several things that need to be remembered: found_special_sprite = TRUE break + var/autogen_override = FALSE if(!found_special_sprite) var/corresponding_shape = uniform.get_matching_bodyshape(src) if (!isnull(corresponding_shape)) @@ -121,6 +120,7 @@ There are several things that need to be remembered: var/autogenerated_icon = uniform.generate_autogen_worn_icon(corresponding_shape, OFFSET_UNIFORM) if(autogenerated_icon) icon_file = autogenerated_icon + autogen_override = TRUE /// DOPPLER SHIFT ADDITION END //BEGIN SPECIES HANDLING /*if((bodyshape & BODYSHAPE_DIGITIGRADE) && (uniform.supports_variations_flags & CLOTHING_DIGITIGRADE_VARIATION)) @@ -132,7 +132,6 @@ There are several things that need to be remembered: if(!icon_exists(icon_file, RESOLVE_ICON_STATE(uniform))) icon_file = DEFAULT_UNIFORM_FILE - handled_by_bodyshape = FALSE //END SPECIES HANDLING uniform_overlay = uniform.build_worn_icon( @@ -141,7 +140,7 @@ There are several things that need to be remembered: isinhands = FALSE, female_uniform = woman ? uniform.female_sprite_flags : null, override_state = target_overlay, - override_file = handled_by_bodyshape ? icon_file : null, + override_file = (found_special_sprite || autogen_override) ? icon_file : null, humie = src, /// DOPPLER SHIFT ADDITION ) diff --git a/modular_doppler/modular_cosmetics/code/suits/basesuits.dm b/modular_doppler/modular_cosmetics/code/suits/basesuits.dm index e54bea7479c109..0fe8429a180a73 100644 --- a/modular_doppler/modular_cosmetics/code/suits/basesuits.dm +++ b/modular_doppler/modular_cosmetics/code/suits/basesuits.dm @@ -68,6 +68,7 @@ greyscale_config_worn_bodyshapes = list(BODYSHAPE_HUMANOID_T = /datum/greyscale_config/labcoat/worn, BODYSHAPE_DIGITIGRADE_T = /datum/greyscale_config/labcoat/worn/digi) /obj/item/clothing/suit/toggle/labcoat/cmo + worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/suit/labcoat.dmi' icon = 'modular_doppler/modular_cosmetics/icons/obj/suit/labcoat.dmi' /// SPACESUITS diff --git a/modular_doppler/modular_species/species_types/teshari/birdman_food.dm b/modular_doppler/modular_species/species_types/teshari/birdman_food.dm deleted file mode 100644 index 29e466cf831160..00000000000000 --- a/modular_doppler/modular_species/species_types/teshari/birdman_food.dm +++ /dev/null @@ -1,107 +0,0 @@ -/obj/item/food/meat/slab/chicken/human - name = "meat" - tastes = list("tender meat" = 1) - foodtypes = MEAT | RAW | GORE - venue_value = FOOD_MEAT_HUMAN - -/obj/item/food/meat/slab/chicken/human/make_grillable() - AddComponent(/datum/component/grillable, /obj/item/food/meat/steak/chicken/human, rand(30 SECONDS, 90 SECONDS), TRUE, TRUE) - -/obj/item/food/meat/steak/chicken/human/on_microwave_cooked(datum/source, atom/source_item, cooking_efficiency = 1) - . = ..() - if(!istype(source_item, /obj/item/food/meat)) - return - - var/obj/item/food/meat/origin_meat = source_item - subjectname = origin_meat.subjectname - subjectjob = origin_meat.subjectjob - if(subjectname) - name = "[origin_meat.subjectname] meatsteak" - else if(subjectjob) - name = "[origin_meat.subjectjob] meatsteak" - -/obj/item/food/meat/slab/chicken/human/make_processable() - AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/chicken/human, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut") - -/obj/item/food/meat/steak/chicken/human - tastes = list("tender meat" = 1) - foodtypes = MEAT | GORE - -/obj/item/food/meat/rawcutlet/chicken/human - tastes = list("tender meat" = 1) - foodtypes = MEAT | RAW | GORE - -/obj/item/food/meat/cutlet/chicken/human - tastes = list("tender meat" = 1) - foodtypes = MEAT | GORE - -/obj/item/food/meat/cutlet/chicken/human/on_microwave_cooked(datum/source, atom/source_item, cooking_efficiency) - . = ..() - if(!istype(source_item, /obj/item/food/meat)) - return - - var/obj/item/food/meat/origin_meat = source_item - if(subjectname) - name = "[origin_meat.subjectname] [initial(name)]" - else if(subjectjob) - name = "[origin_meat.subjectjob] [initial(name)]" - -/obj/item/food/raw_meatball/chicken/human - name = "strange raw chicken meatball" - meatball_type = /obj/item/food/meatball/chicken/human - patty_type = /obj/item/food/raw_patty/chicken/human - -/obj/item/food/meatball/chicken/human - name = "strange chicken meatball" - -/obj/item/food/raw_patty/chicken/human - name = "strange raw chicken patty" - patty_type = /obj/item/food/patty/human/chicken - -/obj/item/food/patty/human/chicken - name = "strange chicken patty" - tastes = list("chikun" = 1) - icon_state = "chicken_patty" - -/datum/food_processor_process/meat/chicken - blacklist = list(/obj/item/food/meat/slab/chicken/human) - -/datum/food_processor_process/meat/chicken/human - input = /obj/item/food/meat/slab/chicken/human - output = /obj/item/food/raw_meatball/chicken/human - blacklist = null - -/obj/item/food/burger/human/chicken - name = "birdman sandwich" - desc = "You're pretty sure this sandwich doesn't fund a good cause..." - icon_state = "chickenburger" - food_reagents = list( - /datum/reagent/consumable/nutriment = 3, - /datum/reagent/consumable/mayonnaise = 3, - /datum/reagent/consumable/nutriment/protein = 7, - /datum/reagent/consumable/nutriment/vitamin = 1, - /datum/reagent/consumable/nutriment/fat/oil = 2, - ) - tastes = list("bun" = 2, "chikun" = 4, "Against God and Nature" = 1) - foodtypes = GRAIN | MEAT | FRIED | GORE - crafting_complexity = FOOD_COMPLEXITY_3 - venue_value = FOOD_PRICE_CHEAP - -/obj/item/food/burger/human/chicken/on_craft_completion(list/components, datum/crafting_recipe/current_recipe, atom/crafter) - . = ..() - for(var/datum/material/meat/mob_meat/mob_meat_material in custom_materials) - if(mob_meat_material.subjectname) - name = "[mob_meat_material.subjectname] burger" - else if(mob_meat_material.subjectjob) - name = "[mob_meat_material.subjectjob] burger" - -/datum/crafting_recipe/food/chickenburger/human - added_foodtypes = FRIED | GORE - name = "Birdman Sandwich" - reqs = list( - /obj/item/food/patty/human/chicken = 1, - /datum/reagent/consumable/mayonnaise = 5, - /obj/item/food/bun = 1 - ) - result = /obj/item/food/burger/human/chicken - category = CAT_BURGER diff --git a/modular_doppler/modular_species/species_types/teshari/teshari.dm b/modular_doppler/modular_species/species_types/teshari/teshari.dm index 66f283210e1db5..b68f56deeed3ef 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari.dm @@ -34,7 +34,7 @@ BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/mutant/teshari, BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/mutant/teshari, ) - meat = /obj/item/food/meat/slab/chicken/human + meat = /obj/item/food/meat/slab/chicken/teshari // species are instanced, so this is ok /// The tablerun ability we will give to our teshari. var/datum/action/innate/teshari_tablerun/tablerun diff --git a/modular_doppler/modular_species/species_types/teshari/teshari_meat.dm b/modular_doppler/modular_species/species_types/teshari/teshari_meat.dm new file mode 100644 index 00000000000000..80f630169fb472 --- /dev/null +++ b/modular_doppler/modular_species/species_types/teshari/teshari_meat.dm @@ -0,0 +1,131 @@ +#define TESHARI_QUALITY_MALUS -3 + +/obj/item/food/meat/slab/chicken/teshari + name = "teshari meat" + desc = "A slab of teshari muscle, notoriously thick and chock-full of heavy metals. Does not taste very good, and is certainly not good for you." + tastes = list("metal" = 1, "tough meat" = 1) + foodtypes = MEAT | RAW | GORE + venue_value = FOOD_MEAT_MUTANT + food_reagents = list( + /datum/reagent/consumable/nutriment/protein = 5, + /datum/reagent/consumable/nutriment/fat = 1, + /datum/reagent/consumable/nutriment/vitamin = 1, + /datum/reagent/mercury = 1, + ) + +/obj/item/food/meat/slab/chicken/teshari/Initialize(mapload) + . = ..() + + AddElement(/datum/element/quality_food_ingredient, TESHARI_QUALITY_MALUS) + RegisterSignal(src, COMSIG_FOOD_GET_EXTRA_COMPLEXITY, GLOBAL_PROC_REF(adjust_teshari_meat_quality)) + +/obj/item/food/meat/slab/chicken/teshari/make_grillable() + AddComponent(/datum/component/grillable, /obj/item/food/meat/steak/chicken/teshari, rand(30 SECONDS, 90 SECONDS), TRUE, TRUE) + +/obj/item/food/meat/slab/chicken/teshari/make_processable() + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/chicken/teshari, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut") + +/obj/item/food/meat/steak/chicken/teshari + name = "teshari steak" + desc = "A prepared slab of teshari muscle. Marginally better tasting. Still as unhealthy." + tastes = list("metal" = 1, "tough meat" = 1) + foodtypes = MEAT | GORE + food_reagents = list( + /datum/reagent/consumable/nutriment/protein = 5, + /datum/reagent/consumable/nutriment/fat = 1, + /datum/reagent/consumable/nutriment/vitamin = 1, + /datum/reagent/mercury = 1, + ) + +/obj/item/food/meat/steak/chicken/teshari/Initialize(mapload) + . = ..() + + AddElement(/datum/element/quality_food_ingredient, TESHARI_QUALITY_MALUS) + RegisterSignal(src, COMSIG_FOOD_GET_EXTRA_COMPLEXITY, GLOBAL_PROC_REF(adjust_teshari_meat_quality)) + +/obj/item/food/meat/rawcutlet/chicken/teshari + name = "raw teshari cutlet" + tastes = list("metal" = 1, "tough meat" = 1) + foodtypes = MEAT | RAW | GORE + food_reagents = list(/datum/reagent/consumable/nutriment/protein = 2, /datum/reagent/mercury = 0.2) + +/obj/item/food/meat/rawcutlet/chicken/teshari/Initialize(mapload) + . = ..() + + AddElement(/datum/element/quality_food_ingredient, TESHARI_QUALITY_MALUS) + RegisterSignal(src, COMSIG_FOOD_GET_EXTRA_COMPLEXITY, GLOBAL_PROC_REF(adjust_teshari_meat_quality)) + +/obj/item/food/meat/cutlet/chicken/teshari + name = "teshari cutlet" + tastes = list("metal" = 1, "tough meat" = 1) + foodtypes = MEAT | GORE + food_reagents = list(/datum/reagent/consumable/nutriment/protein = 2, /datum/reagent/mercury = 0.2) + +/obj/item/food/meat/cutlet/chicken/teshari/Initialize(mapload) + . = ..() + + AddElement(/datum/element/quality_food_ingredient, TESHARI_QUALITY_MALUS) + RegisterSignal(src, COMSIG_FOOD_GET_EXTRA_COMPLEXITY, GLOBAL_PROC_REF(adjust_teshari_meat_quality)) + +/obj/item/food/raw_meatball/chicken/teshari + name = "raw teshari meatball" + tastes = list("metal" = 1, "tough meat" = 1) + meatball_type = /obj/item/food/meatball/chicken/teshari + patty_type = /obj/item/food/raw_patty/chicken/teshari + food_reagents = list(/datum/reagent/consumable/nutriment/protein = 2, /datum/reagent/mercury = 0.2) + +/obj/item/food/raw_meatball/chicken/teshari/Initialize(mapload) + . = ..() + + AddElement(/datum/element/quality_food_ingredient, TESHARI_QUALITY_MALUS) + RegisterSignal(src, COMSIG_FOOD_GET_EXTRA_COMPLEXITY, GLOBAL_PROC_REF(adjust_teshari_meat_quality)) + +/obj/item/food/meatball/chicken/teshari + name = "teshari meatball" + tastes = list("metal" = 1, "tough meat" = 1) + food_reagents = list(/datum/reagent/consumable/nutriment/protein = 2, /datum/reagent/mercury = 0.2) + +/obj/item/food/meatball/chicken/teshari/Initialize(mapload) + . = ..() + + AddElement(/datum/element/quality_food_ingredient, TESHARI_QUALITY_MALUS) + +/obj/item/food/raw_patty/chicken/teshari + name = "raw teshari patty" + tastes = list("metal" = 1, "tough meat" = 1) + patty_type = /obj/item/food/patty/human/teshari + food_reagents = list(/datum/reagent/consumable/nutriment/protein = 2, /datum/reagent/mercury = 0.2) + +/obj/item/food/raw_patty/chicken/teshari/Initialize(mapload) + . = ..() + + AddElement(/datum/element/quality_food_ingredient, TESHARI_QUALITY_MALUS) + RegisterSignal(src, COMSIG_FOOD_GET_EXTRA_COMPLEXITY, GLOBAL_PROC_REF(adjust_teshari_meat_quality)) + +/obj/item/food/patty/human/teshari + name = "teshari patty" + tastes = list("metal" = 1, "tough meat" = 1) + icon_state = "chicken_patty" + food_reagents = list(/datum/reagent/consumable/nutriment/protein = 2, /datum/reagent/mercury = 0.2) + +/obj/item/food/patty/human/teshari/Initialize(mapload) + . = ..() + + AddElement(/datum/element/quality_food_ingredient, TESHARI_QUALITY_MALUS) + RegisterSignal(src, COMSIG_FOOD_GET_EXTRA_COMPLEXITY, GLOBAL_PROC_REF(adjust_teshari_meat_quality)) + +/datum/food_processor_process/meat/chicken + blacklist = list(/obj/item/food/meat/slab/chicken/teshari) + +/datum/food_processor_process/meat/chicken/teshari + input = /obj/item/food/meat/slab/chicken/teshari + output = /obj/item/food/raw_meatball/chicken/teshari + blacklist = null + +/// A simple callback function for COMSIG_FOOD_GET_EXTRA_COMPLEXITY. +/proc/adjust_teshari_meat_quality(datum/signal_source, list/extra_complexity) + SIGNAL_HANDLER + + extra_complexity[1] += TESHARI_QUALITY_MALUS + +#undef TESHARI_QUALITY_MALUS diff --git a/modular_doppler/modular_species/species_types/teshari/teshari_tablerun.dm b/modular_doppler/modular_species/species_types/teshari/teshari_tablerun.dm index 8762186c4c4164..1369ef7436160f 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari_tablerun.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari_tablerun.dm @@ -9,11 +9,13 @@ active = TRUE passtable_on(owner, SPECIES_TRAIT) owner.balloon_alert(owner, "now tablerunning") + build_all_button_icons(UPDATE_BUTTON_BACKGROUND) /datum/action/innate/teshari_tablerun/Deactivate() active = FALSE passtable_off(owner, SPECIES_TRAIT) owner.balloon_alert(owner, "no longer tablerunning") + build_all_button_icons(UPDATE_BUTTON_BACKGROUND) /datum/action/innate/teshari_tablerun/Remove(mob/removed_from) . = ..() diff --git a/tgstation.dme b/tgstation.dme index bf247f4dbf904a..f7f9af9b6f4879 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -7549,12 +7549,12 @@ #include "modular_doppler\modular_species\species_types\snails\snail_bodyparts.dm" #include "modular_doppler\modular_species\species_types\snails\organs\snail_heart.dm" #include "modular_doppler\modular_species\species_types\snails\organs\snail_liver.dm" -#include "modular_doppler\modular_species\species_types\teshari\birdman_food.dm" #include "modular_doppler\modular_species\species_types\teshari\gags_configs.dm" #include "modular_doppler\modular_species\species_types\teshari\schechi.dm" #include "modular_doppler\modular_species\species_types\teshari\teshari.dm" #include "modular_doppler\modular_species\species_types\teshari\teshari_bodyparts.dm" #include "modular_doppler\modular_species\species_types\teshari\teshari_clothes.dm" +#include "modular_doppler\modular_species\species_types\teshari\teshari_meat.dm" #include "modular_doppler\modular_species\species_types\teshari\teshari_organs.dm" #include "modular_doppler\modular_species\species_types\teshari\teshari_tablerun.dm" #include "modular_doppler\modular_species\species_types\teshari\prosthetics\mechfabricator_designs.dm" From fc3ef9abdd597f1d7e254feba433303fcedcb25d Mon Sep 17 00:00:00 2001 From: nikothedude Date: Wed, 4 Feb 2026 19:03:07 -0500 Subject: [PATCH 50/52] dang --- code/datums/components/food/edible.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/components/food/edible.dm b/code/datums/components/food/edible.dm index a209cec771f0e8..5d41ed408792aa 100644 --- a/code/datums/components/food/edible.dm +++ b/code/datums/components/food/edible.dm @@ -620,7 +620,7 @@ Behavior that's still missing from this component that original food items had t var/list/extra_complexity = list(0) SEND_SIGNAL(parent, COMSIG_FOOD_GET_EXTRA_COMPLEXITY, extra_complexity) var/complexity_to_add = extra_complexity[1] - if(complexity_to_add > 0 && (!HAS_TRAIT(parent, TRAIT_FOOD_CHEF_MADE) || !istype(parent, /obj/item/food))) // DOPPLER EDIT - Was if(!HAS_TRAIT(parent, TRAIT_FOOD_CHEF_MADE) || !istype(parent, /obj/item/food)) + if((complexity_to_add > 0 && (!HAS_TRAIT(parent, TRAIT_FOOD_CHEF_MADE)) || !istype(parent, /obj/item/food))) // DOPPLER EDIT - Was if(!HAS_TRAIT(parent, TRAIT_FOOD_CHEF_MADE) || !istype(parent, /obj/item/food)) return complexity_to_add // It is factory made. Soulless. var/obj/item/food/food = parent return food.crafting_complexity + complexity_to_add From 8a78ba5bd4006b58ad83b651617fa7e968ed9390 Mon Sep 17 00:00:00 2001 From: nikothedude Date: Wed, 4 Feb 2026 19:52:05 -0500 Subject: [PATCH 51/52] hi chat does this break ci --- code/datums/components/food/edible.dm | 2 +- .../mob/living/carbon/human/human_update_icons.dm | 12 +++++++++--- .../modular_species/species_types/teshari/teshari.dm | 7 +++++++ 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/code/datums/components/food/edible.dm b/code/datums/components/food/edible.dm index 5d41ed408792aa..ca14db4c8cdaeb 100644 --- a/code/datums/components/food/edible.dm +++ b/code/datums/components/food/edible.dm @@ -620,7 +620,7 @@ Behavior that's still missing from this component that original food items had t var/list/extra_complexity = list(0) SEND_SIGNAL(parent, COMSIG_FOOD_GET_EXTRA_COMPLEXITY, extra_complexity) var/complexity_to_add = extra_complexity[1] - if((complexity_to_add > 0 && (!HAS_TRAIT(parent, TRAIT_FOOD_CHEF_MADE)) || !istype(parent, /obj/item/food))) // DOPPLER EDIT - Was if(!HAS_TRAIT(parent, TRAIT_FOOD_CHEF_MADE) || !istype(parent, /obj/item/food)) + if(!HAS_TRAIT(parent, TRAIT_FOOD_CHEF_MADE) || !istype(parent, /obj/item/food)) return complexity_to_add // It is factory made. Soulless. var/obj/item/food/food = parent return food.crafting_complexity + complexity_to_add diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index 31140d863d4125..15e278d6e942ab 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -93,10 +93,12 @@ There are several things that need to be remembered: var/mutable_appearance/uniform_overlay //This is how non-humanoid clothing works. You check if the mob has the right bodyflag, and the clothing has the corresponding clothing flag. - //found_special_sprite/autogen_override is used to track whether or not we successfully used an alternate sprite. + //handled_by_bodyshape is used to track whether or not we successfully used an alternate sprite. It's set to TRUE to ease up on copy-paste. //icon_file MUST be set to null by default, or it causes issues. - //"override_file = (found_special_sprite || autogen_override) ? icon_file : null" MUST be added to the arguments of build_worn_icon() + //handled_by_bodyshape MUST be set to FALSE under the if(!icon_exists()) statement, or everything breaks. + //"override_file = handled_by_bodyshape ? icon_file : null" MUST be added to the arguments of build_worn_icon() //Friendly reminder that icon_exists_or_scream(file, state) is your friend when debugging this code. + var/handled_by_bodyshape = TRUE var/icon_file var/woman /// DOPPLER SHIFT ADDITION BEGIN @@ -121,6 +123,9 @@ There are several things that need to be remembered: if(autogenerated_icon) icon_file = autogenerated_icon autogen_override = TRUE + + if (!found_special_sprite && !autogen_override) + handled_by_bodyshape = FALSE /// DOPPLER SHIFT ADDITION END //BEGIN SPECIES HANDLING /*if((bodyshape & BODYSHAPE_DIGITIGRADE) && (uniform.supports_variations_flags & CLOTHING_DIGITIGRADE_VARIATION)) @@ -132,6 +137,7 @@ There are several things that need to be remembered: if(!icon_exists(icon_file, RESOLVE_ICON_STATE(uniform))) icon_file = DEFAULT_UNIFORM_FILE + handled_by_bodyshape = FALSE //END SPECIES HANDLING uniform_overlay = uniform.build_worn_icon( @@ -140,7 +146,7 @@ There are several things that need to be remembered: isinhands = FALSE, female_uniform = woman ? uniform.female_sprite_flags : null, override_state = target_overlay, - override_file = (found_special_sprite || autogen_override) ? icon_file : null, + override_file = (handled_by_bodyshape) ? icon_file : null, humie = src, /// DOPPLER SHIFT ADDITION ) diff --git a/modular_doppler/modular_species/species_types/teshari/teshari.dm b/modular_doppler/modular_species/species_types/teshari/teshari.dm index b68f56deeed3ef..e2037f3d4b50dc 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari.dm @@ -35,10 +35,17 @@ BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/mutant/teshari, ) meat = /obj/item/food/meat/slab/chicken/teshari + species_cookie = /obj/item/food/meat/slab // species are instanced, so this is ok /// The tablerun ability we will give to our teshari. var/datum/action/innate/teshari_tablerun/tablerun +/datum/species/teshari/randomize_features() + var/list/features = ..() + features[FEATURE_EARS] = pick(SSaccessories.ears_list_teshari) + features[FEATURE_TAIL] = pick(SSaccessories.tails_list_teshari) + return features + /datum/language_holder/teshari understood_languages = list( /datum/language/common = list(LANGUAGE_ATOM), From eb0232a8a4ceb316fe640608e9318b5f397d249b Mon Sep 17 00:00:00 2001 From: nikothedude Date: Wed, 4 Feb 2026 20:28:11 -0500 Subject: [PATCH 52/52] did this break everything --- .../modular_species/species_types/teshari/teshari.dm | 6 ------ 1 file changed, 6 deletions(-) diff --git a/modular_doppler/modular_species/species_types/teshari/teshari.dm b/modular_doppler/modular_species/species_types/teshari/teshari.dm index e2037f3d4b50dc..17b353c7b68cca 100644 --- a/modular_doppler/modular_species/species_types/teshari/teshari.dm +++ b/modular_doppler/modular_species/species_types/teshari/teshari.dm @@ -40,12 +40,6 @@ /// The tablerun ability we will give to our teshari. var/datum/action/innate/teshari_tablerun/tablerun -/datum/species/teshari/randomize_features() - var/list/features = ..() - features[FEATURE_EARS] = pick(SSaccessories.ears_list_teshari) - features[FEATURE_TAIL] = pick(SSaccessories.tails_list_teshari) - return features - /datum/language_holder/teshari understood_languages = list( /datum/language/common = list(LANGUAGE_ATOM),