diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/furniture/tables.yml b/Resources/Prototypes/Recipes/Construction/Graphs/furniture/tables.yml index ebda15d9498a..0b4e3d637200 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/furniture/tables.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/furniture/tables.yml @@ -302,6 +302,12 @@ sprite: Objects/Tiles/tile.rsi state: carpet-white + - to: TableWoodReinforced + steps: + - material: WoodPlank + amount: 1 + doAfter: 1 + - node: TableCarpet entity: TableCarpet edges: @@ -445,3 +451,15 @@ steps: - tool: Prying doAfter: 1 + + - node: TableWoodReinforced + entity: TableWoodReinforced + edges: + - to: TableWood + completed: + - !type:SpawnPrototype + prototype: MaterialWoodPlank1 + amount: 1 + steps: + - tool: Prying + doAfter: 1 diff --git a/Resources/Prototypes/_DeltaV/Entities/Structures/benches/benches.yml b/Resources/Prototypes/_DeltaV/Entities/Structures/benches/benches.yml index 618b9b249bdd..f364ae7e0945 100644 --- a/Resources/Prototypes/_DeltaV/Entities/Structures/benches/benches.yml +++ b/Resources/Prototypes/_DeltaV/Entities/Structures/benches/benches.yml @@ -1,28 +1,31 @@ # Base benches - type: entity name: bench - id: BenchBaseMiddle + id: BenchBase suffix: Middle abstract: true parent: SeatBase description: Multiple seats spanning a single object. Truly a marvel of science. + placement: + mode: SnapgridCenter components: - type: Physics bodyType: Static - - type: Transform - anchored: true - - type: Rotatable - type: Sprite state: middle # Standard sofa - type: entity - name: sofa + name: comfy sofa id: BenchSofaMiddle - parent: BenchBaseMiddle + parent: BenchBase + description: It looks like you could sink right into it. components: - type: Sprite sprite: _DeltaV/Structures/Furniture/Benches/sofa.rsi + - type: Construction + graph: Sofa + node: SofaMiddle - type: entity id: BenchSofaLeft @@ -31,6 +34,9 @@ components: - type: Sprite state: left + - type: Construction + graph: Sofa + node: SofaLeft - type: entity id: BenchSofaRight @@ -39,47 +45,34 @@ components: - type: Sprite state: right + - type: Construction + graph: Sofa + node: SofaRight - type: entity name: sofa id: BenchSofaCorner suffix: Corner -# parent: BenchSofaMiddle - placement: - mode: SnapgridCenter + parent: BenchSofaMiddle components: - - type: Transform - anchored: true - - type: Rotatable - type: Sprite - sprite: _DeltaV/Structures/Furniture/Benches/sofa.rsi state: corner - - type: Clickable - - type: InteractionOutline - - type: Pullable - - type: Damageable - damageContainer: Inorganic - damageModifierSet: Metallic - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 50 - behaviors: - - !type:DoActsBehavior - acts: ["Destruction"] - - !type:PlaySoundBehavior - sound: - collection: MetalBreak + - type: Construction + graph: Sofa + node: SofaCorner # Corp sofa - type: entity - name: grey sofa + name: corporate sofa id: BenchSofaCorpMiddle - parent: BenchBaseMiddle + parent: BenchBase + description: It looks like it's going to correct your posture. components: - type: Sprite sprite: _DeltaV/Structures/Furniture/Benches/sofa_corp.rsi + - type: Construction + graph: Sofa + node: SofaCorpMiddle - type: entity id: BenchSofaCorpLeft @@ -88,6 +81,9 @@ components: - type: Sprite state: left + - type: Construction + graph: Sofa + node: SofaCorpLeft - type: entity id: BenchSofaCorpRight @@ -96,35 +92,18 @@ components: - type: Sprite state: right + - type: Construction + graph: Sofa + node: SofaCorpRight - type: entity name: grey sofa id: BenchSofaCorpCorner suffix: Corner -# parent: BenchSofaCorpMiddle - placement: - mode: SnapgridCenter + parent: BenchSofaCorpMiddle components: - - type: Transform - anchored: true - - type: Rotatable - type: Sprite - sprite: _DeltaV/Structures/Furniture/Benches/sofa_corp.rsi state: corner - - type: Clickable - - type: InteractionOutline - - type: Pullable - - type: Damageable - damageContainer: Inorganic - damageModifierSet: Metallic - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 50 - behaviors: - - !type:DoActsBehavior - acts: ["Destruction"] - - !type:PlaySoundBehavior - sound: - collection: MetalThud + - type: Construction + graph: Sofa + node: SofaCorpCorner diff --git a/Resources/Prototypes/_DeltaV/Recipes/Construction/Graphs/furniture/sofas.yml b/Resources/Prototypes/_DeltaV/Recipes/Construction/Graphs/furniture/sofas.yml new file mode 100644 index 000000000000..8f5bb907e08b --- /dev/null +++ b/Resources/Prototypes/_DeltaV/Recipes/Construction/Graphs/furniture/sofas.yml @@ -0,0 +1,200 @@ +- type: constructionGraph + id: Sofa + start: start + graph: + - node: start + actions: + - !type:DestroyEntity {} + edges: + - to: SofaMiddle + steps: + - material: Steel + amount: 2 + doAfter: 1 + - material: Cloth + amount: 2 + - to: SofaLeft + steps: + - material: Steel + amount: 2 + doAfter: 1 + - material: Cloth + amount: 2 + - to: SofaRight + steps: + - material: Steel + amount: 2 + doAfter: 1 + - material: Cloth + amount: 2 + - to: SofaCorner + steps: + - material: Steel + amount: 2 + doAfter: 1 + - material: Cloth + amount: 2 + - to: SofaCorpMiddle + steps: + - material: Steel + amount: 2 + doAfter: 1 + - material: Cloth + amount: 2 + - to: SofaCorpLeft + steps: + - material: Steel + amount: 2 + doAfter: 1 + - material: Cloth + amount: 2 + - to: SofaCorpRight + steps: + - material: Steel + amount: 2 + doAfter: 1 + - material: Cloth + amount: 2 + - to: SofaCorpCorner + steps: + - material: Steel + amount: 2 + doAfter: 1 + - material: Cloth + amount: 2 + + - node: SofaMiddle + entity: BenchSofaMiddle + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + - !type:SpawnPrototype + prototype: MaterialCloth1 + amount: 2 + steps: + - tool: Cutting + doAfter: 1 + - tool: Screwing + doAfter: 1 + + - node: SofaLeft + entity: BenchSofaLeft + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + - !type:SpawnPrototype + prototype: MaterialCloth1 + amount: 2 + steps: + - tool: Cutting + doAfter: 1 + - tool: Screwing + doAfter: 1 + + - node: SofaRight + entity: BenchSofaRight + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + - !type:SpawnPrototype + prototype: MaterialCloth1 + amount: 2 + steps: + - tool: Cutting + doAfter: 1 + - tool: Screwing + doAfter: 1 + + - node: SofaCorner + entity: BenchSofaCorner + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + - !type:SpawnPrototype + prototype: MaterialCloth1 + amount: 2 + steps: + - tool: Cutting + doAfter: 1 + - tool: Screwing + doAfter: 1 + + - node: SofaCorpMiddle + entity: BenchSofaCorpMiddle + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + - !type:SpawnPrototype + prototype: MaterialCloth1 + amount: 2 + steps: + - tool: Cutting + doAfter: 1 + - tool: Screwing + doAfter: 1 + + - node: SofaCorpLeft + entity: BenchSofaCorpLeft + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + - !type:SpawnPrototype + prototype: MaterialCloth1 + amount: 2 + steps: + - tool: Cutting + doAfter: 1 + - tool: Screwing + doAfter: 1 + + - node: SofaCorpRight + entity: BenchSofaCorpRight + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + - !type:SpawnPrototype + prototype: MaterialCloth1 + amount: 2 + steps: + - tool: Cutting + doAfter: 1 + - tool: Screwing + doAfter: 1 + + - node: SofaCorpCorner + entity: BenchSofaCorpCorner + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + - !type:SpawnPrototype + prototype: MaterialCloth1 + amount: 2 + steps: + - tool: Cutting + doAfter: 1 + - tool: Screwing + doAfter: 1 diff --git a/Resources/Prototypes/_DeltaV/Recipes/Construction/furniture.yml b/Resources/Prototypes/_DeltaV/Recipes/Construction/furniture.yml new file mode 100644 index 000000000000..57202f4cb92a --- /dev/null +++ b/Resources/Prototypes/_DeltaV/Recipes/Construction/furniture.yml @@ -0,0 +1,152 @@ +- type: construction + name: reinforced wood table + id: TableWoodReinforced + graph: Table + startNode: start + targetNode: TableWoodReinforced + category: construction-category-furniture + description: A classic wooden table. Extra robust. + icon: + sprite: _DeltaV/Structures/Furniture/Tables/rwood.rsi + state: full + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: comfy sofa (middle) + id: SofaMiddle + graph: Sofa + startNode: start + targetNode: SofaMiddle + category: construction-category-furniture + description: It looks like you could sink right into it. + icon: + sprite: _DeltaV/Structures/Furniture/Benches/sofa.rsi + state: middle + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: comfy sofa (left) + id: SofaLeft + graph: Sofa + startNode: start + targetNode: SofaLeft + category: construction-category-furniture + description: It looks like you could sink right into it. + icon: + sprite: _DeltaV/Structures/Furniture/Benches/sofa.rsi + state: left + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: comfy sofa (right) + id: SofaRight + graph: Sofa + startNode: start + targetNode: SofaRight + category: construction-category-furniture + description: It looks like you could sink right into it. + icon: + sprite: _DeltaV/Structures/Furniture/Benches/sofa.rsi + state: right + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: comfy sofa (corner) + id: SofaCorner + graph: Sofa + startNode: start + targetNode: SofaCorner + category: construction-category-furniture + description: It looks like you could sink right into it. + icon: + sprite: _DeltaV/Structures/Furniture/Benches/sofa.rsi + state: corner + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: corporate sofa (middle) + id: SofaCorpMiddle + graph: Sofa + startNode: start + targetNode: SofaCorpMiddle + category: construction-category-furniture + description: It looks like it's going to correct your posture. + icon: + sprite: _DeltaV/Structures/Furniture/Benches/sofa_corp.rsi + state: middle + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: corporate sofa (left) + id: SofaCorpLeft + graph: Sofa + startNode: start + targetNode: SofaCorpLeft + category: construction-category-furniture + description: It looks like it's going to correct your posture. + icon: + sprite: _DeltaV/Structures/Furniture/Benches/sofa_corp.rsi + state: left + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: corporate sofa (right) + id: SofaCorpRight + graph: Sofa + startNode: start + targetNode: SofaCorpRight + category: construction-category-furniture + description: It looks like it's going to correct your posture. + icon: + sprite: _DeltaV/Structures/Furniture/Benches/sofa_corp.rsi + state: right + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: corporate sofa (corner) + id: SofaCorpCorner + graph: Sofa + startNode: start + targetNode: SofaCorpCorner + category: construction-category-furniture + description: It looks like it's going to correct your posture. + icon: + sprite: _DeltaV/Structures/Furniture/Benches/sofa_corp.rsi + state: corner + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked diff --git a/Resources/Prototypes/_Impstation/Recipes/Construction/furniture.yml b/Resources/Prototypes/_Impstation/Recipes/Construction/furniture.yml index f3ba1c6e9c2f..e21f30cfe395 100644 --- a/Resources/Prototypes/_Impstation/Recipes/Construction/furniture.yml +++ b/Resources/Prototypes/_Impstation/Recipes/Construction/furniture.yml @@ -13,4 +13,4 @@ placementMode: SnapgridCenter canBuildInImpassable: false conditions: - - !type:TileNotBlocked \ No newline at end of file + - !type:TileNotBlocked