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.

74 lines
2.6 KiB

4 years ago
local mod = DBM:NewMod("CastleNathriaTrash", "DBM-CastleNathria", 1)
local L = mod:GetLocalizedStrings()
mod:SetRevision("20200816003541")
--mod:SetModelID(47785)
mod.isTrashMod = true
mod:RegisterEvents(
-- "SPELL_CAST_START",
"SPELL_AURA_APPLIED 339525 339607 339528",
"SPELL_AURA_APPLIED_DOSE 339528",
"SPELL_AURA_REMOVED 339525"
)
--TODO, icon mark shared suffering? Maybe when they fix ENCOUNTER_START, for now I don't want to risk trash mod messing with a boss mods icon marking
--Lady's Trash, minus bottled anima, which will need a unit event to detect it looks like
local warnConcentrateAnima = mod:NewTargetNoFilterAnnounce(339525, 3)
local warnSharedSuffering = mod:NewTargetNoFilterAnnounce(339607, 3)
local warnWarpedDesires = mod:NewStackAnnounce(339528, 2, nil, "Tank|Healer")
local specWarnConcentrateAnima = mod:NewSpecialWarningMoveAway(310780, nil, nil, nil, 1, 2)
local yellConcentrateAnima = mod:NewYell(339525)
local yellConcentrateAnimaFades = mod:NewShortFadesYell(339525)
local specWarnSharedSuffering = mod:NewSpecialWarningYou(339607, nil, nil, nil, 1, 2)
--local specWarnDirgefromBelow = mod:NewSpecialWarningInterrupt(310839, "HasInterrupt", nil, nil, 1, 2)
--local playerName = UnitName("player")
--Antispam IDs for this mod: 1 run away, 2 dodge, 3 dispel, 4 incoming damage, 5 you/role, 6 misc
--[[
function mod:SPELL_CAST_START(args)
local spellId = args.spellId
if spellId == 310780 and self:AntiSpam(5, 2) then
elseif spellId == 310839 and self:CheckInterruptFilter(args.sourceGUID, false, true) then
specWarnDirgefromBelow:Show(args.sourceName)
specWarnDirgefromBelow:Play("kickcast")
end
end
--]]
function mod:SPELL_AURA_APPLIED(args)
if not self.Options.Enabled then return end
local spellId = args.spellId
if spellId == 339525 then
if args:IsPlayer() then
specWarnConcentrateAnima:Show()
specWarnConcentrateAnima:Play("runout")
yellConcentrateAnima:Yell()
yellConcentrateAnimaFades:Countdown(spellId)
else
warnConcentrateAnima:Show(args.destName)
end
elseif spellId == 339607 then
warnSharedSuffering:CombinedShow(0.5, args.destName)
if args:IsPlayer() then
specWarnSharedSuffering:Show()
specWarnSharedSuffering:Play("targetyou")
end
elseif spellId == 339528 then
local amount = args.amount or 1
warnWarpedDesires:Show(args.destName, amount)
--TODO, swaps?
end
end
mod.SPELL_AURA_APPLIED_DOSE = mod.SPELL_AURA_APPLIED
function mod:SPELL_AURA_REMOVED(args)
local spellId = args.spellId
if spellId == 339525 and args:IsPlayer() then
yellConcentrateAnimaFades:Cancel()
end
end