Boss Filter for Ny'alotha
yesCurtis opened this issue ยท 3 comments
May I say that some nice words and a description what exactly you are requesting do indeed help when you want something from me in my free time.
Assuming you are requesting a filter like ny_wrathion_defeated
to show only groups that defeated the first boss Wrathion, I can already tell you that this is indeed not trivial to do. The reason for this is that the only information provided by Blizzard is the one you see in the tooltip when hovering with your mouse over a raid group: red colored names of bosses that have already been defeated.
In other words, C_LFGList.GetSearchResultEncounterInfo(resultID)
returns only a localized list of defeated boss names. So while this returns "The Prophet Skitra" in English, it will return "Der Prophet Skitra" in German (which is still similar but not exactly the same) but most likely something completely else with Chinese letters when the client is set to Chinese language.
This means I have to keep a list of localized boss names in the addon and I do not really know how to get all the names.
There is a way to get boss names from the encounter journal, e.g. /run EJ_SelectInstance(1180); local i,name,id; id=1; i=1; while id do name,_,id = EJ_GetEncounterInfoByIndex(i, 1180); print(i, id, name); i=i+1; end
lists all bosses in Ny'alotha and e.g. /dump EJ_GetEncounterInfo(2368)
dumps information about the first boss. However, we get "Furorion, der schwarze Imperator" here in German, but the tooltip on premade groups shows just "Furorion". So you cannot really match the two names except when you are a human, because there might be prefixes or suffixes to the actual name.
So until you tell me a good method to get the boss names exactly as in the premade groups tooltip, I see no way to provide you a reliable filter for single bosses.
Besides, there are already keywords defeated
, noid
, partialid
, fullid
, matchingid
, bossesmatching
, bossesahead
and bossesbehind
, which should provide something similar. Have a look at the Keywords page to see what they do.
Yeah, the non-linear nature of Ny'alotha makes me want a specific boss filter, too. Eg: I current want a group thats on Maut. I can filter "defeated == 1" to match all groups that just have Wrathion dead but then I lose all groups that went Skitra first. If I filter "defeated between 1 and 2" then I still get groups that killed Maut first.
This, of course, doesn't fix groups that have wrathion down but don't label which boss they're going to next, but theres some things addons can't solve.
I had an idea an hour ago. If the prophet won't come to the mountain, then the mountain must go to the prophet. Which means I added a table that maps the localized boss name to a bool (true if encounter has been completed, false otherwise). This matches exactly the red colored encounter names in the group tooltip.
So with version 1.33 being available in the next hours, you can use not boss["wrathion"]
for groups where Wrathion is not yet defeated (using an English client) or e.g. the monstrosity boss["Il'gynoth, die Wiedergeborene Verderbnis"]
for groups where Il'gynoth is down (using a German client). Make sure you use straight quotation marks, not the curly ones from Word. You may you all-lowercase or exactly like in the group tooltip.
Bonus: this works for all past, current and future raids.