You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
121 lines
3.7 KiB
121 lines
3.7 KiB
|
4 years ago
|
|
||
|
|
--------------------------------------------------------------------------------
|
||
|
|
-- Module Declaration
|
||
|
|
--
|
||
|
|
|
||
|
|
local mod, CL = BigWigs:NewBoss("Warlord Parjesh", 1456, 1480)
|
||
|
|
if not mod then return end
|
||
|
|
mod:RegisterEnableMob(91784)
|
||
|
|
mod.engageId = 1810
|
||
|
|
|
||
|
|
--------------------------------------------------------------------------------
|
||
|
|
-- Locals
|
||
|
|
--
|
||
|
|
|
||
|
|
local addCount = 1
|
||
|
|
|
||
|
|
--------------------------------------------------------------------------------
|
||
|
|
-- Initialization
|
||
|
|
--
|
||
|
|
|
||
|
|
function mod:GetOptions()
|
||
|
|
return {
|
||
|
|
{192094, "ICON", "SAY", "FLASH"}, -- Impaling Spear
|
||
|
|
192131, -- Throw Spear
|
||
|
|
197064, -- Enrage
|
||
|
|
197502, -- Restoration
|
||
|
|
191900, -- Crashing Wave
|
||
|
|
192053, -- Quicksand
|
||
|
|
192072, -- Call Reinforcements
|
||
|
|
196563, -- Call Reinforcements
|
||
|
|
}, {
|
||
|
|
[192094] = "general",
|
||
|
|
[192072] = "normal",
|
||
|
|
[196563] = "heroic",
|
||
|
|
}
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:OnBossEnable()
|
||
|
|
self:Log("SPELL_AURA_APPLIED", "ImpalingSpear", 192094)
|
||
|
|
self:Log("SPELL_AURA_REMOVED", "ImpalingSpearOver", 192094)
|
||
|
|
self:Log("SPELL_AURA_APPLIED", "ThrowSpear", 192131)
|
||
|
|
self:Log("SPELL_CAST_SUCCESS", "CallReinforcementsNormal", 192072, 192073)
|
||
|
|
self:Log("SPELL_CAST_SUCCESS", "CallReinforcements", 196563)
|
||
|
|
self:Log("SPELL_AURA_APPLIED", "Enrage", 197064)
|
||
|
|
self:Log("SPELL_CAST_START", "Restoration", 197502)
|
||
|
|
self:Log("SPELL_CAST_START", "CrashingWave", 191900)
|
||
|
|
|
||
|
|
self:Log("SPELL_AURA_APPLIED", "QuicksandDamage", 192053)
|
||
|
|
self:Log("SPELL_PERIODIC_DAMAGE", "QuicksandDamage", 192053)
|
||
|
|
self:Log("SPELL_PERIODIC_MISSED", "QuicksandDamage", 192053)
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:OnEngage()
|
||
|
|
addCount = 1
|
||
|
|
self:CDBar(192094, self:Normal() and 35 or 29) -- Impaling Spear
|
||
|
|
self:CDBar(self:Normal() and 192072 or 196563, 5) -- Call Reinforcements
|
||
|
|
end
|
||
|
|
|
||
|
|
--------------------------------------------------------------------------------
|
||
|
|
-- Event Handlers
|
||
|
|
--
|
||
|
|
|
||
|
|
function mod:ImpalingSpear(args)
|
||
|
|
self:TargetMessageOld(args.spellId, args.destName, "red", "warning")
|
||
|
|
self:CDBar(args.spellId, 27) -- pull:35.0, 31.6 / hc pull:29.2, 29.2, 26.8 / m pull:29.1, 28.0, 28.3, 27.5
|
||
|
|
self:PrimaryIcon(args.spellId, args.destName)
|
||
|
|
if self:Me(args.destGUID) then
|
||
|
|
self:Say(args.spellId)
|
||
|
|
self:Flash(args.spellId)
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:ImpalingSpearOver(args)
|
||
|
|
self:PrimaryIcon(args.spellId)
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:ThrowSpear(args)
|
||
|
|
if self:Me(args.destGUID) or self:Healer() then
|
||
|
|
self:TargetMessageOld(args.spellId, args.destName, "red", "alarm", nil, nil, true)
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
do
|
||
|
|
function mod:CallReinforcementsNormal(args) -- Normal only
|
||
|
|
--["192073-Call Reinforcements"] = "pull:26.0, 52.3",
|
||
|
|
--["192072-Call Reinforcements"] = "pull:5.4, 52.3, 52.2",
|
||
|
|
self:MessageOld(192072, "yellow", "info", args.spellName, args.spellId)
|
||
|
|
self:CDBar(192072, addCount % 2 == 0 and 31 or 20, args.spellName, args.spellId == 192072 and 192073 or 192072) -- Use correct icon for upcoming add
|
||
|
|
addCount = addCount + 1
|
||
|
|
end
|
||
|
|
function mod:CallReinforcements(args) -- Heroic +
|
||
|
|
self:MessageOld(args.spellId, "yellow", "info")
|
||
|
|
self:CDBar(args.spellId, 28) -- hc pull:5.4, 31.6, 31.6, 27.9, 29.2 / m pull:5.7, 31.5, 28.0, 27.9, 27.9
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:Enrage(args)
|
||
|
|
self:MessageOld(args.spellId, "orange", "alert", CL.percent:format(30, args.spellName))
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:Restoration(args)
|
||
|
|
self:MessageOld(args.spellId, "green", self:Interrupter() and "warning" or "long", CL.casting:format(args.spellName))
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:CrashingWave(args)
|
||
|
|
self:MessageOld(args.spellId, "yellow", "alert", CL.casting:format(args.spellName))
|
||
|
|
end
|
||
|
|
|
||
|
|
do
|
||
|
|
local prev = 0
|
||
|
|
function mod:QuicksandDamage(args)
|
||
|
|
if self:Me(args.destGUID) then
|
||
|
|
local t = GetTime()
|
||
|
|
if t-prev > 2 then
|
||
|
|
prev = t
|
||
|
|
self:MessageOld(args.spellId, "blue", "alarm", CL.underyou:format(args.spellName))
|
||
|
|
end
|
||
|
|
end
|
||
|
|
end
|
||
|
|
end
|