From 97492b38f5e4c79539bc53644d3bc6e41eb3a459 Mon Sep 17 00:00:00 2001 From: Michelle Szinger Date: Mon, 13 Jan 2025 22:56:24 -0700 Subject: [PATCH] Port undergarments from ImpStation (#2719) All races available in the character creator may wear undergarments. Also lets slimefolk wear chest tattoos. --- .../Humanoid/HumanoidVisualLayers.cs | 2 + .../Humanoid/Markings/MarkingCategories.cs | 4 + .../Locale/en-US/_DV/markings/tattoos.ftl | 3 + .../_DV/preferences/ui/markings-picker.ftl | 2 + .../en-US/_Impstation/markings/undershirt.ftl | 29 ++++ .../en-US/_Impstation/markings/underwear.ftl | 10 ++ .../Mobs/Customization/Markings/tattoos.yml | 4 +- .../Entities/Mobs/Species/arachnid.yml | 2 + .../Prototypes/Entities/Mobs/Species/base.yml | 4 + .../Prototypes/Entities/Mobs/Species/moth.yml | 2 + .../Prototypes/Nyanotrasen/Species/Oni.yml | 6 + .../Nyanotrasen/Species/felinid.yml | 6 + Resources/Prototypes/Species/arachnid.yml | 10 ++ Resources/Prototypes/Species/diona.yml | 10 ++ Resources/Prototypes/Species/gingerbread.yml | 2 + Resources/Prototypes/Species/human.yml | 10 ++ Resources/Prototypes/Species/moth.yml | 10 ++ Resources/Prototypes/Species/reptilian.yml | 10 ++ Resources/Prototypes/Species/slime.yml | 10 ++ Resources/Prototypes/Species/vox.yml | 10 ++ .../Mobs/Customization/Markings/tattoos.yml | 18 ++- .../_DV/Entities/Mobs/Species/harpy.yml | 4 + .../_DV/Entities/Mobs/Species/rodentia.yml | 2 + .../_DV/Entities/Mobs/Species/vulpkanin.yml | 2 + Resources/Prototypes/_DV/Species/harpy.yml | 8 + Resources/Prototypes/_DV/Species/rodentia.yml | 8 + .../Prototypes/_DV/Species/vulpkanin.yml | 8 + .../Customization/Markings/undershirt.yml | 139 ++++++++++++++++++ .../Mobs/Customization/Markings/underwear.yml | 69 +++++++++ .../Mobs/Customization/tattoos.rsi/meta.json | 34 +++-- .../tattoos.rsi/tattoo_nanotrasen_chest.png | Bin 0 -> 173 bytes .../Customization/undershirt.rsi/binder.png | Bin 0 -> 483 bytes .../Customization/undershirt.rsi/classic.png | Bin 0 -> 318 bytes .../undershirt.rsi/gross_sleeveless.png | Bin 0 -> 735 bytes .../Customization/undershirt.rsi/meta.json | 51 +++++++ .../undershirt.rsi/nanotrasen.png | Bin 0 -> 764 bytes .../undershirt.rsi/rolled_undershirt.png | Bin 0 -> 640 bytes .../rolled_undershirt_sleeveless.png | Bin 0 -> 555 bytes .../undershirt.rsi/sleeveless.png | Bin 0 -> 518 bytes .../Customization/undershirt.rsi/sports.png | Bin 0 -> 335 bytes .../undershirt.rsi/strapless.png | Bin 0 -> 285 bytes .../undershirt.rsi/undershirt.png | Bin 0 -> 584 bytes .../Customization/underwear.rsi/boxers.png | Bin 0 -> 422 bytes .../Customization/underwear.rsi/briefs.png | Bin 0 -> 288 bytes .../Customization/underwear.rsi/lowriders.png | Bin 0 -> 295 bytes .../Customization/underwear.rsi/meta.json | 31 ++++ .../Customization/underwear.rsi/satin.png | Bin 0 -> 279 bytes .../Customization/underwear.rsi/tanga.png | Bin 0 -> 298 bytes 48 files changed, 501 insertions(+), 19 deletions(-) create mode 100644 Resources/Locale/en-US/_DV/preferences/ui/markings-picker.ftl create mode 100644 Resources/Locale/en-US/_Impstation/markings/undershirt.ftl create mode 100644 Resources/Locale/en-US/_Impstation/markings/underwear.ftl create mode 100644 Resources/Prototypes/_Impstation/Entities/Mobs/Customization/Markings/undershirt.yml create mode 100644 Resources/Prototypes/_Impstation/Entities/Mobs/Customization/Markings/underwear.yml create mode 100644 Resources/Textures/_DV/Mobs/Customization/tattoos.rsi/tattoo_nanotrasen_chest.png create mode 100644 Resources/Textures/_Impstation/Mobs/Customization/undershirt.rsi/binder.png create mode 100644 Resources/Textures/_Impstation/Mobs/Customization/undershirt.rsi/classic.png create mode 100644 Resources/Textures/_Impstation/Mobs/Customization/undershirt.rsi/gross_sleeveless.png create mode 100644 Resources/Textures/_Impstation/Mobs/Customization/undershirt.rsi/meta.json create mode 100644 Resources/Textures/_Impstation/Mobs/Customization/undershirt.rsi/nanotrasen.png create mode 100644 Resources/Textures/_Impstation/Mobs/Customization/undershirt.rsi/rolled_undershirt.png create mode 100644 Resources/Textures/_Impstation/Mobs/Customization/undershirt.rsi/rolled_undershirt_sleeveless.png create mode 100644 Resources/Textures/_Impstation/Mobs/Customization/undershirt.rsi/sleeveless.png create mode 100644 Resources/Textures/_Impstation/Mobs/Customization/undershirt.rsi/sports.png create mode 100644 Resources/Textures/_Impstation/Mobs/Customization/undershirt.rsi/strapless.png create mode 100644 Resources/Textures/_Impstation/Mobs/Customization/undershirt.rsi/undershirt.png create mode 100644 Resources/Textures/_Impstation/Mobs/Customization/underwear.rsi/boxers.png create mode 100644 Resources/Textures/_Impstation/Mobs/Customization/underwear.rsi/briefs.png create mode 100644 Resources/Textures/_Impstation/Mobs/Customization/underwear.rsi/lowriders.png create mode 100644 Resources/Textures/_Impstation/Mobs/Customization/underwear.rsi/meta.json create mode 100644 Resources/Textures/_Impstation/Mobs/Customization/underwear.rsi/satin.png create mode 100644 Resources/Textures/_Impstation/Mobs/Customization/underwear.rsi/tanga.png diff --git a/Content.Shared/Humanoid/HumanoidVisualLayers.cs b/Content.Shared/Humanoid/HumanoidVisualLayers.cs index cecd8a1c13e..f55ee48d17e 100644 --- a/Content.Shared/Humanoid/HumanoidVisualLayers.cs +++ b/Content.Shared/Humanoid/HumanoidVisualLayers.cs @@ -11,6 +11,8 @@ public enum HumanoidVisualLayers : byte Hair, FacialHair, Chest, + Underwear, // DeltaV + Undershirt, // DeltaV Head, Snout, HeadSide, // side parts (i.e., frills) diff --git a/Content.Shared/Humanoid/Markings/MarkingCategories.cs b/Content.Shared/Humanoid/Markings/MarkingCategories.cs index db82fb1fd3d..062ed4c4f5e 100644 --- a/Content.Shared/Humanoid/Markings/MarkingCategories.cs +++ b/Content.Shared/Humanoid/Markings/MarkingCategories.cs @@ -13,6 +13,8 @@ public enum MarkingCategories : byte HeadSide, Snout, Chest, + Underwear, // DeltaV + Undershirt, // DeltaV Arms, Legs, Tail, @@ -32,6 +34,8 @@ public static MarkingCategories FromHumanoidVisualLayers(HumanoidVisualLayers la HumanoidVisualLayers.HeadTop => MarkingCategories.HeadTop, HumanoidVisualLayers.HeadSide => MarkingCategories.HeadSide, HumanoidVisualLayers.Snout => MarkingCategories.Snout, + HumanoidVisualLayers.Undershirt => MarkingCategories.Undershirt, // DeltaV + HumanoidVisualLayers.Underwear => MarkingCategories.Underwear, // DeltaV HumanoidVisualLayers.Chest => MarkingCategories.Chest, HumanoidVisualLayers.RArm => MarkingCategories.Arms, HumanoidVisualLayers.LArm => MarkingCategories.Arms, diff --git a/Resources/Locale/en-US/_DV/markings/tattoos.ftl b/Resources/Locale/en-US/_DV/markings/tattoos.ftl index d62a118a890..48000f66415 100644 --- a/Resources/Locale/en-US/_DV/markings/tattoos.ftl +++ b/Resources/Locale/en-US/_DV/markings/tattoos.ftl @@ -6,3 +6,6 @@ marking-TattooNightlingChestMale = Chest Tattoo (Nightling) marking-TattooNightlingChestFemale-tattoo_nightling_female = Chest Tattoo (Nightling) marking-TattooNightlingChestFemale = Chest Tattoo (Nightling) + +marking-TattooNanotrasenChest-tattoo_nanotrasen_chest = Chest Tattoo (Nanotrasen) +marking-TattooNanotrasenChest = Chest Tattoo (Nanotrasen) diff --git a/Resources/Locale/en-US/_DV/preferences/ui/markings-picker.ftl b/Resources/Locale/en-US/_DV/preferences/ui/markings-picker.ftl new file mode 100644 index 00000000000..dde065d59e0 --- /dev/null +++ b/Resources/Locale/en-US/_DV/preferences/ui/markings-picker.ftl @@ -0,0 +1,2 @@ +markings-category-Undershirt = Undershirt +markings-category-Underwear = Underwear diff --git a/Resources/Locale/en-US/_Impstation/markings/undershirt.ftl b/Resources/Locale/en-US/_Impstation/markings/undershirt.ftl new file mode 100644 index 00000000000..62ba91032af --- /dev/null +++ b/Resources/Locale/en-US/_Impstation/markings/undershirt.ftl @@ -0,0 +1,29 @@ +marking-UndershirtDefault-undershirt = Undershirt +marking-UndershirtDefault = Undershirt (Default) + +marking-UndershirtRolled-rolled_undershirt = Undershirt +marking-UndershirtRolled = Undershirt (Rolled) + +marking-UndershirtSleeveless-sleeveless = Tanktop +marking-UndershirtSleeveless = Tanktop + +marking-UndershirtGrossSleeveless-gross_sleeveless = Tanktop +marking-UndershirtGrossSleeveless = Tanktop (Gross) + +marking-UndershirtRolledSleeveless-rolled_undershirt_sleeveless = Tanktop +marking-UndershirtRolledSleeveless = Tanktop (Rolled) + +marking-UndershirtNanotrasen-nanotrasen = Undershirt +marking-UndershirtNanotrasen = Undershirt (Nanotrasen) + +marking-UndershirtBinder-binder = Binder +marking-UndershirtBinder = Binder + +marking-UndershirtBraClassic-classic = Bra +marking-UndershirtBraClassic = Bra (Classic) + +marking-UndershirtBraSports-sports = Bra +marking-UndershirtBraSports = Bra (Sports) + +marking-UndershirtBraStrapless-strapless = Bra +marking-UndershirtBraStrapless = Bra (Strapless) diff --git a/Resources/Locale/en-US/_Impstation/markings/underwear.ftl b/Resources/Locale/en-US/_Impstation/markings/underwear.ftl new file mode 100644 index 00000000000..23fbf04b23f --- /dev/null +++ b/Resources/Locale/en-US/_Impstation/markings/underwear.ftl @@ -0,0 +1,10 @@ +marking-UnderwearDefault-boxers = Underwear +marking-UnderwearDefault = Underwear (Default) +marking-UnderwearBriefs-briefs = Underwear +marking-UnderwearBriefs = Underwear (Briefs) +marking-UnderwearLowriders-lowriders = Underwear +marking-UnderwearLowriders = Underwear (Lowriders) +marking-UnderwearSatin-satin = Underwear +marking-UnderwearSatin = Underwear (Satin) +marking-UnderwearTanga-tanga = Underwear +marking-UnderwearTanga = Underwear (Tanga) diff --git a/Resources/Prototypes/Entities/Mobs/Customization/Markings/tattoos.yml b/Resources/Prototypes/Entities/Mobs/Customization/Markings/tattoos.yml index ef6f057d823..6310f1b34f2 100644 --- a/Resources/Prototypes/Entities/Mobs/Customization/Markings/tattoos.yml +++ b/Resources/Prototypes/Entities/Mobs/Customization/Markings/tattoos.yml @@ -2,7 +2,7 @@ id: TattooHiveChest bodyPart: Chest markingCategory: Chest - speciesRestriction: [Human, Dwarf, Felinid, Oni] # Delta V - Felinid, Oni + speciesRestriction: [Human, Dwarf, SlimePerson, Felinid, Oni] # Delta V - SlimePerson, Felinid, Oni sexRestriction: [Male] # DeltaV: Splitting the scars and tattoos coloring: default: @@ -17,7 +17,7 @@ id: TattooNightlingChest bodyPart: Chest markingCategory: Chest - speciesRestriction: [Human, Dwarf, Felinid, Oni] # Delta V - Felinid, Oni + speciesRestriction: [Human, Dwarf, SlimePerson, Felinid, Oni] # Delta V - SlimePerson, Felinid, Oni sexRestriction: [Male] # DeltaV: Splitting the scars and tattoos coloring: default: diff --git a/Resources/Prototypes/Entities/Mobs/Species/arachnid.yml b/Resources/Prototypes/Entities/Mobs/Species/arachnid.yml index 0fd52d3f87a..56f43a2a78e 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/arachnid.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/arachnid.yml @@ -83,6 +83,8 @@ - map: [ "enum.HumanoidVisualLayers.LArm" ] - map: [ "enum.HumanoidVisualLayers.RLeg" ] - map: [ "enum.HumanoidVisualLayers.LLeg" ] + - map: [ "enum.HumanoidVisualLayers.Underwear" ] # DeltaV + - map: [ "enum.HumanoidVisualLayers.Undershirt" ] # DeltaV - map: ["jumpsuit"] - map: ["enum.HumanoidVisualLayers.LFoot"] - map: ["enum.HumanoidVisualLayers.RFoot"] diff --git a/Resources/Prototypes/Entities/Mobs/Species/base.yml b/Resources/Prototypes/Entities/Mobs/Species/base.yml index 969e8a24650..7db00d77332 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/base.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/base.yml @@ -19,6 +19,8 @@ - map: [ "enum.HumanoidVisualLayers.LArm" ] - map: [ "enum.HumanoidVisualLayers.RLeg" ] - map: [ "enum.HumanoidVisualLayers.LLeg" ] + - map: [ "enum.HumanoidVisualLayers.Underwear" ] # DeltaV + - map: [ "enum.HumanoidVisualLayers.Undershirt" ] # DeltaV - map: ["jumpsuit"] - map: ["enum.HumanoidVisualLayers.LFoot"] - map: ["enum.HumanoidVisualLayers.RFoot"] @@ -322,6 +324,8 @@ - map: [ "enum.HumanoidVisualLayers.LArm" ] - map: [ "enum.HumanoidVisualLayers.RLeg" ] - map: [ "enum.HumanoidVisualLayers.LLeg" ] + - map: [ "enum.HumanoidVisualLayers.Underwear" ] # DeltaV + - map: [ "enum.HumanoidVisualLayers.Undershirt" ] # DeltaV - map: ["jumpsuit"] - map: ["enum.HumanoidVisualLayers.LFoot"] - map: ["enum.HumanoidVisualLayers.RFoot"] diff --git a/Resources/Prototypes/Entities/Mobs/Species/moth.yml b/Resources/Prototypes/Entities/Mobs/Species/moth.yml index 92592116f21..2284af6b080 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/moth.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/moth.yml @@ -84,6 +84,8 @@ - map: [ "enum.HumanoidVisualLayers.LArm" ] - map: [ "enum.HumanoidVisualLayers.RLeg" ] - map: [ "enum.HumanoidVisualLayers.LLeg" ] + - map: [ "enum.HumanoidVisualLayers.Underwear" ] # DeltaV + - map: [ "enum.HumanoidVisualLayers.Undershirt" ] # DeltaV - map: [ "jumpsuit" ] - map: [ "enum.HumanoidVisualLayers.LHand" ] - map: [ "enum.HumanoidVisualLayers.RHand" ] diff --git a/Resources/Prototypes/Nyanotrasen/Species/Oni.yml b/Resources/Prototypes/Nyanotrasen/Species/Oni.yml index d5e6cd459ed..88ee0825f2b 100644 --- a/Resources/Prototypes/Nyanotrasen/Species/Oni.yml +++ b/Resources/Prototypes/Nyanotrasen/Species/Oni.yml @@ -35,6 +35,12 @@ Chest: points: 1 required: false + Underwear: + points: 1 + required: false + Undershirt: + points: 1 + required: false Legs: points: 6 required: false diff --git a/Resources/Prototypes/Nyanotrasen/Species/felinid.yml b/Resources/Prototypes/Nyanotrasen/Species/felinid.yml index e6a64379d93..8a3eb7fa997 100644 --- a/Resources/Prototypes/Nyanotrasen/Species/felinid.yml +++ b/Resources/Prototypes/Nyanotrasen/Species/felinid.yml @@ -28,6 +28,12 @@ Chest: points: 1 required: false + Underwear: + points: 1 + required: false + Undershirt: + points: 1 + required: false Legs: points: 6 required: false diff --git a/Resources/Prototypes/Species/arachnid.yml b/Resources/Prototypes/Species/arachnid.yml index 5dedba1b447..da01cb750b3 100644 --- a/Resources/Prototypes/Species/arachnid.yml +++ b/Resources/Prototypes/Species/arachnid.yml @@ -19,6 +19,8 @@ sprites: Head: MobArachnidHead Snout: MobHumanoidAnyMarking + Underwear: MobHumanoidAnyMarking # DeltaV + Undershirt: MobHumanoidAnyMarking # DeltaV Chest: MobArachnidTorso HeadTop: MobHumanoidAnyMarking HeadSide: MobHumanoidAnyMarking @@ -63,6 +65,14 @@ Chest: points: 1 required: false + # Begin DeltaV changes. + Underwear: + points: 1 + required: false + Undershirt: + points: 1 + required: false + # End DeltaV changes. Legs: points: 6 required: false diff --git a/Resources/Prototypes/Species/diona.yml b/Resources/Prototypes/Species/diona.yml index 19fafaa3e1b..fc84b4cf956 100644 --- a/Resources/Prototypes/Species/diona.yml +++ b/Resources/Prototypes/Species/diona.yml @@ -19,6 +19,8 @@ Head: MobDionaHead HeadTop: MobHumanoidAnyMarking HeadSide: MobHumanoidAnyMarking + Underwear: MobHumanoidAnyMarking # DeltaV + Undershirt: MobHumanoidAnyMarking # DeltaV Chest: MobDionaTorso Eyes: MobDionaEyes LArm: MobDionaLArm @@ -49,6 +51,14 @@ Legs: points: 2 required: false + # Begin DeltaV changes. + Underwear: + points: 1 + required: false + Undershirt: + points: 1 + required: false + # End DeltaV changes. Arms: points: 2 required: false diff --git a/Resources/Prototypes/Species/gingerbread.yml b/Resources/Prototypes/Species/gingerbread.yml index e6fc0d20df5..148799cb1c0 100644 --- a/Resources/Prototypes/Species/gingerbread.yml +++ b/Resources/Prototypes/Species/gingerbread.yml @@ -15,6 +15,8 @@ Head: MobGingerbreadHead HeadTop: MobHumanoidAnyMarking HeadSide: MobHumanoidAnyMarking + Underwear: MobHumanoidAnyMarking # DeltaV + Undershirt: MobHumanoidAnyMarking # DeltaV Chest: MobGingerbreadTorso Eyes: MobGingerbreadEyes LArm: MobGingerbreadLArm diff --git a/Resources/Prototypes/Species/human.yml b/Resources/Prototypes/Species/human.yml index bb494bfa799..8837dc14aaf 100644 --- a/Resources/Prototypes/Species/human.yml +++ b/Resources/Prototypes/Species/human.yml @@ -22,6 +22,8 @@ Hair: MobHumanoidAnyMarking FacialHair: MobHumanoidAnyMarking Snout: MobHumanoidAnyMarking + Underwear: MobHumanoidAnyMarking # DeltaV + Undershirt: MobHumanoidAnyMarking # DeltaV Chest: MobHumanTorso Eyes: MobHumanoidEyes HeadTop: MobHumanoidAnyMarking @@ -60,6 +62,14 @@ Chest: points: 1 required: false + # Begin DeltaV changes. + Underwear: + points: 1 + required: false + Undershirt: + points: 1 + required: false + # End DeltaV changes. Legs: points: 6 required: false diff --git a/Resources/Prototypes/Species/moth.yml b/Resources/Prototypes/Species/moth.yml index 2623865b046..667bb589b91 100644 --- a/Resources/Prototypes/Species/moth.yml +++ b/Resources/Prototypes/Species/moth.yml @@ -17,6 +17,8 @@ sprites: Head: MobMothHead Snout: MobHumanoidAnyMarking + Underwear: MobHumanoidAnyMarking # DeltaV + Undershirt: MobHumanoidAnyMarking # DeltaV Chest: MobMothTorso HeadTop: MobHumanoidAnyMarking HeadSide: MobHumanoidAnyMarking @@ -67,6 +69,14 @@ Chest: points: 1 required: false + # Begin DeltaV changes. + Underwear: + points: 1 + required: false + Undershirt: + points: 1 + required: false + # End DeltaV changes. Legs: points: 6 required: false diff --git a/Resources/Prototypes/Species/reptilian.yml b/Resources/Prototypes/Species/reptilian.yml index 16f2728070e..48dc3874d6c 100644 --- a/Resources/Prototypes/Species/reptilian.yml +++ b/Resources/Prototypes/Species/reptilian.yml @@ -17,6 +17,8 @@ sprites: Head: MobReptilianHead Snout: MobHumanoidAnyMarking + Underwear: MobHumanoidAnyMarking # DeltaV + Undershirt: MobHumanoidAnyMarking # DeltaV Chest: MobReptilianTorso HeadTop: MobHumanoidAnyMarking HeadSide: MobHumanoidAnyMarking @@ -58,6 +60,14 @@ Chest: points: 3 required: false + # Begin DeltaV changes. + Underwear: + points: 1 + required: false + Undershirt: + points: 1 + required: false + # End DeltaV changes. Legs: points: 6 required: false diff --git a/Resources/Prototypes/Species/slime.yml b/Resources/Prototypes/Species/slime.yml index ef49e9b7cf6..36e77a6902f 100644 --- a/Resources/Prototypes/Species/slime.yml +++ b/Resources/Prototypes/Species/slime.yml @@ -15,6 +15,8 @@ Head: MobSlimeHead Hair: MobSlimeMarkingFollowSkin FacialHair: MobSlimeMarkingFollowSkin + Underwear: MobHumanoidAnyMarking # DeltaV + Undershirt: MobHumanoidAnyMarking # DeltaV Chest: MobSlimeTorso Eyes: MobHumanoidEyes LArm: MobSlimeLArm @@ -38,6 +40,14 @@ Chest: points: 1 required: false + # Begin DeltaV changes. + Underwear: + points: 1 + required: false + Undershirt: + points: 1 + required: false + # End DeltaV changes. Legs: points: 4 required: false diff --git a/Resources/Prototypes/Species/vox.yml b/Resources/Prototypes/Species/vox.yml index 7419f3f277e..1885583c151 100644 --- a/Resources/Prototypes/Species/vox.yml +++ b/Resources/Prototypes/Species/vox.yml @@ -21,6 +21,8 @@ Snout: MobHumanoidAnyMarking Hair: MobHumanoidAnyMarking FacialHair: MobHumanoidAnyMarking + Underwear: MobHumanoidAnyMarking # DeltaV + Undershirt: MobHumanoidAnyMarking # DeltaV Chest: MobVoxTorso Eyes: MobVoxEyes LArm: MobVoxLArm @@ -58,6 +60,14 @@ points: 4 required: true defaultMarkings: [ VoxLLegScales, VoxRLegScales, VoxRFootScales, VoxLFootScales ] + # Begin DeltaV changes. + Underwear: + points: 1 + required: false + Undershirt: + points: 1 + required: false + # End DeltaV changes. Chest: points: 1 required: false diff --git a/Resources/Prototypes/_DV/Entities/Mobs/Customization/Markings/tattoos.yml b/Resources/Prototypes/_DV/Entities/Mobs/Customization/Markings/tattoos.yml index a3df1776332..2d92c02b429 100644 --- a/Resources/Prototypes/_DV/Entities/Mobs/Customization/Markings/tattoos.yml +++ b/Resources/Prototypes/_DV/Entities/Mobs/Customization/Markings/tattoos.yml @@ -2,7 +2,7 @@ id: TattooHiveChestFemale # DeltaV: Splitting the scars and tattoos bodyPart: Chest markingCategory: Chest - speciesRestriction: [Human, Dwarf, Felinid, Oni] # Delta V - Felinid, Oni + speciesRestriction: [Human, Dwarf, SlimePerson, Felinid, Oni] # Delta V - SlimePerson, Felinid, Oni sexRestriction: [Female] # DeltaV: Splitting the scars and tattoos coloring: default: @@ -17,7 +17,7 @@ id: TattooNightlingChestFemale # DeltaV: Splitting the scars and tattoos bodyPart: Chest markingCategory: Chest - speciesRestriction: [Human, Dwarf, Felinid, Oni] # Delta V - Felinid, Oni + speciesRestriction: [Human, Dwarf, SlimePerson, Felinid, Oni] # Delta V - SlimePerson, Felinid, Oni sexRestriction: [Female] # DeltaV: Splitting the scars and tattoos coloring: default: @@ -27,3 +27,17 @@ sprites: - sprite: _DV/Mobs/Customization/tattoos.rsi state: tattoo_nightling_female + +- type: marking + id: TattooNanotrasenChest + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [Human, Dwarf, SlimePerson] + coloring: + default: + type: + !type:TattooColoring + fallbackColor: "#666666" + sprites: + - sprite: _DV/Mobs/Customization/tattoos.rsi + state: tattoo_nanotrasen_chest diff --git a/Resources/Prototypes/_DV/Entities/Mobs/Species/harpy.yml b/Resources/Prototypes/_DV/Entities/Mobs/Species/harpy.yml index ec305698aa1..c057b353a74 100644 --- a/Resources/Prototypes/_DV/Entities/Mobs/Species/harpy.yml +++ b/Resources/Prototypes/_DV/Entities/Mobs/Species/harpy.yml @@ -42,6 +42,8 @@ - map: [ "enum.HumanoidVisualLayers.LArm" ] - map: [ "enum.HumanoidVisualLayers.RLeg" ] - map: [ "enum.HumanoidVisualLayers.LLeg" ] + - map: [ "enum.HumanoidVisualLayers.Underwear" ] + - map: [ "enum.HumanoidVisualLayers.Undershirt" ] - map: [ "underpants" ] - map: [ "undershirt" ] - map: [ "socks" ] @@ -175,6 +177,8 @@ - map: [ "enum.HumanoidVisualLayers.LArm" ] - map: [ "enum.HumanoidVisualLayers.RLeg" ] - map: [ "enum.HumanoidVisualLayers.LLeg" ] + - map: [ "enum.HumanoidVisualLayers.Underwear" ] + - map: [ "enum.HumanoidVisualLayers.Undershirt" ] - map: [ "underpants" ] - map: [ "undershirt" ] - map: [ "socks" ] diff --git a/Resources/Prototypes/_DV/Entities/Mobs/Species/rodentia.yml b/Resources/Prototypes/_DV/Entities/Mobs/Species/rodentia.yml index 95e55cd02df..1fdd2cc0179 100644 --- a/Resources/Prototypes/_DV/Entities/Mobs/Species/rodentia.yml +++ b/Resources/Prototypes/_DV/Entities/Mobs/Species/rodentia.yml @@ -45,6 +45,8 @@ - map: [ "enum.HumanoidVisualLayers.LArm" ] - map: [ "enum.HumanoidVisualLayers.RLeg" ] - map: [ "enum.HumanoidVisualLayers.LLeg" ] + - map: [ "enum.HumanoidVisualLayers.Underwear" ] + - map: [ "enum.HumanoidVisualLayers.Undershirt" ] - map: [ "jumpsuit" ] - map: [ "enum.HumanoidVisualLayers.LHand" ] - map: [ "enum.HumanoidVisualLayers.RHand" ] diff --git a/Resources/Prototypes/_DV/Entities/Mobs/Species/vulpkanin.yml b/Resources/Prototypes/_DV/Entities/Mobs/Species/vulpkanin.yml index ac7f62b86cc..07e3f627fd2 100644 --- a/Resources/Prototypes/_DV/Entities/Mobs/Species/vulpkanin.yml +++ b/Resources/Prototypes/_DV/Entities/Mobs/Species/vulpkanin.yml @@ -45,6 +45,8 @@ sprite: _DV/Mobs/Customization/Vulpkanin/masking_helpers.rsi state: female_full visible: false + - map: [ "enum.HumanoidVisualLayers.Underwear" ] + - map: [ "enum.HumanoidVisualLayers.Undershirt" ] - map: [ "jumpsuit" ] - map: [ "enum.HumanoidVisualLayers.LHand" ] - map: [ "enum.HumanoidVisualLayers.RHand" ] diff --git a/Resources/Prototypes/_DV/Species/harpy.yml b/Resources/Prototypes/_DV/Species/harpy.yml index 49861c04a8e..3f47171710f 100644 --- a/Resources/Prototypes/_DV/Species/harpy.yml +++ b/Resources/Prototypes/_DV/Species/harpy.yml @@ -15,6 +15,8 @@ Hair: MobHumanoidAnyMarking FacialHair: MobHumanoidAnyMarking Snout: MobHumanoidAnyMarking + Underwear: MobHumanoidAnyMarking + Undershirt: MobHumanoidAnyMarking Chest: MobHarpyTorso HeadTop: MobHumanoidAnyMarking HeadSide: MobHumanoidAnyMarking @@ -51,6 +53,12 @@ points: 1 required: true defaultMarkings: [ HarpyChestDefault ] + Underwear: + points: 1 + required: false + Undershirt: + points: 1 + required: false Legs: points: 2 required: false diff --git a/Resources/Prototypes/_DV/Species/rodentia.yml b/Resources/Prototypes/_DV/Species/rodentia.yml index 6d235be35ff..e92484d8dfd 100644 --- a/Resources/Prototypes/_DV/Species/rodentia.yml +++ b/Resources/Prototypes/_DV/Species/rodentia.yml @@ -20,6 +20,8 @@ Hair: MobHumanoidAnyMarking FacialHair: MobHumanoidAnyMarking Snout: MobHumanoidAnyMarking + Underwear: MobHumanoidAnyMarking + Undershirt: MobHumanoidAnyMarking Chest: MobRodentiaTorso HeadTop: MobHumanoidAnyMarking HeadSide: MobHumanoidAnyMarking @@ -53,6 +55,12 @@ Arms: points: 6 required: false + Underwear: + points: 1 + required: false + Undershirt: + points: 1 + required: false Snout: points: 1 required: false diff --git a/Resources/Prototypes/_DV/Species/vulpkanin.yml b/Resources/Prototypes/_DV/Species/vulpkanin.yml index 1c5cd66457a..22e71716b76 100644 --- a/Resources/Prototypes/_DV/Species/vulpkanin.yml +++ b/Resources/Prototypes/_DV/Species/vulpkanin.yml @@ -19,6 +19,8 @@ Hair: MobHumanoidAnyMarking FacialHair: MobHumanoidAnyMarking Snout: MobHumanoidAnyMarking + Underwear: MobHumanoidAnyMarking + Undershirt: MobHumanoidAnyMarking Chest: MobVulpkaninTorso HeadTop: MobHumanoidAnyMarking HeadSide: MobHumanoidAnyMarking @@ -49,6 +51,12 @@ Head: points: 3 required: false + Underwear: + points: 1 + required: false + Undershirt: + points: 1 + required: false Legs: points: 6 required: false diff --git a/Resources/Prototypes/_Impstation/Entities/Mobs/Customization/Markings/undershirt.yml b/Resources/Prototypes/_Impstation/Entities/Mobs/Customization/Markings/undershirt.yml new file mode 100644 index 00000000000..5d5625a7f6a --- /dev/null +++ b/Resources/Prototypes/_Impstation/Entities/Mobs/Customization/Markings/undershirt.yml @@ -0,0 +1,139 @@ +- type: marking + id: UndershirtDefault + bodyPart: Undershirt + markingCategory: Undershirt + speciesRestriction: [Dwarf, Human, Reptilian, Arachnid, SlimePerson, Diona, Moth, Vulpkanin, Rodentia, Harpy, Felinid, Vox, Oni] + coloring: + default: + type: + !type:SimpleColoring + color: "#FFFFFF" + sprites: + - sprite: _Impstation/Mobs/Customization/undershirt.rsi + state: undershirt + +- type: marking + id: UndershirtRolled + bodyPart: Undershirt + markingCategory: Undershirt + speciesRestriction: [Dwarf, Human, Reptilian, Arachnid, SlimePerson, Diona, Moth, Vulpkanin, Rodentia, Harpy, Felinid, Vox, Oni] + coloring: + default: + type: + !type:SimpleColoring + color: "#FFFFFF" + sprites: + - sprite: _Impstation/Mobs/Customization/undershirt.rsi + state: rolled_undershirt + +- type: marking + id: UndershirtSleeveless + bodyPart: Undershirt + markingCategory: Undershirt + speciesRestriction: [Dwarf, Human, Reptilian, Arachnid, SlimePerson, Diona, Moth, Vulpkanin, Rodentia, Harpy, Felinid, Vox, Oni] + coloring: + default: + type: + !type:SimpleColoring + color: "#FFFFFF" + sprites: + - sprite: _Impstation/Mobs/Customization/undershirt.rsi + state: sleeveless + +- type: marking + id: UndershirtRolledSleeveless + bodyPart: Undershirt + markingCategory: Undershirt + speciesRestriction: [Dwarf, Human, Reptilian, Arachnid, SlimePerson, Diona, Moth, Vulpkanin, Rodentia, Harpy, Felinid, Vox, Oni] + coloring: + default: + type: + !type:SimpleColoring + color: "#FFFFFF" + sprites: + - sprite: _Impstation/Mobs/Customization/undershirt.rsi + state: rolled_undershirt_sleeveless + +- type: marking + id: UndershirtGrossSleeveless + bodyPart: Undershirt + markingCategory: Undershirt + speciesRestriction: [Dwarf, Human, Reptilian, Arachnid, SlimePerson, Diona, Moth, Vulpkanin, Rodentia, Harpy, Felinid, Vox, Oni] + coloring: + default: + type: + !type:SimpleColoring + color: "#FFFFFF" + sprites: + - sprite: _Impstation/Mobs/Customization/undershirt.rsi + state: gross_sleeveless + +- type: marking + id: UndershirtNanotrasen + bodyPart: Undershirt + markingCategory: Undershirt + speciesRestriction: [Dwarf, Human, Reptilian, Arachnid, SlimePerson, Diona, Moth, Vulpkanin, Rodentia, Harpy, Felinid, Vox, Oni] + coloring: + default: + type: + !type:SimpleColoring + color: "#FFFFFF" + sprites: + - sprite: _Impstation/Mobs/Customization/undershirt.rsi + state: nanotrasen + +- type: marking + id: UndershirtBinder + bodyPart: Undershirt + markingCategory: Undershirt + speciesRestriction: [Dwarf, Human, Reptilian, Arachnid, SlimePerson, Diona, Moth, Vulpkanin, Rodentia, Harpy, Felinid, Vox, Oni] + coloring: + default: + type: + !type:SimpleColoring + color: "#FFFFFF" + sprites: + - sprite: _Impstation/Mobs/Customization/undershirt.rsi + state: binder + +- type: marking + id: UndershirtBraClassic + bodyPart: Undershirt + markingCategory: Undershirt + speciesRestriction: [Dwarf, Human, Reptilian, Arachnid, SlimePerson, Diona, Moth, Vulpkanin, Rodentia, Harpy, Felinid, Vox, Oni] + coloring: + default: + type: + !type:SimpleColoring + color: "#FFFFFF" + sprites: + - sprite: _Impstation/Mobs/Customization/undershirt.rsi + state: classic + +- type: marking + id: UndershirtBraSports + bodyPart: Undershirt + markingCategory: Undershirt + speciesRestriction: [Dwarf, Human, Reptilian, Arachnid, SlimePerson, Diona, Moth, Vulpkanin, Rodentia, Harpy, Felinid, Vox, Oni] + coloring: + default: + type: + !type:SimpleColoring + color: "#FFFFFF" + sprites: + - sprite: _Impstation/Mobs/Customization/undershirt.rsi + state: sports + +- type: marking + id: UndershirtBraStrapless + bodyPart: Undershirt + markingCategory: Undershirt + speciesRestriction: [Dwarf, Human, Reptilian, Arachnid, SlimePerson, Diona, Moth, Vulpkanin, Rodentia, Harpy, Felinid, Vox, Oni] + coloring: + default: + type: + !type:SimpleColoring + color: "#FFFFFF" + sprites: + - sprite: _Impstation/Mobs/Customization/undershirt.rsi + state: strapless diff --git a/Resources/Prototypes/_Impstation/Entities/Mobs/Customization/Markings/underwear.yml b/Resources/Prototypes/_Impstation/Entities/Mobs/Customization/Markings/underwear.yml new file mode 100644 index 00000000000..f43a6c9eb50 --- /dev/null +++ b/Resources/Prototypes/_Impstation/Entities/Mobs/Customization/Markings/underwear.yml @@ -0,0 +1,69 @@ +- type: marking + id: UnderwearDefault + bodyPart: Underwear + markingCategory: Underwear + speciesRestriction: [Dwarf, Human, Reptilian, Arachnid, SlimePerson, Diona, Moth, Vulpkanin, Rodentia, Harpy, Felinid, Vox, Oni] + coloring: + default: + type: + !type:SimpleColoring + color: "#FFFFFF" + sprites: + - sprite: _Impstation/Mobs/Customization/underwear.rsi + state: boxers + +- type: marking + id: UnderwearBriefs + bodyPart: Underwear + markingCategory: Underwear + speciesRestriction: [Dwarf, Human, Reptilian, Arachnid, SlimePerson, Diona, Moth, Vulpkanin, Rodentia, Harpy, Felinid, Vox, Oni] + coloring: + default: + type: + !type:SimpleColoring + color: "#FFFFFF" + sprites: + - sprite: _Impstation/Mobs/Customization/underwear.rsi + state: briefs + +- type: marking + id: UnderwearLowriders + bodyPart: Underwear + markingCategory: Underwear + speciesRestriction: [Dwarf, Human, Reptilian, Arachnid, SlimePerson, Diona, Moth, Vulpkanin, Rodentia, Harpy, Felinid, Vox, Oni] + coloring: + default: + type: + !type:SimpleColoring + color: "#FFFFFF" + sprites: + - sprite: _Impstation/Mobs/Customization/underwear.rsi + state: lowriders + +- type: marking + id: UnderwearSatin + bodyPart: Underwear + markingCategory: Underwear + speciesRestriction: [Dwarf, Human, Reptilian, Arachnid, SlimePerson, Diona, Moth, Vulpkanin, Rodentia, Harpy, Felinid, Vox, Oni] + coloring: + default: + type: + !type:SimpleColoring + color: "#FFFFFF" + sprites: + - sprite: _Impstation/Mobs/Customization/underwear.rsi + state: satin + +- type: marking + id: UnderwearTanga + bodyPart: Underwear + markingCategory: Underwear + speciesRestriction: [Dwarf, Human, Reptilian, Arachnid, SlimePerson, Diona, Moth, Vulpkanin, Rodentia, Harpy, Felinid, Vox, Oni] + coloring: + default: + type: + !type:SimpleColoring + color: "#FFFFFF" + sprites: + - sprite: _Impstation/Mobs/Customization/underwear.rsi + state: tanga diff --git a/Resources/Textures/_DV/Mobs/Customization/tattoos.rsi/meta.json b/Resources/Textures/_DV/Mobs/Customization/tattoos.rsi/meta.json index 5693064c0f5..4999a2299f9 100644 --- a/Resources/Textures/_DV/Mobs/Customization/tattoos.rsi/meta.json +++ b/Resources/Textures/_DV/Mobs/Customization/tattoos.rsi/meta.json @@ -1,23 +1,27 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "https://github.com/Skyrat-SS13/Skyrat-tg/tree/40e3cdbb15b8bc0d5ef2fb46133adf805bda5297/modular_skyrat/master_files/icons/mob/body_markings/tattoo_markings.dmi, modified by Aikakakah", + "copyright": "https://github.com/Skyrat-SS13/Skyrat-tg/tree/40e3cdbb15b8bc0d5ef2fb46133adf805bda5297/modular_skyrat/master_files/icons/mob/body_markings/tattoo_markings.dmi, modified by Aikakakah. NanoTrasen tattoo ported from ImpStation as of https://github.com/impstation/imp-station-14/pull/384", "size": { - "x": 32, - "y": 32 + "x": 32, + "y": 32 }, "states": [ - { - "name": "tattoo_hive_chest_female", - "directions": 4 - }, - { - "name": "tattoo_nightling", - "directions": 4 - }, - { - "name": "tattoo_nightling_female", - "directions": 4 - } + { + "name": "tattoo_hive_chest_female", + "directions": 4 + }, + { + "name": "tattoo_nightling", + "directions": 4 + }, + { + "name": "tattoo_nightling_female", + "directions": 4 + }, + { + "name": "tattoo_nanotrasen_chest", + "directions": 4 + } ] } diff --git a/Resources/Textures/_DV/Mobs/Customization/tattoos.rsi/tattoo_nanotrasen_chest.png b/Resources/Textures/_DV/Mobs/Customization/tattoos.rsi/tattoo_nanotrasen_chest.png new file mode 100644 index 0000000000000000000000000000000000000000..f97c3078a846199f018149364004aa3445e79c89 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9GG!XV7ZFl&wkP%z%p z#WAE}&f8lXc^eFPSPqE)UjItcsnw;?g?Yw-*ymdL+kdhEmHCBUy&-dUet4*|=Qr;2 zd;VOKT`-%ugdHdY0?$6CxIdU$+p_rFfw}8yo`2tenD2rtP`rUnoBNnsqgm0>NRTp5 LS3j3^P6vM6I^6ax|g_X9d=R;n9{gt`X&MEKS`|ruj z(^uP@m>fyI`L=BHBRfay2PIa$_iOzh8p$1A{Ac6q#ktXceQ$3IjBl0r+8o!oYu&}t zx#rhOWnb;$TPv^P_V?)H=yj6G@75IsiX8lTZ>=53flzSqHkX~}#%o!#mc95bmpO}x z;ge1M$<8wd6AZsx`fj`JcJ7|InqY-n~ZF`?cJeC)%dxaN*^LwK}IKsBkhIkT6ycov<)$lFErqIbrKgatoBMW}S8U^cq

57(?dCuK`KZDs&i3QgEYaOM5I6qSjt_WY WV3KzD)OBF2F?hQAxvXk44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`212l#}zR#a51UAy-G|Np;#{|1U(ev#=3q*zOW{DOgk{~3O7;|m4~a29w( z7BevL9RXp+soH$fK*8mnE{-7)?r*1Ee{~^mi3wNF0@h0$tZsg+ue$e3^QFV$#%E_3y|FsrySAMFJiKI5au~&3MdYeQOc>N_P1b4;HNGewoRev52dr&fXz7 zG@-oVh3K0ifxUD68)e=tdYkxDai2X<3m@x$@h|_Fr2Op#=W@@o06Lk$)78&qol`;+ E08vADs{jB1 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Impstation/Mobs/Customization/undershirt.rsi/gross_sleeveless.png b/Resources/Textures/_Impstation/Mobs/Customization/undershirt.rsi/gross_sleeveless.png new file mode 100644 index 0000000000000000000000000000000000000000..2ec1b3f1f369dbedbf7f21fb86c8023dc8759db8 GIT binary patch literal 735 zcmV<50wDc~P)P^!wRlc-_h$sn@CifI^uiUMp4s7-P`Yez+BWLRr|X zrYMw~*sP}h?@2r{x!7?WNGSpAi%=uaR7LUiIl=$@VovPQWCy&VD>_p=N1aZ!l zWmy1#PN$P(sf#^s7x?i0Eeho(EXzXDzNFX%Fx_ftxyirsdlJ&fCD9H5fZcAFbO~d+ zCn1g4i3^||H!ECI(!QXeSWQv@Fc=JShX-Fi^tpZ77-N1ffPPK#uP@OK(5G&tv_++~ z&7?^}H%RDWC;bj$v;*`PpP0-wJu0PGK_ER05@$hoi_2_b|KLI@!z{sLybMBPE3 R_bLDY002ovPDHLkV1jHnO&I_H literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Impstation/Mobs/Customization/undershirt.rsi/meta.json b/Resources/Textures/_Impstation/Mobs/Customization/undershirt.rsi/meta.json new file mode 100644 index 00000000000..cbf5c67d0ee --- /dev/null +++ b/Resources/Textures/_Impstation/Mobs/Customization/undershirt.rsi/meta.json @@ -0,0 +1,51 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from cmss13 at https://github.com/cmss13-devs/cmss13/blob/884ab172389b6fc54ef063f5fbea5e8b0a0a2235/icons/mob/humans/undershirt.dmi, nanotrasen taken from https://github.com/tgstation/tgstation/commit/c14e98740794eb107bfa40aad19bd4c4d307184f, undershirts modified by Pinkbat5(github), binder by Pinkbat5(github)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "undershirt", + "directions": 4 + }, + { + "name": "sleeveless", + "directions": 4 + }, + { + "name": "gross_sleeveless", + "directions": 4 + }, + { + "name": "rolled_undershirt_sleeveless", + "directions": 4 + }, + { + "name": "rolled_undershirt", + "directions": 4 + }, + { + "name": "binder", + "directions": 4 + }, + { + "name": "classic", + "directions": 4 + }, + { + "name": "sports", + "directions": 4 + }, + { + "name": "strapless", + "directions": 4 + }, + { + "name": "nanotrasen", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Impstation/Mobs/Customization/undershirt.rsi/nanotrasen.png b/Resources/Textures/_Impstation/Mobs/Customization/undershirt.rsi/nanotrasen.png new file mode 100644 index 0000000000000000000000000000000000000000..5d69f6dd8e45e6bb905f0a55cb6e2ae6da6d6128 GIT binary patch literal 764 zcmV5*fj9pe1C=;9$^yU^2>kwl3aF zmu{ZAbTi$v`A?`9gU0*;Cc$%-z#%Xsi#+HCb#P8mZMoLzM@!rH0fVeN-S_$3y*s1# z0D>S0f*=TjI0@&I%yq|ES)1#QGtMWaZEfoN{~) z1_0ab1LF9$^0-xT-Enqyb`1bfYID%em`7bvws*@;kB z-zZ*Ocbr)k2V>%(O(}^qjg8J=Q@YSMUIA$uBTZw|$6Di0>k|Y)5ClOG1VIo4K@bE% z5Pvhq@9_1z`817TSsXxj`M^`?f(UI(oxFfiYE1ul+aADihR_8QI#qtGdZSJDwTiY_ z7RRv)mSY$>KnoVrQ;h9WWSmd3w(A1QP)dUHNw%v~5U)0Pd4AB8TB$MMZP_sFR#J-)T6k*XvAcU0u!clvvR&lQ1w|0daiWD~tJJ%|MroMzd1AV|Jaw*a80<X_3T-|wmq&>P>bFhc%hOC4$zNC0nVKj)Jy3?ne+<#j?`qLf4s%wKnY+4w(*kpqr- udb@pSVuLZi(rdCB2!bF8f*=UuKjH_f7EOM`;?FMt00001RCt{2+O4kQKo|z#_iQ#8YO6rui@;UlTZiKUAi)i0E&(&+ zNVtf)Ix29*AzEF6L5)RWz7?DHlm*T*gmSXk?@35Vr_4Ku8aA6ZdIp^)oMlkejia3UFDBPBV<{I>2zw9|I;RXGMNAX zcDo$_P+2w}k1-ew008ZFn`|5L2q|Ti4*;Xli0b9O@5A?f91aIsEEccLPt%m@(ln*@ zdR={Pl{cCHH#YeX&44V+s_$h_Z@1fvX8@{a_4i-l&-{Cu$_Ma!2?!ymD2kiCUK9lh zA!xN)y>#@O&bL}Co6UyeIL2%?yDD2Qmk7fU!{M;8O|Xglhc`h0h~pSx7^2tfU6qAl zh&YaIsw?H=s^RNlGaqBFeIih=`O@l%^?tb!7EwLI_IJ^k!S6lveHd z@kBWCJcs9b06y;vbUK}CM4F_OqE4q%V2J&*vY<6CM8m literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Impstation/Mobs/Customization/undershirt.rsi/rolled_undershirt_sleeveless.png b/Resources/Textures/_Impstation/Mobs/Customization/undershirt.rsi/rolled_undershirt_sleeveless.png new file mode 100644 index 0000000000000000000000000000000000000000..ec51c413ed35d060e4c3fe028e7663718a689514 GIT binary patch literal 555 zcmV+`0@VG9P)~XQTHIG< zSz@_dB1w{)v9@hdmSu3v#rJ>ta5|l&sw(VuyPL7&@rX1{vDs{bV*YggpdCUoB%@AbFmPb58ztW%X>v7;(;x)^e|d<(^-m$%m_L zj1jFhwAN5cVeS?g;Qb+$Qt0yzCw|IK44!}?r4*tl0st6e9tjns&lN=xlu{4Hn$#i# zyuS|Kdt9$qoX_WniU>8#=e>uuR;IrD5AA^d5bU?(s|@q?HB2>m2dq}BKW!;}YsxF` t=d&zZTrQVSXU$l{1Q8Jt5fKs5eQ!cL_4T=65552Z002ovPDHLkV1f(?_Xhv~ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Impstation/Mobs/Customization/undershirt.rsi/sleeveless.png b/Resources/Textures/_Impstation/Mobs/Customization/undershirt.rsi/sleeveless.png new file mode 100644 index 0000000000000000000000000000000000000000..7f6f870ed860d461f747d1561f98c1ec7c330097 GIT binary patch literal 518 zcmV+h0{Q)kP)M6IGhX?JwzmLzQAAcw|{#WQ1E|*Kt`?=+gA5?(NW|K6YYL589r@--eg!lew zY`fj!a5w}f@b37*o1pi8@*G@3?)bq4_-}haPyw#jE1IT3(=?Ogb9#4tA|fIpA|fIp zA|m>9tJfcSWUbY*EYY?t%CZCi?DzZNd2;9)GP+#awnbG{^W`$u1tKE%#)KvM1p2YY za+&I2nG$?=c=&5~x5`CCm$*IVy@!bC*e&{)l^9%rJ`vHPC;$Mv-7aOSAYH7YD3IEh z6kUMOr8cLOT#{A*0Nif3)G6K?JGlU#E~-fi0II554L80enx%{}_g;YRIpxxqv;w+a zx7(4Ix(f8K0IB~$f>uEH$7kqtI;G?g?5}uJIT8^O5fRaYAH)(A=RYL1oB#j-07*qo IM6N<$f^Q`08~^|S literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Impstation/Mobs/Customization/undershirt.rsi/sports.png b/Resources/Textures/_Impstation/Mobs/Customization/undershirt.rsi/sports.png new file mode 100644 index 0000000000000000000000000000000000000000..49feecd4a6e4a3d8b84c2f322f82fe95cff1bcd8 GIT binary patch literal 335 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`212l#}zPMbC@BO~MX?c4wV{|Ac2EVtwVQmiFGe!)PI{|vvk@dX0~I14-? ziy0XBj({-ZRBb+Kpx_Qq7srqY_qWqd^Bqy(a25RXKYw1g;>=YB$wAY^` zrT)SOrswM%r1I95rTx6kBp4(3_K$GKs+lXNu?31mT-wa=|8M~3gzzgfKA&HZ$eoa5 zqO5DcdXLFOaZ#_>&rHXycat?18~~cp&cromH`AFl@`r05G_RM*Rc_?8Zki&o$Nz9# zz#5Yks;3|SbUpJZ_pl#JolocW-Zx)1)gAb<{`U;k>lLpGj_q2ori_bK#6o0`*q48d YZhCfkou3$H0{y_?>FVdQ&MBb@0FoPny8r+H literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Impstation/Mobs/Customization/undershirt.rsi/strapless.png b/Resources/Textures/_Impstation/Mobs/Customization/undershirt.rsi/strapless.png new file mode 100644 index 0000000000000000000000000000000000000000..6736e280018b9e147b230a1563bd0e2c0803f232 GIT binary patch literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`212l#}z-oAZ%+O%o^|Nqa($N-8RvDH-qQmiFGe!)P&{|vvk@dX0~I14-? ziy0XBj({-ZRBb+KpkSM)i(^QH``c-bTn7|*Sb9(XzaMkCMaVm7iX2z!bEQ{SFHYuu z65>z@P}spa>)~e8q*=Qh?c$S!e(-WJPG;@65k5sjqI2>N`9$syTlRl{zyea);Lymx z^mKj``}3e(SN}Ft34Q;VRMPOOTHJ5f;aCGJhsrqVBQbnzCs%)KU|?cxde5rFUiZgd Vb?T}*kXcc>nsEfidEqe}lLMTug>|Kh|D$qyhRA|fK1WQ=iIYd18ewRXms!LhYi zYh78EgBfL6I%{pXd~2-}L*p_QstB!hmtU6Uw}%+}f)?oqNC7_MYv)h#$$y)3P+iyE zYo!#FQs{>$r2qg`Red{t4PW!e{3icp?t#`?*E9{%G#xCWswxykf$esS!{IRdywA>m zoqM31bZmCz{SY5MWd7_40Dv@27mY6!B7fF3KomuR^ZDGZwZ8p+kJIVoUBI*Ry(R$o zSZiZz@Gq>L?>zxiYcRC6^SvhEe!rt>8Z=EaIv&!q^NEOvh=_=Yh=_>jzw_S5(^|VY zj?uO);y4BX9FNB!`+-xWAwz0u+ZLD0C0s4i1>&4@bzM8>oHNFB`|)e{1q|tD4b>8) zK|)BEh6GA8f`o@|kpVuwb@|}^#tEs(cLKb(#_~J|09b30BnfuA9RMK9vTiK2EXx1@ zQ4}H1bKGt>BuRqn_3C{t?+K9g9`vW?X|vhkIz?sb@iW) WQ}6blVxmw00000zNcJ5pyJ$dQL?XUkXD72dzcmB&+_6B#;FU@QX zp`R~$W%d}R$+#P*uaDL|oAq$>pVW1tljMKj$=Q8}Un+8zf;dx<*PSo2k+XJu-TI~3 zO^@Z#kJWGdG~aYFF&Ov;2kZ-H-ehucoyG+2M(<))2B6C0pB{8YMK2dAQoNw~H10-R zJI6gnh7TL>yNBML;az+;gFVdQ I&MBb@07yf&$p8QV literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Impstation/Mobs/Customization/underwear.rsi/briefs.png b/Resources/Textures/_Impstation/Mobs/Customization/underwear.rsi/briefs.png new file mode 100644 index 0000000000000000000000000000000000000000..256345ff7d13929875d6c055ec8142c6a10b1339 GIT binary patch literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`212l#}z=H}+kpFjWk^XLEn{|Ab(DdpS*QmiFGe!)PI{|vvk@dX0~I14-? ziy0XBj({-ZRBb+KpkSw`i(^QH``c*;xf%?3oNwR!|37VZ)yBEn%=}F%N)nUo%3mLe z>tbM1VB%=tIKgnS@W*2970*}wTV^9IFzxfi{#oMTKV2WGYgBH%bk_c9ZM`##0E3_d zg9`)Wh4TzQ#NrQlYi!bpHJftk#=Xm|57h4PziK+48ko%|P`_c)`E@hvwYGef75rd( b;0?>$?RJm;R{wenbQFW9tDnm{r-UW|EeLEF literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Impstation/Mobs/Customization/underwear.rsi/lowriders.png b/Resources/Textures/_Impstation/Mobs/Customization/underwear.rsi/lowriders.png new file mode 100644 index 0000000000000000000000000000000000000000..986aa6a0f0f62e97e596db1bed7980babc30ca2a GIT binary patch literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`212l#}z&YwU3`Sa)h|Nqa;%>{~0U+_T$NU@d#`2_<7|1b|fr1k}T^vIq+}}Fm*6$K#=2bCGD8_vzW@|?l@i+XbM(&UTjHF*i0|5S1dY7-w6HgjExyQcHJeEnWG zCe98PApxMKdbNa%yhArTU(Q%}`E8c!@&7!_kD9&Y`R`zpJKG+x3?~GHXDerUMNvDFJf3;$Y5T? zdwj#bNe&t>-CH$ISPD3KeAxHmxiKS93&V%Qn{=vsa&Lc&T5~$i?$%Kg-}!68>UwUR zcmJ)`I_1OZCjO_)SAH6v+xI7Y-hZ*_a&3xhU(b40Y4>-Iany9#;~y_cflL8{d9Qc# z#zkFS_GgE=b6Mw<&;$T+Gi>w# literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Impstation/Mobs/Customization/underwear.rsi/tanga.png b/Resources/Textures/_Impstation/Mobs/Customization/underwear.rsi/tanga.png new file mode 100644 index 0000000000000000000000000000000000000000..5edf178a8d56bacedb73e635af7e13b3e784ab45 GIT binary patch literal 298 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`211o(uw?%K7hv9a<0|NlUN{ks=NgVdD-`2~YS9JE$`0rEKuJR*x382FBW zFymBhK53xfbWaz@kO=p;(@yg>8}P8?KL7uJ=kAuUN+}gR(OZ@-8~4m?nY{6n0H=zA zkcUH@+K+eTLB?gTek~SW!=x)0rt@cwR_+bu0;@I`Zl2`ryU#A=f{zT{mg0SUM2XYGuK`8mak#w ej8o8f${eytKVAO#%5^{|GI+ZBxvX