Refactor encounter handling and placeholder logic
All checks were successful
forgejo/Czech Quests/addon/pipeline/head This commit looks good
All checks were successful
forgejo/Czech Quests/addon/pipeline/head This commit looks good
This commit is contained in:
parent
c2eda51d7d
commit
a32b698ebf
10 changed files with 278 additions and 421 deletions
|
@ -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
|
||||
|
||||
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)
|
||||
|
|
|
@ -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
|
|
@ -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
|
||||
|
||||
|
|
43
Addon/Code/Shared.lua
Normal file
43
Addon/Code/Shared.lua
Normal file
|
@ -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
|
|
@ -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
|
||||
|
|
|
@ -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_<class>! You've got a look that says you know a thing or two about style!"] = {
|
||||
m = "<cM0>! 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. <cM0>. 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. <cF0>. 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, <name>.\n\nJsi stylový <cM0>.",
|
||||
f = "Kamera nelže, <name>.\n\nJsi jedna stylová <cF0>.",
|
||||
}
|
||||
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_<class>! You've got a look that says you know a thing or two about style!"] = {
|
||||
m = "<cM0>! 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.",
|
||||
}
|
||||
|
|
|
@ -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 = {},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
|
@ -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, <name>.",
|
||||
}
|
||||
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_<class>! You've got a look that says you know a thing or two about style!"] = {
|
||||
m = "<cM0>! 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. <cM0>. 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. <cF0>. 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, <name>.\n\nJsi stylový <cM0>.",
|
||||
f = "Kamera nelže, <name>.\n\nJsi jedna stylová <cF0>.",
|
||||
}
|
||||
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_<class>! You've got a look that says you know a thing or two about style!"] = {
|
||||
m = "<cM0>! 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íš!",
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue