From: lzk <124214523+lzk228@users.noreply.github.com> Date: Tue, 24 Sep 2024 15:19:40 +0000 (+0200) Subject: craftable freezers (#32277) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=87932bce57cd9ef0a37db76c75eeeefe27b1b79d;p=space-station-14.git craftable freezers (#32277) * Craftable freezers * oh i forgot that --- 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 0000000000..ab148aa7cb Binary files /dev/null and b/Resources/Textures/Structures/Storage/closet.rsi/freezer_icon.png differ diff --git a/Resources/Textures/Structures/Storage/closet.rsi/meta.json b/Resources/Textures/Structures/Storage/closet.rsi/meta.json index 329c7b5a4f..5600268fde 100644 --- a/Resources/Textures/Structures/Storage/closet.rsi/meta.json +++ b/Resources/Textures/Structures/Storage/closet.rsi/meta.json @@ -308,6 +308,9 @@ { "name": "freezer" }, + { + "name": "freezer_icon" + }, { "name": "freezer_door" },