From f9190bdcbe6b033ba73532921089670d2f80b379 Mon Sep 17 00:00:00 2001 From: Peptide90 <78795277+Peptide90@users.noreply.github.com> Date: Fri, 25 Oct 2024 23:54:16 +0100 Subject: [PATCH] adds ID printing machines (#625) * adds ID printing machines * adds vault ID printing * fix dupe * fix caravan * add localisation for lathe category --- .../Locale/en-US/_Nuclear14/construction.ftl | 3 +- .../Entities/Objects/Misc/identification.yml | 38 +-- .../Structures/Misc/craftingbenches.yml | 108 +++++++- .../_Nuclear14/Recipes/Lathes/categories.yml | 6 +- .../Recipes/Lathes/identification.yml | 230 ++++++++++++++++++ .../circuit_imprinter.rsi/building.png | Bin 0 -> 817 bytes .../Machines/circuit_imprinter.rsi/icon.png | Bin 0 -> 984 bytes .../Machines/circuit_imprinter.rsi/meta.json | 32 +++ .../Machines/circuit_imprinter.rsi/panel.png | Bin 0 -> 631 bytes .../Machines/circuit_imprinter.rsi/unlit.png | Bin 0 -> 4771 bytes 10 files changed, 395 insertions(+), 22 deletions(-) create mode 100644 Resources/Prototypes/_Nuclear14/Recipes/Lathes/identification.yml create mode 100644 Resources/Textures/_Nuclear14/Structures/Machines/circuit_imprinter.rsi/building.png create mode 100644 Resources/Textures/_Nuclear14/Structures/Machines/circuit_imprinter.rsi/icon.png create mode 100644 Resources/Textures/_Nuclear14/Structures/Machines/circuit_imprinter.rsi/meta.json create mode 100644 Resources/Textures/_Nuclear14/Structures/Machines/circuit_imprinter.rsi/panel.png create mode 100644 Resources/Textures/_Nuclear14/Structures/Machines/circuit_imprinter.rsi/unlit.png diff --git a/Resources/Locale/en-US/_Nuclear14/construction.ftl b/Resources/Locale/en-US/_Nuclear14/construction.ftl index 94977abb74e..642b6af8222 100644 --- a/Resources/Locale/en-US/_Nuclear14/construction.ftl +++ b/Resources/Locale/en-US/_Nuclear14/construction.ftl @@ -12,4 +12,5 @@ lathe-category-shields = Shields lathe-category-weapons-melee = Melee lathe-category-weapons-pistols = Pistols lathe-category-weapons-rifles = Rifles -lathe-category-weapons-smgs = Smgs \ No newline at end of file +lathe-category-weapons-smgs = Smgs +lathe-category-identification = Identification \ No newline at end of file diff --git a/Resources/Prototypes/_Nuclear14/Entities/Objects/Misc/identification.yml b/Resources/Prototypes/_Nuclear14/Entities/Objects/Misc/identification.yml index dc9d07edfb1..e5c51ddcf30 100644 --- a/Resources/Prototypes/_Nuclear14/Entities/Objects/Misc/identification.yml +++ b/Resources/Prototypes/_Nuclear14/Entities/Objects/Misc/identification.yml @@ -161,9 +161,9 @@ - type: entity parent: N14IDPassportBlank id: N14IDBrotherhoodHolotag - name: holotag + name: holotag (scribe) description: An ID holotag worn by the Brotherhood of Steel. - suffix: Scribe + suffix: Midwest Scribe components: - type: Sprite sprite: _Nuclear14/Objects/Misc/identification.rsi @@ -176,9 +176,9 @@ - type: entity parent: N14IDBrotherhoodHolotag id: N14IDBrotherhoodHolotagSquire - name: holotag + name: holotag (squire) description: An ID holotag worn by the Brotherhood of Steel. - suffix: Squire + suffix: Midwest Squire components: - type: PresetIdCard job: BoSMidSquire @@ -186,9 +186,9 @@ - type: entity parent: N14IDBrotherhoodHolotag id: N14IDBrotherhoodHolotagKnight - name: holotag + name: holotag (knight) description: An ID holotag worn by the Brotherhood of Steel. - suffix: Knight + suffix: Midwest Knight components: - type: PresetIdCard job: BoSMidKnight @@ -196,9 +196,9 @@ - type: entity parent: N14IDBrotherhoodHolotag id: N14IDBrotherhoodHolotagPaladin - name: holotag + name: holotag (paladin) description: An ID holotag worn by the Paladins of the Brotherhood of Steel. - suffix: Paladin + suffix: Midwest Paladin components: - type: PresetIdCard job: BoSMidPaladin @@ -206,9 +206,9 @@ - type: entity parent: N14IDBrotherhoodHolotag id: N14IDBrotherhoodHolotagCommander - name: holotag + name: holotag (commander) description: An ID holotag worn by the Paladin Commander of the Brotherhood of Steel. - suffix: Commander + suffix: Midwest Commander components: - type: PresetIdCard job: BoSMidPaladinCommander @@ -217,7 +217,7 @@ - type: entity parent: N14IDPassportBlank id: N14IDBrotherhoodWashingtonHolotagInitiate - name: holotag + name: holotag (initiate) description: An ID holotag worn by an Initiate in the Washington Brotherhood of Steel. suffix: Washington Initiate components: @@ -242,7 +242,7 @@ - type: entity parent: N14IDBrotherhoodWashingtonHolotagInitiate id: N14IDBrotherhoodWashingtonHolotagKnight - name: holotag + name: holotag (knight) description: An ID holotag worn by a Knight in the Washington Brotherhood of Steel. suffix: Washington Knight components: @@ -252,7 +252,7 @@ - type: entity parent: N14IDBrotherhoodWashingtonHolotagInitiate id: N14IDBrotherhoodWashingtonHolotagPaladin - name: holotag + name: holotag (paladin) description: An ID holotag worn by a Paladin in the Washington Brotherhood of Steel. suffix: Washington Paladin components: @@ -262,7 +262,7 @@ - type: entity parent: N14IDBrotherhoodWashingtonHolotagInitiate id: N14IDBrotherhoodWashingtonHolotagCommander - name: holotag + name: holotag (commander) description: An ID holotag worn by the Commander of the Washington Brotherhood of Steel. suffix: Washington Commander components: @@ -273,7 +273,7 @@ - type: entity parent: N14IDPassportBlank id: N14IDEnclaveTrooper - name: holotag + name: holotag (trooper) description: An ID holotag worn by the Enclave. suffix: Trooper components: @@ -286,7 +286,7 @@ - type: entity parent: N14IDPassportBlank id: N14IDEnclaveOfficer - name: holotag + name: holotag (officer) description: An ID holotag worn by higher ranking memebers of the Enclave. suffix: Officer components: @@ -313,7 +313,7 @@ - type: entity parent: N14IDPassportBlank id: N14IDNCRDogtag - name: dogtag + name: dogtag (soldier) description: An ID dogtag worn by members of the NCR. suffix: Soldier, Cadet components: @@ -354,7 +354,7 @@ - type: entity parent: N14IDNCRDogtag id: N14IDNCRDogtagNCO - name: dogtag + name: dogtag (NCO) description: An ID dogtag worn by decently ranking members of the NCR. suffix: NCO, QM components: @@ -367,7 +367,7 @@ - type: entity parent: N14IDNCRDogtag id: N14IDNCRDogtagOfficer - name: dogtag + name: dogtag (officer) description: An ID dogtag worn by high ranking members of the NCR. suffix: Officer components: diff --git a/Resources/Prototypes/_Nuclear14/Entities/Structures/Misc/craftingbenches.yml b/Resources/Prototypes/_Nuclear14/Entities/Structures/Misc/craftingbenches.yml index 47aa2cfd18f..a0538bd0c00 100644 --- a/Resources/Prototypes/_Nuclear14/Entities/Structures/Misc/craftingbenches.yml +++ b/Resources/Prototypes/_Nuclear14/Entities/Structures/Misc/craftingbenches.yml @@ -503,4 +503,110 @@ - type: Construction graph: N14WorkbenchForge node: WorkbenchForgeFrame - defaultTarget: WorkbenchForge \ No newline at end of file + defaultTarget: WorkbenchForge + +# ID Printer +- type: entity + parent: BaseLathe + id: N14WorkbenchIDPrinter + description: An ID printer. + name: ID Printer + abstract: true # Base off of this per faction. + components: + - type: Sprite + sprite: _Nuclear14/Structures/Machines/circuit_imprinter.rsi + snapCardinals: true + layers: + - state: icon + map: ["enum.LatheVisualLayers.IsRunning"] + - state: unlit + shader: unshaded + map: ["enum.PowerDeviceVisualLayers.Powered"] + - state: panel + map: ["enum.WiresVisualLayers.MaintenancePanel"] + - type: MaterialStorage + whitelist: + tags: + - Sheet + - RawMaterial + - type: Lathe + producingSound: /Audio/Machines/circuitprinter.ogg + idleState: icon + runningState: building + +- type: entity + parent: N14WorkbenchIDPrinter + id: N14WorkbenchIDPrinterTownspeople + description: An ID printer for printing town passports + suffix: townspeople + components: + - type: Lathe + staticRecipes: + - PassportTownsfolk + - PassportTownsfolkShopkeeper + - PassportTownsfolkMechanic + - PassportTownsfolkDoctor + - PassportTownsfolkDeputy + - PassportTownsfolkSheriff + - PassportTownsfolkMayor + +- type: entity + parent: N14WorkbenchIDPrinter + id: N14WorkbenchIDPrinterBrotherhoodMidwest + description: An ID printer for printing Midwest Brotherhood holotags. + suffix: Midwest BOS + components: + - type: Lathe + staticRecipes: + - HolotagMidwestScribe + - HolotagMidwestSquire + - HolotagMidwestKnight + - HolotagMidwestPaladin + +- type: entity + parent: N14WorkbenchIDPrinter + id: N14WorkbenchIDPrinterBrotherhoodWashington + description: An ID printer for printing Washington Brotherhood holotags. + suffix: Washington BOS + components: + - type: Lathe + staticRecipes: + - HolotagWashingtonScribe + - HolotagWashingtonInitiate + - HolotagWashingtonKnight + - HolotagWashingtonPaladin + +- type: entity + parent: N14WorkbenchIDPrinter + id: N14WorkbenchIDPrinterCaravan + description: An ID printer for printing caravan IDs. + suffix: Caravan + components: + - type: Lathe + staticRecipes: + - PassportCaravan + - PassportCaravanTrader + +- type: entity + parent: N14WorkbenchIDPrinter + id: N14WorkbenchIDPrinterNCR + description: An ID printer for printing NCR IDs. + suffix: NCR + components: + - type: Lathe + staticRecipes: + - DogtagNCR + - DogtagNCRNCO + +- type: entity + parent: N14WorkbenchIDPrinter + id: N14WorkbenchIDPrinterVault + description: An ID printer for printing Vault IDs. + suffix: Vault + components: + - type: Lathe + staticRecipes: + - IDVault + - IDVaultEngineer + - IDVaultSecurity + - IDVaultDoctor \ No newline at end of file diff --git a/Resources/Prototypes/_Nuclear14/Recipes/Lathes/categories.yml b/Resources/Prototypes/_Nuclear14/Recipes/Lathes/categories.yml index 6e9d8cd8f91..8fa6c087f4a 100644 --- a/Resources/Prototypes/_Nuclear14/Recipes/Lathes/categories.yml +++ b/Resources/Prototypes/_Nuclear14/Recipes/Lathes/categories.yml @@ -72,4 +72,8 @@ - type: latheCategory id: N14WeaponSMGs - name: lathe-category-weapons-smgs \ No newline at end of file + name: lathe-category-weapons-smgs + +- type: latheCategory + id: N14Identification + name: lathe-category-identification \ No newline at end of file diff --git a/Resources/Prototypes/_Nuclear14/Recipes/Lathes/identification.yml b/Resources/Prototypes/_Nuclear14/Recipes/Lathes/identification.yml new file mode 100644 index 00000000000..b2706980515 --- /dev/null +++ b/Resources/Prototypes/_Nuclear14/Recipes/Lathes/identification.yml @@ -0,0 +1,230 @@ +#MARK: Blanks +- type: latheRecipe + id: PassportBlank + result: N14IDPassportBlank + category: N14Identification + completetime: 5 + materials: + Paper: 50 + +- type: latheRecipe + id: PassportWastelander + result: N14IDPassport + category: N14Identification + completetime: 5 + materials: + Paper: 50 + +- type: latheRecipe + id: PassportPhoto + result: N14IDPassportPhoto + category: N14Identification + completetime: 5 + materials: + Paper: 50 + +- type: latheRecipe + id: PassportVIP + result: N14IDPassportVIP + category: N14Identification + completetime: 5 + materials: + Paper: 50 + +- type: latheRecipe + id: IDDoctor + result: N14IDDoctor + category: N14Identification + completetime: 5 + materials: + Paper: 50 + +#MARK: Caravan +- type: latheRecipe + id: PassportCaravan + result: N14IDPassportCaravan + category: N14Identification + completetime: 5 + materials: + Paper: 50 + +- type: latheRecipe + id: PassportCaravanTrader + result: N14IDPassportCaravanTrader + category: N14Identification + completetime: 5 + materials: + Paper: 50 + +#MARK: Brotherhood Midwest +- type: latheRecipe + id: HolotagMidwestScribe + result: N14IDBrotherhoodHolotag + category: N14Identification + completetime: 5 + materials: + Steel: 100 + +- type: latheRecipe + id: HolotagMidwestSquire + result: N14IDBrotherhoodHolotagSquire + category: N14Identification + completetime: 5 + materials: + Steel: 100 + +- type: latheRecipe + id: HolotagMidwestKnight + result: N14IDBrotherhoodHolotagKnight + category: N14Identification + completetime: 5 + materials: + Steel: 100 + +- type: latheRecipe + id: HolotagMidwestPaladin + result: N14IDBrotherhoodHolotagPaladin + category: N14Identification + completetime: 5 + materials: + Steel: 100 + +#MARK: Brotherhood Washington +- type: latheRecipe + id: HolotagWashingtonScribe + result: N14IDBrotherhoodWashingtonHolotagScribe + category: N14Identification + completetime: 5 + materials: + Steel: 100 + +- type: latheRecipe + id: HolotagWashingtonInitiate + result: N14IDBrotherhoodWashingtonHolotagInitiate + category: N14Identification + completetime: 5 + materials: + Steel: 100 + +- type: latheRecipe + id: HolotagWashingtonKnight + result: N14IDBrotherhoodWashingtonHolotagKnight + category: N14Identification + completetime: 5 + materials: + Steel: 100 + +- type: latheRecipe + id: HolotagWashingtonPaladin + result: N14IDBrotherhoodWashingtonHolotagPaladin + category: N14Identification + completetime: 5 + materials: + Steel: 100 + +# MARK: NCR +- type: latheRecipe + id: DogtagNCR + result: N14IDNCRDogtag + category: N14Identification + completetime: 5 + materials: + Steel: 100 + +- type: latheRecipe + id: DogtagNCRNCO + result: N14IDNCRDogtagNCO + category: N14Identification + completetime: 5 + materials: + Steel: 100 + +#MARK: Townsfolk +- type: latheRecipe + id: PassportTownsfolk + result: N14IDPassportTownsfolk + category: N14Identification + completetime: 5 + materials: + Paper: 100 + +- type: latheRecipe + id: PassportTownsfolkShopkeeper + result: N14IDShopkeeperTown + category: N14Identification + completetime: 5 + materials: + Paper: 100 + +- type: latheRecipe + id: PassportTownsfolkMechanic + result: N14IDPassportTownMechanic + category: N14Identification + completetime: 5 + materials: + Paper: 100 + +- type: latheRecipe + id: PassportTownsfolkDoctor + result: N14IDDoctorTown + category: N14Identification + completetime: 5 + materials: + Paper: 100 + +- type: latheRecipe + id: PassportTownsfolkDeputy + result: N14IDBadgeTownDeputy + category: N14Identification + completetime: 5 + materials: + Steel: 100 + +- type: latheRecipe + id: PassportTownsfolkSheriff + result: N14IDBadgeTownSheriff + category: N14Identification + completetime: 5 + materials: + Steel: 100 + +- type: latheRecipe + id: PassportTownsfolkMayor + result: N14IDBadgeTownMayor + category: N14Identification + completetime: 5 + materials: + Steel: 100 + +#MARK: Townsfolk +- type: latheRecipe + id: IDVault + result: N14IDCardVault + category: N14Identification + completetime: 5 + materials: + Steel: 100 + +- type: latheRecipe + id: IDVaultEngineer + result: N14IDCardVaultEngineer + category: N14Identification + completetime: 5 + materials: + Steel: 100 + +- type: latheRecipe + id: IDVaultSecurity + result: N14IDCardVaultSecurity + category: N14Identification + completetime: 5 + materials: + Steel: 100 + +- type: latheRecipe + id: IDVaultDoctor + result: N14IDCardVaultDoctor + category: N14Identification + completetime: 5 + materials: + Steel: 100 \ No newline at end of file diff --git a/Resources/Textures/_Nuclear14/Structures/Machines/circuit_imprinter.rsi/building.png b/Resources/Textures/_Nuclear14/Structures/Machines/circuit_imprinter.rsi/building.png new file mode 100644 index 0000000000000000000000000000000000000000..c5474b192f9d059ac9b045398d78f378ad5582de GIT binary patch literal 817 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 literal 0 HcmV?d00001