diff --git a/Content.Client/Clothing/ClientClothingSystem.cs b/Content.Client/Clothing/ClientClothingSystem.cs index 979f7430e1..925e3abf8c 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 04f6681136..0e6f199b8a 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.Server/Shuttles/Systems/DockingSystem.Shuttle.cs b/Content.Server/Shuttles/Systems/DockingSystem.Shuttle.cs index 7bc1be02e3..e46a7c715f 100644 --- a/Content.Server/Shuttles/Systems/DockingSystem.Shuttle.cs +++ b/Content.Server/Shuttles/Systems/DockingSystem.Shuttle.cs @@ -134,7 +134,7 @@ private bool CanDock( foreach (var config in configs) { - if (config.Coordinates.Equals(coordinates) && config.Angle.EqualsApprox(angle, 0.01)) + if (config.Coordinates.Equals(coordinates) && config.Angle.EqualsApprox(angle, 0.15)) { return config; } diff --git a/Content.Server/Zombies/PendingZombieComponent.cs b/Content.Server/Zombies/PendingZombieComponent.cs index e112198711..a49b424c53 100644 --- a/Content.Server/Zombies/PendingZombieComponent.cs +++ b/Content.Server/Zombies/PendingZombieComponent.cs @@ -16,8 +16,7 @@ public sealed partial class PendingZombieComponent : Component { DamageDict = new () { - { "Blunt", 0.25 }, - { "Poison", 0.1 }, + { "Poison", 0.3 }, } }; diff --git a/Content.Shared/Clothing/EntitySystems/ClothingSystem.cs b/Content.Shared/Clothing/EntitySystems/ClothingSystem.cs index 50a1d93a6c..f189db005b 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/Content.Shared/Zombies/ZombieComponent.cs b/Content.Shared/Zombies/ZombieComponent.cs index 5ae441b132..023bf751ff 100644 --- a/Content.Shared/Zombies/ZombieComponent.cs +++ b/Content.Shared/Zombies/ZombieComponent.cs @@ -20,14 +20,14 @@ public sealed partial class ZombieComponent : Component, IAntagStatusIconCompone /// The baseline infection chance you have if you are completely nude /// [ViewVariables(VVAccess.ReadWrite)] - public float MaxZombieInfectionChance = 0.50f; + public float MaxZombieInfectionChance = 0.80f; /// /// The minimum infection chance possible. This is simply to prevent /// being invincible by bundling up. /// [ViewVariables(VVAccess.ReadWrite)] - public float MinZombieInfectionChance = 0.20f; + public float MinZombieInfectionChance = 0.50f; [ViewVariables(VVAccess.ReadWrite)] public float ZombieMovementSpeedDebuff = 0.70f; diff --git a/Resources/Locale/en-US/deltav/advertisements/vending/courierdrobe.ftl b/Resources/Locale/en-US/deltav/advertisements/vending/courierdrobe.ftl index 17ef24784c..b411cf2eec 100644 --- a/Resources/Locale/en-US/deltav/advertisements/vending/courierdrobe.ftl +++ b/Resources/Locale/en-US/deltav/advertisements/vending/courierdrobe.ftl @@ -3,3 +3,5 @@ advertisement-courierdrobe-2 = A great investment for your survival! advertisement-courierdrobe-3 = Wear your brown with pride! advertisement-courierdrobe-4 = These shorts are comfy and easy to wear, get yours now! advertisement-courierdrobe-5 = Outrun every danger with our stylish clothes! +thankyou-courierdrobe-1 = Now get out there and deliver that mail! +thankyou-courierdrobe-1 = Those parcels aren't going to deliver themselves! diff --git a/Resources/Locale/en-US/deltav/advertisements/vending/pride.ftl b/Resources/Locale/en-US/deltav/advertisements/vending/pride.ftl index 1a23169c46..d8c47a8e41 100644 --- a/Resources/Locale/en-US/deltav/advertisements/vending/pride.ftl +++ b/Resources/Locale/en-US/deltav/advertisements/vending/pride.ftl @@ -1,3 +1,5 @@ advertisement-pride-1 = Be gay do crime! advertisement-pride-2 = Full of colors! advertisement-pride-3 = You are valid! +thankyou-pride-1 = Go, do some crime! +thankyou-pride-1 = Have a colorful day! diff --git a/Resources/Prototypes/Catalog/Fills/Lockers/wardrobe_colors.yml b/Resources/Prototypes/Catalog/Fills/Lockers/wardrobe_colors.yml index 0c7661452a..2038ef0013 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 9085bcb4fb..8f40ce99de 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/DeltaV/Catalog/VendingMachines/Advertisements/courierdrobe.yml b/Resources/Prototypes/DeltaV/Catalog/VendingMachines/Advertisements/courierdrobe.yml index 9878e4bf89..eb9d3d038a 100644 --- a/Resources/Prototypes/DeltaV/Catalog/VendingMachines/Advertisements/courierdrobe.yml +++ b/Resources/Prototypes/DeltaV/Catalog/VendingMachines/Advertisements/courierdrobe.yml @@ -6,3 +6,6 @@ - advertisement-courierdrobe-3 - advertisement-courierdrobe-4 - advertisement-courierdrobe-5 + thankyous: + - thankyou-courierdrobe-1 + - thankyou-courierdrobe-2 diff --git a/Resources/Prototypes/DeltaV/Catalog/VendingMachines/Advertisements/pride.yml b/Resources/Prototypes/DeltaV/Catalog/VendingMachines/Advertisements/pride.yml index f24ff8fa51..77f5a20858 100644 --- a/Resources/Prototypes/DeltaV/Catalog/VendingMachines/Advertisements/pride.yml +++ b/Resources/Prototypes/DeltaV/Catalog/VendingMachines/Advertisements/pride.yml @@ -3,4 +3,7 @@ advertisements: - advertisement-pride-1 - advertisement-pride-2 - - advertisement-pride-3 \ No newline at end of file + - advertisement-pride-3 + thankyous: + - thankyou-pride-1 + - thankyou-pride-2 diff --git a/Resources/Prototypes/DeltaV/Voice/speech_emote_sounds.yml b/Resources/Prototypes/DeltaV/Voice/speech_emote_sounds.yml index ed462c4f7b..5dbefa1684 100644 --- a/Resources/Prototypes/DeltaV/Voice/speech_emote_sounds.yml +++ b/Resources/Prototypes/DeltaV/Voice/speech_emote_sounds.yml @@ -28,25 +28,25 @@ collection: HarpyGrowls Purr: collection: HarpyPurrs - Ring: + HarpyRing: collection: HarpyRings - HonkHarpy: + HarpyHonk: collection: HarpyHonks - Pew: + HarpyPew: collection: HarpyPews - Bang: + HarpyBang: collection: HarpyBangs - Beep: + HarpyBeep: collection: HarpyBeeps - Rev: + HarpyRev: collection: HarpyRevs -# Click: -# collection: HarpyClicks + Click: + collection: HarpyClicks Chitter: collection: HarpyChitter Squeak: collection: HarpySqueak - Caw: + HarpyCaw: collection: HarpyCaws Chirp: collection: HarpyChirps @@ -58,6 +58,10 @@ collection: VulpkaninWhines Howl: collection: VulpkaninHowls + Honk: + collection: BikeHorn + Weh: + collection: Weh - type: emoteSounds id: MaleVulpkanin @@ -72,12 +76,20 @@ collection: MaleSneezes Cough: collection: MaleCoughs + Yawn: + collection: MaleYawn + Snore: + collection: Snores + Honk: + collection: BikeHorn + Sigh: + collection: MaleSigh Crying: collection: MaleCry Whistle: collection: Whistles - Sigh: - collection: MaleSigh + Weh: + collection: Weh Growl: collection: VulpkaninGrowls Snarl: @@ -102,12 +114,20 @@ collection: FemaleSneezes Cough: collection: FemaleCoughs + Yawn: + collection: FemaleYawn + Snore: + collection: Snores + Honk: + collection: CluwneHorn + Sigh: + collection: FemaleSigh Crying: collection: FemaleCry Whistle: collection: Whistles - Sigh: - collection: FemaleSigh + Weh: + collection: Weh Growl: collection: VulpkaninGrowls Snarl: diff --git a/Resources/Prototypes/DeltaV/Voice/speech_emotes.yml b/Resources/Prototypes/DeltaV/Voice/speech_emotes.yml index 45eec7cb41..2cef3fd038 100644 --- a/Resources/Prototypes/DeltaV/Voice/speech_emotes.yml +++ b/Resources/Prototypes/DeltaV/Voice/speech_emotes.yml @@ -1,89 +1,157 @@ # Harpy - type: emote - id: HonkHarpy + id: HarpyHonk category: Vocal chatMessages: [honks.] chatTriggers: + - honk - honk. + - honk! + - honk? + - honks - honks. - honks! + - honks? + - honking - honking. + - honking! + - honking? + - honked - honked. + - honked! + - honked? - type: emote - id: Ring + id: HarpyRing category: Vocal chatMessages: [rings.] chatTriggers: + - ring - ring. + - ring! + - ring? + - rings - rings. - rings! + - rings? + - ringing - ringing. + - ringing! + - ringing? + - ringed - ringed. + - ringed! + - ringed? + - rang + - rang. + - rang! + - rang? - type: emote - id: Pew + id: HarpyPew category: Vocal chatMessages: [pews.] chatTriggers: + - pew - pew. - - pews. - pew! + - pew? + - pews + - pews. + - pews! + - pews? + - pewpew + - pewpew. + - pewpew! + - pewpew? - type: emote - id: Bang + id: HarpyBang category: Vocal chatMessages: [bangs.] chatTriggers: - - bangs. + - bang - bang. - bang! + - bang? + - bangs + - bangs. + - bangs! + - bangs? + - banging - banging. + - banging! + - banging? + - banged - banged. + - banged! + - banged? - type: emote - id: Beep + id: HarpyBeep category: Vocal chatMessages: [beeps.] chatTriggers: - - beeps. + - beep - beep. - beep! + - beep? + - beeps + - beeps. + - beeps! + - beeps? + - beeping - beeping. + - beeping! + - beeping? + - beeped - beeped. + - beeped! + - beeped? - type: emote - id: Rev + id: HarpyRev category: Vocal chatMessages: [revs.] chatTriggers: - - revs. + - rev - rev. - rev! + - rev? + - revs + - revs. + - revs! + - revs? - revving + - revving. + - revving! + - revving? - revved - -#- type: emote -# id: Click -# category: Vocal -# chatMessages: [clicks.] -# chatTriggers: -# - clicks. -# - click. -# - click! -# - clicking. -# - clicked. + - revved. + - revved! + - revved? - type: emote - id: Caw + id: HarpyCaw category: Vocal chatMessages: [caws.] chatTriggers: - - caws. + - caw - caw. - caw! + - caw? + - caws + - caws. + - caws! + - caws? - cawing + - cawing. + - cawing! + - cawing? - cawed + - cawed. + - cawed! + - cawed? #Vulpkanin - type: emote @@ -91,48 +159,85 @@ category: Vocal chatMessages: [barks.] chatTriggers: + - bark - bark. - bark! + - bark? + - barks - barks. - barks! + - barks? + - barked - barked. - barked! + - barked? + - barking - barking. + - barking! + - barking? - type: emote id: Snarl category: Vocal chatMessages: [snarls.] chatTriggers: + - snarl - snarl. - snarl! + - snarl? + - snarls - snarls. - snarls! + - snarls? + - snarled - snarled. - snarled! + - snarled? + - snarling - snarling. + - snarling! + - snarling? - type: emote id: Whine category: Vocal chatMessages: [whines.] chatTriggers: + - whine - whine. - whine! + - whine? + - whines - whines. - whines! + - whines? + - whined - whined. - whined! + - whined? + - whining - whining. + - whining! + - whining? - type: emote id: Howl category: Vocal chatMessages: [howls.] chatTriggers: + - howl - howl. - howl! + - howl? + - howls - howls. - howls! + - howls? + - howling - howling. + - howling! + - howling? + - howled - howled. + - howling! + - howling? 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 0000000000..88278077b5 --- /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 19793f873f..d7a5e2b787 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/Objects/Misc/carpets.yml b/Resources/Prototypes/Entities/Objects/Misc/carpets.yml index d8f3266730..dca2d40aed 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/carpets.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/carpets.yml @@ -15,7 +15,7 @@ - type: Stack stackType: FloorCarpetRed - type: Tag - tags: + tags: - CarpetRed - type: SpawnAfterInteract #Nuke after convert to FloorTile prototype: Carpet @@ -34,7 +34,7 @@ - type: Stack stackType: FloorCarpetBlack - type: Tag - tags: + tags: - CarpetBlack - type: SpawnAfterInteract #Nuke after convert to FloorTile prototype: CarpetBlack @@ -53,7 +53,7 @@ - type: Stack stackType: FloorCarpetBlue - type: Tag - tags: + tags: - CarpetBlue - type: SpawnAfterInteract #Nuke after convert to FloorTile prototype: CarpetBlue @@ -72,7 +72,7 @@ - type: Stack stackType: FloorCarpetGreen - type: Tag - tags: + tags: - CarpetGreen - type: SpawnAfterInteract #Nuke after convert to FloorTile prototype: CarpetGreen @@ -91,7 +91,7 @@ - type: Stack stackType: FloorCarpetOrange - type: Tag - tags: + tags: - CarpetOrange - type: SpawnAfterInteract #Nuke after convert to FloorTile prototype: CarpetOrange @@ -109,6 +109,9 @@ heldPrefix: carpet-skyblue - type: Stack stackType: FloorCarpetSkyBlue + - type: Tag + tags: + - CarpetSBlue - type: SpawnAfterInteract #Nuke after convert to FloorTile prototype: CarpetSBlue doAfter: 0.5 @@ -126,7 +129,7 @@ - type: Stack stackType: FloorCarpetPurple - type: Tag - tags: + tags: - CarpetPurple - type: SpawnAfterInteract #Nuke after convert to FloorTile prototype: CarpetPurple @@ -145,7 +148,7 @@ - type: Stack stackType: FloorCarpetPink - type: Tag - tags: + tags: - CarpetPink - type: SpawnAfterInteract #Nuke after convert to FloorTile prototype: CarpetPink @@ -164,7 +167,7 @@ - type: Stack stackType: FloorCarpetCyan - type: Tag - tags: + tags: - CarpetCyan - type: SpawnAfterInteract #Nuke after convert to FloorTile prototype: CarpetCyan @@ -183,7 +186,7 @@ - type: Stack stackType: FloorCarpetWhite - type: Tag - tags: + tags: - CarpetWhite - type: SpawnAfterInteract #Nuke after convert to FloorTile prototype: CarpetWhite diff --git a/Resources/Prototypes/Entities/Stations/base.yml b/Resources/Prototypes/Entities/Stations/base.yml index 5cbe349416..ae8d1313d0 100644 --- a/Resources/Prototypes/Entities/Stations/base.yml +++ b/Resources/Prototypes/Entities/Stations/base.yml @@ -1,4 +1,4 @@ -- type: entity +- type: entity id: BaseStation abstract: true components: @@ -46,15 +46,15 @@ path: /Maps/Shuttles/cargo.yml - type: GridSpawn groups: -# trade: -# addComponents: -# - type: ProtectedGrid -# - type: TradeStation -# paths: -# - /Maps/Shuttles/trading_outpost.yml -# mining: -# paths: -# - /Maps/Shuttles/mining.yml + trade: + addComponents: + - type: ProtectedGrid + - type: TradeStation + paths: + - /Maps/Shuttles/trading_outpost.yml + mining: + paths: + - /Maps/Shuttles/mining.yml # Spawn last ruins: hide: true @@ -80,9 +80,9 @@ cargo: paths: - /Maps/Shuttles/cargo_core.yml -# mining: -# paths: -# - /Maps/Shuttles/mining.yml + mining: + paths: + - /Maps/Shuttles/mining.yml ruins: hide: true nameGrid: true diff --git a/Resources/Prototypes/Entities/Structures/Furniture/chairs.yml b/Resources/Prototypes/Entities/Structures/Furniture/chairs.yml index cc8cc325fb..a8534997f0 100644 --- a/Resources/Prototypes/Entities/Structures/Furniture/chairs.yml +++ b/Resources/Prototypes/Entities/Structures/Furniture/chairs.yml @@ -365,3 +365,32 @@ graph: Seat node: chairSteelBench +- type: entity + name: wooden bench + id: WoodenBench + parent: ChairBase + description: Did you get a splinter? Well, at least it’s eco friendly. + components: + - type: Sprite + state: wooden-bench + - type: Construction + graph: Seat + node: chairWoodBench + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + collection: WoodDestroy + - !type:SpawnEntitiesBehavior + spawn: + MaterialWoodPlank: + min: 2 + max: 4 + - type: StaticPrice + price: 20 diff --git a/Resources/Prototypes/Entities/Structures/Furniture/dresser.yml b/Resources/Prototypes/Entities/Structures/Furniture/dresser.yml index 2caa4010ca..fa029c035a 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/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index 02eeca1dd1..28edde7a13 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -979,6 +979,8 @@ - ClothingUniformJumpskirtDetective - ClothingUniformJumpsuitEngineering - ClothingUniformJumpskirtEngineering + - ClothingUniformJumpsuitSeniorEngineer + - ClothingUniformJumpskirtSeniorEngineer - ClothingHeadHatHopcap - ClothingUniformJumpsuitHoP - ClothingUniformJumpskirtHoP @@ -1012,11 +1014,15 @@ - ClothingHeadHatBeretSeniorPhysician - ClothingUniformJumpsuitMedicalDoctor - ClothingUniformJumpskirtMedicalDoctor + - ClothingUniformJumpsuitSeniorPhysician + - ClothingUniformJumpskirtSeniorPhysician - ClothingUniformJumpsuitMime - ClothingUniformJumpskirtMime - ClothingUniformJumpsuitMusician - ClothingUniformJumpsuitParamedic - ClothingUniformJumpskirtParamedic + - ClothingUniformJumpsuitSeniorOfficer + - ClothingUniformJumpskirtSeniorOfficer - ClothingUniformJumpsuitPrisoner - ClothingUniformJumpskirtPrisoner - ClothingHeadHatQMsoft @@ -1031,6 +1037,8 @@ - ClothingUniformJumpskirtResearchDirector - ClothingUniformJumpsuitScientist - ClothingUniformJumpskirtScientist + - ClothingUniformJumpsuitSeniorResearcher + - ClothingUniformJumpskirtSeniorResearcher - ClothingHeadHatBeretSecurity - ClothingUniformJumpsuitSec - ClothingUniformJumpskirtSec diff --git a/Resources/Prototypes/Entities/Structures/Walls/fence_wood.yml b/Resources/Prototypes/Entities/Structures/Walls/fence_wood.yml new file mode 100644 index 0000000000..539eca32b6 --- /dev/null +++ b/Resources/Prototypes/Entities/Structures/Walls/fence_wood.yml @@ -0,0 +1,418 @@ +- type: entity + parent: BaseStructure + id: BaseFenceWood + name: wooden fence + description: Wooden piece of fencing. I hope there is babushka's garden behind it. + abstract: true + components: + - type: MeleeSound + soundGroups: + Brute: + path: + "/Audio/Weapons/boxingpunch1.ogg" + - type: Tag + tags: + - RCDDeconstructWhitelist + - Wooden + - type: Sprite + sprite: Structures/Walls/wooden_fence.rsi + drawdepth: WallTops + - type: Physics + bodyType: Static + - type: Transform + anchored: true + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Wood + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 125 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WoodDestroy + - !type:SpawnEntitiesBehavior + spawn: + MaterialWoodPlank: + min: 1 + max: 2 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: Climbable + delay: 5.0 + - type: Appearance + +- type: entity + parent: BaseFenceWood + id: BaseFenceWoodSmall + name: small wooden fence + description: Wooden piece of small fence. The best protection for the fencing of a private territory! + abstract: true + components: + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 75 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WoodDestroy + - !type:SpawnEntitiesBehavior + spawn: + MaterialWoodPlank: + min: 0 + max: 1 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: Climbable + delay: 2.5 + + +#High +- type: entity + parent: BaseFenceWood + id: FenceWoodHighStraight + suffix: Straight + components: + - type: Icon + sprite: Structures/Walls/wooden_fence.rsi + state: straight + - type: Sprite + layers: + - state: straight + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.10,-0.5,0.10,0.5" + density: 1000 + mask: + - FullTileMask + layer: + - MidImpassable + - LowImpassable + - type: Construction + graph: FenceWood + node: straight + +- type: entity + parent: BaseFenceWood + id: FenceWoodHighEnd + suffix: End + components: + - type: Icon + sprite: Structures/Walls/wooden_fence.rsi + state: end + - type: Sprite + layers: + - state: end + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.1,-0.5,0.1,0.0" + density: 1000 + mask: + - FullTileMask + layer: + - MidImpassable + - LowImpassable + - type: Construction + graph: FenceWood + node: end + +- type: entity + parent: BaseFenceWood + id: FenceWoodHighCorner + suffix: Corner + components: + - type: Icon + sprite: Structures/Walls/wooden_fence.rsi + state: corner + - type: Sprite + layers: + - state: corner + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.1,-0.1,0.1,0.5" + density: 1000 + mask: + - TableMask + layer: + - TableLayer + fix2: + shape: + !type:PhysShapeAabb + bounds: "-0.5,-0.1,-0.1,0.1" + density: 1000 + mask: + - TableMask + layer: + - MidImpassable + - LowImpassable + - type: Construction + graph: FenceWood + node: corner + +- type: entity + parent: BaseFenceWood + id: FenceWoodHighTJunction + suffix: T-Junction + components: + - type: Icon + sprite: Structures/Walls/wooden_fence.rsi + state: tjunction + - type: Sprite + layers: + - state: tjunction + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.10,-0.5,0.10,0.5" + density: 1000 + mask: + - TableMask + layer: + - TableLayer + fix2: + shape: + !type:PhysShapeAabb + bounds: "-0.5,-0.1,-0.1,0.1" + density: 1000 + mask: + - TableMask + layer: + - MidImpassable + - LowImpassable + - type: Construction + graph: FenceWood + node: tjunction + +- type: entity + parent: BaseFenceWood + id: FenceWoodHighGate + name: wooden fence gate + description: Do you have any idea what awaits you behind these gates? It can be either a toilet or a luxurious mansion. But you continue to love your emo boys. + components: + - type: Sprite + layers: + - state: end + map: ["enum.DoorVisualLayers.Base"] + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.5,-0.1,0.5,0.1" + density: 1000 + mask: + - FullTileMask + layer: + - MidImpassable + - LowImpassable + - type: InteractionOutline + - type: Door + openSpriteState: door_opened + closedSpriteState: door_closed_small #idk how, but it's working + canPry: false + occludes: false + changeAirtight: false + bumpOpen: false + clickOpen: true + canCrush: false + closeTimeOne: 0 + closeTimeTwo: 0 + openTimeOne: 0 + openTimeTwo: 0 + openingAnimationTime: 0 + closingAnimationTime: 0 + openSound: + path: /Audio/Effects/door_open.ogg + closeSound: + path: /Audio/Effects/door_close.ogg + - type: Construction + graph: FenceWood + node: gate + +#Small +- type: entity + parent: BaseFenceWoodSmall + id: FenceWoodSmallStraight + suffix: Straight + components: + - type: Icon + sprite: Structures/Walls/wooden_fence.rsi + state: straight_small + - type: Sprite + layers: + - state: straight_small + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.10,-0.5,0.10,0.5" + density: 1000 + mask: + - FullTileMask + layer: + - MidImpassable + - LowImpassable + - type: Construction + graph: FenceWood + node: straight_small + +- type: entity + parent: BaseFenceWoodSmall + id: FenceWoodSmallEnd + suffix: End + components: + - type: Icon + sprite: Structures/Walls/wooden_fence.rsi + state: end_small + - type: Sprite + layers: + - state: end_small + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.1,-0.5,0.1,0.0" + density: 1000 + mask: + - FullTileMask + layer: + - MidImpassable + - LowImpassable + - type: Construction + graph: FenceWood + node: end_small + +- type: entity + parent: BaseFenceWoodSmall + id: FenceWoodSmallCorner + suffix: Corner + components: + - type: Icon + sprite: Structures/Walls/wooden_fence.rsi + state: corner_small + - type: Sprite + layers: + - state: corner_small + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.1,-0.1,0.1,0.5" + density: 1000 + mask: + - TableMask + layer: + - TableLayer + fix2: + shape: + !type:PhysShapeAabb + bounds: "-0.5,-0.1,-0.1,0.1" + density: 1000 + mask: + - TableMask + layer: + - MidImpassable + - LowImpassable + - type: Construction + graph: FenceWood + node: corner_small + +- type: entity + parent: BaseFenceWoodSmall + id: FenceWoodSmallTJunction + suffix: T-Junction + components: + - type: Icon + sprite: Structures/Walls/wooden_fence.rsi + state: tjunction_small + - type: Sprite + layers: + - state: tjunction_small + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.10,-0.5,0.10,0.5" + density: 1000 + mask: + - TableMask + layer: + - TableLayer + fix2: + shape: + !type:PhysShapeAabb + bounds: "-0.5,-0.1,-0.1,0.1" + density: 1000 + mask: + - TableMask + layer: + - MidImpassable + - LowImpassable + - type: Construction + graph: FenceWood + node: tjunction_small + +- type: entity + parent: BaseFenceWoodSmall + id: FenceWoodSmallGate + name: wooden fence gate + description: Looking at this gate, a familiar image pops up in your head. Where's my piggy? + components: + - type: Sprite + layers: + - state: end + map: ["enum.DoorVisualLayers.Base"] + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.5,-0.1,0.5,0.1" + density: 1000 + mask: + - FullTileMask + layer: + - MidImpassable + - LowImpassable + - type: InteractionOutline + - type: Door + openSpriteState: door_opened_small + closedSpriteState: door_closed + canPry: false + occludes: false + changeAirtight: false + bumpOpen: false + clickOpen: true + canCrush: false + closeTimeOne: 0 + closeTimeTwo: 0 + openTimeOne: 0 + openTimeTwo: 0 + openingAnimationTime: 0 + closingAnimationTime: 0 + openSound: + path: /Audio/Effects/door_open.ogg + closeSound: + path: /Audio/Effects/door_close.ogg + - type: Construction + graph: FenceWood + node: gate_small \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Structures/stairs.yml b/Resources/Prototypes/Entities/Structures/stairs.yml index 628c933148..0ff3b0d7d3 100644 --- a/Resources/Prototypes/Entities/Structures/stairs.yml +++ b/Resources/Prototypes/Entities/Structures/stairs.yml @@ -1,7 +1,7 @@ - type: entity id: Stairs name: stairs - suffix: steel + suffix: Steel description: The greatest invention since rocket-propelled grenades. placement: mode: SnapgridCenter @@ -39,7 +39,7 @@ - type: entity id: StairStage parent: Stairs - suffix: steel, stage + suffix: Steel, stage components: - type: Sprite sprite: Structures/stairs.rsi @@ -49,7 +49,7 @@ - type: entity id: StairWhite parent: Stairs - suffix: white + suffix: White components: - type: Sprite sprite: Structures/stairs.rsi @@ -59,7 +59,7 @@ - type: entity id: StairStageWhite parent: Stairs - suffix: white, stage + suffix: White, stage components: - type: Sprite sprite: Structures/stairs.rsi @@ -69,7 +69,7 @@ - type: entity id: StairDark parent: Stairs - suffix: dark + suffix: Dark components: - type: Sprite sprite: Structures/stairs.rsi @@ -79,9 +79,29 @@ - type: entity id: StairStageDark parent: Stairs - suffix: dark, stage + suffix: Dark, stage components: - type: Sprite sprite: Structures/stairs.rsi state: stairs_stage_dark drawdepth: FloorTiles + +- type: entity + id: StairWood + parent: Stairs + suffix: Wood + components: + - type: Sprite + sprite: Structures/stairs.rsi + state: stairs_wood + drawdepth: FloorTiles + +- type: entity + id: StairStageWood + parent: Stairs + suffix: Wood, stage + components: + - type: Sprite + sprite: Structures/stairs.rsi + state: stairs_stage_wood + drawdepth: FloorTiles diff --git a/Resources/Prototypes/Nyanotrasen/Voice/speech_emote_sounds.yml b/Resources/Prototypes/Nyanotrasen/Voice/speech_emote_sounds.yml index aa88242795..b752e94020 100644 --- a/Resources/Prototypes/Nyanotrasen/Voice/speech_emote_sounds.yml +++ b/Resources/Prototypes/Nyanotrasen/Voice/speech_emote_sounds.yml @@ -12,10 +12,20 @@ collection: MaleSneezes Cough: collection: MaleCoughs + Yawn: + collection: MaleYawn + Snore: + collection: Snores + Honk: + collection: BikeHorn + Sigh: + collection: MaleSigh Crying: collection: MaleCry Whistle: collection: Whistles + Weh: + collection: Weh Hiss: collection: FelinidHisses Meow: @@ -26,8 +36,6 @@ collection: FelinidGrowls Purr: collection: FelinidPurrs - Sigh: - collection: MaleSigh - type: emoteSounds id: FemaleFelinid @@ -42,10 +50,20 @@ collection: FemaleSneezes Cough: collection: FemaleCoughs + Yawn: + collection: FemaleYawn + Snore: + collection: Snores + Honk: + collection: CluwneHorn + Sigh: + collection: FemaleSigh Crying: collection: FemaleCry Whistle: collection: Whistles + Weh: + collection: Weh Hiss: collection: FelinidHisses Meow: @@ -56,13 +74,3 @@ collection: FelinidGrowls Purr: collection: FelinidPurrs - Sigh: - collection: FemaleSigh - -# mobs -- type: emoteSounds - id: Mothroach - sound: - path: /Audio/Voice/Moth/moth_squeak.ogg - params: - variation: 0.125 diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/furniture/seats.yml b/Resources/Prototypes/Recipes/Construction/Graphs/furniture/seats.yml index f859daabc9..c587e47efb 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/furniture/seats.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/furniture/seats.yml @@ -68,6 +68,11 @@ - material: Steel amount: 2 doAfter: 1 + - to: chairWoodBench + steps: + - material: WoodPlank + amount: 4 + doAfter: 2 - to: redComfBench steps: - material: Steel @@ -226,6 +231,18 @@ - tool: Screwing doAfter: 1 + - node: chairWoodBench + entity: WoodenBench + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: MaterialWoodPlank1 + amount: 4 + steps: + - tool: Screwing + doAfter: 2 + - node: redComfBench entity: BenchRedComfy edges: diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/fence_wood.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/fence_wood.yml new file mode 100644 index 0000000000..081328f161 --- /dev/null +++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/fence_wood.yml @@ -0,0 +1,176 @@ +- type: constructionGraph + id: FenceWood + start: start + graph: + - node: start + edges: + - to: straight + steps: + - material: WoodPlank + amount: 2 + doAfter: 2.0 + - to: end + steps: + - material: WoodPlank + amount: 2 + doAfter: 2.0 + - to: corner + steps: + - material: WoodPlank + amount: 2 + doAfter: 2.0 + - to: tjunction + steps: + - material: WoodPlank + amount: 2 + doAfter: 2.0 + - to: gate + steps: + - material: WoodPlank + amount: 2 + doAfter: 2.0 + - to: straight_small + steps: + - material: WoodPlank + amount: 2 + doAfter: 2.0 + - to: end_small + steps: + - material: WoodPlank + amount: 2 + doAfter: 2.0 + - to: corner_small + steps: + - material: WoodPlank + amount: 2 + doAfter: 2.0 + - to: tjunction_small + steps: + - material: WoodPlank + amount: 2 + doAfter: 2.0 + - to: gate_small + steps: + - material: WoodPlank + amount: 2 + doAfter: 2.0 + - node: straight + entity: FenceWoodHighStraight + edges: + - to: start + steps: + - tool: Prying + doAfter: 5.0 + completed: + - !type:SpawnPrototype + prototype: MaterialWoodPlank1 + amount: 2 + - !type:DeleteEntity {} + - node: end + entity: FenceWoodHighEnd + edges: + - to: start + steps: + - tool: Prying + doAfter: 2.5 + completed: + - !type:SpawnPrototype + prototype: MaterialWoodPlank1 + amount: 2 + - !type:DeleteEntity {} + - node: corner + entity: FenceWoodHighCorner + edges: + - to: start + steps: + - tool: Prying + doAfter: 5.0 + completed: + - !type:SpawnPrototype + prototype: MaterialWoodPlank1 + amount: 2 + - !type:DeleteEntity {} + - node: tjunction + entity: FenceWoodHighTJunction + edges: + - to: start + steps: + - tool: Prying + doAfter: 5.0 + completed: + - !type:SpawnPrototype + prototype: MaterialWoodPlank1 + amount: 2 + - !type:DeleteEntity {} + - node: gate + entity: FenceWoodHighGate + edges: + - to: start + steps: + - tool: Prying + doAfter: 5.0 + completed: + - !type:SpawnPrototype + prototype: MaterialWoodPlank1 + amount: 2 + - !type:DeleteEntity {} + - node: straight_small + entity: FenceWoodSmallStraight + edges: + - to: start + steps: + - tool: Prying + doAfter: 2.5 + completed: + - !type:SpawnPrototype + prototype: MaterialWoodPlank1 + amount: 1 + - !type:DeleteEntity {} + - node: end_small + entity: FenceWoodSmallEnd + edges: + - to: start + steps: + - tool: Prying + doAfter: 1.25 + completed: + - !type:SpawnPrototype + prototype: MaterialWoodPlank1 + amount: 1 + - !type:DeleteEntity {} + - node: corner_small + entity: FenceWoodSmallCorner + edges: + - to: start + steps: + - tool: Prying + doAfter: 2.5 + completed: + - !type:SpawnPrototype + prototype: MaterialWoodPlank1 + amount: 1 + - !type:DeleteEntity {} + - node: tjunction_small + entity: FenceWoodSmallTJunction + edges: + - to: start + steps: + - tool: Prying + doAfter: 2.5 + completed: + - !type:SpawnPrototype + prototype: MaterialWoodPlank1 + amount: 1 + - !type:DeleteEntity {} + - node: gate_small + entity: FenceWoodSmallGate + edges: + - to: start + steps: + - tool: Prying + doAfter: 2.5 + completed: + - !type:SpawnPrototype + prototype: MaterialWoodPlank1 + amount: 1 + - !type:DeleteEntity {} \ No newline at end of file diff --git a/Resources/Prototypes/Recipes/Construction/furniture.yml b/Resources/Prototypes/Recipes/Construction/furniture.yml index 4e05a4dfb8..1a17b2f856 100644 --- a/Resources/Prototypes/Recipes/Construction/furniture.yml +++ b/Resources/Prototypes/Recipes/Construction/furniture.yml @@ -220,6 +220,23 @@ conditions: - !type:TileNotBlocked +- type: construction + name: wooden bench + id: ChairWoodBench + graph: Seat + startNode: start + targetNode: chairWoodBench + category: construction-category-furniture + description: Did you get a splinter? Well, at least it’s eco friendly. + icon: + sprite: Structures/Furniture/chairs.rsi + state: wooden-bench + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + - type: construction name: comfortable red bench id: RedComfBench diff --git a/Resources/Prototypes/Recipes/Construction/structures.yml b/Resources/Prototypes/Recipes/Construction/structures.yml index efc4236389..32117812ee 100644 --- a/Resources/Prototypes/Recipes/Construction/structures.yml +++ b/Resources/Prototypes/Recipes/Construction/structures.yml @@ -996,6 +996,179 @@ conditions: - !type:TileNotBlocked +#Wooden fence high +- type: construction + name: wooden high fence + id: FenceWood + graph: FenceWood + startNode: start + targetNode: straight + category: construction-category-structures + description: Part of a wooden fence meant to cordon off areas. + icon: + sprite: Structures/Walls/wooden_fence.rsi + state: straight + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: wooden high fence end + id: FenceWoodEnd + graph: FenceWood + startNode: start + targetNode: end + category: construction-category-structures + description: Part of a wooden fence meant to cordon off areas. + icon: + sprite: Structures/Walls/wooden_fence.rsi + state: end + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: wooden high fence corner + id: FenceWoodCorner + graph: FenceWood + startNode: start + targetNode: corner + category: construction-category-structures + description: Part of a wooden fence meant to cordon off areas. + icon: + sprite: Structures/Walls/wooden_fence.rsi + state: corner + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: wooden high fence t-junction + id: FenceWoodTJunction + graph: FenceWood + startNode: start + targetNode: tjunction + category: construction-category-structures + description: Part of a wooden fence meant to cordon off areas. + icon: + sprite: Structures/Walls/wooden_fence.rsi + state: tjunction + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: wooden high fence gate + id: FenceWoodGate + graph: FenceWood + startNode: start + targetNode: gate + category: construction-category-structures + description: Part of a wooden fence meant to cordon off areas. + icon: + sprite: Structures/Walls/wooden_fence.rsi + state: door_closed + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +#Wooden fence small +- type: construction + name: wooden small fence + id: FenceWoodSmall + graph: FenceWood + startNode: start + targetNode: straight_small + category: construction-category-structures + description: Part of a wooden fence meant to cordon off areas. + icon: + sprite: Structures/Walls/wooden_fence.rsi + state: straight_small + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: wooden small fence end + id: FenceWoodEndSmall + graph: FenceWood + startNode: start + targetNode: end_small + category: construction-category-structures + description: Part of a wooden fence meant to cordon off areas. + icon: + sprite: Structures/Walls/wooden_fence.rsi + state: end_small + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: wooden small fence corner + id: FenceWoodCornerSmall + graph: FenceWood + startNode: start + targetNode: corner_small + category: construction-category-structures + description: Part of a wooden fence meant to cordon off areas. + icon: + sprite: Structures/Walls/wooden_fence.rsi + state: corner_small + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: wooden small fence t-junction + id: FenceWoodTJunctionSmall + graph: FenceWood + startNode: start + targetNode: tjunction_small + category: construction-category-structures + description: Part of a wooden fence meant to cordon off areas. + icon: + sprite: Structures/Walls/wooden_fence.rsi + state: tjunction_small + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: wooden small fence gate + id: FenceWoodGateSmall + graph: FenceWood + startNode: start + targetNode: gate_small + category: construction-category-structures + description: Part of a wooden fence meant to cordon off areas. + icon: + sprite: Structures/Walls/wooden_fence.rsi + state: door_closed_small + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +#Airlocks - type: construction name: airlock id: Airlock diff --git a/Resources/Prototypes/Recipes/Lathes/clothing.yml b/Resources/Prototypes/Recipes/Lathes/clothing.yml index 626ec82a91..19b2fbb883 100644 --- a/Resources/Prototypes/Recipes/Lathes/clothing.yml +++ b/Resources/Prototypes/Recipes/Lathes/clothing.yml @@ -245,6 +245,20 @@ materials: Cloth: 300 +- type: latheRecipe + id: ClothingUniformJumpsuitSeniorEngineer + result: ClothingUniformJumpsuitSeniorEngineer + completetime: 4 + materials: + Cloth: 300 + +- type: latheRecipe + id: ClothingUniformJumpskirtSeniorEngineer + result: ClothingUniformJumpskirtSeniorEngineer + completetime: 4 + materials: + Cloth: 300 + - type: latheRecipe id: ClothingUniformJumpsuitHoP result: ClothingUniformJumpsuitHoP @@ -404,6 +418,20 @@ materials: Cloth: 300 +- type: latheRecipe + id: ClothingUniformJumpsuitSeniorPhysician + result: ClothingUniformJumpsuitSeniorPhysician + completetime: 4 + materials: + Cloth: 300 + +- type: latheRecipe + id: ClothingUniformJumpskirtSeniorPhysician + result: ClothingUniformJumpskirtSeniorPhysician + completetime: 4 + materials: + Cloth: 300 + - type: latheRecipe id: ClothingUniformJumpsuitMime result: ClothingUniformJumpsuitMime @@ -453,6 +481,20 @@ materials: Cloth: 300 +- type: latheRecipe + id: ClothingUniformJumpsuitSeniorOfficer + result: ClothingUniformJumpsuitSeniorOfficer + completetime: 4 + materials: + Cloth: 300 + +- type: latheRecipe + id: ClothingUniformJumpskirtSeniorOfficer + result: ClothingUniformJumpskirtSeniorOfficer + completetime: 4 + materials: + Cloth: 300 + - type: latheRecipe id: ClothingUniformJumpsuitPrisoner result: ClothingUniformJumpsuitPrisoner @@ -532,6 +574,20 @@ materials: Cloth: 300 +- type: latheRecipe + id: ClothingUniformJumpsuitSeniorResearcher + result: ClothingUniformJumpsuitSeniorResearcher + completetime: 4 + materials: + Cloth: 300 + +- type: latheRecipe + id: ClothingUniformJumpskirtSeniorResearcher + result: ClothingUniformJumpskirtSeniorResearcher + completetime: 4 + materials: + Cloth: 300 + - type: latheRecipe id: ClothingUniformJumpsuitSec result: ClothingUniformJumpsuitSec diff --git a/Resources/Prototypes/Voice/speech_emotes.yml b/Resources/Prototypes/Voice/speech_emotes.yml index 2aae102db0..7eb2bd4f6a 100644 --- a/Resources/Prototypes/Voice/speech_emotes.yml +++ b/Resources/Prototypes/Voice/speech_emotes.yml @@ -170,91 +170,19 @@ - click - click. - click! + - click? - clicks - clicks. - clicks! - -- type: emote - id: Chirp - category: Vocal - chatMessages: [chirps!] - chatTriggers: - - chirp - - chirp! - - chirp. - - chirps - - churps. - - chirps! - - chirped - - chirped. - - chirped! - - chirping - - chirping. - - chirping! - -- type: emote - id: Buzz - category: Vocal - chatMessages: [buzz!] - chatTriggers: - - buzzing - - buzzing! - - buzzing. - - buzz - - buzz. - - buzz! - - buzzed - - buzzed. - - buzzed! - - buzzes - - buzzes. - - buzzes! - -- type: emote - id: Weh - category: Vocal - chatMessages: [Wehs!] - -# IPC emotes -- type: emote - id: Whirr - category: Vocal - chatMessages: [whirrs] - chatTriggers: - - whirr - - whirrs - - whirrs. - - whirrs! - -# - type: emote - # id: Beep - # category: Vocal - # chatMessages: [beeps] - # chatTriggers: - # - beep - # - beeps - # - beeps. - # - beeps! - -- type: emote - id: Boop - category: Vocal - chatMessages: [boops] - chatTriggers: - - boop - - boops - - boops. - - boops! - -- type: emote - id: Ping - category: Vocal - chatMessages: [pings] - chatTriggers: - - ping - - pings - - pings. - - pings! + - clicks? + - clicked + - clicked. + - clicked! + - clicked? + - clicking + - clicking. + - clicking! + - clicking? # hand emotes - type: emote @@ -304,4 +232,49 @@ id: DefaultDeathgasp chatMessages: ["emote-deathgasp"] chatTriggers: - - deathgasp \ No newline at end of file + - deathgasp + +- type: emote + id: Buzz + category: Vocal + chatMessages: [buzz!] + chatTriggers: + - buzzing + - buzzing! + - buzzing. + - buzz + - buzz. + - buzz! + - buzzed + - buzzed. + - buzzed! + - buzzes + - buzzes. + - buzzes! + +- type: emote + id: Weh + category: Vocal + chatMessages: [Wehs!] + +- type: emote + id: Chirp + category: Vocal + chatMessages: [chirps!] + chatTriggers: + - chirp + - chirp. + - chirp! + - chirp? + - chirps + - chirps. + - chirps! + - chirps? + - chirped + - chirped. + - chirped! + - chirped? + - chirping + - chirping. + - chirping! + - chirping? diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index 8e46e9323f..95f20b3c90 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -271,6 +271,9 @@ - type: Tag id: CarpetPurple +- type: Tag + id: CarpetSBlue + - type: Tag id: CarpetPink 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 0000000000..e3b74ba7b6 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 0000000000..3341ff4418 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 0000000000..5c83cae137 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 0000000000..7140a3869c 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 0000000000..2864e1c04e 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 0000000000..03c8d493fb 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 0000000000..b03f394279 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 0000000000..1db1be4c68 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 0000000000..5397d8e8d7 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 0000000000..d2110b9f5a 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 0000000000..4060a0d6a5 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 0000000000..7f504cbc7a 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 0000000000..6897496738 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 0000000000..7f464aabec 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 0000000000..e971de5bd4 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 0000000000..fbc8f296ee 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 0000000000..6055cdc652 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 0000000000..979b9b8078 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 0000000000..3e5919e126 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 0000000000..da752a9f45 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 0000000000..a92430a43b 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 0000000000..516e059ac5 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 0000000000..f7c46e8ed6 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 0000000000..7a4c269dda 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 0000000000..c742af5197 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 0000000000..79f1cf1a83 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 0000000000..6223263eaa 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 0000000000..4771eb9456 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 0000000000..3882611398 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 0000000000..30533972f2 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 0000000000..38879be4bd 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 0000000000..fc747a3e99 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 0000000000..e6b7276801 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 0000000000..f2aa726ae6 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 0000000000..042b7f9d09 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 0000000000..11e048f48b 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 0000000000..2975c479be 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 0000000000..08133fc00b --- /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 + } + ] +} diff --git a/Resources/Textures/Objects/Tanks/Jetpacks/captain.rsi/equipped-SUITSTORAGE.png b/Resources/Textures/Objects/Tanks/Jetpacks/captain.rsi/equipped-SUITSTORAGE.png new file mode 100644 index 0000000000..aeaa182522 Binary files /dev/null and b/Resources/Textures/Objects/Tanks/Jetpacks/captain.rsi/equipped-SUITSTORAGE.png differ diff --git a/Resources/Textures/Objects/Tanks/Jetpacks/captain.rsi/meta.json b/Resources/Textures/Objects/Tanks/Jetpacks/captain.rsi/meta.json index d57c3cdf00..2adfbbc375 100644 --- a/Resources/Textures/Objects/Tanks/Jetpacks/captain.rsi/meta.json +++ b/Resources/Textures/Objects/Tanks/Jetpacks/captain.rsi/meta.json @@ -54,6 +54,32 @@ 0.2 ] ] + }, + { + "name": "equipped-SUITSTORAGE", + "directions": 4 + }, + { + "name": "on-equipped-SUITSTORAGE", + "directions": 4, + "delays": [ + [ + 0.2, + 0.2 + ], + [ + 0.2, + 0.2 + ], + [ + 0.2, + 0.2 + ], + [ + 0.2, + 0.2 + ] + ] } ] } \ No newline at end of file diff --git a/Resources/Textures/Objects/Tanks/Jetpacks/captain.rsi/on-equipped-SUITSTORAGE.png b/Resources/Textures/Objects/Tanks/Jetpacks/captain.rsi/on-equipped-SUITSTORAGE.png new file mode 100644 index 0000000000..351623cf28 Binary files /dev/null and b/Resources/Textures/Objects/Tanks/Jetpacks/captain.rsi/on-equipped-SUITSTORAGE.png differ diff --git a/Resources/Textures/Objects/Tanks/Jetpacks/mini.rsi/equipped-SUITSTORAGE.png b/Resources/Textures/Objects/Tanks/Jetpacks/mini.rsi/equipped-SUITSTORAGE.png new file mode 100644 index 0000000000..d775e61dc7 Binary files /dev/null and b/Resources/Textures/Objects/Tanks/Jetpacks/mini.rsi/equipped-SUITSTORAGE.png differ diff --git a/Resources/Textures/Objects/Tanks/Jetpacks/mini.rsi/meta.json b/Resources/Textures/Objects/Tanks/Jetpacks/mini.rsi/meta.json index d9ea7ada5f..4f37eed72c 100644 --- a/Resources/Textures/Objects/Tanks/Jetpacks/mini.rsi/meta.json +++ b/Resources/Textures/Objects/Tanks/Jetpacks/mini.rsi/meta.json @@ -59,6 +59,36 @@ 0.1 ] ] + }, + { + "name": "equipped-SUITSTORAGE", + "directions": 4 + }, + { + "name": "on-equipped-SUITSTORAGE", + "directions": 4, + "delays": [ + [ + 0.5, + 0.2, + 0.1 + ], + [ + 0.5, + 0.2, + 0.1 + ], + [ + 0.5, + 0.2, + 0.1 + ], + [ + 0.5, + 0.2, + 0.1 + ] + ] } ] } \ No newline at end of file diff --git a/Resources/Textures/Objects/Tanks/Jetpacks/mini.rsi/on-equipped-SUITSTORAGE.png b/Resources/Textures/Objects/Tanks/Jetpacks/mini.rsi/on-equipped-SUITSTORAGE.png new file mode 100644 index 0000000000..4348c5463c Binary files /dev/null and b/Resources/Textures/Objects/Tanks/Jetpacks/mini.rsi/on-equipped-SUITSTORAGE.png differ diff --git a/Resources/Textures/Objects/Tanks/Jetpacks/void.rsi/equipped-SUITSTORAGE.png b/Resources/Textures/Objects/Tanks/Jetpacks/void.rsi/equipped-SUITSTORAGE.png new file mode 100644 index 0000000000..4b7e877c75 Binary files /dev/null and b/Resources/Textures/Objects/Tanks/Jetpacks/void.rsi/equipped-SUITSTORAGE.png differ diff --git a/Resources/Textures/Objects/Tanks/Jetpacks/void.rsi/meta.json b/Resources/Textures/Objects/Tanks/Jetpacks/void.rsi/meta.json index 2fcae77e7b..41bdc98958 100644 --- a/Resources/Textures/Objects/Tanks/Jetpacks/void.rsi/meta.json +++ b/Resources/Textures/Objects/Tanks/Jetpacks/void.rsi/meta.json @@ -36,6 +36,14 @@ { "name": "on-equipped-BACKPACK", "directions": 4 + }, + { + "name": "equipped-SUITSTORAGE", + "directions": 4 + }, + { + "name": "on-equipped-SUITSTORAGE", + "directions": 4 } ] } \ No newline at end of file diff --git a/Resources/Textures/Objects/Tanks/Jetpacks/void.rsi/on-equipped-SUITSTORAGE.png b/Resources/Textures/Objects/Tanks/Jetpacks/void.rsi/on-equipped-SUITSTORAGE.png new file mode 100644 index 0000000000..c1cbd4967b Binary files /dev/null and b/Resources/Textures/Objects/Tanks/Jetpacks/void.rsi/on-equipped-SUITSTORAGE.png differ diff --git a/Resources/Textures/Objects/Tanks/anesthetic.rsi/equipped-SUITSTORAGE.png b/Resources/Textures/Objects/Tanks/anesthetic.rsi/equipped-SUITSTORAGE.png new file mode 100644 index 0000000000..57675fec22 Binary files /dev/null and b/Resources/Textures/Objects/Tanks/anesthetic.rsi/equipped-SUITSTORAGE.png differ diff --git a/Resources/Textures/Objects/Tanks/anesthetic.rsi/meta.json b/Resources/Textures/Objects/Tanks/anesthetic.rsi/meta.json index 26106db4a3..1450c5a2d2 100644 --- a/Resources/Textures/Objects/Tanks/anesthetic.rsi/meta.json +++ b/Resources/Textures/Objects/Tanks/anesthetic.rsi/meta.json @@ -14,6 +14,10 @@ "name": "equipped-BACKPACK", "directions": 4 }, + { + "name": "equipped-SUITSTORAGE", + "directions": 4 + }, { "name": "equipped-SUITSTORAGE-dog", "directions": 4, diff --git a/Resources/Textures/Objects/Tanks/generic.rsi/equipped-SUITSTORAGE.png b/Resources/Textures/Objects/Tanks/generic.rsi/equipped-SUITSTORAGE.png new file mode 100644 index 0000000000..332f1d08f3 Binary files /dev/null and b/Resources/Textures/Objects/Tanks/generic.rsi/equipped-SUITSTORAGE.png differ diff --git a/Resources/Textures/Objects/Tanks/generic.rsi/meta.json b/Resources/Textures/Objects/Tanks/generic.rsi/meta.json index 897d32989a..98b81aaf25 100644 --- a/Resources/Textures/Objects/Tanks/generic.rsi/meta.json +++ b/Resources/Textures/Objects/Tanks/generic.rsi/meta.json @@ -14,6 +14,10 @@ "name": "equipped-BACKPACK", "directions": 4 }, + { + "name": "equipped-SUITSTORAGE", + "directions": 4 + }, { "name": "equipped-SUITSTORAGE-dog", "directions": 4, diff --git a/Resources/Textures/Objects/Tanks/oxygen.rsi/equipped-SUITSTORAGE.png b/Resources/Textures/Objects/Tanks/oxygen.rsi/equipped-SUITSTORAGE.png new file mode 100644 index 0000000000..d890d08c1a Binary files /dev/null and b/Resources/Textures/Objects/Tanks/oxygen.rsi/equipped-SUITSTORAGE.png differ diff --git a/Resources/Textures/Objects/Tanks/oxygen.rsi/meta.json b/Resources/Textures/Objects/Tanks/oxygen.rsi/meta.json index 26106db4a3..1450c5a2d2 100644 --- a/Resources/Textures/Objects/Tanks/oxygen.rsi/meta.json +++ b/Resources/Textures/Objects/Tanks/oxygen.rsi/meta.json @@ -14,6 +14,10 @@ "name": "equipped-BACKPACK", "directions": 4 }, + { + "name": "equipped-SUITSTORAGE", + "directions": 4 + }, { "name": "equipped-SUITSTORAGE-dog", "directions": 4, diff --git a/Resources/Textures/Objects/Tanks/red.rsi/equipped-SUITSTORAGE.png b/Resources/Textures/Objects/Tanks/red.rsi/equipped-SUITSTORAGE.png new file mode 100644 index 0000000000..6c36a11d4d Binary files /dev/null and b/Resources/Textures/Objects/Tanks/red.rsi/equipped-SUITSTORAGE.png differ diff --git a/Resources/Textures/Objects/Tanks/red.rsi/meta.json b/Resources/Textures/Objects/Tanks/red.rsi/meta.json index 26106db4a3..1450c5a2d2 100644 --- a/Resources/Textures/Objects/Tanks/red.rsi/meta.json +++ b/Resources/Textures/Objects/Tanks/red.rsi/meta.json @@ -14,6 +14,10 @@ "name": "equipped-BACKPACK", "directions": 4 }, + { + "name": "equipped-SUITSTORAGE", + "directions": 4 + }, { "name": "equipped-SUITSTORAGE-dog", "directions": 4, diff --git a/Resources/Textures/Structures/Furniture/chairs.rsi/meta.json b/Resources/Textures/Structures/Furniture/chairs.rsi/meta.json index c94ef97909..cbfc417444 100644 --- a/Resources/Textures/Structures/Furniture/chairs.rsi/meta.json +++ b/Resources/Textures/Structures/Furniture/chairs.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/11402f6ae62facc2e8bcfa1f8ef5353b26663278, meat.png is CC0-1.0 by EmoGarbage404 (github) for Space Station 14. chair.png and its derrivatives taken from shiptest at commit https://github.com/shiptest-ss13/Shiptest/commit/f761c784812e827960a66cd10aac17ebc6edfac3, palette for chair.png, steel-bench.png and chair-greyscale.png taken from paradise equivalent chairs at commit https://github.com/ParadiseSS13/Paradise/commit/5ce5a66c814c4a60118d24885389357fd0240002, steel by SonicHDC, brass chair.png taken from tgstation at https://github.com/tgstation/tgstation/blob/b7e7779c19b76449c290aaf2150fb93545b1a79a/icons/obj/chairs.dmi", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/11402f6ae62facc2e8bcfa1f8ef5353b26663278, meat.png is CC0-1.0 by EmoGarbage404 (github) for Space Station 14. chair.png and its derrivatives taken from shiptest at commit https://github.com/shiptest-ss13/Shiptest/commit/f761c784812e827960a66cd10aac17ebc6edfac3, palette for chair.png, steel-bench.png and chair-greyscale.png taken from paradise equivalent chairs at commit https://github.com/ParadiseSS13/Paradise/commit/5ce5a66c814c4a60118d24885389357fd0240002, steel by SonicHDC, brass chair.png taken from tgstation at https://github.com/tgstation/tgstation/blob/b7e7779c19b76449c290aaf2150fb93545b1a79a/icons/obj/chairs.dmi, wooden bench by Ko4erga (discord)", "size": { "x": 32, "y": 32 @@ -71,6 +71,10 @@ "name": "wooden", "directions": 4 }, + { + "name": "wooden-bench", + "directions": 4 + }, { "name": "wooden-wings", "directions": 4 diff --git a/Resources/Textures/Structures/Furniture/chairs.rsi/wooden-bench.png b/Resources/Textures/Structures/Furniture/chairs.rsi/wooden-bench.png new file mode 100644 index 0000000000..00192a1447 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/chairs.rsi/wooden-bench.png differ diff --git a/Resources/Textures/Structures/Walls/wooden_fence.rsi/corner.png b/Resources/Textures/Structures/Walls/wooden_fence.rsi/corner.png new file mode 100644 index 0000000000..a7fe858c4b Binary files /dev/null and b/Resources/Textures/Structures/Walls/wooden_fence.rsi/corner.png differ diff --git a/Resources/Textures/Structures/Walls/wooden_fence.rsi/corner_small.png b/Resources/Textures/Structures/Walls/wooden_fence.rsi/corner_small.png new file mode 100644 index 0000000000..4e80b4d19e Binary files /dev/null and b/Resources/Textures/Structures/Walls/wooden_fence.rsi/corner_small.png differ diff --git a/Resources/Textures/Structures/Walls/wooden_fence.rsi/door_closed.png b/Resources/Textures/Structures/Walls/wooden_fence.rsi/door_closed.png new file mode 100644 index 0000000000..2f02a6f743 Binary files /dev/null and b/Resources/Textures/Structures/Walls/wooden_fence.rsi/door_closed.png differ diff --git a/Resources/Textures/Structures/Walls/wooden_fence.rsi/door_closed_small.png b/Resources/Textures/Structures/Walls/wooden_fence.rsi/door_closed_small.png new file mode 100644 index 0000000000..2b3693e9dc Binary files /dev/null and b/Resources/Textures/Structures/Walls/wooden_fence.rsi/door_closed_small.png differ diff --git a/Resources/Textures/Structures/Walls/wooden_fence.rsi/door_opened.png b/Resources/Textures/Structures/Walls/wooden_fence.rsi/door_opened.png new file mode 100644 index 0000000000..4464eac3be Binary files /dev/null and b/Resources/Textures/Structures/Walls/wooden_fence.rsi/door_opened.png differ diff --git a/Resources/Textures/Structures/Walls/wooden_fence.rsi/door_opened_small.png b/Resources/Textures/Structures/Walls/wooden_fence.rsi/door_opened_small.png new file mode 100644 index 0000000000..99dc852d35 Binary files /dev/null and b/Resources/Textures/Structures/Walls/wooden_fence.rsi/door_opened_small.png differ diff --git a/Resources/Textures/Structures/Walls/wooden_fence.rsi/end.png b/Resources/Textures/Structures/Walls/wooden_fence.rsi/end.png new file mode 100644 index 0000000000..8e4a035214 Binary files /dev/null and b/Resources/Textures/Structures/Walls/wooden_fence.rsi/end.png differ diff --git a/Resources/Textures/Structures/Walls/wooden_fence.rsi/end_small.png b/Resources/Textures/Structures/Walls/wooden_fence.rsi/end_small.png new file mode 100644 index 0000000000..aefaef6ed3 Binary files /dev/null and b/Resources/Textures/Structures/Walls/wooden_fence.rsi/end_small.png differ diff --git a/Resources/Textures/Structures/Walls/wooden_fence.rsi/meta.json b/Resources/Textures/Structures/Walls/wooden_fence.rsi/meta.json new file mode 100644 index 0000000000..9253b538d9 --- /dev/null +++ b/Resources/Textures/Structures/Walls/wooden_fence.rsi/meta.json @@ -0,0 +1,59 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "by Ko4erga (discord)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "straight", + "directions": 4 + }, + { + "name": "end", + "directions": 4 + }, + { + "name": "corner", + "directions": 4 + }, + { + "name": "door_closed", + "directions": 4 + }, + { + "name": "door_opened", + "directions": 4 + }, + { + "name": "tjunction", + "directions": 4 + }, + { + "name": "straight_small", + "directions": 4 + }, + { + "name": "end_small", + "directions": 4 + }, + { + "name": "corner_small", + "directions": 4 + }, + { + "name": "door_closed_small", + "directions": 4 + }, + { + "name": "door_opened_small", + "directions": 4 + }, + { + "name": "tjunction_small", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Structures/Walls/wooden_fence.rsi/straight.png b/Resources/Textures/Structures/Walls/wooden_fence.rsi/straight.png new file mode 100644 index 0000000000..4eb510ff69 Binary files /dev/null and b/Resources/Textures/Structures/Walls/wooden_fence.rsi/straight.png differ diff --git a/Resources/Textures/Structures/Walls/wooden_fence.rsi/straight_small.png b/Resources/Textures/Structures/Walls/wooden_fence.rsi/straight_small.png new file mode 100644 index 0000000000..b148fc8431 Binary files /dev/null and b/Resources/Textures/Structures/Walls/wooden_fence.rsi/straight_small.png differ diff --git a/Resources/Textures/Structures/Walls/wooden_fence.rsi/tjunction.png b/Resources/Textures/Structures/Walls/wooden_fence.rsi/tjunction.png new file mode 100644 index 0000000000..85cd3d431a Binary files /dev/null and b/Resources/Textures/Structures/Walls/wooden_fence.rsi/tjunction.png differ diff --git a/Resources/Textures/Structures/Walls/wooden_fence.rsi/tjunction_small.png b/Resources/Textures/Structures/Walls/wooden_fence.rsi/tjunction_small.png new file mode 100644 index 0000000000..8dc3ee32f6 Binary files /dev/null and b/Resources/Textures/Structures/Walls/wooden_fence.rsi/tjunction_small.png differ diff --git a/Resources/Textures/Structures/stairs.rsi/meta.json b/Resources/Textures/Structures/stairs.rsi/meta.json index d9f5a22fbe..586e1cd2e4 100644 --- a/Resources/Textures/Structures/stairs.rsi/meta.json +++ b/Resources/Textures/Structures/stairs.rsi/meta.json @@ -27,6 +27,13 @@ }, { "name": "stairs_stage_dark" + }, + { + "name": "stairs_wood", + "directions": 4 + }, + { + "name": "stairs_stage_wood" } ] } diff --git a/Resources/Textures/Structures/stairs.rsi/stairs_stage_wood.png b/Resources/Textures/Structures/stairs.rsi/stairs_stage_wood.png new file mode 100644 index 0000000000..615933e917 Binary files /dev/null and b/Resources/Textures/Structures/stairs.rsi/stairs_stage_wood.png differ diff --git a/Resources/Textures/Structures/stairs.rsi/stairs_wood.png b/Resources/Textures/Structures/stairs.rsi/stairs_wood.png new file mode 100644 index 0000000000..7c5d17a6c8 Binary files /dev/null and b/Resources/Textures/Structures/stairs.rsi/stairs_wood.png differ