-
Notifications
You must be signed in to change notification settings - Fork 3.4k
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
Computer wirepanel #32273
Computer wirepanel #32273
Conversation
the hero |
You know what I was ALSO thinking, while making this? Giving them a second power wire, and when you snip one... B) |
You should go back to this thought as it would be funny |
A... It doesn't like the simultaneous interactions during deconstruction, I think. |
ACC wire for comms console/crim record/etc? |
This, an ACC wire would be great |
I will leave all of the more controversial/debatable wire changes to separate PRs |
ACC wire is weird, have you ever seen a computer that just let you open it based on a cut wire? |
Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml
Outdated
Show resolved
Hide resolved
There should probably also be a visual indication for an open panel like there is for other machines. |
Now with visible maintenance panel |
Something like an access wire (like say, snipping it allows non cargo-techs to order cargo) is probably a separate PR after this right? |
The NES CIC drm chip |
The sprite for the panel being open has been changed |
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.
Tested in-game, everything works as intended.
I have added Breaking Change notes for downstreams on how to update any custom computers |
* Computer wirehacking * Power wire now shocks * deconstruction fix * updated tests * Better parenting * maintenance panel sprite * new sprite for maintenance panel open
About the PR
Computers now have basic wire"hacking" implemented. Their maintenance panel opens and closes with a screwdriver, like any other device with wires. They either have 1 Power Wire, 1 AI Wire and 2 Dummy Wires, or 1 Power Wire and 3 Dummy Wires if the computer does not have the AI connection whitelist.
Deconstruction steps changed from "Screw, Pry, Cut, Screw" to "Pry, Pry, Cut, Screw" with small doafters added for the first two Pries, so I don't think it's necessarily faster now, even though you don't need to change tools between the first two steps
Minor Sprite issue: there is no visual indication for the maintenance panel being open (but examine shows the current state)Minor UI issue with deconstrction: after Prying once with the crowbar, the Screwdriver interaction will both try to open the service panel and finalise the deconstruction step. As such, there will be two doafter progress bars and the maintenance panel can be heard opening. nevertheless, once the slower progress bar finishes, the entity state will go to the next node and so the maintenance panel will "disappear"', until the machine is reconstructed. (by applying Screwdriver again, as normal)Why / Balance
This allows the crew to sever the AI from specific computers. It also makes it possible to disable the computer via the power wire, although there is not much point to this. Allows future maintenance panel or hacking-related features to be added to computers.
Technical details
Computers now have the required wirehacking components, and one of two wire configurations, depending on whether or not they have StationAiWhitelistedComponent.
Tests have been changed to fit the new deconstruction process
Breaking changes
Computers consoles that are AI accessible now inherit from BaseComputerAiAccess.
Computer prototypes that redefine their sprites instead of inheriting the defaults must now also specify the sprite map/state for the maintenance panel.
Computers that define another UserInterface need to make sure to add WiresBoundUserInterface again so it is not overwritten. See BaseComputer for an example.
Media
New "panel open" sprite:
computer_maint.mp4
(obsolete)
https://github.com/user-attachments/assets/f39e2252-4d5a-463c-9257-ba6d57140471
Requirements
Changelog
🆑 Errant