Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
# About the pull request This PR is a follow up to #5677 and does many things: - ~~Disables splitting of medical items.~~ - ~~In the case of splints, to avoid splitting them via applying and removing them, recovered splints are considered contaminated. However, you can get them to not be deemed contaminated if you form a full stack with them.~~ - Increases the starting stock of several medical vendors, also shifting more of the bottles to chem vendors. - Adds periodic automatic restocking to med linked medical vendors if they are operable. - Initializes groundside medical vendors with randomly reduced stock amounts and reagents (if not on WO mode). - Disables refilling medical items (as in use 3 splints on a vendor and get upgraded to 5). Some conveyed to me they would rather lose the refilling mechanic over the ability to split stacks. - Autoinjectors and bottles can still be refilled using now internal reagents tanks in the vendor. If the vendor has a medlink this will periodically recharge. The UI also displays the reagent amount much like the chem dispenser does. - Adds the ability to bulk restock vendors with storage items. Click drag the pack onto the vendor and all items that can restock the vendor will be placed in the vendor. - Adds the ability to bulk restock medical vendors with restock carts ordered from requisitions. There are two variants: one that restocks the items and another that restocks the internal reagent tanks. They can be disassembled with a wrench. - Adds the ability to restock partial stacks. - Doubles the starting energy amount for chemical dispensers by increasing the max energy amount in chem_storage and increasing the boost gained when a chemical dispenser is connected to the chem_storage. - Discounts all requisitions medical supplies. - Enables initial population scaling for blood bags (of note it wasn't intended these could restock automatically with a medlink; the supply restock cart does work on them though and I intend to keep this) This PR also fixes some miscellaneous things: - Using a item on a medvendor will now try to fill the vendor with that item (rather than only performing this action with a mouse drop). - Fixes some of the grammar issues regarding restocking. - Fixes some unused squad prep vendors that were not properly adding headsets to their list of items. - Fixes removing nano splints creating splints with 0 amount. - Fixes xenos being able to restock vendors. - Tweaks the alignment of the images of items in vendors to be more centered vertically. - Tweaks the widths of tables in vendors. - Fixes USCM theme vendors not showing alternating backgrounds for odd rows **Of note: The restock cart sprites are temporary.** # Explain why it's good for the game The ultimate goal of this PR is to remove the infinite quantity of medical items groundside so there is more pressure on requisitions to keep groundside supplied. See https://github.com/orgs/cmss13-devs/projects/6/views/1?pane=issue&itemId=23005516 for a broader picture of the changes that this PR is helping push towards. I will finalize a design document once the remaining aspects for requisitions are decided. It also is a little goofy that a colony that got decimated by a xenomorph infestation would have fully stocked medical supplies. # Testing Photographs and Procedure <details> <summary>Screenshots & Videos</summary> Original implementation: https://youtu.be/6ES88Zre6Gg Revised implementation: https://youtu.be/7Iyy3eKx3Ng Bulk restocking using inventories: https://github.com/cmss13-devs/cmss13/assets/76988376/b9c33693-fe95-410e-8841-d962b052a5fb Restock carts (temporary sprites for now): ![image](https://github.com/cmss13-devs/cmss13/assets/76988376/1e3e537c-f3a8-4e02-8e55-c97db707748b) UI polishing: ![image](https://github.com/cmss13-devs/cmss13/assets/76988376/087f2bf2-9b2a-41e2-9786-4e4c6464a397) ![image](https://github.com/cmss13-devs/cmss13/assets/76988376/9bc03db2-f244-47aa-90f9-0ccdf398acf7) </details> # Changelog :cl: Drathek balance: Increased the starting stock of most medical vendors but shifts some reagent bottles from weymeds to weychems balance: Med linked medical vendors will now automatically restock items (requires 20 minutes from round start) and reagents (no time requirement) periodically if operable balance: Groundside medical vendors will now have random stock and reagents missing if its not WO balance: Partial medical item stacks can no longer be refilled at vendors (autoinjectors and bottles can still be refilled pulling from internal reagent tanks) balance: Doubles the starting energy for chemical dispensers balance: Discounts all requisitions medical supplies ui: Added reagent amount display to vendors that have internal reagent tanks and tweaked the icon positioning of items slightly ui: Tweaked table widths in vendors ui: Fixes USCM theme vendors not showing different backgrounds for odd rows qol: Restocking a medvendor manually can now be done with just a click rather than only via mouse drop qol: Restocking a vendor can now be performed in bulk from a storage inventory - click drag the inventory to the vendor and you will restock all the items you can add: Vendors can accept partial stacks when restocking - when an item has a partial quantity for a stack it is denoted with an asterisk add: Added two restock carts for bulk restocking medical vendors, one for items and the other for reagents (purchasable from requisitions - disassemble with a wrench - temporary sprites for now) fix: Fixed some currently unused squad prep vendors fix: Removing nano splints on a person no longer creates a 0 amount normal splint spellcheck: Tweaked some restock messages and vendor descriptions /:cl:
- Loading branch information