Skip to content

Add HintItem and HintLocation commands for Archipelago - #596

Open
OmegaZeron wants to merge 3 commits into
black-sliver:masterfrom
OmegaZeron:feat/hint-location
Open

Add HintItem and HintLocation commands for Archipelago#596
OmegaZeron wants to merge 3 commits into
black-sliver:masterfrom
OmegaZeron:feat/hint-location

Conversation

@OmegaZeron

@OmegaZeron OmegaZeron commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

What does this feature do

Adds Archipelago:HintItem and Archipelago:HintLocation functions. These will just use the pre-existing Say command to post !hint [item] and !hint_location [location] to the server.

Why is this feature wanted

The current hint functions either only work with the apmanual flag or will ignore AP's hint costs. For people using a tracker that doesn't have item or location names that match exactly what AP expects, it can be a chore to find the correct name. This way the tracker can send the correct names, or even IDs, to the server without the user having to find the info by digging through GitHub or DataPackage.

How was this tested

  • With no locations checked and AP hint cost 15%, I ran both of these functions in OnClear. They correctly returned true and did not create a hint on the server
  • With no locations checked and AP hint cost 0%, I ran both of these functions in OnClear. They correctly returned true and created a hint, and my section highlights updated
  • I ran both of these functions in init.lua, and they both correctly returned false as the slot was not connected yet

Potential improvements

  • apclient.hpp has this line (1091) for its Say function: if (_state < State::ROOM_INFO) // or SLOT_CONNECTED?. I am also unsure how much this matters because as far as I know PopTracker shouldn't ever be in ROOM_INFO state (at least that we can interact with) since the slot is required to connect, but it's possible this should be changed to SLOT_CONNECTED anyway
  • Currently if the Say command is successful, but a hint was not created because the user doesn't have enough hint points or the item/location does not exist, there is no feedback we can use to display to the user. I am unaware if there's an API response we can listen to for this, but if there is it could be useful since the only feedback currently is literally nothing happening. I had a text client open while testing, and the usual "You don't have enough hint points" message didn't post, I assume because it only responds to the specific connection that requested it, not any client with that slot connected

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant