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.
77 lines
2.5 KiB
77 lines
2.5 KiB
|
3 years ago
|
local mod = DBM:NewMod(2082, "DBM-Party-BfA", 1, 968)
|
||
|
|
local L = mod:GetLocalizedStrings()
|
||
|
|
|
||
|
|
mod:SetRevision("20220116042005")
|
||
|
|
mod:SetCreatureID(122967)
|
||
|
|
mod:SetEncounterID(2084)
|
||
|
|
|
||
|
|
mod:RegisterCombat("combat")
|
||
|
|
|
||
|
|
mod:RegisterEventsInCombat(
|
||
|
|
"SPELL_CAST_START 255577",
|
||
|
|
"SPELL_CAST_SUCCESS 255579 255591",
|
||
|
|
"SPELL_AURA_APPLIED 255579"
|
||
|
|
)
|
||
|
|
|
||
|
|
--ability.id = 255577 and type = "begincast" or ability.id = 255579 and type = "cast" or ability.id = 255591
|
||
|
|
local warnTransfusion = mod:NewSpellAnnounce(255577, 1)
|
||
|
|
local warnMoltenGold = mod:NewSpellAnnounce(255591, 3)
|
||
|
|
|
||
|
|
local specWarnTransfusion = mod:NewSpecialWarningMoveTo(255577, nil, nil, nil, 3, 2)
|
||
|
|
local specWarnClaws = mod:NewSpecialWarningDefensive(255579, "Tank", nil, nil, 1, 2)
|
||
|
|
local specWarnClawsDispel = mod:NewSpecialWarningDispel(255579, "MagicDispeller", nil, nil, 1, 2)
|
||
|
|
|
||
|
|
local timerTransfusionCD = mod:NewNextTimer(34, 255577, nil, nil, nil, 5)
|
||
|
|
local timerGildedClawsCD = mod:NewCDTimer(34, 255579, nil, "Tank", nil, 5, nil, DBM_COMMON_L.TANK_ICON)
|
||
|
|
local timerMoltenGoldCD = mod:NewNextTimer(34, 255591, nil, nil, nil, 3)
|
||
|
|
|
||
|
|
local taintedBlood = DBM:GetSpellInfo(255558)
|
||
|
|
|
||
|
|
function mod:OnCombatStart(delay)
|
||
|
|
taintedBlood = DBM:GetSpellInfo(255558)
|
||
|
|
timerGildedClawsCD:Start(10.5-delay)
|
||
|
|
timerMoltenGoldCD:Start(16.5-delay)
|
||
|
|
timerTransfusionCD:Start(25-delay)
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:SPELL_CAST_START(args)
|
||
|
|
local spellId = args.spellId
|
||
|
|
if spellId == 255577 then
|
||
|
|
timerTransfusionCD:Start()
|
||
|
|
local _, _, _, _, _, expireTime = DBM:UnitDebuff("player", taintedBlood)
|
||
|
|
local remaining
|
||
|
|
if expireTime then
|
||
|
|
remaining = expireTime-GetTime()
|
||
|
|
end
|
||
|
|
--Not dead, and do not have tainted blood or do have it but it'll expire for transfusion does.
|
||
|
|
if not UnitIsDeadOrGhost("player") and (not remaining or remaining and remaining < 9) then
|
||
|
|
specWarnTransfusion:Show(taintedBlood)
|
||
|
|
specWarnTransfusion:Play("takedamage")
|
||
|
|
else--Already good to go, just a positive warning
|
||
|
|
warnTransfusion:Show()
|
||
|
|
end
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:SPELL_CAST_SUCCESS(args)
|
||
|
|
local spellId = args.spellId
|
||
|
|
if spellId == 255579 then
|
||
|
|
if not self.Options.SpecWarn255579dispel then
|
||
|
|
specWarnClaws:Show()
|
||
|
|
specWarnClaws:Play("defensive")
|
||
|
|
end
|
||
|
|
timerGildedClawsCD:Start()
|
||
|
|
elseif spellId == 255591 then
|
||
|
|
warnMoltenGold:Show()
|
||
|
|
timerMoltenGoldCD:Start()
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:SPELL_AURA_APPLIED(args)
|
||
|
|
local spellId = args.spellId
|
||
|
|
if spellId == 255579 and not args:IsDestTypePlayer() then
|
||
|
|
specWarnClawsDispel:Show(args.destName)
|
||
|
|
specWarnClawsDispel:Play("dispelboss")
|
||
|
|
end
|
||
|
|
end
|