WeakAuras

WeakAuras

200M Downloads

Add baseline custom event for talent change

Nikyou opened this issue ยท 2 comments

commented

Is your feature request related to a problem? Please describe.
If you want to check if someone has changed talents, you need to listen to the event UNIT_SPELLCAST_SUCCEEDED and check for spellId == 384255.

Describe the solution you'd like
(My solutions might not be optimal, feel free to implement them your way) Create an invisible WA with a custom trigger that listens to UNIT_SPELLCAST_SUCCEEDED and checks spellId == 384255, if true execute WeakAuras.ScanEvents("WA_UNIT_CHANGED_TALENTS", unit)

Describe alternatives you've considered
Create or use existing WA frame, make it listen for the UNIT_SPELLCAST_SUCCEEDED event (f:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED")) and add/update OnEvent method:

f:SetScript("OnEvent", function(__, event, unit, spellId, ...)
  if event == "UNIT_SPELLCAST_SUCCEEDED" and spellId == 384255 then
    WeakAuras.ScanEvents("WA_UNIT_CHANGED_TALENTS", unit)
  end
end)

Additional context
This custom event will make it more convenient to track if someone in your party/raid changes talents. In addition to UNIT_SPELLCAST_SUCCEEDED it is possible to track talent change via CLEU:SPELL_CAST_SUCCESS and send GUID via WeakAuras.ScanEvents("WA_GUID_CHANGED_TALENTS", sourceGUID).

commented

You are asking a solution to something that is not a problem

commented

Btw if your trigger has to do something on UNIT_SPELLCAST_SUCCEEDED + spellId == 384255, then do it when this event happen, calling WeakAuras.ScanEvents to make an other call of the same function is not good practice