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 00000000000..c5474b192f9 Binary files /dev/null and b/Resources/Textures/_Nuclear14/Structures/Machines/circuit_imprinter.rsi/building.png differ diff --git a/Resources/Textures/_Nuclear14/Structures/Machines/circuit_imprinter.rsi/icon.png b/Resources/Textures/_Nuclear14/Structures/Machines/circuit_imprinter.rsi/icon.png new file mode 100644 index 00000000000..11ffc839435 Binary files /dev/null and b/Resources/Textures/_Nuclear14/Structures/Machines/circuit_imprinter.rsi/icon.png differ diff --git a/Resources/Textures/_Nuclear14/Structures/Machines/circuit_imprinter.rsi/meta.json b/Resources/Textures/_Nuclear14/Structures/Machines/circuit_imprinter.rsi/meta.json new file mode 100644 index 00000000000..b944a2dcac6 --- /dev/null +++ b/Resources/Textures/_Nuclear14/Structures/Machines/circuit_imprinter.rsi/meta.json @@ -0,0 +1,32 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/40d89d11ea4a5cb81d61dc1018b46f4e7d32c62a, modified by Peptide90 for Nuclear14", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "panel" + }, + { + "name": "unlit" + }, + { + "name": "building", + "delays": [ + [ + 0.16, + 0.16, + 0.16, + 0.16, + 0.16 + ] + ] + } + ] +} diff --git a/Resources/Textures/_Nuclear14/Structures/Machines/circuit_imprinter.rsi/panel.png b/Resources/Textures/_Nuclear14/Structures/Machines/circuit_imprinter.rsi/panel.png new file mode 100644 index 00000000000..8658b7bdbba Binary files /dev/null and b/Resources/Textures/_Nuclear14/Structures/Machines/circuit_imprinter.rsi/panel.png differ diff --git a/Resources/Textures/_Nuclear14/Structures/Machines/circuit_imprinter.rsi/unlit.png b/Resources/Textures/_Nuclear14/Structures/Machines/circuit_imprinter.rsi/unlit.png new file mode 100644 index 00000000000..9a9e240fbc1 Binary files /dev/null and b/Resources/Textures/_Nuclear14/Structures/Machines/circuit_imprinter.rsi/unlit.png differ