-
-
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
Machines now store components in contents + dumping inventory cleanup #9314
Conversation
Ideally as well we would lazilly initialise the components rather than spawning them in init() to save init time but that might be a thing for another PR if this doesn't introduce new inits and only changes where they spawn. |
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 pull request has conflicts, please resolve those before we can evaluate the pull request. |
There is actually a optimization like that ToBeDone after this, is the form of Once this is through I plan on working on getting that ported |
Alright, Ive cleaned it up so circuits all get nulled correctly and eliminated a few hardels Updated testing evidence to show construction after all changes |
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 pull request has conflicts, please resolve those before we can evaluate the pull request. |
JUNE pr guhhh |
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.
yolo
Is that stupid science shuttle computer still failing checks seemingly at random? I had this happen in my adjacency pr the other day |
Atomization of #8372
Ports:
About The Pull Request
Components are stored in the
ballsmachine.Pretty simple, instead of things like machine circuitboards being sent to nullspace, they are instead among the machines components like you'd expect. A way to test this is by attaching an explosive with a timer to a circuitboard, building the machine, then watching it actually explode.
The main change of this pr splits up how things are dumped, adding a new proc that we can use specifically on machines that exempt components from being dumped.
Additionally, this pr included some cleanup of code related to dump_contents(), dump_inventory_contents(), etc... to make more sense.
Added TGUI input to the smartfridge, and cleaned that up aswell. Very minor.
Why It's Good For The Game
Removes a bit of tech debt in machines. Now machines work more like you;d expect. You can actively hide bombs in things like machines like a real saboteur, which is pretty cool.
Code cleanup. Remove redundant procs. Kills a few snowflake procs that could be genericized.
Considering the components are no longer in nullspace, it sudden deletion should be less problematic aswell
Testing Photographs and Procedure
Machine Explosion in action
2023-06-28_18-01-38.1.mp4
Building a computer frame
computer.mp4
upgrading with RPED
upgradingwithrped.mp4
Smartfridge works as expected
Building and deconstructing outputs all appropriate parts
dreamseeker_FVk98BH29O.mp4
Changelog
🆑 RKz, Timberpoes, MrMelbert
refactor: machine components are now stored inside the machines themselves, instead of sent to a magical nullspace and creating errors
add: As a result of making circuitboards components, you can now do things like place a bomb on circuitboard, build it in a machine, and it will blow up like you expect it to!
fix: machines no longer vend their own components accidentally
fix: machines that are supposed to eject contents should actually do so more, and those that shouldn't, should do so less
/:cl: