MoonBunnie's Feral Bleed Power r20 - Updated for 9.0.1

MoonBunnie's Feral Bleed Power r20 - Updated for 9.0.1

0 Downloads

Known Issues for Shadowlands

Hey everyone, I've pushed an update for Shadowlands pre-patch, but please be wary it does not work with Carnivorous Instincts yet. I will fix this at a later date when I can. :)

Introduction

Hello fellow kitties! The purpose of this WeakAura is to help track the strength of the bleeds you will apply or have applied to your targets!

This WeakAura is a 100% original, re-engineered version based on Stenhaldi's Bleed Snapshots WeakAura (Credit to Collie for the original version as well! ). The full change list is available at the bottom of this post if you are interested in reading about all the newly added features.

Be sure to not have more than one copy running (even if different versions) and reload your UI after importing.

General Information

Which Buffs and Abilities Work With Feral Snapshotting?

As of SL 9.0.1, the buffs that are snapshotted and their magnitude of effect on various abilities are shown in the table below.

┌─────────────────┬────────┬────────┬────────┬────────┐

│ │ Rake │ Rip │ Thrash │Moonfire│

├─────────────────┼────────┴────────┴────────┴────────┤

│Savage Roar │ Does not snapshot! │

├─────────────────┼───────────────────────────────────┤

│Tiger's Fury │ +15% │

├─────────────────┼────────┬────────┬─────────────────┤

│Bloodtalons │ N/A │ +30% │ N/A │

├─────────────────┼────────┴────────┼────────┬────────┤

│Moment of Clarity│ N/A │ +15% │ N/A │

├─────────────────┼────────┬────────┴────────┴────────┤

│Improved Rake │ +60% │ N/A │

└─────────────────┴────────┴──────────────────────────┘

Note #1: Moonfire refers to the version granted by the Lunar Inspiration talent.

Note #2: Improved Rake can be gained from Prowl, Incarnation, and Shadowmeld.

What Does This WeakAura Contain?

The WeakAura contains 5 invisible icon elements contained in a static group.

  • The first icon (labeled "Feral Bleed Power") contains ALL the logic for capturing and recording snapshots. Do not tamper with this icon! DO NOT set this icon to load only in combat. It must be loaded at all times while in Feral spec!

  • The second icon (labeled "Rip") contains the display text for showing snapshot strength for Rip.

  • The third icon (labeled "Rake") contains the display text for showing snapshot strength for Rake.

  • The fourth icon (labeled "Thrash") contains the display text for showing snapshot strength for Thrash.

  • The fifth icon (labeled "Moonfire") contains the display text for showing snapshot strength for Moonfire. This icon only loads when you have Lunar Inspiration selected.

What Do The Numbers On Each Icon Mean?

This WeakAura will display a percentage that represents the relative strength between your existing DoTs on the target and the new version you can apply at that moment. For example, if you see "100", then your new cast will be the same strength as the existing one on the target. If you see "130", then your new cast will be 30% stronger. If you see a "70", then your new cast will be 30% weaker.

The values are also color coded depending on the displayed value. If the percentage is greater than 105%, then the value will be displayed in green. If the percentage is lower than 95%, then the value will show red. This will help you see at a glance if the new DoT you are about to apply will be stronger (green) or weaker (red).

Where Does This WeakAura Go On My Screen?

This WeakAura was designed to fit over (or around) any icons you are already using to track your bleed durations (such as Pawket's WA display). Simply drag the entire group or the individual icons to a position near or over your existing icons.

How Does The Displayed Value For Rip Work?

Update: Rip now scales duration with CP rather than power as of 8.1. As such, this WeakAura no longer tracks what CP you cast your Rips at.

The snapshotting for Rip will account for the amount of CP you used, BUT the percentage value displayed will always assume your next Rip will be applied with 5 CP. If you want to change this, go into the Rip custom display function and find the following line:

local val = floor(fs[name]["current5CP"]/fs[name][unit]*100+0.5)

You will need to change where it says "current5CP" to "current" in that line.

What Can I Safely Customize?

I do not recommend modifying the icon labeled "Feral Bleed Power". This icon contains ALL the logic for capturing and recording snapshots. In addition, this icon must be LOADED at all times to work correctly. That means you should NOT set it to only load during combat! If talents aren't working (ex: Bloodtalons) or your stealth rakes don't register properly, make sure you didn't set this icon to load only during combat.

The other 4 icons you can customize as you desire. You can even copy the entire custom Lua function that powers the display text to a different WA if you want to use the snapshot percentages elsewhere. If you want to customize the color coding or the values at which the number will change colors, you can also edit it directly via the custom Lua function in the display text. There are comments that should help you find what you need.

If you want to customize the WA further, I have added some comments in the code to help indicate at a high level what each piece does that you can read. If you don't find what you need, you are welcome to ask questions about how various functionalities are implemented. I'll do my best to answer any questions or offer suggestions.

Bugs and Feedback

If you encounter any bugs or undesirable behavior, please post a reply and let me know the details on how I can replicate the bug. I will try to fix any issues as soon as possible.

Suggestions for ways to improve the WA are welcome. Let me know if you have ideas that would benefit everyone that would want to use these WAs.

Known Issues

  • Carnivorous Instincts - Does not currently support this effect, which modifies Tiger's Fury's damage bonus.

  • Rip and Tear - While I added support for Rip and Tear in the lastest version, it appears there is a corner case I didn't address with stealth + Rip and Tear. The combat log events are out of order than what would be expected, and as such, Rip isn't currently snapshotting because of this. I am working on a fix for the next version.

  • Laggy Snapshotting - There seems to be an issue under certain circumstances (such as fighting Kazzak in a 40man group) where the snapshotting values will appear to lag behind by a few seconds. When you gain buffs, the values won't update right away, and when you apply a bleed, the values won't update immediately either. I am currently looking into finding a way around this, but it appears to affect any WAs that uses combat log event triggers. If you experience this bug, please feel free to share what circumstances it occurred under. This seems to be a problem with the game as it appears that combat log events in these situations are sent with up to several seconds of delay, which the WA is unable to compensate for. However, it does not normally happen during 20-man mythic raids or even 25-man LFR raids. (Credit goes to Peregrines for reporting it!)

Change Lists

Version r20

  • Updated snapshot values based on changes to Feral in Shadowlands.

  • Bloodtalons now only affects Rip.

  • Correctly applies stealthed Rake bonus while Berserk is active.

  • Known Issue: Carnivorous Instinct is not accounted for currently. Will be fixed in a later version.

Version r19

  • Changed Buff Update function to use WA_GetUnitAura() with "PLAYER|HELPFUL" filter. Blizzard API for UnitAura() is broken in 8.2.5 update and returns no buff data when using the "PLAYER" filter alone.

  • To modify your existing WA without having to redownload:

    • Go to the "On Init" custom code, under Actions tab, on the "Feral Bleed Power" icon.

    • Expand the custom code, find the section labeled "Create update function for checking buffs".

    • In that section, replace the following line: b[name] = select(6,WA_GetUnitBuff("player", id, "PLAYER")) or b[name]

    • With this line: b[name] = select(6,WA_GetUnitAura("player", id, "PLAYER|HELPFUL")) or b[name]

Version r18

  • Updated Rip logic to no longer factor in CP.

  • Updated to account for Rips applied via new Primal Wrath talent.

Version r17

  • Re-uploaded for WeakAuras' new updating feature.

  • Removed the version identifier in the "Feral Bleed Power" icon. This information will still be retained in the comments of the On Init code and in the description of the icon.

Version r16

  • Corrected an issue with import causing talents to not be properly updated.

  • Added snapshotting support for Rip and Tear.

  • Removed a debug print line. Sorry for the "updating talents" spam in your chat!

  • Updated UnitBuff() calls to now use WA's helper functions

  • Updated UnitBuff() calls to use Spell IDs instead of Spell Names.

  • Removed localization strings as they are no longer necessary when using Spell IDs.

Version r15

  • Bloodtalons snapshot strength increased to 25% (previously was 20%).

  • Moment of Clarity snapshot strength decreased to 15% (previously was 20%).

  • Updated to account for UnitBuff() (and other similar functions) no longer accepting spell names.

  • Updated combo point tracking logic to use UNIT_POWER_UPDATE event (UNIT_POWER was deprecated).

Version r14

  • Thanks to Delegold, Hoof Heartd, Kota and others for helping bug test the changes!

  • Added general updates to reflect changes to Feral in 7.3.

  • Savage Roar no longer snapshots (all relevant lines have been commented out in the code).

  • Bloodtalons snapshot strength lowered to 20% (previously was 50%).

  • Moment of Clarity now properly accounted for in Thrash snapshotting. This should have been added in 7.1.5 but MoC wasn't a viable talent at the time.

  • Added support for talent detection and tracking to properly handle Moment of Clarity affecting Clearcasting. But should also be a slight performance increase in general.

  • Cleaned up the code. Moved more values into tables for easier editing and removed some redundant lines. The WA should be easier to maintain and modify in the future.

  • If you want the latest changes but don't want to have to overwrite your existing WAs, there are two specific things you need to copy over to your existing WA for the main Feral Bleed Power icon:

    1. Copy over all of the custom code found under Actions > On Init > Custom Code

    2. Copy over all of the settings for Trigger #2. This includes the Event(s) field and the code in the Custom Trigger.

Version r13

  • Group type changed to static group. This should make it easier for those less familiar with WeakAuras to get started, especially for the myriad of players using Pawket's WA Display. Players who have a stronger mastery of WAs can still manually create their own dynamic group if desired.

Versions r0 through r12

  • Snapshots are no longer discarded upon dropping combat. Instead, snapshots are dynamically "forgotten" as bleeds naturally fall off. This means your snapshots will persist if you stealth mid-combat (such as for Shadowmeld + Rake, or Prowling during Incarnation) for world and dungeon content. To prevent possible orphaned entries, your snapshots will be erased after you leave combat long enough for all your bleeds to expire (currently set to about ~30secs in case you had a really long rip still going). In addition, if you re-enter combat, this timer (if it's still ticking down) is canceled to ensure your snapshots are not accidentally erased in the rare case you may be entering/re-entering combat multiple times in a short period.

  • The first Improved Rake from Prowl after opening the WeakAuras options menu will now properly snapshot. Previously, this would result in the snapshot only registering the rake as a normal powered rake. This was due to the WeakAuras options menu disabling the script that managed your buffs.

  • Rake from stealth detection changed to check for Rake stun debuff application or miss/immune to account for the fact that SPELL_CAST_SUCCESS occurs after SPELL_AURA_APPLIED. This fixes a problem the original had with multi-strikes (irrelevant for Legion).

  • The text display types have been changed to Icons, and are now stored in a dynamic group. This allows the text to be more easily aligned with any of your existing bleed timers/trackers by allowing you to directly match the size and position of the icons. You can always move the icons to a static group if you prefer to move each element manually, and you can covert the icons into text elements if you prefer by right-clicking them and selecting "covert to…".

  • Languages besides English are now supported by default. On initialization, the WeakAura will automatically grab the correct spell names for your language so you won't need to make any changes to spell names for the WeakAura to work.

  • The WeakAura has been re-written to use less global variables and more local variables to help with performance and robustness, while minimizing possible conflicts. The only global variable is "feralSnapshots" which is a table that contains all snapshot data, including your current power if you were to apply a new bleed (ex: feralSnapshots.rake.current), the power that a bleed should have at the time it was casted (ex: feralSnapshots.rake.onCast), and the power of your recorded bleed on any given target (ex: feralSnapshots.rake[UnitGUID("target")] ).

  • The issues that some players experienced with the original version regarding erroneous snapshotting (ex: Rip starts having crazy values like 400+, bleeds generally not snapshotting until a UI reload) are likely fixed with the complete code re-write (needs additional testing).