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.
71 lines
2.3 KiB
71 lines
2.3 KiB
|
3 years ago
|
local mod = DBM:NewMod(1185, "DBM-Party-WoD", 1, 547)
|
||
|
|
local L = mod:GetLocalizedStrings()
|
||
|
|
|
||
|
|
mod.statTypes = "normal,heroic,mythic,challenge,timewalker"
|
||
|
|
|
||
|
|
mod:SetRevision("20220116042005")
|
||
|
|
mod:SetCreatureID(75839)--Soul Construct
|
||
|
|
mod:SetEncounterID(1686)
|
||
|
|
|
||
|
|
mod:RegisterCombat("combat")
|
||
|
|
|
||
|
|
mod:RegisterEventsInCombat(
|
||
|
|
"SPELL_CAST_START 153002 153006 157465",
|
||
|
|
"SPELL_DAMAGE 161457",
|
||
|
|
"SPELL_MISSED 161457"
|
||
|
|
)
|
||
|
|
|
||
|
|
local specWarnHolyShield = mod:NewSpecialWarningTarget(153002, nil, nil, nil, 1, 2)
|
||
|
|
local yellHolyShield = mod:NewYell(153002)
|
||
|
|
local specWarnConsecreatedLight = mod:NewSpecialWarningSpell(153006, nil, nil, nil, 3, 2)
|
||
|
|
local specWarnFate = mod:NewSpecialWarningSpell(157465, nil, nil, nil, 2, 2)
|
||
|
|
local specWarnSanctifiedGround = mod:NewSpecialWarningMove(161457, nil, nil, nil, 1, 8)
|
||
|
|
|
||
|
|
local timerHolyShieldCD = mod:NewNextTimer(47, 153002, nil, nil, nil, 3, nil, nil, nil, 1, 4)
|
||
|
|
local timerConsecratedLightCD = mod:NewNextTimer(7, 153006, nil, nil, nil, 2, nil, DBM_COMMON_L.DEADLY_ICON, nil, 2, 4)
|
||
|
|
local timerConsecratedLight = mod:NewBuffActiveTimer(8, 153006)
|
||
|
|
local timerFateCD = mod:NewCDTimer(37, 157465, nil, nil, nil, 3)--Need more logs to confirm
|
||
|
|
|
||
|
|
function mod:ShieldTarget(targetname, uId)
|
||
|
|
if not targetname then return end
|
||
|
|
specWarnHolyShield:Show(targetname)
|
||
|
|
specWarnHolyShield:Play("findshield")
|
||
|
|
if targetname == UnitName("player") then
|
||
|
|
yellHolyShield:Yell()
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:OnCombatStart(delay)
|
||
|
|
timerFateCD:Start(25-delay)
|
||
|
|
timerHolyShieldCD:Start(30-delay)
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:OnCombatEnd()
|
||
|
|
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:SPELL_CAST_START(args)
|
||
|
|
local spellId = args.spellId
|
||
|
|
if spellId == 153002 then
|
||
|
|
self:BossTargetScanner(75839, "ShieldTarget", 0.02, 16)
|
||
|
|
timerConsecratedLightCD:Start()
|
||
|
|
timerHolyShieldCD:Start()
|
||
|
|
elseif spellId == 153006 then
|
||
|
|
specWarnConsecreatedLight:Show()
|
||
|
|
specWarnConsecreatedLight:Play("findshelter")
|
||
|
|
timerConsecratedLight:Start()
|
||
|
|
elseif spellId == 157465 then
|
||
|
|
specWarnFate:Show()
|
||
|
|
specWarnFate:Play("watchstep")
|
||
|
|
timerFateCD:Start()
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:SPELL_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId)
|
||
|
|
if spellId == 161457 and destGUID == UnitGUID("player") and self:AntiSpam() then
|
||
|
|
specWarnSanctifiedGround:Show()
|
||
|
|
specWarnSanctifiedGround:Play("watchfeet")
|
||
|
|
end
|
||
|
|
end
|
||
|
|
mod.SPELL_MISSED = mod.SPELL_DAMAGE
|