Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ----------------------------------------------------------------------------------------
- -- Announce Call to Arms
- ----------------------------------------------------------------------------------------
- local TANK_ICON = "|TInterface\\LFGFRAME\\UI-LFG-ICON-PORTRAITROLES.blp:14:14:0:0:64:64:0:18:22:40|t"
- local HEALER_ICON = "|TInterface\\LFGFRAME\\UI-LFG-ICON-PORTRAITROLES.blp:14:14:0:0:64:64:20:38:1:19|t"
- local DPS_ICON = "|TInterface\\LFGFRAME\\UI-LFG-ICON-PORTRAITROLES.blp:14:14:0:0:64:64:20:38:22:40|t"
- local lastcheck
- local frame = CreateFrame("Frame")
- local function CallToArms(self, elapsed)
- self.elapsed = (self.elapsed or 0) + elapsed
- if self.elapsed >= 10 then
- local available = false
- if GetNumGroupMembers() > 0 and IsInInstance() then return end
- local _, tankChecked, healerChecked, damageChecked = LFDQueueFrame_GetRoles()
- -- Dungeons
- for i = 1, GetNumRandomDungeons() do
- local id, name = GetLFGRandomDungeonInfo(i)
- for x = 1, LFG_ROLE_NUM_SHORTAGE_TYPES do
- local eligible, forTank, forHealer, forDamage, itemCount = GetLFGRoleShortageRewards(id, x)
- if eligible then
- if forTank and itemCount > 0 and tankChecked and lastcheck ~= name..TANK_ICON then
- RaidNotice_AddMessage(RaidWarningFrame, name.." "..TANK_ICON, ChatTypeInfo["RAID_WARNING"])
- print("|cffffff00"..name.." "..TANK_ICON.."|r")
- available = true
- lastcheck = name..TANK_ICON
- elseif forHealer and itemCount > 0 and healerChecked and lastcheck ~= name..HEALER_ICON then
- RaidNotice_AddMessage(RaidWarningFrame, name.." "..HEALER_ICON, ChatTypeInfo["RAID_WARNING"])
- print("|cffffff00"..name.." "..HEALER_ICON.."|r")
- available = true
- lastcheck = name..HEALER_ICON
- elseif forDamage and itemCount > 0 and damageChecked and lastcheck ~= name..DPS_ICON then
- RaidNotice_AddMessage(RaidWarningFrame, name.." "..DPS_ICON, ChatTypeInfo["RAID_WARNING"])
- print("|cffffff00"..name.." "..DPS_ICON.."|r")
- available = true
- lastcheck = name..DPS_ICON
- end
- end
- end
- end
- -- LFR
- for i = 1, GetNumRFDungeons() do
- local id, name = GetRFDungeonInfo(i)
- for x = 1, LFG_ROLE_NUM_SHORTAGE_TYPES do
- local eligible, forTank, forHealer, forDamage, itemCount = GetLFGRoleShortageRewards(id, x)
- if eligible then
- if forTank and itemCount > 0 and tankChecked and lastcheck ~= name..TANK_ICON then
- RaidNotice_AddMessage(RaidWarningFrame, name.." "..TANK_ICON, ChatTypeInfo["RAID_WARNING"])
- print("|cffffff00"..name.." "..TANK_ICON.."|r")
- available = true
- lastcheck = name..TANK_ICON
- elseif forHealer and itemCount > 0 and healerChecked and lastcheck ~= name..HEALER_ICON then
- RaidNotice_AddMessage(RaidWarningFrame, name.." "..HEALER_ICON, ChatTypeInfo["RAID_WARNING"])
- print("|cffffff00"..name.." "..HEALER_ICON.."|r")
- available = true
- lastcheck = name..HEALER_ICON
- elseif forDamage and itemCount > 0 and damageChecked and lastcheck ~= name..DPS_ICON then
- RaidNotice_AddMessage(RaidWarningFrame, name.." "..DPS_ICON, ChatTypeInfo["RAID_WARNING"])
- print("|cffffff00"..name.." "..DPS_ICON.."|r")
- available = true
- lastcheck = name..DPS_ICON
- end
- end
- end
- end
- if available then
- PlaySound("RaidWarning", "master")
- end
- self.elapsed = 0
- end
- end
- frame:SetScript("OnUpdate", CallToArms)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement