After reading an interesting post on monitoring sheep I decided to ask my questions.
This seems possible but I am not sure it is a built in function. I am trying to
monitor my Freezing Trap. I have built an Icon with a separate timer which works well
enough but I would like to be able to hide it if broke early. I use two pieces for this,
one for the Icon and one for the timer, I couldn't see a way to do it with just a single
display. Also I have to duplicate this for each spec I use it on due to having a different
timer, not sure if there is a way to have the timer change based on spec. I have looked
at the custom settings for hide which I could not figure out, so currently it just uses a timer.
This would work really well if I had the same kind of trigger options to hide the Icon as I
do for show Icon but still allow me to use the timer if it doesn't break early. Additionally
I will want to add some messages and stuff to alert me but I think the options for that will
work, haven't tried it yet.
If anyone knows a site to see some setups and configurations used by other hunters
that would be useful also. Any help would be great. Thanks
Well, the easiest solution would probably be to simply use an Aura trigger, with Unit set to "Focus", to track the status of Freezing Trap on your focus. This will show the remaining time, and hide when the debuff is broken, automatically. However, if you want a "global" tracker - one that does not require to have the frozen mob on focus - it might take a little more work.
In that case, here's what I would do:
First of all, this situation calls for two triggers. The first tracks the expected duration of the trap, and the second ensures that it will hide when broken.
For the first trigger:
Trigger Type: Event
Event: Combat Log
Message: Spell Aura Applied
Source Unit: Player
Spell Name: Freezing Trap
Duration (s): 60 (or however long it is expected to last)
The second trigger checks SPELL_AURA_APPLIED and SPELL_AURA_REMOVED combat log messages to track when Freezing Trap is applied and removed. Unfortunately, this requires a Custom Trigger (it should be possible with another Event -> Combat Log trigger, but it is not due to a small configuration bug).
Trigger Type: Custom
Event Type: Event
if(message == "SPELL_AURA_APPLIED" and UnitIsUnit(source or "", "player") and spell == "Freezing Trap") then
if(message == "SPELL_AURA_REMOVED" and UnitIsUnit(source or "", "player") and spell == "Freezing Trap") then
Finally, this functionality should be easier in 1.4, where "All targets" aura checking (aura checking based on combat log messages instead of unit checking) will be a default option of Aura triggers.
I really appreciate your reply. I am not sure if you misunderstood some of the question or if I was not clear so I cannot tell what the first trigger you list is for. I don't think I need it. It is basically what I had come up with already but doesn't do what I want. The second trigger does exactly what I was trying to do. Which brings up my next issue. I had setup a separate timer to overlay the Icon for obvious reasons. Seeing your solution to the Icon issue makes me think there must be a similar way to hide this timer if it breaks early also. Under Hide: Custom there are several options. While I mostly understand how the Custom Untrigger works I am unsure how the other options work. I am guessing I can use some kind of function under Duration Info to accomplish this. Assuming I can use more than one of these how do they work? What causes it to run these functions? Are they checked any time this trigger is checked same as the Custom Untrigger? Is any data passed to them? Will they hide on just one true or do they all have to be true like multiple triggers on the same display? Assuming this can be done this way, is there a way for the timer to know how long the effect lasts without hard coding it?
While I am interested in the best way to do this, I have accomplished this using two triggers on the timer. The first one uses the standard Hide Duration that you used on the first trigger. The second uses the Customer Untrigger you supplied. This seems to be working but it seems inefficient to use two triggers to accomplish this. Also when setting this up it seems like Main Trigger has to be the one to use the Hide Duration timer. It would not work using the Customer Untrigger as the Main Trigger. Not sure if that is intentional, or something I did wrong. From a usability perspective it seems like it should be fine either way but maybe there is a reason for this.
I appreciate any help with this. I am new to WoW and will be trying to learn more about the API and how it works. I am unsure if there is some documentation or a FAQ for WeakAuras that would answer some of my questions. I have been unable thus far to locate this info.
Thanks for your help.
First of all: the solution I posted was intended to be for the timer display. The first trigger is unnecessary for the Icon display, as its only purpose is to provide duration info.
However, now that you mention it, the Duration Info field of Custom Triggers can be used for this purpose as well, and as you suspect, it is more efficient to do it this way. Unfortunately, the Duration Info, Name Info, etc. fields do not have documentation at the moment (mostly due to my own laziness). To accomplish what you want, use the following code:
return 60, GetTime() + 60
That will remove the need for the first trigger altogether.
And yes, it is intentional that only the Main Trigger will send Duration, Name, etc. Info to the display.
Thanks for the clarification, I can see that the misunderstanding was on my part and it makes sense that it was the timer. I put in the code for the duration you gave and so far it seems to work perfect. Thanks so much for the help, I think I have exactly what I was looking for.
Is the "global" tracker you have done for "freezing trap" working correctly on last version (r164)?
He is triggering and showing the timer, but can't Untrigger.
I tried the "multy targets" aura checking, but the timer only shows if you actually target the mob, otherwise i only see "?".
Any help is appreciated.
Is it possible for a progress bar using Multi-target to gather duration information from the mouseover in the current version? As Pastilhas said it currently only triggers for target (and possibly focus - I haven't tried) with default settings.
I'm also trying to get trap information on arbitrary targets, and mouseover updating would be an optimal solution.
Are yo using Aura checking for this or the above combat log solution (@Magdain & @ Pastilhas)?
Hi and thx on replying.
Using Combat Log Situation:
Frost trap testing:
If, "Require for Activation" = All Triggers, then it don't work. (no timer etc ...).
If, "Require for Activation" = Any Triggers, then i see the timer but it don't do off if trap broken.
Using Aura checking:
Frost trap Aura testing:
If we don't have Mob on target only a "?" appear.
If we target it, then we get the timer.
But if we are in combat, targeting a mob to get the timer showed, is not a ideal situation. We can accidentally broke the cc.
Thx in advance.
Well I think i finally done it. Not sure if the code are totally clean or correct (I'm just a Noob). But it's working.
Just cheeked Ikcelaks export Custom Duration Issue (progress bar), and tried to convert it to my needs.
So i made a progress bar. No needs to have target or focus.
If you can check it for optimization that's nice.
This does look fine so far. :)
That script doesn't trigger on refresh so it will often times be inaccurate.
Here's the original string I used with the aura checking method. It will show a solid bar with no duration until you target the mob. As an aside I believe it also works on party targeting based on anecdotal evidence I've seen in dungeons.
The way I understand it, is that Multi-Target does not care if you its looking on player, target, focus, party, raid, ect. BUT it has at least to be one of these. That means if you don't have the trap as target or focus, it won't show up.
Updated with SPELL_AURA_REFRESH:
This should work on all occasions now. (Apply, Refresh, Remove, Break)
EDIT: Don't set In Combat load conditions on this! ;)
Hi again :P
New Patch ... New problem.
I´m not sure why, but my scrit progress bar, and your Improved @Combatlog trigger: (from CommanderSirow) stopped working.
What have changed ? What are needed to be changed to make it work again.
Please CommaderSirow show me your magic, you have great power, do it again. :P
I'm not up2date regarding this discussion, though my bet would be:
OMG thx ccKep,
Your bet was correct :P. It's working again.
Updated with SPELL_AURA_REFRESH: (From CommanderSirow) working on Patch 4.2
You must login to post a comment. Don't have an account? Register to get one!