diff --git a/Addon/Code/Encounter.lua b/Addon/Code/Encounter.lua index 9f55590..9833928 100755 --- a/Addon/Code/Encounter.lua +++ b/Addon/Code/Encounter.lua @@ -147,7 +147,7 @@ local function RenderBossAbilities(data, parent, layer) end end -local function RenderBossEncounter(bossKey, bossName, encounterName) +local function RenderBossEncounter(bossKey, encounterName) local frame = addon.EncounterFrame HideOtherContent() @@ -159,21 +159,24 @@ local function RenderBossEncounter(bossKey, bossName, encounterName) local tankHeader = frame:CreateHeader() tankHeader.button.title:SetText("Tank") - local tankDescription = addon.API.FormatEncounterDescription(bossData.tank, ORIGINALS['Tanks'].description) + local originalTank = ORIGINALS['Tanks'] or ORIGINALS['Tank'] + local tankDescription = addon.API.FormatEncounterDescription(bossData.tank, originalTank.description) tankHeader.description:SetText(tankDescription) table.insert(frame.headers, tankHeader) SetAbilityTagIcon(tankHeader, 'tank') local healHeader = frame:CreateHeader() healHeader.button.title:SetText("Healer") - local healerDescription = addon.API.FormatEncounterDescription(bossData.healer, ORIGINALS['Healers'].description) + local originalHealer = ORIGINALS['Healers'] or ORIGINALS['Healer'] + local healerDescription = addon.API.FormatEncounterDescription(bossData.healer, originalHealer.description) healHeader.description:SetText(healerDescription) table.insert(frame.headers, healHeader) SetAbilityTagIcon(healHeader, 'healer') local dpsHeader = frame:CreateHeader() dpsHeader.button.title:SetText("Damage Dealer") - local dpsDescription = addon.API.FormatEncounterDescription(bossData.dps, ORIGINALS['Damage Dealers'].description) + local originalDps = ORIGINALS['Damage Dealers'] + local dpsDescription = addon.API.FormatEncounterDescription(bossData.dps, originalDps.description) dpsHeader.description:SetText(dpsDescription) table.insert(frame.headers, dpsHeader) SetAbilityTagIcon(dpsHeader, 'dps') @@ -182,7 +185,6 @@ local function RenderBossEncounter(bossKey, bossName, encounterName) bossHeader.button.title:SetText(encounterName) bossHeader.empty = true table.insert(frame.headers, bossHeader) - SetEncounterPortraitIcon(bossHeader, bossName) RenderBossAbilities(bossData.abilities, bossHeader, 1) frame:GetParent():Show() @@ -193,14 +195,6 @@ local function StoreBossAbilities() ORIGINALS = {} local stack, _, _, _, curSectionID = {}, EJ_GetEncounterInfo(ENCOUNTER_ID) - - local _, bossName, description, displayInfo, iconImage, uiModelSceneID = EJ_GetCreatureInfo(1, ENCOUNTER_ID) - ORIGINALS[bossName] = {} - ORIGINALS[bossName].description = description - ORIGINALS[bossName].creatureDisplayID = displayInfo - ORIGINALS[bossName].uiModelSceneID = uiModelSceneID - ORIGINALS[bossName].abilityIcon = iconImage - repeat local info = C_EncounterJournal.GetSectionInfo(curSectionID) if not info.filteredByDifficulty then @@ -224,7 +218,6 @@ local function DetectBossToRender() local frame = addon.EncounterFrame local encounterName = EJ_GetEncounterInfo(ENCOUNTER_ID) - local _, bossName = EJ_GetCreatureInfo(1, ENCOUNTER_ID) local difficulty = 'lfg_raid' -- 17 if DIFFICULTY == 14 then @@ -255,7 +248,7 @@ local function DetectBossToRender() if bossKey then StoreBossAbilities() - RenderBossEncounter(bossKey, bossName, encounterName) + RenderBossEncounter(bossKey, encounterName) end if bossKey == nil then diff --git a/Addon/Code/EncounterDataApi.lua b/Addon/Code/EncounterDataApi.lua index 34a9159..39d0149 100755 --- a/Addon/Code/EncounterDataApi.lua +++ b/Addon/Code/EncounterDataApi.lua @@ -35,9 +35,9 @@ local function FillNumberPositionPlaceholder(text, sourceText) if n then if source:match("%s+" .. n .. "%s+million") then - return n .. "" + return n .. " " elseif source:match("%s+" .. n .. "%s+millions") then - return n .. "" + return n .. " " else return n end @@ -55,11 +55,11 @@ local function FormatEncounterDescription(text, original) formated = addon.API.ParseParagraphs(original, formated) formated = addon.API.ColorSpellNames(formated) - -- fix [mil] + -- fix [mil], 4 s, 5 % formated = string.gsub(formated, "", "mil.") + formated = string.gsub(formated, "(%d+) s([%s%.%,%?%!])", "%1s%2") + formated = string.gsub(formated, "(%d+) %%([%s%.])", "%1%%%2") - -- fix 4 s - formated = string.gsub(formated, "(%d+) s([%s%.])", "%1s%2") return formated end diff --git a/Addon/Data/retail/10.lua b/Addon/Data/retail/10.lua index 3a5ec4a..b09b49f 100644 --- a/Addon/Data/retail/10.lua +++ b/Addon/Data/retail/10.lua @@ -183,40 +183,40 @@ addon.data.encounter["The Gobfather_normal_raid_a03b221c_00"] = { m = "???||", } addon.data.encounter["The Gobfather_normal_raid_0dd77eb8_0000"] = { - m = "Bombfield|Important|The Gobfather rozptýlí Primed Boomcrawlers, kteří se potulují <#1?> sekundu. Šlápnutí na Primed Boomcrawlera způsobí jeho předčasnou detonaci a spustí Bomb Voyage.", + m = "Bombfield|Important|Gobfather rozptýlí Primed Boomcrawlers, kteří se potulují <#1?> 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 <#1?> %.", + m = "Reinforced Plating||Zesílené opláštění snižuje poškození, které obdrží Primed Boomcrawlerovi, o <#1?>%.", } addon.data.encounter["The Gobfather_normal_raid_eeafee09_00000001"] = { m = "Bomb Voyage||Primed Boomcrawler se odpálí, způsobí <#1?> Fire poškození a odhodí hráče v okruhu <#2?> yardů.", } addon.data.encounter["The Gobfather_normal_raid_a4190c2f_0001"] = { - m = "Death From Above||The Gobfather vypustí ze svých raketometů příval raket, které způsobí <#1?> Fire poškození hráčům v okruhu <#2?> yardů od každého dopadu.", + m = "Death From Above||Gobfather vypustí ze svých raketometů příval raket, které způsobí <#1?> Fire poškození hráčům v okruhu <#2?> yardů od každého dopadu.", } addon.data.encounter["The Gobfather_normal_raid_b3ae61ca_0002"] = { - m = "Giga-Rocket Slam||The Gobfather udeří obrovskou silou do země, způsobí všem hráčům <#1?> Fire poškození a odhodí je zpět.", + m = "Giga-Rocket Slam||Gobfather udeří obrovskou silou do země, způsobí všem hráčům <#1?> Fire poškození a odhodí je zpět.", } addon.data.encounter["The Gobfather_normal_raid_c5b3601a_0003"] = { - m = "Flaming Flames||The Gobfather vypustí proud plamenů a způsobí hráčům v čelním kuželu <#1?> Fire poškození.", + m = "Flaming Flames||Gobfather vypustí proud plamenů a způsobí hráčům v čelním kuželu <#1?> Fire poškození.", } addon.data.encounter["The Gobfather_normal_raid_09c97f46_0004"] = { - m = "Excessive Pollutants|Healer|The Gobfather vypouští do vzduchu nebezpečné chemikálie, které způsobují <#1?> Nature poškození v intervalu <#2?> sek.", + m = "Excessive Pollutants|Healer|Gobfather vypouští do vzduchu nebezpečné chemikálie, které způsobují <#1?> Nature poškození v intervalu <#2?> s.", } addon.data.encounter["The Gobfather_normal_raid_summary_instance"] = { m = "Gobfather se nehodlá vzdát bez závěrečného boje, rozpráší Primed Boomcrawlers pomocí [Bombfield] a srazí hráče zpět pomocí [Giga-Rocket Slam]. Při energii <#1?> se vytasí se všemi prostředky a sesílá na hráče [Death From Above].", } addon.data.encounter["The Gobfather_normal_raid_summary_tank"] = { - m = "Boomcrawleři se základním nátěrem 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.", + m = "Primed Boomcrawlers explodují s [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 = "Boomcrawleři se základním nátěrem po sešlápnutí explodují pomocí [Bomb Voyage]. \n[Excessive Pollutants] neustále způsobuje poškození všem hráčům. \nGobfather způsobuje obrovské poškození svými střelami [Death From Above].", } addon.data.encounter["The Gobfather_normal_raid_summary_dps"] = { - m = "Boomcrawleři se základním nátěrem 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.", + m = "Primed Boomcrawlers explodují s [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["Shurrai_normal_raid_a03b221c_00"] = { m = "???||", @@ -240,17 +240,113 @@ addon.data.encounter["Shurrai_normal_raid_ad190ebe_000301"] = { m = "Drowned Arathi||", } addon.data.encounter["Shurrai_normal_raid_12617f60_00030100"] = { - m = "Ocean's Reckoning|Disease|Po smrti způsobí zaklínač hráčům v okruhu <#2?> yardů <#1?> Plague poškození a další <#3?> Plague poškození v intervalu <#4?> s po dobu <#5?> s. Tento efekt se sčítá. Vypuštěné duše se také vrhnou zpět na svého věznitele a způsobí mu <#6?> Plague poškození Shurrai.", + m = "Ocean's Reckoning|Disease|Po smrti způsobí zaklínač hráčům v okruhu <#2?> yardů <#1?> Plague poškození a další <#3?> Plague poškození v intervalu <#4?> s po dobu <#5?> s. Tento efekt se sčítá. Vypuštěné duše se také vrhnou zpět na svého věznitele a způsobí Shurraiovi <#6?> Plague poškození.", } addon.data.encounter["Shurrai_normal_raid_summary_instance"] = { m = "Shurrai zasype hráče [Briny Vomit] a poté smyje hráče i zvratky pomocí [Dark Tide]. Při <#1?> energii Shurrai vrhne [Regurgitate Souls], vyvolá Drowned Arathi a zaštítí se [Shroud of the Drowned].", } addon.data.encounter["Shurrai_normal_raid_summary_tank"] = { - m = "[Abyssal Strike] aplikuje léčebnou absorpci odpovídající výši způsobeného poškození. \n[Dark Tide] odplaví kaluže [Briny Vomit]. \nUtopené Arathi způsobí Shurraiovi při zabití značné poškození.", + m = "[Abyssal Strike] aplikuje léčebnou absorpci odpovídající výši způsobeného poškození. \n[Dark Tide] odplaví kaluže [Briny Vomit]. \nDrowned Arathi udělují Shurraiovi při zabití značné poškození.", } addon.data.encounter["Shurrai_normal_raid_summary_healer"] = { - m = "Utopený Arathi způsobí po smrti [Ocean's Reckoning]. \n[Dark Tide] odplaví kaluže [Briny Vomit]. \nUtopený Arathi způsobí Shurraiovi po zabití značné poškození.", + m = "Drowned Arathi způsobí po smrti [Ocean's Reckoning]. \n[Dark Tide] odplaví kaluže [Briny Vomit]. \nDrowned Arathi způsobí Shurraiovi po zabití značné poškození.", } addon.data.encounter["Shurrai_normal_raid_summary_dps"] = { - m = "[Dark Tide] odplaví kaluže [Briny Vomit]. \nUtopená Arathi způsobí Shurraiovi při zabití značné poškození.", + m = "[Dark Tide] odplaví kaluže [Briny Vomit]. \nDrowned Arathi způsobí Shurraiovi při zabití značné poškození.", +} +addon.data.encounter["Aggregation of Horrors_normal_raid_a03b221c_00"] = { + m = "???||", +} +addon.data.encounter["Aggregation of Horrors_normal_raid_29d445eb_0000"] = { + m = "Crystalline Barrage|Important|The Aggregation of Horrors vypouští ze svého těla zubaté střepy, které způsobují <#1?> Shadow poškození hráčům v okruhu <#2?> yardů od dopadu střepu.", +} +addon.data.encounter["Aggregation of Horrors_normal_raid_23974a30_0001"] = { + m = "Dark Awakening|DPS|The Aggregation of Horrors rozbije zem, způsobí <#1?> Shadow poškození všem hráčům v okruhu <#2?> yardů a přemění okolní střepy na Fractured Skardyn.", +} +addon.data.encounter["Aggregation of Horrors_normal_raid_a1059bb2_000100"] = { + m = "Fractured Skardyn||Skardyn se oddělil od těla Aggregation of Horrors.", +} +addon.data.encounter["Aggregation of Horrors_normal_raid_3466ff61_0002"] = { + m = "Voidquake|Healer|", +} +addon.data.encounter["Aggregation of Horrors_normal_raid_e7ede113_0003"] = { + m = "Crystal Strike|Tank|The Aggregation of Horrors udeří do svého aktuálního cíle a způsobí mu <#1?> Shadow poškození a další <#2?> Shadow poškození v intervalu <#3?> s po dobu <#4?> s.", +} +addon.data.encounter["Aggregation of Horrors_normal_raid_07bff7dc_0004"] = { + m = "Annihilation Barrage||The Aggregation of Horrors způsobí <#1?> Shadow poškození svému aktuálnímu cíli, pokud hráč není v dosahu boje zblízka.", +} +addon.data.encounter["Aggregation of Horrors_normal_raid_summary_instance"] = { + m = "The Aggregation of Horrors vyhazuje během [Crystalline Barrage] úlomky skály. Tyto úlomky vznikají z Fractured Skardyn během [Dark Awakening].", +} +addon.data.encounter["Aggregation of Horrors_normal_raid_summary_tank"] = { + m = "[Crystal Strike] uděluje těžké Shadow poškození při dopadu a v průběhu času. \n[Voidquake] uděluje Shadow poškození hráčům uvězněným ve vzdálenosti <#1?> yardů.", +} +addon.data.encounter["Aggregation of Horrors_normal_raid_summary_healer"] = { + m = "[Voidquake] uděluje Shadow poškození hráčům, kteří se nacházejí ve vzdálenosti <#1?> yardů. \n[Crystalline Barrage] uděluje velké množství poškození hráčům zasaženým střepinami.", +} +addon.data.encounter["Aggregation of Horrors_normal_raid_summary_dps"] = { + m = "[Voidquake] způsobuje Shadow poškození hráčům, kteří se nacházejí v okruhu <#1?> yardů. \nAggregation of Horrors vrhá [Annihilation Barrage], když se žádný z hráčů nenachází v boji zblízka. \nFunkce [Dark Awakening] vytváří Fractured Skardyn, kteří útočí na blízké hráče.", +} +addon.data.encounter["Kordac_normal_raid_a03b221c_00"] = { + m = "???||", +} +addon.data.encounter["Kordac_normal_raid_de3f3afb_0000"] = { + m = "Arcane Bombardment||Po dosažení <#1?> energie Kordac zasype oblast nesčetnými Arcane missiles, které způsobí <#2?> Arcane poškození všem hráčům v okruhu <#3?> yardů od dopadu.", +} +addon.data.encounter["Kordac_normal_raid_964943db_0001"] = { + m = "Overcharged Lasers||Kordak vystřelí lasery, které sledují několik hráčů po dobu <#1?> s, způsobují <#2?> Arcane poškození v intervalu <#3?> s a srážejí zpět hráče, kteří byli paprsky opáleni. Lasery za sebou zanechávají Overcharged Earth a Empowering Coalescence.", +} +addon.data.encounter["Kordac_normal_raid_682eceff_000100"] = { + m = "Overcharged Earth||Ničivá síla přetrvává v zemi a v intervalu <#2?> způsobí poškození Arcane <#1?>.", +} +addon.data.encounter["Kordac_normal_raid_5b63e678_000101"] = { + m = "Empowering Coalescence||Přebytečná Arcane power se spojí do polostabilních forem, které po shromáždění poskytují <#1?>% zvýšené poškození po dobu <#2?> s. Tento efekt se střádá.", +} +addon.data.encounter["Kordac_normal_raid_8b324485_0002"] = { + m = "Titanic Impact||Kordac před sebou rozbije zem pěstmi napuštěnými Arcane a způsobí <#1?> fyzické a <#2?> Arcane poškození. Hráči, kteří se ocitnou pod nárazem, jsou vystřeleni do vzduchu.", +} +addon.data.encounter["Kordac_normal_raid_297bd7aa_0003"] = { + m = "Supression Burst||Kordac napustí několik cílů supresivní magickou energií. Po <#1?> s energie exploduje a na <#3?> s umlčí a zklidní cíle a všechny hráče v okruhu <#2?> yardů.", +} +addon.data.encounter["Kordac_normal_raid_summary_instance"] = { + m = "Kordac brání Azeroth a zaměřuje se na hráče pomocí [Overcharged Lasers], které za sebou zanechávají [Overcharged Earth] a [Empowering Coalescence]. Po dosažení <#1?> Energy na něj sesype [Arcane Bombardment].", +} +addon.data.encounter["Kordac_normal_raid_summary_tank"] = { + m = "Kordacův [Titanic Impact] uděluje vysoké poškození a vystřeluje hráče do vzduchu. \n[Supression Burst] pacifikuje a umlčuje blízké hráče při detonaci.", +} +addon.data.encounter["Kordac_normal_raid_summary_healer"] = { + m = "[Overcharged Lasers] budou pronásledovat hráče a zanechají za sebou [Overcharged Earth]. \n[Supression Burst] po výbuchu zklidní a umlčí všechny hráče v blízkosti cíle.", +} +addon.data.encounter["Kordac_normal_raid_summary_dps"] = { + m = "[Empowering Coalescence] lze sbírat pro krátké zvýšení udělování poškození. \n[Overcharged Lasers] budou pronásledovat hráče a zanechají za sebou [Overcharged Earth].", +} +addon.data.encounter["Orta_normal_raid_a03b221c_00"] = { + m = "???||", +} +addon.data.encounter["Orta_normal_raid_b2cd00e6_0000"] = { + m = "Tectonic Roar|Important|Orta spustí silný řev, který způsobí <#1?> Sonic poškození všem hráčům a srazí je zpět. Řev způsobuje další <#2?> Sonic poškození v intervalu <#3?> s po dobu <#4?> s.", +} +addon.data.encounter["Orta_normal_raid_0156f9b0_0001"] = { + m = "Colossal Slam||Orta udeří do země, čímž způsobí hráčům v čelním kuželu <#1?> Nature poškození a vymrští je vysoko do vzduchu.", +} +addon.data.encounter["Orta_normal_raid_7bb400a9_0002"] = { + m = "Rupturing Runes|Healer,Magic|Orta vyvolává runu devastace v intervalu <#1?> s po dobu <#2?> s. Po spuštění runy omráčí hráče, který ji spustil, a navíc způsobí <#3?> Fire poškození každou <#4?> s po dobu <#5?> s.", +} +addon.data.encounter["Orta_normal_raid_28eff812_0003"] = { + m = "Mountain's Grasp|Important|Orta chytá blízké hráče, drtí je ve svém sevření a uděluje <#1?> Physical poškození. Jeho sevření umlčuje hráče a uděluje <#2?> Physical poškození v intervalu <#3?> s.", +} +addon.data.encounter["Orta_normal_raid_f9c15f37_000300"] = { + m = "Discard Weaklings||Orta odhazuje slabochy, které má v dosahu, od sebe vší silou.", +} +addon.data.encounter["Orta_normal_raid_summary_instance"] = { + m = "Orta zachrastí proti okovům své infekce, roztříští zem pomocí [Colossal Slam] a vyvolá [Rupturing Runes]. Při <#1?> energii Orta vyvolá [Tectonic Roar] a svým řevem srazí všechny hráče.", +} +addon.data.encounter["Orta_normal_raid_summary_tank"] = { + m = "[Rupturing Runes] po spuštění omráčí hráče. \n[Tectonic Roar] srazí hráče o značnou vzdálenost zpět. \nHráči, kteří se ocitnou v sevření [Mountain's Grasp], budou odhozeni [Discard Weaklings].", +} +addon.data.encounter["Orta_normal_raid_summary_healer"] = { + m = "[Rupturing Runes] po spuštění omráčí hráče. \n[Tectonic Roar] srazí hráče o značnou vzdálenost zpět. \nHráči, kteří se ocitnou v sevření [Mountain's Grasp], budou odhozeni [Discard Weaklings].", +} +addon.data.encounter["Orta_normal_raid_summary_dps"] = { + m = "[Rupturing Runes] po spuštění omráčí hráče. \n[Tectonic Roar] srazí hráče o značnou vzdálenost zpět. \nHráči, kteří se ocitnou v sevření [Mountain's Grasp], budou odhozeni [Discard Weaklings].", } diff --git a/Addon/Data/retail/11.lua b/Addon/Data/retail/11.lua index ae1cd8c..e6d6733 100644 --- a/Addon/Data/retail/11.lua +++ b/Addon/Data/retail/11.lua @@ -77,3 +77,95 @@ addon.data.encounter["Shurrai_normal_raid"] = { }, }, } +addon.data.encounter["Aggregation of Horrors_normal_raid"] = { +{ + key = "Aggregation of Horrors_normal_raid_a03b221c_00", + children = { + { + key = "Aggregation of Horrors_normal_raid_29d445eb_0000", + children = {}, + }, + { + key = "Aggregation of Horrors_normal_raid_23974a30_0001", + children = { + { + key = "Aggregation of Horrors_normal_raid_a1059bb2_000100", + children = {}, + }, + }, + }, + { + key = "Aggregation of Horrors_normal_raid_3466ff61_0002", + children = {}, + }, + { + key = "Aggregation of Horrors_normal_raid_e7ede113_0003", + children = {}, + }, + { + key = "Aggregation of Horrors_normal_raid_07bff7dc_0004", + children = {}, + }, + }, +}, +} +addon.data.encounter["Kordac_normal_raid"] = { +{ + key = "Kordac_normal_raid_a03b221c_00", + children = { + { + key = "Kordac_normal_raid_de3f3afb_0000", + children = {}, + }, + { + key = "Kordac_normal_raid_964943db_0001", + children = { + { + key = "Kordac_normal_raid_682eceff_000100", + children = {}, + }, + { + key = "Kordac_normal_raid_5b63e678_000101", + children = {}, + }, + }, + }, + { + key = "Kordac_normal_raid_8b324485_0002", + children = {}, + }, + { + key = "Kordac_normal_raid_297bd7aa_0003", + children = {}, + }, + }, +}, +} +addon.data.encounter["Orta_normal_raid"] = { +{ + key = "Orta_normal_raid_a03b221c_00", + children = { + { + key = "Orta_normal_raid_b2cd00e6_0000", + children = {}, + }, + { + key = "Orta_normal_raid_0156f9b0_0001", + children = {}, + }, + { + key = "Orta_normal_raid_7bb400a9_0002", + children = {}, + }, + { + key = "Orta_normal_raid_28eff812_0003", + children = { + { + key = "Orta_normal_raid_f9c15f37_000300", + children = {}, + }, + }, + }, + }, +}, +}