diff --git a/ElvUI_SLE/modules/install.lua b/ElvUI_SLE/modules/install.lua
index 0432f6a..53d9ecf 100644
--- a/ElvUI_SLE/modules/install.lua
+++ b/ElvUI_SLE/modules/install.lua
@@ -1,1919 +1,1920 @@
-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, "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_AddMessageGroup(ChatFrame1, "INSTANCE_CHAT")
- ChatFrame_AddMessageGroup(ChatFrame1, "INSTANCE_CHAT_LEADER")
-
- 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, "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")
- ToggleChatColorNamesByClassGroup(true, "INSTANCE_CHAT")
- ToggleChatColorNamesByClassGroup(true, "INSTANCE_CHAT_LEADER")
-
- --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.movers["ElvUF_PetMover"] = "BOTTOMElvUIParentBOTTOM0104"
- E.db.movers["ElvUF_TargetTargetMover"] = "BOTTOMElvUIParentBOTTOM064"
- E.db.movers["ElvUF_PlayerMover"] = "BOTTOMElvUIParentBOTTOM-27865"
- E.db.movers["ElvUF_TargetMover"] = "BOTTOMElvUIParentBOTTOM27864"
-
- 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 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.party.health.frequentUpdates = true;
- E.db.unitframe.units.raid25.health.frequentUpdates = true;
- E.db.unitframe.units.raid40.health.frequentUpdates = true;
-
- E.db.unitframe.units.raid40.height = 36;
- E.db.unitframe.units.raid40.health.text = true;
- E.db.unitframe.units.raid40.name.position = 'TOP';
- E.db.unitframe.units.raid40.roleIcon.enable = true;
- 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;
-
- E.db.unitframe.units.party.point = 'LEFT';
- E.db.unitframe.units.party.xOffset = 5;
- E.db.unitframe.units.party.healPrediction = true;
- E.db.unitframe.units.party.columnAnchorPoint = 'LEFT';
- E.db.unitframe.units.party.width = 80;
- E.db.unitframe.units.party.height = 52;
- E.db.unitframe.units.party.health.text_format = "[healthcolor][health:deficit]"
- E.db.unitframe.units.party.health.position = 'BOTTOM';
- E.db.unitframe.units.party.health.orientation = 'VERTICAL';
- E.db.unitframe.units.party.name.position = 'TOP';
- E.db.unitframe.units.party.name.text_format = "[namecolor][name:medium]";
- E.db.unitframe.units.party.debuffs.anchorPoint = 'BOTTOMLEFT';
- E.db.unitframe.units.party.debuffs.initialAnchor = 'TOPLEFT';
- E.db.unitframe.units.party.debuffs.useFilter = 'Blacklist';
- E.db.unitframe.units.party.debuffs.sizeOverride = 0;
- E.db.unitframe.units.party.petsGroup.enable = true;
- E.db.unitframe.units.party.petsGroup.width = 80;
- E.db.unitframe.units.party.petsGroup.initialAnchor = 'BOTTOM';
- E.db.unitframe.units.party.petsGroup.anchorPoint = 'TOP';
- E.db.unitframe.units.party.petsGroup.xOffset = 0;
- E.db.unitframe.units.party.petsGroup.yOffset = 1;
- E.db.unitframe.units.party.targetsGroup.enable = false;
- E.db.unitframe.units.party.targetsGroup.width = 80;
- E.db.unitframe.units.party.targetsGroup.initialAnchor = 'BOTTOM';
- E.db.unitframe.units.party.targetsGroup.anchorPoint = 'TOP';
- E.db.unitframe.units.party.targetsGroup.xOffset = 0;
- E.db.unitframe.units.party.targetsGroup.yOffset = 1;
-
- E.db.unitframe.units.raid25.healPrediction = true;
- E.db.unitframe.units.raid25.health.orientation = 'VERTICAL';
-
- E.db.unitframe.units.raid40.healPrediction = true;
- E.db.unitframe.units.raid40.health.orientation = 'VERTICAL';
- end
-
- if not E.db.movers then E.db.movers = {}; end
- if E.db.lowresolutionset then
- E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-305242"
- E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM305242"
- E.db.movers.ElvUF_Raid40Mover = "BOTTOMElvUIParentBOTTOM080"
- E.db.movers.ElvUF_Raid25Mover = "BOTTOMElvUIParentBOTTOM080"
- E.db.movers.ElvUF_Raid10Mover = "BOTTOMElvUIParentBOTTOM080"
- E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM305187"
- E.db.movers.ElvUF_PartyMover = "BOTTOMElvUIParentBOTTOM0104"
- E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM-305187"
- E.db.movers.ElvUF_FocusMover = "BOTTOMElvUIParentBOTTOM310432"
-
- else
- E.db.movers.ElvUF_PlayerMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT464242"
- E.db.movers.ElvUF_TargetMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-464242"
- E.db.movers.ElvUF_Raid40Mover = "BOTTOMElvUIParentBOTTOM050"
- E.db.movers.ElvUF_Raid25Mover = "BOTTOMElvUIParentBOTTOM050"
- E.db.movers.ElvUF_Raid10Mover = "BOTTOMElvUIParentBOTTOM050"
- E.db.movers.ElvUF_TargetTargetMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-464151"
- E.db.movers.ElvUF_PartyMover = "BOTTOMElvUIParentBOTTOM074"
- E.db.movers.ElvUF_PetMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT464151"
- E.db.movers.ElvUF_FocusMover = "BOTTOMElvUIParentBOTTOM280332"
- end
- elseif E.db.lowresolutionset then
- if not E.db.movers then E.db.movers = {}; end
- E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-106135"
- E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM106135"
- E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM10680"
- E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM-10680"
- E.db.movers.ElvUF_FocusMover = "BOTTOMElvUIParentBOTTOM310332"
- else
- if not noDataReset then
- E:ResetMovers('')
- E:SetupPixelPerfect(E.PixelMode, true)
- end
- end
-
- if E.db.lowresolutionset and not noDataReset then
- 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.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 not E.db.lowresolutionset and (layout == 'dpsCaster' or (layout == 'dpsMelee' and E.myclass == 'HUNTER')) then
- if not E.db.movers then E.db.movers = {}; end
- E.db.movers.ElvUF_PlayerCastbarMover = "BOTTOMElvUIParentBOTTOM0180"
- --[[elseif not E.db.lowresolutionset and layout == 'tank' then --Not sure if i want to keep this.
- if not E.db.movers then E.db.movers = {}; end
- E.db.movers.ElvUF_TargetCastbarMover = "BOTTOMElvUIParentBOTTOM0180"]]
- end
-
- --Datatexts
- if not noDataReset then
- E:CopyTable(E.db.datatexts.panels, P.datatexts.panels)
- E:CopyTable(E.db.sle.datatext, P.sle.datatext)
- if layout == 'tank' then
- E.db.datatexts.panels.LeftChatDataPanel.left = 'Armor';
- E.db.datatexts.panels.LeftChatDataPanel.right = 'Avoidance';
- 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 = 'Crit Chance';
- 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() --The function to switch from classic ElvUI settings to Darth's
- InstallStepComplete.message = L["Darth's Defaults Set"]
- InstallStepComplete:Show()
- if not E.db.movers then E.db.movers = {}; 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 = 'SHOW'
- E.db.general.experience.textFormat = 'CURPERC'
- E.db.general.experience.textSize = 10
- E.db.general.experience.height = 12
- E.db.general.reputation.textFormat = 'CURMAX'
- E.db.general.reputation.textSize = 10
- E.db.general.reputation.height = 12
- E.db.general.threat.enable = false
- E.db.general.totems.spacing = 2
- E.db.general.totems.growthDirection = "HORIZONTAL"
- E.db.general.totems.size = 24
- E.db.general.bottomPanel = 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 = 633
- E.db.bags.bankWidth = 633
- E.db.bags.yOffset = 221
- E.db.bags.currencyFormat = "ICON"
- E.db.bags.growthDirection = "HORIZONTAL"
-
- --NamePlate--
- E.db.nameplate.healthtext = 'CURRENT_PERCENT'
- E.db.nameplate.lowHealthWarning = 'NONE'
- E.db.nameplate.lowHealthWarningThreshold = .20
- E.db.nameplate.width = 112
- E.db.nameplate.fontSize = 8
- 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"
-
- --Auras--
- E.db.auras.font = "ElvUI Font"
- E.db.auras.fontOutline = "OUTLINE"
- E.db.auras.wrapAfter = 18
- E.db.sle.castername = true
-
- --Chat--
- E.db.chat.editboxhistory = 10
- E.db.chat.emotionIcons = false
- E.db.chat.whisperSound = 'None'
- E.db.chat.panelHeight = 227
- E.db.chat.panelTabBackdrop = false
- if E.db.lowresolutionset then
- E.db.chat.panelWidth = 400
- else
- E.db.chat.panelWidth = 446
- end
- E.db.chat.timeStampFormat = "%H:%M:%S "
-
- --Datatexts--
- do
- E.db.datatexts.font = "ElvUI Pixel"
- E.db.datatexts.fontSize = 11
- E.db.datatexts.time24 = true
- E.db.sle.datatext.top.enabled = true
- E.db.sle.datatext.bottom.enabled = true
- if E.db.lowresolutionset then
- 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 = false
- E.db.sle.datatext.chatleft.width = 384
- E.db.sle.datatext.chatright.width = 384
- E.db.sle.datatext.bottom.width = E.screenwidth/3 + 52
- else
- E.db.sle.datatext.dp1.enabled = true
- E.db.sle.datatext.dp1.width = E.screenwidth/5 + 1
- E.db.sle.datatext.dp2.enabled = true
- E.db.sle.datatext.dp3.enabled = true
- E.db.sle.datatext.dp4.enabled = true
- E.db.sle.datatext.dp4.width = E.screenwidth/5 + 1
- E.db.sle.datatext.dp5.enabled = true
- E.db.sle.datatext.dp5.width = E.screenwidth/4 - 60
- E.db.sle.datatext.dp6.enabled = true
- E.db.sle.datatext.dp6.width = E.screenwidth/4 - 60
- E.db.sle.datatext.chatleft.width = 430
- E.db.sle.datatext.chatright.width = 430
- E.db.sle.datatext.bottom.width = E.screenwidth/10
- E.db.sle.datatext.top.width = E.screenwidth/5 + 2
- end
-
- if E.db.lowresolutionset then
- E.db.datatexts.panels.LeftChatDataPanel.left = 'Bags';
- E.db.datatexts.panels.LeftChatDataPanel.middle = 'Gold';
- E.db.datatexts.panels.LeftChatDataPanel.right = 'Durability';
- else
- E.db.datatexts.panels.LeftChatDataPanel.right = 'Friends';
- E.db.datatexts.panels.LeftChatDataPanel.left = 'Call to Arms';
- E.db.datatexts.panels.LeftChatDataPanel.middle = 'Durability';
- end
- E.db.datatexts.panels.LeftMiniPanel = 'Time';
- E.db.datatexts.panels.RightMiniPanel = 'Guild';
-
- 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';
- if E.db.lowresolutionset then
- E.db.datatexts.panels.RightChatDataPanel.left = 'Avoidance';
- E.db.datatexts.panels.RightChatDataPanel.middle = 'Vengeance';
- E.db.datatexts.panels.RightChatDataPanel.right = 'Expertise';
- else
- E.db.datatexts.panels.RightChatDataPanel.left = 'Hit Rating';
- E.db.datatexts.panels.RightChatDataPanel.middle = 'Mastery';
- E.db.datatexts.panels.RightChatDataPanel.right = 'Spec Switch';
- end
- 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';
- if E.db.lowresolutionset then
- E.db.datatexts.panels.RightChatDataPanel.left = 'Spell/Heal Power';
- E.db.datatexts.panels.RightChatDataPanel.middle = 'Crit Chance';
- E.db.datatexts.panels.RightChatDataPanel.right = 'MP5';
- else
- E.db.datatexts.panels.RightChatDataPanel.left = 'MP5';
- E.db.datatexts.panels.RightChatDataPanel.middle = 'Mastery';
- E.db.datatexts.panels.RightChatDataPanel.right = 'Spec Switch';
- end
- E.db.datatexts.panels.DP_5.right = 'Armor';
- 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';
- if E.db.lowresolutionset then
- E.db.datatexts.panels.RightChatDataPanel.left = 'Spell/Heal Power';
- E.db.datatexts.panels.RightChatDataPanel.middle = 'Haste';
- E.db.datatexts.panels.RightChatDataPanel.right = 'Crit Chance';
- else
- E.db.datatexts.panels.RightChatDataPanel.left = 'Hit Rating';
- E.db.datatexts.panels.RightChatDataPanel.middle = 'Mastery';
- E.db.datatexts.panels.RightChatDataPanel.right = 'Spec Switch';
- end
- E.db.datatexts.panels.DP_5.right = 'Armor';
- 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';
- if E.db.lowresolutionset then
- E.db.datatexts.panels.RightChatDataPanel.left = 'Attack Power';
- E.db.datatexts.panels.RightChatDataPanel.middle = 'Haste';
- E.db.datatexts.panels.RightChatDataPanel.right = 'Crit Chance';
- else
- E.db.datatexts.panels.RightChatDataPanel.left = 'Hit Rating';
- E.db.datatexts.panels.RightChatDataPanel.middle = 'Mastery';
- E.db.datatexts.panels.RightChatDataPanel.right = 'Spec Switch';
- end
- 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.3098039215686275,
- ["g"] = 0.792156862745098,
- ["r"] = 0.8274509803921568,
- }
- 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
- --Setting player frame
- E.db.unitframe.units.player.width = 200
- 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.fixTo = "power"
- E.db.unitframe.units.player.name.text_format = "[name:medium] [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.5;
- E.db.unitframe.units.player.debuffs.enable = false;
- E.db.unitframe.units.player.castbar.format = 'CURRENTMAX';
- E.db.unitframe.units.player.castbar.width = 238
- E.db.unitframe.units.player.classbar.fill = 'fill'
- E.db.unitframe.units.player.classbar.height = 8
- E.db.unitframe.units.player.aurabar.enable = false
- --Setting target frame
- E.db.unitframe.units.target.width = 200
- E.db.unitframe.units.target.smartAuraDisplay = "DISABLED"
- E.db.unitframe.units.target.hideonnpc = false;
- E.db.unitframe.units.target.health.position = 'BOTTOMRIGHT';
- 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.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.5;
- E.db.unitframe.units.target.buffs.perrow = 9;
- E.db.unitframe.units.target.buffs.numrows = 2;
- E.db.unitframe.units.target.buffs.anchorPoint = 'TOPLEFT';
- E.db.unitframe.units.target.buffs.clickThrough = false
- E.db.unitframe.units.target.buffs.playerOnly.friendly = false
- E.db.unitframe.units.target.buffs.playerOnly.enemy = false
- E.db.unitframe.units.target.buffs.useBlacklist.friendly = false
- E.db.unitframe.units.target.buffs.useBlacklist.enemy = false
- E.db.unitframe.units.target.buffs.useWhitelist.friendly = false
- E.db.unitframe.units.target.buffs.useWhitelist.enemy = false
- E.db.unitframe.units.target.buffs.noDuration.friendly = false
- E.db.unitframe.units.target.buffs.noDuration.enemy = false
- E.db.unitframe.units.target.buffs.onlyDispellable.friendly = false
- E.db.unitframe.units.target.buffs.onlyDispellable.enemy = false
- E.db.unitframe.units.target.debuffs.perrow = 9;
- E.db.unitframe.units.target.debuffs.playerOnly.friendly = false
- 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.debuffs.useWhitelist.friendly = false
- E.db.unitframe.units.target.debuffs.useWhitelist.enemy = false
- E.db.unitframe.units.target.debuffs.noDuration.friendly = false
- E.db.unitframe.units.target.debuffs.noDuration.enemy = false
- E.db.unitframe.units.target.debuffs.onlyDispellable.friendly = false
- E.db.unitframe.units.target.debuffs.onlyDispellable.enemy = false
- E.db.unitframe.units.target.debuffs.enable = true
- E.db.unitframe.units.target.debuffs.clickThrough = false
- E.db.unitframe.units.target.castbar.format = 'CURRENTMAX';
- if layout == "healer" then
- E.db.unitframe.units.target.castbar.width = 238
- else
- E.db.unitframe.units.target.castbar.width = 200
- end
- E.db.unitframe.units.target.aurabar.enable = false
- --Target of Target
- E.db.unitframe.units.targettarget.height = 26
- if layout == "healer" then
- E.db.unitframe.units.targettarget.width = 115
- else
- E.db.unitframe.units.targettarget.width = 120
- end
- E.db.unitframe.units.targettarget.name.text_format = "[name:medium]"
- E.db.unitframe.units.targettarget.debuffs.enable = false
- --Focus
- E.db.unitframe.units.focus.height = 42
- E.db.unitframe.units.focus.width = 179
- E.db.unitframe.units.focus.health.position = 'BOTTOMRIGHT'
- E.db.unitframe.units.focus.health.text_format = "[healthcolor][health:current-percent:sl]"
- E.db.unitframe.units.focus.power.text_format = "[powercolor][power:current:sl]"
- E.db.unitframe.units.focus.fixTo = "power"
- E.db.unitframe.units.focus.power.position = "RIGHT"
- E.db.unitframe.units.focus.name.text_format = "[name:medium]"
- E.db.unitframe.units.focus.name.position = 'TOPLEFT'
- E.db.unitframe.units.focus.debuffs.perrow = 8
- E.db.unitframe.units.focus.debuffs.anchorPoint = "TOPLEFT"
- E.db.unitframe.units.focus.castbar.format = 'CURRENTMAX'
- E.db.unitframe.units.focus.castbar.width = 179
- --Focus Target
- E.db.unitframe.units.focustarget.name.text_format = "[name:medium]"
- E.db.unitframe.units.focustarget.enable = true
- E.db.unitframe.units.focustarget.height = 34
- E.db.unitframe.units.focustarget.width = 179
- --Pet
- E.db.unitframe.units.pet.name.text_format = "[name:medium]"
- if layout == "healer" then
- E.db.unitframe.units.pet.width = 115
- else
- E.db.unitframe.units.pet.width = 128
- end
- --Pet Target
- E.db.unitframe.units.pettarget.name.text_format = "[name:medium]"
- E.db.unitframe.units.pettarget.enable = true
- if layout == "healer" then
- E.db.unitframe.units.pettarget.width = 115
- else
- E.db.unitframe.units.pettarget.width = 119
- end
- --Party
- if layout == "healer" then
- E.db.unitframe.units.party.point = "LEFT"
- E.db.unitframe.units.party.xOffset = 5
- E.db.unitframe.units.party.debuffs.perrow = 3
- E.db.unitframe.units.party.debuffs.anchorPoint = "BOTTOMLEFT"
- E.db.unitframe.units.party.debuffs.useFilter = "Blacklist"
- E.db.unitframe.units.party.debuffs.initialAnchor = "TOPLEFT"
- E.db.unitframe.units.party.roleIcon.position = "RIGHT"
- E.db.unitframe.units.party.width = 80
- E.db.unitframe.units.party.height = 52
- E.db.unitframe.units.party.healPrediction = true
- E.db.unitframe.units.party.health.text_format = "[healthcolor][health:deficit]"
- E.db.unitframe.units.party.health.position = "CENTER"
- E.db.unitframe.units.party.health.frequentUpdates = true
- E.db.unitframe.units.party.health.orientation = "VERTICAL"
- else
- E.db.unitframe.units.party.debuffs.perrow = 4
- E.db.unitframe.units.party.roleIcon.position = "TOPRIGHT"
- E.db.unitframe.units.party.health.position = "BOTTOMLEFT"
- end
- E.db.unitframe.units.party.xOffset = 1
- E.db.unitframe.units.party.yOffset = -1
- E.db.unitframe.units.party.columnSpacing = 1
- E.db.unitframe.units.party.debuffs.sizeOverride = 26
- E.db.unitframe.units.party.buffIndicator.colorIcons = false
- E.db.unitframe.units.party.power.height = 8
- E.db.unitframe.units.party.power.text_format = ""
- E.db.unitframe.units.party.name.position = "TOP"
- E.db.unitframe.units.party.name.text_format = "[name:medium] [difficultycolor][smartlevel]"
- --Raid 10
- if layout == "healer" then
- E.db.unitframe.units.raid10.health.frequentUpdates = true
- E.db.unitframe.units.raid10.health.text_format = "[healthcolor][health:deficit]"
- E.db.unitframe.units.raid10.health.orientation = "VERTICAL"
- E.db.unitframe.units.raid10.health.position = "CENTER"
- else
- E.db.unitframe.units.raid10.health.text_format = "[healthcolor][health:current]"
- E.db.unitframe.units.raid10.columnAnchorPoint = "LEFT"
- E.db.unitframe.units.raid10.point = "TOP"
- end
- E.db.unitframe.units.raid10.xOffset = 1
- E.db.unitframe.units.raid10.yOffset = -1
- E.db.unitframe.units.raid10.columnSpacing = 1
- E.db.unitframe.units.raid10.name.text_format = "[name:medium]"
- E.db.unitframe.units.raid10.buffIndicator.colorIcons = false
- E.db.unitframe.units.raid10.rdebuffs.size = 22
- E.db.unitframe.units.raid10.power.height = 8
- E.db.unitframe.units.raid10.power.text_format = ""
- E.db.unitframe.units.raid10.health.position = "BOTTOMLEFT"
- --Raid 25
- if layout == "healer" then
- 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.health.position = "CENTER"
- E.db.unitframe.units.raid25.height = 36
- else
- E.db.unitframe.units.raid25.point = "TOP"
- E.db.unitframe.units.raid25.columnAnchorPoint = "LEFT"
- E.db.unitframe.units.raid25.health.text_format = ""
- end
- E.db.unitframe.units.raid25.xOffset = 1
- E.db.unitframe.units.raid25.yOffset = -1
- E.db.unitframe.units.raid25.columnSpacing = 1
- E.db.unitframe.units.raid25.buffIndicator.colorIcons = false
- E.db.unitframe.units.raid25.name.text_format = "[name:medium]"
- E.db.unitframe.units.raid25.rdebuffs.size = 22
- E.db.unitframe.units.raid25.power.height = 8
- E.db.unitframe.units.raid25.power.text_format = ""
- --Raid 40
- if layout == "healer" then
- E.db.unitframe.units.raid40.health.frequentUpdates = true
- E.db.unitframe.units.raid40.health.text_format = ""
- E.db.unitframe.units.raid40.health.orientation = "VERTICAL"
- else
- E.db.unitframe.units.raid40.health.text_format = ""
- end
- E.db.unitframe.units.raid40.height = 26
- E.db.unitframe.units.raid40.xOffset = 1
- E.db.unitframe.units.raid40.yOffset = -1
- E.db.unitframe.units.raid40.columnSpacing = 1
- E.db.unitframe.units.raid40.name.text_format = "[name:short]"
- E.db.unitframe.units.raid40.buffIndicator.colorIcons = false
-
- --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 = 40
- E.db.unitframe.units.arena.growthDirection = 'DOWN'
- E.db.unitframe.units.arena.health.position = 'BOTTOMRIGHT'
- E.db.unitframe.units.arena.health.text_format = "[healthcolor][health:current-percent:sl]"
- E.db.unitframe.units.arena.power.text_format = "[powercolor][power:current:sl]"
- E.db.unitframe.units.arena.fixTo = "power"
- E.db.unitframe.units.arena.name.text_format = "[name:long]"
- E.db.unitframe.units.arena.name.position = 'TOPLEFT'
- E.db.unitframe.units.arena.buffs.enable = false
- E.db.unitframe.units.arena.debuffs.enable = false
- E.db.unitframe.units.arena.castbar.format = 'CURRENTMAX'
- E.db.unitframe.units.arena.castbar.height = 15
- E.db.unitframe.units.arena.castbar.width = 200
- E.db.unitframe.units.arena.castbar.color = {
- ["r"] = 0.8274509803921568,
- ["g"] = 0.792156862745098,
- ["b"] = 0.3098039215686275,
- }
- --Boss
- E.db.unitframe.units.boss.width = 200
- E.db.unitframe.units.boss.height = 40
- E.db.unitframe.units.boss.growthDirection = 'DOWN'
- E.db.unitframe.units.boss.health.position = 'BOTTOMRIGHT'
- E.db.unitframe.units.boss.health.text_format = "[healthcolor][health:current-percent]"
- E.db.unitframe.units.boss.power.height = 10
- E.db.unitframe.units.boss.power.text_format = "[powercolor][power:current:sl]"
- E.db.unitframe.units.boss.fixTo = "power"
- E.db.unitframe.units.boss.name.text_format = "[name:long]"
- E.db.unitframe.units.boss.name.position = 'TOPLEFT'
- E.db.unitframe.units.boss.buffs.enable = false
- E.db.unitframe.units.boss.debuffs.enable = false
- E.db.unitframe.units.boss.castbar.format = 'CURRENTMAX'
- E.db.unitframe.units.boss.castbar.height = 15
- E.db.unitframe.units.boss.castbar.width = 200
- E.db.unitframe.units.boss.castbar.color = {
- ["r"] = 0.8274509803921568,
- ["g"] = 0.792156862745098,
- ["b"] = 0.3098039215686275,
- }
- --Power text
- E.db.sle.powtext = true
-
- end
-
- --Actionbars
- do
- 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.buttonsize = 26
- E.db.actionbar.bar1.backdrop = true
- E.db.actionbar.bar2.enabled = true
- E.db.actionbar.bar2.point = "TOPLEFT"
- E.db.actionbar.bar2.backdrop = true
- E.db.actionbar.bar2.buttonsPerRow = 3
- E.db.actionbar.bar2.buttonsize = 26
- E.db.actionbar.bar2.visibility = "[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.visibility = "[petbattle] hide; show"
- E.db.actionbar.bar3.buttonsize = 26
- E.db.actionbar.bar3.backdrop = true
- E.db.actionbar.bar4.enabled = false
- --E.db.actionbar.bar5.enabled = true
- E.db.actionbar.bar5.buttons = 12
- E.db.actionbar.bar5.buttonspacing = 2
- E.db.actionbar.bar5.mouseover = true
- E.db.actionbar.bar5.buttonsize = 24
- E.db.actionbar.bar5.backdrop = true
- E.db.actionbar.microbar.enabled = true
- E.db.actionbar.microbar.buttonsPerRow = 2
- E.db.actionbar.microbar.alpha = 0.2
- E.db.actionbar.stanceBar.buttonspacing = 2
- E.db.actionbar.stanceBar.backdrop = true
- E.db.actionbar.stanceBar.buttonsPerRow = 1
- E.db.actionbar.stanceBar.buttonsize = 22
- 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.growth = "LEFT"
-
- --Background Frames--
- E.db.sle.backgrounds.right.enabled = true
- E.db.sle.backgrounds.right.pethide = false
- E.db.sle.backgrounds.right.xoffset = 70
- E.db.sle.backgrounds.right.yoffset = -2
- E.db.sle.backgrounds.left.enabled = true
- E.db.sle.backgrounds.left.pethide = false
- E.db.sle.backgrounds.left.xoffset = -70
- E.db.sle.backgrounds.left.yoffset = -2
-
- --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.5
-
- --LFR--
- E.db.datatexts.lfrshow = true
-
- --Errors--
- E.db.sle.errors = true
-
- --UI Buttons--
- E.db.sle.uibuttons.enable = true
-
- --Moving stuff--
- do
- if layout == "healer" then
- E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-313245"
- E.db.movers.ElvUF_PlayerCastbarMover = "BOTTOMElvUIParentBOTTOM0177"
- E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM313245"
- E.db.movers.ElvUF_TargetCastbarMover = "BOTTOMElvUIParentBOTTOM0196"
- E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM271220"
- E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM-270210"
- E.db.movers.ElvUF_PetTargetMover = "BOTTOMElvUIParentBOTTOM-270185"
- E.db.movers.PetAB = "BOTTOMElvUIParentBOTTOM-275143"
- E.db.movers.TotemBarMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT547298"
- E.db.movers.TempEnchantMover = "BOTTOMElvUIParentBOTTOM-243309"
- E.db.movers.ElvUF_PartyMover = "BOTTOMElvUIParentBOTTOM0251"
- E.db.movers.ElvUF_Raid10Mover = "BOTTOMElvUIParentBOTTOM0215"
- E.db.movers.ElvUF_Raid25Mover = "BOTTOMElvUIParentBOTTOM0215"
- E.db.movers.ElvUF_Raid40Mover = "BOTTOMElvUIParentBOTTOM0215"
- E.db.movers.ElvUF_TankMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT428245"
- E.db.movers.BossButton = "BOTTOMLEFTElvUIParentBOTTOMLEFT326268"
- else
- E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-228192"
- E.db.movers.ElvUF_PlayerCastbarMover = "BOTTOMElvUIParentBOTTOM0194"
- E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM228192"
- E.db.movers.ElvUF_TargetCastbarMover = "BOTTOMElvUIParentBOTTOM228169"
- E.db.movers.ElvUF_TargetTargetMover = "BOTTOMRIGHTUIParentBOTTOMRIGHT-835169"
- E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM-264157"
- E.db.movers.ElvUF_PetTargetMover = "BOTTOMLEFTUIParentBOTTOMLEFT835169"
- E.db.movers.PetAB = "BOTTOMElvUIParentBOTTOM-275115"
- E.db.movers.TotemBarMover = "BOTTOMElvUIParentBOTTOM-275245"
- E.db.movers.TempEnchantMover = "BOTTOMElvUIParentBOTTOM-158255"
- E.db.movers.ElvUF_PartyMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT0245"
- E.db.movers.ElvUF_Raid10Mover = "BOTTOMLEFTElvUIParentBOTTOMLEFT0245"
- E.db.movers.ElvUF_Raid25Mover = "BOTTOMLEFTElvUIParentBOTTOMLEFT0245"
- E.db.movers.ElvUF_Raid40Mover = "BOTTOMLEFTElvUIParentBOTTOMLEFT0245"
- E.db.movers.BossButton = "BOTTOMElvUIParentBOTTOM0237"
- end
- E.db.movers.ElvAB_1 = "BOTTOMElvUIParentBOTTOM019"
- E.db.movers.ElvAB_2 = "BOTTOMElvUIParentBOTTOM8519"
- E.db.movers.ElvAB_3 = "BOTTOMElvUIParentBOTTOM-8519"
- E.db.movers.ElvAB_4 = "TOPRIGHTUIParentTOPRIGHT-311-319"
- E.db.movers.ElvAB_5 = "BOTTOMElvUIParentBOTTOM-24919"
- E.db.movers.MinimapMover = "TOPRIGHTElvUIParentTOPRIGHT2-18"
- E.db.movers.UIBFrameMover = "TOPLEFTElvUIParentTOPLEFT0-451"
- E.db.movers.WatchFrameMover = "TOPRIGHTUIParentTOPRIGHT-237-231"
- E.db.movers.BossHeaderMover = "TOPRIGHTElvUIParentTOPRIGHT-1-217"
- E.db.movers.ArenaHeaderMover = "TOPRIGHTElvUIParentTOPRIGHT-1-217"
- E.db.movers.PetBattleABMover = "BOTTOMElvUIParentBOTTOM019"
- E.db.movers.ShiftAB = "BOTTOMElvUIParentBOTTOM-14019"
- if UnitLevel('player') == 90 then
- E.db.movers.ExperienceBarMover = "TOPElvUIParentTOP0-19"
- E.db.movers.ReputationBarMover = "TOPElvUIParentTOP0-19"
- E.db.movers.PvPMover = "TOPElvUIParentTOP-5-50"
- E.db.movers.LocationMover = "TOPElvUIParentTOP0-30"
- E.db.movers.LocationLiteMover = "TOPElvUIParentTOP0-30"
- E.db.movers.AlertFrameMover = "TOPElvUIParentTOP0-32"
- else
- E.db.movers.ExperienceBarMover = "TOPElvUIParentTOP0-19"
- E.db.movers.ReputationBarMover = "TOPElvUIParentTOP0-30"
- E.db.movers.LocationMover = "TOPElvUIParentTOP0-41"
- E.db.movers.LocationLiteMover = "TOPElvUIParentTOP0-41"
- E.db.movers.AlertFrameMover = "TOPElvUIParentTOP0-43"
- E.db.movers.PvPMover = "TOPElvUIParentTOP-5-61"
- end
- E.db.movers.MarkMover = "BOTTOMElvUIParentBOTTOM0132"
- E.db.movers.MicrobarMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT2244"
- E.db.movers.LootFrameMover = "TOPLEFTUIParentTOPLEFT60-360"
- E.db.movers.AurasMover = "TOPRIGHTElvUIParentTOPRIGHT-208-19"
- E.db.movers.BagsMover = "TOPLEFTUIParentTOPLEFT0-19"
- E.db.movers.GMMover = "TOPLEFTElvUIParentTOPLEFT402-19"
- E.db.movers.BNETMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT0479"
- E.db.movers.ElvUF_FocusMover = "BOTTOMElvUIParentBOTTOM239103"
- E.db.movers.ElvUF_FocusTargetMover = "BOTTOMElvUIParentBOTTOM23934"
- E.db.movers.VehicleSeatMover = "TOPLEFTElvUIParentTOPLEFT185-38"
- E.db.movers.DP_5_Mover = "BOTTOMElvUIParentBOTTOM-3050"
- E.db.movers.DP_6_Mover = "BOTTOMElvUIParentBOTTOM3050"
- E.db.movers.RightChatMover = "BOTTOMRIGHTUIParentBOTTOMRIGHT019"
- E.db.movers.LeftChatMover = "BOTTOMLEFTUIParentBOTTOMLEFT019"
- E.db.movers.Dashboard = "TOPLEFTElvUIParentTOPLEFT0-19"
- E.db.movers.RaidUtility_Mover = "TOPElvUIParentTOP-283-19"
- 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.
-
- --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.reputation.enable = true
- 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'] = ""
- 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
- --Raid10
- E.db.unitframe.units.raid10.xOffset = 2
- E.db.unitframe.units.raid10.columnSpacing = 2
- E.db.unitframe.units.raid10.healPrediction = true
- E.db.unitframe.units.raid10.width = 79
-
- --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"
-
- --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
-
- --Raid25
- E.db.unitframe.units.raid25.columnSpacing = 2
- 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.columnSpacing = 2
- 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
-
- --Player
- E.db.unitframe.units.player.health.position = "TOPRIGHT"
- E.db.unitframe.units.player.power.position = "BOTTOMRIGHT"
-
- --Boss
- E.db.unitframe.units.boss.width = 200
- E.db.unitframe.units.boss.castbar.width = 200
-
- E.db.unitframe.colors.healthclass = true
- 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 2
- E.db.actionbar.bar2.enabled = true
- --Bar 3
- E.db.actionbar.bar3.enabled = false
- --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
-
- --UIButtons
- E.db.sle.uibuttons.enable = true
- E.db.sle.uibuttons.position = "uib_hor"
-
- --SLE Tooltip
- E.db.sle.castername = 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 = "BOTTOMElvUIParentBOTTOM074"
- 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.ElvAB_4 = "TOPRIGHTElvUIParentTOPRIGHT-4-185"
- 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 = "BOTTOMElvUIParentBOTTOM074"
- 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.ElvAB_4 = "TOPRIGHTElvUIParentTOPRIGHT-4-185"
- 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
- 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:DarthSetup() end)
- InstallOption1Button:SetText(L["Darth's Config"])
- InstallOption2Button:Show()
- InstallOption2Button:SetScript('OnClick', function() E:RepoocSetup() end)
- InstallOption2Button: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()
+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, "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_AddMessageGroup(ChatFrame1, "INSTANCE_CHAT")
+ ChatFrame_AddMessageGroup(ChatFrame1, "INSTANCE_CHAT_LEADER")
+
+ 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, "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")
+ ToggleChatColorNamesByClassGroup(true, "INSTANCE_CHAT")
+ ToggleChatColorNamesByClassGroup(true, "INSTANCE_CHAT_LEADER")
+
+ --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.movers["ElvUF_PetMover"] = "BOTTOMElvUIParentBOTTOM0104"
+ E.db.movers["ElvUF_TargetTargetMover"] = "BOTTOMElvUIParentBOTTOM064"
+ E.db.movers["ElvUF_PlayerMover"] = "BOTTOMElvUIParentBOTTOM-27865"
+ E.db.movers["ElvUF_TargetMover"] = "BOTTOMElvUIParentBOTTOM27864"
+
+ 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 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.party.health.frequentUpdates = true;
+ E.db.unitframe.units.raid25.health.frequentUpdates = true;
+ E.db.unitframe.units.raid40.health.frequentUpdates = true;
+
+ E.db.unitframe.units.raid40.height = 36;
+ E.db.unitframe.units.raid40.health.text = true;
+ E.db.unitframe.units.raid40.name.position = 'TOP';
+ E.db.unitframe.units.raid40.roleIcon.enable = true;
+ 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;
+
+ E.db.unitframe.units.party.point = 'LEFT';
+ E.db.unitframe.units.party.xOffset = 5;
+ E.db.unitframe.units.party.healPrediction = true;
+ E.db.unitframe.units.party.columnAnchorPoint = 'LEFT';
+ E.db.unitframe.units.party.width = 80;
+ E.db.unitframe.units.party.height = 52;
+ E.db.unitframe.units.party.health.text_format = "[healthcolor][health:deficit]"
+ E.db.unitframe.units.party.health.position = 'BOTTOM';
+ E.db.unitframe.units.party.health.orientation = 'VERTICAL';
+ E.db.unitframe.units.party.name.position = 'TOP';
+ E.db.unitframe.units.party.name.text_format = "[namecolor][name:medium]";
+ E.db.unitframe.units.party.debuffs.anchorPoint = 'BOTTOMLEFT';
+ E.db.unitframe.units.party.debuffs.initialAnchor = 'TOPLEFT';
+ E.db.unitframe.units.party.debuffs.useFilter = 'Blacklist';
+ E.db.unitframe.units.party.debuffs.sizeOverride = 0;
+ E.db.unitframe.units.party.petsGroup.enable = true;
+ E.db.unitframe.units.party.petsGroup.width = 80;
+ E.db.unitframe.units.party.petsGroup.initialAnchor = 'BOTTOM';
+ E.db.unitframe.units.party.petsGroup.anchorPoint = 'TOP';
+ E.db.unitframe.units.party.petsGroup.xOffset = 0;
+ E.db.unitframe.units.party.petsGroup.yOffset = 1;
+ E.db.unitframe.units.party.targetsGroup.enable = false;
+ E.db.unitframe.units.party.targetsGroup.width = 80;
+ E.db.unitframe.units.party.targetsGroup.initialAnchor = 'BOTTOM';
+ E.db.unitframe.units.party.targetsGroup.anchorPoint = 'TOP';
+ E.db.unitframe.units.party.targetsGroup.xOffset = 0;
+ E.db.unitframe.units.party.targetsGroup.yOffset = 1;
+
+ E.db.unitframe.units.raid25.healPrediction = true;
+ E.db.unitframe.units.raid25.health.orientation = 'VERTICAL';
+
+ E.db.unitframe.units.raid40.healPrediction = true;
+ E.db.unitframe.units.raid40.health.orientation = 'VERTICAL';
+ end
+
+ if not E.db.movers then E.db.movers = {}; end
+ if E.db.lowresolutionset then
+ E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-305242"
+ E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM305242"
+ E.db.movers.ElvUF_Raid40Mover = "BOTTOMElvUIParentBOTTOM080"
+ E.db.movers.ElvUF_Raid25Mover = "BOTTOMElvUIParentBOTTOM080"
+ E.db.movers.ElvUF_Raid10Mover = "BOTTOMElvUIParentBOTTOM080"
+ E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM305187"
+ E.db.movers.ElvUF_PartyMover = "BOTTOMElvUIParentBOTTOM0104"
+ E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM-305187"
+ E.db.movers.ElvUF_FocusMover = "BOTTOMElvUIParentBOTTOM310432"
+
+ else
+ E.db.movers.ElvUF_PlayerMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT464242"
+ E.db.movers.ElvUF_TargetMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-464242"
+ E.db.movers.ElvUF_Raid40Mover = "BOTTOMElvUIParentBOTTOM050"
+ E.db.movers.ElvUF_Raid25Mover = "BOTTOMElvUIParentBOTTOM050"
+ E.db.movers.ElvUF_Raid10Mover = "BOTTOMElvUIParentBOTTOM050"
+ E.db.movers.ElvUF_TargetTargetMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT-464151"
+ E.db.movers.ElvUF_PartyMover = "BOTTOMElvUIParentBOTTOM074"
+ E.db.movers.ElvUF_PetMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT464151"
+ E.db.movers.ElvUF_FocusMover = "BOTTOMElvUIParentBOTTOM280332"
+ end
+ elseif E.db.lowresolutionset then
+ if not E.db.movers then E.db.movers = {}; end
+ E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-106135"
+ E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM106135"
+ E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM10680"
+ E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM-10680"
+ E.db.movers.ElvUF_FocusMover = "BOTTOMElvUIParentBOTTOM310332"
+ else
+ if not noDataReset then
+ E:ResetMovers('')
+ E:SetupPixelPerfect(E.PixelMode, true)
+ end
+ end
+
+ if E.db.lowresolutionset and not noDataReset then
+ 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.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 not E.db.lowresolutionset and (layout == 'dpsCaster' or (layout == 'dpsMelee' and E.myclass == 'HUNTER')) then
+ if not E.db.movers then E.db.movers = {}; end
+ E.db.movers.ElvUF_PlayerCastbarMover = "BOTTOMElvUIParentBOTTOM0180"
+ --[[elseif not E.db.lowresolutionset and layout == 'tank' then --Not sure if i want to keep this.
+ if not E.db.movers then E.db.movers = {}; end
+ E.db.movers.ElvUF_TargetCastbarMover = "BOTTOMElvUIParentBOTTOM0180"]]
+ end
+
+ --Datatexts
+ if not noDataReset then
+ E:CopyTable(E.db.datatexts.panels, P.datatexts.panels)
+ E:CopyTable(E.db.sle.datatext, P.sle.datatext)
+ if layout == 'tank' then
+ E.db.datatexts.panels.LeftChatDataPanel.left = 'Armor';
+ E.db.datatexts.panels.LeftChatDataPanel.right = 'Avoidance';
+ 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 = 'Crit Chance';
+ 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() --The function to switch from classic ElvUI settings to Darth's
+ InstallStepComplete.message = L["Darth's Defaults Set"]
+ InstallStepComplete:Show()
+ if not E.db.movers then E.db.movers = {}; 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 = 'SHOW'
+ E.db.general.experience.textFormat = 'CURPERC'
+ E.db.general.experience.textSize = 10
+ E.db.general.experience.height = 12
+ E.db.general.reputation.textFormat = 'CURMAX'
+ E.db.general.reputation.textSize = 10
+ E.db.general.reputation.height = 12
+ E.db.general.threat.enable = false
+ E.db.general.totems.spacing = 2
+ E.db.general.totems.growthDirection = "HORIZONTAL"
+ E.db.general.totems.size = 24
+ E.db.general.bottomPanel = 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 = 633
+ E.db.bags.bankWidth = 633
+ E.db.bags.yOffset = 221
+ E.db.bags.currencyFormat = "ICON"
+ E.db.bags.growthDirection = "HORIZONTAL"
+
+ --NamePlate--
+ E.db.nameplate.healthtext = 'CURRENT_PERCENT'
+ E.db.nameplate.lowHealthWarning = 'NONE'
+ E.db.nameplate.lowHealthWarningThreshold = .20
+ E.db.nameplate.width = 112
+ E.db.nameplate.fontSize = 8
+ 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"
+
+ --Auras--
+ E.db.auras.font = "ElvUI Font"
+ E.db.auras.fontOutline = "OUTLINE"
+ E.db.auras.wrapAfter = 18
+ E.db.sle.castername = true
+
+ --Chat--
+ E.db.chat.editboxhistory = 10
+ E.db.chat.emotionIcons = false
+ E.db.chat.whisperSound = 'None'
+ E.db.chat.panelHeight = 227
+ E.db.chat.panelTabBackdrop = false
+ if E.db.lowresolutionset then
+ E.db.chat.panelWidth = 400
+ else
+ E.db.chat.panelWidth = 446
+ end
+ E.db.chat.timeStampFormat = "%H:%M:%S "
+
+ --Datatexts--
+ do
+ E.db.datatexts.font = "ElvUI Pixel"
+ E.db.datatexts.fontSize = 11
+ E.db.datatexts.time24 = true
+ E.db.sle.datatext.top.enabled = true
+ E.db.sle.datatext.bottom.enabled = true
+ if E.db.lowresolutionset then
+ 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 = false
+ E.db.sle.datatext.chatleft.width = 384
+ E.db.sle.datatext.chatright.width = 384
+ E.db.sle.datatext.bottom.width = E.screenwidth/3 + 52
+ else
+ E.db.sle.datatext.dp1.enabled = true
+ E.db.sle.datatext.dp1.width = E.screenwidth/5 + 1
+ E.db.sle.datatext.dp2.enabled = true
+ E.db.sle.datatext.dp3.enabled = true
+ E.db.sle.datatext.dp4.enabled = true
+ E.db.sle.datatext.dp4.width = E.screenwidth/5 + 1
+ E.db.sle.datatext.dp5.enabled = true
+ E.db.sle.datatext.dp5.width = E.screenwidth/4 - 60
+ E.db.sle.datatext.dp6.enabled = true
+ E.db.sle.datatext.dp6.width = E.screenwidth/4 - 60
+ E.db.sle.datatext.chatleft.width = 430
+ E.db.sle.datatext.chatright.width = 430
+ E.db.sle.datatext.bottom.width = E.screenwidth/10
+ E.db.sle.datatext.top.width = E.screenwidth/5 + 2
+ end
+
+ if E.db.lowresolutionset then
+ E.db.datatexts.panels.LeftChatDataPanel.left = 'Bags';
+ E.db.datatexts.panels.LeftChatDataPanel.middle = 'Gold';
+ E.db.datatexts.panels.LeftChatDataPanel.right = 'Durability';
+ else
+ E.db.datatexts.panels.LeftChatDataPanel.right = 'Friends';
+ E.db.datatexts.panels.LeftChatDataPanel.left = 'Call to Arms';
+ E.db.datatexts.panels.LeftChatDataPanel.middle = 'Durability';
+ end
+ E.db.datatexts.panels.LeftMiniPanel = 'Time';
+ E.db.datatexts.panels.RightMiniPanel = 'Guild';
+
+ 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';
+ if E.db.lowresolutionset then
+ E.db.datatexts.panels.RightChatDataPanel.left = 'Avoidance';
+ E.db.datatexts.panels.RightChatDataPanel.middle = 'Vengeance';
+ E.db.datatexts.panels.RightChatDataPanel.right = 'Expertise';
+ else
+ E.db.datatexts.panels.RightChatDataPanel.left = 'Hit Rating';
+ E.db.datatexts.panels.RightChatDataPanel.middle = 'Mastery';
+ E.db.datatexts.panels.RightChatDataPanel.right = 'Spec Switch';
+ end
+ 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';
+ if E.db.lowresolutionset then
+ E.db.datatexts.panels.RightChatDataPanel.left = 'Spell/Heal Power';
+ E.db.datatexts.panels.RightChatDataPanel.middle = 'Crit Chance';
+ E.db.datatexts.panels.RightChatDataPanel.right = 'MP5';
+ else
+ E.db.datatexts.panels.RightChatDataPanel.left = 'MP5';
+ E.db.datatexts.panels.RightChatDataPanel.middle = 'Mastery';
+ E.db.datatexts.panels.RightChatDataPanel.right = 'Spec Switch';
+ end
+ E.db.datatexts.panels.DP_5.right = 'Armor';
+ 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';
+ if E.db.lowresolutionset then
+ E.db.datatexts.panels.RightChatDataPanel.left = 'Spell/Heal Power';
+ E.db.datatexts.panels.RightChatDataPanel.middle = 'Haste';
+ E.db.datatexts.panels.RightChatDataPanel.right = 'Crit Chance';
+ else
+ E.db.datatexts.panels.RightChatDataPanel.left = 'Hit Rating';
+ E.db.datatexts.panels.RightChatDataPanel.middle = 'Mastery';
+ E.db.datatexts.panels.RightChatDataPanel.right = 'Spec Switch';
+ end
+ E.db.datatexts.panels.DP_5.right = 'Armor';
+ 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';
+ if E.db.lowresolutionset then
+ E.db.datatexts.panels.RightChatDataPanel.left = 'Attack Power';
+ E.db.datatexts.panels.RightChatDataPanel.middle = 'Haste';
+ E.db.datatexts.panels.RightChatDataPanel.right = 'Crit Chance';
+ else
+ E.db.datatexts.panels.RightChatDataPanel.left = 'Hit Rating';
+ E.db.datatexts.panels.RightChatDataPanel.middle = 'Mastery';
+ E.db.datatexts.panels.RightChatDataPanel.right = 'Spec Switch';
+ end
+ 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.3098039215686275,
+ ["g"] = 0.792156862745098,
+ ["r"] = 0.8274509803921568,
+ }
+ 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
+ --Setting player frame
+ E.db.unitframe.units.player.width = 200
+ 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.fixTo = "power"
+ E.db.unitframe.units.player.name.text_format = "[name:medium] [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.5;
+ E.db.unitframe.units.player.debuffs.enable = false;
+ E.db.unitframe.units.player.castbar.format = 'CURRENTMAX';
+ E.db.unitframe.units.player.castbar.width = 238
+ E.db.unitframe.units.player.classbar.fill = 'fill'
+ E.db.unitframe.units.player.classbar.height = 8
+ E.db.unitframe.units.player.aurabar.enable = false
+ --Setting target frame
+ E.db.unitframe.units.target.width = 200
+ E.db.unitframe.units.target.smartAuraDisplay = "DISABLED"
+ E.db.unitframe.units.target.hideonnpc = false;
+ E.db.unitframe.units.target.health.position = 'BOTTOMRIGHT';
+ 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.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.5;
+ E.db.unitframe.units.target.buffs.perrow = 9;
+ E.db.unitframe.units.target.buffs.numrows = 2;
+ E.db.unitframe.units.target.buffs.anchorPoint = 'TOPLEFT';
+ E.db.unitframe.units.target.buffs.clickThrough = false
+ E.db.unitframe.units.target.buffs.playerOnly.friendly = false
+ E.db.unitframe.units.target.buffs.playerOnly.enemy = false
+ E.db.unitframe.units.target.buffs.useBlacklist.friendly = false
+ E.db.unitframe.units.target.buffs.useBlacklist.enemy = false
+ E.db.unitframe.units.target.buffs.useWhitelist.friendly = false
+ E.db.unitframe.units.target.buffs.useWhitelist.enemy = false
+ E.db.unitframe.units.target.buffs.noDuration.friendly = false
+ E.db.unitframe.units.target.buffs.noDuration.enemy = false
+ E.db.unitframe.units.target.buffs.onlyDispellable.friendly = false
+ E.db.unitframe.units.target.buffs.onlyDispellable.enemy = false
+ E.db.unitframe.units.target.debuffs.perrow = 9;
+ E.db.unitframe.units.target.debuffs.playerOnly.friendly = false
+ 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.debuffs.useWhitelist.friendly = false
+ E.db.unitframe.units.target.debuffs.useWhitelist.enemy = false
+ E.db.unitframe.units.target.debuffs.noDuration.friendly = false
+ E.db.unitframe.units.target.debuffs.noDuration.enemy = false
+ E.db.unitframe.units.target.debuffs.onlyDispellable.friendly = false
+ E.db.unitframe.units.target.debuffs.onlyDispellable.enemy = false
+ E.db.unitframe.units.target.debuffs.enable = true
+ E.db.unitframe.units.target.debuffs.clickThrough = false
+ E.db.unitframe.units.target.castbar.format = 'CURRENTMAX';
+ if layout == "healer" then
+ E.db.unitframe.units.target.castbar.width = 238
+ else
+ E.db.unitframe.units.target.castbar.width = 200
+ end
+ E.db.unitframe.units.target.aurabar.enable = false
+ --Target of Target
+ E.db.unitframe.units.targettarget.height = 26
+ if layout == "healer" then
+ E.db.unitframe.units.targettarget.width = 115
+ else
+ E.db.unitframe.units.targettarget.width = 120
+ end
+ E.db.unitframe.units.targettarget.name.text_format = "[name:medium]"
+ E.db.unitframe.units.targettarget.debuffs.enable = false
+ --Focus
+ E.db.unitframe.units.focus.height = 42
+ E.db.unitframe.units.focus.width = 179
+ E.db.unitframe.units.focus.health.position = 'BOTTOMRIGHT'
+ E.db.unitframe.units.focus.health.text_format = "[healthcolor][health:current-percent:sl]"
+ E.db.unitframe.units.focus.power.text_format = "[powercolor][power:current:sl]"
+ E.db.unitframe.units.focus.fixTo = "power"
+ E.db.unitframe.units.focus.power.position = "RIGHT"
+ E.db.unitframe.units.focus.name.text_format = "[name:medium]"
+ E.db.unitframe.units.focus.name.position = 'TOPLEFT'
+ E.db.unitframe.units.focus.debuffs.perrow = 8
+ E.db.unitframe.units.focus.debuffs.anchorPoint = "TOPLEFT"
+ E.db.unitframe.units.focus.castbar.format = 'CURRENTMAX'
+ E.db.unitframe.units.focus.castbar.width = 179
+ --Focus Target
+ E.db.unitframe.units.focustarget.name.text_format = "[name:medium]"
+ E.db.unitframe.units.focustarget.enable = true
+ E.db.unitframe.units.focustarget.height = 34
+ E.db.unitframe.units.focustarget.width = 179
+ --Pet
+ E.db.unitframe.units.pet.name.text_format = "[name:medium]"
+ if layout == "healer" then
+ E.db.unitframe.units.pet.width = 115
+ else
+ E.db.unitframe.units.pet.width = 128
+ end
+ --Pet Target
+ E.db.unitframe.units.pettarget.name.text_format = "[name:medium]"
+ E.db.unitframe.units.pettarget.enable = true
+ if layout == "healer" then
+ E.db.unitframe.units.pettarget.width = 115
+ else
+ E.db.unitframe.units.pettarget.width = 119
+ end
+ --Party
+ if layout == "healer" then
+ E.db.unitframe.units.party.point = "LEFT"
+ E.db.unitframe.units.party.xOffset = 5
+ E.db.unitframe.units.party.debuffs.perrow = 3
+ E.db.unitframe.units.party.debuffs.anchorPoint = "BOTTOMLEFT"
+ E.db.unitframe.units.party.debuffs.useFilter = "Blacklist"
+ E.db.unitframe.units.party.debuffs.initialAnchor = "TOPLEFT"
+ E.db.unitframe.units.party.roleIcon.position = "RIGHT"
+ E.db.unitframe.units.party.width = 80
+ E.db.unitframe.units.party.height = 52
+ E.db.unitframe.units.party.healPrediction = true
+ E.db.unitframe.units.party.health.text_format = "[healthcolor][health:deficit]"
+ E.db.unitframe.units.party.health.position = "CENTER"
+ E.db.unitframe.units.party.health.frequentUpdates = true
+ E.db.unitframe.units.party.health.orientation = "VERTICAL"
+ else
+ E.db.unitframe.units.party.debuffs.perrow = 4
+ E.db.unitframe.units.party.roleIcon.position = "TOPRIGHT"
+ E.db.unitframe.units.party.health.position = "BOTTOMLEFT"
+ end
+ E.db.unitframe.units.party.xOffset = 1
+ E.db.unitframe.units.party.yOffset = -1
+ E.db.unitframe.units.party.columnSpacing = 1
+ E.db.unitframe.units.party.debuffs.sizeOverride = 26
+ E.db.unitframe.units.party.buffIndicator.colorIcons = false
+ E.db.unitframe.units.party.power.height = 8
+ E.db.unitframe.units.party.power.text_format = ""
+ E.db.unitframe.units.party.name.position = "TOP"
+ E.db.unitframe.units.party.name.text_format = "[name:medium] [difficultycolor][smartlevel]"
+ --Raid 10
+ if layout == "healer" then
+ 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.health.position = "CENTER"
+ else
+ E.db.unitframe.units.raid10.health.text_format = "[healthcolor][health:current]"
+ E.db.unitframe.units.raid10.columnAnchorPoint = "LEFT"
+ E.db.unitframe.units.raid10.point = "TOP"
+ end
+ E.db.unitframe.units.raid10.xOffset = 1
+ E.db.unitframe.units.raid10.yOffset = -1
+ E.db.unitframe.units.raid10.columnSpacing = 1
+ E.db.unitframe.units.raid10.name.text_format = "[name:medium]"
+ E.db.unitframe.units.raid10.buffIndicator.colorIcons = false
+ E.db.unitframe.units.raid10.rdebuffs.size = 22
+ E.db.unitframe.units.raid10.power.height = 8
+ E.db.unitframe.units.raid10.power.text_format = ""
+ E.db.unitframe.units.raid10.health.position = "BOTTOMLEFT"
+ --Raid 25
+ if layout == "healer" then
+ 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.health.position = "CENTER"
+ E.db.unitframe.units.raid25.height = 36
+ else
+ E.db.unitframe.units.raid25.point = "TOP"
+ E.db.unitframe.units.raid25.columnAnchorPoint = "LEFT"
+ E.db.unitframe.units.raid25.health.text_format = ""
+ end
+ E.db.unitframe.units.raid25.xOffset = 1
+ E.db.unitframe.units.raid25.yOffset = -1
+ E.db.unitframe.units.raid25.columnSpacing = 1
+ E.db.unitframe.units.raid25.buffIndicator.colorIcons = false
+ E.db.unitframe.units.raid25.name.text_format = "[name:medium]"
+ E.db.unitframe.units.raid25.rdebuffs.size = 22
+ E.db.unitframe.units.raid25.power.height = 8
+ E.db.unitframe.units.raid25.power.text_format = ""
+ --Raid 40
+ if layout == "healer" then
+ E.db.unitframe.units.raid40.health.frequentUpdates = true
+ E.db.unitframe.units.raid40.health.text_format = ""
+ E.db.unitframe.units.raid40.health.orientation = "VERTICAL"
+ else
+ E.db.unitframe.units.raid40.health.text_format = ""
+ end
+ E.db.unitframe.units.raid40.height = 26
+ E.db.unitframe.units.raid40.xOffset = 1
+ E.db.unitframe.units.raid40.yOffset = -1
+ E.db.unitframe.units.raid40.columnSpacing = 1
+ E.db.unitframe.units.raid40.name.text_format = "[name:short]"
+ E.db.unitframe.units.raid40.buffIndicator.colorIcons = false
+
+ --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 = 40
+ E.db.unitframe.units.arena.growthDirection = 'DOWN'
+ E.db.unitframe.units.arena.health.position = 'BOTTOMRIGHT'
+ E.db.unitframe.units.arena.health.text_format = "[healthcolor][health:current-percent:sl]"
+ E.db.unitframe.units.arena.power.text_format = "[powercolor][power:current:sl]"
+ E.db.unitframe.units.arena.fixTo = "power"
+ E.db.unitframe.units.arena.name.text_format = "[name:long]"
+ E.db.unitframe.units.arena.name.position = 'TOPLEFT'
+ E.db.unitframe.units.arena.buffs.enable = false
+ E.db.unitframe.units.arena.debuffs.enable = false
+ E.db.unitframe.units.arena.castbar.format = 'CURRENTMAX'
+ E.db.unitframe.units.arena.castbar.height = 15
+ E.db.unitframe.units.arena.castbar.width = 200
+ E.db.unitframe.units.arena.castbar.color = {
+ ["r"] = 0.8274509803921568,
+ ["g"] = 0.792156862745098,
+ ["b"] = 0.3098039215686275,
+ }
+ --Boss
+ E.db.unitframe.units.boss.width = 200
+ E.db.unitframe.units.boss.height = 40
+ E.db.unitframe.units.boss.growthDirection = 'DOWN'
+ E.db.unitframe.units.boss.health.position = 'BOTTOMRIGHT'
+ E.db.unitframe.units.boss.health.text_format = "[healthcolor][health:current-percent]"
+ E.db.unitframe.units.boss.power.height = 10
+ E.db.unitframe.units.boss.power.text_format = "[powercolor][power:current:sl]"
+ E.db.unitframe.units.boss.fixTo = "power"
+ E.db.unitframe.units.boss.name.text_format = "[name:long]"
+ E.db.unitframe.units.boss.name.position = 'TOPLEFT'
+ E.db.unitframe.units.boss.buffs.enable = false
+ E.db.unitframe.units.boss.debuffs.enable = false
+ E.db.unitframe.units.boss.castbar.format = 'CURRENTMAX'
+ E.db.unitframe.units.boss.castbar.height = 15
+ E.db.unitframe.units.boss.castbar.width = 200
+ E.db.unitframe.units.boss.castbar.color = {
+ ["r"] = 0.8274509803921568,
+ ["g"] = 0.792156862745098,
+ ["b"] = 0.3098039215686275,
+ }
+ --Power text
+ E.db.sle.powtext = true
+
+ end
+
+ --Actionbars
+ do
+ 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.buttonsize = 26
+ E.db.actionbar.bar1.backdrop = true
+ E.db.actionbar.bar2.enabled = true
+ E.db.actionbar.bar2.point = "TOPLEFT"
+ E.db.actionbar.bar2.backdrop = true
+ E.db.actionbar.bar2.buttonsPerRow = 3
+ E.db.actionbar.bar2.buttonsize = 26
+ E.db.actionbar.bar2.visibility = "[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.visibility = "[petbattle] hide; show"
+ E.db.actionbar.bar3.buttonsize = 26
+ E.db.actionbar.bar3.backdrop = true
+ E.db.actionbar.bar4.enabled = false
+ --E.db.actionbar.bar5.enabled = true
+ E.db.actionbar.bar5.buttons = 12
+ E.db.actionbar.bar5.buttonspacing = 2
+ E.db.actionbar.bar5.mouseover = true
+ E.db.actionbar.bar5.buttonsize = 24
+ E.db.actionbar.bar5.backdrop = true
+ E.db.actionbar.microbar.enabled = true
+ E.db.actionbar.microbar.buttonsPerRow = 2
+ E.db.actionbar.microbar.alpha = 0.2
+ E.db.actionbar.stanceBar.buttonspacing = 2
+ E.db.actionbar.stanceBar.backdrop = true
+ E.db.actionbar.stanceBar.buttonsPerRow = 1
+ E.db.actionbar.stanceBar.buttonsize = 22
+ 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.growth = "LEFT"
+
+ --Background Frames--
+ E.db.sle.backgrounds.right.enabled = true
+ E.db.sle.backgrounds.right.pethide = false
+ E.db.sle.backgrounds.right.xoffset = 70
+ E.db.sle.backgrounds.right.yoffset = -2
+ E.db.sle.backgrounds.left.enabled = true
+ E.db.sle.backgrounds.left.pethide = false
+ E.db.sle.backgrounds.left.xoffset = -70
+ E.db.sle.backgrounds.left.yoffset = -2
+
+ --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.5
+
+ --LFR--
+ E.db.datatexts.lfrshow = true
+
+ --Errors--
+ E.db.sle.errors = true
+
+ --UI Buttons--
+ E.db.sle.uibuttons.enable = true
+
+ --Moving stuff--
+ do
+ if layout == "healer" then
+ E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-313245"
+ E.db.movers.ElvUF_PlayerCastbarMover = "BOTTOMElvUIParentBOTTOM0177"
+ E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM313245"
+ E.db.movers.ElvUF_TargetCastbarMover = "BOTTOMElvUIParentBOTTOM0196"
+ E.db.movers.ElvUF_TargetTargetMover = "BOTTOMElvUIParentBOTTOM271220"
+ E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM-270210"
+ E.db.movers.ElvUF_PetTargetMover = "BOTTOMElvUIParentBOTTOM-270185"
+ E.db.movers.PetAB = "BOTTOMElvUIParentBOTTOM-275143"
+ E.db.movers.TotemBarMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT547298"
+ E.db.movers.TempEnchantMover = "BOTTOMElvUIParentBOTTOM-243309"
+ E.db.movers.ElvUF_PartyMover = "BOTTOMElvUIParentBOTTOM0251"
+ E.db.movers.ElvUF_Raid10Mover = "BOTTOMElvUIParentBOTTOM0215"
+ E.db.movers.ElvUF_Raid25Mover = "BOTTOMElvUIParentBOTTOM0215"
+ E.db.movers.ElvUF_Raid40Mover = "BOTTOMElvUIParentBOTTOM0215"
+ E.db.movers.ElvUF_TankMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT428245"
+ E.db.movers.BossButton = "BOTTOMLEFTElvUIParentBOTTOMLEFT326268"
+ else
+ E.db.movers.ElvUF_PlayerMover = "BOTTOMElvUIParentBOTTOM-228192"
+ E.db.movers.ElvUF_PlayerCastbarMover = "BOTTOMElvUIParentBOTTOM0194"
+ E.db.movers.ElvUF_TargetMover = "BOTTOMElvUIParentBOTTOM228192"
+ E.db.movers.ElvUF_TargetCastbarMover = "BOTTOMElvUIParentBOTTOM228169"
+ E.db.movers.ElvUF_TargetTargetMover = "BOTTOMRIGHTUIParentBOTTOMRIGHT-835169"
+ E.db.movers.ElvUF_PetMover = "BOTTOMElvUIParentBOTTOM-264157"
+ E.db.movers.ElvUF_PetTargetMover = "BOTTOMLEFTUIParentBOTTOMLEFT835169"
+ E.db.movers.PetAB = "BOTTOMElvUIParentBOTTOM-275115"
+ E.db.movers.TotemBarMover = "BOTTOMElvUIParentBOTTOM-275245"
+ E.db.movers.TempEnchantMover = "BOTTOMElvUIParentBOTTOM-158255"
+ E.db.movers.ElvUF_PartyMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT0245"
+ E.db.movers.ElvUF_Raid10Mover = "BOTTOMLEFTElvUIParentBOTTOMLEFT0245"
+ E.db.movers.ElvUF_Raid25Mover = "BOTTOMLEFTElvUIParentBOTTOMLEFT0245"
+ E.db.movers.ElvUF_Raid40Mover = "BOTTOMLEFTElvUIParentBOTTOMLEFT0245"
+ E.db.movers.BossButton = "BOTTOMElvUIParentBOTTOM0237"
+ end
+ E.db.movers.ElvAB_1 = "BOTTOMElvUIParentBOTTOM019"
+ E.db.movers.ElvAB_2 = "BOTTOMElvUIParentBOTTOM8519"
+ E.db.movers.ElvAB_3 = "BOTTOMElvUIParentBOTTOM-8519"
+ E.db.movers.ElvAB_4 = "TOPRIGHTUIParentTOPRIGHT-311-319"
+ E.db.movers.ElvAB_5 = "BOTTOMElvUIParentBOTTOM-24919"
+ E.db.movers.MinimapMover = "TOPRIGHTElvUIParentTOPRIGHT2-18"
+ E.db.movers.UIBFrameMover = "TOPLEFTElvUIParentTOPLEFT0-451"
+ E.db.movers.WatchFrameMover = "TOPRIGHTUIParentTOPRIGHT-237-231"
+ E.db.movers.BossHeaderMover = "TOPRIGHTElvUIParentTOPRIGHT-1-217"
+ E.db.movers.ArenaHeaderMover = "TOPRIGHTElvUIParentTOPRIGHT-1-217"
+ E.db.movers.PetBattleABMover = "BOTTOMElvUIParentBOTTOM019"
+ E.db.movers.ShiftAB = "BOTTOMElvUIParentBOTTOM-14019"
+ if UnitLevel('player') == 90 then
+ E.db.movers.ExperienceBarMover = "TOPElvUIParentTOP0-19"
+ E.db.movers.ReputationBarMover = "TOPElvUIParentTOP0-19"
+ E.db.movers.PvPMover = "TOPElvUIParentTOP-5-50"
+ E.db.movers.LocationMover = "TOPElvUIParentTOP0-30"
+ E.db.movers.LocationLiteMover = "TOPElvUIParentTOP0-30"
+ E.db.movers.AlertFrameMover = "TOPElvUIParentTOP0-32"
+ else
+ E.db.movers.ExperienceBarMover = "TOPElvUIParentTOP0-19"
+ E.db.movers.ReputationBarMover = "TOPElvUIParentTOP0-30"
+ E.db.movers.LocationMover = "TOPElvUIParentTOP0-41"
+ E.db.movers.LocationLiteMover = "TOPElvUIParentTOP0-41"
+ E.db.movers.AlertFrameMover = "TOPElvUIParentTOP0-43"
+ E.db.movers.PvPMover = "TOPElvUIParentTOP-5-61"
+ end
+ E.db.movers.MarkMover = "BOTTOMElvUIParentBOTTOM0132"
+ E.db.movers.MicrobarMover = "BOTTOMRIGHTElvUIParentBOTTOMRIGHT2244"
+ E.db.movers.LootFrameMover = "TOPLEFTUIParentTOPLEFT60-360"
+ E.db.movers.AurasMover = "TOPRIGHTElvUIParentTOPRIGHT-208-19"
+ E.db.movers.BagsMover = "TOPLEFTUIParentTOPLEFT0-19"
+ E.db.movers.GMMover = "TOPLEFTElvUIParentTOPLEFT402-19"
+ E.db.movers.BNETMover = "BOTTOMLEFTElvUIParentBOTTOMLEFT0479"
+ E.db.movers.ElvUF_FocusMover = "BOTTOMElvUIParentBOTTOM239103"
+ E.db.movers.ElvUF_FocusTargetMover = "BOTTOMElvUIParentBOTTOM23934"
+ E.db.movers.VehicleSeatMover = "TOPLEFTElvUIParentTOPLEFT185-38"
+ E.db.movers.DP_5_Mover = "BOTTOMElvUIParentBOTTOM-3050"
+ E.db.movers.DP_6_Mover = "BOTTOMElvUIParentBOTTOM3050"
+ E.db.movers.RightChatMover = "BOTTOMRIGHTUIParentBOTTOMRIGHT019"
+ E.db.movers.LeftChatMover = "BOTTOMLEFTUIParentBOTTOMLEFT019"
+ E.db.movers.Dashboard = "TOPLEFTElvUIParentTOPLEFT0-19"
+ E.db.movers.RaidUtility_Mover = "TOPElvUIParentTOP-283-19"
+ E.db.movers.AltPowerBarMover = "TOPElvUIParentTOP0-135"
+ 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.
+
+ --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.reputation.enable = true
+ 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'] = ""
+ 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
+ --Raid10
+ E.db.unitframe.units.raid10.xOffset = 2
+ E.db.unitframe.units.raid10.columnSpacing = 2
+ E.db.unitframe.units.raid10.healPrediction = true
+ E.db.unitframe.units.raid10.width = 79
+
+ --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"
+
+ --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
+
+ --Raid25
+ E.db.unitframe.units.raid25.columnSpacing = 2
+ 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.columnSpacing = 2
+ 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
+
+ --Player
+ E.db.unitframe.units.player.health.position = "TOPRIGHT"
+ E.db.unitframe.units.player.power.position = "BOTTOMRIGHT"
+
+ --Boss
+ E.db.unitframe.units.boss.width = 200
+ E.db.unitframe.units.boss.castbar.width = 200
+
+ E.db.unitframe.colors.healthclass = true
+ 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 2
+ E.db.actionbar.bar2.enabled = true
+ --Bar 3
+ E.db.actionbar.bar3.enabled = false
+ --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
+
+ --UIButtons
+ E.db.sle.uibuttons.enable = true
+ E.db.sle.uibuttons.position = "uib_hor"
+
+ --SLE Tooltip
+ E.db.sle.castername = 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 = "BOTTOMElvUIParentBOTTOM074"
+ 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.ElvAB_4 = "TOPRIGHTElvUIParentTOPRIGHT-4-185"
+ 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 = "BOTTOMElvUIParentBOTTOM074"
+ 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.ElvAB_4 = "TOPRIGHTElvUIParentTOPRIGHT-4-185"
+ 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
+ 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:DarthSetup() end)
+ InstallOption1Button:SetText(L["Darth's Config"])
+ InstallOption2Button:Show()
+ InstallOption2Button:SetScript('OnClick', function() E:RepoocSetup() end)
+ InstallOption2Button: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