]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
craftable freezers (#32277)
authorlzk <124214523+lzk228@users.noreply.github.com>
Tue, 24 Sep 2024 15:19:40 +0000 (17:19 +0200)
committerGitHub <noreply@github.com>
Tue, 24 Sep 2024 15:19:40 +0000 (17:19 +0200)
* Craftable freezers

* oh i forgot that

12 files changed:
Resources/Prototypes/Entities/Objects/Devices/Electronics/misc.yml [new file with mode: 0644]
Resources/Prototypes/Entities/Structures/Machines/lathe.yml
Resources/Prototypes/Entities/Structures/Storage/Closets/Lockers/lockers.yml
Resources/Prototypes/Entities/Structures/Storage/Crates/crates.yml
Resources/Prototypes/Recipes/Crafting/Graphs/storage/cratefreezer.yml [new file with mode: 0644]
Resources/Prototypes/Recipes/Crafting/Graphs/storage/tallbox.yml
Resources/Prototypes/Recipes/Crafting/crates.yml
Resources/Prototypes/Recipes/Crafting/tallbox.yml
Resources/Prototypes/Recipes/Lathes/electronics.yml
Resources/Prototypes/tags.yml
Resources/Textures/Structures/Storage/closet.rsi/freezer_icon.png [new file with mode: 0644]
Resources/Textures/Structures/Storage/closet.rsi/meta.json

diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/misc.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/misc.yml
new file mode 100644 (file)
index 0000000..62a4ee7
--- /dev/null
@@ -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
index 538da8d93e6eb0bd8206ebbbef0054b460f6b1a9..666550cd8a17af8eb60d20fe6380643027f5b843 100644 (file)
       - ClothingHeadHatWelding
       - WetFloorSign
       - ClothingHeadHatCone
+      - FreezerElectronics
       - Flare
   - type: EmagLatheRecipes
     emagStaticRecipes:
index 89dc4d47552454d2dbf71cdcb3447d1438917098..244ccf2e30c43446d9b1dc217dec1b8b67d6722f 100644 (file)
   - type: ExplosionResistance
     damageCoefficient: 0.50
   - type: AntiRottingContainer
+  - type: Construction
+    graph: ClosetFreezer
+    node: done
+    containers:
+    - entity_storage
 
 - type: entity
   id: LockerFreezer
index 4c540d7b77f2771e6a6bb7aa222128e0ee141c8b..3ed0ee534895b35f69326c153ec8ae68ab44b247 100644 (file)
   - 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 (file)
index 0000000..a43d84e
--- /dev/null
@@ -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
index e72c56ff44c35cb878c3fd45ae7203322c5a76f9..17696eaaff88eeeb25f9a9837a36a7fa7fbab8de 100644 (file)
       - !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
index 72fabc2221b6ab233a5028e118a2aa516fcfd921..25450b7d98258ec0625bab88d4d07850d5abd295 100644 (file)
   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
index 21a7ec8225dbc6b6a8bcfdcfacbfdfed391ac48f..c90142de44547abc191e199b69e5aeaf76713f80 100644 (file)
   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
index 818ba0fe37488752e9ddfeed4748b18abc6698ed..99ff9f25eef1ba7a5c9e844717ea1951d2db5b43 100644 (file)
   id: DoorElectronics
   result: DoorElectronics
 
+- type: latheRecipe
+  parent: BaseCheapElectronicsRecipe
+  id: FreezerElectronics
+  result: FreezerElectronics
+
 - type: latheRecipe
   parent: BaseElectronicsRecipe
   id: AirAlarmElectronics
index 1ddee10e63076fa417bb300c1218a41325bd65e9..2a07d061d3aa390558860512e32e0eff75905e00 100644 (file)
 - 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 (file)
index 0000000..ab148aa
Binary files /dev/null and b/Resources/Textures/Structures/Storage/closet.rsi/freezer_icon.png differ
index 329c7b5a4f880c5d05db94efefc983741e49dbbb..5600268fde357c61388bc248b3f6f2cb083f61a5 100644 (file)
     {
       "name": "freezer"
     },
+    {
+      "name": "freezer_icon"
+    },
     {
       "name": "freezer_door"
     },