-
-
Notifications
You must be signed in to change notification settings - Fork 681
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
[RECOUP/PORT] large refactor of machine/power code to cut down on processing time and wasted lists + Fixes age-old apc exploit #11188
base: master
Are you sure you want to change the base?
Conversation
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
What was the bug that caused the original PR to be closed, how have you tested that it no longer exists? |
To requote what i said on discord so it's on github: I need tgstation/tgstation#82540 to prevent that bug, since at the end of the day, it's due to an Init reason and i did not want to make the PR bigger than it should be. (Actually caused by Faulty LateInitialize not calling parent and thus, making many machinery to skip power connection) |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
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.
Bacon approved this months ago, faulty map workflow failed which probably took it off the radar
This looks good to merge
(this was originally a recoup of my code, I must note. So take my approval below bacon's)
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
This PR has been marked as stale due to being in an unmergable state for 7 days. Please resolve any conflicts and add testing evidence, then contact a project maintainer to have the stale label removed. |
air alarms still broken
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
8096db4
to
40ac1a8
Compare
This PR recoup #9968, so the description and everything is pretty much the same.
Ports:
About The Pull Request
PR 1 & 2
APCs now respect power input and output. Effectively, as much power goes into a cell that come out. It has to do with the way power is temporarily drawn from Equipment part of the APC(look at the linked pr, its 3 paragraphs) but it basically boils down to this:
PR 3
Kylerace explains it quite well.
This should also resolve some bugs introduced in #4401, namely non-processing machines not actually consuming power. I will need to do some testing to confirm.
PERSONAL PORT NOTE: The original PR was closed due to a bug related to the the processing machines, on testing, this bug didn't really seem to be the case. Despite all, I STRONGLY suggest to merge this as a stepping stone for the following PRs:
Why It's Good For The Game
Cutting down subsystem costs is always good.
Fixing terrible power inconsistencies as well.
Testing Photographs and Procedure
Screenshots&Videos
Adjusting Air Alarm values
dreamseeker_32tNhryIxn.mp4
APC taking from surplus power, rather than from APC
surplus.1.mp4
Space ruin powering a cell charger
Changelog
🆑 PigeonVerde322, Rkz, Kylerace, ArcaneMusic, zxaber
refactor: refactors machine and power code to cut down on processing costs
fix: fixes non-processing machines failing to consume power
fix: fixes rechargers and inducers allowing for effectively infinite power. Now, what is used to charge these cells is exactly what can be expended from them.
tweak: rechargers now suck power directly from surplus energy on the powergrid, as opposed to the Equipment part of an APC. This is to prevent the former fix from making every single recharger on the station a mini-energy siphon.
add: examining any machinery will now tell if it's powered or not.
/:cl: