master
← sowelipililimute:work/jblackquill/send-to-primary
opened 12:09AM - 30 May 25 UTC
## About the PR
This adds a third mode of operation for cargo request computers…, Send To Primary.
## Why / Balance
- Cargo having a say in orders is desirable i.e. "we have 500 steel from salvagers, don't waste your money on that and let us deliver you some materials"
- People not having to walk up to Cargo to place an order is desirable
- Conclusion: Allow people to place orders in their department's request computers, but still give Cargo the final say.
## Technical details
- replace `SlipPrinter` with `Mode` because I couldn't figure out an elegant way to handle mutually incompatible behaviour between being a slip printer and being an order console that sends to primary
- hide Approve button on non-DirectOrder consoles on the client side
- change order enumeration + counting to consider orders on behalf of the account present in the primary account
## Media

## Requirements
- [x] I have read and am following the [Pull Request and Changelog Guidelines](https://docs.spacestation14.com/en/general-development/codebase-info/pull-request-guidelines.html).
- [x] I have added media to this PR or it does not require an ingame showcase.
## Breaking changes
- `CargoOrderConsoleComponent#SlipPrinter` has been replaced with `CargoOrderConsoleComponent#Mode` that specifies console behavior. Specify `DirectOrder` for `false`, `PrintSlip` for `true`, or `SendToPrimary` to match existing non-Cargo request computers and use the new behaviour.
- `CargoSystem#GetOutstandingOrderCount` is no longer static and expects to be passed an `Entity<StationCargoOrderDatabaseComponent>` and not just the plain component.
**Changelog**
:cl:
- tweak: Departmental request computers now send their orders directly to Cargo, instead of requiring paper slips be brought to Cargo for insertion