From a9fa1f4a5242df5e9da5633adf445e404c042353 Mon Sep 17 00:00:00 2001 From: iacore <74560659+iacore@users.noreply.github.com> Date: Mon, 18 Dec 2023 19:46:16 +0000 Subject: [PATCH] Craftable Steel Closet (#21987) Make closet craftable --- .../Storage/Closets/base_structureclosets.yml | 11 +++++++ .../Structures/Storage/Closets/closets.yml | 14 ++++----- .../Structures/Storage/Closets/cursed.yml | 4 +-- .../Crafting/Graphs/storage/tallbox.yml | 27 ++++++++++++++++++ .../Prototypes/Recipes/Crafting/tallbox.yml | 10 +++++++ .../Storage/closet.rsi/generic_icon.png | Bin 0 -> 259 bytes .../Structures/Storage/closet.rsi/meta.json | 3 ++ 7 files changed, 60 insertions(+), 9 deletions(-) create mode 100644 Resources/Prototypes/Recipes/Crafting/Graphs/storage/tallbox.yml create mode 100644 Resources/Prototypes/Recipes/Crafting/tallbox.yml create mode 100644 Resources/Textures/Structures/Storage/closet.rsi/generic_icon.png diff --git a/Resources/Prototypes/Entities/Structures/Storage/Closets/base_structureclosets.yml b/Resources/Prototypes/Entities/Structures/Storage/Closets/base_structureclosets.yml index cf1482b8af..bb65636716 100644 --- a/Resources/Prototypes/Entities/Structures/Storage/Closets/base_structureclosets.yml +++ b/Resources/Prototypes/Entities/Structures/Storage/Closets/base_structureclosets.yml @@ -88,6 +88,17 @@ stateDoorOpen: generic_open stateDoorClosed: generic_door +# steel closet base (that can be constructed/deconstructed) +- type: entity + id: ClosetSteelBase + parent: ClosetBase + components: + - type: Construction + graph: ClosetSteel + node: done + containers: + - entity_storage + #Wall Closet - type: entity id: BaseWallCloset diff --git a/Resources/Prototypes/Entities/Structures/Storage/Closets/closets.yml b/Resources/Prototypes/Entities/Structures/Storage/Closets/closets.yml index d734d61832..d5d74c973a 100644 --- a/Resources/Prototypes/Entities/Structures/Storage/Closets/closets.yml +++ b/Resources/Prototypes/Entities/Structures/Storage/Closets/closets.yml @@ -2,7 +2,7 @@ - type: entity id: ClosetTool name: tool closet - parent: ClosetBase + parent: ClosetSteelBase description: It's a storage unit for tools. components: - type: Appearance @@ -15,7 +15,7 @@ - type: entity id: ClosetRadiationSuit name: radiation suit closet - parent: ClosetBase + parent: ClosetSteelBase description: "More comfortable than radiation poisioning." components: - type: Appearance @@ -28,7 +28,7 @@ - type: entity id: ClosetEmergency name: emergency closet - parent: ClosetBase + parent: ClosetSteelBase description: It's a storage unit for emergency breath masks and O2 tanks. components: - type: Appearance @@ -41,7 +41,7 @@ - type: entity id: ClosetFire name: fire-safety closet - parent: ClosetBase + parent: ClosetSteelBase description: It's a storage unit for fire-fighting supplies. components: - type: Appearance @@ -54,7 +54,7 @@ - type: entity id: ClosetBomb name: EOD closet - parent: ClosetBase + parent: ClosetSteelBase description: It's a storage unit for explosion-protective suits. components: - type: Appearance @@ -82,7 +82,7 @@ # Base level 3 bio hazard closet - type: entity id: ClosetL3 - parent: ClosetBase + parent: ClosetSteelBase name: level 3 biohazard gear closet description: It's a storage unit for level 3 biohazard gear. components: @@ -129,7 +129,7 @@ - type: entity id: ClosetMaintenance name: maintenance closet - parent: ClosetBase + parent: ClosetSteelBase description: It's a storage unit. components: - type: Appearance diff --git a/Resources/Prototypes/Entities/Structures/Storage/Closets/cursed.yml b/Resources/Prototypes/Entities/Structures/Storage/Closets/cursed.yml index 35fd16bac4..39912d5deb 100644 --- a/Resources/Prototypes/Entities/Structures/Storage/Closets/cursed.yml +++ b/Resources/Prototypes/Entities/Structures/Storage/Closets/cursed.yml @@ -1,6 +1,6 @@ - type: entity id: ClosetCursed - parent: ClosetBase + parent: ClosetSteelBase name: closet suffix: cursed description: A standard-issue Nanotrasen storage unit. @@ -8,4 +8,4 @@ - type: CursedEntityStorage - type: EntityStorage closeSound: - path: /Audio/Effects/teleport_arrival.ogg \ No newline at end of file + path: /Audio/Effects/teleport_arrival.ogg diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/storage/tallbox.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/storage/tallbox.yml new file mode 100644 index 0000000000..5b0cc1f9a2 --- /dev/null +++ b/Resources/Prototypes/Recipes/Crafting/Graphs/storage/tallbox.yml @@ -0,0 +1,27 @@ +- type: constructionGraph + id: ClosetSteel + start: start + graph: + - node: start + edges: + - to: done + steps: + - material: Steel + amount: 4 + doAfter: 5 + - node: done + entity: ClosetSteelBase + edges: + - to: start + steps: + - tool: Screwing + doAfter: 5 + conditions: + - !type:StorageWelded + welded: false + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 4 + - !type:EmptyAllContainers + - !type:DeleteEntity diff --git a/Resources/Prototypes/Recipes/Crafting/tallbox.yml b/Resources/Prototypes/Recipes/Crafting/tallbox.yml new file mode 100644 index 0000000000..09469093f7 --- /dev/null +++ b/Resources/Prototypes/Recipes/Crafting/tallbox.yml @@ -0,0 +1,10 @@ +- type: construction + id: ClosetSteel + name: closet + graph: ClosetSteel + startNode: start + targetNode: done + category: construction-category-storage + description: A tall steel box that cannot be locked. + icon: { sprite: Structures/Storage/closet.rsi, state: generic_icon } + objectType: Structure diff --git a/Resources/Textures/Structures/Storage/closet.rsi/generic_icon.png b/Resources/Textures/Structures/Storage/closet.rsi/generic_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2487eae1fdd11637cf11455e45b2431fe0690488 GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|)B}7%T!FNP zhK9bLo|ToAjg5_?qoa$9OF%$CMtXXFettngK|@1BV?#s4`KddAN_k6y{DK+&BLQ6& z$F)F-LQfaR5R2ZkmrimWP~dS5WLNQ={r~?xt)ml;dcR$E`0kDm3Q|5V>u$1suiPxr zY2NU{?$SJkfbP{y0WP|l92(JFjRvQ8Jd98-==;d@=V6N^+cw`T3JT0K<=9tSmk2dl rwhNr`tgAfqNK}ty*8gw34GWkjN^+I6m~nLhEobm_^>bP0l+XkKq_