WeakAuras / WeakAuras2

World of Warcraft addon that provides a powerful framework to display customizable graphics on your screen.
https://weakauras.wtf
GNU General Public License v2.0
1.31k stars 318 forks source link

Adding popular zone/zone group IDs to the load condition's mouseover tooltip might be neat #1151

Closed Causese closed 5 years ago

Causese commented 5 years ago

Is your feature request related to a problem? Please describe. To provide zone ID / zone group IDs easier to users similar to how it's done for encounterIDs

Describe the solution you'd like Simply adding these to either the zone Id / zone group Id tooltip:

Zone ID(s)

Dungeons Freehold: 936 Kings' Rest: 1004 Siege of Boralus: 1162 The MOTHERLODE!!: 1010

Zone Group ID(s)

Raids Uldir: 384 Battle of Dazar'alor: 396 Crucible of Storms: 393

Dungeons Atal'Dazar: 275 Shrine of the Storm: 281 Temple of Sethraliss: 283 The Underrot: 282 Tol Dagor: 277 Waycrest Manor: 279

InfusOnWoW commented 5 years ago

I really dislike having to maintain a hardcoded list. Thusunless there's a way to automatically generate such a list, I don't think we would add this.

emptyrivers commented 5 years ago

Agreed

oratory commented 5 years ago

Couple random ideas on this:

  1. Using GetInstanceInfo(), build a local-to-client list, over time as the player enters new dungeons.
  2. Add support for a tooltip and make an API so that other people can make auras which add to the tooltip's content.
mrbuds commented 5 years ago

i think it's doable, from something caucese did to get list of last tier zone group id

print("####")
EJ_SelectTier(EJ_GetNumTiers())
local raid = false
local instance_index = 1
local name
local instance_id
local instances = {}
local instances_mapID = {}
local instances_groupMapID = {}
repeat
   instance_id = EJ_GetInstanceByIndex(instance_index, raid)
   instance_index = instance_index + 1
   if instance_id then
      EJ_SelectInstance(instance_id)
      local iname,_,_, _,_,_,dungeonAreaMapID = EJ_GetInstanceInfo();
      instances_mapID[dungeonAreaMapID] = iname
      local mapGroupId = C_Map.GetMapGroupID(dungeonAreaMapID)
      if mapGroupId then
         instances_groupMapID[mapGroupId] = iname
      end
   end
until not instance_id
print("* map ids: *")
for k,v in pairs(instances_mapID) do
   print(k,v)
end
print("* group map ids: *")
for k,v in pairs(instances_groupMapID) do
   if v ~= true then
      print(k,v)
   end
end

prev prev

InfusOnWoW commented 5 years ago

Iterating over all map ids and checking if anything has the same name as the dungeon? That doesn't feel very good to me.

mrbuds commented 5 years ago

i have updated the algorithm to not iterate over all ids

InfusOnWoW commented 5 years ago

Right, that's much better and somewhat on par with get_encounters_list()