diff --git a/Resources/Prototypes/Entities/Structures/Walls/railing.yml b/Resources/Prototypes/Entities/Structures/Walls/railing.yml index 08e20ae31a..534ff116e5 100644 --- a/Resources/Prototypes/Entities/Structures/Walls/railing.yml +++ b/Resources/Prototypes/Entities/Structures/Walls/railing.yml @@ -110,3 +110,55 @@ graph: railing node: railingCorner +- type: entity + parent: BaseStructure + id: RailingCornerSmall + name: railing + description: Basic railing meant to protect idiots like you from falling. + components: + - type: Sprite + netsync: false + drawdepth: WallTops + sprite: Structures/Walls/railing.rsi + state: corner_small + - type: Icon + sprite: Structures/Walls/railing.rsi + state: corner_small + - type: Physics + bodyType: Static + - type: Fixtures + fixtures: + - shape: + !type:PhysShapeAabb + bounds: "-0.49,0.49,-0.3,0.3" + mass: 50 + layer: + - SmallImpassable + mask: + - Impassable + - type: InteractionOutline + - type: Repairable + - type: Damageable + damageContainer: Inorganic + damageModifierSet: FlimsyMetallic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 20 + behaviors: + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/metalbreak.ogg + - !type:SpawnEntitiesBehavior + spawn: + PartRodMetal1: + min: 0 + max: 2 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: Climbable + - type: Construction + graph: railing + node: railingCornerSmall + diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/railing.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/railing.yml index 3914d5007b..21a7d89bbc 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/railing.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/railing.yml @@ -20,6 +20,14 @@ - material: MetalRod amount: 2 doAfter: 2.5 + - to: railingCornerSmall + completed: + - !type:SnapToGrid + southRotation: true + steps: + - material: MetalRod + amount: 1 + doAfter: 2 - node: railing entity: Railing @@ -46,3 +54,16 @@ steps: - tool: Screwing doAfter: 0.5 + + - node: railingCornerSmall + entity: RailingCornerSmall + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: PartRodMetal1 + amount: 1 + - !type:DeleteEntity + steps: + - tool: Screwing + doAfter: 0.25 diff --git a/Resources/Prototypes/Recipes/Construction/structures.yml b/Resources/Prototypes/Recipes/Construction/structures.yml index ddfb356606..dc01e95c6e 100644 --- a/Resources/Prototypes/Recipes/Construction/structures.yml +++ b/Resources/Prototypes/Recipes/Construction/structures.yml @@ -307,6 +307,23 @@ conditions: - !type:TileNotBlocked +- type: construction + name: railing corner small + id: RailingCornerSmall + graph: railing + startNode: start + targetNode: railingCornerSmall + category: Structures + description: Basic railing meant to protect idiots like you from falling. + icon: + sprite: Structures/Walls/railing.rsi + state: corner_small + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + - type: construction name: airlock id: airlock diff --git a/Resources/Textures/Structures/Walls/railing.rsi/corner_small.png b/Resources/Textures/Structures/Walls/railing.rsi/corner_small.png new file mode 100644 index 0000000000..6d539d8bb7 Binary files /dev/null and b/Resources/Textures/Structures/Walls/railing.rsi/corner_small.png differ diff --git a/Resources/Textures/Structures/Walls/railing.rsi/meta.json b/Resources/Textures/Structures/Walls/railing.rsi/meta.json index 7bb4d81ee4..3d1553e971 100644 --- a/Resources/Textures/Structures/Walls/railing.rsi/meta.json +++ b/Resources/Textures/Structures/Walls/railing.rsi/meta.json @@ -6,14 +6,18 @@ "x": 32, "y": 32 }, - "states": [ - { - "name": "side", - "directions": 4 - }, - { - "name": "corner", - "directions": 4 - } - ] + "states": [ + { + "name": "side", + "directions": 4 + }, + { + "name": "corner", + "directions": 4 + }, + { + "name": "corner_small", + "directions": 4 + } + ] }