Advertisement
Superlative

Party Trinket

Aug 9th, 2012
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.91 KB | None | 0 0
  1. ----------------------------------------------------------------------------------------------------
  2. --PartyTrinkets--
  3. ----------------------------------------------------------------------------------------------------
  4. local trinkets = {}
  5. local events = CreateFrame("Frame")            
  6. local partyFrame, trinket
  7.     for i = 1, MAX_PARTY_MEMBERS do
  8.         partyFrame = "PartyMemberFrame"..i
  9.         trinket = CreateFrame("Cooldown", partyFrame.."Trinket")
  10.         trinket:SetPoint("TOPRIGHT", partyFrame, 30, -6)
  11.         trinket:SetSize(24, 24)
  12.         trinket.icon = trinket:CreateTexture(nil, "BACKGROUND")
  13.         trinket.icon:SetAllPoints()
  14.         trinket.icon:SetTexture("Interface\\Icons\\inv_jewelry_trinketpvp_02")
  15.         trinket:Hide()
  16.         trinkets["party"..i] = trinket
  17.     end
  18. function events:UNIT_SPELLCAST_SUCCEEDED(unitID, spell, rank, lineID, spellID)
  19.     if not trinkets[unitID] then
  20.         return
  21.     end
  22.     if spellID == 59752 or spellID == 42292 then
  23.         CooldownFrame_SetTimer(trinkets[unitID], GetTime(), 120, 1)        
  24.     elseif spellID == 7744 then
  25.         CooldownFrame_SetTimer(trinkets[unitID], GetTime(), 45, 1)        
  26.     end
  27. end
  28. function events:PLAYER_ENTERING_WORLD()
  29.         local _, instanceType = IsInInstance()
  30.              if instanceType == "arena" then
  31.              self:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED")
  32.                          elseif instanceType == "none" then
  33.              self:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED")
  34.              elseif self:IsEventRegistered("UNIT_SPELLCAST_SUCCEEDED") then
  35.               self:UnregisterEvent("UNIT_SPELLCAST_SUCCEEDED")          
  36.              for _, trinket in pairs(trinkets) do
  37.             trinket:SetCooldown(0, 0)
  38.             trinket:Hide()
  39.              end  end  
  40. end
  41. events:SetScript("OnEvent", function(self, event, ...) return self[event](self, ...) end)
  42. events:RegisterEvent("PLAYER_ENTERING_WORLD")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement