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
