SLASH_RELOAD1 = '/rl' function SlashCmdList.RELOAD(msg, editbox) ReloadUI() end SLASH_PFUI1 = '/pfui' function SlashCmdList.PFUI(msg, editbox) if pfUI.gui:IsShown() then pfUI.gui:Hide() else pfUI.gui:Show() end end SLASH_GM1, SLASH_GM2 = '/gm', '/support' function SlashCmdList.GM(msg, editbox) ToggleHelpFrame(1) end pfUI = CreateFrame("Frame", nil, UIParent) pfUI:RegisterEvent("ADDON_LOADED") -- initialize saved variables pfUI_playerDB = {} pfUI_config = {} pfUI_init = {} pfUI_profiles = {} pfUI_gold = {} -- localization pfUI_locale = {} pfUI_translation = {} -- initialize default variables pfUI.cache = {} pfUI.module = {} pfUI.modules = {} pfUI.skin = {} pfUI.skins = {} pfUI.environment = {} pfUI.movables = {} pfUI.version = {} pfUI.hooks = {} pfUI.env = {} -- setup pfUI namespace setmetatable(pfUI.env, {__index = getfenv(0)}) function pfUI:GetEnvironment() -- load api into environment for m, func in pairs(pfUI.api or {}) do pfUI.env[m] = func end local lang = pfUI_config.global and pfUI_translation[pfUI_config.global.language] and pfUI_config.global.language or GetLocale() local T = setmetatable(pfUI_translation[lang] or {}, { __index = function(tab,key) local value = tostring(key) rawset(tab,key,value) return value end}) pfUI.env._G = getfenv(0) pfUI.env.T = T pfUI.env.C = pfUI_config pfUI.env.L = (pfUI_locale[GetLocale()] or pfUI_locale["enUS"]) return pfUI.env end pfUI:SetScript("OnEvent", function() -- some addons overwrite color and font settings -- need to enforce pfUI's selection every time pfUI.environment:UpdateFonts() pfUI.environment:UpdateColors() if arg1 == "pfUI" then -- read pfUI version from .toc file local major, minor, fix = pfUI.api.strsplit(".", tostring(GetAddOnMetadata("pfUI", "Version"))) pfUI.version.major = tonumber(major) or 1 pfUI.version.minor = tonumber(minor) or 2 pfUI.version.fix = tonumber(fix) or 0 pfUI.version.string = pfUI.version.major .. "." .. pfUI.version.minor .. "." .. pfUI.version.fix pfUI:LoadConfig() pfUI:MigrateConfig() -- load modules for i,m in pairs(this.modules) do if not ( pfUI_config["disabled"] and pfUI_config["disabled"][m] == "1" ) then setfenv(pfUI.module[m], pfUI:GetEnvironment()) pfUI.module[m]() end end -- load skins for i,s in pairs(this.skins) do if not ( pfUI_config["disabled"] and pfUI_config["disabled"]["skin_" .. s] == "1" ) then setfenv(pfUI.skin[s], pfUI:GetEnvironment()) pfUI.skin[s]() end end end end) function pfUI:RegisterModule(n, f) pfUI.module[n] = f table.insert(pfUI.modules, n) end function pfUI:RegisterSkin(n, f) pfUI.skin[n] = f table.insert(pfUI.skins, n) end pfUI.backdrop = { bgFile = "Interface\\BUTTONS\\WHITE8X8", tile = false, tileSize = 0, edgeFile = "Interface\\BUTTONS\\WHITE8X8", edgeSize = 1, insets = {left = -1, right = -1, top = -1, bottom = -1}, } pfUI.backdrop_no_top = pfUI.backdrop pfUI.backdrop_hover = { edgeFile = "Interface\\BUTTONS\\WHITE8X8", edgeSize = 24, insets = {left = -1, right = -1, top = -1, bottom = -1}, } message = function (msg) DEFAULT_CHAT_FRAME:AddMessage("|cffcccc33INFO: |cffffff55" .. ( msg or "nil" )) end ScriptErrors:SetScript("OnShow", function(msg) DEFAULT_CHAT_FRAME:AddMessage("|cffcc3333ERROR: |cffff5555"..ScriptErrors_Message:GetText()) ScriptErrors:Hide() end) function pfUI.SetupCVars() ClearTutorials() TutorialFrame_HideAllAlerts() ConsoleExec("CameraDistanceMaxFactor 5") SetCVar("autoSelfCast", "1") SetCVar("profanityFilter", "0") MultiActionBar_ShowAllGrids() ALWAYS_SHOW_MULTIBARS = "1" SHOW_BUFF_DURATIONS = "1" QUEST_FADING_DISABLE = "1" NAMEPLATES_ON = "1" SHOW_COMBAT_TEXT = "1" COMBAT_TEXT_SHOW_LOW_HEALTH_MANA = "1" COMBAT_TEXT_SHOW_AURAS = "1" COMBAT_TEXT_SHOW_AURA_FADE = "1" COMBAT_TEXT_SHOW_COMBAT_STATE = "1" COMBAT_TEXT_SHOW_DODGE_PARRY_MISS = "1" COMBAT_TEXT_SHOW_RESISTANCES = "1" COMBAT_TEXT_SHOW_REPUTATION = "1" COMBAT_TEXT_SHOW_REACTIVES = "1" COMBAT_TEXT_SHOW_FRIENDLY_NAMES = "1" COMBAT_TEXT_SHOW_COMBO_POINTS = "1" COMBAT_TEXT_SHOW_MANA = "1" COMBAT_TEXT_FLOAT_MODE = "1" COMBAT_TEXT_SHOW_HONOR_GAINED = "1" UIParentLoadAddOn("Blizzard_CombatText") end