local Ellipsis = _G['Ellipsis'] local LSM = LibStub('LibSharedMedia-3.0') -- ------------------------ -- DEFAULT OPTIONS -- ------------------------ function Ellipsis:GetDefaults() return { profile = { locked = false, -- default to being unlocked for first install so anchors can be positioned anchorData = { -- base display data for all anchors [1] = {point = 'CENTER', x = 0, y = 128, alpha = 1.0, scale = 1.0}, [2] = {point = 'CENTER', x = 0, y = 88, alpha = 1.0, scale = 1.0}, [3] = {point = 'CENTER', x = 0, y = 48, alpha = 1.0, scale = 1.0}, [4] = {point = 'CENTER', x = 0, y = 8, alpha = 1.0, scale = 1.0}, [5] = {point = 'CENTER', x = 0, y = -32, alpha = 1.0, scale = 1.0}, [6] = {point = 'CENTER', x = 0, y = -72, alpha = 1.0, scale = 1.0}, [7] = {point = 'CENTER', x = 0, y = -112, alpha = 1.0, scale = 1.0}, ['CD'] = {point = 'CENTER', x = 0, y = -152, alpha = 1.0, scale = 1.0}, }, control = { -- aura restrictions showPassiveAuras = true, timeMinLimit = false, timeMinValue = 4, timeMaxLimit = false, timeMaxValue = 60, blacklist = {}, -- blacklisted auras by spellID whitelist = {}, -- whitelisted auras by spellID filterByBlacklist = true, -- filter auras by using a blacklist -- grouping and tracking unitGroups = { -- set the anchor to display a group in (or false for 'do not show') and the priority (if enabled) ['target'] = {anchor = 1, priority = 1}, -- override (priority cannot be changed) ['focus'] = {anchor = 1, priority = 2}, -- override (priority cannot be changed) ['notarget'] = {anchor = 1, priority = 3}, -- special ['player'] = {anchor = 1, priority = 4}, -- base ['pet'] = {anchor = 1, priority = 5}, -- base ['harmful'] = {anchor = 1, priority = 6}, -- base ['helpful'] = {anchor = 1, priority = 7}, -- base }, -- layout (auras [bar style]) auraBarGrowth = 'DOWN', -- DOWN|UP auraBarPaddingY = 2, -- vertical padding between bars -- layout (auras [icon style]) auraIconGrowth = 'CENTER', -- CENTER|LEFT|RIGHT auraIconWrapAuras = true, -- set whether auras wrap once they reach the unit width auraIconPaddingX = 4, -- horizontal padding between icons auraIconPaddingY = 16, -- vertical padding between icons -- layout (auras [all styles]) auraSorting = 'NAME_ASC', -- NAME_ASC|NAME_DESC|EXPIRY_ASC|EXPIRY_DESC|CREATE_ASC|CREATE_DESC -- layout (units) unitGrowth = 'DOWN', -- DOWN|UP|LEFT|RIGHT unitPaddingX = 4, unitPaddingY = 4, unitSorting = 'NAME_ASC', -- NAME_ASC|NAME_DESC|CREATE_ASC|CREATE_DESC unitPrioritize = false -- whether unit prioritiy overrides chosen sorting method }, auras = { style = 'BAR', -- BAR|ICON interactive = true, -- control ability to cancel/announce timers with mouse-clicks tooltips = 'HELPER', -- FULL|HELPER|OFF timeFormat = 'ABRV', -- ABRV|TRUN|FULL textFormat = 'AURA', -- AURA|UNIT|BOTH flipIcon = false, -- flip icon to the right side of the bar ghosting = true, ghostDuration = 10, -- appearance (text) textFont = 'Friz Quadrata TT', textFontSize = 10, stacksFont = 'Arial Narrow', stacksFontSize = 13, -- appearance (bar) barSize = 16, -- height of bar (and width of spell icon) barTexture = 'BantoBar', -- appearance (icon) iconSize = 24, -- height (and width) of spell icon -- colours colourText = {1, 1, 1, 1}, -- for spell name and remaining time colourStacks = {1, 1, 1, 1}, colourGhosting = {0.5, 0.5, 0.5, 1}, colourHigh = {0, 1, 0, 1}, -- colour of aura elements when > 10s remain colourMed = {1, 1, 0, 1}, -- colour of aura elements when > 5-10s remain (gradient from high > med) colourLow = {1, 0, 0, 1}, -- colour of aura elements when < 5s remain (gradient from med > low) colourBarBackground = {0.25, 0.25, 0.25, 1}, }, units ={ width = 160, -- also used for auras when in bar style, or for wrap distance in ICON style opacityFaded = 1, -- set the opacity of units not currently being targeted opacityNoTarget = 1, -- set the opacity of the notarget unit headerHeight = 16, -- height of the header block for each unit headerFont = 'Friz Quadrata TT', headerFontSize = 12, headerFontStyle = 'OUTLINE', -- OUTLINE|THICKOUTLINE|NONE headerShowLevel = true, headerColourBy = 'REACTION', -- CLASS|REACTION|NONE (NONE = use player chosen colour) stripServer = false, collapseAllUnits = false, collapsePlayer = false, collapseNoTarget = false, -- colours colourHeader = {1, 0.82, 0, 1}, colourFriendly = {0, 1, 0, 1}, colourHostile = {1, 0, 0, 1}, }, cooldowns = { enabled = false, onlyWhenTracking = false, interactive = true, -- control ability to cancel/announce cooldowns with mouse-clicks tooltips = 'FULL', -- FULL|HELPER|OFF -- control trackItem = true, trackPet = true, trackSpell = true, blacklist = { ['ITEM'] = {}, -- blacklisted item cooldowns ['SPELL'] = {}, -- blacklisted spell (pet and player) cooldowns }, timeMinValue = 2, -- always enabled with a minimum greater than the GCD timeMaxLimit = false, timeMaxValue = 60, -- appearance horizontal = true, texture = 'BantoBar', length = 200, thickness = 16, timeDisplayMax = 60, timeDetailed = false, timeFont = 'Friz Quadrata TT', timeFontSize = 10, offsetTags = false, offsetItem = 0, offsetPet = 0, offsetSpell = 0, -- colours colourBar = {0.5, 0.5, 0.5, 1}, colourBackdrop = {0, 0, 0, 1}, colourBorder = {0, 0, 0, 1}, colourText = {0.75, 0.75, 0.75, 1}, colourItem = {0, 0, 1, 1}, colourPet = {0, 1, 0, 1}, colourSpell = {1, 0, 0, 1}, }, notify = { outputAnnounce = 'GROUPS', -- AUTO|GROUPS|RAID|PARTY|SAY outputAlerts = { -- storage for LibSink ['sink20OutputSink'] = 'Default', }, -- aura alerts auraBrokenAlerts = false, auraBrokenAudio = 'Short Circuit', -- an entry from LSM or 'None' auraBrokenText = true, auraExpiredAlerts = false, auraExpiredAudio = 'Simon Chime', -- an entry from LSM or 'None' auraExpiredText = true, -- cooldown alerts coolPrematureAlerts = false, coolPrematureAudio = 'Short Circuit', -- an entry from LSM or 'None' coolPrematureText = true, coolCompleteAlerts = false, coolCompleteAudio = 'Simon Chime', -- an entry from LSM or 'None' coolCompleteText = true, }, advanced = { tickRate = 0.1, secondaryScan = 'OFF', -- ON|OFF secondaryScanTick = 1, }, } } end -- ------------------------ -- LSM ADDITIONAL MEDIA -- ------------------------ function Ellipsis:MediaRegistration() -- Copied from Omen giving the same selection whether its installed or not LSM:Register('sound', 'Rubber Ducky', [[Sound\Doodad\Goblin_Lottery_Open01.ogg]]) LSM:Register('sound', 'Cartoon FX', [[Sound\Doodad\Goblin_Lottery_Open03.ogg]]) LSM:Register('sound', 'Explosion', [[Sound\Doodad\Hellfire_Raid_FX_Explosion05.ogg]]) LSM:Register('sound', 'Shing!', [[Sound\Doodad\PortcullisActive_Closed.ogg]]) LSM:Register('sound', 'Wham!', [[Sound\Doodad\PVP_Lordaeron_Door_Open.ogg]]) LSM:Register('sound', 'Simon Chime', [[Sound\Doodad\SimonGame_LargeBlueTree.ogg]]) LSM:Register('sound', 'War Drums', [[Sound\Event Sounds\Event_wardrum_ogre.ogg]]) LSM:Register('sound', 'Cheer', [[Sound\Event Sounds\OgreEventCheerUnique.ogg]]) LSM:Register('sound', 'Humm', [[Sound\Spells\SimonGame_Visual_GameStart.ogg]]) LSM:Register('sound', 'Short Circuit', [[Sound\Spells\SimonGame_Visual_BadPress.ogg]]) LSM:Register('sound', 'Fel Portal', [[Sound\Spells\Sunwell_Fel_PortalStand.ogg]]) LSM:Register('sound', 'Fel Nova', [[Sound\Spells\SeepingGaseous_Fel_Nova.ogg]]) -- Additional Choices (all in-game sounds) LSM:Register('sound', 'PVP Enter Queue', [[Sound\Spells\PVPEnterQueue.ogg]]) LSM:Register('sound', 'PVP Through Queue', [[Sound\Spells\PVPThroughQueue.ogg]]) LSM:Register('sound', 'Level Up', [[Sound\interface\LevelUp.ogg]]) LSM:Register('sound', 'Raid Warning', [[Sound\interface\RaidWarning.ogg]]) -- Additional statusbar choices (imported from SharedMedia) LSM:Register('statusbar', 'Aluminium', [[Interface\Addons\Ellipsis\StatusBars\Aluminium]]) LSM:Register('statusbar', 'Armory', [[Interface\Addons\Ellipsis\StatusBars\Armory]]) LSM:Register('statusbar', 'BantoBar', [[Interface\Addons\Ellipsis\StatusBars\BantoBar]]) LSM:Register('statusbar', 'Bars', [[Interface\Addons\Ellipsis\StatusBars\Bars]]) LSM:Register('statusbar', 'Bumps', [[Interface\Addons\Ellipsis\StatusBars\Bumps]]) LSM:Register('statusbar', 'Button', [[Interface\Addons\Ellipsis\StatusBars\Button]]) LSM:Register('statusbar', 'Charcoal', [[Interface\Addons\Ellipsis\StatusBars\Charcoal]]) LSM:Register('statusbar', 'Cilo', [[Interface\Addons\Ellipsis\StatusBars\Cilo]]) LSM:Register('statusbar', 'Cloud', [[Interface\Addons\Ellipsis\StatusBars\Cloud]]) LSM:Register('statusbar', 'Comet', [[Interface\Addons\Ellipsis\StatusBars\Comet]]) LSM:Register('statusbar', 'Dabs', [[Interface\Addons\Ellipsis\StatusBars\Dabs]]) LSM:Register('statusbar', 'DarkBottom', [[Interface\Addons\Ellipsis\StatusBars\DarkBottom]]) LSM:Register('statusbar', 'Diagonal', [[Interface\Addons\Ellipsis\StatusBars\Diagonal]]) LSM:Register('statusbar', 'Empty', [[Interface\Addons\Ellipsis\StatusBars\Empty]]) LSM:Register('statusbar', 'Falumn', [[Interface\Addons\Ellipsis\StatusBars\Falumn]]) LSM:Register('statusbar', 'Fifths', [[Interface\Addons\Ellipsis\StatusBars\Fifths]]) LSM:Register('statusbar', 'Flat', [[Interface\Addons\Ellipsis\StatusBars\Flat]]) LSM:Register('statusbar', 'Fourths', [[Interface\Addons\Ellipsis\StatusBars\Fourths]]) LSM:Register('statusbar', 'Frost', [[Interface\Addons\Ellipsis\StatusBars\Frost]]) LSM:Register('statusbar', 'Glamour', [[Interface\Addons\Ellipsis\StatusBars\Glamour]]) LSM:Register('statusbar', 'Glamour2', [[Interface\Addons\Ellipsis\StatusBars\Glamour2]]) LSM:Register('statusbar', 'Glamour3', [[Interface\Addons\Ellipsis\StatusBars\Glamour3]]) LSM:Register('statusbar', 'Glamour4', [[Interface\Addons\Ellipsis\StatusBars\Glamour4]]) LSM:Register('statusbar', 'Glamour5', [[Interface\Addons\Ellipsis\StatusBars\Glamour5]]) LSM:Register('statusbar', 'Glamour6', [[Interface\Addons\Ellipsis\StatusBars\Glamour6]]) LSM:Register('statusbar', 'Glamour7', [[Interface\Addons\Ellipsis\StatusBars\Glamour7]]) LSM:Register('statusbar', 'Glass', [[Interface\Addons\Ellipsis\StatusBars\Glass]]) LSM:Register('statusbar', 'Glaze', [[Interface\Addons\Ellipsis\StatusBars\Glaze]]) LSM:Register('statusbar', 'Glaze v2', [[Interface\Addons\Ellipsis\StatusBars\Glaze2]]) LSM:Register('statusbar', 'Gloss', [[Interface\Addons\Ellipsis\StatusBars\Gloss]]) LSM:Register('statusbar', 'Graphite', [[Interface\Addons\Ellipsis\StatusBars\Graphite]]) LSM:Register('statusbar', 'Grid', [[Interface\Addons\Ellipsis\StatusBars\Grid]]) LSM:Register('statusbar', 'Hatched', [[Interface\Addons\Ellipsis\StatusBars\Hatched]]) LSM:Register('statusbar', 'Healbot', [[Interface\Addons\Ellipsis\StatusBars\Healbot]]) LSM:Register('statusbar', 'LiteStep', [[Interface\Addons\Ellipsis\StatusBars\LiteStep]]) LSM:Register('statusbar', 'LiteStepLite', [[Interface\Addons\Ellipsis\StatusBars\LiteStepLite]]) LSM:Register('statusbar', 'Lyfe', [[Interface\Addons\Ellipsis\StatusBars\Lyfe]]) LSM:Register('statusbar', 'Melli', [[Interface\Addons\Ellipsis\StatusBars\Melli]]) LSM:Register('statusbar', 'Melli Dark', [[Interface\Addons\Ellipsis\StatusBars\MelliDark]]) LSM:Register('statusbar', 'Melli Dark Rough', [[Interface\Addons\Ellipsis\StatusBars\MelliDarkRough]]) LSM:Register('statusbar', 'Minimalist', [[Interface\Addons\Ellipsis\StatusBars\Minimalist]]) LSM:Register('statusbar', 'Otravi', [[Interface\Addons\Ellipsis\StatusBars\Otravi]]) LSM:Register('statusbar', 'Outline', [[Interface\Addons\Ellipsis\StatusBars\Outline]]) LSM:Register('statusbar', 'Perl', [[Interface\Addons\Ellipsis\StatusBars\Perl]]) LSM:Register('statusbar', 'Perl v2', [[Interface\Addons\Ellipsis\StatusBars\Perl2]]) LSM:Register('statusbar', 'Pill', [[Interface\Addons\Ellipsis\StatusBars\Pill]]) LSM:Register('statusbar', 'Rain', [[Interface\Addons\Ellipsis\StatusBars\Rain]]) LSM:Register('statusbar', 'Rocks', [[Interface\Addons\Ellipsis\StatusBars\Rocks]]) LSM:Register('statusbar', 'Round', [[Interface\Addons\Ellipsis\StatusBars\Round]]) LSM:Register('statusbar', 'Ruben', [[Interface\Addons\Ellipsis\StatusBars\Ruben]]) LSM:Register('statusbar', 'Runes', [[Interface\Addons\Ellipsis\StatusBars\Runes]]) LSM:Register('statusbar', 'Skewed', [[Interface\Addons\Ellipsis\StatusBars\Skewed]]) LSM:Register('statusbar', 'Smooth', [[Interface\Addons\Ellipsis\StatusBars\Smooth]]) LSM:Register('statusbar', 'Smooth v2', [[Interface\Addons\Ellipsis\StatusBars\Smoothv2]]) LSM:Register('statusbar', 'Smudge', [[Interface\Addons\Ellipsis\StatusBars\Smudge]]) LSM:Register('statusbar', 'Steel', [[Interface\Addons\Ellipsis\StatusBars\Steel]]) LSM:Register('statusbar', 'Striped', [[Interface\Addons\Ellipsis\StatusBars\Striped]]) LSM:Register('statusbar', 'Tube', [[Interface\Addons\Ellipsis\StatusBars\Tube]]) LSM:Register('statusbar', 'Water', [[Interface\Addons\Ellipsis\StatusBars\Water]]) LSM:Register('statusbar', 'Wglass', [[Interface\Addons\Ellipsis\StatusBars\Wglass]]) LSM:Register('statusbar', 'Wisps', [[Interface\Addons\Ellipsis\StatusBars\Wisps]]) LSM:Register('statusbar', 'Xeon', [[Interface\Addons\Ellipsis\StatusBars\Xeon]]) end