Archipelago icon indicating copy to clipboard operation
Archipelago copied to clipboard

Core: Introduce 'Hint Priority' concept

Open EmilyV99 opened this issue 1 year ago • 3 comments

What is this fixing or adding?

Hint Priority / Status

https://discord.com/channels/731205301247803413/731214280439103580/1249533510360891393 https://discord.com/channels/731205301247803413/731214280439103580/1251013061020745759 Various issues people have with hints stem from lack of being able to filter hints, as well as lack of ability to communicate a hint's usefulness to other players, especially in situations like large asyncs. This leads to some people not wanting to give "scout hints" in their games for seen items, to avoid clogging the hint tables with information that it isn't known if is useful or not.

This changes things. Hints now can be "Priority", "No Priority", "Found", "Avoid", or "Unspecified" status. In the CommonClient, you can Double-click or Right-click on a hint in the hints tab to cycle its' status. You cannot change the status to or from "Found", or to "Unspecified" (which is the default for location hints). You can only cycle status for hints where YOU are the RECIPIENT of the item. This action is a server-side action, sending an UpdateHint command to the server. (If the client does not have permission for that hint - i.e. is not the recipient - or the hint is not found, currently it is simply ignored)

Receiving Hints bugged

Additionally, this fixes the "receiving player" of a hint not properly having the hint update sent to them (this was an issue for Found already, and the issue also affected the new Status, so seemed worth fixing here)

Would be good in the future

Filtering for the hint tab would be nice (checkbox for each status, and for players the ability to filter by "for me", "from me", and perhaps even "not involving me" (which would be unchecked by default, as current behavior doesn't show hints not involving you)) - but after looking into that for a bit, I simply don't think I have either the energy or knowledge of kivy necessary to complete that myself; so I'll leave that for someone else to add. (This PR works fine without that, so).

How was this tested?

Have done a fair amount of local testing, making sure toggling the various statuses of various hints worked, between multiple slots, everything.

If this makes graphical changes, please attach screenshots.

image

EmilyV99 avatar Jun 10 '24 06:06 EmilyV99

Did you test if a multiworld that has the current hint system still worked when using your PR ?

Ishigh1 avatar Jun 16 '24 20:06 Ishigh1

Did you test if a multiworld that has the current hint system still worked when using your PR ?

Not directly loading an existing multi in the upgrade, no, I didn't test that

EmilyV99 avatar Jun 16 '24 23:06 EmilyV99

Did you test if a multiworld that has the current hint system still worked when using your PR ?

image Yep, if I take a multi that ran on an older server with a bunch of hints, and then run it on the new server, all the Not Found become Unspecified, while the Found remain Found.

EmilyV99 avatar Jun 19 '24 10:06 EmilyV99

Marked for merging at start of next version

NewSoupVi avatar Sep 22 '24 13:09 NewSoupVi

There are some internal discussions for the next version to be an especially short release cycle, so that we can get something out before Christmas break.

As such, merging this PR is a bit scary because it's quite a big one, and has the potential to break some stuff.

The way I will handle this is: If there are major issues discovered during RC phase for the next version, this PR might be reverted in its entirety, then re-merged after the next version releases.

NewSoupVi avatar Nov 29 '24 01:11 NewSoupVi