]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
New wooden furniture (#26182)
authorKo4ergaPunk <62609550+Ko4ergaPunk@users.noreply.github.com>
Sun, 17 Mar 2024 21:18:58 +0000 (00:18 +0300)
committerGitHub <noreply@github.com>
Sun, 17 Mar 2024 21:18:58 +0000 (00:18 +0300)
* ю

* Fences

* bench, stairs and fence shadow

* small gate desc

* empty

* empty

* destructible

* price fix

25 files changed:
Resources/Prototypes/Entities/Structures/Furniture/chairs.yml
Resources/Prototypes/Entities/Structures/Walls/fence_wood.yml [new file with mode: 0644]
Resources/Prototypes/Entities/Structures/stairs.yml
Resources/Prototypes/Recipes/Construction/Graphs/furniture/seats.yml
Resources/Prototypes/Recipes/Construction/Graphs/structures/fence_wood.yml [new file with mode: 0644]
Resources/Prototypes/Recipes/Construction/furniture.yml
Resources/Prototypes/Recipes/Construction/structures.yml
Resources/Textures/Structures/Furniture/chairs.rsi/meta.json
Resources/Textures/Structures/Furniture/chairs.rsi/wooden-bench.png [new file with mode: 0644]
Resources/Textures/Structures/Walls/wooden_fence.rsi/corner.png [new file with mode: 0644]
Resources/Textures/Structures/Walls/wooden_fence.rsi/corner_small.png [new file with mode: 0644]
Resources/Textures/Structures/Walls/wooden_fence.rsi/door_closed.png [new file with mode: 0644]
Resources/Textures/Structures/Walls/wooden_fence.rsi/door_closed_small.png [new file with mode: 0644]
Resources/Textures/Structures/Walls/wooden_fence.rsi/door_opened.png [new file with mode: 0644]
Resources/Textures/Structures/Walls/wooden_fence.rsi/door_opened_small.png [new file with mode: 0644]
Resources/Textures/Structures/Walls/wooden_fence.rsi/end.png [new file with mode: 0644]
Resources/Textures/Structures/Walls/wooden_fence.rsi/end_small.png [new file with mode: 0644]
Resources/Textures/Structures/Walls/wooden_fence.rsi/meta.json [new file with mode: 0644]
Resources/Textures/Structures/Walls/wooden_fence.rsi/straight.png [new file with mode: 0644]
Resources/Textures/Structures/Walls/wooden_fence.rsi/straight_small.png [new file with mode: 0644]
Resources/Textures/Structures/Walls/wooden_fence.rsi/tjunction.png [new file with mode: 0644]
Resources/Textures/Structures/Walls/wooden_fence.rsi/tjunction_small.png [new file with mode: 0644]
Resources/Textures/Structures/stairs.rsi/meta.json
Resources/Textures/Structures/stairs.rsi/stairs_stage_wood.png [new file with mode: 0644]
Resources/Textures/Structures/stairs.rsi/stairs_wood.png [new file with mode: 0644]

index 87f74d0c4086684d0155cabd95208ecd6b85c979..59782c958576c9d55a76cd986975ce9cfa79bda1 100644 (file)
   - type: Construction
     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 (file)
index 0000000..539eca3
--- /dev/null
@@ -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
index 628c93314888cba151f072944f77f0b9b8de5a2c..0ff3b0d7d36d408dc568415525fd85b23edac82a 100644 (file)
@@ -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
 - 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
index f859daabc9faa4e1244fe5fbb48a72a952840e8b..c587e47efb8fbc467dc054f3d13ae0d6464b6870 100644 (file)
             - material: Steel
               amount: 2
               doAfter: 1
+        - to: chairWoodBench
+          steps:
+            - material: WoodPlank
+              amount: 4
+              doAfter: 2
         - to: redComfBench
           steps:
             - material: Steel
             - 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 (file)
index 0000000..081328f
--- /dev/null
@@ -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
index 4e05a4dfb868fe1764d6d026c8310b9aab1ed6fe..1a17b2f856d5f1b48f3d30dbf0a03fcda97c7ca9 100644 (file)
   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
index f5b4f085d3d297c32b415394b67c627b42e4e329..963a289babf7634f0312decf4efd9467476f1b81 100644 (file)
   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
index c94ef9790923400f75037dd8c08fc02540df5dc5..cbfc417444ac7a9f642f7322f1c7c433ec0b5663 100644 (file)
@@ -1,7 +1,7 @@
 {\r
   "version": 1,\r
   "license": "CC-BY-SA-3.0",\r
-  "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",\r
+  "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)",\r
   "size": {\r
     "x": 32,\r
     "y": 32\r
       "name": "wooden",\r
       "directions": 4\r
     },\r
+    {\r
+      "name": "wooden-bench",\r
+      "directions": 4\r
+    },\r
     {\r
       "name": "wooden-wings",\r
       "directions": 4\r
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 (file)
index 0000000..00192a1
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 (file)
index 0000000..a7fe858
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 (file)
index 0000000..4e80b4d
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 (file)
index 0000000..2f02a6f
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 (file)
index 0000000..2b3693e
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 (file)
index 0000000..4464eac
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 (file)
index 0000000..99dc852
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 (file)
index 0000000..8e4a035
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 (file)
index 0000000..aefaef6
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 (file)
index 0000000..9253b53
--- /dev/null
@@ -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 (file)
index 0000000..4eb510f
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 (file)
index 0000000..b148fc8
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 (file)
index 0000000..85cd3d4
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 (file)
index 0000000..8dc3ee3
Binary files /dev/null and b/Resources/Textures/Structures/Walls/wooden_fence.rsi/tjunction_small.png differ
index d9f5a22fbe36b3d4b4d13085a75d178737908c7f..586e1cd2e4dc27f640e95c7898a9b71f401989b2 100644 (file)
         },
         {
             "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 (file)
index 0000000..615933e
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 (file)
index 0000000..7c5d17a
Binary files /dev/null and b/Resources/Textures/Structures/stairs.rsi/stairs_wood.png differ