Advertisement
Guest User

sain_ui_unitframes.lua

a guest
Jul 18th, 2012
197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 24.35 KB | None | 0 0
  1. --Sets up the different Portraits to fir the Frames
  2.  
  3. _,_,p4 =PlayerFrame:GetRegions();                       --PlayerPortrait
  4. p4:SetTexCoord(0.13, 0.83, 0.13, 0.83)
  5.  
  6. _,_,_,t4 =TargetFrame:GetRegions();                 --TargetPortrait
  7. t4:SetTexCoord(0.83, 0.13, 0.13, 0.83)
  8.  
  9. _,tt4 =TargetFrameToT:GetRegions();                 --TargetofTargetPortrait
  10. tt4:SetTexCoord(0.83, 0.13, 0.13, 0.83)
  11. tt4:SetWidth(38)
  12. tt4:SetHeight(38)
  13.  
  14. _,_,_,f4 =FocusFrame:GetRegions();                  --FocusFramePortrait
  15. f4:SetTexCoord(0.13, 0.83, 0.13, 0.83)
  16.  
  17. _,f4 =FocusFrameToT:GetRegions();                       --FocusTargetPortrait
  18. f4:SetTexCoord(0.13, 0.83, 0.13, 0.83)
  19. f4:SetWidth(38)
  20. f4:SetHeight(38)
  21.  
  22. _,p4=PetFrame:GetRegions();                                 --PetPortrait
  23. p4:SetTexCoord(0.13, 0.83, 0.13, 0.83)
  24.  
  25. _,p4=PartyMemberFrame1:GetRegions();                --PartyMember Portrait
  26. p4:SetTexCoord(0.13, 0.83, 0.13, 0.83)
  27.  
  28. _,p4=PartyMemberFrame2:GetRegions();                --PartyMember Portrait
  29. p4:SetTexCoord(0.13, 0.83, 0.13, 0.83)
  30.  
  31. _,p4=PartyMemberFrame3:GetRegions();                --PartyMember Portrait
  32. p4:SetTexCoord(0.13, 0.83, 0.13, 0.83)
  33.  
  34. _,p4=PartyMemberFrame4:GetRegions();                --PartyMember Portrait
  35. p4:SetTexCoord(0.13, 0.83, 0.13, 0.83)
  36.  
  37.  
  38. -- CONFIGURATION ----------------------------------
  39.  
  40.  
  41. -- Change these values to move the frames to costum positions
  42. local frame = {
  43.     ["PlayerFrame"]  = {
  44.         position = {"TOPLEFT", UIParent, -35, 0,};  -- -35, 0
  45.         scale = 1.2
  46.     },
  47.     ["TargetFrame"]  = {
  48.         position = {"TOPLEFT", UIParent, 205, 0};   -- 205, 0
  49.         scale = 1.2
  50.     },
  51.     ["TargetFrameToT"]  = {
  52.         position = {"TOPRIGHT", TargetFrame, "TOPRIGHT", 50, -24};
  53.         scale = 1
  54.     },
  55.     ["PetFrame"]  = {
  56.         position = {"BOTTOMLEFT", PlayerFrame, "BOTTOMLEFT", 54, -25};
  57.         scale = 1
  58.     },
  59. };
  60.  
  61.  
  62. -- END OF CONFIG ----------------------------------
  63.  
  64.  
  65.  
  66.  
  67. local eventHandler = CreateFrame("frame")
  68. local _, class = UnitClass("player")
  69. local lc, lcl = IsAddOnLoaded("LoseControl"), IsAddOnLoaded("LoseControlLite")
  70.  
  71.  
  72. -- GET UNIT FRAMES IN PLACE -----------------------
  73. ---------------------------------------------------
  74.  
  75. -- Player frame
  76. local function posPlayerFrame()
  77.     PlayerFrame:ClearAllPoints()
  78.     PlayerFrame:SetPoint(unpack(frame["PlayerFrame"].position));
  79.     RuneFrame:ClearAllPoints()
  80.     RuneFrame:SetPoint("TOP", PlayerFrame, "BOTTOM", 59, 35)
  81.     RuneFrame:SetScale(1.1)
  82.     PlayerLeaderIcon:ClearAllPoints()
  83.     PlayerLeaderIcon:SetPoint("TOPLEFT", 62, -22)
  84. end
  85.  
  86.  
  87. -- Target frame
  88. TargetFrame:ClearAllPoints()
  89. TargetFrame:SetPoint(unpack(frame["TargetFrame"].position));
  90.    
  91.  
  92. -- Target of target frame
  93. TargetFrameToT:ClearAllPoints()
  94. TargetFrameToT:SetPoint(unpack(frame["TargetFrameToT"].position));
  95.  
  96.  
  97. -- Pet frame
  98. local pa, pb, pc, pd, pe = unpack(frame["PetFrame"].position);
  99.  
  100. if (pe == -25) and (class == "SHAMAN") then
  101.     PetFrame:ClearAllPoints()
  102.     PetFrame:SetPoint(pa, pb, pc, pd, pe-25)
  103. elseif (pe == -25) and (class == "WARLOCK" or class == "DRUID") then
  104.     PetFrame:ClearAllPoints()
  105.     PetFrame:SetPoint(pa, pb, pc, pd, pe-10)
  106. else
  107.     PetFrame:ClearAllPoints()
  108.     PetFrame:SetPoint(pa, pb, pc, pd, pe)
  109. end
  110.  
  111.  
  112.  
  113.  
  114. -- SET UNITFRAME SCALE ----------------------------
  115. ---------------------------------------------------
  116.  
  117. PlayerFrame:SetScale(frame["PlayerFrame"].scale)
  118. TargetFrame:SetScale(frame["TargetFrame"].scale)
  119. TargetFrameToT:SetScale(frame["TargetFrameToT"].scale)
  120. PetFrame:SetScale(frame["PetFrame"].scale)
  121.  
  122.  
  123.  
  124.  
  125. -- CUSTOMIZE PLAYER FRAME -------------------------
  126. ---------------------------------------------------
  127.  
  128. -- Player
  129. PlayerPortrait:SetSize(42, 42)
  130. PlayerPortrait:SetPoint("TOPLEFT", 60, -22)
  131. PlayerHitIndicator:SetText("")
  132. PlayerHitIndicator.SetText = function() end
  133. PlayerFrameFlash:ClearAllPoints()
  134. PlayerFrameFlash:SetPoint("TOPLEFT", 14, 0)
  135. PlayerFrameGroupIndicatorLeft:SetTexture(nil)
  136. PlayerFrameGroupIndicatorRight:SetTexture(nil)
  137. PlayerFrameGroupIndicatorMiddle:SetTexture(nil)
  138. PlayerPVPTimerText:ClearAllPoints()
  139. PlayerPVPTimerText:SetPoint("CENTER", PlayerFrame, "TOPLEFT", 82, -12)
  140. PlayerAttackIcon:SetSize(18, 18)
  141. PlayerAttackIcon:ClearAllPoints()
  142. PlayerAttackIcon:SetPoint("BOTTOMLEFT", 60, 35)
  143. PlayerPVPIcon:SetAlpha(0)
  144. PlayerLevelText:SetAlpha(0)
  145. PlayerRestGlow:SetAlpha(0)
  146. PlayerRestIcon:SetAlpha(0)
  147. PlayerGuideIcon:SetAlpha(0)
  148. PlayerMasterIcon:SetAlpha(0)
  149. PlayerFrameRoleIcon:SetAlpha(0)
  150. PlayerSpeakerFrame:SetAlpha(0)
  151. PlayerFrameReadyCheck:SetAlpha(0)
  152. PlayerLeaderIcon:SetSize(12, 12)
  153. PlayerFrameGroupIndicatorText:SetAlpha(0.5)
  154.  
  155.  
  156. -- Player enters world or leaves vehicle
  157. local function setupPlayerFrame()
  158.     PlayerName:ClearAllPoints()
  159.     PlayerName:SetPoint("CENTER", 50, 20.5)
  160.     PlayerFrameHealthBar:ClearAllPoints()
  161.     PlayerFrameHealthBar:SetPoint("TOPLEFT", 107, -38)
  162.     PlayerFrameHealthBar:SetHeight(17)
  163.     PlayerFrameHealthBarText:ClearAllPoints()
  164.     PlayerFrameHealthBarText:SetPoint("CENTER", 50, 3.5)
  165.     PlayerFrameManaBar:ClearAllPoints()
  166.     PlayerFrameManaBar:SetPoint("TOPLEFT", 107, -55)
  167.     PlayerFrameManaBar:SetHeight(9)
  168.     PlayerFrameManaBarText:ClearAllPoints()
  169.     PlayerFrameManaBarText:SetPoint("CENTER", 50, -10)
  170. end
  171.  
  172.  
  173. --[[ Player enters vehicle
  174. local function setupVehicleFrame()
  175.     PlayerName:ClearAllPoints()
  176.     PlayerName:SetPoint("CENTER", 47, 18)
  177.     PlayerFrameHealthBar:ClearAllPoints()
  178.     PlayerFrameHealthBar:SetPoint("TOPLEFT", 106, -40)
  179.     PlayerFrameHealthBar:SetWidth(113)
  180.     PlayerFrameManaBar:ClearAllPoints()
  181.     PlayerFrameManaBar:SetPoint("TOPLEFT", 106, -55)
  182.     PlayerFrameManaBar:SetWidth(113)
  183. end
  184. ]]
  185.  
  186.  
  187. -- Combo points frame
  188. ComboFrame:SetScale(frame["TargetFrame"].scale)
  189. ComboFrame:ClearAllPoints()
  190. ComboFrame:SetPoint("TOPRIGHT", TargetFrame, -47, -22)
  191. ComboPoint2:ClearAllPoints()
  192. ComboPoint2:SetPoint("TOP", ComboPoint1, "BOTTOM", 0, 4)
  193. ComboPoint3:ClearAllPoints()
  194. ComboPoint3:SetPoint("TOP", ComboPoint2, "BOTTOM", 0, 4)
  195. ComboPoint4:ClearAllPoints()
  196. ComboPoint4:SetPoint("TOP", ComboPoint3, "BOTTOM", 0, 4)
  197. ComboPoint5:ClearAllPoints()
  198. ComboPoint5:SetPoint("TOP", ComboPoint4, "BOTTOM", 1, 4)
  199.  
  200.  
  201. -- Feral mana bar
  202. PlayerFrameAlternateManaBar:ClearAllPoints()
  203. PlayerFrameAlternateManaBar:SetPoint("BOTTOMLEFT", 127, 23)
  204. PlayerFrameAlternateManaBar:SetWidth(80)
  205. PlayerFrameAlternateManaBarBorder:SetTexture("Interface\\AddOns\\SainUI_UnitFrames\\Textures\\UI-CHARACTERFRAME-GROUPINDICATOR.blp")
  206.  
  207.  
  208. -- Moonkin eclispe bar
  209. EclipseBarFrame:SetScale(0.9)
  210. EclipseBarFrame:ClearAllPoints()
  211. EclipseBarFrame:SetPoint("TOP", PlayerFrame, "BOTTOM", 56, 43)
  212.  
  213.  
  214. -- Paladin power bar
  215. PaladinPowerBar:SetScale(0.9)
  216. PaladinPowerBar:ClearAllPoints()
  217. PaladinPowerBar:SetPoint("TOP", PlayerFrame, "BOTTOM", 56, 45)
  218.  
  219.  
  220. -- Warlock Shard bar
  221. ShardBarFrame:SetScale(0.9)
  222. ShardBarFrame:ClearAllPoints()
  223. ShardBarFrame:SetPoint("TOP", PlayerFrame, "BOTTOM", 60, 39)
  224.  
  225.  
  226. -- Totem bar
  227. TotemFrame:SetScale(0.9)
  228.  
  229. for i=1,4 do
  230.     _G["TotemFrameTotem"..i.."Background"]:SetTexture(nil)
  231. end
  232.  
  233.  
  234.  
  235.  
  236. -- CUSTOMIZE TARGET FRAME -------------------------
  237. ---------------------------------------------------
  238.  
  239. TargetFramePortrait:SetSize(42, 42)
  240. TargetFramePortrait:SetPoint("TOPRIGHT", -60, -22)
  241. TargetFrameTextureFrameName:ClearAllPoints()
  242. TargetFrameTextureFrameName:SetPoint("CENTER", -50, 20.5)
  243. TargetFrameHealthBar:ClearAllPoints()
  244. TargetFrameHealthBar:SetPoint("TOPRIGHT", -106, -38)
  245. TargetFrameHealthBar:SetHeight(17)
  246. TargetFrameTextureFrameHealthBarText:ClearAllPoints()
  247. TargetFrameTextureFrameHealthBarText:SetPoint("CENTER", -50, 3.5)
  248. TargetFrameManaBar:ClearAllPoints()
  249. TargetFrameManaBar:SetPoint("TOPRIGHT", -106, -55)
  250. TargetFrameManaBar:SetHeight(9)
  251. TargetFrameTextureFrameManaBarText:ClearAllPoints()
  252. TargetFrameTextureFrameManaBarText:SetPoint("CENTER", -50, -10)
  253. TargetFrameTextureFramePVPIcon:SetAlpha(0)
  254. TargetFrameTextureFrameRaidTargetIcon:ClearAllPoints()
  255. TargetFrameTextureFrameRaidTargetIcon:SetPoint("TOPRIGHT", -73, -15)
  256. TargetFrameTextureFrameRaidTargetIcon:SetSize(15, 15)
  257. TargetFrameNumericalThreat:SetPoint("BOTTOM", 35, 20)
  258. TargetFrameNumericalThreatBG:SetAlpha(0.8)
  259. TargetFrameNumericalThreatBG:SetWidth(32)
  260. TargetFrameNumericalThreatBG:SetHeight(12)
  261. TargetFrameNumericalThreatBG:ClearAllPoints()
  262. TargetFrameNumericalThreatBG:SetPoint("TOP", 0, -3)
  263. TargetFrameNumericalThreatValue:SetPoint("TOP", 1, -3)
  264. TargetFrameTextureFrameLevelText:ClearAllPoints()
  265. TargetFrameTextureFrameLevelText:SetPoint("CENTER", 50, -7)
  266. TargetFrameTextureFrameHighLevelTexture:ClearAllPoints()
  267. TargetFrameTextureFrameHighLevelTexture:SetPoint("CENTER", TargetFrameTextureFrameLevelText, 0, 0)
  268. TargetFrameTextureFrameLeaderIcon:SetSize(12, 12)
  269. TargetFrameTextureFrameLeaderIcon:ClearAllPoints()
  270. TargetFrameTextureFrameLeaderIcon:SetPoint("TOPRIGHT", -61, -22)
  271. TargetFrameTextureFrameQuestIcon:ClearAllPoints()
  272. TargetFrameTextureFrameQuestIcon:SetPoint("TOPLEFT", TargetFrame, "TOPRIGHT", -120, -12)
  273. TargetFrameNameBackground:SetHeight(17)
  274.  
  275.  
  276.  
  277.  
  278. -- CUSTOMIZE ToT FRAME ----------------------------
  279. ---------------------------------------------------
  280.  
  281. TargetFrameToTBackground:SetWidth(50)
  282. TargetFrameToTBackground:SetHeight(20)
  283. TargetFrameToTBackground:ClearAllPoints()
  284. TargetFrameToTBackground:SetPoint("BOTTOMLEFT", 43, 5)
  285. TargetFrameToTPortrait:ClearAllPoints()
  286. TargetFrameToTPortrait:SetPoint("TOPLEFT", 3, -6)
  287. TargetFrameToTPortrait:SetSize(34, 34)
  288. TargetFrameToTHealthBar:SetHeight(12)
  289. TargetFrameToTHealthBar:SetWidth(50)
  290. TargetFrameToTHealthBar:ClearAllPoints()
  291. TargetFrameToTHealthBar:SetPoint("TOPRIGHT", 0, -20)
  292. TargetFrameToTManaBar:ClearAllPoints()
  293. TargetFrameToTManaBar:SetPoint("TOPRIGHT", 0, -33)
  294. TargetFrameToTManaBar:SetWidth(50)
  295. TargetFrameToTTextureFrameName:ClearAllPoints()
  296. TargetFrameToTTextureFrameName:SetPoint("BOTTOMLEFT", 43, 28)
  297. TargetFrameToTTextureFrameName.SetPoint = function() end
  298. TargetFrameToTDebuff1:ClearAllPoints()
  299. TargetFrameToTDebuff1:SetPoint("BOTTOMLEFT", 40, -14)
  300. TargetFrameToTDebuff3:ClearAllPoints()
  301. TargetFrameToTDebuff3:SetPoint("TOPRIGHT", TargetFrameToTDebuff2, 14, 0)
  302.  
  303. TargetFrameToTTextureFrameDeadText:ClearAllPoints()
  304. TargetFrameToTTextureFrameDeadText:SetPoint("CENTER", 15, -3)   -- FIXA
  305.  
  306.  
  307.  
  308.  
  309. -- CUSTOMIZE FOCUS FRAME --------------------------
  310. ---------------------------------------------------
  311.  
  312. FocusFramePortrait:SetSize(40, 40)
  313. FocusFramePortrait:SetPoint("TOPRIGHT", -61, -23)
  314. FocusFrameHealthBar:ClearAllPoints()
  315. FocusFrameHealthBar:SetPoint("TOPRIGHT", -106, -40)
  316. FocusFrameHealthBar:SetHeight(14);
  317. FocusFrameManaBar:ClearAllPoints()
  318. FocusFrameManaBar:SetPoint("TOPRIGHT", -106, -55)
  319. FocusFrameManaBar:SetHeight(9)
  320. FocusFrameTextureFrameLevelText:SetAlpha(0)
  321. FocusFrameTextureFramePVPIcon:SetAlpha(0)
  322. FocusFrameTextureFrameName:ClearAllPoints()
  323. FocusFrameTextureFrameName:SetPoint("CENTER", -50, 20)
  324. FocusFrameTextureFrameManaBarText:ClearAllPoints()
  325. FocusFrameTextureFrameManaBarText:SetPoint("CENTER", -50, -10)
  326. FocusFrameTextureFrameRaidTargetIcon:ClearAllPoints()
  327. FocusFrameTextureFrameRaidTargetIcon:SetPoint("TOPRIGHT", -73, -15)
  328. FocusFrameTextureFrameRaidTargetIcon:SetSize(15, 15)
  329. FocusFrameNumericalThreat:SetPoint("BOTTOM", 35, 20)
  330. FocusFrameNumericalThreatBG:SetAlpha(0.8)
  331. FocusFrameNumericalThreatBG:SetWidth(32)
  332. FocusFrameNumericalThreatBG:SetHeight(12)
  333. FocusFrameNumericalThreatBG:ClearAllPoints()
  334. FocusFrameNumericalThreatBG:SetPoint("TOP", 0, -3)
  335. FocusFrameNumericalThreatValue:SetPoint("TOP", 1, -3)
  336. FocusFrameTextureFrameLevelText:ClearAllPoints()
  337. FocusFrameTextureFrameLevelText:SetPoint("CENTER", 50, -7)
  338. FocusFrameTextureFrameHighLevelTexture:ClearAllPoints()
  339. FocusFrameTextureFrameHighLevelTexture:SetPoint("CENTER", FocusFrameTextureFrameLevelText, 0, 0)
  340. FocusFrameTextureFrameLeaderIcon:SetAlpha(0)
  341.  
  342.  
  343.  
  344.  
  345. -- CUSTOMIZE FOCUS ToT FRAME ----------------------
  346. ---------------------------------------------------
  347.  
  348. local function setupFocusToTFrame()
  349.     if not (UnitAffectingCombat("player")) then
  350.         FocusFrameToT:ClearAllPoints()
  351.         FocusFrameToT:SetPoint("BOTTOMRIGHT", FocusFrame, "BOTTOMRIGHT", 40, 31)
  352.         FocusFrameToTBackground:SetWidth(50)
  353.         FocusFrameToTBackground:SetHeight(20)
  354.         FocusFrameToTBackground:ClearAllPoints()
  355.         FocusFrameToTBackground:SetPoint("BOTTOMLEFT", 43, 5)
  356.         FocusFrameToTHealthBar:SetHeight(10)
  357.         FocusFrameToTHealthBar:SetWidth(48)
  358.         FocusFrameToTHealthBar:ClearAllPoints()
  359.         FocusFrameToTHealthBar:SetPoint("TOPRIGHT", -2, -21)
  360.         FocusFrameToTManaBar:SetWidth(48)
  361.         FocusFrameToTManaBar:ClearAllPoints()
  362.         FocusFrameToTManaBar:SetPoint("TOPRIGHT", -2, -33)
  363.         FocusFrameToTTextureFrameName:ClearAllPoints()
  364.         FocusFrameToTTextureFrameName:SetPoint("BOTTOMLEFT", 43, 28)
  365.     else
  366.         eventHandler:RegisterEvent("PLAYER_REGEN_ENABLED")
  367.     end
  368. end
  369.  
  370.  
  371.  
  372.  
  373. -- CUSTOMIZE PET FRAME ----------------------------
  374. ---------------------------------------------------
  375.  
  376. PetPortrait:SetSize(34, 34)
  377. PetPortrait:ClearAllPoints()
  378. PetPortrait:SetPoint("TOPLEFT", 6, -11)
  379. PetHitIndicator:SetText("")
  380. PetHitIndicator.SetText = function() end
  381. PetFrameHealthBar:SetHeight(15)
  382. PetFrameHealthBar:ClearAllPoints()
  383. PetFrameHealthBar:SetPoint("TOPLEFT", 46, -22)
  384. PetFrameManaBar:ClearAllPoints()
  385. PetFrameManaBar:SetPoint("TOPLEFT", 46, -37)
  386. PetName:ClearAllPoints()
  387. PetName:SetPoint("BOTTOMLEFT", 46, 33)
  388. PetFrameHealthBarText:ClearAllPoints()
  389. PetFrameHealthBarText:SetPoint("CENTER", PetFrame, "TOPLEFT", 82, -29.5)
  390. PetFrameManaBarText:ClearAllPoints()
  391. PetFrameManaBarText:SetPoint("CENTER", PetFrame, "TOPLEFT", 82, -41)
  392. PetFrameDebuff1:ClearAllPoints()
  393. PetFrameDebuff1:SetPoint("TOPLEFT", PetFrame, 48, -50)
  394.  
  395.  
  396.  
  397. -- CUSTOMIZE PARTY FRAMES -------------------------
  398. ---------------------------------------------------
  399.  
  400. PartyMemberFrame1:ClearAllPoints()
  401. PartyMemberFrame1:SetPoint("TOPLEFT", 19, -180)
  402.  
  403.  
  404. for i=1,4 do
  405.     _G["PartyMemberFrame"..i]:SetScale(1.1)
  406.     _G["PartyMemberFrame"..i.."Background"]:SetHeight(23)
  407.     _G["PartyMemberFrame"..i.."Background"]:SetPoint("TOPLEFT", 45, -22)
  408.     _G["PartyMemberFrame"..i.."Portrait"]:SetSize(34, 34)
  409.     _G["PartyMemberFrame"..i.."Name"]:ClearAllPoints()
  410.     _G["PartyMemberFrame"..i.."Name"]:SetPoint("BOTTOMLEFT", 45, 34)
  411.     _G["PartyMemberFrame"..i.."HealthBar"]:SetHeight(15)
  412.     _G["PartyMemberFrame"..i.."HealthBar"]:SetWidth(71)
  413.     _G["PartyMemberFrame"..i.."HealthBar"]:ClearAllPoints()
  414.     _G["PartyMemberFrame"..i.."HealthBar"]:SetPoint("TOPLEFT", 45, -22)
  415.     _G["PartyMemberFrame"..i.."HealthBarText"]:ClearAllPoints()
  416.     _G["PartyMemberFrame"..i.."HealthBarText"]:SetPoint("CENTER", 20, -3)
  417.     _G["PartyMemberFrame"..i.."ManaBar"]:SetHeight(8)
  418.     _G["PartyMemberFrame"..i.."ManaBar"]:SetWidth(71)
  419.     _G["PartyMemberFrame"..i.."ManaBar"]:ClearAllPoints()
  420.     _G["PartyMemberFrame"..i.."ManaBar"]:SetPoint("TOPLEFT", 45, -37)
  421.     _G["PartyMemberFrame"..i.."ManaBarText"]:ClearAllPoints()
  422.     _G["PartyMemberFrame"..i.."ManaBarText"]:SetPoint("CENTER", 20, -14)
  423.     _G["PartyMemberFrame"..i.."Debuff1"]:ClearAllPoints()
  424.     _G["PartyMemberFrame"..i.."Debuff1"]:SetPoint("TOPLEFT", 125, -15)
  425.     _G["PartyMemberFrame"..i.."Debuff3"]:ClearAllPoints()
  426.     _G["PartyMemberFrame"..i.."Debuff3"]:SetPoint("TOPLEFT", 125, -30)
  427.     _G["PartyMemberFrame"..i.."PetFrame"]:SetScale(1.0)
  428.     _G["PartyMemberFrame"..i.."PetFramePortrait"]:SetSize(16, 16)
  429.     _G["PartyMemberFrame"..i.."PetFramePortrait"]:ClearAllPoints()
  430.     _G["PartyMemberFrame"..i.."PetFramePortrait"]:SetPoint("TOPLEFT", 3, -6)
  431.     _G["PartyMemberFrame"..i.."PetFrameHealthBar"]:SetHeight(7)
  432.     _G["PartyMemberFrame"..i.."PetFrameHealthBar"]:ClearAllPoints()
  433.     _G["PartyMemberFrame"..i.."PetFrameHealthBar"]:SetPoint("TOPLEFT", 23, -11)
  434.    
  435. --  _G["PartyMemberFrame"..i.."VehicleTexture"]:SetTexture()
  436. end
  437.  
  438.  
  439. local function fixPartyPortrait()
  440.     for i=1,4 do
  441.         _G["PartyMemberFrame"..i.."Portrait"]:ClearAllPoints()
  442.         _G["PartyMemberFrame"..i.."Portrait"]:SetPoint("TOPLEFT", 6, -11)
  443.     end
  444. end
  445.  
  446.  
  447.  
  448.  
  449. -- SET FONTS --------------------------------------
  450. ---------------------------------------------------
  451.  
  452. -- Player
  453. PlayerName:SetFont("Interface\\AddOns\\SainUI\\Fonts\\MYRIAD.TTF", 10)
  454. PlayerFrameHealthBarText:SetFont("Interface\\AddOns\\SainUI\\Fonts\\MYRIAD.TTF", 11, "OUTLINE")
  455. PlayerFrameManaBarText:SetFont("Interface\\AddOns\\SainUI\\Fonts\\MYRIAD.TTF", 9, "OUTLINE")
  456. PlayerFrameAlternateManaBarText:SetFont("Interface\\AddOns\\SainUI\\Fonts\\MYRIAD.ttf", 9, "OUTLINE")
  457. PlayerPVPTimerText:SetFont("Interface\\AddOns\\SainUI\\Fonts\\MYRIAD.TTF", 9)
  458. PlayerFrameGroupIndicatorText:SetFont("Interface\\AddOns\\SainUI\\Fonts\\MYRIAD.TTF", 9)
  459.  
  460.  
  461. -- Target
  462. TargetFrameTextureFrameName:SetFont("Interface\\AddOns\\SainUI\\Fonts\\MYRIAD.TTF", 10)
  463. TargetFrameTextureFrameHealthBarText:SetFont("Interface\\AddOns\\SainUI\\Fonts\\MYRIAD.TTF", 11, "OUTLINE")
  464. TargetFrameTextureFrameManaBarText:SetFont("Interface\\AddOns\\SainUI\\Fonts\\MYRIAD.TTF", 9, "OUTLINE")
  465. TargetFrameNumericalThreatValue:SetFont("Interface\\AddOns\\SainUI\\Fonts\\MYRIAD.TTF", 10)
  466. TargetFrameTextureFrameLevelText:SetFont("Interface\\AddOns\\SainUI\\Fonts\\MYRIAD.TTF", 11, "OUTLINE")
  467. TargetFrameTextureFrameDeadText:SetFont("Interface\\AddOns\\SainUI\\Fonts\\MYRIAD.TTF", 11, "OUTLINE")
  468.  
  469.  
  470. -- Target of target
  471. TargetFrameToTTextureFrameName:SetFont("Interface\\AddOns\\SainUI\\Fonts\\MYRIAD.TTF", 10)
  472.  
  473.  
  474. -- Focus
  475. FocusFrameTextureFrameName:SetFont("Interface\\AddOns\\SainUI\\Fonts\\MYRIAD.TTF", 10)
  476. FocusFrameTextureFrameHealthBarText:SetFont("Interface\\AddOns\\SainUI\\Fonts\\MYRIAD.TTF", 11, "OUTLINE")
  477. FocusFrameTextureFrameManaBarText:SetFont("Interface\\AddOns\\SainUI\\Fonts\\MYRIAD.TTF", 9, "OUTLINE")
  478.  
  479.  
  480. -- Focus target of target
  481. FocusFrameToTTextureFrameName:SetFont("Interface\\AddOns\\SainUI\\Fonts\\MYRIAD.TTF", 10)
  482.  
  483.  
  484. -- Pet
  485. PetName:SetFont("Interface\\AddOns\\SainUI\\Fonts\\MYRIAD.TTF", 10)
  486. PetFrameHealthBarText:SetFont("Interface\\AddOns\\SainUI\\Fonts\\MYRIAD.TTF", 10, "OUTLINE")
  487. PetFrameManaBarText:SetFont("Interface\\AddOns\\SainUI\\Fonts\\MYRIAD.TTF", 8, "OUTLINE")
  488.  
  489.  
  490. -- Party
  491. for i=1,4 do
  492.     _G["PartyMemberFrame"..i.."Name"]:SetFont("Interface\\AddOns\\SainUI\\Fonts\\MYRIAD.TTF", 10)
  493.     _G["PartyMemberFrame"..i.."HealthBarText"]:SetFont("Interface\\AddOns\\SainUI\\Fonts\\MYRIAD.TTF", 10, "OUTLINE")
  494.     _G["PartyMemberFrame"..i.."ManaBarText"]:SetFont("Interface\\AddOns\\SainUI\\Fonts\\MYRIAD.TTF", 8, "OUTLINE")
  495. end
  496.  
  497.  
  498.  
  499.  
  500. -- SET TEXTURES -----------------------------------
  501. ---------------------------------------------------
  502.  
  503. -- Player
  504. PlayerStatusTexture:SetTexture("Interface\\AddOns\\SainUI_UnitFrames\\Textures\\UI-Player-Status.blp")
  505. PlayerAttackIcon:SetTexture(nil)
  506. PlayerAttackBackground:SetTexture(nil)
  507. select(2, PlayerStatusGlow:GetRegions()):SetTexture(nil)
  508. PlayerFrameVehicleTexture:SetTexture("Interface\\AddOns\\SainUI_UnitFrames\\Textures\\UI-Vehicle-Frame.blp")
  509. PlayerFrameVehicleTexture.SetTexture = function() end
  510.  
  511.  
  512. -- Target
  513. TargetFrameNameBackground:SetTexture("Interface\\AddOns\\SainUI_UnitFrames\\Textures\\UI-TargetingFrame-LevelBackground.blp")
  514.  
  515.  
  516. -- Focus
  517. FocusFrameNameBackground:SetTexture("Interface\\AddOns\\SainUI_UnitFrames\\Textures\\UI-TargetingFrame-LevelBackground.blp")
  518.  
  519.  
  520. -- Pet
  521. PetFrameFlash:SetTexture(nil)
  522. PetAttackModeTexture:SetTexture(nil)
  523.  
  524.  
  525.  
  526.  
  527. -- CLASS COLORED NAMES ----------------------------
  528. ---------------------------------------------------
  529.  
  530. -- Player
  531. local function playerNameColor()
  532.     local playerColor = RAID_CLASS_COLORS[class]
  533.     PlayerName:SetTextColor(playerColor.r, playerColor.g, playerColor.b)
  534. end
  535.  
  536.  
  537. -- Target
  538. local function targetNameColor()
  539.     local isPlayer = UnitIsPlayer("target")
  540.     local _, targetClass = UnitClass("target")
  541.     local targetClassColor = RAID_CLASS_COLORS[targetClass]
  542.     if (isPlayer == 1) and not (targetClassColor == nil) then
  543.         TargetFrameTextureFrameName:SetTextColor(targetClassColor.r, targetClassColor.g, targetClassColor.b)
  544.     elseif (UnitIsTapped("target")) and (not UnitIsTappedByPlayer("target")) then
  545.         TargetFrameTextureFrameName:SetTextColor(0.7, 0.7, 0.7)
  546.     else
  547.         TargetFrameTextureFrameName:SetTextColor(1, 0.8, 0)
  548.     end
  549. end
  550.  
  551.  
  552. -- Target of target
  553. local function totNameColor(target, ...)
  554.     local totIsPlayer = UnitIsPlayer("targettarget")
  555.     local _, totClass = UnitClass("targettarget")
  556.     local totClassColor = RAID_CLASS_COLORS[totClass]
  557.     if (totIsPlayer == 1) and not (totClassColor == nil) then
  558.         TargetFrameToTTextureFrameName:SetTextColor(totClassColor.r, totClassColor.g, totClassColor.b)
  559.     else
  560.         TargetFrameToTTextureFrameName:SetTextColor(1, 0.8, 0)
  561.     end
  562. end
  563.  
  564.  
  565. -- Focus
  566. local function focusNameColor()
  567.     local focusIsPlayer = UnitIsPlayer("focus")
  568.     local _, focusClass = UnitClass("focus")
  569.     local focusClassColor = RAID_CLASS_COLORS[focusClass]
  570.     if (focusIsPlayer == 1) and not (focusClassColor == nil) then
  571.         FocusFrameTextureFrameName:SetTextColor(focusClassColor.r, focusClassColor.g, focusClassColor.b)
  572.     else
  573.         FocusFrameTextureFrameName:SetTextColor(1, 0.8, 0)
  574.     end
  575. end
  576.  
  577.  
  578. -- Focus target of target
  579. local function focusToTNameColor(focus, ...)
  580.     local focusToTIsPlayer = UnitIsPlayer("focustarget")
  581.     local _, focusToTClass = UnitClass("focustarget")
  582.     local focusToTClassColor = RAID_CLASS_COLORS[focusToTClass]
  583.     if (focusToTIsPlayer == 1) and not (focusToTClassColor == nil) then
  584.         FocusFrameToTTextureFrameName:SetTextColor(focusToTClassColor.r, focusToTClassColor.g, focusToTClassColor.b)
  585.     else
  586.         FocusFrameToTTextureFrameName:SetTextColor(1, 0.8, 0)
  587.     end
  588. end
  589.  
  590.  
  591. -- Party frames
  592. local function partyNameColor()
  593.     local _, party1Class = UnitClass("party1")
  594.     local party1ClassColor = RAID_CLASS_COLORS[party1Class]
  595.     if not (party1ClassColor == nil) then
  596.         PartyMemberFrame1Name:SetTextColor(party1ClassColor.r, party1ClassColor.g, party1ClassColor.b)
  597.     end
  598.  
  599.     local _, party2Class = UnitClass("party2")
  600.     local party2ClassColor = RAID_CLASS_COLORS[party2Class]
  601.     if not (party2ClassColor == nil) then
  602.         PartyMemberFrame2Name:SetTextColor(party2ClassColor.r, party2ClassColor.g, party2ClassColor.b)
  603.     end
  604.  
  605.     local _, party3Class = UnitClass("party3")
  606.     local party3ClassColor = RAID_CLASS_COLORS[party3Class]
  607.     if not (party3ClassColor == nil) then
  608.         PartyMemberFrame3Name:SetTextColor(party3ClassColor.r, party3ClassColor.g, party3ClassColor.b)
  609.     end
  610.  
  611.     local _, party4Class = UnitClass("party4")
  612.     local party4ClassColor = RAID_CLASS_COLORS[party4Class]
  613.     if not (party4ClassColor == nil) then
  614.         PartyMemberFrame4Name:SetTextColor(party4ClassColor.r, party4ClassColor.g, party4ClassColor.b)
  615.     end
  616. end
  617.  
  618.  
  619.  
  620.  
  621. -- EVENTS -----------------------------------------
  622. ---------------------------------------------------
  623.  
  624. eventHandler:RegisterEvent("PLAYER_ENTERING_WORLD")
  625. eventHandler:RegisterEvent("PLAYER_TARGET_CHANGED")
  626. eventHandler:RegisterEvent("PLAYER_FOCUS_CHANGED")
  627. eventHandler:RegisterEvent("PARTY_MEMBERS_CHANGED")
  628. eventHandler:RegisterEvent("UNIT_TARGET")
  629.  
  630.  
  631. eventHandler:SetScript("OnEvent", function(self, event, arg1)
  632.     if (event == "PLAYER_ENTERING_WORLD") then
  633.         posPlayerFrame()
  634.         setupPlayerFrame()
  635.         playerNameColor()
  636.         setupFocusToTFrame()
  637.     end
  638.  
  639.     if (event == "PLAYER_TARGET_CHANGED") then
  640.         targetNameColor()
  641.         totNameColor()
  642.     end
  643.  
  644.     if (event == "PLAYER_FOCUS_CHANGED") then
  645.         focusNameColor()
  646.         focusToTNameColor()
  647.     end
  648.  
  649.     if (event == "PLAYER_REGEN_ENABLED") then
  650.         eventHandler:UnregisterEvent("PLAYER_REGEN_ENABLED")
  651.         posPlayerFrame()
  652.         setupPlayerFrame()
  653.         fixPartyPortrait()
  654.         PlayerFrame:SetAlpha(1)
  655.     end
  656.  
  657.     if (event == "PARTY_MEMBERS_CHANGED") then
  658.         partyNameColor()
  659.     end
  660.  
  661.     if (event == "UNIT_TARGET") then
  662.         totNameColor()
  663.         focusToTNameColor()
  664.     end
  665. end)
  666.  
  667.  
  668. -- Hooks to fix player frame
  669. hooksecurefunc("PlayerFrame_AnimateOut", function()
  670.     if not (UnitAffectingCombat("player")) then
  671.         PlayerFrame:SetAlpha(0)
  672.         posPlayerFrame()
  673.     else
  674.         eventHandler:RegisterEvent("PLAYER_REGEN_ENABLED")
  675.     end
  676. end)
  677.  
  678.  
  679. hooksecurefunc("PlayerFrame_SequenceFinished", function()
  680.     PlayerFrame:SetAlpha(1)
  681.     if not (UnitAffectingCombat("player")) then
  682.         posPlayerFrame()
  683.         setupPlayerFrame()
  684.     else
  685.         eventHandler:RegisterEvent("PLAYER_REGEN_ENABLED")
  686.     end
  687. end)
  688.  
  689.  
  690. -- Hooks to fix party frames
  691. hooksecurefunc("PartyMemberFrame_ToPlayerArt", function()
  692.     if not (UnitAffectingCombat("player")) then
  693.         fixPartyPortrait()
  694.     else
  695.         eventHandler:RegisterEvent("PLAYER_REGEN_ENABLED")
  696.     end
  697. end)
  698.  
  699. --[[
  700. hooksecurefunc("PartyMemberFrame_ToVehicleArt", function()
  701.     if not (UnitAffectingCombat("player")) then
  702.         fixPartyPortrait()
  703.     else
  704.         eventHandler:RegisterEvent("PLAYER_REGEN_ENABLED")
  705.     end
  706. end)
  707. ]]
  708.  
  709.  
  710.  
  711.  
  712. -- FIX COMPATABILITY WITH ADDONS ------------------
  713. ---------------------------------------------------
  714.  
  715. -- LoseControl
  716. if lc or lcl then
  717.     LoseControlplayer:SetScale(0.76)
  718.     LoseControltarget:SetScale(0.76)
  719.     LoseControlfocus:SetScale(0.76)
  720.     LoseControlarena1:SetScale(0.94)
  721.     LoseControlarena2:SetScale(0.94)
  722.     LoseControlarena3:SetScale(0.94)
  723.     LoseControlarena4:SetScale(0.94)
  724.     LoseControlarena5:SetScale(0.94)
  725. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement