-
Notifications
You must be signed in to change notification settings - Fork 523
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Requisition Centralization [Part 1.5] AKA medvendor infinite restock outside medbay cheese removal redux #5677
Conversation
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
a0a7ec0
to
451aef2
Compare
Conflicts have been resolved. A maintainer will review the pull request shortly. |
Floor was not changed. That's a medlink under the vendors and it's not green to allow distinguishing from afar |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What this PR is doing is good; however I don't want to entirely disable refilling of injectors if not in a port. Rather the vendor should have a pool of reagents that is consumed as autoinjectors are filled.
Additionally I would like the vendor to have a more streamlined means to restock it; e.g. a vendor restock pack that req can order and then can be used on a vendor to restore the stock values (if any need stocking).
Reagents can be a separate restock pack (instead of also being refilled via the supply pack); but ultimately its the same process. I don't want to go so far as trying to get chemistry to actually mix together the reagents but ever chemistry needs more work that could be something for them to do.
So in summary:
- Vendors not in a restock port need to still allow injector refilling, but this pulls from either a reagent amount per type of chemical - or a omni reagent amount that can be used for any chemical.
- Vendors not in a restock port need stocking item(s) that req can order and then be used on a vendor to restock it. Its fine to allow individual items to be inserted into a vendor, but this shouldn't be the only way to restock it.
If these two things are a bit more difficult for you to implement, we can shelve this PR until another PR is put together to address those requests.
Also we need to disallow splitting of stacks of items that we can top off (e.g. so you can't vend one trauma kit, split it, top it off, and now have duplicated the stack). |
Out of my skillset unfortunately. I can look into making sprites for vendor refills though and maybe package this into one PR |
This PR has been inactive for long enough to be automatically marked as stale. This means it is at risk of being auto closed in ~ 7 days, please address any outstanding review items and ensure your PR is finished, if these are all true and you are auto-staled anyway, you need to actively ask maintainers if your PR will be merged. Once you have done any of the previous actions then you should request a maintainer remove the stale label on your PR, to reset the stale timer. If you feel no maintainer will respond in that time, you may wish to close this PR youself, while you seek maintainer comment, as you will then be able to reopen the PR yourself |
Co-authored-by: Drathek <[email protected]>
Co-authored-by: Drathek <[email protected]>
Co-authored-by: Drathek <[email protected]>
Co-authored-by: Drathek <[email protected]>
Co-authored-by: Drathek <[email protected]>
Co-authored-by: Drathek <[email protected]>
Co-authored-by: Drathek <[email protected]>
Co-authored-by: Drathek <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sprites fine
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
mapping looking great with transparent version 👍
# About the pull request This is a followup/accompanying PR to #5677 and #6103 adding medlinks under the 3 marine meds in medbay, hangar panic room, and CIC armory. # Explain why it's good for the game Marinemeds were already configured to expect medlinks, they just didn't get them mapped in. # Testing Photographs and Procedure <details> <summary>Screenshots & Videos</summary> Put screenshots and videos here with an empty line between the screenshots and the `<details>` tags. </details> # Changelog :cl: Drathek maptweak: Added medlinks under the marinemeds in medbay, hangar panic room, and CIC armory. /:cl:
# About the pull request This PR is a follow up to #5677 assuming changes from #6103 adding a medlink to each ground map as well as medlinks for the WO main base. The other map changes are just the result of StrongDMM's sanitize variables setting where it deletes var edits that match what the type already has initially. # Explain why it's good for the game Helps establish colony medbays as a temporary objective that can help the groundside operation with medical supplies. Some maps this is more practical than others, but the medlinks need to not be too close to a landing zone else it is too hard to contest them. As far as WO, there isn't a shipside medical so the main base instead should serve that purpose. # Testing Photographs and Procedure <details> <summary>Screenshots & Videos</summary> Put screenshots and videos here with an empty line between the screenshots and the `<details>` tags. </details> # Changelog :cl: Drathek maptweak: Added medlinks to WO maptweak: Added a medlink to each ground map /:cl:
# 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:
About the pull request
This PR adds a new structure: the medical supply link port. This is a structure that allows medical vendors to link to the Almayer's internal medical supplies and have larger restocking capabilities. They can be found around the Almayer where existing medical vendors are.
This PR makes it impossible to restock/refill non full stacks at medical vendors which are not linked to a medical supply link port
This PR makes it impossible to restock/refill non full autoinjectors and bottles at medical vendors which are not linked to a medical supply link port
revives #2155
Explain why it's good for the game
This PR is good for the game because it will get req more involved in the medical supply process, as well as limiting the capability of medics to instantly resupply from a vendor at the fob or in hydro. This makes it so that medics have to more carefully pick their supplies, and plan ahead for resupplying, as well as consider other medics' use of supplies, as nothing is infinite groundside anymore.
Overall, it will make the medic supply gameplay loop more engaging and interesting, as well as reducing marine capability to infinitely heal and resupply themselves groundside.
Makes #5490 more useable
Testing Photographs and Procedure
https://gyazo.com/d9e8e3b63daab1241e046c23bb5dd140
Changelog
🆑 Stan_albatross,kugamo,LTNTS,Drathek
balance: medical vendors, excepting nanomeds, can now only refill/restock stacks and autoinjectors/bottles when on special medical supply link ports that can only be found shipside. Sprite by kugamo.
fix: supply pads will no longer generate ambient occlusion.
/:cl: