diff --git a/Resources/Prototypes/Entities/Objects/Misc/paper.yml b/Resources/Prototypes/Entities/Objects/Misc/paper.yml index 0f670e841e..1ba278790f 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/paper.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/paper.yml @@ -87,6 +87,10 @@ reagents: - ReagentId: Fiber Quantity: 1 + - type: Material + - type: PhysicalComposition + materialComposition: + Paper: 100 - type: entity name: paper scrap diff --git a/Resources/Prototypes/_White/Entities/Structures/Machine/doc_printer.yml b/Resources/Prototypes/_White/Entities/Structures/Machine/doc_printer.yml new file mode 100644 index 0000000000..9760321d20 --- /dev/null +++ b/Resources/Prototypes/_White/Entities/Structures/Machine/doc_printer.yml @@ -0,0 +1,986 @@ +# Base Document Printer +- type: entity + id: BaseDocPrinter + parent: BaseMachinePowered + abstract: true + name: принтер + components: + - type: Appearance + - type: Physics + bodyType: Static + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.25,-0.25,0.25,0.25" + density: 25 + mask: + - TabletopMachineMask + layer: + - TabletopMachineLayer + - type: Lathe + - type: ActivatableUI + key: enum.LatheUiKey.Key + - type: ActivatableUIRequiresPower + - type: UserInterface + interfaces: + - key: enum.LatheUiKey.Key + type: LatheBoundUserInterface + - key: enum.ResearchClientUiKey.Key + type: ResearchClientBoundUserInterface + - type: Transform + anchored: true + - type: Pullable + - type: StaticPrice + price: 800 + - type: ResearchClient + - type: TechnologyDatabase + - type: MaterialStorage + materialWhiteList: + - Paper + +# Document Printer +- type: entity + parent: BaseDocPrinter + id: DocPrinter + name: принтер форм документов + description: Принтер для распечатки разных форм документов. Блюспейс-технологии на службе бюрократии! + components: + - type: Physics + bodyType: Static + - type: Sprite + sprite: White/Structures/Machines/doc_printer.rsi + drawdepth: SmallObjects + layers: + - state: icon + map: [ "enum.LatheVisualLayers.IsRunning" ] + - state: unlit + shader: unshaded + map: [ "enum.PowerDeviceVisualLayers.Powered" ] + - state: inserting + map: [ "enum.MaterialStorageVisualLayers.Inserting" ] + - type: Lathe + producingSound: /Audio/Machines/scanning.ogg + idleState: icon + runningState: printing + staticRecipes: + - BoxFolderGreenBAN + - PaperRequestTargetStation + - PaperReportCC + - PaperCompletedStation + - PaperFailedStation + - PaperRequestCentComm + - PaperRequestERT + - PaperRequestRXBZZ + - PaperRequestExecution + - PaperRequestMagistrat + - BoxFolderBlueBAN + - PaperDomotionComm + - PaperDismissalReq + - PaperRequestHeadCouncil + - PaperHeadCouncilEnd + - BoxFolderRedBAN + - PaperOrderSec + - PaperDonos + - PaperLic + - PaperTimeRequestWeapon + - PaperRequestExecutionSec + - PaperOrderWeapon + - PaperRequestGuard + - BoxFolderRYellowBAN + - PaperRequestBuild + - PaperRequestMaterial + - PaperReportElect + - PaperReportAtmos + - BoxFolderWhiteBAN + - PaperRequestNarco + - PaperRequestExecutionMed + - PaperWaiverOfClaims + - PaperDurka + - BoxFolderPurpleBAN + - PaperRequestReasonable + - PaperRequestLaw + - PaperBrain + - BoxFolderYellowBAN + - PaperCargoOrder + - BoxFolderGreyBAN + - PaperRequestUpID + - PaperRequestWork + - PaperRequestTrash + - PaperEndTrash + - PaperRequestCourt + - PaperDismissalSer + - PaperPromotion + - PaperRequestBotan + - type: EmagLatheRecipes + emagStaticRecipes: + - BoxFolderBlackBAN + - PaperSyndicat + +# Recipe Paper +# Station->CentComm +- type: latheRecipe + id: PaperRequestTargetStation # Tide + result: PaperRequestTargetStation + completetime: 3 + materials: + Paper: 100 + +- type: latheRecipe + id: PaperReportCC # Tide + result: PaperReportCC + completetime: 3 + materials: + Paper: 100 + +- type: latheRecipe + id: PaperCompletedStation # Tide + result: PaperCompletedStation + completetime: 3 + materials: + Paper: 100 + +- type: latheRecipe + id: PaperFailedStation # Tide + result: PaperFailedStation + completetime: 3 + materials: + Paper: 100 + +- type: latheRecipe + id: PaperRequestCentComm # Tide + result: PaperRequestCentComm + completetime: 3 + materials: + Paper: 100 + +- type: latheRecipe + id: PaperRequestERT # Tide + result: PaperRequestERT + completetime: 3 + materials: + Paper: 100 + +- type: latheRecipe + id: PaperRequestRXBZZ # Tide + result: PaperRequestRXBZZ + completetime: 3 + materials: + Paper: 100 + +- type: latheRecipe + id: PaperRequestExecution # Tide + result: PaperRequestExecution + completetime: 3 + materials: + Paper: 100 + +- type: latheRecipe + id: PaperRequestMagistrat # Tide + result: PaperRequestMagistrat + completetime: 3 + materials: + Paper: 100 + +# PaperCommand +- type: latheRecipe + id: PaperDomotionComm # Tide + result: PaperDomotionComm + completetime: 3 + materials: + Paper: 100 + +- type: latheRecipe + id: PaperDismissalReq # Tide + result: PaperDismissalReq + completetime: 3 + materials: + Paper: 100 + +- type: latheRecipe + id: PaperRequestHeadCouncil # Tide + result: PaperRequestHeadCouncil + completetime: 3 + materials: + Paper: 100 + +- type: latheRecipe + id: PaperHeadCouncilEnd # Tide + result: PaperHeadCouncilEnd + completetime: 3 + materials: + Paper: 100 + +# PaperSecurity +- type: latheRecipe + id: PaperOrderSec # Tide + result: PaperOrderSec + completetime: 3 + materials: + Paper: 100 + +- type: latheRecipe + id: PaperRequestExecutionSec # Tide + result: PaperRequestExecutionSec + completetime: 3 + materials: + Paper: 100 + +- type: latheRecipe + id: PaperDonos # Tide + result: PaperDonos + completetime: 3 + materials: + Paper: 100 + +- type: latheRecipe + id: PaperLic # Tide + result: PaperLic + completetime: 3 + materials: + Paper: 100 + +- type: latheRecipe + id: PaperTimeRequestWeapon # Tide + result: PaperTimeRequestWeapon + completetime: 3 + materials: + Paper: 100 + +- type: latheRecipe + id: PaperOrderWeapon # Tide + result: PaperOrderWeapon + completetime: 3 + materials: + Paper: 100 + +- type: latheRecipe + id: PaperRequestGuard # Tide + result: PaperRequestGuard + completetime: 3 + materials: + Paper: 100 + +# PaperEng +- type: latheRecipe + id: PaperRequestBuild # Tide + result: PaperRequestBuild + completetime: 3 + materials: + Paper: 100 + +- type: latheRecipe + id: PaperRequestMaterial # Tide + result: PaperRequestMaterial + completetime: 3 + materials: + Paper: 100 + +- type: latheRecipe + id: PaperReportElect # Tide + result: PaperReportElect + completetime: 3 + materials: + Paper: 100 + +- type: latheRecipe + id: PaperReportAtmos # Tide + result: PaperReportAtmos + completetime: 3 + materials: + Paper: 100 + +# PaperMed +- type: latheRecipe + id: PaperRequestNarco # Tide + result: PaperRequestNarco + completetime: 3 + materials: + Paper: 100 + +- type: latheRecipe + id: PaperRequestExecutionMed # Tide + result: PaperRequestExecutionMed + completetime: 3 + materials: + Paper: 100 + +- type: latheRecipe + id: PaperWaiverOfClaims # Tide + result: PaperWaiverOfClaims + completetime: 3 + materials: + Paper: 100 + +- type: latheRecipe + id: PaperDurka # Tide + result: PaperDurka + completetime: 3 + materials: + Paper: 100 + +# PaperSci +- type: latheRecipe + id: PaperRequestReasonable # Tide + result: PaperRequestReasonable + completetime: 3 + materials: + Paper: 100 + +- type: latheRecipe + id: PaperRequestLaw # Tide + result: PaperRequestLaw + completetime: 3 + materials: + Paper: 100 + +- type: latheRecipe + id: PaperBrain # Tide + result: PaperBrain + completetime: 3 + materials: + Paper: 100 + +# PaperCargo +- type: latheRecipe + id: PaperCargoOrder # Tide + result: PaperCargoOrder + completetime: 3 + materials: + Paper: 100 + +# PaperService +- type: latheRecipe + id: PaperRequestUpID # Tide + result: PaperRequestUpID + completetime: 3 + materials: + Paper: 100 + +- type: latheRecipe + id: PaperRequestWork # Tide + result: PaperRequestWork + completetime: 3 + materials: + Paper: 100 + +- type: latheRecipe + id: PaperRequestTrash # Tide + result: PaperRequestTrash + completetime: 3 + materials: + Paper: 100 + +- type: latheRecipe + id: PaperEndTrash # Tide + result: PaperEndTrash + completetime: 3 + materials: + Paper: 100 + +- type: latheRecipe + id: PaperRequestCourt # Tide + result: PaperRequestCourt + completetime: 3 + materials: + Paper: 100 + +- type: latheRecipe + id: PaperDismissalSer # Tide + result: PaperDismissalSer + completetime: 3 + materials: + Paper: 100 + +- type: latheRecipe + id: PaperPromotion # Tide + result: PaperPromotion + completetime: 3 + materials: + Paper: 100 + +- type: latheRecipe + id: PaperRequestBotan # Tide + result: PaperRequestBotan + completetime: 3 + materials: + Paper: 100 + +# PaperSyndicat +- type: latheRecipe + id: PaperSyndicat # Tide + result: PaperSyndicat + completetime: 3 + materials: + Paper: 100 + +# PapersAll +# Station->CentComm +- type: entity + parent: Paper + id: PaperRequestTargetStation + noSpawn: true + name: запрос цели + components: + - type: Paper + content: paper-text-request + +- type: entity + parent: Paper + id: PaperReportCC + noSpawn: true + name: отчет о цели + components: + - type: Paper + content: paper-text-report + +- type: entity + parent: Paper + id: PaperCompletedStation + noSpawn: true + name: цель выполнена + components: + - type: Paper + content: paper-text-completed + +- type: entity + parent: Paper + id: PaperFailedStation + noSpawn: true + name: цель провалена + components: + - type: Paper + content: paper-text-failed + +- type: entity + parent: Paper + id: PaperRequestCentComm + noSpawn: true + name: запрос ПЦК + components: + - type: Paper + content: paper-text-request-CentComm + +- type: entity + parent: Paper + id: PaperRequestERT + noSpawn: true + name: запрос ОБР + components: + - type: Paper + content: paper-text-request-ERT + +- type: entity + parent: Paper + id: PaperRequestRXBZZ + noSpawn: true + name: запрос РХБЗЗ + components: + - type: Paper + content: paper-text-request-RXBZZ + +- type: entity + parent: Paper + id: PaperRequestExecution + noSpawn: true + name: жалоба высшей степени + components: + - type: Paper + content: paper-text-request-high-order-compaint + +- type: entity + parent: Paper + id: PaperRequestMagistrat + noSpawn: true + name: запрос в магистрат + components: + - type: Paper + content: paper-text-request-magistrat + +# PaperCommand +- type: entity + parent: Paper + id: PaperDomotionComm + noSpawn: true + name: запрос на понижение + components: + - type: Paper + content: paper-comm-text-crew-mem-domotion + +- type: entity + parent: Paper + id: PaperDismissalReq + noSpawn: true + name: запрос на увольнение + components: + - type: Paper + content: paper-comm-text-crew-mem-dismissal + +- type: entity + parent: Paper + id: PaperRequestHeadCouncil + noSpawn: true + name: запрос на голосование глав + components: + - type: Paper + content: paper-comm-text-request-council + +- type: entity + parent: Paper + id: PaperHeadCouncilEnd + noSpawn: true + name: отчет по голосованию глав + components: + - type: Paper + content: paper-comm-text-council-end + +# PaperSecurity +- type: entity + parent: Paper + id: PaperOrderSec + noSpawn: true + name: ордер на арест + components: + - type: Paper + content: paper-sec-text-order + +- type: entity + parent: Paper + id: PaperDonos + noSpawn: true + name: жалоба + components: + - type: Paper + content: paper-sec-text-complaint + +- type: entity + parent: Paper + id: PaperLic + noSpawn: true + name: разрешение на ношение оружия + components: + - type: Paper + content: paper-sec-text-lic + +- type: entity + parent: Paper + id: PaperTimeRequestWeapon + noSpawn: true + name: временный запрос на оружие + components: + - type: Paper + content: paper-sec-text-request-weapon + +- type: entity + parent: Paper + id: PaperRequestExecutionSec + noSpawn: true + name: запрос на казнь + components: + - type: Paper + content: paper-sec-text-request-execution + +- type: entity + parent: Paper + id: PaperOrderWeapon + noSpawn: true + name: разрешение на заказ оружия + components: + - type: Paper + content: paper-sec-text-request-cargo-weapon + +- type: entity + parent: Paper + id: PaperRequestGuard + noSpawn: true + name: программа защиты свидетелей + components: + - type: Paper + content: paper-sec-text-request-guard + +# PaperEng +- type: entity + parent: Paper + id: PaperRequestBuild + noSpawn: true + name: разрешение о проведении строительных работ + components: + - type: Paper + content: paper-eng-text-request-build + +- type: entity + parent: Paper + id: PaperRequestMaterial + noSpawn: true + name: запрос материалов + components: + - type: Paper + content: paper-eng-text-request-material + +- type: entity + parent: Paper + id: PaperReportElect + noSpawn: true + name: отчет об электроснабжении + components: + - type: Paper + content: paper-eng-text-report-elect + +- type: entity + parent: Paper + id: PaperReportAtmos + noSpawn: true + name: отчет об атмосфере + components: + - type: Paper + content: paper-eng-text-report-atmos + +# PaperMed +- type: entity + parent: Paper + id: PaperRequestNarco + noSpawn: true + name: лекарственный рецепт + components: + - type: Paper + content: paper-med-text-request-perm-narc + +- type: entity + parent: Paper + id: PaperRequestExecutionMed + noSpawn: true + name: запрос на проведение эвтаназии + components: + - type: Paper + content: paper-med-text-request-execution + +- type: entity + parent: Paper + id: PaperWaiverOfClaims + noSpawn: true + name: отказ от претензий + components: + - type: Paper + content: paper-med-text-waiver-claims + +- type: entity + parent: Paper + id: PaperDurka + noSpawn: true + name: заключение о невменяемости + components: + - type: Paper + content: paper-med-text-durka + +# PaperSci +- type: entity + parent: Paper + id: PaperRequestReasonable + noSpawn: true + name: признание разумности существа + components: + - type: Paper + content: paper-sci-text-reasonable + +- type: entity + parent: Paper + id: PaperRequestLaw + noSpawn: true + name: постановление о изменении законов боргов + components: + - type: Paper + content: paper-sci-text-request-law + +- type: entity + parent: Paper + id: PaperBrain + noSpawn: true + name: постановление о пересадке мозга + components: + - type: Paper + content: paper-sci-text-brain + +# PaperCargo +- type: entity + parent: Paper + id: PaperCargoOrder + noSpawn: true + name: заказ товара + components: + - type: Paper + content: paper-car-text-order + +# PaperService +- type: entity + parent: Paper + id: PaperRequestUpID + noSpawn: true + name: повышение доступа + components: + - type: Paper + content: paper-ser-text-up-IDcard + +- type: entity + parent: Paper + id: PaperRequestWork + noSpawn: true + name: ускоренный найм + components: + - type: Paper + content: paper-ser-text-work + +- type: entity + parent: Paper + id: PaperRequestTrash + noSpawn: true + name: свидетельство о заключении брака + components: + - type: Paper + content: paper-ser-text-trash + +- type: entity + parent: Paper + id: PaperEndTrash + noSpawn: true + name: свидетельство о расторжении брака + components: + - type: Paper + content: paper-ser-text-trash-end + +- type: entity + parent: Paper + id: PaperRequestCourt + noSpawn: true + name: инициация судебного процесса + components: + - type: Paper + content: paper-ser-text-court + +- type: entity + parent: Paper + id: PaperDismissalSer + noSpawn: true + name: увольнение + components: + - type: Paper + content: paper-ser-text-dismissal + +- type: entity + parent: Paper + id: PaperPromotion + noSpawn: true + name: повышение + components: + - type: Paper + content: paper-ser-text-promotion + +- type: entity + parent: Paper + id: PaperRequestBotan + noSpawn: true + name: запрос растений + components: + - type: Paper + content: paper-ser-text-request-botan + +# PaperSyndicat +- type: entity + parent: Paper + id: PaperSyndicat + noSpawn: true + name: секретные документы + components: + - type: Paper + content: paper-syn-text-ha-ha + +# BoxFolder +- type: entity + id: BoxFolderRedBAN + parent: BoxFolderBase + noSpawn: true + name: формы службы безопасноти + suffix: Red + components: + - type: Sprite + sprite: White/Structures/Machines/doc_printer.rsi + layers: + - state: folder-sec + - type: TimedDespawn + lifetime: 0,1 + +- type: entity + id: BoxFolderBlueBAN + parent: BoxFolderBase + noSpawn: true + name: формы командования + suffix: Blue + components: + - type: Sprite + sprite: White/Structures/Machines/doc_printer.rsi + layers: + - state: folder-com + - type: TimedDespawn + lifetime: 0,1 + +- type: entity + id: BoxFolderYellowBAN + parent: BoxFolderBase + noSpawn: true + name: формы карго + suffix: Yellow + components: + - type: Sprite + sprite: White/Structures/Machines/doc_printer.rsi + layers: + - state: folder-car + - type: TimedDespawn + lifetime: 0,1 + +- type: entity + id: BoxFolderWhiteBAN + parent: BoxFolderBase + noSpawn: true + name: формы медиков + suffix: White + components: + - type: Sprite + sprite: White/Structures/Machines/doc_printer.rsi + layers: + - state: folder-med + - type: TimedDespawn + lifetime: 0,1 + +- type: entity + id: BoxFolderGreyBAN + parent: BoxFolderBase + noSpawn: true + name: формы сервиса + suffix: Grey + components: + - type: Sprite + sprite: White/Structures/Machines/doc_printer.rsi + layers: + - state: folder-ser + - type: TimedDespawn + lifetime: 0,1 + +- type: entity + id: BoxFolderGreenBAN + parent: BoxFolderBase + noSpawn: true + name: формы для ЦентКома + suffix: Green + components: + - type: Sprite + sprite: White/Structures/Machines/doc_printer.rsi + layers: + - state: folder-CC + - type: TimedDespawn + lifetime: 0,1 + +- type: entity + id: BoxFolderRYellowBAN + parent: BoxFolderBase + noSpawn: true + name: формы инженеров + suffix: RYellow + components: + - type: Sprite + sprite: White/Structures/Machines/doc_printer.rsi + layers: + - state: folder-eng + - type: TimedDespawn + lifetime: 0,1 + +- type: entity + id: BoxFolderPurpleBAN + parent: BoxFolderBase + noSpawn: true + name: формы учёных + suffix: Purple + components: + - type: Sprite + sprite: White/Structures/Machines/doc_printer.rsi + layers: + - state: folder-sci + - type: TimedDespawn + lifetime: 0,1 + +- type: entity + id: BoxFolderBlackBAN + parent: BoxFolderBase + noSpawn: true + name: формы J@4D*S + suffix: Black + components: + - type: Sprite + sprite: White/Structures/Machines/doc_printer.rsi + layers: + - state: folder-syn + - type: TimedDespawn + lifetime: 0,1 + +# RecipeBoxFolder +- type: latheRecipe + id: BoxFolderGreenBAN # Tide + result: BoxFolderGreenBAN + completetime: 3 + materials: + Paper: 999 + +- type: latheRecipe + id: BoxFolderGreyBAN # Tide + result: BoxFolderGreyBAN + completetime: 3 + materials: + Paper: 999 + +- type: latheRecipe + id: BoxFolderWhiteBAN # Tide + result: BoxFolderWhiteBAN + completetime: 3 + materials: + Paper: 999 + +- type: latheRecipe + id: BoxFolderYellowBAN # Tide + result: BoxFolderYellowBAN + completetime: 3 + materials: + Paper: 999 + +- type: latheRecipe + id: BoxFolderBlueBAN # Tide + result: BoxFolderBlueBAN + completetime: 3 + materials: + Paper: 999 + +- type: latheRecipe + id: BoxFolderRedBAN # Tide + result: BoxFolderRedBAN + completetime: 3 + materials: + Paper: 999 + +- type: latheRecipe + id: BoxFolderRYellowBAN # Tide + result: BoxFolderRYellowBAN + completetime: 3 + materials: + Paper: 999 + +- type: latheRecipe + id: BoxFolderPurpleBAN # Tide + result: BoxFolderPurpleBAN + completetime: 3 + materials: + Paper: 999 + +- type: latheRecipe + id: BoxFolderBlackBAN # Tide + result: BoxFolderBlackBAN + completetime: 3 + materials: + Paper: 999