From 6c6cb73fddd82bc94c08ecb3f8e123fcb5f4c451 Mon Sep 17 00:00:00 2001 From: NoM0Re Date: Sat, 4 Oct 2025 23:39:33 +0200 Subject: [PATCH] (feat/Encounter): Implement Encounter Trigger/Load Options via DBM, also fire ENCOUNTER_START/END and DBM Callback Events for Custom Triggers (#73) --- WeakAuras/GenericTrigger.lua | 40 + WeakAuras/Init.lua | 5 + WeakAuras/Locales/zLocales.lua | 1499 ++++++++++++++++- WeakAuras/Prototypes.lua | 103 +- WeakAuras/Types.lua | 5 + WeakAuras/Types_ClassicPlus.lua | 125 ++ WeakAuras/Types_TBC.lua | 121 ++ WeakAuras/Types_Wrath.lua | 146 ++ WeakAuras/WeakAuras.lua | 103 +- .../AceGUIWidget-WeakAurasDisplayButton.lua | 4 +- 10 files changed, 2143 insertions(+), 8 deletions(-) diff --git a/WeakAuras/GenericTrigger.lua b/WeakAuras/GenericTrigger.lua index fce6d52..1fed085 100644 --- a/WeakAuras/GenericTrigger.lua +++ b/WeakAuras/GenericTrigger.lua @@ -1612,6 +1612,7 @@ function GenericTrigger.Add(data, region) watched_trigger_events[id] = nil local warnAboutCLEUEvents = false + local warnEncounterEvent = false for triggernum, triggerData in ipairs(data.triggers) do local trigger, untrigger = triggerData.trigger, triggerData.untrigger @@ -1653,6 +1654,8 @@ function GenericTrigger.Add(data, region) if not(Private.subevent_actual_prefix_types[trigger.subeventPrefix]) then trigger.subeventSuffix = ""; end + elseif (trigger.event == "Encounter Events") and not WeakAuras.IsDBMRegistered() then + warnEncounterEvent = true end prototype = event_prototypes[trigger.event] @@ -1902,6 +1905,13 @@ function GenericTrigger.Add(data, region) else Private.AuraWarnings.UpdateWarning(data.uid, "spammy_event_warning") end + + if warnEncounterEvent then + Private.AuraWarnings.UpdateWarning(data.uid, "dbm_required_for_encounter_events", "error", + L["|cFFFF0000Encounter Trigger requires Deadly Boss Mods (DBM) to be installed and up to date.|r"]) + else + Private.AuraWarnings.UpdateWarning(data.uid, "dbm_required_for_encounter_events") + end end do @@ -3905,6 +3915,36 @@ Private.LibGroupTalentsWrapper.Register(function(unit) WeakAuras.ScanEvents("UNIT_SPEC_CHANGED_" .. unit, unit) end) +if WeakAuras.IsDBMRegistered() then + function Private.DBMEncounterEvents(event, mod, ...) + local encounterID, encounterName, difficultyID, groupSize = + 0, "", DBM:GetCurrentDifficulty(), DBM:GetGroupSize() + + if type(mod) == "table" then + encounterID = mod.encounterId or encounterID + encounterName = mod.combatInfo and mod.combatInfo.name or encounterName + end + + -- Fire DBM Callback Events too, because we have them anyway registered. + WeakAuras.ScanEvents(event, mod, ...) + + if event == "DBM_Pull" then + -- ENCOUNTER_START: encounterID, encounterName, difficultyID, groupSize + Private.ScanForLoads(nil, "ENCOUNTER_START", encounterID, encounterName, difficultyID, groupSize) + WeakAuras.ScanEvents("ENCOUNTER_START", encounterID, encounterName, difficultyID, groupSize) + else + local success = (event == "DBM_Kill") and 1 or 0 + -- ENCOUNTER_END: encounterID, encounterName, difficultyID, groupSize, success + Private.ScanForLoads(nil, "ENCOUNTER_END", encounterID, encounterName, difficultyID, groupSize, success) + WeakAuras.ScanEvents("ENCOUNTER_END", encounterID, encounterName, difficultyID, groupSize, success) + end + end + + for _, event in ipairs({"DBM_Pull", "DBM_Kill", "DBM_Wipe"}) do + DBM:RegisterCallback(event, Private.DBMEncounterEvents) + end +end + do local scheduled_scans = {}; diff --git a/WeakAuras/Init.lua b/WeakAuras/Init.lua index 221369d..065f6e8 100644 --- a/WeakAuras/Init.lua +++ b/WeakAuras/Init.lua @@ -15,6 +15,7 @@ local buildTime = "2025".."09".."14".."20".."43".."00" local isAwesomeEnabled = C_VoiceChat and C_VoiceChat.SpeakText and 2 -- TTS available or C_NamePlate and C_NamePlate.GetNamePlateForUnit and 1 -- Nameplates available or false +local isDBMRegistered = (DBM and type(DBM.Revision) == "number" and DBM.Revision >= 20250929200404) and true or false local flavor if GetRealmName() == "Onyxia" or (GetRealmName() == "Blackrock [PvP only]" and GetExpansionLevel() == 1) then @@ -34,6 +35,10 @@ function WeakAuras.IsAwesomeEnabled() return isAwesomeEnabled end +function WeakAuras.IsDBMRegistered() + return isDBMRegistered +end + function WeakAuras.IsCorrectVersion() return true end diff --git a/WeakAuras/Locales/zLocales.lua b/WeakAuras/Locales/zLocales.lua index a5ab013..046e0dd 100644 --- a/WeakAuras/Locales/zLocales.lua +++ b/WeakAuras/Locales/zLocales.lua @@ -3,8 +3,12 @@ local L = WeakAuras.L local locale = GAME_LOCALE or GetLocale() -- This File adds Custom Localization for --- Specializations, Creature Types, Creature Families, and Time Formats +-- Specializations, Creature Types, Creature Families, TimeUtils and BossNames if (locale == "enUS" or locale == "enGB") then + L["|cFFFF0000Encounter Trigger requires Deadly Boss Mods (DBM) to be installed and up to date.|r"] = "|cFFFF0000Encounter Trigger requires Deadly Boss Mods (DBM) to be installed and up to date.|r" + L["|cFFFF0000Encounter load options requires Deadly Boss Mods (DBM) to be installed and up to date.|r"] = "|cFFFF0000Encounter load options requires Deadly Boss Mods (DBM) to be installed and up to date.|r" + L["Requires Deadly Boss Mods (DBM) to detect encounters."] = "Requires Deadly Boss Mods (DBM) to detect encounters." + L["Based on "] = "Based on " L["Requires syncing the specialization via LibGroupTalents."] = "Requires syncing the specialization via LibGroupTalents." L["AddOn: APIDocumentation is %s."] = "AddOn: APIDocumentation is %s." L["Please install it."] = "Please install it." @@ -117,8 +121,144 @@ if (locale == "enUS" or locale == "enGB") then L["SECOND_NUMBER_CAP_NO_SPACE"] = "M" L["THIRD_NUMBER_CAP_NO_SPACE"] = "B" + if WeakAuras.IsWrath() then + L["Vault of Archavon"] = "Vault of Archavon" + L["Archavon the Stone Watcher"] = "Archavon the Stone Watcher" + L["Emalon the Storm Watcher"] = "Emalon the Storm Watcher" + L["Koralon the Flame Watcher"] = "Koralon the Flame Watcher" + L["Toravon the Ice Watcher"] = "Toravon the Ice Watcher" + L["Naxxramas"] = "Naxxramas" + L["Anub'Rekhan"] = "Anub'Rekhan" + L["Grand Widow Faerlina"] = "Grand Widow Faerlina" + L["Maexxna"] = "Maexxna" + L["Noth the Plaguebringer"] = "Noth the Plaguebringer" + L["Heigan the Unclean"] = "Heigan the Unclean" + L["Loatheb"] = "Loatheb" + L["Instructor Razuvious"] = "Instructor Razuvious" + L["Gothik the Harvester"] = "Gothik the Harvester" + L["The Four Horsemen"] = "The Four Horsemen" + L["Patchwerk"] = "Patchwerk" + L["Grobbulus"] = "Grobbulus" + L["Gluth"] = "Gluth" + L["Thaddius"] = "Thaddius" + L["Sapphiron"] = "Sapphiron" + L["Kel'Thuzad"] = "Kel'Thuzad" + L["The Obsidian Sanctum"] = "The Obsidian Sanctum" + L["Tenebron"] = "Tenebron" + L["Shadron"] = "Shadron" + L["Vesperon"] = "Vesperon" + L["Sartharion"] = "Sartharion" + L["The Eye of Eternity"] = "The Eye of Eternity" + L["Malygos"] = "Malygos" + L["Ulduar"] = "Ulduar" + L["Flame Leviathan"] = "Flame Leviathan" + L["Ignis the Furnace Master"] = "Ignis the Furnace Master" + L["Razorscale"] = "Razorscale" + L["XT-002 Deconstructor"] = "XT-002 Deconstructor" + L["Assembly of Iron"] = "Assembly of Iron" + L["Kologarn"] = "Kologarn" + L["Auriaya"] = "Auriaya" + L["Freya"] = "Freya" + L["Hodir"] = "Hodir" + L["Mimiron"] = "Mimiron" + L["Thorim"] = "Thorim" + L["General Vezax"] = "General Vezax" + L["Yogg-Saron"] = "Yogg-Saron" + L["Algalon the Observer"] = "Algalon the Observer" + L["Trial of the Crusader"] = "Trial of the Crusader" + L["Northrend Beasts"] = "Northrend Beasts" + L["Lord Jaraxxus"] = "Lord Jaraxxus" + L["Faction Champions"] = "Faction Champions" + L["Val'kyr Twins"] = "Val'kyr Twins" + L["Anub'arak"] = "Anub'arak" + L["Onyxia's Lair"] = "Onyxia's Lair" + L["Onyxia"] = "Onyxia" + L["Icecrown Citadel"] = "Icecrown Citadel" + L["Lord Marrowgar"] = "Lord Marrowgar" + L["Lady Deathwhisper"] = "Lady Deathwhisper" + L["Gunship Battle"] = "Gunship Battle" + L["Deathbringer Saurfang"] = "Deathbringer Saurfang" + L["Festergut"] = "Festergut" + L["Rotface"] = "Rotface" + L["Professor Putricide"] = "Professor Putricide" + L["Blood Prince Council"] = "Blood Prince Council" + L["Blood-Queen Lana'thel"] = "Blood-Queen Lana'thel" + L["Valithria Dreamwalker"] = "Valithria Dreamwalker" + L["Sindragosa"] = "Sindragosa" + L["The Lich King"] = "The Lich King" + L["The Ruby Sanctum"] = "The Ruby Sanctum" + L["Baltharus the Warborn"] = "Baltharus the Warborn" + L["General Zarithrian"] = "General Zarithrian" + L["Saviana Ragefire"] = "Saviana Ragefire" + L["Halion"] = "Halion" + + elseif WeakAuras.IsTBC() then + L["Karazhan"] = "Karazhan" + L["Attumen the Huntsman"] = "Attumen the Huntsman" + L["Moroes"] = "Moroes" + L["Maiden of Virtue"] = "Maiden of Virtue" + L["Opera Hall"] = "Opera Hall" + L["The Curator"] = "The Curator" + L["Terestian Illhoof"] = "Terestian Illhoof" + L["Shade of Aran"] = "Shade of Aran" + L["Netherspite"] = "Netherspite" + L["Chess Event"] = "Chess Event" + L["Prince Malchezaar"] = "Prince Malchezaar" + L["Nightbane"] = "Nightbane" + L["Gruul's Lair"] = "Gruul's Lair" + L["High King Maulgar"] = "High King Maulgar" + L["Gruul the Dragonkiller"] = "Gruul the Dragonkiller" + L["Magtheridon's Lair"] = "Magtheridon's Lair" + L["Magtheridon"] = "Magtheridon" + L["Coilfang: Serpentshrine Cavern"] = "Coilfang: Serpentshrine Cavern" + L["Hydross the Unstable"] = "Hydross the Unstable" + L["The Lurker Below"] = "The Lurker Below" + L["Leotheras the Blind"] = "Leotheras the Blind" + L["Fathom-Lord Karathress"] = "Fathom-Lord Karathress" + L["Morogrim Tidewalker"] = "Morogrim Tidewalker" + L["Lady Vashj"] = "Lady Vashj" + L["Tempest Keep"] = "Tempest Keep" + L["Al'ar"] = "Al'ar" + L["Void Reaver"] = "Void Reaver" + L["High Astromancer Solarian"] = "High Astromancer Solarian" + L["Kael'thas Sunstrider"] = "Kael'thas Sunstrider" + L["The Battle for Mount Hyjal"] = "The Battle for Mount Hyjal" + L["Rage Winterchill"] = "Rage Winterchill" + L["Anetheron"] = "Anetheron" + L["Kaz'rogal"] = "Kaz'rogal" + L["Azgalor"] = "Azgalor" + L["Archimonde"] = "Archimonde" + L["Black Temple"] = "Black Temple" + L["High Warlord Naj'entus"] = "High Warlord Naj'entus" + L["Supremus"] = "Supremus" + L["Shade of Akama"] = "Shade of Akama" + L["Teron Gorefiend"] = "Teron Gorefiend" + L["Gurtogg Bloodboil"] = "Gurtogg Bloodboil" + L["Reliquary of Souls"] = "Reliquary of Souls" + L["Mother Shahraz"] = "Mother Shahraz" + L["The Illidari Council"] = "The Illidari Council" + L["Illidan Stormrage"] = "Illidan Stormrage" + L["Zul'Aman"] = "Zul'Aman" + L["Akil'zon"] = "Akil'zon" + L["Nalorakk"] = "Nalorakk" + L["Jan'alai"] = "Jan'alai" + L["Halazzi"] = "Halazzi" + L["Hex Lord Malacrass"] = "Hex Lord Malacrass" + L["Daakara"] = "Daakara" + L["The Sunwell Plateau"] = "The Sunwell Plateau" + L["Kalecgos"] = "Kalecgos" + L["Brutallus"] = "Brutallus" + L["Felmyst"] = "Felmyst" + L["Eredar Twins"] = "Eredar Twins" + L["M'uru"] = "M'uru" + L["Kil'jaeden"] = "Kil'jaeden" + end elseif (locale == "deDE") then + L["|cFFFF0000Encounter Trigger requires Deadly Boss Mods (DBM) to be installed and up to date.|r"] = "|cFFFF0000Begegnungsauslöser erfordert, dass Deadly Boss Mods (DBM) installiert und auf dem neuesten Stand ist.|r" + L["|cFFFF0000Encounter load options requires Deadly Boss Mods (DBM) to be installed and up to date.|r"] = "|cFFFF0000Begegnungs-Ladeoptionen erfordern, dass Deadly Boss Mods (DBM) installiert und auf dem neuesten Stand ist.|r" + L["Requires Deadly Boss Mods (DBM) to detect encounters."] = "Erfordert Deadly Boss Mods (DBM), um Begegnungen zu erkennen." + L["Based on "] = "Basierend auf " L["AddOn: APIDocumentation is %s."] = "AddOn: APIDocumentation ist %s." L["Please install it."] = "Bitte installiere es." L["Please enable it in your AddOn list."] = "Bitte aktiviere es in deiner AddOn-Liste." @@ -232,8 +372,144 @@ elseif (locale == "deDE") then L["SECOND_NUMBER_CAP_NO_SPACE"] = " Mio." L["THIRD_NUMBER_CAP_NO_SPACE"] = " Mrd." + if WeakAuras.IsWrath() then + L["Vault of Archavon"] = "Vault of Archavon" + L["Archavon the Stone Watcher"] = "Archavon the Stone Watcher" + L["Emalon the Storm Watcher"] = "Emalon the Storm Watcher" + L["Koralon the Flame Watcher"] = "Koralon the Flame Watcher" + L["Toravon the Ice Watcher"] = "Toravon the Ice Watcher" + L["Naxxramas"] = "Naxxramas" + L["Anub'Rekhan"] = "Anub'Rekhan" + L["Grand Widow Faerlina"] = "Grand Widow Faerlina" + L["Maexxna"] = "Maexxna" + L["Noth the Plaguebringer"] = "Noth the Plaguebringer" + L["Heigan the Unclean"] = "Heigan the Unclean" + L["Loatheb"] = "Loatheb" + L["Instructor Razuvious"] = "Instructor Razuvious" + L["Gothik the Harvester"] = "Gothik the Harvester" + L["The Four Horsemen"] = "The Four Horsemen" + L["Patchwerk"] = "Patchwerk" + L["Grobbulus"] = "Grobbulus" + L["Gluth"] = "Gluth" + L["Thaddius"] = "Thaddius" + L["Sapphiron"] = "Sapphiron" + L["Kel'Thuzad"] = "Kel'Thuzad" + L["The Obsidian Sanctum"] = "The Obsidian Sanctum" + L["Tenebron"] = "Tenebron" + L["Shadron"] = "Shadron" + L["Vesperon"] = "Vesperon" + L["Sartharion"] = "Sartharion" + L["The Eye of Eternity"] = "The Eye of Eternity" + L["Malygos"] = "Malygos" + L["Ulduar"] = "Ulduar" + L["Flame Leviathan"] = "Flame Leviathan" + L["Ignis the Furnace Master"] = "Ignis the Furnace Master" + L["Razorscale"] = "Razorscale" + L["XT-002 Deconstructor"] = "XT-002 Deconstructor" + L["Assembly of Iron"] = "Assembly of Iron" + L["Kologarn"] = "Kologarn" + L["Auriaya"] = "Auriaya" + L["Freya"] = "Freya" + L["Hodir"] = "Hodir" + L["Mimiron"] = "Mimiron" + L["Thorim"] = "Thorim" + L["General Vezax"] = "General Vezax" + L["Yogg-Saron"] = "Yogg-Saron" + L["Algalon the Observer"] = "Algalon the Observer" + L["Trial of the Crusader"] = "Trial of the Crusader" + L["Northrend Beasts"] = "Northrend Beasts" + L["Lord Jaraxxus"] = "Lord Jaraxxus" + L["Faction Champions"] = "Faction Champions" + L["Val'kyr Twins"] = "Val'kyr Twins" + L["Anub'arak"] = "Anub'arak" + L["Onyxia's Lair"] = "Onyxias Hort" + L["Onyxia"] = "Onyxia" + L["Icecrown Citadel"] = "Icecrown Citadel" + L["Lord Marrowgar"] = "Lord Marrowgar" + L["Lady Deathwhisper"] = "Lady Deathwhisper" + L["Gunship Battle"] = "Gunship Battle" + L["Deathbringer Saurfang"] = "Deathbringer Saurfang" + L["Festergut"] = "Festergut" + L["Rotface"] = "Rotface" + L["Professor Putricide"] = "Professor Putricide" + L["Blood Prince Council"] = "Blood Prince Council" + L["Blood-Queen Lana'thel"] = "Blood-Queen Lana'thel" + L["Valithria Dreamwalker"] = "Valithria Dreamwalker" + L["Sindragosa"] = "Sindragosa" + L["The Lich King"] = "The Lich King" + L["The Ruby Sanctum"] = "The Ruby Sanctum" + L["Baltharus the Warborn"] = "Baltharus the Warborn" + L["General Zarithrian"] = "General Zarithrian" + L["Saviana Ragefire"] = "Saviana Ragefire" + L["Halion"] = "Halion" + + elseif WeakAuras.IsTBC() then + L["Karazhan"] = "Karazhan" + L["Attumen the Huntsman"] = "Attumen the Huntsman" + L["Moroes"] = "Moroes" + L["Maiden of Virtue"] = "Maiden of Virtue" + L["Opera Hall"] = "Opera Hall" + L["The Curator"] = "The Curator" + L["Terestian Illhoof"] = "Terestian Illhoof" + L["Shade of Aran"] = "Shade of Aran" + L["Netherspite"] = "Netherspite" + L["Chess Event"] = "Chess Event" + L["Prince Malchezaar"] = "Prince Malchezaar" + L["Nightbane"] = "Nightbane" + L["Gruul's Lair"] = "Gruul's Lair" + L["High King Maulgar"] = "High King Maulgar" + L["Gruul the Dragonkiller"] = "Gruul the Dragonkiller" + L["Magtheridon's Lair"] = "Magtheridon's Lair" + L["Magtheridon"] = "Magtheridon" + L["Coilfang: Serpentshrine Cavern"] = "Coilfang: Serpentshrine Cavern" + L["Hydross the Unstable"] = "Hydross the Unstable" + L["The Lurker Below"] = "The Lurker Below" + L["Leotheras the Blind"] = "Leotheras the Blind" + L["Fathom-Lord Karathress"] = "Fathom-Lord Karathress" + L["Morogrim Tidewalker"] = "Morogrim Tidewalker" + L["Lady Vashj"] = "Lady Vashj" + L["Tempest Keep"] = "Tempest Keep" + L["Al'ar"] = "Al'ar" + L["Void Reaver"] = "Void Reaver" + L["High Astromancer Solarian"] = "High Astromancer Solarian" + L["Kael'thas Sunstrider"] = "Kael'thas Sunstrider" + L["The Battle for Mount Hyjal"] = "The Battle for Mount Hyjal" + L["Rage Winterchill"] = "Rage Winterchill" + L["Anetheron"] = "Anetheron" + L["Kaz'rogal"] = "Kaz'rogal" + L["Azgalor"] = "Azgalor" + L["Archimonde"] = "Archimonde" + L["Black Temple"] = "Black Temple" + L["High Warlord Naj'entus"] = "High Warlord Naj'entus" + L["Supremus"] = "Supremus" + L["Shade of Akama"] = "Shade of Akama" + L["Teron Gorefiend"] = "Teron Gorefiend" + L["Gurtogg Bloodboil"] = "Gurtogg Bloodboil" + L["Reliquary of Souls"] = "Reliquary of Souls" + L["Mother Shahraz"] = "Mother Shahraz" + L["The Illidari Council"] = "The Illidari Council" + L["Illidan Stormrage"] = "Illidan Stormrage" + L["Zul'Aman"] = "Zul'Aman" + L["Akil'zon"] = "Akil'zon" + L["Nalorakk"] = "Nalorakk" + L["Jan'alai"] = "Jan'alai" + L["Halazzi"] = "Halazzi" + L["Hex Lord Malacrass"] = "Hex Lord Malacrass" + L["Daakara"] = "Daakara" + L["The Sunwell Plateau"] = "The Sunwell Plateau" + L["Kalecgos"] = "Kalecgos" + L["Brutallus"] = "Brutallus" + L["Felmyst"] = "Felmyst" + L["Eredar Twins"] = "Eredar Twins" + L["M'uru"] = "M'uru" + L["Kil'jaeden"] = "Kil'jaeden" + end elseif (locale == "esES") then + L["|cFFFF0000Encounter Trigger requires Deadly Boss Mods (DBM) to be installed and up to date.|r"] = "|cFFFF0000El disparador del encuentro requiere que Deadly Boss Mods (DBM) esté instalado y actualizado.|r" + L["|cFFFF0000Encounter load options requires Deadly Boss Mods (DBM) to be installed and up to date.|r"] = "|cFFFF0000Las opciones de carga del encuentro requieren que Deadly Boss Mods (DBM) esté instalado y actualizado.|r" + L["Requires Deadly Boss Mods (DBM) to detect encounters."] = "Requiere Deadly Boss Mods (DBM) para detectar encuentros." + L["Based on "] = "Basado en " L["AddOn: APIDocumentation is %s."] = "AddOn: APIDocumentation está %s." L["Please install it."] = "Por favor, instálalo." L["Please enable it in your AddOn list."] = "Por favor, actívalo en tu lista de AddOns." @@ -346,8 +622,144 @@ elseif (locale == "esES") then L["SECOND_NUMBER_CAP_NO_SPACE"] = "mill." L["THIRD_NUMBER_CAP_NO_SPACE"] = "MM" + if WeakAuras.IsWrath() then + L["Vault of Archavon"] = "La Cámara de Archavon" + L["Archavon the Stone Watcher"] = "Archavon el Vigía de Piedra" + L["Emalon the Storm Watcher"] = "Emalon el Vigía de la Tormenta" + L["Koralon the Flame Watcher"] = "Koralon el Vigía de las Llamas" + L["Toravon the Ice Watcher"] = "Toravon el Vigía de Hielo" + L["Naxxramas"] = "Naxxramas" + L["Anub'Rekhan"] = "Anub'Rekhan" + L["Grand Widow Faerlina"] = "Gran Viuda Faerlina" + L["Maexxna"] = "Maexxna" + L["Noth the Plaguebringer"] = "Noth el Pesteador" + L["Heigan the Unclean"] = "Heigan el Impuro" + L["Loatheb"] = "Loatheb" + L["Instructor Razuvious"] = "Instructor Razuvious" + L["Gothik the Harvester"] = "Gothik el Cosechador" + L["The Four Horsemen"] = "Los cuatro jinetes" + L["Patchwerk"] = "Remendejo" + L["Grobbulus"] = "Grobbulus" + L["Gluth"] = "Gluth" + L["Thaddius"] = "Thaddius" + L["Sapphiron"] = "Sapphiron" + L["Kel'Thuzad"] = "Kel'Thuzad" + L["The Obsidian Sanctum"] = "El Sagrario Obsidiana" + L["Tenebron"] = "Tenebron" + L["Shadron"] = "Shadron" + L["Vesperon"] = "Vesperon" + L["Sartharion"] = "Sartharion" + L["The Eye of Eternity"] = "El Ojo de la Eternidad" + L["Malygos"] = "Malygos" + L["Ulduar"] = "Ulduar" + L["Flame Leviathan"] = "Leviatán de llamas" + L["Ignis the Furnace Master"] = "Ignis, el Maestro de la Caldera" + L["Razorscale"] = "Tajoescama" + L["XT-002 Deconstructor"] = "Desarmador XA-002" + L["Assembly of Iron"] = "Asamblea de Hierro" + L["Kologarn"] = "Kologarn" + L["Auriaya"] = "Auriaya" + L["Freya"] = "Freya" + L["Hodir"] = "Hodir" + L["Mimiron"] = "Mimiron" + L["Thorim"] = "Thorim" + L["General Vezax"] = "General Vezax" + L["Yogg-Saron"] = "Yogg-Saron" + L["Algalon the Observer"] = "Algalon el Observador" + L["Trial of the Crusader"] = "Prueba del Cruzado" + L["Northrend Beasts"] = "Bestias de Rasganorte" + L["Lord Jaraxxus"] = "Lord Jaraxxus" + L["Faction Champions"] = "Campeones de facción" + L["Val'kyr Twins"] = "Gemelas Val'kyr" + L["Anub'arak"] = "Anub'arak" + L["Onyxia's Lair"] = "Guarida de Onyxia" + L["Onyxia"] = "Onyxia" + L["Icecrown Citadel"] = "Ciudadela de la Corona de Hielo" + L["Lord Marrowgar"] = "Lord Tuétano" + L["Lady Deathwhisper"] = "Lady Susurramuerte" + L["Gunship Battle"] = "Batalla de las naves de guerra" + L["Deathbringer Saurfang"] = "Libramorte Colmillosauro" + L["Festergut"] = "Panzachancro" + L["Rotface"] = "Carapútrea" + L["Professor Putricide"] = "Profesor Putricidio" + L["Blood Prince Council"] = "Consejo de Príncipes de Sangre" + L["Blood-Queen Lana'thel"] = "Reina de Sangre Lana'thel" + L["Valithria Dreamwalker"] = "Valithria Caminasueños" + L["Sindragosa"] = "Sindragosa" + L["The Lich King"] = "El Rey Éxamine" + L["The Ruby Sanctum"] = "El Sagrario Rubí" + L["Baltharus the Warborn"] = "Baltharus el Batallante" + L["General Zarithrian"] = "General Zarithrian" + L["Saviana Ragefire"] = "Saviana Furia Ardiente" + L["Halion"] = "Halion" + + elseif WeakAuras.IsTBC() then + L["Karazhan"] = "Karazhan" + L["Attumen the Huntsman"] = "Attumen the Huntsman" + L["Moroes"] = "Moroes" + L["Maiden of Virtue"] = "Maiden of Virtue" + L["Opera Hall"] = "Opera Hall" + L["The Curator"] = "The Curator" + L["Terestian Illhoof"] = "Terestian Illhoof" + L["Shade of Aran"] = "Shade of Aran" + L["Netherspite"] = "Netherspite" + L["Chess Event"] = "Chess Event" + L["Prince Malchezaar"] = "Prince Malchezaar" + L["Nightbane"] = "Nightbane" + L["Gruul's Lair"] = "Gruul's Lair" + L["High King Maulgar"] = "High King Maulgar" + L["Gruul the Dragonkiller"] = "Gruul the Dragonkiller" + L["Magtheridon's Lair"] = "Magtheridon's Lair" + L["Magtheridon"] = "Magtheridon" + L["Coilfang: Serpentshrine Cavern"] = "Coilfang: Serpentshrine Cavern" + L["Hydross the Unstable"] = "Hydross the Unstable" + L["The Lurker Below"] = "The Lurker Below" + L["Leotheras the Blind"] = "Leotheras the Blind" + L["Fathom-Lord Karathress"] = "Fathom-Lord Karathress" + L["Morogrim Tidewalker"] = "Morogrim Tidewalker" + L["Lady Vashj"] = "Lady Vashj" + L["Tempest Keep"] = "Tempest Keep" + L["Al'ar"] = "Al'ar" + L["Void Reaver"] = "Void Reaver" + L["High Astromancer Solarian"] = "High Astromancer Solarian" + L["Kael'thas Sunstrider"] = "Kael'thas Sunstrider" + L["The Battle for Mount Hyjal"] = "The Battle for Mount Hyjal" + L["Rage Winterchill"] = "Rage Winterchill" + L["Anetheron"] = "Anetheron" + L["Kaz'rogal"] = "Kaz'rogal" + L["Azgalor"] = "Azgalor" + L["Archimonde"] = "Archimonde" + L["Black Temple"] = "Black Temple" + L["High Warlord Naj'entus"] = "High Warlord Naj'entus" + L["Supremus"] = "Supremus" + L["Shade of Akama"] = "Shade of Akama" + L["Teron Gorefiend"] = "Teron Gorefiend" + L["Gurtogg Bloodboil"] = "Gurtogg Bloodboil" + L["Reliquary of Souls"] = "Reliquary of Souls" + L["Mother Shahraz"] = "Mother Shahraz" + L["The Illidari Council"] = "The Illidari Council" + L["Illidan Stormrage"] = "Illidan Stormrage" + L["Zul'Aman"] = "Zul'Aman" + L["Akil'zon"] = "Akil'zon" + L["Nalorakk"] = "Nalorakk" + L["Jan'alai"] = "Jan'alai" + L["Halazzi"] = "Halazzi" + L["Hex Lord Malacrass"] = "Hex Lord Malacrass" + L["Daakara"] = "Daakara" + L["The Sunwell Plateau"] = "The Sunwell Plateau" + L["Kalecgos"] = "Kalecgos" + L["Brutallus"] = "Brutallus" + L["Felmyst"] = "Felmyst" + L["Eredar Twins"] = "Eredar Twins" + L["M'uru"] = "M'uru" + L["Kil'jaeden"] = "Kil'jaeden" + end elseif (locale == "esMX") then + L["|cFFFF0000Encounter Trigger requires Deadly Boss Mods (DBM) to be installed and up to date.|r"] = "|cFFFF0000El disparador del encuentro requiere que Deadly Boss Mods (DBM) esté instalado y actualizado.|r" + L["|cFFFF0000Encounter load options requires Deadly Boss Mods (DBM) to be installed and up to date.|r"] = "|cFFFF0000Las opciones de carga del encuentro requieren que Deadly Boss Mods (DBM) esté instalado y actualizado.|r" + L["Requires Deadly Boss Mods (DBM) to detect encounters."] = "Requiere Deadly Boss Mods (DBM) para detectar encuentros." + L["Based on "] = "Basado en " L["AddOn: APIDocumentation is %s."] = "AddOn: APIDocumentation está %s." L["Please install it."] = "Por favor, instálalo." L["Please enable it in your AddOn list."] = "Por favor, actívalo en tu lista de AddOns." @@ -460,8 +872,144 @@ elseif (locale == "esMX") then L["SECOND_NUMBER_CAP_NO_SPACE"] = "mill." L["THIRD_NUMBER_CAP_NO_SPACE"] = "B" + if WeakAuras.IsWrath() then + L["Vault of Archavon"] = "La Cámara de Archavon" + L["Archavon the Stone Watcher"] = "Archavon el Vigía de Piedra" + L["Emalon the Storm Watcher"] = "Emalon el Vigía de la Tormenta" + L["Koralon the Flame Watcher"] = "Koralon el Vigía de las Llamas" + L["Toravon the Ice Watcher"] = "Toravon el Vigía de Hielo" + L["Naxxramas"] = "Naxxramas" + L["Anub'Rekhan"] = "Anub'Rekhan" + L["Grand Widow Faerlina"] = "Gran Viuda Faerlina" + L["Maexxna"] = "Maexxna" + L["Noth the Plaguebringer"] = "Noth el Pesteador" + L["Heigan the Unclean"] = "Heigan el Impuro" + L["Loatheb"] = "Loatheb" + L["Instructor Razuvious"] = "Instructor Razuvious" + L["Gothik the Harvester"] = "Gothik el Cosechador" + L["The Four Horsemen"] = "Los cuatro jinetes" + L["Patchwerk"] = "Remendejo" + L["Grobbulus"] = "Grobbulus" + L["Gluth"] = "Gluth" + L["Thaddius"] = "Thaddius" + L["Sapphiron"] = "Sapphiron" + L["Kel'Thuzad"] = "Kel'Thuzad" + L["The Obsidian Sanctum"] = "El Sagrario Obsidiana" + L["Tenebron"] = "Tenebron" + L["Shadron"] = "Shadron" + L["Vesperon"] = "Vesperon" + L["Sartharion"] = "Sartharion" + L["The Eye of Eternity"] = "El Ojo de la Eternidad" + L["Malygos"] = "Malygos" + L["Ulduar"] = "Ulduar" + L["Flame Leviathan"] = "Leviatán de llamas" + L["Ignis the Furnace Master"] = "Ignis, el Maestro de la Caldera" + L["Razorscale"] = "Tajoescama" + L["XT-002 Deconstructor"] = "Desarmador XA-002" + L["Assembly of Iron"] = "Asamblea de Hierro" + L["Kologarn"] = "Kologarn" + L["Auriaya"] = "Auriaya" + L["Freya"] = "Freya" + L["Hodir"] = "Hodir" + L["Mimiron"] = "Mimiron" + L["Thorim"] = "Thorim" + L["General Vezax"] = "General Vezax" + L["Yogg-Saron"] = "Yogg-Saron" + L["Algalon the Observer"] = "Algalon el Observador" + L["Trial of the Crusader"] = "Prueba del Cruzado" + L["Northrend Beasts"] = "Bestias de Rasganorte" + L["Lord Jaraxxus"] = "Lord Jaraxxus" + L["Faction Champions"] = "Campeones de facción" + L["Val'kyr Twins"] = "Gemelas Val'kyr" + L["Anub'arak"] = "Anub'arak" + L["Onyxia's Lair"] = "Guarida de Onyxia" + L["Onyxia"] = "Onyxia" + L["Icecrown Citadel"] = "Ciudadela de la Corona de Hielo" + L["Lord Marrowgar"] = "Lord Tuétano" + L["Lady Deathwhisper"] = "Lady Susurramuerte" + L["Gunship Battle"] = "Batalla de las naves de guerra" + L["Deathbringer Saurfang"] = "Libramorte Colmillosauro" + L["Festergut"] = "Panzachancro" + L["Rotface"] = "Carapútrea" + L["Professor Putricide"] = "Profesor Putricidio" + L["Blood Prince Council"] = "Consejo de Príncipes de Sangre" + L["Blood-Queen Lana'thel"] = "Reina de Sangre Lana'thel" + L["Valithria Dreamwalker"] = "Valithria Caminasueños" + L["Sindragosa"] = "Sindragosa" + L["The Lich King"] = "El Rey Éxamine" + L["The Ruby Sanctum"] = "El Sagrario Rubí" + L["Baltharus the Warborn"] = "Baltharus el Batallante" + L["General Zarithrian"] = "General Zarithrian" + L["Saviana Ragefire"] = "Saviana Furia Ardiente" + L["Halion"] = "Halion" + + elseif WeakAuras.IsTBC() then + L["Karazhan"] = "Karazhan" + L["Attumen the Huntsman"] = "Attumen the Huntsman" + L["Moroes"] = "Moroes" + L["Maiden of Virtue"] = "Maiden of Virtue" + L["Opera Hall"] = "Opera Hall" + L["The Curator"] = "The Curator" + L["Terestian Illhoof"] = "Terestian Illhoof" + L["Shade of Aran"] = "Shade of Aran" + L["Netherspite"] = "Netherspite" + L["Chess Event"] = "Chess Event" + L["Prince Malchezaar"] = "Prince Malchezaar" + L["Nightbane"] = "Nightbane" + L["Gruul's Lair"] = "Gruul's Lair" + L["High King Maulgar"] = "High King Maulgar" + L["Gruul the Dragonkiller"] = "Gruul the Dragonkiller" + L["Magtheridon's Lair"] = "Magtheridon's Lair" + L["Magtheridon"] = "Magtheridon" + L["Coilfang: Serpentshrine Cavern"] = "Coilfang: Serpentshrine Cavern" + L["Hydross the Unstable"] = "Hydross the Unstable" + L["The Lurker Below"] = "The Lurker Below" + L["Leotheras the Blind"] = "Leotheras the Blind" + L["Fathom-Lord Karathress"] = "Fathom-Lord Karathress" + L["Morogrim Tidewalker"] = "Morogrim Tidewalker" + L["Lady Vashj"] = "Lady Vashj" + L["Tempest Keep"] = "Tempest Keep" + L["Al'ar"] = "Al'ar" + L["Void Reaver"] = "Void Reaver" + L["High Astromancer Solarian"] = "High Astromancer Solarian" + L["Kael'thas Sunstrider"] = "Kael'thas Sunstrider" + L["The Battle for Mount Hyjal"] = "The Battle for Mount Hyjal" + L["Rage Winterchill"] = "Rage Winterchill" + L["Anetheron"] = "Anetheron" + L["Kaz'rogal"] = "Kaz'rogal" + L["Azgalor"] = "Azgalor" + L["Archimonde"] = "Archimonde" + L["Black Temple"] = "Black Temple" + L["High Warlord Naj'entus"] = "High Warlord Naj'entus" + L["Supremus"] = "Supremus" + L["Shade of Akama"] = "Shade of Akama" + L["Teron Gorefiend"] = "Teron Gorefiend" + L["Gurtogg Bloodboil"] = "Gurtogg Bloodboil" + L["Reliquary of Souls"] = "Reliquary of Souls" + L["Mother Shahraz"] = "Mother Shahraz" + L["The Illidari Council"] = "The Illidari Council" + L["Illidan Stormrage"] = "Illidan Stormrage" + L["Zul'Aman"] = "Zul'Aman" + L["Akil'zon"] = "Akil'zon" + L["Nalorakk"] = "Nalorakk" + L["Jan'alai"] = "Jan'alai" + L["Halazzi"] = "Halazzi" + L["Hex Lord Malacrass"] = "Hex Lord Malacrass" + L["Daakara"] = "Daakara" + L["The Sunwell Plateau"] = "The Sunwell Plateau" + L["Kalecgos"] = "Kalecgos" + L["Brutallus"] = "Brutallus" + L["Felmyst"] = "Felmyst" + L["Eredar Twins"] = "Eredar Twins" + L["M'uru"] = "M'uru" + L["Kil'jaeden"] = "Kil'jaeden" + end elseif (locale == "frFR") then + L["|cFFFF0000Encounter Trigger requires Deadly Boss Mods (DBM) to be installed and up to date.|r"] = "|cFFFF0000Le déclencheur de rencontre nécessite que Deadly Boss Mods (DBM) soit installé et à jour.|r" + L["|cFFFF0000Encounter load options requires Deadly Boss Mods (DBM) to be installed and up to date.|r"] = "|cFFFF0000Les options de chargement de la rencontre nécessitent que Deadly Boss Mods (DBM) soit installé et à jour.|r" + L["Requires Deadly Boss Mods (DBM) to detect encounters."] = "Nécessite Deadly Boss Mods (DBM) pour détecter les rencontres." + L["Based on "] = "Basé sur " L["AddOn: APIDocumentation is %s."] = "Addon: APIDocumentation est %s." L["Please install it."] = "Veuillez l'installer." L["Please enable it in your AddOn list."] = "Veuillez l'activer dans votre liste d'Addons." @@ -575,8 +1123,144 @@ elseif (locale == "frFR") then L["SECOND_NUMBER_CAP_NO_SPACE"] = " M" L["THIRD_NUMBER_CAP_NO_SPACE"] = " G" + if WeakAuras.IsWrath() then + L["Vault of Archavon"] = "Vault of Archavon" + L["Archavon the Stone Watcher"] = "Archavon the Stone Watcher" + L["Emalon the Storm Watcher"] = "Emalon the Storm Watcher" + L["Koralon the Flame Watcher"] = "Koralon the Flame Watcher" + L["Toravon the Ice Watcher"] = "Toravon the Ice Watcher" + L["Naxxramas"] = "Naxxramas" + L["Anub'Rekhan"] = "Anub'Rekhan" + L["Grand Widow Faerlina"] = "Grand Widow Faerlina" + L["Maexxna"] = "Maexxna" + L["Noth the Plaguebringer"] = "Noth le Porte-peste" + L["Heigan the Unclean"] = "Heigan the Unclean" + L["Loatheb"] = "Loatheb" + L["Instructor Razuvious"] = "Instructor Razuvious" + L["Gothik the Harvester"] = "Gothik the Harvester" + L["The Four Horsemen"] = "The Four Horsemen" + L["Patchwerk"] = "Patchwerk" + L["Grobbulus"] = "Grobbulus" + L["Gluth"] = "Gluth" + L["Thaddius"] = "Thaddius" + L["Sapphiron"] = "Sapphiron" + L["Kel'Thuzad"] = "Kel'Thuzad" + L["The Obsidian Sanctum"] = "The Obsidian Sanctum" + L["Tenebron"] = "Tenebron" + L["Shadron"] = "Shadron" + L["Vesperon"] = "Vesperon" + L["Sartharion"] = "Sartharion" + L["The Eye of Eternity"] = "The Eye of Eternity" + L["Malygos"] = "Malygos" + L["Ulduar"] = "Ulduar" + L["Flame Leviathan"] = "Flame Leviathan" + L["Ignis the Furnace Master"] = "Ignis the Furnace Master" + L["Razorscale"] = "Razorscale" + L["XT-002 Deconstructor"] = "XT-002 Deconstructor" + L["Assembly of Iron"] = "Assembly of Iron" + L["Kologarn"] = "Kologarn" + L["Auriaya"] = "Auriaya" + L["Freya"] = "Freya" + L["Hodir"] = "Hodir" + L["Mimiron"] = "Mimiron" + L["Thorim"] = "Thorim" + L["General Vezax"] = "General Vezax" + L["Yogg-Saron"] = "Yogg-Saron" + L["Algalon the Observer"] = "Algalon the Observer" + L["Trial of the Crusader"] = "Trial of the Crusader" + L["Northrend Beasts"] = "Northrend Beasts" + L["Lord Jaraxxus"] = "Lord Jaraxxus" + L["Faction Champions"] = "Faction Champions" + L["Val'kyr Twins"] = "Val'kyr Twins" + L["Anub'arak"] = "Anub'arak" + L["Onyxia's Lair"] = "Repaire d'Onyxia" + L["Onyxia"] = "Onyxia" + L["Icecrown Citadel"] = "Icecrown Citadel" + L["Lord Marrowgar"] = "Lord Marrowgar" + L["Lady Deathwhisper"] = "Lady Deathwhisper" + L["Gunship Battle"] = "Gunship Battle" + L["Deathbringer Saurfang"] = "Deathbringer Saurfang" + L["Festergut"] = "Festergut" + L["Rotface"] = "Rotface" + L["Professor Putricide"] = "Professor Putricide" + L["Blood Prince Council"] = "Blood Prince Council" + L["Blood-Queen Lana'thel"] = "Blood-Queen Lana'thel" + L["Valithria Dreamwalker"] = "Valithria Dreamwalker" + L["Sindragosa"] = "Sindragosa" + L["The Lich King"] = "The Lich King" + L["The Ruby Sanctum"] = "The Ruby Sanctum" + L["Baltharus the Warborn"] = "Baltharus the Warborn" + L["General Zarithrian"] = "General Zarithrian" + L["Saviana Ragefire"] = "Saviana Ragefire" + L["Halion"] = "Halion" + + elseif WeakAuras.IsTBC() then + L["Karazhan"] = "Karazhan" + L["Attumen the Huntsman"] = "Attumen the Huntsman" + L["Moroes"] = "Moroes" + L["Maiden of Virtue"] = "Maiden of Virtue" + L["Opera Hall"] = "Opera Hall" + L["The Curator"] = "The Curator" + L["Terestian Illhoof"] = "Terestian Illhoof" + L["Shade of Aran"] = "Shade of Aran" + L["Netherspite"] = "Netherspite" + L["Chess Event"] = "Événement d'échecs" + L["Prince Malchezaar"] = "Prince Malchezaar" + L["Nightbane"] = "Plaie-de-nuit" + L["Gruul's Lair"] = "Gruul's Lair" + L["High King Maulgar"] = "High King Maulgar" + L["Gruul the Dragonkiller"] = "Gruul the Dragonkiller" + L["Magtheridon's Lair"] = "Magtheridon's Lair" + L["Magtheridon"] = "Magtheridon" + L["Coilfang: Serpentshrine Cavern"] = "Coilfang: Serpentshrine Cavern" + L["Hydross the Unstable"] = "Hydross the Unstable" + L["The Lurker Below"] = "The Lurker Below" + L["Leotheras the Blind"] = "Leotheras the Blind" + L["Fathom-Lord Karathress"] = "Fathom-Lord Karathress" + L["Morogrim Tidewalker"] = "Morogrim Marcheur-des-flots" + L["Lady Vashj"] = "Lady Vashj" + L["Tempest Keep"] = "Tempest Keep" + L["Al'ar"] = "Al'ar" + L["Void Reaver"] = "Void Reaver" + L["High Astromancer Solarian"] = "High Astromancer Solarian" + L["Kael'thas Sunstrider"] = "Kael'thas Sunstrider" + L["The Battle for Mount Hyjal"] = "The Battle for Mount Hyjal" + L["Rage Winterchill"] = "Rage Winterchill" + L["Anetheron"] = "Anetheron" + L["Kaz'rogal"] = "Kaz'rogal" + L["Azgalor"] = "Azgalor" + L["Archimonde"] = "Archimonde" + L["Black Temple"] = "Black Temple" + L["High Warlord Naj'entus"] = "High Warlord Naj'entus" + L["Supremus"] = "Supremus" + L["Shade of Akama"] = "Shade of Akama" + L["Teron Gorefiend"] = "Teron Gorefiend" + L["Gurtogg Bloodboil"] = "Gurtogg Bloodboil" + L["Reliquary of Souls"] = "Reliquary of Souls" + L["Mother Shahraz"] = "Mère Shahraz" + L["The Illidari Council"] = "The Illidari Council" + L["Illidan Stormrage"] = "Illidan Hurlorage" + L["Zul'Aman"] = "Zul'Aman" + L["Akil'zon"] = "Akil'zon" + L["Nalorakk"] = "Nalorakk" + L["Jan'alai"] = "Jan'alai" + L["Halazzi"] = "Halazzi" + L["Hex Lord Malacrass"] = "Hex Lord Malacrass" + L["Daakara"] = "Daakara" + L["The Sunwell Plateau"] = "The Sunwell Plateau" + L["Kalecgos"] = "Kalecgos" + L["Brutallus"] = "Brutallus" + L["Felmyst"] = "Felmyst" + L["Eredar Twins"] = "Eredar Twins" + L["M'uru"] = "M'uru" + L["Kil'jaeden"] = "Kil'jaeden" + end elseif (locale == "itIT") then + L["|cFFFF0000Encounter Trigger requires Deadly Boss Mods (DBM) to be installed and up to date.|r"] = "|cFFFF0000Il trigger dell’incontro richiede che Deadly Boss Mods (DBM) sia installato e aggiornato.|r" + L["|cFFFF0000Encounter load options requires Deadly Boss Mods (DBM) to be installed and up to date.|r"] = "|cFFFF0000Le opzioni di caricamento dell’incontro richiedono che Deadly Boss Mods (DBM) sia installato e aggiornato.|r" + L["Requires Deadly Boss Mods (DBM) to detect encounters."] = "Richiede Deadly Boss Mods (DBM) per rilevare gli incontri." + L["Based on "] = "Basato su " --[[Translation missing --]] L["Requires syncing the specialization via LibGroupTalents."] = "Requires syncing the specialization via LibGroupTalents." L["AddOn: APIDocumentation is %s."] = "AddOn: APIDocumentation is %s." @@ -694,8 +1378,144 @@ elseif (locale == "itIT") then L["SECOND_NUMBER_CAP_NO_SPACE"] = "M" L["THIRD_NUMBER_CAP_NO_SPACE"] = "Mld" + if WeakAuras.IsWrath() then + L["Vault of Archavon"] = "Vault of Archavon" + L["Archavon the Stone Watcher"] = "Archavon il Guardiano della Pietra" + L["Emalon the Storm Watcher"] = "Emalon the Storm Watcher" + L["Koralon the Flame Watcher"] = "Koralon the Flame Watcher" + L["Toravon the Ice Watcher"] = "Toravon the Ice Watcher" + L["Naxxramas"] = "Naxxramas" + L["Anub'Rekhan"] = "Anub'Rekhan" + L["Grand Widow Faerlina"] = "Grand Widow Faerlina" + L["Maexxna"] = "Maexxna" + L["Noth the Plaguebringer"] = "Noth the Plaguebringer" + L["Heigan the Unclean"] = "Heigan the Unclean" + L["Loatheb"] = "Loatheb" + L["Instructor Razuvious"] = "Instructor Razuvious" + L["Gothik the Harvester"] = "Gothik the Harvester" + L["The Four Horsemen"] = "The Four Horsemen" + L["Patchwerk"] = "Patchwerk" + L["Grobbulus"] = "Grobbulus" + L["Gluth"] = "Gluth" + L["Thaddius"] = "Thaddius" + L["Sapphiron"] = "Sapphiron" + L["Kel'Thuzad"] = "Kel'Thuzad" + L["The Obsidian Sanctum"] = "The Obsidian Sanctum" + L["Tenebron"] = "Tenebron" + L["Shadron"] = "Shadron" + L["Vesperon"] = "Vesperon" + L["Sartharion"] = "Sartharion" + L["The Eye of Eternity"] = "The Eye of Eternity" + L["Malygos"] = "Malygos" + L["Ulduar"] = "Ulduar" + L["Flame Leviathan"] = "Flame Leviathan" + L["Ignis the Furnace Master"] = "Ignis the Furnace Master" + L["Razorscale"] = "Razorscale" + L["XT-002 Deconstructor"] = "XT-002 Deconstructor" + L["Assembly of Iron"] = "Assemblaggio di ferro" + L["Kologarn"] = "Kologarn" + L["Auriaya"] = "Auriaya" + L["Freya"] = "Freya" + L["Hodir"] = "Hodir" + L["Mimiron"] = "Mimiron" + L["Thorim"] = "Thorim" + L["General Vezax"] = "General Vezax" + L["Yogg-Saron"] = "Yogg-Saron" + L["Algalon the Observer"] = "Algalon l'Osservatore" + L["Trial of the Crusader"] = "Trial of the Crusader" + L["Northrend Beasts"] = "Northrend Beasts" + L["Lord Jaraxxus"] = "Lord Jaraxxus" + L["Faction Champions"] = "Faction Champions" + L["Val'kyr Twins"] = "Val'kyr Twins" + L["Anub'arak"] = "Anub'arak" + L["Onyxia's Lair"] = "Onyxia's Lair" + L["Onyxia"] = "Onyxia" + L["Icecrown Citadel"] = "Icecrown Citadel" + L["Lord Marrowgar"] = "Lord Marrowgar" + L["Lady Deathwhisper"] = "Lady Deathwhisper" + L["Gunship Battle"] = "Gunship Battle" + L["Deathbringer Saurfang"] = "Deathbringer Saurfang" + L["Festergut"] = "Festergut" + L["Rotface"] = "Rotface" + L["Professor Putricide"] = "Professor Putricide" + L["Blood Prince Council"] = "Consiglio dei Principi del Sangue" + L["Blood-Queen Lana'thel"] = "La Regina del Sangue Lana'thel" + L["Valithria Dreamwalker"] = "Valithria Dreamwalker" + L["Sindragosa"] = "Sindragosa" + L["The Lich King"] = "The Lich King" + L["The Ruby Sanctum"] = "The Ruby Sanctum" + L["Baltharus the Warborn"] = "Baltharus il Guerriero" + L["General Zarithrian"] = "General Zarithrian" + L["Saviana Ragefire"] = "Saviana Ragefire" + L["Halion"] = "Halion" + + elseif WeakAuras.IsTBC() then + L["Karazhan"] = "Karazhan" + L["Attumen the Huntsman"] = "Attumen the Huntsman" + L["Moroes"] = "Moroes" + L["Maiden of Virtue"] = "Maiden of Virtue" + L["Opera Hall"] = "Opera Hall" + L["The Curator"] = "The Curator" + L["Terestian Illhoof"] = "Terestian Illhoof" + L["Shade of Aran"] = "Shade of Aran" + L["Netherspite"] = "Netherspite" + L["Chess Event"] = "Chess Event" + L["Prince Malchezaar"] = "Prince Malchezaar" + L["Nightbane"] = "Nightbane" + L["Gruul's Lair"] = "Gruul's Lair" + L["High King Maulgar"] = "High King Maulgar" + L["Gruul the Dragonkiller"] = "Gruul the Dragonkiller" + L["Magtheridon's Lair"] = "Magtheridon's Lair" + L["Magtheridon"] = "Magtheridon" + L["Coilfang: Serpentshrine Cavern"] = "Coilfang: Serpentshrine Cavern" + L["Hydross the Unstable"] = "Hydross the Unstable" + L["The Lurker Below"] = "The Lurker Below" + L["Leotheras the Blind"] = "Leotheras the Blind" + L["Fathom-Lord Karathress"] = "Fathom-Lord Karathress" + L["Morogrim Tidewalker"] = "Morogrim Tidewalker" + L["Lady Vashj"] = "Lady Vashj" + L["Tempest Keep"] = "Tempest Keep" + L["Al'ar"] = "Al'ar" + L["Void Reaver"] = "Void Reaver" + L["High Astromancer Solarian"] = "High Astromancer Solarian" + L["Kael'thas Sunstrider"] = "Kael'thas Sunstrider" + L["The Battle for Mount Hyjal"] = "The Battle for Mount Hyjal" + L["Rage Winterchill"] = "Rage Winterchill" + L["Anetheron"] = "Anetheron" + L["Kaz'rogal"] = "Kaz'rogal" + L["Azgalor"] = "Azgalor" + L["Archimonde"] = "Archimonde" + L["Black Temple"] = "Black Temple" + L["High Warlord Naj'entus"] = "High Warlord Naj'entus" + L["Supremus"] = "Supremus" + L["Shade of Akama"] = "Shade of Akama" + L["Teron Gorefiend"] = "Teron Gorefiend" + L["Gurtogg Bloodboil"] = "Gurtogg Bloodboil" + L["Reliquary of Souls"] = "Reliquary of Souls" + L["Mother Shahraz"] = "Mother Shahraz" + L["The Illidari Council"] = "The Illidari Council" + L["Illidan Stormrage"] = "Illidan Stormrage" + L["Zul'Aman"] = "Zul'Aman" + L["Akil'zon"] = "Akil'zon" + L["Nalorakk"] = "Nalorakk" + L["Jan'alai"] = "Jan'alai" + L["Halazzi"] = "Halazzi" + L["Hex Lord Malacrass"] = "Hex Lord Malacrass" + L["Daakara"] = "Daakara" + L["The Sunwell Plateau"] = "The Sunwell Plateau" + L["Kalecgos"] = "Kalecgos" + L["Brutallus"] = "Brutallus" + L["Felmyst"] = "Felmyst" + L["Eredar Twins"] = "Eredar Twins" + L["M'uru"] = "M'uru" + L["Kil'jaeden"] = "Kil'jaeden" + end elseif (locale == "koKR") then + L["|cFFFF0000Encounter Trigger requires Deadly Boss Mods (DBM) to be installed and up to date.|r"] = "|cFFFF0000보스전 트리거를 사용하려면 Deadly Boss Mods (DBM)이 설치되어 최신 상태여야 합니다.|r" + L["|cFFFF0000Encounter load options requires Deadly Boss Mods (DBM) to be installed and up to date.|r"] = "|cFFFF0000보스전 로드 옵션을 사용하려면 Deadly Boss Mods (DBM)이 설치되어 최신 상태여야 합니다.|r" + L["Requires Deadly Boss Mods (DBM) to detect encounters."] = "보스전을 감지하려면 Deadly Boss Mods (DBM)이 필요합니다." + L["Based on "] = "기반 " L["AddOn: APIDocumentation is %s."] = "애드온: APIDocumentation이(가) %s입니다." L["Please install it."] = "설치해 주십시오." L["Please enable it in your AddOn list."] = "애드온 목록에서 활성화해 주십시오." @@ -808,8 +1628,144 @@ elseif (locale == "koKR") then L["SECOND_NUMBER_CAP_NO_SPACE"] = "억" L["THIRD_NUMBER_CAP_NO_SPACE"] = "조" + if WeakAuras.IsWrath() then + L["Vault of Archavon"] = "아카본 석실" + L["Archavon the Stone Watcher"] = "바위 감시자 아카본" + L["Emalon the Storm Watcher"] = "폭풍 감시자 에말론" + L["Koralon the Flame Watcher"] = "화염 감시자 코랄론" + L["Toravon the Ice Watcher"] = "얼음 감시자 토라본" + L["Naxxramas"] = "낙스라마스" + L["Anub'Rekhan"] = "아눕레칸" + L["Grand Widow Faerlina"] = "귀부인 팰리나" + L["Maexxna"] = "맥스나" + L["Noth the Plaguebringer"] = "역병술사 노스" + L["Heigan the Unclean"] = "부정의 헤이건" + L["Loatheb"] = "로데브" + L["Instructor Razuvious"] = "훈련교관 라주비어스" + L["Gothik the Harvester"] = "영혼의 착취자 고딕" + L["The Four Horsemen"] = "4기사단" + L["Patchwerk"] = "패치워크" + L["Grobbulus"] = "그라불루스" + L["Gluth"] = "글루스" + L["Thaddius"] = "타디우스" + L["Sapphiron"] = "사피론" + L["Kel'Thuzad"] = "켈투자드" + L["The Obsidian Sanctum"] = "흑요석 성소" + L["Tenebron"] = "테네브론" + L["Shadron"] = "샤드론" + L["Vesperon"] = "베스페론" + L["Sartharion"] = "살타리온" + L["The Eye of Eternity"] = "영원의 눈" + L["Malygos"] = "말리고스" + L["Ulduar"] = "울두아르" + L["Flame Leviathan"] = "거대 화염전차" + L["Ignis the Furnace Master"] = "용광로 군주 이그니스" + L["Razorscale"] = "칼날비늘" + L["XT-002 Deconstructor"] = "XT-002 해체자" + L["Assembly of Iron"] = "무쇠 평의회" + L["Kologarn"] = "콜로간" + L["Auriaya"] = "아우리아야" + L["Freya"] = "프레이야" + L["Hodir"] = "호디르" + L["Mimiron"] = "미미론" + L["Thorim"] = "토림" + L["General Vezax"] = "장군 베작스" + L["Yogg-Saron"] = "요그사론" + L["Algalon the Observer"] = "관찰자 알갈론" + L["Trial of the Crusader"] = "십자군의 시험장" + L["Northrend Beasts"] = "노스렌드의 야수" + L["Lord Jaraxxus"] = "군주 자락서스" + L["Faction Champions"] = "진영 용사" + L["Val'kyr Twins"] = "발키르 쌍둥이" + L["Anub'arak"] = "아눕아락" + L["Onyxia's Lair"] = "오닉시아의 둥지" + L["Onyxia"] = "오닉시아" + L["Icecrown Citadel"] = "얼음왕관 성채" + L["Lord Marrowgar"] = "군주 매로우가르" + L["Lady Deathwhisper"] = "여교주 데스위스퍼" + L["Gunship Battle"] = "비행포격선 전투" + L["Deathbringer Saurfang"] = "죽음의 인도자 사울팽" + L["Festergut"] = "구린속" + L["Rotface"] = "썩은얼굴" + L["Professor Putricide"] = "교수 퓨트리사이드" + L["Blood Prince Council"] = "피의 의회" + L["Blood-Queen Lana'thel"] = "피의 여왕 라나텔" + L["Valithria Dreamwalker"] = "발리스리아 드림워커" + L["Sindragosa"] = "신드라고사" + L["The Lich King"] = "리치 왕" + L["The Ruby Sanctum"] = "루비 성소" + L["Baltharus the Warborn"] = "전쟁의 아들 발타루스" + L["General Zarithrian"] = "장군 자리스리안" + L["Saviana Ragefire"] = "사비아나 레이지파이어" + L["Halion"] = "할리온" + + elseif WeakAuras.IsTBC() then + L["Karazhan"] = "카라잔" + L["Attumen the Huntsman"] = "사냥꾼 어튜멘" + L["Moroes"] = "모로스" + L["Maiden of Virtue"] = "고결의 여신" + L["Opera Hall"] = "오페라 극장" + L["The Curator"] = "전시 관리인" + L["Terestian Illhoof"] = "테레스티안 일후프" + L["Shade of Aran"] = "아란의 망령" + L["Netherspite"] = "황천의 원령" + L["Chess Event"] = "체스 이벤트" + L["Prince Malchezaar"] = "공작 말체자르" + L["Nightbane"] = "파멸의 어둠" + L["Gruul's Lair"] = "그룰의 둥지" + L["High King Maulgar"] = "왕중왕 마울가르" + L["Gruul the Dragonkiller"] = "용 학살자 그룰" + L["Magtheridon's Lair"] = "마그테리돈의 둥지" + L["Magtheridon"] = "마그테리돈" + L["Coilfang: Serpentshrine Cavern"] = "갈퀴송곳니: 불뱀 제단" + L["Hydross the Unstable"] = "불안정한 히드로스" + L["The Lurker Below"] = "심연의 잠복꾼" + L["Leotheras the Blind"] = "눈먼 레오테라스" + L["Fathom-Lord Karathress"] = "심연의 군주 카라드레스" + L["Morogrim Tidewalker"] = "겅둥파도 모로그림" + L["Lady Vashj"] = "여군주 바쉬" + L["Tempest Keep"] = "폭풍우 요새" + L["Al'ar"] = "알라르" + L["Void Reaver"] = "공허의 절단기" + L["High Astromancer Solarian"] = "고위 점성술사 솔라리안" + L["Kael'thas Sunstrider"] = "캘타스 선스트라이더" + L["The Battle for Mount Hyjal"] = "하이잘 산 전투" + L["Rage Winterchill"] = "격노한 윈터칠" + L["Anetheron"] = "아네테론" + L["Kaz'rogal"] = "카즈로갈" + L["Azgalor"] = "아즈갈로" + L["Archimonde"] = "아키몬드" + L["Black Temple"] = "검은 사원" + L["High Warlord Naj'entus"] = "대장군 나젠투스" + L["Supremus"] = "궁극의 심연" + L["Shade of Akama"] = "아카마의 망령" + L["Teron Gorefiend"] = "테론 고어핀드" + L["Gurtogg Bloodboil"] = "구르토그 블러드보일" + L["Reliquary of Souls"] = "영혼의 성물함" + L["Mother Shahraz"] = "대모 샤라즈" + L["The Illidari Council"] = "일리다리 의회" + L["Illidan Stormrage"] = "일리단 스톰레이지" + L["Zul'Aman"] = "줄아만" + L["Akil'zon"] = "아킬존" + L["Nalorakk"] = "날로라크" + L["Jan'alai"] = "잔알라이" + L["Halazzi"] = "할라지" + L["Hex Lord Malacrass"] = "사술 군주 말라크라스" + L["Daakara"] = "다카라" + L["The Sunwell Plateau"] = "태양샘 고원" + L["Kalecgos"] = "칼렉고스" + L["Brutallus"] = "브루탈루스" + L["Felmyst"] = "지옥안개" + L["Eredar Twins"] = "에레다르 쌍둥이 자매" + L["M'uru"] = "므우루" + L["Kil'jaeden"] = "킬제덴" + end elseif (locale == "ptBR") then + L["|cFFFF0000Encounter Trigger requires Deadly Boss Mods (DBM) to be installed and up to date.|r"] = "|cFFFF0000O gatilho de encontro requer que Deadly Boss Mods (DBM) esteja instalado e atualizado.|r" + L["|cFFFF0000Encounter load options requires Deadly Boss Mods (DBM) to be installed and up to date.|r"] = "|cFFFF0000As opções de carregamento do encontro requerem que Deadly Boss Mods (DBM) esteja instalado e atualizado.|r" + L["Requires Deadly Boss Mods (DBM) to detect encounters."] = "Requer Deadly Boss Mods (DBM) para detectar encontros." + L["Based on "] = "Baseado em " --[[Translation missing --]] L["Requires syncing the specialization via LibGroupTalents."] = "Requires syncing the specialization via LibGroupTalents." L["AddOn: APIDocumentation is %s."] = "AddOn: APIDocumentation is %s." @@ -925,8 +1881,144 @@ elseif (locale == "ptBR") then L["SECOND_NUMBER_CAP_NO_SPACE"] = "M" L["THIRD_NUMBER_CAP_NO_SPACE"] = "B" + if WeakAuras.IsWrath() then + L["Vault of Archavon"] = "Vault of Archavon" + L["Archavon the Stone Watcher"] = "Archavon the Stone Watcher" + L["Emalon the Storm Watcher"] = "Emalon the Storm Watcher" + L["Koralon the Flame Watcher"] = "Koralon the Flame Watcher" + L["Toravon the Ice Watcher"] = "Toravon the Ice Watcher" + L["Naxxramas"] = "Naxxramas" + L["Anub'Rekhan"] = "Anub'Rekhan" + L["Grand Widow Faerlina"] = "Grand Widow Faerlina" + L["Maexxna"] = "Maexxna" + L["Noth the Plaguebringer"] = "Noth the Plaguebringer" + L["Heigan the Unclean"] = "Heigan the Unclean" + L["Loatheb"] = "Loatheb" + L["Instructor Razuvious"] = "Instructor Razuvious" + L["Gothik the Harvester"] = "Gothik the Harvester" + L["The Four Horsemen"] = "The Four Horsemen" + L["Patchwerk"] = "Patchwerk" + L["Grobbulus"] = "Grobbulus" + L["Gluth"] = "Gluth" + L["Thaddius"] = "Thaddius" + L["Sapphiron"] = "Sapphiron" + L["Kel'Thuzad"] = "Kel'Thuzad" + L["The Obsidian Sanctum"] = "The Obsidian Sanctum" + L["Tenebron"] = "Tenebron" + L["Shadron"] = "Shadron" + L["Vesperon"] = "Vesperon" + L["Sartharion"] = "Sartharion" + L["The Eye of Eternity"] = "The Eye of Eternity" + L["Malygos"] = "Malygos" + L["Ulduar"] = "Ulduar" + L["Flame Leviathan"] = "Flame Leviathan" + L["Ignis the Furnace Master"] = "Ignis the Furnace Master" + L["Razorscale"] = "Razorscale" + L["XT-002 Deconstructor"] = "XT-002 Deconstructor" + L["Assembly of Iron"] = "Assembly of Iron" + L["Kologarn"] = "Kologarn" + L["Auriaya"] = "Auriaya" + L["Freya"] = "Freya" + L["Hodir"] = "Hodir" + L["Mimiron"] = "Mimiron" + L["Thorim"] = "Thorim" + L["General Vezax"] = "General Vezax" + L["Yogg-Saron"] = "Yogg-Saron" + L["Algalon the Observer"] = "Algalon the Observer" + L["Trial of the Crusader"] = "Trial of the Crusader" + L["Northrend Beasts"] = "Northrend Beasts" + L["Lord Jaraxxus"] = "Lord Jaraxxus" + L["Faction Champions"] = "Faction Champions" + L["Val'kyr Twins"] = "Val'kyr Twins" + L["Anub'arak"] = "Anub'arak" + L["Onyxia's Lair"] = "Onyxia's Lair" + L["Onyxia"] = "Onyxia" + L["Icecrown Citadel"] = "Icecrown Citadel" + L["Lord Marrowgar"] = "Lord Marrowgar" + L["Lady Deathwhisper"] = "Lady Deathwhisper" + L["Gunship Battle"] = "Gunship Battle" + L["Deathbringer Saurfang"] = "Deathbringer Saurfang" + L["Festergut"] = "Festergut" + L["Rotface"] = "Rotface" + L["Professor Putricide"] = "Professor Putricide" + L["Blood Prince Council"] = "Blood Prince Council" + L["Blood-Queen Lana'thel"] = "Blood-Queen Lana'thel" + L["Valithria Dreamwalker"] = "Valithria Dreamwalker" + L["Sindragosa"] = "Sindragosa" + L["The Lich King"] = "The Lich King" + L["The Ruby Sanctum"] = "The Ruby Sanctum" + L["Baltharus the Warborn"] = "Baltharus the Warborn" + L["General Zarithrian"] = "General Zarithrian" + L["Saviana Ragefire"] = "Saviana Ragefire" + L["Halion"] = "Halion" + + elseif WeakAuras.IsTBC() then + L["Karazhan"] = "Karazhan" + L["Attumen the Huntsman"] = "Attumen the Huntsman" + L["Moroes"] = "Moroes" + L["Maiden of Virtue"] = "Maiden of Virtue" + L["Opera Hall"] = "Opera Hall" + L["The Curator"] = "The Curator" + L["Terestian Illhoof"] = "Terestian Illhoof" + L["Shade of Aran"] = "Shade of Aran" + L["Netherspite"] = "Netherspite" + L["Chess Event"] = "Chess Event" + L["Prince Malchezaar"] = "Prince Malchezaar" + L["Nightbane"] = "Nightbane" + L["Gruul's Lair"] = "Gruul's Lair" + L["High King Maulgar"] = "High King Maulgar" + L["Gruul the Dragonkiller"] = "Gruul the Dragonkiller" + L["Magtheridon's Lair"] = "Magtheridon's Lair" + L["Magtheridon"] = "Magtheridon" + L["Coilfang: Serpentshrine Cavern"] = "Coilfang: Serpentshrine Cavern" + L["Hydross the Unstable"] = "Hydross the Unstable" + L["The Lurker Below"] = "The Lurker Below" + L["Leotheras the Blind"] = "Leotheras the Blind" + L["Fathom-Lord Karathress"] = "Fathom-Lord Karathress" + L["Morogrim Tidewalker"] = "Morogrim Tidewalker" + L["Lady Vashj"] = "Lady Vashj" + L["Tempest Keep"] = "Tempest Keep" + L["Al'ar"] = "Al'ar" + L["Void Reaver"] = "Void Reaver" + L["High Astromancer Solarian"] = "High Astromancer Solarian" + L["Kael'thas Sunstrider"] = "Kael'thas Sunstrider" + L["The Battle for Mount Hyjal"] = "The Battle for Mount Hyjal" + L["Rage Winterchill"] = "Rage Winterchill" + L["Anetheron"] = "Anetheron" + L["Kaz'rogal"] = "Kaz'rogal" + L["Azgalor"] = "Azgalor" + L["Archimonde"] = "Archimonde" + L["Black Temple"] = "Black Temple" + L["High Warlord Naj'entus"] = "High Warlord Naj'entus" + L["Supremus"] = "Supremus" + L["Shade of Akama"] = "Shade of Akama" + L["Teron Gorefiend"] = "Teron Gorefiend" + L["Gurtogg Bloodboil"] = "Gurtogg Bloodboil" + L["Reliquary of Souls"] = "Reliquary of Souls" + L["Mother Shahraz"] = "Mother Shahraz" + L["The Illidari Council"] = "The Illidari Council" + L["Illidan Stormrage"] = "Illidan Stormrage" + L["Zul'Aman"] = "Zul'Aman" + L["Akil'zon"] = "Akil'zon" + L["Nalorakk"] = "Nalorakk" + L["Jan'alai"] = "Jan'alai" + L["Halazzi"] = "Halazzi" + L["Hex Lord Malacrass"] = "Hex Lord Malacrass" + L["Daakara"] = "Daakara" + L["The Sunwell Plateau"] = "The Sunwell Plateau" + L["Kalecgos"] = "Kalecgos" + L["Brutallus"] = "Brutallus" + L["Felmyst"] = "Felmyst" + L["Eredar Twins"] = "Eredar Twins" + L["M'uru"] = "M'uru" + L["Kil'jaeden"] = "Kil'jaeden" + end elseif (locale == "ruRU") then + L["|cFFFF0000Encounter Trigger requires Deadly Boss Mods (DBM) to be installed and up to date.|r"] = "|cFFFF0000Триггер сражения с боссом требует, чтобы Deadly Boss Mods (DBM) был установлен и обновлён.|r" + L["|cFFFF0000Encounter load options requires Deadly Boss Mods (DBM) to be installed and up to date.|r"] = "|cFFFF0000Параметры загрузки сражения с боссом требуют, чтобы Deadly Boss Mods (DBM) был установлен и обновлён.|r" + L["Requires Deadly Boss Mods (DBM) to detect encounters."] = "Для обнаружения сражений с боссами требуется Deadly Boss Mods (DBM)." + L["Based on "] = "Основано на " L["AddOn: APIDocumentation is %s."] = "Аддон: APIDocumentation %s." L["Please install it."] = "Пожалуйста, установите его." L["Please enable it in your AddOn list."] = "Пожалуйста, включите его в вашем списке аддонов." @@ -1039,8 +2131,144 @@ elseif (locale == "ruRU") then L["SECOND_NUMBER_CAP_NO_SPACE"] = "М" L["THIRD_NUMBER_CAP_NO_SPACE"] = "МЛРД" + if WeakAuras.IsWrath() then + L["Vault of Archavon"] = "Склеп Аркавона" + L["Archavon the Stone Watcher"] = "Аркавон Страж Камня" + L["Emalon the Storm Watcher"] = "Эмалон Страж Бури" + L["Koralon the Flame Watcher"] = "Коралон Страж Огня" + L["Toravon the Ice Watcher"] = "Торавон Страж Льда" + L["Naxxramas"] = "Наксрамас" + L["Anub'Rekhan"] = "Ануб'Рекан" + L["Grand Widow Faerlina"] = "Великая вдова Фарлина" + L["Maexxna"] = "Мексна" + L["Noth the Plaguebringer"] = "Нот Чумной" + L["Heigan the Unclean"] = "Хейган Нечестивый" + L["Loatheb"] = "Лотхиб" + L["Instructor Razuvious"] = "Инструктор Разувий" + L["Gothik the Harvester"] = "Готик Жнец" + L["The Four Horsemen"] = "Четыре всадника" + L["Patchwerk"] = "Лоскутик" + L["Grobbulus"] = "Гроббулус" + L["Gluth"] = "Глут" + L["Thaddius"] = "Таддиус" + L["Sapphiron"] = "Сапфирон" + L["Kel'Thuzad"] = "Кел'Тузад" + L["The Obsidian Sanctum"] = "Обсидиановое святилище" + L["Tenebron"] = "Тенеброн" + L["Shadron"] = "Шадрон" + L["Vesperon"] = "Весперон" + L["Sartharion"] = "Сартарион" + L["The Eye of Eternity"] = "Око Вечности" + L["Malygos"] = "Малигос" + L["Ulduar"] = "Ульдуар" + L["Flame Leviathan"] = "Огненный Левиафан" + L["Ignis the Furnace Master"] = "Повелитель горнов Игнис" + L["Razorscale"] = "Острокрылая" + L["XT-002 Deconstructor"] = "Разрушитель XT-002" + L["Assembly of Iron"] = "Железное Собрание" + L["Kologarn"] = "Кологарн" + L["Auriaya"] = "Ауриайя" + L["Freya"] = "Фрейя" + L["Hodir"] = "Ходир" + L["Mimiron"] = "Мимирон" + L["Thorim"] = "Торим" + L["General Vezax"] = "Генерал Везакс" + L["Yogg-Saron"] = "Йогг-Сарон" + L["Algalon the Observer"] = "Алгалон Наблюдатель" + L["Trial of the Crusader"] = "Испытание крестоносца" + L["Northrend Beasts"] = "Чудовища Нордскола" + L["Lord Jaraxxus"] = "Лорд Джараксус" + L["Faction Champions"] = "Чемпионы фракций" + L["Val'kyr Twins"] = "Валь'киры-близнецы" + L["Anub'arak"] = "Ануб'арак" + L["Onyxia's Lair"] = "Логово Ониксии" + L["Onyxia"] = "Ониксия" + L["Icecrown Citadel"] = "Цитадель Ледяной Короны" + L["Lord Marrowgar"] = "Лорд Ребрад" + L["Lady Deathwhisper"] = "Леди Смертный Шепот" + L["Gunship Battle"] = "Бой на кораблях" + L["Deathbringer Saurfang"] = "Саурфанг Смертоносный" + L["Festergut"] = "Тухлопуз" + L["Rotface"] = "Гниломорд" + L["Professor Putricide"] = "Профессор Мерзоцид" + L["Blood Prince Council"] = "Совет кровавых принцев" + L["Blood-Queen Lana'thel"] = "Кровавая королева Лана'тель" + L["Valithria Dreamwalker"] = "Валитрия Сноходица" + L["Sindragosa"] = "Синдрагоса" + L["The Lich King"] = "Король-лич" + L["The Ruby Sanctum"] = "Рубиновое святилище" + L["Baltharus the Warborn"] = "Балтар Рожденный в Битве" + L["General Zarithrian"] = "Генерал Заритриан" + L["Saviana Ragefire"] = "Савиана Огненная Пропасть" + L["Halion"] = "Халион" + + elseif WeakAuras.IsTBC() then + L["Karazhan"] = "Каражан" + L["Attumen the Huntsman"] = "Ловчий Аттумен" + L["Moroes"] = "Мороуз" + L["Maiden of Virtue"] = "Благочестивая дева" + L["Opera Hall"] = "Оперный зал" + L["The Curator"] = "Смотритель" + L["Terestian Illhoof"] = "Терестиан Больное Копыто" + L["Shade of Aran"] = "Тень Арана" + L["Netherspite"] = "Гнев Пустоты" + L["Chess Event"] = "Шахматы" + L["Prince Malchezaar"] = "Принц Малчезар" + L["Nightbane"] = "Ночная Погибель" + L["Gruul's Lair"] = "Логово Груула" + L["High King Maulgar"] = "Король Молгар" + L["Gruul the Dragonkiller"] = "Груул Драконобой" + L["Magtheridon's Lair"] = "Логово Магтеридона" + L["Magtheridon"] = "Магтеридон" + L["Coilfang: Serpentshrine Cavern"] = "Змеиное святилище" + L["Hydross the Unstable"] = "Гидросс Нестабильный" + L["The Lurker Below"] = "Скрытень из глубин" + L["Leotheras the Blind"] = "Леотерас Слепец" + L["Fathom-Lord Karathress"] = "Повелитель глубин Каратресс" + L["Morogrim Tidewalker"] = "Морогрим Волноступ" + L["Lady Vashj"] = "Леди Вайш" + L["Tempest Keep"] = "Крепость Бурь" + L["Al'ar"] = "Ал'ар" + L["Void Reaver"] = "Страж Бездны" + L["High Astromancer Solarian"] = "Верховный звездочет Солариан" + L["Kael'thas Sunstrider"] = "Кель'тас Солнечный Скиталец" + L["The Battle for Mount Hyjal"] = "Битва за гору Хиджал" + L["Rage Winterchill"] = "Лютый Хлад" + L["Anetheron"] = "Анетерон" + L["Kaz'rogal"] = "Каз'рогал" + L["Azgalor"] = "Азгалор" + L["Archimonde"] = "Архимонд" + L["Black Temple"] = "Черный храм" + L["High Warlord Naj'entus"] = "Верховный полководец Надж'ентус" + L["Supremus"] = "Супремус" + L["Shade of Akama"] = "Тень Акамы" + L["Teron Gorefiend"] = "Терон Кровожад" + L["Gurtogg Bloodboil"] = "Гуртогг Кипящая Кровь" + L["Reliquary of Souls"] = "Реликварий душ" + L["Mother Shahraz"] = "Матушка Шахраз" + L["The Illidari Council"] = "Совет иллидари" + L["Illidan Stormrage"] = "Иллидан Ярость Бури" + L["Zul'Aman"] = "Зул'Аман" + L["Akil'zon"] = "Акил'зон" + L["Nalorakk"] = "Налоракк" + L["Jan'alai"] = "Джан'алай" + L["Halazzi"] = "Халаззи" + L["Hex Lord Malacrass"] = "Повелитель проклятий Малакрасс" + L["Daakara"] = "Даакара" + L["The Sunwell Plateau"] = "Плато Солнечного Колодца" + L["Kalecgos"] = "Калесгос" + L["Brutallus"] = "Бруталл" + L["Felmyst"] = "Пророк Скверны" + L["Eredar Twins"] = "Эредарские близнецы" + L["M'uru"] = "М'ууру" + L["Kil'jaeden"] = "Кил'джеден" + end elseif (locale == "zhCN") then + L["|cFFFF0000Encounter Trigger requires Deadly Boss Mods (DBM) to be installed and up to date.|r"] = "|cFFFF0000首领战斗触发器需要已安装并更新到最新的 Deadly Boss Mods (DBM)。|r" + L["|cFFFF0000Encounter load options requires Deadly Boss Mods (DBM) to be installed and up to date.|r"] = "|cFFFF0000首领战斗加载选项需要已安装并更新到最新的 Deadly Boss Mods (DBM)。|r" + L["Requires Deadly Boss Mods (DBM) to detect encounters."] = "检测首领战斗需要 Deadly Boss Mods (DBM)。" + L["Based on "] = "基于 " L["AddOn: APIDocumentation is %s."] = "插件:APIDocumentation %s。" L["Please install it."] = "请安装它。" L["Please enable it in your AddOn list."] = "请在你的插件列表中启用它。" @@ -1153,8 +2381,144 @@ elseif (locale == "zhCN") then L["SECOND_NUMBER_CAP_NO_SPACE"] = "亿" L["THIRD_NUMBER_CAP_NO_SPACE"] = "B" + if WeakAuras.IsWrath() then + L["Vault of Archavon"] = "阿尔卡冯的宝库" + L["Archavon the Stone Watcher"] = "岩石看守者阿尔卡冯" + L["Emalon the Storm Watcher"] = "风暴看守者埃玛尔隆" + L["Koralon the Flame Watcher"] = "火焰看守者科拉隆" + L["Toravon the Ice Watcher"] = "寒冰看守者图拉旺" + L["Naxxramas"] = "纳克萨玛斯" + L["Anub'Rekhan"] = "阿努布雷坎" + L["Grand Widow Faerlina"] = "黑女巫法琳娜" + L["Maexxna"] = "迈克斯纳" + L["Noth the Plaguebringer"] = "瘟疫使者诺斯" + L["Heigan the Unclean"] = "肮脏的希尔盖" + L["Loatheb"] = "洛欧塞布" + L["Instructor Razuvious"] = "教官拉苏维奥斯" + L["Gothik the Harvester"] = "收割者戈提克" + L["The Four Horsemen"] = "天启四骑士" + L["Patchwerk"] = "帕奇维克" + L["Grobbulus"] = "格罗布鲁斯" + L["Gluth"] = "格拉斯" + L["Thaddius"] = "塔迪乌斯" + L["Sapphiron"] = "萨菲隆" + L["Kel'Thuzad"] = "克尔苏加德" + L["The Obsidian Sanctum"] = "黑曜石圣殿" + L["Tenebron"] = "塔尼布隆" + L["Shadron"] = "沙德隆" + L["Vesperon"] = "维斯匹隆" + L["Sartharion"] = "萨塔里奥" + L["The Eye of Eternity"] = "永恒之眼" + L["Malygos"] = "玛里苟斯" + L["Ulduar"] = "奥杜尔" + L["Flame Leviathan"] = "烈焰巨兽" + L["Ignis the Furnace Master"] = "掌炉者伊格尼斯" + L["Razorscale"] = "锋鳞" + L["XT-002 Deconstructor"] = "XT-002拆解者" + L["Assembly of Iron"] = "钢铁议会" + L["Kologarn"] = "科隆加恩" + L["Auriaya"] = "欧尔莉亚" + L["Freya"] = "弗蕾亚" + L["Hodir"] = "霍迪尔" + L["Mimiron"] = "米米尔隆" + L["Thorim"] = "托里姆" + L["General Vezax"] = "维扎克斯将军" + L["Yogg-Saron"] = "尤格-萨隆" + L["Algalon the Observer"] = "观察者奥尔加隆" + L["Trial of the Crusader"] = "十字军的试炼" + L["Northrend Beasts"] = "诺森德猛兽" + L["Lord Jaraxxus"] = "加拉克苏斯大王" + L["Faction Champions"] = "阵营冠军" + L["Val'kyr Twins"] = "瓦格里双子" + L["Anub'arak"] = "阿努布雷坎" + L["Onyxia's Lair"] = "奥妮克希亚的巢穴" + L["Onyxia"] = "奥妮克希亚" + L["Icecrown Citadel"] = "冰冠堡垒" + L["Lord Marrowgar"] = "玛洛加尔领主" + L["Lady Deathwhisper"] = "亡语者女士" + L["Gunship Battle"] = "冰冠冰川炮舰战" + L["Deathbringer Saurfang"] = "死亡使者萨鲁法尔" + L["Festergut"] = "烂肠" + L["Rotface"] = "腐面" + L["Professor Putricide"] = "普崔塞德教授" + L["Blood Prince Council"] = "鲜血议会" + L["Blood-Queen Lana'thel"] = "兰娜瑟尔女王" + L["Valithria Dreamwalker"] = "踏梦者瓦莉瑟瑞娅" + L["Sindragosa"] = "辛达苟萨" + L["The Lich King"] = "巫妖王" + L["The Ruby Sanctum"] = "红玉圣殿" + L["Baltharus the Warborn"] = "战争之子巴尔萨鲁斯" + L["General Zarithrian"] = "萨瑞瑟里安将军" + L["Saviana Ragefire"] = "塞维娅娜·怒火" + L["Halion"] = "海里昂" + + elseif WeakAuras.IsTBC() then + L["Karazhan"] = "卡拉赞" + L["Attumen the Huntsman"] = "猎手阿图门" + L["Moroes"] = "莫罗斯" + L["Maiden of Virtue"] = "贞节圣女" + L["Opera Hall"] = "歌剧院" + L["The Curator"] = "馆长" + L["Terestian Illhoof"] = "特雷斯坦·邪蹄" + L["Shade of Aran"] = "埃兰之影" + L["Netherspite"] = "虚空幽龙" + L["Chess Event"] = "国际象棋" + L["Prince Malchezaar"] = "玛克扎尔王子" + L["Nightbane"] = "夜之魇" + L["Gruul's Lair"] = "格鲁尔的巢穴" + L["High King Maulgar"] = "莫加尔大王" + L["Gruul the Dragonkiller"] = "屠龙者格鲁尔" + L["Magtheridon's Lair"] = "玛瑟里顿的巢穴" + L["Magtheridon"] = "玛瑟里顿" + L["Coilfang: Serpentshrine Cavern"] = "盘牙湖泊:毒蛇神殿" + L["Hydross the Unstable"] = "不稳定的海度斯" + L["The Lurker Below"] = "鱼斯拉" + L["Leotheras the Blind"] = "盲眼者莱欧瑟拉斯" + L["Fathom-Lord Karathress"] = "深水领主卡拉瑟雷斯" + L["Morogrim Tidewalker"] = "莫洛格里·踏潮者" + L["Lady Vashj"] = "瓦丝琪" + L["Tempest Keep"] = "风暴要塞" + L["Al'ar"] = "奥" + L["Void Reaver"] = "空灵机甲" + L["High Astromancer Solarian"] = "大星术师索兰莉安" + L["Kael'thas Sunstrider"] = "凯尔萨斯·逐日者" + L["The Battle for Mount Hyjal"] = "海加尔山之战" + L["Rage Winterchill"] = "雷基·冬寒" + L["Anetheron"] = "安纳塞隆" + L["Kaz'rogal"] = "卡兹洛加" + L["Azgalor"] = "阿兹加洛" + L["Archimonde"] = "阿克蒙德" + L["Black Temple"] = "黑暗神殿" + L["High Warlord Naj'entus"] = "高阶督军纳因图斯" + L["Supremus"] = "苏普雷姆斯" + L["Shade of Akama"] = "阿卡玛之影" + L["Teron Gorefiend"] = "塔隆·血魔" + L["Gurtogg Bloodboil"] = "古尔图格·血沸" + L["Reliquary of Souls"] = "灵魂之匣" + L["Mother Shahraz"] = "莎赫拉丝主母" + L["The Illidari Council"] = "伊利达雷议会" + L["Illidan Stormrage"] = "伊利丹·怒风" + L["Zul'Aman"] = "祖阿曼" + L["Akil'zon"] = "埃基尔松" + L["Nalorakk"] = "纳洛拉克" + L["Jan'alai"] = "加亚莱" + L["Halazzi"] = "哈尔拉兹" + L["Hex Lord Malacrass"] = "妖术领主玛拉卡斯" + L["Daakara"] = "达卡拉" + L["The Sunwell Plateau"] = "太阳之井" + L["Kalecgos"] = "卡雷苟斯" + L["Brutallus"] = "布鲁塔卢斯" + L["Felmyst"] = "菲米丝" + L["Eredar Twins"] = "艾瑞达双子" + L["M'uru"] = "穆鲁" + L["Kil'jaeden"] = "基尔加丹" + end elseif (locale == "zhTW") then + L["|cFFFF0000Encounter Trigger requires Deadly Boss Mods (DBM) to be installed and up to date.|r"] = "|cFFFF0000首領戰觸發需要安裝並更新到最新版本的 Deadly Boss Mods (DBM)。|r" + L["|cFFFF0000Encounter load options requires Deadly Boss Mods (DBM) to be installed and up to date.|r"] = "|cFFFF0000首領戰載入選項需要安裝並更新到最新版本的 Deadly Boss Mods (DBM)。|r" + L["Requires Deadly Boss Mods (DBM) to detect encounters."] = "偵測首領戰需要 Deadly Boss Mods (DBM)。" + L["Based on "] = "基於 " L["AddOn: APIDocumentation is %s."] = "插件:APIDocumentation %s。" L["Please install it."] = "請安裝它。" L["Please enable it in your AddOn list."] = "請在你的插件清單中啟用它。" @@ -1266,4 +2630,137 @@ elseif (locale == "zhTW") then L["FOURTH_NUMBER_CAP_NO_SPACE"] = "T" L["SECOND_NUMBER_CAP_NO_SPACE"] = "億" L["THIRD_NUMBER_CAP_NO_SPACE"] = "B" + + if WeakAuras.IsWrath() then + L["Vault of Archavon"] = "亞夏梵穹殿" + L["Archavon the Stone Watcher"] = "『石之看守者』亞夏梵" + L["Emalon the Storm Watcher"] = "『風暴看守者』艾瑪隆" + L["Koralon the Flame Watcher"] = "『烈焰看守者』寇拉隆" + L["Toravon the Ice Watcher"] = "『寒冰看守者』拓拉梵" + L["Naxxramas"] = "納克薩瑪斯" + L["Anub'Rekhan"] = "阿努比瑞克漢" + L["Grand Widow Faerlina"] = "大寡婦費琳娜" + L["Maexxna"] = "梅克絲娜" + L["Noth the Plaguebringer"] = "『瘟疫使者』諾斯" + L["Heigan the Unclean"] = "『骯髒者』海根" + L["Loatheb"] = "憎惡體" + L["Instructor Razuvious"] = "講師拉祖維斯" + L["Gothik the Harvester"] = "『收割者』高希" + L["The Four Horsemen"] = "四騎士" + L["Patchwerk"] = "縫補者" + L["Grobbulus"] = "葛羅巴斯" + L["Gluth"] = "古魯斯" + L["Thaddius"] = "泰迪斯" + L["Sapphiron"] = "薩菲隆" + L["Kel'Thuzad"] = "克爾蘇加德" + L["The Obsidian Sanctum"] = "黑曜聖所" + L["Tenebron"] = "坦納伯朗" + L["Shadron"] = "夏德朗" + L["Vesperon"] = "維斯佩朗" + L["Sartharion"] = "撒爾薩里安" + L["The Eye of Eternity"] = "永恆之眼" + L["Malygos"] = "瑪里苟斯" + L["Ulduar"] = "奧杜亞" + L["Flame Leviathan"] = "烈焰戰輪" + L["Ignis the Furnace Master"] = "『火爐之主』伊格尼司" + L["Razorscale"] = "銳鱗" + L["XT-002 Deconstructor"] = "XT-002拆解者" + L["Assembly of Iron"] = "鐵之集會" + L["Kologarn"] = "柯洛剛恩" + L["Auriaya"] = "奧芮雅" + L["Freya"] = "芙蕾雅" + L["Hodir"] = "霍迪爾" + L["Mimiron"] = "彌米倫" + L["Thorim"] = "索林姆" + L["General Vezax"] = "威扎斯將軍" + L["Yogg-Saron"] = "尤格薩倫" + L["Algalon the Observer"] = "『觀察者』艾爾加隆" + L["Trial of the Crusader"] = "十字軍試煉" + L["Northrend Beasts"] = "北列境野獸" + L["Lord Jaraxxus"] = "賈拉克瑟斯領主" + L["Faction Champions"] = "部落勇士" + L["Val'kyr Twins"] = "華爾琪雙子" + L["Anub'arak"] = "阿努巴拉克" + L["Onyxia's Lair"] = "奧妮克希亞的巢穴" + L["Onyxia"] = "奧妮克希亞" + L["Icecrown Citadel"] = "冰冠城塞" + L["Lord Marrowgar"] = "瑪洛嘉領主" + L["Lady Deathwhisper"] = "亡語女士" + L["Gunship Battle"] = "冰冠城塞砲艇戰" + L["Deathbringer Saurfang"] = "死亡使者薩魯法爾" + L["Festergut"] = "膿腸" + L["Rotface"] = "腐臉" + L["Professor Putricide"] = "普崔希德教授" + L["Blood Prince Council"] = "血親王議會" + L["Blood-Queen Lana'thel"] = "血腥女王菈娜薩爾" + L["Valithria Dreamwalker"] = "瓦莉絲瑞雅‧夢行者" + L["Sindragosa"] = "辛德拉苟莎" + L["The Lich King"] = "巫妖王" + L["The Ruby Sanctum"] = "晶紅聖所" + L["Baltharus the Warborn"] = "『戰爭之子』巴爾薩魯斯" + L["General Zarithrian"] = "扎里斯利安將軍" + L["Saviana Ragefire"] = "薩薇安娜‧怒焰" + L["Halion"] = "海萊恩" + + elseif WeakAuras.IsTBC() then + L["Karazhan"] = "卡拉贊" + L["Attumen the Huntsman"] = "獵人阿圖曼" + L["Moroes"] = "摩洛" + L["Maiden of Virtue"] = "貞潔聖女" + L["Opera Hall"] = "歌劇院" + L["The Curator"] = "館長" + L["Terestian Illhoof"] = "泰瑞斯提安·疫蹄" + L["Shade of Aran"] = "艾蘭之影" + L["Netherspite"] = "尼德斯" + L["Chess Event"] = "西洋棋事件" + L["Prince Malchezaar"] = "莫克札王子" + L["Nightbane"] = "夜禍" + L["Gruul's Lair"] = "格魯爾的巢穴" + L["High King Maulgar"] = "大君王莫卡爾" + L["Gruul the Dragonkiller"] = "弒龍者戈魯爾" + L["Magtheridon's Lair"] = "瑪瑟里頓的巢穴" + L["Magtheridon"] = "瑪瑟里頓" + L["Coilfang: Serpentshrine Cavern"] = "盤牙: 毒蛇神殿洞穴" + L["Hydross the Unstable"] = "不穩定者海卓司" + L["The Lurker Below"] = "海底潛伏者" + L["Leotheras the Blind"] = "『盲目者』李奧薩拉斯" + L["Fathom-Lord Karathress"] = "深淵之王卡拉薩瑞斯" + L["Morogrim Tidewalker"] = "莫洛葛利姆·潮行者" + L["Lady Vashj"] = "瓦許女士" + L["Tempest Keep"] = "風暴要塞" + L["Al'ar"] = "歐爾" + L["Void Reaver"] = "虛無劫奪者" + L["High Astromancer Solarian"] = "高階星術師索拉瑞恩" + L["Kael'thas Sunstrider"] = "凱爾薩斯·逐日者" + L["The Battle for Mount Hyjal"] = "海加爾山之戰" + L["Rage Winterchill"] = "瑞齊·凜冬" + L["Anetheron"] = "安納塞隆" + L["Kaz'rogal"] = "卡茲洛加" + L["Azgalor"] = "亞茲加洛" + L["Archimonde"] = "阿克蒙德" + L["Black Temple"] = "黑暗神廟" + L["High Warlord Naj'entus"] = "高階督軍納珍塔斯" + L["Supremus"] = "瑟普莫斯" + L["Shade of Akama"] = "阿卡瑪之影" + L["Teron Gorefiend"] = "泰朗血魔" + L["Gurtogg Bloodboil"] = "葛塔格·血沸" + L["Reliquary of Souls"] = "靈魂之匣" + L["Mother Shahraz"] = "薩拉茲女士" + L["The Illidari Council"] = "伊利達瑞議會" + L["Illidan Stormrage"] = "伊利丹·怒風" + L["Zul'Aman"] = "祖阿曼" + L["Akil'zon"] = "阿奇爾森" + L["Nalorakk"] = "納羅拉克" + L["Jan'alai"] = "賈納雷" + L["Halazzi"] = "哈拉齊" + L["Hex Lord Malacrass"] = "妖術領主瑪拉克雷斯" + L["Daakara"] = "達卡拉" + L["The Sunwell Plateau"] = "太陽之井高地" + L["Kalecgos"] = "卡雷苟斯" + L["Brutallus"] = "布魯托魯斯" + L["Felmyst"] = "魔龍謎霧" + L["Eredar Twins"] = "埃雷達爾雙子" + L["M'uru"] = "莫魯" + L["Kil'jaeden"] = "基爾加丹" + end end diff --git a/WeakAuras/Prototypes.lua b/WeakAuras/Prototypes.lua index 616618f..3fda3f8 100644 --- a/WeakAuras/Prototypes.lua +++ b/WeakAuras/Prototypes.lua @@ -88,7 +88,8 @@ end local constants = { nameRealmFilterDesc = L[" Filter formats: 'Name', 'Name-Realm', '-Realm'. \n\nSupports multiple entries, separated by commas\nCan use \\ to escape -."], instanceFilterDeprecated = L["This filter has been moved to the Location trigger. Change your aura to use the new Location trigger or join the WeakAuras Discord server for help."], - guildFilterDesc = L["Supports multiple entries, separated by commas. Escape with \\. Prefix with '-' for negation."] + guildFilterDesc = L["Supports multiple entries, separated by commas. Escape with \\. Prefix with '-' for negation."], + encounterDBMDesc = (WeakAuras.IsDBMRegistered() and "" or "|cFFFF0000") .. L["Requires Deadly Boss Mods (DBM) to detect encounters."] .. (WeakAuras.IsDBMRegistered() and "" or "|r") } WeakAuras.UnitRaidRole = function(unit) @@ -969,6 +970,16 @@ Private.load_prototype = { optional = true, events = {"PLAYER_DEAD", "PLAYER_ALIVE", "PLAYER_UNGHOST"} }, + { + name = "encounter", + display = WeakAuras.newFeatureString .. L["In Encounter"], + desc = constants.encounterDBMDesc, + type = "tristate", + width = WeakAuras.normalWidth, + init = "arg", + optional = true, + events = {"ENCOUNTER_START", "ENCOUNTER_END"} + }, { name = "pvpmode", display = L["PvP Mode Active"], @@ -1304,6 +1315,17 @@ Private.load_prototype = { end, optional = true, }, + { + name = "encounterid", + display = WeakAuras.newFeatureString .. L["Encounter ID(s)"], + type = "string", + init = "arg", + multiline = true, + desc = Private.get_encounters_list, + test = "WeakAuras.CheckNumericIds(%q, encounterid)", + events = {"ENCOUNTER_START", "ENCOUNTER_END"}, + optional = true, + }, { name = "size", display = L["Instance Size Type"], @@ -6204,6 +6226,85 @@ Private.event_prototypes = { timedrequired = true, progressType = "timed" }, + ["Encounter Events"] = { + type = "event", + events = { + ["events"] = { + "ENCOUNTER_START", + "ENCOUNTER_END" + } + }, + name = WeakAuras.newFeatureString..L["Entering/Leaving Encounter"], + args = { + { + name = "note", + type = "description", + display = "", + text = constants.encounterDBMDesc + }, + { + name = "eventtype", + required = true, + display = L["Type"], + type = "select", + values = "encounter_event_type", + test = "event == %q", + reloadOptions = true + }, + { + name = "encounterId", + display = L["Id"], + type = "string", + desc = Private.get_encounters_list, + validate = WeakAuras.ValidateNumeric, + conditionType = "number", + store = true, + init = "arg" + }, + { + name = "encounterName", + display = L["Name"], + type = "string", + conditionType = "string", + store = true, + init = "arg" + }, + { + name = "difficulty", + display = L["Difficulty"], + type = "select", + values = "difficulty_types", + test = "%q == WeakAuras.InstanceDifficulty()", + conditionType = "select", + conditionTest = function(state, needle) + return WeakAuras.InstanceDifficulty() == needle + end, + store = true, + init = "arg" + }, + {}, + { + name = "success", + display = L["Success"], + type = "toggle", + conditionType = "bool", + enable = function(trigger) + return trigger.eventtype == "ENCOUNTER_END" + end, + store = true, + test = "success == 1", + conditionTest = function(state, needle) + return state and (state.success == needle) + end, + init = "arg" + } + }, + statesParameter = "one", + countEvents = true, + delayEvents = true, + timedrequired = true, + progressType = "timed" + }, ["Death Knight Rune"] = { type = "unit", events = { diff --git a/WeakAuras/Types.lua b/WeakAuras/Types.lua index 1144578..0c95bf2 100644 --- a/WeakAuras/Types.lua +++ b/WeakAuras/Types.lua @@ -3105,6 +3105,11 @@ Private.combat_event_type = { PLAYER_REGEN_DISABLED = L["Entering"] } +Private.encounter_event_type = { + ENCOUNTER_END = L["Leaving"], + ENCOUNTER_START = L["Entering"] +} + Private.bool_types = { [0] = L["False"], [1] = L["True"] diff --git a/WeakAuras/Types_ClassicPlus.lua b/WeakAuras/Types_ClassicPlus.lua index ce0ff21..7007a7c 100644 --- a/WeakAuras/Types_ClassicPlus.lua +++ b/WeakAuras/Types_ClassicPlus.lua @@ -7,6 +7,131 @@ if not WeakAuras.IsClassicPlus() then return end +local WeakAuras = WeakAuras; +local L = WeakAuras.L; + +local encounter_list = "" +function Private.InitializeEncounterAndZoneLists() + if encounter_list ~= "" then + return + end + local raids = { + { + L["World Bosses"], + { + { L["Onyxia"], 1084 } + } + }, + { + L["Molten Core"], + { + { L["Lucifron"], 663 }, + { L["Magmadar"], 664 }, + { L["Gehennas"], 665 }, + { L["Garr"], 666 }, + { L["Shazzrah"], 667 }, + { L["Baron Geddon"], 668 }, + { L["Sulfuron Harbinger"], 669 }, + { L["Golemagg the Incinerator"], 670 }, + { L["Majordomo Executus"], 671 }, + { L["Ragnaros"], 672 } + } + }, + { + L["Black Wing Lair"], + { + { L["Razorgore the Untamed"], 610 }, + { L["Vaelastrasz the Corrupt"], 611 }, + { L["Broodlord Lashlayer"], 612 }, + { L["Firemaw"], 613 }, + { L["Ebonroc"], 614 }, + { L["Flamegor"], 615 }, + { L["Chromaggus"], 616 }, + { L["Nefarian"], 617 } + } + }, + { + L["Ahn'Qiraj"], + { + { L["The Prophet Skeram"], 709 }, + { L["Silithid Royalty"], 710 }, + { L["Battleguard Sartura"], 711 }, + { L["Fankriss the Unyielding"], 712 }, + { L["Viscidus"], 713 }, + { L["Princess Huhuran"], 714 }, + { L["Twin Emperors"], 715 }, + { L["Ouro"], 716 }, + { L["C'thun"], 717 } + } + }, + { + L["Ruins of Ahn'Qiraj"], + { + { L["Kurinnaxx"], 718 }, + { L["General Rajaxx"], 719 }, + { L["Moam"], 720 }, + { L["Buru the Gorger"], 721 }, + { L["Ayamiss the Hunter"], 722 }, + { L["Ossirian the Unscarred"], 723 } + } + }, + { + L["Zul'Gurub"], + { + { L["High Priest Venoxis"], 784 }, + { L["High Priestess Jeklik"], 785 }, + { L["High Priestess Mar'li"], 786 }, + { L["Bloodlord Mandokir"], 787 }, + { L["Edge of Madness"], 788 }, + { L["High Priest Thekal"], 789 }, + { L["Gahz'ranka"], 790 }, + { L["High Priestess Arlokk"], 791 }, + { L["Jin'do the Hexxer"], 792 }, + { L["Hakkar"], 793 } + } + }, + { + L["Naxxramas"], + { + -- The Arachnid Quarter + { L["Anub'Rekhan"], 1107 }, + { L["Grand Widow Faerlina"], 1110 }, + { L["Maexxna"], 1116 }, + -- The Plague Quarter + { L["Noth the Plaguebringer"], 1117 }, + { L["Heigan the Unclean"], 1112 }, + { L["Loatheb"], 1115 }, + -- The Military Quarter + { L["Instructor Razuvious"], 1113 }, + { L["Gothik the Harvester"], 1109 }, + { L["The Four Horsemen"], 1121 }, + -- The Construct Quarter + { L["Patchwerk"], 1118 }, + { L["Grobbulus"], 1111 }, + { L["Gluth"], 1108 }, + { L["Thaddius"], 1120 }, + -- Frostwyrm Lair + { L["Sapphiron"], 1119 }, + { L["Kel'Thuzad"], 1114 } + } + } + } + encounter_list = (WeakAuras.IsDBMRegistered() and "" or "|cFFFF0000") .. L["Requires Deadly Boss Mods (DBM) to detect encounters."] .. (WeakAuras.IsDBMRegistered() and "" or "|r") .. "\n\n" + for _, raid in ipairs(raids) do + encounter_list = ("%s|cffffd200%s|r\n"):format(encounter_list, raid[1]) + for _, boss in ipairs(raid[2]) do + encounter_list = ("%s%s: %d\n"):format(encounter_list, boss[1], boss[2]) + end + encounter_list = encounter_list .. "\n" + end + + encounter_list = encounter_list:sub(1, -3) .. "\n\n" .. L["Based on "] .. "https://wago.tools/db2/DungeonEncounter?build=3.4.5.63009\n" .. L["Supports multiple entries, separated by commas\n"] +end + +function Private.get_encounters_list() + return encounter_list +end + Private.talentInfo = { ["DRUID"] = { { diff --git a/WeakAuras/Types_TBC.lua b/WeakAuras/Types_TBC.lua index c685ba3..599f5bd 100644 --- a/WeakAuras/Types_TBC.lua +++ b/WeakAuras/Types_TBC.lua @@ -7,6 +7,127 @@ if not WeakAuras.IsTBC() then return end +local WeakAuras = WeakAuras; +local L = WeakAuras.L; + +local encounter_list = "" +function Private.InitializeEncounterAndZoneLists() + if encounter_list ~= "" then + return + end + local raids = { + { + L["Karazhan"], + { + { L["Attumen the Huntsman"], 652 }, + { L["Moroes"], 653 }, + { L["Maiden of Virtue"], 654 }, + { L["Opera Hall"], 655 }, + { L["The Curator"], 656 }, + { L["Terestian Illhoof"], 657 }, + { L["Shade of Aran"], 658 }, + { L["Netherspite"], 659 }, + { L["Chess Event"], 660 }, + { L["Prince Malchezaar"], 661 }, + { L["Nightbane"], 662 }, + } + }, + { + L["Gruul's Lair"], + { + { L["High King Maulgar"], 649 }, + { L["Gruul the Dragonkiller"], 650 }, + } + }, + { + L["Magtheridon's Lair"], + { + { L["Magtheridon"], 651 }, + } + }, + { + L["Coilfang: Serpentshrine Cavern"], + { + { L["Hydross the Unstable"], 623 }, + { L["The Lurker Below"], 624 }, + { L["Leotheras the Blind"], 625 }, + { L["Fathom-Lord Karathress"], 626 }, + { L["Morogrim Tidewalker"], 627 }, + { L["Lady Vashj"], 628 }, + } + }, + { + L["Tempest Keep"], + { + { L["Al'ar"], 730 }, + { L["Void Reaver"], 731 }, + { L["High Astromancer Solarian"], 732 }, + { L["Kael'thas Sunstrider"], 733 }, + } + }, + { + L["The Battle for Mount Hyjal"], + { + { L["Rage Winterchill"], 618 }, + { L["Anetheron"], 619 }, + { L["Kaz'rogal"], 620 }, + { L["Azgalor"], 621 }, + { L["Archimonde"], 622 }, + } + }, + { + L["Black Temple"], + { + { L["High Warlord Naj'entus"], 601 }, + { L["Supremus"], 602 }, + { L["Shade of Akama"], 603 }, + { L["Teron Gorefiend"], 604 }, + { L["Gurtogg Bloodboil"], 605 }, + { L["Reliquary of Souls"], 606 }, + { L["Mother Shahraz"], 607 }, + { L["The Illidari Council"], 608 }, + { L["Illidan Stormrage"], 609 }, + } + }, + { + L["Zul'Aman"], + { + { L["Akil'zon"], 1189 }, + { L["Nalorakk"], 1190 }, + { L["Jan'alai"], 1191 }, + { L["Halazzi"], 1192 }, + { L["Hex Lord Malacrass"], 1193 }, + { L["Daakara"], 1194 }, + } + }, + { + L["The Sunwell Plateau"], + { + { L["Kalecgos"], 724 }, + { L["Brutallus"], 725 }, + { L["Felmyst"], 726 }, + { L["Eredar Twins"], 727 }, + { L["M'uru"], 728 }, + { L["Kil'jaeden"], 729 }, + } + } + } + encounter_list = (WeakAuras.IsDBMRegistered() and "" or "|cFFFF0000") .. L["Requires Deadly Boss Mods (DBM) to detect encounters."] .. (WeakAuras.IsDBMRegistered() and "" or "|r") .. "\n\n" + for _, raid in ipairs(raids) do + encounter_list = ("%s|cffffd200%s|r\n"):format(encounter_list, raid[1]) + for _, boss in ipairs(raid[2]) do + encounter_list = ("%s%s: %d\n"):format(encounter_list, boss[1], boss[2]) + end + encounter_list = encounter_list .. "\n" + end + + encounter_list = encounter_list:sub(1, -3) .. "\n\n" .. L["Based on "] .. "https://wago.tools/db2/DungeonEncounter?build=3.4.5.63009\n" .. L["Supports multiple entries, separated by commas\n"] +end + +function Private.get_encounters_list() + return encounter_list +end + Private.talentInfo = { ["HUNTER"] = { { diff --git a/WeakAuras/Types_Wrath.lua b/WeakAuras/Types_Wrath.lua index 01d4a37..51343dd 100644 --- a/WeakAuras/Types_Wrath.lua +++ b/WeakAuras/Types_Wrath.lua @@ -7,6 +7,152 @@ if not WeakAuras.IsWrath() then return end +local WeakAuras = WeakAuras; +local L = WeakAuras.L; + +local encounter_list = "" +function Private.InitializeEncounterAndZoneLists() + if encounter_list ~= "" then + return + end + local raids = { + { + L["Vault of Archavon"], + { + { L["Archavon the Stone Watcher"], 772 }, + { L["Emalon the Storm Watcher"], 774 }, + { L["Koralon the Flame Watcher"], 776 }, + { L["Toravon the Ice Watcher"], 885 }, + } + }, + { + L["Naxxramas"], + { + -- The Arachnid Quarter + { L["Anub'Rekhan"], 1107 }, + { L["Grand Widow Faerlina"], 1110 }, + { L["Maexxna"], 1116 }, + -- The Plague Quarter + { L["Noth the Plaguebringer"], 1117 }, + { L["Heigan the Unclean"], 1112 }, + { L["Loatheb"], 1115 }, + -- The Military Quarter + { L["Instructor Razuvious"], 1113 }, + { L["Gothik the Harvester"], 1109 }, + { L["The Four Horsemen"], 1121 }, + -- The Construct Quarter + { L["Patchwerk"], 1118 }, + { L["Grobbulus"], 1111 }, + { L["Gluth"], 1108 }, + { L["Thaddius"], 1120 }, + -- Frostwyrm Lair + { L["Sapphiron"], 1119 }, + { L["Kel'Thuzad"], 1114 } + } + }, + { + L["The Obsidian Sanctum"], + { + { L["Tenebron"], 736 }, + { L["Shadron"], 738 }, + { L["Vesperon"], 740 }, + { L["Sartharion"], 742 }, + } + }, + { + L["The Eye of Eternity"], + { + { L["Malygos"], 734 }, + } + }, + { + L["Ulduar"], + { + -- The Siege of Ulduar + { L["Flame Leviathan"], 744 }, + { L["Ignis the Furnace Master"], 745 }, + { L["Razorscale"], 746 }, + { L["XT-002 Deconstructor"], 747 }, + -- The Antechamber of Ulduar + { L["Assembly of Iron"], 748 }, + { L["Kologarn"], 749 }, + { L["Auriaya"], 750 }, + -- The Keepers of Ulduar + { L["Freya"], 753 }, + { L["Hodir"], 751 }, + { L["Mimiron"], 754 }, + { L["Thorim"], 752 }, + -- The Descent into Madness + { L["General Vezax"], 755 }, + { L["Yogg-Saron"], 756 }, + -- Celestial Planetarium + { L["Algalon the Observer"], 757 }, + } + }, + { + L["Trial of the Crusader"], + { + { L["Northrend Beasts"], 629 }, + { L["Lord Jaraxxus"], 633 }, + { L["Faction Champions"], 637 }, + { L["Val'kyr Twins"], 641 }, + { L["Anub'arak"], 645 }, + } + }, + { + L["Onyxia's Lair"], + { + { L["Onyxia"], 1084 }, + } + }, + { + L["Icecrown Citadel"], + { + -- The Lower Spire + { L["Lord Marrowgar"], 845 }, + { L["Lady Deathwhisper"], 846 }, + { L["Gunship Battle"], 847 }, + { L["Deathbringer Saurfang"], 848 }, + -- The Plagueworks + { L["Festergut"], 849 }, + { L["Rotface"], 850 }, + { L["Professor Putricide"], 851 }, + -- The Crimson Hall + { L["Blood Prince Council"], 852 }, + { L["Blood-Queen Lana'thel"], 853 }, + -- The Frostwing Halls + { L["Valithria Dreamwalker"], 854 }, + { L["Sindragosa"], 855 }, + -- The Frozen Throne + { L["The Lich King"], 856 }, + } + }, + { + L["The Ruby Sanctum"], + { + { L["Baltharus the Warborn"], 890 }, + { L["General Zarithrian"], 893 }, + { L["Saviana Ragefire"], 891 }, + { L["Halion"], 887 }, + } + }, + } + encounter_list = (WeakAuras.IsDBMRegistered() and "" or "|cFFFF0000") .. L["Requires Deadly Boss Mods (DBM) to detect encounters."] .. (WeakAuras.IsDBMRegistered() and "" or "|r") .. "\n\n" + for _, raid in ipairs(raids) do + encounter_list = ("%s|cffffd200%s|r\n"):format(encounter_list, raid[1]) + for _, boss in ipairs(raid[2]) do + encounter_list = ("%s%s: %d\n"):format(encounter_list, boss[1], boss[2]) + end + encounter_list = encounter_list .. "\n" + end + + encounter_list = encounter_list:sub(1, -3) .. "\n\n" .. L["Based on "] .. "https://wago.tools/db2/DungeonEncounter?build=3.4.5.63009\n" .. L["Supports multiple entries, separated by commas\n"] +end + +function Private.get_encounters_list() + return encounter_list +end + Private.talentInfo = { ["HUNTER"] = { { diff --git a/WeakAuras/WeakAuras.lua b/WeakAuras/WeakAuras.lua index 8620a0a..97b2623 100644 --- a/WeakAuras/WeakAuras.lua +++ b/WeakAuras/WeakAuras.lua @@ -25,8 +25,8 @@ local SendChatMessage, UnitInBattleground = SendChatMessage, UnitInBattleground local GetTime, UpdateAddOnCPUUsage, GetFrameCPUUsage, debugprofilestop = GetTime, UpdateAddOnCPUUsage, GetFrameCPUUsage, debugprofilestop -local GetNumTalentTabs, GetNumTalents, MAX_NUM_TALENTS - = GetNumTalentTabs, GetNumTalents, MAX_NUM_TALENTS or 40 +local GetNumTalentTabs, GetNumTalents, MAX_NUM_TALENTS, MAX_BOSS_FRAMES + = GetNumTalentTabs, GetNumTalents, MAX_NUM_TALENTS or 40, MAX_BOSS_FRAMES or 5 local CreateFrame, IsShiftKeyDown, GetScreenWidth, GetScreenHeight, GetCursorPosition = CreateFrame, IsShiftKeyDown, GetScreenWidth, GetScreenHeight, GetCursorPosition local debugstack, wipe, GetSpellInfo = debugstack, wipe, GetSpellInfo @@ -1165,6 +1165,24 @@ function Private.LoginMessage() return loginMessage end +local function CheckForPreviousEncounter() + if (UnitAffectingCombat ("player") or InCombatLockdown()) then + for i = 1, MAX_BOSS_FRAMES do + if (UnitExists ("boss" .. i)) then + local guid = UnitGUID ("boss" .. i) + if (guid and db.CurrentEncounter.boss_guids [guid]) then + -- we are in the same encounter + WeakAuras.CurrentEncounter = db.CurrentEncounter + return true + end + end + end + db.CurrentEncounter = nil + else + db.CurrentEncounter = nil + end +end + function Private.Login(takeNewSnapshots) local loginThread = coroutine.create(function() Private.Pause(); @@ -1201,6 +1219,10 @@ function Private.Login(takeNewSnapshots) Private.AddMany(toAdd, takeNewSnapshots); coroutine.yield(1000); + -- check in case of a disconnect during an encounter. + if (db.CurrentEncounter) then + CheckForPreviousEncounter() + end coroutine.yield(1000); Private.RegisterLoadEvents(); coroutine.yield(10000); @@ -1315,6 +1337,7 @@ loadedFrame:SetScript("OnEvent", function(self, event, ...) if remainingSquelch > 0 then timer:ScheduleTimer(function() squelch_actions = false; end, remainingSquelch); -- No sounds while loading end + Private.InitializeEncounterAndZoneLists() end if not isInitialLogin then isInitialLogin = true @@ -1395,6 +1418,42 @@ function Private.ResumeAllDynamicGroups(suspended) end end +-- Encounter stuff +local function StoreBossGUIDs() + Private.StartProfileSystem("boss_guids") + if (WeakAuras.CurrentEncounter and WeakAuras.CurrentEncounter.boss_guids) then + for i = 1, MAX_BOSS_FRAMES do + if (UnitExists ("boss" .. i)) then + local guid = UnitGUID ("boss" .. i) + if (guid) then + WeakAuras.CurrentEncounter.boss_guids [guid] = true + end + end + end + db.CurrentEncounter = WeakAuras.CurrentEncounter + end + Private.StopProfileSystem("boss_guids") +end + +local function DestroyEncounterTable() + if (WeakAuras.CurrentEncounter) then + wipe(WeakAuras.CurrentEncounter) + end + WeakAuras.CurrentEncounter = nil + db.CurrentEncounter = nil +end + +local function CreateEncounterTable(encounter_id) + WeakAuras.CurrentEncounter = { + id = encounter_id, + zone_id = GetCurrentMapAreaID(), + boss_guids = {}, + } + timer:ScheduleTimer(StoreBossGUIDs, 2) + + return WeakAuras.CurrentEncounter +end + local pausedOptionsProcessing = false; function Private.pauseOptionsProcessing(enable) pausedOptionsProcessing = enable; @@ -1475,6 +1534,19 @@ local function scanForLoadsImpl(toCheck, event, arg1, ...) playerLevel = arg1; end + -- encounter id stuff, we are holding the current combat id to further load checks. + -- there is three ways to unload: encounter_end / zone changed (hearthstone used) / reload or disconnect + -- regen_enabled isn't good due to combat drop abilities such invisibility, vanish, fake death, etc. + local encounter_id = WeakAuras.CurrentEncounter and WeakAuras.CurrentEncounter.id or 0 + + if (event == "ENCOUNTER_START") then + encounter_id = tonumber(arg1) + CreateEncounterTable(encounter_id) + elseif (event == "ENCOUNTER_END") then + encounter_id = 0 + DestroyEncounterTable() + end + if toCheck == nil or next(toCheck) == nil then return end @@ -1493,6 +1565,7 @@ local function scanForLoadsImpl(toCheck, event, arg1, ...) local _, class = UnitClass("player"); local inCombat = UnitAffectingCombat("player") + local inEncounter = encounter_id ~= 0; local alive = not UnitIsDeadOrGhost('player') local pvp = UnitIsPVPFreeForAll("player") or UnitIsPVP("player") local vehicle = UnitInVehicle("player") or UnitOnTaxi("player") or false @@ -1509,6 +1582,14 @@ local function scanForLoadsImpl(toCheck, event, arg1, ...) end local size, difficulty = GetInstanceTypeAndSize() + + if (WeakAuras.CurrentEncounter) then + if (zone ~= WeakAuras.CurrentEncounter.zone_id and not inCombat) then + encounter_id = 0 + DestroyEncounterTable() + end + end + local group = Private.ExecEnv.GroupType() local groupSize = GetNumGroupMembers() @@ -1523,8 +1604,8 @@ local function scanForLoadsImpl(toCheck, event, arg1, ...) if (data and not data.controlledChildren) then local loadFunc = loadFuncs[id]; local loadOpt = loadFuncsForOptions[id]; - shouldBeLoaded = loadFunc and loadFunc("ScanForLoads_Auras", inCombat, alive, pvp, vehicle, vehicleUi, mounted, class, player, realm, guild, race, faction, playerLevel, role, role, raidRole, group, groupSize, raidMemberType, zone, zoneId, subzone, size, difficulty); - couldBeLoaded = loadOpt and loadOpt("ScanForLoads_Auras", inCombat, alive, pvp, vehicle, vehicleUi, mounted, class, player, realm, guild, race, faction, playerLevel, role, role, raidRole, group, groupSize, raidMemberType, zone, zoneId, subzone, size, difficulty); + shouldBeLoaded = loadFunc and loadFunc("ScanForLoads_Auras", inCombat, alive, inEncounter, pvp, vehicle, vehicleUi, mounted, class, player, realm, guild, race, faction, playerLevel, role, role, raidRole, group, groupSize, raidMemberType, zone, zoneId, subzone, encounter_id, size, difficulty); + couldBeLoaded = loadOpt and loadOpt("ScanForLoads_Auras", inCombat, alive, inEncounter, pvp, vehicle, vehicleUi, mounted, class, player, realm, guild, race, faction, playerLevel, role, role, raidRole, group, groupSize, raidMemberType, zone, zoneId, subzone, encounter_id, size, difficulty); if(shouldBeLoaded and not loaded[id]) then changed = changed + 1; @@ -2386,7 +2467,7 @@ function Private.AddMany(tbl, takeSnapshots) else if next(WeakAuras.LoadFromArchive("Repository", "migration").stores) ~= nil then timer:ScheduleTimer(function() - prettyPrint(L["WeakAuras has detected empty settings. If this is unexpected, ask for assitance on https://discord.gg/UXSc7nt."]) + prettyPrint(L["WeakAuras has detected empty settings. If this is unexpected, ask for assistance on https://discord.gg/UXSc7nt."]) end, 1) end end @@ -2728,6 +2809,15 @@ local oldDataStub2 = { conditions = {}, } +function Private.WarnEncounterEvent(data) + if data.load and (data.load.use_encounter ~= nil or data.load.use_encounterid) then + Private.AuraWarnings.UpdateWarning(data.uid, "dbm_required_for_load_encounter", "error", + L["|cFFFF0000Encounter load options requires Deadly Boss Mods (DBM) to be installed and up to date.|r"]) + else + Private.AuraWarnings.UpdateWarning(data.uid, "dbm_required_for_load_encounter") + end +end + function Private.UpdateSoundIcon(data) local function testConditions() local sound, tts @@ -3026,6 +3116,9 @@ function pAdd(data, simpleChange) end Private.UpdateSoundIcon(data) + if not WeakAuras.IsDBMRegistered() then + Private.WarnEncounterEvent(data) + end Private.callbacks:Fire("Add", data.uid, data.id, data, simpleChange) end end diff --git a/WeakAurasOptions/AceGUI-Widgets/AceGUIWidget-WeakAurasDisplayButton.lua b/WeakAurasOptions/AceGUI-Widgets/AceGUIWidget-WeakAurasDisplayButton.lua index 646b8a8..a616f38 100644 --- a/WeakAurasOptions/AceGUI-Widgets/AceGUIWidget-WeakAurasDisplayButton.lua +++ b/WeakAurasOptions/AceGUI-Widgets/AceGUIWidget-WeakAurasDisplayButton.lua @@ -435,7 +435,9 @@ local tabsForWarning = { sound_condition = "conditions", tts_action = "action", sound_action = "action", - spammy_event_warning = "trigger" + spammy_event_warning = "trigger", + dbm_required_for_load_encounter = "load", + dbm_required_for_encounter_events = "trigger" } --[[-----------------------------------------------------------------------------