From 21592c24bc1b6faf16cbd740edf1ca881ad571c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82?= <123451459+JustArt1m@users.noreply.github.com> Date: Mon, 10 Feb 2025 22:18:22 +0300 Subject: [PATCH] New construction recipes (#872) * FilesSort * NewCrafts * Locale * Doors&Tomb * RemFrames&SmallFixes * Grilles * BarrelsBenchPalletCurtains * EditLocale * BarrelIconSprite * Fix_ResDuplicates * Res_Fix --------- Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com> --- .../ru-RU/_CP14/_PROTO/entities/entities.ftl | 17 +- .../_CP14/Entities/Objects/Materials/dye.yml | 20 +- .../Structures/Decorations/tombstones.yml | 7 +- .../Entities/Structures/Doors/door_frames.yml | 79 +++++- .../Entities/Structures/Doors/iron_doors.yml | 12 +- .../Structures/Doors/iron_doors_windowed.yml | 12 +- .../Entities/Structures/Fence/iron_grille.yml | 8 +- .../Structures/Fence/iron_grille_top.yml | 5 +- .../Structures/Furniture/barrel_crane.yml | 6 + .../Entities/Structures/Furniture/beds.yml | 9 +- .../Entities/Structures/Furniture/bench.yml | 3 + .../Structures/Furniture/cabinets.yml | 21 +- .../Entities/Structures/Furniture/closets.yml | 7 +- .../Structures/Furniture/curtains.yml | 9 + .../Entities/Structures/Furniture/pallets.yml | 5 +- .../Structures/Furniture/wallmount.yml | 6 + .../Structures/Storage/Crates/coffin.yml | 5 + .../Structures/Storage/Crates/crates.yml | 24 +- .../Construction/Graphs/Furniture/beds.yml | 15 ++ .../Graphs/Furniture/curtains.yml | 78 ++++++ .../Furniture/{Misc.yml => lighting.yml} | 37 --- .../Graphs/Furniture/orders_border.yml | 16 ++ .../Construction/Graphs/Furniture/seats.yml | 19 +- .../Construction/Graphs/Misc/pallets.yml | 15 ++ .../Graphs/{Furniture => Misc}/target.yml | 0 .../Construction/Graphs/Misc/tombs.yml | 15 ++ .../Construction/Graphs/Storage/barrels.yml | 56 +++++ .../Construction/Graphs/Storage/cabinets.yml | 35 +++ .../Graphs/{Furniture => Storage}/chests.yml | 0 .../Construction/Graphs/Storage/closets.yml | 17 ++ .../Construction/Graphs/Storage/coffins.yml | 19 ++ .../Construction/Graphs/Storage/crates.yml | 35 +++ .../Graphs/Storage/{seats.yml => pits.yml} | 0 .../Construction/Graphs/Storage/shelfs.yml | 31 +++ .../Graphs/Structures/Doors/grilles.yml | 48 ++++ .../Graphs/Structures/Doors/iron_doors.yml | 121 ++++++++++ .../Doors/wooden_doors.yml} | 0 .../Graphs/{ => Structures}/Roofs/roofs.yml | 0 .../{ => Structures}/Walls/Snowdrift.yml | 0 .../{ => Structures}/Walls/WallDirt.yml | 0 .../{ => Structures}/Walls/WallStone.yml | 0 .../{ => Structures}/Walls/WallWood.yml | 0 .../Graphs/Structures/Walls/grilles.yml | 35 +++ .../_CP14/Recipes/Construction/doors.yml | 170 +++++++++++++ .../_CP14/Recipes/Construction/furniture.yml | 189 ++++----------- .../_CP14/Recipes/Construction/misc.yml | 53 ++++ .../_CP14/Recipes/Construction/storage.yml | 228 +++++++++++++++++- .../_CP14/Recipes/Construction/walls.yml | 38 +++ .../Recipes/Construction/workstations.yml | 53 ++++ Resources/Prototypes/_CP14/tags.yml | 18 ++ .../Doors/iron_frame.rsi/closed.png | Bin 0 -> 1508 bytes .../Doors/iron_frame.rsi/closed_mirrored.png | Bin 0 -> 1477 bytes .../Structures/Doors/iron_frame.rsi/meta.json | 19 ++ .../iron_grille.rsi/door_closed_frame.png | Bin 0 -> 1025 bytes .../Fences/iron_grille.rsi/meta.json | 4 + .../Furniture/Barrels/barrel.rsi/icon.png | Bin 0 -> 1025 bytes .../Furniture/Barrels/barrel.rsi/meta.json | 3 + .../Dressers/wood_cupboard.rsi/icon.png | Bin 0 -> 3131 bytes .../Dressers/wood_cupboard.rsi/meta.json | 4 + Resources/migration.yml | 4 + 60 files changed, 1407 insertions(+), 223 deletions(-) create mode 100644 Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/beds.yml create mode 100644 Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/curtains.yml rename Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/{Misc.yml => lighting.yml} (60%) create mode 100644 Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/orders_border.yml create mode 100644 Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Misc/pallets.yml rename Resources/Prototypes/_CP14/Recipes/Construction/Graphs/{Furniture => Misc}/target.yml (100%) create mode 100644 Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Misc/tombs.yml create mode 100644 Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/barrels.yml create mode 100644 Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/cabinets.yml rename Resources/Prototypes/_CP14/Recipes/Construction/Graphs/{Furniture => Storage}/chests.yml (100%) create mode 100644 Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/closets.yml create mode 100644 Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/coffins.yml create mode 100644 Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/crates.yml rename Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/{seats.yml => pits.yml} (100%) create mode 100644 Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/shelfs.yml create mode 100644 Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Doors/grilles.yml create mode 100644 Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Doors/iron_doors.yml rename Resources/Prototypes/_CP14/Recipes/Construction/Graphs/{Furniture/wooden_door.yml => Structures/Doors/wooden_doors.yml} (100%) rename Resources/Prototypes/_CP14/Recipes/Construction/Graphs/{ => Structures}/Roofs/roofs.yml (100%) rename Resources/Prototypes/_CP14/Recipes/Construction/Graphs/{ => Structures}/Walls/Snowdrift.yml (100%) rename Resources/Prototypes/_CP14/Recipes/Construction/Graphs/{ => Structures}/Walls/WallDirt.yml (100%) rename Resources/Prototypes/_CP14/Recipes/Construction/Graphs/{ => Structures}/Walls/WallStone.yml (100%) rename Resources/Prototypes/_CP14/Recipes/Construction/Graphs/{ => Structures}/Walls/WallWood.yml (100%) create mode 100644 Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Walls/grilles.yml create mode 100644 Resources/Prototypes/_CP14/Recipes/Construction/doors.yml create mode 100644 Resources/Prototypes/_CP14/Recipes/Construction/misc.yml create mode 100644 Resources/Prototypes/_CP14/Recipes/Construction/workstations.yml create mode 100644 Resources/Textures/_CP14/Structures/Doors/iron_frame.rsi/closed.png create mode 100644 Resources/Textures/_CP14/Structures/Doors/iron_frame.rsi/closed_mirrored.png create mode 100644 Resources/Textures/_CP14/Structures/Doors/iron_frame.rsi/meta.json create mode 100644 Resources/Textures/_CP14/Structures/Fences/iron_grille.rsi/door_closed_frame.png create mode 100644 Resources/Textures/_CP14/Structures/Furniture/Barrels/barrel.rsi/icon.png create mode 100644 Resources/Textures/_CP14/Structures/Storage/Dressers/wood_cupboard.rsi/icon.png diff --git a/Resources/Locale/ru-RU/_CP14/_PROTO/entities/entities.ftl b/Resources/Locale/ru-RU/_CP14/_PROTO/entities/entities.ftl index 9a356a675e..87979653e3 100644 --- a/Resources/Locale/ru-RU/_CP14/_PROTO/entities/entities.ftl +++ b/Resources/Locale/ru-RU/_CP14/_PROTO/entities/entities.ftl @@ -2449,8 +2449,14 @@ ent-CP14StatueAngelLimestone = { ent-CP14StatueAngel } ent-CP14BaseTombstone = надгробие .desc = Кусок камня, установленный в память о павших. +ent-CP14IronDoorFrame = каркас железной двери + .desc = Незаконченная железная дверь. + +ent-CP14IronDoorFrameMirrored = { ent-CP14IronDoorFrame } + .desc = { ent-CP14IronDoorFrame.desc } + ent-CP14WoodenDoorFrame = каркас деревянной двери - .desc = Незаконченная деревянная дверь + .desc = Незаконченная деревянная дверь. ent-CP14WoodenDoorFrameMirrored = { ent-CP14WoodenDoorFrame } .desc = { ent-CP14WoodenDoorFrame.desc } @@ -2938,10 +2944,10 @@ ent-CP14CraneBarrelSmallAleBottomless = { ent-CP14CraneBarrelSmall } ent-CP14Bonfire = костёр .desc = Груда бревен, сложенных вместе, и готовых вспыхнуть от малейшей искры. -ent-C14IronCabinet = железный комод +ent-CP14IronCabinet = железный комод .desc = Железный шкаф. Прочный, запираемый. Вы можете хранить здесь свои ценности, не опасаясь, что какой-нибудь грабитель заберет все себе. -ent-C14IronCabinetCargo = торговый ящик +ent-CP14IronCabinetCargo = торговый ящик .desc = Бронированное хранилище для хранения денег, предназначенных для торговли с городом. Городские работники будут выгружать сюда свои доходы или забирать их отсюда, когда вы захотите что-то купить. ent-CP14ClosetBase = шкаф @@ -3229,6 +3235,9 @@ ent-CP14FenceIronGrilleStraight = { ent-CP14FenceIronGrilleBase } .desc = { ent-CP14FenceIronGrilleBase.desc } .suffix = Прямой +ent-CP14FenceIronGrilleGateFrame = рама железных решетчатых ворот + .desc = Незаконченные железные решетчатые ворота. + ent-CP14FenceIronGrilleGate = железные решетчатые ворота .desc = Тяжелые железные ворота в решетках. Выглядит серьезно. @@ -3304,7 +3313,7 @@ ent-CP14Mannequin = манекен .desc = Удобная подставка для одежды или доспехов. ent-CP14WoodenPallet = деревянный поддон - .desc = деревянная подставка для товаров + .desc = Деревянная подставка для товаров. ent-CP14Target = мишень .desc = Мишень для тренировки меткости. diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Materials/dye.yml b/Resources/Prototypes/_CP14/Entities/Objects/Materials/dye.yml index 5e5480681e..3ba7b248da 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Materials/dye.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Materials/dye.yml @@ -24,6 +24,9 @@ - state: base - state: powder color: "#bd2b26" + - type: Tag + tags: + - CP14DyeRed - type: entity id: CP14DyeYellow @@ -35,6 +38,9 @@ - state: base - state: powder color: "#ffe269" + - type: Tag + tags: + - CP14DyeYellow - type: entity id: CP14DyeBlue @@ -46,6 +52,9 @@ - state: base - state: powder color: "#5eabeb" + - type: Tag + tags: + - CP14DyeBlue - type: entity id: CP14DyeGreen @@ -57,6 +66,9 @@ - state: base - state: powder color: "#85903e" + - type: Tag + tags: + - CP14DyeGreen - type: entity id: CP14DyePurple @@ -68,6 +80,9 @@ - state: base - state: powder color: "#8241cc" + - type: Tag + tags: + - CP14DyePurple - type: entity id: CP14DyeBlack @@ -78,4 +93,7 @@ layers: - state: base - state: powder - color: "#242329" \ No newline at end of file + color: "#242329" + - type: Tag + tags: + - CP14DyeBlack \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Decorations/tombstones.yml b/Resources/Prototypes/_CP14/Entities/Structures/Decorations/tombstones.yml index d8dc8e94a9..f42173d6a3 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Decorations/tombstones.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Decorations/tombstones.yml @@ -46,5 +46,8 @@ spawn: CP14StoneBlock1: min: 1 - max: 2 - - type: Climbable \ No newline at end of file + max: 4 + - type: Climbable + - type: Construction + graph: CP14BaseTombstone + node: CP14BaseTombstone \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Doors/door_frames.yml b/Resources/Prototypes/_CP14/Entities/Structures/Doors/door_frames.yml index 13a4b42c61..8793577bba 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Doors/door_frames.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Doors/door_frames.yml @@ -22,7 +22,7 @@ parent: CP14BaseDoorFrame id: CP14WoodenDoorFrame name: wooden door frame - description: An unfinished wooden door + description: An unfinished wooden door. components: - type: Sprite sprite: _CP14/Structures/Doors/wooden_frame.rsi @@ -37,6 +37,11 @@ !type:DamageTrigger damage: 50 behaviors: + - !type:SpawnEntitiesBehavior + spawn: + CP14WoodenPlanks1: + min: 1 + max: 2 - !type:DoActsBehavior acts: ["Destruction"] - type: Construction @@ -51,4 +56,74 @@ state: closed_mirrored - type: Construction graph: CP14WoodenDoor - node: CP14WoodenDoorFrameMirrored \ No newline at end of file + node: CP14WoodenDoorFrameMirrored + +- type: entity + parent: CP14BaseDoorFrame + id: CP14IronDoorFrame + name: iron door frame + description: An unfinished iron door. + components: + - type: Sprite + sprite: _CP14/Structures/Doors/iron_frame.rsi + drawdepth: Mobs + state: closed + - type: Damageable + damageContainer: Inorganic + damageModifierSet: StructuralMetallic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:SpawnEntitiesBehavior + spawn: + CP14IronBar1: + min: 1 + max: 2 + - !type:DoActsBehavior + acts: ["Destruction"] + - type: Construction + graph: CP14IronDoor + node: CP14IronDoorFrame + +- type: entity + parent: CP14IronDoorFrame + id: CP14IronDoorFrameMirrored + components: + - type: Sprite + state: closed_mirrored + - type: Construction + graph: CP14IronDoor + node: CP14IronDoorFrameMirrored + +- type: entity + parent: CP14BaseDoorFrame + id: CP14FenceIronGrilleGateFrame + name: iron grille gate frame + description: An unfinished iron grille gate. + components: + - type: Sprite + sprite: _CP14/Structures/Fences/iron_grille.rsi + drawdepth: Mobs + state: door_closed_frame + - type: Damageable + damageContainer: Inorganic + damageModifierSet: StructuralMetallic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:SpawnEntitiesBehavior + spawn: + CP14IronBar1: + min: 1 + max: 2 + - !type:DoActsBehavior + acts: ["Destruction"] + - type: Construction + graph: CP14FenceIronGrilleGate + node: CP14FenceIronGrilleGateFrame diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Doors/iron_doors.yml b/Resources/Prototypes/_CP14/Entities/Structures/Doors/iron_doors.yml index b62ecc136b..c4e8cc7296 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Doors/iron_doors.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Doors/iron_doors.yml @@ -27,9 +27,9 @@ behaviors: - !type:DoActsBehavior acts: ["Destruction"] - #- type: Construction - # graph: CP14WoodenDoor - # node: CP14WoodenDoor + - type: Construction + graph: CP14IronDoor + node: CP14IronDoor - type: entity id: CP14IronDoorMirrored @@ -39,6 +39,6 @@ - type: Door openSpriteState: open_mirrored closedSpriteState: closed_mirrored - #- type: Construction - # graph: CP14WoodenDoor - # node: CP14WoodenDoorMirrored + - type: Construction + graph: CP14IronDoor + node: CP14IronDoorMirrored diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Doors/iron_doors_windowed.yml b/Resources/Prototypes/_CP14/Entities/Structures/Doors/iron_doors_windowed.yml index 2beca49e70..0ad836bda6 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Doors/iron_doors_windowed.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Doors/iron_doors_windowed.yml @@ -30,9 +30,9 @@ behaviors: - !type:DoActsBehavior acts: ["Destruction"] - #- type: Construction - # graph: CP14WoodenDoor - # node: CP14WoodenDoor + - type: Construction + graph: CP14IronDoor + node: CP14IronDoor - type: entity id: CP14IronDoorWindowedMirrored @@ -42,6 +42,6 @@ - type: Door openSpriteState: open_mirrored closedSpriteState: closed_mirrored - #- type: Construction - # graph: CP14WoodenDoor - # node: CP14WoodenDoorMirrored + - type: Construction + graph: CP14IronDoor + node: CP14IronDoorMirrored diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Fence/iron_grille.yml b/Resources/Prototypes/_CP14/Entities/Structures/Fence/iron_grille.yml index 9f11ef2b40..3b328f1e70 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Fence/iron_grille.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Fence/iron_grille.yml @@ -49,6 +49,9 @@ - MidImpassable - LowImpassable - WallLayer + - type: Construction + graph: CP14FenceIronGrilleStraight + node: CP14FenceIronGrilleStraight - type: entity parent: @@ -87,4 +90,7 @@ collection: CP14Doorknob params: variation: 0.03 - volume: -5 \ No newline at end of file + volume: -5 + - type: Construction + graph: CP14FenceIronGrilleGate + node: CP14FenceIronGrilleGate \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Fence/iron_grille_top.yml b/Resources/Prototypes/_CP14/Entities/Structures/Fence/iron_grille_top.yml index 29d1f759b1..fac375eff4 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Fence/iron_grille_top.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Fence/iron_grille_top.yml @@ -47,4 +47,7 @@ - Impassable layer: - MidImpassable - - HighImpassable \ No newline at end of file + - HighImpassable + - type: Construction + graph: CP14FenceIronGrilleWindowStraight + node: CP14FenceIronGrilleWindowStraight \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/barrel_crane.yml b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/barrel_crane.yml index 6f9ce871a2..694b510894 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/barrel_crane.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/barrel_crane.yml @@ -56,6 +56,9 @@ solutions: barrel: maxVol: 500 + - type: Construction + graph: CP14CraneBarrel + node: CP14CraneBarrel - type: entity parent: CP14CraneBarrel @@ -264,6 +267,9 @@ solutions: barrel: maxVol: 50 + - type: Construction + graph: CP14CraneBarrelSmall + node: CP14CraneBarrelSmall - type: entity parent: CP14CraneBarrelSmall diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/beds.yml b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/beds.yml index 5a7ffbeb9c..598d41451d 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/beds.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/beds.yml @@ -46,10 +46,13 @@ - !type:SpawnEntitiesBehavior spawn: CP14WoodenPlanks1: - min: 2 - max: 4 + min: 1 + max: 2 - type: Transform anchored: true noRot: true - type: Anchorable - - type: Pullable \ No newline at end of file + - type: Pullable + - type: Construction + graph: CP14WoodenBed + node: CP14WoodenBed \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/bench.yml b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/bench.yml index ca782ac4b4..f6c3c63f5f 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/bench.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/bench.yml @@ -16,3 +16,6 @@ - state: wooden - type: Physics bodyType: Static + - type: Construction + graph: CP14BenchWood + node: CP14BenchWood diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/cabinets.yml b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/cabinets.yml index 955ee0bf3a..0cb265c88f 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/cabinets.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/cabinets.yml @@ -70,14 +70,17 @@ - !type:SpawnEntitiesBehavior spawn: CP14WoodenPlanks1: - min: 3 - max: 6 + min: 1 + max: 3 - !type:DoActsBehavior acts: [ "Destruction" ] + - type: Construction + graph: CP14WoodenCabinet + node: CP14WoodenCabinet - type: entity parent: CP14CabinetBase - id: C14IronCabinet + id: CP14IronCabinet name: iron cabinet description: an iron cabinet. Sturdy, lockable. You can store your valuables here without fear of some burglar taking it all for himself. components: @@ -96,12 +99,20 @@ - !type:PlaySoundBehavior sound: collection: MetalBreak + - !type:SpawnEntitiesBehavior + spawn: + CP14IronBar1: + min: 1 + max: 3 - !type:DoActsBehavior acts: [ "Destruction" ] + - type: Construction + graph: CP14WoodenCabinet + node: CP14WoodenCabinet - type: entity - parent: C14IronCabinet - id: C14IronCabinetCargo + parent: CP14IronCabinet + id: CP14IronCabinetCargo name: trade box description: An armored vault for storing money for trade with the city. City workers will unload their earnings here, or take them from here when you want to buy something. components: diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/closets.yml b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/closets.yml index 00a9816416..1a43485f64 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/closets.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/closets.yml @@ -97,7 +97,12 @@ spawn: CP14WoodenPlanks1: min: 2 - max: 5 + max: 4 + - type: Construction + graph: CP14WoodenCloset + node: CP14WoodenCloset + containers: + - entity_storage - type: entity name: safe diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/curtains.yml b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/curtains.yml index 1ee025c366..b1587880df 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/curtains.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/curtains.yml @@ -72,6 +72,9 @@ layers: - state: white_closed map: ["enum.DoorVisualLayers.Base"] + - type: Construction + graph: CP14Curtains + node: CP14CurtainsWhite - type: entity id: CP14CurtainsWhiteOpened @@ -101,6 +104,9 @@ layers: - state: blue_closed map: ["enum.DoorVisualLayers.Base"] + - type: Construction + graph: CP14Curtains + node: CP14CurtainsBlue - type: entity id: CP14CurtainsBlueOpened @@ -130,6 +136,9 @@ layers: - state: red_closed map: ["enum.DoorVisualLayers.Base"] + - type: Construction + graph: CP14Curtains + node: CP14CurtainsRed - type: entity id: CP14CurtainsRedOpened diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/pallets.yml b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/pallets.yml index 4c2e28ce36..a0d0647c32 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/pallets.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/pallets.yml @@ -22,7 +22,7 @@ - CP14BasePallets - CP14BaseFlammable name: wooden pallet - description: wooden goods stand + description: Wooden goods stand. components: - type: Sprite state: wooden @@ -51,6 +51,9 @@ max: 1 - !type:DoActsBehavior acts: [ "Destruction" ] + - type: Construction + graph: CP14WoodenPallet + node: CP14WoodenPallet - type: entity id: CP14WoodenPalletSell diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/wallmount.yml b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/wallmount.yml index 18cd2e13b2..0b10db8573 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/wallmount.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/wallmount.yml @@ -130,6 +130,9 @@ - type: ContainerContainer containers: storagebase: !type:Container + - type: Construction + graph: CP14WallmountBarShelfA + node: CP14WallmountBarShelfA - type: entity id: CP14WallmountBarShelfB @@ -143,3 +146,6 @@ - map: ["enum.StorageFillLayers.Fill"] - type: StorageFillVisualizer fillBaseName: bottleB + - type: Construction + graph: CP14WallmountBarShelfB + node: CP14WallmountBarShelfB diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/coffin.yml b/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/coffin.yml index 6643695c77..b154783ce8 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/coffin.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/coffin.yml @@ -36,3 +36,8 @@ max: 4 - !type:DoActsBehavior acts: [ "Destruction" ] + - type: Construction + graph: CP14CrateCoffin + node: CP14CrateCoffin + containers: + - entity_storage diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/crates.yml b/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/crates.yml index bae58dba33..d4587f4a1d 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/crates.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/crates.yml @@ -24,8 +24,8 @@ - !type:SpawnEntitiesBehavior spawn: CP14WoodenPlanks1: - min: 3 - max: 5 + min: 1 + max: 2 - !type:DoActsBehavior acts: [ "Destruction" ] - type: Climbable @@ -104,15 +104,15 @@ - !type:SpawnEntitiesBehavior spawn: CP14WoodenPlanks1: - min: 3 - max: 5 + min: 1 + max: 2 - !type:DoActsBehavior acts: [ "Destruction" ] - type: entity id: CP14LargeWoodenCrate name: large wooden crate - description: solid wooden crate + description: Solid wooden crate. parent: - CP14BaseCrate - CP14BaseFlammable @@ -134,15 +134,18 @@ - !type:SpawnEntitiesBehavior spawn: CP14WoodenPlanks1: - min: 1 + min: 2 max: 4 - !type:DoActsBehavior acts: [ "Destruction" ] + - type: Construction + graph: CP14LargeWoodenCrate + node: CP14LargeWoodenCrate - type: entity id: CP14SmallWoodenCrate name: small wooden crate - description: solid wooden crate + description: Solid wooden crate. parent: - CP14BaseSmallCrate - CP14BaseFlammable @@ -165,6 +168,9 @@ spawn: CP14WoodenPlanks1: min: 1 - max: 4 + max: 2 - !type:DoActsBehavior - acts: [ "Destruction" ] \ No newline at end of file + acts: [ "Destruction" ] + - type: Construction + graph: CP14SmallWoodenCrate + node: CP14SmallWoodenCrate \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/beds.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/beds.yml new file mode 100644 index 0000000000..aac866834a --- /dev/null +++ b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/beds.yml @@ -0,0 +1,15 @@ +- type: constructionGraph + id: CP14WoodenBed + start: start + graph: + - node: start + actions: + - !type:DestroyEntity {} + edges: + - to: CP14WoodenBed + steps: + - material: CP14WoodenPlanks + amount: 2 + doAfter: 2 + - node: CP14WoodenBed + entity: CP14WoodenBed diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/curtains.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/curtains.yml new file mode 100644 index 0000000000..82566765cb --- /dev/null +++ b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/curtains.yml @@ -0,0 +1,78 @@ +- type: constructionGraph + id: CP14Curtains + start: start + graph: + - node: start + actions: + - !type:DestroyEntity {} + edges: + - to: CP14CurtainsWhite + steps: + - material: CP14WoodenPlanks + amount: 1 + doAfter: 2 + - material: CP14Nail + amount: 4 + doAfter: 1 + - material: CP14Cloth + amount: 2 + doAfter: 1 + + - node: CP14CurtainsWhite + entity: CP14CurtainsWhite + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: CP14WoodenPlanks1 + amount: 1 + - !type:SpawnPrototype + prototype: CP14Nail1 + amount: 4 + - !type:SpawnPrototype + prototype: CP14Cloth1 + amount: 2 + - !type:DeleteEntity {} + steps: + - tool: Screwing #TODO - new tool + doAfter: 1 + - to: CP14CurtainsBlue + steps: + - tag: CP14DyeBlue + name: blue dye + icon: + sprite: _CP14/Objects/Materials/dye.rsi + state: powder + doAfter: 1 + - to: CP14CurtainsRed + steps: + - tag: CP14DyeRed + name: red dye + icon: + sprite: _CP14/Objects/Materials/dye.rsi + state: powder + doAfter: 1 + + - node: CP14CurtainsBlue + entity: CP14CurtainsBlue + edges: + - to: CP14CurtainsWhite + completed: + - !type:SpawnPrototype + prototype: CP14DyeBlue + amount: 1 + steps: + - tool: Screwing #TODO - new tool + doAfter: 1 + + - node: CP14CurtainsRed + entity: CP14CurtainsRed + edges: + - to: CP14CurtainsWhite + completed: + - !type:SpawnPrototype + prototype: CP14DyeRed + amount: 1 + steps: + - tool: Screwing #TODO - new tool + doAfter: 1 diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/Misc.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/lighting.yml similarity index 60% rename from Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/Misc.yml rename to Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/lighting.yml index 154e0b996d..47cb3f03cc 100644 --- a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/Misc.yml +++ b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/lighting.yml @@ -18,26 +18,6 @@ - node: CP14Bonfire entity: CP14Bonfire -- type: constructionGraph - id: CP14BaseBarrel - start: start - graph: - - node: start - actions: - - !type:DestroyEntity {} - edges: - - to: CP14BaseBarrel - steps: - - material: CP14WoodenPlanks - amount: 5 - doAfter: 3 - - material: CP14Nail - amount: 2 - doAfter: 2 - - - node: CP14BaseBarrel - entity: CP14BaseBarrel - - type: constructionGraph id: CP14WallmountTorch start: start @@ -74,20 +54,3 @@ - node: CP14WallmountLampEmpty entity: CP14WallmountLampEmpty - -- type: constructionGraph - id: CP14WallmountOrdersBorder - start: start - graph: - - node: start - actions: - - !type:DestroyEntity {} - edges: - - to: CP14WallmountOrdersBorder - steps: - - material: CP14WoodenPlanks - amount: 3 - doAfter: 3 - - - node: CP14WallmountOrdersBorder - entity: CP14WallmountOrdersBorder diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/orders_border.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/orders_border.yml new file mode 100644 index 0000000000..37e7467d20 --- /dev/null +++ b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/orders_border.yml @@ -0,0 +1,16 @@ +- type: constructionGraph + id: CP14WallmountOrdersBorder + start: start + graph: + - node: start + actions: + - !type:DestroyEntity {} + edges: + - to: CP14WallmountOrdersBorder + steps: + - material: CP14WoodenPlanks + amount: 3 + doAfter: 3 + + - node: CP14WallmountOrdersBorder + entity: CP14WallmountOrdersBorder diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/seats.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/seats.yml index f833f40cbe..48ef6f0d55 100644 --- a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/seats.yml +++ b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/seats.yml @@ -11,6 +11,21 @@ - material: CP14WoodenPlanks amount: 4 doAfter: 2 - - node: CP14ChairWooden - entity: CP14ChairWooden \ No newline at end of file + entity: CP14ChairWooden + +- type: constructionGraph + id: CP14BenchWood + start: start + graph: + - node: start + actions: + - !type:DestroyEntity {} + edges: + - to: CP14BenchWood + steps: + - material: CP14WoodenPlanks + amount: 5 + doAfter: 2 + - node: CP14BenchWood + entity: CP14BenchWood \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Misc/pallets.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Misc/pallets.yml new file mode 100644 index 0000000000..782dd75b31 --- /dev/null +++ b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Misc/pallets.yml @@ -0,0 +1,15 @@ +- type: constructionGraph + id: CP14WoodenPallet + start: start + graph: + - node: start + actions: + - !type:DestroyEntity {} + edges: + - to: CP14WoodenPallet + steps: + - material: CP14WoodenPlanks + amount: 2 + doAfter: 2 + - node: CP14WoodenPallet + entity: CP14WoodenPallet diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/target.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Misc/target.yml similarity index 100% rename from Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/target.yml rename to Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Misc/target.yml diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Misc/tombs.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Misc/tombs.yml new file mode 100644 index 0000000000..b847d86e87 --- /dev/null +++ b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Misc/tombs.yml @@ -0,0 +1,15 @@ +- type: constructionGraph + id: CP14BaseTombstone + start: start + graph: + - node: start + actions: + - !type:DestroyEntity {} + edges: + - to: CP14BaseTombstone + steps: + - material: CP14Stone + amount: 5 + doAfter: 2 + - node: CP14BaseTombstone + entity: CP14BaseTombstone diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/barrels.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/barrels.yml new file mode 100644 index 0000000000..b1ded56d19 --- /dev/null +++ b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/barrels.yml @@ -0,0 +1,56 @@ +- type: constructionGraph + id: CP14BaseBarrel + start: start + graph: + - node: start + actions: + - !type:DestroyEntity {} + edges: + - to: CP14BaseBarrel + steps: + - material: CP14WoodenPlanks + amount: 5 + doAfter: 3 + - material: CP14Nail + amount: 2 + doAfter: 2 + - node: CP14BaseBarrel + entity: CP14BaseBarrel + +- type: constructionGraph + id: CP14CraneBarrel + start: start + graph: + - node: start + actions: + - !type:DestroyEntity {} + edges: + - to: CP14CraneBarrel + steps: + - material: CP14WoodenPlanks + amount: 5 + doAfter: 3 + - material: CP14Nail + amount: 2 + doAfter: 2 + - node: CP14CraneBarrel + entity: CP14CraneBarrel + +- type: constructionGraph + id: CP14CraneBarrelSmall + start: start + graph: + - node: start + actions: + - !type:DestroyEntity {} + edges: + - to: CP14CraneBarrelSmall + steps: + - material: CP14WoodenPlanks + amount: 3 + doAfter: 3 + - material: CP14Nail + amount: 2 + doAfter: 2 + - node: CP14CraneBarrelSmall + entity: CP14CraneBarrelSmall \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/cabinets.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/cabinets.yml new file mode 100644 index 0000000000..2825b2eba2 --- /dev/null +++ b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/cabinets.yml @@ -0,0 +1,35 @@ +- type: constructionGraph + id: CP14WoodenCabinet + start: start + graph: + - node: start + edges: + - to: CP14WoodenCabinet + completed: + - !type:SnapToGrid + steps: + - material: CP14WoodenPlanks + amount: 3 + - material: CP14Nail + amount: 2 + doAfter: 4 + - node: CP14WoodenCabinet + entity: CP14WoodenCabinet + +- type: constructionGraph + id: CP14IronCabinet + start: start + graph: + - node: start + edges: + - to: CP14IronCabinet + completed: + - !type:SnapToGrid + steps: + - material: CP14IronBar + amount: 3 + - material: CP14Nail + amount: 2 + doAfter: 4 + - node: CP14IronCabinet + entity: CP14IronCabinet diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/chests.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/chests.yml similarity index 100% rename from Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/chests.yml rename to Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/chests.yml diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/closets.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/closets.yml new file mode 100644 index 0000000000..e283c08b52 --- /dev/null +++ b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/closets.yml @@ -0,0 +1,17 @@ +- type: constructionGraph + id: CP14WoodenCloset + start: start + graph: + - node: start + edges: + - to: CP14WoodenCloset + completed: + - !type:SnapToGrid + steps: + - material: CP14WoodenPlanks + amount: 4 + - material: CP14Nail + amount: 2 + doAfter: 4 + - node: CP14WoodenCloset + entity: CP14WoodenCloset \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/coffins.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/coffins.yml new file mode 100644 index 0000000000..c2bb950f5d --- /dev/null +++ b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/coffins.yml @@ -0,0 +1,19 @@ +- type: constructionGraph + id: CP14CrateCoffin + start: start + graph: + - node: start + edges: + - to: CP14CrateCoffin + completed: + - !type:SnapToGrid + steps: + - material: CP14WoodenPlanks + amount: 2 + - material: CP14Cloth + amount: 2 + - material: CP14Nail + amount: 1 + doAfter: 4 + - node: CP14CrateCoffin + entity: CP14CrateCoffin \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/crates.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/crates.yml new file mode 100644 index 0000000000..a721ca8bf8 --- /dev/null +++ b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/crates.yml @@ -0,0 +1,35 @@ +- type: constructionGraph + id: CP14SmallWoodenCrate + start: start + graph: + - node: start + edges: + - to: CP14SmallWoodenCrate + completed: + - !type:SnapToGrid + steps: + - material: CP14WoodenPlanks + amount: 2 + - material: CP14Nail + amount: 1 + doAfter: 4 + - node: CP14SmallWoodenCrate + entity: CP14SmallWoodenCrate + +- type: constructionGraph + id: CP14LargeWoodenCrate + start: start + graph: + - node: start + edges: + - to: CP14LargeWoodenCrate + completed: + - !type:SnapToGrid + steps: + - material: CP14WoodenPlanks + amount: 4 + - material: CP14Nail + amount: 2 + doAfter: 4 + - node: CP14LargeWoodenCrate + entity: CP14LargeWoodenCrate diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/seats.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/pits.yml similarity index 100% rename from Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/seats.yml rename to Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/pits.yml diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/shelfs.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/shelfs.yml new file mode 100644 index 0000000000..6cd5f2c592 --- /dev/null +++ b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/shelfs.yml @@ -0,0 +1,31 @@ +- type: constructionGraph + id: CP14WallmountBarShelfA + start: start + graph: + - node: start + actions: + - !type:DestroyEntity {} + edges: + - to: CP14WallmountBarShelfA + steps: + - material: CP14WoodenPlanks + amount: 2 + doAfter: 2 + - node: CP14WallmountBarShelfA + entity: CP14WallmountBarShelfA + +- type: constructionGraph + id: CP14WallmountBarShelfB + start: start + graph: + - node: start + actions: + - !type:DestroyEntity {} + edges: + - to: CP14WallmountBarShelfB + steps: + - material: CP14WoodenPlanks + amount: 2 + doAfter: 2 + - node: CP14WallmountBarShelfB + entity: CP14WallmountBarShelfB \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Doors/grilles.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Doors/grilles.yml new file mode 100644 index 0000000000..5188d155c2 --- /dev/null +++ b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Doors/grilles.yml @@ -0,0 +1,48 @@ +- type: constructionGraph + id: CP14FenceIronGrilleGate + start: start + graph: + - node: start + actions: + - !type:DestroyEntity {} + edges: + - to: CP14FenceIronGrilleGateFrame + steps: + - material: CP14IronBar + amount: 1 + - material: CP14Nail + amount: 2 + doAfter: 2 + + - node: CP14FenceIronGrilleGateFrame + entity: CP14FenceIronGrilleGateFrame + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: CP14IronBar1 + amount: 1 + - !type:DeleteEntity {} + steps: + - tool: Screwing #TODO - new tool + doAfter: 1 + - to: CP14FenceIronGrilleGate + steps: + - material: CP14IronBar + amount: 1 + - material: CP14Nail + amount: 2 + doAfter: 2 + + - node: CP14FenceIronGrilleGate + entity: CP14FenceIronGrilleGate + edges: + - to: CP14FenceIronGrilleGateFrame + completed: + - !type:SpawnPrototype + prototype: CP14IronBar1 + amount: 1 + steps: + - tool: Screwing #TODO - new tool + doAfter: 1 + \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Doors/iron_doors.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Doors/iron_doors.yml new file mode 100644 index 0000000000..3a8f6bcac8 --- /dev/null +++ b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Doors/iron_doors.yml @@ -0,0 +1,121 @@ +- type: constructionGraph + id: CP14IronDoor + start: start + graph: + - node: start + actions: + - !type:DestroyEntity {} + edges: + - to: CP14IronDoorFrame + steps: + - material: CP14IronBar + amount: 2 + doAfter: 2 + + - node: CP14IronDoorFrame + entity: CP14IronDoorFrame + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: CP14IronBar1 + amount: 2 + - !type:DeleteEntity {} + steps: + - tool: Screwing #TODO - new tool + doAfter: 1 + - to: CP14IronDoorFrameMirrored + steps: + - tool: CP14Hammering + doAfter: 1 + - to: CP14IronDoor + steps: + - material: CP14IronBar + amount: 2 + doAfter: 2 + - to: CP14IronDoorWindowed + steps: + - material: CP14Nail + amount: 1 + doAfter: 1 + - material: CP14IronBar + amount: 2 + doAfter: 2 + + - node: CP14IronDoorFrameMirrored + entity: CP14IronDoorFrameMirrored + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: CP14IronBar1 + amount: 2 + - !type:DeleteEntity {} + steps: + - tool: Screwing #TODO - new tool + doAfter: 1 + - to: CP14IronDoorFrame + steps: + - tool: CP14Hammering + doAfter: 1 + - to: CP14IronDoorMirrored + steps: + - material: CP14IronBar + amount: 2 + doAfter: 2 + - to: CP14IronDoorWindowedMirrored + steps: + - material: CP14Nail + amount: 1 + doAfter: 1 + - material: CP14IronBar + amount: 2 + doAfter: 2 + + - node: CP14IronDoor + entity: CP14IronDoor + edges: + - to: CP14IronDoorFrame + completed: + - !type:SpawnPrototype + prototype: CP14IronBar1 + amount: 2 + steps: + - tool: Screwing #TODO - new tool + doAfter: 1 + + - node: CP14IronDoorMirrored + entity: CP14IronDoorMirrored + edges: + - to: CP14IronDoorFrameMirrored + completed: + - !type:SpawnPrototype + prototype: CP14IronBar1 + amount: 2 + steps: + - tool: Screwing #TODO - new tool + doAfter: 1 + + - node: CP14IronDoorWindowed + entity: CP14IronDoorWindowed + edges: + - to: CP14IronDoorFrame + completed: + - !type:SpawnPrototype + prototype: CP14IronBar1 + amount: 2 + steps: + - tool: Screwing #TODO - new tool + doAfter: 1 + + - node: CP14IronDoorWindowedMirrored + entity: CP14IronDoorWindowedMirrored + edges: + - to: CP14IronDoorFrameMirrored + completed: + - !type:SpawnPrototype + prototype: CP14IronBar1 + amount: 2 + steps: + - tool: Screwing #TODO - new tool + doAfter: 1 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/wooden_door.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Doors/wooden_doors.yml similarity index 100% rename from Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/wooden_door.yml rename to Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Doors/wooden_doors.yml diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Roofs/roofs.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Roofs/roofs.yml similarity index 100% rename from Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Roofs/roofs.yml rename to Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Roofs/roofs.yml diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Walls/Snowdrift.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Walls/Snowdrift.yml similarity index 100% rename from Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Walls/Snowdrift.yml rename to Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Walls/Snowdrift.yml diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Walls/WallDirt.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Walls/WallDirt.yml similarity index 100% rename from Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Walls/WallDirt.yml rename to Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Walls/WallDirt.yml diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Walls/WallStone.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Walls/WallStone.yml similarity index 100% rename from Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Walls/WallStone.yml rename to Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Walls/WallStone.yml diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Walls/WallWood.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Walls/WallWood.yml similarity index 100% rename from Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Walls/WallWood.yml rename to Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Walls/WallWood.yml diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Walls/grilles.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Walls/grilles.yml new file mode 100644 index 0000000000..203a64b1ad --- /dev/null +++ b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Walls/grilles.yml @@ -0,0 +1,35 @@ +- type: constructionGraph + id: CP14FenceIronGrilleStraight + start: start + graph: + - node: start + edges: + - to: CP14FenceIronGrilleStraight + completed: + - !type:SnapToGrid + steps: + - material: CP14IronBar + amount: 2 + - material: CP14Nail + amount: 4 + doAfter: 4 + - node: CP14FenceIronGrilleStraight + entity: CP14FenceIronGrilleStraight + +- type: constructionGraph + id: CP14FenceIronGrilleWindowStraight + start: start + graph: + - node: start + edges: + - to: CP14FenceIronGrilleWindowStraight + completed: + - !type:SnapToGrid + steps: + - material: CP14IronBar + amount: 1 + - material: CP14Nail + amount: 2 + doAfter: 4 + - node: CP14FenceIronGrilleWindowStraight + entity: CP14FenceIronGrilleWindowStraight \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/doors.yml b/Resources/Prototypes/_CP14/Recipes/Construction/doors.yml new file mode 100644 index 0000000000..8d986d2aa5 --- /dev/null +++ b/Resources/Prototypes/_CP14/Recipes/Construction/doors.yml @@ -0,0 +1,170 @@ +- type: construction + crystallPunkAllowed: true + id: CP14WoodenDoor + name: wooden door + description: Not the most solid construction, but it's better than nothing. + graph: CP14WoodenDoor + startNode: start + targetNode: CP14WoodenDoor + category: construction-category-structures + icon: + sprite: _CP14/Structures/Doors/wooden_door.rsi + state: closed + objectType: Structure + placementMode: SnapgridCenter + canRotate: true + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + crystallPunkAllowed: true + id: CP14WoodenDoorMirrored + name: wooden door (mirrored) + description: Not the most solid construction, but it's better than nothing. + graph: CP14WoodenDoor + startNode: start + targetNode: CP14WoodenDoorMirrored + category: construction-category-structures + icon: + sprite: _CP14/Structures/Doors/wooden_door.rsi + state: closed_mirrored + objectType: Structure + placementMode: SnapgridCenter + canRotate: true + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + crystallPunkAllowed: true + id: CP14WoodenDoorWindowed + name: wooden windowed door + description: Not the most solid construction, but it's better than nothing. + graph: CP14WoodenDoor + startNode: start + targetNode: CP14WoodenDoorWindowed + category: construction-category-structures + icon: + sprite: _CP14/Structures/Doors/wooden_windowed_door.rsi + state: closed + objectType: Structure + placementMode: SnapgridCenter + canRotate: true + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + crystallPunkAllowed: true + id: CP14WoodenDoorWindowedMirrored + name: wooden windowed door + description: Not the most solid construction, but it's better than nothing. + graph: CP14WoodenDoor + startNode: start + targetNode: CP14WoodenDoorWindowedMirrored + category: construction-category-structures + icon: + sprite: _CP14/Structures/Doors/wooden_windowed_door.rsi + state: closed_mirrored + objectType: Structure + placementMode: SnapgridCenter + canRotate: true + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + crystallPunkAllowed: true + id: CP14IronDoor + name: iron door + description: Solid iron door. + graph: CP14IronDoor + startNode: start + targetNode: CP14IronDoor + category: construction-category-structures + icon: + sprite: _CP14/Structures/Doors/iron_door.rsi + state: closed + objectType: Structure + placementMode: SnapgridCenter + canRotate: true + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + crystallPunkAllowed: true + id: CP14IronDoorMirrored + name: iron door (mirrored) + description: Solid iron door. + graph: CP14IronDoor + startNode: start + targetNode: CP14IronDoorMirrored + category: construction-category-structures + icon: + sprite: _CP14/Structures/Doors/iron_door.rsi + state: closed_mirrored + objectType: Structure + placementMode: SnapgridCenter + canRotate: true + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + crystallPunkAllowed: true + id: CP14IronDoorWindowed + name: iron windowed door + description: The same sturdy iron door, but with a small window. + graph: CP14IronDoor + startNode: start + targetNode: CP14IronDoorWindowed + category: construction-category-structures + icon: + sprite: _CP14/Structures/Doors/iron_windowed_door.rsi + state: closed + objectType: Structure + placementMode: SnapgridCenter + canRotate: true + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + crystallPunkAllowed: true + id: CP14IronDoorWindowedMirrored + name: iron windowed door + description: The same sturdy iron door, but with a small window. + graph: CP14IronDoor + startNode: start + targetNode: CP14IronDoorWindowedMirrored + category: construction-category-structures + icon: + sprite: _CP14/Structures/Doors/iron_windowed_door.rsi + state: closed_mirrored + objectType: Structure + placementMode: SnapgridCenter + canRotate: true + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + crystallPunkAllowed: true + id: CP14FenceIronGrilleGate + name: iron grille gate + description: Heavy iron gates in bars. Looks serious. + graph: CP14FenceIronGrilleGate + startNode: start + targetNode: CP14FenceIronGrilleGate + category: construction-category-structures + icon: + sprite: _CP14/Structures/Fences/iron_grille.rsi + state: door_closed + objectType: Structure + placementMode: SnapgridCenter + canRotate: true + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/furniture.yml b/Resources/Prototypes/_CP14/Recipes/Construction/furniture.yml index 6f5ecca5bb..5f19680b96 100644 --- a/Resources/Prototypes/_CP14/Recipes/Construction/furniture.yml +++ b/Resources/Prototypes/_CP14/Recipes/Construction/furniture.yml @@ -16,24 +16,6 @@ conditions: - !type:TileNotBlocked -- type: construction - crystallPunkAllowed: true - name: Wooden barrel - description: The simplest design for storing liquids. - id: CP14BaseBarrel - graph: CP14BaseBarrel - startNode: start - targetNode: CP14BaseBarrel - category: construction-category-furniture - icon: - sprite: _CP14/Structures/Furniture/Barrels/barrel.rsi - state: barrel - objectType: Structure - placementMode: PlaceFree - canBuildInImpassable: false - conditions: - - !type:TileNotBlocked - - type: construction crystallPunkAllowed: true name: Wooden table @@ -88,24 +70,6 @@ conditions: - !type:TileNotBlocked -- type: construction - crystallPunkAllowed: true - name: Bonfire - description: A pile of logs stacked together, ready to burst into flames at the slightest spark. - id: CP14Bonfire - graph: CP14Bonfire - startNode: start - targetNode: CP14Bonfire - category: construction-category-furniture - icon: - sprite: _CP14/Structures/Furniture/bonfire.rsi - state: base - objectType: Structure - placementMode: SnapgridCenter - canBuildInImpassable: false - conditions: - - !type:TileNotBlocked - - type: construction crystallPunkAllowed: true name: Wallmount torch @@ -166,78 +130,6 @@ - !type:TileNotBlocked - !type:CP14WallRequired -- type: construction - crystallPunkAllowed: true - name: Wooden chest - description: a simple wooden chest for easy storage of junk. - id: CP14WoodenChest - graph: CP14WoodenChest - startNode: start - targetNode: CP14WoodenChest - category: construction-category-furniture - icon: - sprite: _CP14/Structures/Storage/Crates/woodenchest.rsi - state: icon - objectType: Structure - placementMode: SnapgridCenter - canBuildInImpassable: false - conditions: - - !type:TileNotBlocked - -- type: construction - crystallPunkAllowed: true - name: Workbench - description: Table for the production of various basic tools. - id: CP14Workbench - graph: CP14Workbench - startNode: start - targetNode: CP14Workbench - category: construction-category-furniture - icon: - sprite: _CP14/Structures/Furniture/workbench.rsi - state: workbench - objectType: Structure - placementMode: SnapgridCenter - canBuildInImpassable: false - conditions: - - !type:TileNotBlocked - -- type: construction - crystallPunkAllowed: true - name: Cooking table - description: A table to work with food. Time to cook! - id: CP14WorkbenchCooking - graph: CP14WorkbenchCooking - startNode: start - targetNode: CP14WorkbenchCooking - category: construction-category-furniture - icon: - sprite: _CP14/Structures/Furniture/workbench.rsi - state: cooking_table - objectType: Structure - placementMode: SnapgridCenter - canBuildInImpassable: false - conditions: - - !type:TileNotBlocked - -- type: construction - crystallPunkAllowed: true - name: Sewing table - description: A table with embroidery tools to create different clothing and materials. - id: CP14WorkbenchSewing - graph: CP14WorkbenchSewing - startNode: start - targetNode: CP14WorkbenchSewing - category: construction-category-furniture - icon: - sprite: _CP14/Structures/Furniture/workbench.rsi - state: sewing_table - objectType: Structure - placementMode: SnapgridCenter - canBuildInImpassable: false - conditions: - - !type:TileNotBlocked - - type: construction crystallPunkAllowed: true id: CP14Mannequin @@ -314,16 +206,35 @@ - type: construction crystallPunkAllowed: true - id: CP14WoodenDoor - name: wooden door - description: Not the most solid construction, but it's better than nothing. - graph: CP14WoodenDoor + id: CP14WoodenBed + name: Wooden bed + description: Comfortable bed for sleeping. + graph: CP14WoodenBed startNode: start - targetNode: CP14WoodenDoor + targetNode: CP14WoodenBed category: construction-category-furniture icon: - sprite: _CP14/Structures/Doors/wooden_door.rsi - state: closed + sprite: _CP14/Structures/Furniture/wooden_bed.rsi + state: icon + objectType: Structure + placementMode: SnapgridCenter + canRotate: false + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + crystallPunkAllowed: true + name: Wood bench + description: A bench carved from wood, a comfortable part of the interior designed for sitting and relaxing. + id: CP14BenchWood + graph: CP14BenchWood + startNode: start + targetNode: CP14BenchWood + category: construction-category-furniture + icon: + sprite: _CP14/Structures/Furniture/bench.rsi + state: wooden objectType: Structure placementMode: SnapgridCenter canRotate: true @@ -333,60 +244,60 @@ - type: construction crystallPunkAllowed: true - id: CP14WoodenDoorMirrored - name: wooden door (mirrored) - description: Not the most solid construction, but it's better than nothing. - graph: CP14WoodenDoor + name: Curtains white + description: Two hanging sheets made of white fabric. + id: CP14CurtainsWhite + graph: CP14Curtains startNode: start - targetNode: CP14WoodenDoorMirrored + targetNode: CP14CurtainsWhite category: construction-category-furniture icon: - sprite: _CP14/Structures/Doors/wooden_door.rsi - state: closed_mirrored + sprite: _CP14/Structures/Furniture/curtains.rsi + state: white_closed objectType: Structure placementMode: SnapgridCenter canRotate: true canBuildInImpassable: false conditions: - - !type:TileNotBlocked + - !type:EmptyOrWindowValidInTile - type: construction crystallPunkAllowed: true - id: CP14WoodenDoorWindowed - name: wooden windowed door - description: Not the most solid construction, but it's better than nothing. - graph: CP14WoodenDoor + name: Curtains blue + description: Two hanging sheets made of blue fabric. + id: CP14CurtainsBlue + graph: CP14Curtains startNode: start - targetNode: CP14WoodenDoorWindowed + targetNode: CP14CurtainsBlue category: construction-category-furniture icon: - sprite: _CP14/Structures/Doors/wooden_windowed_door.rsi - state: closed + sprite: _CP14/Structures/Furniture/curtains.rsi + state: blue_closed objectType: Structure placementMode: SnapgridCenter canRotate: true canBuildInImpassable: false conditions: - - !type:TileNotBlocked + - !type:EmptyOrWindowValidInTile - type: construction crystallPunkAllowed: true - id: CP14WoodenDoorWindowedMirrored - name: wooden windowed door - description: Not the most solid construction, but it's better than nothing. - graph: CP14WoodenDoor + name: Curtains red + description: Two hanging sheets made of red fabric. + id: CP14CurtainsRed + graph: CP14Curtains startNode: start - targetNode: CP14WoodenDoorWindowedMirrored + targetNode: CP14CurtainsRed category: construction-category-furniture icon: - sprite: _CP14/Structures/Doors/wooden_windowed_door.rsi - state: closed_mirrored + sprite: _CP14/Structures/Furniture/curtains.rsi + state: red_closed objectType: Structure placementMode: SnapgridCenter canRotate: true canBuildInImpassable: false conditions: - - !type:TileNotBlocked + - !type:EmptyOrWindowValidInTile # Small fence diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/misc.yml b/Resources/Prototypes/_CP14/Recipes/Construction/misc.yml new file mode 100644 index 0000000000..548ad709db --- /dev/null +++ b/Resources/Prototypes/_CP14/Recipes/Construction/misc.yml @@ -0,0 +1,53 @@ +- type: construction + crystallPunkAllowed: true + name: Bonfire + description: A pile of logs stacked together, ready to burst into flames at the slightest spark. + id: CP14Bonfire + graph: CP14Bonfire + startNode: start + targetNode: CP14Bonfire + category: construction-category-misc + icon: + sprite: _CP14/Structures/Furniture/bonfire.rsi + state: base + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + crystallPunkAllowed: true + name: Tombstone + description: A piece of stone used to honor the dead. + id: CP14BaseTombstone + graph: CP14BaseTombstone + startNode: start + targetNode: CP14BaseTombstone + category: construction-category-misc + icon: + sprite: _CP14/Structures/Decoration/tombstone.rsi + state: cross + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + crystallPunkAllowed: true + name: Wooden pallet + description: Wooden crates stand. + id: CP14WoodenPallet + graph: CP14WoodenPallet + startNode: start + targetNode: CP14WoodenPallet + category: construction-category-misc + icon: + sprite: _CP14/Structures/Furniture/pallets.rsi + state: wooden + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/storage.yml b/Resources/Prototypes/_CP14/Recipes/Construction/storage.yml index 86ac6945c6..59ea11380b 100644 --- a/Resources/Prototypes/_CP14/Recipes/Construction/storage.yml +++ b/Resources/Prototypes/_CP14/Recipes/Construction/storage.yml @@ -1,12 +1,12 @@ - type: construction crystallPunkAllowed: true name: Dirt pit - description: you're wasting dirt to create a hole. Makes sense, doesn't it? Can only be built on dirt tiles. + description: You're wasting dirt to create a hole. Makes sense, doesn't it? Can only be built on dirt tiles. id: CP14CrateDirtPitGrave graph: CP14CrateDirtPitGrave startNode: start targetNode: CP14CrateDirtPitGrave - category: construction-category-furniture + category: construction-category-storage icon: sprite: _CP14/Structures/Storage/dirt_pit.rsi state: open @@ -17,4 +17,226 @@ - !type:TileNotBlocked - !type:TileType targets: - - CP14FloorDirt \ No newline at end of file + - CP14FloorDirt + +- type: construction + crystallPunkAllowed: true + name: Wooden chest + description: A simple wooden chest for easy storage of junk. + id: CP14WoodenChest + graph: CP14WoodenChest + startNode: start + targetNode: CP14WoodenChest + category: construction-category-storage + icon: + sprite: _CP14/Structures/Storage/Crates/woodenchest.rsi + state: icon + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + crystallPunkAllowed: true + name: Wooden closet + description: A simple wooden wardrobe for storing clothes and other things. + id: CP14WoodenCloset + graph: CP14WoodenCloset + startNode: start + targetNode: CP14WoodenCloset + category: construction-category-storage + icon: + sprite: _CP14/Structures/Storage/Dressers/wood_cupboard.rsi + state: icon + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + crystallPunkAllowed: true + name: Wooden cabinet + description: An ordinary wooden cabinet for simple knickknacks. + id: CP14WoodenCabinet + graph: CP14WoodenCabinet + startNode: start + targetNode: CP14WoodenCabinet + category: construction-category-storage + icon: + sprite: _CP14/Structures/Storage/Dressers/wood_cabinet.rsi + state: icon + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + crystallPunkAllowed: true + name: Iron cabinet + description: An ordinary iron cabinet for simple knickknacks. + id: CP14IronCabinet + graph: CP14IronCabinet + startNode: start + targetNode: CP14IronCabinet + category: construction-category-storage + icon: + sprite: _CP14/Structures/Storage/Dressers/iron_cabinet.rsi + state: icon + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + crystallPunkAllowed: true + name: Small wooden crate + description: A small wooden crate for storing everything. + id: CP14SmallWoodenCrate + graph: CP14SmallWoodenCrate + startNode: start + targetNode: CP14SmallWoodenCrate + category: construction-category-storage + icon: + sprite: _CP14/Structures/Storage/Crates/small_wooden_crate.rsi + state: icon + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + crystallPunkAllowed: true + name: Large wooden crate + description: A large wooden crate for storing a lot of things. + id: CP14LargeWoodenCrate + graph: CP14LargeWoodenCrate + startNode: start + targetNode: CP14LargeWoodenCrate + category: construction-category-storage + icon: + sprite: _CP14/Structures/Storage/Crates/large_wooden_crate.rsi + state: icon + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + crystallPunkAllowed: true + name: Coffin + description: A comfortable and nice looking coffin to comfortably await your resurrection. + id: CP14CrateCoffin + graph: CP14CrateCoffin + startNode: start + targetNode: CP14CrateCoffin + category: construction-category-storage + icon: + sprite: _CP14/Structures/Storage/Crates/coffin.rsi + state: base + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + crystallPunkAllowed: true + name: Wooden barrel + description: The simplest design for storing liquids. + id: CP14BaseBarrel + graph: CP14BaseBarrel + startNode: start + targetNode: CP14BaseBarrel + category: construction-category-storage + icon: + sprite: _CP14/Structures/Furniture/Barrels/barrel.rsi + state: icon + objectType: Structure + placementMode: PlaceFree + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + crystallPunkAllowed: true + name: Wooden crane barrel + description: Large lying barrel with tap, for storing valuable liquids. + id: CP14CraneBarrel + graph: CP14CraneBarrel + startNode: start + targetNode: CP14CraneBarrel + category: construction-category-storage + icon: + sprite: _CP14/Structures/Furniture/Barrels/crane_barrel.rsi + state: barrel + objectType: Structure + placementMode: SnapgridCenter + canRotate: true + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + crystallPunkAllowed: true + name: Wooden small crane barrel + description: A small lying barrel with a tap to quickly pour liquid into mugs. + id: CP14CraneBarrelSmall + graph: CP14CraneBarrelSmall + startNode: start + targetNode: CP14CraneBarrelSmall + category: construction-category-storage + icon: + sprite: _CP14/Structures/Furniture/Barrels/crane_barrel_small.rsi + state: barrel + objectType: Structure + placementMode: SnapgridCenter + canRotate: true + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + crystallPunkAllowed: true + name: Bar shelf (1) + description: Wall shelves to store your wine collection. + id: CP14WallmountBarShelfA + graph: CP14WallmountBarShelfA + startNode: start + targetNode: CP14WallmountBarShelfA + category: construction-category-storage + icon: + sprite: _CP14/Structures/Wallmount/wallmount_bar_shelf.rsi + state: shelf + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + canRotate: true + conditions: + - !type:TileNotBlocked + - !type:CP14WallRequired + +- type: construction + crystallPunkAllowed: true + name: Bar shelf (2) + description: Wall shelves to store your wine collection. + id: CP14WallmountBarShelfB + graph: CP14WallmountBarShelfB + startNode: start + targetNode: CP14WallmountBarShelfB + category: construction-category-storage + icon: + sprite: _CP14/Structures/Wallmount/wallmount_bar_shelf.rsi + state: shelf + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + canRotate: true + conditions: + - !type:TileNotBlocked + - !type:CP14WallRequired \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/walls.yml b/Resources/Prototypes/_CP14/Recipes/Construction/walls.yml index 8cd2988889..48ebaeb97d 100644 --- a/Resources/Prototypes/_CP14/Recipes/Construction/walls.yml +++ b/Resources/Prototypes/_CP14/Recipes/Construction/walls.yml @@ -67,5 +67,43 @@ objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + crystallPunkAllowed: true + name: Iron grille + description: Strong iron grille. + id: CP14FenceIronGrilleStraight + graph: CP14FenceIronGrilleStraight + startNode: start + targetNode: CP14FenceIronGrilleStraight + category: construction-category-structures + icon: + sprite: _CP14/Structures/Fences/iron_grille.rsi + state: straight + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + canRotate: true + conditions: + - !type:TileNotBlocked + +- type: construction + crystallPunkAllowed: true + name: Iron grille window + description: The upper half of the solid grid. + id: CP14FenceIronGrilleWindowStraight + graph: CP14FenceIronGrilleWindowStraight + startNode: start + targetNode: CP14FenceIronGrilleWindowStraight + category: construction-category-structures + icon: + sprite: _CP14/Structures/Fences/iron_grille_top.rsi + state: straight + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + canRotate: true conditions: - !type:TileNotBlocked \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/workstations.yml b/Resources/Prototypes/_CP14/Recipes/Construction/workstations.yml new file mode 100644 index 0000000000..ab3fc49e17 --- /dev/null +++ b/Resources/Prototypes/_CP14/Recipes/Construction/workstations.yml @@ -0,0 +1,53 @@ +- type: construction + crystallPunkAllowed: true + name: Workbench + description: Table for the production of various basic tools. + id: CP14Workbench + graph: CP14Workbench + startNode: start + targetNode: CP14Workbench + category: construction-category-machines + icon: + sprite: _CP14/Structures/Furniture/workbench.rsi + state: workbench + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + crystallPunkAllowed: true + name: Cooking table + description: A table to work with food. Time to cook! + id: CP14WorkbenchCooking + graph: CP14WorkbenchCooking + startNode: start + targetNode: CP14WorkbenchCooking + category: construction-category-machines + icon: + sprite: _CP14/Structures/Furniture/workbench.rsi + state: cooking_table + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + crystallPunkAllowed: true + name: Sewing table + description: A table with embroidery tools to create different clothing and materials. + id: CP14WorkbenchSewing + graph: CP14WorkbenchSewing + startNode: start + targetNode: CP14WorkbenchSewing + category: construction-category-machines + icon: + sprite: _CP14/Structures/Furniture/workbench.rsi + state: sewing_table + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/tags.yml b/Resources/Prototypes/_CP14/tags.yml index 78f0e1a228..2197b30e1e 100644 --- a/Resources/Prototypes/_CP14/tags.yml +++ b/Resources/Prototypes/_CP14/tags.yml @@ -67,6 +67,24 @@ - type: Tag id: CP14Dye +- type: Tag + id: CP14DyeRed + +- type: Tag + id: CP14DyeYellow + +- type: Tag + id: CP14DyeBlue + +- type: Tag + id: CP14DyeGreen + +- type: Tag + id: CP14DyePurple + +- type: Tag + id: CP14DyeBlack + - type: Tag id: CP14Meat diff --git a/Resources/Textures/_CP14/Structures/Doors/iron_frame.rsi/closed.png b/Resources/Textures/_CP14/Structures/Doors/iron_frame.rsi/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..a8c8c7ad6a12b3b389d12158fda264df3a72d000 GIT binary patch literal 1508 zcmaJ>cU03?6#gZK5d~U<5M+cYOKEW-BpA{tHMP%5sJaL#{6b#zBKS=e~OSY5r&O}8+n z@^xqvWx8p#bHPn7m|~lmStO1Qi1S1cx(w-OX=|h7xV4W;SANkn(j@4is#_Qvl+4C)=r8AWgXf)mE(E+!IXH_;fD&)@jDCL=g=Hc>k_Cii7?dqI?X08if1nzkeoZ>5o z9GSOMpvR9}n6JX&wLYbizklKYe@25^=4!Q6UwA(8E+>knMUL1d&o4&WffgZ4t~{#s8Xo{_Y)M`VPq#%t@z!XyX2h5tS(exY61vRRY4 zvKJA7@NY?&%f0~LSxhMonX*#dYlZDCu}_`Xuuk@{F343HrSrk=hfsp5FcRo;$CxgY zB&TdIoZu??VxvKpdRO1IU7I9_$$lf(|ATQe{IH2a|F0^_LzNDf^Z1;cl&ejC`kX11 zWQjS}O;r>oD5$?zD#H;!eZ zGbCg{M4)*T{CPF(aTA1UDuzQ4k_UakOjQ_i!3o8D>5@3$A!zrZtHXddRKNso4$^UM zwFIO_`~dnsqX&{~rLPnvKW%sy5F|nVGKqv<7LK^T)s6Y}C{`Bg zJ(pEePD~%P10$8c^iJqfLJ_MK9;ZOiwQ;Y9j1Gj~a{@NcfM?wW5cGsh{idU=?pGf6 z1{)tr^=0|cS+Y!9wb`4)r*CRl)3QtTgYeUacL4bf_LoLgx2}wIlhs?bvX7>P-$N(h zY9boX=A>RX%Tg0z0(hA-ZnF0NL5+gH;P8WURRN6ZKSVExxxdn9%&TWIBKiYG1W3O( zEgviiX@i|GB&MU|h#~?39lza6OdE6pBh#m#g17IpE|Pj&`^pd&S7Fr-W0>v$8-b#C zgS(|px(|MtHfJM%Z0`9FkyF&{ATAk;s(>m!~K7+~V$w&+X z9~G+tq4I++%IkFd`G`}+h4%}6HAkilm__WLMSpiF5I-#Pl2P$!IC89clXm^^XQFVH zL_FL(KvS{+h~Bh=;s3D|zo?9~E5S^T UjTWq`b$rGcd#qiht@n+80eoGnO8@`> literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Structures/Doors/iron_frame.rsi/closed_mirrored.png b/Resources/Textures/_CP14/Structures/Doors/iron_frame.rsi/closed_mirrored.png new file mode 100644 index 0000000000000000000000000000000000000000..d58fc3b300786a310ebc1df2053a89da120343f1 GIT binary patch literal 1477 zcmaJ=c{G%39R5tBLb{I0h!aDWd(c&~OhhI|d}2abV`#Hp#I$IJ%ysH$(urosH6~e0 zj2UB#kR`H@ElXs{+=Of~!X=LJMZsZp67j^=SOkE*~&^QO9KEP z3)*2_ph$*#{odWs*y$hg5(*Lo7h5ZU#XU3&0FtpF_Vk4)#==;`S%&SwmhZk+p3YPx z{YtOoeXpZhYWyTPp+hS^qx>(mZ#G$d=~1heZKtUWQmdAZBzo?&TvGzr9_ERD;WXFC z%C1x-4cC;g3R!Pgx#n!~7RGN3&FwT?TIGs63lroa=${&yU!_0<&4b4Aa)$Dz*P?-Re(})g1?A>c~>o_px&^DrJRl=*L~U%3HYcmf zgzeiecwP{f(>7C9Qv3S~J@Gj!?j0Lo`|d0XwowMJVM111!u^uqfrp8U`YCOEdZmg_ zOQ^eSUb*yRJ*+&wtOTD@3SZVqO?RoioBy5C)??i(Y|5PzSUYxi62J9-FmYP(O@bs% z>2SQWuxhS;OX9~j9k0cWM0&wR@`8c3FpZ#IeLun#4ZaggD@Bj|!44)vQw>&}wAT#* zQqN|}q&cvME*HBM<>M`H^gZnl%?w9Y{81jP)p}xEyiTLta;cJKWTY9F$_T%%PQ1>J z4VpKEuF3PkjO4A{hUH9kH|nb`xTFEpXHd%Yl>|g?$+Z|-r#Iszlz$zMRoL9<_Z=6* zfAZ)5Ov&6Rar(NVlB$x$Tf%yVW)P$YP@DZiy+<%XI!_1?PA&GnO9+ZA8%wwa?qwmQ3pu-Y!`=xrmIB1fa_h^E}2VYX) zf!73_S0TtLqcmVS9zGMJ$%bGf^b3z(ak?KP+GCK%T{`f~;iI4~^JTLCOV=1>$cC1?Xy zSJ%;ex1vBuV=<{3s^WPV^j;*b*hlx7>F0Ua+rYcpVV^gmPx&yGcYrRCt{2-M??zKp4jH*OeDKRE0<^EJ#>Q7*dHPLlmirI(KAX=5Op$RZ6E0 zT{>nVQkE=8K*SJ_?$Fvbjv>VFaWBN*kAy_xAJ1_*-<`3HMF0Q*0001LCWw0d#JUic z!p6HJ5fN#%nlhg+viBk)^Z8=s|C`p^W*_VJyJ`8h8O3Gm_FG&p7>>p(E#T;VbESr6 z4+|-iU$3~%x_xZBP1*X}ZnLSJW$SSWh=@#XZvx-JQLmq*hhMy$nU&#<@6dfi1z3i+ zTFtD7wh~%~=Z7pSwQm9R0oDbuMjv1qP9LxbYF`1N$lp0}ae?c(`Ew^-#pS;8LlKe2 zyQ7tJ*1gzyhYbYX@h2_P+cd0DPYkqcNq|=R_Oiy>EEXyiCEC#3N1tRXR z4T`MJ^E=&0MC3_+eqXMy4Hol*;b@#pr_+_W`Ae_4ZF_AnRm@xWKiAg=^XsH}wZAqP zh~G{J000000000000000000000002?Ly{!fOGGZCUOyR*#>wg6BKddcnb$i$qh3Eb z9b6>C(KyR5lyNJy{}~;11z6s6?IK%U0hYf!;UZgA0mWNeEojT2`Zc-l-@dBCwc_PW zT?SPP=yap(4sZ)D^0%&lAPBNos{i45!xnzz%TQLv=P(RvcTnq5VBL=v_@pg^dKk2x z2x*5w`T*??=mU(I_5rT}ouIZ5^Z~}02Us5hhmJl#voU?ZEBH!`Z-q4*&mI=$eSrBP zVBG@D4}n9+FsRwM_QT+7Q2Po{T^h4~Vnn>0smoCNOJk}QVEs@A7x}6R*wy23eCAg^ z1SYpPS0W;D{FuG>X>xmW6~~V&WvQa}qd?^f7>>r*>HANgzg%xxcNg-R`Leu}lNM0? zRd^p2&I1Hzt{tD_|eK4N7UsQn>=slaNN^ZRK#SG+T2*RJj7uDQFx&dV4lV z-u>M~(qT|D9ac?*%AOJ8Q`G;c&SxsD*|^qIVG)tR*}3GOSm~RKd{qTljQ_67pq>a> zR)ULcRRzrF3zKPZs@-m@J3>_jv|3H`7NET_qizA#Ok0490$68rby&ND+P8p1SM@2+ v>u!?#QMDikmJa{`000000000001n6>s+lcgLpi2g00000NkvXXu0mjfAXMLJ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Structures/Fences/iron_grille.rsi/meta.json b/Resources/Textures/_CP14/Structures/Fences/iron_grille.rsi/meta.json index a083faf32a..204bef370b 100644 --- a/Resources/Textures/_CP14/Structures/Fences/iron_grille.rsi/meta.json +++ b/Resources/Textures/_CP14/Structures/Fences/iron_grille.rsi/meta.json @@ -18,6 +18,10 @@ { "name": "door_opened", "directions": 4 + }, + { + "name": "door_closed_frame", + "directions": 4 } ] } diff --git a/Resources/Textures/_CP14/Structures/Furniture/Barrels/barrel.rsi/icon.png b/Resources/Textures/_CP14/Structures/Furniture/Barrels/barrel.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f2004e86b24faadd1fe3ad86190dbe6576c0490f GIT binary patch literal 1025 zcmV+c1pfPpP)Px&yGcYrR9J=OmrZNiNEpX|8|=hUte_;Ofz)=2V`%yUZpu<W;Fki z;s355rXBEjGu!|9@rG~zVO}TyS0QxX(1Gs4hj|^tasbfcF#rt9L5s(5$AkfiOjG>j zt50b07%6QQO^LFeh|y@aB|u7>mZ^Li+VnXtuw+*m?WqLX-~va9oM2ww#PxRpvQ0(he3M%yPRdjO|EQ|~d?;3U@$?>M zr;lNGX_)p{(MGc^`;I?1Fzha7r_Ww4&4*%TC|_s*w+{0VJ&IBvkJd^_7Pt zR|b=?E8er82%yDd7*`O_pZ@~vunD|7dgBRGUwO#>vmN<-aPV7TaR|5#?0jr0M@|gaXi%=+GYL(kib{ox!Q-4FEpAy`H6}L@_Lf zTw0Z55^98+*_$3<;9TA|>xMGy7zs7P!d!$_yN6+W&w7xrJk}oQgofQ6YZJb{Fc*<$ z-A}?lyz+zs=qzTanZ3XS0%o+RP|fUJIqH-EGv*}#@!Q+7t<@giORtXaoez$355dC;xP=%;r^5Tq2+V~iGo6IClurV z6Tm2hTlb&rdlnRO|6%bf9tuD}h@`@5h1}2C)p_3Q-?(){<*aG~{!1?u>MjsTB#6tR v-&+pZ)p-DExqcUqm!|%6>IMmd4Xb|vqSx7Em^s*v00000NkvXXu0mjfQgG`x literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Structures/Furniture/Barrels/barrel.rsi/meta.json b/Resources/Textures/_CP14/Structures/Furniture/Barrels/barrel.rsi/meta.json index a0ac5273b7..a1e28ad7d9 100644 --- a/Resources/Textures/_CP14/Structures/Furniture/Barrels/barrel.rsi/meta.json +++ b/Resources/Textures/_CP14/Structures/Furniture/Barrels/barrel.rsi/meta.json @@ -7,6 +7,9 @@ "y": 32 }, "states": [ + { + "name": "icon" + }, { "name": "barrel" }, diff --git a/Resources/Textures/_CP14/Structures/Storage/Dressers/wood_cupboard.rsi/icon.png b/Resources/Textures/_CP14/Structures/Storage/Dressers/wood_cupboard.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b04871c11a24a80b3cbc8844cb79c203cab4f587 GIT binary patch literal 3131 zcmZu!XE@t!-~LBXr6@`(h}2$1Rqd!6H5)TV2TG}}M%9cMcj-v28hzW6l2W@u%-W?| zJH%*f)F_ggNkr9n^4#y&=ficKAAaX`9>@7x$8kNjL6~xLLO1~c;5Iiiwqv3J^K@{q zGw-@-um1ul%+Ayhs2UPo0{||%x$#wp$k*#{+Ji;D2!3ua%oQ@p`1%d|uB&e8sgFVE zeBZ&F{LL0GK--5wRQ_ z)1G@^4FH3VXRF(0Ue@YNpL!{|_^LAKchZMj#w$zXd-)|`v%&I`QEh63;oBNKwn|4> zAm{0OWYSd3VZ5go2$Rh=UY4M9?%iY=2%^Z+vZ- zXa%e^bb?%a`DZr9bG8mh%IH2=D64Si+!%7HK;VE(tO+j}edtF5 zhTYZ|5P`mq5ia%s%r(y4!F^0{IUIrLiOn?nbNo?$gv&KDt5YV$X7J*&=DU{rB4^qt z`SWAeK|@RPpOY>DcuD=kC7Fmh=-|>v7de~rYwbtPVWFJ)rew}2)XBrYL~Ux}7HNY4 zpd%Pog6XaT2XW5I&jmluU_{uBdu^M;KZ;lijx`*-7CnKWcK5A?AJ%Fh2sis|9`SLT67#^?=+rKa6T0}eWb&9!_ zwpz9*?SCqzhI*|)46^eznswxy5Uiu5L1vMrY^zeSmZuX%;VT4(hX+@YEPC%$V5s3c z?oEE?XhRJ3}xAMp}w1GsoJno(9Lp8v*8$NvUQkS0;l-01j-i%Xl9l*h1;0( z&gX4Bl&^k)dKqo(A%Yd}P{(8w16R2JRmZ6e_-*7jK<|*aq>#Syyn|5fVn{{0cKbJt(cP2=W!*m(excX)NK6j?lr=8f-VP{Rr9{SLMhVdEMAGEuOqB-D71Y~r%eeu2g+(O;C_f} z{si&x*yoVlwGCB5{1e9|#eihmqju)LR@-!PRVhx9xx!~FqFGO>mCj&G+2ZR^MzP#d za}1Ycc8SJZLv*`O1#c>-{n@tb*OJgC^OjGtAhjf@m%h6{gx^M~{O?=SMg3jtuWnx2p0)|aWUGbWOL)ApxkeNJJ7hnh~o z3qLUD!J-#I-Rk<)a)Pv=C4hxRUwiSdH$&{{#fpZqC6BBPZ-{1?q|LL-AQ?=*kzw~$8UJ><8wFk@EUfx} zm%!&<Cfu*EF%_{#1p z`u>OM#2af(VSAl^gwNis`mwRc6I1vf=2%G11P^YF4|F??|jF8Loaq37B|t=%XO`|v6axyv9*{VdrHyC5RTiwo>bO_ zNyA5&{n|4eg&Zz4W$g%ex}@kb?8SdC)6A~4Cj;xxl+u`acLAYe&~>*ia9wrA5uwxJ zn3mpGW~#M@?jM&dwwF^mcRP)vzsD*%dA&v(F#(8WLGN6m4B$AHd;a>jo{d`LYtn@U z!zCCR?hv>~<|OOoM@_mwpLH6CqO?|x`=7Pel=kuOpeobVJQ|05dzGmT6q2d?6L43T zZXii^S@XFt+$U0^$rFQ&dR-oB&u501-rZ##Y&ft$`seeq>cv1MtP3_} zV7%LVbqIUlnX|`A3(kz{{{mXsmbZ0Q-JKGg)ybWG zLgf$`0jpqWA9GE*&7dpvqL8CegYp!~(Io4f$)h4CzE^Vht2$#6 z>a@U)VW6`N_KR1&mf+{CCxye%vjST=GzBaL6g?<-!cZ?rQ*~Bg^+f1)gldo4WcNlo zre==EUIy-ya1?VpPG*_^2Rj_&&$19;!+Xy<@7Gw>BoL===4*$l;T|dZF=X`XvFnDdMlE zqktiYE9VQogA-rn+TpOa19WL)L9s^2DF-%qj^v5T+s5rS=k5N7dM%Auq4A?Xjm#1iOdmr@~1x zB62_2-}(XT?N>Y5_SiY^(vtQwzZGwYt0i{ib6{JP*g^4h;#a_|dNQJt0f7*G1o)%)qap`oCd!r-c{P9<$)5 z1Gjsq+5%P=RC-0-zp0FyNKYl#!P9*E^Nkbc>Zba7dTkW42B};~a3(YnfseO_=52(* zF)Nk<;Nlsn3&EKZBm5H>Y`>GMtfdQ=fnJqL)Ncj1C^26Q+LrgjbZHMM!~pUbe7