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

Highlight incomplete dungeon bounties on the Daily Quest window #1249

Open
blastedt opened this issue Oct 31, 2024 · 5 comments
Open

Highlight incomplete dungeon bounties on the Daily Quest window #1249

blastedt opened this issue Oct 31, 2024 · 5 comments
Labels
enhancement Improvement of an existing feature

Comments

@blastedt
Copy link

I use the Daily Window highlighting for completionist purposes on ZM and ZV - this is extremely helpful.

Many of the bounties are end bosses of dungeons. It would be excellent if these bounties were highlighted if I have not completed the dungeon on that character.

Thank you for making toolbox!

@blastedt
Copy link
Author

Trying to add the "feature request" tag but doesn't look like I have access, sorry

@blastedt
Copy link
Author

blastedt commented Nov 1, 2024

I have extra time and this is more likely to be completed if I do some initial investigations.

The message is handled by GetIncompleteStatusMessage in DailyQuestsWindow.cpp. This is itself only called in a lambda for certain types of daily (missions and vanquishes of course). The false here would need to be changed to true to enable the check.

It looks like the core issue with using GetIncompleteStatusMessage for bounties out of the box is that it uses a gw MapID to check completion against worldcontext, and the zaishen bounties currently have no map ids in this window code. Probably the easiest way to solve this (with zero context on guild wars modding) would be to associate the dungeon bounties with map ids manually like the Nicolas cycle. Then you could check for map->type == GW::RegionType::Dungeon in GetIncompleteStatusMessage.

This is where my understanding starts to break down. I'm not sure if you can check dungeon completion in the same way as mission completion, and though CompletionWindow.cpp does successfully perform this check I'm having trouble understanding it.

@blastedt
Copy link
Author

blastedt commented Nov 1, 2024

It looks like GWCA is getting WorldContext from a direct memory scan of the game process and I don't know if there's any documentation of that. Going to see if I can pull it from toolbox and inspect it somehow so I know what kind of check we need to perform.

edit: looks like toolbox has a debug tool for checking map info but not for world context, so I'm at a deadend unless I want to implement a worldcontext debug menu myself. Might do that tomorrow but probably not.

@blastedt
Copy link
Author

blastedt commented Nov 1, 2024

It sure looks like, from CompletionWindow, that dungeon completion is handled the same as mission completion. A list of mapids the completion buffer in worldcontext uses for the dungeons is in CompletionWindow.cpp.

@3vcloud 3vcloud added the enhancement Improvement of an existing feature label Nov 11, 2024
@blastedt
Copy link
Author

image
Looks like this is being done in latest version of toolbox, thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Improvement of an existing feature
Projects
None yet
Development

No branches or pull requests

2 participants