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

Machines now store components in contents + dumping inventory cleanup #9314

Merged
merged 18 commits into from
Oct 20, 2023

Conversation

Tsar-Salat
Copy link
Contributor

@Tsar-Salat Tsar-Salat commented Jun 28, 2023

Atomization of #8372

Ports:

About The Pull Request

Components are stored in the balls machine.

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
corn

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:

@PowerfulBacon
Copy link
Member

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.

@github-actions
Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions
Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions
Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@Tsar-Salat
Copy link
Contributor Author

Ideally as well we would lazilly initialise the components rather than spawning them in init()

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

@Tsar-Salat
Copy link
Contributor Author

Tsar-Salat commented Oct 6, 2023

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

@github-actions
Copy link

github-actions bot commented Oct 7, 2023

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions
Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions
Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@Tsar-Salat
Copy link
Contributor Author

JUNE pr guhhh

Copy link
Member

@itsmeow itsmeow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yolo

@itsmeow itsmeow added this pull request to the merge queue Oct 20, 2023
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Oct 20, 2023
@Tsar-Salat
Copy link
Contributor Author

Tsar-Salat commented Oct 20, 2023

Is that stupid science shuttle computer still failing checks seemingly at random? I had this happen in my adjacency pr the other day

@Rukofamicom Rukofamicom added this pull request to the merge queue Oct 20, 2023
Merged via the queue into BeeStation:master with commit 7f2ea1c Oct 20, 2023
8 checks passed
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.

5 participants