Skip to content

Commit

Permalink
BlackwingLair: Add SoD abilities
Browse files Browse the repository at this point in the history
  • Loading branch information
funkydude committed Sep 26, 2024
1 parent d0c52ee commit dd926be
Show file tree
Hide file tree
Showing 7 changed files with 262 additions and 13 deletions.
39 changes: 35 additions & 4 deletions BlackwingLair/Chromaggus.lua
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,24 @@ function mod:GetOptions()
}
end

if mod:GetSeason() == 2 then
function mod:GetOptions()
return {
23128, -- Enrage / Frenzy (different name on classic era)
23537, -- Frenzy / Enrage (different name on classic era)
{"breath", "CASTBAR"},
23174, -- Chromatic Mutation
"vulnerability",
{23170, "ME_ONLY_EMPHASIZE"}, -- Brood Affliction: Bronze
468195, -- Roll Over!
},nil,{
[23537] = CL.health_percent:format(20), -- Frenzy / Enrage (20% Health)
[23174] = CL.mind_control, -- Chromatic Mutation (Mind Control)
[23170] = L.bronze, -- Brood Affliction: Bronze (Bronze)
}
end
end

function mod:OnRegister()
buffList = {
[22277] = L.vulnerability_message:format(CL.fire),
Expand All @@ -83,6 +101,10 @@ function mod:OnBossEnable()
)
self:Log("SPELL_AURA_APPLIED", "ElementalShield", 22277, 22278, 22279, 22280, 22281) -- Fire, Frost, Shadow, Nature, Arcane

if self:GetSeason() == 2 then
self:Log("SPELL_CAST_SUCCESS", "RollOver", 468195)
end

if self:Vanilla() then
BigWigs:Print(L.detect_magic_warning)
end
Expand Down Expand Up @@ -135,8 +157,10 @@ do
prevWeakness = nil
firstWarning = false

self:Bar("breath", 30, CL.count:format(CL.next_ability, 1), "INV_Misc_QuestionMark")
self:Bar("breath", 60, CL.count:format(CL.next_ability, 2), "INV_Misc_QuestionMark")
if self:GetSeason() ~= 2 then
self:Bar("breath", 30, CL.count:format(CL.next_ability, 1), "INV_Misc_QuestionMark")
self:Bar("breath", 60, CL.count:format(CL.next_ability, 2), "INV_Misc_QuestionMark")
end

self:SimpleTimer(CheckInitWeakness, 1)
end
Expand Down Expand Up @@ -202,8 +226,10 @@ function mod:Breaths(args)

self:CastBar("breath", 2, args.spellName, args.spellId)
self:Message("breath", "yellow", CL.casting:format(args.spellName), args.spellId)
self:Bar("breath", 60, args.spellName, args.spellId)
self:PlaySound("breath", "long")
if self:GetSeason() ~= 2 then
self:Bar("breath", 60, args.spellName, args.spellId)
self:PlaySound("breath", "long")
end
end

function mod:ElementalShield(args) -- Weaknesses
Expand All @@ -217,3 +243,8 @@ function mod:ElementalShield(args) -- Weaknesses
self:PlaySound("vulnerability", "info")
end
end

function mod:RollOver(args)
self:Message(args.spellId, "yellow")
self:PlaySound(args.spellId, "long")
end
27 changes: 26 additions & 1 deletion BlackwingLair/Ebonroc.lua
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,31 @@ function mod:GetOptions()
}
end

if mod:GetSeason() == 2 then
function mod:GetOptions()
return {
23339, -- Wing Buffet
22539, -- Shadow Flame
23340, -- Shadow of Ebonroc
368515, -- Brand of Shadow
}
end
end

function mod:OnBossEnable()
self:Log("SPELL_CAST_START", "WingBuffet", 23339)
self:Log("SPELL_CAST_START", "ShadowFlame", 22539)
self:Log("SPELL_AURA_APPLIED", "ShadowOfEbonrocApplied", 23340)
self:Log("SPELL_AURA_REMOVED", "ShadowOfEbonrocRemoved", 23340)
if self:GetSeason() == 2 then
self:Log("SPELL_AURA_APPLIED_DOSE", "BrandOfShadowApplied", 368515)
end
end

function mod:OnEngage()
self:CDBar(23339, 29) -- Wing Buffet
if self:GetSeason() ~= 2 then
self:CDBar(23339, 29) -- Wing Buffet
end
end

--------------------------------------------------------------------------------
Expand Down Expand Up @@ -58,3 +74,12 @@ end
function mod:ShadowOfEbonrocRemoved(args)
self:StopBar(args.spellName, args.destName)
end

function mod:BrandOfShadowApplied(args)
if self:Me(args.destGUID) then
self:StackMessage(args.spellId, "blue", args.destName, args.amount, 3)
if args.amount >= 3 then
self:PlaySound(args.spellId, "alert", nil, args.destName)
end
end
end
23 changes: 23 additions & 0 deletions BlackwingLair/Firemaw.lua
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,24 @@ function mod:GetOptions()
}
end

if mod:GetSeason() == 2 then
function mod:GetOptions()
return {
23339, -- Wing Buffet
22539, -- Shadow Flame
23341, -- Flame Buffet
366305, -- Static Electricity
}
end
end

function mod:OnBossEnable()
self:Log("SPELL_CAST_START", "WingBuffet", 23339)
self:Log("SPELL_CAST_START", "ShadowFlame", 22539)
self:Log("SPELL_AURA_APPLIED_DOSE", "FlameBuffetApplied", 23341)
if self:GetSeason() == 2 then
self:Log("SPELL_AURA_APPLIED_DOSE", "StaticElectricityApplied", 366305)
end
end

function mod:OnEngage()
Expand Down Expand Up @@ -56,3 +70,12 @@ function mod:FlameBuffetApplied(args)
end
end
end

function mod:StaticElectricityApplied(args)
if self:Me(args.destGUID) and args.amount >= 4 and args.amount % 2 == 0 then
self:StackMessage(args.spellId, "blue", args.destName, args.amount, 6)
if args.amount >= 6 then
self:PlaySound(args.spellId, "warning", nil, args.destName)
end
end
end
86 changes: 82 additions & 4 deletions BlackwingLair/Flamegor.lua
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,41 @@ function mod:GetOptions()
}
end

if mod:GetSeason() == 2 then
function mod:GetOptions()
return {
23339, -- Wing Buffet
22539, -- Shadow Flame
23342, -- Enrage / Frenzy (different name on classic era)
368521, -- Brand of Flame
{467764, "CASTBAR", "CASTBAR_COUNTDOWN", "ME_ONLY_EMPHASIZE"}, -- Go!
{467732, "CASTBAR", "CASTBAR_COUNTDOWN", "ME_ONLY_EMPHASIZE"}, -- Stop!
}
end
end

function mod:OnBossEnable()
self:Log("SPELL_CAST_START", "WingBuffet", 23339)
self:Log("SPELL_CAST_START", "ShadowFlame", 22539)
self:Log("SPELL_AURA_APPLIED", "EnrageFrenzy", 23342)
self:Log("SPELL_DISPEL", "EnrageFrenzyDispelled", "*")
if self:GetSeason() == 2 then
self:Log("SPELL_CAST_START", "WingBuffet", 369080)
self:Log("SPELL_AURA_APPLIED_DOSE", "BrandOfFlameApplied", 368521)
self:Log("SPELL_AURA_APPLIED", "GoApplied", 467764)
self:Log("SPELL_AURA_REMOVED", "GoRemoved", 467764)
self:Log("SPELL_CAST_SUCCESS", "GoSuccess", 467764)
self:Log("SPELL_AURA_APPLIED", "StopApplied", 467732)
self:Log("SPELL_AURA_REMOVED", "StopRemoved", 467732)
self:Log("SPELL_CAST_SUCCESS", "StopSuccess", 467732)
end
end

function mod:OnEngage()
self:CDBar(23339, 29) -- Wing Buffet
self:CDBar(23339, self:GetSeason() == 2 and 40 or 29) -- Wing Buffet
if self:GetSeason() == 2 then
self:CDBar(467732, 20) -- Stop
end
end

--------------------------------------------------------------------------------
Expand All @@ -36,9 +62,9 @@ end

function mod:WingBuffet(args)
if self:MobId(args.sourceGUID) == 11981 then
self:Message(args.spellId, "yellow")
self:CDBar(args.spellId, 32)
self:PlaySound(args.spellId, "info")
self:Message(23339, "yellow")
self:CDBar(23339, self:GetSeason() == 2 and 25 or 32)
self:PlaySound(23339, "info")
end
end

Expand All @@ -61,3 +87,55 @@ function mod:EnrageFrenzyDispelled(args)
self:Message(23342, "green", CL.removed_by:format(args.extraSpellName, self:ColorName(args.sourceName)))
end
end

function mod:BrandOfFlameApplied(args)
if self:Me(args.destGUID) then
self:StackMessage(args.spellId, "blue", args.destName, args.amount, 3)
if args.amount >= 3 then
self:PlaySound(args.spellId, "alert", nil, args.destName)
end
end
end

function mod:GoApplied(args)
if self:Me(args.destGUID) then
self:PersonalMessage(args.spellId)
self:CastBar(args.spellId, 5)
self:PlaySound(args.spellId, "warning")
end
end

function mod:GoRemoved(args)
if self:Me(args.destGUID) then
self:PersonalMessage(args.spellId, "removed")
end
end

function mod:GoSuccess(args)
self:StopBar(467764) -- Go!
self:StopBar(467732) -- Stop!
self:CDBar(467732, 40) -- Stop!
end

function mod:StopApplied(args)
self:StopBar(467764) -- Go!
self:StopBar(467732) -- Stop!
if self:Me(args.destGUID) then
self:PersonalMessage(args.spellId)
self:CastBar(args.spellId, 5)
self:CDBar(467764, 20) -- Go!
self:PlaySound(args.spellId, "warning")
end
end

function mod:StopRemoved(args)
if self:Me(args.destGUID) then
self:PersonalMessage(args.spellId, "removed")
end
end

function mod:StopSuccess(args)
self:StopBar(467764) -- Go!
self:StopBar(467732) -- Stop!
self:CDBar(467764, 20) -- Go!
end
5 changes: 5 additions & 0 deletions BlackwingLair/Razorgore.lua
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ function mod:OnEngage()
self:SetStage(1)
self:Message("stages", "cyan", CL.stage:format(1), false)
self:Bar("stages", 45, CL.adds, "Spell_Holy_PrayerOfHealing")
self:Bar("stages", 120, CL.big_add, "inv_misc_head_dragon_01")
end

--------------------------------------------------------------------------------
Expand Down Expand Up @@ -85,6 +86,10 @@ function mod:DestroyEgg()
self:SetStage(2)
self:Message("stages", "cyan", CL.stage:format(2), false)
self:PlaySound("stages", "long")
elseif eggs == 10 and self:GetSeason() == 2 then
self:StopBar(CL.big_add)
self:Message("stages", "cyan", CL.big_add, "inv_misc_head_dragon_01")
self:PlaySound("stages", "long")
end
end

Expand Down
47 changes: 45 additions & 2 deletions BlackwingLair/Trash.lua
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,16 @@ if not mod then return end
mod.displayName = CL.trash
mod:RegisterEnableMob(
12460, -- Death Talon Wyrmguard
12461 -- Death Talon Overseer
12461, -- Death Talon Overseer
12557, -- Grethok the Controller
13020, -- Vaelastrasz
12017, -- Broodlord Lashlayer
11983, -- Firemaw
14601, -- Ebonroc
11981, -- Flamegor
14020, -- Chromaggus
11583, -- Nefarian
10162 -- Lord Victor Nefarius
)

--------------------------------------------------------------------------------
Expand Down Expand Up @@ -44,6 +53,18 @@ function mod:GetOptions()
}
end

if mod:GetSeason() == 2 then
function mod:GetOptions()
return {
"target_vulnerability",
{466357, "SAY", "SAY_COUNTDOWN", "ME_ONLY_EMPHASIZE"}, -- Arcane Bomb
{466435, "SAY", "SAY_COUNTDOWN", "ME_ONLY_EMPHASIZE"}, -- Nature's Fury
},{
["target_vulnerability"] = L.wyrmguard_overseer,
}
end
end

function mod:OnRegister()
buffList = {
[22277] = L.target_vulnerability_message:format(CL.fire),
Expand All @@ -55,12 +76,16 @@ function mod:OnRegister()
end

function mod:OnBossEnable()
self:RegisterMessage("BigWigs_OnBossEngage", "Disable")
--self:RegisterMessage("BigWigs_OnBossEngage", "Disable")

self:RegisterEvent("PLAYER_TARGET_CHANGED")
if self:Vanilla() then
self:Log("SPELL_AURA_APPLIED", "DetectMagicApplied", 2855)
end
if self:GetSeason() == 2 then
self:Log("SPELL_AURA_APPLIED", "ArcaneBombApplied", 466357)
self:Log("SPELL_AURA_APPLIED", "NaturesFuryApplied", 466435)
end
end

--------------------------------------------------------------------------------
Expand Down Expand Up @@ -119,3 +144,21 @@ do
end
end
end

function mod:ArcaneBombApplied(args)
self:TargetMessage(args.spellId, "yellow", args.destName)
if self:Me(args.destGUID) then
self:Yell(args.spellId)
self:YellCountdown(args.spellId, 8, nil, 5)
self:PlaySound(args.spellId, "warning", nil, args.destName)
end
end

function mod:NaturesFuryApplied(args)
self:TargetMessage(args.spellId, "yellow", args.destName)
if self:Me(args.destGUID) then
self:Say(args.spellId)
self:SayCountdown(args.spellId, 8, nil, 5)
self:PlaySound(args.spellId, "warning", nil, args.destName)
end
end
Loading

0 comments on commit dd926be

Please sign in to comment.