Would it be possible to sort the names in the dropdown alphabetically? I have a heck of a time trying to find a specific person in the dropdown when I'm trying to isolate their individual death reports.
Heh. Great minds think alike -- and so do ours! I had planned on hacking this out and then posting another "here's a local change" post with a diff.
It turns out this is remarkably hard to do without making either: (1) some code changes outside of Acheron, or (2) seriously invasive code changes within Acheron. I didn't feel I was in a position to do either.
The dropdown sorting is controlled by AceGUI, which accepts a table to populate the dropdown. The table under consideration is a mapping of GUIDs to names. AceGUI sorts by the keys and then displays the names. So the list you see when clicking on the Acheron dropdown appears unsorted, but is actually sorted by GUID... which themselves are vaguely sorted by character creation date.
Sorting by table values has some well-known approaches (link for simple starting point) but would require more functionality out of AceGUI's :SetList(). It could also be done by changing how the Acheron:GetAvailableReports() table is built, but that gets used everywhere.
Here's a local change I made a couple weeks ago that might be of interest.
Currently, if you get disconnected in the middle of a raid (or just have to relog), then when you log back in, Acheron will do its 'Clear All' routine. (That's including whether the user has clear-on-join enabled, including prompting, etc.) While it makes perfect sense to do this when forming up a group, it wasn't clear to me that clearing when relogging during a raid was a good thing. If there's a weird bug where I need to clear the entries, then I'll just click Clear All, not relog. If I'm relogging or getting disconnected, then clearing the death reports is not on my mind.
Anyhow, the patch is self-explanatory, figured I'd toss it out for the search engines to munch over.
--- Acheron.lua.orig 2009-03-19 23:32:54.475875000 -0400
+++ Acheron.lua 2009-04-18 21:16:57.749625000 -0400
@@ -334,7 +334,7 @@
-- change grouping status
- if (GetNumPartyMembers() > 0 or GetNumRaidMembers() > 0) and self.solo == "yes" and self:GetProfileParam("clearongroup") then
+ if (GetNumPartyMembers() > 0 or GetNumRaidMembers() > 0) and self.solo == "yes" and self:GetProfileParam("clearongroup") and (not IsInInstance()) then
self.solo = "no"
if Acheron:GetProfileParam("confirmclear") then
Well, you can change the drop-down menu to 'party' to report to /party chat.
I have a local tweak to my copy, where if 'raid' is selected and you are not in a raid, but are in a normal group, it will change to 'party' for that report only. Could be surprising behavior, so I haven't suggested it as default, but here it is if you want to do the same:
--- Display.lua.orig 2009-02-17 00:10:30.214243400 -0500
+++ Display.lua 2009-02-17 00:40:55.722596600 -0500
@@ -519,7 +519,13 @@
elseif channel == L["party"] then
if GetNumPartyMembers() == 0 then self:DoPrint(nil, L["Acheron: You are not in a party"]) return end
elseif channel == L["raid"] then
- if GetNumRaidMembers() == 0 then self:DoPrint(nil, L["Acheron: You are not in a raid"]) return end
+ if GetNumRaidMembers() == 0 then
+ if GetNumPartyMembers() > 0 then
+ channel = L["party"]
+ self:DoPrint(nil, L["Acheron: You are not in a raid"]) return
elseif channel == L["guild"] or channel == L["officer"] then
if not IsInGuild() then self:DoPrint(nil, L["Acheron: You are not in a guild"]) return end
elseif channel ~= L["say"] then
Any news on a possible fix for the "Do you want to clear me?" spam when people join raids? And that menu likes to hide behind stuff, any way to make it pop to the forefront?
If by menu you mean the confirmation popup, then one solution would be for the calling code to hide the main Acheron window at the same time the popup is shown. I often end up with the popup sitting behind the Acheron window, if I've opened it and clicked on 'clear all'. Since the next action that (I'd wager) most people take is to close the window anyhow, this would just be streamlining.
In the meantime, you can close the Acheron window and the popup will still be there; they're not tied together.
Still doesn't show anything special (although I like these new settings, thanks!). Just the fight going along, a hunter at 100% health, and then "0.000 Death". A minute or so later, a new entry with the same pattern. Repeat every few minutes for the duration of the fight, with no actual deaths.
I have no filters or auras or anything setup; haven't touched the config screen. Whatever happens as a result of upgrading from previous revisions is what I got. Anything in particular I should look at?
Edit: the hunters aren't actually dying, either; it reports multiple "deaths" in a single fight.
I think it's reporting hunter Feign Death as a death now too. At least, in the raid I was just in, hunters kept showing up with no damage showed, just "0.000 Death" by itself. I'll look to see if I can filter that with the aura blacklist/whitelist.
Thanks! I didn't see anywhere in the code where the version was already stored, but I admit I didn't look too closely. X-Curse-Packaged-Version had an extra digit's worth of info in the .toc that Version did, so I check that field first. I know that AceAddon-2 used to populate addon fields like .title and .version and the like, but I don't think AceAddon-3 does that by default.
Actually, ignore that. I wanted to be able to reply to your question with a "I'm using version so-and-so", which led to a long debugging session. The curse client was showing me every addon I have *except* Acheron and pomtracker for some reason, even after forcing various rescans and refreshes. So I missed the update from a couple weeks back and had no idea a new one was out. Sorry for the noise. I've updated Acheron manually now; there's a large raid tomorrow evening and somebody is certain to die as a testcase. :-)
As a side note, I couldn't find an in-game way of seeing Acheron's version. Maybe something like this (quick, dirty, kludgy) would be useful?
--- Display.lua.orig 2008-12-29 03:04:38.453125000 -0500
+++ Display.lua 2008-12-29 03:28:37.593750000 -0500
@@ -33,7 +33,9 @@
if self.frame then return end
local f = GUI:Create("Frame")
+ local ver = GetAddOnMetadata("Acheron", "X-Curse-Packaged-Version")
+ or GetAddOnMetadata("Acheron", "Version")
+ f:SetTitle("Acheron "..(ver or ""))
1. After a wipe, only 13 of 25 raid members were listed in Acheron. He hadn't released, so all of their deaths should have shown up in his combat log. I know there were some issues with this a while back, but since I haven't been raiding at all, I don't know if they were ever resolved, or if there's any kind of workaround.
Any update on this? Still seeing only a subset of people in 25-man raids. It doesn't seem to be related to what 5-man subgroup I'm in either.
Just started using this today, loving it. Definitely a win over the (now unmaintained) Grim Reaper.
Having a problem with reporting deaths to non-numeric channels (like party, raid, etc). With version 1.0.4, I'm seeing the rows simply printed to the chat window, followed by the header ("death report for so-and-so") sent to the correct channel. If I report to a numbered channel, like a private healers channel or whatever, then it works fine.
I did some printf-style debugging and it comes down to the "channel" variable inside Acheron:Report, around line 455, isn't a local variable. When Acheron:DoPrint is called for the header line, some other piece of code somewhere overwrites it. Then, when DoPrint is called in a loop to output the rows of data, "channel" is nil and DoPrint defaults to showing it in the local window.
Changing "channel" to be a local var fixes the problem.