- for _, filter in ipairs(auraFilters) do
- local i = 1;
- while true do
- name, _, icon, count, _, _, expires, caster, _, _, id = UnitAura(unit, i, filter);
- if not id then break end
- local pos = watchedAuras[id] or watchedAuras[name];
- if pos and caster == "player" then
- needUpdate = remaining(frame.inds[pos].text, expires, current);
- frame.inds[pos].expires = expires;
- frame.inds[pos]:Show();
- frame.inds[pos].text:Show();
- showInds = true;
- end
- local major = majorAuras[id] or majorAuras[name];
- if major and majorPos <= 3 then
- needUpdate = remaining(frame.major[majorPos].text, expires, current);
- frame.major[majorPos].expires = expires;
- frame.major[majorPos]:SetTexture(icon);
- frame.major[majorPos]:Show();
- frame.major[majorPos].text:Show();
- if count > 1 then
- frame.major[majorPos].stack:SetText(count);
- frame.major[majorPos].stack:Show();
- end
- if major.bar then
- alert = true;
- end
- showMajors = true;
- majorPos = majorPos + 1;
- end
- i = i + 1;
+ for spell, pos in pairs(watchedAuras) do
+ name, _, icon, count, _, _, expires = UnitAura(unit, spell, nil, "PLAYER HELPFUL");
+ if name then
+ needUpdate = showInd(frame.inds[pos], expires, current, count, icon) or needUpdate;
+ showInds = true;