Endarken Me

This project is experimental.

This project is only experimental and may change drastically between now and when it comes out of experimental status. It may even be disapproved once that happens, worst-case.

Be forewarned before downloading anything from this project.

Endarken Me will scan the talents of your party or raid and quickly indicate the best target for Dark Intent based on Gherkin's Dark Intent list.

The selected target will be whispered to stay near until Dark Intent is cast.

Still experimental and in development.

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of XylanTrueheart XylanTrueheart Feb 22, 2012 at 15:31 UTC - 0 likes

    Hello andr0id. So far this addon is shaping up nicely. No errors since the last patch. Just the chat spam at beginning about the main hand inspection still persists. One thing I did notice though. When a LFD group wiped a couple nights ago EM didn't remind or suggest to rebuff after everyone rezzed. So you know. Keep up the good work.

  • Avatar of XylanTrueheart XylanTrueheart Jan 27, 2012 at 18:40 UTC - 0 likes

    Hello again adnr0id. I been using the addon with mostly success. Some odd behavior has appeared. I noticed one behavior when playing with my girlfriend who has a level 85 Human Arcane Mage. We frequently duo together and I frequently manually cast Dark Intent on her even if Endarken Me doesn't suggest it. When we queue for a LFD and we get a group and once we enter the instance Endarken Me will whisper her the message. Then I would see the main hand error message in chat about the group and then Endarken Me will whisper another group member to do the DI cast. Not sure what is going on there. I do have a good few addons and I load into these instances frequently last.

    Next behavior I noticed the other day was when we (my girlfriend and I) were in a LFD pug and we chained a few instances with the same group. I had cast DI on a group member suggested by EM at the beginning of the run. However after a time I saw that DI had run out but EM never reminded me to renew the DI. Wonder if EM was supposed to remind me to rebuff DI or not.

    Also I did see a rare error message that BugGrabber saw. This was with a group we picked up later as we entered the instance.

    4x EndarkenMe\EndarkenMe-r20120120055418.lua:958 Usage: CheckInteractDistance("unit", distIndex)
    <in C code>
    EndarkenMe\EndarkenMe-r20120120055418.lua:958 in function "?"
    Ace3-r1045\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:147 in function <Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:147
    <string>:"safecall Dispatcher[7]":4: in function <string>:"safecall Dispatcher[7]":4
    <in C code>
    <string>:"safecall Dispatcher[7]":13: in function "?"
    Ace3-r1045\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:92 in function "Fire"
    LibGroupTalents-1.0\LibGroupTalents-1.0-68.lua:995 in function "OnReceiveTalents"
    LibGroupTalents-1.0\LibGroupTalents-1.0-68.lua:927 in function "?"
    Ace3-r1045\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:147 in function <Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:147
    <string>:"safecall Dispatcher[5]":4: in function <string>:"safecall Dispatcher[5]":4
    <in C code>
    <string>:"safecall Dispatcher[5]":13: in function "?"
    Ace3-r1045\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:92 in function "Fire"
    LibTalentQuery-1.0\LibTalentQuery-1.0-90086.lua:259 in function <LibTalentQuery-1.0\LibTalentQuery-1.0.lua:243
    (tail call): ?

    Locals:
    nil

  • Avatar of andr0id andr0id Jan 21, 2012 at 14:38 UTC - 0 likes

    Inspections are still missing mainhand weapon, so I'm still trying to figure it out. Taint issue appears fixed.

  • Avatar of XylanTrueheart XylanTrueheart Jan 19, 2012 at 15:58 UTC - 0 likes

    Hello again andr0id. I installed the latest version after uninstalling the previous version. Playing on my Demo lock as usual I tried out the new version. It is by far the superior version of any you've put out. It works nicely. One small glitch I noticed. There were no errors seen but my chat window does get spammed occasionally as thus below:

    Unable to obtain mainhandID for >player name< party2
    Unable to obtain mainhandID for >player name< party2
    Unable to obtain mainhandID for>player name< party4
    Unable to obtain mainhandID for >player name< party4

    This was occasional, lasted from beginning of a random LFD group to the end with the same party members throughout. This spammage was not like the massive hundreds of lines as I reported in a earlier version.

    Next is the taint I noticed in the log file.

    1/18 23:54:28.443  An action was blocked in combat because of taint from EndarkenMe - EdmFrame_Spell:SetAttribute()
    1/18 23:54:28.443      Interface\AddOns\EndarkenMe\EndarkenMe.lua:340 SelectDarkIntentTarget()
    1/18 23:54:28.443      Interface\AddOns\EndarkenMe\EndarkenMe.lua:385 RequestNextInspect()
    1/18 23:54:28.443      Interface\AddOns\EndarkenMe\EndarkenMe.lua:829 ?()
    1/18 23:54:28.443      Interface\AddOns\EndarkenMe\EndarkenMe.lua:878

    I do encourage you to please install, in additon to the /edm rescan command, a button to do this. Admittedly I am too lazy to bother with command line typing :P

    Do keep up the good work and I enjoy this little mod very much.

  • Avatar of andr0id andr0id Jan 18, 2012 at 14:46 UTC - 0 likes

    I've added a few things.

    First through some very non-obvious API calls, I can figure out the completed size of a raid group, so the default behavior is now to not pick a DI target until the group is full. This should avoid whispering somebody they have DI and then somebody better coming along. (also known as the "Better Offer" issue)

    A pick can be forced using /edm rescan

    I may add a button for this at a later time.

    Secondly, I've figured out that even though I'm getting inspect complete messages, that sometimes I'm still not getting the mainhand weapon ID. For the most part, it doesn't matter since it's only used to decides between pretty bad choices anyway. But I have coded around nil returns from the API and you should see less Lua errors.

    Last edited Jan 18, 2012 by andr0id
  • Avatar of XylanTrueheart XylanTrueheart Jan 16, 2012 at 02:58 UTC - 0 likes

    Hello andr0id. Thank you for a fast inclusion of my timer idea. The countdown feature is much appreciated. The "better offer" situation isn't confined just to 25-man LFR but same server pug groups as well. And this also occurs whenever I group for a mage port as well.

    And for the sake of completeness I include the lastest error report too ;)

    35x EndarkenMe\EndarkenMe-r20120116012930.lua:746 Usage: GetItemInfo(itemID|"name"|"itemlink")
    <in C code>
    EndarkenMe\EndarkenMe-r20120116012930.lua:746 in function "?"
    EndarkenMe\EndarkenMe-r20120116012930.lua:793 in function <EndarkenMe\EndarkenMe.lua:791

    Locals:
    self = <table> {
     RequestNextInspect = <func> @..\EndarkenMe.lua:370
     Button_OnInfo = <func> @..\EndarkenMe.lua:1117
     ResetTotals = <func> @..\EndarkenMe.lua:952
     major = 1
     LibGroupTalents_Update = <func> @..\EndarkenMe.lua:851
     CheckOutOfRangeQueue = <func> @..\EndarkenMe.lua:390
     RAID_ROSTER_UPDATE = <func> @..\EndarkenMe.lua:653
     LibGroupTalents_Add = <func> @..\EndarkenMe.lua:820
     ShowGroup = <func> @..\EndarkenMe.lua:1011
     PLAYER_REGEN_DISABLED = <func> @..\EndarkenMe.lua:782
     Button_OnClose = <func> @..\EndarkenMe.lua:1110
     HandleMemberChange = <func> @..\EndarkenMe.lua:600
     UpdateGroupMemberData = <func> @..\EndarkenMe.lua:534
     Button_OnReportLoad = <func> @..\EndarkenMe.lua:1127
     CleanGroupMemberData = <func> @..\EndarkenMe.lua:516
     LibGroupTalents_Remove = <func> @..\EndarkenMe.lua:842
     UpdateHastePct = <func> @..\EndarkenMe.lua:406
     SelectDarkIntentTarget = <func> @..\EndarkenMe.lua:297
     LibGroupTalents_UpdateComplete = <func> @..\EndarkenMe.lua:886
     PLAYER_REGEN_ENABLED = <func> @..\EndarkenMe.lua:765
     ShowTarget = <func> @..\EndarkenMe.lua:1027
     UNIT_AURA = <func> @..\EndarkenMe.lua:672
     build = "0.b"
     PARTY_MEMBERS_CHANGED = <func> @..\EndarkenMe.lua:646
     ShowBuffInfo = <func> @..\EndarkenMe.lua:975
     UpdatePriList = <func> @..\EndarkenMe.lua:269
     ShowTotals = <func> @..\EndarkenMe.lua:923
     Initialize = <func> @..\EndarkenMe.lua:1051
     UpdateAutoToggle = <func> @..\EndarkenMe.lua:465
     minor = 0
     INSPECT_READY = <func> @..\EndarkenMe.lua:740
     Toggle = <func> @..\EndarkenMe.lua:1039
     UpdateTargetBuff = <func> @..\EndarkenMe.lua:445
     ShowPriority = <func> @..\EndarkenMe.lua:962
     InitFrames = <func> @..\EndarkenMe.lua:799
    }
    guid = "0x0580000005D678CD"
    p = <table> {
     class = "SHAMAN"
     lclass = "Shaman"
     spec = "Elemental"
     uptime = 0
     name = "***********"
     inspected = false
     mainhandType = 0
     priority = 99
     groupID = "party4"
    }
    groupdb = <table> {
     0x05800000064983F3 = <table> {}
     0x07000000015F0535 = <table> {}
     0x0580000005D678CD = <table> {}
     0x05800000053E52A0 = <table> {}
    }
    inspectInProgress = false

    Last edited Jan 16, 2012 by XylanTrueheart
  • Avatar of andr0id andr0id Jan 15, 2012 at 23:52 UTC - 0 likes

    Thanks Xylan,

    Thank you for your comments and bug reports!

    That's a good idea on the buff bar, i will add minutes to the lower bar.

    Yes, i have noticed the "better offer" problem in 25 LFR and I'm still thinking about how to fix it. But I agree, it definitely needs something.

    My current to do list is kind of like this:

    Fix better offer problem

    Fix Lua errors during inspect

    GUI pop out to see group, DI target and uptime stats (added (i) button in upper left, for now it reports in chat.

    A GUI to allow user to set class spec priority since this changes somewhat on each patch.

    I got a 2nd account so I could party with myself to debug and work on this more and now my daughter is using it all the time!!!

    Andy

  • Avatar of XylanTrueheart XylanTrueheart Jan 14, 2012 at 15:39 UTC - 0 likes

    A recommendation or two. Not knowing your full plans on this addon I would like to make some recommendations since this addon is approaching stability and reliability. One on the buff timer. The buff bar is a nice idea but it lacks the specific time left on the buff. All it shows at the moment a crawl bar count down with no number. It would be neat if it would show a time left superimposed on it or some such.

    Next I managed to get into a raid for Baradin Hold 25 and it worked nicely with the exception of the error I posted earlier. However I was invited at the beginning of the raid and over time when watching the roster build the addon would make a recommendation as the appropriate class enters the raid and then repeat itself as another recommended class enter and so on. I was the only lock in the raid by the way. Is there a way that this addon would NOT whisper the intended target until the raid is full and assembled in range and buffing begins? I think this would minimize confusion with those having been whispered and buffed with Dark Intent and notice that later I had buffed another more appropriate class.

    Otherwise I am pleased with the progress of this addon and you are doing fine work.

  • Avatar of XylanTrueheart XylanTrueheart Jan 14, 2012 at 00:16 UTC - 0 likes

    I like to also include a taint from this addon I noted in the taint log.

    1/13 18:40:38.984  An action was blocked in combat because of taint from EndarkenMe - EdmFrame_Spell:SetAttribute()
    1/13 18:40:38.984      Interface\AddOns\EndarkenMe\EndarkenMe.lua:339 SelectDarkIntentTarget()
    1/13 18:40:38.984      Interface\AddOns\EndarkenMe\EndarkenMe.lua:383 RequestNextInspect()
    1/13 18:40:38.984      Interface\AddOns\EndarkenMe\EndarkenMe.lua:764 ?()
    1/13 18:40:38.984      Interface\AddOns\EndarkenMe\EndarkenMe.lua:799

    And I like to append this error message I saw in a Random 5 man Twilight dungeon as well.

    2x EndarkenMe\EndarkenMe-r20120112155934.lua:870 Usage: CheckInteractDistance("unit", distIndex)
    <in C code>
    EndarkenMe\EndarkenMe-r20120112155934.lua:870 in function "?"
    Ace3-r1045\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:147 in function <Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:147
    <string>:"safecall Dispatcher[7]":4: in function <string>:"safecall Dispatcher[7]":4
    <in C code>
    <string>:"safecall Dispatcher[7]":13: in function "?"
    Ace3-r1045\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:92 in function "Fire"
    LibGroupTalents-1.0\LibGroupTalents-1.0-68.lua:995 in function "OnReceiveTalents"
    LibGroupTalents-1.0\LibGroupTalents-1.0-68.lua:927 in function "?"
    Ace3-r1045\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:147 in function <Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:147
    <string>:"safecall Dispatcher[5]":4: in function <string>:"safecall Dispatcher[5]":4
    <in C code>
    <string>:"safecall Dispatcher[5]":13: in function "?"
    Ace3-r1045\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:92 in function "Fire"
    LibTalentQuery-1.0\LibTalentQuery-1.0-90086.lua:259 in function <LibTalentQuery-1.0\LibTalentQuery-1.0.lua:243
    (tail call): ?

    Locals:
    nil

    Last edited Jan 14, 2012 by XylanTrueheart
  • Avatar of XylanTrueheart XylanTrueheart Jan 14, 2012 at 00:11 UTC - 0 likes

    Hello again andrOid. This version is much improved. It works and the endless spamming in my chat has ceased. It made one recommendation at beginning of my group and never had to recommend another.

    There is still the mouse over error message. I know you are working on this but I post it nonetheless for completeness sake.

    Uninstalled the previous version and installed the lastest version posted here.This error appeared on my Level 85 Human Demo Warlock in a 5 man random Twilight random instance. This group stayed the same trhoughout the whole run with no changes in the members. As seen by BugGrabber, enUS client.

    142x EndarkenMe\EndarkenMe-r20120112155934.lua:752 Usage: GetItemInfo(itemID|"name"|"itemlink")
    <in C code>
    EndarkenMe\EndarkenMe-r20120112155934.lua:752 in function "?"
    EndarkenMe\EndarkenMe-r20120112155934.lua:799 in function <EndarkenMe\EndarkenMe.lua:797

    Locals:
    self = <table> {
     RequestNextInspect = <func> @..\EndarkenMe.lua:370
     ResetTotals = <func> @..\EndarkenMe.lua:956
     major = 0
     LibGroupTalents_Update = <func> @..\EndarkenMe.lua:857
     CheckOutOfRangeQueue = <func> @..\EndarkenMe.lua:390
     RAID_ROSTER_UPDATE = <func> @..\EndarkenMe.lua:658
     LibGroupTalents_Add = <func> @..\EndarkenMe.lua:826
     ShowGroup = <func> @..\EndarkenMe.lua:1000
     PLAYER_REGEN_DISABLED = <func> @..\EndarkenMe.lua:788
     Button_OnClose = <func> @..\EndarkenMe.lua:1098
     HandleMemberChange = <func> @..\EndarkenMe.lua:605
     UpdateGroupMemberData = <func> @..\EndarkenMe.lua:539
     Button_OnReportLoad = <func> @..\EndarkenMe.lua:1111
     CleanGroupMemberData = <func> @..\EndarkenMe.lua:521
     LibGroupTalents_Remove = <func> @..\EndarkenMe.lua:848
     UpdateHastePct = <func> @..\EndarkenMe.lua:406
     SelectDarkIntentTarget = <func> @..\EndarkenMe.lua:297
     LibGroupTalents_UpdateComplete = <func> @..\EndarkenMe.lua:890
     PLAYER_REGEN_ENABLED = <func> @..\EndarkenMe.lua:771
     ShowTarget = <func> @..\EndarkenMe.lua:1015
     UNIT_AURA = <func> @..\EndarkenMe.lua:677
     build = "g"
     PARTY_MEMBERS_CHANGED = <func> @..\EndarkenMe.lua:651
     ShowPriority = <func> @..\EndarkenMe.lua:966
     UpdatePriList = <func> @..\EndarkenMe.lua:269
     ShowTotals = <func> @..\EndarkenMe.lua:927
     minor = 99
     UpdateAutoToggle = <func> @..\EndarkenMe.lua:470
     Button_OnReport = <func> @..\EndarkenMe.lua:1105
     INSPECT_READY = <func> @..\EndarkenMe.lua:746
     Initialize = <func> @..\EndarkenMe.lua:1039
     Toggle = <func> @..\EndarkenMe.lua:1027
     UpdateTargetBuff = <func> @..\EndarkenMe.lua:450
     InitFrames = <func> @..\EndarkenMe.lua:805
    }
    guid = "0x0500000004C6E1EB"
    p = <table> {
     class = "WARRIOR"
     lclass = "Warrior"
     spec = "Fury"
     uptime = 0
     inspected = false
     name = "************"
     mainhandType = 0
     priority = 99
     groupID = "party4"
     realm = "Dentarg"
    }
    groupdb = <table> {
     0x0500000004C6E1EB = <table> {}
     0x0580000007C1227F = <table> {}
     0x05800000074D2799 = <table> {}
     0x0580000007236A6C = <table> {}
    }
    inspectInProgress = false

    Last edited Jan 14, 2012 by XylanTrueheart

Facts

Date created
Oct 06, 2011
Categories
Last update
Jan 28, 2012
Development stage
Alpha
License
All Rights Reserved
Downloads
388
Recent files

Authors