diff --git a/Content.Client/Clothing/ClientClothingSystem.cs b/Content.Client/Clothing/ClientClothingSystem.cs index 979f7430e17..925e3abf8cb 100644 --- a/Content.Client/Clothing/ClientClothingSystem.cs +++ b/Content.Client/Clothing/ClientClothingSystem.cs @@ -281,6 +281,9 @@ private void RenderEquipment(EntityUid equipee, EntityUid equipment, string slot // note that every insertion requires reshuffling & remapping all the existing layers. sprite.AddBlankLayer(index); sprite.LayerMapSet(key, index); + + if (layerData.Color != null) + sprite.LayerSetColor(key, layerData.Color.Value); } else index = sprite.LayerMapReserveBlank(key); diff --git a/Content.Client/Sprite/RandomSpriteSystem.cs b/Content.Client/Sprite/RandomSpriteSystem.cs index 04f6681136c..0e6f199b8a2 100644 --- a/Content.Client/Sprite/RandomSpriteSystem.cs +++ b/Content.Client/Sprite/RandomSpriteSystem.cs @@ -1,3 +1,5 @@ +using Content.Client.Clothing; +using Content.Shared.Clothing.Components; using Content.Shared.Sprite; using Robust.Client.GameObjects; using Robust.Shared.GameStates; @@ -8,6 +10,7 @@ namespace Content.Client.Sprite; public sealed class RandomSpriteSystem : SharedRandomSpriteSystem { [Dependency] private readonly IReflectionManager _reflection = default!; + [Dependency] private readonly ClientClothingSystem _clothing = default!; public override void Initialize() { @@ -31,10 +34,29 @@ private void OnHandleState(EntityUid uid, RandomSpriteComponent component, ref C component.Selected.Add(layer.Key, layer.Value); } - UpdateAppearance(uid, component); + UpdateSpriteComponentAppearance(uid, component); + UpdateClothingComponentAppearance(uid, component); } - private void UpdateAppearance(EntityUid uid, RandomSpriteComponent component, SpriteComponent? sprite = null) + private void UpdateClothingComponentAppearance(EntityUid uid, RandomSpriteComponent component, ClothingComponent? clothing = null) + { + if (!Resolve(uid, ref clothing, false)) + return; + + if (clothing.ClothingVisuals == null) + return; + + foreach (var slotPair in clothing.ClothingVisuals) + { + foreach (var keyColorPair in component.Selected) + { + _clothing.SetLayerColor(clothing, slotPair.Key, keyColorPair.Key, keyColorPair.Value.Color); + _clothing.SetLayerState(clothing, slotPair.Key, keyColorPair.Key, keyColorPair.Value.State); + } + } + } + + private void UpdateSpriteComponentAppearance(EntityUid uid, RandomSpriteComponent component, SpriteComponent? sprite = null) { if (!Resolve(uid, ref sprite, false)) return; @@ -55,7 +77,6 @@ private void UpdateAppearance(EntityUid uid, RandomSpriteComponent component, Sp continue; } } - sprite.LayerSetState(index, layer.Value.State); sprite.LayerSetColor(index, layer.Value.Color ?? Color.White); } diff --git a/Content.Shared/Clothing/EntitySystems/ClothingSystem.cs b/Content.Shared/Clothing/EntitySystems/ClothingSystem.cs index 50a1d93a6c2..f189db005bc 100644 --- a/Content.Shared/Clothing/EntitySystems/ClothingSystem.cs +++ b/Content.Shared/Clothing/EntitySystems/ClothingSystem.cs @@ -217,5 +217,38 @@ public void CopyVisuals(EntityUid uid, ClothingComponent otherClothing, Clothing Dirty(uid, clothing); } + public void SetLayerColor(ClothingComponent clothing, string slot, string mapKey, Color? color) + { + if (clothing.ClothingVisuals == null) + return; + + foreach (var layer in clothing.ClothingVisuals[slot]) + { + if (layer.MapKeys == null) + return; + + if (!layer.MapKeys.Contains(mapKey)) + continue; + + layer.Color = color; + } + } + public void SetLayerState(ClothingComponent clothing, string slot, string mapKey, string state) + { + if (clothing.ClothingVisuals == null) + return; + + foreach (var layer in clothing.ClothingVisuals[slot]) + { + if (layer.MapKeys == null) + return; + + if (!layer.MapKeys.Contains(mapKey)) + continue; + + layer.State = state; + } + } + #endregion } diff --git a/Resources/Prototypes/Catalog/Fills/Lockers/wardrobe_colors.yml b/Resources/Prototypes/Catalog/Fills/Lockers/wardrobe_colors.yml index 0c7661452a1..2038ef00139 100644 --- a/Resources/Prototypes/Catalog/Fills/Lockers/wardrobe_colors.yml +++ b/Resources/Prototypes/Catalog/Fills/Lockers/wardrobe_colors.yml @@ -24,46 +24,6 @@ components: - type: StorageFill contents: - - id: ClothingUniformJumpsuitColorWhite - prob: 0.25 - - id: ClothingUniformJumpskirtColorWhite - prob: 0.25 - - id: ClothingUniformJumpsuitColorBlue - prob: 0.25 - - id: ClothingUniformJumpskirtColorBlue - prob: 0.25 - - id: ClothingUniformJumpsuitColorYellow - prob: 0.25 - - id: ClothingUniformJumpskirtColorYellow - prob: 0.25 - - id: ClothingUniformJumpsuitColorGreen - prob: 0.25 - - id: ClothingUniformJumpskirtColorGreen - prob: 0.25 - - id: ClothingUniformJumpsuitColorOrange - prob: 0.25 - - id: ClothingUniformJumpskirtColorOrange - prob: 0.25 - - id: ClothingUniformJumpsuitColorPink - prob: 0.25 - - id: ClothingUniformJumpskirtColorPink - prob: 0.25 - - id: ClothingUniformJumpsuitColorRed - prob: 0.25 - - id: ClothingUniformJumpskirtColorRed - prob: 0.25 - - id: ClothingUniformJumpsuitColorDarkBlue - prob: 0.25 - - id: ClothingUniformJumpskirtColorDarkBlue - prob: 0.25 - - id: ClothingUniformJumpsuitColorTeal - prob: 0.25 - - id: ClothingUniformJumpskirtColorTeal - prob: 0.25 - - id: ClothingUniformJumpsuitColorPurple - prob: 0.25 - - id: ClothingUniformJumpskirtColorPurple - prob: 0.25 - id: ClothingShoesColorBlack amount: 1 - id: ClothingShoesColorBrown @@ -74,6 +34,16 @@ prob: 0.4 - id: ClothingOuterCoatGentle prob: 0.3 + - id: ClothingUniformRandomShorts + amount: 3 + - id: ClothingUniformRandomArmless + amount: 5 + - id: ClothingUniformRandomStandart + amount: 5 + - id: ClothingUniformRandomBra + amount: 5 + - id: ClothingUniformRandomShirt + amount: 4 - type: entity id: WardrobeYellowFilled diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/clothesmate.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/clothesmate.yml index 9085bcb4fb3..8f40ce99de2 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/clothesmate.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/clothesmate.yml @@ -5,6 +5,7 @@ ClothingBackpackDuffel: 5 ClothingBackpackSatchel: 3 ClothingBackpackSatchelLeather: 2 + ClothingRandomSpawner: 8 ClothingHeadHatBeret: 4 ClothingHeadBandBlack: 2 ClothingHeadBandBlue: 2 diff --git a/Resources/Prototypes/Entities/Clothing/Uniforms/random_suit.yml b/Resources/Prototypes/Entities/Clothing/Uniforms/random_suit.yml new file mode 100644 index 00000000000..88278077b5c --- /dev/null +++ b/Resources/Prototypes/Entities/Clothing/Uniforms/random_suit.yml @@ -0,0 +1,169 @@ + +- type: entity + parent: ClothingUniformBase + id: ClothingUniformRandom + abstract: true + description: Generated by neural networks based on the latest fashion trends. + suffix: Random visual + components: + - type: SuitSensor + - type: Sprite + sprite: Clothing/Uniforms/procedural.rsi + layers: + - state: base_torso_standart + map: [ "torso" ] + - state: base_leg_standart + map: [ "leg" ] + - state: mask_null + map: [ "decor" ] + - state: mask_null + map: [ "overlay" ] + - type: Clothing + femaleMask: UniformTop + maleMask: UniformTop + sprite: Clothing/Uniforms/procedural.rsi + clothingVisuals: + jumpsuit: + - state: base_torso_standart + map: [ "torso" ] + - state: base_leg_standart + map: [ "leg" ] + - state: mask_null + map: [ "decor" ] + - state: mask_null + map: [ "overlay" ] + +- type: entity + parent: ClothingUniformRandom + id: ClothingRandomSpawner + name: random colorful costume + components: + - type: RandomSpawner + offset: 0 + prototypes: + - ClothingUniformRandomArmless + - ClothingUniformRandomStandart + - ClothingUniformRandomBra + - ClothingUniformRandomShorts + - ClothingUniformRandomShirt + +- type: entity + parent: ClothingUniformRandom + id: ClothingUniformRandomArmless + name: colorful hands-free costume + components: + - type: RandomSprite + available: + - torso: + base_torso_armless: Sixteen + leg: + base_leg_standart: Sixteen + base_leg_short: Sixteen + base_leg_skirt: Sixteen + base_leg_skirt_long: Sixteen + decor: + decor_torso_armless1: Sixteen + decor_torso_armless2: Sixteen + decor_torso_armless3: Sixteen + decor_torso_armless4: Sixteen + decor_torso_armless5: Sixteen + decor_torso_armless6: Sixteen + decor_torso_armless7: Sixteen + decor_torso_armless8: Sixteen + decor_torso_armless9: Sixteen + decor_torso_armless10: Sixteen + mask_null: "" + +- type: entity + parent: ClothingUniformRandom + id: ClothingUniformRandomStandart + name: colorful costume + components: + - type: RandomSprite + available: + - torso: + base_torso_standart: Sixteen + base_torso_standart2: Sixteen + leg: + base_leg_standart: Sixteen + base_leg_short: Sixteen + base_leg_skirt: Sixteen + base_leg_skirt_long: Sixteen + decor: + decor_torso_armless1: Sixteen + decor_torso_armless2: Sixteen + decor_torso_armless3: Sixteen + decor_torso_armless4: Sixteen + decor_torso_armless5: Sixteen + decor_torso_armless6: Sixteen + decor_torso_armless7: Sixteen + decor_torso_armless8: Sixteen + decor_torso_armless9: Sixteen + decor_torso_armless10: Sixteen + decor_torso_standart1: Sixteen + decor_torso_standart2: Sixteen + decor_torso_standart3: Sixteen + decor_torso_standart4: Sixteen + decor_torso_standart5: Sixteen + decor_torso_standart6: Sixteen + decor_torso_standart7: Sixteen + decor_torso_standart8: Sixteen + decor_torso_standart9: Sixteen + mask_null: "" + +- type: entity + parent: ClothingUniformRandom + id: ClothingUniformRandomBra + name: colorful bra + components: + - type: RandomSprite + available: + - torso: + base_torso_bra: Sixteen + leg: + base_leg_standart: Sixteen + base_leg_short: Sixteen + base_leg_skirt: Sixteen + base_leg_skirt_long: Sixteen + decor: + decor_torso_bra1: Sixteen + decor_torso_bra2: Sixteen + decor_torso_bra3: Sixteen + decor_torso_bra4: Sixteen + decor_torso_bra5: Sixteen + mask_null: "" + +- type: entity + parent: ClothingUniformRandom + id: ClothingUniformRandomShorts + name: colorful pants + components: + - type: RandomSprite + available: + - torso: + mask_null: "" + leg: + base_leg_standart: Sixteen + base_leg_short: Sixteen + base_leg_skirt: Sixteen + base_leg_skirt_long: Sixteen + +- type: entity + parent: ClothingUniformRandom + id: ClothingUniformRandomShirt + name: colorful costume + components: + - type: RandomSprite + available: + - torso: + base_torso_armless: Sixteen + mask_null: "" + leg: + base_leg_standart: Sixteen + base_leg_short: Sixteen + decor: + base_torso_shirt: Sixteen + overlay: + decor_torso_shirt1: Sixteen + decor_torso_shirt2: Sixteen + decor_torso_shirt3: Sixteen \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Clothing/Uniforms/specific.yml b/Resources/Prototypes/Entities/Clothing/Uniforms/specific.yml index 19793f873f7..d7a5e2b787d 100644 --- a/Resources/Prototypes/Entities/Clothing/Uniforms/specific.yml +++ b/Resources/Prototypes/Entities/Clothing/Uniforms/specific.yml @@ -20,4 +20,4 @@ - type: UserInterface interfaces: - key: enum.ChameleonUiKey.Key - type: ChameleonBoundUserInterface + type: ChameleonBoundUserInterface \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Structures/Furniture/dresser.yml b/Resources/Prototypes/Entities/Structures/Furniture/dresser.yml index 2caa4010ca0..fa029c035ae 100644 --- a/Resources/Prototypes/Entities/Structures/Furniture/dresser.yml +++ b/Resources/Prototypes/Entities/Structures/Furniture/dresser.yml @@ -53,6 +53,18 @@ components: - type: StorageFill contents: + - id: ClothingUniformRandomArmless + prob: 0.05 + orGroup: dressermainloot + - id: ClothingUniformRandomStandart + prob: 0.05 + orGroup: dressermainloot + - id: ClothingUniformRandomBra + prob: 0.05 + orGroup: dressermainloot + - id: ClothingUniformRandomShorts + prob: 0.05 + orGroup: dressermainloot - id: ClothingNeckLGBTPin prob: 0.06 orGroup: dressermainloot diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/base_leg_short.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/base_leg_short.png new file mode 100644 index 00000000000..e3b74ba7b65 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/base_leg_short.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/base_leg_skirt.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/base_leg_skirt.png new file mode 100644 index 00000000000..3341ff44181 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/base_leg_skirt.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/base_leg_skirt_long.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/base_leg_skirt_long.png new file mode 100644 index 00000000000..5c83cae1370 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/base_leg_skirt_long.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/base_leg_standart.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/base_leg_standart.png new file mode 100644 index 00000000000..7140a3869c3 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/base_leg_standart.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/base_torso_armless.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/base_torso_armless.png new file mode 100644 index 00000000000..2864e1c04e7 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/base_torso_armless.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/base_torso_bra.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/base_torso_bra.png new file mode 100644 index 00000000000..03c8d493fb8 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/base_torso_bra.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/base_torso_shirt.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/base_torso_shirt.png new file mode 100644 index 00000000000..b03f3942795 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/base_torso_shirt.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/base_torso_standart.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/base_torso_standart.png new file mode 100644 index 00000000000..1db1be4c682 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/base_torso_standart.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/base_torso_standart2.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/base_torso_standart2.png new file mode 100644 index 00000000000..5397d8e8d7b Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/base_torso_standart2.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_armless1.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_armless1.png new file mode 100644 index 00000000000..d2110b9f5a1 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_armless1.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_armless10.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_armless10.png new file mode 100644 index 00000000000..4060a0d6a5a Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_armless10.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_armless2.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_armless2.png new file mode 100644 index 00000000000..7f504cbc7ac Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_armless2.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_armless3.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_armless3.png new file mode 100644 index 00000000000..6897496738b Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_armless3.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_armless4.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_armless4.png new file mode 100644 index 00000000000..7f464aabeca Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_armless4.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_armless5.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_armless5.png new file mode 100644 index 00000000000..e971de5bd4a Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_armless5.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_armless6.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_armless6.png new file mode 100644 index 00000000000..fbc8f296ee7 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_armless6.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_armless7.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_armless7.png new file mode 100644 index 00000000000..6055cdc6522 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_armless7.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_armless8.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_armless8.png new file mode 100644 index 00000000000..979b9b80784 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_armless8.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_armless9.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_armless9.png new file mode 100644 index 00000000000..3e5919e1267 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_armless9.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_bra1.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_bra1.png new file mode 100644 index 00000000000..da752a9f451 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_bra1.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_bra2.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_bra2.png new file mode 100644 index 00000000000..a92430a43b4 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_bra2.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_bra3.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_bra3.png new file mode 100644 index 00000000000..516e059ac5c Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_bra3.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_bra4.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_bra4.png new file mode 100644 index 00000000000..f7c46e8ed6e Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_bra4.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_bra5.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_bra5.png new file mode 100644 index 00000000000..7a4c269dda7 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_bra5.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_shirt1.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_shirt1.png new file mode 100644 index 00000000000..c742af5197d Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_shirt1.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_shirt2.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_shirt2.png new file mode 100644 index 00000000000..79f1cf1a838 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_shirt2.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_shirt3.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_shirt3.png new file mode 100644 index 00000000000..6223263eaaf Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_shirt3.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart1.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart1.png new file mode 100644 index 00000000000..4771eb94564 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart1.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart2.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart2.png new file mode 100644 index 00000000000..38826113986 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart2.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart3.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart3.png new file mode 100644 index 00000000000..30533972f29 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart3.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart4.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart4.png new file mode 100644 index 00000000000..38879be4bd0 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart4.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart5.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart5.png new file mode 100644 index 00000000000..fc747a3e997 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart5.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart6.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart6.png new file mode 100644 index 00000000000..e6b72768015 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart6.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart7.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart7.png new file mode 100644 index 00000000000..f2aa726ae69 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart7.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart8.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart8.png new file mode 100644 index 00000000000..042b7f9d09b Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart8.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart9.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart9.png new file mode 100644 index 00000000000..11e048f48bb Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart9.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/mask_null.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/mask_null.png new file mode 100644 index 00000000000..2975c479be7 Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/procedural.rsi/mask_null.png differ diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/procedural.rsi/meta.json new file mode 100644 index 00000000000..08133fc00b0 --- /dev/null +++ b/Resources/Textures/Clothing/Uniforms/procedural.rsi/meta.json @@ -0,0 +1,159 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "The sprite base is taken from tgstation at commit https://github.com/tgstation/tgstation/commit/c838ba21dae97db345e0113f99596decd1d66039, separated into layers and added new ones by TheShuEd (github)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "base_leg_short", + "directions": 4 + }, + { + "name": "base_leg_skirt", + "directions": 4 + }, + { + "name": "base_leg_skirt_long", + "directions": 4 + }, + { + "name": "base_leg_standart", + "directions": 4 + }, + { + "name": "base_torso_armless", + "directions": 4 + }, + { + "name": "base_torso_bra", + "directions": 4 + }, + { + "name": "base_torso_shirt", + "directions": 4 + }, + { + "name": "base_torso_standart", + "directions": 4 + }, + { + "name": "base_torso_standart2", + "directions": 4 + }, + { + "name": "decor_torso_armless1", + "directions": 4 + }, + { + "name": "decor_torso_armless2", + "directions": 4 + }, + { + "name": "decor_torso_armless3", + "directions": 4 + }, + { + "name": "decor_torso_armless4", + "directions": 4 + }, + { + "name": "decor_torso_armless5", + "directions": 4 + }, + { + "name": "decor_torso_armless6", + "directions": 4 + }, + { + "name": "decor_torso_armless7", + "directions": 4 + }, + { + "name": "decor_torso_armless8", + "directions": 4 + }, + { + "name": "decor_torso_armless9", + "directions": 4 + }, + { + "name": "decor_torso_armless10", + "directions": 4 + }, + { + "name": "decor_torso_bra1", + "directions": 4 + }, + { + "name": "decor_torso_bra2", + "directions": 4 + }, + { + "name": "decor_torso_bra3", + "directions": 4 + }, + { + "name": "decor_torso_bra4", + "directions": 4 + }, + { + "name": "decor_torso_bra5", + "directions": 4 + }, + { + "name": "decor_torso_shirt1", + "directions": 4 + }, + { + "name": "decor_torso_shirt2", + "directions": 4 + }, + { + "name": "decor_torso_shirt3", + "directions": 4 + }, + { + "name": "decor_torso_standart1", + "directions": 4 + }, + { + "name": "decor_torso_standart2", + "directions": 4 + }, + { + "name": "decor_torso_standart3", + "directions": 4 + }, + { + "name": "decor_torso_standart4", + "directions": 4 + }, + { + "name": "decor_torso_standart5", + "directions": 4 + }, + { + "name": "decor_torso_standart6", + "directions": 4 + }, + { + "name": "decor_torso_standart7", + "directions": 4 + }, + { + "name": "decor_torso_standart8", + "directions": 4 + }, + { + "name": "decor_torso_standart9", + "directions": 4 + }, + { + "name": "mask_null", + "directions": 4 + } + ] +}