diff --git a/BlackwingLair/Firemaw.lua b/BlackwingLair/Firemaw.lua index acc9394..6be735a 100644 --- a/BlackwingLair/Firemaw.lua +++ b/BlackwingLair/Firemaw.lua @@ -72,9 +72,9 @@ function mod:FlameBuffetApplied(args) end function mod:StaticElectricityApplied(args) - if self:Me(args.destGUID) and args.amount >= 4 and args.amount % 2 == 0 then + if self:Me(args.destGUID) and args.amount >= 6 and (args.amount % 2 == 0 or args.amount > 8) then -- 6,8,9,10 self:StackMessage(args.spellId, "blue", args.destName, args.amount, 8) - if args.amount >= 6 then + if args.amount >= 8 then self:PlaySound(args.spellId, "warning", nil, args.destName) end end diff --git a/BlackwingLair/Flamegor.lua b/BlackwingLair/Flamegor.lua index 4f30428..73f37c8 100644 --- a/BlackwingLair/Flamegor.lua +++ b/BlackwingLair/Flamegor.lua @@ -6,6 +6,9 @@ local mod, CL = BigWigs:NewBoss("Flamegor", 469, 1534) if not mod then return end mod:RegisterEnableMob(11981) mod:SetEncounterID(615) +if mod:GetSeason() == 2 then + mod:SetRespawnTime(30) +end -------------------------------------------------------------------------------- -- Locals diff --git a/BlackwingLair/Locales/deDE.lua b/BlackwingLair/Locales/deDE.lua index 3b0e86c..8e1a79f 100644 --- a/BlackwingLair/Locales/deDE.lua +++ b/BlackwingLair/Locales/deDE.lua @@ -63,10 +63,13 @@ end L = BigWigs:NewBossLocale("Blackwing Lair Trash", "deDE") if L then L.wyrmguard_overseer = "Wyrmwache der Todeskrallen / Aufseher der Todeskrallen" -- NPC 12460 / 12461 + L.sandstorm = "Sandsturm" --L.target_vulnerability = "Target Vulnerability Warnings" --L.target_vulnerability_desc = "When your target is a Death Talon Wyrmguard or a Death Talon Overseer, show a warning for what vulnerability it has." --L.target_vulnerability_message = "Target Vulnerability: %s" L.detect_magic_missing_message = "Magie entdecken is missing from your target" L.detect_magic_warning = "A Mage must cast \124cff71d5ff\124Hspell:2855:0\124h[Magie entdecken]\124h\124r on your target for vulnerability warnings to work." + + L.warlock = "Hexenmeister der Pechschwingen" -- NPC 12459 end diff --git a/BlackwingLair/Locales/esES.lua b/BlackwingLair/Locales/esES.lua index 7bd6bfa..14deb4d 100644 --- a/BlackwingLair/Locales/esES.lua +++ b/BlackwingLair/Locales/esES.lua @@ -63,10 +63,13 @@ end L = BigWigs:NewBossLocale("Blackwing Lair Trash", "esES") if L then L.wyrmguard_overseer = "Vermiguardia Garramortal / Sobrestante Garramortal" -- NPC 12460 / 12461 + L.sandstorm = "Tormenta de arena" L.target_vulnerability = "Anuncios de vulnerabilidad de objetivo" L.target_vulnerability_desc = "Cuando tu objetivo es un Vermiguardia Garramortal o un Sobrestante Garramortal, muestra un anuncio sobre qué vulnerabilidad tiene." L.target_vulnerability_message = "Vulnerabilidad de objetivo: %s" L.detect_magic_missing_message = "Falta Detectar magia en tu objetivo" L.detect_magic_warning = "Un mago debe lanzar \124cff71d5ff\124Hspell:2855:0\124h[Detectar magia]\124h\124r en tu objetivo para que funcionen los anuncios de vulnerabilidad." + + L.warlock = "Brujo Alanegra" -- NPC 12459 end diff --git a/BlackwingLair/Locales/esMX.lua b/BlackwingLair/Locales/esMX.lua index 1be4622..8bfbc2b 100644 --- a/BlackwingLair/Locales/esMX.lua +++ b/BlackwingLair/Locales/esMX.lua @@ -63,10 +63,13 @@ end L = BigWigs:NewBossLocale("Blackwing Lair Trash", "esMX") if L then L.wyrmguard_overseer = "Vermiguardia Garramortal / Sobrestante Garramortal" -- NPC 12460 / 12461 + L.sandstorm = "Tormenta de arena" L.target_vulnerability = "Anuncios de vulnerabilidad de objetivo" L.target_vulnerability_desc = "Cuando tu objetivo es un Vermiguardia Garramortal o un Sobrestante Garramortal, muestra un anuncio sobre qué vulnerabilidad tiene." L.target_vulnerability_message = "Vulnerabilidad de objetivo: %s" L.detect_magic_missing_message = "Falta Detectar magia en tu objetivo" L.detect_magic_warning = "Un mago debe lanzar \124cff71d5ff\124Hspell:2855:0\124h[Detectar magia]\124h\124r en tu objetivo para que funcionen los anuncios de vulnerabilidad." + + L.warlock = "Brujo Alanegra" -- NPC 12459 end diff --git a/BlackwingLair/Locales/frFR.lua b/BlackwingLair/Locales/frFR.lua index 08113a3..5be04b1 100644 --- a/BlackwingLair/Locales/frFR.lua +++ b/BlackwingLair/Locales/frFR.lua @@ -63,10 +63,13 @@ end L = BigWigs:NewBossLocale("Blackwing Lair Trash", "frFR") if L then L.wyrmguard_overseer = "Garde wyrm Griffemort / Surveillant Griffemort" -- NPC 12460 / 12461 + L.sandstorm = "Tempête de sable" L.target_vulnerability = "Avertissements de vulnérabilité de la cible" L.target_vulnerability_desc = "Lorsque votre cible est un Garde wyrm Griffemort ou un Surveillant Griffemort, affichez un avertissement pour indiquer sa vulnérabilité." L.target_vulnerability_message = "Vulnérabilité de la cible: %s" L.detect_magic_missing_message = "Détection de la magie est absente de votre cible" L.detect_magic_warning = "Un mage doit incanter \124cff71d5ff\124Hspell:2855:0\124h[Détection de la magie]\124h\124r sur votre cible pour que les avertissements de vulnérabilité fonctionnent." + + L.warlock = "Démoniste de l'Aile noire" -- NPC 12459 end diff --git a/BlackwingLair/Locales/itIT.lua b/BlackwingLair/Locales/itIT.lua index f544eb7..f09cd02 100644 --- a/BlackwingLair/Locales/itIT.lua +++ b/BlackwingLair/Locales/itIT.lua @@ -63,10 +63,13 @@ end L = BigWigs:NewBossLocale("Blackwing Lair Trash", "itIT") if L then L.wyrmguard_overseer = "Guardiadragoni dell'Artiglio della Morte / Sovrintendente dell'Artiglio della Morte" -- NPC 12460 / 12461 + L.sandstorm = "Tempesta di Sabbia" --L.target_vulnerability = "Target Vulnerability Warnings" --L.target_vulnerability_desc = "When your target is a Death Talon Wyrmguard or a Death Talon Overseer, show a warning for what vulnerability it has." --L.target_vulnerability_message = "Target Vulnerability: %s" --L.detect_magic_missing_message = "Detect Magic is missing from your target" --L.detect_magic_warning = "A Mage must cast \124cff71d5ff\124Hspell:2855:0\124h[Detect Magic]\124h\124r on your target for vulnerability warnings to work." + + L.warlock = "Stregone dell'Ala Nera" -- NPC 12459 end diff --git a/BlackwingLair/Locales/koKR.lua b/BlackwingLair/Locales/koKR.lua index d6ecc53..414f5e0 100644 --- a/BlackwingLair/Locales/koKR.lua +++ b/BlackwingLair/Locales/koKR.lua @@ -63,10 +63,13 @@ end L = BigWigs:NewBossLocale("Blackwing Lair Trash", "koKR") if L then L.wyrmguard_overseer = "죽음의발톱 고룡수호병 / 죽음의발톱 감독관" -- NPC 12460 / 12461 + L.sandstorm = "모래폭풍" --L.target_vulnerability = "Target Vulnerability Warnings" --L.target_vulnerability_desc = "When your target is a Death Talon Wyrmguard or a Death Talon Overseer, show a warning for what vulnerability it has." --L.target_vulnerability_message = "Target Vulnerability: %s" L.detect_magic_missing_message = "마법 감지 is missing from your target" L.detect_magic_warning = "A Mage must cast \124cff71d5ff\124Hspell:2855:0\124h[마법 감지]\124h\124r on your target for vulnerability warnings to work." + + L.warlock = "검은날개 흑마법사" -- NPC 12459 end diff --git a/BlackwingLair/Locales/ptBR.lua b/BlackwingLair/Locales/ptBR.lua index 4d7df39..de63f9f 100644 --- a/BlackwingLair/Locales/ptBR.lua +++ b/BlackwingLair/Locales/ptBR.lua @@ -64,10 +64,13 @@ end L = BigWigs:NewBossLocale("Blackwing Lair Trash", "ptBR") if L then L.wyrmguard_overseer = "Serpeguarda Garra da Morte / Feitor Garra da Morte" -- NPC 12460 / 12461 + L.sandstorm = "Tempestade de Areia" L.target_vulnerability = "Avisos de vulnerabilidade do alvo" L.target_vulnerability_desc = "Quando o seu alvo é um Serpeguarda Garra da Morte ou um Feitor Garra da Morte, mostra um aviso sobre qual vulnerabilidade ele possui." L.target_vulnerability_message = "Vulnerabilidade do alvo: %s" L.detect_magic_missing_message = "Detectar Magia está ausente do seu alvo" L.detect_magic_warning = "Um mago precisa lançar \124cff71d5ff\124Hspell:2855:0\124h[Detectar Magia]\124h\124r no seu alvo para que os avisos de vulnerabilidade funcionem." + + L.warlock = "Bruxo Asa Negra" -- NPC 12459 end diff --git a/BlackwingLair/Locales/ruRU.lua b/BlackwingLair/Locales/ruRU.lua index a2113ff..caaff19 100644 --- a/BlackwingLair/Locales/ruRU.lua +++ b/BlackwingLair/Locales/ruRU.lua @@ -63,10 +63,13 @@ end L = BigWigs:NewBossLocale("Blackwing Lair Trash", "ruRU") if L then L.wyrmguard_overseer = "Змеестраж Когтя Смерти / Надзиратель Когтя Смерти" -- NPC 12460 / 12461 + L.sandstorm = "Песчаная буря" --L.target_vulnerability = "Target Vulnerability Warnings" --L.target_vulnerability_desc = "When your target is a Death Talon Wyrmguard or a Death Talon Overseer, show a warning for what vulnerability it has." --L.target_vulnerability_message = "Target Vulnerability: %s" L.detect_magic_missing_message = "Распознавание магии is missing from your target" L.detect_magic_warning = "A Mage must cast \124cff71d5ff\124Hspell:2855:0\124h[Распознавание магии]\124h\124r on your target for vulnerability warnings to work." + + L.warlock = "Чернокнижник Крыла Тьмы" -- NPC 12459 end diff --git a/BlackwingLair/Locales/zhCN.lua b/BlackwingLair/Locales/zhCN.lua index c1f39c5..4758d83 100644 --- a/BlackwingLair/Locales/zhCN.lua +++ b/BlackwingLair/Locales/zhCN.lua @@ -63,10 +63,13 @@ end L = BigWigs:NewBossLocale("Blackwing Lair Trash", "zhCN") if L then L.wyrmguard_overseer = "黑翼龙人护卫 / 黑翼监工" -- NPC 12460 / 12461 + L.sandstorm = "沙尘暴" L.target_vulnerability = "目标弱点警报" L.target_vulnerability_desc = "当你的目标是黑翼龙人护卫/黑翼监工时,显示它的弱点警报。" L.target_vulnerability_message = "目标弱点: %s" L.detect_magic_missing_message = "目标缺少侦测魔法" L.detect_magic_warning = "法师必须对你的目标施放\124cff71d5ff\124Hspell:2855:0\124h[侦测魔法]\124h\124r,弱点警报才会有效。" + + L.warlock = "黑翼管理者" -- NPC 12459 end diff --git a/BlackwingLair/Locales/zhTW.lua b/BlackwingLair/Locales/zhTW.lua index b20adaf..cf72caa 100644 --- a/BlackwingLair/Locales/zhTW.lua +++ b/BlackwingLair/Locales/zhTW.lua @@ -63,10 +63,13 @@ end L = BigWigs:NewBossLocale("Blackwing Lair Trash", "zhTW") if L then --L.wyrmguard_overseer = "Death Talon Wyrmguard / Death Talon Overseer" -- NPC 12460 / 12461 + --L.sandstorm = "Sandstorm" --L.target_vulnerability = "Target Vulnerability Warnings" --L.target_vulnerability_desc = "When your target is a Death Talon Wyrmguard or a Death Talon Overseer, show a warning for what vulnerability it has." --L.target_vulnerability_message = "Target Vulnerability: %s" --L.detect_magic_missing_message = "Detect Magic is missing from your target" --L.detect_magic_warning = "A Mage must cast \124cff71d5ff\124Hspell:2855:0\124h[Detect Magic]\124h\124r on your target for vulnerability warnings to work." + + --L.warlock = "Blackwing Warlock" -- NPC 12459 end diff --git a/BlackwingLair/Razorgore.lua b/BlackwingLair/Razorgore.lua index 5358a2d..234be66 100644 --- a/BlackwingLair/Razorgore.lua +++ b/BlackwingLair/Razorgore.lua @@ -37,18 +37,31 @@ function mod:GetOptions() return { 14515, -- Dominate Mind {23023, "ICON"}, -- Conflagration - 367873, -- Blinding Ash - 366909, -- Ruby Flames - 367740, -- Creeping Chill "eggs", "stages", },nil,{ [14515] = CL.mind_control, -- Dominate Mind (Mind Control) - [367873] = CL.underyou:format(CL.fire), -- Blinding Ash (Fire under YOU) - [366909] = CL.underyou:format(CL.fire), -- Ruby Flames (Fire under YOU) } end +if mod:GetSeason() == 2 then + function mod:GetOptions() + return { + 14515, -- Dominate Mind + {23023, "ICON"}, -- Conflagration + 367873, -- Blinding Ash + 366909, -- Ruby Flames + 367740, -- Creeping Chill + "eggs", + "stages", + },nil,{ + [14515] = CL.mind_control, -- Dominate Mind (Mind Control) + [367873] = CL.underyou:format(CL.fire), -- Blinding Ash (Fire under YOU) + [366909] = CL.underyou:format(CL.fire), -- Ruby Flames (Fire under YOU) + } + end +end + function mod:OnBossEnable() self:RegisterEvent("CHAT_MSG_MONSTER_YELL") @@ -118,10 +131,12 @@ function mod:DestroyEgg() end function mod:Conflagration(args) - self:TargetMessage(args.spellId, "orange", args.destName) - self:TargetBar(args.spellId, 10, args.destName) - self:PrimaryIcon(args.spellId, args.destName) - self:PlaySound(args.spellId, "info", nil, args.destName) + if self:Player(args.destFlags) then -- Players only, can apply to enemy NPCs + self:TargetMessage(args.spellId, "orange", args.destName) + self:TargetBar(args.spellId, 10, args.destName) + self:PrimaryIcon(args.spellId, args.destName) + self:PlaySound(args.spellId, "info", nil, args.destName) + end end function mod:ConflagrationOver(args) diff --git a/BlackwingLair/Trash.lua b/BlackwingLair/Trash.lua index bc0fc8b..0a4bd40 100644 --- a/BlackwingLair/Trash.lua +++ b/BlackwingLair/Trash.lua @@ -9,6 +9,7 @@ if mod:GetSeason() == 2 then mod:RegisterEnableMob( 12460, -- Death Talon Wyrmguard 12461, -- Death Talon Overseer + 12459, -- Blackwing Warlock 12557, -- Grethok the Controller 13020, -- Vaelastrasz 12017, -- Broodlord Lashlayer @@ -22,7 +23,8 @@ if mod:GetSeason() == 2 then else mod:RegisterEnableMob( 12460, -- Death Talon Wyrmguard - 12461 -- Death Talon Overseer + 12461, -- Death Talon Overseer + 12459 -- Blackwing Warlock ) end @@ -31,6 +33,8 @@ end -- local buffList = {} +local arcaneBombMarker +local naturesFuryMarker -------------------------------------------------------------------------------- -- Localization @@ -39,6 +43,7 @@ local buffList = {} local L = mod:GetLocale() if L then L.wyrmguard_overseer = "Death Talon Wyrmguard / Death Talon Overseer" -- NPC 12460 / 12461 + L.sandstorm = "Sandstorm" L.target_vulnerability = "Target Vulnerability Warnings" L.target_vulnerability_desc = "When your target is a Death Talon Wyrmguard or a Death Talon Overseer, show a warning for what vulnerability it has." @@ -46,6 +51,8 @@ if L then L.target_vulnerability_message = "Target Vulnerability: %s" L.detect_magic_missing_message = "Detect Magic is missing from your target" L.detect_magic_warning = "A Mage must cast \124cff71d5ff\124Hspell:2855:0\124h[Detect Magic]\124h\124r on your target for vulnerability warnings to work." + + L.warlock = "Blackwing Warlock" -- NPC 12459 end -------------------------------------------------------------------------------- @@ -54,21 +61,48 @@ end function mod:GetOptions() return { + {22291, "SAY", "SAY_COUNTDOWN"}, -- Brood Power: Bronze "target_vulnerability", + 19717, -- Rain of Fire },{ - ["target_vulnerability"] = L.wyrmguard_overseer, + [22291] = L.wyrmguard_overseer, + [19717] = L.warlock, + },{ + [22291] = L.sandstorm, -- Brood Power: Bronze (Sandstorm) } end if mod:GetSeason() == 2 then + arcaneBombMarker = mod:AddMarkerOption(true, "player", 6, 466357, 6) -- Arcane Bomb + naturesFuryMarker = mod:AddMarkerOption(true, "player", 4, 466435, 4) -- Nature's Fury function mod:GetOptions() return { + {22291, "SAY", "SAY_COUNTDOWN"}, -- Brood Power: Bronze "target_vulnerability", + 369330, -- Rain of Fire {466357, "SAY", "SAY_COUNTDOWN", "ME_ONLY_EMPHASIZE"}, -- Arcane Bomb + arcaneBombMarker, {466435, "SAY", "SAY_COUNTDOWN", "ME_ONLY_EMPHASIZE"}, -- Nature's Fury + naturesFuryMarker, },{ - ["target_vulnerability"] = L.wyrmguard_overseer, + [22291] = L.wyrmguard_overseer, + [369330] = L.warlock, [466357] = CL.general, + },{ + [22291] = L.sandstorm, -- Brood Power: Bronze (Sandstorm) + } + end +elseif mod:Vanilla() then + function mod:GetOptions() + return { + {22291, "SAY", "SAY_COUNTDOWN"}, -- Brood Power: Bronze + "target_vulnerability", + 369330, -- Rain of Fire + },{ + [22291] = L.wyrmguard_overseer, + [369330] = L.warlock, + },{ + [22291] = L.sandstorm, -- Brood Power: Bronze (Sandstorm) } end end @@ -84,9 +118,19 @@ function mod:OnRegister() end function mod:OnBossEnable() + self:Log("SPELL_AURA_APPLIED", "BroodPowerBronzeApplied", 22291) + self:Log("SPELL_AURA_REFRESH", "BroodPowerBronzeApplied", 22291) + self:Log("SPELL_AURA_REMOVED", "BroodPowerBronzeRemoved", 22291) self:RegisterEvent("PLAYER_TARGET_CHANGED") if self:Vanilla() then self:Log("SPELL_AURA_APPLIED", "DetectMagicApplied", 2855) + self:Log("SPELL_AURA_APPLIED", "RainOfFireDamage", 369330) + self:Log("SPELL_PERIODIC_DAMAGE", "RainOfFireDamage", 369330) + self:Log("SPELL_PERIODIC_MISSED", "RainOfFireDamage", 369330) + else + self:Log("SPELL_AURA_APPLIED", "RainOfFireDamage", 19717) + self:Log("SPELL_PERIODIC_DAMAGE", "RainOfFireDamage", 19717) + self:Log("SPELL_PERIODIC_MISSED", "RainOfFireDamage", 19717) end if self:GetSeason() == 2 then self:Log("SPELL_AURA_APPLIED", "ArcaneBombApplied", 466357) @@ -104,6 +148,32 @@ end --[[ Death Talon Wyrmguard / Death Talon Overseer ]]-- +function mod:BroodPowerBronzeApplied(args) + self:TargetBar(args.spellId, 5, args.destName, L.sandstorm) + if self:Me(args.destGUID) then + self:PersonalMessage(args.spellId, nil, L.sandstorm) + self:Say(args.spellId, L.sandstorm, nil, "Sandstorm") + self:CancelSayCountdown(args.spellId) + self:SayCountdown(args.spellId, 5) + self:PlaySound(args.spellId, "warning", nil, args.destName) + else + local unit = self:GetUnitIdByGUID(args.sourceGUID) + if unit and self:UnitWithinRange(unit, 10) then + self:PersonalMessage(args.spellId, "near", L.sandstorm) + self:PlaySound(args.spellId, "warning") + else + self:TargetMessage(args.spellId, "orange", args.destName, L.sandstorm) + end + end +end + +function mod:BroodPowerBronzeRemoved(args) + if self:Me(args.destGUID) then + self:CancelSayCountdown(args.spellId) + end + self:StopBar(L.sandstorm, args.destName) +end + do local printed = false local prevMsg = 0 @@ -155,14 +225,28 @@ do end end +--[[ Blackwing Warlock ]]-- + +do + local prev = 0 + function mod:RainOfFireDamage(args) + if self:Me(args.destGUID) and args.time - prev > 2 then + prev = args.time + self:PersonalMessage(args.spellId, "aboveyou") + self:PlaySound(args.spellId, "underyou") + end + end +end + --[[ Season of Discovery ]]-- function mod:ArcaneBombApplied(args) - self:TargetMessage(args.spellId, "yellow", args.destName) + self:TargetMessage(args.spellId, "orange", args.destName) self:TargetBar(args.spellId, 8, args.destName) + self:CustomIcon(arcaneBombMarker, args.destName, 6) if self:Me(args.destGUID) then - self:Yell(args.spellId, nil, nil, "Arcane Bomb") - self:YellCountdown(args.spellId, 8, nil, 6) + self:Yell(args.spellId, CL.rticon:format(args.spellName, 6), nil, "Arcane Bomb ({rt6})") + self:YellCountdown(args.spellId, 8, 6, 6) end self:PlaySound(args.spellId, "warning", nil, args.destName) end @@ -172,14 +256,16 @@ function mod:ArcaneBombRemoved(args) self:CancelYellCountdown(args.spellId) end self:StopBar(args.spellName, args.destName) + self:CustomIcon(arcaneBombMarker, args.destName) end function mod:NaturesFuryApplied(args) - self:TargetMessage(args.spellId, "yellow", args.destName) + self:TargetMessage(args.spellId, "orange", args.destName) self:TargetBar(args.spellId, 8, args.destName) + self:CustomIcon(naturesFuryMarker, args.destName, 4) if self:Me(args.destGUID) then - self:Say(args.spellId, nil, nil, "Natures Fury") - self:SayCountdown(args.spellId, 8, nil, 5) + self:Say(args.spellId, CL.rticon:format(args.spellName, 4), nil, "Natures Fury ({rt4})") + self:SayCountdown(args.spellId, 8, 4, 5) self:PlaySound(args.spellId, "warning", nil, args.destName) end end @@ -189,4 +275,5 @@ function mod:NaturesFuryRemoved(args) self:CancelSayCountdown(args.spellId) end self:StopBar(args.spellName, args.destName) + self:CustomIcon(naturesFuryMarker, args.destName) end