From 3363bbe64dd49f31a2e66ba364b02a66aa993574 Mon Sep 17 00:00:00 2001 From: SimpleStation14 Date: Mon, 22 Apr 2024 05:40:21 -0400 Subject: [PATCH] Cherry-picked commit 909b2aaa2d5976122f17f9e4fe6ce1a1389dc619 from space-wizards/space-station-14/master --- .../Entities/Structures/Furniture/chairs.yml | 29 ++ .../Entities/Structures/Walls/fence_wood.yml | 418 ++++++++++++++++++ .../Prototypes/Entities/Structures/stairs.yml | 32 +- .../Construction/Graphs/furniture/seats.yml | 17 + .../Graphs/structures/fence_wood.yml | 176 ++++++++ .../Recipes/Construction/furniture.yml | 17 + .../Recipes/Construction/structures.yml | 173 ++++++++ .../Structures/Furniture/chairs.rsi/meta.json | 6 +- .../Furniture/chairs.rsi/wooden-bench.png | Bin 0 -> 3122 bytes .../Walls/wooden_fence.rsi/corner.png | Bin 0 -> 3286 bytes .../Walls/wooden_fence.rsi/corner_small.png | Bin 0 -> 3219 bytes .../Walls/wooden_fence.rsi/door_closed.png | Bin 0 -> 2656 bytes .../wooden_fence.rsi/door_closed_small.png | Bin 0 -> 3097 bytes .../Walls/wooden_fence.rsi/door_opened.png | Bin 0 -> 3349 bytes .../wooden_fence.rsi/door_opened_small.png | Bin 0 -> 3071 bytes .../Structures/Walls/wooden_fence.rsi/end.png | Bin 0 -> 2692 bytes .../Walls/wooden_fence.rsi/end_small.png | Bin 0 -> 2717 bytes .../Walls/wooden_fence.rsi/meta.json | 59 +++ .../Walls/wooden_fence.rsi/straight.png | Bin 0 -> 2837 bytes .../Walls/wooden_fence.rsi/straight_small.png | Bin 0 -> 2775 bytes .../Walls/wooden_fence.rsi/tjunction.png | Bin 0 -> 3285 bytes .../wooden_fence.rsi/tjunction_small.png | Bin 0 -> 3145 bytes .../Textures/Structures/stairs.rsi/meta.json | 7 + .../stairs.rsi/stairs_stage_wood.png | Bin 0 -> 3285 bytes .../Structures/stairs.rsi/stairs_wood.png | Bin 0 -> 4263 bytes 25 files changed, 927 insertions(+), 7 deletions(-) create mode 100644 Resources/Prototypes/Entities/Structures/Walls/fence_wood.yml create mode 100644 Resources/Prototypes/Recipes/Construction/Graphs/structures/fence_wood.yml create mode 100644 Resources/Textures/Structures/Furniture/chairs.rsi/wooden-bench.png create mode 100644 Resources/Textures/Structures/Walls/wooden_fence.rsi/corner.png create mode 100644 Resources/Textures/Structures/Walls/wooden_fence.rsi/corner_small.png create mode 100644 Resources/Textures/Structures/Walls/wooden_fence.rsi/door_closed.png create mode 100644 Resources/Textures/Structures/Walls/wooden_fence.rsi/door_closed_small.png create mode 100644 Resources/Textures/Structures/Walls/wooden_fence.rsi/door_opened.png create mode 100644 Resources/Textures/Structures/Walls/wooden_fence.rsi/door_opened_small.png create mode 100644 Resources/Textures/Structures/Walls/wooden_fence.rsi/end.png create mode 100644 Resources/Textures/Structures/Walls/wooden_fence.rsi/end_small.png create mode 100644 Resources/Textures/Structures/Walls/wooden_fence.rsi/meta.json create mode 100644 Resources/Textures/Structures/Walls/wooden_fence.rsi/straight.png create mode 100644 Resources/Textures/Structures/Walls/wooden_fence.rsi/straight_small.png create mode 100644 Resources/Textures/Structures/Walls/wooden_fence.rsi/tjunction.png create mode 100644 Resources/Textures/Structures/Walls/wooden_fence.rsi/tjunction_small.png create mode 100644 Resources/Textures/Structures/stairs.rsi/stairs_stage_wood.png create mode 100644 Resources/Textures/Structures/stairs.rsi/stairs_wood.png diff --git a/Resources/Prototypes/Entities/Structures/Furniture/chairs.yml b/Resources/Prototypes/Entities/Structures/Furniture/chairs.yml index cc8cc325fbb..a8534997f03 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/Walls/fence_wood.yml b/Resources/Prototypes/Entities/Structures/Walls/fence_wood.yml new file mode 100644 index 00000000000..539eca32b6f --- /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 628c9331488..0ff3b0d7d36 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/Recipes/Construction/Graphs/furniture/seats.yml b/Resources/Prototypes/Recipes/Construction/Graphs/furniture/seats.yml index f859daabc9f..c587e47efb8 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 00000000000..081328f1612 --- /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 4e05a4dfb86..1a17b2f856d 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 efc4236389e..32117812eeb 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/Textures/Structures/Furniture/chairs.rsi/meta.json b/Resources/Textures/Structures/Furniture/chairs.rsi/meta.json index c94ef979092..cbfc417444a 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 0000000000000000000000000000000000000000..00192a144795a57793a9311c42d4eff74202c507 GIT binary patch literal 3122 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 se0<}hDSh4w+yYofpE3#6V?+K8d7`*fbFF-?sc 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 Ky?fEp*Z&PhMcQ)! literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..2b3693e9dcf917f5209088212e13ca2ea798adb9 GIT binary patch literal 3097 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 F{ci*%yI}wT literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..99dc852d35f7310ce6e4dbc58f0d83dcbfe6e333 GIT binary patch literal 3071 zcmcgu2~-nj9v=~f;)-_Fbyqxw5hW^}ov)6_Rkx>v7 z_PX6N(>>EXm7qAMn4~!?BlbF701ZJ2iCz~;EnwWRmC3TRTI6o+5d^l=S|meZ#>}o{ zCflB}h-YRjO0`gn7El@*Nz}m!UIGv}88-=goeowYyjmp4OMrFYu>^sG5cdKtq7Nv9 zXPT$M$sEtX8Zm}a7$${P8Zm|8nB0oT!8nG?Bp5EiG$^Jda3vv?!(9gg)bX^9m~NQV zr3~z}NVePUA|w)z$0PR0#2lX`k!m!W00)kv0D%g5tef`@`OjSGPrT>*I^TCn7~7|C=-;BtA2F)jpV zjt+R^B9eKAbaT9g;~d?Yn$~SHjLXGJSQN+&rT}ZF7?-LQFvh5)G7UWrhD8~6mgYRd zxbJW=2GY%F5g;T-F&QdVSfp|SlM%Rj0=QyWC)CW*c3a+aP^AUO2!(=>;@^XUa-vB$ z`5(bFMc6prNrG6|on#gxaj{tl+!J9UnR9SFPzm-p`T`PxO z*V(5uM*&lxi7I87&BkbORD;`SR4$WasFfm>Acb;VsbW-CIju^N1iA)Lz@4j3TFEn# z7wHeyGLd2r*pt^~#SA8=#~wIXz641H+ER;9fqGlhvXT37Rcp)(+83t^GhHX{!Ws__c14e@c`Q?88yzY8o_I~(%_`moWtoqK9l{{a~ z!FS)8E8VRDhE-tMGbX{NXV5Y%2q6!~=&lE|PC`)VAd^9F@ou?2J1uRHesF$m=C7hH zsn(d7VTMDlbv|#ydf)lBs!>ql+IbE8JzD#!6-RrI+GaLwmPe!YpYAaykG{FI4v&Ab z&_>)p`@4`M%i`kqKUtFa#o;&d?iY)iaMAH6MH!h)UN7B}j+Zy+24lLqKa~HeNV@p( zpH&DJ;FEo2Am6V?)cKE zU$$mzQO5hDD!w%Oe|`7;-TmmOi}h=^_8#9+{pWg8GdZ;K?7M;O?6ya(`7}2>o$b8= zZGBprP;hBVZNtzbn+&3utk%aTzACu&#i~5B9ZC06DmGPNSaB=OU zdP6}%d;5v4O`+FJduQz^i_M?2G3Vs?L5AzNZq3w>m$f#Dwq3k%Su$lOKgDW!9deZ? zxM;d+$L||Y^%{~d4pE;ug~MTEJ_yS{ANA^;8JA~9LIaJjC{`lxeEYKV#GLUZ_4|(dHwznPjUho8*Z*>^jrn zkN-S0>BiruHu%qpLXuVwjBL4#rRdqTXrm7>%_+bObE9{@7f^a3*& z$=&~o+3Z;5t{qXS@{L%2-E?TnrL9qO3*wU>T>Y%?id}4*&i^W=JvQ=e^IEX!NNif2 VQF#ilE(!din~bT3y-D*6{|$C-W*`6n literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..8e4a035214a4cc0929df7da59a0787b9aa61f5c7 GIT binary patch literal 2692 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 literal 0 HcmV?d00001 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 00000000000..9253b538d95 --- /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 0000000000000000000000000000000000000000..4eb510ff6966f9a23b785c92fa6a5dda975d517e GIT binary patch literal 2837 zcmcgu4Nw&489wP~_$i2*Nv25~wyRML?(N?0-W|K)fRi%_t-}CwV5Q- zo7>&*+kL<1dEe)K-~Dz&@uK<3i4P?j42I-_d`Ahm=ITfMByg^mp6daZ1b_b1s=<)* zzJ5&DmXY$X!4MxWm6mB`&V@85dyNb)vw|_`^#f~zAuA{7XSgasgIK{W`D}3b&`}tY zcpL08J29s}PpFjgmnp*HWs6F=WmO!-!#UYdR*(h&UO{7^px5J5>7Wgc;L>2M-$r35 zVxm>qV7pETl{t%{JXsMS%7`HxhM6EMW#lj%BUyY7gkv~?VmOLX2xg&i3vD8y=nn>T z3NO+njwhmIU}l3WHO)_>XdnaRi5;a*E{F zB-sb)hzu)NYc?3TIu?W1AA|L&QJsKdXpr%vCL^ZD6fxwvn4P~`@kGdZ4i!9tSMX^n zur!0b%Dg1je#6vKieofJ(ggK2Q&3Jk zqcQ)}nCECwR=f<*Lh>?h0rmUbFcedm&XYZ|0*HZkM8pfHlP>V78sp=H0*4I-au_9v zr%hH1!SIH7My2H<55VBBK05SSfPZ!wRf*gqh2f)o{RYdMT(hbIK4@2FsE0iz{Ano(jBt(opgz=4^#>O^d6--#;(eu z7GM;??gp9tAzgvqH7?m#BPh2;=4TWJyf+0!wZWnydm+Z}_edP0%YfGS_~_dxCN8AO z(5)iBE04<5+*>`KC(JC7X+=a6!6PgIYMrGBGlFA$CQC55U=l#bj>+bV@X}LrH&hOUKcZ~DfZ>9fBoRRJtYYp_9T@!hB+io`Af?$i(hq28W zOk&%+-~$pWVDrXa>IUBnar+A#_R`>v&z^qwSNGdfLx10GU%PX@J!`}HwvBbyQp<|o z8Mu63|DhX+M{^GkPe@q1X7!BEe?M*AjKN^T+#>JLwS}&e_xEY`Gv{2_FP-kZrakHY z8<|{k)8I*&{O|4WtvfQQWu|#kQ}cVR&LyiyuFjnQh&ZybVnS8&S2r$Xxxl18Zb#i{ z@vNnL_CD5fVxVY(A#HPW{j`P-^p)2vYcBQt!W+MMv@s69Xe!U}7Uvng`wqO@n9$zy zK*j2giDZAr#KH&Dm%R4#_5Wy&D}3CNRW7v}eNOlnH_XmmfG=lDO9^I5YE}1*>myX-xRfNXnW=-EuX(UE$hsY<^LSkw77)u z)#SEa7v5*zah-g`Y$$&6@hcUNK6`b_B*S&I?uCZA!F+dN=*!{WQ2rCaB^5jCYl^$O z%d_#>`>xfoU;VDBd1p)W*6c5G&koFL%Xz-%`4vx%Y^s~$`{m&i)_J?nj$FPl5Z=}w z-@9e=W80^9b&kBHu0GJYV(Sf4d+Pp~k@*ZC_F+qX7$1y*FwOzJ&5a9`)K##4b$ z_paQK()#-AAVf(;qrKyS&=TZyTKb6l+*TMl-HkHr0@{;#2ijX(W3{J_Ybf_*3c zQ1cSr^y`_~8KL95X5pKzvmt6puyWZe&*XeEu_PsZd)~*LBX5SUoG)73-?!EELf>Tb z+1*3s8MzNVn%8&nRQO7`@WZmfL$YgCPrg0=)g{|jm~2NeJS literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..b148fc8431066f153cc9d25f21919526fcd5bdd1 GIT binary patch literal 2775 zcmcgu4R93Y8Q#PQ0SO7?I2}nL+eI@_vbVqYvuiFSaDfE9B!-(NkP+CQ?=IWi?QV8A zcNc!92uuMH>KL483zMOxv{ObvP?ISbV}S$)ilA)-5ePU642nO9#_*%xUM>eJP{($9 zbGQ5L?)yE@`##_M?02iGDrRJj96J(0kgW1DUo|`z+rP|V@c1{S@f19b(933<2r_!F z{Y!gp^5|Ry$;?y&wN|bFF<#Ol4nfvL;D|?b7>yu>Q{uWHH2@10K}b=(*eAPQ$52J~ zVl_@b>DQ-$dZlcE0cI_z2uKSWBu>Vr6rqK29s)#wC7|(0ST*^$7faysaBSZuFfP1p7!enAf^v{{O^HBRO2z3-MmRw(O9Tjm2v98(#!{(R zyvS|jMA*bg-*2BhIGPl#6eRYCrSc0#c=W@6rEV3sInF_C*6Vt ze1ZkM7@Wl7B!g4V0LAho!_%J0@JNz_p?*zPg3aFxbp>dWCt02*zY_}ENfs>OKL*PZ zAJmM90JTseLI@DL8p6<&!u&KXtQn9PX2&G5@ca34)wBdv0_8q02IX)lip)zCaC<0G z#AO!1Ruxzl7u^iNWe*c%gdhuOk9%moPm`MLMYrb<8bH=0h;ftE#gM@u;AotqgEG!C zEQyPf;DXw)w95_LA}goRDh&mCPzc|OYG)-wM3JF509ZFJb7By8$*dFSNQuK)w~OUG zQqbk31-sF2G7q7Y!1_$M#%9t;Q-x4+6jq9UdeVi2?I8$(4vq$4iM#VBI-4(3?0lM& zSkuTK|_n6g06=ZNw8%gqN<#H8>PfWEe*ZdqKH4^x{nyhv^DK!p+-aPuBt z`DhD*q&JoON&@lqAJ2KIBE2MM!-?9TcQ1dY>UjOr8wRoi`M)|g=lxLaoW9on`?`C( z(;qosz*5~4m-?1p>`m_}IC#k*bMt#HJv3}>yLS5EN2lJ~o>@J!_QP!C*Z-XUge$jc z1o8?vcc%AeIq`7S{?k(?%qu$f#eqlWuLtt|>jySvJiT+&Ol2nB^AsetEKfH(+hJpR^(WDNY%9`a;`NOfBse7!tG<)(%&1_F(H4+2_&{RL(lD7 z`#f@e*_O+*Leh4%tpv8>0m;ZQHtT z*7@xG)7zub_A{RkxMpY6^c3uw_ev*%#Oo{REfol&oA0FW{r8(xV0U%JhK|GA*1i2; z(TW>^Eb@i@%UWnboBNKqzf9XYYFGZjJvBArgPq#q zM&o7o<^5In=G3fSF}C?@e(m&*E2T{hm-9$4y79zoe`wX}9#9t_9ryQd&W&%Z8$*8< z@oYU*c;lB>_RaX_AlJ2gOWml(y0q%AH(zb5oA>hE1*=xAd}rnR83UdNYN-29TiNEt z$_*oTz51t_udcZ`dPddBcdeq|4lFx#09I1=?553??~Yr0W7`<_n#UV=_s(nT%sTg0 z+l6~ReDUz^KZ4wr6+Ii$ttX@zg=)cH%l1^J50#Q*>R literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..85cd3d431a68f87ee6d14c1e4d0097662f4e797c GIT binary patch literal 3285 zcmcgv3se(V8lDsn2*vkfL8}b0M`&S^$z<}Z;TZ&41E?s97MRRTNGi$1B!nQ3a&+y{ zx~`!ux)rU6tyWp3AeLHOk@}?gK*i;tRnS7MEtUnAM=;{vgh#Da*R#84=bV|jbLYR` z|9$^s?wO5oF_GguW_UmlG%h+yz6jhy9Oqb9a6O<|eGA;&^-;@>5H$Xj<75>CjGqZX zZta@*Wu|3{1yYjHatMl1(j1Fc53C_*Ua&<^kgI4DtfW&lIvKm8s+tXJC>c9JpgP&RMRD8fYiTVslpsu+Wo0I|?$iBy`a*QK)I(FjY!nKZ@#90PWICkur_8m%*$2pvgB z%Vlg34vt1cNyUVUt8gBr6ppZoHE2K&5^0a4I#^KvQ79o$ zlBeV&IFA$|ga{WS5{ghF1f?PfLZDI#Db!Kuzj_`)2?hF$AjihxMhYWRhev6epr?}- z@==wFmSBhkQ&9-c$5BK{5<-wr921IYkrJmw^SF*40uV#(`An=A3BY4mPShca+~;d? zc8N4f#5B`TnBfp{b; zzgH!c;sPlu8R^LXv8v%R#uVCl4-kFN->$K=P zdVlx_r}TFA;VLGT=`fq`vKr3buI;R8Z|zTUZK!o zThQ5aqi^d;v%Jwa)Sehz`%BlJaZvEP$)xfA%^jVQk7m$c{-vmAihtjnrVg_TvhFP@ zsx}>L8vEd83}brZoA1AGKC^Sb$DQU5^BVi{_R@c@OZL05VkVRqSO_Z;^63wcSt~l< z2Qyxt9XzjF)oWK>3$ZuE-h*w$wovtAUrmumm#Cnw+`ZSF0YTdy7S6SIx^^Z%oYC56 zdDJhcT%A0n@xjW|(@#cP`xXb`P)t@=s=ahcgJt9Wu}}rK1Is^D+M4rm)uklXg$d=z zDc1FpmM~BL2{#w1cMaA>#bwDB_=ROvy|CQ5TOIba~yWULL&WflBU%0{h zq-q0v390boRGxX+rNzVN$imGU*M_E&K>6B3`5%7i)%Vh&iC)Wg)M{tnU+seWxPR-~ zTeUMOFpHHrH>#eUn38LqoO{@_d_h`C-k+8nfb(m{Z`p3KzM6l7-S4XRu{_GGpW891 z%R6rR^$%{Qn!;0z_hxW(=WW#*uLTR zG+2GnsO}X)D|?ygDpn1>N#kwmxk@uG;?ml8z3Q<3wcS$fvOk}?$bBGMUv-);%AZrV zSK7Ulxa?Mu)Zi_aRmIgU(e8843Df6<+_Yz_b2kOG*goyC#hW>Q@2$Ng+8sM~?*wbx zPpx+g>;1-Db%XY-HypQRz8oApzO;_H;#NQ9i`Kgb2mXk^J#Oy=^<{H>K!PBcx$HOb zY~dBRbM|8e)iJjDJuHK^=fb5G{YQk^whQ?wmp%QnFvSLBrOWbyL|9yyv3!u4uiB*jwY`azc7hLEA7NbsPRw`_jR{ zLcpz}VpX&KSj4W7p0)Q}vZt{Xcc*5%yngVneb~9k%jy1!fY|MfBS)v^8|nD+@MW`yUR1m(+=OMD=p~09qT!e_YJ?Mxcth;>=hA%vkQPo zYe~pX`?2-OuHv^E-RhH0e6XwXrzx#RxbGhKytR4PjxteG+v~8qe{gB&d)0{#g6uQ4 zajTd6fZkTvG6Skh9)9+t%lqFhak_sfwIg1G-2<)tMQ+f()IVJOF8jRtlIn2x*9Fzt i19|O)$6GUZcl!ALd}lLDSEz9Octl6U$Pb03to;`i)ZX&| literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..8dc3ee32f6e9d97f997a4adeccc29c2840b92442 GIT binary patch literal 3145 zcmcgu4OA0X79K>4|JYTkM^MK|yIP%OGMP*=qY#8pKnYk3EkCX>nVEzvB$Fn=1S*)e zwrJg@wXJJctJqenyBqv7)8!Nk|3Ts(GTaG`-%8$Ul36NT=u4i}8=A6mA zd2`=)@Aut%-<$Qz;-V&uojw+Vpb0V2>I85P6Ry!ufd4-mU%CWtV=U3hHVB$nEnGgE z=1&ZSpwUXBHp!l(iKQ6cB&Jzj$BCUL3$TWuMJlI-W->WDtm6zubBO5r(Ml0)WJ5$R z$~CCQ62WB{qjRm?^4vHrlbgwqtVk6KFLF`D+iNe6k$+Q3M)u4gJLMI!xq38ipeA>CP7IAB`A!bq&PhE69IQt zR!=3UpBr)pokDLzeN{S+cEJ9_K70;j%ar zXSUmbt<-C4$>8n0ErWjuwDNdjl% zv#kslxeA0iM_^;2BCH&3=dD_v&l=9uvf+?n3>OpdTp>589E?q3OsbT_D5sFhNOm3! z&wbHoW_gEg-aS~HnznNxBCrTYP#GeXYo$1a$|y`ZAN-@}ps9vujryGXObIQ93Z^pR zXQrT>SlUkiTVs}?^t{zX11*du+Q3OHW`hX!DojQ2S-cfE2GPkpQD`(&jM-+V%?uZ# z4iN!4#6}}aDF{?AmxBsolq4us0+%8rDVHHQDQ8G2i|J6pyI##R*+SBV^@9z-@(jTE z$t%mz3@TG#h+Hqj5FLuk5v4-GAT)`Ss8WwhSsgJPO}y0zdXUb#7gdOg1&9Pmql{Ds z!jLiwgjV26gk)(QLbH0BrsaAa!JJ`{_Pp?W<>VhD-pSp=8iD57I% z0u%?15eiPB!&$}SVm*$S_h5M<9Hc9Gv@V{GqoR$1PB}x2mUAz8xxt<$qi9ChJVHc_ z&@~(@8k#mfpo$(VUqkC185{t8M9U0%xAA(rgSK*u4WQ!wn{JgnjF*jG^=MW)k|bm- z*kR>TkU|A6^adfv5Jrb7Wja*O;&SD%D!*h!P`I2z$>Hw)AF~<~lgXgX1`Zrx648Io z^YQk8K?3*j{N*n8f8pt=^}&*r++WR}clVrrApM>xaHI-D?_mxeyq^P{8AxaahyCTt z1p^S|`&o>7vDW!PdrBogT{Xc~sSJrtH&1Un{4Y#c!5Peq({}*FA6L zPfX8twYcx>I=f}$n$-g}1iZHrA2IVn;{3U33n_Jb+uNqk1D@%_`+fHMep`F;n7chW zFu7*wiJCP#-i6YCtG@Zol09AJ{q13PNmyq?XK9BI^l4n-RQABH#A6S{6}D2P^;iFi z$;KRvD?GbL)%kX8e`oJFsQHLHb<(HxS8D>M#Fs9QHm^N%^y&8;OUDfysSFpB<0l({o z+{+pQi(d%8nHM&2r^*>}S~X(~H0fAzMM?^m!OuIMGG=qGbVDyx^yLYd=+V`h|XR-;S*Yf_ZtkK}etTW7@^_U*DXcKc-3H05>Rs#nCX zl(bKE^>!W3EowV=XTxT{t{dH%vnRxVdFXunmuZe%=kkSXi$mwDb{tC$Kl-=#ZI?TO z@+$f-boj>3!;If|1oiDC)VF+B2-D4LZnzVh4n3LjYZY`Ttw3YwFbdO~ds0vPM^7$l zZS%e2DoDzAEnU66xYC@rHNUFXzy96#Ztu@s9lAcgm@h7Rt|>L&l?h&#cEz^%9jb0U z+*4XKtL%2g72$#G`Q*B;+o$AaPGRWl#rI^(1PRcwy9O4ZN+z8 zi8s3!oG<{Sg&%#9o$vB*=~;H(&$?|^v+v=v{>`F0-99T?C{>kTzt6R%wWA#R5#I?P O`!SJm>XPvESN{c)vXV6b literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/stairs.rsi/meta.json b/Resources/Textures/Structures/stairs.rsi/meta.json index d9f5a22fbe3..586e1cd2e4d 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 0000000000000000000000000000000000000000..615933e917d7cf4380bf3f0bd2c06d2d277ac469 GIT binary patch literal 3285 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