diff --git a/Resources/Prototypes/Entities/Structures/Furniture/Tables/tables.yml b/Resources/Prototypes/Entities/Structures/Furniture/Tables/tables.yml index 97bf8e87d8..e0d2347d0c 100644 --- a/Resources/Prototypes/Entities/Structures/Furniture/Tables/tables.yml +++ b/Resources/Prototypes/Entities/Structures/Furniture/Tables/tables.yml @@ -13,7 +13,7 @@ fixtures: - shape: !type:PhysShapeAabb - bounds: "-0.45,-0.45,0.45,0.45" + bounds: "-0.40,-0.30,0.40,0.45" mass: 50 mask: - Impassable @@ -43,6 +43,96 @@ - type: Construction graph: Table node: TableFrame + +- type: entity + id: CounterWoodFrame + parent: BaseStructure + name: wooden counter frame + description: Pieces of wood that make the frame of a table. + components: + - type: Sprite + sprite: Structures/Furniture/Tables/counterwood.rsi + - type: Icon + sprite: Structures/Furniture/Tables/counterwood.rsi + - type: Fixtures + fixtures: + - shape: + !type:PhysShapeAabb + bounds: "-0.45,-0.45,0.45,0.45" + mass: 50 + mask: + - Impassable + - SmallImpassable + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Wood + - type: IconSmooth + key: state + base: state_ + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 1 + behaviors: + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/woodhit.ogg + - !type:SpawnEntitiesBehavior + spawn: + MaterialWoodPlank1: + min: 0 + max: 1 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: Construction + graph: Table + node: CounterWoodFrame + +- type: entity + id: CounterMetalFrame + parent: BaseStructure + name: metal counter frame + description: Pieces of metal that make the frame of a table. + components: + - type: Sprite + sprite: Structures/Furniture/Tables/countermetal.rsi + - type: Icon + sprite: Structures/Furniture/Tables/countermetal.rsi + - type: Fixtures + fixtures: + - shape: + !type:PhysShapeAabb + bounds: "-0.45,-0.45,0.45,0.45" + mass: 50 + mask: + - Impassable + - SmallImpassable + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Metallic + - type: IconSmooth + key: state + base: state_ + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 1 + behaviors: + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/metalbreak.ogg + - !type:SpawnEntitiesBehavior + spawn: + SheetSteel1: + min: 0 + max: 1 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: Construction + graph: Table + node: CounterMetalFrame - type: entity id: Table @@ -380,3 +470,25 @@ behaviors: - !type:DoActsBehavior acts: ["Destruction"] + +# counters + +- type: entity + id: TableCounterWood + parent: CounterWoodFrame + name: wood counter + description: Do not apply fire to this. Rumour says it burns easily. + components: + - type: Construction + graph: Table + node: CounterWood + +- type: entity + id: TableCounterMetal + parent: CounterMetalFrame + name: metal counter + description: Looks like a good place to put a drink down. + components: + - type: Construction + graph: Table + node: CounterMetal \ No newline at end of file diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/furniture/tables.yml b/Resources/Prototypes/Recipes/Construction/Graphs/furniture/tables.yml index b7393effc2..d55194b7f5 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/furniture/tables.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/furniture/tables.yml @@ -14,6 +14,23 @@ - material: MetalRod amount: 2 doAfter: 1 + - to: CounterWoodFrame + completed: + - !type:SnapToGrid + southRotation: true + steps: + - material: WoodPlank + amount: 1 + doAfter: 1 + - to: CounterMetalFrame + completed: + - !type:SnapToGrid + southRotation: true + steps: + - material: Steel + amount: 1 + doAfter: 1 + - node: TableFrame entity: TableFrame @@ -63,6 +80,39 @@ amount: 1 doAfter: 1 + + - node: CounterWoodFrame + entity: CounterWoodFrame + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: MaterialWoodPlank1 + amount: 1 + steps: + - tool: Anchoring + doAfter: 1 + - to: CounterWood + steps: + - material: WoodPlank + amount: 1 + doAfter: 1 + + - node: CounterMetalFrame + entity: CounterMetalFrame + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 1 + - to: CounterMetal + steps: + - material: Steel + amount: 1 + doAfter: 1 + + - node: Table entity: Table edges: @@ -152,3 +202,27 @@ steps: - tool: Prying doAfter: 1 + + - node: CounterMetal + entity: TableCounterMetal + edges: + - to: CounterMetalFrame + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 1 + steps: + - tool: Anchoring + doAfter: 1 + + - node: CounterWood + entity: TableCounterWood + edges: + - to: CounterWoodFrame + completed: + - !type:SpawnPrototype + prototype: MaterialWoodPlank1 + amount: 1 + steps: + - tool: Prying + doAfter: 1 diff --git a/Resources/Prototypes/Recipes/Construction/furniture.yml b/Resources/Prototypes/Recipes/Construction/furniture.yml index f4398fdd07..598fefb790 100644 --- a/Resources/Prototypes/Recipes/Construction/furniture.yml +++ b/Resources/Prototypes/Recipes/Construction/furniture.yml @@ -271,6 +271,40 @@ canBuildInImpassable: false conditions: - !type:TileNotBlocked + +- type: construction + name: metal counter + id: TableCounterMetal + graph: Table + startNode: start + targetNode: CounterMetal + category: Furniture + description: Looks like a good place to put a drink down. + icon: + sprite: Structures/Furniture/Tables/countermetal.rsi + state: full + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: wood counter + id: TableCounterWood + graph: Table + startNode: start + targetNode: CounterWood + category: Furniture + description: Do not apply fire to this. Rumour says it burns easily. + icon: + sprite: Structures/Furniture/Tables/counterwood.rsi + state: full + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked #bathroom - type: construction diff --git a/Resources/Textures/Structures/Furniture/Tables/countermetal.rsi/full.png b/Resources/Textures/Structures/Furniture/Tables/countermetal.rsi/full.png new file mode 100644 index 0000000000..2b940e1c66 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Tables/countermetal.rsi/full.png differ diff --git a/Resources/Textures/Structures/Furniture/Tables/countermetal.rsi/meta.json b/Resources/Textures/Structures/Furniture/Tables/countermetal.rsi/meta.json new file mode 100644 index 0000000000..9234c55f47 --- /dev/null +++ b/Resources/Textures/Structures/Furniture/Tables/countermetal.rsi/meta.json @@ -0,0 +1,46 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/discordia-space/CEV-Eris/blob/0b3ab17dbad632ddf738b63900ef8df1926bba47/icons/obj/tables.dmi and modified by Peptide90", + "states": [ + { + "name": "full" + }, + { + "name": "state_0", + "directions": 4 + }, + { + "name": "state_1", + "directions": 4 + }, + { + "name": "state_2", + "directions": 4 + }, + { + "name": "state_3", + "directions": 4 + }, + { + "name": "state_4", + "directions": 4 + }, + { + "name": "state_5", + "directions": 4 + }, + { + "name": "state_6", + "directions": 4 + }, + { + "name": "state_7", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Structures/Furniture/Tables/countermetal.rsi/state_0.png b/Resources/Textures/Structures/Furniture/Tables/countermetal.rsi/state_0.png new file mode 100644 index 0000000000..2da836f8a2 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Tables/countermetal.rsi/state_0.png differ diff --git a/Resources/Textures/Structures/Furniture/Tables/countermetal.rsi/state_1.png b/Resources/Textures/Structures/Furniture/Tables/countermetal.rsi/state_1.png new file mode 100644 index 0000000000..e17a7a3ca3 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Tables/countermetal.rsi/state_1.png differ diff --git a/Resources/Textures/Structures/Furniture/Tables/countermetal.rsi/state_2.png b/Resources/Textures/Structures/Furniture/Tables/countermetal.rsi/state_2.png new file mode 100644 index 0000000000..63df8277dc Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Tables/countermetal.rsi/state_2.png differ diff --git a/Resources/Textures/Structures/Furniture/Tables/countermetal.rsi/state_3.png b/Resources/Textures/Structures/Furniture/Tables/countermetal.rsi/state_3.png new file mode 100644 index 0000000000..4fc7558892 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Tables/countermetal.rsi/state_3.png differ diff --git a/Resources/Textures/Structures/Furniture/Tables/countermetal.rsi/state_4.png b/Resources/Textures/Structures/Furniture/Tables/countermetal.rsi/state_4.png new file mode 100644 index 0000000000..c5323f1d38 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Tables/countermetal.rsi/state_4.png differ diff --git a/Resources/Textures/Structures/Furniture/Tables/countermetal.rsi/state_5.png b/Resources/Textures/Structures/Furniture/Tables/countermetal.rsi/state_5.png new file mode 100644 index 0000000000..ee64bb0303 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Tables/countermetal.rsi/state_5.png differ diff --git a/Resources/Textures/Structures/Furniture/Tables/countermetal.rsi/state_6.png b/Resources/Textures/Structures/Furniture/Tables/countermetal.rsi/state_6.png new file mode 100644 index 0000000000..2d78b4c2a9 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Tables/countermetal.rsi/state_6.png differ diff --git a/Resources/Textures/Structures/Furniture/Tables/countermetal.rsi/state_7.png b/Resources/Textures/Structures/Furniture/Tables/countermetal.rsi/state_7.png new file mode 100644 index 0000000000..165f578dc0 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Tables/countermetal.rsi/state_7.png differ diff --git a/Resources/Textures/Structures/Furniture/Tables/counterwood.rsi/full.png b/Resources/Textures/Structures/Furniture/Tables/counterwood.rsi/full.png new file mode 100644 index 0000000000..dc0a62e2c0 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Tables/counterwood.rsi/full.png differ diff --git a/Resources/Textures/Structures/Furniture/Tables/counterwood.rsi/meta.json b/Resources/Textures/Structures/Furniture/Tables/counterwood.rsi/meta.json new file mode 100644 index 0000000000..06de008fe0 --- /dev/null +++ b/Resources/Textures/Structures/Furniture/Tables/counterwood.rsi/meta.json @@ -0,0 +1,46 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprite by Peptide based on wooden table", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "full" + }, + { + "name": "state_0", + "directions": 4 + }, + { + "name": "state_1", + "directions": 4 + }, + { + "name": "state_2", + "directions": 4 + }, + { + "name": "state_3", + "directions": 4 + }, + { + "name": "state_4", + "directions": 4 + }, + { + "name": "state_5", + "directions": 4 + }, + { + "name": "state_6", + "directions": 4 + }, + { + "name": "state_7", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Structures/Furniture/Tables/counterwood.rsi/state_0.png b/Resources/Textures/Structures/Furniture/Tables/counterwood.rsi/state_0.png new file mode 100644 index 0000000000..82c6187204 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Tables/counterwood.rsi/state_0.png differ diff --git a/Resources/Textures/Structures/Furniture/Tables/counterwood.rsi/state_1.png b/Resources/Textures/Structures/Furniture/Tables/counterwood.rsi/state_1.png new file mode 100644 index 0000000000..1c8447cb3b Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Tables/counterwood.rsi/state_1.png differ diff --git a/Resources/Textures/Structures/Furniture/Tables/counterwood.rsi/state_2.png b/Resources/Textures/Structures/Furniture/Tables/counterwood.rsi/state_2.png new file mode 100644 index 0000000000..0f50c78e60 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Tables/counterwood.rsi/state_2.png differ diff --git a/Resources/Textures/Structures/Furniture/Tables/counterwood.rsi/state_3.png b/Resources/Textures/Structures/Furniture/Tables/counterwood.rsi/state_3.png new file mode 100644 index 0000000000..1c8447cb3b Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Tables/counterwood.rsi/state_3.png differ diff --git a/Resources/Textures/Structures/Furniture/Tables/counterwood.rsi/state_4.png b/Resources/Textures/Structures/Furniture/Tables/counterwood.rsi/state_4.png new file mode 100644 index 0000000000..54f65dc055 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Tables/counterwood.rsi/state_4.png differ diff --git a/Resources/Textures/Structures/Furniture/Tables/counterwood.rsi/state_5.png b/Resources/Textures/Structures/Furniture/Tables/counterwood.rsi/state_5.png new file mode 100644 index 0000000000..5764e73763 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Tables/counterwood.rsi/state_5.png differ diff --git a/Resources/Textures/Structures/Furniture/Tables/counterwood.rsi/state_6.png b/Resources/Textures/Structures/Furniture/Tables/counterwood.rsi/state_6.png new file mode 100644 index 0000000000..54f65dc055 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Tables/counterwood.rsi/state_6.png differ diff --git a/Resources/Textures/Structures/Furniture/Tables/counterwood.rsi/state_7.png b/Resources/Textures/Structures/Furniture/Tables/counterwood.rsi/state_7.png new file mode 100644 index 0000000000..bd7ef11086 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Tables/counterwood.rsi/state_7.png differ