From 6c08ca60f3d4da3797367a5696aea6c6a743b8ca Mon Sep 17 00:00:00 2001 From: Jaraten <116667537+Jaraten@users.noreply.github.com> Date: Tue, 1 Oct 2024 18:32:14 +0500 Subject: [PATCH] frame & table (#464) * frame & table * rem superfluous sprite * merge conflict * duplicate_ID --------- Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com> --- .../Structures/Furniture/workbenchs.yml | 7 +- .../Entities/Structures/GirderFrame/frame.yml | 155 +++++++++++++++++- .../_CP14/Entities/Structures/Walls/walls.yml | 69 ++------ .../Furniture/workbench.rsi/meta.json | 3 + .../Furniture/workbench.rsi/sewing_table.png | Bin 0 -> 1347 bytes .../Walls/wall_frame.rsi/crushed_low.png | Bin 0 -> 1309 bytes .../Walls/wall_frame.rsi/crushed_medium.png | Bin 0 -> 1473 bytes .../Structures/Walls/wall_frame.rsi/meta.json | 10 +- 8 files changed, 179 insertions(+), 65 deletions(-) create mode 100644 Resources/Textures/_CP14/Structures/Furniture/workbench.rsi/sewing_table.png create mode 100644 Resources/Textures/_CP14/Structures/Walls/wall_frame.rsi/crushed_low.png create mode 100644 Resources/Textures/_CP14/Structures/Walls/wall_frame.rsi/crushed_medium.png diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/workbenchs.yml b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/workbenchs.yml index f6ab96a6f9..708c7db44a 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/workbenchs.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/workbenchs.yml @@ -1,5 +1,5 @@ - type: entity - parent: + parent: - BaseStructure id: CP14BaseWorkbench abstract: true @@ -104,6 +104,11 @@ name: sewing table description: A table with embroidery tools to create different clothing and materials. components: + - type: Sprite + snapCardinals: true + state: sewing_table + - type: Icon + state: sewing_table - type: CP14Workbench craftSound: collection: CP14Sawing #TODO diff --git a/Resources/Prototypes/_CP14/Entities/Structures/GirderFrame/frame.yml b/Resources/Prototypes/_CP14/Entities/Structures/GirderFrame/frame.yml index be533d3a5f..c4a3f669b5 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/GirderFrame/frame.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/GirderFrame/frame.yml @@ -1,7 +1,7 @@ - type: entity id: CP14FrameWooden name: wooden wall frame - parent: + parent: - BaseStructureDynamic - CP14BaseFlammableSpreading description: Wooden frame for any wooden wall. @@ -63,7 +63,7 @@ collection: WoodDestroy - !type:SpawnEntitiesBehavior spawn: - CP14WoodenPlanks1: + CP14FrameWoodenCrushedMedium: min: 1 max: 1 @@ -99,4 +99,153 @@ - MachineMask layer: - GlassAirlockLayer - - type: InteractionOutline \ No newline at end of file + - type: InteractionOutline + +- type: entity ### Crushed Medium frame + id: CP14FrameWoodenCrushedMedium + name: wooden wall frame + parent: CP14BaseCrushed + suffix: CrushedMedium + components: + - type: Sprite + sprite: _CP14/Structures/Walls/wall_frame.rsi + state: crushed_medium + - type: Icon + sprite: _CP14/Structures/Walls/wall_frame.rsi + state: crushed_medium + - type: Transform + anchored: true + noRot: false + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Wood + - type: Destructible + thresholds: + - trigger: + !type:DamageTypeTrigger + damageType: Heat + damage: 20 + behaviors: + - !type:SpawnEntitiesBehavior + spawn: + CP14FrameWoodenCrushedLow: + min: 1 + max: 1 + - !type:PlaySoundBehavior + sound: + collection: WoodDestroy + - !type:DoActsBehavior + acts: ["Destruction"] + - trigger: + !type:DamageTrigger + damage: 30 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WoodDestroy + - !type:SpawnEntitiesBehavior + spawn: + CP14FrameWoodenCrushedLow: + min: 1 + max: 1 + - !type:DoActsBehavior + acts: [ "Destruction" ] + +- type: entity ### Crushed Low frame + id: CP14FrameWoodenCrushedLow + name: wooden wall frame + parent: CP14BaseCrushed + suffix: CrushedLow + components: + - type: Sprite + sprite: _CP14/Structures/Walls/wall_frame.rsi + state: crushed_low + - type: Icon + sprite: _CP14/Structures/Walls/wall_frame.rsi + state: crushed_low + - type: Transform + anchored: true + noRot: false + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Wood + - type: Destructible + thresholds: + - trigger: + !type:DamageTypeTrigger + damageType: Heat + damage: 20 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WoodDestroy + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 30 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WoodDestroy + - !type:DoActsBehavior + acts: [ "Destruction" ] + +- type: entity ### Crushed Medium stone + id: CP14WallStonebrickCrushedMedium + name: stone brick wall + parent: CP14BaseCrushed + suffix: CrushedMedium + components: + - type: Sprite + sprite: _CP14/Structures/Walls/bricks_stone_wall.rsi + state: crushed_medium + - type: Icon + sprite: _CP14/Structures/Walls/bricks_stone_wall.rsi + state: crushed_medium + - type: Transform + anchored: true + noRot: false + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Metallic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:SpawnEntitiesBehavior + spawn: + CP14WallStonebrickCrushedLow: + min: 1 + max: 1 + - !type:DoActsBehavior + acts: [ "Destruction" ] + +- type: entity ### Crushed Low stone + id: CP14WallStonebrickCrushedLow + name: stone brick wall + parent: CP14BaseCrushed + suffix: CrushedLow + components: + - type: Sprite + sprite: _CP14/Structures/Walls/bricks_stone_wall.rsi + state: crushed_low + - type: Icon + sprite: _CP14/Structures/Walls/bricks_stone_wall.rsi + state: crushed_low + - type: Transform + anchored: true + noRot: false + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Metallic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Walls/walls.yml b/Resources/Prototypes/_CP14/Entities/Structures/Walls/walls.yml index e649fdb02d..2c8b9fe70f 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Walls/walls.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Walls/walls.yml @@ -51,65 +51,6 @@ acts: [ "Destruction" ] - type: CP14WallpaperHolder -- type: entity ### Crushed Medium - id: CP14WallStonebrickCrushedMedium - name: stone brick wall - parent: CP14BaseCrushed - suffix: CrushedMedium - components: - - type: Sprite - sprite: _CP14/Structures/Walls/bricks_stone_wall.rsi - state: crushed_medium - - type: Icon - sprite: _CP14/Structures/Walls/bricks_stone_wall.rsi - state: crushed_medium - - type: Transform - anchored: true - noRot: false - - type: Damageable - damageContainer: Inorganic - damageModifierSet: Metallic - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 50 - behaviors: - - !type:SpawnEntitiesBehavior - spawn: - CP14WallStonebrickCrushedLow: - min: 1 - max: 1 - - !type:DoActsBehavior - acts: [ "Destruction" ] - -- type: entity ### Crushed Low - id: CP14WallStonebrickCrushedLow - name: stone brick wall - parent: CP14BaseCrushed - suffix: CrushedLow - components: - - type: Sprite - sprite: _CP14/Structures/Walls/bricks_stone_wall.rsi - state: crushed_low - - type: Icon - sprite: _CP14/Structures/Walls/bricks_stone_wall.rsi - state: crushed_low - - type: Transform - anchored: true - noRot: false - - type: Damageable - damageContainer: Inorganic - damageModifierSet: Metallic - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 50 - behaviors: - - !type:DoActsBehavior - acts: [ "Destruction" ] - - type: entity id: CP14WallWhitebrick name: white brick wall @@ -166,6 +107,11 @@ - !type:PlaySoundBehavior sound: collection: WoodDestroy + - !type:SpawnEntitiesBehavior + spawn: + CP14FrameWooden: + min: 1 + max: 1 - !type:DoActsBehavior acts: [ "Destruction" ] - type: Construction @@ -194,6 +140,11 @@ - !type:PlaySoundBehavior sound: collection: WoodDestroy + - !type:SpawnEntitiesBehavior + spawn: + CP14FrameWooden: + min: 1 + max: 1 - !type:DoActsBehavior acts: [ "Destruction" ] - type: Construction diff --git a/Resources/Textures/_CP14/Structures/Furniture/workbench.rsi/meta.json b/Resources/Textures/_CP14/Structures/Furniture/workbench.rsi/meta.json index 656a6d26a7..a8070577ac 100644 --- a/Resources/Textures/_CP14/Structures/Furniture/workbench.rsi/meta.json +++ b/Resources/Textures/_CP14/Structures/Furniture/workbench.rsi/meta.json @@ -15,6 +15,9 @@ }, { "name": "cooking_table" + }, + { + "name": "sewing_table" } ] } diff --git a/Resources/Textures/_CP14/Structures/Furniture/workbench.rsi/sewing_table.png b/Resources/Textures/_CP14/Structures/Furniture/workbench.rsi/sewing_table.png new file mode 100644 index 0000000000000000000000000000000000000000..1289f84624d87bd764defc1c27e476312fb09588 GIT binary patch literal 1347 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 b{=fJaa_Mdm{g`QR00000NkvXXu0mjfDrUy> literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Structures/Walls/wall_frame.rsi/meta.json b/Resources/Textures/_CP14/Structures/Walls/wall_frame.rsi/meta.json index 8e9f9fe09f..df0390090b 100644 --- a/Resources/Textures/_CP14/Structures/Walls/wall_frame.rsi/meta.json +++ b/Resources/Textures/_CP14/Structures/Walls/wall_frame.rsi/meta.json @@ -5,10 +5,16 @@ "y": 64 }, "license": "CLA", - "copyright": "Created by TheShuEd for CrystallPunk14, modified by vladimir.s", + "copyright": "Created by TheShuEd & Jaraten for CrystallPunk14, modified by vladimir.s", "states": [ { "name": "wooden" + }, + { + "name": "crushed_medium" + }, + { + "name": "crushed_low" } ] -} \ No newline at end of file +}