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

Tweaks for the holopad #33928

Merged
merged 12 commits into from
Dec 19, 2024
Merged

Conversation

chromiumboy
Copy link
Contributor

@chromiumboy chromiumboy commented Dec 18, 2024

About the PR

A collection of minor tweaks and bug fixes for the holopad before it gets merged into stable

Why / Balance

This PR changes the following:

  • The listening range on holopads has been reduced from 4 tiles to 2.5 tiles. This is to reduce the amount of background chatter they might pick up when people make a holo-call in a public area
  • Regular holopads can now only call other regular holopads that are on the same grid
  • Long-range holopads can now call long-range and quantum entangling holopads that are on the same map but different grids (does not function during FTL, even if warping to a different part of the same map)
  • Quantum entangling holopads can now call long-range and quantum holopads on any map, so long as they are on different grids (i.e., they have been turned into an upgraded version of the long-range holopad. Can functions during FTL)
  • Added a new holopad variant, the bluespace holopad. It can connect with any holopad, wherever they are, but can't be contacted in turn (even by other bluespace holopads). This is the replacement for the original quantum entangling holopad. To be used for admemes, or if you want to give one to the nukies to taunt the crew with
  • AIs can now project themselves from the long-range and quantum entangling holopads on their station. This is for parity with regular holopads
  • AIs now get an error pop-up if they try to answer a holo-call originating from another map. This is to clear up any confusion AI players might have as to why the call won't connect
  • AIs no longer have duplicated holopad UI windows when they answer a summons to another holopad
  • The draw depth of the holopad sprite has been corrected so it matches other floor objects

Technical details

N/A

Media

N/A

Requirements

Breaking changes

Just in case someone is using this code already...

Entities using the telephone system/component now handle transmission ranges differently

Firstly, TelephoneRange.Long has been removed; any instances should be replaced with TelephoneRange.Map

Secondly, additional options for configuring which telephones can contact other telephones - CompatibleRanges (List<TelephoneRange>) and IgnoreTelephonesOnSameGrid (bool)

Where TransmissionRange determines which telephones are in range of a source, CompatibleRanges is the whitelist that determines which of these it can initiate a call with (based on the receivers' own TransmissionRange). For example, long-range holopads have a TransmissionRange of TelephoneRange.Map, so they can potentially contact any other holopads on the map. However, they have CompatibleRanges of TelephoneRange.Map and TelephoneRange.Unlimited, so they can only connect to other holopads that have a TransmissionRange of TelephoneRange.Map or TelephoneRange.Unlimited (e.g., other long-range and quantum entangling holopads)

IgnoreTelephonesOnSameGrid, on the other hand, when set to true, will prevent telephones from contacting any other telephones on the same grid. This bool will be ignored if the telephone has a TransmissionRange of TelephoneRange.Grid

Changelog

N/A

@chromiumboy chromiumboy added the T: Bugfix Type: Bugs and/or bugfixes label Dec 18, 2024
@github-actions github-actions bot added S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. size/S Denotes a PR that changes 10-99 lines. labels Dec 18, 2024
@Stewie523
Copy link

I think you should be able to change the listening radius of a holopad in game up to a certain point.

@ScarKy0
Copy link
Contributor

ScarKy0 commented Dec 18, 2024

  1. I feel like holopads shouldn't speak using their names/labels. "Holopad (BotanyStuff) (Kristopher Laborde) said, 'god this is so long...' "
    Could probbaly be reduced to saying just the character name
  2. Would be nice where youre being requested from(AI) or called from(non-AI) so it would say "[Service-Botany] Kristopher Laborde (Captain) is calling" on the UI or smth along those lines

Copy link
Contributor

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

@github-actions github-actions bot added the S: Merge Conflict Status: Needs to resolve merge conflicts before it can be accepted label Dec 18, 2024
@chromiumboy
Copy link
Contributor Author

I think you should be able to change the listening radius of a holopad in game up to a certain point.

Yeah, there could be some additional controls on the 'in-call' screen to toggle a conference mode (which has a wider listening range) as well as a mute toggle. That would have to wait 'til later though

  1. I feel like holopads shouldn't speak using their names/labels. "Holopad (BotanyStuff) (Kristopher Laborde) said, 'god this is so long...' "
    Could probbaly be reduced to saying just the character name
  2. Would be nice where youre being requested from(AI) or called from(non-AI) so it would say "[Service-Botany] Kristopher Laborde (Captain) is calling" on the UI or smth along those lines

The name + label was to replicate how hand held radios handle relayed message but I see your point, I'll think on it. Having the name of the holopad the caller is coming from is a good idea. Might also have to wait on this one

@ScarKy0
Copy link
Contributor

ScarKy0 commented Dec 18, 2024

Oh also, its not really needed after all (since the amount of holopads doesnt seem to be an issue) but I still think a search field would be cool

@chromiumboy
Copy link
Contributor Author

chromiumboy commented Dec 18, 2024

Oh also, its not really needed after all (since the amount of holopads doesnt seem to be an issue) but I still think a search field would be cool

Thats good to know but I'll keep the filter in mind for the furture

@github-actions github-actions bot removed the S: Merge Conflict Status: Needs to resolve merge conflicts before it can be accepted label Dec 19, 2024
@github-actions github-actions bot added size/M Denotes a PR that changes 100-999 lines. and removed size/S Denotes a PR that changes 10-99 lines. labels Dec 19, 2024
@chromiumboy chromiumboy marked this pull request as ready for review December 19, 2024 06:05
@github-actions github-actions bot added the S: Needs Review Status: Requires additional reviews before being fully accepted label Dec 19, 2024
@chromiumboy chromiumboy added P1: High Priority: Higher priority than other items, but isn't an emergency. T: New Feature Type: New feature or content, or extending existing content D3: Low Difficulty: Some codebase knowledge required. T: Balance Change Type: Balance changes through direct value changes, or changes to mechanics that affect it S: Approved Status: Reviewed and approved by at least one maintainer; a PR may require another approval. and removed S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. labels Dec 19, 2024
@chromiumboy chromiumboy added A: General Interactions Area: General in-game interactions that don't relate to another area. T: Of Admin Interest Type: Affects administration work a lot, and might require admins to weigh in on labels Dec 19, 2024
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.

I noticed don't know enough about this system yet to give it a proper review.
But at least some cleanup :)

chromiumboy and others added 2 commits December 19, 2024 08:27
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
@chromiumboy
Copy link
Contributor Author

I noticed don't know enough about this system yet to give it a proper review. But at least some cleanup :)

Since it's a brand new system, you know as much as everyone else! :D

@slarticodefast
Copy link
Member

Summoning @SlamBamActionman so we can get it into the next release in time.

@SlamBamActionman SlamBamActionman merged commit 209c176 into space-wizards:master Dec 19, 2024
12 checks passed
@chromiumboy chromiumboy deleted the holopad-tweaks branch December 20, 2024 02:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A: General Interactions Area: General in-game interactions that don't relate to another area. D3: Low Difficulty: Some codebase knowledge required. P1: High Priority: Higher priority than other items, but isn't an emergency. S: Approved Status: Reviewed and approved by at least one maintainer; a PR may require another approval. S: Needs Review Status: Requires additional reviews before being fully accepted size/M Denotes a PR that changes 100-999 lines. T: Balance Change Type: Balance changes through direct value changes, or changes to mechanics that affect it T: Bugfix Type: Bugs and/or bugfixes T: New Feature Type: New feature or content, or extending existing content T: Of Admin Interest Type: Affects administration work a lot, and might require admins to weigh in on
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants