You don't need UNIT_AURA and it fires a lot. You maybe do need UPDATE_SHAPESHIFT_FORM
S because it fires after login even if you don't have an active seal (stance) (that's not interesting as oUF will update your tag OnShow) and for the case where you (un)learn a stance that replaces your currently active stance as it then deactivates without firing UPDATE_SHAPESHIFT_FORM (this happens when you (un)learn Aspect of the Iron Hawk on a hunter, don't know if there is such a case for paladins).
Apart from that, you have to add the two events to oUF.Tags.SharedEvents as they fire only for the player and are thus unitless (don't have arg1 set to a unitid).
So your code would have to look something like this:
lua Code:
oUF.Tags.Methods["seal"] = function(unit)
local nStance = GetShapeshiftForm() ~= 3
if nStance then
return "|cffFFAB00No Seal|r"
end
end
oUF.Tags.Events["seal"] = "UPDATE_SHAPESHIFT_FORMS UPDATE_SHAPESHIFT_FORM"
oUF.Tags.SharedEvents.UPDATE_SHAPESHIFT_FORM = true
oUF.Tags.SharedEvents.UPDATE_SHAPESHIFT_FORMS = true
Alternatively you could use just UNIT_AURA to update the tag (as you currently do, as you do not add UPDATE_SHAPESHIFT_FORM to the SharedEvents table), because it fires when you change your seal (even if you don't get a visible buff for this), but this would be more expensive I believe as oUF only updates your tag if the frame, on which the tag is and the unit, which the event has fired for, are the same. UNIT_AURA fires a lot in a raid, so oUF would have to make this decision quite often (maybe support for the new RegisterUnitEvent would alleviate this). UPDATE_SHAPESHIFT_FORM is also fired when you cast certain spells, don't know why, so I can't tell for sure which one is the better method. Using both UNIT_AURA and UPDATE_SHAPESHIFT_FORM is certainly a waste.