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

Ship/Shuttle Terminal Access Checks #20227

Merged

Conversation

Ben10083
Copy link
Contributor

@Ben10083 Ben10083 commented Dec 1, 2024

Ship consoles such as targeting and sensors now check for access.

Emagging a ship console disables access checks

Horizon shuttles given access requirements (bridge crew can access any ship)

Went through most offships and added access requirements, likely missed some however.

For access requirements, I only added them for helm control, targetting, and shuttle control consoles

@github-actions github-actions bot added 🗺️ Mapping - Horizon The PR touches the Horizon map files. 🗺️ Mapping - Away Ship/Away Site The PR touches away ship and/or away site map files. labels Dec 1, 2024
@DreamySkrell
Copy link
Contributor

I am conflicted

it makes sense that shuttles aren't just free for anyone to steal

but at the same time, ID requirement is very harsh, especially for offships or odyssey, cause

  • there is no indication of what ID or access you need exactly
  • you can't gain access without having the actual ID (without emag but that's antag gear)
  • so if the pilot with access is gone then you are fucked and the shuttle will never be usable

Copy link
Contributor

@DreamySkrell DreamySkrell left a comment

Choose a reason for hiding this comment

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

IMO, there should be some way to gain access to pilot the shuttle, that isn't emag
something that the average offship or actor could do
wire hacking maybe

@FluffyGhoster
Copy link
Contributor

This seems superflous at best, the shuttle controls are already behind a door, if anything needs to be access restricted, it would be said door to access the cockpit, not the console itself?

@Ben10083
Copy link
Contributor Author

Ben10083 commented Dec 4, 2024

IMO, there should be some way to gain access to pilot the shuttle, that isn't emag something that the average offship or actor could do wire hacking maybe

Added method by using wirecutters. This means that antags (or anyone else) can use wirecutters and gain access after a lengthy period
image

@Ben10083
Copy link
Contributor Author

Ben10083 commented Dec 4, 2024

This seems superflous at best, the shuttle controls are already behind a door, if anything needs to be access restricted, it would be said door to access the cockpit, not the console itself?

not always possible, majority of shuttles even on the horizon dont have this protection (windoors can be quickly smashed on canary, spark and quark can be accessed via an airlock. This has also been a major issue for offships. I believe that with the wirecutter option this doesn not impact antags too severely as they are given a variety of options to bypass this (steal ID, emag, wirecutter)

@Ben10083 Ben10083 requested a review from DreamySkrell December 4, 2024 23:23
@Ben10083
Copy link
Contributor Author

Ben10083 commented Dec 5, 2024

Now in sections of 15 instead of needing 2 minutes uninterupted. Repairable with cabling
image
image

Copy link

github-actions bot commented Dec 5, 2024

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

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Signed-off-by: Ben <[email protected]>
Copy link
Contributor

@DreamySkrell DreamySkrell left a comment

Choose a reason for hiding this comment

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

.

@Arrow768
Copy link
Member

It's not ideal, but it's a reasonable first implementation.

My main issues with it are:

  • Afaik repairing something ragged usually requires pulling/replacing the boards/ rebuild from scratch. (See airlocks)
  • I am not a fan of introducing yet another "hacking" mechanic.
    (Why not use the good old wires if it really needs to be hackable locally?)
  • I am unsure if a remote unlock or just call-back would be a better idea instead of local hacking (skill issue)

Copy link

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

…ess_denied

# Conflicts:
#	maps/sccv_horizon/sccv_horizon.dmm
Copy link

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

…ess_denied

# Conflicts:
#	maps/sccv_horizon/sccv_horizon.dmm
@Ben10083
Copy link
Contributor Author

It's not ideal, but it's a reasonable first implementation.

My main issues with it are:

  • Afaik repairing something ragged usually requires pulling/replacing the boards/ rebuild from scratch. (See airlocks)
  • I am not a fan of introducing yet another "hacking" mechanic.
    (Why not use the good old wires if it really needs to be hackable locally?)
  • I am unsure if a remote unlock or just call-back would be a better idea instead of local hacking (skill issue)
  1. I am worried about if it takes around 2 minutes to 'break' a console, but 10 seconds to 'fix', that could lead to a scenario where players are mechanically encouraged to try to reach the antag's shuttle computer and do the quick fix before they react, and overall felt that these consoles warranted repairs like this.

  2. I first planned on doing the hacking with wires we have with others, but considering that these consoles are not compatible with the system without doing some changes, and that this would only lead to one 'outcome' (remove id lock) while others have a variety of outcomes, not to mention that it is also quite easy for someone experienced to wirehack (especially if they test to find the wire beforehand), that a different system felt warranted

  3. Unsure how this can be implemented well in a scenario where antag takes shuttle. Someone presses button at bridge and antag gets autopiloted back?

As such I do not believe I will resolve these issues currently. However a future implementation with point 2 is likely possible.

code/modules/overmap/ships/computers/ship.dm Outdated Show resolved Hide resolved
code/modules/overmap/ships/computers/ship.dm Outdated Show resolved Hide resolved
code/modules/overmap/ships/computers/ship.dm Outdated Show resolved Hide resolved
code/modules/overmap/ships/computers/ship.dm Outdated Show resolved Hide resolved
code/modules/overmap/ships/computers/ship.dm Outdated Show resolved Hide resolved
code/modules/shuttles/shuttle_console.dm Outdated Show resolved Hide resolved
code/modules/shuttles/shuttle_console.dm Outdated Show resolved Hide resolved
code/modules/shuttles/shuttle_console.dm Outdated Show resolved Hide resolved
code/modules/shuttles/shuttle_emergency.dm Show resolved Hide resolved
code/modules/overmap/ships/computers/ship.dm Outdated Show resolved Hide resolved
Ben10083 and others added 4 commits January 29, 2025 09:07

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Co-authored-by: Fluffy <[email protected]>
Signed-off-by: Ben <[email protected]>

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Co-authored-by: Fluffy <[email protected]>
Signed-off-by: Ben <[email protected]>

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Co-authored-by: Fluffy <[email protected]>
Signed-off-by: Ben <[email protected]>

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Co-authored-by: Fluffy <[email protected]>
Signed-off-by: Ben <[email protected]>
@NonQueueingMatt NonQueueingMatt added this pull request to the merge queue Jan 31, 2025
Merged via the queue into Aurorastation:master with commit a13f33a Jan 31, 2025
25 checks passed
@Ben10083 Ben10083 deleted the ship_terminal_access_denied branch February 16, 2025 03:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🗺️ Mapping - Away Ship/Away Site The PR touches away ship and/or away site map files. 🗺️ Mapping - Horizon The PR touches the Horizon map files. Review Required
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants