Spell Reflect Issues
m4tjz opened this issue ยท 3 comments
Hello, I'm the author of the WeakAura called FAIL-Details:Reflection (https://wago.io/IwPukH70B) that was the reason of the creation of an early Issue here on GitHub (#56) to add Reflected Spell Damage to Details.
First, I love that is finally a baseline feature as having it as a WeakAura was not the best approach and was really clunky. But the last implementation is missing a lot of features:
Damage from Debuffs
- Reflected Debuffs that carries Damage Over Time effects are not recorded on Details. Tracking Self-Inflicted Debuff Application can be used to track this kind of damage. There are exceptions and some Channeling Spells can fall through the cracks. (This last point can also be fixed using the Timestamps on the Damage Events)
Monk's Dispel
- Monks have access to Diffuse Magic, a Self-Dispel that also Reflects the Debuff back to the Source. It's not hard to implement after implementing Damage from Debuffs.
Mass Spell Reflection
- Not tracking the source of the Spell Reflection aura causes it to credit the wrong unit when Mass Spell Reflection is used. (This is nitpicking and could be ignored)
I would love to chat to you through Discord or even here to explain to you how I tackled all this issues myself on the WeakAura version of this.
Hi, thanks for the information!
You can whisper me on discord anytime, if you have code snippets to show how it works it'll be great, if prefer you can edit Details! Parser.lua code and send a pull request,
Hey! Sorry for the delay but I got bussy and just started working on a way to implement all my suggestions by editing parser.lua. I created a Pull Request (#70) (took me a while to figure out how... I'm new on GitHub).
It's not perfect and someone with better coding knowledge will be able to optimize everything I did ten fold. Also this implementation will merge every Reflected Spell under the Spell that caused the Reflection.
Example: If a Warrior uses Spell Reflection and reflects a Pyroblast then Details will show that the Warrior did damage using Spell Reflection.
My suggestion is to test Spell Reflections on the Naga Attack! World Quest, it is by far the best place to test this kind of behavior as the Darktide Sorceress there use Water Bolt (Casted Damaging Spell), Freezing Torrent (Channelled Damaging Spell) and Word of Anguish (DoT Debuff Spell).
The only problem with that area is the World Quest resets every 24hs and if you completed it that day you will not see the mobs there.
EDIT: I also tried to comment every piece of code I added to attempt to share my train of tought on what I want to accomplish with every piece of it. So maybe you can make it even better and more optimized as tracking Spell Reflections is really, really not easy.
EDIT 2: Forgot to mention that this implementation Only Tracks a few Reflecting Spells, which are the following:
- Spell Reflection from Protection Warriors.
- Spell Reflection (PvP Talent) from Arms/Fury Warriors.
- Mass Spell Reflection from Protection Warriors.
- Nether Ward from Warlocks.
- Diffuse Magic from Monks.
EDIT 3: Had to edit the Commit because of a typo when changing the parser.lua.