View Single Post
06-16-17, 11:01 PM   #8
Kkthnx
A Cobalt Mageweaver
 
Kkthnx's Avatar
AddOn Author - Click to view addons
Join Date: Aug 2011
Posts: 247
Originally Posted by Fizzlemizz View Post
I don't see where
Code:
AddOn.Spec = GetSpecialization() or 0
is being called.
Init.lua file
Lua Code:
  1. local AddOnName, Engine = ...
  2.  
  3. --[[
  4. -- NOTE: KkthnxUI uses "#4488ff color RGB value is (68, 136, 255)" for its primary color
  5. -- NOTE: KkthnxUI uses "#ffbb44 color RGB value is (255, 187, 68)" for its secondary color
  6.  
  7. -- NOTE: Uncomment this to see the primary color
  8. print("|cff4488ff#4488ff color|r")
  9. -- NOTE: Uncomment this to see the secondary color
  10. print("|cffffbb44#ffbb44 color|r")
  11. ]]--
  12.  
  13. -- Lua API
  14. local _G = _G
  15. local string_lower = string.lower
  16. local select = select
  17.  
  18. -- Wow API
  19. local GetAddOnEnableState = _G.GetAddOnEnableState
  20. local GetAddOnInfo = _G.GetAddOnInfo
  21. local GetBuildInfo = _G.GetBuildInfo
  22. local GetSpecialization = _G.GetSpecialization
  23. local UnitClass = _G.UnitClass
  24. local UnitName = _G.UnitName
  25. local UnitLevel = _G.UnitLevel
  26.  
  27. local AddOn = LibStub("AceAddon-3.0"):NewAddon(AddOnName, "AceConsole-3.0", "AceEvent-3.0", "AceTimer-3.0", "AceHook-3.0")
  28. local Locale = LibStub("AceLocale-3.0"):GetLocale(AddOnName, false)
  29.  
  30. Engine[1] = AddOn
  31. Engine[2] = {}
  32. Engine[3] = Locale
  33.  
  34. _G[AddOnName] = Engine -- Allow other addons to use our Engine
  35.  
  36. -- Check role to return what role the player is.
  37. function AddOn:UnitRole()
  38.     local playerSpec = GetSpecialization()
  39.     local playerClass = select(2, UnitClass("player"))
  40.     local playerLevel = UnitLevel("player")
  41.  
  42.     if (not playerSpec or playerLevel > 10) then return end
  43.  
  44.     local playerRoles = {
  45.         ["DEATHKNIGHT"] = {"Tank", "Melee", "Melee"},
  46.         ["DEMONHUNTER"] = {"Melee", "Tank"},
  47.         ["DRUID"] = {"Caster", "Melee", "Tank", "Healer"},
  48.         ["HUNTER"] = {"Melee", "Melee", "Melee"},
  49.         ["MAGE"] = {"Caster", "Caster", "Caster"},
  50.         ["MONK"] = {"Tank", "Healer", "Melee"},
  51.         ["PALADIN"] = {"Healer", "Tank", "Melee"},
  52.         ["PRIEST"] = {"Healer", "Healer", "Caster"},
  53.         ["ROGUE"] = {"Melee", "Melee", "Melee"},
  54.         ["SHAMAN"] = {"Caster", "Melee", "Healer"},
  55.         ["WARLOCK"] = {"Caster", "Caster", "Caster"},
  56.         ["WARRIOR"] = {"Melee", "Melee", "Tank"}
  57.     }
  58.  
  59.     return playerRoles[playerClass][playerSpec]
  60. end
  61.  
  62. AddOn.Title = GetAddOnMetadata(AddOnName, "Title")
  63. AddOn.Version = GetAddOnMetadata(AddOnName, "Version")
  64. AddOn.Noop = function() return end
  65. AddOn.Name = UnitName("player")
  66. AddOn.GUID = UnitGUID("player")
  67. AddOn.Class = select(2, UnitClass("player"))
  68. AddOn.Role = AddOn.UnitRole("player")
  69. AddOn.Spec = GetSpecialization() or 0
  70. AddOn.Race = select(2, UnitRace("player"))
  71. AddOn.Level = UnitLevel("player")
  72. AddOn.Client = GetLocale()
  73. AddOn.Realm = GetRealmName()
  74. AddOn.LSM = LibStub and LibStub:GetLibrary("LibSharedMedia-3.0", true)
  75. AddOn.OmniCC = select(4, GetAddOnInfo("OmniCC"))
  76. AddOn.Resolution = ({GetScreenResolutions()})[GetCurrentResolution()] or GetCVar("gxWindowedResolution")
  77. AddOn.ScreenWidth, AddOn.ScreenHeight = DecodeResolution(AddOn.Resolution)
  78. AddOn.PriestColors = {r = 0.86, g = 0.92, b = 0.98, colorStr = "dbebfa"}
  79. AddOn.Color = AddOn.Class == "PRIEST" and AddOn.PriestColors or (CUSTOM_CLASS_COLORS and CUSTOM_CLASS_COLORS[AddOn.Class] or RAID_CLASS_COLORS[AddOn.Class])
  80. AddOn.TexCoords = {0.08, 0.92, 0.08, 0.92}
  81. AddOn.WoWPatch, AddOn.WoWBuild, AddOn.WoWPatchReleaseDate, AddOn.TocVersion = GetBuildInfo()
  82. AddOn.WoWBuild = select(2, GetBuildInfo()) AddOn.WoWBuild = tonumber(AddOn.WoWBuild)
  83.  
  84. AddOn.AddOns = {}
  85. for i = 1, GetNumAddOns() do
  86.     local AddOnName = GetAddOnInfo(i)
  87.     AddOn.AddOns[string_lower(AddOnName)] = GetAddOnEnableState(AddOn.Name, AddOnName) > 0
  88. end
  89.  
  90. -- Register events for CheckRole function.
  91. local Loading = CreateFrame("Frame")
  92. Loading:RegisterEvent("PLAYER_LOGIN")
  93. Loading:RegisterEvent("ACTIVE_TALENT_GROUP_CHANGED")
  94. Loading:RegisterEvent("PLAYER_TALENT_UPDATE")
  95. Loading:RegisterEvent("CHARACTER_POINTS_CHANGED")
  96. Loading:RegisterEvent("UNIT_INVENTORY_CHANGED")
  97. Loading:RegisterEvent("UPDATE_BONUS_ACTIONBAR")
  98. Loading:SetScript("OnEvent", function()
  99.     AddOn:UnitRole()
  100. end)
__________________
Success isn't what you've done compared to others. Success is what you've done compared to what you were made to do.
  Reply With Quote