xmyno / Broker_WorldQuests

World of Warcraft addon for displaying world quests in list form.
http://www.wowinterface.com/downloads/info23964-Broker_WorldQuests.html
MIT License
11 stars 11 forks source link

WQ Availability changes #59

Closed yoshimo closed 1 year ago

yoshimo commented 1 year ago

I wonder about a few changes in https://github.com/xmyno/Broker_WorldQuests/commit/e730502811b4026522ac6dde1558e42bf4a09d1d

            level = "51" -- TODO: can we somehow find out if we have a character that reached 60?
            quest = "|cffffff00|Hquest:57559:-1|h[UNKNOWN TITLE]|h|r" -- TODO: find the corresponding Covenant lines
            errorText = "You need to unlock Shadowlands World Quests\non one of your characters."
if expansion == CONSTANTS.EXPANSIONS.DRAGONFLIGHT then
            level = "68"
            quest = "|cffffff00|Hquest:66221:-1|h[Moving On]|h|r"
            errorText = "You need to unlock Dragonflight World Quests\non one of your characters."

Isn't that a bit too simple when people go back in content or , in case of dragonflight, haven't done the corresponding questline yet? I would suggest to keep the hint at the right quests active.

yoshimo commented 1 year ago

For Shadowlands this isn't true, yes you can shortcut the unlock process as turning in the quest that lets you choose your covenant already completes 57559

            "+ Der erste Schritt(63576)[2] <= Tal-Inara(159478) 1670:38.82,69.76", -- [6941]
            "New quest completed 62000 Die Wahl Eurer Vorsehung", -- [6942]
            "New quest completed 57559 UNKNOWN NAME", -- [6943]

The first character on the account has to finish one of the 4 covenant campaigns until that quest completes.

I am still looking for the "threads of fate" indicator to be able to tell the two ways to unlock SL WQs apart.

Amadeus- commented 1 year ago

This repository is no longer being maintained. You should be using master of https://github.com/Amadeus-/Broker_WorldQuests now, and issues should be opened on that repository instead of this one.

The "checking" code has been fixed already for Dragonflight on the latest build that's released: 10.0.2.5. I'm not sure if Blizzard actually put in a hidden achievement to allow for us to check it on Shadowlands. If anyone finds it, let me know. But -- the Dragonlands "check" is in the latest version of the addon and should work:

    if not hasUnlockedWorldQuests then
        if (expansion == CONSTANTS.EXPANSIONS.DRAGONFLIGHT) then
            _, _, _, hasUnlockedWorldQuests = GetAchievementInfo(16326)
               -- Achievement 16326 is a "hidden" achievement that is awarded to the account the first time any
               -- character on the account completes the Dragonflight quest "Moving On"
    if not hasUnlockedWorldQuests then
        if not BWQ.errorFS then CreateErrorFS() end

        local level, quest, errorText
        if expansion == CONSTANTS.EXPANSIONS.DRAGONFLIGHT then
            errorText = "You need to unlock Dragonflight World Quests\non one of your characters."
                -- ....rest of the code block dealing with other expansions

So, all the expansions should work properly with regard to the logic of whether World Quests are unlocked yet except Shadowlands. If there was a hidden achievement in Shadowlands, I don't know what it was. If there wasn't a hidden achievement, then it means that there is no mechanism in the API to determine if Shadowlands WQs are actually unlocked, so the best we can do is check the level. It's not the end of the world -- it just means that the addon's list of world quests is just blank.