diff --git a/ElvUI_SLE/ElvUI_SLE.lua b/ElvUI_SLE/ElvUI_SLE.lua index 0b2a972..b6717be 100644 --- a/ElvUI_SLE/ElvUI_SLE.lua +++ b/ElvUI_SLE/ElvUI_SLE.lua @@ -81,7 +81,20 @@ E.PopupDialogs["ELVUI_SLE_REPOOC"] = { timeout = 0, whileDead = 1, } - +E.PopupDialogs["ELVUI_SLE_AFFINITII"] = { + text = L["Would you like to load Affinitii's additional addon settings? Note: This will add a new profile in the addons that he has settings for and set your current profile to the newly made profile."], + button1 = YES, + button2 = NO, + OnAccept = function(self) + E:AffinitiiSetup(true) + end, + OnCancel = function(self) + E:AffinitiiSetup(false) + end, + timeout = 0, + whileDead = 1, + hideOnEscape = false, +} E.PopupDialogs["ELVUI_SLE_DARTH"] = { text = L["Do you want to also apply character based settings?"], button1 = YES, diff --git a/ElvUI_SLE/ElvUI_SLE.toc b/ElvUI_SLE/ElvUI_SLE.toc index a71d90d..a6a35f3 100644 --- a/ElvUI_SLE/ElvUI_SLE.toc +++ b/ElvUI_SLE/ElvUI_SLE.toc @@ -3,11 +3,11 @@ ## Author: Darth Predator, Repooc ## Version: 1.42 ## Notes: Plugin-edit for |cff1784d1ElvUI|r. -## Notes-ruRU: Плагин-редакция для |cff1784d1ElvUI|r. +## Notes-ruRU: Плагин-редакци? дл? |cff1784d1ElvUI|r. ## eMail: darthpred@gmail.com, repooc@tukui.org ## URL: http://tukui.org/ ## RequiredDeps: ElvUI -## OptionalDeps: iFilger_ConfigUI +## OptionalDeps: iFilger_ConfigUI, BigWigs, Hermes, xCT+ ## DefaultState: Enabled libs\load_libs.xml diff --git a/ElvUI_SLE/modules/install.lua b/ElvUI_SLE/modules/install.lua deleted file mode 100644 index 237c20e..0000000 --- a/ElvUI_SLE/modules/install.lua +++ /dev/null @@ -1,2550 +0,0 @@ -local E, L, V, P, G, _ = unpack(ElvUI); --Inport: Engine, Locales, PrivateDB, ProfileDB, GlobalDB -local UF = E:GetModule('UnitFrames'); -local CURRENT_PAGE = 0 -local MAX_PAGE - -local function MaxPages() - if IsAddOnLoaded("ElvUI_Hud") then - MAX_PAGE = 11 - else - MAX_PAGE = 10 - end -end - -local function SetupChat() - InstallStepComplete.message = L["Chat Set"] - InstallStepComplete:Show() - FCF_ResetChatWindows() - FCF_SetLocked(ChatFrame1, 1) - FCF_DockFrame(ChatFrame2) - FCF_SetLocked(ChatFrame2, 1) - - FCF_OpenNewWindow(LOOT) - FCF_UnDockFrame(ChatFrame3) - FCF_SetLocked(ChatFrame3, 1) - ChatFrame3:Show() - - for i = 1, NUM_CHAT_WINDOWS do - local frame = _G[format("ChatFrame%s", i)] - local chatFrameId = frame:GetID() - local chatName = FCF_GetChatWindowInfo(chatFrameId) - - -- move general bottom left - if i == 1 then - frame:ClearAllPoints() - frame:Point("BOTTOMLEFT", LeftChatToggleButton, "TOPLEFT", 1, 3) - elseif i == 3 then - frame:ClearAllPoints() - frame:Point("BOTTOMLEFT", RightChatDataPanel, "TOPLEFT", 1, 3) - end - - FCF_SavePositionAndDimensions(frame) - FCF_StopDragging(frame) - - -- set default Elvui font size - FCF_SetChatWindowFontSize(nil, frame, 12) - - -- rename windows general because moved to chat #3 - if i == 1 then - FCF_SetWindowName(frame, GENERAL) - elseif i == 2 then - FCF_SetWindowName(frame, GUILD_EVENT_LOG) - elseif i == 3 then - FCF_SetWindowName(frame, LOOT.." / "..TRADE) - end - end - - ChatFrame_RemoveAllMessageGroups(ChatFrame1) - ChatFrame_AddMessageGroup(ChatFrame1, "SAY") - ChatFrame_AddMessageGroup(ChatFrame1, "EMOTE") - ChatFrame_AddMessageGroup(ChatFrame1, "YELL") - ChatFrame_AddMessageGroup(ChatFrame1, "GUILD") - ChatFrame_AddMessageGroup(ChatFrame1, "OFFICER") - ChatFrame_AddMessageGroup(ChatFrame1, "GUILD_ACHIEVEMENT") - ChatFrame_AddMessageGroup(ChatFrame1, "WHISPER") - ChatFrame_AddMessageGroup(ChatFrame1, "MONSTER_SAY") - ChatFrame_AddMessageGroup(ChatFrame1, "MONSTER_EMOTE") - ChatFrame_AddMessageGroup(ChatFrame1, "MONSTER_YELL") - ChatFrame_AddMessageGroup(ChatFrame1, "MONSTER_BOSS_EMOTE") - ChatFrame_AddMessageGroup(ChatFrame1, "PARTY") - ChatFrame_AddMessageGroup(ChatFrame1, "PARTY_LEADER") - ChatFrame_AddMessageGroup(ChatFrame1, "RAID") - ChatFrame_AddMessageGroup(ChatFrame1, "RAID_LEADER") - ChatFrame_AddMessageGroup(ChatFrame1, "RAID_WARNING") - ChatFrame_AddMessageGroup(ChatFrame1, "INSTANCE_CHAT") - ChatFrame_AddMessageGroup(ChatFrame1, "INSTANCE_CHAT_LEADER") - ChatFrame_AddMessageGroup(ChatFrame1, "BATTLEGROUND") - ChatFrame_AddMessageGroup(ChatFrame1, "BATTLEGROUND_LEADER") - ChatFrame_AddMessageGroup(ChatFrame1, "BG_HORDE") - ChatFrame_AddMessageGroup(ChatFrame1, "BG_ALLIANCE") - ChatFrame_AddMessageGroup(ChatFrame1, "BG_NEUTRAL") - ChatFrame_AddMessageGroup(ChatFrame1, "SYSTEM") - ChatFrame_AddMessageGroup(ChatFrame1, "ERRORS") - ChatFrame_AddMessageGroup(ChatFrame1, "AFK") - ChatFrame_AddMessageGroup(ChatFrame1, "DND") - ChatFrame_AddMessageGroup(ChatFrame1, "IGNORED") - ChatFrame_AddMessageGroup(ChatFrame1, "ACHIEVEMENT") - ChatFrame_AddMessageGroup(ChatFrame1, "BN_WHISPER") - ChatFrame_AddMessageGroup(ChatFrame1, "BN_CONVERSATION") - ChatFrame_AddMessageGroup(ChatFrame1, "BN_INLINE_TOAST_ALERT") - - - ChatFrame_RemoveAllMessageGroups(ChatFrame3) - ChatFrame_AddMessageGroup(ChatFrame3, "COMBAT_FACTION_CHANGE") - ChatFrame_AddMessageGroup(ChatFrame3, "SKILL") - ChatFrame_AddMessageGroup(ChatFrame3, "LOOT") - ChatFrame_AddMessageGroup(ChatFrame3, "MONEY") - ChatFrame_AddMessageGroup(ChatFrame3, "COMBAT_XP_GAIN") - ChatFrame_AddMessageGroup(ChatFrame3, "COMBAT_HONOR_GAIN") - ChatFrame_AddMessageGroup(ChatFrame3, "COMBAT_GUILD_XP_GAIN") - ChatFrame_AddChannel(ChatFrame1, GENERAL) - ChatFrame_RemoveChannel(ChatFrame1, L['Trade']) - ChatFrame_AddChannel(ChatFrame3, L['Trade']) - - - if E.myname == "Elvz" then - SetCVar("scriptErrors", 1) - end - - -- enable classcolor automatically on login and on each character without doing /configure each time. - ToggleChatColorNamesByClassGroup(true, "SAY") - ToggleChatColorNamesByClassGroup(true, "EMOTE") - ToggleChatColorNamesByClassGroup(true, "YELL") - ToggleChatColorNamesByClassGroup(true, "GUILD") - ToggleChatColorNamesByClassGroup(true, "OFFICER") - ToggleChatColorNamesByClassGroup(true, "GUILD_ACHIEVEMENT") - ToggleChatColorNamesByClassGroup(true, "ACHIEVEMENT") - ToggleChatColorNamesByClassGroup(true, "WHISPER") - ToggleChatColorNamesByClassGroup(true, "PARTY") - ToggleChatColorNamesByClassGroup(true, "PARTY_LEADER") - ToggleChatColorNamesByClassGroup(true, "RAID") - ToggleChatColorNamesByClassGroup(true, "RAID_LEADER") - ToggleChatColorNamesByClassGroup(true, "RAID_WARNING") - ToggleChatColorNamesByClassGroup(true, "BATTLEGROUND") - ToggleChatColorNamesByClassGroup(true, "BATTLEGROUND_LEADER") - ToggleChatColorNamesByClassGroup(true, "INSTANCE_CHAT") - ToggleChatColorNamesByClassGroup(true, "INSTANCE_CHAT_LEADER") - ToggleChatColorNamesByClassGroup(true, "CHANNEL1") - ToggleChatColorNamesByClassGroup(true, "CHANNEL2") - ToggleChatColorNamesByClassGroup(true, "CHANNEL3") - ToggleChatColorNamesByClassGroup(true, "CHANNEL4") - ToggleChatColorNamesByClassGroup(true, "CHANNEL5") - ToggleChatColorNamesByClassGroup(true, "CHANNEL6") - ToggleChatColorNamesByClassGroup(true, "CHANNEL7") - ToggleChatColorNamesByClassGroup(true, "CHANNEL8") - ToggleChatColorNamesByClassGroup(true, "CHANNEL9") - ToggleChatColorNamesByClassGroup(true, "CHANNEL10") - ToggleChatColorNamesByClassGroup(true, "CHANNEL11") - - --Adjust Chat Colors - --General - ChangeChatColor("CHANNEL1", 195/255, 230/255, 232/255) - --Trade - ChangeChatColor("CHANNEL2", 232/255, 158/255, 121/255) - --Local Defense - ChangeChatColor("CHANNEL3", 232/255, 228/255, 121/255) - - if E.Chat then - E.Chat:PositionChat(true) - if E.db['RightChatPanelFaded'] then - RightChatToggleButton:Click() - end - - if E.db['LeftChatPanelFaded'] then - LeftChatToggleButton:Click() - end - end -end - -local function SetupCVars() - SetCVar("mapQuestDifficulty", 1) - SetCVar("ShowClassColorInNameplate", 1) - SetCVar("screenshotQuality", 10) - SetCVar("chatMouseScroll", 1) - SetCVar("chatStyle", "classic") - SetCVar("WholeChatWindowClickable", 0) - SetCVar("ConversationMode", "inline") - SetCVar("showTutorials", 0) - SetCVar("UberTooltips", 1) - SetCVar("threatWarning", 3) - SetCVar('alwaysShowActionBars', 1) - SetCVar('lockActionBars', 1) - SetCVar('SpamFilter', 0) --Blocks mmo-champion.com, dumb... ElvUI one is more effeciant anyways. - InterfaceOptionsActionBarsPanelPickupActionKeyDropDown:SetValue('SHIFT') - InterfaceOptionsActionBarsPanelPickupActionKeyDropDown:RefreshValue() - - InstallStepComplete.message = L["CVars Set"] - InstallStepComplete:Show() -end - -function E:GetColor(r, b, g, a) - return { r = r, b = b, g = g, a = a } -end - -function E:SetupPixelPerfect(enabled, noMsg) - E.private.general.pixelPerfect = enabled; - - if (E.PixelMode ~= enabled) then - E:StaticPopup_Show('PIXELPERFECT_CHANGED') - end - - if not noMsg then - E.db.general.bottomPanel = enabled - E:GetModule('Layout'):BottomPanelVisibility() - end - - if noMsg then - if enabled then - if not E.db.movers then E.db.movers = {}; end - - E.db.actionbar.bar1.backdrop = false; - E.db.actionbar.bar3.backdrop = false; - E.db.actionbar.bar5.backdrop = false; - E.db.actionbar.bar1.buttonspacing = 2; - E.db.actionbar.bar2.buttonspacing = 2; - E.db.actionbar.bar3.buttonspacing = 2; - E.db.actionbar.bar4.buttonspacing = 2; - E.db.actionbar.bar5.buttonspacing = 2; - E.db.actionbar.barPet.buttonspacing = 2; - E.db.actionbar.stanceBar.buttonspacing = 2; - else - E.db.actionbar.bar1.backdrop = true; - E.db.actionbar.bar3.backdrop = true; - E.db.actionbar.bar5.backdrop = true; - E.db.actionbar.bar1.buttonspacing = 4; - E.db.actionbar.bar2.buttonspacing = 4; - E.db.actionbar.bar3.buttonspacing = 4; - E.db.actionbar.bar4.buttonspacing = 4; - E.db.actionbar.bar5.buttonspacing = 4; - E.db.actionbar.barPet.buttonspacing = 4; - E.db.actionbar.stanceBar.buttonspacing = 4; - end - end - - if InstallStepComplete and not noMsg then - InstallStepComplete.message = L["Pixel Perfect Set"] - InstallStepComplete:Show() - E:UpdateAll(true) - end - - - E.PixelMode = enabled -end - -function E:SetupTheme(theme, noDisplayMsg) - local classColor = RAID_CLASS_COLORS[E.myclass] - E.private.theme = theme - - - --Set colors - if theme == "classic" then - E.db.general.bordercolor = E:GetColor(.31, .31, .31) - E.db.general.backdropcolor = E:GetColor(.1, .1, .1) - E.db.general.backdropfadecolor = E:GetColor(.06, .06, .06, .8) - - E.db.unitframe.colors.healthclass = false - E.db.unitframe.colors.health = E:GetColor(.31, .31, .31) - E.db.unitframe.colors.auraBarBuff = E:GetColor(.31, .31, .31) - E.db.unitframe.colors.castColor = E:GetColor(.31, .31, .31) - - elseif theme == "class" then - E.db.general.bordercolor = E:GetColor(.31, .31, .31) - E.db.general.backdropcolor = E:GetColor(.1, .1, .1) - E.db.general.backdropfadecolor = E:GetColor(.06, .06, .06, .8) - E.db.unitframe.colors.auraBarBuff = E:GetColor(classColor.r, classColor.b, classColor.g) - E.db.unitframe.colors.healthclass = true - E.db.unitframe.colors.castColor = E:GetColor(classColor.r, classColor.b, classColor.g) - else - E.db.general.bordercolor = E:GetColor(.1, .1, .1) - E.db.general.backdropcolor = E:GetColor(.1, .1, .1) - E.db.general.backdropfadecolor = E:GetColor(.054, .054, .054, .8) - E.db.unitframe.colors.auraBarBuff = E:GetColor(.1, .1, .1) - E.db.unitframe.colors.healthclass = false - E.db.unitframe.colors.health = E:GetColor(.1, .1, .1) - E.db.unitframe.colors.castColor = E:GetColor(.1, .1, .1) - end - - --Value Color - if theme == "class" then - E.db.general.valuecolor = E:GetColor(classColor.r, classColor.b, classColor.g) - else - E.db.general.valuecolor = E:GetColor(.09, .819, .513) - end - - if not noDisplayMsg then - E:UpdateAll(true) - end - - if InstallStatus then - InstallStatus:SetStatusBarColor(unpack(E['media'].rgbvaluecolor)) - - if InstallStepComplete and not noDisplayMsg then - InstallStepComplete.message = L["Theme Set"] - InstallStepComplete:Show() - end - end -end - -function E:SetupResolution(noDataReset) - if not noDataReset then - E:ResetMovers('') - end - - if self == 'low' then - if not E.db.movers then E.db.movers = {}; end - if not noDataReset then - E.db.chat.panelWidth = 400 - E.db.chat.panelHeight = 180 - - E:CopyTable(E.db.actionbar, P.actionbar) - - E.db.actionbar.bar1.heightMult = 2; - E.db.actionbar.bar2.enabled = true; - E.db.actionbar.bar3.enabled = false; - E.db.actionbar.bar5.enabled = false; - end - - if not noDataReset then - E.db.auras.wrapAfter = 10; - end - E.db.general.reputation.width = 400 - E.db.general.experience.width = 400 - E.db.movers.ElvAB_2 = "CENTERElvUIParentBOTTOM056.18" - - if not noDataReset then - E:CopyTable(E.db.unitframe.units, P.unitframe.units) - - E.db.unitframe.fontSize = 10 - - E.db.unitframe.units.player.width = 200; - E.db.unitframe.units.player.castbar.width = 200; - E.db.unitframe.units.player.classbar.fill = 'fill'; - E.db.unitframe.units.player.health.text_format = "[healthcolor][health:current]" - - E.db.unitframe.units.target.width = 200; - E.db.unitframe.units.target.castbar.width = 200; - E.db.unitframe.units.target.health.text_format = '[healthcolor][health:current]' - - E.db.unitframe.units.pet.power.enable = false; - E.db.unitframe.units.pet.width = 200; - E.db.unitframe.units.pet.height = 26; - - E.db.unitframe.units.targettarget.debuffs.enable = false; - E.db.unitframe.units.targettarget.power.enable = false; - E.db.unitframe.units.targettarget.width = 200; - E.db.unitframe.units.targettarget.height = 26; - - E.db.unitframe.units.boss.width = 200; - E.db.unitframe.units.boss.castbar.width = 200; - E.db.unitframe.units.arena.width = 200; - E.db.unitframe.units.arena.castbar.width = 200; - end - - local isPixel = E.private.general.pixelPerfect - local xOffset = isPixel and 103 or 106; - local yOffset = isPixel and 125 or 135; - local yOffsetSmall = isPixel and 76 or 80; - - E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM"..-xOffset..""..yOffset - E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM"..xOffset..""..yOffsetSmall - E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM"..xOffset..""..yOffset - E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM"..-xOffset..""..yOffsetSmall - E.db.movers.ElvUF_FocusMover = "BOTTOMElvUIParentBOTTOM310332" - - E.db.lowresolutionset = true; - elseif not noDataReset then - E.db.chat.panelWidth = P.chat.panelWidth - E.db.chat.panelHeight = P.chat.panelHeight - - E:CopyTable(E.db.actionbar, P.actionbar) - E:CopyTable(E.db.unitframe.units, P.unitframe.units) - E:SetupPixelPerfect(E.PixelMode, true) - E.db.auras.wrapAfter = P.auras.wrapAfter; - E.db.general.reputation.width = P.general.reputation.width - E.db.general.experience.width = P.general.experience.width - - E.db.lowresolutionset = nil; - end - - if not noDataReset and E.private.theme then - E:SetupTheme(E.private.theme, true) - end - - E:UpdateAll(true) - - if InstallStepComplete and not noDataReset then - InstallStepComplete.message = L["Resolution Style Set"] - InstallStepComplete:Show() - end -end - -function E:SetupLayout(layout, noDataReset) - --Unitframes - if not noDataReset then - E:CopyTable(E.db.unitframe.units, P.unitframe.units) - E:CopyTable(E.db.sle.combatico, P.sle.combatico) - E.db.sle.powtext = false - end - - if not noDataReset then - E:ResetMovers('') - E:SetupPixelPerfect(E.PixelMode, true) - if not E.db.movers then E.db.movers = {} end - - E.db.actionbar.bar2.enabled = E.db.lowresolutionset - if E.PixelMode then - E.db.movers.ElvAB_2 = "BOTTOMElvUIParentBOTTOM038" - else - E.db.movers.ElvAB_2 = "BOTTOMElvUIParentBOTTOM040" - end - if not E.db.lowresolutionset then - E.db.actionbar.bar3.buttons = 6 - E.db.actionbar.bar5.buttons = 6 - E.db.actionbar.bar4.enabled = true - end - end - - if layout == 'healer' then - if not IsAddOnLoaded('Clique') then - E:Print(L['Using the healer layout it is highly recommended you download the addon Clique to work side by side with ElvUI.']) - end - - if not noDataReset then - E.db.unitframe.units.raid10.xOffset = 9; - E.db.unitframe.units.raid10.rdebuffs.enable = false; - E.db.unitframe.units.raid10.yOffset = 9; - E.db.unitframe.units.raid10.debuffs.sizeOverride = 16; - E.db.unitframe.units.raid10.debuffs.enable = true - E.db.unitframe.units.raid10.debuffs.anchorPoint = "TOPRIGHT"; - E.db.unitframe.units.raid10.debuffs.xOffset = -4; - E.db.unitframe.units.raid10.debuffs.yOffset = -7; - E.db.unitframe.units.raid10.positionOverride = "BOTTOMRIGHT"; - E.db.unitframe.units.raid10.height = 45; - E.db.unitframe.units.raid10.buffs.noConsolidated = false - E.db.unitframe.units.raid10.buffs.xOffset = 50; - E.db.unitframe.units.raid10.buffs.yOffset = -6; - E.db.unitframe.units.raid10.buffs.clickThrough = true - E.db.unitframe.units.raid10.buffs.noDuration = false - E.db.unitframe.units.raid10.buffs.playerOnly = false; - E.db.unitframe.units.raid10.buffs.perrow = 1 - E.db.unitframe.units.raid10.buffs.useFilter = "TurtleBuffs" - E.db.unitframe.units.raid10.buffs.sizeOverride = 22 - E.db.unitframe.units.raid10.buffs.useBlacklist = false - E.db.unitframe.units.raid10.buffs.enable = true - - E.db.unitframe.units.raid25.xOffset = 9; - E.db.unitframe.units.raid25.rdebuffs.enable = false; - E.db.unitframe.units.raid25.yOffset = 9; - E.db.unitframe.units.raid25.debuffs.sizeOverride = 16; - E.db.unitframe.units.raid25.debuffs.enable = true - E.db.unitframe.units.raid25.debuffs.anchorPoint = "TOPRIGHT"; - E.db.unitframe.units.raid25.debuffs.xOffset = -4; - E.db.unitframe.units.raid25.debuffs.yOffset = -7; - E.db.unitframe.units.raid25.positionOverride = "BOTTOMRIGHT"; - E.db.unitframe.units.raid25.height = 45; - E.db.unitframe.units.raid25.buffs.noConsolidated = false - E.db.unitframe.units.raid25.buffs.xOffset = 50; - E.db.unitframe.units.raid25.buffs.yOffset = -6; - E.db.unitframe.units.raid25.buffs.clickThrough = true - E.db.unitframe.units.raid25.buffs.noDuration = false - E.db.unitframe.units.raid25.buffs.playerOnly = false; - E.db.unitframe.units.raid25.buffs.perrow = 1 - E.db.unitframe.units.raid25.buffs.useFilter = "TurtleBuffs" - E.db.unitframe.units.raid25.buffs.sizeOverride = 22 - E.db.unitframe.units.raid25.buffs.useBlacklist = false - E.db.unitframe.units.raid25.buffs.enable = true - - E.db.unitframe.units.party.point = "LEFT" - E.db.unitframe.units.party.xOffset = 9; - E.db.unitframe.units.party.yOffset = 9; - E.db.unitframe.units.party.debuffs.sizeOverride = 16; - E.db.unitframe.units.party.debuffs.enable = true - E.db.unitframe.units.party.debuffs.anchorPoint = "TOPRIGHT"; - E.db.unitframe.units.party.debuffs.xOffset = -4; - E.db.unitframe.units.party.debuffs.yOffset = -7; - E.db.unitframe.units.party.positionOverride = "BOTTOMRIGHT"; - E.db.unitframe.units.party.height = 45; - E.db.unitframe.units.party.buffs.noConsolidated = false - E.db.unitframe.units.party.buffs.xOffset = 50; - E.db.unitframe.units.party.buffs.yOffset = -6; - E.db.unitframe.units.party.buffs.clickThrough = true - E.db.unitframe.units.party.buffs.noDuration = false - E.db.unitframe.units.party.buffs.playerOnly = false; - E.db.unitframe.units.party.buffs.perrow = 1 - E.db.unitframe.units.party.buffs.useFilter = "TurtleBuffs" - E.db.unitframe.units.party.buffs.sizeOverride = 22 - E.db.unitframe.units.party.buffs.useBlacklist = false - E.db.unitframe.units.party.buffs.enable = true - E.db.unitframe.units.party.roleIcon.position = "BOTTOMRIGHT" - E.db.unitframe.units.party.health.text_format = "[healthcolor][health:deficit]" - E.db.unitframe.units.party.health.position = "BOTTOM" - E.db.unitframe.units.party.GPSArrow.size = 40 - E.db.unitframe.units.party.width = 80 - E.db.unitframe.units.party.height = 45 - E.db.unitframe.units.party.name.text_format = "[namecolor][name:short]" - E.db.unitframe.units.party.name.position = "TOP" - E.db.unitframe.units.party.power.text_format = "" - - - - E.db.unitframe.units.raid40.positionOverride = "BOTTOMRIGHT" - E.db.unitframe.units.raid40.height = 30 - - E.db.unitframe.units.party.health.frequentUpdates = true - E.db.unitframe.units.raid10.health.frequentUpdates = true - E.db.unitframe.units.raid25.health.frequentUpdates = true - E.db.unitframe.units.raid40.health.frequentUpdates = true - - E.db.unitframe.units.party.healPrediction = true; - E.db.unitframe.units.raid10.healPrediction = true; - E.db.unitframe.units.raid25.healPrediction = true; - E.db.unitframe.units.raid40.healPrediction = true; - - E.db.actionbar.bar2.enabled = true - if not E.db.lowresolutionset then - E.db.actionbar.bar3.buttons = 12 - E.db.actionbar.bar5.buttons = 12 - E.db.actionbar.bar4.enabled = false - if not E.PixelMode then - E.db.actionbar.bar1.heightMult = 2 - end - end - end - - if not E.db.movers then E.db.movers = {}; end - local xOffset = GetScreenWidth() * 0.34375 - - if E.PixelMode then - E.db.movers.ElvAB_3 = "BOTTOMElvUIParentBOTTOM3124" - E.db.movers.ElvAB_5 = "BOTTOMElvUIParentBOTTOM-3124" - E.db.movers.ElvUF_PartyMover = "BOTTOMRIGHTElvUIParentBOTTOMLEFT"..xOffset.."450" - E.db.movers.ElvUF_Raid10Mover = "BOTTOMRIGHTElvUIParentBOTTOMLEFT"..xOffset.."450" - E.db.movers.ElvUF_Raid25Mover = "BOTTOMRIGHTElvUIParentBOTTOMLEFT"..xOffset.."450" - E.db.movers.ElvUF_Raid40Mover = "BOTTOMRIGHTElvUIParentBOTTOMLEFT"..xOffset.."450" - - if not E.db.lowresolutionset then - E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM278132" - E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-278132" - E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM0176" - E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM0132" - E.db.movers.ElvUF_FocusMover = "BOTTOMElvUIParentBOTTOM310432" - E.db.movers["BossButton"] = "BOTTOMElvUIParentBOTTOM0275" - else - E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-102182" - E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM102182" - E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM102120" - E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM-102120" - E.db.movers.ElvUF_FocusMover = "BOTTOMElvUIParentBOTTOM310332" - E.db.movers["BossButton"] = "TOPElvUIParentTOP0-138" - end - else - E.db.movers.ElvAB_3 = "BOTTOMElvUIParentBOTTOM3324" - E.db.movers.ElvAB_5 = "BOTTOMElvUIParentBOTTOM-3324" - E.db.movers.ElvUF_PartyMover = "BOTTOMRIGHTElvUIParentBOTTOMLEFT"..xOffset.."450" - E.db.movers.ElvUF_Raid10Mover = "BOTTOMRIGHTElvUIParentBOTTOMLEFT"..xOffset.."450" - E.db.movers.ElvUF_Raid25Mover = "BOTTOMRIGHTElvUIParentBOTTOMLEFT"..xOffset.."450" - E.db.movers.ElvUF_Raid40Mover = "BOTTOMRIGHTElvUIParentBOTTOMLEFT"..xOffset.."450" - - if not E.db.lowresolutionset then - E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM307145" - E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-307145" - E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM0186" - E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM0145" - E.db.movers.ElvUF_FocusMover = "BOTTOMElvUIParentBOTTOM310432" - E.db.movers["BossButton"] = "BOTTOMElvUIParentBOTTOM0275" - else - E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-118182" - E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM118182" - E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM118120" - E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM-118120" - E.db.movers.ElvUF_FocusMover = "BOTTOMElvUIParentBOTTOM310332" - E.db.movers["BossButton"] = "TOPElvUIParentTOP0-138" - end - end - elseif E.db.lowresolutionset then - if not E.db.movers then E.db.movers = {}; end - if E.PixelMode then - E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-102135" - E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM102135" - E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM10280" - E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM-10280" - E.db.movers.ElvUF_FocusMover = "BOTTOMElvUIParentBOTTOM310332" - else - E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-118142" - E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM118142" - E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM11884" - E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM-11884" - E.db.movers.ElvUF_FocusMover = "BOTTOMElvUIParentBOTTOM310332" - end - - E.db.movers["BossButton"] = "TOPElvUIParentTOP0-138" - end - - if layout ~= 'healer' and not E.db.lowresolutionset then - E.db.actionbar.bar1.heightMult = 1 - end - - if E.db.lowresolutionset and not noDataReset then - E.db.unitframe.units.player.width = 200; - if layout ~= 'healer' then - E.db.unitframe.units.player.castbar.width = 200; - end - E.db.unitframe.units.player.classbar.fill = 'fill'; - - E.db.unitframe.units.target.width = 200; - E.db.unitframe.units.target.castbar.width = 200; - - E.db.unitframe.units.pet.power.enable = false; - E.db.unitframe.units.pet.width = 200; - E.db.unitframe.units.pet.height = 26; - - E.db.unitframe.units.targettarget.debuffs.enable = false; - E.db.unitframe.units.targettarget.power.enable = false; - E.db.unitframe.units.targettarget.width = 200; - E.db.unitframe.units.targettarget.height = 26; - - E.db.unitframe.units.boss.width = 200; - E.db.unitframe.units.boss.castbar.width = 200; - E.db.unitframe.units.arena.width = 200; - E.db.unitframe.units.arena.castbar.width = 200; - end - - if(layout == 'dpsCaster' or layout == 'healer' or (layout == 'dpsMelee' and E.myclass == 'HUNTER')) then - if not E.db.movers then E.db.movers = {}; end - E.db.unitframe.units.player.castbar.width = 406 - E.db.unitframe.units.player.castbar.height = 28 - local yOffset = 80 - if not E.db.lowresolutionset then - if layout ~= 'healer' then - yOffset = 42 - - if E.PixelMode then - E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-278110" - E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM278110" - E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM0110" - E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM0150" - E.db.movers["BossButton"] = "BOTTOMElvUIParentBOTTOM0195" - else - E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-307110" - E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM307110" - E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM0110" - E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM0150" - E.db.movers["BossButton"] = "BOTTOMElvUIParentBOTTOM0195" - end - else - yOffset = 76 - end - elseif E.db.lowresolutionset then - if E.PixelMode then - E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-102182" - E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM102182" - E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM102120" - E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM-102120" - E.db.movers.ElvUF_FocusMover = "BOTTOMElvUIParentBOTTOM310332" - else - E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-118182" - E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM118182" - E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM118120" - E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM-118120" - E.db.movers.ElvUF_FocusMover = "BOTTOMElvUIParentBOTTOM310332" - end - - E.db.movers["BossButton"] = "TOPElvUIParentTOP0-138" - end - - if E.PixelMode then - E.db.movers.ElvUF_PlayerCastbarMover = "BOTTOMElvUIParentBOTTOM0"..yOffset - else - E.db.movers.ElvUF_PlayerCastbarMover = "BOTTOMElvUIParentBOTTOM-2"..(yOffset + 5) - end - elseif (layout == 'dpsMelee' or layout == 'tank') and not E.db.lowresolutionset and not E.PixelMode then - E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-30776" - E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM30776" - E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM076" - E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM0115" - E.db.movers["BossButton"] = "BOTTOMElvUIParentBOTTOM0158" - - end - - --Datatexts - if not noDataReset then - E:CopyTable(E.db.datatexts.panels, P.datatexts.panels) - if layout == 'tank' then - E.db.datatexts.panels.LeftChatDataPanel.left = 'Avoidance'; - E.db.datatexts.panels.LeftChatDataPanel.right = 'Vengeance'; - elseif layout == 'healer' or layout == 'dpsCaster' then - E.db.datatexts.panels.LeftChatDataPanel.left = 'Spell/Heal Power'; - E.db.datatexts.panels.LeftChatDataPanel.right = 'Haste'; - else - E.db.datatexts.panels.LeftChatDataPanel.left = 'Attack Power'; - E.db.datatexts.panels.LeftChatDataPanel.right = 'Haste'; - end - - if InstallStepComplete then - InstallStepComplete.message = L["Layout Set"] - InstallStepComplete:Show() - end - end - - E.db.layoutSet = layout - - if not noDataReset and E.private.theme then - E:SetupTheme(E.private.theme, true) - end - - if not noDataReset then - E:CopyTable(E.db.sle.marks, P.sle.marks) - E:CopyTable(E.db.sle.backgrounds, P.sle.backgrounds) - E:CopyTable(E.db.sle.uibuttons, P.sle.uibuttons) - end - - E:UpdateAll(true) - local DT = E:GetModule('DataTexts') - DT:LoadDataTexts() -end - - -local function SetupAuras(style) - E:CopyTable(E.db.unitframe.units.player.buffs, P.unitframe.units.player.buffs) - E:CopyTable(E.db.unitframe.units.player.debuffs, P.unitframe.units.player.debuffs) - E:CopyTable(E.db.unitframe.units.player.aurabar, P.unitframe.units.player.aurabar) - - E:CopyTable(E.db.unitframe.units.target.buffs, P.unitframe.units.target.buffs) - E:CopyTable(E.db.unitframe.units.target.debuffs, P.unitframe.units.target.debuffs) - E:CopyTable(E.db.unitframe.units.target.aurabar, P.unitframe.units.target.aurabar) - E.db.unitframe.units.target.smartAuraDisplay = P.unitframe.units.target.smartAuraDisplay - - E:CopyTable(E.db.unitframe.units.focus.buffs, P.unitframe.units.focus.buffs) - E:CopyTable(E.db.unitframe.units.focus.debuffs, P.unitframe.units.focus.debuffs) - E:CopyTable(E.db.unitframe.units.focus.aurabar, P.unitframe.units.focus.aurabar) - E.db.unitframe.units.focus.smartAuraDisplay = P.unitframe.units.focus.smartAuraDisplay - - if not style then - --PLAYER - E.db.unitframe.units.player.buffs.enable = true; - E.db.unitframe.units.player.buffs.attachTo = 'FRAME'; - E.db.unitframe.units.player.buffs.noDuration = false; - - E.db.unitframe.units.player.debuffs.attachTo = 'BUFFS'; - - E.db.unitframe.units.player.aurabar.enable = false; - - --TARGET - E.db.unitframe.units.target.smartAuraDisplay = 'DISABLED'; - E.db.unitframe.units.target.debuffs.enable = true; - E.db.unitframe.units.target.aurabar.enable = false; - elseif style == 'integrated' then - --seriosly is this fucking hard?? - E.db.unitframe.units.target.smartAuraDisplay = 'SHOW_DEBUFFS_ON_FRIENDLIES'; - E.db.unitframe.units.target.buffs.playerOnly = {friendly = true, enemy = false}; - E.db.unitframe.units.target.debuffs.enable = false; - E.db.unitframe.units.target.aurabar.attachTo = 'BUFFS'; - end - - E:GetModule('UnitFrames'):Update_AllFrames() - if InstallStepComplete then - InstallStepComplete.message = L["Auras Set"] - InstallStepComplete:Show() - end -end - - -function E:DarthSetup(private) --The function to switch from classic ElvUI settings to Darth's - InstallStepComplete.message = L["Darth's Defaults Set"] - InstallStepComplete:Show() - E:CopyTable(E.db, P) - E:CopyTable(E.db.sle, P.sle) - if not E.db.movers then E.db.movers = {}; end - if not E.db.loclite then E.db.loclite = {} end - - layout = E.db.layoutSet --To know if some sort of layout was choosed before - - --General options-- - E.db.general.stickyFrames = false - E.db.general.autoRepair = "PLAYER" - E.db.general.vendorGrays = true - E.db.general.fontsize = 10 - E.db.general.minimap.locationText = 'HIDE' - E.db.general.experience.textFormat = 'CURPERC' - E.db.general.experience.textSize = 10 - E.db.general.experience.width = 380 - E.db.general.reputation.textFormat = 'CURMAX' - E.db.general.reputation.textSize = 10 - E.db.general.reputation.width = 380 - E.db.general.threat.enable = false - E.db.general.totems.spacing = 2 - E.db.general.totems.size = 25 - E.db.general.bottomPanel = false - E.db.general.topPanel = false - - --Bags-- - E.db.bags.bagSize = 22 - E.db.bags.bankSize = 22 - E.db.bags.sortInverted = false - E.db.bags.alignToChat = false - E.db.bags.bagWidth = 425 - E.db.bags.bankWidth = 425 - E.db.bags.yOffset = 186 - E.db.bags.currencyFormat = "ICON" - - --NamePlate-- - E.db.nameplate.healthtext = 'CURRENT_PERCENT' - E.db.nameplate.lowHealthWarning = 'NONE' - E.db.nameplate.fontOutline = "OUTLINE" - E.db.nameplate.font = "ElvUI Font" - E.db.nameplate.height = 8 - E.db.nameplate.auraFont = "ElvUI Font" - E.db.nameplate.auraFontOutline = "OUTLINE" - E.db.nameplate.classIcons = false - - --Auras-- - E.db.auras.font = "ElvUI Font" - E.db.auras.fontOutline = "OUTLINE" - E.db.auras.wrapAfter = 18 - E.db.sle.castername = true - E.db.auras.fadeThreshold = 3 - E.db.auras.consolidatedBuffs.fontSize = 9 - E.db.auras.consolidatedBuffs.fontOutline = "OUTLINE" - E.db.auras.consolidatedBuffs.font = "ElvUI Font" - E.db.auras.consolidatedBuffs.filter = false - - --Chat-- - E.db.chat.editboxhistory = 10 - E.db.chat.emotionIcons = false - E.db.chat.panelHeight = 192 - E.db.chat.panelWidth = 425 - E.db.chat.panelTabBackdrop = false - E.db.chat.timeStampFormat = "%H:%M:%S " - E.db.chat.whisperSound = "Whisper Alert" - E.db.chat.fade = false - E.db.chat.fontOutline = "OUTLINE" - E.db.chat.tabFontOutline = "OUTLINE" - - --Datatexts-- - do - E.db.datatexts.fontSize = 10 - E.db.datatexts.time24 = true - E.db.sle.lfrshow.enabled = true - E.db.datatexts.minimapPanels = false - E.db.datatexts.panelTransparency = true - E.db.datatexts.fontOutline = "OUTLINE" - E.db.sle.datatext.top.enabled = true - E.db.sle.datatext.top.transparent = true - E.db.sle.datatext.bottom.enabled = true - E.db.sle.datatext.bottom.width = 190 - E.db.sle.datatext.bottom.transparent = true - E.db.sle.datatext.dp1.enabled = true - E.db.sle.datatext.dp1.width = 386 - E.db.sle.datatext.dp1.transparent = true - E.db.sle.datatext.dp2.enabled = true - E.db.sle.datatext.dp2.width = 386 - E.db.sle.datatext.dp2.transparent = true - E.db.sle.datatext.dp3.enabled = true - E.db.sle.datatext.dp3.width = 386 - E.db.sle.datatext.dp3.transparent = true - E.db.sle.datatext.dp4.enabled = true - E.db.sle.datatext.dp4.width = 386 - E.db.sle.datatext.dp4.transparent = true - E.db.sle.datatext.dp5.enabled = true - E.db.sle.datatext.dp5.width = 455 - E.db.sle.datatext.dp5.transparent = true - E.db.sle.datatext.dp6.enabled = true - E.db.sle.datatext.dp6.width = 455 - E.db.sle.datatext.dp6.transparent = true - - E.db.datatexts.panels.Top_Center = 'Version'; - E.db.datatexts.panels.Bottom_Panel = 'System'; - E.db.datatexts.panels.LeftChatDataPanel.right = 'Friends'; - E.db.datatexts.panels.LeftChatDataPanel.left = 'Call to Arms'; - E.db.datatexts.panels.LeftChatDataPanel.middle = 'Durability'; - E.db.datatexts.panels.LeftMiniPanel = ''; - E.db.datatexts.panels.RightMiniPanel = ''; - E.db.datatexts.panels.DP_1.right = 'AtlasLoot'; - E.db.datatexts.panels.DP_1.middle = 'MrtWoo'; - E.db.datatexts.panels.DP_1.left = 'Swatter'; - E.db.datatexts.panels.DP_2.right = 'Guild'; - E.db.datatexts.panels.DP_2.middle = 'Skada'; - E.db.datatexts.panels.DP_2.left = 'Altoholic'; - E.db.datatexts.panels.DP_3.right = 'Notes'; - E.db.datatexts.panels.DP_3.middle = 'DBM-LDB'; - E.db.datatexts.panels.DP_3.left = 'Time'; - E.db.datatexts.panels.DP_4.right = ''; - E.db.datatexts.panels.DP_4.middle = ''; - E.db.datatexts.panels.DP_4.left = 'Combat Time'; - E.db.datatexts.panels.DP_5.middle = 'Gold'; - E.db.datatexts.panels.DP_5.left = 'Bags'; - - if layout == 'tank' then - E.db.datatexts.panels.DP_6.left = 'Avoidance'; - E.db.datatexts.panels.DP_6.middle = 'Vengeance'; - E.db.datatexts.panels.DP_6.right = 'Expertise'; - E.db.datatexts.panels.RightChatDataPanel.left = 'Hit Rating'; - E.db.datatexts.panels.RightChatDataPanel.middle = 'Mastery'; - E.db.datatexts.panels.RightChatDataPanel.right = 'Spec Switch'; - E.db.datatexts.panels.DP_5.right = 'Armor'; - elseif layout == 'healer' then - E.db.datatexts.panels.DP_6.left = 'Spell/Heal Power'; - E.db.datatexts.panels.DP_6.middle = 'Haste'; - E.db.datatexts.panels.DP_6.right = 'Crit Chance'; - E.db.datatexts.panels.RightChatDataPanel.left = 'MP5'; - E.db.datatexts.panels.RightChatDataPanel.middle = 'Mastery'; - E.db.datatexts.panels.RightChatDataPanel.right = 'Spec Switch'; - E.db.datatexts.panels.DP_5.right = ''; - elseif layout == 'dpsCaster' then - E.db.datatexts.panels.DP_6.left = 'Spell/Heal Power'; - E.db.datatexts.panels.DP_6.middle = 'Haste'; - E.db.datatexts.panels.DP_6.right = 'Crit Chance'; - E.db.datatexts.panels.RightChatDataPanel.left = 'Hit Rating'; - E.db.datatexts.panels.RightChatDataPanel.middle = 'Mastery'; - E.db.datatexts.panels.RightChatDataPanel.right = 'Spec Switch'; - E.db.datatexts.panels.DP_5.right = ''; - else - E.db.datatexts.panels.DP_6.left = 'Attack Power'; - E.db.datatexts.panels.DP_6.middle = 'Haste'; - E.db.datatexts.panels.DP_6.right = 'Crit Chance'; - E.db.datatexts.panels.RightChatDataPanel.left = 'Hit Rating'; - E.db.datatexts.panels.RightChatDataPanel.middle = 'Mastery'; - E.db.datatexts.panels.RightChatDataPanel.right = 'Spec Switch'; - E.db.datatexts.panels.DP_5.right = 'Expertise'; - end - end - - --Unitframes-- - do - E.db.unitframe.smoothbars = false - E.db.unitframe.font = "ElvUI Font" - E.db.unitframe.fontsize = 9 - E.db.unitframe.fontOutline = 'OUTLINE' - E.db.unitframe.colors.castColor = { - ["b"] = 0.396078431372549, - ["g"] = 0.7333333333333333, - ["r"] = 0.796078431372549, - } - UF:Update_AllFrames() - if layout == "healer" then - E.db.unitframe.debuffHighlighting = true - else - E.db.unitframe.debuffHighlighting = false - end - E.db.unitframe.smartRaidFilter = false - E.db.unitframe.colors.healthclass = true - E.db.unitframe.colors.colorhealthbyvalue = false - E.db.unitframe.colors.transparentHealth = true - E.db.unitframe.colors.transparentPower = true - E.db.unitframe.colors.transparentCastbar = true - E.db.unitframe.colors.transparentAurabars = true - --Setting player frame - E.db.unitframe.units.player.width = 210 - E.db.unitframe.units.player.height = 50 - if layout == "healer" then - E.db.unitframe.units.player.lowmana = 30; - else - E.db.unitframe.units.player.lowmana = 0; - end - E.db.unitframe.units.player.health.position = 'BOTTOMRIGHT'; - E.db.unitframe.units.player.health.text_format = "[healthcolor][health:current-percent:sl]" - E.db.unitframe.units.player.power.text_format = "[powercolor][power:current:sl]"; - E.db.unitframe.units.player.power.height = 8 - E.db.unitframe.units.player.fixTo = "power" - E.db.unitframe.units.player.name.text_format = "[name] [level]"; - E.db.unitframe.units.player.name.position = 'TOPLEFT'; - E.db.unitframe.units.player.pvp.text_format = "||cFFB04F4F[pvptimer]||r" - E.db.unitframe.units.player.pvp.position = "BOTTOMLEFT" - E.db.unitframe.units.player.portrait.enable = true - E.db.unitframe.units.player.portrait.camDistanceScale = 1.7; - E.db.unitframe.units.player.portrait.width = 35 - E.db.unitframe.units.player.debuffs.enable = false; - E.db.unitframe.units.player.castbar.format = 'CURRENTMAX'; - if layout == "healer" then - E.db.unitframe.units.player.castbar.width = 200 - else - E.db.unitframe.units.player.castbar.width = 210 - end - E.db.unitframe.units.player.classbar.fill = 'fill' - E.db.unitframe.units.player.classbar.height = 8 - E.db.unitframe.units.player.aurabar.enable = false - E.db.unitframe.units.player.raidicon.enable = false - - --Setting target frame - E.db.unitframe.units.target.width = 210 - E.db.unitframe.units.target.height = 50 - E.db.unitframe.units.target.health.position = 'BOTTOMRIGHT'; - if layout == "healer" then - E.db.unitframe.units.target.health.text_format = "[healthcolor][health:deficit] [health:current-percent:sl]" - else - E.db.unitframe.units.target.health.text_format = "[healthcolor][health:current-percent:sl]" - end - E.db.unitframe.units.target.power.position = 'RIGHT'; - E.db.unitframe.units.target.power.hideonnpc = false; - E.db.unitframe.units.target.power.text_format = "[powercolor][power:current:sl]" - E.db.unitframe.units.target.power.height = 8 - E.db.unitframe.units.target.fixTo = "power" - E.db.unitframe.units.target.name.text_format = "[name:medium] [level] [shortclassification]"; - E.db.unitframe.units.target.name.position = 'TOPLEFT'; - E.db.unitframe.units.target.portrait.enable = true - E.db.unitframe.units.target.portrait.camDistanceScale = 1.7; - E.db.unitframe.units.target.portrait.width = 35; - E.db.unitframe.units.target.buffs.perrow = 10; - E.db.unitframe.units.target.buffs.numrows = 2; - E.db.unitframe.units.target.buffs.anchorPoint = 'TOPLEFT'; - E.db.unitframe.units.target.buffs.useBlacklist.friendly = false - E.db.unitframe.units.target.buffs.useBlacklist.enemy = false - E.db.unitframe.units.target.debuffs.perrow = 10; - E.db.unitframe.units.target.debuffs.playerOnly.enemy = false - E.db.unitframe.units.target.debuffs.useBlacklist.friendly = false - E.db.unitframe.units.target.debuffs.useBlacklist.enemy = false - E.db.unitframe.units.target.castbar.format = 'CURRENTMAX'; - if layout == "healer" then - E.db.unitframe.units.target.castbar.width = 200 - else - E.db.unitframe.units.target.castbar.width = 210 - end - E.db.unitframe.units.target.aurabar.enable = false - E.db.unitframe.units.target.combobar.height = 8 - - --Target of Target - if layout == "healer" then - E.db.unitframe.units.targettarget.width = 100 - else - E.db.unitframe.units.targettarget.width = 130 - end - E.db.unitframe.units.targettarget.name.text_format = "[name:medium]" - E.db.unitframe.units.targettarget.debuffs.enable = false - - --Focus - if layout == "healer" then - E.db.unitframe.units.focus.height = 34 - else - E.db.unitframe.units.focus.height = 50 - end - E.db.unitframe.units.focus.health.position = 'BOTTOMRIGHT' - E.db.unitframe.units.focus.debuffs.sizeOverride = 22 - E.db.unitframe.units.focus.debuffs.anchorPoint = "TOPLEFT" - E.db.unitframe.units.focus.castbar.format = 'CURRENTMAX' - if layout == "healer" then - E.db.unitframe.units.focus.castbar.width = 179 - else - E.db.unitframe.units.focus.castbar.width = 190 - end - - --Focus Target - E.db.unitframe.units.focustarget.enable = true - if layout == "healer" then - E.db.unitframe.units.focustarget.width = 179 - else - E.db.unitframe.units.focustarget.width = 190 - end - - --Pet - E.db.unitframe.units.pet.height = 30 - E.db.unitframe.units.pet.width = 105 - - --Pet Target - E.db.unitframe.units.pettarget.name.text_format = "[name:short]" - E.db.unitframe.units.pettarget.enable = true - E.db.unitframe.units.pettarget.height = 30 - E.db.unitframe.units.pettarget.width = 105 - - --Party - if layout == "healer" then - E.db.unitframe.units.party.showSolo = true - E.db.unitframe.units.party.healPrediction = true - E.db.unitframe.units.party.health.text_format = "[healthcolor][health:deficit]" - E.db.unitframe.units.party.health.orientation = "VERTICAL" - E.db.unitframe.units.party.health.frequentUpdates = true - E.db.unitframe.units.party.debuffs.enable = true - E.db.unitframe.units.party.debuffs.anchorPoint = "BOTTOMLEFT" - E.db.unitframe.units.party.GPSArrow.onMouseOver = false - E.db.unitframe.units.party.GPSArrow.outOfRange = true - else - E.db.unitframe.units.party.showSolo = false - E.db.unitframe.units.party.healPrediction = false - E.db.unitframe.units.party.health.text_format = "[healthcolor][health:current]" - E.db.unitframe.units.party.health.orientation = "HORIZONTAL" - E.db.unitframe.units.party.health.frequentUpdates = false - E.db.unitframe.units.party.debuffs.enable = false - E.db.unitframe.units.party.GPSArrow.onMouseOver = true - E.db.unitframe.units.party.GPSArrow.outOfRange = false - end - E.db.unitframe.units.party.point = "LEFT" - E.db.unitframe.units.party.width = 80 - E.db.unitframe.units.party.xOffset = 3 - E.db.unitframe.units.party.health.position = "BOTTOM" - E.db.unitframe.units.party.power.text_format = "" - E.db.unitframe.units.party.roleIcon.position = "RIGHT" - E.db.unitframe.units.party.debuffs.sizeOverride = 0 - E.db.unitframe.units.party.name.position = "TOP" - E.db.unitframe.units.party.GPSArrow.size = 30 - - --Raid 10 - if layout == "healer" then - E.db.unitframe.units.raid10.height = 36 - E.db.unitframe.units.raid10.healPrediction = true - E.db.unitframe.units.raid10.health.frequentUpdates = true - E.db.unitframe.units.raid10.health.text_format = "[healthcolor][health:dificit]" - E.db.unitframe.units.raid10.health.orientation = "VERTICAL" - E.db.unitframe.units.raid10.GPSArrow.onMouseOver = false - E.db.unitframe.units.raid10.GPSArrow.outOfRange = true - else - E.db.unitframe.units.raid10.height = 44 - E.db.unitframe.units.raid10.healPrediction = false - E.db.unitframe.units.raid10.health.frequentUpdates = false - E.db.unitframe.units.raid10.health.text_format = "[healthcolor][health:current]" - E.db.unitframe.units.raid10.health.orientation = "HORIZONTAL" - E.db.unitframe.units.raid10.GPSArrow.onMouseOver = true - E.db.unitframe.units.raid10.GPSArrow.outOfRange = false - end - E.db.unitframe.units.raid10.xOffset = 1 - E.db.unitframe.units.raid10.yOffset = 1 - E.db.unitframe.units.raid10.name.text_format = "[name:medium]" - E.db.unitframe.units.raid10.rdebuffs.size = 18 - E.db.unitframe.units.raid10.roleIcon.position = "RIGHT" - E.db.unitframe.units.raid10.groupBy = "GROUP" - E.db.unitframe.units.raid10.GPSArrow.size = 30 - - --Raid 25 - if layout == "healer" then - E.db.unitframe.units.raid25.healPrediction = true - E.db.unitframe.units.raid25.health.text_format = "[healthcolor][health:deficit]" - E.db.unitframe.units.raid25.health.frequentUpdates = true - E.db.unitframe.units.raid25.health.orientation = "VERTICAL" - E.db.unitframe.units.raid25.height = 36 - E.db.unitframe.units.raid25.GPSArrow.onMouseOver = false - E.db.unitframe.units.raid25.GPSArrow.outOfRange = true - else - E.db.unitframe.units.raid25.healPrediction = false - E.db.unitframe.units.raid25.health.text_format = "[healthcolor][health:current]" - E.db.unitframe.units.raid25.health.frequentUpdates = false - E.db.unitframe.units.raid25.health.orientation = "HORIZONTAL" - E.db.unitframe.units.raid25.height = 44 - E.db.unitframe.units.raid25.GPSArrow.onMouseOver = true - E.db.unitframe.units.raid25.GPSArrow.outOfRange = false - end - E.db.unitframe.units.raid25.xOffset = 1 - E.db.unitframe.units.raid25.yOffset = 1 - E.db.unitframe.units.raid25.name.text_format = "[name:medium]" - E.db.unitframe.units.raid25.rdebuffs.size = 18 - E.db.unitframe.units.raid25.roleIcon.position = "RIGHT" - E.db.unitframe.units.raid25.groupBy = "GROUP" - E.db.unitframe.units.raid25.GPSArrow.size = 30 - - --Raid 40 - if layout == "healer" then - E.db.unitframe.units.raid25.healPrediction = true - E.db.unitframe.units.raid40.health.frequentUpdates = true - E.db.unitframe.units.raid40.health.text_format = "[healthcolor][health:deficit]" - E.db.unitframe.units.raid40.health.orientation = "VERTICAL" - else - E.db.unitframe.units.raid40.healPrediction = false - E.db.unitframe.units.raid40.health.frequentUpdates = false - E.db.unitframe.units.raid40.health.text_format = "" - E.db.unitframe.units.raid40.health.orientation = "HORIZONTAL" - end - E.db.unitframe.units.raid40.xOffset = 1 - E.db.unitframe.units.raid40.yOffset = 1 - E.db.unitframe.units.raid40.name.text_format = "[name:medium]" - E.db.unitframe.units.raid40.name.position = "TOP" - E.db.unitframe.units.raid25.roleIcon.enable = true - E.db.unitframe.units.raid25.roleIcon.position = "RIGHT" - E.db.unitframe.units.raid40.groupBy = "GROUP" - - --Tank - if layout == "healer" then - E.db.unitframe.units.tank.enable = true - E.db.unitframe.units.tank.targetsGroup.enable = false - E.db.unitframe.units.tank.height = 24 - else - E.db.unitframe.units.tank.enable = false - end - - --Assist - E.db.unitframe.units.assist.enable = false - - --Arena - E.db.unitframe.units.arena.width = 200 - E.db.unitframe.units.arena.height = 46 - E.db.unitframe.units.arena.growthDirection = 'DOWN' - E.db.unitframe.units.arena.castbar.format = 'CURRENTMAX' - E.db.unitframe.units.arena.castbar.width = 200 - - --Boss - E.db.unitframe.units.boss.width = 200 - E.db.unitframe.units.boss.growthDirection = 'DOWN' - - --Power text - E.db.sle.powtext = true - - end - - --Actionbars - do - E.db.actionbar.font = "ElvUI Font" - E.db.actionbar.fontOutline = 'OUTLINE' - E.db.actionbar.hotkeytext = false - E.db.actionbar.keyDown = false - - E.db.actionbar.bar1.point = "TOPLEFT" - E.db.actionbar.bar1.buttonsPerRow = 3 - E.db.actionbar.bar1.buttonspacing = 1 - E.db.actionbar.bar1.buttonsize = 23 - - E.db.actionbar.bar2.enabled = true - E.db.actionbar.bar2.point = "TOPLEFT" - E.db.actionbar.bar2.buttonsPerRow = 3 - E.db.actionbar.bar2.buttonspacing = 1 - E.db.actionbar.bar2.buttonsize = 23 - E.db.actionbar.bar2.visibility = "[overridebar] hide; [petbattle] hide; show" - - E.db.actionbar.bar3.point = "TOPLEFT" - E.db.actionbar.bar3.buttons = 12 - E.db.actionbar.bar3.buttonsPerRow = 3 - E.db.actionbar.bar3.buttonspacing = 1 - E.db.actionbar.bar3.buttonsize = 23 - E.db.actionbar.bar3.visibility = "[overridebar] hide; [petbattle] hide; show" - - E.db.actionbar.bar4.point = "TOPLEFT" - E.db.actionbar.bar4.buttonsPerRow = 6 - E.db.actionbar.bar4.buttonspacing = 1 - E.db.actionbar.bar4.buttonsize = 23 - E.db.actionbar.bar4.visibility = "[overridebar] hide; [petbattle] hide; show" - E.db.actionbar.bar4.backdrop = false - - E.db.actionbar.bar5.point = "TOPLEFT" - E.db.actionbar.bar5.buttons = 12 - E.db.actionbar.bar5.buttonspacing = 1 - E.db.actionbar.bar5.buttonsize = 23 - E.db.actionbar.bar5.visibility = "[overridebar] hide; [petbattle] hide; show" - - E.db.actionbar.microbar.enabled = true - E.db.actionbar.microbar.buttonsPerRow = 6 - E.db.actionbar.microbar.mouseover = true - - E.db.actionbar.stanceBar.buttonspacing = 1 - E.db.actionbar.stanceBar.buttonsize = 16 - - E.db.actionbar.barPet.point = "TOPLEFT" - E.db.actionbar.barPet.buttonspacing = 1 - E.db.actionbar.barPet.backdrop = false - E.db.actionbar.barPet.buttonsPerRow = 5 - E.db.actionbar.barPet.buttonsize = 20 - end - - --Raid marks-- - E.db.sle.marks.enabled = true - E.db.sle.marks.growth = "LEFT" - E.db.sle.marks.backdrop = false - E.db.sle.marks.size = 16 - - --Exp/Rep Bars-- - E.db.sle.exprep.explong = true - E.db.sle.exprep.replong = true - - --Combat icon-- - E.db.sle.combatico.pos = 'TOPRIGHT' - - --Loot History-- - E.db.sle.lootwin = true - E.db.sle.lootalpha = 0.9 - - --Errors-- - E.db.sle.errors = true - - --UI Buttons-- - E.db.sle.uibuttons.enable = true - E.db.sle.uibuttons.mouse = true - - --Farm-- - E.db.sle.farm.size = 23 - E.db.sle.farm.autotarget = true - E.db.sle.farm.quest = true - E.db.sle.farm.seedor = "BOTTOM" - - --LocationLite-- - E.db.loclite.lpfontsize = 10 - E.db.loclite.lpfontflags = "OUTLINE" - E.db.loclite.lpwidth = 300 - E.db.loclite.dig = false - E.db.loclite.lpauto = false - E.db.loclite.trans = true - - --Loading private settings-- - if private then - E.private.sle.farm.enable = true - E.private.sle.farm.seedtrash = true - E.private.sle.equip.spam = true - E.private.sle.characterframeoptions.enable = true - E.private.auras.size = 22 - E.private.skins.addons.DBMSkinHalf = true - E.private.skins.addons.EmbedSkada = true - E.private.skins.addons.EmbedOoC = true - E.private.skins.addons.AlwaysTrue = true - end - - --Moving stuff-- - do - if layout == "healer" then - E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-308176" - E.db.movers.ElvUF_PlayerCastbarMover = "BOTTOMElvUIParentBOTTOM-102135" - E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM308176" - E.db.movers.ElvUF_TargetCastbarMover = "BOTTOMElvUIParentBOTTOM102135" - E.db.movers.ElvUF_TargetTargetMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-446190" - E.db.movers.ElvUF_FocusMover = "BOTTOMElvUIParentBOTTOM308118" - E.db.movers.ElvUF_FocusTargetMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-445126" - E.db.movers.ElvUF_PetMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT547147" - E.db.movers.ElvUF_PetTargetMover = "BOTTOMElvUIParentBOTTOM-254147" - E.db.movers.PetAB = "BOTTOMLEFTElvUIParentBOTTOMLEFT547105" - E.db.movers.TotemBarMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT438199" - E.db.movers.TempEnchantMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT474164" - E.db.movers.ElvUF_PartyMover = "BOTTOMElvUIParentBOTTOM0183" - E.db.movers.ElvUF_Raid10Mover = "BOTTOMElvUIParentBOTTOM0156" - E.db.movers.ElvUF_Raid25Mover = "BOTTOMElvUIParentBOTTOM0156" - E.db.movers.ElvUF_Raid40Mover = "BOTTOMElvUIParentBOTTOM0156" - E.db.movers.ElvUF_TankMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT428228" - E.db.movers.BossButton = "BOTTOMElvUIParentBOTTOM2389" - E.db.movers.BNETMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-42743" - else - E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-214158" - E.db.movers.ElvUF_PlayerCastbarMover = "BOTTOMElvUIParentBOTTOM0135" - E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM214158" - E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM17497" - E.db.movers.ElvUF_FocusMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-448158" - E.db.movers.ElvUF_FocusTargetMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-450106" - E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM-266129" - E.db.movers.ElvUF_PetTargetMover = "BOTTOMElvUIParentBOTTOM-161129" - E.db.movers.PetAB = "BOTTOMElvUIParentBOTTOM-26685" - E.db.movers.TotemBarMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT613100" - E.db.movers.TempEnchantMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT540174" - E.db.movers.ElvUF_PartyMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT0212" - E.db.movers.ElvUF_Raid10Mover = "BOTTOMLEFTElvUIParentBOTTOMLEFT0212" - E.db.movers.ElvUF_Raid25Mover = "BOTTOMLEFTElvUIParentBOTTOMLEFT0212" - E.db.movers.ElvUF_Raid40Mover = "BOTTOMLEFTElvUIParentBOTTOMLEFT0212" - E.db.movers.BossButton = "BOTTOMElvUIParentBOTTOM0195" - E.db.movers.BNETMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-42753" - end - E.db.movers.ElvAB_1 = "BOTTOMElvUIParentBOTTOM020" - E.db.movers.ElvAB_2 = "BOTTOMElvUIParentBOTTOM7320" - E.db.movers.ElvAB_3 = "BOTTOMElvUIParentBOTTOM-7320" - E.db.movers.ElvAB_4 = "BOTTOMElvUIParentBOTTOM-18220" - E.db.movers.ElvAB_5 = "BOTTOMElvUIParentBOTTOM18220" - E.db.movers.MinimapMover = "TOPRIGHTElvUIParentTOPRIGHT2-19" - E.db.movers.UIBFrameMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-426112" - E.db.movers.WatchFrameMover = "TOPRIGHTElvUIParentTOPRIGHT-219-208" - E.db.movers.BossHeaderMover = "TOPRIGHTElvUIParentTOPRIGHT-2-199" - E.db.movers.ArenaHeaderMover = "TOPRIGHTElvUIParentTOPRIGHT-2-200" - E.db.movers.PetBattleABMover = "BOTTOMElvUIParentBOTTOM019" - E.db.movers.ShiftAB = "BOTTOMElvUIParentBOTTOM-16168" - if UnitLevel('player') == 90 then - E.db.movers.ExperienceBarMover = "TOPElvUIParentTOP0-19" - E.db.movers.ReputationBarMover = "TOPElvUIParentTOP0-19" - E.db.movers.PvPMover = "TOPElvUIParentTOP0-48" - E.db.movers.LocationMover = "TOPElvUIParentTOP0-28" - E.db.movers.LocationLiteMover = "TOPElvUIParentTOP0-28" - E.db.movers.AlertFrameMover = "TOPElvUIParentTOP0-105" - else - E.db.movers.ExperienceBarMover = "TOPElvUIParentTOP0-19" - E.db.movers.ReputationBarMover = "TOPElvUIParentTOP0-28" - E.db.movers.LocationMover = "TOPElvUIParentTOP0-37" - E.db.movers.LocationLiteMover = "TOPElvUIParentTOP0-37" - E.db.movers.AlertFrameMover = "TOPElvUIParentTOP0-113" - E.db.movers.PvPMover = "TOPElvUIParentTOP0-57" - end - E.db.movers.MarkMover = "BOTTOMElvUIParentBOTTOM0115" - E.db.movers.MicrobarMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT55620" - E.db.movers.LootFrameMover = "TOPLEFTElvUIParentTOPLEFT238-329" - E.db.movers.AurasMover = "TOPRIGHTElvUIParentTOPRIGHT-201-18" - E.db.movers.GMMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT0454" - E.db.movers.VehicleSeatMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT42419" - E.db.movers.DP_1_Mover = "TOPLEFTElvUIParentTOPLEFT00" - E.db.movers.DP_2_Mover = "TOPLEFTElvUIParentTOPLEFT3850" - E.db.movers.DP_3_Mover = "TOPRIGHTElvUIParentTOPRIGHT-3850" - E.db.movers.DP_4_Mover = "TOPRIGHTElvUIParentTOPRIGHT00" - E.db.movers.DP_5_Mover = "BOTTOMLEFTElvUIParentBOTTOMLEFT4110" - E.db.movers.DP_6_Mover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-4110" - E.db.movers.Bottom_Panel_Mover = "BOTTOMElvUIParentBOTTOM00" - E.db.movers.RightChatMover = "BOTTOMRIGHTUIParentBOTTOMRIGHT019" - E.db.movers.LeftChatMover = "BOTTOMLEFTUIParentBOTTOMLEFT019" - E.db.movers.RaidUtility_Mover = "TOPElvUIParentTOP-305-19" - E.db.movers.AltPowerBarMover = "TOPElvUIParentTOP0-238" - E.db.movers.FarmSeedMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-300211" - E.db.movers.FarmToolMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-175211" - end - - E:UpdateAll(true) -end - -function E:RepoocSetup() --The function to switch from classic ElvUI settings to Repooc's - InstallStepComplete.message = L["Repooc's Defaults Set"] - InstallStepComplete:Show() - if not E.db.movers then E.db.movers = {}; end - - layout = E.db.layoutSet --Pull which layout was selected if any. - pixel = E.PixelMode --Pull PixelMode - --print(pixel); - --General Options - E.db.general.bottomPanel = true - E.db.general.topPanel = true - E.db.general.backdropfadecolor = { - ["b"] = 0.06, - ["g"] = 0.06, - ["r"] = 0.06, - } - E.db.general.valuecolor = { - ["b"] = 0.59, - ["g"] = 1, - ["r"] = 0, - } - E.db.general.vendorGrays = true - E.db.general.bordercolor = { - ["b"] = 0.31, - ["g"] = 0.31, - ["r"] = 0.31, - } - E.db.general.experience.enable = true - E.db.general.experience.textFormat = "CURPERC" - E.db.general.experience.textSize = 10 - E.db.general.reputation.enable = true - E.db.general.reputation.textFormat = "CURPERC" - E.db.general.interruptAnnounce = "RAID" - - --Bags - E.db.bags.xOffset = 3 - - E.db.hideTutorial = 1 - - --Chat - E.db.chat.hyperlinkHover = false - E.db.chat.editBoxPosition = "ABOVE_CHAT" - E.db.chat.fontOutline = "OUTLINE" - E.db.chat.panelBackdropNameLeft = "Interface\\AddOns\\ElvUI_SLE\\media\\textures\\logo_elvui_sle.tga" - E.db.chat.panelBackdropNameRight = "Interface\\AddOns\\ElvUI_SLE\\media\\textures\\logo_elvui_sle.tga" - E.db.chat.panelTabBackdrop = false - E.db.chat.panelWidth = 433 - E.db.chat.tabFontSize = 11 - E.db.chat.timeStampFormat = "%I:%M %p " - - --Tooltip - E.db.tooltip.count = false - E.db.tooltip.spellid = false - - --Datatext - do - E.db.datatexts.minimapPanels = false - E.db.datatexts.fontOutline = "OUTLINE" - E.db.datatexts.lfrshow = true - - E.db.sle.datatext.bottom.enabled = true --Checked - E.private.sle.datatext.bottomhide = true - E.db.sle.datatext.chatleft.width = 417 - E.db.sle.datatext.chatright.width = 417 - E.db.sle.datatext.dp1.enabled = false - E.db.sle.datatext.dp2.enabled = false - E.db.sle.datatext.dp3.enabled = false - E.db.sle.datatext.dp4.enabled = false - E.db.sle.datatext.dp5.enabled = true - E.db.sle.datatext.dp5.width = 433 - E.private.sle.datatext.dp5hide = true - E.db.sle.datatext.dp6.enabled = true - E.db.sle.datatext.dp6.width = 433 - E.private.sle.datatext.dp6hide = true - E.db.sle.datatext.top.enabled = true - E.private.sle.datatext.tophide = true - - --Datatext Panels Presets - E.db.datatexts.panels['DP_1']['left'] = "" - E.db.datatexts.panels['DP_1']['middle'] = "" - E.db.datatexts.panels['DP_1']['righ'] = "" - E.db.datatexts.panels['DP_2']['left'] = "" - E.db.datatexts.panels['DP_2']['middle'] = "" - E.db.datatexts.panels['DP_2']['right'] = "" - E.db.datatexts.panels['DP_3']['left'] = "" - E.db.datatexts.panels['DP_3']['middle'] = "" - E.db.datatexts.panels['DP_3']['right'] = "" - E.db.datatexts.panels['DP_4']['left'] = "" - E.db.datatexts.panels['DP_4']['middle'] = "" - E.db.datatexts.panels['DP_4']['right'] = "" - E.db.datatexts.panels['DP_5']['left'] = "Durability" - E.db.datatexts.panels['DP_5']['middle'] = "" - E.db.datatexts.panels['DP_5']['right'] = "" - E.db.datatexts.panels['DP_6']['left'] = "" - E.db.datatexts.panels['DP_6']['middle'] = "" - E.db.datatexts.panels['DP_6']['right'] = "" - E.db.datatexts.panels['LeftChatDataPanel']['left'] = "Bags" - E.db.datatexts.panels['LeftChatDataPanel']['middle'] = "" - E.db.datatexts.panels['LeftChatDataPanel']['right'] = "" - E.db.datatexts.panels['RightChatDataPanel']['left'] = "SocialState" - E.db.datatexts.panels['RightChatDataPanel']['middle'] = "Gold" - E.db.datatexts.panels['RightChatDataPanel']['right'] = "Time" - E.db.datatexts.panels['Top_Center'] = "Version" - E.db.datatexts.panels['Bottom_Panel'] = "System" - E.db.datatexts.panels['LeftMiniPanel'] = "" - E.db.datatexts.panels['RightMiniPanel'] = "" - - --Datatext Panels Spec Specific - if layout == 'tank' then - E.db.datatexts.panels.DP_5.middle = "" - E.db.datatexts.panels.DP_5.right = "" - E.db.datatexts.panels.DP_6.left = "" - E.db.datatexts.panels.DP_6.middle = "" - elseif layout == 'healer' then - E.db.datatexts.panels.DP_5.middle = "MP5" - E.db.datatexts.panels.DP_5.right = "Spell/Heal Power" - E.db.datatexts.panels.DP_6.left = "Haste" - E.db.datatexts.panels.DP_6.middle = "Crit Chance" - elseif layout == 'dpsCaster' then - E.db.datatexts.panels.DP_5.middle = "" - E.db.datatexts.panels.DP_5.right = "" - E.db.datatexts.panels.DP_6.left = "" - E.db.datatexts.panels.DP_6.middle = "" - else - E.db.datatexts.panels.DP_5.middle = "" - E.db.datatexts.panels.DP_5.right = "" - E.db.datatexts.panels.DP_6.left = "" - E.db.datatexts.panels.DP_6.middle = "" - end - end - - --Unitframes - do - --Player - E.db.unitframe.units.player.health.position = "TOPRIGHT" - E.db.unitframe.units.player.portrait.overlay = true - E.db.unitframe.units.player.portrait.enable = true - E.db.unitframe.units.player.portrait.camDistanceScale = 3 - E.db.unitframe.units.player.power.position = "BOTTOMRIGHT" - - --Target - E.db.unitframe.units.target.aurabar.attachTo = "BUFFS" - E.db.unitframe.units.target.smartAuraDisplay = "SHOW_DEBUFFS_ON_FRIENDLIES" - E.db.unitframe.units.target.buffs.playerOnly.friendly = true - E.db.unitframe.units.target.debuffs.enable = false - E.db.unitframe.units.target.power.position = "BOTTOMLEFT" - E.db.unitframe.units.target.power.hideonnpc = false - E.db.unitframe.units.target.health.position = "LEFT" - E.db.unitframe.units.target.portrait.overlay = true - E.db.unitframe.units.target.portrait.enable = true - E.db.unitframe.units.target.portrait.camDistanceScale = 3 - - --Party - E.db.unitframe.units.party.columnAnchorPoint = "LEFT" - E.db.unitframe.units.party.healPrediction = true - E.db.unitframe.units.party.height = 52 - E.db.unitframe.units.party.point = "LEFT" - E.db.unitframe.units.party.width = 80 - E.db.unitframe.units.party.xOffset = 5 - E.db.unitframe.units.party.debuffs.anchorPoint = "BOTTOMLEFT" - E.db.unitframe.units.party.debuffs.initialAnchor = "TOPLEFT" - E.db.unitframe.units.party.debuffs.sizeOverride = 0 - E.db.unitframe.units.party.debuffs.useFilter = "Blacklist" - E.db.unitframe.units.party.health.frequentUpdates = true - E.db.unitframe.units.party.health.orientation = "VERTICAL" - E.db.unitframe.units.party.health.position = "BOTTOM" - E.db.unitframe.units.party.health.text_format = "[healthcolor][health:deficit]" - E.db.unitframe.units.party.targetsGroup.anchorPoint = "TOP" - E.db.unitframe.units.party.targetsGroup.initialAnchor = "BOTTOM" - E.db.unitframe.units.party.targetsGroup.width = 80 - E.db.unitframe.units.party.targetsGroup.xOffset = 0 - E.db.unitframe.units.party.targetsGroup.yOffset = 1 - E.db.unitframe.units.party.name.position = "TOP" - E.db.unitframe.units.party.name.text_format = "[namecolor][name:medium]" - E.db.unitframe.units.party.petsGroup.anchorPoint = "TOP" - E.db.unitframe.units.party.petsGroup.enable = true - E.db.unitframe.units.party.petsGroup.initialAnchor = "BOTTOM" - E.db.unitframe.units.party.petsGroup.width = 80 - E.db.unitframe.units.party.petsGroup.xOffset = 0 - E.db.unitframe.units.party.petsGroup.yOffset = 1 - - --Raid10 - E.db.unitframe.units.raid10.xOffset = 2 - E.db.unitframe.units.raid10.healPrediction = true - E.db.unitframe.units.raid10.width = 79 - - --Raid25 - E.db.unitframe.units.raid25.customTexts = {} - E.db.unitframe.units.raid25.healPrediction = true - E.db.unitframe.units.raid25.health.frequentUpdates = true - E.db.unitframe.units.raid25.health.orientation = "VERTICAL" - E.db.unitframe.units.raid25.width = 79 - E.db.unitframe.units.raid25.xOffset = 2 - - --Raid40 - E.db.unitframe.units.raid40.healPrediction = true - E.db.unitframe.units.raid40.health.frequentUpdates = true - E.db.unitframe.units.raid40.health.text = true - E.db.unitframe.units.raid40.health.orientation = "VERTICAL" - E.db.unitframe.units.raid40.height = 36 - E.db.unitframe.units.raid40.name.position = "TOP" - E.db.unitframe.units.raid40.roleIcon.enable = true - E.db.unitframe.units.raid40.width = 79 - E.db.unitframe.units.raid40.xOffset = 2 - - --Arena - E.db.unitframe.units.arena.castbar.width = 200 - E.db.unitframe.units.arena.width = 200 - - --Boss - E.db.unitframe.units.boss.width = 200 - E.db.unitframe.units.boss.castbar.width = 200 - - --Main Tank & Assist - E.db.unitframe.units.tank.enable = false - E.db.unitframe.units.assist.enable = false - - E.db.unitframe.colors.healthclass = false - E.db.unitframe.colors.auraBarBuff = { - ["b"] = 0.59, - ["g"] = 1, - ["r"] = 0, - } - E.db.unitframe.colors.castColor = { - ["b"] = 0.59, - ["g"] = 1, - ["r"] = 0, - } - end - - --Actionbars - --Bar 1 - E.db.actionbar.bar1.enabled = true - E.db.actionbar.bar1.backdrop = false - E.db.actionbar.bar1.buttonspacing = 2 - --Bar 2 - E.db.actionbar.bar2.enabled = true - E.db.actionbar.bar2.backdrop = false - E.db.actionbar.bar2.buttonspacing = 2 - --Bar 3 - E.db.actionbar.bar3.enabled = false - E.db.actionbar.bar3.backdrop = false - E.db.actionbar.bar3.buttonspacing = 2 - --Bar 4 - E.db.actionbar.bar4.enabled = true - E.db.actionbar.bar4.backdrop = false - E.db.actionbar.bar4.buttonsize = 28 - E.db.actionbar.bar4.buttonspacing = 1 - --Bar 5 - E.db.actionbar.bar5.enabled = false - E.db.actionbar.bar5.backdrop = false - E.db.actionbar.bar5.buttonspacing = 2 - - --Stance Bar - E.db.actionbar.stanceBar.buttonspacing = 2 - - --UIButtons - E.db.sle.uibuttons.enable = true - E.db.sle.uibuttons.position = "uib_hor" - - --SLE Tooltip - E.db.sle.castername = true - - --Exp & Rep - E.db.sle.exprep.explong = true - - - do - if layout == "healer" then - E.db.movers.ElvUF_PlayerMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT460187" - E.db.movers.ElvUF_TargetMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-460187" - E.db.movers.ElvUF_TargetTargetMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-460129" - E.db.movers.ElvUF_PetMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT460129" - E.db.movers.ElvUF_FocusMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-50052" - E.db.movers.ElvUF_PartyMover = "BOTTOMElvUIParentBOTTOM091" - E.db.movers.ElvUF_PlayerCastbarMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT460166" - E.db.movers.ElvUF_Raid10Mover = "BOTTOMElvUIParentBOTTOM091" - E.db.movers.ElvUF_Raid25Mover = "BOTTOMElvUIParentBOTTOM091" - E.db.movers.ElvUF_Raid40Mover = "BOTTOMLEFTElvUIParentBOTTOMLEFT13202" - E.db.movers.ElvUF_TargetCastbarMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-460166" - E.db.movers.UIBFrameMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT329175" - E.db.movers.ElvAB_1 = "BOTTOMElvUIParentBOTTOM021" - E.db.movers.ElvAB_2 = "BOTTOMElvUIParentBOTTOM055" - E.db.movers.ElvUF_FocusCastbarMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-50031" - E.db.movers.DP_6_Mover = "BOTTOMElvUIParentBOTTOM3110" - E.db.movers.LeftChatMover = "BOTTOMLEFTUIParentBOTTOMLEFT019" - E.db.movers.DP_5_Mover = "BOTTOMElvUIParentBOTTOM-3100" - E.db.movers.ReputationBarMover = "TOPElvUIParentTOP0-21" - E.db.movers.AlertFrameMover = "TOPElvUIParentTOP0-43" - E.db.movers.WatchFrameMover = "TOPLEFTElvUIParentTOPLEFT115-123" - E.db.movers.LootFrameMover = "TOPRIGHTElvUIParentTOPRIGHT-140-356" - E.db.movers.RaidUtility_Mover = "TOPLEFTElvUIParentTOPLEFT524-4" - E.db.movers.BossHeaderMover = "TOPRIGHTElvUIParentTOPRIGHT-91-210" - E.db.movers.RightChatMover = "BOTTOMRIGHTUIParentBOTTOMRIGHT019" - E.db.movers.ExperienceBarMover = "TOPElvUIParentTOP0-32" - - else - E.db.movers.ElvUF_PlayerMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT460187" - E.db.movers.ElvUF_TargetMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-460187" - E.db.movers.ElvUF_TargetTargetMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-460129" - E.db.movers.ElvUF_PetMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT460129" - E.db.movers.ElvUF_FocusMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-50052" - E.db.movers.ElvUF_PartyMover = "BOTTOMElvUIParentBOTTOM091" - E.db.movers.ElvUF_PlayerCastbarMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT460166" - E.db.movers.ElvUF_Raid10Mover = "BOTTOMElvUIParentBOTTOM091" - E.db.movers.ElvUF_Raid25Mover = "BOTTOMElvUIParentBOTTOM091" - E.db.movers.ElvUF_Raid40Mover = "BOTTOMLEFTElvUIParentBOTTOMLEFT13202" - E.db.movers.ElvUF_TargetCastbarMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-460166" - E.db.movers.UIBFrameMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT329175" - E.db.movers.ElvAB_1 = "BOTTOMElvUIParentBOTTOM021" - E.db.movers.ElvAB_2 = "BOTTOMElvUIParentBOTTOM055" - E.db.movers.ElvUF_FocusCastbarMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-50031" - E.db.movers.DP_6_Mover = "BOTTOMElvUIParentBOTTOM3110" - E.db.movers.LeftChatMover = "BOTTOMLEFTUIParentBOTTOMLEFT019" - E.db.movers.DP_5_Mover = "BOTTOMElvUIParentBOTTOM-3100" - E.db.movers.ReputationBarMover = "TOPElvUIParentTOP0-21" - E.db.movers.AlertFrameMover = "TOPElvUIParentTOP0-43" - E.db.movers.WatchFrameMover = "TOPLEFTElvUIParentTOPLEFT115-123" - E.db.movers.LootFrameMover = "TOPRIGHTElvUIParentTOPRIGHT-140-356" - E.db.movers.RaidUtility_Mover = "TOPLEFTElvUIParentTOPLEFT524-4" - E.db.movers.BossHeaderMover = "TOPRIGHTElvUIParentTOPRIGHT-91-210" - E.db.movers.RightChatMover = "BOTTOMRIGHTUIParentBOTTOMRIGHT019" - E.db.movers.ExperienceBarMover = "TOPElvUIParentTOP0-32" - end - E.db.movers.BossButton = "BOTTOMElvUIParentBOTTOM559200" - E.db.movers.ElvAB_4 = "TOPRIGHTElvUIParentTOPRIGHT0-200" - end - - E:UpdateAll(true) -end - -function E:AffinitiiSetup() --The function to switch from class ElvUI settings to Affinitii's - InstallStepComplete.message = L["Affiniti's Defaults Set"] - InstallStepComplete:Show() - if not E.db.movers then E.db.movers = {}; end - local xOffset = GetScreenWidth() * 0.34375 - --can try * .135417 for ab 3 and 5 positions or do xoffset - blah blah - layout = E.db.layoutSet --Pull which layout was selected if any. - pixel = E.PixelMode --Pull PixelMode - E.private.general.pixelPerfect = true - E.db.general.autoAcceptInvite = true - E.db.general.autoRepair = "GUILD" - E.db.general.bottomPanel = false - E.db.general.topPanel = false - E.db.general.backdropfadecolor = { - ["r"] = 0.054, - ["g"] = 0.054, - ["b"] = 0.054, - } - E.db.general.valuecolor = { - ["r"] = 0.09, - ["g"] = 0.513, - ["b"] = 0.819, - } - E.db.general.health = { - } - E.db.general.BUFFS = { - } - E.db.general.vendorGrays = true - E.db.general.autoRoll = true - E.private.general.normTex = "Polished Wood" - E.private.general.glossTex = "Polished Wood" - E.private.skins.addons.EmbedSkada = true - E.private.skins.addons.AlwaysTrue = true - E.db.gridSize = 110 - E.db.hideTutorial = 1 - E.db.unitframe.colors.healthclass = false - - --Chat - E.db.chat.editBoxPosition = "ABOVE_CHAT" - E.db.chat.emotionIcons = false - if GetScreenWidth() < 1920 then - E.db.chat.panelWidth = 380 - else - E.db.chat.panelWidth = 412 - end - - --Unitframes - E.db.unitframe.font = "Doris PP" - E.db.unitframe.fontOutline = "OUTLINE" - E.db.unitframe.statusbar = "Polished Wood" - E.db.unitframe.colors.castColor = { - ["r"] = 0.1, - ["g"] = 0.1, - ["b"] = 0.1, - } - E.db.unitframe.colors.health = { - ["r"] = 0.2352941176470588, - ["g"] = 0.2352941176470588, - ["b"] = 0.2352941176470588, - } - E.db.unitframe.units.tank.enable = false - - E.db.unitframe.units.assist.enable = false - E.db.unitframe.units.assist.targetsGroup.enable = false - - E.db.unitframe.units.arena.power.offset = 7 - - E.db.unitframe.units.targettarget.power.offset = 7 - - E.db.unitframe.units.pet.power.offset = 7 - - E.db.unitframe.units.boss.portrait.enable = true - E.db.unitframe.units.boss.portrait.overlay = true - E.db.unitframe.units.boss.power.offset = 11 - - E.db.unitframe.units.focus.power.offset = 7 - - E.db.unitframe.units.player.debuffs.attachTo = "BUFFS" - E.db.unitframe.units.player.portrait.overlay = true - E.db.unitframe.units.player.portrait.enable = true - E.db.unitframe.units.player.classbar.enable = false - E.db.unitframe.units.player.aurabar.enable = false - E.db.unitframe.units.player.power.offset = 11 - E.db.unitframe.units.player.buffs.enable = true - E.db.unitframe.units.player.buffs.attachTo = "FRAME" - E.db.unitframe.units.player.buffs.noDuration = false - E.db.unitframe.units.player.castbar.width = 410 - E.db.unitframe.units.player.castbar.height = 25 - - E.db.unitframe.units.target.portrait.enable = true - E.db.unitframe.units.target.portrait.overlay = true - E.db.unitframe.units.target.aurabar.enable = false - E.db.unitframe.units.target.power.offset = 11 - - E.db.unitframe.units.party.columnAnchorPoint = "BOTTOM" - E.db.unitframe.units.party.buffIndicator.size = 10 - E.db.unitframe.units.party.buffIndicator.fontSize = 10 - E.db.unitframe.units.party.point = "RIGHT" - E.db.unitframe.units.party.xOffset = -1 - E.db.unitframe.units.party.yOffset = 1 - E.db.unitframe.units.party.power.offset = 7 - E.db.unitframe.units.party.power.text_format = "" - E.db.unitframe.units.party.buffIndicator.size = 10 - E.db.unitframe.units.party.roleIcon.enable = false - E.db.unitframe.units.party.GPSArrow.size = 40 - E.db.unitframe.units.party.positionOverride = "BOTTOMRIGHT" - E.db.unitframe.units.party.healPrediction = true - E.db.unitframe.units.party.health.frequentUpdates = true - E.db.unitframe.units.party.health.text_format = "[healthcolor][health:deficit]" - E.db.unitframe.units.party.health.position = "BOTTOM" - E.db.unitframe.units.party.name.text_format = "[namecolor][name:veryshort] [difficultycolor][smartlevel]" - E.db.unitframe.units.party.name.position = "TOP" - E.db.unitframe.units.party.buffs.noConsolidated = false - E.db.unitframe.units.party.buffs.enable = true - E.db.unitframe.units.party.buffs.anchorPoint = "BOTTOMLEFT" - E.db.unitframe.units.party.buffs.clickThrough = true - E.db.unitframe.units.party.buffs.useBlacklist = false - E.db.unitframe.units.party.buffs.noDuration = false - E.db.unitframe.units.party.buffs.playerOnly = false - E.db.unitframe.units.party.buffs.perrow = 1 - E.db.unitframe.units.party.buffs.useFilter = "TurtleBuffs" - E.db.unitframe.units.party.petsGroup.anchorPoint = "BOTTOM" - E.db.unitframe.units.party.raidicon.attachTo = "LEFT" - E.db.unitframe.units.party.raidicon.xOffset = 9 - E.db.unitframe.units.party.raidicon.size = 13 - E.db.unitframe.units.party.raidicon.yOffset = 0 - E.db.unitframe.units.party.targetsGroup.anchorPoint = "BOTTOM" - E.db.unitframe.units.party.width = 80 - E.db.unitframe.units.party.height = 45 - E.db.unitframe.units.party.debuffs.xOffset = -4 - E.db.unitframe.units.party.debuffs.yOffset = -7 - E.db.unitframe.units.party.debuffs.anchorPoint = "TOPLEFT" - E.db.unitframe.units.party.debuffs.sizeOverride = 21 - E.db.unitframe.units.party.buffs.yOffset = 28 - E.db.unitframe.units.party.buffs.xOffset = 30 - E.db.unitframe.units.party.buffs.sizeOverride = 22 - E.db.unitframe.units.party.groupBy = "GROUP" - E.db.unitframe.colors.auraBarBuff = { - ["r"] = 0.3098039215686275, - ["g"] = 0.07843137254901961, - ["b"] = 0.09411764705882353, - } - - E.db.unitframe.units.raid10.columnAnchorPoint = "BOTTOM" - E.db.unitframe.units.raid10.buffIndicator.fontSize = 10 - E.db.unitframe.units.raid10.point = "RIGHT" - E.db.unitframe.units.raid10.rdebuffs.enable = false - E.db.unitframe.units.raid10.yOffset = 4 - E.db.unitframe.units.raid10.xOffset = -1 - E.db.unitframe.units.raid10.roleIcon.enable = false - E.db.unitframe.units.raid10.power.offset = 7 - E.db.unitframe.units.raid10.positionOverride = "BOTTOMRIGHT" - E.db.unitframe.units.raid10.healPrediction = true - E.db.unitframe.units.raid10.health.frequentUpdates = true - E.db.unitframe.units.raid10.debuffs.enable = true - E.db.unitframe.units.raid10.debuffs.anchorPoint = "TOPRIGHT" - E.db.unitframe.units.raid10.buffs.enable = true - E.db.unitframe.units.raid10.buffs.noConsolidated = false - E.db.unitframe.units.raid10.buffs.anchorPoint = "BOTTOMLEFT" - E.db.unitframe.units.raid10.buffs.clickThrough = true - E.db.unitframe.units.raid10.buffs.useBlacklist = false - E.db.unitframe.units.raid10.buffs.noDuration = false - E.db.unitframe.units.raid10.buffs.playerOnly = false - E.db.unitframe.units.raid10.buffs.perrow = 1 - E.db.unitframe.units.raid10.buffs.useFilter = "TurtleBuffs" - E.db.unitframe.units.raid10.raidicon.attachTo = "LEFT" - E.db.unitframe.units.raid10.raidicon.xOffset = 9 - E.db.unitframe.units.raid10.raidicon.size = 13 - E.db.unitframe.units.raid10.raidicon.yOffset = 0 - E.db.unitframe.units.raid10.name.text_format = "[namecolor][name:veryshort]" - E.db.unitframe.units.raid10.debuffs.sizeOverride = 21 - E.db.unitframe.units.raid10.debuffs.xOffset = -4 - E.db.unitframe.units.raid10.debuffs.yOffset = -7 - E.db.unitframe.units.raid10.height = 45 - E.db.unitframe.units.raid10.width = 80 - E.db.unitframe.units.raid10.buffs.yOffset = 28 - E.db.unitframe.units.raid10.buffs.xOffset = 30 - E.db.unitframe.units.raid10.buffs.sizeOverride = 22 - E.db.unitframe.units.raid10.groupBy = "GROUP" - - E.db.unitframe.units.raid25.columnAnchorPoint = "RIGHT" - E.db.unitframe.units.raid25.buffIndicator.fontSize = 10 - E.db.unitframe.units.raid25.point = "BOTTOM" - E.db.unitframe.units.raid25.rdebuffs.enable = false - E.db.unitframe.units.raid25.xOffset = 1 - E.db.unitframe.units.raid25.roleIcon.enable = false - E.db.unitframe.units.raid25.power.offset = 7 - E.db.unitframe.units.raid25.power.height = 5 - E.db.unitframe.units.raid25.positionOverride = "BOTTOMRIGHT" - E.db.unitframe.units.raid25.healPrediction = true - E.db.unitframe.units.raid25.health.frequentUpdates = true - E.db.unitframe.units.raid25.debuffs.anchorPoint = "TOPRIGHT" - E.db.unitframe.units.raid25.debuffs.enable = true - E.db.unitframe.units.raid25.raidicon.attachTo = "LEFT" - E.db.unitframe.units.raid25.raidicon.xOffset = 9 - E.db.unitframe.units.raid25.raidicon.yOffset = 0 - E.db.unitframe.units.raid25.raidicon.size = 13 - E.db.unitframe.units.raid25.buffs.noConsolidated = false - E.db.unitframe.units.raid25.buffs.enable = true - E.db.unitframe.units.raid25.buffs.anchorPoint = "BOTTOMLEFT" - E.db.unitframe.units.raid25.buffs.clickThrough = true - E.db.unitframe.units.raid25.buffs.useBlacklist = false - E.db.unitframe.units.raid25.buffs.noDuration = false - E.db.unitframe.units.raid25.buffs.playerOnly = false - E.db.unitframe.units.raid25.buffs.perrow = 1 - E.db.unitframe.units.raid25.buffs.useFilter = "TurtleBuffs" - E.db.unitframe.units.raid25.name.text_format = "[namecolor][name:veryshort]" - E.db.unitframe.units.raid25.yOffset = 4 - E.db.unitframe.units.raid25.width = 80 - E.db.unitframe.units.raid25.height = 45 - E.db.unitframe.units.raid25.debuffs.xOffset = -4 - E.db.unitframe.units.raid25.debuffs.yOffset = -7 - E.db.unitframe.units.raid25.debuffs.sizeOverride = 21 - E.db.unitframe.units.raid25.buffs.yOffset = 28 - E.db.unitframe.units.raid25.buffs.xOffset = 30 - E.db.unitframe.units.raid25.buffs.sizeOverride = 22 - E.db.unitframe.units.raid25.groupBy = "GROUP" - - E.db.unitframe.units.raid40.columnAnchorPoint = "RIGHT" - E.db.unitframe.units.raid40.point = "BOTTOM" - E.db.unitframe.units.raid40.xOffset = 1 - E.db.unitframe.units.raid40.yOffset = 1 - E.db.unitframe.units.raid40.positionOverride = "BOTTOMRIGHT" - E.db.unitframe.units.raid40.healPrediction = true - E.db.unitframe.units.raid40.width = 50 - E.db.unitframe.units.raid40.height = 43 - E.db.unitframe.units.raid40.raidicon.xOffset = 9 - E.db.unitframe.units.raid40.raidicon.yOffset = 0 - E.db.unitframe.units.raid40.raidicon.size = 13 - E.db.unitframe.units.raid40.raidicon.attachTo = "LEFT" - E.db.unitframe.units.raid40.rdebuffs.size = 26 - E.db.unitframe.units.raid40.name.position = "TOP" - E.db.unitframe.units.raid40.buffIndicator.fontSize = 10 - E.db.unitframe.units.raid40.power.enable = true - E.db.unitframe.units.raid40.power.offset = 7 - E.db.unitframe.units.raid40.health.text_format = "[healthcolor][health:deficit]" - E.db.unitframe.units.raid40.health.frequentUpdates = true - E.db.unitframe.units.raid40.debuffs.sizeOverride = 21 - E.db.unitframe.units.raid40.debuffs.enable = true - E.db.unitframe.units.raid40.debuffs.perrow = 2 - E.db.unitframe.units.raid40.debuffs.anchorPoint = "TOPRIGHT" - E.db.unitframe.units.raid40.debuffs.clickThrough = true - E.db.unitframe.units.raid40.debuffs.xOffset = -4 - E.db.unitframe.units.raid40.debuffs.yOffset = -9 - E.db.unitframe.units.raid40.debuffs.useBlacklist = false - E.db.unitframe.units.raid40.debuffs.useFilter = "Blacklist" - E.db.unitframe.units.raid40.buffs.xOffset = 21 - E.db.unitframe.units.raid40.buffs.yOffset = 25 - E.db.unitframe.units.raid40.buffs.anchorPoint = "BOTTOMLEFT" - E.db.unitframe.units.raid40.buffs.clickThrough = true - E.db.unitframe.units.raid40.buffs.noConsolidated = false - E.db.unitframe.units.raid40.buffs.noDuration = false - E.db.unitframe.units.raid40.buffs.playerOnly = false - E.db.unitframe.units.raid40.buffs.perrow = 1 - E.db.unitframe.units.raid40.buffs.useFilter = "TurtleBuffs" - E.db.unitframe.units.raid40.buffs.sizeOverride = 17 - E.db.unitframe.units.raid40.buffs.useBlacklist = false - E.db.unitframe.units.raid40.buffs.enable = true - E.db.unitframe.units.raid40.name.text_format = "[namecolor][name:veryshort]" - E.db.unitframe.units.raid40.groupBy = "GROUP" - - --Actionbars - --Bar 1 - E.db.actionbar.bar1.enabled = true - E.db.actionbar.bar1.backdrop = false - E.db.actionbar.bar1.buttons = 12 - E.db.actionbar.bar1.buttonsize = 32 - E.db.actionbar.bar1.buttonspacing = 2 - --Bar 2 - E.db.actionbar.bar2.enabled = true - E.db.actionbar.bar2.backdrop = true - E.db.actionbar.bar2.buttons = 12 - E.db.actionbar.bar2.buttonsize = 32 - E.db.actionbar.bar2.buttonspacing = 2 - E.db.actionbar.bar2.heightMult = 2 - --Bar 3 - E.db.actionbar.bar3.enabled = true - E.db.actionbar.bar3.backdrop = true - E.db.actionbar.bar3.buttons = 6 - E.db.actionbar.bar3.buttonsize = 32 - E.db.actionbar.bar3.buttonspacing = 2 - E.db.actionbar.bar3.buttonsPerRow = 3 - --Bar 4 - E.db.actionbar.bar4.enabled = true - E.db.actionbar.bar4.backdrop = false - E.db.actionbar.bar4.buttons = 12 - E.db.actionbar.bar4.buttonsize = 32 - E.db.actionbar.bar4.buttonspacing = 2 - E.db.actionbar.bar4.buttonsPerRow = 6 - E.db.actionbar.bar4.mouseover = true - E.db.actionbar.bar4.point = "BOTTOMLEFT" - --Bar 5 - E.db.actionbar.bar5.enabled = true - E.db.actionbar.bar5.backdrop = true - E.db.actionbar.bar5.buttons = 6 - E.db.actionbar.bar5.buttonsize = 32 - E.db.actionbar.bar5.buttonspacing = 2 - E.db.actionbar.bar5.buttonsPerRow = 3 - --Stance Bar - E.db.actionbar.stanceBar.buttonsPerRow = 1 - --Pet Bar - E.db.actionbar.barPet.point = "RIGHT" - E.db.actionbar.barPet.buttonsPerRow = 1 - - --Datatext - do - E.db.datatexts.panelTransparency = false - E.db.datatexts.minimapPanels = true - E.db.datatexts.fontOutline = "None" - E.db.sle.datatext.dp1.enabled = false - E.db.sle.datatext.dp2.enabled = false - E.db.sle.datatext.dp3.enabled = false - E.db.sle.datatext.dp4.enabled = false - E.db.sle.datatext.dp5.enabled = false - E.db.sle.datatext.dp6.enabled = true - E.db.sle.datatext.top.enabled = true - E.db.sle.datatext.bottom.enabled = true - if GetScreenWidth() < 1920 then - E.db.sle.datatext.dp6.width = 410 - E.db.sle.datatext.bottom.width = 104 - E.db.sle.datatext.top.width = 104 - E.db.sle.datatext.chatleft.width = 364 - E.db.sle.datatext.chatright.width = 364 - elseif GetScreenWidth() > 1920 then - E.db.sle.datatext.dp6.width = 402 - E.db.sle.datatext.bottom.width = 102 - E.db.sle.datatext.top.width = 102 - E.db.sle.datatext.chatleft.width = 396 - E.db.sle.datatext.chatright.width = 396 - else - E.db.sle.datatext.dp6.width = 410 - E.db.sle.datatext.bottom.width = 104 - E.db.sle.datatext.top.width = 104 - E.db.sle.datatext.chatleft.width = 396 - E.db.sle.datatext.chatright.width = 396 - end - E.db.datatexts.panels['DP_6']['left'] = "System" - E.db.datatexts.panels['DP_6']['middle'] = "Time" - E.db.datatexts.panels['DP_6']['right'] = "Gold" - E.db.datatexts.panels['LeftChatDataPanel']['left'] = "" - E.db.datatexts.panels['LeftChatDataPanel']['middle'] = "" - E.db.datatexts.panels['LeftChatDataPanel']['right'] = "" - E.db.datatexts.panels['RightChatDataPanel']['left'] = "Skada" - E.db.datatexts.panels['RightChatDataPanel']['middle'] = "Combat Time" - E.db.datatexts.panels['RightChatDataPanel']['right'] = "WeakAuras" - E.db.datatexts.panels['Top_Center'] = "Spec Switch" - E.db.datatexts.panels['Bottom_Panel'] = "Bags" - E.db.datatexts.panels['LeftMiniPanel'] = "Guild" - E.db.datatexts.panels['RightMiniPanel'] = "Friends" - - --Datatext Panels Spec Specific - if layout == 'tank' then - --E.db.datatexts.panels.DP_5.middle = "" - --E.db.datatexts.panels.DP_5.right = "" - --E.db.datatexts.panels.DP_6.left = "" - --E.db.datatexts.panels.DP_6.middle = "" - elseif layout == 'healer' then - E.db.datatexts.panels['LeftChatDataPanel']['left'] = "Spell/Heal Power" - E.db.datatexts.panels['LeftChatDataPanel']['middle'] = "Durability" - E.db.datatexts.panels['LeftChatDataPanel']['right'] = "Haste" - elseif layout == 'dpsCaster' then - E.db.datatexts.panels['LeftChatDataPanel']['left'] = "Spell/Heal Power" - E.db.datatexts.panels['LeftChatDataPanel']['middle'] = "Durability" - E.db.datatexts.panels['LeftChatDataPanel']['right'] = "Haste" - else - --E.db.datatexts.panels.DP_5.middle = "" - --E.db.datatexts.panels.DP_5.right = "" - --E.db.datatexts.panels.DP_6.left = "" - --E.db.datatexts.panels.DP_6.middle = "" - end - end - do - if GetScreenWidth() > 1920 then - E.db.movers.ElvAB_3 = "BOTTOMElvUIParentBOTTOM25427" - E.db.movers.ElvAB_5 = "BOTTOMElvUIParentBOTTOM-25427" - E.db.movers.Bottom_Panel_Mover = "BOTTOMElvUIParentBOTTOM2544" - E.db.movers.Top_Center_Mover = "BOTTOMElvUIParentBOTTOM-2544" - else - E.db.movers.ElvAB_3 = "BOTTOMElvUIParentBOTTOM26027" - E.db.movers.ElvAB_5 = "BOTTOMElvUIParentBOTTOM-26027" - E.db.movers.Bottom_Panel_Mover = "BOTTOMElvUIParentBOTTOM2604" - E.db.movers.Top_Center_Mover = "BOTTOMElvUIParentBOTTOM-2604" - end - E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-278200" - E.db.movers.ElvUF_PlayerCastbarMover = "BOTTOMElvUIParentBOTTOM0100" - E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM278200" - E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM0190" - E.db.movers.ElvUF_FocusMover = "BOTTOMElvUIParentBOTTOM310432" - E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM0230" - E.db.movers.ElvAB_1 = "BOTTOMElvUIParentBOTTOM060" - E.db.movers.ElvAB_2 = "BOTTOMElvUIParentBOTTOM027" - E.db.movers.DP_6_Mover = "BOTTOMElvUIParentBOTTOM04" - E.db.movers.LeftChatMover = "BOTTOMLEFTUIParentBOTTOMLEFT021" - E.db.movers.RightChatMover = "BOTTOMRIGHTUIParentBOTTOMRIGHT021" - E.db.movers.PetAB = "RIGHTElvUIParentRIGHT00" - if layout == 'dpsCaster' or layout == 'dpsMelee' or layout == 'tank' then - E.db.movers.ElvUF_PartyMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT4200" - E.db.movers.ElvUF_Raid10Mover = "BOTTOMLEFTElvUIParentBOTTOMLEFT4200" - E.db.movers.ElvUF_Raid25Mover = "BOTTOMLEFTElvUIParentBOTTOMLEFT4200" - E.db.movers.ElvUF_Raid40Mover = "BOTTOMLEFTElvUIParentBOTTOMLEFT4200" - E.db.movers["BossButton"] = "CENTERElvUIParentCENTER-413183" - else - E.db.movers.ElvUF_PartyMover = "BOTTOMRIGHTElvUIParentCENTER-213-90" - E.db.movers.ElvUF_Raid10Mover = "BOTTOMRIGHTElvUIParentCENTER-213-90" - E.db.movers.ElvUF_Raid25Mover = "BOTTOMRIGHTElvUIParentCENTER-213-90" - E.db.movers.ElvUF_Raid40Mover = "BOTTOMRIGHTElvUIParentCENTER-213-90" - E.db.movers["BossButton"] = "CENTERElvUIParentCENTER-413183" - end - - if GetScreenWidth() < 1920 then - E.db.movers.ElvAB_4 = "BOTTOMLEFTElvUIParentBOTTOMRIGHT-380200" - E.db.movers.ShiftAB = "BOTTOMLEFTElvUIParentBOTTOMLEFT38221" - E.db.movers.TotemBarMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT38221" - else - E.db.movers.ElvAB_4 = "BOTTOMLEFTElvUIParentBOTTOMRIGHT-413200" - E.db.movers.ShiftAB = "BOTTOMLEFTElvUIParentBOTTOMLEFT41421" - E.db.movers.TotemBarMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT41421" - end - end - - E:UpdateAll(true) -end -function E:HudSimple() - local H = E:GetModule('HUD') - InstallStepComplete.message = L["Simple Layout Set"] - InstallStepComplete:Show() - H:SimpleLayout() - H:UpdateAllFrames() -end - -function E:HudDefault() - local H = E:GetModule('HUD') - InstallStepComplete.message = L["Default Layout"] - InstallStepComplete:Show() - E:CopyTable(E.db.hud,P.hud) - H:UpdateAllFrames() -end - -local function InstallComplete() - E.private.install_complete = E.version - - if GetCVarBool("Sound_EnableMusic") then - StopMusic() - end - - ReloadUI() -end - -local function ResetAll() - InstallNextButton:Disable() - InstallPrevButton:Disable() - InstallOption1Button:Hide() - InstallOption1Button:SetScript("OnClick", nil) - InstallOption1Button:SetText("") - InstallOption2Button:Hide() - InstallOption2Button:SetScript('OnClick', nil) - InstallOption2Button:SetText('') - InstallOption3Button:Hide() - InstallOption3Button:SetScript('OnClick', nil) - InstallOption3Button:SetText('') - InstallOption4Button:Hide() - InstallOption4Button:SetScript('OnClick', nil) - InstallOption4Button:SetText('') - ElvUIInstallFrame.SubTitle:SetText("") - ElvUIInstallFrame.Desc1:SetText("") - ElvUIInstallFrame.Desc2:SetText("") - ElvUIInstallFrame.Desc3:SetText("") - ElvUIInstallFrame:Size(550, 400) -end - -local function SetPage(PageNum) - CURRENT_PAGE = PageNum - ResetAll() - InstallStatus:SetValue(PageNum) - - local f = ElvUIInstallFrame - - if PageNum == MAX_PAGE then - InstallNextButton:Disable() - else - InstallNextButton:Enable() - end - - if PageNum == 1 then - InstallPrevButton:Disable() - else - InstallPrevButton:Enable() - end - - if PageNum == 1 then - f.SubTitle:SetText(format(L["Welcome to ElvUI version %s!"], E.version)) - f.Desc1:SetText(L["This install process will help you learn some of the features in ElvUI has to offer and also prepare your user interface for usage."]) - f.Desc2:SetText(L["The in-game configuration menu can be accesses by typing the /ec command or by clicking the 'C' button on the minimap. Press the button below if you wish to skip the installation process."]) - f.Desc3:SetText(L["Please press the continue button to go onto the next step."]) - - InstallOption1Button:Show() - InstallOption1Button:SetScript("OnClick", InstallComplete) - InstallOption1Button:SetText(L["Skip Process"]) - elseif PageNum == 2 then - f.SubTitle:SetText(L["CVars"]) - f.Desc1:SetText(L["This part of the installation process sets up your World of Warcraft default options it is recommended you should do this step for everything to behave properly."]) - f.Desc2:SetText(L["Please click the button below to setup your CVars."]) - f.Desc3:SetText(L["Importance: |cff07D400High|r"]) - InstallOption1Button:Show() - InstallOption1Button:SetScript("OnClick", SetupCVars) - InstallOption1Button:SetText(L["Setup CVars"]) - elseif PageNum == 3 then - f.SubTitle:SetText(L["Chat"]) - f.Desc1:SetText(L["This part of the installation process sets up your chat windows names, positions and colors."]) - f.Desc2:SetText(L["The chat windows function the same as Blizzard standard chat windows, you can right click the tabs and drag them around, rename, etc. Please click the button below to setup your chat windows."]) - f.Desc3:SetText(L["Importance: |cffD3CF00Medium|r"]) - InstallOption1Button:Show() - InstallOption1Button:SetScript("OnClick", SetupChat) - InstallOption1Button:SetText(L["Setup Chat"]) - elseif PageNum == 4 then - f.SubTitle:SetText(L["Pixel Perfect"]) - f.Desc1:SetText(L['The Pixel Perfect option will change the overall apperance of your UI. Using Pixel Perfect is a slight performance increase over the traditional layout.']) - f.Desc2:SetText(L['Using this option will cause your borders around frames to be 1 pixel wide instead of 3 pixel. You may have to finish the installation to notice a differance. By default this is enabled.']) - f.Desc3:SetText(L["Importance: |cffFF0000Low|r"]) - - InstallOption1Button:Show() - InstallOption1Button:SetScript('OnClick', function() E:SetupPixelPerfect(true) end) - InstallOption1Button:SetText(L["Enable"]) - InstallOption2Button:Show() - InstallOption2Button:SetScript('OnClick', function() E:SetupPixelPerfect(false) end) - InstallOption2Button:SetText(L['Disable']) - elseif PageNum == 5 then - f.SubTitle:SetText(L['Theme Setup']) - f.Desc1:SetText(L['Choose a theme layout you wish to use for your initial setup.']) - f.Desc2:SetText(L['You can always change fonts and colors of any element of elvui from the in-game configuration.']) - f.Desc3:SetText(L["Importance: |cffFF0000Low|r"]) - - InstallOption1Button:Show() - InstallOption1Button:SetScript('OnClick', function() E:SetupTheme('classic') end) - InstallOption1Button:SetText(L["Classic"]) - InstallOption2Button:Show() - InstallOption2Button:SetScript('OnClick', function() E:SetupTheme('default') end) - InstallOption2Button:SetText(L['Dark']) - InstallOption3Button:Show() - InstallOption3Button:SetScript('OnClick', function() E:SetupTheme('class') end) - InstallOption3Button:SetText(CLASS) - elseif PageNum == 6 then - f.SubTitle:SetText(L["Resolution"]) - f.Desc1:SetText(format(L["Your current resolution is %s, this is considered a %s resolution."], E.resolution, E.lowversion == true and L["low"] or L["high"])) - if E.lowversion then - f.Desc2:SetText(L["This resolution requires that you change some settings to get everything to fit on your screen."].." "..L["Click the button below to resize your chat frames, unitframes, and reposition your actionbars."].." "..L["You may need to further alter these settings depending how low you resolution is."]) - f.Desc3:SetText(L["Importance: |cff07D400High|r"]) - else - f.Desc2:SetText(L["This resolution doesn't require that you change settings for the UI to fit on your screen."].." "..L["Click the button below to resize your chat frames, unitframes, and reposition your actionbars."].." "..L["This is completely optional."]) - f.Desc3:SetText(L["Importance: |cffFF0000Low|r"]) - end - - InstallOption1Button:Show() - InstallOption1Button:SetScript('OnClick', function() E.SetupResolution('high') end) - InstallOption1Button:SetText(L["High Resolution"]) - InstallOption2Button:Show() - InstallOption2Button:SetScript('OnClick', function() E.SetupResolution('low') end) - InstallOption2Button:SetText(L['Low Resolution']) - elseif PageNum == 7 then - f.SubTitle:SetText(L["Layout"]) - f.Desc1:SetText(L["You can now choose what layout you wish to use based on your combat role."]) - f.Desc2:SetText(L["This will change the layout of your unitframes, raidframes, and datatexts."]) - f.Desc3:SetText(L["Importance: |cffD3CF00Medium|r"]) - InstallOption1Button:Show() - InstallOption1Button:SetScript('OnClick', function() E.db.layoutSet = nil; E:SetupLayout('tank') end) - InstallOption1Button:SetText(L['Tank']) - InstallOption2Button:Show() - InstallOption2Button:SetScript('OnClick', function() E.db.layoutSet = nil; E:SetupLayout('healer') end) - InstallOption2Button:SetText(L['Healer']) - InstallOption3Button:Show() - InstallOption3Button:SetScript('OnClick', function() E.db.layoutSet = nil; E:SetupLayout('dpsMelee') end) - InstallOption3Button:SetText(L['Physical DPS']) - InstallOption4Button:Show() - InstallOption4Button:SetScript('OnClick', function() E.db.layoutSet = nil; E:SetupLayout('dpsCaster') end) - InstallOption4Button:SetText(L['Caster DPS']) - elseif PageNum == 8 then - f.SubTitle:SetText(L["Auras System"]) - f.Desc1:SetText(L["Select the type of aura system you want to use with ElvUI's unitframes. The integrated system utilizes both aura-bars and aura-icons. The icons only system will display only icons and aurabars won't be used. The classic system will configure your auras to how they were pre-v4."]) - f.Desc2:SetText(L["If you have an icon or aurabar that you don't want to display simply hold down shift and right click the icon for it to disapear."]) - f.Desc3:SetText(L["Importance: |cffD3CF00Medium|r"]) - InstallOption1Button:Show() - InstallOption1Button:SetScript('OnClick', function() SetupAuras('classic') end) - InstallOption1Button:SetText(L['Classic']) - InstallOption2Button:Show() - InstallOption2Button:SetScript('OnClick', function() SetupAuras() end) - InstallOption2Button:SetText(L['Icons Only']) - InstallOption3Button:Show() - InstallOption3Button:SetScript('OnClick', function() SetupAuras('integrated') end) - InstallOption3Button:SetText(L['Integrated']) - elseif PageNum == 9 then --The new page - f.SubTitle:SetText(L["Shadow & Light Settings"]) - f.Desc1:SetText(L["You can now choose if you what to use one of authors' set of options. This will change not only the positioning of some elements but also change a bunch of other options."]) - f.Desc2:SetText(L["SLE_Install_Text2"]) - f.Desc3:SetText(L["Importance: |cffFF0000Low|r"]) - - InstallOption1Button:Show() - InstallOption1Button:SetScript('OnClick', function() E:StaticPopup_Show("ELVUI_SLE_DARTH") end) - InstallOption1Button:SetText(L["Darth's Config"]) - - InstallOption2Button:Show() - InstallOption2Button:SetScript('OnClick', function() E:AffinitiiSetup() end) - InstallOption2Button:SetText(L["Affinitii's Config"]) - - InstallOption3Button:Show() - local pixel = E.PixelMode - if pixel then - InstallOption3Button:SetScript('OnClick', function() E:RepoocSetup() end) - else - InstallOption3Button:SetScript('OnClick', function() E:StaticPopup_Show("ELVUI_SLE_REPOOC") end) - end - InstallOption3Button:SetText(L["Repooc's Config"]) - elseif PageNum == 10 and IsAddOnLoaded("ElvUI_Hud") then --Hud's page if enabled - f.SubTitle:SetText("ElvUI Hud") - f.Desc1:SetText(L["Thank you for using ElvUI Hud!"]) - f.Desc2:SetText(L["Here you can choose between the simple layout (only player health and power) or the default layout for the hud"]) - f.Desc3:SetText(L["Importance: |cffFF0000Low|r"]) - - InstallOption1Button:Show() - InstallOption1Button:SetScript('OnClick', function() E:HudSimple() end) - InstallOption1Button:SetText(L["Simple Layout"]) - InstallOption2Button:Show() - InstallOption2Button:SetScript('OnClick', function() E:HudDefault() end) - InstallOption2Button:SetText(L["Default Layout"]) - elseif PageNum == 10 and not IsAddOnLoaded("ElvUI_Hud") then --Finish install if Hud disabled - f.SubTitle:SetText(L["Installation Complete"]) - f.Desc1:SetText(L["You are now finished with the installation process. If you are in need of technical support please visit us at http://www.tukui.org."]) - f.Desc2:SetText(L["Please click the button below so you can setup variables and ReloadUI."]) - InstallOption1Button:Show() - InstallOption1Button:SetScript("OnClick", InstallComplete) - InstallOption1Button:SetText(L["Finished"]) - ElvUIInstallFrame:Size(550, 350) - elseif PageNum == 11 then --Finish install if Hud enabled - f.SubTitle:SetText(L["Installation Complete"]) - f.Desc1:SetText(L["You are now finished with the installation process. If you are in need of technical support please visit us at http://www.tukui.org."]) - f.Desc2:SetText(L["Please click the button below so you can setup variables and ReloadUI."]) - InstallOption1Button:Show() - InstallOption1Button:SetScript("OnClick", InstallComplete) - InstallOption1Button:SetText(L["Finished"]) - ElvUIInstallFrame:Size(550, 350) - end -end - -local function NextPage() - if CURRENT_PAGE ~= MAX_PAGE then - CURRENT_PAGE = CURRENT_PAGE + 1 - SetPage(CURRENT_PAGE) - end -end - -local function PreviousPage() - if CURRENT_PAGE ~= 1 then - CURRENT_PAGE = CURRENT_PAGE - 1 - SetPage(CURRENT_PAGE) - end -end - ---Install UI -function E:Install() - --ElvUI don't have this? - MaxPages() - if not InstallStepComplete then - local imsg = CreateFrame("Frame", "InstallStepComplete", E.UIParent) - imsg:Size(418, 72) - imsg:Point("TOP", 0, -190) - imsg:Hide() - imsg:SetScript('OnShow', function(self) - if self.message then - PlaySoundFile([[Sound\Interface\LevelUp.wav]]) - self.text:SetText(self.message) - UIFrameFadeOut(self, 3.5, 1, 0) - E:Delay(4, function() self:Hide() end) - self.message = nil - - if imsg.firstShow == false then - if GetCVarBool("Sound_EnableMusic") then - PlayMusic([[Sound\Music\ZoneMusic\DMF_L70ETC01.mp3]]) - end - imsg.firstShow = true - end - else - self:Hide() - end - end) - - imsg.firstShow = false - - imsg.bg = imsg:CreateTexture(nil, 'BACKGROUND') - imsg.bg:SetTexture([[Interface\LevelUp\LevelUpTex]]) - imsg.bg:SetPoint('BOTTOM') - imsg.bg:Size(326, 103) - imsg.bg:SetTexCoord(0.00195313, 0.63867188, 0.03710938, 0.23828125) - imsg.bg:SetVertexColor(1, 1, 1, 0.6) - - imsg.lineTop = imsg:CreateTexture(nil, 'BACKGROUND') - imsg.lineTop:SetDrawLayer('BACKGROUND', 2) - imsg.lineTop:SetTexture([[Interface\LevelUp\LevelUpTex]]) - imsg.lineTop:SetPoint("TOP") - imsg.lineTop:Size(418, 7) - imsg.lineTop:SetTexCoord(0.00195313, 0.81835938, 0.01953125, 0.03320313) - - imsg.lineBottom = imsg:CreateTexture(nil, 'BACKGROUND') - imsg.lineBottom:SetDrawLayer('BACKGROUND', 2) - imsg.lineBottom:SetTexture([[Interface\LevelUp\LevelUpTex]]) - imsg.lineBottom:SetPoint("BOTTOM") - imsg.lineBottom:Size(418, 7) - imsg.lineBottom:SetTexCoord(0.00195313, 0.81835938, 0.01953125, 0.03320313) - - imsg.text = imsg:CreateFontString(nil, 'ARTWORK', 'GameFont_Gigantic') - imsg.text:Point("BOTTOM", 0, 12) - imsg.text:SetTextColor(1, 0.82, 0) - imsg.text:SetJustifyH("CENTER") - end - - --Create Frame - if not ElvUIInstallFrame then - local f = CreateFrame("Button", "ElvUIInstallFrame", E.UIParent) - f.SetPage = SetPage - f:Size(550, 400) - f:SetTemplate("Transparent") - f:SetPoint("CENTER") - f:SetFrameStrata('TOOLTIP') - - f.Title = f:CreateFontString(nil, 'OVERLAY') - f.Title:FontTemplate(nil, 17, nil) - f.Title:Point("TOP", 0, -5) - f.Title:SetText(L["ElvUI Installation"]) - - f.Next = CreateFrame("Button", "InstallNextButton", f, "UIPanelButtonTemplate") - f.Next:StripTextures() - f.Next:SetTemplate("Default", true) - f.Next:Size(110, 25) - f.Next:Point("BOTTOMRIGHT", -5, 5) - f.Next:SetText(CONTINUE) - f.Next:Disable() - f.Next:SetScript("OnClick", NextPage) - E.Skins:HandleButton(f.Next, true) - - f.Prev = CreateFrame("Button", "InstallPrevButton", f, "UIPanelButtonTemplate") - f.Prev:StripTextures() - f.Prev:SetTemplate("Default", true) - f.Prev:Size(110, 25) - f.Prev:Point("BOTTOMLEFT", 5, 5) - f.Prev:SetText(PREVIOUS) - f.Prev:Disable() - f.Prev:SetScript("OnClick", PreviousPage) - E.Skins:HandleButton(f.Prev, true) - - f.Status = CreateFrame("StatusBar", "InstallStatus", f) - f.Status:SetFrameLevel(f.Status:GetFrameLevel() + 2) - f.Status:CreateBackdrop("Default") - f.Status:SetStatusBarTexture(E["media"].normTex) - f.Status:SetStatusBarColor(unpack(E["media"].rgbvaluecolor)) - f.Status:SetMinMaxValues(0, MAX_PAGE) - f.Status:Point("TOPLEFT", f.Prev, "TOPRIGHT", 6, -2) - f.Status:Point("BOTTOMRIGHT", f.Next, "BOTTOMLEFT", -6, 2) - f.Status.text = f.Status:CreateFontString(nil, 'OVERLAY') - f.Status.text:FontTemplate() - f.Status.text:SetPoint("CENTER") - f.Status.text:SetText(CURRENT_PAGE.." / "..MAX_PAGE) - f.Status:SetScript("OnValueChanged", function(self) - self.text:SetText(self:GetValue().." / "..MAX_PAGE) - end) - - f.Option1 = CreateFrame("Button", "InstallOption1Button", f, "UIPanelButtonTemplate") - f.Option1:StripTextures() - f.Option1:Size(160, 30) - f.Option1:Point("BOTTOM", 0, 45) - f.Option1:SetText("") - f.Option1:Hide() - E.Skins:HandleButton(f.Option1, true) - - f.Option2 = CreateFrame("Button", "InstallOption2Button", f, "UIPanelButtonTemplate") - f.Option2:StripTextures() - f.Option2:Size(110, 30) - f.Option2:Point('BOTTOMLEFT', f, 'BOTTOM', 4, 45) - f.Option2:SetText("") - f.Option2:Hide() - f.Option2:SetScript('OnShow', function() f.Option1:SetWidth(110); f.Option1:ClearAllPoints(); f.Option1:Point('BOTTOMRIGHT', f, 'BOTTOM', -4, 45) end) - f.Option2:SetScript('OnHide', function() f.Option1:SetWidth(160); f.Option1:ClearAllPoints(); f.Option1:Point("BOTTOM", 0, 45) end) - E.Skins:HandleButton(f.Option2, true) - - f.Option3 = CreateFrame("Button", "InstallOption3Button", f, "UIPanelButtonTemplate") - f.Option3:StripTextures() - f.Option3:Size(100, 30) - f.Option3:Point('LEFT', f.Option2, 'RIGHT', 4, 0) - f.Option3:SetText("") - f.Option3:Hide() - f.Option3:SetScript('OnShow', function() f.Option1:SetWidth(100); f.Option1:ClearAllPoints(); f.Option1:Point('RIGHT', f.Option2, 'LEFT', -4, 0); f.Option2:SetWidth(100); f.Option2:ClearAllPoints(); f.Option2:Point('BOTTOM', f, 'BOTTOM', 0, 45) end) - f.Option3:SetScript('OnHide', function() f.Option1:SetWidth(160); f.Option1:ClearAllPoints(); f.Option1:Point("BOTTOM", 0, 45); f.Option2:SetWidth(110); f.Option2:ClearAllPoints(); f.Option2:Point('BOTTOMLEFT', f, 'BOTTOM', 4, 45) end) - E.Skins:HandleButton(f.Option3, true) - - f.Option4 = CreateFrame("Button", "InstallOption4Button", f, "UIPanelButtonTemplate") - f.Option4:StripTextures() - f.Option4:Size(100, 30) - f.Option4:Point('LEFT', f.Option3, 'RIGHT', 4, 0) - f.Option4:SetText("") - f.Option4:Hide() - f.Option4:SetScript('OnShow', function() - f.Option1:Width(100) - f.Option2:Width(100) - - f.Option1:ClearAllPoints(); - f.Option1:Point('RIGHT', f.Option2, 'LEFT', -4, 0); - f.Option2:ClearAllPoints(); - f.Option2:Point('BOTTOMRIGHT', f, 'BOTTOM', -4, 45) - end) - f.Option4:SetScript('OnHide', function() f.Option1:SetWidth(160); f.Option1:ClearAllPoints(); f.Option1:Point("BOTTOM", 0, 45); f.Option2:SetWidth(110); f.Option2:ClearAllPoints(); f.Option2:Point('BOTTOMLEFT', f, 'BOTTOM', 4, 45) end) - E.Skins:HandleButton(f.Option4, true) - - f.SubTitle = f:CreateFontString(nil, 'OVERLAY') - f.SubTitle:FontTemplate(nil, 15, nil) - f.SubTitle:Point("TOP", 0, -40) - - f.Desc1 = f:CreateFontString(nil, 'OVERLAY') - f.Desc1:FontTemplate() - f.Desc1:Point("TOPLEFT", 20, -75) - f.Desc1:Width(f:GetWidth() - 40) - - f.Desc2 = f:CreateFontString(nil, 'OVERLAY') - f.Desc2:FontTemplate() - f.Desc2:Point("TOPLEFT", 20, -125) - f.Desc2:Width(f:GetWidth() - 40) - - f.Desc3 = f:CreateFontString(nil, 'OVERLAY') - f.Desc3:FontTemplate() - f.Desc3:Point("TOPLEFT", 20, -175) - f.Desc3:Width(f:GetWidth() - 40) - - local close = CreateFrame("Button", "InstallCloseButton", f, "UIPanelCloseButton") - close:SetPoint("TOPRIGHT", f, "TOPRIGHT") - close:SetScript("OnClick", function() - f:Hide() - end) - E.Skins:HandleCloseButton(close) - - f.tutorialImage = f:CreateTexture('InstallTutorialImage', 'OVERLAY') - f.tutorialImage:Size(256, 128) - f.tutorialImage:SetTexture('Interface\\AddOns\\ElvUI_SLE\\media\\textures\\logo_elvui_sle.tga') - f.tutorialImage:Point('BOTTOM', 0, 70) - - end - - ElvUIInstallFrame:Show() - NextPage() -end \ No newline at end of file diff --git a/ElvUI_SLE/modules/install/BigWigs.lua b/ElvUI_SLE/modules/install/BigWigs.lua new file mode 100644 index 0000000..bdf7b67 --- /dev/null +++ b/ElvUI_SLE/modules/install/BigWigs.lua @@ -0,0 +1,35 @@ +local E, L, V, P, G, _ = unpack(ElvUI); +local AI = E:GetModule('AddonInstaller') + +local ace3 = true -- whether or not this database is a Ace3 profile +local name = 'BigWigs' -- the name of the addon +local dbname = 'BigWigs3DB' -- name of the addon database + +local function OnDemand(profile) -- function that creates the "load on demand" database + local database + if profile == "Affinitii" then + database = { + ["showBlizzardWarnings"] = true, + ["showBossmodChat"] = true, + ["seenmovies"] = { + [73] = true, + [74] = true, + [75] = true, + [76] = true, + }, + } + end + + if profile == "Repooc" then + -- No Settings + end + + if profile == "Darth" then + -- No Settings + end + + return database +end + +-- register the profile with the engine +AI:RegisterAddonProfile(name, ace3, dbname, OnDemand) \ No newline at end of file diff --git a/ElvUI_SLE/modules/install/BigWigsFights.lua b/ElvUI_SLE/modules/install/BigWigsFights.lua new file mode 100644 index 0000000..a0bb3f7 --- /dev/null +++ b/ElvUI_SLE/modules/install/BigWigsFights.lua @@ -0,0 +1,91 @@ +local E, L, V, P, G, _ = unpack(ElvUI); +local AI = E:GetModule('AddonInstaller') + +local ace3 = false -- whether or not this database is a Ace3 profile +local name = 'BigWigs' -- the name of the addon +local dbname = 'BigWigs3DB' -- name of the addon database + +local function OnDemand(profile) -- function that creates the "load on demand" database + local database + if profile == "Affinitii" then + database = { + ["namespaces"] = { + ["BigWigs_Bosses_Madness of Deathwing"] = { + ["profiles"] = { + ["Shadow and Light (Affinitii)"] = { + ["Elementium Bolt"] = 643, + }, + }, + }, + ["BigWigs_Plugins_Proximity"] = { + ["profiles"] = { + ["Shadow and Light (Affinitii)"] = { + ["fontSize"] = 20.00000079528718, + ["posy"] = 265.5998002156482, + ["lock"] = true, + ["posx"] = 244.6221205041632, + ["sound"] = false, + ["font"] = "ElvUI Font", + }, + }, + }, + ["BigWigs_Plugins_Sounds"] = { + ["profiles"] = { + ["Shadow and Light (Affinitii)"] = { + ["Long"] = { + }, + ["Info"] = { + }, + ["Alarm"] = { + }, + ["Alert"] = { + }, + }, + }, + }, + ["BigWigs_Plugins_Messages"] = { + ["profiles"] = { + ["Shadow and Light (Affinitii)"] = { + ["fontSize"] = 20.00000079528718, + ["monochrome"] = false, + ["font"] = "ElvUI Font", + ["BWEmphasizeMessageAnchor_y"] = 465.0667085654549, + ["BWMessageAnchor_y"] = 440.8888495721501, + ["BWEmphasizeMessageAnchor_x"] = 610.8445805698311, + ["BWMessageAnchor_x"] = 610.8445307717618, + }, + }, + }, + ["BigWigs_Plugins_Bars"] = { + ["profiles"] = { + ["Shadow and Light (Affinitii)"] = { + ["BigWigsEmphasizeAnchor_y"] = 303.2888646270365, + ["BigWigsAnchor_y"] = 116.8001243424387, + ["emphasizeGrowup"] = false, + ["BigWigsAnchor_x"] = 19.73342363118923, + ["fill"] = false, + ["BigWigsAnchor_width"] = 381.8331333576473, + ["BigWigsEmphasizeAnchor_width"] = 216.1665623191371, + ["BigWigsEmphasizeAnchor_x"] = 272.8889300172694, + ["font"] = "ElvUI Font", + ["emphasizeScale"] = 1, + }, + }, + }, + }, + } + end + + if profile == "Repooc" then + -- No Settings + end + + if profile == "Darth" then + -- No Settings + end + + return database +end + +-- register the profile with the engine +AI:RegisterAddonProfile(name, ace3, dbname, OnDemand) \ No newline at end of file diff --git a/ElvUI_SLE/modules/install/BigWigsIcon.lua b/ElvUI_SLE/modules/install/BigWigsIcon.lua new file mode 100644 index 0000000..be3a2e8 --- /dev/null +++ b/ElvUI_SLE/modules/install/BigWigsIcon.lua @@ -0,0 +1,29 @@ +local E, L, V, P, G, _ = unpack(ElvUI); +local AI = E:GetModule('AddonInstaller') + +local ace3 = false -- whether or not this database is a Ace3 profile +local name = 'BigWigs' -- the name of the addon +local dbname = 'BigWigs3IconDB' -- name of the addon database + +local function OnDemand(profile) -- function that creates the "load on demand" database + local database + if profile == "Affinitii" then + database = { + ["minimapPos"] = 158.126507574158, + ["hide"] = true, + } + end + + if profile == "Repooc" then + -- No Settings + end + + if profile == "Darth" then + -- No Settings + end + + return database +end + +-- register the profile with the engine +AI:RegisterAddonProfile(name, ace3, dbname, OnDemand) \ No newline at end of file diff --git a/ElvUI_SLE/modules/install/Hermes.lua b/ElvUI_SLE/modules/install/Hermes.lua new file mode 100644 index 0000000..d1c3658 --- /dev/null +++ b/ElvUI_SLE/modules/install/Hermes.lua @@ -0,0 +1,1046 @@ +local E, L, V, P, G, _ = unpack(ElvUI); +local AI = E:GetModule('AddonInstaller') + +local ace3 = true -- whether or not this database is a Ace3 profile +local name = 'Hermes' -- the name of the addon +local dbname = 'HermesDB2' -- name of the addon database + +local function OnDemand(profile) -- function that creates the "load on demand" database + local database + if profile == "Affinitii" then + database = { + ["configMode"] = false, + ["pluginState"] = { + ["UI"] = true, + }, + ["spells"] = { + { + ["enabled"] = false, + ["name"] = "Ancestral Guidance", + ["id"] = 108281, + ["class"] = "SHAMAN", + ["icon"] = "Interface\\Icons\\ability_shaman_ancestralguidance", + }, -- [1] + { + ["enabled"] = false, + ["name"] = "Anti-Magic Shell", + ["id"] = 48707, + ["class"] = "DEATHKNIGHT", + ["icon"] = "Interface\\Icons\\Spell_Shadow_AntiMagicShell", + }, -- [2] + { + ["enabled"] = false, + ["name"] = "Anti-Magic Zone", + ["id"] = 51052, + ["class"] = "DEATHKNIGHT", + ["icon"] = "Interface\\Icons\\Spell_DeathKnight_AntiMagicZone", + }, -- [3] + { + ["enabled"] = false, + ["name"] = "Ardent Defender", + ["id"] = 31850, + ["class"] = "PALADIN", + ["icon"] = "Interface\\Icons\\Spell_Holy_ArdentDefender", + }, -- [4] + { + ["enabled"] = false, + ["name"] = "Army of the Dead", + ["id"] = 42650, + ["class"] = "DEATHKNIGHT", + ["icon"] = "Interface\\Icons\\Spell_DeathKnight_ArmyOfTheDead", + }, -- [5] + { + ["enabled"] = false, + ["name"] = "Barkskin", + ["id"] = 22812, + ["class"] = "DRUID", + ["icon"] = "Interface\\Icons\\Spell_Nature_StoneClawTotem", + }, -- [6] + { + ["enabled"] = false, + ["name"] = "Blind", + ["id"] = 2094, + ["class"] = "ROGUE", + ["icon"] = "Interface\\Icons\\Spell_Shadow_MindSteal", + }, -- [7] + { + ["enabled"] = false, + ["name"] = "Bloodlust", + ["id"] = 2825, + ["class"] = "SHAMAN", + ["icon"] = "Interface\\Icons\\Spell_Nature_BloodLust", + }, -- [8] + { + ["enabled"] = false, + ["name"] = "Bone Shield", + ["id"] = 49222, + ["class"] = "DEATHKNIGHT", + ["icon"] = "INTERFACE\\ICONS\\ability_deathknight_boneshield", + }, -- [9] + { + ["enabled"] = false, + ["name"] = "Cenarion Ward", + ["id"] = 102351, + ["class"] = "DRUID", + ["icon"] = "Interface\\Icons\\Ability_Druid_NaturalPerfection", + }, -- [10] + { + ["enabled"] = false, + ["name"] = "Cloak of Shadows", + ["id"] = 31224, + ["class"] = "ROGUE", + ["icon"] = "Interface\\Icons\\Spell_Shadow_NetherCloak", + }, -- [11] + { + ["enabled"] = false, + ["name"] = "Counterspell", + ["id"] = 2139, + ["class"] = "MAGE", + ["icon"] = "Interface\\Icons\\Spell_Frost_IceShock", + }, -- [12] + { + ["enabled"] = false, + ["name"] = "Create Soulwell", + ["id"] = 29893, + ["class"] = "WARLOCK", + ["icon"] = "Interface\\Icons\\Spell_Shadow_Shadesofdarkness", + }, -- [13] + { + ["enabled"] = false, + ["name"] = "Dancing Rune Weapon", + ["id"] = 49028, + ["class"] = "DEATHKNIGHT", + ["icon"] = "Interface\\Icons\\INV_Sword_07", + }, -- [14] + { + ["enabled"] = false, + ["name"] = "Death Grip", + ["id"] = 49576, + ["class"] = "DEATHKNIGHT", + ["icon"] = "Interface\\Icons\\Spell_DeathKnight_Strangulate", + }, -- [15] + { + ["enabled"] = false, + ["name"] = "Death Pact", + ["id"] = 48743, + ["class"] = "DEATHKNIGHT", + ["icon"] = "Interface\\Icons\\Spell_Shadow_DeathPact", + }, -- [16] + { + ["enabled"] = false, + ["name"] = "Demoralizing Banner", + ["id"] = 114203, + ["class"] = "WARRIOR", + ["icon"] = "Interface\\Icons\\demoralizing_banner", + }, -- [17] + { + ["enabled"] = true, + ["name"] = "Devotion Aura", + ["id"] = 31821, + ["class"] = "PALADIN", + ["icon"] = "Interface\\Icons\\Spell_Holy_AuraMastery", + }, -- [18] + { + ["enabled"] = false, + ["name"] = "Disrupting Shout", + ["id"] = 102060, + ["class"] = "WARRIOR", + ["icon"] = "Interface\\Icons\\warrior_disruptingshout", + }, -- [19] + { + ["enabled"] = true, + ["name"] = "Divine Hymn", + ["id"] = 64843, + ["class"] = "PRIEST", + ["icon"] = "Interface\\Icons\\Spell_Holy_DivineHymn", + }, -- [20] + { + ["enabled"] = false, + ["name"] = "Divine Protection", + ["id"] = 498, + ["class"] = "PALADIN", + ["icon"] = "Interface\\Icons\\spell_holy_divineprotection", + }, -- [21] + { + ["enabled"] = false, + ["name"] = "Divine Shield", + ["id"] = 642, + ["class"] = "PALADIN", + ["icon"] = "Interface\\Icons\\spell_holy_divineshield", + }, -- [22] + { + ["enabled"] = false, + ["name"] = "Every Man for Himself", + ["id"] = 59752, + ["class"] = "ANY", + ["icon"] = "Interface\\Icons\\Spell_Shadow_Charm", + }, -- [23] + { + ["enabled"] = false, + ["name"] = "Fist of Justice", + ["id"] = 105593, + ["class"] = "PALADIN", + ["icon"] = "Interface\\Icons\\Spell_Holy_FistOfJustice", + }, -- [24] + { + ["enabled"] = false, + ["name"] = "Frenzied Regeneration", + ["id"] = 22842, + ["class"] = "DRUID", + ["icon"] = "Interface\\Icons\\Ability_BullRush", + }, -- [25] + { + ["enabled"] = false, + ["name"] = "Guardian Spirit", + ["id"] = 47788, + ["class"] = "PRIEST", + ["icon"] = "Interface\\Icons\\Spell_Holy_GuardianSpirit", + }, -- [26] + { + ["enabled"] = false, + ["name"] = "Guardian of Ancient Kings", + ["id"] = 86659, + ["class"] = "PALADIN", + ["icon"] = "Interface\\Icons\\Spell_Holy_Heroism", + }, -- [27] + { + ["enabled"] = false, + ["name"] = "Hammer of Justice", + ["id"] = 853, + ["class"] = "PALADIN", + ["icon"] = "Interface\\Icons\\Spell_Holy_SealOfMight", + }, -- [28] + { + ["enabled"] = false, + ["name"] = "Hand of Freedom", + ["id"] = 1044, + ["class"] = "PALADIN", + ["icon"] = "Interface\\Icons\\Spell_Holy_SealOfValor", + }, -- [29] + { + ["enabled"] = false, + ["name"] = "Hand of Protection", + ["id"] = 1022, + ["class"] = "PALADIN", + ["icon"] = "Interface\\Icons\\Spell_Holy_SealOfProtection", + }, -- [30] + { + ["enabled"] = false, + ["name"] = "Hand of Purity", + ["id"] = 114039, + ["class"] = "PALADIN", + ["icon"] = "Interface\\Icons\\Spell_Holy_SealOfWisdom", + }, -- [31] + { + ["enabled"] = false, + ["name"] = "Hand of Sacrifice", + ["id"] = 6940, + ["class"] = "PALADIN", + ["icon"] = "Interface\\Icons\\Spell_Holy_SealOfSacrifice", + }, -- [32] + { + ["enabled"] = false, + ["name"] = "Hand of Salvation", + ["id"] = 1038, + ["class"] = "PALADIN", + ["icon"] = "Interface\\Icons\\Spell_Holy_SealOfSalvation", + }, -- [33] + { + ["enabled"] = false, + ["name"] = "Healing Stream Totem", + ["id"] = 5394, + ["class"] = "SHAMAN", + ["icon"] = "Interface\\Icons\\INV_Spear_04", + }, -- [34] + { + ["enabled"] = false, + ["name"] = "Healing Tide Totem", + ["id"] = 108280, + ["class"] = "SHAMAN", + ["icon"] = "Interface\\Icons\\ability_shaman_healingtide", + }, -- [35] + { + ["enabled"] = true, + ["name"] = "Hymn of Hope", + ["id"] = 64901, + ["class"] = "PRIEST", + ["icon"] = "Interface\\Icons\\Spell_Holy_SymbolOfHope", + }, -- [36] + { + ["enabled"] = false, + ["name"] = "Ice Block", + ["id"] = 45438, + ["class"] = "MAGE", + ["icon"] = "Interface\\Icons\\Spell_Frost_Frost", + }, -- [37] + { + ["enabled"] = false, + ["name"] = "Icebound Fortitude", + ["id"] = 48792, + ["class"] = "DEATHKNIGHT", + ["icon"] = "Interface\\Icons\\Spell_DeathKnight_IceBoundFortitude", + }, -- [38] + { + ["enabled"] = false, + ["name"] = "Incarnation: Tree of Life", + ["id"] = 33891, + ["class"] = "DRUID", + ["icon"] = "Interface\\Icons\\Ability_Druid_ImprovedTreeForm", + }, -- [39] + { + ["enabled"] = false, + ["name"] = "Innervate", + ["id"] = 29166, + ["class"] = "DRUID", + ["icon"] = "Interface\\Icons\\Spell_Nature_Lightning", + }, -- [40] + { + ["enabled"] = false, + ["name"] = "Ironbark", + ["id"] = 102342, + ["class"] = "DRUID", + ["icon"] = "Interface\\Icons\\spell_druid_ironbark", + }, -- [41] + { + ["enabled"] = false, + ["name"] = "Kick", + ["id"] = 1766, + ["class"] = "ROGUE", + ["icon"] = "Interface\\Icons\\Ability_Kick", + }, -- [42] + { + ["enabled"] = false, + ["name"] = "Last Stand", + ["id"] = 12975, + ["class"] = "WARRIOR", + ["icon"] = "Interface\\Icons\\Spell_Holy_AshesToAshes", + }, -- [43] + { + ["enabled"] = false, + ["name"] = "Lay on Hands", + ["id"] = 633, + ["class"] = "PALADIN", + ["icon"] = "Interface\\Icons\\Spell_Holy_LayOnHands", + }, -- [44] + { + ["enabled"] = false, + ["name"] = "Leap of Faith", + ["id"] = 73325, + ["class"] = "PRIEST", + ["icon"] = "INTERFACE\\ICONS\\priest_spell_leapoffaith_a", + }, -- [45] + { + ["enabled"] = false, + ["name"] = "Lichborne", + ["id"] = 49039, + ["class"] = "DEATHKNIGHT", + ["icon"] = "Interface\\Icons\\Spell_Shadow_RaiseDead", + }, -- [46] + { + ["enabled"] = false, + ["name"] = "Life Cocoon", + ["id"] = 116849, + ["class"] = "MONK", + ["icon"] = "Interface\\Icons\\ability_monk_chicocoon", + }, -- [47] + { + ["enabled"] = true, + ["name"] = "Mana Tide Totem", + ["id"] = 16190, + ["class"] = "SHAMAN", + ["icon"] = "Interface\\Icons\\Spell_Frost_SummonWaterElemental", + }, -- [48] + { + ["enabled"] = false, + ["name"] = "Mass Spell Reflection", + ["id"] = 114028, + ["class"] = "WARRIOR", + ["icon"] = "Interface\\Icons\\Ability_Warrior_ShieldBreak", + }, -- [49] + { + ["enabled"] = false, + ["name"] = "Mighty Bash", + ["id"] = 5211, + ["class"] = "DRUID", + ["icon"] = "Interface\\Icons\\Ability_Druid_Bash", + }, -- [50] + { + ["enabled"] = false, + ["name"] = "Mind Freeze", + ["id"] = 47528, + ["class"] = "DEATHKNIGHT", + ["icon"] = "Interface\\Icons\\Spell_DeathKnight_MindFreeze", + }, -- [51] + { + ["enabled"] = false, + ["name"] = "Misdirection", + ["id"] = 34477, + ["class"] = "HUNTER", + ["icon"] = "Interface\\Icons\\Ability_Hunter_Misdirection", + }, -- [52] + { + ["enabled"] = false, + ["name"] = "Nature's Vigil", + ["id"] = 124974, + ["class"] = "DRUID", + ["icon"] = "Interface\\Icons\\Achievement_Zone_Feralas", + }, -- [53] + { + ["enabled"] = false, + ["name"] = "Pain Suppression", + ["id"] = 33206, + ["class"] = "PRIEST", + ["icon"] = "Interface\\Icons\\Spell_Holy_PainSupression", + }, -- [54] + { + ["enabled"] = true, + ["name"] = "Power Word: Barrier", + ["id"] = 62618, + ["class"] = "PRIEST", + ["icon"] = "Interface\\Icons\\spell_holy_powerwordbarrier", + }, -- [55] + { + ["enabled"] = false, + ["name"] = "Pummel", + ["id"] = 6552, + ["class"] = "WARRIOR", + ["icon"] = "Interface\\Icons\\INV_Gauntlets_04", + }, -- [56] + { + ["enabled"] = true, + ["name"] = "Raise Ally", + ["id"] = 61999, + ["class"] = "DEATHKNIGHT", + ["icon"] = "Interface\\Icons\\Spell_Shadow_DeadofNight", + }, -- [57] + { + ["enabled"] = false, + ["name"] = "Raise Dead", + ["id"] = 46584, + ["class"] = "DEATHKNIGHT", + ["icon"] = "Interface\\Icons\\Spell_Shadow_AnimateDead", + }, -- [58] + { + ["enabled"] = true, + ["name"] = "Rallying Cry", + ["id"] = 97462, + ["class"] = "WARRIOR", + ["icon"] = "INTERFACE\\ICONS\\ability_toughness", + }, -- [59] + { + ["enabled"] = true, + ["name"] = "Rebirth", + ["id"] = 20484, + ["class"] = "DRUID", + ["icon"] = "Interface\\Icons\\Spell_Nature_Reincarnation", + }, -- [60] + { + ["enabled"] = false, + ["name"] = "Rebuke", + ["id"] = 96231, + ["class"] = "PALADIN", + ["icon"] = "Interface\\Icons\\spell_holy_rebuke", + }, -- [61] + { + ["enabled"] = false, + ["name"] = "Reincarnation", + ["id"] = 20608, + ["class"] = "SHAMAN", + ["icon"] = "INTERFACE\\ICONS\\spell_shaman_improvedreincarnation", + }, -- [62] + { + ["enabled"] = false, + ["name"] = "Repentance", + ["id"] = 20066, + ["class"] = "PALADIN", + ["icon"] = "Interface\\Icons\\Spell_Holy_PrayerOfHealing", + }, -- [63] + { + ["enabled"] = true, + ["name"] = "Revival", + ["id"] = 115310, + ["class"] = "MONK", + ["icon"] = "Interface\\Icons\\Spell_Shaman_BlessingOfEternals", + }, -- [64] + { + ["enabled"] = false, + ["name"] = "Ritual of Summoning", + ["id"] = 698, + ["class"] = "WARLOCK", + ["icon"] = "Interface\\Icons\\Spell_Shadow_Twilight", + }, -- [65] + { + ["enabled"] = false, + ["name"] = "Shattering Throw", + ["id"] = 64382, + ["class"] = "WARRIOR", + ["icon"] = "Interface\\Icons\\Ability_Warrior_ShatteringThrow", + }, -- [66] + { + ["enabled"] = false, + ["name"] = "Shield Wall", + ["id"] = 871, + ["class"] = "WARRIOR", + ["icon"] = "Interface\\Icons\\Ability_Warrior_ShieldWall", + }, -- [67] + { + ["enabled"] = false, + ["name"] = "Shroud of Concealment", + ["id"] = 114018, + ["class"] = "ROGUE", + ["icon"] = "Interface\\Icons\\ability_rogue_shroudofconcealment", + }, -- [68] + { + ["enabled"] = false, + ["name"] = "Skull Banner", + ["id"] = 114207, + ["class"] = "WARRIOR", + ["icon"] = "Interface\\Icons\\warrior_skullbanner", + }, -- [69] + { + ["enabled"] = true, + ["name"] = "Soulstone", + ["id"] = 20707, + ["class"] = "WARLOCK", + ["icon"] = "Interface\\Icons\\Spell_Shadow_SoulGem", + }, -- [70] + { + ["enabled"] = true, + ["name"] = "Spirit Link Totem", + ["id"] = 98008, + ["class"] = "SHAMAN", + ["icon"] = "Interface\\Icons\\Spell_Shaman_SpiritLink", + }, -- [71] + { + ["enabled"] = false, + ["name"] = "Spirit Shell", + ["id"] = 109964, + ["class"] = "PRIEST", + ["icon"] = "Interface\\Icons\\ability_shaman_astralshift", + }, -- [72] + { + ["enabled"] = false, + ["name"] = "Stoneform", + ["id"] = 20594, + ["class"] = "ANY", + ["icon"] = "Interface\\Icons\\Spell_Shadow_UnholyStrength", + }, -- [73] + { + ["enabled"] = false, + ["name"] = "Strangulate", + ["id"] = 47476, + ["class"] = "DEATHKNIGHT", + ["icon"] = "Interface\\Icons\\Spell_Shadow_SoulLeech_3", + }, -- [74] + { + ["enabled"] = false, + ["name"] = "Summon Water Elemental", + ["id"] = 31687, + ["class"] = "MAGE", + ["icon"] = "Interface\\Icons\\Spell_Frost_SummonWaterElemental_2", + }, -- [75] + { + ["enabled"] = false, + ["name"] = "Survival Instincts", + ["id"] = 61336, + ["class"] = "DRUID", + ["icon"] = "Interface\\Icons\\Ability_Druid_TigersRoar", + }, -- [76] + { + ["enabled"] = false, + ["name"] = "Time Warp", + ["id"] = 80353, + ["class"] = "MAGE", + ["icon"] = "INTERFACE\\ICONS\\ability_mage_timewarp", + }, -- [77] + { + ["enabled"] = true, + ["name"] = "Tranquility", + ["id"] = 113277, + ["class"] = "PRIEST", + ["icon"] = "Interface\\Icons\\Spell_Nature_Tranquility", + }, -- [78] + { + ["enabled"] = true, + ["name"] = "Tranquility", + ["id"] = 740, + ["class"] = "DRUID", + ["icon"] = "Interface\\Icons\\Spell_Nature_Tranquility", + }, -- [79] + { + ["enabled"] = false, + ["name"] = "Tricks of the Trade", + ["id"] = 57934, + ["class"] = "ROGUE", + ["icon"] = "Interface\\Icons\\Ability_Rogue_TricksOftheTrade", + }, -- [80] + { + ["enabled"] = false, + ["name"] = "Vampiric Blood", + ["id"] = 55233, + ["class"] = "DEATHKNIGHT", + ["icon"] = "Interface\\Icons\\Spell_Shadow_LifeDrain", + }, -- [81] + { + ["enabled"] = false, + ["name"] = "Vampiric Embrace", + ["id"] = 15286, + ["class"] = "PRIEST", + ["icon"] = "Interface\\Icons\\Spell_Shadow_UnsummonBuilding", + }, -- [82] + { + ["enabled"] = false, + ["name"] = "Void Shift", + ["id"] = 108968, + ["class"] = "PRIEST", + ["icon"] = "Interface\\Icons\\spell_priest_voidshift", + }, -- [83] + { + ["enabled"] = false, + ["name"] = "Void Tendrils", + ["id"] = 108920, + ["class"] = "PRIEST", + ["icon"] = "Interface\\Icons\\spell_priest_voidtendrils", + }, -- [84] + { + ["enabled"] = false, + ["name"] = "Wind Shear", + ["id"] = 57994, + ["class"] = "SHAMAN", + ["icon"] = "Interface\\Icons\\Spell_Nature_Cyclone", + }, -- [85] + { + ["enabled"] = false, + ["name"] = "Zen Meditation", + ["id"] = 115176, + ["class"] = "MONK", + ["icon"] = "Interface\\Icons\\ability_monk_zenmeditation", + }, -- [86] + }, + ["items"] = { + { + ["enabled"] = false, + ["name"] = "Mirror of Broken Images", + ["id"] = -62466, + ["class"] = "ANY", + ["icon"] = "Interface\\Icons\\INV_Misc_Platnumdisks", + }, -- [1] + }, + ["welcome"] = true, + ["plugins"] = { + ["Hermes-UI"] = { + ["views"] = { + { + ["module"] = "GridButtons", + ["filterrange"] = false, + ["filter10man"] = true, + ["filterself"] = false, + ["enabled"] = true, + ["profiles"] = { + ["GridBars"] = { + ["barShowTime"] = true, + ["npCCFont"] = true, + ["barShowPlayerName"] = true, + ["h"] = 838.6666870117188, + ["hideNoAvailSender"] = false, + ["barColorC"] = { + ["a"] = 0.74, + ["r"] = 0.55, + ["g"] = 0.55, + ["b"] = 0.55, + }, + ["locked"] = false, + ["barFont"] = "Friz Quadrata TT", + ["barBGColorU"] = { + ["a"] = 0.16, + ["r"] = 0, + ["g"] = 0, + ["b"] = 0, + }, + ["hideNoSender"] = true, + ["barTexture"] = "Blizzard", + ["osCooldownStyle"] = "empty", + ["barColorU"] = { + ["a"] = 0.23, + ["r"] = 0, + ["g"] = 0, + ["b"] = 0, + }, + ["y"] = 1175.333374023438, + ["x"] = 7.833518028259277, + ["barPadding"] = 1, + ["scale"] = 1, + ["npTexture"] = "Blizzard", + ["barCooldownDirection"] = "right", + ["barThickFont"] = false, + ["barBGCCU"] = false, + ["barColorCFont"] = { + ["a"] = 1, + ["r"] = 1, + ["g"] = 1, + ["b"] = 1, + }, + ["barCCAFont"] = false, + ["barTextRatio"] = 65, + ["cellAnchor"] = "TOPLEFT", + ["padding"] = 0, + ["barW"] = 150, + ["barIcon"] = "left", + ["npShowLabel"] = true, + ["barCCA"] = true, + ["barIconMerged"] = "left", + ["osFGColor"] = { + ["a"] = 1, + ["r"] = 0, + ["g"] = 1, + ["b"] = 0, + }, + ["barColorUFont"] = { + ["a"] = 0.3, + ["r"] = 1, + ["g"] = 1, + ["b"] = 1, + }, + ["barCooldownStyle"] = "empty", + ["barBGColorC"] = { + ["a"] = 0.16, + ["r"] = 0, + ["g"] = 0, + ["b"] = 0, + }, + ["osCooldownDirection"] = "right", + ["npThickFont"] = false, + ["barColorA"] = { + ["a"] = 1, + ["r"] = 0.94, + ["g"] = 0.94, + ["b"] = 0.94, + }, + ["npFontColor"] = { + ["a"] = 0.76, + ["r"] = 0.92, + ["g"] = 0.92, + ["b"] = 0.92, + }, + ["barCCU"] = false, + ["barCCC"] = true, + ["npUseNameplate"] = true, + ["barCCCFont"] = true, + ["cellSide"] = false, + ["npFont"] = "Friz Quadrata TT", + ["w"] = 158.6666564941406, + ["barTextSide"] = "left", + ["barCCUFont"] = false, + ["npOutlineFont"] = true, + ["osEnabled"] = false, + ["cellDir"] = false, + ["barShowSpellName"] = false, + ["barFontSize"] = 12, + ["barH"] = 14, + ["enableTooltip"] = true, + ["barGap"] = 2, + ["npCCBar"] = false, + ["npW"] = 120, + ["merged"] = false, + ["npUseIcon"] = true, + ["barColorAFont"] = { + ["a"] = 1, + ["r"] = 0.94, + ["g"] = 0.94, + ["b"] = 0.94, + }, + ["barBGCCC"] = true, + ["npIcon"] = "right", + ["cellMax"] = 3, + ["npFontSize"] = 12, + ["npTexColor"] = { + ["a"] = 0.5, + ["r"] = 0, + ["g"] = 0, + ["b"] = 0, + }, + ["npH"] = 15, + ["cellBGColor"] = { + ["a"] = 0, + ["r"] = 0, + ["g"] = 0, + ["b"] = 0, + }, + ["npTextSide"] = "right", + ["barOutlineFont"] = true, + }, + ["GridButtons"] = { + ["scale"] = 1, + ["hideNoSender"] = true, + ["merged"] = false, + ["coloredBorders"] = true, + ["w"] = 78.49994614504892, + ["mergedicon"] = "Interface\\ICONS\\INV_Misc_QuestionMark", + ["y"] = 1040.833318755454, + ["h"] = 621.6666788167995, + ["locked"] = true, + ["cellAnchor"] = "TOPLEFT", + ["colorNS"] = { + ["a"] = 0.75, + ["r"] = 0.5, + ["g"] = 0.5, + ["b"] = 0.5, + }, + ["padding"] = 5, + ["x"] = 3.333442160227062, + ["colorU"] = { + ["a"] = 1, + ["r"] = 0.5, + ["g"] = 0.5, + ["b"] = 0.5, + }, + }, + ["CooldownBars"] = { + ["barheight"] = 14, + ["scale"] = 1, + ["barTextSide"] = "left", + ["fontsize"] = 12, + ["locked"] = false, + ["barCooldownDirection"] = "right", + ["hideSelf"] = false, + ["textratio"] = 60, + ["osFGColor"] = { + ["a"] = 1, + ["r"] = 0, + ["g"] = 1, + ["b"] = 0, + }, + ["barwidth"] = 180, + ["bartexture"] = "Blizzard", + ["growup"] = false, + ["osCooldownDirection"] = "right", + ["alpha"] = 1, + ["barIcon"] = "left", + ["y"] = 1022.333312988281, + ["font"] = "Friz Quadrata TT", + ["barCooldownStyle"] = "full", + ["osEnabled"] = false, + ["osCooldownStyle"] = "full", + ["barShowSpellName"] = false, + ["x"] = 71.66675567626953, + ["barGap"] = 1, + }, + ["Bars"] = { + ["barIcon"] = "none", + ["npCCFont"] = true, + ["barW"] = 150, + ["barTextSide"] = "left", + ["barShowPlayerName"] = true, + ["barBGColorC"] = { + ["a"] = 0.16, + ["r"] = 0, + ["g"] = 0, + ["b"] = 0, + }, + ["barFontSize"] = 12, + ["locked"] = false, + ["barCCCFont"] = true, + ["barColorC"] = { + ["a"] = 0.74, + ["r"] = 0.55, + ["g"] = 0.55, + ["b"] = 0.55, + }, + ["barCCA"] = true, + ["barTextRatio"] = 65, + ["barLocation"] = "BOTTOM", + ["barCCC"] = true, + ["barColorAFont"] = { + ["a"] = 1, + ["r"] = 0.94, + ["g"] = 0.94, + ["b"] = 0.94, + }, + ["osFGColor"] = { + ["a"] = 1, + ["r"] = 0, + ["g"] = 1, + ["b"] = 0, + }, + ["barBGColorU"] = { + ["a"] = 0.16, + ["r"] = 0, + ["g"] = 0, + ["b"] = 0, + }, + ["hideNoSender"] = true, + ["barColorCFont"] = { + ["a"] = 1, + ["r"] = 1, + ["g"] = 1, + ["b"] = 1, + }, + ["barColorUFont"] = { + ["a"] = 0.3, + ["r"] = 1, + ["g"] = 1, + ["b"] = 1, + }, + ["osCooldownStyle"] = "empty", + ["barColorU"] = { + ["a"] = 0.23, + ["r"] = 0, + ["g"] = 0, + ["b"] = 0, + }, + ["y"] = 609, + ["x"] = 1016.666687011719, + ["barCooldownStyle"] = "empty", + ["npShowLabel"] = true, + ["scale"] = 1, + ["barPadding"] = 10, + ["npThickFont"] = false, + ["npUseNameplate"] = true, + ["npFontColor"] = { + ["a"] = 0.76, + ["r"] = 0.92, + ["g"] = 0.92, + ["b"] = 0.92, + }, + ["barCCU"] = false, + ["npOutlineFont"] = true, + ["barBGCCU"] = false, + ["npFontSize"] = 12, + ["barShowTime"] = true, + ["npFont"] = "Friz Quadrata TT", + ["osCooldownDirection"] = "right", + ["npTextSide"] = "right", + ["barCCUFont"] = false, + ["barH"] = 14, + ["barThickFont"] = false, + ["npTexture"] = "Blizzard", + ["barIconMerged"] = "left", + ["barCooldownDirection"] = "right", + ["npIcon"] = "right", + ["barShowSpellName"] = false, + ["barGap"] = 1, + ["npCCBar"] = false, + ["npH"] = 15, + ["merged"] = false, + ["npUseIcon"] = true, + ["barColorA"] = { + ["a"] = 1, + ["r"] = 0.94, + ["g"] = 0.94, + ["b"] = 0.94, + }, + ["barBGCCC"] = true, + ["barCCAFont"] = false, + ["growUp"] = false, + ["osEnabled"] = false, + ["barFont"] = "Friz Quadrata TT", + ["npW"] = 120, + ["npTexColor"] = { + ["a"] = 0.5, + ["r"] = 0, + ["g"] = 0, + ["b"] = 0, + }, + ["barTexture"] = "Blizzard", + ["barOutlineFont"] = true, + }, + }, + ["includeAll"] = true, + ["filterdead"] = true, + ["name"] = "Default", + ["filterconnection"] = true, + ["filterplayertype"] = "disabled", + ["playerfilters"] = { + }, + ["filter25man"] = true, + ["abilities"] = { + { + ["id"] = 61999, + ["enabled"] = false, + }, -- [1] + { + ["id"] = 46584, + ["enabled"] = false, + }, -- [2] + { + ["id"] = 20484, + ["enabled"] = false, + }, -- [3] + { + ["id"] = 740, + ["enabled"] = false, + }, -- [4] + { + ["id"] = 115310, + ["enabled"] = false, + }, -- [5] + { + ["id"] = 31821, + ["enabled"] = false, + }, -- [6] + { + ["id"] = 64843, + ["enabled"] = false, + }, -- [7] + { + ["id"] = 64901, + ["enabled"] = false, + }, -- [8] + { + ["id"] = 62618, + ["enabled"] = false, + }, -- [9] + { + ["id"] = 113277, + ["enabled"] = false, + }, -- [10] + { + ["id"] = 16190, + ["enabled"] = false, + }, -- [11] + { + ["id"] = 108280, + ["enabled"] = false, + }, -- [12] + { + ["id"] = 98008, + ["enabled"] = false, + }, -- [13] + { + ["id"] = 20707, + ["enabled"] = false, + }, -- [14] + { + ["id"] = 97462, + ["enabled"] = false, + }, -- [15] + { + ["id"] = 115176, + ["enabled"] = false, + }, -- [16] + { + ["id"] = 116849, + ["enabled"] = false, + }, -- [17] + }, + }, -- [1] + }, + }, + }, + ["enableparty"] = true, + } +end + + if profile == "Repooc" then + -- No Settings + end + + if profile == "Darth" then + -- No Settings + end + + return database +end + +-- register the profile with the engine +AI:RegisterAddonProfile(name, ace3, dbname, OnDemand) \ No newline at end of file diff --git a/ElvUI_SLE/modules/install/install.lua b/ElvUI_SLE/modules/install/install.lua new file mode 100644 index 0000000..344691d --- /dev/null +++ b/ElvUI_SLE/modules/install/install.lua @@ -0,0 +1,2556 @@ +local E, L, V, P, G, _ = unpack(ElvUI); --Inport: Engine, Locales, PrivateDB, ProfileDB, GlobalDB +local UF = E:GetModule('UnitFrames'); +local AI = E:GetModule('AddonInstaller'); + +local CURRENT_PAGE = 0 +local MAX_PAGE + +local function MaxPages() + if IsAddOnLoaded("ElvUI_Hud") then + MAX_PAGE = 11 + else + MAX_PAGE = 10 + end +end + +local function SetupChat() + InstallStepComplete.message = L["Chat Set"] + InstallStepComplete:Show() + FCF_ResetChatWindows() + FCF_SetLocked(ChatFrame1, 1) + FCF_DockFrame(ChatFrame2) + FCF_SetLocked(ChatFrame2, 1) + + FCF_OpenNewWindow(LOOT) + FCF_UnDockFrame(ChatFrame3) + FCF_SetLocked(ChatFrame3, 1) + ChatFrame3:Show() + + for i = 1, NUM_CHAT_WINDOWS do + local frame = _G[format("ChatFrame%s", i)] + local chatFrameId = frame:GetID() + local chatName = FCF_GetChatWindowInfo(chatFrameId) + + -- move general bottom left + if i == 1 then + frame:ClearAllPoints() + frame:Point("BOTTOMLEFT", LeftChatToggleButton, "TOPLEFT", 1, 3) + elseif i == 3 then + frame:ClearAllPoints() + frame:Point("BOTTOMLEFT", RightChatDataPanel, "TOPLEFT", 1, 3) + end + + FCF_SavePositionAndDimensions(frame) + FCF_StopDragging(frame) + + -- set default Elvui font size + FCF_SetChatWindowFontSize(nil, frame, 12) + + -- rename windows general because moved to chat #3 + if i == 1 then + FCF_SetWindowName(frame, GENERAL) + elseif i == 2 then + FCF_SetWindowName(frame, GUILD_EVENT_LOG) + elseif i == 3 then + FCF_SetWindowName(frame, LOOT.." / "..TRADE) + end + end + + ChatFrame_RemoveAllMessageGroups(ChatFrame1) + ChatFrame_AddMessageGroup(ChatFrame1, "SAY") + ChatFrame_AddMessageGroup(ChatFrame1, "EMOTE") + ChatFrame_AddMessageGroup(ChatFrame1, "YELL") + ChatFrame_AddMessageGroup(ChatFrame1, "GUILD") + ChatFrame_AddMessageGroup(ChatFrame1, "OFFICER") + ChatFrame_AddMessageGroup(ChatFrame1, "GUILD_ACHIEVEMENT") + ChatFrame_AddMessageGroup(ChatFrame1, "WHISPER") + ChatFrame_AddMessageGroup(ChatFrame1, "MONSTER_SAY") + ChatFrame_AddMessageGroup(ChatFrame1, "MONSTER_EMOTE") + ChatFrame_AddMessageGroup(ChatFrame1, "MONSTER_YELL") + ChatFrame_AddMessageGroup(ChatFrame1, "MONSTER_BOSS_EMOTE") + ChatFrame_AddMessageGroup(ChatFrame1, "PARTY") + ChatFrame_AddMessageGroup(ChatFrame1, "PARTY_LEADER") + ChatFrame_AddMessageGroup(ChatFrame1, "RAID") + ChatFrame_AddMessageGroup(ChatFrame1, "RAID_LEADER") + ChatFrame_AddMessageGroup(ChatFrame1, "RAID_WARNING") + ChatFrame_AddMessageGroup(ChatFrame1, "INSTANCE_CHAT") + ChatFrame_AddMessageGroup(ChatFrame1, "INSTANCE_CHAT_LEADER") + ChatFrame_AddMessageGroup(ChatFrame1, "BATTLEGROUND") + ChatFrame_AddMessageGroup(ChatFrame1, "BATTLEGROUND_LEADER") + ChatFrame_AddMessageGroup(ChatFrame1, "BG_HORDE") + ChatFrame_AddMessageGroup(ChatFrame1, "BG_ALLIANCE") + ChatFrame_AddMessageGroup(ChatFrame1, "BG_NEUTRAL") + ChatFrame_AddMessageGroup(ChatFrame1, "SYSTEM") + ChatFrame_AddMessageGroup(ChatFrame1, "ERRORS") + ChatFrame_AddMessageGroup(ChatFrame1, "AFK") + ChatFrame_AddMessageGroup(ChatFrame1, "DND") + ChatFrame_AddMessageGroup(ChatFrame1, "IGNORED") + ChatFrame_AddMessageGroup(ChatFrame1, "ACHIEVEMENT") + ChatFrame_AddMessageGroup(ChatFrame1, "BN_WHISPER") + ChatFrame_AddMessageGroup(ChatFrame1, "BN_CONVERSATION") + ChatFrame_AddMessageGroup(ChatFrame1, "BN_INLINE_TOAST_ALERT") + + + ChatFrame_RemoveAllMessageGroups(ChatFrame3) + ChatFrame_AddMessageGroup(ChatFrame3, "COMBAT_FACTION_CHANGE") + ChatFrame_AddMessageGroup(ChatFrame3, "SKILL") + ChatFrame_AddMessageGroup(ChatFrame3, "LOOT") + ChatFrame_AddMessageGroup(ChatFrame3, "MONEY") + ChatFrame_AddMessageGroup(ChatFrame3, "COMBAT_XP_GAIN") + ChatFrame_AddMessageGroup(ChatFrame3, "COMBAT_HONOR_GAIN") + ChatFrame_AddMessageGroup(ChatFrame3, "COMBAT_GUILD_XP_GAIN") + ChatFrame_AddChannel(ChatFrame1, GENERAL) + ChatFrame_RemoveChannel(ChatFrame1, L['Trade']) + ChatFrame_AddChannel(ChatFrame3, L['Trade']) + + + if E.myname == "Elvz" then + SetCVar("scriptErrors", 1) + end + + -- enable classcolor automatically on login and on each character without doing /configure each time. + ToggleChatColorNamesByClassGroup(true, "SAY") + ToggleChatColorNamesByClassGroup(true, "EMOTE") + ToggleChatColorNamesByClassGroup(true, "YELL") + ToggleChatColorNamesByClassGroup(true, "GUILD") + ToggleChatColorNamesByClassGroup(true, "OFFICER") + ToggleChatColorNamesByClassGroup(true, "GUILD_ACHIEVEMENT") + ToggleChatColorNamesByClassGroup(true, "ACHIEVEMENT") + ToggleChatColorNamesByClassGroup(true, "WHISPER") + ToggleChatColorNamesByClassGroup(true, "PARTY") + ToggleChatColorNamesByClassGroup(true, "PARTY_LEADER") + ToggleChatColorNamesByClassGroup(true, "RAID") + ToggleChatColorNamesByClassGroup(true, "RAID_LEADER") + ToggleChatColorNamesByClassGroup(true, "RAID_WARNING") + ToggleChatColorNamesByClassGroup(true, "BATTLEGROUND") + ToggleChatColorNamesByClassGroup(true, "BATTLEGROUND_LEADER") + ToggleChatColorNamesByClassGroup(true, "INSTANCE_CHAT") + ToggleChatColorNamesByClassGroup(true, "INSTANCE_CHAT_LEADER") + ToggleChatColorNamesByClassGroup(true, "CHANNEL1") + ToggleChatColorNamesByClassGroup(true, "CHANNEL2") + ToggleChatColorNamesByClassGroup(true, "CHANNEL3") + ToggleChatColorNamesByClassGroup(true, "CHANNEL4") + ToggleChatColorNamesByClassGroup(true, "CHANNEL5") + ToggleChatColorNamesByClassGroup(true, "CHANNEL6") + ToggleChatColorNamesByClassGroup(true, "CHANNEL7") + ToggleChatColorNamesByClassGroup(true, "CHANNEL8") + ToggleChatColorNamesByClassGroup(true, "CHANNEL9") + ToggleChatColorNamesByClassGroup(true, "CHANNEL10") + ToggleChatColorNamesByClassGroup(true, "CHANNEL11") + + --Adjust Chat Colors + --General + ChangeChatColor("CHANNEL1", 195/255, 230/255, 232/255) + --Trade + ChangeChatColor("CHANNEL2", 232/255, 158/255, 121/255) + --Local Defense + ChangeChatColor("CHANNEL3", 232/255, 228/255, 121/255) + + if E.Chat then + E.Chat:PositionChat(true) + if E.db['RightChatPanelFaded'] then + RightChatToggleButton:Click() + end + + if E.db['LeftChatPanelFaded'] then + LeftChatToggleButton:Click() + end + end +end + +local function SetupCVars() + SetCVar("mapQuestDifficulty", 1) + SetCVar("ShowClassColorInNameplate", 1) + SetCVar("screenshotQuality", 10) + SetCVar("chatMouseScroll", 1) + SetCVar("chatStyle", "classic") + SetCVar("WholeChatWindowClickable", 0) + SetCVar("ConversationMode", "inline") + SetCVar("showTutorials", 0) + SetCVar("UberTooltips", 1) + SetCVar("threatWarning", 3) + SetCVar('alwaysShowActionBars', 1) + SetCVar('lockActionBars', 1) + SetCVar('SpamFilter', 0) --Blocks mmo-champion.com, dumb... ElvUI one is more effeciant anyways. + InterfaceOptionsActionBarsPanelPickupActionKeyDropDown:SetValue('SHIFT') + InterfaceOptionsActionBarsPanelPickupActionKeyDropDown:RefreshValue() + + InstallStepComplete.message = L["CVars Set"] + InstallStepComplete:Show() +end + +function E:GetColor(r, b, g, a) + return { r = r, b = b, g = g, a = a } +end + +function E:SetupPixelPerfect(enabled, noMsg) + E.private.general.pixelPerfect = enabled; + + if (E.PixelMode ~= enabled) then + E:StaticPopup_Show('PIXELPERFECT_CHANGED') + end + + if not noMsg then + E.db.general.bottomPanel = enabled + E:GetModule('Layout'):BottomPanelVisibility() + end + + if noMsg then + if enabled then + if not E.db.movers then E.db.movers = {}; end + + E.db.actionbar.bar1.backdrop = false; + E.db.actionbar.bar3.backdrop = false; + E.db.actionbar.bar5.backdrop = false; + E.db.actionbar.bar1.buttonspacing = 2; + E.db.actionbar.bar2.buttonspacing = 2; + E.db.actionbar.bar3.buttonspacing = 2; + E.db.actionbar.bar4.buttonspacing = 2; + E.db.actionbar.bar5.buttonspacing = 2; + E.db.actionbar.barPet.buttonspacing = 2; + E.db.actionbar.stanceBar.buttonspacing = 2; + else + E.db.actionbar.bar1.backdrop = true; + E.db.actionbar.bar3.backdrop = true; + E.db.actionbar.bar5.backdrop = true; + E.db.actionbar.bar1.buttonspacing = 4; + E.db.actionbar.bar2.buttonspacing = 4; + E.db.actionbar.bar3.buttonspacing = 4; + E.db.actionbar.bar4.buttonspacing = 4; + E.db.actionbar.bar5.buttonspacing = 4; + E.db.actionbar.barPet.buttonspacing = 4; + E.db.actionbar.stanceBar.buttonspacing = 4; + end + end + + if InstallStepComplete and not noMsg then + InstallStepComplete.message = L["Pixel Perfect Set"] + InstallStepComplete:Show() + E:UpdateAll(true) + end + + + E.PixelMode = enabled +end + +function E:SetupTheme(theme, noDisplayMsg) + local classColor = RAID_CLASS_COLORS[E.myclass] + E.private.theme = theme + + + --Set colors + if theme == "classic" then + E.db.general.bordercolor = E:GetColor(.31, .31, .31) + E.db.general.backdropcolor = E:GetColor(.1, .1, .1) + E.db.general.backdropfadecolor = E:GetColor(.06, .06, .06, .8) + + E.db.unitframe.colors.healthclass = false + E.db.unitframe.colors.health = E:GetColor(.31, .31, .31) + E.db.unitframe.colors.auraBarBuff = E:GetColor(.31, .31, .31) + E.db.unitframe.colors.castColor = E:GetColor(.31, .31, .31) + + elseif theme == "class" then + E.db.general.bordercolor = E:GetColor(.31, .31, .31) + E.db.general.backdropcolor = E:GetColor(.1, .1, .1) + E.db.general.backdropfadecolor = E:GetColor(.06, .06, .06, .8) + E.db.unitframe.colors.auraBarBuff = E:GetColor(classColor.r, classColor.b, classColor.g) + E.db.unitframe.colors.healthclass = true + E.db.unitframe.colors.castColor = E:GetColor(classColor.r, classColor.b, classColor.g) + else + E.db.general.bordercolor = E:GetColor(.1, .1, .1) + E.db.general.backdropcolor = E:GetColor(.1, .1, .1) + E.db.general.backdropfadecolor = E:GetColor(.054, .054, .054, .8) + E.db.unitframe.colors.auraBarBuff = E:GetColor(.1, .1, .1) + E.db.unitframe.colors.healthclass = false + E.db.unitframe.colors.health = E:GetColor(.1, .1, .1) + E.db.unitframe.colors.castColor = E:GetColor(.1, .1, .1) + end + + --Value Color + if theme == "class" then + E.db.general.valuecolor = E:GetColor(classColor.r, classColor.b, classColor.g) + else + E.db.general.valuecolor = E:GetColor(.09, .819, .513) + end + + if not noDisplayMsg then + E:UpdateAll(true) + end + + if InstallStatus then + InstallStatus:SetStatusBarColor(unpack(E['media'].rgbvaluecolor)) + + if InstallStepComplete and not noDisplayMsg then + InstallStepComplete.message = L["Theme Set"] + InstallStepComplete:Show() + end + end +end + +function E:SetupResolution(noDataReset) + if not noDataReset then + E:ResetMovers('') + end + + if self == 'low' then + if not E.db.movers then E.db.movers = {}; end + if not noDataReset then + E.db.chat.panelWidth = 400 + E.db.chat.panelHeight = 180 + + E:CopyTable(E.db.actionbar, P.actionbar) + + E.db.actionbar.bar1.heightMult = 2; + E.db.actionbar.bar2.enabled = true; + E.db.actionbar.bar3.enabled = false; + E.db.actionbar.bar5.enabled = false; + end + + if not noDataReset then + E.db.auras.wrapAfter = 10; + end + E.db.general.reputation.width = 400 + E.db.general.experience.width = 400 + E.db.movers.ElvAB_2 = "CENTERElvUIParentBOTTOM056.18" + + if not noDataReset then + E:CopyTable(E.db.unitframe.units, P.unitframe.units) + + E.db.unitframe.fontSize = 10 + + E.db.unitframe.units.player.width = 200; + E.db.unitframe.units.player.castbar.width = 200; + E.db.unitframe.units.player.classbar.fill = 'fill'; + E.db.unitframe.units.player.health.text_format = "[healthcolor][health:current]" + + E.db.unitframe.units.target.width = 200; + E.db.unitframe.units.target.castbar.width = 200; + E.db.unitframe.units.target.health.text_format = '[healthcolor][health:current]' + + E.db.unitframe.units.pet.power.enable = false; + E.db.unitframe.units.pet.width = 200; + E.db.unitframe.units.pet.height = 26; + + E.db.unitframe.units.targettarget.debuffs.enable = false; + E.db.unitframe.units.targettarget.power.enable = false; + E.db.unitframe.units.targettarget.width = 200; + E.db.unitframe.units.targettarget.height = 26; + + E.db.unitframe.units.boss.width = 200; + E.db.unitframe.units.boss.castbar.width = 200; + E.db.unitframe.units.arena.width = 200; + E.db.unitframe.units.arena.castbar.width = 200; + end + + local isPixel = E.private.general.pixelPerfect + local xOffset = isPixel and 103 or 106; + local yOffset = isPixel and 125 or 135; + local yOffsetSmall = isPixel and 76 or 80; + + E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM"..-xOffset..""..yOffset + E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM"..xOffset..""..yOffsetSmall + E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM"..xOffset..""..yOffset + E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM"..-xOffset..""..yOffsetSmall + E.db.movers.ElvUF_FocusMover = "BOTTOMElvUIParentBOTTOM310332" + + E.db.lowresolutionset = true; + elseif not noDataReset then + E.db.chat.panelWidth = P.chat.panelWidth + E.db.chat.panelHeight = P.chat.panelHeight + + E:CopyTable(E.db.actionbar, P.actionbar) + E:CopyTable(E.db.unitframe.units, P.unitframe.units) + E:SetupPixelPerfect(E.PixelMode, true) + E.db.auras.wrapAfter = P.auras.wrapAfter; + E.db.general.reputation.width = P.general.reputation.width + E.db.general.experience.width = P.general.experience.width + + E.db.lowresolutionset = nil; + end + + if not noDataReset and E.private.theme then + E:SetupTheme(E.private.theme, true) + end + + E:UpdateAll(true) + + if InstallStepComplete and not noDataReset then + InstallStepComplete.message = L["Resolution Style Set"] + InstallStepComplete:Show() + end +end + +function E:SetupLayout(layout, noDataReset) + --Unitframes + if not noDataReset then + E:CopyTable(E.db.unitframe.units, P.unitframe.units) + E:CopyTable(E.db.sle.combatico, P.sle.combatico) + E.db.sle.powtext = false + end + + if not noDataReset then + E:ResetMovers('') + E:SetupPixelPerfect(E.PixelMode, true) + if not E.db.movers then E.db.movers = {} end + + E.db.actionbar.bar2.enabled = E.db.lowresolutionset + if E.PixelMode then + E.db.movers.ElvAB_2 = "BOTTOMElvUIParentBOTTOM038" + else + E.db.movers.ElvAB_2 = "BOTTOMElvUIParentBOTTOM040" + end + if not E.db.lowresolutionset then + E.db.actionbar.bar3.buttons = 6 + E.db.actionbar.bar5.buttons = 6 + E.db.actionbar.bar4.enabled = true + end + end + + if layout == 'healer' then + if not IsAddOnLoaded('Clique') then + E:Print(L['Using the healer layout it is highly recommended you download the addon Clique to work side by side with ElvUI.']) + end + + if not noDataReset then + E.db.unitframe.units.raid10.xOffset = 9; + E.db.unitframe.units.raid10.rdebuffs.enable = false; + E.db.unitframe.units.raid10.yOffset = 9; + E.db.unitframe.units.raid10.debuffs.sizeOverride = 16; + E.db.unitframe.units.raid10.debuffs.enable = true + E.db.unitframe.units.raid10.debuffs.anchorPoint = "TOPRIGHT"; + E.db.unitframe.units.raid10.debuffs.xOffset = -4; + E.db.unitframe.units.raid10.debuffs.yOffset = -7; + E.db.unitframe.units.raid10.positionOverride = "BOTTOMRIGHT"; + E.db.unitframe.units.raid10.height = 45; + E.db.unitframe.units.raid10.buffs.noConsolidated = false + E.db.unitframe.units.raid10.buffs.xOffset = 50; + E.db.unitframe.units.raid10.buffs.yOffset = -6; + E.db.unitframe.units.raid10.buffs.clickThrough = true + E.db.unitframe.units.raid10.buffs.noDuration = false + E.db.unitframe.units.raid10.buffs.playerOnly = false; + E.db.unitframe.units.raid10.buffs.perrow = 1 + E.db.unitframe.units.raid10.buffs.useFilter = "TurtleBuffs" + E.db.unitframe.units.raid10.buffs.sizeOverride = 22 + E.db.unitframe.units.raid10.buffs.useBlacklist = false + E.db.unitframe.units.raid10.buffs.enable = true + + E.db.unitframe.units.raid25.xOffset = 9; + E.db.unitframe.units.raid25.rdebuffs.enable = false; + E.db.unitframe.units.raid25.yOffset = 9; + E.db.unitframe.units.raid25.debuffs.sizeOverride = 16; + E.db.unitframe.units.raid25.debuffs.enable = true + E.db.unitframe.units.raid25.debuffs.anchorPoint = "TOPRIGHT"; + E.db.unitframe.units.raid25.debuffs.xOffset = -4; + E.db.unitframe.units.raid25.debuffs.yOffset = -7; + E.db.unitframe.units.raid25.positionOverride = "BOTTOMRIGHT"; + E.db.unitframe.units.raid25.height = 45; + E.db.unitframe.units.raid25.buffs.noConsolidated = false + E.db.unitframe.units.raid25.buffs.xOffset = 50; + E.db.unitframe.units.raid25.buffs.yOffset = -6; + E.db.unitframe.units.raid25.buffs.clickThrough = true + E.db.unitframe.units.raid25.buffs.noDuration = false + E.db.unitframe.units.raid25.buffs.playerOnly = false; + E.db.unitframe.units.raid25.buffs.perrow = 1 + E.db.unitframe.units.raid25.buffs.useFilter = "TurtleBuffs" + E.db.unitframe.units.raid25.buffs.sizeOverride = 22 + E.db.unitframe.units.raid25.buffs.useBlacklist = false + E.db.unitframe.units.raid25.buffs.enable = true + + E.db.unitframe.units.party.point = "LEFT" + E.db.unitframe.units.party.xOffset = 9; + E.db.unitframe.units.party.yOffset = 9; + E.db.unitframe.units.party.debuffs.sizeOverride = 16; + E.db.unitframe.units.party.debuffs.enable = true + E.db.unitframe.units.party.debuffs.anchorPoint = "TOPRIGHT"; + E.db.unitframe.units.party.debuffs.xOffset = -4; + E.db.unitframe.units.party.debuffs.yOffset = -7; + E.db.unitframe.units.party.positionOverride = "BOTTOMRIGHT"; + E.db.unitframe.units.party.height = 45; + E.db.unitframe.units.party.buffs.noConsolidated = false + E.db.unitframe.units.party.buffs.xOffset = 50; + E.db.unitframe.units.party.buffs.yOffset = -6; + E.db.unitframe.units.party.buffs.clickThrough = true + E.db.unitframe.units.party.buffs.noDuration = false + E.db.unitframe.units.party.buffs.playerOnly = false; + E.db.unitframe.units.party.buffs.perrow = 1 + E.db.unitframe.units.party.buffs.useFilter = "TurtleBuffs" + E.db.unitframe.units.party.buffs.sizeOverride = 22 + E.db.unitframe.units.party.buffs.useBlacklist = false + E.db.unitframe.units.party.buffs.enable = true + E.db.unitframe.units.party.roleIcon.position = "BOTTOMRIGHT" + E.db.unitframe.units.party.health.text_format = "[healthcolor][health:deficit]" + E.db.unitframe.units.party.health.position = "BOTTOM" + E.db.unitframe.units.party.GPSArrow.size = 40 + E.db.unitframe.units.party.width = 80 + E.db.unitframe.units.party.height = 45 + E.db.unitframe.units.party.name.text_format = "[namecolor][name:short]" + E.db.unitframe.units.party.name.position = "TOP" + E.db.unitframe.units.party.power.text_format = "" + + + + E.db.unitframe.units.raid40.positionOverride = "BOTTOMRIGHT" + E.db.unitframe.units.raid40.height = 30 + + E.db.unitframe.units.party.health.frequentUpdates = true + E.db.unitframe.units.raid10.health.frequentUpdates = true + E.db.unitframe.units.raid25.health.frequentUpdates = true + E.db.unitframe.units.raid40.health.frequentUpdates = true + + E.db.unitframe.units.party.healPrediction = true; + E.db.unitframe.units.raid10.healPrediction = true; + E.db.unitframe.units.raid25.healPrediction = true; + E.db.unitframe.units.raid40.healPrediction = true; + + E.db.actionbar.bar2.enabled = true + if not E.db.lowresolutionset then + E.db.actionbar.bar3.buttons = 12 + E.db.actionbar.bar5.buttons = 12 + E.db.actionbar.bar4.enabled = false + if not E.PixelMode then + E.db.actionbar.bar1.heightMult = 2 + end + end + end + + if not E.db.movers then E.db.movers = {}; end + local xOffset = GetScreenWidth() * 0.34375 + + if E.PixelMode then + E.db.movers.ElvAB_3 = "BOTTOMElvUIParentBOTTOM3124" + E.db.movers.ElvAB_5 = "BOTTOMElvUIParentBOTTOM-3124" + E.db.movers.ElvUF_PartyMover = "BOTTOMRIGHTElvUIParentBOTTOMLEFT"..xOffset.."450" + E.db.movers.ElvUF_Raid10Mover = "BOTTOMRIGHTElvUIParentBOTTOMLEFT"..xOffset.."450" + E.db.movers.ElvUF_Raid25Mover = "BOTTOMRIGHTElvUIParentBOTTOMLEFT"..xOffset.."450" + E.db.movers.ElvUF_Raid40Mover = "BOTTOMRIGHTElvUIParentBOTTOMLEFT"..xOffset.."450" + + if not E.db.lowresolutionset then + E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM278132" + E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-278132" + E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM0176" + E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM0132" + E.db.movers.ElvUF_FocusMover = "BOTTOMElvUIParentBOTTOM310432" + E.db.movers["BossButton"] = "BOTTOMElvUIParentBOTTOM0275" + else + E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-102182" + E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM102182" + E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM102120" + E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM-102120" + E.db.movers.ElvUF_FocusMover = "BOTTOMElvUIParentBOTTOM310332" + E.db.movers["BossButton"] = "TOPElvUIParentTOP0-138" + end + else + E.db.movers.ElvAB_3 = "BOTTOMElvUIParentBOTTOM3324" + E.db.movers.ElvAB_5 = "BOTTOMElvUIParentBOTTOM-3324" + E.db.movers.ElvUF_PartyMover = "BOTTOMRIGHTElvUIParentBOTTOMLEFT"..xOffset.."450" + E.db.movers.ElvUF_Raid10Mover = "BOTTOMRIGHTElvUIParentBOTTOMLEFT"..xOffset.."450" + E.db.movers.ElvUF_Raid25Mover = "BOTTOMRIGHTElvUIParentBOTTOMLEFT"..xOffset.."450" + E.db.movers.ElvUF_Raid40Mover = "BOTTOMRIGHTElvUIParentBOTTOMLEFT"..xOffset.."450" + + if not E.db.lowresolutionset then + E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM307145" + E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-307145" + E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM0186" + E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM0145" + E.db.movers.ElvUF_FocusMover = "BOTTOMElvUIParentBOTTOM310432" + E.db.movers["BossButton"] = "BOTTOMElvUIParentBOTTOM0275" + else + E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-118182" + E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM118182" + E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM118120" + E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM-118120" + E.db.movers.ElvUF_FocusMover = "BOTTOMElvUIParentBOTTOM310332" + E.db.movers["BossButton"] = "TOPElvUIParentTOP0-138" + end + end + elseif E.db.lowresolutionset then + if not E.db.movers then E.db.movers = {}; end + if E.PixelMode then + E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-102135" + E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM102135" + E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM10280" + E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM-10280" + E.db.movers.ElvUF_FocusMover = "BOTTOMElvUIParentBOTTOM310332" + else + E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-118142" + E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM118142" + E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM11884" + E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM-11884" + E.db.movers.ElvUF_FocusMover = "BOTTOMElvUIParentBOTTOM310332" + end + + E.db.movers["BossButton"] = "TOPElvUIParentTOP0-138" + end + + if layout ~= 'healer' and not E.db.lowresolutionset then + E.db.actionbar.bar1.heightMult = 1 + end + + if E.db.lowresolutionset and not noDataReset then + E.db.unitframe.units.player.width = 200; + if layout ~= 'healer' then + E.db.unitframe.units.player.castbar.width = 200; + end + E.db.unitframe.units.player.classbar.fill = 'fill'; + + E.db.unitframe.units.target.width = 200; + E.db.unitframe.units.target.castbar.width = 200; + + E.db.unitframe.units.pet.power.enable = false; + E.db.unitframe.units.pet.width = 200; + E.db.unitframe.units.pet.height = 26; + + E.db.unitframe.units.targettarget.debuffs.enable = false; + E.db.unitframe.units.targettarget.power.enable = false; + E.db.unitframe.units.targettarget.width = 200; + E.db.unitframe.units.targettarget.height = 26; + + E.db.unitframe.units.boss.width = 200; + E.db.unitframe.units.boss.castbar.width = 200; + E.db.unitframe.units.arena.width = 200; + E.db.unitframe.units.arena.castbar.width = 200; + end + + if(layout == 'dpsCaster' or layout == 'healer' or (layout == 'dpsMelee' and E.myclass == 'HUNTER')) then + if not E.db.movers then E.db.movers = {}; end + E.db.unitframe.units.player.castbar.width = 406 + E.db.unitframe.units.player.castbar.height = 28 + local yOffset = 80 + if not E.db.lowresolutionset then + if layout ~= 'healer' then + yOffset = 42 + + if E.PixelMode then + E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-278110" + E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM278110" + E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM0110" + E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM0150" + E.db.movers["BossButton"] = "BOTTOMElvUIParentBOTTOM0195" + else + E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-307110" + E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM307110" + E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM0110" + E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM0150" + E.db.movers["BossButton"] = "BOTTOMElvUIParentBOTTOM0195" + end + else + yOffset = 76 + end + elseif E.db.lowresolutionset then + if E.PixelMode then + E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-102182" + E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM102182" + E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM102120" + E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM-102120" + E.db.movers.ElvUF_FocusMover = "BOTTOMElvUIParentBOTTOM310332" + else + E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-118182" + E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM118182" + E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM118120" + E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM-118120" + E.db.movers.ElvUF_FocusMover = "BOTTOMElvUIParentBOTTOM310332" + end + + E.db.movers["BossButton"] = "TOPElvUIParentTOP0-138" + end + + if E.PixelMode then + E.db.movers.ElvUF_PlayerCastbarMover = "BOTTOMElvUIParentBOTTOM0"..yOffset + else + E.db.movers.ElvUF_PlayerCastbarMover = "BOTTOMElvUIParentBOTTOM-2"..(yOffset + 5) + end + elseif (layout == 'dpsMelee' or layout == 'tank') and not E.db.lowresolutionset and not E.PixelMode then + E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-30776" + E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM30776" + E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM076" + E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM0115" + E.db.movers["BossButton"] = "BOTTOMElvUIParentBOTTOM0158" + + end + + --Datatexts + if not noDataReset then + E:CopyTable(E.db.datatexts.panels, P.datatexts.panels) + if layout == 'tank' then + E.db.datatexts.panels.LeftChatDataPanel.left = 'Avoidance'; + E.db.datatexts.panels.LeftChatDataPanel.right = 'Vengeance'; + elseif layout == 'healer' or layout == 'dpsCaster' then + E.db.datatexts.panels.LeftChatDataPanel.left = 'Spell/Heal Power'; + E.db.datatexts.panels.LeftChatDataPanel.right = 'Haste'; + else + E.db.datatexts.panels.LeftChatDataPanel.left = 'Attack Power'; + E.db.datatexts.panels.LeftChatDataPanel.right = 'Haste'; + end + + if InstallStepComplete then + InstallStepComplete.message = L["Layout Set"] + InstallStepComplete:Show() + end + end + + E.db.layoutSet = layout + + if not noDataReset and E.private.theme then + E:SetupTheme(E.private.theme, true) + end + + if not noDataReset then + E:CopyTable(E.db.sle.marks, P.sle.marks) + E:CopyTable(E.db.sle.backgrounds, P.sle.backgrounds) + E:CopyTable(E.db.sle.uibuttons, P.sle.uibuttons) + end + + E:UpdateAll(true) + local DT = E:GetModule('DataTexts') + DT:LoadDataTexts() +end + + +local function SetupAuras(style) + E:CopyTable(E.db.unitframe.units.player.buffs, P.unitframe.units.player.buffs) + E:CopyTable(E.db.unitframe.units.player.debuffs, P.unitframe.units.player.debuffs) + E:CopyTable(E.db.unitframe.units.player.aurabar, P.unitframe.units.player.aurabar) + + E:CopyTable(E.db.unitframe.units.target.buffs, P.unitframe.units.target.buffs) + E:CopyTable(E.db.unitframe.units.target.debuffs, P.unitframe.units.target.debuffs) + E:CopyTable(E.db.unitframe.units.target.aurabar, P.unitframe.units.target.aurabar) + E.db.unitframe.units.target.smartAuraDisplay = P.unitframe.units.target.smartAuraDisplay + + E:CopyTable(E.db.unitframe.units.focus.buffs, P.unitframe.units.focus.buffs) + E:CopyTable(E.db.unitframe.units.focus.debuffs, P.unitframe.units.focus.debuffs) + E:CopyTable(E.db.unitframe.units.focus.aurabar, P.unitframe.units.focus.aurabar) + E.db.unitframe.units.focus.smartAuraDisplay = P.unitframe.units.focus.smartAuraDisplay + + if not style then + --PLAYER + E.db.unitframe.units.player.buffs.enable = true; + E.db.unitframe.units.player.buffs.attachTo = 'FRAME'; + E.db.unitframe.units.player.buffs.noDuration = false; + + E.db.unitframe.units.player.debuffs.attachTo = 'BUFFS'; + + E.db.unitframe.units.player.aurabar.enable = false; + + --TARGET + E.db.unitframe.units.target.smartAuraDisplay = 'DISABLED'; + E.db.unitframe.units.target.debuffs.enable = true; + E.db.unitframe.units.target.aurabar.enable = false; + elseif style == 'integrated' then + --seriosly is this fucking hard?? + E.db.unitframe.units.target.smartAuraDisplay = 'SHOW_DEBUFFS_ON_FRIENDLIES'; + E.db.unitframe.units.target.buffs.playerOnly = {friendly = true, enemy = false}; + E.db.unitframe.units.target.debuffs.enable = false; + E.db.unitframe.units.target.aurabar.attachTo = 'BUFFS'; + end + + E:GetModule('UnitFrames'):Update_AllFrames() + if InstallStepComplete then + InstallStepComplete.message = L["Auras Set"] + InstallStepComplete:Show() + end +end + + +function E:DarthSetup(private) --The function to switch from classic ElvUI settings to Darth's + InstallStepComplete.message = L["Darth's Defaults Set"] + InstallStepComplete:Show() + E:CopyTable(E.db, P) + E:CopyTable(E.db.sle, P.sle) + if not E.db.movers then E.db.movers = {}; end + if not E.db.loclite then E.db.loclite = {} end + + layout = E.db.layoutSet --To know if some sort of layout was choosed before + + --General options-- + E.db.general.stickyFrames = false + E.db.general.autoRepair = "PLAYER" + E.db.general.vendorGrays = true + E.db.general.fontsize = 10 + E.db.general.minimap.locationText = 'HIDE' + E.db.general.experience.textFormat = 'CURPERC' + E.db.general.experience.textSize = 10 + E.db.general.experience.width = 380 + E.db.general.reputation.textFormat = 'CURMAX' + E.db.general.reputation.textSize = 10 + E.db.general.reputation.width = 380 + E.db.general.threat.enable = false + E.db.general.totems.spacing = 2 + E.db.general.totems.size = 25 + E.db.general.bottomPanel = false + E.db.general.topPanel = false + + --Bags-- + E.db.bags.bagSize = 22 + E.db.bags.bankSize = 22 + E.db.bags.sortInverted = false + E.db.bags.alignToChat = false + E.db.bags.bagWidth = 425 + E.db.bags.bankWidth = 425 + E.db.bags.yOffset = 186 + E.db.bags.currencyFormat = "ICON" + + --NamePlate-- + E.db.nameplate.healthtext = 'CURRENT_PERCENT' + E.db.nameplate.lowHealthWarning = 'NONE' + E.db.nameplate.fontOutline = "OUTLINE" + E.db.nameplate.font = "ElvUI Font" + E.db.nameplate.height = 8 + E.db.nameplate.auraFont = "ElvUI Font" + E.db.nameplate.auraFontOutline = "OUTLINE" + E.db.nameplate.classIcons = false + + --Auras-- + E.db.auras.font = "ElvUI Font" + E.db.auras.fontOutline = "OUTLINE" + E.db.auras.wrapAfter = 18 + E.db.sle.castername = true + E.db.auras.fadeThreshold = 3 + E.db.auras.consolidatedBuffs.fontSize = 9 + E.db.auras.consolidatedBuffs.fontOutline = "OUTLINE" + E.db.auras.consolidatedBuffs.font = "ElvUI Font" + E.db.auras.consolidatedBuffs.filter = false + + --Chat-- + E.db.chat.editboxhistory = 10 + E.db.chat.emotionIcons = false + E.db.chat.panelHeight = 192 + E.db.chat.panelWidth = 425 + E.db.chat.panelTabBackdrop = false + E.db.chat.timeStampFormat = "%H:%M:%S " + E.db.chat.whisperSound = "Whisper Alert" + E.db.chat.fade = false + E.db.chat.fontOutline = "OUTLINE" + E.db.chat.tabFontOutline = "OUTLINE" + + --Datatexts-- + do + E.db.datatexts.fontSize = 10 + E.db.datatexts.time24 = true + E.db.sle.lfrshow.enabled = true + E.db.datatexts.minimapPanels = false + E.db.datatexts.panelTransparency = true + E.db.datatexts.fontOutline = "OUTLINE" + E.db.sle.datatext.top.enabled = true + E.db.sle.datatext.top.transparent = true + E.db.sle.datatext.bottom.enabled = true + E.db.sle.datatext.bottom.width = 190 + E.db.sle.datatext.bottom.transparent = true + E.db.sle.datatext.dp1.enabled = true + E.db.sle.datatext.dp1.width = 386 + E.db.sle.datatext.dp1.transparent = true + E.db.sle.datatext.dp2.enabled = true + E.db.sle.datatext.dp2.width = 386 + E.db.sle.datatext.dp2.transparent = true + E.db.sle.datatext.dp3.enabled = true + E.db.sle.datatext.dp3.width = 386 + E.db.sle.datatext.dp3.transparent = true + E.db.sle.datatext.dp4.enabled = true + E.db.sle.datatext.dp4.width = 386 + E.db.sle.datatext.dp4.transparent = true + E.db.sle.datatext.dp5.enabled = true + E.db.sle.datatext.dp5.width = 455 + E.db.sle.datatext.dp5.transparent = true + E.db.sle.datatext.dp6.enabled = true + E.db.sle.datatext.dp6.width = 455 + E.db.sle.datatext.dp6.transparent = true + + E.db.datatexts.panels.Top_Center = 'Version'; + E.db.datatexts.panels.Bottom_Panel = 'System'; + E.db.datatexts.panels.LeftChatDataPanel.right = 'Friends'; + E.db.datatexts.panels.LeftChatDataPanel.left = 'Call to Arms'; + E.db.datatexts.panels.LeftChatDataPanel.middle = 'Durability'; + E.db.datatexts.panels.LeftMiniPanel = ''; + E.db.datatexts.panels.RightMiniPanel = ''; + E.db.datatexts.panels.DP_1.right = 'AtlasLoot'; + E.db.datatexts.panels.DP_1.middle = 'MrtWoo'; + E.db.datatexts.panels.DP_1.left = 'Swatter'; + E.db.datatexts.panels.DP_2.right = 'Guild'; + E.db.datatexts.panels.DP_2.middle = 'Skada'; + E.db.datatexts.panels.DP_2.left = 'Altoholic'; + E.db.datatexts.panels.DP_3.right = 'Notes'; + E.db.datatexts.panels.DP_3.middle = 'DBM-LDB'; + E.db.datatexts.panels.DP_3.left = 'Time'; + E.db.datatexts.panels.DP_4.right = ''; + E.db.datatexts.panels.DP_4.middle = ''; + E.db.datatexts.panels.DP_4.left = 'Combat Time'; + E.db.datatexts.panels.DP_5.middle = 'Gold'; + E.db.datatexts.panels.DP_5.left = 'Bags'; + + if layout == 'tank' then + E.db.datatexts.panels.DP_6.left = 'Avoidance'; + E.db.datatexts.panels.DP_6.middle = 'Vengeance'; + E.db.datatexts.panels.DP_6.right = 'Expertise'; + E.db.datatexts.panels.RightChatDataPanel.left = 'Hit Rating'; + E.db.datatexts.panels.RightChatDataPanel.middle = 'Mastery'; + E.db.datatexts.panels.RightChatDataPanel.right = 'Spec Switch'; + E.db.datatexts.panels.DP_5.right = 'Armor'; + elseif layout == 'healer' then + E.db.datatexts.panels.DP_6.left = 'Spell/Heal Power'; + E.db.datatexts.panels.DP_6.middle = 'Haste'; + E.db.datatexts.panels.DP_6.right = 'Crit Chance'; + E.db.datatexts.panels.RightChatDataPanel.left = 'MP5'; + E.db.datatexts.panels.RightChatDataPanel.middle = 'Mastery'; + E.db.datatexts.panels.RightChatDataPanel.right = 'Spec Switch'; + E.db.datatexts.panels.DP_5.right = ''; + elseif layout == 'dpsCaster' then + E.db.datatexts.panels.DP_6.left = 'Spell/Heal Power'; + E.db.datatexts.panels.DP_6.middle = 'Haste'; + E.db.datatexts.panels.DP_6.right = 'Crit Chance'; + E.db.datatexts.panels.RightChatDataPanel.left = 'Hit Rating'; + E.db.datatexts.panels.RightChatDataPanel.middle = 'Mastery'; + E.db.datatexts.panels.RightChatDataPanel.right = 'Spec Switch'; + E.db.datatexts.panels.DP_5.right = ''; + else + E.db.datatexts.panels.DP_6.left = 'Attack Power'; + E.db.datatexts.panels.DP_6.middle = 'Haste'; + E.db.datatexts.panels.DP_6.right = 'Crit Chance'; + E.db.datatexts.panels.RightChatDataPanel.left = 'Hit Rating'; + E.db.datatexts.panels.RightChatDataPanel.middle = 'Mastery'; + E.db.datatexts.panels.RightChatDataPanel.right = 'Spec Switch'; + E.db.datatexts.panels.DP_5.right = 'Expertise'; + end + end + + --Unitframes-- + do + E.db.unitframe.smoothbars = false + E.db.unitframe.font = "ElvUI Font" + E.db.unitframe.fontsize = 9 + E.db.unitframe.fontOutline = 'OUTLINE' + E.db.unitframe.colors.castColor = { + ["b"] = 0.396078431372549, + ["g"] = 0.7333333333333333, + ["r"] = 0.796078431372549, + } + UF:Update_AllFrames() + if layout == "healer" then + E.db.unitframe.debuffHighlighting = true + else + E.db.unitframe.debuffHighlighting = false + end + E.db.unitframe.smartRaidFilter = false + E.db.unitframe.colors.healthclass = true + E.db.unitframe.colors.colorhealthbyvalue = false + E.db.unitframe.colors.transparentHealth = true + E.db.unitframe.colors.transparentPower = true + E.db.unitframe.colors.transparentCastbar = true + E.db.unitframe.colors.transparentAurabars = true + --Setting player frame + E.db.unitframe.units.player.width = 210 + E.db.unitframe.units.player.height = 50 + if layout == "healer" then + E.db.unitframe.units.player.lowmana = 30; + else + E.db.unitframe.units.player.lowmana = 0; + end + E.db.unitframe.units.player.health.position = 'BOTTOMRIGHT'; + E.db.unitframe.units.player.health.text_format = "[healthcolor][health:current-percent:sl]" + E.db.unitframe.units.player.power.text_format = "[powercolor][power:current:sl]"; + E.db.unitframe.units.player.power.height = 8 + E.db.unitframe.units.player.fixTo = "power" + E.db.unitframe.units.player.name.text_format = "[name] [level]"; + E.db.unitframe.units.player.name.position = 'TOPLEFT'; + E.db.unitframe.units.player.pvp.text_format = "||cFFB04F4F[pvptimer]||r" + E.db.unitframe.units.player.pvp.position = "BOTTOMLEFT" + E.db.unitframe.units.player.portrait.enable = true + E.db.unitframe.units.player.portrait.camDistanceScale = 1.7; + E.db.unitframe.units.player.portrait.width = 35 + E.db.unitframe.units.player.debuffs.enable = false; + E.db.unitframe.units.player.castbar.format = 'CURRENTMAX'; + if layout == "healer" then + E.db.unitframe.units.player.castbar.width = 200 + else + E.db.unitframe.units.player.castbar.width = 210 + end + E.db.unitframe.units.player.classbar.fill = 'fill' + E.db.unitframe.units.player.classbar.height = 8 + E.db.unitframe.units.player.aurabar.enable = false + E.db.unitframe.units.player.raidicon.enable = false + + --Setting target frame + E.db.unitframe.units.target.width = 210 + E.db.unitframe.units.target.height = 50 + E.db.unitframe.units.target.health.position = 'BOTTOMRIGHT'; + if layout == "healer" then + E.db.unitframe.units.target.health.text_format = "[healthcolor][health:deficit] [health:current-percent:sl]" + else + E.db.unitframe.units.target.health.text_format = "[healthcolor][health:current-percent:sl]" + end + E.db.unitframe.units.target.power.position = 'RIGHT'; + E.db.unitframe.units.target.power.hideonnpc = false; + E.db.unitframe.units.target.power.text_format = "[powercolor][power:current:sl]" + E.db.unitframe.units.target.power.height = 8 + E.db.unitframe.units.target.fixTo = "power" + E.db.unitframe.units.target.name.text_format = "[name:medium] [level] [shortclassification]"; + E.db.unitframe.units.target.name.position = 'TOPLEFT'; + E.db.unitframe.units.target.portrait.enable = true + E.db.unitframe.units.target.portrait.camDistanceScale = 1.7; + E.db.unitframe.units.target.portrait.width = 35; + E.db.unitframe.units.target.buffs.perrow = 10; + E.db.unitframe.units.target.buffs.numrows = 2; + E.db.unitframe.units.target.buffs.anchorPoint = 'TOPLEFT'; + E.db.unitframe.units.target.buffs.useBlacklist.friendly = false + E.db.unitframe.units.target.buffs.useBlacklist.enemy = false + E.db.unitframe.units.target.debuffs.perrow = 10; + E.db.unitframe.units.target.debuffs.playerOnly.enemy = false + E.db.unitframe.units.target.debuffs.useBlacklist.friendly = false + E.db.unitframe.units.target.debuffs.useBlacklist.enemy = false + E.db.unitframe.units.target.castbar.format = 'CURRENTMAX'; + if layout == "healer" then + E.db.unitframe.units.target.castbar.width = 200 + else + E.db.unitframe.units.target.castbar.width = 210 + end + E.db.unitframe.units.target.aurabar.enable = false + E.db.unitframe.units.target.combobar.height = 8 + + --Target of Target + if layout == "healer" then + E.db.unitframe.units.targettarget.width = 100 + else + E.db.unitframe.units.targettarget.width = 130 + end + E.db.unitframe.units.targettarget.name.text_format = "[name:medium]" + E.db.unitframe.units.targettarget.debuffs.enable = false + + --Focus + if layout == "healer" then + E.db.unitframe.units.focus.height = 34 + else + E.db.unitframe.units.focus.height = 50 + end + E.db.unitframe.units.focus.health.position = 'BOTTOMRIGHT' + E.db.unitframe.units.focus.debuffs.sizeOverride = 22 + E.db.unitframe.units.focus.debuffs.anchorPoint = "TOPLEFT" + E.db.unitframe.units.focus.castbar.format = 'CURRENTMAX' + if layout == "healer" then + E.db.unitframe.units.focus.castbar.width = 179 + else + E.db.unitframe.units.focus.castbar.width = 190 + end + + --Focus Target + E.db.unitframe.units.focustarget.enable = true + if layout == "healer" then + E.db.unitframe.units.focustarget.width = 179 + else + E.db.unitframe.units.focustarget.width = 190 + end + + --Pet + E.db.unitframe.units.pet.height = 30 + E.db.unitframe.units.pet.width = 105 + + --Pet Target + E.db.unitframe.units.pettarget.name.text_format = "[name:short]" + E.db.unitframe.units.pettarget.enable = true + E.db.unitframe.units.pettarget.height = 30 + E.db.unitframe.units.pettarget.width = 105 + + --Party + if layout == "healer" then + E.db.unitframe.units.party.showSolo = true + E.db.unitframe.units.party.healPrediction = true + E.db.unitframe.units.party.health.text_format = "[healthcolor][health:deficit]" + E.db.unitframe.units.party.health.orientation = "VERTICAL" + E.db.unitframe.units.party.health.frequentUpdates = true + E.db.unitframe.units.party.debuffs.enable = true + E.db.unitframe.units.party.debuffs.anchorPoint = "BOTTOMLEFT" + E.db.unitframe.units.party.GPSArrow.onMouseOver = false + E.db.unitframe.units.party.GPSArrow.outOfRange = true + else + E.db.unitframe.units.party.showSolo = false + E.db.unitframe.units.party.healPrediction = false + E.db.unitframe.units.party.health.text_format = "[healthcolor][health:current]" + E.db.unitframe.units.party.health.orientation = "HORIZONTAL" + E.db.unitframe.units.party.health.frequentUpdates = false + E.db.unitframe.units.party.debuffs.enable = false + E.db.unitframe.units.party.GPSArrow.onMouseOver = true + E.db.unitframe.units.party.GPSArrow.outOfRange = false + end + E.db.unitframe.units.party.point = "LEFT" + E.db.unitframe.units.party.width = 80 + E.db.unitframe.units.party.xOffset = 3 + E.db.unitframe.units.party.health.position = "BOTTOM" + E.db.unitframe.units.party.power.text_format = "" + E.db.unitframe.units.party.roleIcon.position = "RIGHT" + E.db.unitframe.units.party.debuffs.sizeOverride = 0 + E.db.unitframe.units.party.name.position = "TOP" + E.db.unitframe.units.party.GPSArrow.size = 30 + + --Raid 10 + if layout == "healer" then + E.db.unitframe.units.raid10.height = 36 + E.db.unitframe.units.raid10.healPrediction = true + E.db.unitframe.units.raid10.health.frequentUpdates = true + E.db.unitframe.units.raid10.health.text_format = "[healthcolor][health:dificit]" + E.db.unitframe.units.raid10.health.orientation = "VERTICAL" + E.db.unitframe.units.raid10.GPSArrow.onMouseOver = false + E.db.unitframe.units.raid10.GPSArrow.outOfRange = true + else + E.db.unitframe.units.raid10.height = 44 + E.db.unitframe.units.raid10.healPrediction = false + E.db.unitframe.units.raid10.health.frequentUpdates = false + E.db.unitframe.units.raid10.health.text_format = "[healthcolor][health:current]" + E.db.unitframe.units.raid10.health.orientation = "HORIZONTAL" + E.db.unitframe.units.raid10.GPSArrow.onMouseOver = true + E.db.unitframe.units.raid10.GPSArrow.outOfRange = false + end + E.db.unitframe.units.raid10.xOffset = 1 + E.db.unitframe.units.raid10.yOffset = 1 + E.db.unitframe.units.raid10.name.text_format = "[name:medium]" + E.db.unitframe.units.raid10.rdebuffs.size = 18 + E.db.unitframe.units.raid10.roleIcon.position = "RIGHT" + E.db.unitframe.units.raid10.groupBy = "GROUP" + E.db.unitframe.units.raid10.GPSArrow.size = 30 + + --Raid 25 + if layout == "healer" then + E.db.unitframe.units.raid25.healPrediction = true + E.db.unitframe.units.raid25.health.text_format = "[healthcolor][health:deficit]" + E.db.unitframe.units.raid25.health.frequentUpdates = true + E.db.unitframe.units.raid25.health.orientation = "VERTICAL" + E.db.unitframe.units.raid25.height = 36 + E.db.unitframe.units.raid25.GPSArrow.onMouseOver = false + E.db.unitframe.units.raid25.GPSArrow.outOfRange = true + else + E.db.unitframe.units.raid25.healPrediction = false + E.db.unitframe.units.raid25.health.text_format = "[healthcolor][health:current]" + E.db.unitframe.units.raid25.health.frequentUpdates = false + E.db.unitframe.units.raid25.health.orientation = "HORIZONTAL" + E.db.unitframe.units.raid25.height = 44 + E.db.unitframe.units.raid25.GPSArrow.onMouseOver = true + E.db.unitframe.units.raid25.GPSArrow.outOfRange = false + end + E.db.unitframe.units.raid25.xOffset = 1 + E.db.unitframe.units.raid25.yOffset = 1 + E.db.unitframe.units.raid25.name.text_format = "[name:medium]" + E.db.unitframe.units.raid25.rdebuffs.size = 18 + E.db.unitframe.units.raid25.roleIcon.position = "RIGHT" + E.db.unitframe.units.raid25.groupBy = "GROUP" + E.db.unitframe.units.raid25.GPSArrow.size = 30 + + --Raid 40 + if layout == "healer" then + E.db.unitframe.units.raid25.healPrediction = true + E.db.unitframe.units.raid40.health.frequentUpdates = true + E.db.unitframe.units.raid40.health.text_format = "[healthcolor][health:deficit]" + E.db.unitframe.units.raid40.health.orientation = "VERTICAL" + else + E.db.unitframe.units.raid40.healPrediction = false + E.db.unitframe.units.raid40.health.frequentUpdates = false + E.db.unitframe.units.raid40.health.text_format = "" + E.db.unitframe.units.raid40.health.orientation = "HORIZONTAL" + end + E.db.unitframe.units.raid40.xOffset = 1 + E.db.unitframe.units.raid40.yOffset = 1 + E.db.unitframe.units.raid40.name.text_format = "[name:medium]" + E.db.unitframe.units.raid40.name.position = "TOP" + E.db.unitframe.units.raid25.roleIcon.enable = true + E.db.unitframe.units.raid25.roleIcon.position = "RIGHT" + E.db.unitframe.units.raid40.groupBy = "GROUP" + + --Tank + if layout == "healer" then + E.db.unitframe.units.tank.enable = true + E.db.unitframe.units.tank.targetsGroup.enable = false + E.db.unitframe.units.tank.height = 24 + else + E.db.unitframe.units.tank.enable = false + end + + --Assist + E.db.unitframe.units.assist.enable = false + + --Arena + E.db.unitframe.units.arena.width = 200 + E.db.unitframe.units.arena.height = 46 + E.db.unitframe.units.arena.growthDirection = 'DOWN' + E.db.unitframe.units.arena.castbar.format = 'CURRENTMAX' + E.db.unitframe.units.arena.castbar.width = 200 + + --Boss + E.db.unitframe.units.boss.width = 200 + E.db.unitframe.units.boss.growthDirection = 'DOWN' + + --Power text + E.db.sle.powtext = true + + end + + --Actionbars + do + E.db.actionbar.font = "ElvUI Font" + E.db.actionbar.fontOutline = 'OUTLINE' + E.db.actionbar.hotkeytext = false + E.db.actionbar.keyDown = false + + E.db.actionbar.bar1.point = "TOPLEFT" + E.db.actionbar.bar1.buttonsPerRow = 3 + E.db.actionbar.bar1.buttonspacing = 1 + E.db.actionbar.bar1.buttonsize = 23 + + E.db.actionbar.bar2.enabled = true + E.db.actionbar.bar2.point = "TOPLEFT" + E.db.actionbar.bar2.buttonsPerRow = 3 + E.db.actionbar.bar2.buttonspacing = 1 + E.db.actionbar.bar2.buttonsize = 23 + E.db.actionbar.bar2.visibility = "[overridebar] hide; [petbattle] hide; show" + + E.db.actionbar.bar3.point = "TOPLEFT" + E.db.actionbar.bar3.buttons = 12 + E.db.actionbar.bar3.buttonsPerRow = 3 + E.db.actionbar.bar3.buttonspacing = 1 + E.db.actionbar.bar3.buttonsize = 23 + E.db.actionbar.bar3.visibility = "[overridebar] hide; [petbattle] hide; show" + + E.db.actionbar.bar4.point = "TOPLEFT" + E.db.actionbar.bar4.buttonsPerRow = 6 + E.db.actionbar.bar4.buttonspacing = 1 + E.db.actionbar.bar4.buttonsize = 23 + E.db.actionbar.bar4.visibility = "[overridebar] hide; [petbattle] hide; show" + E.db.actionbar.bar4.backdrop = false + + E.db.actionbar.bar5.point = "TOPLEFT" + E.db.actionbar.bar5.buttons = 12 + E.db.actionbar.bar5.buttonspacing = 1 + E.db.actionbar.bar5.buttonsize = 23 + E.db.actionbar.bar5.visibility = "[overridebar] hide; [petbattle] hide; show" + + E.db.actionbar.microbar.enabled = true + E.db.actionbar.microbar.buttonsPerRow = 6 + E.db.actionbar.microbar.mouseover = true + + E.db.actionbar.stanceBar.buttonspacing = 1 + E.db.actionbar.stanceBar.buttonsize = 16 + + E.db.actionbar.barPet.point = "TOPLEFT" + E.db.actionbar.barPet.buttonspacing = 1 + E.db.actionbar.barPet.backdrop = false + E.db.actionbar.barPet.buttonsPerRow = 5 + E.db.actionbar.barPet.buttonsize = 20 + end + + --Raid marks-- + E.db.sle.marks.enabled = true + E.db.sle.marks.growth = "LEFT" + E.db.sle.marks.backdrop = false + E.db.sle.marks.size = 16 + + --Exp/Rep Bars-- + E.db.sle.exprep.explong = true + E.db.sle.exprep.replong = true + + --Combat icon-- + E.db.sle.combatico.pos = 'TOPRIGHT' + + --Loot History-- + E.db.sle.lootwin = true + E.db.sle.lootalpha = 0.9 + + --Errors-- + E.db.sle.errors = true + + --UI Buttons-- + E.db.sle.uibuttons.enable = true + E.db.sle.uibuttons.mouse = true + + --Farm-- + E.db.sle.farm.size = 23 + E.db.sle.farm.autotarget = true + E.db.sle.farm.quest = true + E.db.sle.farm.seedor = "BOTTOM" + + --LocationLite-- + E.db.loclite.lpfontsize = 10 + E.db.loclite.lpfontflags = "OUTLINE" + E.db.loclite.lpwidth = 300 + E.db.loclite.dig = false + E.db.loclite.lpauto = false + E.db.loclite.trans = true + + --Loading private settings-- + if private then + E.private.sle.farm.enable = true + E.private.sle.farm.seedtrash = true + E.private.sle.equip.spam = true + E.private.sle.characterframeoptions.enable = true + E.private.auras.size = 22 + E.private.skins.addons.DBMSkinHalf = true + E.private.skins.addons.EmbedSkada = true + E.private.skins.addons.EmbedOoC = true + E.private.skins.addons.AlwaysTrue = true + end + + --Moving stuff-- + do + if layout == "healer" then + E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-308176" + E.db.movers.ElvUF_PlayerCastbarMover = "BOTTOMElvUIParentBOTTOM-102135" + E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM308176" + E.db.movers.ElvUF_TargetCastbarMover = "BOTTOMElvUIParentBOTTOM102135" + E.db.movers.ElvUF_TargetTargetMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-446190" + E.db.movers.ElvUF_FocusMover = "BOTTOMElvUIParentBOTTOM308118" + E.db.movers.ElvUF_FocusTargetMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-445126" + E.db.movers.ElvUF_PetMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT547147" + E.db.movers.ElvUF_PetTargetMover = "BOTTOMElvUIParentBOTTOM-254147" + E.db.movers.PetAB = "BOTTOMLEFTElvUIParentBOTTOMLEFT547105" + E.db.movers.TotemBarMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT438199" + E.db.movers.TempEnchantMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT474164" + E.db.movers.ElvUF_PartyMover = "BOTTOMElvUIParentBOTTOM0183" + E.db.movers.ElvUF_Raid10Mover = "BOTTOMElvUIParentBOTTOM0156" + E.db.movers.ElvUF_Raid25Mover = "BOTTOMElvUIParentBOTTOM0156" + E.db.movers.ElvUF_Raid40Mover = "BOTTOMElvUIParentBOTTOM0156" + E.db.movers.ElvUF_TankMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT428228" + E.db.movers.BossButton = "BOTTOMElvUIParentBOTTOM2389" + E.db.movers.BNETMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-42743" + else + E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-214158" + E.db.movers.ElvUF_PlayerCastbarMover = "BOTTOMElvUIParentBOTTOM0135" + E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM214158" + E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM17497" + E.db.movers.ElvUF_FocusMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-448158" + E.db.movers.ElvUF_FocusTargetMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-450106" + E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM-266129" + E.db.movers.ElvUF_PetTargetMover = "BOTTOMElvUIParentBOTTOM-161129" + E.db.movers.PetAB = "BOTTOMElvUIParentBOTTOM-26685" + E.db.movers.TotemBarMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT613100" + E.db.movers.TempEnchantMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT540174" + E.db.movers.ElvUF_PartyMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT0212" + E.db.movers.ElvUF_Raid10Mover = "BOTTOMLEFTElvUIParentBOTTOMLEFT0212" + E.db.movers.ElvUF_Raid25Mover = "BOTTOMLEFTElvUIParentBOTTOMLEFT0212" + E.db.movers.ElvUF_Raid40Mover = "BOTTOMLEFTElvUIParentBOTTOMLEFT0212" + E.db.movers.BossButton = "BOTTOMElvUIParentBOTTOM0195" + E.db.movers.BNETMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-42753" + end + E.db.movers.ElvAB_1 = "BOTTOMElvUIParentBOTTOM020" + E.db.movers.ElvAB_2 = "BOTTOMElvUIParentBOTTOM7320" + E.db.movers.ElvAB_3 = "BOTTOMElvUIParentBOTTOM-7320" + E.db.movers.ElvAB_4 = "BOTTOMElvUIParentBOTTOM-18220" + E.db.movers.ElvAB_5 = "BOTTOMElvUIParentBOTTOM18220" + E.db.movers.MinimapMover = "TOPRIGHTElvUIParentTOPRIGHT2-19" + E.db.movers.UIBFrameMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-426112" + E.db.movers.WatchFrameMover = "TOPRIGHTElvUIParentTOPRIGHT-219-208" + E.db.movers.BossHeaderMover = "TOPRIGHTElvUIParentTOPRIGHT-2-199" + E.db.movers.ArenaHeaderMover = "TOPRIGHTElvUIParentTOPRIGHT-2-200" + E.db.movers.PetBattleABMover = "BOTTOMElvUIParentBOTTOM019" + E.db.movers.ShiftAB = "BOTTOMElvUIParentBOTTOM-16168" + if UnitLevel('player') == 90 then + E.db.movers.ExperienceBarMover = "TOPElvUIParentTOP0-19" + E.db.movers.ReputationBarMover = "TOPElvUIParentTOP0-19" + E.db.movers.PvPMover = "TOPElvUIParentTOP0-48" + E.db.movers.LocationMover = "TOPElvUIParentTOP0-28" + E.db.movers.LocationLiteMover = "TOPElvUIParentTOP0-28" + E.db.movers.AlertFrameMover = "TOPElvUIParentTOP0-105" + else + E.db.movers.ExperienceBarMover = "TOPElvUIParentTOP0-19" + E.db.movers.ReputationBarMover = "TOPElvUIParentTOP0-28" + E.db.movers.LocationMover = "TOPElvUIParentTOP0-37" + E.db.movers.LocationLiteMover = "TOPElvUIParentTOP0-37" + E.db.movers.AlertFrameMover = "TOPElvUIParentTOP0-113" + E.db.movers.PvPMover = "TOPElvUIParentTOP0-57" + end + E.db.movers.MarkMover = "BOTTOMElvUIParentBOTTOM0115" + E.db.movers.MicrobarMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT55620" + E.db.movers.LootFrameMover = "TOPLEFTElvUIParentTOPLEFT238-329" + E.db.movers.AurasMover = "TOPRIGHTElvUIParentTOPRIGHT-201-18" + E.db.movers.GMMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT0454" + E.db.movers.VehicleSeatMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT42419" + E.db.movers.DP_1_Mover = "TOPLEFTElvUIParentTOPLEFT00" + E.db.movers.DP_2_Mover = "TOPLEFTElvUIParentTOPLEFT3850" + E.db.movers.DP_3_Mover = "TOPRIGHTElvUIParentTOPRIGHT-3850" + E.db.movers.DP_4_Mover = "TOPRIGHTElvUIParentTOPRIGHT00" + E.db.movers.DP_5_Mover = "BOTTOMLEFTElvUIParentBOTTOMLEFT4110" + E.db.movers.DP_6_Mover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-4110" + E.db.movers.Bottom_Panel_Mover = "BOTTOMElvUIParentBOTTOM00" + E.db.movers.RightChatMover = "BOTTOMRIGHTUIParentBOTTOMRIGHT019" + E.db.movers.LeftChatMover = "BOTTOMLEFTUIParentBOTTOMLEFT019" + E.db.movers.RaidUtility_Mover = "TOPElvUIParentTOP-305-19" + E.db.movers.AltPowerBarMover = "TOPElvUIParentTOP0-238" + E.db.movers.FarmSeedMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-300211" + E.db.movers.FarmToolMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-175211" + end + + E:UpdateAll(true) +end + +function E:RepoocSetup() --The function to switch from classic ElvUI settings to Repooc's + InstallStepComplete.message = L["Repooc's Defaults Set"] + InstallStepComplete:Show() + if not E.db.movers then E.db.movers = {}; end + + layout = E.db.layoutSet --Pull which layout was selected if any. + pixel = E.PixelMode --Pull PixelMode + --print(pixel); + --General Options + E.db.general.bottomPanel = true + E.db.general.topPanel = true + E.db.general.backdropfadecolor = { + ["b"] = 0.06, + ["g"] = 0.06, + ["r"] = 0.06, + } + E.db.general.valuecolor = { + ["b"] = 0.59, + ["g"] = 1, + ["r"] = 0, + } + E.db.general.vendorGrays = true + E.db.general.bordercolor = { + ["b"] = 0.31, + ["g"] = 0.31, + ["r"] = 0.31, + } + E.db.general.experience.enable = true + E.db.general.experience.textFormat = "CURPERC" + E.db.general.experience.textSize = 10 + E.db.general.reputation.enable = true + E.db.general.reputation.textFormat = "CURPERC" + E.db.general.interruptAnnounce = "RAID" + + --Bags + E.db.bags.xOffset = 3 + + E.db.hideTutorial = 1 + + --Chat + E.db.chat.hyperlinkHover = false + E.db.chat.editBoxPosition = "ABOVE_CHAT" + E.db.chat.fontOutline = "OUTLINE" + E.db.chat.panelBackdropNameLeft = "Interface\\AddOns\\ElvUI_SLE\\media\\textures\\logo_elvui_sle.tga" + E.db.chat.panelBackdropNameRight = "Interface\\AddOns\\ElvUI_SLE\\media\\textures\\logo_elvui_sle.tga" + E.db.chat.panelTabBackdrop = false + E.db.chat.panelWidth = 433 + E.db.chat.tabFontSize = 11 + E.db.chat.timeStampFormat = "%I:%M %p " + + --Tooltip + E.db.tooltip.count = false + E.db.tooltip.spellid = false + + --Datatext + do + E.db.datatexts.minimapPanels = false + E.db.datatexts.fontOutline = "OUTLINE" + E.db.datatexts.lfrshow = true + + E.db.sle.datatext.bottom.enabled = true --Checked + E.private.sle.datatext.bottomhide = true + E.db.sle.datatext.chatleft.width = 417 + E.db.sle.datatext.chatright.width = 417 + E.db.sle.datatext.dp1.enabled = false + E.db.sle.datatext.dp2.enabled = false + E.db.sle.datatext.dp3.enabled = false + E.db.sle.datatext.dp4.enabled = false + E.db.sle.datatext.dp5.enabled = true + E.db.sle.datatext.dp5.width = 433 + E.private.sle.datatext.dp5hide = true + E.db.sle.datatext.dp6.enabled = true + E.db.sle.datatext.dp6.width = 433 + E.private.sle.datatext.dp6hide = true + E.db.sle.datatext.top.enabled = true + E.private.sle.datatext.tophide = true + + --Datatext Panels Presets + E.db.datatexts.panels['DP_1']['left'] = "" + E.db.datatexts.panels['DP_1']['middle'] = "" + E.db.datatexts.panels['DP_1']['righ'] = "" + E.db.datatexts.panels['DP_2']['left'] = "" + E.db.datatexts.panels['DP_2']['middle'] = "" + E.db.datatexts.panels['DP_2']['right'] = "" + E.db.datatexts.panels['DP_3']['left'] = "" + E.db.datatexts.panels['DP_3']['middle'] = "" + E.db.datatexts.panels['DP_3']['right'] = "" + E.db.datatexts.panels['DP_4']['left'] = "" + E.db.datatexts.panels['DP_4']['middle'] = "" + E.db.datatexts.panels['DP_4']['right'] = "" + E.db.datatexts.panels['DP_5']['left'] = "Durability" + E.db.datatexts.panels['DP_5']['middle'] = "" + E.db.datatexts.panels['DP_5']['right'] = "" + E.db.datatexts.panels['DP_6']['left'] = "" + E.db.datatexts.panels['DP_6']['middle'] = "" + E.db.datatexts.panels['DP_6']['right'] = "" + E.db.datatexts.panels['LeftChatDataPanel']['left'] = "Bags" + E.db.datatexts.panels['LeftChatDataPanel']['middle'] = "" + E.db.datatexts.panels['LeftChatDataPanel']['right'] = "" + E.db.datatexts.panels['RightChatDataPanel']['left'] = "SocialState" + E.db.datatexts.panels['RightChatDataPanel']['middle'] = "Gold" + E.db.datatexts.panels['RightChatDataPanel']['right'] = "Time" + E.db.datatexts.panels['Top_Center'] = "Version" + E.db.datatexts.panels['Bottom_Panel'] = "System" + E.db.datatexts.panels['LeftMiniPanel'] = "" + E.db.datatexts.panels['RightMiniPanel'] = "" + + --Datatext Panels Spec Specific + if layout == 'tank' then + E.db.datatexts.panels.DP_5.middle = "" + E.db.datatexts.panels.DP_5.right = "" + E.db.datatexts.panels.DP_6.left = "" + E.db.datatexts.panels.DP_6.middle = "" + elseif layout == 'healer' then + E.db.datatexts.panels.DP_5.middle = "MP5" + E.db.datatexts.panels.DP_5.right = "Spell/Heal Power" + E.db.datatexts.panels.DP_6.left = "Haste" + E.db.datatexts.panels.DP_6.middle = "Crit Chance" + elseif layout == 'dpsCaster' then + E.db.datatexts.panels.DP_5.middle = "" + E.db.datatexts.panels.DP_5.right = "" + E.db.datatexts.panels.DP_6.left = "" + E.db.datatexts.panels.DP_6.middle = "" + else + E.db.datatexts.panels.DP_5.middle = "" + E.db.datatexts.panels.DP_5.right = "" + E.db.datatexts.panels.DP_6.left = "" + E.db.datatexts.panels.DP_6.middle = "" + end + end + + --Unitframes + do + --Player + E.db.unitframe.units.player.health.position = "TOPRIGHT" + E.db.unitframe.units.player.portrait.overlay = true + E.db.unitframe.units.player.portrait.enable = true + E.db.unitframe.units.player.portrait.camDistanceScale = 3 + E.db.unitframe.units.player.power.position = "BOTTOMRIGHT" + + --Target + E.db.unitframe.units.target.aurabar.attachTo = "BUFFS" + E.db.unitframe.units.target.smartAuraDisplay = "SHOW_DEBUFFS_ON_FRIENDLIES" + E.db.unitframe.units.target.buffs.playerOnly.friendly = true + E.db.unitframe.units.target.debuffs.enable = false + E.db.unitframe.units.target.power.position = "BOTTOMLEFT" + E.db.unitframe.units.target.power.hideonnpc = false + E.db.unitframe.units.target.health.position = "LEFT" + E.db.unitframe.units.target.portrait.overlay = true + E.db.unitframe.units.target.portrait.enable = true + E.db.unitframe.units.target.portrait.camDistanceScale = 3 + + --Party + E.db.unitframe.units.party.columnAnchorPoint = "LEFT" + E.db.unitframe.units.party.healPrediction = true + E.db.unitframe.units.party.height = 52 + E.db.unitframe.units.party.point = "LEFT" + E.db.unitframe.units.party.width = 80 + E.db.unitframe.units.party.xOffset = 5 + E.db.unitframe.units.party.debuffs.anchorPoint = "BOTTOMLEFT" + E.db.unitframe.units.party.debuffs.initialAnchor = "TOPLEFT" + E.db.unitframe.units.party.debuffs.sizeOverride = 0 + E.db.unitframe.units.party.debuffs.useFilter = "Blacklist" + E.db.unitframe.units.party.health.frequentUpdates = true + E.db.unitframe.units.party.health.orientation = "VERTICAL" + E.db.unitframe.units.party.health.position = "BOTTOM" + E.db.unitframe.units.party.health.text_format = "[healthcolor][health:deficit]" + E.db.unitframe.units.party.targetsGroup.anchorPoint = "TOP" + E.db.unitframe.units.party.targetsGroup.initialAnchor = "BOTTOM" + E.db.unitframe.units.party.targetsGroup.width = 80 + E.db.unitframe.units.party.targetsGroup.xOffset = 0 + E.db.unitframe.units.party.targetsGroup.yOffset = 1 + E.db.unitframe.units.party.name.position = "TOP" + E.db.unitframe.units.party.name.text_format = "[namecolor][name:medium]" + E.db.unitframe.units.party.petsGroup.anchorPoint = "TOP" + E.db.unitframe.units.party.petsGroup.enable = true + E.db.unitframe.units.party.petsGroup.initialAnchor = "BOTTOM" + E.db.unitframe.units.party.petsGroup.width = 80 + E.db.unitframe.units.party.petsGroup.xOffset = 0 + E.db.unitframe.units.party.petsGroup.yOffset = 1 + + --Raid10 + E.db.unitframe.units.raid10.xOffset = 2 + E.db.unitframe.units.raid10.healPrediction = true + E.db.unitframe.units.raid10.width = 79 + + --Raid25 + E.db.unitframe.units.raid25.customTexts = {} + E.db.unitframe.units.raid25.healPrediction = true + E.db.unitframe.units.raid25.health.frequentUpdates = true + E.db.unitframe.units.raid25.health.orientation = "VERTICAL" + E.db.unitframe.units.raid25.width = 79 + E.db.unitframe.units.raid25.xOffset = 2 + + --Raid40 + E.db.unitframe.units.raid40.healPrediction = true + E.db.unitframe.units.raid40.health.frequentUpdates = true + E.db.unitframe.units.raid40.health.text = true + E.db.unitframe.units.raid40.health.orientation = "VERTICAL" + E.db.unitframe.units.raid40.height = 36 + E.db.unitframe.units.raid40.name.position = "TOP" + E.db.unitframe.units.raid40.roleIcon.enable = true + E.db.unitframe.units.raid40.width = 79 + E.db.unitframe.units.raid40.xOffset = 2 + + --Arena + E.db.unitframe.units.arena.castbar.width = 200 + E.db.unitframe.units.arena.width = 200 + + --Boss + E.db.unitframe.units.boss.width = 200 + E.db.unitframe.units.boss.castbar.width = 200 + + --Main Tank & Assist + E.db.unitframe.units.tank.enable = false + E.db.unitframe.units.assist.enable = false + + E.db.unitframe.colors.healthclass = false + E.db.unitframe.colors.auraBarBuff = { + ["b"] = 0.59, + ["g"] = 1, + ["r"] = 0, + } + E.db.unitframe.colors.castColor = { + ["b"] = 0.59, + ["g"] = 1, + ["r"] = 0, + } + end + + --Actionbars + --Bar 1 + E.db.actionbar.bar1.enabled = true + E.db.actionbar.bar1.backdrop = false + E.db.actionbar.bar1.buttonspacing = 2 + --Bar 2 + E.db.actionbar.bar2.enabled = true + E.db.actionbar.bar2.backdrop = false + E.db.actionbar.bar2.buttonspacing = 2 + --Bar 3 + E.db.actionbar.bar3.enabled = false + E.db.actionbar.bar3.backdrop = false + E.db.actionbar.bar3.buttonspacing = 2 + --Bar 4 + E.db.actionbar.bar4.enabled = true + E.db.actionbar.bar4.backdrop = false + E.db.actionbar.bar4.buttonsize = 28 + E.db.actionbar.bar4.buttonspacing = 1 + --Bar 5 + E.db.actionbar.bar5.enabled = false + E.db.actionbar.bar5.backdrop = false + E.db.actionbar.bar5.buttonspacing = 2 + + --Stance Bar + E.db.actionbar.stanceBar.buttonspacing = 2 + + --UIButtons + E.db.sle.uibuttons.enable = true + E.db.sle.uibuttons.position = "uib_hor" + + --SLE Tooltip + E.db.sle.castername = true + + --Exp & Rep + E.db.sle.exprep.explong = true + + + do + if layout == "healer" then + E.db.movers.ElvUF_PlayerMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT460187" + E.db.movers.ElvUF_TargetMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-460187" + E.db.movers.ElvUF_TargetTargetMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-460129" + E.db.movers.ElvUF_PetMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT460129" + E.db.movers.ElvUF_FocusMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-50052" + E.db.movers.ElvUF_PartyMover = "BOTTOMElvUIParentBOTTOM091" + E.db.movers.ElvUF_PlayerCastbarMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT460166" + E.db.movers.ElvUF_Raid10Mover = "BOTTOMElvUIParentBOTTOM091" + E.db.movers.ElvUF_Raid25Mover = "BOTTOMElvUIParentBOTTOM091" + E.db.movers.ElvUF_Raid40Mover = "BOTTOMLEFTElvUIParentBOTTOMLEFT13202" + E.db.movers.ElvUF_TargetCastbarMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-460166" + E.db.movers.UIBFrameMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT329175" + E.db.movers.ElvAB_1 = "BOTTOMElvUIParentBOTTOM021" + E.db.movers.ElvAB_2 = "BOTTOMElvUIParentBOTTOM055" + E.db.movers.ElvUF_FocusCastbarMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-50031" + E.db.movers.DP_6_Mover = "BOTTOMElvUIParentBOTTOM3110" + E.db.movers.LeftChatMover = "BOTTOMLEFTUIParentBOTTOMLEFT019" + E.db.movers.DP_5_Mover = "BOTTOMElvUIParentBOTTOM-3100" + E.db.movers.ReputationBarMover = "TOPElvUIParentTOP0-21" + E.db.movers.AlertFrameMover = "TOPElvUIParentTOP0-43" + E.db.movers.WatchFrameMover = "TOPLEFTElvUIParentTOPLEFT115-123" + E.db.movers.LootFrameMover = "TOPRIGHTElvUIParentTOPRIGHT-140-356" + E.db.movers.RaidUtility_Mover = "TOPLEFTElvUIParentTOPLEFT524-4" + E.db.movers.BossHeaderMover = "TOPRIGHTElvUIParentTOPRIGHT-91-210" + E.db.movers.RightChatMover = "BOTTOMRIGHTUIParentBOTTOMRIGHT019" + E.db.movers.ExperienceBarMover = "TOPElvUIParentTOP0-32" + + else + E.db.movers.ElvUF_PlayerMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT460187" + E.db.movers.ElvUF_TargetMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-460187" + E.db.movers.ElvUF_TargetTargetMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-460129" + E.db.movers.ElvUF_PetMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT460129" + E.db.movers.ElvUF_FocusMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-50052" + E.db.movers.ElvUF_PartyMover = "BOTTOMElvUIParentBOTTOM091" + E.db.movers.ElvUF_PlayerCastbarMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT460166" + E.db.movers.ElvUF_Raid10Mover = "BOTTOMElvUIParentBOTTOM091" + E.db.movers.ElvUF_Raid25Mover = "BOTTOMElvUIParentBOTTOM091" + E.db.movers.ElvUF_Raid40Mover = "BOTTOMLEFTElvUIParentBOTTOMLEFT13202" + E.db.movers.ElvUF_TargetCastbarMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-460166" + E.db.movers.UIBFrameMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT329175" + E.db.movers.ElvAB_1 = "BOTTOMElvUIParentBOTTOM021" + E.db.movers.ElvAB_2 = "BOTTOMElvUIParentBOTTOM055" + E.db.movers.ElvUF_FocusCastbarMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-50031" + E.db.movers.DP_6_Mover = "BOTTOMElvUIParentBOTTOM3110" + E.db.movers.LeftChatMover = "BOTTOMLEFTUIParentBOTTOMLEFT019" + E.db.movers.DP_5_Mover = "BOTTOMElvUIParentBOTTOM-3100" + E.db.movers.ReputationBarMover = "TOPElvUIParentTOP0-21" + E.db.movers.AlertFrameMover = "TOPElvUIParentTOP0-43" + E.db.movers.WatchFrameMover = "TOPLEFTElvUIParentTOPLEFT115-123" + E.db.movers.LootFrameMover = "TOPRIGHTElvUIParentTOPRIGHT-140-356" + E.db.movers.RaidUtility_Mover = "TOPLEFTElvUIParentTOPLEFT524-4" + E.db.movers.BossHeaderMover = "TOPRIGHTElvUIParentTOPRIGHT-91-210" + E.db.movers.RightChatMover = "BOTTOMRIGHTUIParentBOTTOMRIGHT019" + E.db.movers.ExperienceBarMover = "TOPElvUIParentTOP0-32" + end + E.db.movers.BossButton = "BOTTOMElvUIParentBOTTOM559200" + E.db.movers.ElvAB_4 = "TOPRIGHTElvUIParentTOPRIGHT0-200" + end + + E:UpdateAll(true) +end + +function E:AffinitiiSetup(loadAddons) --The function to switch from class ElvUI settings to Affinitii's + InstallStepComplete.message = L["Affiniti's Defaults Set"] + InstallStepComplete:Show() + if not E.db.movers then E.db.movers = {}; end + local xOffset = GetScreenWidth() * 0.34375 + --can try * .135417 for ab 3 and 5 positions or do xoffset - blah blah + layout = E.db.layoutSet --Pull which layout was selected if any. + pixel = E.PixelMode --Pull PixelMode + E.private.general.pixelPerfect = true + E.db.general.autoAcceptInvite = true + E.db.general.autoRepair = "GUILD" + E.db.general.bottomPanel = false + E.db.general.topPanel = false + E.db.general.backdropfadecolor = { + ["r"] = 0.054, + ["g"] = 0.054, + ["b"] = 0.054, + } + E.db.general.valuecolor = { + ["r"] = 0.09, + ["g"] = 0.513, + ["b"] = 0.819, + } + E.db.general.health = { + } + E.db.general.BUFFS = { + } + E.db.general.vendorGrays = true + E.db.general.autoRoll = true + E.private.general.normTex = "Polished Wood" + E.private.general.glossTex = "Polished Wood" + E.private.skins.addons.EmbedSkada = true + E.private.skins.addons.AlwaysTrue = true + E.db.gridSize = 110 + E.db.hideTutorial = 1 + E.db.unitframe.colors.healthclass = false + + --Chat + E.db.chat.editBoxPosition = "ABOVE_CHAT" + E.db.chat.emotionIcons = false + if GetScreenWidth() < 1920 then + E.db.chat.panelWidth = 380 + else + E.db.chat.panelWidth = 412 + end + + --Unitframes + E.db.unitframe.font = "Doris PP" + E.db.unitframe.fontOutline = "OUTLINE" + E.db.unitframe.statusbar = "Polished Wood" + E.db.unitframe.colors.castColor = { + ["r"] = 0.1, + ["g"] = 0.1, + ["b"] = 0.1, + } + E.db.unitframe.colors.health = { + ["r"] = 0.2352941176470588, + ["g"] = 0.2352941176470588, + ["b"] = 0.2352941176470588, + } + E.db.unitframe.units.tank.enable = false + + E.db.unitframe.units.assist.enable = false + E.db.unitframe.units.assist.targetsGroup.enable = false + + E.db.unitframe.units.arena.power.offset = 7 + + E.db.unitframe.units.targettarget.power.offset = 7 + + E.db.unitframe.units.pet.power.offset = 7 + + E.db.unitframe.units.boss.portrait.enable = true + E.db.unitframe.units.boss.portrait.overlay = true + E.db.unitframe.units.boss.power.offset = 11 + + E.db.unitframe.units.focus.power.offset = 7 + + E.db.unitframe.units.player.debuffs.attachTo = "BUFFS" + E.db.unitframe.units.player.portrait.overlay = true + E.db.unitframe.units.player.portrait.enable = true + E.db.unitframe.units.player.classbar.enable = false + E.db.unitframe.units.player.aurabar.enable = false + E.db.unitframe.units.player.power.offset = 11 + E.db.unitframe.units.player.buffs.enable = true + E.db.unitframe.units.player.buffs.attachTo = "FRAME" + E.db.unitframe.units.player.buffs.noDuration = false + E.db.unitframe.units.player.castbar.width = 410 + E.db.unitframe.units.player.castbar.height = 25 + + E.db.unitframe.units.target.portrait.enable = true + E.db.unitframe.units.target.portrait.overlay = true + E.db.unitframe.units.target.aurabar.enable = false + E.db.unitframe.units.target.power.offset = 11 + + E.db.unitframe.units.party.columnAnchorPoint = "BOTTOM" + E.db.unitframe.units.party.buffIndicator.size = 10 + E.db.unitframe.units.party.buffIndicator.fontSize = 10 + E.db.unitframe.units.party.point = "RIGHT" + E.db.unitframe.units.party.xOffset = -1 + E.db.unitframe.units.party.yOffset = 1 + E.db.unitframe.units.party.power.offset = 7 + E.db.unitframe.units.party.power.text_format = "" + E.db.unitframe.units.party.buffIndicator.size = 10 + E.db.unitframe.units.party.roleIcon.enable = false + E.db.unitframe.units.party.GPSArrow.size = 40 + E.db.unitframe.units.party.positionOverride = "BOTTOMRIGHT" + E.db.unitframe.units.party.healPrediction = true + E.db.unitframe.units.party.health.frequentUpdates = true + E.db.unitframe.units.party.health.text_format = "[healthcolor][health:deficit]" + E.db.unitframe.units.party.health.position = "BOTTOM" + E.db.unitframe.units.party.name.text_format = "[namecolor][name:veryshort] [difficultycolor][smartlevel]" + E.db.unitframe.units.party.name.position = "TOP" + E.db.unitframe.units.party.buffs.noConsolidated = false + E.db.unitframe.units.party.buffs.enable = true + E.db.unitframe.units.party.buffs.anchorPoint = "BOTTOMLEFT" + E.db.unitframe.units.party.buffs.clickThrough = true + E.db.unitframe.units.party.buffs.useBlacklist = false + E.db.unitframe.units.party.buffs.noDuration = false + E.db.unitframe.units.party.buffs.playerOnly = false + E.db.unitframe.units.party.buffs.perrow = 1 + E.db.unitframe.units.party.buffs.useFilter = "TurtleBuffs" + E.db.unitframe.units.party.petsGroup.anchorPoint = "BOTTOM" + E.db.unitframe.units.party.raidicon.attachTo = "LEFT" + E.db.unitframe.units.party.raidicon.xOffset = 9 + E.db.unitframe.units.party.raidicon.size = 13 + E.db.unitframe.units.party.raidicon.yOffset = 0 + E.db.unitframe.units.party.targetsGroup.anchorPoint = "BOTTOM" + E.db.unitframe.units.party.width = 80 + E.db.unitframe.units.party.height = 45 + E.db.unitframe.units.party.debuffs.xOffset = -4 + E.db.unitframe.units.party.debuffs.yOffset = -7 + E.db.unitframe.units.party.debuffs.anchorPoint = "TOPRIGHT" + E.db.unitframe.units.party.debuffs.sizeOverride = 21 + E.db.unitframe.units.party.buffs.yOffset = 28 + E.db.unitframe.units.party.buffs.xOffset = 30 + E.db.unitframe.units.party.buffs.sizeOverride = 22 + E.db.unitframe.units.party.groupBy = "GROUP" + E.db.unitframe.colors.auraBarBuff = { + ["r"] = 0.3098039215686275, + ["g"] = 0.07843137254901961, + ["b"] = 0.09411764705882353, + } + + E.db.unitframe.units.raid10.columnAnchorPoint = "BOTTOM" + E.db.unitframe.units.raid10.buffIndicator.fontSize = 10 + E.db.unitframe.units.raid10.point = "RIGHT" + E.db.unitframe.units.raid10.rdebuffs.enable = false + E.db.unitframe.units.raid10.yOffset = 4 + E.db.unitframe.units.raid10.xOffset = -1 + E.db.unitframe.units.raid10.roleIcon.enable = false + E.db.unitframe.units.raid10.power.offset = 7 + E.db.unitframe.units.raid10.positionOverride = "BOTTOMRIGHT" + E.db.unitframe.units.raid10.healPrediction = true + E.db.unitframe.units.raid10.health.frequentUpdates = true + E.db.unitframe.units.raid10.debuffs.enable = true + E.db.unitframe.units.raid10.debuffs.anchorPoint = "TOPRIGHT" + E.db.unitframe.units.raid10.buffs.enable = true + E.db.unitframe.units.raid10.buffs.noConsolidated = false + E.db.unitframe.units.raid10.buffs.anchorPoint = "BOTTOMLEFT" + E.db.unitframe.units.raid10.buffs.clickThrough = true + E.db.unitframe.units.raid10.buffs.useBlacklist = false + E.db.unitframe.units.raid10.buffs.noDuration = false + E.db.unitframe.units.raid10.buffs.playerOnly = false + E.db.unitframe.units.raid10.buffs.perrow = 1 + E.db.unitframe.units.raid10.buffs.useFilter = "TurtleBuffs" + E.db.unitframe.units.raid10.raidicon.attachTo = "LEFT" + E.db.unitframe.units.raid10.raidicon.xOffset = 9 + E.db.unitframe.units.raid10.raidicon.size = 13 + E.db.unitframe.units.raid10.raidicon.yOffset = 0 + E.db.unitframe.units.raid10.name.text_format = "[namecolor][name:veryshort]" + E.db.unitframe.units.raid10.debuffs.sizeOverride = 21 + E.db.unitframe.units.raid10.debuffs.xOffset = -4 + E.db.unitframe.units.raid10.debuffs.yOffset = -7 + E.db.unitframe.units.raid10.height = 45 + E.db.unitframe.units.raid10.width = 80 + E.db.unitframe.units.raid10.buffs.yOffset = 28 + E.db.unitframe.units.raid10.buffs.xOffset = 30 + E.db.unitframe.units.raid10.buffs.sizeOverride = 22 + E.db.unitframe.units.raid10.groupBy = "GROUP" + + E.db.unitframe.units.raid25.columnAnchorPoint = "RIGHT" + E.db.unitframe.units.raid25.buffIndicator.fontSize = 10 + E.db.unitframe.units.raid25.point = "BOTTOM" + E.db.unitframe.units.raid25.rdebuffs.enable = false + E.db.unitframe.units.raid25.xOffset = 1 + E.db.unitframe.units.raid25.roleIcon.enable = false + E.db.unitframe.units.raid25.power.offset = 7 + E.db.unitframe.units.raid25.power.height = 5 + E.db.unitframe.units.raid25.positionOverride = "BOTTOMRIGHT" + E.db.unitframe.units.raid25.healPrediction = true + E.db.unitframe.units.raid25.health.frequentUpdates = true + E.db.unitframe.units.raid25.debuffs.anchorPoint = "TOPRIGHT" + E.db.unitframe.units.raid25.debuffs.enable = true + E.db.unitframe.units.raid25.raidicon.attachTo = "LEFT" + E.db.unitframe.units.raid25.raidicon.xOffset = 9 + E.db.unitframe.units.raid25.raidicon.yOffset = 0 + E.db.unitframe.units.raid25.raidicon.size = 13 + E.db.unitframe.units.raid25.buffs.noConsolidated = false + E.db.unitframe.units.raid25.buffs.enable = true + E.db.unitframe.units.raid25.buffs.anchorPoint = "BOTTOMLEFT" + E.db.unitframe.units.raid25.buffs.clickThrough = true + E.db.unitframe.units.raid25.buffs.useBlacklist = false + E.db.unitframe.units.raid25.buffs.noDuration = false + E.db.unitframe.units.raid25.buffs.playerOnly = false + E.db.unitframe.units.raid25.buffs.perrow = 1 + E.db.unitframe.units.raid25.buffs.useFilter = "TurtleBuffs" + E.db.unitframe.units.raid25.name.text_format = "[namecolor][name:veryshort]" + E.db.unitframe.units.raid25.yOffset = 4 + E.db.unitframe.units.raid25.width = 80 + E.db.unitframe.units.raid25.height = 45 + E.db.unitframe.units.raid25.debuffs.xOffset = -4 + E.db.unitframe.units.raid25.debuffs.yOffset = -7 + E.db.unitframe.units.raid25.debuffs.sizeOverride = 21 + E.db.unitframe.units.raid25.buffs.yOffset = 28 + E.db.unitframe.units.raid25.buffs.xOffset = 30 + E.db.unitframe.units.raid25.buffs.sizeOverride = 22 + E.db.unitframe.units.raid25.groupBy = "GROUP" + + E.db.unitframe.units.raid40.columnAnchorPoint = "RIGHT" + E.db.unitframe.units.raid40.point = "BOTTOM" + E.db.unitframe.units.raid40.xOffset = 1 + E.db.unitframe.units.raid40.yOffset = 1 + E.db.unitframe.units.raid40.positionOverride = "BOTTOMRIGHT" + E.db.unitframe.units.raid40.healPrediction = true + E.db.unitframe.units.raid40.width = 50 + E.db.unitframe.units.raid40.height = 43 + E.db.unitframe.units.raid40.raidicon.xOffset = 9 + E.db.unitframe.units.raid40.raidicon.yOffset = 0 + E.db.unitframe.units.raid40.raidicon.size = 13 + E.db.unitframe.units.raid40.raidicon.attachTo = "LEFT" + E.db.unitframe.units.raid40.rdebuffs.size = 26 + E.db.unitframe.units.raid40.name.position = "TOP" + E.db.unitframe.units.raid40.buffIndicator.fontSize = 10 + E.db.unitframe.units.raid40.power.enable = true + E.db.unitframe.units.raid40.power.offset = 7 + E.db.unitframe.units.raid40.health.text_format = "[healthcolor][health:deficit]" + E.db.unitframe.units.raid40.health.frequentUpdates = true + E.db.unitframe.units.raid40.debuffs.sizeOverride = 21 + E.db.unitframe.units.raid40.debuffs.enable = true + E.db.unitframe.units.raid40.debuffs.perrow = 2 + E.db.unitframe.units.raid40.debuffs.anchorPoint = "TOPRIGHT" + E.db.unitframe.units.raid40.debuffs.clickThrough = true + E.db.unitframe.units.raid40.debuffs.xOffset = -4 + E.db.unitframe.units.raid40.debuffs.yOffset = -9 + E.db.unitframe.units.raid40.debuffs.useBlacklist = false + E.db.unitframe.units.raid40.debuffs.useFilter = "Blacklist" + E.db.unitframe.units.raid40.buffs.xOffset = 21 + E.db.unitframe.units.raid40.buffs.yOffset = 25 + E.db.unitframe.units.raid40.buffs.anchorPoint = "BOTTOMLEFT" + E.db.unitframe.units.raid40.buffs.clickThrough = true + E.db.unitframe.units.raid40.buffs.noConsolidated = false + E.db.unitframe.units.raid40.buffs.noDuration = false + E.db.unitframe.units.raid40.buffs.playerOnly = false + E.db.unitframe.units.raid40.buffs.perrow = 1 + E.db.unitframe.units.raid40.buffs.useFilter = "TurtleBuffs" + E.db.unitframe.units.raid40.buffs.sizeOverride = 17 + E.db.unitframe.units.raid40.buffs.useBlacklist = false + E.db.unitframe.units.raid40.buffs.enable = true + E.db.unitframe.units.raid40.name.text_format = "[namecolor][name:veryshort]" + E.db.unitframe.units.raid40.groupBy = "GROUP" + + --Actionbars + --Bar 1 + E.db.actionbar.bar1.enabled = true + E.db.actionbar.bar1.backdrop = false + E.db.actionbar.bar1.buttons = 12 + E.db.actionbar.bar1.buttonsize = 32 + E.db.actionbar.bar1.buttonspacing = 2 + --Bar 2 + E.db.actionbar.bar2.enabled = true + E.db.actionbar.bar2.backdrop = true + E.db.actionbar.bar2.buttons = 12 + E.db.actionbar.bar2.buttonsize = 32 + E.db.actionbar.bar2.buttonspacing = 2 + E.db.actionbar.bar2.heightMult = 2 + --Bar 3 + E.db.actionbar.bar3.enabled = true + E.db.actionbar.bar3.backdrop = true + E.db.actionbar.bar3.buttons = 6 + E.db.actionbar.bar3.buttonsize = 32 + E.db.actionbar.bar3.buttonspacing = 2 + E.db.actionbar.bar3.buttonsPerRow = 3 + --Bar 4 + E.db.actionbar.bar4.enabled = true + E.db.actionbar.bar4.backdrop = false + E.db.actionbar.bar4.buttons = 12 + E.db.actionbar.bar4.buttonsize = 32 + E.db.actionbar.bar4.buttonspacing = 2 + E.db.actionbar.bar4.buttonsPerRow = 6 + E.db.actionbar.bar4.mouseover = true + E.db.actionbar.bar4.point = "BOTTOMLEFT" + --Bar 5 + E.db.actionbar.bar5.enabled = true + E.db.actionbar.bar5.backdrop = true + E.db.actionbar.bar5.buttons = 6 + E.db.actionbar.bar5.buttonsize = 32 + E.db.actionbar.bar5.buttonspacing = 2 + E.db.actionbar.bar5.buttonsPerRow = 3 + --Stance Bar + E.db.actionbar.stanceBar.buttonsPerRow = 1 + --Pet Bar + E.db.actionbar.barPet.point = "RIGHT" + E.db.actionbar.barPet.buttonsPerRow = 1 + + --Datatext + do + E.db.datatexts.panelTransparency = false + E.db.datatexts.minimapPanels = true + E.db.datatexts.fontOutline = "None" + E.db.sle.datatext.dp1.enabled = false + E.db.sle.datatext.dp2.enabled = false + E.db.sle.datatext.dp3.enabled = false + E.db.sle.datatext.dp4.enabled = false + E.db.sle.datatext.dp5.enabled = false + E.db.sle.datatext.dp6.enabled = true + E.db.sle.datatext.top.enabled = true + E.db.sle.datatext.bottom.enabled = true + if GetScreenWidth() < 1920 then + E.db.sle.datatext.dp6.width = 410 + E.db.sle.datatext.bottom.width = 104 + E.db.sle.datatext.top.width = 104 + E.db.sle.datatext.chatleft.width = 364 + E.db.sle.datatext.chatright.width = 364 + elseif GetScreenWidth() > 1920 then + E.db.sle.datatext.dp6.width = 402 + E.db.sle.datatext.bottom.width = 102 + E.db.sle.datatext.top.width = 102 + E.db.sle.datatext.chatleft.width = 396 + E.db.sle.datatext.chatright.width = 396 + else + E.db.sle.datatext.dp6.width = 410 + E.db.sle.datatext.bottom.width = 104 + E.db.sle.datatext.top.width = 104 + E.db.sle.datatext.chatleft.width = 396 + E.db.sle.datatext.chatright.width = 396 + end + E.db.datatexts.panels['DP_6']['left'] = "System" + E.db.datatexts.panels['DP_6']['middle'] = "Time" + E.db.datatexts.panels['DP_6']['right'] = "Gold" + E.db.datatexts.panels['LeftChatDataPanel']['left'] = "" + E.db.datatexts.panels['LeftChatDataPanel']['middle'] = "" + E.db.datatexts.panels['LeftChatDataPanel']['right'] = "" + E.db.datatexts.panels['RightChatDataPanel']['left'] = "Skada" + E.db.datatexts.panels['RightChatDataPanel']['middle'] = "Combat Time" + E.db.datatexts.panels['RightChatDataPanel']['right'] = "WeakAuras" + E.db.datatexts.panels['Top_Center'] = "Spec Switch" + E.db.datatexts.panels['Bottom_Panel'] = "Bags" + E.db.datatexts.panels['LeftMiniPanel'] = "Guild" + E.db.datatexts.panels['RightMiniPanel'] = "Friends" + + --Datatext Panels Spec Specific + if layout == 'tank' then + --E.db.datatexts.panels.DP_5.middle = "" + --E.db.datatexts.panels.DP_5.right = "" + --E.db.datatexts.panels.DP_6.left = "" + --E.db.datatexts.panels.DP_6.middle = "" + elseif layout == 'healer' then + E.db.datatexts.panels['LeftChatDataPanel']['left'] = "Spell/Heal Power" + E.db.datatexts.panels['LeftChatDataPanel']['middle'] = "Durability" + E.db.datatexts.panels['LeftChatDataPanel']['right'] = "Haste" + elseif layout == 'dpsCaster' then + E.db.datatexts.panels['LeftChatDataPanel']['left'] = "Spell/Heal Power" + E.db.datatexts.panels['LeftChatDataPanel']['middle'] = "Durability" + E.db.datatexts.panels['LeftChatDataPanel']['right'] = "Haste" + else + --E.db.datatexts.panels.DP_5.middle = "" + --E.db.datatexts.panels.DP_5.right = "" + --E.db.datatexts.panels.DP_6.left = "" + --E.db.datatexts.panels.DP_6.middle = "" + end + end + do + if GetScreenWidth() > 1920 then + E.db.movers.ElvAB_3 = "BOTTOMElvUIParentBOTTOM25427" + E.db.movers.ElvAB_5 = "BOTTOMElvUIParentBOTTOM-25427" + E.db.movers.Bottom_Panel_Mover = "BOTTOMElvUIParentBOTTOM2544" + E.db.movers.Top_Center_Mover = "BOTTOMElvUIParentBOTTOM-2544" + else + E.db.movers.ElvAB_3 = "BOTTOMElvUIParentBOTTOM26027" + E.db.movers.ElvAB_5 = "BOTTOMElvUIParentBOTTOM-26027" + E.db.movers.Bottom_Panel_Mover = "BOTTOMElvUIParentBOTTOM2604" + E.db.movers.Top_Center_Mover = "BOTTOMElvUIParentBOTTOM-2604" + end + E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-278200" + E.db.movers.ElvUF_PlayerCastbarMover = "BOTTOMElvUIParentBOTTOM0100" + E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM278200" + E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM0190" + E.db.movers.ElvUF_FocusMover = "BOTTOMElvUIParentBOTTOM310432" + E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM0230" + E.db.movers.ElvAB_1 = "BOTTOMElvUIParentBOTTOM060" + E.db.movers.ElvAB_2 = "BOTTOMElvUIParentBOTTOM027" + E.db.movers.DP_6_Mover = "BOTTOMElvUIParentBOTTOM04" + E.db.movers.LeftChatMover = "BOTTOMLEFTUIParentBOTTOMLEFT021" + E.db.movers.RightChatMover = "BOTTOMRIGHTUIParentBOTTOMRIGHT021" + E.db.movers.PetAB = "RIGHTElvUIParentRIGHT00" + if layout == 'dpsCaster' or layout == 'dpsMelee' or layout == 'tank' then + E.db.movers.ElvUF_PartyMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT4200" + E.db.movers.ElvUF_Raid10Mover = "BOTTOMLEFTElvUIParentBOTTOMLEFT4200" + E.db.movers.ElvUF_Raid25Mover = "BOTTOMLEFTElvUIParentBOTTOMLEFT4200" + E.db.movers.ElvUF_Raid40Mover = "BOTTOMLEFTElvUIParentBOTTOMLEFT4200" + E.db.movers["BossButton"] = "CENTERElvUIParentCENTER-413188" + else + E.db.movers.ElvUF_PartyMover = "BOTTOMRIGHTElvUIParentCENTER-213-90" + E.db.movers.ElvUF_Raid10Mover = "BOTTOMRIGHTElvUIParentCENTER-213-90" + E.db.movers.ElvUF_Raid25Mover = "BOTTOMRIGHTElvUIParentCENTER-213-90" + E.db.movers.ElvUF_Raid40Mover = "BOTTOMRIGHTElvUIParentCENTER-213-90" + E.db.movers["BossButton"] = "CENTERElvUIParentCENTER-413188" + end + + if GetScreenWidth() < 1920 then + E.db.movers.ElvAB_4 = "BOTTOMLEFTElvUIParentBOTTOMRIGHT-380200" + E.db.movers.ShiftAB = "BOTTOMLEFTElvUIParentBOTTOMLEFT38221" + E.db.movers.TotemBarMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT38221" + else + E.db.movers.ElvAB_4 = "BOTTOMLEFTElvUIParentBOTTOMRIGHT-413200" + E.db.movers.ShiftAB = "BOTTOMLEFTElvUIParentBOTTOMLEFT41421" + E.db.movers.TotemBarMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT41421" + end + end + + if loadAddons then + print("attempt to load addons") + AI:LoadAddons("Affinitii, All") + end + E:UpdateAll(true) +end +function E:HudSimple() + local H = E:GetModule('HUD') + InstallStepComplete.message = L["Simple Layout Set"] + InstallStepComplete:Show() + H:SimpleLayout() + H:UpdateAllFrames() +end + +function E:HudDefault() + local H = E:GetModule('HUD') + InstallStepComplete.message = L["Default Layout"] + InstallStepComplete:Show() + E:CopyTable(E.db.hud,P.hud) + H:UpdateAllFrames() +end + +local function InstallComplete() + E.private.install_complete = E.version + + if GetCVarBool("Sound_EnableMusic") then + StopMusic() + end + + ReloadUI() +end + +local function ResetAll() + InstallNextButton:Disable() + InstallPrevButton:Disable() + InstallOption1Button:Hide() + InstallOption1Button:SetScript("OnClick", nil) + InstallOption1Button:SetText("") + InstallOption2Button:Hide() + InstallOption2Button:SetScript('OnClick', nil) + InstallOption2Button:SetText('') + InstallOption3Button:Hide() + InstallOption3Button:SetScript('OnClick', nil) + InstallOption3Button:SetText('') + InstallOption4Button:Hide() + InstallOption4Button:SetScript('OnClick', nil) + InstallOption4Button:SetText('') + ElvUIInstallFrame.SubTitle:SetText("") + ElvUIInstallFrame.Desc1:SetText("") + ElvUIInstallFrame.Desc2:SetText("") + ElvUIInstallFrame.Desc3:SetText("") + ElvUIInstallFrame:Size(550, 400) +end + +local function SetPage(PageNum) + CURRENT_PAGE = PageNum + ResetAll() + InstallStatus:SetValue(PageNum) + + local f = ElvUIInstallFrame + + if PageNum == MAX_PAGE then + InstallNextButton:Disable() + else + InstallNextButton:Enable() + end + + if PageNum == 1 then + InstallPrevButton:Disable() + else + InstallPrevButton:Enable() + end + + if PageNum == 1 then + f.SubTitle:SetText(format(L["Welcome to ElvUI version %s!"], E.version)) + f.Desc1:SetText(L["This install process will help you learn some of the features in ElvUI has to offer and also prepare your user interface for usage."]) + f.Desc2:SetText(L["The in-game configuration menu can be accesses by typing the /ec command or by clicking the 'C' button on the minimap. Press the button below if you wish to skip the installation process."]) + f.Desc3:SetText(L["Please press the continue button to go onto the next step."]) + + InstallOption1Button:Show() + InstallOption1Button:SetScript("OnClick", InstallComplete) + InstallOption1Button:SetText(L["Skip Process"]) + elseif PageNum == 2 then + f.SubTitle:SetText(L["CVars"]) + f.Desc1:SetText(L["This part of the installation process sets up your World of Warcraft default options it is recommended you should do this step for everything to behave properly."]) + f.Desc2:SetText(L["Please click the button below to setup your CVars."]) + f.Desc3:SetText(L["Importance: |cff07D400High|r"]) + InstallOption1Button:Show() + InstallOption1Button:SetScript("OnClick", SetupCVars) + InstallOption1Button:SetText(L["Setup CVars"]) + elseif PageNum == 3 then + f.SubTitle:SetText(L["Chat"]) + f.Desc1:SetText(L["This part of the installation process sets up your chat windows names, positions and colors."]) + f.Desc2:SetText(L["The chat windows function the same as Blizzard standard chat windows, you can right click the tabs and drag them around, rename, etc. Please click the button below to setup your chat windows."]) + f.Desc3:SetText(L["Importance: |cffD3CF00Medium|r"]) + InstallOption1Button:Show() + InstallOption1Button:SetScript("OnClick", SetupChat) + InstallOption1Button:SetText(L["Setup Chat"]) + elseif PageNum == 4 then + f.SubTitle:SetText(L["Pixel Perfect"]) + f.Desc1:SetText(L['The Pixel Perfect option will change the overall apperance of your UI. Using Pixel Perfect is a slight performance increase over the traditional layout.']) + f.Desc2:SetText(L['Using this option will cause your borders around frames to be 1 pixel wide instead of 3 pixel. You may have to finish the installation to notice a differance. By default this is enabled.']) + f.Desc3:SetText(L["Importance: |cffFF0000Low|r"]) + + InstallOption1Button:Show() + InstallOption1Button:SetScript('OnClick', function() E:SetupPixelPerfect(true) end) + InstallOption1Button:SetText(L["Enable"]) + InstallOption2Button:Show() + InstallOption2Button:SetScript('OnClick', function() E:SetupPixelPerfect(false) end) + InstallOption2Button:SetText(L['Disable']) + elseif PageNum == 5 then + f.SubTitle:SetText(L['Theme Setup']) + f.Desc1:SetText(L['Choose a theme layout you wish to use for your initial setup.']) + f.Desc2:SetText(L['You can always change fonts and colors of any element of elvui from the in-game configuration.']) + f.Desc3:SetText(L["Importance: |cffFF0000Low|r"]) + + InstallOption1Button:Show() + InstallOption1Button:SetScript('OnClick', function() E:SetupTheme('classic') end) + InstallOption1Button:SetText(L["Classic"]) + InstallOption2Button:Show() + InstallOption2Button:SetScript('OnClick', function() E:SetupTheme('default') end) + InstallOption2Button:SetText(L['Dark']) + InstallOption3Button:Show() + InstallOption3Button:SetScript('OnClick', function() E:SetupTheme('class') end) + InstallOption3Button:SetText(CLASS) + elseif PageNum == 6 then + f.SubTitle:SetText(L["Resolution"]) + f.Desc1:SetText(format(L["Your current resolution is %s, this is considered a %s resolution."], E.resolution, E.lowversion == true and L["low"] or L["high"])) + if E.lowversion then + f.Desc2:SetText(L["This resolution requires that you change some settings to get everything to fit on your screen."].." "..L["Click the button below to resize your chat frames, unitframes, and reposition your actionbars."].." "..L["You may need to further alter these settings depending how low you resolution is."]) + f.Desc3:SetText(L["Importance: |cff07D400High|r"]) + else + f.Desc2:SetText(L["This resolution doesn't require that you change settings for the UI to fit on your screen."].." "..L["Click the button below to resize your chat frames, unitframes, and reposition your actionbars."].." "..L["This is completely optional."]) + f.Desc3:SetText(L["Importance: |cffFF0000Low|r"]) + end + + InstallOption1Button:Show() + InstallOption1Button:SetScript('OnClick', function() E.SetupResolution('high') end) + InstallOption1Button:SetText(L["High Resolution"]) + InstallOption2Button:Show() + InstallOption2Button:SetScript('OnClick', function() E.SetupResolution('low') end) + InstallOption2Button:SetText(L['Low Resolution']) + elseif PageNum == 7 then + f.SubTitle:SetText(L["Layout"]) + f.Desc1:SetText(L["You can now choose what layout you wish to use based on your combat role."]) + f.Desc2:SetText(L["This will change the layout of your unitframes, raidframes, and datatexts."]) + f.Desc3:SetText(L["Importance: |cffD3CF00Medium|r"]) + InstallOption1Button:Show() + InstallOption1Button:SetScript('OnClick', function() E.db.layoutSet = nil; E:SetupLayout('tank') end) + InstallOption1Button:SetText(L['Tank']) + InstallOption2Button:Show() + InstallOption2Button:SetScript('OnClick', function() E.db.layoutSet = nil; E:SetupLayout('healer') end) + InstallOption2Button:SetText(L['Healer']) + InstallOption3Button:Show() + InstallOption3Button:SetScript('OnClick', function() E.db.layoutSet = nil; E:SetupLayout('dpsMelee') end) + InstallOption3Button:SetText(L['Physical DPS']) + InstallOption4Button:Show() + InstallOption4Button:SetScript('OnClick', function() E.db.layoutSet = nil; E:SetupLayout('dpsCaster') end) + InstallOption4Button:SetText(L['Caster DPS']) + elseif PageNum == 8 then + f.SubTitle:SetText(L["Auras System"]) + f.Desc1:SetText(L["Select the type of aura system you want to use with ElvUI's unitframes. The integrated system utilizes both aura-bars and aura-icons. The icons only system will display only icons and aurabars won't be used. The classic system will configure your auras to how they were pre-v4."]) + f.Desc2:SetText(L["If you have an icon or aurabar that you don't want to display simply hold down shift and right click the icon for it to disapear."]) + f.Desc3:SetText(L["Importance: |cffD3CF00Medium|r"]) + InstallOption1Button:Show() + InstallOption1Button:SetScript('OnClick', function() SetupAuras('classic') end) + InstallOption1Button:SetText(L['Classic']) + InstallOption2Button:Show() + InstallOption2Button:SetScript('OnClick', function() SetupAuras() end) + InstallOption2Button:SetText(L['Icons Only']) + InstallOption3Button:Show() + InstallOption3Button:SetScript('OnClick', function() SetupAuras('integrated') end) + InstallOption3Button:SetText(L['Integrated']) + elseif PageNum == 9 then --The new page + f.SubTitle:SetText(L["Shadow & Light Settings"]) + f.Desc1:SetText(L["You can now choose if you what to use one of authors' set of options. This will change not only the positioning of some elements but also change a bunch of other options."]) + f.Desc2:SetText(L["SLE_Install_Text2"]) + f.Desc3:SetText(L["Importance: |cffFF0000Low|r"]) + + InstallOption1Button:Show() + InstallOption1Button:SetScript('OnClick', function() E:StaticPopup_Show("ELVUI_SLE_DARTH") end) + InstallOption1Button:SetText(L["Darth's Config"]) + + InstallOption2Button:Show() + InstallOption2Button:SetScript('OnClick', function() E:StaticPopup_Show("ELVUI_SLE_AFFINITII") end) + InstallOption2Button:SetText(L["Affinitii's Config"]) + + InstallOption3Button:Show() + local pixel = E.PixelMode + if pixel then + InstallOption3Button:SetScript('OnClick', function() E:RepoocSetup() end) + else + InstallOption3Button:SetScript('OnClick', function() E:StaticPopup_Show("ELVUI_SLE_REPOOC") end) + end + InstallOption3Button:SetText(L["Repooc's Config"]) + elseif PageNum == 10 and IsAddOnLoaded("ElvUI_Hud") then --Hud's page if enabled + f.SubTitle:SetText("ElvUI Hud") + f.Desc1:SetText(L["Thank you for using ElvUI Hud!"]) + f.Desc2:SetText(L["Here you can choose between the simple layout (only player health and power) or the default layout for the hud"]) + f.Desc3:SetText(L["Importance: |cffFF0000Low|r"]) + + InstallOption1Button:Show() + InstallOption1Button:SetScript('OnClick', function() E:HudSimple() end) + InstallOption1Button:SetText(L["Simple Layout"]) + InstallOption2Button:Show() + InstallOption2Button:SetScript('OnClick', function() E:HudDefault() end) + InstallOption2Button:SetText(L["Default Layout"]) + elseif PageNum == 10 and not IsAddOnLoaded("ElvUI_Hud") then --Finish install if Hud disabled + f.SubTitle:SetText(L["Installation Complete"]) + f.Desc1:SetText(L["You are now finished with the installation process. If you are in need of technical support please visit us at http://www.tukui.org."]) + f.Desc2:SetText(L["Please click the button below so you can setup variables and ReloadUI."]) + InstallOption1Button:Show() + InstallOption1Button:SetScript("OnClick", InstallComplete) + InstallOption1Button:SetText(L["Finished"]) + ElvUIInstallFrame:Size(550, 350) + elseif PageNum == 11 then --Finish install if Hud enabled + f.SubTitle:SetText(L["Installation Complete"]) + f.Desc1:SetText(L["You are now finished with the installation process. If you are in need of technical support please visit us at http://www.tukui.org."]) + f.Desc2:SetText(L["Please click the button below so you can setup variables and ReloadUI."]) + InstallOption1Button:Show() + InstallOption1Button:SetScript("OnClick", InstallComplete) + InstallOption1Button:SetText(L["Finished"]) + ElvUIInstallFrame:Size(550, 350) + end +end + +local function NextPage() + if CURRENT_PAGE ~= MAX_PAGE then + CURRENT_PAGE = CURRENT_PAGE + 1 + SetPage(CURRENT_PAGE) + end +end + +local function PreviousPage() + if CURRENT_PAGE ~= 1 then + CURRENT_PAGE = CURRENT_PAGE - 1 + SetPage(CURRENT_PAGE) + end +end + +--Install UI +function E:Install() + --ElvUI don't have this? + MaxPages() + if not InstallStepComplete then + local imsg = CreateFrame("Frame", "InstallStepComplete", E.UIParent) + imsg:Size(418, 72) + imsg:Point("TOP", 0, -190) + imsg:Hide() + imsg:SetScript('OnShow', function(self) + if self.message then + PlaySoundFile([[Sound\Interface\LevelUp.wav]]) + self.text:SetText(self.message) + UIFrameFadeOut(self, 3.5, 1, 0) + E:Delay(4, function() self:Hide() end) + self.message = nil + + if imsg.firstShow == false then + if GetCVarBool("Sound_EnableMusic") then + PlayMusic([[Sound\Music\ZoneMusic\DMF_L70ETC01.mp3]]) + end + imsg.firstShow = true + end + else + self:Hide() + end + end) + + imsg.firstShow = false + + imsg.bg = imsg:CreateTexture(nil, 'BACKGROUND') + imsg.bg:SetTexture([[Interface\LevelUp\LevelUpTex]]) + imsg.bg:SetPoint('BOTTOM') + imsg.bg:Size(326, 103) + imsg.bg:SetTexCoord(0.00195313, 0.63867188, 0.03710938, 0.23828125) + imsg.bg:SetVertexColor(1, 1, 1, 0.6) + + imsg.lineTop = imsg:CreateTexture(nil, 'BACKGROUND') + imsg.lineTop:SetDrawLayer('BACKGROUND', 2) + imsg.lineTop:SetTexture([[Interface\LevelUp\LevelUpTex]]) + imsg.lineTop:SetPoint("TOP") + imsg.lineTop:Size(418, 7) + imsg.lineTop:SetTexCoord(0.00195313, 0.81835938, 0.01953125, 0.03320313) + + imsg.lineBottom = imsg:CreateTexture(nil, 'BACKGROUND') + imsg.lineBottom:SetDrawLayer('BACKGROUND', 2) + imsg.lineBottom:SetTexture([[Interface\LevelUp\LevelUpTex]]) + imsg.lineBottom:SetPoint("BOTTOM") + imsg.lineBottom:Size(418, 7) + imsg.lineBottom:SetTexCoord(0.00195313, 0.81835938, 0.01953125, 0.03320313) + + imsg.text = imsg:CreateFontString(nil, 'ARTWORK', 'GameFont_Gigantic') + imsg.text:Point("BOTTOM", 0, 12) + imsg.text:SetTextColor(1, 0.82, 0) + imsg.text:SetJustifyH("CENTER") + end + + --Create Frame + if not ElvUIInstallFrame then + local f = CreateFrame("Button", "ElvUIInstallFrame", E.UIParent) + f.SetPage = SetPage + f:Size(550, 400) + f:SetTemplate("Transparent") + f:SetPoint("CENTER") + f:SetFrameStrata('TOOLTIP') + + f.Title = f:CreateFontString(nil, 'OVERLAY') + f.Title:FontTemplate(nil, 17, nil) + f.Title:Point("TOP", 0, -5) + f.Title:SetText(L["ElvUI Installation"]) + + f.Next = CreateFrame("Button", "InstallNextButton", f, "UIPanelButtonTemplate") + f.Next:StripTextures() + f.Next:SetTemplate("Default", true) + f.Next:Size(110, 25) + f.Next:Point("BOTTOMRIGHT", -5, 5) + f.Next:SetText(CONTINUE) + f.Next:Disable() + f.Next:SetScript("OnClick", NextPage) + E.Skins:HandleButton(f.Next, true) + + f.Prev = CreateFrame("Button", "InstallPrevButton", f, "UIPanelButtonTemplate") + f.Prev:StripTextures() + f.Prev:SetTemplate("Default", true) + f.Prev:Size(110, 25) + f.Prev:Point("BOTTOMLEFT", 5, 5) + f.Prev:SetText(PREVIOUS) + f.Prev:Disable() + f.Prev:SetScript("OnClick", PreviousPage) + E.Skins:HandleButton(f.Prev, true) + + f.Status = CreateFrame("StatusBar", "InstallStatus", f) + f.Status:SetFrameLevel(f.Status:GetFrameLevel() + 2) + f.Status:CreateBackdrop("Default") + f.Status:SetStatusBarTexture(E["media"].normTex) + f.Status:SetStatusBarColor(unpack(E["media"].rgbvaluecolor)) + f.Status:SetMinMaxValues(0, MAX_PAGE) + f.Status:Point("TOPLEFT", f.Prev, "TOPRIGHT", 6, -2) + f.Status:Point("BOTTOMRIGHT", f.Next, "BOTTOMLEFT", -6, 2) + f.Status.text = f.Status:CreateFontString(nil, 'OVERLAY') + f.Status.text:FontTemplate() + f.Status.text:SetPoint("CENTER") + f.Status.text:SetText(CURRENT_PAGE.." / "..MAX_PAGE) + f.Status:SetScript("OnValueChanged", function(self) + self.text:SetText(self:GetValue().." / "..MAX_PAGE) + end) + + f.Option1 = CreateFrame("Button", "InstallOption1Button", f, "UIPanelButtonTemplate") + f.Option1:StripTextures() + f.Option1:Size(160, 30) + f.Option1:Point("BOTTOM", 0, 45) + f.Option1:SetText("") + f.Option1:Hide() + E.Skins:HandleButton(f.Option1, true) + + f.Option2 = CreateFrame("Button", "InstallOption2Button", f, "UIPanelButtonTemplate") + f.Option2:StripTextures() + f.Option2:Size(110, 30) + f.Option2:Point('BOTTOMLEFT', f, 'BOTTOM', 4, 45) + f.Option2:SetText("") + f.Option2:Hide() + f.Option2:SetScript('OnShow', function() f.Option1:SetWidth(110); f.Option1:ClearAllPoints(); f.Option1:Point('BOTTOMRIGHT', f, 'BOTTOM', -4, 45) end) + f.Option2:SetScript('OnHide', function() f.Option1:SetWidth(160); f.Option1:ClearAllPoints(); f.Option1:Point("BOTTOM", 0, 45) end) + E.Skins:HandleButton(f.Option2, true) + + f.Option3 = CreateFrame("Button", "InstallOption3Button", f, "UIPanelButtonTemplate") + f.Option3:StripTextures() + f.Option3:Size(100, 30) + f.Option3:Point('LEFT', f.Option2, 'RIGHT', 4, 0) + f.Option3:SetText("") + f.Option3:Hide() + f.Option3:SetScript('OnShow', function() f.Option1:SetWidth(100); f.Option1:ClearAllPoints(); f.Option1:Point('RIGHT', f.Option2, 'LEFT', -4, 0); f.Option2:SetWidth(100); f.Option2:ClearAllPoints(); f.Option2:Point('BOTTOM', f, 'BOTTOM', 0, 45) end) + f.Option3:SetScript('OnHide', function() f.Option1:SetWidth(160); f.Option1:ClearAllPoints(); f.Option1:Point("BOTTOM", 0, 45); f.Option2:SetWidth(110); f.Option2:ClearAllPoints(); f.Option2:Point('BOTTOMLEFT', f, 'BOTTOM', 4, 45) end) + E.Skins:HandleButton(f.Option3, true) + + f.Option4 = CreateFrame("Button", "InstallOption4Button", f, "UIPanelButtonTemplate") + f.Option4:StripTextures() + f.Option4:Size(100, 30) + f.Option4:Point('LEFT', f.Option3, 'RIGHT', 4, 0) + f.Option4:SetText("") + f.Option4:Hide() + f.Option4:SetScript('OnShow', function() + f.Option1:Width(100) + f.Option2:Width(100) + + f.Option1:ClearAllPoints(); + f.Option1:Point('RIGHT', f.Option2, 'LEFT', -4, 0); + f.Option2:ClearAllPoints(); + f.Option2:Point('BOTTOMRIGHT', f, 'BOTTOM', -4, 45) + end) + f.Option4:SetScript('OnHide', function() f.Option1:SetWidth(160); f.Option1:ClearAllPoints(); f.Option1:Point("BOTTOM", 0, 45); f.Option2:SetWidth(110); f.Option2:ClearAllPoints(); f.Option2:Point('BOTTOMLEFT', f, 'BOTTOM', 4, 45) end) + E.Skins:HandleButton(f.Option4, true) + + f.SubTitle = f:CreateFontString(nil, 'OVERLAY') + f.SubTitle:FontTemplate(nil, 15, nil) + f.SubTitle:Point("TOP", 0, -40) + + f.Desc1 = f:CreateFontString(nil, 'OVERLAY') + f.Desc1:FontTemplate() + f.Desc1:Point("TOPLEFT", 20, -75) + f.Desc1:Width(f:GetWidth() - 40) + + f.Desc2 = f:CreateFontString(nil, 'OVERLAY') + f.Desc2:FontTemplate() + f.Desc2:Point("TOPLEFT", 20, -125) + f.Desc2:Width(f:GetWidth() - 40) + + f.Desc3 = f:CreateFontString(nil, 'OVERLAY') + f.Desc3:FontTemplate() + f.Desc3:Point("TOPLEFT", 20, -175) + f.Desc3:Width(f:GetWidth() - 40) + + local close = CreateFrame("Button", "InstallCloseButton", f, "UIPanelCloseButton") + close:SetPoint("TOPRIGHT", f, "TOPRIGHT") + close:SetScript("OnClick", function() + f:Hide() + end) + E.Skins:HandleCloseButton(close) + + f.tutorialImage = f:CreateTexture('InstallTutorialImage', 'OVERLAY') + f.tutorialImage:Size(256, 128) + f.tutorialImage:SetTexture('Interface\\AddOns\\ElvUI_SLE\\media\\textures\\logo_elvui_sle.tga') + f.tutorialImage:Point('BOTTOM', 0, 70) + + end + + ElvUIInstallFrame:Show() + NextPage() +end \ No newline at end of file diff --git a/ElvUI_SLE/modules/install/installer.lua b/ElvUI_SLE/modules/install/installer.lua new file mode 100644 index 0000000..ac1f7ff --- /dev/null +++ b/ElvUI_SLE/modules/install/installer.lua @@ -0,0 +1,152 @@ +local E, L, V, P, G, _ = unpack(ElvUI); --Inport: Engine, Locales, PrivateDB, ProfileDB, GlobalDB, Localize Underscore +local AI = E:NewModule('AddonInstaller') + +-- Upvalue for performance +local pairs, string, table, unpack, _G = pairs, string, table, unpack, _G +local string_find, string_format, string_gsub, string_sub, table_insert, table_remove + = string.find, string.format, string.gsub, string.sub, table.insert, table.remove + +-- A local database of addons +AI.addons = { } +AI.MyProfileKey = string_format('%s - %s', UnitName('player'), GetRealmName() ) +AI.MyProfileName = "Shadow and Light" + +-- Let's put all the RegEx stuff here +local regex_trim = '^%s*(.-)%s*$' +local regex_match = '([ A-Za-z0-9_+*\\-]+)%s?,' + +--[==[ + AddonInstaller:RegisterAddonProfile(name, ace3, dbname, onDemand) + + input: (*optional) + + name [string] + The name name of the addon to use in the Command Args when enabling. + + ace3 [boolean] + Indicator whether to treat this entry as an Ace3 compatible profile, + or just some random entries into an addon's database. + + dbname [string] + The name of the addon's database (e.g. 'ElvCharacterDB') + + onDemand [function] + The function that will generate the "load on demand" profile. + + description: + This function allows addon modules to register themselves so that they can get + loaded when the user installs this UI. + + returns: + nil +]==] +function AI:RegisterAddonProfile(name, ace3, dbname, onDemand) + if not self.addons[name] then self.addons[name] = { } end + table_insert(self.addons[name], { OnDemand = onDemand, dbname = dbname, ace3 = ace3 }) +end + +-- A private function that loads a specific addon database entry +local function LoadAddon(entry, profileName) + local ADDON_DB = _G[entry.dbname] + local myDB = entry.OnDemand(profileName) + + if ADDON_DB and myDB then + if entry.ace3 then + -- Profile will be: "Shadow and Light (Affinitii)" + local profile = string_format('%s (%s)', AI.MyProfileName, profileName) + + -- If the addon is loaded AND the profile is Ace3, lets load it + ADDON_DB.profiles[profile] = myDB -- Insert our new profile + + -- Set the profile as the default for this toon + ADDON_DB.profileKeys[AI.MyProfileKey] = profile + else + for key, value in pairs(myDB) do + ADDON_DB[key] = value + end + end + end +end + +--[==[ + AddonInstaller:LoadAddons(args) + + input: (*optional) + args [string] + This is a comma separated list, where the first value is the profile that you + want to load. The second arg can be "All" for all addons or the second and + following args can list the addons one at a time. + + examples: + + 1. args = "Repooc, All" + + Loads all addons with the profile name "Repooc" + + 2. args = "Darth, Hermes, xCT+," + + Loads Hermes and xCT+ addons with the profile name "Darth" + + description: + This function was create to allow the loading of external addons profiles when a + UI is installed. + + returns: + nil +]==] + +function AI:LoadAddons(args) + -- This section of code parses the args + local ListArgs = { } + + -- Trim the text (remove spaces), placed a nil check inside + args = string_gsub(args or '', regex_trim, '%1') + + -- Add a comma onto the end + if string_sub(args, #args) ~= ',' then + args = args .. ',' + end + + local i, j = 0, 0 + while i do + i, j = string_find(args, regex_match, j) -- find all patterns that match 'Arg_1 Test+,' + if i then + -- Get the current pattern [ sub(index, length-1 ], trim all the spaces, and add it to the list of args + local arg = string_gsub(string_sub(args, i, j-1), regex_trim, '%1') + table_insert(ListArgs, arg) + end + end + -- Args parsing completed! + + --[==[ + -- DEBUG: See what args I have :) + for i, v in pairs(ListArgs) do + print(i,'=',v) + end + ]==] + + -- Get the profile name and see if we are loading All addons + local profileName, LOAD_ALL = ( ListArgs[1] or 'default' ), ( ListArgs[2] == 'All' ) + table_remove(ListArgs, 1) -- Remove the profile name, all we have left in the list are addons to load :) + + if LOAD_ALL then -- Load all the addons + for name, entryList in pairs(self.addons) do -- Just load all the addons for this profile + for _, entry in pairs(entryList) do -- Loop through all the entries (could be multiple, like bigwigs) + LoadAddon(entry, profileName) + end + end + else -- Load a specific set of addons + for _, name in pairs(ListArgs) do -- we need to figure out which addons to load + local entryList = self.addons[name] + + -- Check for addon name + if entry then + for _, entry in pairs(entryList) do -- Loop through all the entries + LoadAddon(entry, profileName) + end + else + E:Print(" |cffFF0000ERROR:|r No Addon named '"..name.."' was found in the SLE addon configs.") + end + end + end +end \ No newline at end of file diff --git a/ElvUI_SLE/modules/install/load_install.xml b/ElvUI_SLE/modules/install/load_install.xml new file mode 100644 index 0000000..6a69aad --- /dev/null +++ b/ElvUI_SLE/modules/install/load_install.xml @@ -0,0 +1,9 @@ +<Ui xmlns="http://www.blizzard.com/wow/ui/"> + <Script file='installer.lua'/> + <Script file='install.lua'/> + <Script file='BigWigs.lua'/> + <Script file='BigWigsFights.lua'/> + <Script file='BigWigsIcon.lua'/> + <Script file='Hermes.lua'/> + <Script file='xCT+.lua'/> +</Ui> \ No newline at end of file diff --git a/ElvUI_SLE/modules/install/xCT+.lua b/ElvUI_SLE/modules/install/xCT+.lua new file mode 100644 index 0000000..294cb96 --- /dev/null +++ b/ElvUI_SLE/modules/install/xCT+.lua @@ -0,0 +1,109 @@ +local E, L, V, P, G, _ = unpack(ElvUI); +local AI = E:GetModule('AddonInstaller') + +local ace3 = true -- whether or not this database is a Ace3 profile +local name = 'xCT+' -- the name of the addon +local dbname = 'xCTSavedDB' -- name of the addon database + +local function OnDemand(profile) -- function that creates the "load on demand" database + local database + if profile == "Affinitii" then + database = { + ["blizzardFCT"] = { + ["font"] = "KGSmallTownSouthernGirl", + }, + ["spells"] = { + ["mergeCriticalsByThemselves"] = true, + ["mergeDontMergeCriticals"] = false, + }, + ["frames"] = { + ["general"] = { + ["showBuffs"] = false, + ["fontOutline"] = "2OUTLINE", + ["Width"] = 510, + ["font"] = "KGSmallTownSouthernGirl", + ["enabledFrame"] = false, + ["Height"] = 127, + }, + ["power"] = { + ["enabledFrame"] = false, + ["fontOutline"] = "2OUTLINE", + ["Width"] = 255, + ["font"] = "KGSmallTownSouthernGirl", + }, + ["healing"] = { + ["enabledFrame"] = false, + ["Width"] = 382, + ["Y"] = 89, + ["font"] = "KGSmallTownSouthernGirl", + ["Height"] = 143, + ["fontOutline"] = "2OUTLINE", + ["X"] = -319, + }, + ["outgoing"] = { + ["fontSize"] = 17, + ["fontOutline"] = "2OUTLINE", + ["enableScrollable"] = true, + ["Width"] = 149, + ["Y"] = -61, + ["X"] = 901, + ["iconsSize"] = 17, + ["font"] = "KGSmallTownSouthernGirl", + }, + ["critical"] = { + ["fontSize"] = 17, + ["iconsSize"] = 19, + ["fontOutline"] = "2OUTLINE", + ["Width"] = 149, + ["Y"] = 102, + ["font"] = "KGSmallTownSouthernGirl", + ["Height"] = 126, + ["X"] = 901, + }, + ["procs"] = { + ["enabledFrame"] = false, + ["enableScrollable"] = true, + ["Y"] = 101, + ["X"] = 1, + ["Height"] = 127, + ["font"] = "KGSmallTownSouthernGirl", + ["fontOutline"] = "2OUTLINE", + }, + ["loot"] = { + ["fontOutline"] = "2OUTLINE", + ["Width"] = 510, + ["Y"] = -223, + ["font"] = "KGSmallTownSouthernGirl", + ["Height"] = 126, + }, + ["class"] = { + ["fontOutline"] = "2OUTLINE", + ["font"] = "KGSmallTownSouthernGirl", + ["enabledFrame"] = false, + }, + ["damage"] = { + ["fontSize"] = 17, + ["X"] = 201, + ["Width"] = 133, + ["Y"] = -32, + ["font"] = "KGSmallTownSouthernGirl", + ["Height"] = 170, + ["fontOutline"] = "2OUTLINE", + }, + }, + } + end + + if profile == "Repooc" then + -- No Settings + end + + if profile == "Darth" then + -- No Settings + end + + return database +end + +-- register the profile with the engine +AI:RegisterAddonProfile(name, ace3, dbname, OnDemand) \ No newline at end of file diff --git a/ElvUI_SLE/modules/load_modules.xml b/ElvUI_SLE/modules/load_modules.xml index ed2a179..e36a863 100644 --- a/ElvUI_SLE/modules/load_modules.xml +++ b/ElvUI_SLE/modules/load_modules.xml @@ -1,5 +1,5 @@ <Ui xmlns="http://www.blizzard.com/wow/ui/"> - <Script file='install.lua'/> + <Include file='install\load_install.xml'/> <Script file='options.lua'/> <Script file='pvpmover\pvpmover.lua'/> <Include file='autorelease\load_autorelease.xml'/>