Skip to content
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

[MIRROR] General maintenance for chem master #2836

Merged
merged 1 commit into from
Apr 11, 2024
Merged

Conversation

Steals-The-PRs
Copy link
Collaborator

Mirrored on Nova: NovaSector/NovaSector#1904
Original PR: tgstation/tgstation#82002

About The Pull Request

1. Qol

  • Adds screen tips & examines for screwdriver, wrench, crowbar & beaker insertion, removal & replacing actions
  • Analyzing reagents is now a client side feature & not a back end mode, meaning one person can see details of a reagent while the other can print stuff and do other operations so it's a non blocking operation. This also means 2 players can see information of 2 different reagents in their own screens, With that the overlay for analysis mode has been removed
  • You cannot do any tool acts on machines while printing. Balloon alerts will be displayed warning you of that.
  • The preferred container for the master reagent in the beaker is now showed in both condiment & chem master. It can be enabled/disabled via a CheckBox

2. Code Improvements

  • Removed defines like TARGET_BEAKER , TARGET_BEAKER etc. ther functionality is implemented as params in the transfer_reagent() proc directly
  • Removed all variables relating to analyzing reagents like reagent_analysis_mode, has_container_suggestion etc. all memory savings
  • printable_containers now stores static values that can be shared across many chem masters
  • Updates only overlays and not the whole icon during operations for efficiency

3. Fixes

  • You can hit the chem master with the screwdriver, wrench, crowbar & beaker when in combat mode
  • You cannot insert hologram items into the chem master
  • Deconstructing a condiment master will give you the circuit board already pre-programmed with that option selected so you don't need to use a screwdriver to re program it
  • printing_amount is now the maximum number of containers that can be printed at a time. Presently this number with upgraded parts would print out empty containers especially for patches. This is because volume_per_item does not take into consideration this var. Also this var would not give control to the player on exactly how many containers to print as whatever amount the player entered would be multiplied with this value producing a lot of waste & worse empty containers. Now this var determines exactly how many containers you can print and is imposed on the client side UI as well

4. Refactors (UI performance)

  • Beaker data is compressed into a single entity & sent to the UI. This is set to null if no beaker is loaded thus saving data sent
  • Reuses Beaker props from chem synthesizer to reduce code
  • reagent REF replaced with direct type converted to text and later converted with text2path() cause its much faster

Changelog

🆑 SyncIt21
qol: Adds screen tips & examines for screwdriver, wrench, crowbar & beaker insertion, removal & replacing actions
qol: Analyzing reagents no longer blocks other players from doing other operations. Multiple players can analyze different reagents on the same machine
qol: You cannot do any tool acts on the machine while printing to prevent any side effects.
qol: The preferred container for the master reagent in the beaker is now showed in both condiment & chem master. The feature can be enabled/disabled via a check box
code: removed defines for reagent transfer, vars for reagent analyzis to save memory. Autodoc for other vars & procs
fix: You can hit the chem master with tools like screwdriver, crowbar, wrench & beaker in combat mode
fix: You cannot insert hologram items into the chem master
fix: Deconstructing a condiment master will give you the circuit board already pre-programmed with that option
fix: You now print the exact amount of containers requested even with upgraded parts without creating empty containers. Max printable containers is 13 with tier 4 parts able to print 50 containers.
refactor: Optimized client side UI code & chem master as a whole.
/:cl:

* General maintenance for chem master

* Update chem_master.dm

* Update chem_master.dm

* Update chem_master.dm

* Update chem_master.dm

---------

Co-authored-by: SyncIt21 <[email protected]>
Co-authored-by: Mal <[email protected]>
@ReezeBL ReezeBL merged commit ee8a1aa into master Apr 11, 2024
26 checks passed
@ReezeBL ReezeBL deleted the upstream-mirror-1904 branch April 11, 2024 14:58
AnywayFarus added a commit that referenced this pull request Apr 11, 2024
Iajret pushed a commit that referenced this pull request Jun 4, 2024
* Probital and disgust vomit are knockdowns, not stuns (#83475)

## About The Pull Request

Disgust vomit knocks you down rather than stunning you.

Mitogen Metabolism Factor knocks you down rather than stunning you.

## Why It's Good For The Game

> Disgust vomit knocks you down rather than stunning you.

With the recent update to rust causing disgust on tiles, you end up
vomiting, getting stunned, accruing even more disgust on the tile,
vomiting again. An endless cycle of misery. Vomits should suck, but I
don't think they should stunlock.

> Mitogen Metabolism Factor knocks you down rather than stunning you.

Similarly, Mitogen Metabolism Factor makes you vomit when overdosed.
This is normally fine, but fermichem always finds a way to ruin things -
it can be made via inverse Probital and is a guaranteed chain-stunner
for far too little effort.

Easy, cheap, hard-to-escape stunlocks are bad.

* Probital and disgust vomit are knockdowns, not stuns

---------

Co-authored-by: carlarctg <[email protected]>
Co-authored-by: NovaBot13 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants