├── .editorconfig ├── .github ├── FUNDING.yml ├── dependabot.yml └── workflows │ ├── ci.yml │ └── pr.yml ├── .gitignore ├── .luacheckrc ├── .luarc.json ├── .pkgmeta ├── AdvancedInterfaceOptions.toc ├── README.md ├── basicOptions.lua ├── browser.lua ├── cspell.json ├── cvars.dump ├── cvars.lua ├── embeds.xml ├── gui ├── CVarConfigPanel.lua ├── CameraConfigPanel.lua ├── ChatConfigPanel.lua ├── CombatConfigPanel.lua ├── FloatingCombatTextConfigPanel.lua ├── GeneralConfigPanel.lua ├── NameplateConfigPanel.lua └── StatusTextConfigPanel.lua ├── semlib ├── eve.lua ├── semlib.xml └── widgets.lua ├── stylua.toml └── utils.lua /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 2 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | 11 | [*.yml] 12 | indent_size = 2 13 | 14 | [*.json] 15 | indent_size = 4 16 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: stanzilla 4 | #patreon: # Replace with a single Patreon username 5 | #open_collective: # Replace with a single Open Collective username 6 | #ko_fi: # Replace with a single Ko-fi username 7 | #tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | custom: https://www.paypal.me/bstaneck 9 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: 'github-actions' 4 | directory: '/' 5 | target-branch: 'master' 6 | schedule: 7 | interval: 'monthly' 8 | open-pull-requests-limit: 20 9 | assignees: 10 | - Stanzilla 11 | labels: 12 | - dependencies 13 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: [push] 4 | 5 | jobs: 6 | build: 7 | runs-on: ubuntu-latest 8 | 9 | steps: 10 | - uses: actions/checkout@v4 11 | with: 12 | fetch-depth: 0 13 | 14 | - name: Install and run Luacheck 15 | uses: nebularg/actions-luacheck@v1 16 | with: 17 | args: "--no-color -q" 18 | annotate: warning 19 | 20 | - name: Create Retail Package 21 | uses: BigWigsMods/packager@master 22 | env: 23 | CF_API_KEY: ${{ secrets.CF_API_KEY }} 24 | GITHUB_OAUTH: ${{ secrets.GITHUB_TOKEN }} 25 | WOWI_API_TOKEN: ${{ secrets.WOWI_API_TOKEN }} 26 | WAGO_API_TOKEN: ${{ secrets.WAGO_API_TOKEN }} 27 | 28 | - name: Create Classic Package 29 | uses: BigWigsMods/packager@master 30 | with: 31 | args: -g classic -w 24947 32 | env: 33 | CF_API_KEY: ${{ secrets.CF_API_KEY }} 34 | GITHUB_OAUTH: ${{ secrets.GITHUB_TOKEN }} 35 | WOWI_API_TOKEN: ${{ secrets.WOWI_API_TOKEN }} 36 | WAGO_API_TOKEN: ${{ secrets.WAGO_API_TOKEN }} 37 | 38 | - name: Create Cata Package 39 | uses: BigWigsMods/packager@master 40 | with: 41 | args: -g cata 42 | env: 43 | CF_API_KEY: ${{ secrets.CF_API_KEY }} 44 | GITHUB_OAUTH: ${{ secrets.GITHUB_TOKEN }} 45 | WOWI_API_TOKEN: ${{ secrets.WOWI_API_TOKEN }} 46 | WAGO_API_TOKEN: ${{ secrets.WAGO_API_TOKEN }} 47 | -------------------------------------------------------------------------------- /.github/workflows/pr.yml: -------------------------------------------------------------------------------- 1 | name: CI-PR 2 | 3 | on: [pull_request] 4 | 5 | jobs: 6 | build: 7 | runs-on: ubuntu-latest 8 | 9 | steps: 10 | - uses: actions/checkout@v4 11 | with: 12 | fetch-depth: 0 13 | 14 | - name: Install and run Luacheck 15 | uses: nebularg/actions-luacheck@v1 16 | with: 17 | args: "--no-color -q" 18 | annotate: warning 19 | 20 | - name: Create Retail Package 21 | uses: BigWigsMods/packager@master 22 | with: 23 | args: -d -z 24 | 25 | - uses: actions/upload-artifact@v4 26 | with: 27 | name: AIO-PR${{ github.event.number }} 28 | path: .release/ 29 | 30 | - name: Create Classic Package 31 | uses: BigWigsMods/packager@master 32 | with: 33 | args: -d -z -g classic 34 | 35 | - uses: actions/upload-artifact@v4 36 | with: 37 | name: AIO-PR${{ github.event.number }}-classic 38 | path: .release/ 39 | 40 | - name: Create Cata Package 41 | uses: BigWigsMods/packager@master 42 | with: 43 | args: -d -z -g cata 44 | 45 | - uses: actions/upload-artifact@v4 46 | with: 47 | name: AIO-PR${{ github.event.number }}-cata 48 | path: .release/ 49 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | cvars2.dump 2 | debug.lua 3 | .vscode/ 4 | .idea/ 5 | libs/ 6 | -------------------------------------------------------------------------------- /.luarc.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtime.version": "Lua 5.1", 3 | "workspace.ignoreDir": [ 4 | ".github", 5 | ".vscode", 6 | ".luacheckrc", 7 | "libs" 8 | ], 9 | "diagnostics.globals": [ 10 | "StaticPopupDialogs", 11 | "EditBox_ClearHighlight", 12 | "MAX_PARTY_MEMBERS", 13 | "PetFrame", 14 | "PlayerFrameAlternateManaBar", 15 | "TextStatusBar_UpdateTextString", 16 | "MainMenuExpBar", 17 | "STATUSTEXT_LABEL", 18 | "STATUSTEXT_SUBTEXT", 19 | "STATUS_TEXT", 20 | "STATUS_TEXT_PLAYER", 21 | "OPTION_TOOLTIP_STATUS_TEXT_PLAYER", 22 | "STATUS_TEXT_PET", 23 | "OPTION_TOOLTIP_STATUS_TEXT_PET", 24 | "STATUS_TEXT_PARTY", 25 | "OPTION_TOOLTIP_STATUS_TEXT_PARTY", 26 | "PartyMemberFrame1", 27 | "STATUS_TEXT_TARGET", 28 | "OPTION_TOOLTIP_STATUS_TEXT_TARGET", 29 | "ALTERNATE_RESOURCE_TEXT", 30 | "OPTION_TOOLTIP_ALTERNATE_RESOURCE", 31 | "XP_BAR_TEXT", 32 | "OPTION_TOOLTIP_XP_BAR", 33 | "TargetFrame", 34 | "PlayerFrame", 35 | "REVERSE_CLEAN_UP_BAGS_TEXT", 36 | "OPTION_TOOLTIP_REVERSE_CLEAN_UP_BAGS", 37 | "GetInsertItemsRightToLeft", 38 | "SetSortBagsRightToLeft", 39 | "REVERSE_NEW_LOOT_TEXT", 40 | "OPTION_TOOLTIP_REVERSE_NEW_LOOT", 41 | "GetInsertItemsLeftToRight", 42 | "SetInsertItemsLeftToRight", 43 | "WOW_MOUSE", 44 | "OPTION_TOOLTIP_WOW_MOUSE", 45 | "SHOW_LUA_ERRORS", 46 | "OPTION_TOOLTIP_SHOW_LUA_ERRORS", 47 | "SECURE_ABILITY_TOGGLE", 48 | "OPTION_TOOLTIP_SECURE_ABILITY_TOGGLE", 49 | "MAP_FADE_TEXT", 50 | "OPTION_TOOLTIP_MAP_FADE", 51 | "UNIT_NAME_GUILD_TITLE", 52 | "OPTION_TOOLTIP_UNIT_NAME_GUILD_TITLE", 53 | "UNIT_NAME_GUILD", 54 | "OPTION_TOOLTIP_UNIT_NAME_GUILD", 55 | "UNIT_NAME_PLAYER_TITLE", 56 | "OPTION_TOOLTIP_UNIT_NAME_PLAYER_TITLE", 57 | "MAX_FOLLOW_DIST", 58 | "OPTION_TOOLTIP_MAX_FOLLOW_DIST", 59 | "StaticPopup_Show", 60 | "Settings", 61 | "DEFAULT_CHAT_FRAME", 62 | "SlashCmdList", 63 | "EditBox_HighlightText", 64 | "EditBox_ClearFocus", 65 | "C_Console", 66 | "UNIT_NAME_OWN", 67 | "OPTION_TOOLTIP_UNIT_NAME_OWN", 68 | "OPTION_BN_WHISPER_MODE_INLINE", 69 | "OPTION_BN_WHISPER_MODE_POPOUT", 70 | "OPTION_BN_WHISPER_MODE_POPOUT_AND_INLINE", 71 | "OPTION_CHAT_STYLE_CLASSIC", 72 | "OPTION_CHAT_STYLE_IM", 73 | "OPTION_CONVERSATION_MODE_INLINE", 74 | "OPTION_CONVERSATION_MODE_POPOUT", 75 | "OPTION_CONVERSATION_MODE_POPOUT_AND_INLINE", 76 | "OPTION_LOGOUT_REQUIREMENT", 77 | "OPTION_LOSS_OF_CONTROL_DISARM", 78 | "OPTION_LOSS_OF_CONTROL_FULL", 79 | "OPTION_LOSS_OF_CONTROL_INTERRUPT", 80 | "OPTION_LOSS_OF_CONTROL_ROOT", 81 | "OPTION_LOSS_OF_CONTROL_SILENCE", 82 | "OPTION_MAXFPS", 83 | "OPTION_MAXFPSBK", 84 | "OPTION_MAXFPSBK_CHECK", 85 | "OPTION_MAXFPS_CHECK", 86 | "OPTION_PHYSICS_OPTIONS", 87 | "OPTION_PREVIEW_TALENT_CHANGES_DESCRIPTION", 88 | "OPTION_RAID_HEALTH_TEXT_HEALTH", 89 | "OPTION_RAID_HEALTH_TEXT_LOSTHEALTH", 90 | "OPTION_RAID_HEALTH_TEXT_NONE", 91 | "OPTION_RAID_HEALTH_TEXT_PERC", 92 | "OPTION_RAID_SORT_BY_ALPHABETICAL", 93 | "OPTION_RAID_SORT_BY_GROUP", 94 | "OPTION_RAID_SORT_BY_ROLE", 95 | "OPTION_RESTART_REQUIREMENT", 96 | "OPTION_STEREO_CONVERGENCE", 97 | "OPTION_STEREO_SEPARATION", 98 | "OPTION_TOOLTIP", 99 | "OPTION_TOOLTIP_ACTION_BUTTON_USE_KEY_DOWN", 100 | "OPTION_TOOLTIP_ADJUST_COLORBLIND_STRENGTH", 101 | "OPTION_TOOLTIP_ADVANCED_COMBAT_LOGGING", 102 | "OPTION_TOOLTIP_ADVANCED_MSAA", 103 | "OPTION_TOOLTIP_ADVANCED_OBJECTIVES", 104 | "OPTION_TOOLTIP_ADVANCED_OBJECTIVES_TEXT", 105 | "OPTION_TOOLTIP_ADVANCED_PPAA", 106 | "OPTION_TOOLTIP_AGGRO_WARNING_DISPLAY1", 107 | "OPTION_TOOLTIP_AGGRO_WARNING_DISPLAY2", 108 | "OPTION_TOOLTIP_AGGRO_WARNING_DISPLAY3", 109 | "OPTION_TOOLTIP_AGGRO_WARNING_DISPLAY4", 110 | "OPTION_TOOLTIP_ALTERNATE_RESOURCE", 111 | "OPTION_TOOLTIP_ALWAYS_SHOW_MULTIBARS", 112 | "OPTION_TOOLTIP_AMBIENCE_VOLUME", 113 | "OPTION_TOOLTIP_ANIMATION", 114 | "OPTION_TOOLTIP_ANISOTROPIC", 115 | "OPTION_TOOLTIP_ANTIALIASING", 116 | "OPTION_TOOLTIP_ASSIST_ATTACK", 117 | "OPTION_TOOLTIP_AUDIO_LOCALE", 118 | "OPTION_TOOLTIP_AUTO_DISMOUNT_FLYING", 119 | "OPTION_TOOLTIP_AUTO_FOLLOW_SPEED", 120 | "OPTION_TOOLTIP_AUTO_JOIN_GUILD_CHANNEL", 121 | "OPTION_TOOLTIP_AUTO_LOOT_ALT_KEY", 122 | "OPTION_TOOLTIP_AUTO_LOOT_CTRL_KEY", 123 | "OPTION_TOOLTIP_AUTO_LOOT_DEFAULT", 124 | "OPTION_TOOLTIP_AUTO_LOOT_KEY", 125 | "OPTION_TOOLTIP_AUTO_LOOT_KEY_TEXT", 126 | "OPTION_TOOLTIP_AUTO_LOOT_NONE_KEY", 127 | "OPTION_TOOLTIP_AUTO_LOOT_SHIFT_KEY", 128 | "OPTION_TOOLTIP_AUTO_OPEN_LOOT_HISTORY", 129 | "OPTION_TOOLTIP_AUTO_QUEST_PROGRESS", 130 | "OPTION_TOOLTIP_AUTO_QUEST_WATCH", 131 | "OPTION_TOOLTIP_AUTO_RANGED_COMBAT", 132 | "OPTION_TOOLTIP_AUTO_SELF_CAST", 133 | "OPTION_TOOLTIP_AUTO_SELF_CAST_ALT_KEY", 134 | "OPTION_TOOLTIP_AUTO_SELF_CAST_CTRL_KEY", 135 | "OPTION_TOOLTIP_AUTO_SELF_CAST_KEY_TEXT", 136 | "OPTION_TOOLTIP_AUTO_SELF_CAST_NONE_KEY", 137 | "OPTION_TOOLTIP_AUTO_SELF_CAST_SHIFT_KEY", 138 | "OPTION_TOOLTIP_BLOCK_CHAT_CHANNEL_INVITE", 139 | "OPTION_TOOLTIP_BLOCK_GUILD_INVITES", 140 | "OPTION_TOOLTIP_BLOCK_TRADES", 141 | "OPTION_TOOLTIP_CAMERA1", 142 | "OPTION_TOOLTIP_CAMERA2", 143 | "OPTION_TOOLTIP_CAMERA3", 144 | "OPTION_TOOLTIP_CAMERA4", 145 | "OPTION_TOOLTIP_CAMERA_ALWAYS", 146 | "OPTION_TOOLTIP_CAMERA_NEVER", 147 | "OPTION_TOOLTIP_CAMERA_SMART", 148 | "OPTION_TOOLTIP_CAMERA_SMARTER", 149 | "OPTION_TOOLTIP_CHARACTER_SHADOWS", 150 | "OPTION_TOOLTIP_CHAT_BUBBLES", 151 | "OPTION_TOOLTIP_CHAT_LOCKED", 152 | "OPTION_TOOLTIP_CHAT_MOUSE_WHEEL_SCROLL", 153 | "OPTION_TOOLTIP_CHAT_WHOLE_WINDOW_CLICKABLE", 154 | "OPTION_TOOLTIP_CINEMATIC_SUBTITLES", 155 | "OPTION_TOOLTIP_CLEAR_AFK", 156 | "OPTION_TOOLTIP_CLICKCAMERA_LOCKED", 157 | "OPTION_TOOLTIP_CLICKCAMERA_NEVER", 158 | "OPTION_TOOLTIP_CLICKCAMERA_SMART", 159 | "OPTION_TOOLTIP_CLICK_CAMERA1", 160 | "OPTION_TOOLTIP_CLICK_CAMERA2", 161 | "OPTION_TOOLTIP_CLICK_CAMERA3", 162 | "OPTION_TOOLTIP_CLICK_CAMERA_STYLE", 163 | "OPTION_TOOLTIP_CLICK_TO_MOVE", 164 | "OPTION_TOOLTIP_COLORBLIND_FILTER", 165 | "OPTION_TOOLTIP_COMBAT_TARGET_MODE", 166 | "OPTION_TOOLTIP_COMBAT_TARGET_MODE_NEW", 167 | "OPTION_TOOLTIP_COMBAT_TARGET_MODE_OLD", 168 | "OPTION_TOOLTIP_COMBAT_TEXT_MODE", 169 | "OPTION_TOOLTIP_COMBAT_TEXT_SCROLL_DOWN", 170 | "OPTION_TOOLTIP_COMBAT_TEXT_SHOW_AURAS", 171 | "OPTION_TOOLTIP_COMBAT_TEXT_SHOW_AURA_FADE", 172 | "OPTION_TOOLTIP_COMBAT_TEXT_SHOW_COMBAT_STATE", 173 | "OPTION_TOOLTIP_COMBAT_TEXT_SHOW_COMBO_POINTS", 174 | "OPTION_TOOLTIP_COMBAT_TEXT_SHOW_DODGE_PARRY_MISS", 175 | "OPTION_TOOLTIP_COMBAT_TEXT_SHOW_ENERGIZE", 176 | "OPTION_TOOLTIP_COMBAT_TEXT_SHOW_FRIENDLY_NAMES", 177 | "OPTION_TOOLTIP_COMBAT_TEXT_SHOW_HONOR_GAINED", 178 | "OPTION_TOOLTIP_COMBAT_TEXT_SHOW_LOW_HEALTH_MANA", 179 | "OPTION_TOOLTIP_COMBAT_TEXT_SHOW_PERIODIC_ENERGIZE", 180 | "OPTION_TOOLTIP_COMBAT_TEXT_SHOW_REACTIVES", 181 | "OPTION_TOOLTIP_COMBAT_TEXT_SHOW_REPUTATION", 182 | "OPTION_TOOLTIP_COMBAT_TEXT_SHOW_RESISTANCES", 183 | "OPTION_TOOLTIP_CONSOLIDATE_BUFFS", 184 | "OPTION_TOOLTIP_COUNTDOWN_FOR_COOLDOWNS", 185 | "OPTION_TOOLTIP_DEATH_EFFECT", 186 | "OPTION_TOOLTIP_DEPTH_EFFECTS", 187 | "OPTION_TOOLTIP_DESKTOP_GAMMA", 188 | "OPTION_TOOLTIP_DIALOG_VOLUME", 189 | "OPTION_TOOLTIP_DISPLAY_BORDERS", 190 | "OPTION_TOOLTIP_DISPLAY_FREE_BAG_SLOTS", 191 | "OPTION_TOOLTIP_DISPLAY_INCOMING_HEALS", 192 | "OPTION_TOOLTIP_DISPLAY_MODE", 193 | "OPTION_TOOLTIP_DISPLAY_MT_AND_MA", 194 | "OPTION_TOOLTIP_DISPLAY_ONLY_DISPELLABLE_DEBUFFS", 195 | "OPTION_TOOLTIP_DISPLAY_PERSONAL_RESOURCE", 196 | "OPTION_TOOLTIP_DISPLAY_PERSONAL_RESOURCE_ON_ENEMY", 197 | "OPTION_TOOLTIP_DISPLAY_POWER_BARS", 198 | "OPTION_TOOLTIP_DISPLAY_RAID_AGGRO_HIGHLIGHT", 199 | "OPTION_TOOLTIP_DISPLAY_RAID_PETS", 200 | "OPTION_TOOLTIP_DISPLAY_SPELL_ALERTS", 201 | "OPTION_TOOLTIP_EMPHASIZE_MY_SPELLS", 202 | "OPTION_TOOLTIP_ENABLE_ALL_SHADERS", 203 | "OPTION_TOOLTIP_ENABLE_AMBIENCE", 204 | "OPTION_TOOLTIP_ENABLE_BGSOUND", 205 | "OPTION_TOOLTIP_ENABLE_DIALOG", 206 | "OPTION_TOOLTIP_ENABLE_DSP_EFFECTS", 207 | "OPTION_TOOLTIP_ENABLE_EMOTE_SOUNDS", 208 | "OPTION_TOOLTIP_ENABLE_ERROR_SPEECH", 209 | "OPTION_TOOLTIP_ENABLE_GROUP_SPEECH", 210 | "OPTION_TOOLTIP_ENABLE_HARDWARE", 211 | "OPTION_TOOLTIP_ENABLE_MICROPHONE", 212 | "OPTION_TOOLTIP_ENABLE_MOUSE_SPEED", 213 | "OPTION_TOOLTIP_ENABLE_MUSIC", 214 | "OPTION_TOOLTIP_ENABLE_MUSIC_LOOPING", 215 | "OPTION_TOOLTIP_ENABLE_PET_BATTLE_MUSIC", 216 | "OPTION_TOOLTIP_ENABLE_PET_SOUNDS", 217 | "OPTION_TOOLTIP_ENABLE_REVERB", 218 | "OPTION_TOOLTIP_ENABLE_SOFTWARE_HRTF", 219 | "OPTION_TOOLTIP_ENABLE_SOUND", 220 | "OPTION_TOOLTIP_ENABLE_SOUNDFX", 221 | "OPTION_TOOLTIP_ENABLE_SOUND_AT_CHARACTER", 222 | "OPTION_TOOLTIP_ENABLE_STEREO_VIDEO", 223 | "OPTION_TOOLTIP_ENABLE_VOICECHAT", 224 | "OPTION_TOOLTIP_ENVIRONMENT_DETAIL", 225 | "OPTION_TOOLTIP_FARCLIP", 226 | "OPTION_TOOLTIP_FIX_LAG", 227 | "OPTION_TOOLTIP_FLASH_LOW_HEALTH_WARNING", 228 | "OPTION_TOOLTIP_FOCUS_CAST_ALT_KEY", 229 | "OPTION_TOOLTIP_FOCUS_CAST_CTRL_KEY", 230 | "OPTION_TOOLTIP_FOCUS_CAST_NONE_KEY", 231 | "OPTION_TOOLTIP_FOCUS_CAST_SHIFT_KEY", 232 | "OPTION_TOOLTIP_FOLLOW_TERRAIN", 233 | "OPTION_TOOLTIP_FULL_SCREEN_GLOW", 234 | "OPTION_TOOLTIP_FULL_SIZE_FOCUS_FRAME", 235 | "OPTION_TOOLTIP_GAMEFIELD_DESELECT", 236 | "OPTION_TOOLTIP_GAMMA", 237 | "OPTION_TOOLTIP_GROUND_CLUTTER", 238 | "OPTION_TOOLTIP_GROUND_DENSITY", 239 | "OPTION_TOOLTIP_GROUND_RADIUS", 240 | "OPTION_TOOLTIP_GUILDMEMBER_ALERT", 241 | "OPTION_TOOLTIP_GXAPI", 242 | "OPTION_TOOLTIP_HARDWARE_CURSOR", 243 | "OPTION_TOOLTIP_HEAD_BOB", 244 | "OPTION_TOOLTIP_HIDE_ADVENTURE_JOURNAL_ALERTS", 245 | "OPTION_TOOLTIP_HIDE_OUTDOOR_WORLD_STATE", 246 | "OPTION_TOOLTIP_HIDE_PARTY_INTERFACE", 247 | "OPTION_TOOLTIP_INTERACT_ON_LEFT_CLICK", 248 | "OPTION_TOOLTIP_INVERT_MOUSE", 249 | "OPTION_TOOLTIP_KEEP_GROUPS_TOGETHER", 250 | "OPTION_TOOLTIP_LIGHTING_QUALITY", 251 | "OPTION_TOOLTIP_LIQUID_DETAIL", 252 | "OPTION_TOOLTIP_LOCALE", 253 | "OPTION_TOOLTIP_LOCK_ACTIONBAR", 254 | "OPTION_TOOLTIP_LOG_PERIODIC_EFFECTS", 255 | "OPTION_TOOLTIP_LONG_RANGE_NAMEPLATE", 256 | "OPTION_TOOLTIP_LOOT_KEY_TEXT", 257 | "OPTION_TOOLTIP_LOOT_UNDER_MOUSE", 258 | "OPTION_TOOLTIP_LOOT_UNDER_MOUSE_TEXT", 259 | "OPTION_TOOLTIP_LOSS_OF_CONTROL", 260 | "OPTION_TOOLTIP_MAP_FADE", 261 | "OPTION_TOOLTIP_MAP_QUEST_DIFFICULTY", 262 | "OPTION_TOOLTIP_MAP_TRACK_QUEST", 263 | "OPTION_TOOLTIP_MASTER_VOLUME", 264 | "OPTION_TOOLTIP_MAX_FOLLOW_DIST", 265 | "OPTION_TOOLTIP_MOUSE_LOOK_SPEED", 266 | "OPTION_TOOLTIP_MOUSE_SENSITIVITY", 267 | "OPTION_TOOLTIP_MOUSE_SPEED", 268 | "OPTION_TOOLTIP_MOVE_PAD", 269 | "OPTION_TOOLTIP_MULTISAMPLE_ALPHA_TEST", 270 | "OPTION_TOOLTIP_MULTISAMPLING", 271 | "OPTION_TOOLTIP_MUSIC_VOLUME", 272 | "OPTION_TOOLTIP_OBJECTIVES_IGNORE_CURSOR", 273 | "OPTION_TOOLTIP_OBJECT_ALPHA", 274 | "OPTION_TOOLTIP_OBJECT_NPC_OUTLINE", 275 | "OPTION_TOOLTIP_OBJECT_NPC_OUTLINE_NOT_ALLOWED", 276 | "OPTION_TOOLTIP_OBJECT_NPC_OUTLINE_NOT_SUPPORTED", 277 | "OPTION_TOOLTIP_OPTIMIZE_NETWORK_SPEED", 278 | "OPTION_TOOLTIP_OUTLINE_MODE", 279 | "OPTION_TOOLTIP_PARTICLE_DENSITY", 280 | "OPTION_TOOLTIP_PARTY_CHAT_BUBBLES", 281 | "OPTION_TOOLTIP_PET_NAMEPLATES", 282 | "OPTION_TOOLTIP_PET_SPELL_DAMAGE", 283 | "OPTION_TOOLTIP_PHONG_SHADING", 284 | "OPTION_TOOLTIP_PICKUP_ACTION_ALT_KEY", 285 | "OPTION_TOOLTIP_PICKUP_ACTION_CTRL_KEY", 286 | "OPTION_TOOLTIP_PICKUP_ACTION_NONE_KEY", 287 | "OPTION_TOOLTIP_PICKUP_ACTION_SHIFT_KEY", 288 | "OPTION_TOOLTIP_PLAYER_DETAIL", 289 | "OPTION_TOOLTIP_PLAY_AGGRO_SOUNDS", 290 | "OPTION_TOOLTIP_PRIMARY_MONITOR", 291 | "OPTION_TOOLTIP_PROFANITY_FILTER", 292 | "OPTION_TOOLTIP_PROFANITY_FILTER_WITH_WARNING", 293 | "OPTION_TOOLTIP_PROJECTED_TEXTURES", 294 | "OPTION_TOOLTIP_PUSHTOTALK_SOUND", 295 | "OPTION_TOOLTIP_RAID_USE_CLASS_COLORS", 296 | "OPTION_TOOLTIP_REDUCED_LAG_TOLERANCE", 297 | "OPTION_TOOLTIP_REFRESH_RATE", 298 | "OPTION_TOOLTIP_REMOVE_CHAT_DELAY", 299 | "OPTION_TOOLTIP_REMOVE_CHAT_DELAY_TEXT", 300 | "OPTION_TOOLTIP_RENDER_SCALE", 301 | "OPTION_TOOLTIP_RESAMPLE_QUALITY", 302 | "OPTION_TOOLTIP_RESET_CHAT_POSITION", 303 | "OPTION_TOOLTIP_RESOLUTION", 304 | "OPTION_TOOLTIP_REVERSE_CLEAN_UP_BAGS", 305 | "OPTION_TOOLTIP_REVERSE_NEW_LOOT", 306 | "OPTION_TOOLTIP_ROTATE_MINIMAP", 307 | "OPTION_TOOLTIP_SCROLL_ARC", 308 | "OPTION_TOOLTIP_SCROLL_DOWN", 309 | "OPTION_TOOLTIP_SCROLL_UP", 310 | "OPTION_TOOLTIP_SECURE_ABILITY_TOGGLE", 311 | "OPTION_TOOLTIP_SELF_CAST_TEXT", 312 | "OPTION_TOOLTIP_SELF_HIGHLIGHT", 313 | "OPTION_TOOLTIP_SELF_HIGHLIGHT_IN_BG", 314 | "OPTION_TOOLTIP_SELF_HIGHLIGHT_IN_BG_COMBAT", 315 | "OPTION_TOOLTIP_SELF_HIGHLIGHT_IN_RAID", 316 | "OPTION_TOOLTIP_SELF_HIGHLIGHT_IN_RAID_COMBAT", 317 | "OPTION_TOOLTIP_SHADOW_QUALITY", 318 | "OPTION_TOOLTIP_SHOW_ACCOUNT_ACHIEVEMENTS", 319 | "OPTION_TOOLTIP_SHOW_ALL_ENEMY_DEBUFFS", 320 | "OPTION_TOOLTIP_SHOW_ARENA_ENEMY_CASTBAR", 321 | "OPTION_TOOLTIP_SHOW_ARENA_ENEMY_FRAMES", 322 | "OPTION_TOOLTIP_SHOW_ARENA_ENEMY_PETS", 323 | "OPTION_TOOLTIP_SHOW_BATTLENET_TOASTS", 324 | "OPTION_TOOLTIP_SHOW_BORDERS", 325 | "OPTION_TOOLTIP_SHOW_BUFF_DURATION", 326 | "OPTION_TOOLTIP_SHOW_CASTABLE_BUFFS", 327 | "OPTION_TOOLTIP_SHOW_CASTABLE_DEBUFFS", 328 | "OPTION_TOOLTIP_SHOW_CHAT_ICONS", 329 | "OPTION_TOOLTIP_SHOW_CLASS_COLOR_IN_V_KEY", 330 | "OPTION_TOOLTIP_SHOW_CLOAK", 331 | "OPTION_TOOLTIP_SHOW_CLOCK", 332 | "OPTION_TOOLTIP_SHOW_COMBAT_HEALING", 333 | "OPTION_TOOLTIP_SHOW_COMBAT_HEALING_ABSORB_SELF", 334 | "OPTION_TOOLTIP_SHOW_COMBAT_HEALING_ABSORB_TARGET", 335 | "OPTION_TOOLTIP_SHOW_COMBAT_TEXT", 336 | "OPTION_TOOLTIP_SHOW_DAMAGE", 337 | "OPTION_TOOLTIP_SHOW_DISPELLABLE_DEBUFFS", 338 | "OPTION_TOOLTIP_SHOW_FULLSCREEN_STATUS", 339 | "OPTION_TOOLTIP_SHOW_GUILD_NAMES", 340 | "OPTION_TOOLTIP_SHOW_HD_MODELS", 341 | "OPTION_TOOLTIP_SHOW_HELM", 342 | "OPTION_TOOLTIP_SHOW_ITEM_LEVEL", 343 | "OPTION_TOOLTIP_SHOW_LOOT_SPAM", 344 | "OPTION_TOOLTIP_SHOW_LUA_ERRORS", 345 | "OPTION_TOOLTIP_SHOW_MULTIBAR1", 346 | "OPTION_TOOLTIP_SHOW_MULTIBAR2", 347 | "OPTION_TOOLTIP_SHOW_MULTIBAR3", 348 | "OPTION_TOOLTIP_SHOW_MULTIBAR4", 349 | "OPTION_TOOLTIP_SHOW_NAMEPLATE_LOSE_AGGRO_FLASH", 350 | "OPTION_TOOLTIP_SHOW_NEWBIE_TIPS", 351 | "OPTION_TOOLTIP_SHOW_NPC_NAMES", 352 | "OPTION_TOOLTIP_SHOW_NUMERIC_THREAT", 353 | "OPTION_TOOLTIP_SHOW_OTHER_TARGET_EFFECTS", 354 | "OPTION_TOOLTIP_SHOW_OWN_NAME", 355 | "OPTION_TOOLTIP_SHOW_PARTY_BACKGROUND", 356 | "OPTION_TOOLTIP_SHOW_PARTY_PETS", 357 | "OPTION_TOOLTIP_SHOW_PARTY_TEXT", 358 | "OPTION_TOOLTIP_SHOW_PETBATTLE_COMBAT", 359 | "OPTION_TOOLTIP_SHOW_PET_MELEE_DAMAGE", 360 | "OPTION_TOOLTIP_SHOW_PLAYER_NAMES", 361 | "OPTION_TOOLTIP_SHOW_PLAYER_TITLES", 362 | "OPTION_TOOLTIP_SHOW_POINTS_AS_AVG", 363 | "OPTION_TOOLTIP_SHOW_QUEST_FADING", 364 | "OPTION_TOOLTIP_SHOW_QUEST_OBJECTIVES_ON_MAP", 365 | "OPTION_TOOLTIP_SHOW_RAID_RANGE", 366 | "OPTION_TOOLTIP_SHOW_TARGET_CASTBAR", 367 | "OPTION_TOOLTIP_SHOW_TARGET_CASTBAR_IN_V_KEY", 368 | "OPTION_TOOLTIP_SHOW_TARGET_CASTBAR_IN_V_KEY_ONLY_ON_TARGET", 369 | "OPTION_TOOLTIP_SHOW_TARGET_CASTBAR_IN_V_KEY_SPELL_NAME", 370 | "OPTION_TOOLTIP_SHOW_TARGET_EFFECTS", 371 | "OPTION_TOOLTIP_SHOW_TARGET_OF_TARGET", 372 | "OPTION_TOOLTIP_SHOW_TIPOFTHEDAY", 373 | "OPTION_TOOLTIP_SHOW_TOAST_BROADCAST", 374 | "OPTION_TOOLTIP_SHOW_TOAST_CONVERSATION", 375 | "OPTION_TOOLTIP_SHOW_TOAST_FRIEND_REQUEST", 376 | "OPTION_TOOLTIP_SHOW_TOAST_OFFLINE", 377 | "OPTION_TOOLTIP_SHOW_TOAST_ONLINE", 378 | "OPTION_TOOLTIP_SHOW_TOAST_WINDOW", 379 | "OPTION_TOOLTIP_SHOW_TUTORIALS", 380 | "OPTION_TOOLTIP_SHOW_UNIT_NAMES", 381 | "OPTION_TOOLTIP_SIMPLE_CHAT", 382 | "OPTION_TOOLTIP_SIMPLE_QUEST_WATCH_TEXT", 383 | "OPTION_TOOLTIP_SMART_PIVOT", 384 | "OPTION_TOOLTIP_SOCIAL_ENABLE_TWITTER_FUNCTIONALITY", 385 | "OPTION_TOOLTIP_SOUND_CACHE_SIZE", 386 | "OPTION_TOOLTIP_SOUND_CHANNELS", 387 | "OPTION_TOOLTIP_SOUND_OUTPUT", 388 | "OPTION_TOOLTIP_SOUND_QUALITY", 389 | "OPTION_TOOLTIP_SOUND_VOLUME", 390 | "OPTION_TOOLTIP_SPAM_FILTER", 391 | "OPTION_TOOLTIP_SPELL_ALERT_OPACITY", 392 | "OPTION_TOOLTIP_SPELL_DETAIL", 393 | "OPTION_TOOLTIP_SSAO", 394 | "OPTION_TOOLTIP_STATUS_BAR", 395 | "OPTION_TOOLTIP_STATUS_TEXT_DISPLAY", 396 | "OPTION_TOOLTIP_STATUS_TEXT_PARTY", 397 | "OPTION_TOOLTIP_STATUS_TEXT_PERCENT", 398 | "OPTION_TOOLTIP_STATUS_TEXT_PET", 399 | "OPTION_TOOLTIP_STATUS_TEXT_PLAYER", 400 | "OPTION_TOOLTIP_STATUS_TEXT_TARGET", 401 | "OPTION_TOOLTIP_STEREO_HARDWARE_CURSOR", 402 | "OPTION_TOOLTIP_STOP_AUTO_ATTACK", 403 | "OPTION_TOOLTIP_SUNSHAFTS", 404 | "OPTION_TOOLTIP_TARGETOFTARGET1", 405 | "OPTION_TOOLTIP_TARGETOFTARGET2", 406 | "OPTION_TOOLTIP_TARGETOFTARGET3", 407 | "OPTION_TOOLTIP_TARGETOFTARGET4", 408 | "OPTION_TOOLTIP_TARGETOFTARGET5", 409 | "OPTION_TOOLTIP_TARGETOFTARGET_ALWAYS", 410 | "OPTION_TOOLTIP_TARGETOFTARGET_PARTY", 411 | "OPTION_TOOLTIP_TARGETOFTARGET_RAID", 412 | "OPTION_TOOLTIP_TARGETOFTARGET_RAID_AND_PARTY", 413 | "OPTION_TOOLTIP_TARGETOFTARGET_SOLO", 414 | "OPTION_TOOLTIP_TERRAIN_HIGHLIGHTS", 415 | "OPTION_TOOLTIP_TERRAIN_TEXTURE", 416 | "OPTION_TOOLTIP_TEXTURE_DETAIL", 417 | "OPTION_TOOLTIP_TIMESTAMPS", 418 | "OPTION_TOOLTIP_TOAST_DURATION", 419 | "OPTION_TOOLTIP_TRACK_QUEST_PROXIMITY", 420 | "OPTION_TOOLTIP_TRACK_QUEST_TOP", 421 | "OPTION_TOOLTIP_TRILINEAR", 422 | "OPTION_TOOLTIP_TRIPLE_BUFFER", 423 | "OPTION_TOOLTIP_UI_SCALE", 424 | "OPTION_TOOLTIP_UNIT_NAMEPLATES_ALLOW_OVERLAP", 425 | "OPTION_TOOLTIP_UNIT_NAMEPLATES_AUTOMODE", 426 | "OPTION_TOOLTIP_UNIT_NAMEPLATES_MAKE_LARGER", 427 | "OPTION_TOOLTIP_UNIT_NAMEPLATES_SHOW_ENEMIES", 428 | "OPTION_TOOLTIP_UNIT_NAMEPLATES_SHOW_ENEMY_GUARDIANS", 429 | "OPTION_TOOLTIP_UNIT_NAMEPLATES_SHOW_ENEMY_MINIONS", 430 | "OPTION_TOOLTIP_UNIT_NAMEPLATES_SHOW_ENEMY_MINUS", 431 | "OPTION_TOOLTIP_UNIT_NAMEPLATES_SHOW_ENEMY_PETS", 432 | "OPTION_TOOLTIP_UNIT_NAMEPLATES_SHOW_ENEMY_TOTEMS", 433 | "OPTION_TOOLTIP_UNIT_NAMEPLATES_SHOW_FRIENDLY_GUARDIANS", 434 | "OPTION_TOOLTIP_UNIT_NAMEPLATES_SHOW_FRIENDLY_MINIONS", 435 | "OPTION_TOOLTIP_UNIT_NAMEPLATES_SHOW_FRIENDLY_PETS", 436 | "OPTION_TOOLTIP_UNIT_NAMEPLATES_SHOW_FRIENDLY_TOTEMS", 437 | "OPTION_TOOLTIP_UNIT_NAMEPLATES_SHOW_FRIENDS", 438 | "OPTION_TOOLTIP_UNIT_NAME_ENEMY", 439 | "OPTION_TOOLTIP_UNIT_NAME_ENEMY_GUARDIANS", 440 | "OPTION_TOOLTIP_UNIT_NAME_ENEMY_MINIONS", 441 | "OPTION_TOOLTIP_UNIT_NAME_ENEMY_PETS", 442 | "OPTION_TOOLTIP_UNIT_NAME_ENEMY_TOTEMS", 443 | "OPTION_TOOLTIP_UNIT_NAME_FRIENDLY", 444 | "OPTION_TOOLTIP_UNIT_NAME_FRIENDLY_GUARDIANS", 445 | "OPTION_TOOLTIP_UNIT_NAME_FRIENDLY_MINIONS", 446 | "OPTION_TOOLTIP_UNIT_NAME_FRIENDLY_PETS", 447 | "OPTION_TOOLTIP_UNIT_NAME_FRIENDLY_TOTEMS", 448 | "OPTION_TOOLTIP_UNIT_NAME_GUILD", 449 | "OPTION_TOOLTIP_UNIT_NAME_GUILD_TITLE", 450 | "OPTION_TOOLTIP_UNIT_NAME_HIDE_MINUS", 451 | "OPTION_TOOLTIP_UNIT_NAME_NONCOMBAT_CREATURE", 452 | "OPTION_TOOLTIP_UNIT_NAME_NPC", 453 | "OPTION_TOOLTIP_UNIT_NAME_OWN", 454 | "OPTION_TOOLTIP_UNIT_NAME_PLAYER_TITLE", 455 | "OPTION_TOOLTIP_USEIPV6", 456 | "OPTION_TOOLTIP_USE_COLORBLIND_MODE", 457 | "OPTION_TOOLTIP_USE_ENGLISH_AUDIO", 458 | "OPTION_TOOLTIP_USE_RAID_STYLE_PARTY_FRAMES", 459 | "OPTION_TOOLTIP_USE_REFRESH", 460 | "OPTION_TOOLTIP_USE_RESOLUTION", 461 | "OPTION_TOOLTIP_USE_UBERTOOLTIPS", 462 | "OPTION_TOOLTIP_USE_UISCALE", 463 | "OPTION_TOOLTIP_USE_WEATHER_SHADER", 464 | "OPTION_TOOLTIP_VERTEX_ANIMATION_SHADERS", 465 | "OPTION_TOOLTIP_VERTICAL_SYNC", 466 | "OPTION_TOOLTIP_VOICE_ACTIVATION_SENSITIVITY", 467 | "OPTION_TOOLTIP_VOICE_AMBIENCE", 468 | "OPTION_TOOLTIP_VOICE_INPUT", 469 | "OPTION_TOOLTIP_VOICE_INPUT_VOLUME", 470 | "OPTION_TOOLTIP_VOICE_MUSIC", 471 | "OPTION_TOOLTIP_VOICE_OUTPUT", 472 | "OPTION_TOOLTIP_VOICE_OUTPUT_VOLUME", 473 | "OPTION_TOOLTIP_VOICE_SOUND", 474 | "OPTION_TOOLTIP_VOICE_TYPE1", 475 | "OPTION_TOOLTIP_VOICE_TYPE2", 476 | "OPTION_TOOLTIP_WATCH_FRAME_WIDTH", 477 | "OPTION_TOOLTIP_WATER_COLLISION", 478 | "OPTION_TOOLTIP_WEATHER_DETAIL", 479 | "OPTION_TOOLTIP_WINDOWED_MAXIMIZED", 480 | "OPTION_TOOLTIP_WINDOWED_MODE", 481 | "OPTION_TOOLTIP_WINDOW_LOCK", 482 | "OPTION_TOOLTIP_WORLD_LOD", 483 | "OPTION_TOOLTIP_WORLD_PVP_DISPLAY1", 484 | "OPTION_TOOLTIP_WORLD_PVP_DISPLAY2", 485 | "OPTION_TOOLTIP_WORLD_PVP_DISPLAY3", 486 | "OPTION_TOOLTIP_WORLD_PVP_DISPLAY_ALWAYS", 487 | "OPTION_TOOLTIP_WORLD_PVP_DISPLAY_DYNAMIC", 488 | "OPTION_TOOLTIP_WORLD_PVP_DISPLAY_NEVER", 489 | "OPTION_TOOLTIP_WOW_MOUSE", 490 | "OPTION_TOOLTIP_XP_BAR", 491 | "OPTION_TOOTIP_RETINA_CURSOR", 492 | "OPTION_UI_DEPTH", 493 | "OPTION_USE_EQUIPMENT_MANAGER_DESCRIPTION", 494 | "OPTION_WHISPER_MODE_INLINE", 495 | "OPTION_WHISPER_MODE_POPOUT", 496 | "OPTION_WHISPER_MODE_POPOUT_AND_INLINE", 497 | "NAME", 498 | "CHAT_MOUSE_WHEEL_SCROLL", 499 | "REMOVE_CHAT_DELAY_TEXT", 500 | "STOP_AUTO_ATTACK", 501 | "ASSIST_ATTACK", 502 | "ACTION_BUTTON_USE_KEY_DOWN", 503 | "LAG_TOLERANCE", 504 | "SHOW_COMBAT_HEALING_ABSORB_SELF", 505 | "COMBAT_TEXT_SHOW_LOW_HEALTH_MANA_TEXT", 506 | "COMBAT_TEXT_SHOW_ENERGIZE_TEXT", 507 | "COMBAT_TEXT_SHOW_COMBAT_STATE_TEXT", 508 | "COMBAT_TEXT_SHOW_FRIENDLY_NAMES_TEXT", 509 | "COMBAT_TEXT_SHOW_REACTIVES_TEXT", 510 | "COMBAT_TEXT_SHOW_REPUTATION_TEXT", 511 | "COMBAT_TEXT_SHOW_RESISTANCES_TEXT", 512 | "COMBAT_TEXT_SHOW_DODGE_PARRY_MISS_TEXT", 513 | "COMBAT_TEXT_FLOAT_MODE_LABEL", 514 | "SHOW_COMBAT_TEXT_TEXT", 515 | "SHOW_OTHER_TARGET_EFFECTS", 516 | "SHOW_TARGET_EFFECTS", 517 | "SHOW_COMBAT_HEALING_ABSORB_TARGET", 518 | "SHOW_COMBAT_HEALING", 519 | "SHOW_PET_MELEE_DAMAGE", 520 | "LOG_PERIODIC_EFFECTS", 521 | "SHOW_DAMAGE_TEXT", 522 | "COMBATTEXT_SUBTEXT", 523 | "FLOATING_COMBATTEXT_LABEL", 524 | "CombatText_UpdateDisplayedMessages", 525 | "COMBAT_TEXT_SHOW_COMBO_POINTS_TEXT", 526 | "COMBAT_TEXT_SHOW_PERIODIC_ENERGIZE_TEXT", 527 | "COMBAT_TEXT_SHOW_HONOR_GAINED_TEXT", 528 | "COMBAT_TEXT_SHOW_AURAS_TEXT", 529 | "debugstack", 530 | "InCombatLockdown", 531 | "GetServerTime", 532 | "WOW_PROJECT_CLASSIC", 533 | "WOW_PROJECT_CATACLYSM_CLASSIC", 534 | "WOW_PROJECT_MAINLINE", 535 | "WOW_PROJECT_ID", 536 | "C_Container", 537 | "C_Timer", 538 | "hooksecurefunc", 539 | "GetTime", 540 | "AdvancedInterfaceOptionsSaved", 541 | "SettingsPanel", 542 | "SPELL_QUEUE_WINDOW" 543 | ], 544 | "diagnostics.disable": [ 545 | "lowercase-global", 546 | "need-check-nil", 547 | "undefined-field" 548 | ] 549 | } 550 | -------------------------------------------------------------------------------- /.pkgmeta: -------------------------------------------------------------------------------- 1 | package-as: AdvancedInterfaceOptions 2 | 3 | externals: 4 | libs/LibStub: https://repos.curseforge.com/wow/libstub/trunk 5 | libs/CallbackHandler-1.0: https://repos.curseforge.com/wow/callbackhandler/trunk/CallbackHandler-1.0 6 | libs/AceGUI-3.0: https://repos.curseforge.com/wow/ace3/trunk/AceGUI-3.0 7 | libs/AceConfig-3.0: https://repos.curseforge.com/wow/ace3/trunk/AceConfig-3.0 8 | 9 | ignore: 10 | - readme.md 11 | - cvars.dump 12 | -------------------------------------------------------------------------------- /AdvancedInterfaceOptions.toc: -------------------------------------------------------------------------------- 1 | ## Interface: 110105, 110100 2 | ## Interface-Vanilla: 11506 3 | ## Interface-Cata: 40402 4 | ## Title: Advanced Interface Options 5 | ## Author: Stanzilla, Semlar 6 | ## Version: @project-version@ 7 | ## IconTexture: 134521 8 | ## Notes: Restores access to removed interface options in Legion 9 | ## X-Category: Interface Enhancements 10 | ## X-Website: https://www.curseforge.com/wow/addons/advancedinterfaceoptions 11 | ## X-Curse-Project-ID: 99982 12 | ## X-WoWI-ID: 25002 13 | ## X-Wago-ID: ZQ6aPNW7 14 | ## DefaultState: Enabled 15 | ## LoadOnDemand: 0 16 | ## SavedVariables: AdvancedInterfaceOptionsSaved 17 | 18 | semlib\semlib.xml 19 | embeds.xml 20 | 21 | utils.lua 22 | cvars.lua 23 | 24 | gui\GeneralConfigPanel.lua 25 | gui\CameraConfigPanel.lua 26 | gui\ChatConfigPanel.lua 27 | gui\CombatConfigPanel.lua 28 | gui\FloatingCombatTextConfigPanel.lua 29 | gui\StatusTextConfigPanel.lua 30 | gui\NameplateConfigPanel.lua 31 | gui\CVarConfigPanel.lua 32 | 33 | browser.lua 34 | basicOptions.lua 35 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Advanced Interface Options 2 | 3 | Restores access to removed interface options in Legion and ads a CVar browser for settings galore. 4 | 5 | We are currently covering simple options for the following: 6 | 7 | General: 8 | 9 | * Player Titles 10 | * Guild Names 11 | * Guild Titles 12 | * Stop Auto Attack 13 | * Attack on Assist 14 | * Cast action keybinds on key down 15 | * Fade Map when Moving 16 | * Secure Ability Toggle 17 | * Display Lua Errors 18 | * No Debuff Filter on Target 19 | * Reverse Cleanup Bags 20 | * Quest sorting mode (top vs proximity) 21 | * Select Action Cam mode 22 | 23 | Chat: 24 | 25 | * Remove Chat Hover Delay 26 | * Enable Mouse Wheel Scrolling 27 | 28 | Floating Combat Text: 29 | 30 | * Float mode (up/down/arc) 31 | * Energy Gains 32 | * Auras 33 | * Honor Gains 34 | * Reputation 35 | * Combo Points 36 | * Combat State (Entering/Leaving Combat) 37 | * Spell Mechanics 38 | * Healing 39 | * Absorb (Self and Target) 40 | * Directional Scale (brings back the classic, only upwards moving text) 41 | * Low HP/Mana 42 | 43 | And many more via the built in CVar browser, including stuff that has never ever been exposed as an UI option by Blizzard like the violence level or the new setting that changes the distance nameplates are visible at! 44 | 45 | Type /aio in chat or go to the Interface Options and look for AdvancedInterfaceOptions 46 | -------------------------------------------------------------------------------- /basicOptions.lua: -------------------------------------------------------------------------------- 1 | local addonName, addon = ... 2 | local E = addon:Eve() 3 | 4 | local _SetCVar = SetCVar -- Keep a local copy of SetCVar so we don't call the hooked version 5 | local SetCVar = function(...) -- Suppress errors trying to set read-only cvars 6 | -- Not ideal, but the api doesn't give us this information 7 | local status, err = pcall(function(...) 8 | return _SetCVar(...) 9 | end, ...) 10 | return status 11 | end 12 | 13 | local AceConfigRegistry = LibStub("AceConfigRegistry-3.0") 14 | local AceConfigDialog = LibStub("AceConfigDialog-3.0") 15 | 16 | local GetCVarInfo = addon.GetCVarInfo 17 | 18 | AdvancedInterfaceOptionsSaved = {} 19 | local DBVersion = 3 20 | 21 | local CVarBlacklist = { 22 | -- Lowercase list of cvars to never record the value for, even if the user manually sets them 23 | ["playintromovie"] = true, 24 | } 25 | 26 | -- Saved settings 27 | local DefaultSettings = { 28 | AccountVars = {}, -- account-wide cvars to be re-applied on login, [cvar] = value 29 | CharVars = {}, -- (todo) character-specific cvar settings? [charName-realm] = { [cvar] = value } 30 | EnforceSettings = false, -- true to load cvars from our saved variables every time we log in 31 | -- this will override anything that sets a cvar outside of this addon 32 | CustomVars = {}, -- custom options for missing/removed cvars 33 | ModifiedCVars = {}, -- [cvar:lower()] = 'last addon to modify it' 34 | DBVersion = DBVersion, -- Database version for wiping out incompatible data 35 | } 36 | 37 | local AlwaysCharacterSpecificCVars = { 38 | -- list of cvars that should never be account-wide 39 | -- [cvar] = true 40 | -- stopAutoAttackOnTargetChange 41 | } 42 | 43 | local function MergeTable(a, b) -- Non-destructively merges table b into table a 44 | for k, v in pairs(b) do 45 | if a[k] == nil or type(a[k]) ~= type(b[k]) then 46 | a[k] = v 47 | -- print('replacing key', k, v) 48 | elseif type(v) == "table" then 49 | a[k] = MergeTable(a[k], b[k]) 50 | end 51 | end 52 | return a 53 | end 54 | 55 | local AddonLoaded, VariablesLoaded = false, false 56 | function E:VARIABLES_LOADED() 57 | VariablesLoaded = true 58 | if AddonLoaded then 59 | MergeTable(AdvancedInterfaceOptionsSaved, DefaultSettings) 60 | self:ADDON_LOADED(addonName) 61 | end 62 | end 63 | 64 | function E:ADDON_LOADED(addon_name) 65 | if addon_name == addonName then 66 | E:UnregisterEvent("ADDON_LOADED") 67 | AddonLoaded = true 68 | if VariablesLoaded then 69 | E("Init") 70 | end 71 | end 72 | end 73 | 74 | function E:Init() -- Runs after our saved variables are loaded and cvars have been loaded 75 | if AdvancedInterfaceOptionsSaved.DBVersion ~= DBVersion then 76 | -- Wipe out previous settings if database versions don't match 77 | AdvancedInterfaceOptionsSaved["DBVersion"] = DBVersion 78 | AdvancedInterfaceOptionsSaved["AccountVars"] = {} 79 | end 80 | MergeTable(AdvancedInterfaceOptionsSaved, DefaultSettings) -- Repair database if keys are missing 81 | 82 | if AdvancedInterfaceOptionsSaved.EnforceSettings then 83 | if not AdvancedInterfaceOptionsSaved.AccountVars then 84 | AdvancedInterfaceOptionsSaved["AccountVars"] = {} 85 | end 86 | for cvar, value in pairs(AdvancedInterfaceOptionsSaved.AccountVars) do 87 | if addon.hiddenOptions[cvar] and addon:CVarExists(cvar) and not CVarBlacklist[cvar:lower()] then -- confirm we still use this cvar 88 | if GetCVar(cvar) ~= value then 89 | if not InCombatLockdown() or not addon.combatProtected[cvar] then 90 | SetCVar(cvar, value) 91 | -- print('Loading cvar', cvar, value) 92 | end 93 | end 94 | else -- remove if cvar is no longer supported 95 | AdvancedInterfaceOptionsSaved.AccountVars[cvar] = nil 96 | end 97 | end 98 | end 99 | 100 | --Register our options with the Blizzard Addon Options panel 101 | AceConfigRegistry:RegisterOptionsTable("AdvancedInterfaceOptions", addon:CreateGeneralOptions()) 102 | AceConfigRegistry:RegisterOptionsTable("AdvancedInterfaceOptions_Camera", addon:CreateCameraOptions()) 103 | AceConfigRegistry:RegisterOptionsTable("AdvancedInterfaceOptions_Chat", addon:CreateChatOptions()) 104 | AceConfigRegistry:RegisterOptionsTable("AdvancedInterfaceOptions_Combat", addon:CreateCombatOptions()) 105 | AceConfigRegistry:RegisterOptionsTable("AdvancedInterfaceOptions_FloatingCombatText", addon:CreateFloatingCombatTextOptions()) 106 | AceConfigRegistry:RegisterOptionsTable("AdvancedInterfaceOptions_StatusText", addon:CreateStatusTextOptions()) 107 | AceConfigRegistry:RegisterOptionsTable("AdvancedInterfaceOptions_Nameplate", addon:CreateNameplateOptions()) 108 | AceConfigRegistry:RegisterOptionsTable("AdvancedInterfaceOptions_cVar", addon:CreateCVarOptions()) 109 | 110 | local categoryFrame, mainCategoryID = AceConfigDialog:AddToBlizOptions("AdvancedInterfaceOptions", "AdvancedInterfaceOptions") 111 | AceConfigDialog:AddToBlizOptions("AdvancedInterfaceOptions_Camera", "Camera", "AdvancedInterfaceOptions") 112 | AceConfigDialog:AddToBlizOptions("AdvancedInterfaceOptions_Chat", "Chat", "AdvancedInterfaceOptions") 113 | AceConfigDialog:AddToBlizOptions("AdvancedInterfaceOptions_Combat", "Combat", "AdvancedInterfaceOptions") 114 | AceConfigDialog:AddToBlizOptions("AdvancedInterfaceOptions_FloatingCombatText", "Floating Combat Text", "AdvancedInterfaceOptions") 115 | AceConfigDialog:AddToBlizOptions("AdvancedInterfaceOptions_StatusText", "Status Text", "AdvancedInterfaceOptions") 116 | AceConfigDialog:AddToBlizOptions("AdvancedInterfaceOptions_Nameplate", "Nameplates", "AdvancedInterfaceOptions") 117 | local cVarFrame, cVarCategoryID = AceConfigDialog:AddToBlizOptions("AdvancedInterfaceOptions_cVar", "CVar Browser", "AdvancedInterfaceOptions") 118 | 119 | -- Inject our custom cVar browser into the panel created by Ace3 120 | addon:PopulateCVarPanel(cVarFrame) 121 | ------------------------------------------------------------------------- 122 | ------------------------------------------------------------------------- 123 | 124 | -- Slash handler 125 | SlashCmdList.AIO = function(msg) 126 | msg = msg:lower() 127 | if not InCombatLockdown() then 128 | Settings.OpenToCategory(mainCategoryID) 129 | else 130 | DEFAULT_CHAT_FRAME:AddMessage(format("%s: Can't modify interface options in combat", addonName)) 131 | end 132 | end 133 | SLASH_AIO1 = "/aio" 134 | 135 | -- TODO: Adjust in 11.0.2 when subcategories are properly fixed 136 | SlashCmdList.CVAR = function() 137 | if not InCombatLockdown() then 138 | for _, category in ipairs(SettingsPanel:GetCategoryList().allCategories) do 139 | if category.ID == mainCategoryID and category.subcategories then 140 | for _, subCategory in ipairs(category.subcategories) do 141 | if subCategory.ID == cVarCategoryID then 142 | SettingsPanel:Show() 143 | SettingsPanel:SelectCategory(subCategory) 144 | break 145 | end 146 | end 147 | end 148 | end 149 | else 150 | DEFAULT_CHAT_FRAME:AddMessage(format("%s: Can't modify interface options in combat", addonName)) 151 | end 152 | end 153 | SLASH_CVAR1 = "/cvar" 154 | end 155 | 156 | function addon:RecordCVar(cvar, value) -- Save cvar to DB for loading later 157 | if not AlwaysCharacterSpecificCVars[cvar] then 158 | -- We either need to normalize all cvars being entered into this table or verify that 159 | -- the case matches the case in our database or we risk duplicating entries. 160 | -- eg. MouseSpeed = 1, and mouseSpeed = 2 could exist in the table simultaneously, 161 | -- which would lead to an indeterminate value being loaded on startup 162 | local found = rawget(addon.hiddenOptions, cvar) 163 | if not found then 164 | local mk = cvar:lower() 165 | for k, v in pairs(addon.hiddenOptions) do 166 | if k:lower() == mk then 167 | cvar = k 168 | found = true 169 | break 170 | end 171 | end 172 | end 173 | if found and not CVarBlacklist[cvar:lower()] then -- only record cvars that exist in our database 174 | -- If we don't save the value if it's set to the default, and something else changes it from the default, we won't know to set it back 175 | --if GetCVar(cvar) == GetCVarDefault(cvar) then -- don't bother recording if default value 176 | -- AdvancedInterfaceOptionsSaved.AccountVars[cvar] = nil 177 | --else 178 | AdvancedInterfaceOptionsSaved.AccountVars[cvar] = GetCVar(cvar) -- not necessarily the same as "value" 179 | --end 180 | end 181 | end 182 | end 183 | 184 | function addon:DontRecordCVar(cvar, value) -- Wipe out saved variable if another addon modifies it 185 | if not AlwaysCharacterSpecificCVars[cvar] then 186 | local found = rawget(addon.hiddenOptions, cvar) 187 | if not found then 188 | local mk = cvar:lower() 189 | for k, v in pairs(addon.hiddenOptions) do 190 | if k:lower() == mk then 191 | cvar = k 192 | found = true 193 | break 194 | end 195 | end 196 | end 197 | if found then 198 | AdvancedInterfaceOptionsSaved.AccountVars[cvar] = nil 199 | end 200 | end 201 | end 202 | 203 | function addon:SetCVar(cvar, value, ...) -- save our cvar to the db 204 | if not InCombatLockdown() then 205 | SetCVar(cvar, value, ...) 206 | addon:RecordCVar(cvar, value) 207 | -- Clear entry from ModifiedCVars if we're modifying it directly 208 | -- Enforced settings don't use this function, so shouldn't wipe them out 209 | if AdvancedInterfaceOptionsSaved.ModifiedCVars[cvar:lower()] then 210 | AdvancedInterfaceOptionsSaved.ModifiedCVars[cvar:lower()] = nil 211 | end 212 | else 213 | --print("Can't modify interface options in combat") 214 | end 215 | end 216 | 217 | ------------------------------------------------------------------------- 218 | ------------------------------------------------------------------------- 219 | 220 | -- Button to reset all of our settings back to their defaults 221 | StaticPopupDialogs["AIO_RESET_EVERYTHING"] = { 222 | text = 'Type "IRREVERSIBLE" into the text box to reset all CVars to their default settings', 223 | button1 = "Confirm", 224 | button2 = "Cancel", 225 | hasEditBox = true, 226 | OnShow = function(self) 227 | self.button1:SetEnabled(false) 228 | end, 229 | EditBoxOnTextChanged = function(self, data) 230 | self:GetParent().button1:SetEnabled(self:GetText():lower() == "irreversible") 231 | end, 232 | OnAccept = function() 233 | for _, info in ipairs(addon:GetCVars()) do 234 | local cvar = info.command 235 | local current, default = GetCVarInfo(cvar) 236 | if current ~= default then 237 | print(format("|cffaaaaff%s|r reset from |cffffaaaa%s|r to |cffaaffaa%s|r", tostring(cvar), tostring(current), tostring(default))) 238 | addon:SetCVar(cvar, default) 239 | end 240 | end 241 | wipe(AdvancedInterfaceOptionsSaved.CustomVars) 242 | end, 243 | timeout = 0, 244 | whileDead = true, 245 | hideOnEscape = true, 246 | preferredIndex = 3, 247 | showAlert = true, 248 | } 249 | 250 | -- Backup Settings 251 | function addon.BackupSettings() 252 | --[[ 253 | FIXME: We probably don't actually want to back up every CVar 254 | Some CVars use bitfields to track progress that the player likely isn't expecting to be undone by a restore 255 | We may need to manually create a list of CVars to ignore, I don't know if there's a way to automate this 256 | --]] 257 | local cvarBackup = {} 258 | local settingCount = 0 259 | for _, info in ipairs(addon:GetCVars()) do 260 | -- Only record CVars that don't match their default value 261 | -- NOTE: Defaults can potentially change, should we store every cvar? 262 | local currentValue, defaultValue = GetCVarInfo(info.command) 263 | if currentValue ~= defaultValue then 264 | -- Normalize casing to simplify lookups 265 | local cvar = info.command:lower() 266 | cvarBackup[cvar] = currentValue 267 | settingCount = settingCount + 1 268 | end 269 | end 270 | 271 | -- TODO: Support multiple backups (save & restore named cvar profiles) 272 | if not AdvancedInterfaceOptionsSaved.Backups then 273 | AdvancedInterfaceOptionsSaved.Backups = {} 274 | end 275 | AdvancedInterfaceOptionsSaved.Backups[1] = { 276 | timestamp = GetServerTime(), 277 | cvars = cvarBackup, 278 | } 279 | 280 | print(format("AIO: Backed up %d customized CVar settings!", settingCount)) 281 | end 282 | 283 | StaticPopupDialogs["AIO_BACKUP_SETTINGS"] = { 284 | text = "Save current CVar settings to restore later?", 285 | button1 = "Backup Settings", 286 | button2 = "Cancel", 287 | OnAccept = addon.BackupSettings, 288 | timeout = 0, 289 | whileDead = true, 290 | hideOnEscape = true, 291 | preferredIndex = 3, 292 | } 293 | 294 | -- Restore Settings 295 | function addon.RestoreSettings() 296 | local backup = AdvancedInterfaceOptionsSaved.Backups and AdvancedInterfaceOptionsSaved.Backups[1] 297 | if backup then 298 | for _, info in ipairs(addon:GetCVars()) do 299 | local cvar = info.command 300 | local backupValue = backup.cvars[cvar:lower()] -- Always lowercase cvar names 301 | local currentValue, defaultValue = GetCVarInfo(cvar) 302 | if backupValue then 303 | -- Restore value from backup 304 | if currentValue ~= backupValue then 305 | print(format("|cffaaaaff%s|r changed from |cffffaaaa%s|r to |cffaaffaa%s|r", cvar, tostring(currentValue), tostring(backupValue))) 306 | addon:SetCVar(cvar, backupValue) 307 | end 308 | else 309 | -- TODO: If CVar isn't in backup and isn't set to default value, should we reset to default or ignore it? 310 | if currentValue ~= defaultValue then 311 | print(format("|cffaaaaff%s|r changed from |cffffaaaa%s|r to |cffaaffaa%s|r", cvar, tostring(currentValue), tostring(defaultValue))) 312 | addon:SetCVar(cvar, defaultValue) 313 | end 314 | end 315 | end 316 | end 317 | end 318 | 319 | StaticPopupDialogs["AIO_RESTORE_SETTINGS"] = { 320 | text = "Restore CVar settings from backup?\nNote: This can't be undone!", 321 | button1 = "Restore Settings", 322 | button2 = "Cancel", 323 | OnAccept = addon.RestoreSettings, 324 | OnShow = function(self) 325 | -- Disable accept button if we don't have any backups 326 | self.button1:SetEnabled(AdvancedInterfaceOptionsSaved.Backups and AdvancedInterfaceOptionsSaved.Backups[1]) 327 | end, 328 | timeout = 0, 329 | whileDead = true, 330 | hideOnEscape = true, 331 | preferredIndex = 3, 332 | showAlert = true, 333 | } 334 | -------------------------------------------------------------------------------- /browser.lua: -------------------------------------------------------------------------------- 1 | local _, addon = ... 2 | local E = addon:Eve() 3 | 4 | local GetCVarInfo = addon.GetCVarInfo 5 | 6 | -- C_Console.GetAllCommands() does not return the complete list of CVars on login 7 | -- Repopulate the list using UpdateCVarList() when the CVar browser is opened 8 | local CVarList = {} 9 | 10 | local function UpdateCVarList() 11 | for i, info in pairs(addon:GetCVars()) do 12 | local cvar = info.command 13 | if addon.hiddenOptions[cvar] then 14 | CVarList[cvar] = addon.hiddenOptions[cvar] 15 | else 16 | CVarList[cvar] = { 17 | description = info.help, 18 | } 19 | end 20 | end 21 | end 22 | 23 | ------------------------------------------------------- 24 | -- Track cvars set by the interface and other addons 25 | -- hook SetCVar early, record to a temporary table and commit to saved vars when we finish loading 26 | 27 | local SVLoaded = false -- we can't record any changes until after our own saved vars have loaded 28 | local TempTraces = {} -- [cvar:lower()] = {source, value} 29 | 30 | function E:Init() 31 | SVLoaded = true 32 | for cvar, trace in pairs(TempTraces) do -- commit temp vars to sv 33 | local source, value = trace.source, trace.value 34 | local currentValue = GetCVar(cvar) 35 | if value == currentValue then -- only record if the 2 values match, otherwise we probably overwrote it with our own 36 | AdvancedInterfaceOptionsSaved.ModifiedCVars[cvar] = source 37 | addon:DontRecordCVar(cvar, value) 38 | end 39 | end 40 | end 41 | 42 | local function TraceCVar(cvar, value, ...) 43 | if not addon:CVarExists(cvar) then 44 | return 45 | end 46 | 47 | --[=[ 48 | -- Example calls to debugstack(2) as of patch 9.1.5 49 | -- A call to `SetCVar' results in this hook running twice because SetCVar is a wrapper for C_CVar.SetCVar 50 | 51 | 1) `C_CVar.SetCVar' traces to `SetCVar' in CvarUtil.lua 52 | [string "=[C]"]: in function `SetCVar' 53 | [string "@Interface\SharedXML\CvarUtil.lua"]:13: in function 54 | [string "=[C]"]: in function `SetCVar' 55 | [string "@Interface\AddOns\AdvancedInterfaceOptions\browser.lua"]:89: in main chunk 56 | 57 | 2) `SetCVar' traces to the function that invoked it 58 | [string "=[C]"]: in function `SetCVar' 59 | [string "@Interface\AddOns\AdvancedInterfaceOptions\browser.lua"]:89: in main chunk 60 | ]=] 61 | 62 | local trace = debugstack(2) 63 | local source, lineNum = trace:match('"@([^"]+)"%]:(%d+)') 64 | if not source then 65 | -- Attempt to pull source out of "in function " string 66 | source, lineNum = trace:match("in function <([^:%[>]+):(%d+)>") 67 | if not source then 68 | -- Give up and record entire traceback 69 | source = trace 70 | lineNum = "(unhandled exception)" 71 | end 72 | end 73 | -- Ignore C_CVar.SetCVar hook if it originated from ourselves or CvarUtil.lua or ClassicCvarUtil.lua 74 | if 75 | source 76 | and not ( 77 | source:lower():find("[\\/]advancedinterfaceoptions[\\/]") 78 | or source:lower():find("[_\\/]sharedxmlbase[\\/]cvarutil%.lua") 79 | or source:lower():find("[_\\/]sharedxml[\\/]cvarutil%.lua") 80 | or source:lower():find("[_\\/]sharedxml[\\/]classiccvarutil%.lua") 81 | or source:lower():find("[_\\/]sharedxml[\\/]classic[\\/]classiccvarutil%.lua") 82 | ) 83 | then 84 | local realValue = GetCVar(cvar) -- the client does some conversions to the original value 85 | if SVLoaded then 86 | AdvancedInterfaceOptionsSaved.ModifiedCVars[cvar:lower()] = source .. ":" .. lineNum 87 | addon:DontRecordCVar(cvar, realValue) 88 | else 89 | -- this will still record blame for an addon even if we overwrite their setting 90 | TempTraces[cvar:lower()] = { 91 | source = source .. ":" .. lineNum, 92 | value = realValue, 93 | } 94 | end 95 | end 96 | end 97 | 98 | hooksecurefunc("SetCVar", TraceCVar) -- /script SetCVar(cvar, value) 99 | if C_CVar and C_CVar.SetCVar then 100 | hooksecurefunc(C_CVar, "SetCVar", TraceCVar) -- C_CVar.SetCVar(cvar, value) 101 | end 102 | hooksecurefunc("ConsoleExec", function(msg) 103 | local cmd, cvar, value = msg:match("^(%S+)%s+(%S+)%s*(%S*)") 104 | if cmd then 105 | if cmd:lower() == "set" then -- /console SET cvar value 106 | TraceCVar(cvar, value) 107 | else -- /console cvar value 108 | TraceCVar(cmd, cvar) 109 | end 110 | end 111 | end) 112 | 113 | local SetCVar = function(cvar, value) 114 | addon:SetCVar(cvar, value) 115 | end 116 | 117 | -- Injects the CVar browser into the options panel created by Ace3 118 | function addon:PopulateCVarPanel(OptionsPanel) 119 | local Title = OptionsPanel:CreateFontString(nil, "ARTWORK", "GameFontNormalLarge") 120 | Title:SetJustifyV("TOP") 121 | Title:SetJustifyH("LEFT") 122 | Title:SetPoint("TOPLEFT", 10, -16) 123 | Title:SetText("CVar Browser") 124 | 125 | local SubText = OptionsPanel:CreateFontString(nil, "ARTWORK", "GameFontHighlight") 126 | SubText:SetMaxLines(3) 127 | SubText:SetNonSpaceWrap(true) 128 | SubText:SetJustifyV("TOP") 129 | SubText:SetJustifyH("LEFT") 130 | SubText:SetPoint("TOPLEFT", Title, "BOTTOMLEFT", 0, -12) 131 | SubText:SetPoint("RIGHT", -32, 0) 132 | SubText:SetText("These options allow you to modify various CVars within the game.") 133 | 134 | -- FilterBox should adjust the contents of the list frame based on the input text 135 | -- todo: Display grey "Search" text in the box if it's empty 136 | local FilterBox = CreateFrame("editbox", nil, OptionsPanel, "InputBoxTemplate") 137 | FilterBox:SetPoint("TOPLEFT", SubText, "BOTTOMLEFT", 5, -10) 138 | FilterBox:SetPoint("RIGHT", OptionsPanel, "RIGHT", -40, 0) 139 | FilterBox:SetHeight(20) 140 | FilterBox:SetAutoFocus(false) 141 | FilterBox:ClearFocus() 142 | FilterBox:SetScript("OnEscapePressed", function(self) 143 | self:SetAutoFocus(false) -- Allow focus to clear when escape is pressed 144 | self:ClearFocus() 145 | end) 146 | FilterBox:SetScript("OnEnterPressed", function(self) 147 | self:SetAutoFocus(false) -- Clear focus when enter is pressed because Ketho said so 148 | self:ClearFocus() 149 | end) 150 | FilterBox:SetScript("OnEditFocusGained", function(self) 151 | self:SetAutoFocus(true) 152 | self:HighlightText() 153 | end) 154 | 155 | local CVarTable = {} 156 | local ListFrame = addon:CreateListFrame(OptionsPanel, 650, 465, { { NAME, 200 }, { "Description", 260, "LEFT" }, { "Value", 100, "RIGHT" } }) 157 | ListFrame:SetPoint("TOP", FilterBox, "BOTTOM", 0, -20) 158 | ListFrame:SetPoint("BOTTOMLEFT", 0, 15) 159 | ListFrame:SetItems(CVarTable) 160 | 161 | ListFrame.Bg:SetAlpha(0.8) 162 | 163 | FilterBox:SetMaxLetters(100) 164 | 165 | -- Escape special characters for matching a literal string 166 | local function Literalize(str) 167 | return str:gsub("[%(%)%.%%%+%-%*%?%[%]%^%$]", "%%%1") 168 | end 169 | 170 | -- Rewrite text pattern to be case-insensitive 171 | local function UnCase(c) 172 | return "[" .. strlower(c) .. strupper(c) .. "]" 173 | end 174 | 175 | local FilteredTable = {} -- Filtered version of CVarTable based on search box input 176 | 177 | -- Filter displayed items based on value of FilterBox 178 | local function FilterCVarList() 179 | local text = FilterBox:GetText() 180 | if text == "" then 181 | -- set to default list 182 | ListFrame:SetItems(CVarTable) 183 | else 184 | local pattern = Literalize(text):gsub("%a", UnCase) 185 | -- filter based on text 186 | wipe(FilteredTable) 187 | for i = 1, #CVarTable do 188 | local row = CVarTable[i] 189 | for j = 2, #row - 1 do -- start at 2 to skip the hidden value column, not sure if we should include every column in the filter or not 190 | local col = row[j] 191 | -- Color the search query, this is pretty inefficient 192 | local newtext, replacements = col:gsub(pattern, "|cffff0000%1|r") 193 | if replacements > 0 then 194 | local newrow = { row[1], [#row] = row[#row] } 195 | for k = 2, #row - 1 do 196 | newrow[k] = row[k]:gsub(pattern, "|cffff0000%1|r") 197 | end 198 | tinsert(FilteredTable, newrow) 199 | break 200 | end 201 | end 202 | end 203 | ListFrame:SetItems(FilteredTable) 204 | end 205 | end 206 | 207 | FilterBox:SetScript("OnTextChanged", FilterCVarList) 208 | 209 | -- Returns a rounded integer or float, the default value, and whether it's set to its default value 210 | local function GetPrettyCVar(cvar) 211 | local value, default = GetCVarInfo(cvar) 212 | --if not value then value = '|cff00ff00EROR' end 213 | --if not default then default = '|cff00ff00EROR' end 214 | if not default or not value then 215 | return "", false 216 | end -- this cvar doesn't exist 217 | local isFloat = strmatch(value or "", "^-?%d+%.%d+$") 218 | if isFloat then 219 | value = format("%.2f", value):gsub("%.?0+$", "") 220 | end 221 | 222 | local isDefault = tonumber(value) and tonumber(default) and (value - default == 0) or (value == default) 223 | return value, default, isDefault 224 | end 225 | 226 | -- Update CVarTable to reflect current values 227 | local function RefreshCVarList() 228 | wipe(CVarTable) 229 | UpdateCVarList() 230 | -- todo: this needs to be updated every time a cvar changes while the table is visible 231 | for cvar, tbl in pairs(CVarList) do 232 | local value, default, isDefault = GetPrettyCVar(cvar) 233 | 234 | if not (type(value) == "string" and (value:byte(2) == 1 or value:byte(1) == 2)) then -- hack to strip tracking variables and filters from our table, maybe look for a better solution 235 | tinsert(CVarTable, { cvar, cvar, tbl.description or "", isDefault and value or ("|cffff0000" .. value .. "|r") }) 236 | end 237 | end 238 | --ListFrame:SetItems(CVarTable) 239 | end 240 | 241 | local function FilteredRefresh() 242 | if ListFrame:IsVisible() then 243 | RefreshCVarList() 244 | FilterCVarList() 245 | end 246 | end 247 | 248 | ListFrame:HookScript("OnShow", FilteredRefresh) 249 | 250 | -- Events 251 | local oSetCVar = SetCVar 252 | 253 | -- TODO: this needs to be updated every time a cvar changes while the table is visible 254 | RefreshCVarList() 255 | ListFrame:SetItems(CVarTable) 256 | ListFrame:SortBy(2) 257 | --FilterCVarList() 258 | 259 | -- We don't really want the user to be able to do anything else while the input box is open 260 | -- I'd rather make this a child of the input box, but I can't get it to show up above its child 261 | -- todo: show default value around the input box somewhere while it's active 262 | local CVarInputBoxMouseBlocker = CreateFrame("frame", nil, ListFrame) 263 | CVarInputBoxMouseBlocker:SetFrameStrata("FULLSCREEN_DIALOG") 264 | CVarInputBoxMouseBlocker:Hide() 265 | 266 | local CVarInputBox = CreateFrame("editbox", nil, CVarInputBoxMouseBlocker, "InputBoxTemplate") 267 | -- block clicking and cancel on any clicks outside the edit box 268 | CVarInputBoxMouseBlocker:EnableMouse(true) 269 | CVarInputBoxMouseBlocker:SetScript("OnMouseDown", function(self) 270 | CVarInputBox:ClearFocus() 271 | end) 272 | -- block scrolling 273 | CVarInputBoxMouseBlocker:EnableMouseWheel(true) 274 | CVarInputBoxMouseBlocker:SetScript("OnMouseWheel", function() end) 275 | CVarInputBoxMouseBlocker:SetAllPoints(nil) 276 | 277 | local blackout = CVarInputBoxMouseBlocker:CreateTexture(nil, "BACKGROUND") 278 | blackout:SetAllPoints() 279 | blackout:SetColorTexture(0, 0, 0, 0.2) 280 | 281 | CVarInputBox:Hide() 282 | CVarInputBox:SetSize(100, 20) 283 | CVarInputBox:SetJustifyH("RIGHT") 284 | CVarInputBox:SetTextInsets(5, 10, 0, 0) 285 | CVarInputBox:SetScript("OnEscapePressed", function(self) 286 | self:ClearFocus() 287 | self:Hide() 288 | end) 289 | 290 | CVarInputBox:SetScript("OnEnterPressed", function(self) 291 | -- TODO: I don't like this, change it 292 | oSetCVar(self.cvar, self:GetText() or "") 293 | self:Hide() 294 | FilteredRefresh() 295 | end) 296 | --CVarInputBox:SetScript('OnShow', function(self) 297 | --self:SetFocus() 298 | --end) 299 | CVarInputBox:SetScript("OnHide", function(self) 300 | CVarInputBoxMouseBlocker:Hide() 301 | if self.str then 302 | self.str:Show() 303 | end 304 | end) 305 | CVarInputBox:SetScript("OnEditFocusLost", function(self) 306 | self:Hide() 307 | FilterBox:SetFocus() 308 | end) 309 | 310 | function E:PLAYER_REGEN_DISABLED() 311 | if CVarInputBox:IsVisible() then 312 | CVarInputBox:Hide() 313 | end 314 | FilterBox:GetScript("OnEscapePressed")(FilterBox) 315 | end 316 | 317 | local LastClickTime = 0 -- Track double clicks on rows 318 | ListFrame:SetScripts({ 319 | OnEnter = function(self) 320 | if self.value ~= "" then 321 | GameTooltip:SetOwner(self, "ANCHOR_TOPLEFT") 322 | local cvarTable = CVarList[self.value] 323 | local _, defaultValue = GetCVarInfo(self.value) 324 | GameTooltip:AddLine(cvarTable["prettyName"] or self.value, nil, nil, nil, false) 325 | GameTooltip:AddLine(" ") 326 | if cvarTable["description"] then --and _G[ cvarTable['description'] ] then 327 | GameTooltip:AddLine(cvarTable["description"], 1, 1, 1, true) 328 | end 329 | GameTooltip:AddDoubleLine("Default Value:", defaultValue, 0.2, 1, 0.6, 0.2, 1, 0.6) 330 | 331 | local modifiedBy = AdvancedInterfaceOptionsSaved.ModifiedCVars[self.value:lower()] 332 | if modifiedBy then 333 | GameTooltip:AddDoubleLine("Last Modified By:", modifiedBy, 1, 0, 0, 1, 0, 0) 334 | end 335 | 336 | GameTooltip:Show() 337 | end 338 | self.bg:Show() 339 | end, 340 | OnLeave = function(self) 341 | GameTooltip:Hide() 342 | self.bg:Hide() 343 | end, 344 | OnMouseDown = function(self) 345 | local now = GetTime() 346 | if now - LastClickTime <= 0.2 then 347 | -- display edit box on row with current cvar value 348 | -- save on enter, discard on escape or losing focus 349 | if CVarInputBox.str then 350 | CVarInputBox.str:Show() 351 | end 352 | self.cols[#self.cols]:Hide() 353 | CVarInputBox.str = self.cols[#self.cols] 354 | CVarInputBox.cvar = self.value 355 | CVarInputBox.row = self 356 | CVarInputBox:SetPoint("RIGHT", self) 357 | local value = GetPrettyCVar(self.value) 358 | CVarInputBox:SetText(value or "") 359 | CVarInputBox:HighlightText() 360 | CVarInputBoxMouseBlocker:Show() 361 | CVarInputBox:Show() 362 | CVarInputBox:SetFocus() 363 | else 364 | LastClickTime = now 365 | end 366 | end, 367 | }) 368 | 369 | -- Update browser when a cvar is set while it's open 370 | -- There are at least 4 different ways a cvar can be set: 371 | -- /run SetCVar("cvar", value) 372 | -- /console "cvar" value 373 | -- /console SET "cvar" value (case doesn't matter) 374 | -- Hitting ` and typing SET "cvar" into the console window itself 375 | -- Console is not part of the interface, doesn't fire an event, and I'm not sure that we can hook it 376 | 377 | -- These could be more efficient by not refreshing the entire list but that would be more work 378 | hooksecurefunc("SetCVar", FilteredRefresh) 379 | 380 | -- should we even bother checking what the console command did? 381 | hooksecurefunc("ConsoleExec", FilteredRefresh) 382 | end 383 | -------------------------------------------------------------------------------- /cspell.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2", 3 | "language": "en-US", 4 | "ignorePaths": [ 5 | "libs", 6 | ".luacheckrc" 7 | ], 8 | "words": [ 9 | "ADDONCATEGORIES", 10 | "Ambiguate", 11 | "BGDL", 12 | "BGSOUND", 13 | "bspcache", 14 | "Cata", 15 | "cffaaaaff", 16 | "cffaaffaa", 17 | "cffffaaaa", 18 | "cffffffff", 19 | "cvar", 20 | "cvars", 21 | "daltonize", 22 | "Debuff", 23 | "Debuffs", 24 | "DISPELLABLE", 25 | "Dont", 26 | "Dwmo", 27 | "EROR", 28 | "gpromote", 29 | "GXAPI", 30 | "hbao", 31 | "Hostle", 32 | "HRTF", 33 | "Infov", 34 | "Ketho", 35 | "Lerp", 36 | "Luacheck", 37 | "MAXFPSBK", 38 | "mmhhh", 39 | "MSAA", 40 | "Mult", 41 | "Nagle", 42 | "nebularg", 43 | "NUMDIALOGS", 44 | "PERC", 45 | "PHONG", 46 | "PPAA", 47 | "RAIDSSAO", 48 | "REGEN", 49 | "simd", 50 | "SOUNDFX", 51 | "SSAO", 52 | "TARGETOFTARGET", 53 | "TIPOFTHEDAY", 54 | "UBERTOOLTIPS", 55 | "UISCALE", 56 | "Unshift", 57 | "upvalue", 58 | "USEIPV", 59 | "UVARINFO", 60 | "uvars", 61 | "vsync", 62 | "WAGO", 63 | "WGOB", 64 | "WOWI", 65 | "WQST" 66 | ] 67 | } 68 | -------------------------------------------------------------------------------- /cvars.dump: -------------------------------------------------------------------------------- 1 | local _, T = ... 2 | T.CVars = { 3 | ["portal"] = "Name of Battle.net portal to use", 4 | ["textLocale"] = "Set the game locale for text", 5 | ["audioLocale"] = "Set the game locale for audio content", 6 | ["locale"] = "Set the game locale", 7 | ["agentUID"] = "The UID provided by Battle.net to be passed to Agent", 8 | ["timingTestError"] = "Error reported by the timing validation system", 9 | ["timingMethod"] = "Desired method for game timing", 10 | ["enableStreaming"] = "Set to 0 to disable all streaming (requires client restart)", 11 | ["launchAgent"] = "Set this to have the client start up Agent", 12 | ["installLocale"] = "", 13 | ["hwDetect"] = "", 14 | ["videoOptionsVersion"] = "", 15 | ["gxApi"] = "", 16 | ["gxWindow"] = "", 17 | ["gxMaximize"] = "", 18 | ["graphicsQuality"] = "", 19 | ["playIntroMovie"] = "", 20 | ["mouseSpeed"] = "", 21 | ["Gamma"] = "", 22 | ["readTOS"] = "", 23 | ["lastReadTOS"] = "", 24 | ["readEULA"] = "", 25 | ["lastReadEULA"] = "", 26 | ["accounttype"] = "", 27 | ["debugLog0"] = "", 28 | ["debugLog1"] = "", 29 | ["debugLog2"] = "", 30 | ["ChatMusicVolume"] = "", 31 | ["ChatSoundVolume"] = "", 32 | ["ChatAmbienceVolume"] = "", 33 | ["VoiceActivationSensitivity"] = "", 34 | ["Sound_MasterVolume"] = "", 35 | ["Sound_SFXVolume"] = "", 36 | ["Sound_MusicVolume"] = "", 37 | ["Sound_AmbienceVolume"] = "", 38 | ["Sound_DialogVolume"] = "", 39 | ["farclip"] = "", 40 | ["particleDensity"] = "", 41 | ["waterDetail"] = "", 42 | ["rippleDetail"] = "", 43 | ["reflectionMode"] = "", 44 | ["sunShafts"] = "", 45 | ["refraction"] = "", 46 | ["groundEffectDensity"] = "", 47 | ["groundEffectDist"] = "", 48 | ["environmentDetail"] = "", 49 | ["projectedTextures"] = "", 50 | ["shadowMode"] = "", 51 | ["shadowTextureSize"] = "", 52 | ["SSAO"] = "", 53 | ["raidfarclip"] = "", 54 | ["raidwaterDetail"] = "", 55 | ["raidSsao"] = "", 56 | ["raidgroundeffectdensity"] = "", 57 | ["raidgroundEffectdist"] = "", 58 | ["raidshadowmode"] = "", 59 | ["raidterrainLodDist"] = "", 60 | ["raidWmoLoddist"] = "", 61 | ["raidtextureFilteringMode"] = "", 62 | ["raidProjectedTextures"] = "", 63 | ["raidEnvironmentdetail"] = "", 64 | ["raidShadowtexturesize"] = "", 65 | ["raidReflectionmode"] = "", 66 | ["raidsunshafts"] = "", 67 | ["raidParticledensity"] = "", 68 | ["raidRefraction"] = "", 69 | ["textureFilteringMode"] = "", 70 | ["terrainLodDist"] = "", 71 | ["wmoloddist"] = "", 72 | ["raidcomponentTexturelevel"] = "", 73 | ["componenttextureLevel"] = "", 74 | ["gametip"] = "", 75 | ["raiDgraphicsQuality"] = "", 76 | ["rAIdsettingsInit"] = "", 77 | ["gxresolution"] = "", 78 | ["taintLog"] = "", 79 | ["expandupgradepanel"] = "", 80 | ["checkaddonVersion"] = "", 81 | ["lastAddonversion"] = "", 82 | ["realmName"] = "", 83 | ["gxrefresh"] = "", 84 | ["horizonStart"] = "", 85 | ["outlineEngineMode"] = "", 86 | ["lodobjectcullSize"] = "", 87 | ["lodObjectminsize"] = "", 88 | ["RAIDhorizonstart"] = "", 89 | ["RAIDOutlineenginemode"] = "", 90 | ["RAIDlodobjectCullsize"] = "", 91 | ["RAIdlodObjectminsize"] = "", 92 | ["weatherDensity"] = "", 93 | ["raidweatherdensity"] = "", 94 | ["engineSurvey"] = "", 95 | ["terrainTextureLod"] = "", 96 | ["lodObjectcullDist"] = "", 97 | ["rAIDterraintexturelod"] = "", 98 | ["RaidlodobjectcullDist"] = "", 99 | ["agentLoglevel"] = "Logging level for agent (0, 1, 2)", 100 | ["serveralert"] = "Get the glue-string tag for the URL", 101 | ["overridearchive"] = "Whether or not the client loads alternate data", 102 | ["simd"] = "Enable SIMD features (e.g. SSE)", 103 | ["processAffinitymask"] = "Sets which core(s) WoW may execute on - changes require restart to take effect", 104 | ["streamingcameraradius"] = "Base radius of the streaming camera.", 105 | ["streamingCameramaxradius"] = "Max radius of the streaming camera.", 106 | ["streamingCameralookAheadtime"] = "Look ahead time for streaming.", 107 | ["disableAutoRealmselect"] = "Disable automatically selecting a realm on login", 108 | ["initialrealmlistTimeout"] = "How long to wait for the initial realm list before failing login (in seconds)", 109 | ["webChallengeURLTimeout"] = "How long to wait for the web challenge URL (in seconds). 0 means wait forever.", 110 | ["debugalloctrackstacktrace"] = "Whether to track the stacktrace for each debug allocation", 111 | ["debugallocSingleblade"] = "At startup only, choose a single blade such as a CSI peer to have debug allocators", 112 | ["usedebugallocators"] = "Should we use debug allocators (level: 0, 1, 2)", 113 | ["asyncthreadsleep"] = "Engine option: Async read thread sleep", 114 | ["asynchandlerTimeout"] = "Engine option: Async read main thread timeout", 115 | ["enablebgdl"] = "Background Download (on async net thread) Enabled", 116 | ["maxfps"] = "Set FPS limit", 117 | ["maxFPSBk"] = "Set background FPS limit", 118 | ["gxAdapter"] = "Force to run the specified adapter index (-1 to let client choose)", 119 | ["gxdepthResolveHandleCaching"] = "Caching of the target handle for the depth resolve", 120 | ["gxAFrdevicesCount"] = "Force to set number of AFR devices", 121 | ["gxMonitor"] = "monitor", 122 | ["gxFullscreenResolution"] = "resolution", 123 | ["gxWindowedresolution"] = "windowed resolution", 124 | ["gxnewresolution"] = "resolution to be set", 125 | ["gxpreferWindowedfullscreen"] = "prefer which fullscreen mode for toggle", 126 | ["gxtriplebuffer"] = "triple buffer", 127 | ["gxVsync"] = "vsync on or off", 128 | ["gxAspect"] = "constrain window aspect", 129 | ["gxcursor"] = "toggle hardware cursor", 130 | ["gxfixLag"] = "prevent cursor lag", 131 | ["gxmaxFrameLatency"] = "maximum number of frames ahead of GPU the CPU can be", 132 | ["gxStereoenabled"] = "Enable stereoscopic rendering", 133 | ["windowResizeLock"] = "prevent resizing in windowed mode", 134 | ["gxStereoconvergence"] = "Set stereoscopic rendering convergence depth", 135 | ["gxStereoSeparation"] = "Set stereoscopic rendering separation percentage", 136 | ["ErrorFilelog"] = "", 137 | ["M2usethreads"] = "multithread model animations", 138 | ["M2forceAdditiveparticleSort"] = "force all particles to sort as though they were additive", 139 | ["M2useinstancing"] = "use hardware instancing", 140 | ["m2UseLod"] = "use model lod", 141 | ["detailDoodadInstancing"] = "Detail doodad instancing", 142 | ["nearclip"] = "Near clip plane distance", 143 | ["particleMTDensity"] = "Multi-Tex particle density", 144 | ["reflectionDownscale"] = "Reflection downscale", 145 | ["bspcache"] = "BSP node caching", 146 | ["worldPoolUsage"] = "Usage static/dynamic/stream", 147 | ["terrainAlphabitDepth"] = "Terrain alpha map bit depth", 148 | ["groundeffectfade"] = "Ground effect fade", 149 | ["hwPcF"] = "Hardware PCF Filtering", 150 | ["gxtextureCacheSize"] = "GX Texture Cache Size", 151 | ["shadowsoft"] = "(BETA)Soft shadows (0/1)", 152 | ["maxLightcount"] = "Maximum lights to render", 153 | ["maxLightDist"] = "Maximum distance to render lights", 154 | ["sSAOdistance"] = "SSAO distance", 155 | ["sSAoBlur"] = "Blur technique (0=off, 1=gauss, 2=bilateral", 156 | ["DepthBasedOpacity"] = "Enable/Disable Soft Edge Effect", 157 | ["preloadstreamingdistTerrain"] = "Terrain preload distance when streaming", 158 | ["preloadstreamingdistObject"] = "Object preload distance when streaming", 159 | ["preloadloadingdistTerrain"] = "Terrain preload distance when loading", 160 | ["preloadLoadingDistObject"] = "Object preload distance when loading", 161 | ["skycloudlod"] = "Texture resolution for clouds", 162 | ["wmodoodadDist"] = "Wmo doodad load distance", 163 | ["entitylodDist"] = "Entity level of detail distance", 164 | ["doodadloddist"] = "Doodad level of detail distance", 165 | ["terrainMiplevel"] = "Terrain blend map mip level", 166 | ["worldMaxmipLevel"] = "World maximum texture mip level", 167 | ["worldBaseMip"] = "World texture base mip", 168 | ["terrainHoles"] = "Terrain holes affect occlusion", 169 | ["lightMode"] = "Quality of lighting", 170 | ["physicsLevel"] = "Level of physics world interaction", 171 | ["minimapPortalMax"] = "Max Number of Portals to traverse for minimap", 172 | ["Renderscale"] = "Render scale (for supersampling or undersampling)", 173 | ["Resamplequality"] = "Resample quality", 174 | ["MsAaQuality"] = "Multisampling AA quality", 175 | ["mSaAAlphaTest"] = "Enable MSAA for alpha-tested geometry", 176 | ["lodliquid"] = "Render using lod liquid", 177 | ["lodterrainDiv"] = "Terrain lod divisor", 178 | ["RaIDsettingsenabled"] = "Raid graphic settings are available", 179 | ["rAidsSaOblur"] = "Raid SSAO Blur technique", 180 | ["RAIddepthBasedopacity"] = "Raid Enable/Disable Soft Edge Effect", 181 | ["RaidgroundeffectFade"] = "Raid Ground effect fade", 182 | ["RAIDterrainmiplevel"] = "Terrain blend map mip level", 183 | ["RAIDworldBasemip"] = "World texture base mip", 184 | ["RAIDshadowsoft"] = "Soft shadows (0/1)", 185 | ["raidrippledetail"] = "Ripple surface detail", 186 | ["RAIdparticleMTDensity"] = "Multi-Tex particle density", 187 | ["raiDLightMode"] = "Quality of lighting", 188 | ["componentThread"] = "Multi thread character component processing", 189 | ["componentcompress"] = "Character component texture compression", 190 | ["componenttexLoadLimit"] = "Character component texture loading limit per frame", 191 | ["componentTexcacheSize"] = "Character component texture cache size (in MB)", 192 | ["componentSpecular"] = "Character component specular highlights", 193 | ["componentemissive"] = "Character component unlit/emissive", 194 | ["graphicstextureresolution"] = "UI value of the graphics setting", 195 | ["graphicstextureFiltering"] = "UI value of the graphics setting", 196 | ["graphicsprojectedtextures"] = "UI value of the graphics setting", 197 | ["graphicsviewdistance"] = "UI value of the graphics setting", 198 | ["graphicsenvironmentdetail"] = "UI value of the graphics setting", 199 | ["graphicsGroundclutter"] = "UI value of the graphics setting", 200 | ["graphicsshadowQuality"] = "UI value of the graphics setting", 201 | ["graphicsLiquiddetail"] = "UI value of the graphics setting", 202 | ["graphicsSunshafts"] = "UI value of the graphics setting", 203 | ["graphicsParticledensity"] = "UI value of the graphics setting", 204 | ["graphicsSSAO"] = "UI value of the graphics setting", 205 | ["graphicsDepthEffects"] = "UI value of the graphics setting", 206 | ["graphicslightingQuality"] = "UI value of the graphics setting", 207 | ["graphicsoutlineMode"] = "UI value of the graphics setting", 208 | ["raidgraphicsTextureresolution"] = "UI value of the raidGraphics setting", 209 | ["raidGraphicsTexturefiltering"] = "UI value of the raidGraphics setting", 210 | ["raidgraphicsProjectedtextures"] = "UI value of the raidGraphics setting", 211 | ["raidgraphicsviewDistance"] = "UI value of the raidGraphics setting", 212 | ["raidgraphicsEnvironmentdetail"] = "UI value of the raidGraphics setting", 213 | ["raidgraphicsGroundClutter"] = "UI value of the raidGraphics setting", 214 | ["raidGraphicsShadowQuality"] = "UI value of the raidGraphics setting", 215 | ["raidGraphicsLiquidDetail"] = "UI value of the raidGraphics setting", 216 | ["raidGraphicsSunshafts"] = "UI value of the raidGraphics setting", 217 | ["raidGraphicsParticleDensity"] = "UI value of the raidGraphics setting", 218 | ["raidGraphicsSSAO"] = "UI value of the raidGraphics setting", 219 | ["raidGraphicsDepthEffects"] = "UI value of the raidGraphics setting", 220 | ["raidGraphicsLightingQuality"] = "UI value of the raidGraphics setting", 221 | ["raidGraphicsOutlineMode"] = "UI value of the raidGraphics setting", 222 | ["warp"] = "UI value of the graphics setting", 223 | ["warpScreenSize"] = "Physical monitor size in cubits/decimeter", 224 | ["warpViewDistance"] = "Physical distance from the viewer to the monitor", 225 | ["warpViewTilt"] = "Angle of the side monitors IN RADIANS", 226 | ["shadowCull"] = "enable shadow frustum culling", 227 | ["shadowscissor"] = "enable scissoring when rendering shadowmaps", 228 | ["shadowInstancing"] = "enable instancing when rendering shadowmaps", 229 | ["hbaoNormals"] = "Use Normals for HBAO", 230 | ["hbaoBias"] = "HBAO Bias", 231 | ["hbaoRadius"] = "HBAO Radius", 232 | ["hbaoPowerExp"] = "HBAO Power Exponent", 233 | ["hbaoBlurSharp"] = "HBAO Blur Sharpness", 234 | ["animFrameSkipLOD"] = "animations will skip frames at distance", 235 | ["hotReloadModels"] = "Allow an active model to be reloaded when a new version is detected in the bin folder. If this is disabled, the model data will only be refreshed after all game objects using the model are deleted", 236 | ["forceLODCheck"] = "If enabled, we will skip checking DBC for LOD count and every m2 will scan the folder for skin profiles", 237 | ["BrowserNavigateLog"] = "Enables Logging of browser navigation requests (Requires /reload)", 238 | ["movieSubtitle"] = "Show movie subtitles", 239 | ["raidOrBattleCount"] = "How many times we've sent a raid or battleground survey to the servers", 240 | ["enableMouseSpeed"] = "Enables setting a custom mouse sensitivity to override the setting from the operating system.", 241 | ["fullDump"] = "When you crash, generate a full memory dump", 242 | ["Errors"] = "", 243 | ["showErrors"] = "", 244 | ["ErrorLevelMin"] = "", 245 | ["ErrorLevelMax"] = "", 246 | ["ErrorFilter"] = "", 247 | ["DesktopGamma"] = "", 248 | ["lastCharacterIndex"] = "Last character selected", 249 | ["readTerminationWithoutNotice"] = "Status of the Termination without Notice notice", 250 | ["lastReadTerminationWithoutNotice"] = "Last version for which the Termination without Notice notice was read", 251 | ["readScanning"] = "Status of the Scanning notice", 252 | ["reaDContest"] = "Status of the Contest notice", 253 | ["seenCharacterUpgradePopup"] = "Seen the free character upgrade popup", 254 | ["screenshotFormat"] = "Set the format of screenshots", 255 | ["screenshotQuality"] = "Set the quality of screenshots (1 - 10)", 256 | ["useIPv6"] = "Enable the usage of IPv6 sockets", 257 | ["disableServerNagle"] = "Disable server-side nagle algorithm", 258 | ["advancedCombatLogging"] = "Whether we want advanced combat log data sent from the server", 259 | ["bnetLogSeverity"] = "Set Battle.net's debug logging severity level", 260 | ["skipStartGear"] = "Whether we should show starter gear on character create", 261 | ["hdPlayerModels"] = "Use high definition replacements for player models", 262 | ["preloadPlayerModels"] = "Preload all local racial models into memory", 263 | ["StartTalkingDelay"] = "", 264 | ["StartTalkingTime"] = "", 265 | ["StopTalkingDelay"] = "", 266 | ["StopTalkingTime"] = "", 267 | ["OutboundChatVolume"] = "The software amplification factor (0.0 - 2.0)", 268 | ["inboundChatVolume"] = "The volume of all other chat you hear (0.0 - 1.0)", 269 | ["VoiceChatMode"] = "Push to talk(0) or voice activation(1)", 270 | ["EnableMicrophone"] = "Enables the microphone so you can speak.", 271 | ["EnableVoiceChat"] = "Enables the voice chat feature.", 272 | ["VoiceChatSelfMute"] = "Turn off your ability to talk.", 273 | ["PushToTalkButton"] = "String representation of the Push-To-Talk button.", 274 | ["Sound_NumChannels"] = "number of sound channels", 275 | ["Sound_EnableReverb"] = "", 276 | ["Sound_OutputDriverIndex"] = "", 277 | ["Sound_OutputDriverName"] = "", 278 | ["Sound_VoiceChatInputDriverIndex"] = "", 279 | ["Sound_VoiceChatInputDriverName"] = "", 280 | ["Sound_VoiceChatOutputDriverIndex"] = "", 281 | ["Sound_VoiceChatOutputDriverName"] = "", 282 | ["Sound_DSPBufferSize"] = "sound buffer size, default 0", 283 | ["Sound_OutputSampleRate"] = "output sample rate", 284 | ["Sound_EnableMode2"] = "test", 285 | ["Sound_EnableMixMode2"] = "test", 286 | ["Sound_EnableSFX"] = "", 287 | ["Sound_EnableAmbience"] = "Enable Ambience", 288 | ["Sound_EnableErrorSpeech"] = "error speech", 289 | ["Sound_EnableMusic"] = "Enables music", 290 | ["Sound_EnablePetBattleMusic"] = "Enables music in pet battles", 291 | ["Sound_EnableAllSound"] = "", 292 | ["Sound_EnableDialog"] = "all dialog", 293 | ["Sound_ListenerAtCharacter"] = "lock listener at character", 294 | ["Sound_EnableEmoteSounds"] = "", 295 | ["Sound_ZoneMusicNoDelay"] = "", 296 | ["Sound_EnableArmorFoleySoundForSelf"] = "", 297 | ["Sound_EnableArmorFoleySoundForOthers"] = "", 298 | ["Sound_EnableDSPEffects"] = "", 299 | ["Sound_EnablePetSounds"] = "Enables pet sounds", 300 | ["Sound_MaxCacheSizeInBytes"] = "Max cache size in bytes", 301 | ["Sound_MaxCacheableSizeInBytes"] = "Max sound size that will be cached, larger files will be streamed instead", 302 | ["FootstepSounds"] = "play footstep sounds", 303 | ["SoundUseNewBusSystem"] = "use the new bus structure or fallback to the old one", 304 | ["debugSoundPlayerSpellsOnlyOnPlayerBus"] = "", 305 | ["SoundPerf_VariationCap"] = "Limit sound kit variations to cut down on memory usage and disk thrashing on 32-bit machines", 306 | ["Sound_EnablePositionalLowPassFilter"] = "Environmental effect to make sounds duller behind you or far away", 307 | ["enableWowMouse"] = "Enable Steelseries World of Warcraft Mouse", 308 | ["synchronizeSettings"] = "Whether client settings should be stored on the server", 309 | ["releaseUITextures"] = "Release Hidden UI Textures by default", 310 | ["ffxRectangle"] = "use rectangle texture for full screen effects", 311 | ["ffxAntiAliasingMode"] = "Anti Aliasing Mode", 312 | ["daltonize"] = "Attempt to correct for color blindness (set colorblindSimulator to type of colorblindness)", 313 | ["colorblindWeaknessFactor"] = "Amount of sensitivity. e.g. Protanope (red-weakness) 0.0 = not colorblind, 1.0 = full weakness(Protanopia), 0.5 = mid weakness(Protanomaly)", 314 | ["colorblindSimulator"] = "Type of color blindness", 315 | ["forceEnglishNames"] = "", 316 | ["synchronizeConfig"] = "", 317 | ["synchronizeBindings"] = "", 318 | ["synchronizeMacros"] = "", 319 | ["synchronizeChatFrames"] = "", 320 | ["streamBeams"] = "Use vertex streaming for beams (Gfx Driver Workaround). 0=Auto Detect, 1=Never Stream, 2=Always Stream", 321 | ["sceneOcclusionEnable"] = "Scene software occlusion", 322 | ["showfootprintparticles"] = "toggles rendering of footprint particles", 323 | ["pathSmoothing"] = "NPC will round corners on ground paths", 324 | ["POIShiftComplete"] = "", 325 | ["incompleteQuestPriorityThresholdDelta"] = "", 326 | ["scriptProfile"] = "Whether or not script profiling is enabled", 327 | ["deselectOnClick"] = "Clear the target when clicking on terrain", 328 | ["autoInteract"] = "Toggles auto-move to interact target", 329 | ["autoStand"] = "Automatically stand when needed", 330 | ["autoDismount"] = "Automatically dismount when needed", 331 | ["autoDismountFlying"] = "If enabled, your character will automatically dismount before casting while flying", 332 | ["autoUnshift"] = "Automatically leave shapeshift form when needed", 333 | ["autoClearAFK"] = "Automatically clear AFK when moving or chatting", 334 | ["lootUnderMouse"] = "Whether the loot window should open under the mouse", 335 | ["autoOpenLootHistory"] = "Automatically opens the Loot History window when certain items drop", 336 | ["alwaysCompareItems"] = "Always show item comparison tooltips", 337 | ["SpellTooltip_DisplayAvgValues"] = "Toggles the spread from (min-max) to (avg)", 338 | ["breakUpLargeNumbers"] = "Toggles using commas in large numbers", 339 | ["superTrackerDist"] = "", 340 | ["spellBookSort"] = "", 341 | ["interactOnLeftClick"] = "Test CVar for interacting with NPC's on left click", 342 | ["showTargetOfTarget"] = "Whether the target of target frame should be shown", 343 | ["targetOfTargetMode"] = "The conditions under which target of target should be shown", 344 | ["showTargetCastbar"] = "Show the spell your current target is casting", 345 | ["showVKeyCastbar"] = "If the V key display is up for your current target, show the enemy cast bar with the target's health bar in the game field", 346 | ["spellActivationOverlayOpacity"] = "The opacity of the Spell Activation Overlays (a.k.a. Spell Alerts)", 347 | ["doNotFlashLowHealthWarning"] = "Do not flash your screen red when you are low on health.", 348 | ["reducedLagTolerance"] = "Enables the Reduced Lag Tolerance slider. (Doesn't actually change anything. Use \"MaxSpellStartRecoveryOffset\" for that.)", 349 | ["maxSpellStartRecoveryOffset"] = "Determines how far ahead of the end of a spell start recovery the spell system can be before allowing spell request to be sent to the server", 350 | ["rotateMinimap"] = "Whether to rotate the entire minimap instead of the player arrow", 351 | ["minimapAltitudeHintMode"] = "Change minimap altitude difference display. 0=none, 1=darken, 2=arrows", 352 | ["scriptErrors"] = "Whether or not the UI shows Lua errors", 353 | ["scriptWarnings"] = "Whether or not the UI shows Lua warnings", 354 | ["screenEdgeFlash"] = "Whether to show a red flash while you are in combat with the world map up", 355 | ["displayFreeBagSlots"] = "Whether or not the backpack button should indicate how many inventory slots you've got free", 356 | ["displayWorldPVPObjectives"] = "Whether to show world PvP objectives", 357 | ["colorblindMode"] = "Enables colorblind accessibility features in the game", 358 | ["enableMovePad"] = "Enables the MovePad accessibility feature in the game", 359 | ["streamStatusMessage"] = "Whether to display status messages while streaming content", 360 | ["emphasizeMySpellEffects"] = "Whether other player's spell impacts are toned down or not.", 361 | ["allowCompareWithToggle"] = "", 362 | ["countdownForCooldowns"] = "Whether to use number countdown instead of radial swipe for action button cooldowns or not.", 363 | ["autoQuestWatch"] = "Whether to automatically watch all quests when you obtain them", 364 | ["autoQuestProgress"] = "Whether to automatically watch all quests when they are updated", 365 | ["advancedWatchFrame"] = "Enables advanced Objectives tracking features", 366 | ["watchFrameIgnoreCursor"] = "Disables Objectives frame mouseover and title dropdown.", 367 | ["watchFrameBaseAlpha"] = "Objectives frame opacity.", 368 | ["watchFrameState"] = "Stores Objectives frame locked and collapsed states", 369 | ["flaggedTutorials"] = "Internal cvar for saving completed tutorials in order", 370 | ["actionedAdventureJournalEntries"] = "Which adventure journal entries flagged with ADVENTURE_JOURNAL_HIDE_AFTER_ACTION the user acted upon", 371 | ["trackQuestSorting"] = "Whether to sort the last tracked quest to the top of the quest tracker or use proximity sorting", 372 | ["mapAnimMinAlpha"] = "Alpha value to animate to when player moves with windowed world map open", 373 | ["mapAnimDuration"] = "Duration for the alpha animation", 374 | ["mapAnimStartDelay"] = "Start delay for the alpha animation", 375 | ["profanityFilter"] = "Whether to enable mature language filtering", 376 | ["spamFilter"] = "Whether to enable spam filtering", 377 | ["chatBubbles"] = "Whether to show in-game chat bubbles", 378 | ["chatBubblesParty"] = "Whether to show in-game chat bubbles for party chat", 379 | ["removeChatDelay"] = "Remove Chat Hover Delay", 380 | ["guildShowOffline"] = "Show offline guild members in the guild UI", 381 | ["guildMemberNotify"] = "Receive notification when guild members log on/off", 382 | ["lfgAutoFill"] = "Whether to automatically add party members while looking for a group", 383 | ["lfgAutoJoin"] = "Whether to automatically join a party while looking for a group", 384 | ["chatStyle"] = "The style of Edit Boxes for the ChatFrame. Valid values: \"classic\", \"im\"", 385 | ["wholeChatWindowClickable"] = "Whether the user may click anywhere on a chat window to change EditBox focus (only works in IM style)", 386 | ["whisperMode"] = "The action new whispers take by default: \"popout\", \"inline\", \"popout_and_inline\"", 387 | ["showTimestamps"] = "The format of timestamps in chat or \"none\"", 388 | ["chatMouseScroll"] = "Whether the user can use the mouse wheel to scroll through chat", 389 | ["enableTwitter"] = "Whether Twitter integration is enabled", 390 | ["twitterGetConfigTime"] = "Last time that we got Twitter configuration data successfully", 391 | ["twitterShortUrlLength"] = "Number of characters that non-https URLS get shortened to", 392 | ["twitterShortUrlLengthHttps"] = "Number of characters that https URLS get shortened to", 393 | ["twitterCharactersPerMedia"] = "Number of characters needed when attaching media to a Twitter post", 394 | ["findYourselfMode"] = "Highlight you character. 0 = circle, 1 = circle & outline", 395 | ["findYourselfInRaidOnlyInCombat"] = "Highlight your character in Raids only when in combat", 396 | ["findYourselfInBGOnlyInCombat"] = "Highlight your character in Battlegrounds only when in combat", 397 | ["findYourselfAnywhereOnlyInCombat"] = "Highlight your character only when in combat", 398 | ["findYourselfInRaid"] = "Always Highlight your character in Raids", 399 | ["findYourselfInBG"] = "Always Highlight your character in Battlegrounds", 400 | ["findYourselfAnywhere"] = "Always Highlight your character", 401 | ["comboPointLocation"] = "Location of combo points in UI. 1=target, 2=self", 402 | ["nameplateOtherAtBase"] = "Position other nameplates at the base, rather than overhead", 403 | ["lockActionBars"] = "Whether the action bars should be locked, preventing changes", 404 | ["alwaysShowActionBars"] = "Whether to always show the action bar grid", 405 | ["secureAbilityToggle"] = "Whether you should be protected against accidentally double-clicking an aura", 406 | ["UnitNameOwn"] = "", 407 | ["UnitNameNPC"] = "", 408 | ["UnitNameHostleNPC"] = "", 409 | ["UnitNameForceHideMinus"] = "", 410 | ["UnitNamePlayerGuild"] = "", 411 | ["UnitNamePlayerPVPTitle"] = "", 412 | ["UnitNameEnemyPlayerName"] = "", 413 | ["UnitNameEnemyPetName"] = "", 414 | ["UnitNameEnemyGuardianName"] = "", 415 | ["UnitNameEnemyTotemName"] = "", 416 | ["UnitNameEnemyMinionName"] = "", 417 | ["UnitNameFriendlyPlayerName"] = "", 418 | ["UnitNameFriendlyPetName"] = "", 419 | ["UnitNameFriendlyGuardianName"] = "", 420 | ["UnitNameFriendlyTotemName"] = "", 421 | ["UnitNameFriendlyMinionName"] = "", 422 | ["UnitNameNonCombatCreatureName"] = "", 423 | ["UnitNameFriendlySpecialNPCName"] = "", 424 | ["UnitNameGuildTitle"] = "", 425 | ["WorldTextStartPosRandomness"] = "", 426 | ["WorldTextScreenY"] = "", 427 | ["WorldTextCritScreenY"] = "", 428 | ["WorldTextRandomXY"] = "", 429 | ["WorldTextRandomZMin"] = "", 430 | ["WorldTextRandomZMax"] = "", 431 | ["WorldTextNonRandomZ"] = "", 432 | ["WorldTextGravity"] = "", 433 | ["WorldTextRampPow"] = "", 434 | ["WorldTextRampPowCrit"] = "", 435 | ["WorldTextRampDuration"] = "", 436 | ["floatingCombatTextCombatDamage"] = "Display damage numbers over hostile creatures when damaged", 437 | ["floatingCombatTextCombatDamageStyle"] = "No longer used", 438 | ["floatingCombatTextCombatDamageAllAutos"] = "Show all auto-attack numbers, rather than hiding non-event numbers", 439 | ["floatingCombatTextCombatDamageDirectionalOffset"] = "Amount to offset directional damage numbers when they start", 440 | ["floatingCombatTextCombatDamageDirectionalScale"] = "Directional damage numbers movement scale (0 = no directional numbers)", 441 | ["floatingCombatTextCombatLogPeriodicSpells"] = "Display damage caused by periodic effects", 442 | ["floatingCombatTextPetMeleeDamage"] = "Display pet melee damage in the world", 443 | ["floatingCombatTextPetSpellDamage"] = "Display pet spell damage in the world", 444 | ["floatingCombatTextCombatHealing"] = "Display amount of healing you did to the target", 445 | ["floatingCombatTextCombatHealingAbsorbTarget"] = "Display amount of shield added to the target.", 446 | ["floatingCombatTextCombatHealingAbsorbSelf"] = "Shows a message when you gain a shield.", 447 | ["enableFloatingCombatText"] = "Whether to show floating combat text", 448 | ["floatingCombatTextFloatMode"] = "The combat text float mode", 449 | ["enablePetBattleFloatingCombatText"] = "Whether to show floating combat text for pet battles", 450 | ["floatingCombatTextCombatState"] = "", 451 | ["floatingCombatTextDodgeParryMiss"] = "", 452 | ["floatingCombatTextDamageReduction"] = "", 453 | ["floatingCombatTextRepChanges"] = "", 454 | ["floatingCombatTextReactives"] = "", 455 | ["floatingCombatTextFriendlyHealers"] = "", 456 | ["floatingCombatTextComboPoints"] = "", 457 | ["floatingCombatTextLowManaHealth"] = "", 458 | ["floatingCombatTextEnergyGains"] = "", 459 | ["floatingCombatTextPeriodicEnergyGains"] = "", 460 | ["floatingCombatTextHonorGains"] = "", 461 | ["floatingCombatTextAuras"] = "", 462 | ["floatingCombatTextAllSpellMechanics"] = "", 463 | ["floatingCombatTextSpellMechanics"] = "", 464 | ["floatingCombatTextSpellMechanicsOther"] = "", 465 | ["xpBarText"] = "Whether the XP bar shows the numeric experience value", 466 | ["statusText"] = "Whether the status bars show numeric health/mana values", 467 | ["statusTextDisplay"] = "Whether numeric health/mana values are shown as raw values or percentages, or both", 468 | ["showPartyBackground"] = "Show a background behind party members", 469 | ["partyBackgroundOpacity"] = "The opacity of the party background", 470 | ["buffDurations"] = "Whether to show buff durations", 471 | ["showToastOnline"] = "Whether to show Battle.net message for friend coming online", 472 | ["showToastOffline"] = "Whether to show Battle.net message for friend going offline", 473 | ["showToastBroadcast"] = "Whether to show Battle.net message for broadcasts", 474 | ["showToastFriendRequest"] = "Whether to show Battle.net message for friend requests", 475 | ["showToastConversation"] = "Whether to show Battle.net message for conversations", 476 | ["showToastWindow"] = "Whether to show Battle.net system messages in a toast window", 477 | ["toastDuration"] = "How long to display Battle.net toast windows, in seconds", 478 | ["mouseInvertYaw"] = "", 479 | ["mouseInvertPitch"] = "", 480 | ["cameraBobbing"] = "", 481 | ["cameraHeadMovementStrength"] = "", 482 | ["cameraHeadMovementWhileStanding"] = "", 483 | ["cameraHeadMovementRange"] = "", 484 | ["cameraHeadMovementSmoothRate"] = "", 485 | ["cameraDynamicPitch"] = "", 486 | ["cameraDynamicPitchBaseFovPad"] = "", 487 | ["cameraDynamicPitchBaseFovPadFlying"] = "", 488 | ["cameraDynamicPitchSmartPivotCutoffDist"] = "", 489 | ["cameraOverShoulder"] = "", 490 | ["cameraLockedTargetFocusing"] = "", 491 | ["cameraDistanceMoveSpeed"] = "", 492 | ["cameraPitchMoveSpeed"] = "", 493 | ["cameraYawMoveSpeed"] = "", 494 | ["cameraBobbingSmoothSpeed"] = "", 495 | ["cameraFoVSmoothSpeed"] = "", 496 | ["cameraDistanceSmoothSpeed"] = "", 497 | ["cameraGroundSmoothSpeed"] = "", 498 | ["cameraHeightSmoothSpeed"] = "", 499 | ["cameraPitchSmoothSpeed"] = "", 500 | ["cameraTargetSmoothSpeed"] = "", 501 | ["cameraYawSmoothSpeed"] = "", 502 | ["cameraFlyingMountHeightSmoothSpeed"] = "", 503 | ["cameraViewBlendStyle"] = "", 504 | ["cameraView"] = "", 505 | ["camerasmooth"] = "", 506 | ["cameraSmoothPitch"] = "", 507 | ["cameraSmoothYaw"] = "", 508 | ["cameraSmoothStyle"] = "", 509 | ["cameraSmoothTrackingStyle"] = "", 510 | ["cameraCustomViewSmoothing"] = "", 511 | ["cameraSmoothNeverIdleDelay"] = "", 512 | ["cameraSmoothNeverIdleFactor"] = "", 513 | ["cameraSmoothNeverStopDelay"] = "", 514 | ["cameraSmoothNeverStopFactor"] = "", 515 | ["cameraSmoothNeverTrackDelay"] = "", 516 | ["cameraSmoothNeverTrackFactor"] = "", 517 | ["cameraSmoothNeverMoveDelay"] = "", 518 | ["cameraSmoothNeverMoveFactor"] = "", 519 | ["cameraSmoothNeverStrafeDelay"] = "", 520 | ["cameraSmoothNeverStrafeFactor"] = "", 521 | ["cameraSmoothNeverTurnDelay"] = "", 522 | ["cameraSmoothNeverTurnFactor"] = "", 523 | ["cameraSmoothNeverFearDelay"] = "", 524 | ["cameraSmoothNeverFearFactor"] = "", 525 | ["cameraSmoothViewDataNeverDistanceDelay"] = "", 526 | ["cameraSmoothViewDataNeverDistanceFactor"] = "", 527 | ["cameraSmoothViewDataNeverPitchDelay"] = "", 528 | ["cameraSmoothViewDataNeverPitchFactor"] = "", 529 | ["cameraSmoothViewDataNeverYawDelay"] = "", 530 | ["cameraSmoothViewDataNeverYawFactor"] = "", 531 | ["cameraTerrainTiltNeverFallAbsorb"] = "", 532 | ["cameraTerrainTiltNeverFallDelay"] = "", 533 | ["cameraTerrainTiltNeverFallFactor"] = "", 534 | ["cameraTerrainTiltNeverFearAbsorb"] = "", 535 | ["cameraTerrainTiltNeverFearDelay"] = "", 536 | ["cameraTerrainTiltNeverFearFactor"] = "", 537 | ["cameraTerrainTiltNeverIdleAbsorb"] = "", 538 | ["cameraTerrainTiltNeverIdleDelay"] = "", 539 | ["cameraTerrainTiltNeverIdleFactor"] = "", 540 | ["cameraTerrainTiltNeverJumpAbsorb"] = "", 541 | ["cameraTerrainTiltNeverJumpDelay"] = "", 542 | ["cameraTerrainTiltNeverJumpFactor"] = "", 543 | ["cameraTerrainTiltNeverMoveAbsorb"] = "", 544 | ["cameraTerrainTiltNeverMoveDelay"] = "", 545 | ["cameraTerrainTiltNeverMoveFactor"] = "", 546 | ["cameraTerrainTiltNeverStrafeAbsorb"] = "", 547 | ["cameraTerrainTiltNeverStrafeDelay"] = "", 548 | ["cameraTerrainTiltNeverStrafeFactor"] = "", 549 | ["cameraTerrainTiltNeverSwimAbsorb"] = "", 550 | ["cameraTerrainTiltNeverSwimDelay"] = "", 551 | ["cameraTerrainTiltNeverSwimFactor"] = "", 552 | ["cameraTerrainTiltNeverTaxiAbsorb"] = "", 553 | ["cameraTerrainTiltNeverTaxiDelay"] = "", 554 | ["cameraTerrainTiltNeverTaxiFactor"] = "", 555 | ["cameraTerrainTiltNeverTrackAbsorb"] = "", 556 | ["cameraTerrainTiltNeverTrackDelay"] = "", 557 | ["cameraTerrainTiltNeverTrackFactor"] = "", 558 | ["cameraTerrainTiltNeverTurnAbsorb"] = "", 559 | ["cameraTerrainTiltNeverTurnDelay"] = "", 560 | ["cameraTerrainTiltNeverTurnFactor"] = "", 561 | ["cameraSmoothSmartIdleDelay"] = "", 562 | ["cameraSmoothSmartIdleFactor"] = "", 563 | ["cameraSmoothSmartStopDelay"] = "", 564 | ["cameraSmoothSmartStopFactor"] = "", 565 | ["cameraSmoothSmartTrackDelay"] = "", 566 | ["cameraSmoothSmartTrackFactor"] = "", 567 | ["cameraSmoothSmartMoveDelay"] = "", 568 | ["cameraSmoothSmartMoveFactor"] = "", 569 | ["cameraSmoothSmartStrafeDelay"] = "", 570 | ["cameraSmoothSmartStrafeFactor"] = "", 571 | ["cameraSmoothSmartTurnDelay"] = "", 572 | ["cameraSmoothSmartTurnFactor"] = "", 573 | ["cameraSmoothSmartFearDelay"] = "", 574 | ["cameraSmoothSmartFearFactor"] = "", 575 | ["cameraSmoothViewDataSmartDistanceDelay"] = "", 576 | ["cameraSmoothViewDataSmartDistanceFactor"] = "", 577 | ["cameraSmoothViewDataSmartPitchDelay"] = "", 578 | ["cameraSmoothViewDataSmartPitchFactor"] = "", 579 | ["cameraSmoothViewDataSmartYawDelay"] = "", 580 | ["cameraSmoothViewDataSmartYawFactor"] = "", 581 | ["cameraTerrainTiltSmartFallAbsorb"] = "", 582 | ["cameraTerrainTiltSmartFallDelay"] = "", 583 | ["cameraTerrainTiltSmartFallFactor"] = "", 584 | ["cameraTerrainTiltSmartIdleFactor"] = "", 585 | ["cameraTerrainTiltSmartJumpAbsorb"] = "", 586 | ["cameraTerrainTiltSmartJumpDelay"] = "", 587 | ["cameraTerrainTiltSmartJumpFactor"] = "", 588 | ["cameraTerrainTiltSmartMoveAbsorb"] = "", 589 | ["cameraTerrainTiltSmartMoveDelay"] = "", 590 | ["cameraTerrainTiltSmartMoveFactor"] = "", 591 | ["cameraTerrainTiltSmartStrafeAbsorb"] = "", 592 | ["cameraTerrainTiltSmartStrafeDelay"] = "", 593 | ["cameraTerrainTiltSmartStrafeFactor"] = "", 594 | ["cameraTerrainTiltSmartSwimAbsorb"] = "", 595 | ["cameraTerrainTiltSmartSwimDelay"] = "", 596 | ["cameraTerrainTiltSmartSwimFactor"] = "", 597 | ["cameraTerrainTiltSmartTaxiAbsorb"] = "", 598 | ["cameraTerrainTiltSmartTaxiDelay"] = "", 599 | ["cameraTerrainTiltSmartTaxiFactor"] = "", 600 | ["cameraTerrainTiltSmartTrackAbsorb"] = "", 601 | ["cameraTerrainTiltSmartTrackDelay"] = "", 602 | ["cameraTerrainTiltSmartTrackFactor"] = "", 603 | ["cameraTerrainTiltSmartTurnAbsorb"] = "", 604 | ["cameraTerrainTiltSmartTurnDelay"] = "", 605 | ["cameraTerrainTiltSmartTurnFactor"] = "", 606 | ["cameraSmoothAlwaysIdleDelay"] = "", 607 | ["cameraSmoothAlwaysIdleFactor"] = "", 608 | ["cameraSmoothAlwaysStopDelay"] = "", 609 | ["cameraSmoothAlwaysStopFactor"] = "", 610 | ["cameraSmoothAlwaysTrackDelay"] = "", 611 | ["cameraSmoothAlwaysTrackFactor"] = "", 612 | ["cameraSmoothAlwaysMoveDelay"] = "", 613 | ["cameraSmoothAlwaysMoveFactor"] = "", 614 | ["cameraSmoothAlwaysStrafeDelay"] = "", 615 | ["cameraSmoothAlwaysStrafeFactor"] = "", 616 | ["cameraSmoothAlwaysTurnDelay"] = "", 617 | ["cameraSmoothAlwaysTurnFactor"] = "", 618 | ["cameraSmoothAlwaysFearDelay"] = "", 619 | ["cameraSmoothAlwaysFearFactor"] = "", 620 | ["cameraSmoothViewDataAlwaysDistanceDelay"] = "", 621 | ["cameraSmoothViewDataAlwaysDistanceFactor"] = "", 622 | ["camerASmoothViewDataAlwaysPitchDelay"] = "", 623 | ["cameraSmoothViewDataAlwaysPitchFactor"] = "", 624 | ["cameraSmoothViewDataAlwaysYawDelay"] = "", 625 | ["cameraSmoothViewDataAlwaysYawFactor"] = "", 626 | ["cameraTerrainTiltAlwaysFallAbsorb"] = "", 627 | ["cameraTerrainTiltAlwaysFallDelay"] = "", 628 | ["cameraTerrainTiltAlwaysFallFactor"] = "", 629 | ["cameraTerrainTiltAlwaysFearAbsorb"] = "", 630 | ["cameraTerrainTiltAlwaysFearDelay"] = "", 631 | ["cameraTerrainTiltAlwaysFearFactor"] = "", 632 | ["cameraTerrainTiltAlwaysIdleAbsorb"] = "", 633 | ["cameraTerrainTiltAlwaysIdleDelay"] = "", 634 | ["cameraTerrainTiltAlwaysIdleFactor"] = "", 635 | ["cameraTerrainTiltAlwaysJumpAbsorb"] = "", 636 | ["cameraTerrainTiltAlwaysJumpDelay"] = "", 637 | ["cameraTerrainTiltAlwaysJumpFactor"] = "", 638 | ["cameraTerrainTiltAlwaysMoveAbsorb"] = "", 639 | ["cameraTerrainTiltAlwaysMoveDelay"] = "", 640 | ["cameraTerrainTiltAlwaysMoveFactor"] = "", 641 | ["cameraTerrainTiltAlwaysStrafeAbsorb"] = "", 642 | ["cameraTerrainTiltAlwaysStrafeDelay"] = "", 643 | ["cameraTerrainTiltAlwaysStrafeFactor"] = "", 644 | ["cameraTerrainTiltAlwaysSwimAbsorb"] = "", 645 | ["cameraTerrainTiltAlwaysSwimDelay"] = "", 646 | ["cameraTerrainTiltAlwaysSwimFactor"] = "", 647 | ["cameraTerrainTiltAlwaysTaxiAbsorb"] = "", 648 | ["cameraTerrainTiltAlwaysTaxiDelay"] = "", 649 | ["cameraTerrainTiltAlwaysTaxiFactor"] = "", 650 | ["cameraTerrainTiltAlwaysTrackAbsorb"] = "", 651 | ["cameraTerrainTiltAlwaysTrackDelay"] = "", 652 | ["cameraTerrainTiltAlwaysTrackFactor"] = "", 653 | ["cameraTerrainTiltAlwaysTurnAbsorb"] = "", 654 | ["cameraTerrainTiltAlwaysTurnDelay"] = "", 655 | ["cameraTerrainTiltAlwaysTurnFactor"] = "", 656 | ["cameraSmoothSplineIdleDelay"] = "", 657 | ["cameraSmoothSplineIdleFactor"] = "", 658 | ["cameraSmoothSplineStopDelay"] = "", 659 | ["cameraSmoothSplineStopFactor"] = "", 660 | ["cameraSmoothSplineTrackDelay"] = "", 661 | ["cameraSmoothSplineTrackFactor"] = "", 662 | ["cameraSmoothSplineMoveDelay"] = "", 663 | ["cameraSmoothSplineMoveFactor"] = "", 664 | ["cameraSmoothSplineStrafeDelay"] = "", 665 | ["cameraSmoothSplineStrafeFactor"] = "", 666 | ["cameraSmoothSplineTurnDelay"] = "", 667 | ["cameraSmoothSplineTurnFactor"] = "", 668 | ["cameraSmoothSplineFearDelay"] = "", 669 | ["cameraSmoothSplineFearFactor"] = "", 670 | ["cameraSmoothViewDataSplineDistanceDelay"] = "", 671 | ["cameraSmoothViewDataSplineDistanceFactor"] = "", 672 | ["cameraSmoothViewDataSplinePitchDelay"] = "", 673 | ["cameraSmoothViewDataSplinePitchFactor"] = "", 674 | ["cameraSmoothViewDataSplineYawDelay"] = "", 675 | ["cameraSmoothViewDataSplineYawFactor"] = "", 676 | ["cameraTerrainTiltSplineFallAbsorb"] = "", 677 | ["cameraTerrainTiltSplineFallDelay"] = "", 678 | ["cameraTerrainTiltSplineFallFactor"] = "", 679 | ["cameraTerrainTiltSplineFearAbsorb"] = "", 680 | ["cameraTerrainTiltSplineFearDelay"] = "", 681 | ["cameraTerrainTiltSplineFearFactor"] = "", 682 | ["cameraTerrainTiltSplineIdleAbsorb"] = "", 683 | ["cameraTerrainTiltSplineIdleDelay"] = "", 684 | ["cameraTerrainTiltSplineIdleFactor"] = "", 685 | ["cameraTerrainTiltSplineJumpAbsorb"] = "", 686 | ["cameraTerrainTiltSplineJumpDelay"] = "", 687 | ["cameraTerrainTiltSplineJumpFactor"] = "", 688 | ["cameraTerrainTiltSplineMoveAbsorb"] = "", 689 | ["cameraTerrainTiltSplineMoveDelay"] = "", 690 | ["cameraTerrainTiltSplineMoveFactor"] = "", 691 | ["cameraTerrainTiltSplineStrafeAbsorb"] = "", 692 | ["cameraTerrainTiltSplineStrafeDelay"] = "", 693 | ["cameraTerrainTiltSplineStrafeFactor"] = "", 694 | ["cameraTerrainTiltSplineSwimAbsorb"] = "", 695 | ["cameraTerrainTiltSplineSwimDelay"] = "", 696 | ["cameraTerrainTiltSplineSwimFactor"] = "", 697 | ["cameraTerrainTiltSplineTaxiAbsorb"] = "", 698 | ["cameraTerrainTiltSplineTaxiDelay"] = "", 699 | ["cameraTerrainTiltSplineTaxiFactor"] = "", 700 | ["cameraTerrainTiltSplineTrackAbsorb"] = "", 701 | ["cameraTerrainTiltSplineTrackDelay"] = "", 702 | ["cameraTerrainTiltSplinetrackFactor"] = "", 703 | ["cameraTerrainTiltSplineTurnAbsorb"] = "", 704 | ["cameraTerrainTiltSplineTurnDelay"] = "", 705 | ["cameraTerrainTiltSplineTurnFactor"] = "", 706 | ["cameraSmoothSmarterIdleDelay"] = "", 707 | ["cameraSmoothSmarterIdleFactor"] = "", 708 | ["cameraSmoothSmarterStopDelay"] = "", 709 | ["cameraSmoothSmarterStopFactor"] = "", 710 | ["cameraSmoothSmarterTrackDelay"] = "", 711 | ["cameraSmoothSmarterTrackFactor"] = "", 712 | ["cameraSmoothSmarterMoveDelay"] = "", 713 | ["cameraSmoothSmarterMoveFactor"] = "", 714 | ["cameraSmoothSmarterStrafeDelay"] = "", 715 | ["cameraSmoothSmarterStrafeFactor"] = "", 716 | ["cameraSmoothSmarterTurnDelay"] = "", 717 | ["cameraSmoothSmarterTurnFactor"] = "", 718 | ["cameraSmoothSmarterFearDelay"] = "", 719 | ["cameraSmoothSmarterFearFactor"] = "", 720 | ["cameraSmoothViewDataSmarterDistanceDelay"] = "", 721 | ["cameraSmoothViewDataSmarterDistanceFactor"] = "", 722 | ["cameraSmoothViewDataSmarterPitchDelay"] = "", 723 | ["cameraSmoothViewDataSmarterPitchFactor"] = "", 724 | ["cameraSmoothViewDataSmarterYawDelay"] = "", 725 | ["cameraSmoothViewDataSmarterYawFactor"] = "", 726 | ["cameraTerrainTiltSmarterFallAbsorb"] = "", 727 | ["cameraTerrainTiltSmarterFallDelay"] = "", 728 | ["cameraTerrainTiltSmarterFallFactor"] = "", 729 | ["cameraTerrainTiltSmarterFearAbsorb"] = "", 730 | ["cameraTerrainTiltSmarterFearDelay"] = "", 731 | ["cameraTerrainTiltSmarterFearFactor"] = "", 732 | ["cameraTerrainTiltSmarterIdleAbsorb"] = "", 733 | ["cameraTerrainTiltSmarterIdleDelay"] = "", 734 | ["cameraTerrainTiltSmarterIdleFactor"] = "", 735 | ["cameraTerrainTiltSmarterJumpAbsorb"] = "", 736 | ["cameraTerrainTiltSmarterJumpDelay"] = "", 737 | ["cameraTerrainTiltSmarterJumpFactor"] = "", 738 | ["cameraTerrainTiltSmarterMoveAbsorb"] = "", 739 | ["cameraTerrainTiltSmarterMoveDelay"] = "", 740 | ["cameraTerrainTiltSmarterMoveFactor"] = "", 741 | ["cameraTerrainTiltSmarterStrafeAbsorb"] = "", 742 | ["cameraTerrainTiltSmarterStrafeDelay"] = "", 743 | ["cameraTerrainTiltSmarterStrafeFactor"] = "", 744 | ["cameraTerrainTiltSmarterSwimAbsorb"] = "", 745 | ["cameraTerrainTiltSmarterSwimDelay"] = "", 746 | ["cameraTerrainTiltSmarterSwimFactor"] = "", 747 | ["cameraTerrainTiltSmarterTaxiAbsorb"] = "", 748 | ["cameraTerrainTiltSmarterTaxiDelay"] = "", 749 | ["cameraTerrainTiltSmarterTaxiFactor"] = "", 750 | ["cameraTerrainTiltSmarterTrackAbsorb"] = "", 751 | ["cameraTerrainTiltSmarterTrackDelay"] = "", 752 | ["cameraTerrainTiltSmarterTrackFactor"] = "", 753 | ["cameraTerrainTiltSmarterTurnAbsorb"] = "", 754 | ["cameraTerrainTiltSmarterTurnDelay"] = "", 755 | ["cameraTerrainTiltSmarterTurnFactor"] = "", 756 | ["cameraTerrainTilt"] = "", 757 | ["cameraTerrainTiltTimeMin"] = "", 758 | ["cameraTerrainTiltTimeMax"] = "", 759 | ["cameraWaterCollision"] = "", 760 | ["cameraHeightIgnoreStandState"] = "", 761 | ["cameraPivot"] = "", 762 | ["cameraPivotDXMax"] = "", 763 | ["cameraPivotDYMin"] = "", 764 | ["cameraDive"] = "", 765 | ["cameraSurfacePitch"] = "", 766 | ["cameraSubmergePitch"] = "", 767 | ["cameraSurfaceFinalPitch"] = "", 768 | ["cameraSubmergeFinalpitch"] = "", 769 | ["cameraDistanceMax"] = "", 770 | ["cameraDistanceMaxFactor"] = "", 771 | ["cameraPitchSmoothMin"] = "", 772 | ["cameraPitchSmoothMax"] = "", 773 | ["cameraYawSmoothMin"] = "", 774 | ["cameraYawSmoothMax"] = "", 775 | ["cameraSmoothTimeMin"] = "", 776 | ["cameraSmoothTimeMax"] = "", 777 | ["UberTooltips"] = "Show verbose tooltips", 778 | ["showTutorials"] = "display tutorials", 779 | ["showNPETutorials"] = "display NPE tutorials", 780 | ["unitHighlights"] = "Whether the highlight circle around units should be displayed", 781 | ["enablePVPNotifyAFK"] = "The ability to shutdown the AFK notification system", 782 | ["serviceTypeFilter"] = "Which trainer services to show", 783 | ["autojoinPartyVoice"] = "Automatically join the voice session in party/raid chat", 784 | ["autojoinBGVoice"] = "Automatically join the voice session in battleground chat", 785 | ["PushToTalkSound"] = "Play a sound when voice recording activates and deactivates", 786 | ["talentFrameShown"] = "The talent UI has been shown", 787 | ["auctionDisplayOnCharacter"] = "Show auction items on the dress-up paperdoll", 788 | ["addFriendInfoShown"] = "The info for Add Friend has been shown", 789 | ["pendingInviteInfoShown"] = "The info for pending invites has been shown", 790 | ["timeMgrUseMilitaryTime"] = "Toggles the display of either 12 or 24 hour time", 791 | ["timeMgrUseLocalTime"] = "Toggles the use of either the realm time or your system time", 792 | ["timeMgrAlarmTime"] = "The time manager's alarm time in minutes", 793 | ["timeMgrAlarmMessage"] = "The time manager's alarm message", 794 | ["timeMgrAlarmEnabled"] = "Toggles whether or not the time manager's alarm will go off", 795 | ["combatLogRetentionTime"] = "The maximum duration in seconds to retain combat log entries", 796 | ["combatLogReducedRetentionTime"] = "The maximum duration in seconds to retain combat log entries when we're low on memory", 797 | ["predictedHealth"] = "Whether or not to use predicted health values in the UI", 798 | ["predictedPower"] = "Whether or not to use predicted power values in the UI", 799 | ["threatWorldText"] = "Whether or not to show threat floaters in combat", 800 | ["threatShowNumeric"] = "Whether or not to show numeric threat on the target and focus frames", 801 | ["threatPlaySounds"] = "Whether or not to sounds when certain threat transitions occur", 802 | ["violenceLevel"] = "Sets the violence level of the game", 803 | ["lfgListSearchLanguages"] = "A simple bitfield for what languages we want to search in.", 804 | ["lastTalkedToGM"] = "Stores the last GM someone was talking to in case they reload the UI while the GM chat window is open.", 805 | ["autoCompleteResortNamesOnRecency"] = "Shows people you recently spoke with higher up on the AutoComplete list.", 806 | ["autoCompleteWhenEditingFromCenter"] = "If you edit a name by inserting characters into the center, a smarter auto-complete will occur.", 807 | ["autoCompleteUseContext"] = "The system will, for example, only show people in your guild when you are typing /gpromote. Names will also never be removed.", 808 | ["colorChatNamesByClass"] = "If enabled, the name of a player speaking in chat will be colored according to his class.", 809 | ["dontShowEquipmentSetsOnItems"] = "Don't show which equipment sets an item is associated with", 810 | ["ActionButtonUseKeyDown"] = "Activate the action button on a keydown", 811 | ["petJournalFilters"] = "Bitfield for which collected filters are applied in the pet journal", 812 | ["petJournalTypeFilters"] = "Bitfield for which type filters are applied in the pet journal", 813 | ["petJournalSourceFilters"] = "Bitfield for which source filters are applied in the pet journal", 814 | ["petJournalSort"] = "Sorting value for the pet journal", 815 | ["mountJournalFilters"] = "Bitfield for which collected filters are applied in the mount journal", 816 | ["mountJournalSourceFilters"] = "Bitfield for which source filters are applied in the mount journal", 817 | ["toyBoxCollectedFilters"] = "Bitfield for which collected filters are applied in the toybox", 818 | ["toyBoxSourceFilters"] = "Bitfield for which source filters are applied in the toybox", 819 | ["heirloomCollectedFilters"] = "Bitfield for which collected filters are applied in the heirloom journal", 820 | ["heirloomSourceFilters"] = "Bitfield for which source filters are applied in the heirloom journal", 821 | ["transmogrifySourceFilters"] = "Bitfield for which source filters are applied in the wardrobe at the transmogrifier", 822 | ["wardrobeSourceFilters"] = "Bitfield for which source filters are applied in the wardrobe in the collection journal", 823 | ["transmogrifyShowCollected"] = "Whether to show collected transmogs in the at the transmogrifier", 824 | ["transmogrifyShowUncollected"] = "Whether to show uncollected transmogs in the at the transmogrifier", 825 | ["wardrobeShowCollected"] = "Whether to show collected transmogs in the wardrobe", 826 | ["wardrobeShowUncollected"] = "Whether to show uncollected transmogs in the wardrobe", 827 | ["petJournalTab"] = "Stores the last tab the pet journal was opened to", 828 | ["displayedRAFFriendInfo"] = "Stores whether we already told a recruited person about their new BattleTag friend", 829 | ["Outline"] = "Outline Mode", 830 | ["EmitterCombatRange"] = "Range to stop shoulder/weapon emissions during combat", 831 | ["NonEmitterCombatRange"] = "Range to stop shoulder/weapon emissions outside combat", 832 | ["advJournalLastOpened"] = "Last time the Adventure Journal opened", 833 | ["hideAdventureJournalAlerts"] = "Hide alerts shown on the Adventure Journal Microbutton", 834 | ["seenAsiaCharacterUpgradePopup"] = "Seen the free character upgrade popup (Asia)", 835 | ["showSpectatorTeamCircles"] = "Determines if the team color circles are visible while spectating or commentating a wargame", 836 | ["flashErrorMessageRepeats"] = "Flashes the center screen red error text if the same message is fired.", 837 | ["outdoorMinAltitudeDistance"] = "Minimum altitude distance for outdoor objects when you are also outdoors before the altitude difference marker displays", 838 | ["spellClutter"] = "Enables/Disables spell clutter", 839 | ["spellClutterRangeConstant"] = "How many yards before the priority is doubled (min 1.0)", 840 | ["spellClutterPlayerScalarMultiplier"] = "Increases number of effects on \"interesting\" targets multiplicatively (min 0.1)", 841 | ["spellClutterDefaultTargetScalar"] = "Starting target scalar value (min 0.1)", 842 | ["spellClutterPartySizeScalar"] = "Scales the targetScalar by how different the party size is from this (min 1)", 843 | ["spellClutterHostileScalar"] = "Scalar we apply to the hostile creature spells (min 0.001)", 844 | ["spellClutterMinSpellCount"] = "Min spells on a target before we apply clutter logic (min 0)", 845 | ["unitClutter"] = "Enables/Disables unit clutter", 846 | ["unitClutterInstancesOnly"] = "Whether or not to use unit clutter in instances only (0 or 1)", 847 | ["unitClutterPlayerThreshold"] = "The number of players that have to be nearby to trigger unit clutter", 848 | ["nameplateOverlapH"] = "Percentage amount for horizontal overlap of nameplates", 849 | ["nameplateOverlapV"] = "Percentage amount for vertical overlap of nameplates", 850 | ["TargetNearestUseOld"] = "Use pre-7.0 'nearest target' functionality", 851 | ["TargetPriorityIncludeBehind"] = "If set, include target's behind the player in priority target selection", 852 | ["TargetPriorityAllowAnyOnScreen"] = "If set, and no 100% correct target is available, allow selecting any valid in-range target (2 = also out-of-range)", 853 | ["TargetPriorityHoldHighlightDelay"] = "Delay in Milliseconds before priority target highlight starts when holding the button", 854 | ["TargetPriorityCombatLock"] = "1=Lock to in-combat targets when starting from an in-combat target. 2=Further restrict to in-combat with player.", 855 | ["TargetPriorityCombatLockHighlight"] = "1=Lock to in-combat targets when starting from an in-combat target. 2=Further restrict to in-combat with player. (while doing hold-to-target)", 856 | ["TargetPriorityPvp"] = "When in pvp, give higher priority to players and important pvp targets (2 = all pvp targets, 3 = players only)", 857 | ["TargetPriorityPvpLock"] = "Lock to important pvp targets when starting from a pvp target.", 858 | ["TargetPriorityPvpLockHighlight"] = "Lock to players when starting from a player target in pvp. (while doing hold-to-target)", 859 | ["TargetPriorityValueBank"] = "Selects the scoring values bank for calculating target priority order", 860 | ["ffxGlow"] = "full screen glow effect", 861 | ["PraiseTheSun"] = "", 862 | ["uiScale"] = "The current UI scale", 863 | ["useUiScale"] = "Whether or not the UI scale should be used", 864 | ["ObjectSelectionCircle"] = "", 865 | ["outlineMouseOverFadeDuration"] = "", 866 | ["outlineSelectionFadeDuration"] = "", 867 | ["bodyQuota"] = "Maximum number of componented bodies seen at once", 868 | ["GameObjForceMouseOver"] = "0=off 1=on", 869 | ["MaxObservedPetBattles"] = "Maximum number of observed pet battles", 870 | ["smoothUnitPhasing"] = "The client will try to smoothly switch between the same on model different phases.", 871 | ["smoothUnitPhasingDistThreshold"] = "Distance threshold to active smooth unit phasing.", 872 | ["smoothUnitPhasingUnseenPurgatoryTimeMs"] = "Time to keep unit displays in purgatory before letting go of them, if they were just unseen.", 873 | ["smoothUnitPhasingDestroyedPurgatoryTimeMs"] = "Time to keep unit displays in purgatory before letting go of them, if they were destroyed", 874 | ["smoothUnitPhasingActorPurgatoryTimeMs"] = "Time to keep client-actor displays in purgatory before letting go of them, if they were despawned", 875 | ["smoothUnitPhasingEnableAlive"] = "Use units that have not despawn yet if they match, in hopes the despawn message will come later.", 876 | ["smoothUnitPhasingAliveTimeoutMs"] = "Time to wait for an alive unit to get it's despawn message", 877 | ["smoothUnitPhasingVehicleExtraTimeoutMs"] = "Extra time to wait before releasing a vehicle, after it has smooth phased. This allows it's passengers to smooth phase as well.", 878 | ["SplineOpt"] = "toggles use of spline coll optimization[\"blockTrades\"] = Whether to automatically block trade requests", 879 | ["blockChannelInvites"] = "Whether to automatically block chat channel invites", 880 | ["autoLootDefault"] = "Automatically loot items when the loot window opens", 881 | ["autoLootRate"] = "Rate in milliseconds to tick auto loot", 882 | ["assistAttack"] = "Whether to start attacking after an assist", 883 | ["autoSelfCast"] = "Whether spells should automatically be cast on you if you don't have a valid target", 884 | ["stopAutoAttackOnTargetChange"] = "Whether to stop attacking when changing targets", 885 | ["showVKeyCastbarOnlyOnTarget"] = "", 886 | ["showVKeyCastbarSpellName"] = "", 887 | ["displaySpellActivationOverlays"] = "Whether to display Spell Activation Overlays (a.k.a. Spell Alerts)", 888 | ["lossOfControl"] = "Enables loss of control spell banner", 889 | ["lossOfControlFull"] = "Setting for Loss of Control - Full Loss", 890 | ["lossOfControlInterrupt"] = "Setting for Loss of Control - Interrupt", 891 | ["lossOfControlSilence"] = "Setting for Loss of Control - Silence", 892 | ["lossOfControlDisarm"] = "Setting for Loss of Control - Disarm", 893 | ["lossOfControlRoot"] = "Setting for Loss of Control - Root", 894 | ["minimapZoom"] = "The current outdoor minimap zoom level", 895 | ["minimapInsideZoom"] = "The current indoor minimap zoom level", 896 | ["showHonorAsExperience"] = "Show the honor bar as a regular experience bar in place of rep", 897 | ["showQuestTrackingTooltips"] = "Displays quest tracking information in unit and object tooltips", 898 | ["questLogCollapseHeaderFilter"] = "bit filed for saving off the state of the headers in Quest Log", 899 | ["autoQuestPopUps"] = "Saves current pop-ups for quests that are automatically acquired or completed.", 900 | ["questLogOpen"] = "Whether the quest log appears the side of the windowed map. ", 901 | ["showQuestObjectivesOnMap"] = "Shows quest POIs on the main map.", 902 | ["trackedQuests"] = "Internal cvar for saving automatically tracked quests in order", 903 | ["hardTrackedQuests"] = "Internal cvar for saving hard (user manually selected) tracked quests in order", 904 | ["trackedWorldQuests"] = "Internal cvar for saving tracked world quests", 905 | ["hardTrackedWorldQuests"] = "Internal cvar for saving hard tracked world quests", 906 | ["trackedAchievements"] = "Internal cvar for saving tracked achievements in order", 907 | ["lockedWorldMap"] = "Whether the world map is locked when sized down", 908 | ["worldMapOpacity"] = "Opacity for the world map when sized down", 909 | ["mapFade"] = "Whether to fade out the world map when moving", 910 | ["guildRewardsUsable"] = "Show usable guild rewards only", 911 | ["guildRewardsCategory"] = "Show category of guild rewards", 912 | ["friendsViewButtons"] = "Whether to show the friends list view buttons", 913 | ["friendsSmallView"] = "Whether to use smaller buttons in the friends list", 914 | ["nameplateResourceOnTarget"] = "Nameplate class resource overlay mode. 0=self, 1=target", 915 | ["showPartyPets"] = "Whether to show pets in the party UI", 916 | ["showArenaEnemyFrames"] = "Show arena enemy frames while in an Arena", 917 | ["showArenaEnemyCastbar"] = "Show the spell enemies are casting on the Arena Enemy frames", 918 | ["showArenaEnemyPets"] = "Show the enemy team's pets on the ArenaEnemy frames", 919 | ["fullSizeFocusFrame"] = "Increases the size of the focus frame to that of the target frame", 920 | ["useCompactPartyFrames"] = "Use the new raid frames for parties", 921 | ["showDispelDebuffs"] = "Show only Debuffs that the player can dispel. Only applies to raids.", 922 | ["showCastableBuffs"] = "Show only Buffs the player can cast. Only applies to raids.", 923 | ["noBuffDebuffFilterOnTarget"] = "Do not filter buffs or debuffs at all on targets", 924 | ["cameraSavedDistance"] = "", 925 | ["cameraSavedVehicleDistance"] = "", 926 | ["cameraSavedPetBattleDistance"] = "", 927 | ["cameraSavedPitch"] = "", 928 | ["raidOptionSortMode"] = "The way to sort raid frames", 929 | ["raidOptionKeepGroupsTogether"] = "The way to group raid frames", 930 | ["raidOptionLocked"] = "Whether the raid frames are locked", 931 | ["raidOptionDisplayPets"] = "Whether to display pets on the raid frames", 932 | ["raidOptionDisplayMainTankAndAssist"] = "Whether to display main tank and main assist units in the raid frames", 933 | ["raidOptionIsShown"] = "Whether the Raid Frames are shown", 934 | ["raidFramesDisplayAggroHighlight"] = "Whether to display aggro highlights on Raid Frames", 935 | ["raidFramesDisplayOnlyDispellableDebuffs"] = "Whether to display only dispellable debuffs on Raid Frames", 936 | ["raidFramesDisplayPowerBars"] = "Whether to display mana, rage, etc. on Raid Frames", 937 | ["raidFramesPosition"] = "Where the raid frames should be placed", 938 | ["raidFramesHeight"] = "The height of the individual raid frames", 939 | ["raidFramesWidth"] = "The width of the individual raid frames", 940 | ["raidFramesHealthText"] = "How to display health text on the raid frames", 941 | ["raidOptionShowBorders"] = "Displays borders around the raid frames.", 942 | ["raidFramesDisplayClassColor"] = "Colors raid frames with the class color", 943 | ["calendarShowWeeklyHolidays"] = "Whether weekly holidays should appear in the calendar", 944 | ["calendarShowDarkmoon"] = "Whether Darkmoon Faire holidays should appear in the calendar", 945 | ["calendarShowBattlegrounds"] = "Whether Battleground holidays should appear in the calendar", 946 | ["calendarShowLockouts"] = "Whether raid lockouts should appear in the calendar", 947 | ["calendarShowResets"] = "Whether raid resets should appear in the calendar", 948 | ["nameplateShowSelf"] = "", 949 | ["nameplateShowEnemies"] = "", 950 | ["nameplateShowEnemyMinions"] = "", 951 | ["nameplateShowEnemyPets"] = "", 952 | ["nameplateShowEnemyGuardians"] = "", 953 | ["nameplateShowEnemyTotems"] = "", 954 | ["nameplateShowEnemyMinus"] = "", 955 | ["nameplateShowFriends"] = "", 956 | ["nameplateShowFriendlyMinions"] = "", 957 | ["nameplateShowFriendlyPets"] = "", 958 | ["nameplateShowFriendlyGuardians"] = "", 959 | ["nameplateShowFriendlyTotems"] = "", 960 | ["nameplateShowAll"] = "", 961 | ["showBattlefieldMinimap"] = "Whether or not the battlefield minimap is shown", 962 | ["playerStatLeftDropdown"] = "The player stat selected in the left dropdown", 963 | ["playerStatRightDropdown"] = "The player stat selected in the right dropdown", 964 | ["talentPointsSpent"] = "The player has spent a talent point", 965 | ["guildRosterView"] = "The current guild roster display mode", 966 | ["currencyTokensUnused1"] = "Currency token types marked as unused.", 967 | ["currencyTokensUnused2"] = "Currency token types marked as unused.", 968 | ["currencyTokensBackpack1"] = "Currency token types shown on backpack.", 969 | ["currencyTokensBackpack2"] = "Currency token types shown on backpack.", 970 | ["currencyCategoriesCollapsed"] = "Internal CVar for tracking collapsed currency categories.", 971 | ["showTokenFrame"] = "The token UI has been shown", 972 | ["showTokenFrameHonor"] = "The token UI has shown Honor", 973 | ["threatWarning"] = "Whether or not to show threat warning UI (0 = off, 1 = in dungeons, 2 = in party/raid, 3 = always)", 974 | ["lfgSelectedRoles"] = "Stores what roles the player is willing to take on.", 975 | ["lfdCollapsedHeaders"] = "Stores which LFD headers are collapsed.", 976 | ["lfdSelectedDungeons"] = "Stores which LFD dungeons are selected.", 977 | ["pvpSelectedRoles"] = "Stores what roles the player will fulfill in a BG.", 978 | ["autoFilledMultiCastSlots"] = "Bitfield that saves whether multi-cast slots have been automatically filled.", 979 | ["minimapTrackedInfov2"] = "Stores the minimap tracking that was active last session.", 980 | ["minimapShapeshiftTracking"] = "Stores shapeshift-specific tracking spells that were active last session.", 981 | ["showTamers"] = "If enabled, pet battle icons will be shown on world maps", 982 | ["primaryProfessionsFilter"] = "If enabled, primary profession world quests icons will be shown on world maps", 983 | ["secondaryProfessionsFilter"] = "If enabled, secondary profession world quests icons will be shown on world maps", 984 | ["questPOI"] = "If enabled, the quest POI system will be used.", 985 | ["digSites"] = "If enabled, the archaeological dig site system will be used.", 986 | ["miniWorldMap"] = "Whether or not the world map has been toggled to smaller size", 987 | ["characterFrameCollapsed"] = "Whether or not the Character Frame has been collapsed to a smaller size", 988 | ["reputationsCollapsed"] = "List of reputation categories that have been collapsed in the Reputation tab", 989 | ["guildNewsFilter"] = "Stores the guild news filters", 990 | ["lfGuildSettings"] = "Bit field of Looking For Guild player settings", 991 | ["lfGuildComment"] = "Stores the player's Looking For Guild comment", 992 | ["activeCUFProfile"] = "The last active CUF Profile.", 993 | ["lastVoidStorageTutorial"] = "Stores the last void storage tutorial the player has accepted", 994 | ["lastGarrisonMissionTutorial"] = "Stores the last garrison mission tutorial the player has accepted", 995 | ["shipyardMissionTutorialFirst"] = "Stores whether the player has accepted the first mission tutorial", 996 | ["shipyardMissionTutorialBlockade"] = "Stores whether the player has accepted the first blockade mission tutorial", 997 | ["shipyardMissionTutorialAreaBuff"] = "Stores whether the player has accepted the first area buff mission tutorial", 998 | ["orderHallMissionTutorial"] = "Stores information about which order hall mission tutorials the player has seen", 999 | ["minimapShowQuestBlobs"] = "Stores whether to show the quest blobs on the minimap.", 1000 | ["minimapShowArchBlobs"] = "Stores whether to show the quest blobs on the minimap.", 1001 | ["closedInfoFrames"] = "Bitfield for which help frames have been acknowledged by the user", 1002 | ["dangerousShipyardMissionWarningAlreadyShown"] = "Boolean indicating whether the shipyard's dangerous mission warning has been shown", 1003 | ["missingTransmogSourceInItemTooltips"] = "Whether to show if you have collected the appearance of an item but not from that item itself", 1004 | ["EJLootClass"] = "Stores the last class that loot was filtered by in the encounter journal", 1005 | ["EJLootSpec"] = "Stores the last spec that loot was filtered by in the encounter journal", 1006 | ["EJRaidDifficulty"] = "Stores the last raid difficulty viewed in the encounter journal", 1007 | ["EJDungeonDifficulty"] = "Stores the last dungeon difficulty viewed in the encounter journal", 1008 | ["transmogCurrentSpecOnly"] = "Stores whether transmogs apply to current spec instead of all specs", 1009 | ["pvpBlacklistMaps0"] = "Blacklist PVP Map", 1010 | ["pvpBlacklistMaps1"] = "Blacklist PVP Map", 1011 | ["splashScreenNormal"] = "Show normal splash screen id", 1012 | ["splashScreenBoost"] = "Show boost splash screen id ", 1013 | ["garrisonCompleteTalent"] = "", 1014 | ["garrisonCompleteTalentType"] = "", 1015 | ["nameplateMaxDistance"] = "The max distance to show nameplates.", 1016 | ["nameplateTargetBehindMaxDistance"] = "The max distance to show the target nameplate when the target is behind the camera.", 1017 | ["nameplateMotion"] = "Defines the movement/collision model for nameplates", 1018 | ["nameplateMotionSpeed"] = "Controls the rate at which nameplate animates into their target locations [0.0-1.0]", 1019 | ["nameplateGlobalScale"] = "Applies global scaling to non-self nameplates, this is applied AFTER selected, min, and max scale.", 1020 | ["nameplateMinScale"] = "The minimum scale of nameplates.", 1021 | ["nameplateMaxScale"] = "The max scale of nameplates.", 1022 | ["nameplateLargerScale"] = "An additional scale modifier for important monsters.", 1023 | ["nameplateMinScaleDistance"] = "The distance from the max distance that nameplates will reach their minimum scale.", 1024 | ["nameplateMaxScaleDistance"] = "The distance from the camera that nameplates will reach their maximum scale.", 1025 | ["nameplateMinAlpha"] = "The minimum alpha of nameplates.", 1026 | ["nameplateMaxAlpha"] = "The max alpha of nameplates.", 1027 | ["nameplateMinAlphaDistance"] = "The distance from the max distance that nameplates will reach their minimum alpha.", 1028 | ["nameplateMaxAlphaDistance"] = "The distance from the camera that nameplates will reach their maximum alpha.", 1029 | ["nameplateSelectedScale"] = "The scale of the selected nameplate.", 1030 | ["nameplateSelectedAlpha"] = "The alpha of the selected nameplate.", 1031 | ["nameplateSelfScale"] = "The scale of the self nameplate.", 1032 | ["nameplateSelfAlpha"] = "The alpha of the self nameplate.", 1033 | ["nameplateSelfBottomInset"] = "The inset from the bottom (in screen percent) that the self nameplate is clamped to.", 1034 | ["nameplateSelfTopInset"] = "The inset from the top (in screen percent) that the self nameplate is clamped to.", 1035 | ["nameplateOtherBottomInset"] = "The inset from the bottom (in screen percent) that the non-self nameplates are clamped to.", 1036 | ["nameplateOtherTopInset"] = "The inset from the top (in screen percent) that the non-self nameplates are clamped to.", 1037 | ["nameplateLargeBottomInset"] = "The inset from the bottom (in screen percent) that large nameplates are clamped to.", 1038 | ["nameplateLargeTopInset"] = "The inset from the top (in screen percent) that large nameplates are clamped to.", 1039 | ["nameplateClassResourceTopInset"] = "The inset from the top (in screen percent) that nameplates are clamped to when class resources are being displayed on them.", 1040 | ["ShowClassColorInNameplate"] = "use this to display the class color in the nameplate health bar", 1041 | ["ShowNamePlateLoseAggroFlash"] = "When enabled, if you are a tank role and lose aggro, the nameplate with briefly flash.", 1042 | ["NamePlateHorizontalScale"] = "Applied to horizontal size of all nameplates.", 1043 | ["NamePlateVerticalScale"] = "Applied to vertical size of all nameplates.", 1044 | ["buffDurations"] = "OPTION_TOOLTIP_SHOW_BUFF_DURATION", 1045 | ["UnitNameNonCombatCreatureName"] = "OPTION_TOOLTIP_UNIT_NAME_NONCOMBAT_CREATURE", 1046 | ["autoClearAFK"] = "OPTION_TOOLTIP_CLEAR_AFK", 1047 | ["colorblindWeaknessFactor"] = "OPTION_TOOLTIP_ADJUST_COLORBLIND_STRENGTH", 1048 | ["autoLootDefault"] = "OPTION_TOOLTIP_AUTO_LOOT_DEFAULT", 1049 | ["ChatAmbienceVolume"] = "OPTION_TOOLTIP_", 1050 | ["threatShowNumeric"] = "OPTION_TOOLTIP_SHOW_NUMERIC_THREAT", 1051 | ["fctDamageReduction"] = "OPTION_TOOLTIP_COMBAT_SHOW_RESISTANCES", 1052 | ["rightActionBar"] = "OPTION_TOOLTIP_SHOW_MULTIBAR3", 1053 | ["Sound_EnableDSPEffects"] = "OPTION_TOOLTIP_ENABLE_DSP_EFFECTS", 1054 | ["fctHonorGains"] = "OPTION_TOOLTIP_COMBAT_SHOW_HONOR_GAINED", 1055 | ["emphasizeMySpellEffects"] = "OPTION_TOOLTIP_EMPHASIZE_MY_SPELLS", 1056 | ["chatBubblesParty"] = "OPTION_TOOLTIP_PARTY_CHAT_BUBBLES", 1057 | ["removeChatDelay"] = "OPTION_TOOLTIP_REMOVE_CHAT_DELAY", 1058 | ["Sound_EnablePetSounds"] = "OPTION_TOOLTIP_ENABLE_PET_SOUNDS", 1059 | ["nameplateShowEnemies"] = "OPTION_TOOLTIP_UNIT_NAMEPLATES_SHOW_ENEMIES", 1060 | ["Sound_SFXVolume"] = "OPTION_TOOLTIP_SOUND_VOLUME", 1061 | ["mouseSpeed"] = "OPTION_TOOLTIP_MOUSE_SENSITIVITY", 1062 | ["UnitNameGuildTitle"] = "OPTION_TOOLTIP_UNIT_NAME_GUILD_TITLE", 1063 | ["showToastOnline"] = "OPTION_TOOLTIP_SHOW_TOAST_ONLINE", 1064 | ["enableTwitter"] = "OPTION_TOOLTIP_SOCIAL_ENABLE_TWITTER_FUNCTIONALITY", 1065 | ["UnitNameForceHideMinus"] = "OPTION_TOOLTIP_UNIT_NAME_HIDE_MINUS", 1066 | ["cameraYawMoveSpeed"] = "OPTION_TOOLTIP_MOUSE_LOOK_SPEED", 1067 | ["nameplateShowEnemyPets"] = "OPTION_TOOLTIP_UNIT_NAMEPLATES_SHOW_ENEMY_PETS", 1068 | ["showPartyBackground"] = "OPTION_TOOLTIP_SHOW_PARTY_BACKGROUND", 1069 | ["nameplateShowFriends"] = "OPTION_TOOLTIP_UNIT_NAMEPLATES_SHOW_FRIENDS", 1070 | ["CombatHealing"] = "OPTION_TOOLTIP_SHOW_COMBAT_HEALING", 1071 | ["playerStatusText"] = "OPTION_TOOLTIP_STATUS_PLAYER", 1072 | ["scriptErrors"] = "OPTION_TOOLTIP_SHOW_LUA_ERRORS", 1073 | ["ActionButtonUseKeyDown"] = "OPTION_TOOLTIP_ACTION_BUTTON_USE_KEY_DOWN", 1074 | ["nameplateShowEnemyTotems"] = "OPTION_TOOLTIP_UNIT_NAMEPLATES_SHOW_ENEMY_TOTEMS", 1075 | ["targetStatusText"] = "OPTION_TOOLTIP_STATUS_TARGET", 1076 | ["fctFriendlyHealers"] = "OPTION_TOOLTIP_COMBAT_SHOW_FRIENDLY_NAMES", 1077 | ["nameplateShowEnemyMinus"] = "OPTION_TOOLTIP_UNIT_NAMEPLATES_SHOW_ENEMY_MINUS", 1078 | ["showToastConversation"] = "OPTION_TOOLTIP_SHOW_TOAST_CONVERSATION", 1079 | ["threatPlaySounds"] = "OPTION_TOOLTIP_PLAY_AGGRO_SOUNDS", 1080 | ["toastDuration"] = "OPTION_TOOLTIP_TOAST_DURATION", 1081 | ["wholeChatWindowClickable"] = "OPTION_TOOLTIP_CHAT_WHOLE_WINDOW_CLICKABLE", 1082 | ["UnitNameEnemyGuardianName"] = "OPTION_TOOLTIP_UNIT_NAME_ENEMY_GUARDIANS", 1083 | ["cameraYawSmoothSpeed"] = "OPTION_TOOLTIP_AUTO_FOLLOW_SPEED", 1084 | ["showArenaEnemyPets"] = "OPTION_TOOLTIP_SHOW_ARENA_ENEMY_PETS", 1085 | ["cameraWaterCollision"] = "OPTION_TOOLTIP_WATER_COLLISION", 1086 | ["useEnglishAudio"] = "OPTION_TOOLTIP_USE_ENGLISH_AUDIO", 1087 | ["enableCombatText"] = "OPTION_TOOLTIP_SHOW_COMBAT", 1088 | ["fctEnergyGains"] = "OPTION_TOOLTIP_COMBAT_SHOW_ENERGIZE", 1089 | ["enableMouseSpeed"] = "OPTION_TOOLTIP_ENABLE_MOUSE_SPEED", 1090 | ["ChatSoundVolume"] = "OPTION_TOOLTIP_", 1091 | ["CombatHealingAbsorbSelf"] = "OPTION_TOOLTIP_SHOW_COMBAT_HEALING_ABSORB_SELF", 1092 | ["reducedLagTolerance"] = "OPTION_TOOLTIP_REDUCED_LAG_TOLERANCE", 1093 | ["showToastBroadcast"] = "OPTION_TOOLTIP_SHOW_TOAST_BROADCAST", 1094 | ["Sound_ZoneMusicNoDelay"] = "OPTION_TOOLTIP_ENABLE_MUSIC_LOOPING", 1095 | ["UnitNameEnemyPetName"] = "OPTION_TOOLTIP_UNIT_NAME_ENEMY_PETS", 1096 | ["lootUnderMouse"] = "OPTION_TOOLTIP_LOOT_UNDER_MOUSE", 1097 | ["fctLowManaHealth"] = "OPTION_TOOLTIP_COMBAT_SHOW_LOW_HEALTH_MANA", 1098 | ["EnableMicrophone"] = "OPTION_TOOLTIP_ENABLE_MICROPHONE", 1099 | ["Sound_EnableSFX"] = "OPTION_TOOLTIP_ENABLE_SOUNDFX", 1100 | ["Sound_ListenerAtCharacter"] = "OPTION_TOOLTIP_ENABLE_SOUND_AT_CHARACTER", 1101 | ["CombatDamage"] = "OPTION_TOOLTIP_SHOW_DAMAGE", 1102 | ["cameraTerrainTilt"] = "OPTION_TOOLTIP_FOLLOW_TERRAIN", 1103 | ["Sound_EnableDialog"] = "OPTION_TOOLTIP_ENABLE_DIALOG", 1104 | ["Sound_EnableSoundWhenGameIsInBG"] = "OPTION_TOOLTIP_ENABLE_BGSOUND", 1105 | ["autoOpenLootHistory"] = "OPTION_TOOLTIP_AUTO_OPEN_LOOT_HISTORY", 1106 | ["autointeract"] = "OPTION_TOOLTIP_CLICK_TO_MOVE", 1107 | ["Sound_EnableEmoteSounds"] = "OPTION_TOOLTIP_ENABLE_EMOTE_SOUNDS", 1108 | ["showVKeyCastbarOnlyOnTarget"] = "OPTION_TOOLTIP_SHOW_TARGET_CASTBAR_IN_V_KEY_ONLY_ON_TARGET", 1109 | ["fctAuras"] = "OPTION_TOOLTIP_COMBAT_SHOW_AURAS", 1110 | ["displaySpellActivationOverlays"] = "OPTION_TOOLTIP_DISPLAY_SPELL_ALERTS", 1111 | ["stopAutoAttackOnTargetChange"] = "OPTION_TOOLTIP_STOP_AUTO_ATTACK", 1112 | ["nameplateShowFriendlyTotems"] = "OPTION_TOOLTIP_UNIT_NAMEPLATES_SHOW_FRIENDLY_TOTEMS", 1113 | ["UnitNameOwn"] = "OPTION_TOOLTIP_UNIT_NAME_OWN", 1114 | ["secureAbilityToggle"] = "OPTION_TOOLTIP_SECURE_ABILITY_TOGGLE", 1115 | ["fctRepChanges"] = "OPTION_TOOLTIP_COMBAT_SHOW_REPUTATION", 1116 | ["Sound_EnableAmbience"] = "OPTION_TOOLTIP_ENABLE_AMBIENCE", 1117 | ["Sound_DialogVolume"] = "OPTION_TOOLTIP_DIALOG_VOLUME", 1118 | ["showPartyPets"] = "OPTION_TOOLTIP_SHOW_PARTY_PETS", 1119 | ["hdPlayerModels"] = "OPTION_TOOLTIP_SHOW_HD_MODELS", 1120 | ["UnitNameNPC"] = "OPTION_TOOLTIP_UNIT_NAME_NPC", 1121 | ["autoLootKey"] = "OPTION_TOOLTIP_AUTO_LOOT_KEY", 1122 | ["showArenaEnemyCastbar"] = "OPTION_TOOLTIP_SHOW_ARENA_ENEMY_CASTBAR", 1123 | ["MaxSpellStartRecoveryOffset"] = "OPTION_TOOLTIP_LAG_TOLERANCE", 1124 | ["Sound_EnablePetBattleMusic"] = "OPTION_TOOLTIP_ENABLE_PET_BATTLE_MUSIC", 1125 | ["advancedCombatLogging"] = "OPTION_TOOLTIP_ADVANCED_COMBAT_LOGGING", 1126 | ["disableServerNagle"] = "OPTION_TOOLTIP_OPTIMIZE_NETWORK_SPEED", 1127 | ["Sound_MusicVolume"] = "OPTION_TOOLTIP_MUSIC_VOLUME", 1128 | ["cameraBobbing"] = "OPTION_TOOLTIP_HEAD_BOB", 1129 | ["cameraPivot"] = "OPTION_TOOLTIP_SMART_PIVOT", 1130 | ["cameraDistanceMaxFactor"] = "OPTION_TOOLTIP_MAX_FOLLOW_DIST", 1131 | ["chatBubbles"] = "OPTION_TOOLTIP_CHAT_BUBBLES", 1132 | ["autoDismountFlying"] = "OPTION_TOOLTIP_AUTO_DISMOUNT_FLYING", 1133 | ["consolidateBuffs"] = "OPTION_TOOLTIP_CONSOLIDATE_BUFFS", 1134 | ["bottomRightActionBar"] = "OPTION_TOOLTIP_SHOW_MULTIBAR2", 1135 | ["xpBarText"] = "OPTION_TOOLTIP_XP_BAR", 1136 | ["fullSizeFocusFrame"] = "OPTION_TOOLTIP_FULL_SIZE_FOCUS_FRAME", 1137 | ["showChatIcons"] = "OPTION_TOOLTIP_SHOW_CHAT_ICONS", 1138 | ["showAllEnemyDebuffs"] = "OPTION_TOOLTIP_SHOW_ALL_ENEMY_DEBUFFS", 1139 | ["Sound_EnableAllSound"] = "OPTION_TOOLTIP_ENABLE_SOUND", 1140 | ["spamFilter"] = "OPTION_TOOLTIP_SPAM_FILTER", 1141 | ["profanityFilter"] = "OPTION_TOOLTIP_PROFANITY_FILTER", 1142 | ["EnableVoiceChat"] = "OPTION_TOOLTIP_ENABLE_VOICECHAT", 1143 | ["rightTwoActionBar"] = "OPTION_TOOLTIP_SHOW_MULTIBAR4", 1144 | ["rotateMinimap"] = "OPTION_TOOLTIP_ROTATE_MINIMAP", 1145 | ["blockTrades"] = "OPTION_TOOLTIP_BLOCK_TRADES", 1146 | ["movieSubtitle"] = "OPTION_TOOLTIP_CINEMATIC_SUBTITLES", 1147 | ["displayFreeBagSlots"] = "OPTION_TOOLTIP_DISPLAY_FREE_BAG_SLOTS", 1148 | ["UnitNamePlayerGuild"] = "OPTION_TOOLTIP_UNIT_NAME_GUILD", 1149 | ["UnitNameFriendlyTotemName"] = "OPTION_TOOLTIP_UNIT_NAME_FRIENDLY_TOTEMS", 1150 | ["lockActionBars"] = "OPTION_TOOLTIP_LOCK_ACTIONBAR", 1151 | ["screenEdgeFlash"] = "OPTION_TOOLTIP_SHOW_FULLSCREEN_STATUS", 1152 | ["fctSpellMechanics"] = "OPTION_TOOLTIP_SHOW_TARGET_EFFECTS", 1153 | ["showVKeyCastbar"] = "OPTION_TOOLTIP_SHOW_TARGET_CASTBAR_IN_V_KEY", 1154 | ["chatMouseScroll"] = "OPTION_TOOLTIP_CHAT_MOUSE_WHEEL_SCROLL", 1155 | ["showArenaEnemyFrames"] = "OPTION_TOOLTIP_SHOW_ARENA_ENEMY_FRAMES", 1156 | ["showGameTips"] = "OPTION_TOOLTIP_SHOW_TIPOFTHEDAY", 1157 | ["InboundChatVolume"] = "OPTION_TOOLTIP_VOICE_OUTPUT_VOLUME", 1158 | ["spellActivationOverlayOpacity"] = "OPTION_TOOLTIP_SPELL_ALERT_OPACITY", 1159 | ["PushToTalkSound"] = "OPTION_TOOLTIP_PUSHTOTALK_SOUND", 1160 | ["countdownForCooldowns"] = "OPTION_TOOLTIP_COUNTDOWN_FOR_COOLDOWNS", 1161 | ["VoiceActivationSensitivity"] = "OPTION_TOOLTIP_VOICE_ACTIVATION_SENSITIVITY", 1162 | ["enableWoWMouse"] = "OPTION_TOOLTIP_WOW_MOUSE", 1163 | ["alwaysShowActionBars"] = "OPTION_TOOLTIP_ALWAYS_SHOW_MULTIBARS", 1164 | ["OutboundChatVolume"] = "OPTION_TOOLTIP_VOICE_INPUT_VOLUME", 1165 | ["petStatusText"] = "OPTION_TOOLTIP_STATUS_PET", 1166 | ["CombatHealingAbsorbTarget"] = "OPTION_TOOLTIP_SHOW_COMBAT_HEALING_ABSORB_TARGET", 1167 | ["autoQuestWatch"] = "OPTION_TOOLTIP_AUTO_QUEST_WATCH", 1168 | ["Sound_EnableReverb"] = "OPTION_TOOLTIP_ENABLE_REVERB", 1169 | ["nameplateShowFriendlyPets"] = "OPTION_TOOLTIP_UNIT_NAMEPLATES_SHOW_FRIENDLY_PETS", 1170 | ["UnitNameFriendlyPlayerName"] = "OPTION_TOOLTIP_UNIT_NAME_FRIENDLY", 1171 | ["fctDodgeParryMiss"] = "OPTION_TOOLTIP_COMBAT_SHOW_DODGE_PARRY_MISS", 1172 | ["SpellTooltip_DisplayAvgValues"] = "OPTION_TOOLTIP_SHOW_POINTS_AS_AVG", 1173 | ["partyStatusText"] = "OPTION_TOOLTIP_STATUS_PARTY", 1174 | ["fctCombatState"] = "OPTION_TOOLTIP_COMBAT_SHOW_COMBAT_STATE", 1175 | ["alternateResourceText"] = "OPTION_TOOLTIP_ALTERNATE_RESOURCE", 1176 | ["bottomLeftActionBar"] = "OPTION_TOOLTIP_SHOW_MULTIBAR1", 1177 | ["showVKeyCastbarSpellName"] = "OPTION_TOOLTIP_SHOW_TARGET_CASTBAR_IN_V_KEY_SPELL_NAME", 1178 | ["fctReactives"] = "OPTION_TOOLTIP_COMBAT_SHOW_REACTIVES", 1179 | ["showToastFriendRequest"] = "OPTION_TOOLTIP_SHOW_TOAST_FRIEND_REQUEST", 1180 | ["showCastableBuffs"] = "OPTION_TOOLTIP_SHOW_CASTABLE_BUFFS", 1181 | ["Sound_MasterVolume"] = "OPTION_TOOLTIP_MASTER_VOLUME", 1182 | ["deselectOnClick"] = "OPTION_TOOLTIP_GAMEFIELD_DESELECT", 1183 | ["ShowClassColorInNameplate"] = "OPTION_TOOLTIP_SHOW_CLASS_COLOR_IN_V_KEY", 1184 | ["autoSelfCast"] = "OPTION_TOOLTIP_AUTO_SELF_CAST", 1185 | ["autoQuestProgress"] = "OPTION_TOOLTIP_AUTO_QUEST_PROGRESS", 1186 | ["UberTooltips"] = "OPTION_TOOLTIP_USE_UBERTOOLTIPS", 1187 | ["UnitNamePlayerPVPTitle"] = "OPTION_TOOLTIP_UNIT_NAME_PLAYER_TITLE", 1188 | ["fctComboPoints"] = "OPTION_TOOLTIP_COMBAT_SHOW_COMBO_POINTS", 1189 | ["Sound_EnableMusic"] = "OPTION_TOOLTIP_ENABLE_MUSIC", 1190 | ["Sound_AmbienceVolume"] = "OPTION_TOOLTIP_AMBIENCE_VOLUME", 1191 | ["showTargetOfTarget"] = "OPTION_TOOLTIP_SHOW_TARGET_OF_TARGET", 1192 | ["guildMemberNotify"] = "OPTION_TOOLTIP_GUILDMEMBER_ALERT", 1193 | ["PetMeleeDamage"] = "OPTION_TOOLTIP_SHOW_PET_MELEE_DAMAGE", 1194 | ["Sound_EnableSoftwareHRTF"] = "OPTION_TOOLTIP_ENABLE_SOFTWARE_HRTF", 1195 | ["mapFade"] = "OPTION_TOOLTIP_MAP_FADE", 1196 | ["fctPeriodicEnergyGains"] = "OPTION_TOOLTIP_COMBAT_SHOW_PERIODIC_ENERGIZE", 1197 | ["advancedWorldMap"] = "OPTION_TOOLTIP_ADVANCED_WORLD_MAP", 1198 | ["showTutorials"] = "OPTION_TOOLTIP_SHOW_TUTORIALS", 1199 | ["Sound_EnableErrorSpeech"] = "OPTION_TOOLTIP_ENABLE_ERROR_SPEECH", 1200 | ["showDispelDebuffs"] = "OPTION_TOOLTIP_SHOW_DISPELLABLE_DEBUFFS", 1201 | ["lossOfControl"] = "OPTION_TOOLTIP_LOSS_OF_CONTROL", 1202 | ["blockChannelInvites"] = "OPTION_TOOLTIP_BLOCK_CHAT_CHANNEL_INVITE", 1203 | ["showTargetCastbar"] = "OPTION_TOOLTIP_SHOW_TARGET_CASTBAR", 1204 | ["enablePetBattleCombatText"] = "OPTION_TOOLTIP_SHOW_PETBATTLE_COMBAT", 1205 | ["nameplateShowFriendlyGuardians"] = "OPTION_TOOLTIP_UNIT_NAMEPLATES_SHOW_FRIENDLY_GUARDIANS", 1206 | ["fctSpellMechanicsOther"] = "OPTION_TOOLTIP_SHOW_OTHER_TARGET_EFFECTS", 1207 | ["CombatLogPeriodicSpells"] = "OPTION_TOOLTIP_LOG_PERIODIC_EFFECTS", 1208 | ["mouseInvertPitch"] = "OPTION_TOOLTIP_INVERT_MOUSE", 1209 | ["UnitNameFriendlyGuardianName"] = "OPTION_TOOLTIP_UNIT_NAME_FRIENDLY_GUARDIANS", 1210 | ["colorblindMode"] = "OPTION_TOOLTIP_USE_COLORBLIND_MODE", 1211 | ["useIPv6"] = "OPTION_TOOLTIP_USEIPV6", 1212 | ["showToastOffline"] = "OPTION_TOOLTIP_SHOW_TOAST_OFFLINE", 1213 | ["UnitNameEnemyPlayerName"] = "OPTION_TOOLTIP_UNIT_NAME_ENEMY", 1214 | ["UnitNameFriendlyPetName"] = "OPTION_TOOLTIP_UNIT_NAME_FRIENDLY_PETS", 1215 | ["UnitNameEnemyTotemName"] = "OPTION_TOOLTIP_UNIT_NAME_ENEMY_TOTEMS", 1216 | ["nameplateShowEnemyGuardians"] = "OPTION_TOOLTIP_UNIT_NAMEPLATES_SHOW_ENEMY_GUARDIANS", 1217 | ["showToastWindow"] = "OPTION_TOOLTIP_SHOW_TOAST_WINDOW", 1218 | ["interactOnLeftClick"] = "OPTION_TOOLTIP_INTERACT_ON_LEFT_CLICK", 1219 | ["assistAttack"] = "OPTION_TOOLTIP_ASSIST_ATTACK", 1220 | ["enableMovePad"] = "OPTION_TOOLTIP_MOVE_PAD", 1221 | ["colorblindSimulator"] = "OPTION_TOOLTIP_COLORBLIND_FILTER", 1222 | ["ChatMusicVolume"] = "", 1223 | 1224 | -- removed in legion: 1225 | 1226 | ["consolidateBuffs"] = { prettyName = "CONSOLIDATE_BUFFS_TEXT", description = "OPTION_TOOLTIP_CONSOLIDATE_BUFFS", type = "boolean" }, 1227 | ["enableCombatText"] = { prettyName = "", description = "OPTION_TOOLTIP_SHOW_COMBAT", type = "boolean" }, 1228 | ["fctEnergyGains"] = { prettyName = "", description = "OPTION_TOOLTIP_COMBAT_SHOW_ENERGIZE", type = "boolean" }, 1229 | ["fctFriendlyHealers"] = { prettyName = "", description = "OPTION_TOOLTIP_COMBAT_SHOW_FRIENDLY_NAMES", type = "boolean" }, 1230 | ["fctHonorGains"] = { prettyName = "", description = "OPTION_TOOLTIP_COMBAT_SHOW_HONOR_GAINED", type = "boolean" }, 1231 | ["fctLowManaHealth"] = { prettyName = "", description = "OPTION_TOOLTIP_COMBAT_SHOW_LOW_HEALTH_MANA", type = "boolean" }, 1232 | ["fctAuras"] = { prettyName = "", description = "OPTION_TOOLTIP_COMBAT_SHOW_AURAS", type = "boolean" }, 1233 | ["fctRepChanges"] = { prettyName = "", description = "OPTION_TOOLTIP_COMBAT_SHOW_REPUTATION", type = "boolean" }, 1234 | ["fctSpellMechanics"] = { prettyName = "", description = "OPTION_TOOLTIP_SHOW_TARGET_EFFECTS", type = "boolean" }, 1235 | ["fctCombatState"] = { prettyName = "", description = "OPTION_TOOLTIP_COMBAT_SHOW_COMBAT_STATE", type = "boolean" }, 1236 | ["fctDodgeParryMiss"] = { prettyName = "", description = "OPTION_TOOLTIP_COMBAT_SHOW_DODGE_PARRY_MISS", type = "boolean" }, 1237 | ["fctComboPoints"] = { prettyName = "", description = "OPTION_TOOLTIP_COMBAT_SHOW_COMBO_POINTS", type = "boolean" }, 1238 | ["fctReactives"] = { prettyName = "", description = "OPTION_TOOLTIP_COMBAT_SHOW_REACTIVES", type = "boolean" }, 1239 | ["fctPeriodicEnergyGains"] = { prettyName = "", description = "OPTION_TOOLTIP_COMBAT_SHOW_PERIODIC_ENERGIZE", type = "boolean" }, 1240 | ["fctSpellMechanicsOther"] = { prettyName = "", description = "OPTION_TOOLTIP_SHOW_OTHER_TARGET_EFFECTS", type = "boolean" }, 1241 | ["fctDamageReduction"] = { prettyName = "", description = "OPTION_TOOLTIP_COMBAT_SHOW_RESISTANCES", type = "boolean" }, 1242 | ["CombatDamage"] = { prettyName = "SHOW_DAMAGE_TEXT", description = "OPTION_TOOLTIP_SHOW_DAMAGE_TEXT", type = "boolean" }, 1243 | ["combatHealing"] = { prettyName = "SHOW_COMBAT_HEALING", description = "OPTION_TOOLTIP_SHOW_COMBAT_HEALING", type = "boolean" }, 1244 | ["CombatHealingAbsorbSelf"] = { prettyName = "", description = "OPTION_TOOLTIP_SHOW_COMBAT_HEALING_ABSORB_SELF", type = "boolean" }, 1245 | ["CombatHealingAbsorbTarget"] = { prettyName = "", description = "OPTION_TOOLTIP_SHOW_COMBAT_HEALING_ABSORB_TARGET", type = "boolean" }, 1246 | ["CombatHealing"] = { prettyName = "", description = "OPTION_TOOLTIP_SHOW_COMBAT_HEALING", type = "boolean" }, 1247 | ["playerStatusText"] = { prettyName = "STATUS_TEXT_PLAYER", description = "OPTION_TOOLTIP_STATUS_PLAYER", type = "boolean" }, 1248 | ["petStatusText"] = { prettyName = "STATUS_TEXT_PET", description = "OPTION_TOOLTIP_STATUS_PET", type = "boolean" }, 1249 | ["partyStatusText"] = { prettyName = "STATUS_TEXT_PARTY", description = "OPTION_TOOLTIP_STATUS_PARTY", type = "boolean" }, 1250 | ["targetStatusText"] = { prettyName = "STATUS_TEXT_TARGET", description = "OPTION_TOOLTIP_STATUS_TARGET", type = "boolean" }, 1251 | ["alternateResourceText"] = { prettyName = "ALTERNATE_RESOURCE_TEXT", description = "OPTION_TOOLTIP_ALTERNATE_RESOURCE", type = "boolean" }, 1252 | } -------------------------------------------------------------------------------- /embeds.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 |