Hi there,
Note: If this method is already known and verified and I was simply unable to find documentation on it, please let me know so I can stop testing. Thanks.
I have been working on my UnitFrames and wanted to create a dispel reminder for hostile units. After some legwork, I basically found next to nothing on the topic except that there seems to be no known way to determine if an Aura is an enrage effect. After some playing around, I think I might have found one and now need help verifying my theory.
When using the standart UnitAura function
Code:
name, rank, icon, count, dispelType, duration, expires, caster, isStealable, shouldConsolidate, spellID, canApplyAura, isBossDebuff, value1, value2, value3 = UnitAura
the dispelType variable returns a string, ("Magic", "Curse", "Poison", "Disease" or nil) according to documentation. However, when parsing an enrage effect, it seems the function does not return nil but an empty string or "". (There seems to be no difference for UnitAura and UnitBuff)
So far I have been able to test this on Druid and Warrior enrage effects successfully as well as a few NPCs (random mobs in Northrend and the Crocodile boss in Tol'Vir. All Auras I have tested return an empty string as dispelTyle and are dispellable with a druid's Soothe. With that sample size, it seems its time to test this on a larger scale.
If you are willing to help, I would like to ask you to copy the following script into a macro and just click it when you come a cross a Mob or player with an enrage effect. (You need to have the mob or player selected as your target.) It will print the Unit's Name, Location and the details for all Buffs to your chat and then take a screenshot. Then you can either manually check the screenshots for the enrage effect and post the returns here or upload the screenshots somewhere and link them for me to check. Thanks in advance.
Macro:
Code:
/run print("Unit:", UnitName("target"), "Location:",GetInstanceInfo())
/run local i=1 while true do local n,_,_,_,d,_,_,_,_,_,s=UnitBuff("target", i) if not n then break end print("Aura:",n,"Dispel:",d,"SpellID:",s) i=i+1 end
/run Screenshot()
Thanks for your help and have a nice day,
Lysiander