WQAchievements

WQAchievements

250k Downloads

Shadowlands: Errors

yoshimo opened this issue · 7 comments

commented

Since GetQuestTagInfo moved to
C_QuestLog.GetQuestTagInfo
we get a broken addon
https://www.townlong-yak.com/framexml/beta/Blizzard_APIDocumentation#C_QuestLog.GetQuestTagInfo

Date: 2020-08-29 21:55:42
ID: 40
Error occured in: Global
Count: 1
Message: ..\AddOns\WQAchievements\WQAchievements.lua line 2326:
attempt to call global 'GetQuestBountyInfoForMapID' (a nil value)

should probably call C_QuestLog.GetBountiesForMapID(mapID)

commented

Is this the only error?

Is there any WQ related stuff in the pre patch?

commented

I am drowing in SetBackdrop errors on the beta realm on all addons.
There will be a new quest to unlock wqs in shadowlands and a new type of daily wqs for your covenant but so far these two errors are all i saw for this addon. They might hide more.

commented

It's mainly the SetBackdrop change in 9.0 that is breaking pretty much every single addon which does CreateFrame, it's a simple fix luckily.

commented

There are more things that need changing beyond the GetQuestTagInfo change. I've made changes to my local copy but haven't been able to completely iron everything out, or I'd have a PR for you.

I'm taking some of my information from here: https://github.com/Stanzilla/WoWUIBugs/wiki/9.0.1-Consolidated-UI-Changes

Here are some things I have fixed:

  • GetQuestTagInfoC_QuestLog.GetQuestTagInfo
  • GetQuestBountyInfoForMapIDC_QuestLog.GetBountiesForMapID
  • GetQuestLogTitleC_QuestLog.GetTitleForQuestID
  • LE_GARRISON_TYPE_6_0Enum.GarrisonType.Type_6_0
  • LE_GARRISON_TYPE_7_0Enum.GarrisonType.Type_7_0
  • LE_GARRISON_TYPE_8_0Enum.GarrisonType.Type_8_0
  • LE_FOLLOWER_TYPE_SHIPYARD_6_2Enum.GarrisonFollowerType.FollowerType_6_2

The SetBackDrop change affects Libs/LibQTip-1.0/LibQTip-1.0.lua. I "fixed" it by adding Mixin(<frame_name>, BackdropTemplateMixin) before all instances of <frame_name>:SetBackdrop(...) but I'm not sure if that's the best fix. It's good enough for my purposes.

The bit I got stuck on was quest tracking in this section:

if IsWorldQuestHardWatched(id) or (IsWorldQuestWatched(id) and GetSuperTrackedQuestID() == id) then
    BonusObjectiveTracker_UntrackWorldQuest(id)
else
    BonusObjectiveTracker_TrackWorldQuest(id, true)
end

IsWorldQuestHardWatched has been removed. I don't know where IsWorldQuestWatched is from and GetSuperTrackedQuestID has changed to C_SuperTrack.GetSuperTrackedQuestID.

The game complained about the second parameter to BonusObjectiveTracker_TrackWorldQuest, at which point I gave up. It's working well enough for me.

Hopefully you find some of this useful.

commented

Thanks all for your help. I'll try to fix this at the weekend.

commented

Pushed a quick fix: https://github.com/Urtgard/WQAchievements/releases/tag/v9.0.1-3release

Looking good. In CheckMissions() you've missed a LE_FOLLOWER_TYPE_SHIPYARD_6_2 reference. There are also some LE_* references in commented out code. Not sure if that's something you care about.