From 87932bce57cd9ef0a37db76c75eeeefe27b1b79d Mon Sep 17 00:00:00 2001 From: lzk <124214523+lzk228@users.noreply.github.com> Date: Tue, 24 Sep 2024 17:19:40 +0200 Subject: [PATCH] craftable freezers (#32277) * Craftable freezers * oh i forgot that --- .../Objects/Devices/Electronics/misc.yml | 15 ++++++ .../Entities/Structures/Machines/lathe.yml | 1 + .../Storage/Closets/Lockers/lockers.yml | 5 ++ .../Structures/Storage/Crates/crates.yml | 5 ++ .../Crafting/Graphs/storage/cratefreezer.yml | 42 +++++++++++++++++ .../Crafting/Graphs/storage/tallbox.yml | 43 ++++++++++++++++++ .../Prototypes/Recipes/Crafting/crates.yml | 11 +++++ .../Prototypes/Recipes/Crafting/tallbox.yml | 13 +++++- .../Prototypes/Recipes/Lathes/electronics.yml | 5 ++ Resources/Prototypes/tags.yml | 3 ++ .../Storage/closet.rsi/freezer_icon.png | Bin 0 -> 444 bytes .../Structures/Storage/closet.rsi/meta.json | 3 ++ 12 files changed, 145 insertions(+), 1 deletion(-) create mode 100644 Resources/Prototypes/Entities/Objects/Devices/Electronics/misc.yml create mode 100644 Resources/Prototypes/Recipes/Crafting/Graphs/storage/cratefreezer.yml create mode 100644 Resources/Textures/Structures/Storage/closet.rsi/freezer_icon.png diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/misc.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/misc.yml new file mode 100644 index 0000000000..62a4ee7294 --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Devices/Electronics/misc.yml @@ -0,0 +1,15 @@ +- type: entity + parent: BaseElectronics + id: FreezerElectronics + name: freezer electronics + description: An electronics board used in kitchen freezers. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: door_electronics + - type: Tag + tags: + - FreezerElectronics + - type: DoorElectronics + - type: StaticPrice + price: 55 diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index 538da8d93e..666550cd8a 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -198,6 +198,7 @@ - ClothingHeadHatWelding - WetFloorSign - ClothingHeadHatCone + - FreezerElectronics - Flare - type: EmagLatheRecipes emagStaticRecipes: diff --git a/Resources/Prototypes/Entities/Structures/Storage/Closets/Lockers/lockers.yml b/Resources/Prototypes/Entities/Structures/Storage/Closets/Lockers/lockers.yml index 89dc4d4755..244ccf2e30 100644 --- a/Resources/Prototypes/Entities/Structures/Storage/Closets/Lockers/lockers.yml +++ b/Resources/Prototypes/Entities/Structures/Storage/Closets/Lockers/lockers.yml @@ -170,6 +170,11 @@ - type: ExplosionResistance damageCoefficient: 0.50 - type: AntiRottingContainer + - type: Construction + graph: ClosetFreezer + node: done + containers: + - entity_storage - type: entity id: LockerFreezer diff --git a/Resources/Prototypes/Entities/Structures/Storage/Crates/crates.yml b/Resources/Prototypes/Entities/Structures/Storage/Crates/crates.yml index 4c540d7b77..3ed0ee5348 100644 --- a/Resources/Prototypes/Entities/Structures/Storage/Crates/crates.yml +++ b/Resources/Prototypes/Entities/Structures/Storage/Crates/crates.yml @@ -42,6 +42,11 @@ - type: AntiRottingContainer - type: ExplosionResistance damageCoefficient: 0.50 + - type: Construction + graph: CrateFreezer + node: done + containers: + - entity_storage - type: entity parent: CratePlastic diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/storage/cratefreezer.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/storage/cratefreezer.yml new file mode 100644 index 0000000000..a43d84e173 --- /dev/null +++ b/Resources/Prototypes/Recipes/Crafting/Graphs/storage/cratefreezer.yml @@ -0,0 +1,42 @@ +- type: constructionGraph + id: CrateFreezer + start: start + graph: + - node: start + edges: + - to: done + steps: + - material: Steel + amount: 5 + - material: Cable + amount: 2 + doAfter: 5 + - tag: FreezerElectronics + name: freezer electronics + icon: + sprite: Objects/Misc/module.rsi + state: door_electronics + - node: done + entity: CrateFreezer + edges: + - to: start + steps: + - tool: Screwing + doAfter: 5 + conditions: + - !type:StorageWelded + welded: false + - !type:Locked + locked: false + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 5 + - !type:SpawnPrototype + prototype: CableApcStack1 + amount: 2 + - !type:SpawnPrototype + prototype: FreezerElectronics + amount: 1 + - !type:EmptyAllContainers + - !type:DeleteEntity diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/storage/tallbox.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/storage/tallbox.yml index e72c56ff44..17696eaaff 100644 --- a/Resources/Prototypes/Recipes/Crafting/Graphs/storage/tallbox.yml +++ b/Resources/Prototypes/Recipes/Crafting/Graphs/storage/tallbox.yml @@ -61,6 +61,49 @@ - !type:EmptyAllContainers - !type:DeleteEntity +- type: constructionGraph + id: ClosetFreezer + start: start + graph: + - node: start + edges: + - to: done + steps: + - material: Steel + amount: 4 + - material: Cable + amount: 2 + doAfter: 5 + - tag: FreezerElectronics + name: freezer electronics + icon: + sprite: Objects/Misc/module.rsi + state: door_electronics + - node: done + entity: LockerFreezerBase + edges: + - to: start + steps: + - tool: Screwing + doAfter: 5 + conditions: + - !type:StorageWelded + welded: false + - !type:Locked + locked: false + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 4 + - !type:SpawnPrototype + prototype: CableApcStack1 + amount: 2 + - !type:SpawnPrototype + prototype: FreezerElectronics + amount: 1 + - !type:EmptyAllContainers + - !type:DeleteEntity + - type: constructionGraph id: ClosetWall start: start diff --git a/Resources/Prototypes/Recipes/Crafting/crates.yml b/Resources/Prototypes/Recipes/Crafting/crates.yml index 72fabc2221..25450b7d98 100644 --- a/Resources/Prototypes/Recipes/Crafting/crates.yml +++ b/Resources/Prototypes/Recipes/Crafting/crates.yml @@ -31,6 +31,17 @@ icon: { sprite: Structures/Storage/Crates/secure.rsi, state: icon } objectType: Structure +- type: construction + name: freezer + id: CrateFreezer + graph: CrateFreezer + startNode: start + targetNode: done + category: construction-category-storage + description: A metal freezing crate for storing things. + icon: { sprite: Structures/Storage/Crates/freezer.rsi, state: icon } + objectType: Structure + - type: construction name: plastic crate id: CratePlastic diff --git a/Resources/Prototypes/Recipes/Crafting/tallbox.yml b/Resources/Prototypes/Recipes/Crafting/tallbox.yml index 21a7ec8225..c90142de44 100644 --- a/Resources/Prototypes/Recipes/Crafting/tallbox.yml +++ b/Resources/Prototypes/Recipes/Crafting/tallbox.yml @@ -20,6 +20,17 @@ icon: { sprite: Structures/Storage/closet.rsi, state: secure_icon } objectType: Structure +- type: construction + id: ClosetFreezer + name: freezer + graph: ClosetFreezer + startNode: start + targetNode: done + category: construction-category-storage + description: A tall steel box with freezing abilities. + icon: { sprite: Structures/Storage/closet.rsi, state: freezer_icon } + objectType: Structure + - type: construction id: ClosetWall name: wall closet @@ -34,4 +45,4 @@ canRotate: true canBuildInImpassable: true conditions: - - !type:WallmountCondition \ No newline at end of file + - !type:WallmountCondition diff --git a/Resources/Prototypes/Recipes/Lathes/electronics.yml b/Resources/Prototypes/Recipes/Lathes/electronics.yml index 818ba0fe37..99ff9f25ee 100644 --- a/Resources/Prototypes/Recipes/Lathes/electronics.yml +++ b/Resources/Prototypes/Recipes/Lathes/electronics.yml @@ -98,6 +98,11 @@ id: DoorElectronics result: DoorElectronics +- type: latheRecipe + parent: BaseCheapElectronicsRecipe + id: FreezerElectronics + result: FreezerElectronics + - type: latheRecipe parent: BaseElectronicsRecipe id: AirAlarmElectronics diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index 1ddee10e63..2a07d061d3 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -647,6 +647,9 @@ - type: Tag id: ForceNoFixRotations # fixrotations command WON'T target this +- type: Tag + id: FreezerElectronics + - type: Tag id: Fruit diff --git a/Resources/Textures/Structures/Storage/closet.rsi/freezer_icon.png b/Resources/Textures/Structures/Storage/closet.rsi/freezer_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ab148aa7cb258bcb96b2aeb109071de1672bc528 GIT binary patch literal 444 zcmV;t0Ym-ipF4kPQZ7CV zzJe)=0^vNXkMl(qga>bJoa>v8k+uaT-3j7SmPe=Fr mJ!D!{6^Z`?*c&qax1v|Y`)ZW)1JP;#0000