Skip to content

Feature: location scouting - #205

Merged
nicopop merged 9 commits into
ManualForArchipelago:mainfrom
Et0san:feature/location-scouting
Apr 14, 2026
Merged

Feature: location scouting#205
nicopop merged 9 commits into
ManualForArchipelago:mainfrom
Et0san:feature/location-scouting

Conversation

@Et0san

@Et0san Et0san commented Feb 18, 2026

Copy link
Copy Markdown

Adds a scout button to locations set as scoutable: true in locations.json, that sends a hinted LocationScout.
I'm a newbie to Kivy, so I kept the edits as light as I could, but this could take a revamp of the location display structure to show better, with a fancy icon instead of the "Scout" text, both buttons in a proper BoxLayout so that we don't need placeholders in a 2 cols GridLayout and so that non-scoutable locations take the same space as scoutable (400px vs 350+50px, or 370+30 if we manage the fancy icon).

@nicopop

nicopop commented Feb 19, 2026

Copy link
Copy Markdown
Contributor

ill probably still take a look at the code and make a review but I requested both other devs since they know a lot more than me about kivy

@silasary silasary left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Gave this a quick spin, haven't done a full code review yet.

But two immediate things I noticed that should be changed:

  • You need to bump the client version number in __init__.py. This is something I really need to document better 😅

  • I don't like that the Scout button is still visible and unchanged once you've scouted a location.
    I can a few possible solutions:

    • Replace "Scout" with "Scouted"
    • Remove button entirely
    • Replace button with Label saying "contains Player1's Item"

My preference is the third one - applied to all hints (not just scouts) - but it is the most work of the three.

@Et0san

Et0san commented Feb 23, 2026

Copy link
Copy Markdown
Author

Gave this a quick spin, haven't done a full code review yet.

But two immediate things I noticed that should be changed:

  • You need to bump the client version number in __init__.py. This is something I really need to document better 😅

  • I don't like that the Scout button is still visible and unchanged once you've scouted a location.
    I can a few possible solutions:

    • Replace "Scout" with "Scouted"
    • Remove button entirely
    • Replace button with Label saying "contains Player1's Item"

My preference is the third one - applied to all hints (not just scouts) - but it is the most work of the three.

That I agree with.
I think I put it in a comment, or maybe I removed it, but for some reason I'm having trouble updating the UI in the callback? I tried two out of those three options. It seems to work perfectly with the check buttons but not with the scouts. Entirely removing the button breaks the layout, replacing with a spacer (or changing with a "Scouted" label) doesn't update the UI (does kivy needs call to an equivalent of repaint()?); and I think putting the hint directly there isn't that good since we have a tab for it, and it seems that it would take too much space there.
That's why I said I was willing to let someone experienced with kivy take my work and fix the button staying there.

@silasary

Copy link
Copy Markdown
Contributor

This might just because I'm used to having the manual client full screen on my second monitor, but we definitely have room for it.
image

That said, yeah, I can look into making it work if you're not able to wrangle Kivy 😄

@silasary silasary self-assigned this Feb 23, 2026
silasary
silasary previously approved these changes Apr 9, 2026

@silasary silasary left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

It's in a good state now :)

@silasary
silasary requested a review from nicopop April 9, 2026 04:01
nicopop
nicopop previously approved these changes Apr 9, 2026

@nicopop nicopop left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I hope this doesnt break too much of my #214 but otherwise it looks good
I hope this (205) get merged soon so I can deal with the merge conflict on my PR ;)
edit: did a test merge of every Client PR we have as of April 13 and it had no major conflict, just small tweaks

@silasary

Copy link
Copy Markdown
Contributor

@Et0san can I get your eyes on the changes I made to this PR?

@Et0san

Et0san commented Apr 14, 2026

Copy link
Copy Markdown
Author

Looks good! I don't know if it's feasible to prevent the UI from fully refreshing (and closing our opened categories; or if refreshing remembering the categories' deployed states)?

@silasary

Copy link
Copy Markdown
Contributor

Rewriting the entire thing to use a recycleview is absolutely something we can and probably should do. But it needs to be a standalone PR with a lot of testing

@nicopop
nicopop merged commit 058c99f into ManualForArchipelago:main Apr 14, 2026
2 checks passed
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.

3 participants