1. #1

    [WeakAuras] Xhul'horac Imps spawn counter

    Hello there. Sorry, I'm pretty bad at English.

    I spent good amount of time today, trying to figure out lua and custom triggers in WeakAuras. And failed.

    I tried to make WeakAura to watch, how many imps(I mean which wave of x3 imps) Xhul'horac(Mythic) spawned to help our raiders in their AoE-Control rotation. My first thought was to track combat log, but it seems like there is no any summoning cast or anything like that.
    Standart timers did not work too, because first spawn is at 22second, and all another are 24sec away from each other. Did not find how to cycle them or how to start 2nd trigger after 1st one expired either.

    Can someone assist me please?

  2. #2
    Bloodsail Admiral
    10+ Year Old Account
    Join Date
    Jan 2013
    Location
    Adelaide, Australia
    Posts
    1,146
    Do your raids have eyes?

  3. #3
    Nope. That's why we don't have full mythic yet.

    Anyway that is not about raiding or xhul'horac anymore. I just have to make that weakaura working.

  4. #4
    Number of imp waves = floor((t+2)/24)
    t is the fight length

  5. #5
    I don't quite understand what exactly do you want, but you can monitor when Spell #186532 is being casted to track if it's a new wave (by comparing the time of the previous cast and the current one's). You can monitor ENCOUNTER_START events to set the variable where you are going to store wave's # to 0.

  6. #6
    Pretty sure boss mods like BW and DBM show you a warning with wave number (DBM definitely does, not sure about BW). Why not use those?

  7. #7
    Quote Originally Posted by TOM_RUS View Post
    Pretty sure boss mods like BW and DBM show you a warning with wave number (DBM definitely does, not sure about BW). Why not use those?
    BW don't have wave number, did not look at DBM, I'll try this, thanks.

    I don't quite understand what exactly do you want, but you can monitor when Spell #186532 is being casted to track if it's a new wave (by comparing the time of the previous cast and the current one's). You can monitor ENCOUNTER_START events to set the variable where you are going to store wave's # to 0.
    That is kinda solution, but usually first AoE stuns lend before imps start cast anything, so counter won't increase till almost end of the wave.

  8. #8
    This thingie has 2 triggers: http://pastebin.com/4ZpmT7i3
    1st trigger is just a timer, 2nd trigger handles ENCOUNTER_START & COMBAT_LOG_EVENT_UNFILTERED.
    I can't test it in a raid, but I don't see why it wouldn't work.

  9. #9
    Your WA don't show anything at screen

  10. #10
    You made me go LFR. >:(

    Here's a fixed one: http://pastebin.com/dc1bZ0bm
    Please report if this one still shows up in P4, I fixed that after I left LFR but couldn't be arsed to queue again to check. 20 mins queue, Zakuun, fuck that.

  11. #11
    Thank you a lot, fixed version works perfectly fine. I just switched 25 seconds to 24 seconds between waves to make it more accurate.

    Can't say anything about P4, we did not hit it once today

    Hardest thing will be figuring out how that triggers work.

  12. #12
    Quote Originally Posted by Rivory View Post
    I just switched 25 seconds to 24 seconds between waves to make it more accurate.
    I was testing it with 24 seconds at first, but, for example, text for wave #13 was ~7 seconds ahead of the actual spawn.

    Today I had time to actually test it thoroughly and made a macro that told me time difference since the last use of said macro. Was getting 24.8-25.3 results.
    DBM just uses a timer that runs every 25 seconds, BW shows 22 secs since the spell I mentioned before (which is why you don't get a bar if you don't let them start casting). So I used 25 too.
    Also it seems it turns off in P4 properly.

    I also fixed a logical mistake I made in Untrigger function, here's an update: http://pastebin.com/fviFXtDL

    This is the macro, btw:
    Code:
    /run timediff = timediff or 0 print(GetTime() - timediff) timediff = GetTime()
    If you wanna test it yourself.

    --------------------------------------------------

    Quote Originally Posted by Rivory View Post
    Hardest thing will be figuring out how that triggers work.
    So, basically, I made two triggers. Made the aura show up when any of the triggers *cough* triggers, to make it easier for me.
    Trigger #1 happens every frame and does this:
    Code:
    1. Check if value of the variable called "checking" is 'true'. If it's not, exit the function, return false;
    2. Get current time and compare it with a variable that stores time for the next wave. If the former's less than the latter, exit the function, return false;
    3. Set that variable to current time + 25;
    4. Set another variable to current time (since I made the text to show for 10 seconds OR until all the imps die, whatever happens sooner, I need to store that);
    5. Increment the variable storing waves by 1 and the variable storing imps alive by 3;
    6. Return true (returning true makes the aura show up).
    To put it mildly, a timer.

    Trigger #2 listens to
    a) ENCOUNTER_START and does this
    Code:
    1. Set variables storing imps, waves to 0;
    2. Set "checking" to false.
    b) UNIT_SPELLCAST_SUCCEEDED and does this:
    Code:
    If it's a Fel Portal cast => Set the variable storing time for next wave to current time + 12 (this is actually very accurate); set "checking" to true.
    If it's a stacking buff on the boss that he gains in P4 => set "checking" to false.
    c) COMBAT_LOG_EVENT_UNFILTERED and does this:
    Code:
    1. Checks the message. If it's not "UNIT_DIED", then exit the function;
    2. If it is, then parse the unit's GUID. It contains an NPC ID for NPC units. If it is 94231, then decrement the variable storing number of imps by 1.
    To put it mildly, logic that decides whether the timer should be running and that handles imps dying.
    Last edited by Velithris; 2015-09-02 at 03:45 PM. Reason: added a macro

  13. #13
    My guild just started progression on M. Xhul, so ty for the WA!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •