diff --git a/Addon/Code/Encounter.lua b/Addon/Code/Encounter.lua index c9d1444..cc605de 100755 --- a/Addon/Code/Encounter.lua +++ b/Addon/Code/Encounter.lua @@ -24,6 +24,8 @@ local TAG_TO_ICON = { enrage = 11 } +local ORIGINALS = {} + local function HideOtherContent() local frames = { "overviewScroll", "LootContainer", 'detailsScroll', 'model' } for _, frame in ipairs(frames) do @@ -67,15 +69,6 @@ local function SetAbilityIcon(header, tags) EncounterJournal_SetFlagIcon(tex, index) end end - - - -end - -local function ColorSpellNames(text, color) - return text:gsub("%[(.-)%]", function(match) - return string.format("|c%s[%s]|r", color or "FF0000FF", match) - end) end local function RenderBossAbilities(data, parent, layer) @@ -86,10 +79,10 @@ local function RenderBossAbilities(data, parent, layer) end for _, node in ipairs(data) do - local abilityValue = addon.API.ResolveGender(addon.API.GetEncounterAbility(node.key)) + local abilityValue = addon.API.GetEncounterAbility(node.key) if abilityValue then - local abilityParts = addon.API.SplitAbilityParts(abilityValue, "|") + local abilityParts = addon.API.ParseAbilities(abilityValue, "|") local name = abilityParts[1] local tag = abilityParts[3] local description = abilityParts[5] @@ -104,7 +97,7 @@ local function RenderBossAbilities(data, parent, layer) end header.description:SetWidth(header:GetWidth() - 20) - header.description:SetText(description) + header.description:SetText(addon.API.SetAbilityDescription(description, ORIGINALS[name])) if description == "" then header.empty = true end table.insert(parent.children, header) @@ -119,49 +112,34 @@ local function RenderBossAbilities(data, parent, layer) end end -local function RenderBossEncounter(bossName, bossKey) +local function RenderBossEncounter(bossKey, bossName) local frame = addon.EncounterFrame HideOtherContent() local bossData = CzechQuestsAddon:GetData('encounter', bossKey) - local function CreateHeaderDescription(data) - local value = addon.API.ResolveGender(data) - local result = {} - for part in string.gmatch(value, "([^\n]+)") do - table.insert(result, part) - end - local description = "" - for i, part in pairs(result) do - description = description - .. "- " - .. ColorSpellNames(part) - .. (i == #result and "" or "\n\n") - end - return description - end - frame.summary:SetText( - ColorSpellNames( - addon.API.ResolveGender(bossData.overview) - ) + addon.API.SetAbilityDescription(bossData.overview, ORIGINALS['Overview']) ) local tankHeader = frame:CreateHeader() tankHeader.button.title:SetText("Tank") - tankHeader.description:SetText(CreateHeaderDescription(bossData.tank)) + local tankDescription = addon.API.SetSummaryDescription(bossData.tank, ORIGINALS['Tanks']) + tankHeader.description:SetText(tankDescription) table.insert(frame.headers, tankHeader) SetAbilityIcon(tankHeader, 'tank') local healHeader = frame:CreateHeader() healHeader.button.title:SetText("Healer") - healHeader.description:SetText(CreateHeaderDescription(bossData.healer)) + local healerDescription = addon.API.SetSummaryDescription(bossData.healer, ORIGINALS['Healers']) + healHeader.description:SetText(healerDescription) table.insert(frame.headers, healHeader) SetAbilityIcon(healHeader, 'healer') local dpsHeader = frame:CreateHeader() dpsHeader.button.title:SetText("Damage Dealer") - dpsHeader.description:SetText(CreateHeaderDescription(bossData.dps)) + local dpsDescription = addon.API.SetSummaryDescription(bossData.dps, ORIGINALS['Damage Dealers']) + dpsHeader.description:SetText(dpsDescription) table.insert(frame.headers, dpsHeader) SetAbilityIcon(dpsHeader, 'dps') @@ -169,16 +147,31 @@ local function RenderBossEncounter(bossName, bossKey) bossHeader.button.title:SetText(bossName) bossHeader.empty = true table.insert(frame.headers, bossHeader) - - -- abilities RenderBossAbilities(bossData.abilities, bossHeader, 1) frame:GetParent():Show() frame:UpdateHeaderPositions() - end +end + +local function StoreBossAbilities() + ORIGINALS = {} + local stack, _, _, _, curSectionID = {}, EJ_GetEncounterInfo(ENCOUNTER_ID) + repeat + local info = C_EncounterJournal.GetSectionInfo(curSectionID) + if not info.filteredByDifficulty then + ORIGINALS[info.title] = info.description + end + table.insert(stack, info.siblingSectionID) + if not info.filteredByDifficulty then + table.insert(stack, info.firstChildSectionID) + end + curSectionID = table.remove(stack) + until not curSectionID +end local function DetectBossToRender() local frame = addon.EncounterFrame + local encounterName = EJ_GetEncounterInfo(ENCOUNTER_ID) local difficulty = 'lfg_raid' -- 17 @@ -196,14 +189,12 @@ local function DetectBossToRender() difficulty = 'mythic_dungeon' end - local bossName = nil local bossKey = nil for i = 1, 10 do local id, name = EJ_GetCreatureInfo(i); if id then local key = name .. "_" .. difficulty if addon.data.encounter[key] then - bossName = name bossKey = key break end @@ -211,7 +202,8 @@ local function DetectBossToRender() end if bossKey then - RenderBossEncounter(bossName, bossKey) + StoreBossAbilities() + RenderBossEncounter(bossKey, encounterName) end if bossKey == nil then @@ -220,11 +212,11 @@ local function DetectBossToRender() end end -local function HideEncounterFrame() +local function HideEncounterContent() addon.EncounterFrame:GetParent():Hide() end -local function ShowEncounterFrame() +local function ShowEncounterContent() CURRENT_TAB_ID = ENCOUNTER_TAB_ID HideOtherContent() @@ -240,7 +232,7 @@ end local function SetupCustomTab() addon.EncounterFrame.tab:SetScript("OnClick", function() - ShowEncounterFrame() + ShowEncounterContent() end) hooksecurefunc("EncounterJournal_DisplayEncounter", function(encounterID) @@ -248,7 +240,7 @@ local function SetupCustomTab() addon.EncounterFrame.tab:SetActive(true); if CURRENT_TAB_ID == ENCOUNTER_TAB_ID then - ShowEncounterFrame() + ShowEncounterContent() end end) @@ -263,19 +255,19 @@ local function SetupCustomTab() PREVIOUS_TAB_ID = CURRENT_TAB_ID CURRENT_TAB_ID = tabId - HideEncounterFrame() + HideEncounterContent() end) hooksecurefunc("EncounterJournalBossButton_OnClick", function(encounterID) if PREVIOUS_TAB_ID == ENCOUNTER_TAB_ID then - ShowEncounterFrame() + ShowEncounterContent() end end) hooksecurefunc("EncounterJournal_UpdateDifficulty", function(difficulty) DIFFICULTY = difficulty if PREVIOUS_TAB_ID == ENCOUNTER_TAB_ID and ENCOUNTER_ID then - ShowEncounterFrame() + ShowEncounterContent() end end) end @@ -283,7 +275,6 @@ end local function InitEncounters() local frame = addon.EncounterFrame - -- Register EncounterJournal events frame:RegisterEvent("ADDON_LOADED") frame:SetScript("OnEvent", function(self, event, addonName) diff --git a/Addon/Code/EncounterDataApi.lua b/Addon/Code/EncounterDataApi.lua index b3d0cbe..e0f1214 100755 --- a/Addon/Code/EncounterDataApi.lua +++ b/Addon/Code/EncounterDataApi.lua @@ -1,6 +1,6 @@ local _, addon = ... -local function SplitAbilityParts(input, delimiter) +local function ParseAbilities(input, delimiter) local result = {} local pattern = "([^" .. delimiter .. "]*)" local normalizedAbility = string.gsub(input, "||", "|???|") @@ -17,21 +17,46 @@ local function SplitAbilityParts(input, delimiter) return result end -addon.API.SplitAbilityParts = SplitAbilityParts +addon.API.ParseAbilities = ParseAbilities +local function SetAbilityDescription(text, original) + local withNumbers = addon.API.FillNumbers(text, original) + return addon.API.ColorSpellNames(withNumbers) +end +addon.API.SetAbilityDescription = SetAbilityDescription + +local function SetSummaryDescription(text, original) + local withNumbers = addon.API.FillNumbers(text, original) + + local lines = {} + for part in string.gmatch(withNumbers, "([^\n]+)") do + table.insert(lines, part) + end + + local description = "" + for i, line in pairs(lines) do + description = description + .. "- " + .. addon.API.ColorSpellNames(line) + .. (i == #lines and "" or "\n\n") + end + + return description +end +addon.API.SetSummaryDescription = SetSummaryDescription local function GetEncounterAbility(abilityKey) - return addon.data.encounter[abilityKey] or nil + return addon.data.encounter[abilityKey].m or nil end addon.API.GetEncounterAbility = GetEncounterAbility local function GetEncounter(bossKey) return { abilities = addon.data.encounter[bossKey] or nil, - overview = addon.data.encounter[bossKey .. "_summary_instance"] or nil, - tank = addon.data.encounter[bossKey .. "_summary_tank"] or nil, - healer = addon.data.encounter[bossKey .. "_summary_healer"] or nil, - dps = addon.data.encounter[bossKey .. "_summary_dps"] or nil, + overview = addon.data.encounter[bossKey .. "_summary_instance"].m or nil, + tank = addon.data.encounter[bossKey .. "_summary_tank"].m or nil, + healer = addon.data.encounter[bossKey .. "_summary_healer"].m or nil, + dps = addon.data.encounter[bossKey .. "_summary_dps"].m or nil, } end addon.API.GetEncounter = GetEncounter \ No newline at end of file diff --git a/Addon/Code/EncounterFrame.lua b/Addon/Code/EncounterFrame.lua index 32e5380..90dfa99 100755 --- a/Addon/Code/EncounterFrame.lua +++ b/Addon/Code/EncounterFrame.lua @@ -120,7 +120,7 @@ function EncounterFrame:CreateHeader() HeaderFrame.expanded = false HeaderFrame.empty = false - HeaderFrame.button.title:SetPoint("TOPLEFT", HeaderFrame, "TOPLEFT", 40, -7); + HeaderFrame.button.title:SetPoint("TOPLEFT", HeaderFrame, "TOPLEFT", 30, -7); HeaderFrame.button.title:SetWidth(self:GetParent():GetWidth() - 110) for i = 1, #HeaderFrame.Bullets do @@ -229,24 +229,16 @@ end function EncounterFrame:ClearHeaders() local function clear(headers) for _, header in ipairs(headers) do - -- Skrytí aktuálního záhlaví header:Hide() header:SetParent(nil) - - -- Rekurzivně skrýváme podřízená záhlaví if header.children and #header.children > 0 then clear(header.children) end - - -- Vymazání záhlaví header = nil end - - -- Vyprázdnění seznamu wipe(headers) end - -- Vymazání všech hlavních záhlaví clear(self.headers) end diff --git a/Addon/Code/Shared.lua b/Addon/Code/Shared.lua new file mode 100644 index 0000000..881e570 --- /dev/null +++ b/Addon/Code/Shared.lua @@ -0,0 +1,43 @@ +local _, addon = ... + +local function ClearNumberStringMarks(text) + -- Remove colors (|cffffff...) + text = text:gsub("|c%x%x%x%x%x%x%x%x", "") + -- Remove H marks + text = text:gsub("|H.-|h", "") + return text +end + +local function FillNumbers(text, sourceText) + local numbers = {} + local currentIndex = 1 + + local source = ClearNumberStringMarks(sourceText) + + for num in source:gmatch("(%d[%d,%.]*)") do + table.insert(numbers, num) + end + + local replacedText = text:gsub("#%?", function() + local n = numbers[currentIndex] + currentIndex = currentIndex + 1 + + if n and source:match("%s+" .. n .. "%s+million") then + return n .. " mil." + elseif n and source:match("%s+" .. n .. "%s+million") then + return n .. " mil." + end + + return n or "?" + end) + + return replacedText +end +addon.API.FillNumbers = FillNumbers + +local function ColorSpellNames(text, color) + return text:gsub("%[(.-)%]", function(match) + return string.format("|c%s[%s]|r", color or "FF0000FF", match) + end) +end +addon.API.ColorSpellNames = ColorSpellNames \ No newline at end of file diff --git a/Addon/Code/SpeechDataApi.lua b/Addon/Code/SpeechDataApi.lua index c7a80ba..0443d13 100755 --- a/Addon/Code/SpeechDataApi.lua +++ b/Addon/Code/SpeechDataApi.lua @@ -6,23 +6,6 @@ local function BuildIndex(text) return normalized end -local function FillNumbers(text, sourceText) - local numbers = {} - local currentIndex = 1 - - for num in sourceText:gmatch("%d+%.?%d*") do - table.insert(numbers, num) - end - - local replacedText = text:gsub("#%?", function() - local n = numbers[currentIndex] - currentIndex = currentIndex + 1 - return n or "?" - end) - - return replacedText -end - local function FillPlaceholders(text) if text == nil then return text @@ -41,7 +24,9 @@ local function GetSpeech(message) local speech = addon.data.speech[index]; local text = speech and speech.m or nil if text then - return FillPlaceholders(FillNumbers(text, message)) + return FillPlaceholders( + addon.API.FillNumbers(text, message) + ) else return nil end diff --git a/Addon/Data/retail/10.lua b/Addon/Data/retail/10.lua index 8c4f24e..a5b1502 100644 --- a/Addon/Data/retail/10.lua +++ b/Addon/Data/retail/10.lua @@ -1,126 +1,4 @@ local _, addon = ... -addon.data.speech["Cataloger Simone_Eyes on me! Ready? Set? Laugh!"] = { - m = "Sledujte mě! Připraven? Připravit? Směj se!", -} -addon.data.speech["Cataloger Simone_Let's give a big wave to the camera! Big wave, come on!"] = { - m = "Zamávejme na kameru! Velká vlna, no tak!", -} -addon.data.speech["Cataloger Simone_Eyes on me! Now wave to your fans!"] = { - m = "Sledujte mě! A teď zamávej svým fanouškům!", -} -addon.data.speech["Cataloger Simone_Focus on me and show me you can dance!"] = { - m = "Soustřeď se na mě a ukaž, že umíš tančit!", -} -addon.data.speech["Cataloger Simone_Wave to the camera! Wave to it, superstar!"] = { - m = "Zamávejte do kamery! Zamávej jí, superhvězdo!", -} -addon.data.speech["Cataloger Simone_Show me the tears! Show me you can cry on cue!"] = { - m = "Ukažte mi slzy! Ukaž mi, že umíš plakat na povel!", -} -addon.data.speech["Cataloger Simone_Let's see some muscle! Flex for me!"] = { - m = "Ukažte nám svaly! Oheň pro mě!", -} -addon.data.speech["Cataloger Simone_! You've got a look that says you know a thing or two about style!"] = { - m = "! Tvůj vzhled napovídá, že o stylu něco víš!", -} -addon.data.speech["Cataloger Simone_Let's see a strong salute! Focus on me and salute!"] = { - m = "Uvidíme silný pozdrav! Soustřeďte se na mě a salutujte!", -} -addon.data.speech["Cataloger Simone_Show me your best dance moves!"] = { - m = "Ukažte mi své nejlepší taneční pohyby!", -} -addon.data.speech["Cataloger Simone_Let's see how you dance. Focus on me and dance up a storm!"] = { - m = "Podívejme se, jak tančíš. Soustřeďte se na mě a tančete jako bouře!", -} -addon.data.speech["Cataloger Simone_Roar! Let me see you roar! Let that beast out!"] = { - m = "Roar! Ukaž mi, jak řveš! Vypusť tu bestii ven!", -} -addon.data.speech["Cataloger Simone_Strike a pose! Flex your muscles!"] = { - m = "Zapózujte! Napněte svaly!", -} -addon.data.speech["Cataloger Simone_I need to see some emotion. Cry for me!"] = { - m = "Potřebuji vidět nějaké emoce. Plačte za mě!", -} -addon.data.speech["Cataloger Simone_Dance like nobody's watching... But make sure you dance for the camera!"] = { - m = "Tancuj, jako by se nikdo nedíval... Ale nezapomeňte tančit před kamerou!", -} -addon.data.quest["q86705_name"] = { - m = "Pracujte na tom", -} -addon.data.quest["q86705_description"] = { - m = "Zkouška stylu nám dává příležitost vypadat dobře. . Kamera se postará o to, abychom vypadali dobře i nadále. Takže se soustřeďte na mě a můj fotoaparát, dodržujte mé pokyny a já se postarám o to, abyste vypadali fantasticky!", - f = "Zkouška stylu nám dává příležitost vypadat dobře. . Kamera se stará o to, abychom stále vypadali dobře. Takže se soustřeďte na mě a můj fotoaparát, dodržujte mé pokyny a já se postarám o to, abyste vypadali fantasticky!", -} -addon.data.quest["q86705_objective"] = { - m = "Soustřeďte se na fotografa a postupujte podle jeho pokynů.", -} -addon.data.quest["q86705_progress"] = { - m = "Soustřeďte se na mě a řiďte se mými pokyny.\n\nPostarám se, abys vypadala skvěle.", -} -addon.data.quest["q86705_completion"] = { - m = "Kamera nelže, .\n\nJsi stylový .", - f = "Kamera nelže, .\n\nJsi jedna stylová .", -} -addon.data.speech["Cataloger Grilka_Let's give a big wave to the camera! Big wave, come on!"] = { - m = "Zamávejme na kameru! Velká vlna, no tak!", -} -addon.data.speech["Cataloger Grilka_Demon Hunter! You've got a look that says you know a thing or two about style!"] = { - m = "Lovec démonů! Tvůj vzhled napovídá, že se vyznáš ve stylu!", -} -addon.data.speech["Cataloger Grilka_Laugh for me! Pretend I just told you the world's best joke, let's hear it!"] = { - m = "Smějte se za mě! Představte si, že jsem vám právě řekl nejlepší vtip na světě, poslechněte si ho!", -} -addon.data.speech["Cataloger Grilka_Eyes on me! Ready? Set? Laugh!"] = { - m = "Sledujte mě! Připraven? Připravit? Směj se!", -} -addon.data.speech["Cataloger Grilka_I need to see some emotion. Cry for me!"] = { - m = "Potřebuji vidět nějaké emoce. Plačte za mě!", -} -addon.data.speech["Cataloger Grilka_Focus on me and show me you can dance!"] = { - m = "Soustřeď se na mě a ukaž, že umíš tančit!", -} -addon.data.speech["Cataloger Grilka_Dance like nobody's watching... But make sure you dance for the camera!"] = { - m = "Tancuj, jako by se nikdo nedíval... Ale nezapomeňte tančit před kamerou!", -} -addon.data.speech["Cataloger Grilka_Show me your best salute!"] = { - m = "Ukaž mi svůj nejlepší pozdrav!", -} -addon.data.speech["Cataloger Grilka_Let's see a strong salute! Focus on me and salute!"] = { - m = "Uvidíme silný pozdrav! Soustřeďte se na mě a salutujte!", -} -addon.data.speech["Cataloger Grilka_Roar for me! Look at me and roar!"] = { - m = "Řvi za mě! Podívejte se na mě a zařvěte!", -} -addon.data.speech["Cataloger Grilka_Roar! Let me see you roar! Let that beast out!"] = { - m = "Roar! Ukaž mi, jak řveš! Vypusť tu bestii ven!", -} -addon.data.speech["Cataloger Grilka_Focus on me! Now show me your mightiest roar!"] = { - m = "Soustřeďte se na mě! Teď mi ukaž svůj nejsilnější řev!", -} -addon.data.speech["Cataloger Grilka_Let's see your best laugh! Focus on me and laugh!"] = { - m = "Podívejme se na váš nejlepší smích! Soustřeďte se na mě a smějte se!", -} -addon.data.speech["Cataloger Grilka_Strike a pose! Flex your muscles!"] = { - m = "Zapózujte! Napněte svaly!", -} -addon.data.speech["Cataloger Grilka_Show me how strong you are. Flex those muscles!"] = { - m = "Ukaž mi, jak jsi silný. Napněte svaly!", -} -addon.data.speech["Cataloger Grilka_! You've got a look that says you know a thing or two about style!"] = { - m = "! Tvůj vzhled napovídá, že o stylu něco víš!", -} -addon.data.speech["Cataloger Grilka_Focus on me and cry. Let's see the tears!"] = { - m = "Soustřeďte se na mě a plačte. Uvidíme slzy!", -} -addon.data.speech["Cataloger Grilka_Let's see some muscle! Flex for me!"] = { - m = "Ukažte nám svaly! Oheň pro mě!", -} -addon.data.speech["Cataloger Grilka_Show me the tears! Show me you can cry on cue!"] = { - m = "Ukažte mi slzy! Ukaž mi, že umíš plakat na povel!", -} -addon.data.speech["Cataloger Grilka_Death Knight! You've got a look that says you know a thing or two about style!"] = { - m = "Rytíř smrti! Tvůj vzhled napovídá, že o stylu něco víš!", -} addon.data.speech["Cataloger Grilka_Show me your best dance moves!"] = { m = "Ukažte mi své nejlepší taneční pohyby!", } @@ -304,6 +182,39 @@ addon.data.speech["Heaps Morale Booster_THIS IS YOUR REMINDER TO MINE AS MANY CH addon.data.encounter["The Gobfather_normal_raid_a03b221c_00"] = { m = "???||", } +addon.data.encounter["The Gobfather_normal_raid_0dd77eb8_0000"] = { + m = "Bombfield|Important|Gobfather rozptýlí Primed Boomcrawlery, které se potulují #? s. Šlápnutí na Primed Boomcrawlera způsobí jeho předčasnou detonaci a spustí Bomb Voyage.", +} addon.data.encounter["The Gobfather_normal_raid_3df09614_000000"] = { m = "Primed Boomcrawler||", } +addon.data.encounter["The Gobfather_normal_raid_2dff6e6c_00000000"] = { + m = "Reinforced Plating||Zesílené opláštění snižuje poškození, které obdrží Primed Boomcrawler, o #? %.", +} +addon.data.encounter["The Gobfather_normal_raid_eeafee09_00000001"] = { + m = "Bomb Voyage||Primed Boomcrawler detonuje, způsobí #? Fire poškození a odhodí hráče v okruhu #? yardů.", +} +addon.data.encounter["The Gobfather_normal_raid_a4190c2f_0001"] = { + m = "Death From Above||Gobfather vypustí ze svých raketometů příval raket, které způsobí #? Fire poškození hráčům v okruhu #? yardů od každého zásahu.", +} +addon.data.encounter["The Gobfather_normal_raid_b3ae61ca_0002"] = { + m = "Giga-Rocket Slam||Gobfather udeří obrovskou silou do země, čímž všem hráčům způsobí #? Fire poškození a odhodí je zpět.", +} +addon.data.encounter["The Gobfather_normal_raid_c5b3601a_0003"] = { + m = "Flaming Flames||The Gobfather vypustí plamenný proud, který způsobí #? Fire poškození hráčům v čelním kuželu.", +} +addon.data.encounter["The Gobfather_normal_raid_09c97f46_0004"] = { + m = "Excessive Pollutants|Healer|Gobfather vypouští do vzduchu nebezpečné chemikálie, které způsobují #? Nature poškození v intervalu #? s.", +} +addon.data.encounter["The Gobfather_normal_raid_summary_instance"] = { + m = "Gobfather se nehodlá vzdát bez závěrečného boje, rozmetá Primed Boomcrawlers pomocí [Bombfield] a srazí hráče k zemi pomocí [Giga-Rocket Slam]. Při #? energiích vytasí veškerou sílu a zasype je [Death From Above].", +} +addon.data.encounter["The Gobfather_normal_raid_summary_tank"] = { + m = "Primed Boomcrawlers explodují pomocí [Bomb Voyage] po sešlápnutí. \nThe Gobfather způsobuje masivní poškození svými střelami [Death From Above]. \n[Flaming Flames] způsobují poškození hráčům před The Gobfatherem.", +} +addon.data.encounter["The Gobfather_normal_raid_summary_healer"] = { + m = "Primed Boomcrawlers po sešlápnutí explodují pomocí [Bomb Voyage]. \n[Excessive Pollutants] neustále způsobuje poškození všem hráčům. \nGobfather uděluje obrovské poškození svými střelami [Death From Above].", +} +addon.data.encounter["The Gobfather_normal_raid_summary_dps"] = { + m = "Boomcrawleři Primed Boomcrawlers po sešlápnutí explodují pomocí [Bomb Voyage]. \nThe Gobfather způsobuje masivní poškození svými střelami [Death From Above]. \n[Flaming Flames] způsobují poškození hráčům před The Gobfatherem.", +} diff --git a/Addon/Data/retail/11.lua b/Addon/Data/retail/11.lua index f2004a8..cfe772f 100644 --- a/Addon/Data/retail/11.lua +++ b/Addon/Data/retail/11.lua @@ -40,99 +40,3 @@ addon.data.encounter["The Gobfather_normal_raid"] = { }, }, } -addon.data.encounter["Big M.O.M.M.A._normal_dungeon"] = { -{ - key = "Big M.O.M.M.A._normal_dungeon_a03b221c_00", - children = { - { - key = "Big M.O.M.M.A._normal_dungeon_72fe5c6d_0000", - children = { - { - key = "Big M.O.M.M.A._normal_dungeon_af61785a_000000", - children = {}, - }, - }, - }, - { - key = "Big M.O.M.M.A._normal_dungeon_4728d502_0001", - children = { - { - key = "Big M.O.M.M.A._normal_dungeon_f30e1eb7_000100", - children = { - { - key = "Big M.O.M.M.A._normal_dungeon_bd9b8d8e_00010000", - children = {}, - }, - { - key = "Big M.O.M.M.A._normal_dungeon_81fd88f1_00010001", - children = {}, - }, - }, - }, - }, - }, - { - key = "Big M.O.M.M.A._normal_dungeon_606e5345_0002", - children = {}, - }, - { - key = "Big M.O.M.M.A._normal_dungeon_56351870_0003", - children = {}, - }, - { - key = "Big M.O.M.M.A._normal_dungeon_98198fd2_0004", - children = {}, - }, - }, -}, -} -addon.data.encounter["Big M.O.M.M.A._mythic_dungeon"] = { -{ - key = "Big M.O.M.M.A._mythic_dungeon_a03b221c_00", - children = { - { - key = "Big M.O.M.M.A._mythic_dungeon_72fe5c6d_0000", - children = { - { - key = "Big M.O.M.M.A._mythic_dungeon_af61785a_000000", - children = {}, - }, - }, - }, - { - key = "Big M.O.M.M.A._mythic_dungeon_4728d502_0001", - children = { - { - key = "Big M.O.M.M.A._mythic_dungeon_f30e1eb7_000100", - children = { - { - key = "Big M.O.M.M.A._mythic_dungeon_17f89169_00010000", - children = {}, - }, - { - key = "Big M.O.M.M.A._mythic_dungeon_bd9b8d8e_00010001", - children = {}, - }, - { - key = "Big M.O.M.M.A._mythic_dungeon_81fd88f1_00010002", - children = {}, - }, - }, - }, - }, - }, - { - key = "Big M.O.M.M.A._mythic_dungeon_606e5345_0002", - children = {}, - }, - { - key = "Big M.O.M.M.A._mythic_dungeon_56351870_0003", - children = {}, - }, - { - key = "Big M.O.M.M.A._mythic_dungeon_98198fd2_0004", - children = {}, - }, - }, -}, -} diff --git a/Addon/Data/retail/9.lua b/Addon/Data/retail/9.lua index a8fc51d..fd12cd2 100644 --- a/Addon/Data/retail/9.lua +++ b/Addon/Data/retail/9.lua @@ -2795,132 +2795,12 @@ addon.data.speech["Lost Soul_Here comes the heat!"] = { addon.data.speech["Brann Bronzebeard_Here's your take of the spoils!"] = { m = "Tady je váš podíl na kořisti!", } -addon.data.encounter["The Gobfather_normal_raid_0dd77eb8_0000"] = { - m = "Bombfield|Important|Gobfather rozptýlí Primed Boomcrawlery, kteří se potulují po dobu 42 sekund. Šlápnutí na Primed Boomcrawlera způsobí jeho předčasnou detonaci a spustí Bomb Voyage.", -} -addon.data.encounter["The Gobfather_normal_raid_2dff6e6c_00000000"] = { - m = "Reinforced Plating||Zesílené opláštění snižuje poškození, které obdrží Primed Boomcrawler, o 99 %.", -} -addon.data.encounter["The Gobfather_normal_raid_eeafee09_00000001"] = { - m = "Bomb Voyage||Primed Boomcrawler detonuje, způsobí 1 219 866 Fire poškození a odhodí hráče v okruhu 5 yardů.", -} -addon.data.encounter["The Gobfather_normal_raid_a4190c2f_0001"] = { - m = "Death From Above||Gobfather vypustí ze svých raketometů příval raket, které způsobí 1 568 398 Fire poškození hráčům v okruhu 5 yardů od každého zásahu.", -} -addon.data.encounter["The Gobfather_normal_raid_b3ae61ca_0002"] = { - m = "Giga-Rocket Slam||The Gobfather udeří obrovskou silou do země, čímž způsobí všem hráčům 871 332 Fire poškození a odhodí je zpět.", -} -addon.data.encounter["The Gobfather_normal_raid_c5b3601a_0003"] = { - m = "Flaming Flames||Gobfather vypustí plamenný proud, který způsobí hráčům v čelním kuželu 2 091 198 Fire poškození.", -} -addon.data.encounter["The Gobfather_normal_raid_09c97f46_0004"] = { - m = "Excessive Pollutants|Healer|Gobfather vypouští do vzduchu nebezpečné chemikálie, které každé 2 sekundy způsobují 69 707 Nature poškození.", -} -addon.data.encounter["The Gobfather_normal_raid_summary_instance"] = { - m = "Gobfather se nehodlá vzdát bez závěrečného boje, rozmetá Primed Boomcrawlers pomocí [Bombfield] a srazí hráče k zemi pomocí [Giga-Rocket Slam]. Při 100 energiích se vytasí se vší silou a zasype je [Death From Above].", -} -addon.data.encounter["The Gobfather_normal_raid_summary_tank"] = { - m = "Primed Boomcrawlers po sešlápnutí explodují pomocí [Bomb Voyage]. \nThe Gobfather způsobuje masivní poškození svými střelami [Death From Above]. \nPlameny [Flaming Flames] způsobují poškození hráčům před The Gobfatherem.", -} -addon.data.encounter["The Gobfather_normal_raid_summary_healer"] = { - m = "Primed Boomcrawlers po sešlápnutí explodují pomocí [Bomb Voyage]. \n[Excessive Pollutants] neustále způsobuje poškození všem hráčům. \nGobfather uděluje obrovské poškození svými střelami [Death From Above].", -} -addon.data.encounter["The Gobfather_normal_raid_summary_dps"] = { - m = "Primed Boomcrawlers explodují po sešlápnutí pomocí [Bomb Voyage]. \nThe Gobfather způsobuje masivní poškození svými střelami [Death From Above]. \n[Flaming Flames] způsobují poškození hráčům před The Gobfatherem.", -} addon.data.quest["q90660_name"] = { m = "Zlaté okolnosti", } addon.data.quest["q90660_completion"] = { m = "Přeji ti hodně štěstí ve všech tvých dobrodružstvích, .", } -addon.data.encounter["Big M.O.M.M.A._normal_dungeon_a03b221c_00"] = { - m = "???||", -} -addon.data.encounter["Big M.O.M.M.A._normal_dungeon_72fe5c6d_0000"] = { - m = "Jumpstart|Important|Jakmile jsou všichni mechadroni Darkfuse poraženi, pokusí se Big M.O.M.M.A. nastartovat jejich vybitou baterii. Tento proces způsobí, že dostane o 200 % vyšší poškození a uvolňuje výboje energie každých 1,5 s po dobu 12 s. Každý náraz energie způsobí všem hráčům 206 983 Nature poškození. Jakmile se jejich zásoby plně dobijí, zanechá za sebou Big M.O.M.M.A. Excessive Electrification.", -} -addon.data.encounter["Big M.O.M.M.A._normal_dungeon_af61785a_000000"] = { - m = "Excessive Electrification||Elektrizovaná země způsobuje hráčům, kteří stojí uvnitř, 287 477 Nature poškození každou 1 sekundu.", -} -addon.data.encounter["Big M.O.M.M.A._normal_dungeon_4728d502_0001"] = { - m = "Mobilize Mechadrones|Important|Big M.O.M.M.A. přivolá 4 Darkfuse Mechadrony, aby mu pomohly v boji.", -} -addon.data.encounter["Big M.O.M.M.A._normal_dungeon_f30e1eb7_000100"] = { - m = "Darkfuse Mechadrone||", -} -addon.data.encounter["Big M.O.M.M.A._normal_dungeon_bd9b8d8e_00010000"] = { - m = "Shoot||Mechadron vystřelí rychlou střelu na náhodného hráče a způsobí mu 143 738 Physical poškození.", -} -addon.data.encounter["Big M.O.M.M.A._normal_dungeon_81fd88f1_00010001"] = { - m = "Doom Storm||Mechadron provede strafe se rozběhne směrem k hráči, bombarduje v přímé linii a způsobí 718 692 Nature poškození hráčům v okruhu 3 metry od každého nárazu.", -} -addon.data.encounter["Big M.O.M.M.A._normal_dungeon_606e5345_0002"] = { - m = "Electrocrush|Tank|Big M.O.M.M.A. rozdrtí svůj cíl elektrizovaným drápem a udělí mu 1 293 646 Nature poškození a dalších 201 234 Nature poškození každou sekundu po dobu 10 sekund.", -} -addon.data.encounter["Big M.O.M.M.A._normal_dungeon_56351870_0003"] = { - m = "Sonic Boom||Big M.O.M.M.A. vyšle směrem k hráči puls Sonic energie, který každých 0,5 sekundy způsobí 287 477 Sonic poškození a zároveň přetáhne a umlčí hráče uvnitř. Puls exploduje po nárazu do překážky a způsobí 718 692 Sonic poškození hráčům v okruhu 7 metrů.", -} -addon.data.encounter["Big M.O.M.M.A._normal_dungeon_98198fd2_0004"] = { - m = "Kill-o-Block Barrier|DPS|Big M.O.M.M.A. se obklopí elektrickou bariérou, která sníží veškeré poškození o 80 %. Dokud je štít aktivní, způsobuje všem hráčům každé 2,5 sekundy 172 486 Nature poškození.", -} -addon.data.encounter["Big M.O.M.M.A._normal_dungeon_summary_instance"] = { - m = "Big M.O.M.M.A. velí armádě dronů, kteří po porážce způsobí, že Big M.O.M.M.A. spustí [Jumpstart], což způsobí těžké poškození všem hráčům, ale Big M.O.M.M.A. obdrží zvýšené poškození. Poté Big M.O.M.M.A. zrekvíruje další letku dronů pomocí [Mobilize Mechadrones].", -} -addon.data.encounter["Big M.O.M.M.A._normal_dungeon_summary_tank"] = { - m = "Big M.O.M.M.A. spustí [Jumpstart] po poražení všech Darkfuse Mechadronů. \n[Jumpstart] za sebou zanechá oblast [Excessive Electrification]. \n[Sonic Boom] pokračuje, dokud nenarazí na překážku.", -} -addon.data.encounter["Big M.O.M.M.A._normal_dungeon_summary_healer"] = { - m = "Big M.O.M.M.A. spustí [Jumpstart] po poražení všech Darkfuse Mechadronů. \n[Jumpstart] uděluje všem hráčům značné poškození. \n[Sonic Boom] pokračuje, dokud nenarazí na překážku.", -} -addon.data.encounter["Big M.O.M.M.A._normal_dungeon_summary_dps"] = { - m = "Big M.O.M.M.A. spustí [Jumpstart] po poražení všech Darkfuse Mechadronů. \n[Jumpstart] způsobí, že Big M.O.M.M.A. utrpí výrazně vyšší poškození. \n[Sonic Boom] pokračuje, dokud se nesrazí s překážkou.", -} -addon.data.encounter["Big M.O.M.M.A._mythic_dungeon_a03b221c_00"] = { - m = "???||", -} -addon.data.encounter["Big M.O.M.M.A._mythic_dungeon_72fe5c6d_0000"] = { - m = "Jumpstart|Important|Jakmile jsou všichni mechadroni Darkfuse poraženi, pokusí se Big M.O.M.M.A. nastartovat jejich vybitou baterii. Tento proces způsobí, že dostane o 200 % vyšší poškození a uvolňuje výboje energie každých 1,5 s po dobu 12 s. Každý náraz energie způsobí všem hráčům 1 061 126 Nature poškození. Jakmile se jejich zásoby plně dobijí, zanechá za sebou Big M.O.M.M.A. Excessive Electrification.", -} -addon.data.encounter["Big M.O.M.M.A._mythic_dungeon_af61785a_000000"] = { - m = "Excessive Electrification||Elektrizovaná země způsobí každou 1 s 1 473 786 Nature poškození hráčům, kteří stojí uvnitř.", -} -addon.data.encounter["Big M.O.M.M.A._mythic_dungeon_4728d502_0001"] = { - m = "Mobilize Mechadrones|Mythic,Important|Big M.O.M.M.A. přivolá 4 Darkfuse Mechadrony, aby mu pomohli v boji.", -} -addon.data.encounter["Big M.O.M.M.A._mythic_dungeon_f30e1eb7_000100"] = { - m = "Darkfuse Mechadrone||", -} -addon.data.encounter["Big M.O.M.M.A._mythic_dungeon_17f89169_00010000"] = { - m = "Maximum Distortion|Mythic,Interruptible|Mechadron přetíží svou komunikační soustavu, způsobí 1 473 786 Sonic poškození hráčům v okruhu 60 yardů a po dobu 12 sekund je každé 2 sekundy odstrčí.", -} -addon.data.encounter["Big M.O.M.M.A._mythic_dungeon_bd9b8d8e_00010001"] = { - m = "Shoot||Mechadron vystřelí rychlou střelu na náhodného hráče a způsobí mu 736 893 fyzického poškození.", -} -addon.data.encounter["Big M.O.M.M.A._mythic_dungeon_81fd88f1_00010002"] = { - m = "Doom Storm||Mechadron se rozběhne směrem k hráči, bombarduje ho v přímé linii a způsobuje 3 684 465 Nature poškození hráčům v okruhu 3 metrů od každého nárazu.", -} -addon.data.encounter["Big M.O.M.M.A._mythic_dungeon_606e5345_0002"] = { - m = "Electrocrush|Tank|Big M.O.M.M.A. rozdrtí svůj cíl elektrizovaným drápem a způsobí mu 6 632 038 Nature poškození a dalších 1 031 650 Nature poškození každou 1 s po dobu 10 s.", -} -addon.data.encounter["Big M.O.M.M.A._mythic_dungeon_56351870_0003"] = { - m = "Sonic Boom||Big M.O.M.M.A. vyšle směrem k hráči puls Sonic energie, který každých 0,5 s způsobí 1 473 786 Sonic poškození a zároveň přetáhne a umlčí hráče uvnitř. Puls exploduje po nárazu do překážky a způsobí 3 684 465 Sonic poškození hráčům v okruhu 7 yardů.", -} -addon.data.encounter["Big M.O.M.M.A._mythic_dungeon_98198fd2_0004"] = { - m = "Kill-o-Block Barrier|DPS|Big M.O.M.M.A. se obklopí elektrickou bariérou, která sníží veškeré způsobené poškození o 80 %. Dokud je štít aktivní, způsobuje všem hráčům každé 2,5 s 884 272 Nature poškození.", -} -addon.data.encounter["Big M.O.M.M.A._mythic_dungeon_summary_instance"] = { - m = "Big M.O.M.M.A. velí armádě dronů, které po porážce způsobí, že Big M.O.M.M.A. spustí [Jumpstart], což způsobí těžké poškození všem hráčům, ale Big M.O.M.M.A. dostane zvýšené poškození. Poté Big M.O.M.M.A. zrekvíruje další letku dronů pomocí [Mobilize Mechadrones].", -} -addon.data.encounter["Big M.O.M.M.A._mythic_dungeon_summary_tank"] = { - m = "Big M.O.M.M.A. spustí [Jumpstart] po poražení všech Darkfuse Mechadronů. \n[Jumpstart] za sebou zanechá oblast [Excessive Electrification]. \n[Sonic Boom] pokračuje, dokud nenarazí na překážku.", -} -addon.data.encounter["Big M.O.M.M.A._mythic_dungeon_summary_healer"] = { - m = "Big M.O.M.M.A. spustí [Jumpstart] po poražení všech Darkfuse Mechadronů. \n[Jumpstart] uděluje všem hráčům značné poškození. \n[Sonic Boom] pokračuje, dokud nenarazí na překážku.", -} -addon.data.encounter["Big M.O.M.M.A._mythic_dungeon_summary_dps"] = { - m = "Big M.O.M.M.A. spustí [Jumpstart] po poražení všech Darkfuse Mechadronů. \n[Jumpstart] způsobí, že Big M.O.M.M.A. utrpí výrazně vyšší poškození. \n[Sonic Boom] pokračuje, dokud nenarazí na překážku.", -} addon.data.speech["Cataloger Judith_Laugh for me! Pretend I just told you the world's best joke, let's hear it!"] = { m = "Smějte se za mě! Představte si, že jsem vám právě řekl nejlepší vtip na světě, poslechněte si ho!", } @@ -3114,3 +2994,125 @@ addon.data.speech["Cataloger Simone_Roar for me! Look at me and roar!"] = { addon.data.speech["Cataloger Simone_Let's see your best laugh! Focus on me and laugh!"] = { m = "Podívejme se na váš nejlepší smích! Soustřeďte se na mě a smějte se!", } +addon.data.speech["Cataloger Simone_Eyes on me! Ready? Set? Laugh!"] = { + m = "Sledujte mě! Připraven? Připravit? Směj se!", +} +addon.data.speech["Cataloger Simone_Let's give a big wave to the camera! Big wave, come on!"] = { + m = "Zamávejme na kameru! Velká vlna, no tak!", +} +addon.data.speech["Cataloger Simone_Eyes on me! Now wave to your fans!"] = { + m = "Sledujte mě! A teď zamávej svým fanouškům!", +} +addon.data.speech["Cataloger Simone_Focus on me and show me you can dance!"] = { + m = "Soustřeď se na mě a ukaž, že umíš tančit!", +} +addon.data.speech["Cataloger Simone_Wave to the camera! Wave to it, superstar!"] = { + m = "Zamávejte do kamery! Zamávej jí, superhvězdo!", +} +addon.data.speech["Cataloger Simone_Show me the tears! Show me you can cry on cue!"] = { + m = "Ukažte mi slzy! Ukaž mi, že umíš plakat na povel!", +} +addon.data.speech["Cataloger Simone_Let's see some muscle! Flex for me!"] = { + m = "Ukažte nám svaly! Oheň pro mě!", +} +addon.data.speech["Cataloger Simone_! You've got a look that says you know a thing or two about style!"] = { + m = "! Tvůj vzhled napovídá, že o stylu něco víš!", +} +addon.data.speech["Cataloger Simone_Let's see a strong salute! Focus on me and salute!"] = { + m = "Uvidíme silný pozdrav! Soustřeďte se na mě a salutujte!", +} +addon.data.speech["Cataloger Simone_Show me your best dance moves!"] = { + m = "Ukažte mi své nejlepší taneční pohyby!", +} +addon.data.speech["Cataloger Simone_Let's see how you dance. Focus on me and dance up a storm!"] = { + m = "Podívejme se, jak tančíš. Soustřeďte se na mě a tančete jako bouře!", +} +addon.data.speech["Cataloger Simone_Roar! Let me see you roar! Let that beast out!"] = { + m = "Roar! Ukaž mi, jak řveš! Vypusť tu bestii ven!", +} +addon.data.speech["Cataloger Simone_Strike a pose! Flex your muscles!"] = { + m = "Zapózujte! Napněte svaly!", +} +addon.data.speech["Cataloger Simone_I need to see some emotion. Cry for me!"] = { + m = "Potřebuji vidět nějaké emoce. Plačte za mě!", +} +addon.data.speech["Cataloger Simone_Dance like nobody's watching... But make sure you dance for the camera!"] = { + m = "Tancuj, jako by se nikdo nedíval... Ale nezapomeňte tančit před kamerou!", +} +addon.data.quest["q86705_name"] = { + m = "Pracujte na tom", +} +addon.data.quest["q86705_description"] = { + m = "Zkouška stylu nám dává příležitost vypadat dobře. . Kamera se postará o to, abychom vypadali dobře i nadále. Takže se soustřeďte na mě a můj fotoaparát, dodržujte mé pokyny a já se postarám o to, abyste vypadali fantasticky!", + f = "Zkouška stylu nám dává příležitost vypadat dobře. . Kamera se stará o to, abychom stále vypadali dobře. Takže se soustřeďte na mě a můj fotoaparát, dodržujte mé pokyny a já se postarám o to, abyste vypadali fantasticky!", +} +addon.data.quest["q86705_objective"] = { + m = "Soustřeďte se na fotografa a postupujte podle jeho pokynů.", +} +addon.data.quest["q86705_progress"] = { + m = "Soustřeďte se na mě a řiďte se mými pokyny.\n\nPostarám se, abys vypadala skvěle.", +} +addon.data.quest["q86705_completion"] = { + m = "Kamera nelže, .\n\nJsi stylový .", + f = "Kamera nelže, .\n\nJsi jedna stylová .", +} +addon.data.speech["Cataloger Grilka_Let's give a big wave to the camera! Big wave, come on!"] = { + m = "Zamávejme na kameru! Velká vlna, no tak!", +} +addon.data.speech["Cataloger Grilka_Demon Hunter! You've got a look that says you know a thing or two about style!"] = { + m = "Lovec démonů! Tvůj vzhled napovídá, že se vyznáš ve stylu!", +} +addon.data.speech["Cataloger Grilka_Laugh for me! Pretend I just told you the world's best joke, let's hear it!"] = { + m = "Smějte se za mě! Představte si, že jsem vám právě řekl nejlepší vtip na světě, poslechněte si ho!", +} +addon.data.speech["Cataloger Grilka_Eyes on me! Ready? Set? Laugh!"] = { + m = "Sledujte mě! Připraven? Připravit? Směj se!", +} +addon.data.speech["Cataloger Grilka_I need to see some emotion. Cry for me!"] = { + m = "Potřebuji vidět nějaké emoce. Plačte za mě!", +} +addon.data.speech["Cataloger Grilka_Focus on me and show me you can dance!"] = { + m = "Soustřeď se na mě a ukaž, že umíš tančit!", +} +addon.data.speech["Cataloger Grilka_Dance like nobody's watching... But make sure you dance for the camera!"] = { + m = "Tancuj, jako by se nikdo nedíval... Ale nezapomeňte tančit před kamerou!", +} +addon.data.speech["Cataloger Grilka_Show me your best salute!"] = { + m = "Ukaž mi svůj nejlepší pozdrav!", +} +addon.data.speech["Cataloger Grilka_Let's see a strong salute! Focus on me and salute!"] = { + m = "Uvidíme silný pozdrav! Soustřeďte se na mě a salutujte!", +} +addon.data.speech["Cataloger Grilka_Roar for me! Look at me and roar!"] = { + m = "Řvi za mě! Podívejte se na mě a zařvěte!", +} +addon.data.speech["Cataloger Grilka_Roar! Let me see you roar! Let that beast out!"] = { + m = "Roar! Ukaž mi, jak řveš! Vypusť tu bestii ven!", +} +addon.data.speech["Cataloger Grilka_Focus on me! Now show me your mightiest roar!"] = { + m = "Soustřeďte se na mě! Teď mi ukaž svůj nejsilnější řev!", +} +addon.data.speech["Cataloger Grilka_Let's see your best laugh! Focus on me and laugh!"] = { + m = "Podívejme se na váš nejlepší smích! Soustřeďte se na mě a smějte se!", +} +addon.data.speech["Cataloger Grilka_Strike a pose! Flex your muscles!"] = { + m = "Zapózujte! Napněte svaly!", +} +addon.data.speech["Cataloger Grilka_Show me how strong you are. Flex those muscles!"] = { + m = "Ukaž mi, jak jsi silný. Napněte svaly!", +} +addon.data.speech["Cataloger Grilka_! You've got a look that says you know a thing or two about style!"] = { + m = "! Tvůj vzhled napovídá, že o stylu něco víš!", +} +addon.data.speech["Cataloger Grilka_Focus on me and cry. Let's see the tears!"] = { + m = "Soustřeďte se na mě a plačte. Uvidíme slzy!", +} +addon.data.speech["Cataloger Grilka_Let's see some muscle! Flex for me!"] = { + m = "Ukažte nám svaly! Oheň pro mě!", +} +addon.data.speech["Cataloger Grilka_Show me the tears! Show me you can cry on cue!"] = { + m = "Ukažte mi slzy! Ukaž mi, že umíš plakat na povel!", +} +addon.data.speech["Cataloger Grilka_Death Knight! You've got a look that says you know a thing or two about style!"] = { + m = "Rytíř smrti! Tvůj vzhled napovídá, že o stylu něco víš!", +} diff --git a/CzechQuests_Mainline.toc b/CzechQuests_Mainline.toc index d0c867f..8cb08bd 100755 --- a/CzechQuests_Mainline.toc +++ b/CzechQuests_Mainline.toc @@ -24,6 +24,8 @@ Addon/Data/11.lua Addon/Data/other.lua +Addon/Code/Shared.lua + Addon/Code/DataApi.lua Addon/Code/Paragraphs.lua Addon/Code/FontUtils.lua diff --git a/CzechQuests_Vanilla.toc b/CzechQuests_Vanilla.toc index fb28e07..2f46b2f 100755 --- a/CzechQuests_Vanilla.toc +++ b/CzechQuests_Vanilla.toc @@ -33,6 +33,8 @@ Addon/Data/22.lua Addon/Data/other.lua +Addon/Code/Shared.lua + Addon/Code/DataApi.lua Addon/Code/Paragraphs.lua Addon/Code/FontUtils.lua