--[[
    Horizon Suite - Presence - SetDB routing keys
    Exports PRESENCE_KEYS used by OptionsData_SetDB to trigger
    Presence.ApplyPresenceOptions when any presence setting changes.
]]
local addon = _G.HorizonSuite
if not addon then return end

addon.PRESENCE_KEYS = {
    presenceFrameY = true,
    presenceFrameScale = true,
    presenceBossEmoteColor = true,
    presenceDiscoveryColor = true,
    presenceZoneChange = true,
    presenceSubzoneChange = true,
    presenceHideZoneForSubzone = true,
    presenceSuppressZoneInMplus = true,
    presenceLevelUp = true,
    presenceBossEmote = true,
    presenceAchievement = true,
    presenceAchievementProgress = false,
    presenceQuestEvents = true,
    presenceQuestAccept = true,
    presenceWorldQuestAccept = true,
    presenceQuestComplete = true,
    presenceWorldQuest = true,
    presenceQuestUpdate = true,
    presenceScenarioStart = true,
    presenceScenarioUpdate = true,
    presenceScenarioComplete = true,
    presenceRareDefeated = true,
    presenceAnimations = true,
    presenceEntranceDur = true,
    presenceExitDur = true,
    presenceHoldScale = true,
    presencePrimaryLargeSz = true,
    presenceSecondaryLargeSz = true,
    presencePrimaryMediumSz = true,
    presenceSecondaryMediumSz = true,
    presencePrimarySmallSz = true,
    presenceSecondarySmallSz = true,
    presenceTitleFontPath = true,
    presenceSubtitleFontPath = true,
    presenceTitleFontOutline = true,
    presenceSubtitleFontOutline = true,
    presenceZoneTypeColoring = true,
    presenceZoneColorFriendly = true,
    presenceZoneColorHostile = true,
    presenceZoneColorContested = true,
    presenceZoneColorSanctuary = true,
    presenceSuppressInDungeon = true,
    presenceSuppressInRaid = true,
    presenceSuppressInDelve = false,
    presenceSuppressInPvP = true,
    presenceSuppressInBattleground = true,
    presenceHideQuestUpdateTitle = true,
    presencePreviewType = true,
}

addon.PRESENCE_DEFAULTS = {
    showPresenceQuestTypeIcons     = true,
    presenceIconSize               = 24,
    presenceHideQuestUpdateTitle   = false,
    showPresenceDiscovery          = true,
    presenceFrameY                 = -180,
    presenceFrameScale             = 1,
    presenceAnimations             = true,
    presenceEntranceDur            = 0.7,
    presenceExitDur                = 0.8,
    presenceHoldScale              = 1,
    presenceZoneChange             = true,
    presenceHideZoneForSubzone     = false,
    presenceSuppressZoneInMplus    = true,
    presenceSuppressInDungeon      = false,
    presenceSuppressInDelve        = false,
    presenceSuppressInRaid         = false,
    presenceSuppressInPvP          = false,
    presenceSuppressInBattleground = false,
    presenceLevelUp                = true,
    presenceBossEmote              = true,
    presenceAchievement            = true,
    presenceAchievementProgress    = false,
    presenceQuestEvents            = true,
    presenceRareDefeated           = true,
    presenceTitleFontOutline       = "OUTLINE",
    presenceSubtitleFontOutline    = "OUTLINE",
    presencePrimaryLargeSz         = 48,
    presenceSecondaryLargeSz       = 24,
    presencePrimaryMediumSz        = 36,
    presenceSecondaryMediumSz      = 22,
    presencePrimarySmallSz         = 28,
    presenceSecondarySmallSz       = 20,
    presenceZoneTypeColoring       = false,
}

addon.PRESENCE_LIMITS = {
    presenceIconSize          = { min = 16,   max = 36  },
    presenceFrameY            = { min = -300, max = 0   },
    presenceFrameScale        = { min = 0.5,  max = 2   },
    presenceEntranceDur       = { min = 0.2,  max = 1.5 },
    presenceExitDur           = { min = 0.2,  max = 1.5 },
    presenceHoldScale         = { min = 0.5,  max = 2   },
    presencePrimaryLargeSz    = { min = 12,   max = 72  },
    presenceSecondaryLargeSz  = { min = 12,   max = 40  },
    presencePrimaryMediumSz   = { min = 12,   max = 72  },
    presenceSecondaryMediumSz = { min = 12,   max = 40  },
    presencePrimarySmallSz    = { min = 12,   max = 72  },
    presenceSecondarySmallSz  = { min = 12,   max = 40  },
}

