From cfba56c2b43347b3c31be73c1f5c7e8ffcd7469b Mon Sep 17 00:00:00 2001 From: pathetic meowmeow Date: Tue, 6 May 2025 15:04:18 -0400 Subject: [PATCH] Make departmental orders consoles print slips (#36944) * Make departmental orders consoles print slips * feed back cycle --- Content.Client/Cargo/UI/CargoConsoleMenu.xaml | 5 +- .../Cargo/UI/CargoConsoleMenu.xaml.cs | 8 +- Content.Client/Cargo/UI/CargoOrderRow.xaml | 5 +- .../Cargo/UI/CargoShuttleMenu.xaml.cs | 5 +- .../Paper/UI/PaperVisualsComponent.cs | 19 +++ Content.Client/Paper/UI/PaperWindow.xaml | 1 + Content.Client/Paper/UI/PaperWindow.xaml.cs | 10 ++ .../Cargo/Systems/CargoSystem.Orders.cs | 124 ++++++++++++++-- Content.Shared/Cargo/CargoOrderData.cs | 11 +- .../Components/CargoOrderConsoleComponent.cs | 30 ++++ .../Cargo/Components/CargoSlipComponent.cs | 41 ++++++ .../Cargo/Prototypes/CargoAccountPrototype.cs | 6 + .../Audio/Effects/Cargo/attributions.yml | 6 + Resources/Audio/Effects/Cargo/beep.ogg | Bin 0 -> 11162 bytes .../en-US/cargo/cargo-console-component.ftl | 14 +- .../Prototypes/Catalog/cargo_accounts.yml | 7 +- .../Objects/Misc/acquisition_slips.yml | 139 ++++++++++++++++++ .../Machines/Computers/computers.yml | 5 + .../Structures/Machines/fax_machine.yml | 3 + .../Prototypes/SoundCollections/machines.yml | 10 ++ .../Paper/AcquisitionSlips/barcode.svg | 48 ++++++ .../AcquisitionSlips/barcode.svg.192dpi.png | Bin 0 -> 515 bytes .../barcode.svg.192dpi.png.yml | 2 + .../Paper/AcquisitionSlips/cargo.svg | 23 +++ .../AcquisitionSlips/cargo.svg.192dpi.png | Bin 0 -> 4483 bytes .../AcquisitionSlips/cargo.svg.192dpi.png.yml | 2 + .../Paper/AcquisitionSlips/engineering.svg | 29 ++++ .../engineering.svg.192dpi.png | Bin 0 -> 4725 bytes .../engineering.svg.192dpi.png.yml | 2 + .../Paper/AcquisitionSlips/medical.svg | 25 ++++ .../AcquisitionSlips/medical.svg.192dpi.png | Bin 0 -> 4683 bytes .../medical.svg.192dpi.png.yml | 2 + .../Paper/AcquisitionSlips/science.svg | 26 ++++ .../AcquisitionSlips/science.svg.192dpi.png | Bin 0 -> 4971 bytes .../science.svg.192dpi.png.yml | 2 + .../Paper/AcquisitionSlips/security.svg | 26 ++++ .../AcquisitionSlips/security.svg.192dpi.png | Bin 0 -> 4826 bytes .../security.svg.192dpi.png.yml | 2 + .../Paper/AcquisitionSlips/service.svg | 25 ++++ .../AcquisitionSlips/service.svg.192dpi.png | Bin 0 -> 4540 bytes .../service.svg.192dpi.png.yml | 2 + .../Misc/bureaucracy.rsi/acquisition_form.png | Bin 0 -> 225 bytes .../acquisition_form_header.png | Bin 0 -> 107 bytes .../acquisition_form_words.png | Bin 0 -> 304 bytes .../Objects/Misc/bureaucracy.rsi/meta.json | 11 +- 45 files changed, 649 insertions(+), 27 deletions(-) create mode 100644 Content.Shared/Cargo/Components/CargoSlipComponent.cs create mode 100644 Resources/Audio/Effects/Cargo/beep.ogg create mode 100644 Resources/Prototypes/Entities/Objects/Misc/acquisition_slips.yml create mode 100644 Resources/Textures/Interface/Paper/AcquisitionSlips/barcode.svg create mode 100644 Resources/Textures/Interface/Paper/AcquisitionSlips/barcode.svg.192dpi.png create mode 100644 Resources/Textures/Interface/Paper/AcquisitionSlips/barcode.svg.192dpi.png.yml create mode 100644 Resources/Textures/Interface/Paper/AcquisitionSlips/cargo.svg create mode 100644 Resources/Textures/Interface/Paper/AcquisitionSlips/cargo.svg.192dpi.png create mode 100644 Resources/Textures/Interface/Paper/AcquisitionSlips/cargo.svg.192dpi.png.yml create mode 100644 Resources/Textures/Interface/Paper/AcquisitionSlips/engineering.svg create mode 100644 Resources/Textures/Interface/Paper/AcquisitionSlips/engineering.svg.192dpi.png create mode 100644 Resources/Textures/Interface/Paper/AcquisitionSlips/engineering.svg.192dpi.png.yml create mode 100644 Resources/Textures/Interface/Paper/AcquisitionSlips/medical.svg create mode 100644 Resources/Textures/Interface/Paper/AcquisitionSlips/medical.svg.192dpi.png create mode 100644 Resources/Textures/Interface/Paper/AcquisitionSlips/medical.svg.192dpi.png.yml create mode 100644 Resources/Textures/Interface/Paper/AcquisitionSlips/science.svg create mode 100644 Resources/Textures/Interface/Paper/AcquisitionSlips/science.svg.192dpi.png create mode 100644 Resources/Textures/Interface/Paper/AcquisitionSlips/science.svg.192dpi.png.yml create mode 100644 Resources/Textures/Interface/Paper/AcquisitionSlips/security.svg create mode 100644 Resources/Textures/Interface/Paper/AcquisitionSlips/security.svg.192dpi.png create mode 100644 Resources/Textures/Interface/Paper/AcquisitionSlips/security.svg.192dpi.png.yml create mode 100644 Resources/Textures/Interface/Paper/AcquisitionSlips/service.svg create mode 100644 Resources/Textures/Interface/Paper/AcquisitionSlips/service.svg.192dpi.png create mode 100644 Resources/Textures/Interface/Paper/AcquisitionSlips/service.svg.192dpi.png.yml create mode 100644 Resources/Textures/Objects/Misc/bureaucracy.rsi/acquisition_form.png create mode 100644 Resources/Textures/Objects/Misc/bureaucracy.rsi/acquisition_form_header.png create mode 100644 Resources/Textures/Objects/Misc/bureaucracy.rsi/acquisition_form_words.png diff --git a/Content.Client/Cargo/UI/CargoConsoleMenu.xaml b/Content.Client/Cargo/UI/CargoConsoleMenu.xaml index 72d8cf7daf..940352dc48 100644 --- a/Content.Client/Cargo/UI/CargoConsoleMenu.xaml +++ b/Content.Client/Cargo/UI/CargoConsoleMenu.xaml @@ -38,9 +38,10 @@ - + + SizeFlagsStretchRatio="1" + Name="Orders"> diff --git a/Content.Client/Cargo/UI/CargoConsoleMenu.xaml.cs b/Content.Client/Cargo/UI/CargoConsoleMenu.xaml.cs index b837d59855..4c729b795b 100644 --- a/Content.Client/Cargo/UI/CargoConsoleMenu.xaml.cs +++ b/Content.Client/Cargo/UI/CargoConsoleMenu.xaml.cs @@ -208,6 +208,7 @@ namespace Content.Client.Cargo.UI var product = _protoManager.Index(order.ProductId); var productName = product.Name; + var account = _protoManager.Index(order.Account); var row = new CargoOrderRow { @@ -219,7 +220,9 @@ namespace Content.Client.Cargo.UI "cargo-console-menu-populate-orders-cargo-order-row-product-name-text", ("productName", productName), ("orderAmount", order.OrderQuantity), - ("orderRequester", order.Requester)) + ("orderRequester", order.Requester), + ("accountColor", account.Color), + ("account", Loc.GetString(account.Code))) }, Description = { @@ -282,6 +285,9 @@ namespace Content.Client.Cargo.UI AccountActionButton.Disabled = TransferSpinBox.Value <= 0 || TransferSpinBox.Value > bankAccount.Accounts[orderConsole.Account] * orderConsole.TransferLimit || _timing.CurTime < orderConsole.NextAccountActionTime; + + OrdersSpacer.Visible = !orderConsole.SlipPrinter; + Orders.Visible = !orderConsole.SlipPrinter; } } } diff --git a/Content.Client/Cargo/UI/CargoOrderRow.xaml b/Content.Client/Cargo/UI/CargoOrderRow.xaml index 22bd2291ae..e4ec95d981 100644 --- a/Content.Client/Cargo/UI/CargoOrderRow.xaml +++ b/Content.Client/Cargo/UI/CargoOrderRow.xaml @@ -11,11 +11,10 @@ -