TanukiSharp / MHArmory

Armor Set Search application for Monster Hunter: World
MIT License
26 stars 8 forks source link

Toggling any setting resets advanced search #1

Closed duckness closed 6 years ago

duckness commented 6 years ago

  1. set up an advanced search
  2. toggle Decorations override or rarity or gender or weapon slots
  3. advanced search settings have been overriden to the defaults

(also, it would be nice if the program saved advanced search parameters, as well as a toggle to reset parameters to default)

TanukiSharp commented 6 years ago

Hello Bjorn, thank you for opening this issue and the gif that greatly helps understanding the situation :)

The short answer is, this is not a bug, it's a feature. Hereafter is the long answer (of why).

First I think I should explain how the search algorithm works. The only way to make sure all sets are evaluated is to test them all against the selected skills and see if they match or not. To this end, it is necessary to test all combinations of equipment pieces and charms. Here are the data (as of 2018/10/08):

Which makes 22'823'113'379'040 (yes, about 23 thousands of billions) combinations. This is absolutely not doable in human time, so it is necessary to find some tricks. The search algorithm works as follow:

So what you see in the advanced search is the result of step 2. Most of equipments have been eliminated, and among the remaining ones, some are selected and some others are not. This is made available so the user can tweaks selection if Armory's one is not fully satisfying.

Each time you change weapon slots, decorations override, rarity or gender (referred to as input parameters later on), that changes the equipments to be eliminated at step 1, and thus impacts the step 2. That is the reason why advanced search seems to be "reset".

Even if I would persist your custom selection across searches, you may select a piece of equipment that could be eliminated for a search with new input parameters. The other way around is true too, you could unselect an equipment that could end up being the best match for a search with different input parameters.

So I'm afraid there is no easy solution to this problem.

What I could do however, is having an "equipments override" working the same way as decorations override, so you could tell Armory what equipment you do not have for it to not take it into account when searching. Is it what you mentioned by saying "it would be nice if the program saved advanced search parameters" ?

Would that be more satisfying ?

Please let me know if the above explanation is not clear. If it is clear and you understood the situation, then I hope you can come up with a good idea to solve this problem and make every other hunters benefit from it :)

As for the "reset parameters to default", do you mean to reset the default selection in the advanced search window to prior to user selection changes ? If this is what you meant, it's doable, but a bit complicated. I was planning to implement it when I added the Select all, Unselect all and Inverse selection buttons, but I didn't do it.

duckness commented 6 years ago

Ah I see, I was unaware that the list of equipment in the advanced search changes. You may ignore the request then. I only went to select all in advanced search due to Armory outputing zero results while ASS had 12 with the default search settings:

As for the "reset parameters to default", do you mean to reset the default selection in the advanced search window to prior to user selection changes ?

Yes similar to how Athena's ASS has one.

TanukiSharp commented 6 years ago

I only went to select all in advanced search due to Armory outputing zero results while ASS had 12 with the default search settings

Thank you for reporting me that, I'll investigate.

Yes similar to how Athena's ASS has one.

OK, I will try to do it.

TanukiSharp commented 6 years ago

Actually I made a quick test with the same settings as you, let me know if there is something wrong in my setup:

- Artillery level 3
- Capacity Boost level 1
- Evade Extender level 3
- Flinch Free level 1
- Guard level 3
- Handicraft level 4
- Protective Polish level 1
- Speed Sharpening level 2
- 1 weapon slot level 1
- Decorations override deactivated
- Rarity: 9
- Gender: female

I have 395'136 combinations and 1'136 matching results.

image

Which version of Armory are you using ? Could you make sure of the events selection please ? by clicking the Events menu at the top of the main window.

Since version 0.0.6.2 (2018/09/27) all events are active by default, but before that they were inactive by default. If you use a version lower than 0.0.6.2, or a higher version but kept your config.json file, you may have all the events disabled, and that might be the problem.

Please let me know how it goes. Thanks.

duckness commented 6 years ago

ah apologies, I forgot to show the event window. It's basically only the PC event items.

Which version of Armory are you using

I compiled 703ed1c66aba13a130af6ad780a9147b9765fe56

athena s armor set search for mhw v0 54b_2018-10-08_13-41-16 mharmory_2018-10-08_21-57-48

TanukiSharp commented 6 years ago

You can try the commit be2c1938251b7b2c6c2eab5c7ba4de4b67de04a3 where I added an equipment selection condition.

duckness commented 6 years ago

seems good