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

Frontier Ship Holo Pads #2734

Merged
merged 9 commits into from
Jan 28, 2025
Merged

Frontier Ship Holo Pads #2734

merged 9 commits into from
Jan 28, 2025

Conversation

Cheackraze
Copy link
Member

@Cheackraze Cheackraze commented Jan 19, 2025

About the PR

Holopads are a great addition from upstream, many kudos to the designer
space-wizards/space-station-14#32711

Why / Balance

Holo pads can be an excellent tool of semi-private long-distance communication. Their use on the Frontier requires only a few quality of life improvements.

How to test

This PR Currently only has the Barge updated (as of writing) with a holopad sensor. It will automatically take the name of the ship upon spawning, and can be changed after using a regular hand labeler just as usual. So you must simply spawn in 2 barges and see they can identify and communicate with eachother.

Media

Requirements

  • Frontier sepecific POI holopad prototypes for mapping
    - [ ] Pirate and Syndicate holopad prototypes for mapping

Breaking changes

Changelog

🆑 Checkraze and Whatstone

  • tweak: added Ship variants of holo-pads for use in ship cockpits and bridges.
  • tweak: added Frontier-specific example variants of holo-pads for use in mapping POIs.

@Cheackraze Cheackraze marked this pull request as ready for review January 19, 2025 19:24
@dustylens
Copy link
Contributor

dustylens commented Jan 19, 2025

As a small notice #2695 has adjustments to the Barge. So I'll add a notice over there.

@dustylens dustylens mentioned this pull request Jan 19, 2025
2 tasks
@Cheackraze
Copy link
Member Author

As a small notice #2695 has adjustments to the Barge. So I'll add a notice over there.

the change in this pr can get overwritten then, it is in merely for testing and the individual ships will get them added seperately either in one large sweeping PR or through updates

@dustylens
Copy link
Contributor

I'll reflect the changes made here over there so we don't end up with a conflict. I think it's far more likely that this change will be useful for testing and fun looooong before the other ship maintenance PR is reviewed and pushed along.

@Houtblokje
Copy link
Contributor

Hi, will we be able to buy holopad flatpacks from the trade mall, like how we are able to with faxes?

@github-actions github-actions bot added the FTL label Jan 20, 2025
@Cheackraze
Copy link
Member Author

Hi, will we be able to buy holopad flatpacks from the trade mall, like how we are able to with faxes?

eventually they will be required in basically all ships mapped as a standard but in the interim yes, these will be purchasable through the flatpack vendor

@Cheackraze Cheackraze requested a review from arimah January 20, 2025 13:38
@github-actions github-actions bot added the S: Needs Review This PR is awaiting reviews label Jan 20, 2025
@Cheackraze Cheackraze mentioned this pull request Jan 20, 2025
2 tasks
@MagnusCrowe
Copy link
Contributor

MagnusCrowe commented Jan 21, 2025

There's some janky business between holopad (HP) and long range holopads (LRHP).

It seems LRHPs can see HP and LRHP on other grids. LRHPs cannot see HPs on their own grid.
It works like this...
image

Do you think it would be better for it to work like this?
image
This way large ships and POI can have normal holopads for internal communication and LRHPs can be dual purpose for internal and external.

Example: SR can have an LRHP in their office, STC can have a LRHP in the bridge, and Station security can have a HP in their brig.
As is, none of them could communicate with each other at all. However, all LRHPs on other ships would be able to communicate with all 3 (not ideal if you're trying to keep a ship from calling station brig directly).

With my suggestion, ships could call the STC and SR but not the brig. STC, SR, and Brig could call each other and STC and SR could call out to ships as well.

Another example: If you wanted to give Crescent several HPs because it's a large ship with multiple departments, as is, every other ship with LRHPs could see and call every department on the Crescent. If multiple Crescents are purchased, there would be duplicates of each departmental HP. If HPs are restricted to only be shown on the grid they are installed on then this wouldn't be a problem.

@MagnusCrowe
Copy link
Contributor

image
May want to double check your localization.

@Cheackraze
Copy link
Member Author

Out of scope. We strictly are adding Long Range Holo-pads intended for cross-grid communication.

Each type of holopad can have different scopes for which it transmits, and to which it receives. Inner-grid holopads can be specially designed on a per-POI or per-ship basis, as only the largest of ships like the crescent would even have a need for more than 1 holopad. The holopads I have created [SHIP] and the various POI holopads are specifically designed for their narrow purpose, with the flatpack version being the temporary source of these before we can hit every single ship in updates.

@Cheackraze
Copy link
Member Author

Also I dont think the functionality you are requesting is possible without rewriting the code logic fundamentally either

@Cheackraze
Copy link
Member Author

Example: SR can have an LRHP in their office, STC can have a LRHP in the bridge, and Station security can have a HP in their brig. As is, none of them could communicate with each other at all. However, all LRHPs on other ships would be able to communicate with all 3 (not ideal if you're trying to keep a ship from calling station brig directly).

With my suggestion, ships could call the STC and SR but not the brig. STC, SR, and Brig could call each other and STC and SR could call out to ships as well.

Another example: If you wanted to give Crescent several HPs because it's a large ship with multiple departments, as is, every other ship with LRHPs could see and call every department on the Crescent. If multiple Crescents are purchased, there would be duplicates of each departmental HP. If HPs are restricted to only be shown on the grid they are installed on then this wouldn't be a problem.

image

there is no way to explicitly be open to the grid-level channel on same grid while being unavailable to grid-level channels, off-grid

@blackknight954
Copy link
Contributor

To be fair the brig is like... 10 tiles from the SR desk

@MagnusCrowe
Copy link
Contributor

To be fair the brig is like... 10 tiles from the SR desk

I think you missed the point.

@MagnusCrowe
Copy link
Contributor

Have you tried an 'UnlistedNumber' version of the ship holopad for pirate vessels?

@MagnusCrowe
Copy link
Contributor

MagnusCrowe commented Jan 21, 2025

Have you tried an 'UnlistedNumber' version of the ship holopad for pirate vessels?

I just added it and tested it out. Works perfectly. They make outgoing calls and their caller ID is correct but nobody can see their ship in the list. If you want, I can push the commit.

image
image
image

@Cheackraze
Copy link
Member Author

Cheackraze commented Jan 21, 2025

But I dont want it to be permanently unlisted, because that isnt ideal either. It should be toggleable, and also pirates or syndicate should be able to force a call not unlike the sheriff can emergency broadcast. There is a lot of possibilities for this through the system but its not all exposed to yaml yet, and didnt want to start changing the insides of the systems until the kinks are worked out and its more stable, as upstream is still pushing updates/bugfixes as well.

We are also still testing and figuring out alternative color schemes for those as well, and they will likely require matching color schemed sprites. I removed the pirate/syndicate versions from the scope of this PR because of that. See https://discord.com/channels/1123826877245694004/1127687656084611214/1330671409323577345 for some test hologram colors.

@whatston3
Copy link
Contributor

whatston3 commented Jan 22, 2025

Big heap of suggestions up here: https://github.com/new-frontiers-14/frontier-station-14/compare/master...whatston3:2025-01-21-telepad-formatting-suggestions?expand=1

Summary

  • All long-range holopads are not labelable. They should inherit the name of the ship they are on.
  • POI version unanchorable and indestructible - these are station resources and shouldn't be yoinkable to pretend you're the STC/SR/Sheriff.
  • All upstream holopads apart from the base are hidden from the spawn menu.
  • Added a function to StationRenameHolopadsSystem to rename a single holopad.
  • Added calls to relabel a holopad from HolopadSystem on MapInit (for constructed/flatpacked holopads) and Anchored.
  • Reparented and minimized NF holopad definitions.
  • Long range ship holopad has Grid distance removed.

Points worth note

  • Outstanding issue: how can we disassociate multiple long range holopads from one another when on the same ship?
  • The base holopad is fine as-is - it's only visible within your grid, so you can label it however you'd like. We can restore the regular short range holopad recipes to the lathe/research without issue, but this wasn't done on that branch (no harm in it for larger ships/stations).
  • Renaming long range holopads on anchor is important. If you unwrench a holopad and bring it to another ship, the ship's name should be accurate. Just like with the shuttle console comms, you shouldn't be able to impersonate a ship using a labeller.
  • Note: anchoring a long range holopad on an asteroid removes the label altogether. Probably fine, there's no station to provide a name.
  • If you want within-grid comms on long range ship holopads, not a huge issue, could restore Grid distance - the only holopads that are labelable are short-range ones, but more heads up would be useful on the UI proper to avoid calling another grid when you want your own. I figured it might be cleaner to separate long-range and short-range comms: map a long range one on the bridge, all others can be labelled short-range.

@new-frontiers-14 new-frontiers-14 deleted a comment from whatston3 Jan 22, 2025
@Houtblokje
Copy link
Contributor

  • All long-range holopads are not labelable. They should inherit the name of the ship they are on.

What about people who want to have a custom name for their business? Or the SR who wants to install a public holopad in the lobby or something? You can already change the name of a fax to do this, why should a holopad be any different?

@whatston3
Copy link
Contributor

What about people who want to have a custom name for their business? Or the SR who wants to install a public holopad in the lobby or something? You can already change the name of a fax to do this, why should a holopad be any different?

In my defence:

  1. Rename your ship.
  2. Great, it'll be "Frontier Outpost".
  3. Receiving a fax to a ship tells you that your fax is on, visible, and that somebody sent you a fax. Receiving a phone call tells others that somebody is present at the moment on your ship, likely in a particular spot once they're mapped, and gives your identity away immediately should you say something.

Moot point, check the branch.

Cheackraze and others added 2 commits January 27, 2025 10:20
* long-range holopad suggestions

* base holopads: HideSpawnMenu, not abstract

* Remove anchor Holopad event, restore grid to ship

* Restore labelling holopads

---------

Co-authored-by: Whatstone <[email protected]>
Copy link
Contributor

@arimah arimah left a comment

Choose a reason for hiding this comment

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

I tested this with @Tych0theSynth, and they seemed to work just fine.

  • I bought a Barge. Holopad was named automatically on ship purchase, as expected.
  • I put down a holopad flatpack on FO, it got the name 'Frontier Outpost'. Totally fine.
  • Renamed the FO holopad to 'SR's office', worked just fine.
  • Tych0 bought a Sprinter, put down a holopad flatpack. It got the name from his ship. Nice.
  • We had some conversations, worked beautifully. Tych0 would not buy my extended ship insurance warranty.
  • I made an emergency broadcast using an SR ID card. Good stuff. Totally didn't rename it to 'Real Emergency Broadcast System (Not Fake)'. Okay maybe I did.
  • The list of available holopads is fully dynamic, so ships show up as you buy them. 👀
  • Can easily have a private conversation while piloting and doing stuff around the ship. Awesome.
  • The location on the Barge is perfectly adequate.

Honestly not much more to say. They work great, look great, are fun to use, and feel nice and sci fi. I like 'em!

Copy link
Contributor

@whatston3 whatston3 left a comment

Choose a reason for hiding this comment

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

Requested changes made, commit tested previously.

@whatston3 whatston3 merged commit 65162a1 into master Jan 28, 2025
18 checks passed
FrontierATC added a commit that referenced this pull request Jan 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants