Managing Sniper Training with WeakAuras

It’s unfortunate that Sniper Training doesn’t have some sort of built-in graphic or spell alert. Out of every hunter proc or passive, Sniper Training probably needs something like that the most. If it were up to me, I’d have it display something like a circular aura around the player’s feet that changed color based on its status (active, recharging, or expiring). Alas, we have nothing besides the tiny buff icon up in your list of buffs.

I’ve developed a bad habit of jumping and strafing as I DPS.  My Sniper Training uptime would be atrocious without some sort of addon to help me out.  Good uptime will be key to maximizing DPS. Perhaps one day I’ll get better at it and won’t need such prominent WeakAuras, but it is not this day.

There are several addons that can help you manage Sniper Training, the 3 most popular are probably WeakAuras 2, NeedToKnow, and TellMeWhen. I’m a fan of WeakAuras and use it for all my other stuff, so that’s what I’m going to focus on here.

stweakaura

Sniper Training WeakAura #1

This WeakAura consists of 3 elements: When Sniper Training is active you’ll see is the buff icon, and when it’s inactive the icon won’t be visible. When you begin moving, a vertical progress bar counts down to the buff’s expiration. To the left, there is another countdown for refreshing Sniper Training that appears when you stand still. Once you import it you can move the elements wherever you want and adjust the size, fonts, colors, etc. The original source for this WeakAura is here, I just modified it slightly

Here’s a short video showing it in action:

To install this WeakAura, download the latest version of WeakAuras 2 then open it in game with /weakauras. Make a new WeakAura and select the import option, then paste the following code into the box that pops up:

Sniper Training WeakAura #1 Import Code

stweakaura2
Sniper Training WeakAura #2

This one is simpler and confines all of the information on the icon itself. As before, the icon will be visible whenever Sniper Training is active. When you begin moving it will start counting down. When the duration gets below 4 seconds it will warn you to stop moving. The original source for this WeakAura is here.

Here’s the import code for this one:

Sniper Training WeakAura #2 Import Code

Both of these WeakAuras will only load when you’re in Marksmanship spec and in combat. In the trigger options you can force it to display out of combat too, if you want. You can also set it to only load inside raids or dungeons. WeakAuras has many options to play around with.

If you prefer to use NeedToKnow, I saw that Kheldul posted a video about that addon and setting it up for Sniper Training here.

If anyone has any other cool WeakAuras for Sniper Training (or anything else), let me know! Or maybe someone can pretty these ones up a little bit? If you post any in the comments, please use pastebin for the import code.

Have fun, and good luck standing still.

Buy Me a Coffee at ko-fi.com

20 thoughts on “Managing Sniper Training with WeakAuras”

        1. Not tricky once you’ve done your first. Can also look at imported ones to see how they work. I’ll see if I can post some more sometime soon.

    1. At times I think my hunter, as well most of my alts, are glued together with weak aura’s.
      To name some examples:
      Used to check serpent sting duration on multiple mobs.
      Notify me when someone has aspect of the daze on and if it is me or not
      Notify if my pet has growl on and if it is attacking
      Some more noticable cooldowns
      Active/duration of heroism
      Health of target for killshot and such

      Really, pretty much anything that makes you occasionally in combat go ‘crap i missed x’

  1. *edited: removed import code, too big*

    HUGE apologies for the lost post, I’m not sure how the smaller text box is created here.
    Here is where I’ve ended up with an aura I’m working on for Sniper Training, this aura functions as follows:

    In Combat:
    1. Sound alerts and a red border around your character will show/play when you have <= 4 sec. of the ST buff remaining (this allows for 1 sec response time from the player) *does not trigger if you have the ST: Recently moved buff.
    2. A sound alert will play if you have 4 secs remaining)

    Both in and out of combat:
    1. An icon that displays the duration (and presence) of ST(note:a numeric value will be shown here if you use OmniCC and do not blacklist this aura.) This icon becomes grey and glows when ST is NOT active and you are still moving.
    2. A bar that displays the remaining duration of ST. This bar is normally blue, but becomes red when you have moved for more than 2 secs without allowing ST to refresh.
    3. The duration left on ST: Recently Moved is shown over the above icon while present.

    This aura is a work-in-progress still, but so far, I’m happy with where I’m at on it. This is what I’m running with until I see need for change.

  2. Proper Pastebin URL(feels like a nub for missing that detail): http://pastebin.com/UJ5Mvh9i

    In Combat:
    1. Sound alerts and a red border around your character will show/play when you have <= 4 sec. of the ST buff remaining (this allows for 1 sec response time from the player) *does not trigger if you have the ST: Recently moved buff.
    2. A sound alert will play if you have 4 secs remaining)

    Both in and out of combat:
    1. An icon that displays the duration (and presence) of ST(note:a numeric value will be shown here if you use OmniCC and do not blacklist this aura.) This icon becomes grey and glows when ST is NOT active and you are still moving.
    2. A bar that displays the remaining duration of ST. This bar is normally blue, but becomes red when you have moved for more than 2 secs without allowing ST to refresh.
    3. The duration left on ST: Recently Moved is shown over the above icon while present.

    This aura is a work-in-progress still, but so far, I’m happy with where I’m at on it. This is what I’m running with until I see need for change.

  3. I really like your first WeakAura setup. I’ve not used WA before (using gnosis for all my timer bars, extra focus bar, cast bars etc and love it).. but if / when I decide to mess around with MM I will be using this.

  4. I love the second weak aura string, but is there anyway to get the countdown text to show at the bottom left instead of right in the middle? I’ve never been able to figure that out when it’s a custom string. I’m a tad bit anal and I would like it to match my others >.<

  5. I feel like Kanye West here saying “Imma let you finish but…”

    For those people who are paranoid of addons like weak auras, Tellmewhen does a very similar thing so there are options out there.

  6. JSHB (Formerly JS Hunter Bar) was recently updated (either 10/24 or 10/25) – I’ve been checking daily. JSHB includes and on-screen indicator near the center of your screen. no scripts needed. i’ve found JSHB to be an amazing add-on for hunters of any spec.

  7. Hello, I came here looking for a weak auras for sniper training now that ive swpped to marks for 6.2. Of the ones I have found I like this one the best, however I do keep getting an error if I move for more then 6 seconds and there is no buff to track at all. Any ideas on how to fix this?

    198x [string “return function()…”]:4: attempt to perform arithmetic on local ‘expires’ (a nil value)
    [string “return function()…”]:4: in function
    WeakAuras\RegionTypes\icon.lua:227: in function `UpdateCustomText’
    WeakAuras\WeakAuras-2.1.0.4.lua:5259: in function

    Locals:
    data = {
    color = {
    }
    customText = “function()
    local duration = select(6,UnitBuff(“player”, “Sniper Training”))
    local expires = select(7,UnitBuff(“player”, “Sniper Training”))
    local time = expires – GetTime()
    if duration == 0 then
    return ” ”
    else
    while time > 0 and not nil do
    if time > 3.5 then return
    string.format(“%.f”, time)
    elseif time <= 3.5 then return
    "Stop"
    end
    end

    end
    end

    1. Just ran into the same error. Problem occurs because the script is running as the buff expires, so the UnitBuff() value returned can be nil. Before the line “Local time = expires – GetTime()” insert a little code block
      if expires == nil then
      return ” ”
      end
      FIxed it right up for me.

Comment on this post

This site uses Akismet to reduce spam. Learn how your comment data is processed.