/Tukui/modules/datatext/hit.lua

http://github.com/Asphyxia/Tukui · Lua · 45 lines · 32 code · 9 blank · 4 comment · 11 complexity · c89ba64711685f3dc16d00e7d3c7d051 MD5 · raw file

  1. local T, C, L = unpack(select(2, ...)) -- Import: T - functions, constants, variables; C - config; L - locales
  2. --------------------------------------------------------------------
  3. -- Player Hit
  4. --------------------------------------------------------------------
  5. -- Hit Rating
  6. if not C["datatext"].hit == nil or C["datatext"].hit > 0 then
  7. local Stat = CreateFrame("Frame")
  8. local Text = TukuiInfoLeft:CreateFontString(nil, "OVERLAY")
  9. Text:SetFont(C.media.pixelfont, C["datatext"].fontsize, "MONOCHROMEOUTLINE")
  10. T.PP(C["datatext"].hit, Text)
  11. local int = 1
  12. local function Update(self, t)
  13. int = int - t
  14. if int < 0 then
  15. local base, posBuff, negBuff = UnitAttackPower("player")
  16. local effective = base + posBuff + negBuff
  17. local Rbase, RposBuff, RnegBuff = UnitRangedAttackPower("player")
  18. local Reffective = Rbase + RposBuff + RnegBuff
  19. local Rattackpwr = Reffective
  20. local spellpwr = GetSpellBonusDamage(7)
  21. local attackpwr = effective
  22. local cac = GetHitModifier() or 0
  23. local cast = GetSpellHitModifier() or 0
  24. if attackpwr > spellpwr and select(2, UnitClass("Player")) ~= "HUNTER" then
  25. Text:SetText("Hit: "..T.datacolor..format("%.2f", GetCombatRatingBonus(6)+cac).."%")
  26. elseif select(2, UnitClass("Player")) == "HUNTER" then
  27. Text:SetText("Hit: "..T.datacolor..format("%.2f", GetCombatRatingBonus(7)+cac).."%")
  28. else
  29. Text:SetText("Hit: "..T.datacolor..format("%.2f", GetCombatRatingBonus(8)+cast).."%")
  30. end
  31. int = 1
  32. end
  33. end
  34. Stat:SetScript("OnUpdate", Update)
  35. Update(Stat, 10)
  36. end