-------------------------------------------------- --------------------------------------------------
- PartyTrinkets -
-------------------------------------------------- --------------------------------------------------
local trinkets = { }
local events = CreateFrame ( "Frame" )
local partyFrame , trinket
for I = 1 , MAX_PARTY_MEMBERS do
partyFrame = "PartyMemberFrame" .. I
trinket = CreateFrame ( "Cooldown" , partyFrame .. "Trinket" )
trinket : SetPoint ( "TopRight" , partyFrame , 30 , - 6 )
trinket : SetSize ( 24 , 24 )
trinket . icon = trinket : CreateTexture ( nil , "BACKGROUND" )
trinket . icon : SetAllPoints ( )
trinket . icon : SetTexture ( "Interface \ \ Icons \ \ inv_jewelry_trinketpvp_02 " )
trinket : Hide ( )
trinkets [ "Party" .. I ] = trinket
end
function events : UNIT_SPELLCAST_SUCCEEDED ( unitID , spell , rank , lineID , SPELLID )
if not trinkets [ unitID ] then
return
end
if SPELLID == 59,752 or SPELLID == 42292 then
CooldownFrame_SetTimer ( trinkets [ unitID ] , GetTime ( ) , 120 , 1 )
elseif SPELLID == 7744 then
CooldownFrame_SetTimer ( trinkets [ unitID ] , GetTime ( ) , 45 , 1 )
end
end
function events : PLAYER_ENTERING_WORLD ( )
local _ , instanceType = IsInInstance ( )
if instanceType == "arena" then
self : RegisterEvent ( "UNIT_SPELLCAST_SUCCEEDED" )
elseif instanceType == "None" then
self : RegisterEvent ( "UNIT_SPELLCAST_SUCCEEDED" )
elseif self : IsEventRegistered ( "UNIT_SPELLCAST_SUCCEEDED" ) then
self : UnregisterEvent ( "UNIT_SPELLCAST_SUCCEEDED" )
for _ , trinket in pairs ( trinkets ) do
trinket : SetCooldown ( 0 , 0 )
trinket : Hide ( )
end end
end
events : SetScript ( "OnEvent" , function ( self , event , ... ) return self [ event ] ( self , ... ) end )
events : RegisterEvent ( "PLAYER_ENTERING_WORLD" )