local mod = DBM : NewMod ( 738 , " DBM-Party-MoP " , 6 , 324 )
local L = mod : GetLocalizedStrings ( )
mod.statTypes = " normal,heroic,challenge,timewalker "
mod : SetRevision ( " 20240622200108 " )
mod : SetCreatureID ( 61634 )
mod : SetEncounterID ( 1502 )
mod : SetZone ( 1011 )
mod : RegisterCombat ( " combat " )
mod : RegisterEvents (
" SPELL_AURA_REMOVED 120402 120759 " ,
-- "CHAT_MSG_MONSTER_YELL",
" RAID_BOSS_EMOTE "
)
mod : RegisterEventsInCombat (
" SPELL_AURA_APPLIED 120759 " ,
" SPELL_CAST_START 120789 "
)
mod : RegisterEvents (
" GOSSIP_SHOW "
)
local warnCausticTar = mod : NewSpellAnnounce ( - 6278 , 2 ) --Announce a tar is ready to be used. (may be spammy and turned off by default if it is)
local warnBombard = mod : NewSpellAnnounce ( 120200 , 3 )
local warnDashingStrike = mod : NewSpellAnnounce ( 120789 , 3 )
local warnThousandBlades = mod : NewSpellAnnounce ( 120759 , 4 )
local specWarnThousandBlades = mod : NewSpecialWarningRun ( 120759 , " Melee " , nil , 2 , 4 , 2 )
--local timerWaveCD = mod:NewTimer(12, "TimerWave", 69076)--Not wave timers in traditional sense. They are non stop, this is for when he activates certain mob types.
local timerBombard = mod : NewBuffActiveTimer ( 15 , 120200 , nil , nil , 6 )
local timerBombardCD = mod : NewCDTimer ( 42 , 120200 , nil , nil , nil , 3 )
local timerDashingStrikeCD = mod : NewCDTimer ( 13.5 , 120789 , nil , nil , nil , 3 ) --14-16 second variation
--local timerThousandBladesCD = mod:NewCDTimer(15, 120759, nil, nil, nil, 2)
local timerThousandBlades = mod : NewBuffActiveTimer ( 4 , 120759 , nil , nil , nil , 2 )
mod : AddGossipOption ( true , " Encounter " )
--local Swarmers = DBM:EJ_GetSectionInfo(6280)
--local Demolishers = DBM:EJ_GetSectionInfo(6282)
--local Warriors = DBM:EJ_GetSectionInfo(6283)
function mod : SPELL_AURA_APPLIED ( args )
if args.spellId == 120759 then
warnThousandBlades : Show ( )
if self.Options . SpecWarn120759run then
specWarnThousandBlades : Show ( )
specWarnThousandBlades : Play ( " justrun " )
else
warnThousandBlades : Show ( )
end
timerThousandBlades : Start ( )
end
end
function mod : SPELL_CAST_START ( args )
if args.spellId == 120789 then
warnDashingStrike : Show ( )
timerDashingStrikeCD : Start ( )
end
end
function mod : SPELL_AURA_REMOVED ( args )
if args.spellId == 120402 then -- NPC only buff, player's buff is 123032
warnCausticTar : Show ( )
elseif args.spellId == 120759 then
--timerThousandBladesCD:Start()
end
end
--[[
function mod : CHAT_MSG_MONSTER_YELL ( msg )
if msg == L.WaveStart or msg : find ( L.WaveStart ) then -- all timer and mob not confirmed, maybe useless.
timerWaveCD : Start ( 8 , Swarmers )
timerWaveCD : Start ( 65 , Demolishers )
timerWaveCD : Start ( 102 , Swarmers .. " , " .. Warriors )
timerWaveCD : Start ( 160 , Demolishers .. " , " .. Warriors )
end
end --]]
function mod : RAID_BOSS_EMOTE ( msg )
if msg : find ( " spell:120559 " ) then -- Bombard seems to be not related with wave status.
warnBombard : Show ( )
timerBombard : Start ( )
timerBombardCD : Start ( )
end
end
function mod : GOSSIP_SHOW ( )
local gossipOptionID = self : GetGossipID ( )
if gossipOptionID then
if self.Options . AutoGossipEncounter and gossipOptionID == 61620 then
self : SelectGossip ( gossipOptionID , true )
end
end
end