From 932cf969fe6c58380ae4c0f894370fba7ea99f05 Mon Sep 17 00:00:00 2001 From: pathetic meowmeow Date: Fri, 28 Feb 2025 16:01:04 -0500 Subject: [PATCH] Add departamental lathes (#3051) * Add departamental lathes * shared parent real * prototype fixes real * random spawned oldlathes nuked * fix the board --- .../conditions/steal-target-groups.ftl | 4 + .../Markers/Spawners/Random/techboard.yml | 4 +- .../Circuitboards/Machine/production.yml | 2 + .../Entities/Structures/Machines/lathe.yml | 2 + .../Prototypes/Procedural/salvage_loot.yml | 6 +- .../CircuitBoards/Machine/production.yml | 66 ++++++++ .../Entities/Structures/Machines/lathe.yml | 152 ++++++++++++++++++ .../_DV/Objectives/stealTargetGroups.yml | 28 ++++ .../_DV/Recipes/Lathes/Packs/shared.yml | 7 + 9 files changed, 266 insertions(+), 5 deletions(-) diff --git a/Resources/Locale/en-US/_DV/objectives/conditions/steal-target-groups.ftl b/Resources/Locale/en-US/_DV/objectives/conditions/steal-target-groups.ftl index 9bfc44db57..c28d20f047 100644 --- a/Resources/Locale/en-US/_DV/objectives/conditions/steal-target-groups.ftl +++ b/Resources/Locale/en-US/_DV/objectives/conditions/steal-target-groups.ftl @@ -8,3 +8,7 @@ steal-target-groups-box-folder-rd-clipboard = research digi-board steal-target-groups-bible-mystagogue = book of mysteries steal-target-groups-recruiter-pen = recruiter's pen steal-target-groups-captains-cloak = captain's cloak +steal-target-groups-engineering-techfab-circuitboard = engineering techfab's circuitboard +steal-target-groups-logistics-techfab-circuitboard = logistics techfab's circuitboard +steal-target-groups-service-techfab-circuitboard = service techfab's circuitboard +steal-target-groups-epistemics-techfab-circuitboard = epistemics techfab's circuitboard diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/techboard.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/techboard.yml index 76527cdf5a..5da51074aa 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/techboard.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/techboard.yml @@ -32,8 +32,8 @@ - CommsComputerCircuitboard #- ShuttleConsoleCircuitboard # Delta V - Remove shuttle boards - ComputerMassMediaCircuitboard - - AutolatheMachineCircuitboard - - ProtolatheMachineCircuitboard + # - AutolatheMachineCircuitboard # DeltaV - departamental lathes + # - ProtolatheMachineCircuitboard # DeltaV - departamental lathes - SalvageMagnetMachineCircuitboard - PortableGeneratorSuperPacmanMachineCircuitboard # Delta V - Add additional boards - PortableGeneratorJrPacmanMachineCircuitboard # Delta V - Add additional boards diff --git a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml index d981f9172f..7ede641e9c 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml @@ -3,6 +3,7 @@ parent: BaseMachineCircuitboard name: autolathe machine board description: A machine printed circuit board for an autolathe. + suffix: DO NOT MAP # DeltaV - departamental lathes components: - type: MachineBoard prototype: Autolathe @@ -36,6 +37,7 @@ parent: BaseMachineCircuitboard name: protolathe machine board description: A machine printed circuit board for a protolathe. + suffix: DO NOT MAP # DeltaV - departamental lathes components: - type: MachineBoard prototype: Protolathe diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index 27d7555700..a4cd2525e1 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -90,6 +90,7 @@ parent: BaseLatheLube name: autolathe description: It produces basic items using metal and glass. Has the ability to process blueprints to print new recipes. + suffix: DO NOT MAP # DeltaV - departamental lathes components: - type: Sprite sprite: Structures/Machines/autolathe.rsi @@ -167,6 +168,7 @@ parent: BaseLatheLube name: protolathe description: Converts raw materials into advanced items. + suffix: DO NOT MAP # DeltaV - departamental lathes components: - type: Sprite sprite: Structures/Machines/protolathe.rsi diff --git a/Resources/Prototypes/Procedural/salvage_loot.yml b/Resources/Prototypes/Procedural/salvage_loot.yml index c29cc2ef15..4cdff4dacb 100644 --- a/Resources/Prototypes/Procedural/salvage_loot.yml +++ b/Resources/Prototypes/Procedural/salvage_loot.yml @@ -9,8 +9,8 @@ prob: 0.5 - proto: AmmoTechFabCircuitboard cost: 2 - - proto: AutolatheMachineCircuitboard - cost: 2 + # - proto: AutolatheMachineCircuitboard # DeltaV - departamental lathes + # cost: 2 - proto: BiomassReclaimerMachineCircuitboard cost: 2 - proto: BluespaceBeaker @@ -54,7 +54,7 @@ - proto: PowerCellAntiqueProto cost: 5 prob: 0.5 - - proto: ProtolatheMachineCircuitboard + # - proto: ProtolatheMachineCircuitboard # DeltaV - departamental lathes - proto: RandomArtifactSpawner cost: 2 - proto: RandomCargoCorpseSpawner diff --git a/Resources/Prototypes/_DV/Entities/Objects/Devices/CircuitBoards/Machine/production.yml b/Resources/Prototypes/_DV/Entities/Objects/Devices/CircuitBoards/Machine/production.yml index ee89e9e905..98121b1d59 100644 --- a/Resources/Prototypes/_DV/Entities/Objects/Devices/CircuitBoards/Machine/production.yml +++ b/Resources/Prototypes/_DV/Entities/Objects/Devices/CircuitBoards/Machine/production.yml @@ -21,3 +21,69 @@ Capacitor: 2 Glass: 4 Cable: 5 + +- type: entity + abstract: true + parent: BaseMachineCircuitboard + id: BaseTechFabCircuitboardDV + components: + - type: MachineBoard + stackRequirements: + MatterBin: 2 + Manipulator: 2 + tagRequirements: + GlassBeaker: + amount: 2 + defaultPrototype: Beaker + +- type: entity + parent: BaseTechFabCircuitboardDV + id: EngineeringTechFabCircuitboard + name: engineering techfab machine board + description: A machine printed circuit board for an engineering techfab. + components: + - type: Sprite + state: engineering + - type: MachineBoard + prototype: EngineeringTechFab + - type: StealTarget + stealGroup: EngineeringTechFabCircuitboard + +- type: entity + parent: BaseTechFabCircuitboardDV + id: LogisticsTechFabCircuitboard + name: logistics techfab machine board + description: A machine printed circuit board for a logistics techfab. + components: + - type: Sprite + state: supply + - type: MachineBoard + prototype: LogisticsTechFab + - type: StealTarget + stealGroup: LogisticsTechFabCircuitboard + +- type: entity + parent: BaseTechFabCircuitboardDV + id: ServiceTechFabCircuitboard + name: service techfab machine board + description: A machine printed circuit board for a service techfab. + components: + - type: Sprite + state: service + - type: MachineBoard + prototype: ServiceTechFab + - type: StealTarget + stealGroup: ServiceTechFabCircuitboard + +- type: entity + parent: BaseTechFabCircuitboardDV + id: EpistemicsTechFabCircuitboard + name: epistemics techfab machine board + description: A machine printed circuit board for a epistemics techfab. + components: + - type: Sprite + state: science + - type: MachineBoard + prototype: EpistemicsTechFab + - type: StealTarget + stealGroup: EpistemicsTechFabCircuitboard diff --git a/Resources/Prototypes/_DV/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/_DV/Entities/Structures/Machines/lathe.yml index bd3a7c84a7..5b77199d1f 100644 --- a/Resources/Prototypes/_DV/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/_DV/Entities/Structures/Machines/lathe.yml @@ -11,3 +11,155 @@ - BorgModulesSyndicateStatic - type: Machine board: SyndieExosuitFabricatorMachineCircuitboard + +- type: entity + parent: BaseLatheLube + id: BaseTechFabDepartamental + abstract: true + components: + - type: Sprite + sprite: Structures/Machines/techfab.rsi + - type: Lathe + idleState: icon + runningState: icon + +- type: entity + parent: BaseTechFabDepartamental + id: EngineeringTechFab + name: engineering techfab + description: Prints equipment for engineers. + components: + - type: Sprite + layers: + - state: icon + map: ["enum.LatheVisualLayers.IsRunning"] + - state: engi + - state: unlit + shader: unshaded + map: ["enum.PowerDeviceVisualLayers.Powered"] + - state: inserting + map: ["enum.MaterialStorageVisualLayers.Inserting"] + - state: panel + map: ["enum.WiresVisualLayers.MaintenancePanel"] + - type: Lathe + staticPacks: + - ToolsStatic + - PartsStatic + - AtmosStatic + - CablesStatic + - PowerCellsStatic + - ElectronicsStatic + - LightsStatic + - MaterialsStatic + dynamicPacks: + - AdvancedTools + - PowerCells + - AtmosTools + - EngineeringWeapons + - FauxTiles + - Equipment + - type: Machine + board: EngineeringTechFabCircuitboard + - type: StealTarget + stealGroup: EngineeringTechFabCircuitboard + +- type: entity + parent: BaseTechFabDepartamental + id: LogisticsTechFab + name: logistics techfab + description: Prints equipment for the logistics department. + components: + - type: Sprite + layers: + - state: icon + map: ["enum.LatheVisualLayers.IsRunning"] + - state: cargo + - state: unlit + shader: unshaded + map: ["enum.PowerDeviceVisualLayers.Powered"] + - state: inserting + map: ["enum.MaterialStorageVisualLayers.Inserting"] + - state: panel + map: ["enum.WiresVisualLayers.MaintenancePanel"] + - type: Lathe + staticPacks: + - ToolsStatic + - PartsStatic + - LVCablesStatic + - CargoStatic + dynamicPacks: + - Equipment + - Mining + - SalvageWeapons + - type: Machine + board: LogisticsTechFabCircuitboard + - type: StealTarget + stealGroup: LogisticsTechFabCircuitboard + +- type: entity + parent: BaseTechFabDepartamental + id: ServiceTechFab + name: service techfab + description: Prints equipment for the service department. + components: + - type: Sprite + layers: + - state: icon + map: ["enum.LatheVisualLayers.IsRunning"] + - state: service + - state: unlit + shader: unshaded + map: ["enum.PowerDeviceVisualLayers.Powered"] + - state: inserting + map: ["enum.MaterialStorageVisualLayers.Inserting"] + - state: panel + map: ["enum.WiresVisualLayers.MaintenancePanel"] + - type: Lathe + staticPacks: + - RingsStatic + - ReportingStatic + - LVCablesStatic + - LightsStatic + - ServiceStatic + dynamicPacks: + - Janitor + - Instruments + - Botany + - type: Machine + board: ServiceTechFabCircuitboard + - type: StealTarget + stealGroup: ServiceTechFabCircuitboard + +- type: entity + parent: BaseTechFabDepartamental + id: EpistemicsTechFab + components: + - type: Sprite + layers: + - state: icon + map: ["enum.LatheVisualLayers.IsRunning"] + - state: sci + - state: unlit + shader: unshaded + map: ["enum.PowerDeviceVisualLayers.Powered"] + - state: inserting + map: ["enum.MaterialStorageVisualLayers.Inserting"] + - state: panel + map: ["enum.WiresVisualLayers.MaintenancePanel"] + - type: Lathe + staticPacks: + - ToolsStatic + - PartsStatic + - LVCablesStatic + - MaterialsStatic + - BasicChemistryStatic + - ChemistryStatic + dynamicPacks: + - ScienceEquipment + - ScienceClothing + - ScienceWeapons + - Chemistry + - type: Machine + board: EpistemicsTechFabCircuitboard + - type: StealTarget + stealGroup: EpistemicsTechFabCircuitboard diff --git a/Resources/Prototypes/_DV/Objectives/stealTargetGroups.yml b/Resources/Prototypes/_DV/Objectives/stealTargetGroups.yml index b161c0c5df..afe3fb340e 100644 --- a/Resources/Prototypes/_DV/Objectives/stealTargetGroups.yml +++ b/Resources/Prototypes/_DV/Objectives/stealTargetGroups.yml @@ -54,6 +54,34 @@ sprite: _DV/Objects/Misc/plutonium_core.rsi state: icon +- type: stealTargetGroup + id: EngineeringTechFabCircuitboard + name: steal-target-groups-engineering-techfab-circuitboard + sprite: + sprite: Objects/Misc/module.rsi + state: engineering + +- type: stealTargetGroup + id: LogisticsTechFabCircuitboard + name: steal-target-groups-logistics-techfab-circuitboard + sprite: + sprite: Objects/Misc/module.rsi + state: supply + +- type: stealTargetGroup + id: ServiceTechFabCircuitboard + name: steal-target-groups-service-techfab-circuitboard + sprite: + sprite: Objects/Misc/module.rsi + state: service + +- type: stealTargetGroup + id: EpistemicsTechFabCircuitboard + name: steal-target-groups-epistemics-techfab-circuitboard + sprite: + sprite: Objects/Misc/module.rsi + state: science + # Ninja - type: stealTargetGroup diff --git a/Resources/Prototypes/_DV/Recipes/Lathes/Packs/shared.yml b/Resources/Prototypes/_DV/Recipes/Lathes/Packs/shared.yml index cface7e297..823a74ae37 100644 --- a/Resources/Prototypes/_DV/Recipes/Lathes/Packs/shared.yml +++ b/Resources/Prototypes/_DV/Recipes/Lathes/Packs/shared.yml @@ -5,3 +5,10 @@ recipes: - SignallerDeadMans - JetpackVoid # RE + +## Static + +- type: latheRecipePack + id: LVCablesStatic + recipes: + - CableStack