This site works best with JavaScript enabled. Please enable JavaScript to get the best experience from this site.
It appears that Uldir RaidDebuffs will not show unless the UI is reloaded while in the instance. Debuffs for raid mechanics are not shown if you just zone without a ui reload. Perhaps the module isn't loading correctly upon entering the instance?
I cannon reproduce the problem, try latest alpha version r832.
Are we talking about Uldir LFR or Uldir Normal/Heroic ?
Uldir Normal/Heroic. I have not been able to test the update yet.
Tried the latest alpha, same issue. Seems to only occur/occur more often when zoning in to the zone manually (such as getting summoned outside and walking in).
Enable Debugging: General -> Debug -> Click "Grid2RaidDebuffs", and paste here what is printed in chat when you enter Uldir raid.
When debuffs don't load:
And when they do load:
It seems new blizzard map api is not returning the correct map identifier for the zone :(. Is the Uldir loading screen in your computer fast or slow ?
Download version r834, it has a fast and ugly workaround that should work (a 3 seconds delay before loading raid debuffs for a new zone).
My load screen is usually only 1-3 seconds. With r834 it appears to have loaded correctly, I will update if I notice it stops working. Thanks for the quick responses.
This fix isn't working for me reliably. The debug shows " [Uldir][0/101861]" every first time i go into Uldir after starting wow.exe (after that it seems to work every time though).
I looked a bit into it, the issue seems to be that EJ_GetInstanceForMap returns 0 at the first loading screen even if you get the correct bm from C_Map.GetBestMapForUnit("player"), though I'm not sure a simple check for that wouldn't break outdoor debuffs loading...
Are you sure that C_Map.GetBestMapForUnit() does not return "nil" ? If this is not the case i like to know what is the value returned by that function.
The new api is seriously broken :(, im thinking in reseting raiddebuff configuration for all people and start using the old Instance identifiers, GetInstanceInfo() always return valid information.
Update:
I can reproduce your problem, It's seems GetBestMapForUnit() is a very well coded function, can return nil in some cases, and now can return wrong identifiers too (returns 1150 instead of the correct 1148 for Uldir), what is the next ? computer implosion calling the function ?.
Sorry im tired of this mess, raiddebuffs was working well for 8 years, and now its almost unfixable without some ugly workaround, maybe wait 10 seconds, half a minute ? what about using the "Im feeling lucky" button and load a random zone ? i dont know yet.
Yea I just added a debug print so it looks like this:
function GSRD:UpdateZoneSpells(event) local bm = C_Map.GetBestMapForUnit("player") if bm then local map_id = select(8,GetInstanceInfo()) + 100000 -- +100000 to avoid collisions with instance_id if event and map_id==instance_map_id then return end self:ResetZoneSpells() instance_id = EJ_GetInstanceForMap(bm) print("bm:", bm, "instance_id:", instance_id, IsInInstance() and "INSTANCE" or "OPEN WORLD") instance_map_id = map_id instance_map_name = GetInstanceInfo() for status in next,statuses do status:LoadZoneSpells() end self:UpdateEvents() self:ClearAllIndicators() else C_Timer.After(3, function() self:UpdateZoneSpells(true) end ) end end
After some more repetition and paying attention, I found that when you first log in into Uldir, C_Map.GetBestMapForUnit() sort of default to Ring of Containment (mapid 1150) even if you're somewhere else, then after some time it will return the correct map (or stay at this mapid if you're at that location).
Also, Uldir has mapids from 1148 to 1155, and EJ_GetInstanceForMap is broken (returns 0) only for the 1150, reloading ui at that location doesn't help there.
So yea I think the quick fix is to check for 1150 ...
Uploaded a new version with another fix, waiting for the next bug in GetBestMapForUnit()/EJ_GetInstanceForMap()
Clarification for future reference, this ticket fixes two different issues:
1. GetBestMapForUnit() some times (when the instance load screen is very fast) returns nil (fixed retrying later with a timer).
2. EJ_GetInstanceForMap() incorrectly returns 0 instead of 1031 for Uldir mapID 1150, fixed replacing 1150 with 1143 (GetInstanceForMap() does not fail with 1143). To trigger this bug, the toon must be inside Uldir when the player logs into the game.
There is another minor issue GetBestMapforUnit() some times returns incorrect mapID inside Uldir (1150 instead of 1143) but this does not matter, because both numbers are Uldir mapIDs and RaidDebuffs does not care about the the specific map inside Uldir.
To post a comment, please login or register a new account.