From ccd26c2f1c7ded44b33a6b54aa03b34824e86704 Mon Sep 17 00:00:00 2001 From: OrionTheFox <76465278+OrionTheFox@users.noreply.github.com> Date: Sun, 18 Jun 2023 18:39:27 -0600 Subject: [PATCH] Puts Balaclavas on a layer below glasses and radios (#76126) ## About The Pull Request This has been annoying me for a while. Balaclavas being above glasses made them cut them off in a really weird way. So this moves them to a LOWER_FACEMASK_LAYER that's below glasses and ears (since headsets are worn over balaclavas typically) This layer has to be below the hair layer, but any masks that use it should have HIDEHAIR anyways ## Why It's Good For The Game It just looks cooler: Befores ![dreamseeker_VHue08sjRq](https://github.com/tgstation/tgstation/assets/76465278/6a5e915f-d1bf-459c-a7a1-04e7294f8e1f) ![dreamseeker_x2sSpZ0ZNs](https://github.com/tgstation/tgstation/assets/76465278/eecc9416-a813-4265-a541-d2b62fb7bd71) ![dreamseeker_vPTk7n4bRW](https://github.com/tgstation/tgstation/assets/76465278/78cc8281-a158-4d6e-a80a-90c5978db44e) Afters ![dreamseeker_2YY2BH3C6P](https://github.com/tgstation/tgstation/assets/76465278/f67a2428-4082-405e-9682-1cd715b9d403) ![dreamseeker_3TuQ4Jh6gV](https://github.com/tgstation/tgstation/assets/76465278/9f71505d-f984-4c0a-9f90-fc2d7e3a8dfb) ![dreamseeker_0QDakTo6kj](https://github.com/tgstation/tgstation/assets/76465278/114adeec-4331-4097-97bd-3b8a44e6193b) ## Changelog :cl: qol: made Balaclavas layer below glasses and radios /:cl: --- code/__DEFINES/mobs.dm | 33 +++++++++++++++------------ code/modules/clothing/masks/boxing.dm | 2 ++ 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index bf12f84ff72..241941037e8 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -650,35 +650,37 @@ GLOBAL_LIST_INIT(human_heights_to_offsets, list( /// Total number of layers for mob overlays /// KEEP THIS UP-TO-DATE OR SHIT WILL BREAK /// Also consider updating layers_to_offset -#define TOTAL_LAYERS 33 +#define TOTAL_LAYERS 34 /// Mutations layer - Tk headglows, cold resistance glow, etc -#define MUTATIONS_LAYER 33 +#define MUTATIONS_LAYER 34 /// Mutantrace features (tail when looking south) that must appear behind the body parts -#define BODY_BEHIND_LAYER 32 +#define BODY_BEHIND_LAYER 33 /// Layer for bodyparts that should appear behind every other bodypart - Mostly, legs when facing WEST or EAST -#define BODYPARTS_LOW_LAYER 31 +#define BODYPARTS_LOW_LAYER 32 /// Layer for most bodyparts, appears above BODYPARTS_LOW_LAYER and below BODYPARTS_HIGH_LAYER -#define BODYPARTS_LAYER 30 +#define BODYPARTS_LAYER 31 /// Mutantrace features (snout, body markings) that must appear above the body parts -#define BODY_ADJ_LAYER 29 +#define BODY_ADJ_LAYER 30 /// Underwear, undershirts, socks, eyes, lips(makeup) -#define BODY_LAYER 28 +#define BODY_LAYER 29 /// Mutations that should appear above body, body_adj and bodyparts layer (e.g. laser eyes) -#define FRONT_MUTATIONS_LAYER 27 +#define FRONT_MUTATIONS_LAYER 28 /// Damage indicators (cuts and burns) -#define DAMAGE_LAYER 26 +#define DAMAGE_LAYER 27 /// Jumpsuit clothing layer -#define UNIFORM_LAYER 25 +#define UNIFORM_LAYER 26 /// ID card layer -#define ID_LAYER 24 +#define ID_LAYER 25 /// ID card layer (might be deprecated) -#define ID_CARD_LAYER 23 +#define ID_CARD_LAYER 24 /// Layer for bodyparts that should appear above every other bodypart - Currently only used for hands -#define BODYPARTS_HIGH_LAYER 22 +#define BODYPARTS_HIGH_LAYER 23 /// Gloves layer -#define GLOVES_LAYER 21 +#define GLOVES_LAYER 22 /// Shoes layer -#define SHOES_LAYER 20 +#define SHOES_LAYER 21 +/// Layer for masks that are worn below ears and eyes (like Balaclavas) (layers below hair, use flagsinv=HIDEHAIR as needed) +#define LOW_FACEMASK_LAYER 20 /// Ears layer (Spessmen have ears? Wow) #define EARS_LAYER 19 /// Suit layer (armor, coats, etc.) @@ -745,6 +747,7 @@ GLOBAL_LIST_INIT(layers_to_offset, list( "[ID_CARD_LAYER]" = UPPER_BODY, // unused "[ID_LAYER]" = UPPER_BODY, "[FACEMASK_LAYER]" = UPPER_BODY, + "[LOW_FACEMASK_LAYER]" = UPPER_BODY, // These two are cached, and have their appearance shared(?), so it's safer to just not touch it "[MUTATIONS_LAYER]" = NO_MODIFY, "[FRONT_MUTATIONS_LAYER]" = NO_MODIFY, diff --git a/code/modules/clothing/masks/boxing.dm b/code/modules/clothing/masks/boxing.dm index 1af058181a6..9c947b53a93 100644 --- a/code/modules/clothing/masks/boxing.dm +++ b/code/modules/clothing/masks/boxing.dm @@ -5,6 +5,7 @@ inhand_icon_state = "balaclava" flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT visor_flags_inv = HIDEFACE|HIDEFACIALHAIR|HIDESNOUT + alternate_worn_layer = LOW_FACEMASK_LAYER //This lets it layer below glasses and headsets; yes, that's below hair, but it already has HIDEHAIR w_class = WEIGHT_CLASS_SMALL actions_types = list(/datum/action/item_action/adjust) @@ -61,4 +62,5 @@ inhand_icon_state = "balaclava" flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT visor_flags_inv = HIDEFACE|HIDEFACIALHAIR|HIDESNOUT + alternate_worn_layer = LOW_FACEMASK_LAYER //This lets it layer below glasses and headsets; yes, that's below hair, but it already has HIDEHAIR w_class = WEIGHT_CLASS_SMALL