From 59d925efceb5b77d97404344c6df4e15d76e2eec Mon Sep 17 00:00:00 2001 From: Lillian Industries <47704287+luegamer@users.noreply.github.com> Date: Thu, 11 Sep 2025 15:59:20 -0400 Subject: [PATCH] Added SmartFridge circuitboards (#39879) --- .../Circuitboards/Machine/production.yml | 18 ++++ .../Structures/Machines/smartfridge.yml | 83 ++++++++++-------- .../Recipes/Lathes/Packs/service.yml | 1 + .../Recipes/Lathes/machine_boards.yml | 5 ++ .../Machines/smartfridge.rsi/meta.json | 3 + .../Machines/smartfridge.rsi/panel.png | Bin 0 -> 363 bytes 6 files changed, 72 insertions(+), 38 deletions(-) create mode 100644 Resources/Textures/Structures/Machines/smartfridge.rsi/panel.png diff --git a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml index 758f02b8a2..8119269c26 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml @@ -1433,4 +1433,22 @@ prototype: MedicalBiofabricator stackRequirements: Manipulator: 4 + # Shitmed Change End +- type: entity + parent: BaseMachineCircuitboard + id: SmartFridgeCircuitboard + name: SmartFridge machine board + description: A machine printed circuit board for a SmartFridge. + components: + - type: Sprite + state: service + - type: MachineBoard + prototype: SmartFridge + stackRequirements: + Glass: 5 + Manipulator: 2 + tagRequirements: + GlassBeaker: + amount: 2 + defaultPrototype: Beaker diff --git a/Resources/Prototypes/Entities/Structures/Machines/smartfridge.yml b/Resources/Prototypes/Entities/Structures/Machines/smartfridge.yml index d62418602f..b94c3d2b9e 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/smartfridge.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/smartfridge.yml @@ -1,5 +1,5 @@ - type: entity - parent: BaseStructureDynamic + parent: [BaseStructureDynamic, ConstructibleMachine] id: SmartFridge name: SmartFridge description: A refrigerated storage unit for keeping items cold and fresh. @@ -22,27 +22,52 @@ - state: smartfridge_door map: ["enum.StorageVisualLayers.Door"] shader: unshaded - - type: EntityStorageVisuals - stateBaseClosed: smartfridge - stateDoorOpen: smartfridge_open - stateDoorClosed: smartfridge_door + - state: panel + map: ["enum.WiresVisualLayers.MaintenancePanel"] - type: PointLight radius: 1.5 energy: 1.6 color: "#9dc5c9" - - type: EntityStorage - isCollidableWhenOpen: true - closeSound: - path: /Audio/Machines/windoor_open.ogg - params: - volume: -3 - openSound: - path: /Audio/Machines/windoor_open.ogg - params: - volume: -3 + - type: Machine + board: SmartFridgeCircuitboard - type: ContainerContainer containers: - entity_storage: !type:Container + smart_fridge_inventory: !type:Container + machine_board: !type:Container + machine_parts: !type:Container + - type: Construction + graph: Machine + node: machine + containers: + - machine_parts + - machine_board + - smart_fridge_inventory + - type: LitOnPowered + - type: ApcPowerReceiver + powerLoad: 200 + - type: ExtensionCableReceiver + - type: SmartFridge + whitelist: + components: + - FitsInDispenser + - Pill + - Produce + - Seed + tags: + - PillCanister + - Bottle + - Syringe + - ChemDispensable + - type: ActivatableUI + key: enum.SmartFridgeUiKey.Key + - type: ActivatableUIRequiresPower + - type: UserInterface + interfaces: + enum.SmartFridgeUiKey.Key: + type: SmartFridgeBoundUserInterface + - type: WiresPanel + - type: WiresVisuals + - type: AccessReader - type: UseDelay delay: 1 - type: AntiRottingContainer @@ -68,35 +93,17 @@ - type: InteractionOutline - type: Destructible thresholds: - - trigger: # Excess damage, don't spawn entities + - trigger: !type:DamageTrigger damage: 300 behaviors: - !type:PlaySoundBehavior sound: collection: MetalBreak + - !type:ChangeConstructionNodeBehavior + node: machineFrame - !type:DoActsBehavior - acts: [ "Destruction" ] - - trigger: - !type:DamageTrigger - damage: 100 - behaviors: - - !type:DoActsBehavior - acts: ["Breakage"] - - trigger: - !type:DamageTrigger - damage: 200 - behaviors: - - !type:SpawnEntitiesBehavior - spawn: - SheetSteel1: - min: 1 - max: 1 - - !type:DoActsBehavior - acts: [ "Destruction" ] - - !type:PlaySoundBehavior - sound: - collection: MetalBreak + acts: ["Destruction"] - type: Damageable damageContainer: StructuralInorganic damageModifierSet: Metallic diff --git a/Resources/Prototypes/Recipes/Lathes/Packs/service.yml b/Resources/Prototypes/Recipes/Lathes/Packs/service.yml index 69b508cc60..527c26efe0 100644 --- a/Resources/Prototypes/Recipes/Lathes/Packs/service.yml +++ b/Resources/Prototypes/Recipes/Lathes/Packs/service.yml @@ -40,6 +40,7 @@ - ElectricGrillMachineCircuitboard - BoozeDispenserMachineCircuitboard - SodaDispenserMachineCircuitboard + - SmartFridgeCircuitboard ## Dynamic diff --git a/Resources/Prototypes/Recipes/Lathes/machine_boards.yml b/Resources/Prototypes/Recipes/Lathes/machine_boards.yml index 22cfbe0b52..905226cf0e 100644 --- a/Resources/Prototypes/Recipes/Lathes/machine_boards.yml +++ b/Resources/Prototypes/Recipes/Lathes/machine_boards.yml @@ -251,6 +251,11 @@ id: DawInstrumentMachineCircuitboard result: DawInstrumentMachineCircuitboard +- type: latheRecipe + parent: [BaseCircuitboardRecipe] + id: SmartFridgeCircuitboard + result: SmartFridgeCircuitboard + # Bar - type: latheRecipe parent: [ BaseCircuitboardRecipe, BaseServiceMachineRecipeCategory ] diff --git a/Resources/Textures/Structures/Machines/smartfridge.rsi/meta.json b/Resources/Textures/Structures/Machines/smartfridge.rsi/meta.json index 309594f44a..9abe8fdc6b 100644 --- a/Resources/Textures/Structures/Machines/smartfridge.rsi/meta.json +++ b/Resources/Textures/Structures/Machines/smartfridge.rsi/meta.json @@ -21,6 +21,9 @@ }, { "name": "smartfridge_door" + }, + { + "name": "panel" } ] } diff --git a/Resources/Textures/Structures/Machines/smartfridge.rsi/panel.png b/Resources/Textures/Structures/Machines/smartfridge.rsi/panel.png new file mode 100644 index 0000000000000000000000000000000000000000..a9b42f6f849caf4f5efbc4f515a92ccfaf93dc17 GIT binary patch literal 363 zcmV-x0hIoUP)c)?)Cw)caXpczJlA-}?_VP1F9nn99Y9rK((|?&_km=)0*h0KnbL z4FHu%#PLJO=xB$~74*Cm04K@QrTPuk0V)TgCS5Un?zo^l1%ORwfW9+&N8LjC<}nx<)g)(2~aXvf>sc~AfV002ov JPDHLkV1kxArOE&R literal 0 HcmV?d00001