Closed puggan closed 6 years ago
Screnshoots
"Blademoon Bloom"(35014) in Loremaster, but red in Wholly
Wholly with Loremaster-setting
Wholly without Loremaster-setting
I am intrigued as to why Wholly and Loremaster have different results for the same zone. The reason is the technique that Grail uses is the same for both, and therefore, I would have imagined the results should be the same.
Grail has two tables of interest: Grail.loremasterQuests and Grail.indexedQuests
They have an index of the mapId. So, Grail.loremasterQuests[947] should give you the Shadowmoon Valley (Draenor) quests that are Loremaster, and Grail.indexedQuests[947] should give you all of the ones that start in the zone.
I just ran in PTR (as live was down), and indexedQuests was giving me a bit over 200 quests, while loremasterQuests was only giving me 7. Something is definitely wrong. The Grail-Achievements loadable addon is responsible for populating this information, so I will have to investigate what is happening there.
Basically what Grail-Achievements is meant to be doing is looking at the last quest required for each of the parts of an achievement, and then getting all the prerequisites for those quests (in that zone). This is meant to be the list that is required for Loremaster.
Grail-Achievements/Grail-Achievements.lua row 7009 - 7010
Grail.indexedQuests[achievement] = newTable
Grail.loremasterQuests[achievementsToZoneMapping[achievement]] = newTable
For Zone 949, there is 3 achivments: 508923, 508924, 509607
for each of thous 3, the code above adds a tale to indexedQuests at the achivment-id as position, and then tries to add it to the loremasterQuests at the zone-id as position = 949.
all 3 achivments wirtes to loremasterQuests[949], replacing it, insted of merging them.
I have pushed some code into the repository that I believe should correct the issue where the lore master quests are not correct for zones that have more than one achievement in them.
With the latest release is this problem fixed?
One assumes this is no longer a problem.
== Background == Trying to do the Drenor Loremasters, and use 2 addons thats uses the Grail database.
Wholly have an option to hides non-loremaster quests, by setting the useLoremasterOnly in QuestsInMap()
Setting this setting in Wholly hides the wrong quests, for example, the quest "Across the Stars"(33795)
Loremaster-addon, also use Grail, havn't diged down in what function it use yet, but it shows the "Across the Stars"(33795), but it also shows the quest "Blademoon Bloom"(35014) that I don't have done the required prequest.
Wholly marks the "Blademoon Bloom"(35014) as not doable, if I uncheck the LoremasterOnly.
It's abit anoying to have to compare the 2 addons to know what quests todo.
=== Side note === The achivvment "As I Walk Through the Valley of the Shadow of Moon"(8845) is compled by an alt character.
And found some code that did some kind of is-achivment-done, and tested to remove it, no result.
https://github.com/puggan/Grail/commit/64dfbb8d93692023563404cc1dca07e50694ab1f
== Questions ==