Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ----------------------------------------------------------------------------------------------------
- --ArenaTrinkets--
- ----------------------------------------------------------------------------------------------------
- local trinkets = {}
- local events = CreateFrame("Frame")
- function events:ADDON_LOADED(addonName)
- if addonName ~= "Blizzard_ArenaUI" then
- return
- end
- ArenaEnemyFrame1:ClearAllPoints()
- ArenaEnemyFrame1:SetPoint("CENTER", nil, "CENTER", 209.0, 204.0)
- --ArenaEnemyFrames:SetScale(1.1)
- local arenaFrame, trinket
- for i = 1, MAX_ARENA_ENEMIES do
- arenaFrame = "ArenaEnemyFrame"..i
- trinket = CreateFrame("Cooldown", arenaFrame.."Trinket", ArenaEnemyFrames)
- trinket:SetPoint("TOPRIGHT", arenaFrame, 30, -6)
- trinket:SetSize(24, 24)
- trinket.icon = trinket:CreateTexture(nil, "BACKGROUND")
- trinket.icon:SetAllPoints()
- trinket.icon:SetTexture("Interface\\Icons\\inv_jewelry_trinketpvp_01")
- trinket:Hide()
- trinkets["arena"..i] = trinket
- end
- self:UnregisterEvent("ADDON_LOADED")
- end
- function events:UNIT_SPELLCAST_SUCCEEDED(unitID, spell, rank, lineID, spellID)
- if not trinkets[unitID] then
- return
- end
- if spellID == 59752 or spellID == 42292 then
- CooldownFrame_SetTimer(trinkets[unitID], GetTime(), 120, 1)
- SendChatMessage("Trinket used by: "..GetUnitName(unitID, true), "PARTY")
- elseif spellID == 7744 then
- CooldownFrame_SetTimer(trinkets[unitID], GetTime(), 45, 1)
- SendChatMessage("WotF used by: "..GetUnitName(unitID, true), "PARTY")
- end
- end
- function events:PLAYER_ENTERING_WORLD()
- local _, instanceType = IsInInstance()
- if instanceType == "arena" 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
- --[[SLASH_TESTAEF1 = "/testaef"
- SlashCmdList["TESTAEF"] = function(msg, editBox)
- if not IsAddOnLoaded("Blizzard_ArenaUI") then
- LoadAddOn("Blizzard_ArenaUI")
- end
- ArenaEnemyFrames:Show()
- local arenaFrame
- for i = 1, 3 do
- arenaFrame = _G["ArenaEnemyFrame"..i]
- arenaFrame.classPortrait:SetTexture("Interface\\TargetingFrame\\UI-Classes-Circles")
- arenaFrame.classPortrait:SetTexCoord(unpack(CLASS_ICON_TCOORDS["WARRIOR"]))
- arenaFrame.name:SetText("Dispelme")
- arenaFrame:Show()
- CooldownFrame_SetTimer(trinkets["arena"..i], GetTime(), 120, 1)
- end
- end
- events:SetScript("OnEvent", function(self, event, ...) return self[event](self, ...) end)
- events:RegisterEvent("ADDON_LOADED")
- events:RegisterEvent("PLAYER_ENTERING_WORLD")]]--
- ----------------------------------------------------------------------------------------------------
- --ClassIcons--
- ----------------------------------------------------------------------------------------------------
- --[[hooksecurefunc("UnitFramePortrait_Update",function(self)
- if self.portrait then
- if UnitIsPlayer(self.unit) then
- if self.unit == "player" then return end
- local t = CLASS_ICON_TCOORDS[select(2,UnitClass(self.unit))]
- if t then
- self.portrait:SetTexture("Interface\\TargetingFrame\\UI-Classes-Circles")
- self.portrait:SetTexCoord(unpack(t))
- end
- else
- self.portrait:SetTexCoord(0,1,0,1)
- end
- end
- end)]]--
- ----------------------------------------------------------------------------------------------------
- --Combat--
- ----------------------------------------------------------------------------------------------------
- CTT=CreateFrame("Frame")CTT:SetParent(TargetFrame)CTT:SetPoint("Left",TargetFrame,-30,5)CTT:SetSize(25,25)CTT.t=CTT:CreateTexture(nil,BORDER)CTT.t:SetAllPoints()CTT.t:SetTexture("Interface\\Icons\\ABILITY_DUALWIELD")CTT:Hide()
- local function FrameOnUpdate(self) if UnitAffectingCombat("target") then self:Show() else self:Hide() end end local g = CreateFrame("Frame") g:SetScript("OnUpdate", function(self) FrameOnUpdate(CTT) end)
- CFT=CreateFrame("Frame")CFT:SetParent(FocusFrame)CFT:SetPoint("Left",FocusFrame,-30,5)CFT:SetSize(25,25)CFT.t=CFT:CreateTexture(nil,BORDER)CFT.t:SetAllPoints()CFT.t:SetTexture("Interface\\Icons\\ABILITY_DUALWIELD")CFT:Hide()
- local function FrameOnUpdate(self) if UnitAffectingCombat("focus") then self:Show() else self:Hide() end end local g = CreateFrame("Frame") g:SetScript("OnUpdate", function(self) FrameOnUpdate(CFT) end)
- ----------------------------------------------------------------------------------------------------
- --EnemyCooldownsImproved--
- ----------------------------------------------------------------------------------------------------
- --wit4er
- local USS="UNIT_SPELLCAST_SUCCEEDED"
- local OE="OnEvent"
- local PvP="Interface\\Icons\\inv_jewelry_trinketpvp_01"
- local F="Frame"
- local CF=CreateFrame
- local BO="Border"
- local PvPT="PvP Trinket"
- local EMFH="Every Man For Himself"
- local UC=UnitClass
- local SCM=SendChatMessage
- local RW="RAID_WARNING"
- local xb=200 --x position
- local yb=530 --y position
- local sb=26 --icon size
- local ib=5 --interval
- function TrS(f,x,y,cd,T,s,h)
- f:SetPoint("BOTTOMLEFT",x,y)
- f:SetSize(s,s)
- f.c=CF("Cooldown",cd)
- f.c:SetAllPoints(f)
- f.t=f:CreateTexture(nil,BO)
- f.t:SetAllPoints()
- f.t:SetTexture(T);
- if not h then
- f:Hide();
- end
- f:RegisterEvent(USS)
- end
- function Ts(f,cd,U,N,S,TI)
- if CPz(N,S,U) then
- f:Show();
- CooldownFrame_SetTimer(cd,GetTime(),TI,1)
- f.elapsed = 0 --hidden
- f:SetScript('OnUpdate', function(self, elapsed)
- if self.elapsed > TI+1 then
- self:SetScript('OnUpdate', nil)
- self:Hide();
- else
- self.elapsed = self.elapsed + elapsed
- end
- end) --hidden
- end
- end
- function CPz(N,S,U)
- if(N==S and
- (U=="arena1"
- or U=="arena2"
- or U=="arena3"
- or U=="arenapet1"
- or U=="arenapet2"
- or U=="arenapet3"
- or U=="target"
- or U=="focus"))then
- return true
- else
- return false
- end
- end
- t1p="Interface\\Icons\\ability_rogue_shadowdance";t1=CF(F);TrS(t1,xb,yb,"cd1",t1p,sb,false);
- t1:SetScript(OE,function(self,event,...) Ts(t1,cd1,select(1,...),select(5,...),51713,60) end);
- t2p="Interface\\Icons\\ability_rogue_kidneyshot";t2=CF(F);TrS(t2,xb+sb,yb,"cd2",t2p,sb,false);
- t2:SetScript(OE,function(self,event,...) Ts(t2,cd2,select(1,...),select(5,...),408,20) end);
- t3p="Interface\\Icons\\spell_shadow_nethercloak";t3=CF(F);TrS(t3,xb+sb*2,yb,"cd3",t3p,sb,false);
- t3:SetScript(OE,function(self,event,...) Ts(t3,cd3,select(1,...),select(5,...),31224,90) end);
- t4p="Interface\\Icons\\ability_rogue_combatreadiness";t4=CF(F);TrS(t4,xb+sb*2,yb,"cd4",t4p,sb,false);
- t4:SetScript(OE,function(self,event,...) Ts(t4,cd4,select(1,...),select(5,...),74001,90) end);
- t5p="Interface\\Icons\\ability_vanish";t5=CF(F);TrS(t5,xb+sb*3,yb,"cd5",t5p,sb,false);
- t5:SetScript(OE,function(self,event,...) Ts(t5,cd5,select(1,...),select(5,...),1856,120) end);
- t6p="Interface\\Icons\\ability_rogue_dismantle";t6=CF(F);TrS(t6,xb+sb*4,yb,"cd6",t6p,sb,false);
- t6:SetScript(OE,function(self,event,...) Ts(t6,cd6,select(1,...),select(5,...),51722,60) end);
- t7p="Interface\\Icons\\ability_rogue_shadowstep";t7=CF(F);TrS(t7,xb+sb*5,yb,"cd7",t7p,sb,false);
- t7:SetScript(OE,function(self,event,...) Ts(t7,cd7,select(1,...),select(5,...),36554,24) end);
- t8p="Interface\\Icons\\spell_shadow_mindsteal";t8=CF(F);TrS(t8,xb+sb*6,yb,"cd8",t8p,sb,false);
- t8:SetScript(OE,function(self,event,...) Ts(t8,cd8,select(1,...),select(5,...),2094,120) end);
- t9p="Interface\\Icons\\ability_rogue_smoke";t9=CF(F);TrS(t9,xb+sb*7,yb,"cd9",t9p,sb,false);
- t9:SetScript(OE,function(self,event,...) Ts(t9,cd9,select(1,...),select(5,...),76577,180) end);
- t10p="Interface\\Icons\\ability_rogue_preparation";t10=CF(F);TrS(t10,xb+sb*8,yb,"cd10",t10p,sb,false);
- t10:SetScript(OE,function(self,event,...) Ts(t10,cd10,select(1,...),select(5,...),14185,300) end);
- t11p="Interface\\Icons\\spell_shadow_deathscream";t11=CF(F);TrS(t11,xb,yb-(sb+ib),"cd11",t11p,sb,false);
- t11:SetScript(OE,function(self,event,...) Ts(t11,cd11,select(1,...),select(5,...),5484,32) end);
- t12p="Interface\\Icons\\spell_shadow_deathcoil";t12=CF(F);TrS(t12,xb+sb*2,yb-(sb+ib),"cd12",t12p,sb,false);
- t12:SetScript(OE,function(self,event,...) Ts(t12,cd12,select(1,...),select(5,...),6789,90) end);
- t13p="Interface\\Icons\\spell_shadow_demoniccircleteleport";t13=CF(F);TrS(t13,xb+sb,yb-(sb+ib),"cd13",t13p,sb,false);
- t13:SetScript(OE,function(self,event,...) Ts(t13,cd13,select(1,...),select(5,...),48020,25) end);
- t14p="Interface\\Icons\\spell_shadow_mindrot";t14=CF(F);TrS(t14,xb+sb*3,yb-(sb+ib),"cd14",t14p,sb,false);
- t14:SetScript(OE,function(self,event,...) Ts(t14,cd14,select(1,...),select(5,...),19647,24) end);
- t15p="Interface\\Icons\\ability_mage_deepfreeze";t15=CF(F);TrS(t15,xb,yb-2*(sb+ib),"cd15",t15p,sb,false);
- t15:SetScript(OE,function(self,event,...) Ts(t15,cd15,select(1,...),select(5,...),44572,30) end);
- t16p="Interface\\Icons\\spell_frost_wizardmark";t16=CF(F);TrS(t16,xb+sb,yb-2*(sb+ib),"cd16",t16p,sb,false);
- t16:SetScript(OE,function(self,event,...) Ts(t16,cd16,select(1,...),select(5,...),11958,480) end);
- t17p="Interface\\Icons\\spell_arcane_blink";t17=CF(F);TrS(t17,xb+sb*2,yb-2*(sb+ib),"cd17",t17p,sb,false);
- t17:SetScript(OE,function(self,event,...) Ts(t17,cd17,select(1,...),select(5,...),1953,15) end);
- t59p="Interface\\Icons\\spell_frost_iceshock";t59=CF(F);TrS(t59,xb+sb*3,yb-2*(sb+ib),"cd59",t59p,sb,false);
- t59:SetScript(OE,function(self,event,...) Ts(t59,cd59,select(1,...),select(5,...),2139,24) end);
- t18p="Interface\\Icons\\spell_shadow_soulleech_3";t18=CF(F);TrS(t18,xb,yb-3*(sb+ib),"cd18",t18p,sb,false);
- t18:SetScript(OE,function(self,event,...) Ts(t18,cd18,select(1,...),select(5,...),47476,120) end);
- t19p="Interface\\Icons\\spell_shadow_antimagicshell";t19=CF(F);TrS(t19,xb+sb,yb-3*(sb+ib),"cd19",t19p,sb,false);
- t19:SetScript(OE,function(self,event,...) Ts(t19,cd19,select(1,...),select(5,...),48707,45) end);
- t20p="Interface\\Icons\\spell_deathknight_iceboundfortitude";t20=CF(F);TrS(t20,xb+sb*2,yb-3*(sb+ib),"cd20",t20p,sb,false);
- t20:SetScript(OE,function(self,event,...) Ts(t20,cd20,select(1,...),select(5,...),48792,180) end);
- t21p="Interface\\Icons\\inv_sword_62";t21=CF(F);TrS(t21,xb+sb*3,yb-3*(sb+ib),"cd21",t21p,sb,false);
- t21:SetScript(OE,function(self,event,...) Ts(t21,cd21,select(1,...),select(5,...),47568,300) end);
- t22p="Interface\\Icons\\spell_shadow_raisedead";t22=CF(F);TrS(t22,xb+sb*4,yb-3*(sb+ib),"cd22",t22p,sb,false);
- t22:SetScript(OE,function(self,event,...) Ts(t22,cd22,select(1,...),select(5,...),49039,120) end);
- t23p="Interface\\Icons\\spell_deathknight_strangulate";t23=CF(F);TrS(t23,xb+sb*5,yb-3*(sb+ib),"cd23",t23p,sb,false);
- t23:SetScript(OE,function(self,event,...) Ts(t23,cd23,select(1,...),select(5,...),49576,25) end);
- t24p="Interface\\Icons\\spell_deathknight_antimagiczone";t24=CF(F);TrS(t24,xb+sb*6,yb-3*(sb+ib),"cd24",t24p,sb,false);
- t24:SetScript(OE,function(self,event,...) Ts(t24,cd24,select(1,...),select(5,...),51052,120) end);
- t25p="Interface\\Icons\\ability_deathknight_summongargoyle";t25=CF(F);TrS(t25,xb+sb*7,yb-3*(sb+ib),"cd25",t25p,sb,false);
- t25:SetScript(OE,function(self,event,...) Ts(t25,cd25,select(1,...),select(5,...),49206,180) end);
- t26p="Interface\\Icons\\spell_shadow_psychicscream";t26=CF(F);TrS(t26,xb,yb-4*(sb+ib),"cd26",t26p,sb,false);
- t26:SetScript(OE,function(self,event,...) Ts(t26,cd26,select(1,...),select(5,...),8122,26) end);
- t27p="Interface\\Icons\\spell_shadow_psychicscream";t27=CF(F);TrS(t27,xb+sb,yb-4*(sb+ib),"cd27",t27p,sb,false);
- t27:SetScript(OE,function(self,event,...) Ts(t27,cd27,select(1,...),select(5,...),8122,30) end);
- t28p="Interface\\Icons\\spell_frost_windwalkon";t28=CF(F);TrS(t28,xb+sb*2,yb-4*(sb+ib),"cd28",t28p,sb,false);
- t28:SetScript(OE,function(self,event,...) Ts(t28,cd28,select(1,...),select(5,...),89485,45) end);
- t29p="Interface\\Icons\\spell_holy_painsupression";t29=CF(F);TrS(t29,xb+sb*3,yb-4*(sb+ib),"cd29",t29p,sb,false);
- t29:SetScript(OE,function(self,event,...) Ts(t29,cd29,select(1,...),select(5,...),33206,180) end);
- t30p="Interface\\Icons\\spell_shadow_dispersion";t30=CF(F);TrS(t30,xb+sb*4,yb-4*(sb+ib),"cd30",t30p,sb,false);
- t30:SetScript(OE,function(self,event,...) Ts(t30,cd30,select(1,...),select(5,...),47585,75) end);
- t31p="Interface\\Icons\\spell_shadow_psychichorrors";t31=CF(F);TrS(t31,xb+sb*5,yb-4*(sb+ib),"cd31",t31p,sb,false);
- t31:SetScript(OE,function(self,event,...) Ts(t31,cd31,select(1,...),select(5,...),64044,90) end);
- t32p="Interface\\Icons\\ability_priest_silence";t32=CF(F);TrS(t32,xb+sb*6,yb-4*(sb+ib),"cd32",t32p,sb,false);
- t32:SetScript(OE,function(self,event,...) Ts(t32,cd32,select(1,...),select(5,...),15487,45) end);
- t33p="Interface\\Icons\\spell_holy_sealofvalor";t33=CF(F);TrS(t33,xb,yb-5*(sb+ib),"cd33",t33p,sb,false);
- t33:SetScript(OE,function(self,event,...) Ts(t33,cd33,select(1,...),select(5,...),1044,25) end);
- t34p="Interface\\Icons\\spell_holy_sealofmight";t34=CF(F);TrS(t34,xb+sb,yb-5*(sb+ib),"cd34",t34p,sb,false);
- t34:SetScript(OE,function(self,event,...) Ts(t34,cd34,select(1,...),select(5,...),853,40) end);
- t58p="Interface\\Icons\\spell_holy_sealofmight";t58=CF(F);TrS(t58,xb+sb*2,yb-5*(sb+ib),"cd58",t58p,sb,false);
- t58:SetScript(OE,function(self,event,...) Ts(t58,cd58,select(1,...),select(5,...),853,60) end);
- t35p="Interface\\Icons\\spell_holy_sealofsacrifice";t35=CF(F);TrS(t35,xb+sb*3,yb-5*(sb+ib),"cd35",t35p,sb,false);
- t35:SetScript(OE,function(self,event,...) Ts(t35,cd35,select(1,...),select(5,...),6940,90) end);
- t36p="Interface\\Icons\\spell_holy_sealofprotection";t36=CF(F);TrS(t36,xb+sb*4,yb-5*(sb+ib),"cd36",t36p,sb,false);
- t36:SetScript(OE,function(self,event,...) Ts(t36,cd36,select(1,...),select(5,...),1022,180) end);
- t37p="Interface\\Icons\\spell_holy_divineshield";t37=CF(F);TrS(t37,xb+sb*5,yb-5*(sb+ib),"cd37",t37p,sb,false);
- t37:SetScript(OE,function(self,event,...) Ts(t37,cd37,select(1,...),select(5,...),642,300) end);
- t38p="Interface\\Icons\\spell_holy_auramastery";t38=CF(F);TrS(t38,xb+sb*6,yb-5*(sb+ib),"cd38",t38p,sb,false);
- t38:SetScript(OE,function(self,event,...) Ts(t38,cd38,select(1,...),select(5,...),31821,120) end);
- t39p="Interface\\Icons\\ability_warrior_charge";t39=CF(F);TrS(t39,xb,yb-6*(sb+ib),"cd39",t39p,sb,false);
- t39:SetScript(OE,function(self,event,...) Ts(t39,cd39,select(1,...),select(5,...),100,13) end);
- t40p="Interface\\Icons\\inv_mace_62";t40=CF(F);TrS(t40,xb+sb,yb-6*(sb+ib),"cd40",t40p,sb,false);
- t40:SetScript(OE,function(self,event,...) Ts(t40,cd40,select(1,...),select(5,...),85388,45) end);
- t41p="Interface\\Icons\\ability_heroicleap";t41=CF(F);TrS(t41,xb+sb*2,yb-6*(sb+ib),"cd41",t41p,sb,false);
- t41:SetScript(OE,function(self,event,...) Ts(t41,cd41,select(1,...),select(5,...),6544,60) end);
- t42p="Interface\\Icons\\spell_nature_ancestralguardian";t42=CF(F);TrS(t42,xb+sb*3,yb-6*(sb+ib),"cd42",t42p,sb,false);
- t42:SetScript(OE,function(self,event,...) Ts(t42,cd42,select(1,...),select(5,...),18499,30) end);
- t43p="Interface\\Icons\\ability_criticalstrike";t43=CF(F);TrS(t43,xb+sb*4,yb-6*(sb+ib),"cd43",t43p,sb,false);
- t43:SetScript(OE,function(self,event,...) Ts(t43,cd43,select(1,...),select(5,...),1719,300) end);
- t44p="Interface\\Icons\\ability_warrior_shieldwall";t44=CF(F);TrS(t44,xb+sb*5,yb-6*(sb+ib),"cd44",t44p,sb,false);
- t44:SetScript(OE,function(self,event,...) Ts(t44,cd44,select(1,...),select(5,...),871,300) end);
- t45p="Interface\\Icons\\ability_hunter_pet_bear";t45=CF(F);TrS(t45,xb,yb-7*(sb+ib),"cd45",t45p,sb,false);
- t45:SetScript(OE,function(self,event,...) Ts(t45,cd45,select(1,...),select(5,...),16979,14) end);
- t46p="Interface\\Icons\\spell_druid_feralchargecat";t46=CF(F);TrS(t46,xb+sb,yb-7*(sb+ib),"cd46",t46p,sb,false);
- t46:SetScript(OE,function(self,event,...) Ts(t46,cd46,select(1,...),select(5,...),49376,28) end);
- t47p="Interface\\Icons\\spell_nature_stoneclawtotem";t47=CF(F);TrS(t47,xb+sb*2,yb-7*(sb+ib),"cd47",t47p,sb,false);
- t47:SetScript(OE,function(self,event,...) Ts(t47,cd47,select(1,...),select(5,...),22812,60) end);
- t48p="Interface\\Icons\\ability_druid_bash";t48=CF(F);TrS(t48,xb+sb*3,yb-7*(sb+ib),"cd48",t48p,sb,false);
- t48:SetScript(OE,function(self,event,...) Ts(t48,cd48,select(1,...),select(5,...),5211,60) end);
- t49p="Interface\\Icons\\ability_druid_tigersroar";t49=CF(F);TrS(t49,xb+sb*4,yb-7*(sb+ib),"cd49",t49p,sb,false);
- t49:SetScript(OE,function(self,event,...) Ts(t49,cd49,select(1,...),select(5,...),61336,180) end);
- t50p="Interface\\Icons\\ability_druid_berserk";t50=CF(F);TrS(t50,xb+sb*5,yb-7*(sb+ib),"cd50",t50p,sb,false);
- t50:SetScript(OE,function(self,event,...) Ts(t50,cd50,select(1,...),select(5,...),50334,180) end);
- t51p="Interface\\Icons\\ability_golemstormbolt";t51=CF(F);TrS(t51,xb+sb*4,yb-2*(sb+ib),"cd51",t51p,sb,false);
- t51:SetScript(OE,function(self,event,...) Ts(t51,cd51,select(1,...),select(5,...),19503,30) end);
- t52p="Interface\\Icons\\spell_frost_chainsofice";t52=CF(F);TrS(t52,xb+sb*5,yb-2*(sb+ib),"cd52",t52p,sb,false);
- t52:SetScript(OE,function(self,event,...) Ts(t52,cd52,select(1,...),select(5,...),1499,30) end);
- t53p="Interface\\Icons\\ability_whirlwind";t53=CF(F);TrS(t53,xb+sb*6,yb-2*(sb+ib),"cd53",t53p,sb,false);
- t53:SetScript(OE,function(self,event,...) Ts(t53,cd53,select(1,...),select(5,...),19263,120) end);
- t54p="Interface\\Icons\\ability_rogue_feint";t54=CF(F);TrS(t54,xb+sb*7,yb-2*(sb+ib),"cd54",t54p,sb,false);
- t54:SetScript(OE,function(self,event,...) Ts(t54,cd54,select(1,...),select(5,...),781,16) end);
- t55p="Interface\\Icons\\spell_shaman_hex";t55=CF(F);TrS(t55,xb+sb*4,yb-(sb+ib),"cd55",t55p,sb,false);
- t55:SetScript(OE,function(self,event,...) Ts(t55,cd55,select(1,...),select(5,...),51514,35) end);
- t56p="Interface\\Icons\\spell_shaman_spiritlink";t56=CF(F);TrS(t56,xb+sb*5,yb-(sb+ib),"cd56",t56p,sb,false);
- t56:SetScript(OE,function(self,event,...) Ts(t56,cd56,select(1,...),select(5,...),98008,180) end);
- t57p="Interface\\Icons\\spell_nature_tremortotem";t57=CF(F);TrS(t57,xb+sb*6,yb-(sb+ib),"cd57",t57p,sb,false);
- t57:SetScript(OE,function(self,event,...) Ts(t57,cd57,select(1,...),select(5,...),8143,60) end);
- ----------------------------------------------------------------------------------------------------
- --CombatTextFont--
- ----------------------------------------------------------------------------------------------------
- local fontName = "Interface\\AddOns\\NeilyoScript\\font.ttf"
- local fontHeight = 40
- local fFlags = ""
- local function FS_SetFont()
- DAMAGE_TEXT_FONT = fontName
- COMBAT_TEXT_HEIGHT = fontHeight
- COMBAT_TEXT_CRIT_MAXHEIGHT = fontHeight + 2
- COMBAT_TEXT_CRIT_MINHEIGHT = fontHeight - 2
- local fName, fHeight, fFlags = CombatTextFont:GetFont()
- CombatTextFont:SetFont(fontName, fontHeight, fFlags)
- end
- FS_SetFont()
- ----------------------------------------------------------------------------------------------------
- --Move Stopwatch and Hide all--
- ----------------------------------------------------------------------------------------------------
- local frame = CreateFrame("FRAME", "DefaultUIScrips")
- frame:RegisterEvent("PLAYER_ENTERING_WORLD")
- local function eventHandler(self, event, ...)
- --StopwatchFrame:Show()
- --StopwatchFrame:SetScale(.01)
- --StopwatchFrame:ClearAllPoints()
- --StopwatchFrame:SetPoint("TOPLEFT",23400,0)
- --StopwatchTicker:SetScale(100)
- --StopwatchTicker:SetPoint("TOPLEFT",0,-80)
- --StopwatchFrame:SetMovable(false)
- TargetFrameTextureFramePVPIcon:SetAlpha(0)
- FocusFrameTextureFramePVPIcon:SetAlpha(0)
- PlayerPVPIcon:SetAlpha(0)
- for i = 1, 12 do
- _G["BonusActionButton"..i.."Name"]:Hide()
- _G["ActionButton"..i.."Name"]:Hide()
- _G["MultiBarBottomLeftButton"..i.."Name"]:Hide()
- _G["MultiBarBottomRightButton"..i.."Name"]:Hide()
- _G["ActionButton"..i.."HotKey"]:SetAlpha(0)
- _G["BonusActionButton"..i.."HotKey"]:SetAlpha(0)
- _G["MultiBarBottomLeftButton"..i.."HotKey"]:SetAlpha(0)
- _G["MultiBarBottomRightButton"..i.."HotKey"]:SetAlpha(0)
- end
- end
- frame:SetScript("OnEvent", eventHandler)
- ----------------------------------------------------------------------------------------------------
- --HP--
- ----------------------------------------------------------------------------------------------------
- local f=function(v)if(v>=1e4) then return ('%.1fk'):format(v/1e3):gsub('%.?0+([km])$','%1') else return v end end
- hooksecurefunc("TextStatusBar_UpdateTextString",function(s)
- if not GetCVarBool("statusTextPercentage") then
- if s.TextString and s.currValue then
- s.TextString:SetText(f(s.currValue))
- end
- end
- end)
- ----------------------------------------------------------------------------------------------------
- --Safe Queue--
- ----------------------------------------------------------------------------------------------------
- local queueTime
- local queue = 0
- local button2 = StaticPopupDialogs["CONFIRM_BATTLEFIELD_ENTRY"].button2
- local remaining = 0
- local function SafeQueue_Timer()
- local secs = GetBattlefieldPortExpiration(queue)
- if secs > 0 then
- local p = StaticPopup_Visible("CONFIRM_BATTLEFIELD_ENTRY")
- if p then
- local color
- if remaining ~= secs then
- remaining = secs
- if secs > 20 then
- color = "f20ff20"
- elseif secs > 10 then
- color = "fffff00"
- else
- color = "fff0000"
- end
- local str=string.gsub(_G[p .. "Text"]:GetText(), ".+\n", "У вас есть |cf"..color.. SecondsToTime(secs) .. "|r чтобы вступить в битву\n\n")
- _G[p .. "Text"]:SetText(str)
- end
- end
- end
- end
- local function SafeQueue_Update()
- local queued
- for i=1, GetMaxBattlefieldID() do
- local status, _, _, _, _, _, registeredMatch = GetBattlefieldStatus(i)
- if registeredMatch == 1 then
- if status == "queued" then
- queued = true
- if not queueTime then
- queueTime = GetTime()
- end
- elseif status == "confirm" then
- if queueTime then
- queueTime = nil
- end
- remaining = 0
- queue = i
- end
- break
- end
- end
- if not queued and queueTime then queueTime = nil end
- end
- frame = CreateFrame("Frame", nil, UIParent)
- frame:SetScript("OnEvent", SafeQueue_Update)
- frame:SetScript("OnUpdate", SafeQueue_Timer)
- frame:RegisterEvent("UPDATE_BATTLEFIELD_STATUS")
- StaticPopupDialogs["CONFIRM_BATTLEFIELD_ENTRY"].button2 = nil
- StaticPopupDialogs["CONFIRM_BATTLEFIELD_ENTRY"].hideOnEscape = false
- ----------------------------------------------------------------------------------------------------
- --Lorti Big Debuffs--
- ----------------------------------------------------------------------------------------------------
- --[[hooksecurefunc("TargetFrame_UpdateAuraPositions", function(self, auraName, numAuras, numOppositeAuras,largeAuraList, updateFunc, maxRowWidth, offsetX)
- local AURA_OFFSET_Y = 3
- local LARGE_AURA_SIZE = 27 -- развер ВАШИХ баффов/дебаффов.
- local SMALL_AURA_SIZE = 15 -- развер чужих баффов/дебаффов.
- local size
- local offsetY = AURA_OFFSET_Y
- local rowWidth = 0
- local firstBuffOnRow = 1
- for i=1, numAuras do
- if ( largeAuraList[i] ) then
- size = LARGE_AURA_SIZE
- offsetY = AURA_OFFSET_Y + AURA_OFFSET_Y
- else
- size = SMALL_AURA_SIZE
- end
- if ( i == 1 ) then
- rowWidth = size
- self.auraRows = self.auraRows + 1
- else
- rowWidth = rowWidth + size + offsetX
- end
- if ( rowWidth > maxRowWidth ) then
- updateFunc(self, auraName, i, numOppositeAuras, firstBuffOnRow, size, offsetX, offsetY)
- rowWidth = size
- self.auraRows = self.auraRows + 1
- firstBuffOnRow = i
- offsetY = AURA_OFFSET_Y
- else
- updateFunc(self, auraName, i, numOppositeAuras, i - 1, size, offsetX, offsetY)
- end
- end
- end)]]--
- ----------------------------------------------------------------------------------------------------
- -- Class colors in arena frames
- ----------------------------------------------------------------------------------------------------
- local frame = CreateFrame("FRAME")
- frame:RegisterEvent("PLAYER_ENTERING_WORLD")
- frame:RegisterEvent("PARTY_MEMBERS_CHANGED")
- frame:RegisterEvent("PLAYER_TARGET_CHANGED")
- frame:RegisterEvent("PLAYER_FOCUS_CHANGED")
- frame:RegisterEvent("UNIT_FACTION")
- frame:RegisterEvent("ARENA_OPPONENT_UPDATE")
- frame:RegisterEvent("PLAYER_CONTROL_GAINED")
- frame:RegisterEvent("PLAYER_CONTROL_LOST")
- frame:RegisterEvent("ADDON_LOADED");
- local function DoArenaColorHook()
- hooksecurefunc("ArenaEnemyFrame_Unlock",
- function(self)
- local color=RAID_CLASS_COLORS[select(2,UnitClass(self.unit)) or ""]
- if color then
- self.healthbar:SetStatusBarColor(color.r,color.g,color.b)
- self.healthbar.lockColor=true
- end
- end
- )
- end
- local function eventHandler(self, event, arg, ...)
- if (event == "UNIT_FACTION" and arg ~= "target" and arg ~= "focus") then return end
- if event == "ADDON_LOADED" then
- if arg == "Blizzard_ArenaUI" then
- self:UnregisterEvent(event);
- DoArenaColorHook();
- end
- end
- if UnitExists("target") then
- TargetFrameNameBackground:SetVertexColor(0.0, 0.0, 0.0, 0)
- end
- if UnitExists("focus") then
- FocusFrameNameBackground:SetVertexColor(0.0, 0.0, 0.0, 0)
- end
- end
- if IsAddOnLoaded("Blizzard_ArenaUI") then
- DoArenaColorHook();
- end
- frame:SetScript("OnEvent", eventHandler)
- ----------------------------------------------------------------------------------------------------
- --Woundman DRTracker--
- ----------------------------------------------------------------------------------------------------
- USD="UNIT_SPELLCAST_SUCCEEDED";OT="OnEvent";FR="Frame";RF=CreateFrame;RD="Border";UE=UnitName
- CS=RF(FR) CS.c=RF("Cooldown","CST",CS.t) CS:RegisterEvent(USD)
- CS.c:SetAllPoints(CS) CS:SetPoint("TOPRIGHT",FocusFrame,-192,1)CS:SetSize(22,22)CS:Hide()CS.t=CS:CreateTexture(nil,RD)CS.t:SetAllPoints()CS.t:SetTexture("Interface\\Icons\\ability_rogue_kidneyshot")
- CS:SetScript(OT,function(self,event,...)if UE(select(1,...))==UE("player")and select(5,...)==1833 then CST:SetCooldown(GetTime(),23)CS:Show()CS.elapsed = 0 CS:SetScript('OnUpdate', function(self, elapsed)if self.elapsed > 24 then self:SetScript('OnUpdate', nil) self:Hide() else self.elapsed = self.elapsed + elapsed end end)end if UE(select(1,...))==UE("player")and select(5,...)==408 then CST:SetCooldown(GetTime(),25)CS:Show() CS.elapsed = 0 CS:SetScript('OnUpdate', function(self, elapsed)if self.elapsed > 26 then self:SetScript('OnUpdate', nil) self:Hide()else self.elapsed = self.elapsed + elapsed end end)end end)
- SP=RF(FR) SP.c=RF("Cooldown","SAP",SP.t) SP:RegisterEvent(USD)
- SP.c:SetAllPoints(SP) SP:SetPoint("TOPRIGHT",FocusFrame,-170,1)SP:Hide()SP:SetSize(22,22)SP.t=SP:CreateTexture(nil,RD)SP.t:SetAllPoints()SP.t:SetTexture("Interface\\Icons\\ability_gouge")
- SP:SetScript(OT,function(self,event,...)if UE(select(1,...))==UE("player")and select(5,...)==6770 then SAP:SetCooldown(GetTime(),27)SP:Show()SP.elapsed = 0 SP:SetScript('OnUpdate', function(self, elapsed)if self.elapsed > 28 then self:SetScript('OnUpdate', nil) self:Hide()else self.elapsed = self.elapsed + elapsed end end)end if UE(select(1,...))==UE("player")and select(5,...)==1776 then SAP:SetCooldown(GetTime(),23)SP:Show()SP.elapsed = 0 SP:SetScript('OnUpdate', function(self, elapsed)if self.elapsed > 24 then self:SetScript('OnUpdate', nil) self:Hide()else self.elapsed = self.elapsed + elapsed end end)end end)
- GR=RF(FR) GR.c=RF("Cooldown","GAR",GR.t)
- GR.c:SetAllPoints(GR) GR:SetPoint("TOPRIGHT",FocusFrame,-148,1)GR:Hide()GR:SetSize(22,22)GR.t=GR:CreateTexture(nil,RD)GR.t:SetAllPoints()GR.t:SetTexture("Interface\\Icons\\spell_shadow_mindrot")
- GR:SetScript(OT,function(self,event,...)if UE(select(1,...))==UE("player")and select(5,...)==703 then GAR:SetCooldown(GetTime(),23)GR:Show()GR.elapsed = 0 GR:SetScript('OnUpdate', function(self, elapsed)if self.elapsed > 25 then self:SetScript('OnUpdate', nil) self:Hide()else self.elapsed = self.elapsed + elapsed end end)end end) GR:RegisterEvent(USD)
- ----------------------------------------------------------------------------------------------------
- --DR Tracker
- ----------------------------------------------------------------------------------------------------
- --drx=86 f:SetPoint(dp,gaef(f,n),dp,drx+(r-1)*25,-2)
- DRt={{5211,12809,44572,47481,2812,853,408,22570,6785,30283,46968,20549,85388,1833,9005},{118,6770,1776,49203,28272,28271,61305,61721,61780,82691,51514},{5782,8122,5484,20511,2094}}
- drx=100;drs=35;dp="RIGHT";dre="COMBAT_LOG_EVENT_UNFILTERED"drp="PLAYER_ENTERING_WORLD"dra="ARENA_OPPONENT_UPDATE"LoadAddOn("Blizzard_ArenaUI")function gaef(f,n)return _G["ArenaEnemyFrame"..n.."HealthBar"]end
- function rDR(f)f.e=1;f.t:SetTexture(nil)f.c:Hide()end function sDR(f)f.e=f.e+1;f.c:Show()end function gDRt(i,j)return _G["drc"..i..":"..j]end function runDR(f,n)CooldownFrame_SetTimer(f.c,GetTime(),18,1)eDR(f,n)sDR(f)oDR(n)end
- function eDR(f,n)local t=1;f:SetScript("OnUpdate",function(s,e)t=t+e;if(t>=18)then f:SetScript("OnUpdate",nil)rDR(f)oDR(n)end end)end function cDR(f,n,s)if f.e<4 then local _,_,t=GetSpellInfo(s)f.t:SetTexture(t)runDR(f,n)end end
- function oDR(n)local r=1;for j in ipairs(DRt)do local f=gDRt(n,j)f:SetPoint(dp,gaef(f,n),dp,drx+(r-1)*40,-2)r=r+1;end end function uDR(n,s)for i,t in ipairs(DRt)do for _,j in ipairs(t)do if s==j then cDR(gDRt(n,i),n,s)end end end end
- function DRc(i,j)local f=CreateFrame("Frame",nil,UIParent)f:SetSize(drs,drs)f.t=f:CreateTexture(nil,"BORDER")f.t:SetAllPoints(true)f.c=CreateFrame("Cooldown",nil,f)f.c:SetAllPoints(f)f.e=1 return f end
- function clDR(_,e,_,_,_,_,_,d,_,_,_,s)if(e=="SPELL_AURA_REMOVED" or e=="SPELL_AURA_REFRESH")then for i=1,5 do local ag=UnitGUID("arena"..i)if(ag ~= nil and d==ag)then uDR(i,s)end end end end
- function iDRt(o,m)for i=1,m do for j in ipairs(DRt)do local f=gDRt(i,j)rDR(f)if o then f:Show()end end end end for i=1,5 do for j in ipairs(DRt)do _G["drc"..i..":"..j]=DRc(i,j)end end
- dt=CreateFrame("Frame")dt:SetScript("OnEvent",function(_,e,...)if e==dre then clDR(...)elseif e==dra then iDRt(1,GetNumArenaOpponents())else iDRt(nil,5)end end)dt:RegisterEvent(dra)dt:RegisterEvent(drp)dt:RegisterEvent(dre)
- ----------------------------------------------------------------------------------------------------
- ---- Say interrupt
- ----------------------------------------------------------------------------------------------------
- --[[local f = CreateFrame("Frame")
- local function Update(self, event, ...)
- local pvpType = GetZonePVPInfo()
- f:UnregisterEvent("ZONE_CHANGED_NEW_AREA")
- if event == "COMBAT_LOG_EVENT_UNFILTERED" then
- if UnitInRaid("player") and GetNumRaidMembers() > 5 then channel = "RAID" elseif GetNumPartyMembers() > 0 then channel = "PARTY" else return end
- -- local channel = "SAY"
- local timestamp, eventType, _, sourceGUID, sourceName, sourceFlags, sourceRaidFlags, destGUID, destName, destFlags, _, spellID, spellName, _, extraskillID, extraSkillName = ...
- if eventType == "SPELL_INTERRUPT" and sourceName == UnitName("player") then
- SendChatMessage("Interrupted -> "..GetSpellLink(extraskillID).."!", channel)
- end
- end
- end
- f:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
- f:RegisterEvent("ZONE_CHANGED_NEW_AREA")
- f:SetScript("OnEvent", Update)]]--
- ----------------------------------------------------------------------------------------------------
- --Class Colored PartyFrames--
- ----------------------------------------------------------------------------------------------------
- local UnitIsPlayer,--UnitPlayerOrPetInParty,
- UnitIsConnected, UnitClass, RAID_CLASS_COLORS =
- UnitIsPlayer,
- --UnitPlayerOrPetInParty,
- UnitIsConnected,
- UnitClass, RAID_CLASS_COLORS
- local _, class, c
- local function colour(statusbar, unit, name)
- if UnitIsPlayer(unit) and
- --UnitPlayerOrPetInParty(unit) and
- UnitIsConnected(unit) and
- unit == statusbar.unit and
- UnitClass(unit) then
- _, class = UnitClass(unit)
- c = CUSTOM_CLASS_COLORS and
- CUSTOM_CLASS_COLORS[class] or
- RAID_CLASS_COLORS[class]
- statusbar:SetStatusBarColor(c.r, c.g, c.b)
- statusbar = _G["PlayerFrame".."HealthBar"]:SetStatusBarColor(0.1, 1.0, 0.1)--playerframe fix
- --statusbar = _G["TargetFrame".."HealthBar"]:SetStatusBarColor(0.1, 1.0, 0.1)--targetframe fix
- --statusbar = _G["FocusFrame".."HealthBar"]:SetStatusBarColor(0.1, 1.0, 0.1)--focusframe fix
- end end
- hooksecurefunc("UnitFrameHealthBar_Update", colour)
- hooksecurefunc("HealthBar_OnValueChanged", function(self)
- colour(self, self.unit)
- end)
- local sb = _G.GameTooltipStatusBar
- local addon = CreateFrame("Frame", "StatusColour")
- addon:RegisterEvent("UPDATE_MOUSEOVER_UNIT")
- addon:SetScript("OnEvent", function()
- colour(sb, "mouseover")
- end)
- hooksecurefunc("UnitFrame_Update", function(self)
- if UnitClass(self.unit) then
- local c = (CUSTOM_CLASS_COLORS or RAID_CLASS_COLORS)[select(2,UnitClass(self.unit))]
- self.name:SetTextColor(c.r,c.g,c.b,1)
- self.name:SetFont("Fonts\\skurri.ttf", 12)
- end
- end)
- ----------------------------------------------------------------------------------------------------
- --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 == 59752 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()
- self:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED")
- for _, trinket in pairs(trinkets) do
- trinket:SetCooldown(0, 0)
- trinket:Hide()
- end
- end
- events:SetScript("OnEvent", function(self, event, ...) return self[event](self, ...) end)
- events:RegisterEvent("PLAYER_ENTERING_WORLD")]]--
- ----------------------------------------------------------------------------------------------------
- --Dispell--
- ----------------------------------------------------------------------------------------------------
- hooksecurefunc("TargetFrame_UpdateAuras", function(s)
- for i = 1, MAX_TARGET_BUFFS do
- _, _, ic, _, dT = UnitBuff(s.unit, i)
- if(ic and (not s.maxBuffs or i<=s.maxBuffs)) then
- fS=_G[s:GetName()..'Buff'..i..'Stealable']
- if(UnitIsEnemy(PlayerFrame.unit, s.unit) and dT=='') then
- fS:Show()
- else
- fS:Hide()
- end
- end
- end
- end)
- ----------------------------------------------------------------------------------------------------
- --FocusFrameTweaks--
- ----------------------------------------------------------------------------------------------------
- hooksecurefunc(FocusFrameSpellBar, "Show", function()
- FocusFrameSpellBar:ClearAllPoints()
- FocusFrameSpellBar:SetPoint("LEFT", FocusFrame, "LEFT", -190, 5)
- FocusFrameSpellBar.SetPoint = function() end
- end)
- frame:SetScript("OnEvent", eventHandler)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement