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

Computer wirepanel #32273

Merged
merged 7 commits into from
Sep 23, 2024
Merged

Computer wirepanel #32273

merged 7 commits into from
Sep 23, 2024

Conversation

Errant-4
Copy link
Member

@Errant-4 Errant-4 commented Sep 18, 2024

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:

image

computer_maint.mp4

(obsolete)
https://github.com/user-attachments/assets/f39e2252-4d5a-463c-9257-ba6d57140471

Requirements

Changelog
🆑 Errant

  • tweak: Computers now have a maintenance panel with a Power and AI wire (if AI-connected).
  • tweak: Computer deconstruction now begins with the crowbar, not the screwdriver.

@github-actions github-actions bot added the No C# For things that don't need code. label Sep 18, 2024
@lzk228
Copy link
Contributor

lzk228 commented Sep 18, 2024

the hero

@Errant-4
Copy link
Member Author

the hero

You know what I was ALSO thinking, while making this? Giving them a second power wire, and when you snip one... B)

@ScarKy0
Copy link
Contributor

ScarKy0 commented Sep 18, 2024

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

@Errant-4
Copy link
Member Author

A... It doesn't like the simultaneous interactions during deconstruction, I think.

@baddiePRO
Copy link

ACC wire for comms console/crim record/etc?

@ScarKy0
Copy link
Contributor

ScarKy0 commented Sep 18, 2024

ACC wire for comms console/crim record/etc?

This, an ACC wire would be great

@Errant-4
Copy link
Member Author

Errant-4 commented Sep 18, 2024

I will leave all of the more controversial/debatable wire changes to separate PRs

@dvir001
Copy link
Contributor

dvir001 commented Sep 18, 2024

ACC wire is weird, have you ever seen a computer that just let you open it based on a cut wire?

@slarticodefast slarticodefast added the Undergoing Maintainer Discussion This PR is currently going through an internal discussion by the maintainer team. label Sep 18, 2024
@slarticodefast
Copy link
Member

There should probably also be a visual indication for an open panel like there is for other machines.

@github-actions github-actions bot added the Changes: Sprites Should be reviewed or fixed by people who are knowledgeable with spriting or visual design. label Sep 19, 2024
Copy link
Contributor

github-actions bot commented Sep 19, 2024

RSI Diff Bot; head commit d4160c3 merging into a123791
This PR makes changes to 1 or more RSIs. Here is a summary of all changes:

Resources/Textures/Structures/Machines/computers.rsi

State Old New Status
generic_panel_open Added

Edit: diff updated after d4160c3

@Errant-4
Copy link
Member Author

Now with visible maintenance panel

@ItsMeThom
Copy link
Contributor

Something like an access wire (like say, snipping it allows non cargo-techs to order cargo) is probably a separate PR after this right?

@superjj18
Copy link
Contributor

ACC wire is weird, have you ever seen a computer that just let you open it based on a cut wire?

The NES CIC drm chip

https://youtube.com/shorts/EP7F7g1ZC1Q?si=B_PAGuxwKIb0pbe7

@Errant-4
Copy link
Member Author

The sprite for the panel being open has been changed

Copy link
Member

@slarticodefast slarticodefast left a 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.

@Errant-4
Copy link
Member Author

I have added Breaking Change notes for downstreams on how to update any custom computers

@slarticodefast slarticodefast merged commit a7e29f2 into space-wizards:master Sep 23, 2024
13 checks passed
chromiumboy added a commit to chromiumboy/space-station-14 that referenced this pull request Sep 24, 2024
@Errant-4 Errant-4 deleted the computer branch September 24, 2024 17:48
Ilya246 pushed a commit to Ilya246/space-station-14 that referenced this pull request Oct 7, 2024
* Computer wirehacking

* Power wire now shocks

* deconstruction fix

* updated tests

* Better parenting

* maintenance panel sprite

* new sprite for maintenance panel open
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changes: Sprites Should be reviewed or fixed by people who are knowledgeable with spriting or visual design. No C# For things that don't need code. Undergoing Maintainer Discussion This PR is currently going through an internal discussion by the maintainer team.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants