5.17 + Hyjal from Szyler's Discord
This commit is contained in:
@@ -0,0 +1,196 @@
|
||||
local mod = DBM:NewMod("Anetheron", "DBM-Hyjal")
|
||||
local L = mod:GetLocalizedStrings()
|
||||
|
||||
mod:SetRevision(("$Revision: 183 $"):sub(12, -3))
|
||||
mod:SetCreatureID(17808)
|
||||
mod:SetUsedIcons(1,2,3,4,5,6,7,8)
|
||||
mod:RegisterCombat("combat", 17808)
|
||||
|
||||
mod:RegisterEvents(
|
||||
"SPELL_AURA_APPLIED",
|
||||
"SPELL_AURA_REFRESH",
|
||||
"SPELL_AURA_REMOVED",
|
||||
"SPELL_CAST_START",
|
||||
"SPELL_CAST_SUCCESS",
|
||||
"CHAT_MSG_RAID_BOSS_EMOTE",
|
||||
"CHAT_MSG_MONSTER_YELL",
|
||||
"UNIT_DIED"
|
||||
)
|
||||
|
||||
-- Unknown Entity spawn
|
||||
-- Unknown Effigy warning (2 stacks++)
|
||||
-- Teleport active (plus body notification?)
|
||||
|
||||
--Carrion Swarm
|
||||
local warnSwarm = mod:NewSpellAnnounce(2140800, 3)
|
||||
local timerSwarm = mod:NewNextTimer(30, 2140800)
|
||||
|
||||
--Nightmare
|
||||
local timerNextNightmare = mod:NewNextTimer(45, 2140830)
|
||||
local warnNightmareSoon = mod:NewAnnounce("Nightmare soon!", 2140830)
|
||||
local warnNightmare = mod:NewAnnounce("%s is sent into the Nightmare!", 2140830)
|
||||
|
||||
-- Ring of Frost
|
||||
local timerNextRingofFrost = mod:NewNextTimer(45, 2140153)
|
||||
local timerRingofFrost = mod:NewTimer(15, "Ring of Frost duration", 2140153)
|
||||
|
||||
-- Infernal Rain
|
||||
local timerNextInfernal = mod:NewNextTimer(45, 2140810)
|
||||
local timerInfernal = mod:NewTimer(10, "Infernal spawning", 2140810)
|
||||
local timerInfernalRain = mod:NewTimer(19, "Infernal Rain duration", 2140818)
|
||||
|
||||
-- Fight
|
||||
local target1
|
||||
local target2
|
||||
local target3
|
||||
|
||||
function mod:OnCombatStart(delay)
|
||||
timerSwarm:Start(10-delay)
|
||||
timerNextNightmare:Start(35-delay)
|
||||
timerNextInfernal:Start(20-delay)
|
||||
self:ScheduleMethod(35-delay,"Nightmare")
|
||||
target1 = nil
|
||||
target2 = nil
|
||||
target3 = nil
|
||||
DBM.BossHealth:AddBoss(17772, L.Jaina)
|
||||
end
|
||||
|
||||
function mod:Nightmare()
|
||||
self:UnscheduleMethod("Nightmare")
|
||||
timerNextNightmare:Start()
|
||||
warnNightmareSoon:Schedule(40)
|
||||
self:ScheduleMethod(45,"Nightmare")
|
||||
end
|
||||
|
||||
function mod:InfernalRain()
|
||||
self:UnscheduleMethod("InfernalRain")
|
||||
timerInfernal:Stop()
|
||||
timerInfernalRain:Stop()
|
||||
timerNextInfernal:Stop()
|
||||
timerInfernal:Start()
|
||||
timerInfernalRain:Start()
|
||||
timerNextInfernal:Start()
|
||||
self:ScheduleMethod(45,"InfernalRain")
|
||||
end
|
||||
|
||||
function mod:SPELL_AURA_APPLIED(args)
|
||||
if args:IsSpellID(2140825) then
|
||||
if target3 == nil and target2 ~= nil and target1 ~= nil then
|
||||
target3 = args.DestName
|
||||
self:setIcon(target3, 2)
|
||||
DBM.BossHealth:AddBoss(92171,target3)
|
||||
warnNightmare:Show(target3)
|
||||
elseif target2 == nil and target1 ~= nil then
|
||||
target2 = args.DestName
|
||||
self:setIcon(target2, 2)
|
||||
DBM.BossHealth:AddBoss(92171,target2)
|
||||
warnNightmare:Show(target2)
|
||||
elseif target1 == nil then
|
||||
target1 = args.DestName
|
||||
self:setIcon(target1, 1)
|
||||
DBM.BossHealth:AddBoss(92171,target1)
|
||||
warnNightmare:Show(target1)
|
||||
end
|
||||
end
|
||||
if args:IsSpellID(2140825) and args.destName == target1 then
|
||||
DBM.BossHealth:RemoveBoss(92171,target1)
|
||||
self:setIcon(target1, 0)
|
||||
target1 = nil
|
||||
elseif args:IsSpellID(2140825) and args.destName == target2 then
|
||||
DBM.BossHealth:RemoveBoss(92171,target2)
|
||||
self:setIcon(target2, 0)
|
||||
target2 = nil
|
||||
elseif args:IsSpellID(2140825) and args.destName == target3 then
|
||||
DBM.BossHealth:RemoveBoss(92171,target3)
|
||||
self:setIcon(target3, 0)
|
||||
target3 = nil
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_AURA_REFRESH(args)
|
||||
if args:IsSpellID(2140825) and args.destName == target1 then
|
||||
DBM.BossHealth:RemoveBoss(92171,target1)
|
||||
self:setIcon(target1, 0)
|
||||
target1 = nil
|
||||
elseif args:IsSpellID(2140825) and args.destName == target2 then
|
||||
DBM.BossHealth:RemoveBoss(92171,target2)
|
||||
self:setIcon(target2, 0)
|
||||
target2 = nil
|
||||
elseif args:IsSpellID(2140825) and args.destName == target3 then
|
||||
DBM.BossHealth:RemoveBoss(92171,target3)
|
||||
self:setIcon(target3, 0)
|
||||
target3 = nil
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_AURA_REMOVED(args)
|
||||
end
|
||||
|
||||
function mod:SPELL_CAST_START(args)
|
||||
if args:IsSpellID(2140800) then
|
||||
warnSwarm:Show()
|
||||
timerSwarm:Start()
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_CAST_SUCCESS(args)
|
||||
end
|
||||
|
||||
function mod:CHAT_MSG_MONSTER_YELL(msg)
|
||||
if msg == L.Infernal1 or msg == L.Infernal2 or msg:find(L.Infernal1) or msg:find(L.Infernal2) then
|
||||
self:UnscheduleMethod("InfernalRain")
|
||||
timerInfernal:Stop()
|
||||
timerNextInfernal:Stop()
|
||||
timerInfernalRain:Stop()
|
||||
timerNextInfernal:Start(45)
|
||||
timerInfernal:Start(10)
|
||||
timerInfernalRain:Start(19)
|
||||
self:ScheduleMethod(45,"InfernalRain")
|
||||
end
|
||||
if msg == L.RingofFrost or msg:find(L.RingofFrost) then
|
||||
timerNextRingofFrost:Start()
|
||||
timerRingofFrost:Schedule(2)
|
||||
end
|
||||
end
|
||||
|
||||
function mod:UNIT_DIED(args)
|
||||
if args.destName == target1 then
|
||||
DBM.BossHealth:RemoveBoss(92171,target1)
|
||||
target1 = nil
|
||||
elseif args.destName == target2 then
|
||||
DBM.BossHealth:RemoveBoss(92171,target2)
|
||||
target2 = nil
|
||||
elseif args.destName ==target3 then
|
||||
DBM.BossHealth:RemoveBoss(92171,target3)
|
||||
target3 = nil
|
||||
end
|
||||
end
|
||||
|
||||
function mod:OnCombatEnd()
|
||||
DBM.BossHealth:RemoveBoss(92171,target1)
|
||||
DBM.BossHealth:RemoveBoss(92171,target2)
|
||||
DBM.BossHealth:RemoveBoss(92171,target3)
|
||||
DBM.BossHealth:RemoveBoss(17772)
|
||||
target1 = nil
|
||||
target2 = nil
|
||||
target3 = nil
|
||||
end
|
||||
|
||||
|
||||
function mod:CHAT_MSG_RAID_BOSS_EMOTE(msg)
|
||||
if msg == " Anetheron sends %s into a nightmare!" or msg:find(L.Nightmare) then
|
||||
if target3 == nil and target2 ~= nil and target1 ~= nil then
|
||||
target3 = msg:find(L.Nightmare)
|
||||
self:SetIcon(target3, 3)
|
||||
DBM.BossHealth:AddBoss(92171,target3)
|
||||
elseif target2 == nil and target1 ~= nil then
|
||||
target2 = msg:find(L.Nightmare)
|
||||
self:SetIcon(target2, 2)
|
||||
DBM.BossHealth:AddBoss(92171,target2)
|
||||
elseif target1 == nil then
|
||||
target1 = msg:find(L.Nightmare)
|
||||
self:SetIcon(target1, 1)
|
||||
DBM.BossHealth:AddBoss(92171,target1)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,345 @@
|
||||
local mod = DBM:NewMod("Archimonde", "DBM-Hyjal")
|
||||
local L = mod:GetLocalizedStrings()
|
||||
|
||||
mod:SetRevision(("$Revision: 183 $"):sub(12, -3))
|
||||
mod:SetCreatureID(17968,26648,26647)
|
||||
mod:SetUsedIcons(8)
|
||||
mod:RegisterCombat("combat")
|
||||
mod:SetBossHealthInfo(
|
||||
17968, "Archimonde",
|
||||
26648, "Narmak",
|
||||
26647, "Haaroon"
|
||||
)
|
||||
|
||||
mod:RegisterEvents(
|
||||
"SPELL_AURA_APPLIED",
|
||||
"SPELL_AURA_APPLIED_DOSE",
|
||||
"SPELL_CAST_START",
|
||||
"SPELL_CAST_SUCCESS",
|
||||
"SPELL_DAMAGE",
|
||||
"CHAT_MSG_MONSTER_YELL",
|
||||
"UNIT_DIED",
|
||||
"UNIT_HEALTH"
|
||||
)
|
||||
-- -------------- RP -------------------
|
||||
local timerCombatStart = mod:NewTimer(23, "Combat starting in ", 800462)
|
||||
|
||||
--Haaroon & Narmak
|
||||
local timerShockwave = mod:NewTimer(25, "Haaroon casting 3 Shockwaves", 2141567)
|
||||
local timerCastsShockwave = mod:NewCastTimer(3, 2141567)
|
||||
local warnShockwave = mod:NewSpellAnnounce(2141567, 3)
|
||||
local timerFelBombs = mod:NewTimer(25, "Narmak throwing 4 Fel Bombs", 2141553)
|
||||
local timerFelExplosionSoon = mod:NewTimer(10, "Fel Bombs exploding soon", 2141553)
|
||||
local timerFelExplosion = mod:NewTimer(4, "Fel Bombs exploding", 2141553)
|
||||
local warnFelBombs = mod:NewSpellAnnounce(2141553, 3)
|
||||
|
||||
------------ Archimonde ----------------
|
||||
-- Transitions
|
||||
local warnAddPhase = mod:NewAnnounce("Kill Narmak and Haaroon to engage Archimonde", 3, 10066)
|
||||
local warnFirePhase = mod:NewAnnounce("Fire Phase incoming!", 3, 76325)
|
||||
local warnLightningPhaseSoon = mod:NewAnnounce("Lightning Phase at 70 percent health!", 3, 2141471)
|
||||
local warnLightningPhase = mod:NewAnnounce("Lightning Phase incoming!", 3, 2141471)
|
||||
local timerCallLightning = mod:NewCastTimer(4, 2141471)
|
||||
local warnVoidPhaseSoon = mod:NewAnnounce("Void Phase at 40 percent health!", 3, 2141480)
|
||||
local warnVoidPhase = mod:NewAnnounce("Void Phase incoming!", 3, 2141480)
|
||||
|
||||
-- All fight
|
||||
local timerNextForceofWill = mod:NewNextTimer(45, 2141400)
|
||||
local warnSpecialForceofWill = mod:NewSpecialWarning("Force of Will", 2141400)
|
||||
local warnForceofWillSoon = mod:NewAnnounce("Force of Will in 5 seconds", 2141400)
|
||||
local timerForceofWill = mod:NewCastTimer(2, 2141400)
|
||||
local warnCurseoftheDefiler = mod:NewSpellAnnounce(2141422)
|
||||
local timerCurseoftheDefiler = mod:NewNextTimer(30, 2141422)
|
||||
local specWarnWeakCurse = mod:NewSpecialWarning("Curse of the Defiler is weakened. Decurse now!", 2141428)
|
||||
local warnDecurseJaina = mod:NewAnnounce("Decurse Jaina now!", 2141428)
|
||||
local warnDecurseTyrande = mod:NewAnnounce("Decurse Tyrande now!",2141428)
|
||||
local warnDecurseThrall = mod:NewAnnounce("Decurse Thrall now!", 2141428)
|
||||
|
||||
--Fire Phase
|
||||
local timerNextDoomMeteor = mod:NewNextTimer(45, 2141405)
|
||||
local timerCastDoomMeteor = mod:NewCastTimer(6, 2141405)
|
||||
local warnDoomMeteor = mod:NewSpellAnnounce(2141405)
|
||||
local timerDrawFlames = mod:NewNextTimer(55, 2141442)
|
||||
local warnDrawFlames = mod:NewSpellAnnounce(2141442)
|
||||
|
||||
--Lightning Phase
|
||||
local timerLightningStrikes = mod:NewTimer(10, "Lightning Strikes", 2141456)
|
||||
local warnLightningStrikes = mod:NewSpecialWarning("Lightning Strikes Soon!", 2141456)
|
||||
local timerLivingLightning = mod:NewNextTimer(45,2141462)
|
||||
local warnLivingLightning = mod:NewAnnounce("Archimonde is summoning Living Lightning!", 2141462, 2)
|
||||
|
||||
-- Void Phase
|
||||
local warnGoT = mod:NewSpellAnnounce(2141604, 3)
|
||||
local timerNextGoT = mod:NewNextTimer(60, 2141604)
|
||||
local timerCastGoT = mod:NewCastTimer(3, 2141604)
|
||||
local timerVoidHerald = mod:NewTimer(20, "Void Herald incoming", 5108)
|
||||
local timerVoidTendril = mod:NewTimer(20, "Void Tendrils spawning", 2117107)
|
||||
|
||||
-- Jaina
|
||||
local warnWardWinter = mod:NewAnnounce("Ward of Winter on %s!", 2140155)
|
||||
local warnSpecWardsofWinter = mod:NewSpecialWarning("Ward of Winter on you!", 2140155)
|
||||
local timerWardWinter = mod:NewTargetTimer(15, 2140155)
|
||||
local timerNextWardWinter = mod:NewNextTimer(45, 2140155)
|
||||
|
||||
-- Thrall
|
||||
local warnTotemofLightning = mod:NewAnnounce("A Lightning Capture Totem is up for 15 seconds!", 2140264)
|
||||
local timerTotemofLightning = mod:NewTimer(30, "Lightning Capture Totem duration", 2140264)
|
||||
local timerNextTotemofLightning = mod:NewNextTimer(45, 2140264)
|
||||
|
||||
--Tyrande
|
||||
local warnLightofElune = mod:NewAnnounce("Light of Elune on %s!",2140073)
|
||||
local timerLightofElune = mod:NewNextTimer(50, 2140073)
|
||||
local warnSpecLightofElune = mod:NewSpecialWarning("Light of Elune on you!", 2140073)
|
||||
|
||||
-- fight
|
||||
local berserkTimer = mod:NewBerserkTimer(900)
|
||||
local prewarn
|
||||
local phase
|
||||
local terror
|
||||
local lastDoomfire
|
||||
local remainingDoomfire
|
||||
local lastForce
|
||||
local remainingForce
|
||||
local drawFlames
|
||||
|
||||
function mod:OnCombatStart(delay)
|
||||
prewarn = 0
|
||||
phase = 0
|
||||
terror = 0
|
||||
lastDoomfire = nil
|
||||
lastForce = nil
|
||||
drawFlames = 0
|
||||
end
|
||||
|
||||
function mod:AddPhase()
|
||||
warnAddPhase:Show()
|
||||
timerFelBombs:Start(8)
|
||||
timerShockwave:Start(12)
|
||||
end
|
||||
|
||||
function mod:FirePhase()
|
||||
phase = 1
|
||||
berserkTimer:Start()
|
||||
warnFirePhase:Show()
|
||||
timerNextDoomMeteor:Start(10)
|
||||
warnForceofWillSoon:Schedule(25)
|
||||
timerNextForceofWill:Start(30)
|
||||
|
||||
if mod:IsDifficulty("heroic10", "heroic25") then
|
||||
timerNextWardWinter:Start(180)
|
||||
else
|
||||
timerNextWardWinter:Start(50)
|
||||
end
|
||||
end
|
||||
|
||||
function mod:LightningPhase()
|
||||
phase = 2
|
||||
warnLightningPhase:Show()
|
||||
timerCallLightning:Start()
|
||||
warnForceofWillSoon:Schedule(33)
|
||||
timerNextForceofWill:Start(38)
|
||||
timerTotemofLightning:Start(28)
|
||||
timerLightningStrikes:Start(16)
|
||||
warnLightningStrikes:Schedule(14)
|
||||
self:ScheduleMethod(15,"LightningStrikes")
|
||||
end
|
||||
|
||||
function mod:VoidPhase()
|
||||
phase = 3
|
||||
warnVoidPhase:Show()
|
||||
warnForceofWillSoon:Schedule(33)
|
||||
timerForceofWill:Start(38)
|
||||
timerNextGoT:Start(3)
|
||||
timerVoidTendril:Start(23)
|
||||
warnLightningStrikes:Schedule(10)
|
||||
timerLightningStrikes:Start(12)
|
||||
self:ScheduleMethod(12,"LightningStrikes")
|
||||
end
|
||||
|
||||
function mod:CancelP0Timers()
|
||||
timerFelBombs:Stop()
|
||||
timerShockwave:Stop()
|
||||
end
|
||||
|
||||
function mod:CancelP1Timers()
|
||||
timerNextDoomMeteor:Stop()
|
||||
timerNextForceofWill:Stop()
|
||||
warnForceofWillSoon:Cancel()
|
||||
end
|
||||
|
||||
function mod:CancelP2Timers()
|
||||
self:UnscheduleMethod("LightningStrikes")
|
||||
timerLightningStrikes:Stop()
|
||||
warnLightningStrikes:Cancel()
|
||||
timerNextForceofWill:Stop()
|
||||
warnForceofWillSoon:Cancel()
|
||||
timerLivingLightning:Stop()
|
||||
end
|
||||
|
||||
function mod:LightningStrikes()
|
||||
self:UnscheduleMethod("LightningStrikes")
|
||||
timerLightningStrikes:Start()
|
||||
warnLightningStrikes:Schedule(8)
|
||||
self:ScheduleMethod(10,"LightningStrikes")
|
||||
end
|
||||
|
||||
function mod:SPELL_AURA_APPLIED(args)
|
||||
if args:IsSpellID(2141428) and args:IsPlayer() then -- Grasp of the Defiler is Weakened
|
||||
specWarnWeakCurse:Show()
|
||||
end
|
||||
if args:IsSpellID(2141428) and args.destName == "Lady Jaina Proudmoore" then
|
||||
warnDecurseJaina:Show()
|
||||
elseif args:IsSpellID(2141428) and args.destName == "Tyrande Whisperwind" then
|
||||
warnDecurseTyrande:Show()
|
||||
elseif args:IsSpellID(2141428) and args.destName == "Thrall" then
|
||||
warnDecurseThrall:Show()
|
||||
end
|
||||
if args:IsSpellID(2141422,2141423,2141424,2141425) and args:IsPlayer() then -- Curse of the Defiler
|
||||
warnCurseoftheDefiler:Show()
|
||||
end
|
||||
if args:IsSpellID(2140155) then
|
||||
if args:IsPlayer() then
|
||||
warnSpecWardsofWinter:Show()
|
||||
else
|
||||
warnWardWinter:Show(args.destName)
|
||||
end
|
||||
self:SetIcon(args.destName, 4, 15)
|
||||
timerWardWinter:Start(args.destName)
|
||||
timerNextWardWinter:Start()
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_AURA_APPLIED_DOSE(args)
|
||||
if args:IsSpellID(2141422,2141423,2141424,2141425) and args:IsPlayer() then -- Curse of the Defiler
|
||||
warnCurseoftheDefiler:Show(args.amount)
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_DAMAGE(args)
|
||||
if args:IsSpellID(2141455,2141456,2141457,2141458) and DBM:AntiSpam(6,5) then
|
||||
self:UnscheduleMethod("LightningStrikes")
|
||||
warnLightningStrikes:Cancel()
|
||||
self:ScheduleMethod(0,"LightningStrikes")
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_CAST_START(args)
|
||||
if args:IsSpellID(2141553) and DBM:AntiSpam(5,3) then -- Fel Iron Bombs
|
||||
warnFelBombs:Show()
|
||||
timerFelBombs:Start()
|
||||
timerFelExplosionSoon:Start(11)
|
||||
timerFelExplosion:Schedule(11)
|
||||
elseif args:IsSpellID(2141567) and DBM:AntiSpam(5,4) then -- Shockwave
|
||||
warnShockwave:Show()
|
||||
timerShockwave:Start()
|
||||
timerCastsShockwave:Start()
|
||||
elseif args:IsSpellID(2141405) then -- Doomfire Meteor
|
||||
warnDoomMeteor:Show()
|
||||
timerCastDoomMeteor:Start()
|
||||
timerNextDoomMeteor:Start()
|
||||
lastDoomfire = GetTime()
|
||||
elseif args:IsSpellID(2141400) then -- Force of Will
|
||||
warnSpecialForceofWill:Show()
|
||||
warnForceofWillSoon:Schedule(40)
|
||||
timerForceofWill:Start()
|
||||
timerNextForceofWill:Start()
|
||||
lastForce = GetTime()
|
||||
elseif args:IsSpellID(2141519) then -- Call Lightning
|
||||
self:ScheduleMethod(0, "CancelP1Timers")
|
||||
self:ScheduleMethod(0, "LightningPhase")
|
||||
elseif args:IsSpellID(2141604) then -- Glimpse of Tomorrow
|
||||
warnGoT:Show()
|
||||
timerCastGoT:Start()
|
||||
if terror == 1 then
|
||||
timerNextGoT:Start(60)
|
||||
elseif terror == 0 then
|
||||
terror = 1
|
||||
timerNextGoT:Start(15)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_CAST_SUCCESS(args)
|
||||
if args:IsSpellID(2141442) then -- Draw Flames
|
||||
warnDrawFlames:Show()
|
||||
if drawFlames == 1 then
|
||||
timerNextDoomMeteor:Start()
|
||||
elseif drawFlames == 2 then
|
||||
timerNextForceofWill:Start()
|
||||
end
|
||||
elseif args:IsSpellID(2141473) then -- Summon Living Lightning
|
||||
warnLivingLightning:Show()
|
||||
timerLivingLightning:Start()
|
||||
end
|
||||
end
|
||||
|
||||
function mod:CHAT_MSG_MONSTER_YELL(msg)
|
||||
if msg == L.FightStartYell or msg:find(L.FightStartYell) then -- Archimonde
|
||||
timerCombatStart:Start()
|
||||
self:ScheduleMethod(23,"AddPhase")
|
||||
end
|
||||
if msg == L.FirePhase or msg:find(L.FirePhase) then --Archimonde
|
||||
self:ScheduleMethod(0,"CancelP0Timers")
|
||||
self:ScheduleMethod(0,"FirePhase")
|
||||
end
|
||||
if msg == L.LightningCapTotem or msg:find(L.LightningCapTotem) then --Thrall
|
||||
warnTotemofLightning:Show()
|
||||
timerTotemofLightning:Start()
|
||||
timerNextTotemofLightning:Start()
|
||||
end
|
||||
if msg == L.LightofElune or msg:find(L.LightofElune) then -- Tyrande
|
||||
local lightofElune = msg:find(L.LightofElune)
|
||||
if lightofElune == UnitName("Player") then
|
||||
warnSpecLightofElune:Show()
|
||||
else
|
||||
warnLightofElune:Show(lightofElune)
|
||||
end
|
||||
self:SetIcon(lightofElune, 3, 50)
|
||||
timerLightofElune:Start()
|
||||
end
|
||||
if msg == L.CalloftheVoid or msg:find(L.CalloftheVoid) then --Archimonde Void Phase
|
||||
self:ScheduleMethod(0, "CancelP2Timers")
|
||||
self:ScheduleMethod(0,"VoidPhase")
|
||||
end
|
||||
-- if msg == L.VoidSpawn or msg:find(L.VoidSpawn) then -- Archimonde Void Spawn
|
||||
--end
|
||||
end
|
||||
|
||||
function mod:UNIT_HEALTH(uId)
|
||||
if self:GetUnitCreatureId(uId) == 17968 and (UnitHealth(uId) / UnitHealthMax(uId)) <= 0.85 and prewarn == 0 and DBM:AntiSpam(5,2) then
|
||||
prewarn = 1
|
||||
remainingDoomfire = 45 - (GetTime() - lastDoomfire)
|
||||
remainingForce = 45 - (GetTime() - lastForce)
|
||||
if remainingDoomfire < remainingForce then
|
||||
timerNextDoomMeteor:Cancel()
|
||||
timerDrawFlames:Start(remainingDoomfire)
|
||||
drawFlames = 1
|
||||
else
|
||||
timerNextForceofWill:Cancel()
|
||||
timerDrawFlames:Start(remainingForce)
|
||||
drawFlames = 2
|
||||
end
|
||||
end
|
||||
if self:GetUnitCreatureId(uId) == 17968 and (UnitHealth(uId) / UnitHealthMax(uId)) <= 0.75 and prewarn == 1 and DBM:AntiSpam(5,2) then
|
||||
prewarn = 2
|
||||
warnLightningPhaseSoon:Show()
|
||||
elseif self:GetUnitCreatureId(uId) == 17968 and (UnitHealth(uId) / UnitHealthMax(uId)) <= 0.45 and prewarn == 2 and DBM:AntiSpam(5,3) then
|
||||
prewarn = 3
|
||||
warnVoidPhaseSoon:Show()
|
||||
end
|
||||
end
|
||||
|
||||
function mod:UNIT_DIED(args)
|
||||
local cid = self:GetCIDFromGUID(args.destGUID)
|
||||
if cid == 26647 then
|
||||
timerShockwave:Stop()
|
||||
elseif cid == 26648 then
|
||||
timerFelBombs:Stop()
|
||||
end
|
||||
end
|
||||
|
||||
function mod:CombatEnd()
|
||||
self:ScheduleMethod("CancelP0Timers")
|
||||
self:ScheduleMethod("CancelP1Timers")
|
||||
self:ScheduleMethod("CancelP2Timers")
|
||||
end
|
||||
@@ -0,0 +1,134 @@
|
||||
local mod = DBM:NewMod("Azgalor", "DBM-Hyjal")
|
||||
local L = mod:GetLocalizedStrings()
|
||||
|
||||
mod:SetRevision(("$Revision: 183 $"):sub(12, -3))
|
||||
mod:SetCreatureID(17842)
|
||||
mod:SetUsedIcons(8)
|
||||
mod:RegisterCombat("combat", 17842)
|
||||
|
||||
mod:RegisterEvents(
|
||||
"SPELL_AURA_APPLIED",
|
||||
"SPELL_AURA_APPLIED_DOSE",
|
||||
"SPELL_AURA_REMOVED",
|
||||
"SPELL_CAST_SUCCESS",
|
||||
"SPELL_CAST_START",
|
||||
"SPELL_DAMAGE",
|
||||
"UNIT_DIED"
|
||||
)
|
||||
-- mark of Azgalor
|
||||
local warnMark = mod:NewSpellAnnounce(2141211, 2)
|
||||
local timerNextMark = mod:NewNextTimer(60, 2141211)
|
||||
|
||||
-- Rain of Fire
|
||||
local specWarnFire = mod:NewSpecialWarning("Rain of Fire on you!", 2141200, 2)
|
||||
local warnRoF = mod:NewSpellAnnounce(2141200, 2)
|
||||
local timerRoF = mod:NewCastTimer(3, 2141200)
|
||||
local timerNextRoF = mod:NewNextTimer(25, 2141200)
|
||||
|
||||
--Howl of Terror
|
||||
local warnHowl = mod:NewSpellAnnounce(2141209, 2)
|
||||
local timerHowl = mod:NewCastTimer(2, 2141209)
|
||||
local timerNextHowl = mod:NewNextTimer(30, 2141209)
|
||||
|
||||
-- Legion Portal
|
||||
local warnPortal = mod:NewAnnounce("Legion Portal spawning!", 2, 254274)
|
||||
local timerNextPortal = mod:NewTimer(45, "Next Legion Portal", 2, 254274)
|
||||
|
||||
--Add abilities
|
||||
local warnDoom = mod:NewAnnounce("Curse of Doom on %s!", 2141250)
|
||||
local specWarnDoom = mod:NewSpecialWarning("Curse of Doom on you!", 2141250)
|
||||
local warnShadowStorm = mod:NewAnnounce("Shade is casting Shadow Bolt Storm!", 2140494)
|
||||
local warnAntiMagic = mod:NewAnnounce("Anti-Magic Shield on %s!", 2140322)
|
||||
|
||||
--Impending Doom
|
||||
local warnImpending = mod:NewAnnounce("Impending Doom on %s!", 2141216)
|
||||
local specWarnImpending = mod:NewSpecialWarning("Impending Doom on you!", 2141216)
|
||||
local timerImpending = mod:NewTimer(8, "Impending Doom on %s", 2141216)
|
||||
|
||||
--fight
|
||||
local berserkTimer = mod:NewBerserkTimer(600)
|
||||
|
||||
--combat start
|
||||
function mod:OnCombatStart(delay)
|
||||
berserkTimer:Start(-delay)
|
||||
timerNextRoF:Start(20-delay)
|
||||
timerNextPortal:Start(31-delay)
|
||||
timerNextMark:Start(15-delay)
|
||||
timerNextHowl:Start(35-delay)
|
||||
self:ScheduleMethod(31-delay,"LegionPortal")
|
||||
end
|
||||
|
||||
function mod:LegionPortal()
|
||||
self:UnscheduleMethod("LegionPortal")
|
||||
warnPortal:Show()
|
||||
timerNextPortal:Start()
|
||||
DBM.BossHealth:AddBoss(26665, L.LegionPortal)
|
||||
self:ScheduleMethod(45,"LegionPortal")
|
||||
end
|
||||
|
||||
function mod:SPELL_AURA_APPLIED(args)
|
||||
if args:IsSpellID(2141200,2141201,2141202,2141203) and args:IsPlayer() and DBM:AntiSpam(5, 1) then
|
||||
specWarnFire:Show()
|
||||
end
|
||||
if args:IsSpellID(2141212) and args:IsPlayer() then
|
||||
warnMark:Show()
|
||||
timerNextMark:Start()
|
||||
end
|
||||
if args:IsSpellID(2141250,2141251,2141252,2141253) then
|
||||
if args:IsPlayer() then
|
||||
specWarnDoom:Show()
|
||||
else
|
||||
warnDoom:Show(args.destName)
|
||||
end
|
||||
end
|
||||
if args:IsSpellID(2140322) then
|
||||
warnAntiMagic:Show(args.destName)
|
||||
end
|
||||
if args:IsSpellID(2141216) then
|
||||
if args:IsPlayer() then
|
||||
specWarnImpending:Show()
|
||||
else
|
||||
warnImpending:Show(args.destName)
|
||||
end
|
||||
timerImpending:Show(args.destName)
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_AURA_APPLIED_DOSE(args)
|
||||
if args:IsSpellID(2141200,2141201,2141202,2141203) and args:IsPlayer() and DBM:AntiSpam(5, 1) then
|
||||
specWarnFire:Show()
|
||||
end
|
||||
if args:IsSpellID(2141212) and args:IsPlayer() then
|
||||
warnMark:Show(args.amount)
|
||||
timerNextMark:Start()
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_DAMAGE(args)
|
||||
if args:IsSpellID(2141226) and DBM:AntiSpam(40,2) then
|
||||
self:SetIcon(args.sourceGUID, 8)
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_CAST_START(args)
|
||||
if args:IsSpellID(2141200,2141201,2141202,2141203) then
|
||||
warnRoF:Show()
|
||||
timerRoF:Start()
|
||||
timerNextRoF:Start()
|
||||
end
|
||||
if args:IsSpellID(2141209) then
|
||||
warnHowl:Show()
|
||||
timerHowl:Start()
|
||||
timerNextHowl:Start()
|
||||
end
|
||||
if args:IsSpellID(2140494) then
|
||||
warnShadowStorm:Show()
|
||||
end
|
||||
end
|
||||
|
||||
function mod:UNIT_DIED(args)
|
||||
local cid = self:GetCIDFromGUID(args.destGUID)
|
||||
if cid == 26665 then
|
||||
DBM.BossHealth:Clear()
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,290 @@
|
||||
local mod = DBM:NewMod("Chromius", "DBM-Hyjal")
|
||||
local L = mod:GetLocalizedStrings()
|
||||
|
||||
mod:SetRevision(("$Revision: 183 $"):sub(12, -3))
|
||||
mod:SetCreatureID(26643)
|
||||
mod:RegisterCombat("combat", 26643)
|
||||
|
||||
mod:RegisterEvents(
|
||||
"SPELL_CAST_START",
|
||||
"SPELL_CAST_SUCCESS",
|
||||
"SPELL_AURA_APPLIED",
|
||||
"SPELL_DAMAGE",
|
||||
"CHAT_MSG_MONSTER_YELL",
|
||||
"CHAT_MSG_RAID_BOSS_EMOTE",
|
||||
"UNIT_HEALTH",
|
||||
"UNIT_DIED"
|
||||
)
|
||||
|
||||
-- Final Countdown
|
||||
local specWarnFinalCountdown = mod:NewSpecialWarning("Final Countdown! The Hourglass will vibrate %s times!", 2141735)
|
||||
local warnCountdown = mod:NewAnnounce("There are %s vibrations left!", 2141735)
|
||||
local timerNextFinalCountdown = mod:NewTimer(60,"Next Final Countdown: (%s)", 2141735)
|
||||
local timerFinalDuration = mod:NewTimer(2,"Final Countdown (%s ticks)", 2141735)
|
||||
local warnFinalCDSoon = mod:NewAnnounce("Final Countdown soon!", 2141735)
|
||||
local timerFinalDelay = mod:NewTimer(3, "Vibration travel time", 2141735)
|
||||
|
||||
-- Events (Mannoroth)
|
||||
local timerNextChaosBlast = mod:NewNextTimer(20,2141800)
|
||||
local timerCastChaosBlast = mod:NewTargetTimer(3.85, 2141800)
|
||||
local warnChaosBlast = mod:NewTargetAnnounce(2141800)
|
||||
local specWarnChaosBlast = mod:NewSpecialWarning("Chaos Blast on you!", 2141800)
|
||||
local timerMannorothsFury = mod:NewNextTimer(20, 2141809)
|
||||
local warnMannorothsFury = mod:NewSpellAnnounce(2141809)
|
||||
|
||||
--Events (Tyrande)
|
||||
local warnBlackArrow = mod:NewAnnounce("Black Arrow on %s!", 2141904)
|
||||
local specWarnBlackArrow = mod:NewSpecialWarning("Black Arrow on you!", 2141904)
|
||||
|
||||
--Events (Jaina)
|
||||
local warnHolyLight = mod:NewAnnounce("%s is casting Holy Light! Interrupt it!", 2141856)
|
||||
local timerInsanity = mod:NewTimer(106, "Jaina is losing her mind...", 2141884)
|
||||
|
||||
-- Dragon abilities
|
||||
local warnArcaneBreath = mod:NewSpellAnnounce(2141705)
|
||||
local timerArcaneBreath = mod:NewNextTimer(30, 2141705)
|
||||
local timerCastArcaneBreath = mod:NewCastTimer(2, 2141705)
|
||||
local timerBreathDuration = mod:NewTimer(3, "Arcane Breath duration", 2141705)
|
||||
|
||||
-- adds
|
||||
local warnArcaneExplosion = mod:NewAnnounce("Infinite Time Warder is casting Arcane Explosion!", 2141758)
|
||||
local timerArcaneExplosion = mod:NewCastTimer(4, 2141758)
|
||||
|
||||
-- Phases
|
||||
local warnTransSoon = mod:NewAnnounce("Portal Event incoming in 5 percent health!", 2141724)
|
||||
local timerTeleport = mod:NewTimer(5, "Teleported in", 2100249)
|
||||
local warnJainaPhase = mod:NewAnnounce("Enter the portal and kill Jaina!", 2141724)
|
||||
local warnGromPhase = mod:NewAnnounce("Enter the portal and kill the Infinite Subjugators!", 2141724)
|
||||
local warnTyrandePhase = mod:NewAnnounce("Enter the Portal and heal the Sentinels!", 2141724)
|
||||
local SentinelAnnounce = mod:NewAnnounce("There are %s Sentinels remaining!", 2140018)
|
||||
|
||||
|
||||
-- SPELL_DAMAGE special warnings
|
||||
local specWarnConsecration = mod:NewSpecialWarningMove(2141858)
|
||||
local specWarnSplitSecond = mod:NewSpecialWarningMove(2141725)
|
||||
|
||||
-- fight
|
||||
local timerCombatStart = mod:NewTimer(20, "Combat starting in", 39255)
|
||||
local count
|
||||
local countdown
|
||||
local duration
|
||||
local prewarn
|
||||
local SentinelsAlive
|
||||
local insanity
|
||||
local phase
|
||||
local JainaHP
|
||||
local TyrandeHP
|
||||
local ThrallHP
|
||||
|
||||
-- INFO ---
|
||||
-- SPELL_CAST_START Arcane Breath (2141705)
|
||||
|
||||
|
||||
function mod:OnCombatStart(delay)
|
||||
duration = 2
|
||||
count = 1
|
||||
countdown = 1
|
||||
prewarn = 0
|
||||
phase = 0
|
||||
SentinelsAlive = 5
|
||||
JainaHP = 0
|
||||
TyrandeHP = 0
|
||||
ThrallHP = 0
|
||||
insanity = 0
|
||||
timerArcaneBreath:Start(40-delay)
|
||||
timerNextFinalCountdown:Start(65-delay, count)
|
||||
warnFinalCDSoon:Schedule(60-delay)
|
||||
self:ScheduleMethod(65-delay,"FinalCountdown")
|
||||
end
|
||||
|
||||
function mod:FinalCountdown()
|
||||
self:UnscheduleMethod("FinalCountdown")
|
||||
countdown = count - 1
|
||||
specWarnFinalCountdown:Show(count)
|
||||
if phase == 0 then
|
||||
timerFinalDuration:Start(duration, count)
|
||||
count = count + 1
|
||||
duration = duration + 2.5
|
||||
timerNextFinalCountdown:Start(60,count)
|
||||
warnFinalCDSoon:Schedule(55)
|
||||
self:ScheduleMethod(60,"FinalCountdown")
|
||||
elseif phase == 1 then
|
||||
timerFinalDelay:Start(3)
|
||||
self:ScheduleMethod(3,"FinalDuration")
|
||||
elseif phase == 2 then
|
||||
timerFinalDelay:Start(3)
|
||||
self:ScheduleMethod(3,"FinalDuration")
|
||||
elseif phase == 3 then
|
||||
timerFinalDelay:Start(3)
|
||||
self:ScheduleMethod(3,"FinalDuration")
|
||||
end
|
||||
end
|
||||
|
||||
function mod:FinalDuration()
|
||||
timerFinalDuration:Start(duration, count)
|
||||
count = count + 1
|
||||
duration = duration + 2.5
|
||||
self:ScheduleMethod(57,"FinalCountdown")
|
||||
timerNextFinalCountdown:Start(57,count)
|
||||
warnFinalCDSoon:Schedule(52)
|
||||
end
|
||||
|
||||
function mod:ChaosBlast()
|
||||
local targetCB = mod:GetBossTarget(26688)
|
||||
if targetCB == UnitName("player") then
|
||||
specWarnChaosBlast:Show()
|
||||
SendChatMessage("Chaos Blast on "..UnitName("PLAYER").."!", "SAY")
|
||||
else
|
||||
warnChaosBlast:Show(targetCB)
|
||||
end
|
||||
timerCastChaosBlast:Start(targetCB)
|
||||
self:SetIcon(targetCB, 8, 4)
|
||||
end
|
||||
|
||||
function mod:MannorothsFury()
|
||||
self:UnscheduleMethod("MannorothsFury")
|
||||
timerMannorothsFury:Start()
|
||||
warnMannorothsFury:Show()
|
||||
self:ScheduleMethod(20,"MannorothsFury")
|
||||
end
|
||||
|
||||
function mod:StopTimers()
|
||||
timerArcaneBreath:Stop()
|
||||
end
|
||||
|
||||
function mod:SPELL_AURA_APPLIED(args)
|
||||
if args:IsSpellID(2141904) then
|
||||
if args:IsPlayer() then
|
||||
specWarnBlackArrow:Show()
|
||||
else
|
||||
warnBlackArrow:Show(args.destName)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_DAMAGE(args)
|
||||
if args:IsSpellID(2141858,2141859,2141860,2141861) and args:IsPlayer() and DBM:AntiSpam(5,1) then
|
||||
specWarnConsecration:Show()
|
||||
end
|
||||
if args:IsSpellID(2141725,2141726,2141727,2141728) and args:IsPlayer() and DBM:AntiSpam(5,2) then
|
||||
specWarnSplitSecond:Show()
|
||||
end
|
||||
if args:IsSpellID(2141736,2141737,2141738,2141739) and DBM:AntiSpam(1.8,6) then
|
||||
if countdown >= 1 then
|
||||
warnCountdown:Show(countdown)
|
||||
countdown = countdown - 1
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_CAST_START(args)
|
||||
if args:IsSpellID(2141705) then
|
||||
warnArcaneBreath:Show()
|
||||
timerArcaneBreath:Start()
|
||||
timerCastArcaneBreath:Start()
|
||||
timerBreathDuration:Schedule(2)
|
||||
end
|
||||
if args:IsSpellID(2141758) then
|
||||
warnArcaneExplosion:Show()
|
||||
timerArcaneExplosion:Start()
|
||||
self:SetIcon(args.sourceGUID, 8)
|
||||
end
|
||||
if args:IsSpellID(2141800) then
|
||||
self:ScheduleMethod(0.15, "ChaosBlast")
|
||||
timerNextChaosBlast:Start()
|
||||
end
|
||||
if args:IsSpellID(2141856) then
|
||||
warnHolyLight:Show(args.sourceName)
|
||||
end
|
||||
if args:IsSpellID(2141868,2141869,2140134,2140135) and phase == 1 and insanity == 1 and args.sourceName == "Lady Jaina Proudmoore" then
|
||||
insanity = 0
|
||||
timerInsanity:Stop()
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_CAST_SUCCESS(args)
|
||||
end
|
||||
|
||||
function mod:CHAT_MSG_MONSTER_YELL(msg)
|
||||
if msg == L.ChromiusRP or msg:find(L.ChromiusRP) then
|
||||
timerCombatStart:Start()
|
||||
elseif msg == L.ChromiusRP2 or msg:find(L.ChromiusRP2) then
|
||||
timerCombatStart:Start()
|
||||
elseif msg == L.JainaPhaseYell or msg:find(L.JainaPhaseYell) then -- Jaina Phase start
|
||||
warnJainaPhase:Show()
|
||||
timerInsanity:Start()
|
||||
insanity = 1
|
||||
self:ScheduleMethod(0,"StopTimers")
|
||||
DBM.BossHealth:Clear()
|
||||
phase = 1
|
||||
elseif msg == L.GromPhaseYell or msg:find(L.GromPhaseYell) then -- Grom Phase start
|
||||
warnGromPhase:Show()
|
||||
self:ScheduleMethod(0,"StopTimers")
|
||||
timerNextChaosBlast:Start(20)
|
||||
timerMannorothsFury:Start(25)
|
||||
self:ScheduleMethod(25,"MannorothsFury")
|
||||
DBM.BossHealth:Clear()
|
||||
phase = 2
|
||||
elseif msg == L.TyrandePhaseYell or msg:find(L.TyrandePhaseYell) then -- Tyrande Phase start
|
||||
warnTyrandePhase:Show()
|
||||
self:ScheduleMethod(0,"StopTimers")
|
||||
DBM.BossHealth:Clear()
|
||||
phase = 3
|
||||
end
|
||||
end
|
||||
|
||||
function mod:UNIT_DIED(args)
|
||||
if args.destName =="Infinite Manipulator" then
|
||||
timerTeleport:Start(5)
|
||||
timerArcaneBreath:Start(13)
|
||||
self:ScheduleMethod(7,"AddBoss")
|
||||
JainaHP = 1
|
||||
phase = 0
|
||||
end
|
||||
if args.destName =="Mannoroth" then
|
||||
timerTeleport:Start(5)
|
||||
timerArcaneBreath:Start(13)
|
||||
self:UnscheduleMethod("MannorothsFury")
|
||||
timerNextChaosBlast:Stop()
|
||||
timerMannorothsFury:Stop()
|
||||
self:ScheduleMethod(7,"AddBoss")
|
||||
ThrallHP = 1
|
||||
phase = 0
|
||||
end
|
||||
if args.destName =="Darnassus Sentinel" then
|
||||
SentinelsAlive = SentinelsAlive - 1
|
||||
if DBM:AntiSpam(1, 2) then
|
||||
SentinelAnnounce:Show(SentinelsAlive)
|
||||
end
|
||||
if SentinelsAlive == 0 then
|
||||
timerTeleport:Start(5)
|
||||
timerArcaneBreath:Start(13)
|
||||
self:ScheduleMethod(7,"AddBoss")
|
||||
TyrandeHP = 1
|
||||
phase = 0
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function mod:UNIT_HEALTH(uId)
|
||||
if self:GetUnitCreatureId(uId) == 26643 and (UnitHealth(uId) / UnitHealthMax(uId)) <= 0.80 and prewarn == 0 and DBM:AntiSpam(5,3) then
|
||||
prewarn = 1
|
||||
warnTransSoon:Show()
|
||||
elseif self:GetUnitCreatureId(uId) == 26643 and (UnitHealth(uId) / UnitHealthMax(uId)) <= 0.55 and prewarn == 1 and DBM:AntiSpam(5,4) then
|
||||
prewarn = 2
|
||||
warnTransSoon:Show()
|
||||
elseif self:GetUnitCreatureId(uId) == 26643 and (UnitHealth(uId) / UnitHealthMax(uId)) <= 0.30 and prewarn == 2 and DBM:AntiSpam(5,5) then
|
||||
prewarn = 3
|
||||
warnTransSoon:Show()
|
||||
end
|
||||
end
|
||||
|
||||
function mod:AddBoss()
|
||||
if JainaHP == 1 then
|
||||
DBM.BossHealth:AddBoss(17772,"Lady Jaina Proudmoore")
|
||||
elseif TyrandeHP == 1 then
|
||||
DBM.BossHealth:AddBoss(17948,"Tyrande Whisperwind")
|
||||
elseif ThrallHP == 1 then
|
||||
DBM.BossHealth:AddBoss(17852,"Thrall")
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,23 @@
|
||||
## Interface: 30300
|
||||
## Title:|cffffe00a<|r|cffff7d0aDBM|r|cffffe00a>|r |cff69ccf0Mount Hyjal|r
|
||||
## LoadOnDemand: 1
|
||||
## RequiredDeps: DBM-Core, DBM-BurningCrusade
|
||||
## SavedVariablesPerCharacter: DBMHyjal_SavedVars, DBMHyjal_SavedStats
|
||||
## X-DBM-Mod: 1
|
||||
## X-DBM-Mod-Category: BC
|
||||
## X-DBM-Mod-Name: Mount Hyjal
|
||||
## X-DBM-Tab-Sort: 306
|
||||
## X-DBM-Mod-LoadZone: Hyjal Summit
|
||||
localization.en.lua
|
||||
localization.de.lua
|
||||
localization.cn.lua
|
||||
localization.tw.lua
|
||||
localization.ru.lua
|
||||
localization.es.lua
|
||||
localization.kr.lua
|
||||
RageWinterchill.lua
|
||||
Anetheron.lua
|
||||
Kazrogal.lua
|
||||
Azgalor.lua
|
||||
Chromius.lua
|
||||
Archimonde.lua
|
||||
@@ -0,0 +1,121 @@
|
||||
local mod = DBM:NewMod("Kazrogal", "DBM-Hyjal")
|
||||
local L = mod:GetLocalizedStrings()
|
||||
|
||||
mod:SetRevision(("$Revision: 183 $"):sub(12, -3))
|
||||
mod:SetCreatureID(17888)
|
||||
mod:RegisterCombat("combat", 17888)
|
||||
|
||||
mod:RegisterEvents(
|
||||
"SPELL_CAST_START",
|
||||
"SPELL_CAST_SUCCESS",
|
||||
"SPELL_AURA_APPLIED",
|
||||
"SPELL_AURA_APPLIED_DOSE",
|
||||
"SPELL_AURA_REMOVED",
|
||||
"CHAT_MSG_RAID_BOSS_EMOTE",
|
||||
"CHAT_MSG_MONSTER_YELL",
|
||||
"SPELL_MISSED"
|
||||
)
|
||||
|
||||
|
||||
-- Pillar of Suffering (2141019) 200% increased Swing timer + can't dodge
|
||||
-- Pillar of Cataclysm (2141018) Fire splash damage
|
||||
|
||||
-- 1st Pillar (10 seconds)
|
||||
|
||||
-- Mark of Kaz
|
||||
local warnMark = mod:NewSpellAnnounce(2141001, 3)
|
||||
local timerMark = mod:NewNextTimer(55, 2141000)
|
||||
|
||||
-- Warstomp
|
||||
local warnStomp = mod:NewSpellAnnounce(2141009, 2)
|
||||
local timerStomp = mod:NewNextTimer(55, 2141009)
|
||||
|
||||
-- Pillars
|
||||
local timerPillar1 = mod:NewTimer(10, "First Pillar", 10408)
|
||||
local timerPSuffering = mod:NewTimer(40, "Pillar of Suffering duration", 2141030)
|
||||
local warnPSuffering = mod:NewAnnounce("The Pillar of Suffering has hit the ground", 2, 2141030)
|
||||
local timerNextPSuffering = mod:NewNextTimer(10,2141030)
|
||||
local timerPCataclysm = mod:NewTimer(40, "Pillar of Cataclysm duration", 2141026)
|
||||
local warnPCataclysm = mod:NewAnnounce("The Pillar of Cataclysm has hit the ground", 2, 2141026)
|
||||
local timerNextPCataclysm = mod:NewNextTimer(10, 2141026)
|
||||
local pillar
|
||||
|
||||
-- Physical attacks
|
||||
local timerNextMalevolent = mod:NewNextTimer(51, 2141008)
|
||||
local timerMalevolentSwing = mod:NewCastTimer(4, 2141008)
|
||||
local warnMalevolent = mod:NewSpellAnnounce(2141008)
|
||||
|
||||
-- Scars & Debuffs
|
||||
local warnCataclysmic = mod:NewAnnounce("You have %s stacks of Cataclysmic Scar", 2141040)
|
||||
local warnTormenting = mod:NewAnnounce("You have %s stacks of Tormenting Scar", 2141041)
|
||||
|
||||
-- fight
|
||||
local warnChallenged = mod:NewAnnounce("Kaz'rogal fixates on %s!",2141039)
|
||||
local warnManaTotem = mod:NewAnnounce("Thrall is summoning a Mana Stream Totem! Click it to replenish your mana!", 2140261)
|
||||
|
||||
|
||||
function mod:OnCombatStart(delay)
|
||||
pillar = 0
|
||||
timerPillar1:Start(-delay)
|
||||
timerStomp:Start(-delay)
|
||||
timerMark:Start(14-delay)
|
||||
end
|
||||
|
||||
function mod:SPELL_AURA_APPLIED(args)
|
||||
if args:IsSpellID(2141001) and args:IsPlayer() and DBM:AntiSpam(5,1) then
|
||||
timerMark:Start()
|
||||
warnMark:Show(args.amount)
|
||||
end
|
||||
if args:IsSpellID(2141039) then
|
||||
warnChallenged:Show(args.destName)
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_AURA_APPLIED_DOSE(args)
|
||||
if args:IsSpellID(2141040) and args:IsPlayer() and args.amount >= 4 and DBM:AntiSpam(3,2) then
|
||||
warnCataclysmic:Show(args.amount)
|
||||
end
|
||||
if args:IsSpellID(2141041) and args:IsPlayer() and args.amount >= 4 and DBM:AntiSpam(3,3) then
|
||||
warnTormenting:Show(args.amount)
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_MISSED(args)
|
||||
if args:IsSpellID(2141009) and DBM:AntiSpam(1,1) then
|
||||
if pillar == 1 then
|
||||
timerNextPCataclysm:Start()
|
||||
pillar = 2
|
||||
elseif pillar == 2 then
|
||||
timerNextPSuffering:Start()
|
||||
pillar = 1
|
||||
end
|
||||
timerStomp:Start()
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_CAST_SUCCESS(args)
|
||||
if args:IsSpellID(2141027,2141028,2141029,2141030) and DBM:AntiSpam(40,3) then
|
||||
warnPSuffering:Show()
|
||||
timerPSuffering:Start()
|
||||
if pillar == 0 then
|
||||
pillar = 1
|
||||
end
|
||||
elseif args:IsSpellID(2141023,2141024,2141025,2141026) and DBM:AntiSpam(40,4) then
|
||||
warnPCataclysm:Show()
|
||||
timerPCataclysm:Start()
|
||||
if pillar == 0 then
|
||||
pillar = 2
|
||||
end
|
||||
end
|
||||
if args:IsSpellID(2141008) and DBM:AntiSpam(6, 5) then
|
||||
timerNextMalevolent:Start()
|
||||
timerMalevolentSwing:Start()
|
||||
warnMalevolent:Show()
|
||||
end
|
||||
end
|
||||
|
||||
function mod:CHAT_MSG_MONSTER_YELL(msg)
|
||||
if msg == "I am summoning a Mana Stream Totem near us. Use it to replenish!" then
|
||||
warnManaTotem:Show()
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,276 @@
|
||||
local mod = DBM:NewMod("RageWinterchill", "DBM-Hyjal")
|
||||
local L = mod:GetLocalizedStrings()
|
||||
|
||||
mod:SetRevision(("$Revision: 183 $"):sub(12, -3))
|
||||
mod:SetCreatureID(17767)
|
||||
mod:SetUsedIcons(8)
|
||||
mod:RegisterCombat("combat", 17767)
|
||||
|
||||
mod:RegisterEvents(
|
||||
"SPELL_AURA_APPLIED",
|
||||
"SPELL_DAMAGE",
|
||||
"SPELL_AURA_APPLIED_DOSE",
|
||||
"SPELL_CAST_START",
|
||||
"SPELL_CAST_SUCCESS",
|
||||
"SPELL_MISSED",
|
||||
"CHAT_MSG_RAID_BOSS_EMOTE",
|
||||
"CHAT_MSG_MONSTER_YELL",
|
||||
"UNIT_HEALTH",
|
||||
"UNIT_DIED"
|
||||
)
|
||||
|
||||
--DnD
|
||||
local warnDnDSoon = mod:NewSoonAnnounce(2140600, 2)
|
||||
local timerDnDCD = mod:NewNextTimer(30, 2140601)
|
||||
local timerDnDextra = mod:NewNextTimer(10, 2140601)
|
||||
local specWarnDnD = mod:NewSpecialWarningMove(2140600, 2)
|
||||
-- Frozen Solid
|
||||
local specWarnFrozen = mod:NewSpecialWarningYou(2140617, 2)
|
||||
local timerFrozen = mod:NewTimer(10,"Frozen Solid", 2140617)
|
||||
local sayFrozenFade = mod:NewFadesYell(2140617)
|
||||
-- Lich Slap
|
||||
local timerNextSlap = mod:NewNextTimer(30, 2140645)
|
||||
local warnLichSlap = mod:NewTargetAnnounce(2140645)
|
||||
-- Winter's Touch
|
||||
local warnWT = mod:NewTargetAnnounce(2140605, 2)
|
||||
local specWarnWT = mod:NewSpecialWarningYou(2140605, 2)
|
||||
local timerNextWT = mod:NewCDTimer(15, 2140605)
|
||||
local timerWT = mod:NewCastTimer(1.3, 2140605)
|
||||
-- Transitions
|
||||
local warnTransSoon = mod:NewSpecialWarning("Intermission Phase Soon", 1, 500933)
|
||||
local warnTransmission = mod:NewAnnounce("Transmission: Kill the Phylacteries!", 2, 500933)
|
||||
-- Ice Barrage
|
||||
local warnIceBarrage = mod:NewSpellAnnounce(2140624, 2)
|
||||
local timerIceBarrage = mod:NewCastTimer(8, 2140624)
|
||||
local timerNextBarrage = mod:NewNextTimer(45, 2140624)
|
||||
--Chilled to the Bone
|
||||
local SpecWarnChilled = mod:NewSpecialWarning("You have %s stacks of Chilled to the Bone!", 2140612)
|
||||
--Frost Nova
|
||||
local timerNextNova = mod:NewNextTimer(30, 2140620)
|
||||
-- Chains of Winterchill
|
||||
local warnChains = mod:NewAnnounce("%s is chained with >%s<!", 2140654)
|
||||
local timerChains = mod:NewNextTimer(15, 2140654)
|
||||
|
||||
--fight
|
||||
local prewarn
|
||||
local phylDeath
|
||||
local phylRemaining
|
||||
local phylAnnounce =mod:NewAnnounce("There are %s Phylacteries remaining", 2)
|
||||
local phase
|
||||
local lastDnD
|
||||
local remainingDnD
|
||||
local lastWintersTouch
|
||||
local remaininTouch
|
||||
local lastNova
|
||||
local remainingNova
|
||||
local lastSlap
|
||||
local remainingSlap
|
||||
local berserkTimer = mod:NewBerserkTimer(600)
|
||||
|
||||
function mod:OnCombatStart(delay)
|
||||
prewarn = 1
|
||||
phylDeath = 0
|
||||
phase = 1
|
||||
lastDnD = nil
|
||||
remainingDnD = nil
|
||||
lastWintersTouch = nil
|
||||
remaininTouch = nil
|
||||
lastNova = nil
|
||||
remainingNova = nil
|
||||
lastSlap = nil
|
||||
remainingSlap = nil
|
||||
berserkTimer:Start(-delay)
|
||||
self:ScheduleMethod(0-delay,"DnD")
|
||||
timerNextWT:Start(10-delay)
|
||||
timerNextBarrage:Start(45-delay)
|
||||
timerNextNova:Start(37-delay)
|
||||
timerNextSlap:Start(10-delay)
|
||||
timerChains:Start(15-delay)
|
||||
DBM.BossHealth:AddBoss(17772, L.Jaina)
|
||||
end
|
||||
|
||||
function mod:BossPhase()
|
||||
self:ScheduleMethod(10,"DnD")
|
||||
timerNextSlap:Start(10)
|
||||
timerDnDextra:Start(10)
|
||||
timerNextWT:Start(20)
|
||||
timerNextBarrage:Start(25)
|
||||
timerNextNova:Start(5)
|
||||
phase = 1
|
||||
end
|
||||
|
||||
function mod:Intermission()
|
||||
warnTransmission:Show()
|
||||
self:ScheduleMethod(0,"CancelTimers")
|
||||
phase = 2
|
||||
phylDeath = 0
|
||||
end
|
||||
|
||||
function mod:CancelTimers()
|
||||
timerDnDCD:Stop()
|
||||
warnDnDSoon:Cancel()
|
||||
self:UnscheduleMethod("DnD")
|
||||
timerIceBarrage:Stop()
|
||||
timerNextBarrage:Stop()
|
||||
timerNextWT:Stop()
|
||||
timerNextSlap:Stop()
|
||||
timerNextNova:Stop()
|
||||
end
|
||||
|
||||
function mod:WTouch()
|
||||
local targetWT = mod:GetBossTarget(17767)
|
||||
if targetWT == UnitName("player") then
|
||||
specWarnWT:Show()
|
||||
SendChatMessage("Winter's Touch on "..UnitName("PLAYER").."!", "SAY")
|
||||
else
|
||||
warnWT:Show(targetWT)
|
||||
end
|
||||
timerWT:Start(targetWT)
|
||||
self:SetIcon(targetWT, 8, 2)
|
||||
end
|
||||
|
||||
function mod:DnD()
|
||||
self:UnscheduleMethod("DnD")
|
||||
lastDnD = GetTime()
|
||||
timerDnDCD:Start(30)
|
||||
warnDnDSoon:Schedule(25)
|
||||
self:ScheduleMethod(30,"DnD")
|
||||
end
|
||||
|
||||
function mod:SPELL_DAMAGE(args)
|
||||
if args:IsSpellID(2140600,2140601,2140602,2140603) then
|
||||
if args:IsPlayer() and DBM:AntiSpam(8,1) then
|
||||
specWarnDnD:Show()
|
||||
end
|
||||
end
|
||||
if args:IsSpellID(2140620,2140621,2140622,2140623) and DBM:AntiSpam(5,6) then
|
||||
lastNova = GetTime()
|
||||
timerNextNova:Start(65)
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_MISSED(args)
|
||||
if args:IsSpellID(2140620,2140621,2140622,2140623) and DBM:AntiSpam(5,5) then
|
||||
lastNova = GetTime()
|
||||
timerNextNova:Start(65)
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_AURA_APPLIED(args)
|
||||
if args:IsSpellID(2140617) and args:IsPlayer() then
|
||||
specWarnFrozen:Show()
|
||||
SendChatMessage(L.SayFrozenFade, "SAY")
|
||||
sayFrozenFade:Countdown(10,3)
|
||||
timerFrozen:Start()
|
||||
end
|
||||
if args:IsSpellID(2140654) and args:IsPlayer() then
|
||||
warnChains:show(args.sourceName, args.destName)
|
||||
-- SendChatMessage("sourceName is "..args.sourceName.."", "SAY")
|
||||
-- SendChatMessage("destName is "..args.destName.."", "SAY")
|
||||
-- if args.destName == UnitName("Player") then
|
||||
-- specWarnChains:Show(args.destName)
|
||||
-- elseif args.sourceName == UnitName("Player") then
|
||||
-- specWarnChains:show(args.sourceName)
|
||||
-- end
|
||||
end
|
||||
end
|
||||
|
||||
-- SendChatMessage(""..UnitName("PLAYER").." is chained to "..args.destName.."!", "YELL")
|
||||
-- SendChatMessage(""..args.destName.." is chained to "..UnitName("PLAYER").."!", "YELL")
|
||||
|
||||
function mod:SPELL_AURA_APPLIED_DOSE(args)
|
||||
if args:IsSpellID(2140612) and args:IsPlayer() and args.amount > 14 and DBM:AntiSpam(5,4) then
|
||||
SpecWarnChilled:Show(args.amount)
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_CAST_START(args)
|
||||
if args:IsSpellID(2140605) then
|
||||
self:ScheduleMethod(0.2,"WTouch")
|
||||
lastWintersTouch = GetTime()
|
||||
timerNextWT:Start()
|
||||
end
|
||||
if args:IsSpellID(2140624) then
|
||||
warnIceBarrage:Show()
|
||||
timerIceBarrage:Start()
|
||||
timerNextBarrage:Start(70)
|
||||
remaininTouch = (15 - (GetTime() - lastWintersTouch))
|
||||
remainingDnD = (30 - (GetTime() - lastDnD))
|
||||
remainingNova = (30 - (GetTime() - lastNova))
|
||||
remainingSlap = (30 - (GetTime() - lastSlap))
|
||||
timerDnDCD:Stop()
|
||||
warnDnDSoon:Cancel()
|
||||
warnDnDSoon:Schedule(remainingDnD + 5)
|
||||
timerDnDCD:Start(remainingDnD + 10)
|
||||
self:UnscheduleMethod("DnD")
|
||||
self:ScheduleMethod(remainingDnD + 10,"DnD")
|
||||
timerNextWT:Stop()
|
||||
timerNextWT:Start(remaininTouch + 10)
|
||||
timerNextNova:Stop()
|
||||
timerNextNova:Start(remainingNova + 10)
|
||||
timerNextSlap:Stop()
|
||||
timerNextSlap:Start(remainingSlap + 10)
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_CAST_SUCCESS(args)
|
||||
if args:IsSpellID(2140645) then
|
||||
timerNextSlap:Start(30)
|
||||
lastSlap = GetTime()
|
||||
warnLichSlap:Show(args.destName)
|
||||
end
|
||||
end
|
||||
|
||||
function mod:CHAT_MSG_MONSTER_YELL(msg)
|
||||
if msg == L.TransitionYell or msg:find(L.TransitionYell) then
|
||||
self:ScheduleMethod(0,"Intermission")
|
||||
end
|
||||
end
|
||||
|
||||
function mod:UNIT_DIED(args)
|
||||
local cid = self:GetCIDFromGUID(args.destGUID)
|
||||
if cid == 26634 then
|
||||
phylDeath = phylDeath + 1
|
||||
phylRemaining = (6 - phylDeath)
|
||||
phylAnnounce:Show(phylRemaining)
|
||||
end
|
||||
if cid == 26634 and phylRemaining == 0 then
|
||||
self:ScheduleMethod(1,"BossPhase")
|
||||
end
|
||||
end
|
||||
|
||||
function mod:UNIT_HEALTH(uId)
|
||||
if self:GetUnitCreatureId(uId) == 17767 and (UnitHealth(uId) / UnitHealthMax(uId)) <= 0.70 and prewarn == 1 and DBM:AntiSpam(5,2) then
|
||||
prewarn = 2
|
||||
warnTransSoon:Show()
|
||||
elseif self:GetUnitCreatureId(uId) == 17767 and (UnitHealth(uId) / UnitHealthMax(uId)) <= 0.36 and prewarn == 2 and DBM:AntiSpam(5,3) then
|
||||
prewarn = 3
|
||||
warnTransSoon:Show()
|
||||
end
|
||||
end
|
||||
|
||||
function mod:OnCombatEnd()
|
||||
DBM.BossHealth:RemoveBoss(17772)
|
||||
self:UnscheduleMethod("BossPhase")
|
||||
self:UnscheduleMethod("Intermission")
|
||||
end
|
||||
|
||||
--function mod:CHAT_MSG_RAID_BOSS_EMOTE(msg)
|
||||
-- if msg == L.Transition1 or msg:find(L.Transition1) and phase == 1 then
|
||||
-- self:ScheduleMethod(0,"Intermission")
|
||||
-- phase = 2
|
||||
-- elseif msg == L.Transition2 or msg:find(L.Transition2) and phase == 2 then
|
||||
-- self:ScheduleMethod(0,"BossPhase")
|
||||
-- phase = 1
|
||||
-- end
|
||||
--end
|
||||
|
||||
--function mod:CHAT_MSG_MONSTER_EMOTE(msg)
|
||||
-- if msg == L.Transition1 or msg:find(L.Transition1) and phase == 1 then
|
||||
-- self:ScheduleMethod(0,"Intermission")
|
||||
-- phase = 2
|
||||
-- elseif msg == L.Transition2 or msg:find(L.Transition2) and phase == 2 then
|
||||
-- self:ScheduleMethod(0,"BossPhase")
|
||||
-- phase = 1
|
||||
-- end
|
||||
--end
|
||||
@@ -0,0 +1,98 @@
|
||||
if GetLocale() ~= "zhCN" then return end
|
||||
|
||||
local L
|
||||
|
||||
------------------------
|
||||
-- Rage Winterchill --
|
||||
------------------------
|
||||
L = DBM:GetModLocalization("Rage")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "雷基·冬寒"
|
||||
}
|
||||
|
||||
-----------------
|
||||
-- Anetheron --
|
||||
-----------------
|
||||
L = DBM:GetModLocalization("Anetheron")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "安纳塞隆"
|
||||
}
|
||||
|
||||
----------------
|
||||
-- Kazrogal --
|
||||
----------------
|
||||
L = DBM:GetModLocalization("Kazrogal")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "卡兹洛加"
|
||||
}
|
||||
|
||||
---------------
|
||||
-- Azgalor --
|
||||
---------------
|
||||
L = DBM:GetModLocalization("Azgalor")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "阿兹加洛"
|
||||
}
|
||||
|
||||
------------------
|
||||
-- Archimonde --
|
||||
------------------
|
||||
L = DBM:GetModLocalization("Archimonde")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "阿克蒙德"
|
||||
}
|
||||
|
||||
----------------
|
||||
-- WaveTimers --
|
||||
----------------
|
||||
L = DBM:GetModLocalization("HyjalWaveTimers")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "普通怪物"
|
||||
}
|
||||
L:SetWarningLocalization{
|
||||
WarnWave = "%s",
|
||||
WarnWaveSoon= "下一波敌人即将到来"
|
||||
}
|
||||
L:SetTimerLocalization{
|
||||
TimerWave = "Next wave"--Translate
|
||||
}
|
||||
L:SetOptionLocalization{
|
||||
WarnWave = "Warn when a new wave is incoming",--Translate
|
||||
WarnWaveSoon = "Warn when a new wave is incoming soon",--Translate
|
||||
DetailedWave = "Detailed warning when a new wave is incoming (which mobs)",--Translate
|
||||
TimerWave = "Show a timer for next wave"--Translate
|
||||
}
|
||||
L:SetMiscLocalization{
|
||||
HyjalZoneName = "海加尔峰",
|
||||
Thrall = "萨尔",
|
||||
Jaina = "吉安娜·普罗德摩尔",
|
||||
RageWinterchill = "雷基·冬寒",
|
||||
Anetheron = "安纳塞隆",
|
||||
Kazrogal = "卡兹洛加",
|
||||
Azgalor = "阿兹加洛",
|
||||
WarnWave_0 = "第%s/8波",
|
||||
WarnWave_1 = "第%s/8波 - %s%s",
|
||||
WarnWave_2 = "第%s/8波 - %s%s 和 %s%s",
|
||||
WarnWave_3 = "第%s/8波 - %s%s, %s%s 和 %s%s",
|
||||
WarnWave_4 = "第%s/8波 - %s%s, %s%s, %s%s 和 %s%s",
|
||||
WarnWave_5 = "第%s/8波 - %s%s, %s%s, %s%s, %s%s 和 %s%s",
|
||||
RageGossip = "我和我的伙伴们将与您并肩作战,普罗德摩尔女士。",
|
||||
AnetheronGossip = "我们已经准备好对付阿克蒙德的任何爪牙了,普罗德摩尔女士。",
|
||||
KazrogalGossip = "我与你并肩作战,萨尔。",
|
||||
AzgalorGossip = "我们无所畏惧。",
|
||||
Ghoul = "食尸鬼",
|
||||
Abomination = "憎恶",
|
||||
Necromancer = "亡灵巫师",
|
||||
Banshee = "女妖",
|
||||
Fiend = "地穴恶魔",
|
||||
Gargoyle = "石像鬼",
|
||||
Wyrm = "冰霜巨龙",
|
||||
Stalker = "恶魔猎犬",
|
||||
Infernal = "地狱火"
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
if GetLocale() ~= "deDE" then return end
|
||||
local L
|
||||
|
||||
------------------------
|
||||
-- Rage Winterchill --
|
||||
------------------------
|
||||
L = DBM:GetModLocalization("Rage")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "Furor Winterfrost"
|
||||
}
|
||||
|
||||
-----------------
|
||||
-- Anetheron --
|
||||
-----------------
|
||||
L = DBM:GetModLocalization("Anetheron")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "Anetheron"
|
||||
}
|
||||
|
||||
----------------
|
||||
-- Kazrogal --
|
||||
----------------
|
||||
L = DBM:GetModLocalization("Kazrogal")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "Kaz'rogal"
|
||||
}
|
||||
|
||||
---------------
|
||||
-- Azgalor --
|
||||
---------------
|
||||
L = DBM:GetModLocalization("Azgalor")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "Azgalor"
|
||||
}
|
||||
|
||||
------------------
|
||||
-- Archimonde --
|
||||
------------------
|
||||
L = DBM:GetModLocalization("Archimonde")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "Archimonde"
|
||||
}
|
||||
|
||||
----------------
|
||||
-- WaveTimers --
|
||||
----------------
|
||||
L = DBM:GetModLocalization("HyjalWaveTimers")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "Wellen (HdZ 3)"
|
||||
}
|
||||
L:SetWarningLocalization{
|
||||
WarnWave = "%s",
|
||||
}
|
||||
L:SetTimerLocalization{
|
||||
TimerWave = "Nächste Welle"
|
||||
}
|
||||
L:SetOptionLocalization{
|
||||
WarnWave = "Warne, wenn eine neue Welle kommt",
|
||||
DetailedWave = "Detaillierte Warnung, wenn eine neue Welle kommt (welche Mobs)",
|
||||
TimerWave = "Zeige Zeit bis nächste Welle"
|
||||
}
|
||||
L:SetMiscLocalization{
|
||||
HyjalZoneName = "Hyjalgipfel",
|
||||
Thrall = "Thrall",
|
||||
Jaina = "Lady Jaina Prachtmeer",
|
||||
GeneralBoss = "Boss kommt",
|
||||
RageWinterchill = "Furor Winterfrost kommt",
|
||||
Anetheron = "Anetheron kommt",
|
||||
Kazrogal = "Kaz'rogal kommt",
|
||||
Azgalor = "Azgalor kommt",
|
||||
WarnWave_0 = "Welle %s/8",
|
||||
WarnWave_1 = "Welle %s/8 - %s %s",
|
||||
WarnWave_2 = "Welle %s/8 - %s %s und %s %s",
|
||||
WarnWave_3 = "Welle %s/8 - %s %s, %s %s und %s %s",
|
||||
WarnWave_4 = "Welle %s/8 - %s %s, %s %s, %s %s und %s %s",
|
||||
WarnWave_5 = "Welle %s/8 - %s %s, %s %s, %s %s, %s %s und %s %s",
|
||||
RageGossip = "Meine Gefährten und ich werden Euch zur Seite stehen, Lady Prachtmeer.",
|
||||
AnetheronGossip = "Was auch immer Archimonde gegen uns ins Feld schicken mag, wir sind bereit, Lady Prachtmeer.",
|
||||
KazrogalGossip = "Ich werde Euch zur Seite stehen, Thrall!",
|
||||
AzgalorGossip = "Wir haben nichts zu befürchten.",
|
||||
Ghoul = "Ghule",
|
||||
Abomination = "Monstrositäten",
|
||||
Necromancer = "Nekromanten",
|
||||
Banshee = "Banshees",
|
||||
Fiend = "Gruftbestien",
|
||||
Gargoyle = "Gargoyles",
|
||||
Wyrm = "Frostwyrm",
|
||||
Stalker = "Teufelspirscher",
|
||||
Infernal = "Höllenbestien"
|
||||
}
|
||||
@@ -0,0 +1,153 @@
|
||||
local L
|
||||
|
||||
------------------------
|
||||
-- Rage Winterchill --
|
||||
------------------------
|
||||
L = DBM:GetModLocalization("RageWinterchill")
|
||||
|
||||
L:SetGeneralLocalization({
|
||||
name = "Rage Winterchill"
|
||||
})
|
||||
|
||||
L:SetWarningLocalization({
|
||||
})
|
||||
|
||||
L:SetTimerLocalization({
|
||||
})
|
||||
|
||||
L:SetOptionLocalization({
|
||||
})
|
||||
|
||||
L:SetMiscLocalization({
|
||||
Transition1 = "%s calls for assistance!",
|
||||
Transition2 = "%s shatters his Ice Bullwark, continuing his assault!",
|
||||
TransitionYell = "It will be much colder in your grave.",
|
||||
SayFrozenFade = ""..UnitName("PLAYER").."is frozen solid for 10 seconds!",
|
||||
Jaina = "Lady Jaina Proudmoore"
|
||||
})
|
||||
|
||||
-----------------
|
||||
-- Anetheron --
|
||||
-----------------
|
||||
L = DBM:GetModLocalization("Anetheron")
|
||||
|
||||
L:SetGeneralLocalization({
|
||||
name = "Anetheron"
|
||||
})
|
||||
|
||||
L:SetWarningLocalization({
|
||||
})
|
||||
|
||||
L:SetTimerLocalization({
|
||||
})
|
||||
|
||||
L:SetOptionLocalization({
|
||||
})
|
||||
|
||||
L:SetMiscLocalization({
|
||||
RingofFrost = "I am summoning a ring of frost heroes! Quickly, move our enemies into my trap!",
|
||||
Nightmare = "Anetheron sends %s into a nightmare!",
|
||||
Infernal1 = "Let fire rain from above!",
|
||||
Infernal2 = "Earth and sky shall burn!",
|
||||
Jaina = "Lady Jaina Proudmoore"
|
||||
})
|
||||
|
||||
----------------
|
||||
-- Kazrogal --
|
||||
----------------
|
||||
L = DBM:GetModLocalization("Kazrogal")
|
||||
|
||||
L:SetGeneralLocalization({
|
||||
name = "Kaz'rogal"
|
||||
})
|
||||
|
||||
L:SetWarningLocalization({
|
||||
})
|
||||
|
||||
L:SetTimerLocalization({
|
||||
})
|
||||
|
||||
L:SetOptionLocalization({
|
||||
})
|
||||
|
||||
L:SetMiscLocalization({
|
||||
})
|
||||
|
||||
---------------
|
||||
-- Azgalor --
|
||||
---------------
|
||||
L = DBM:GetModLocalization("Azgalor")
|
||||
|
||||
L:SetGeneralLocalization({
|
||||
name = "Azgalor"
|
||||
})
|
||||
|
||||
L:SetWarningLocalization({
|
||||
})
|
||||
|
||||
L:SetTimerLocalization({
|
||||
})
|
||||
|
||||
L:SetOptionLocalization({
|
||||
})
|
||||
|
||||
L:SetMiscLocalization({
|
||||
LegionPortal = "Legion Portal"
|
||||
})
|
||||
|
||||
------------------
|
||||
-- Chromius --
|
||||
------------------
|
||||
L = DBM:GetModLocalization("Chromius")
|
||||
|
||||
L:SetGeneralLocalization({
|
||||
name = "Chromius"
|
||||
})
|
||||
|
||||
L:SetWarningLocalization({
|
||||
})
|
||||
|
||||
L:SetTimerLocalization({
|
||||
})
|
||||
|
||||
L:SetOptionLocalization({
|
||||
})
|
||||
|
||||
L:SetMiscLocalization({
|
||||
ChromiusRP ="You again? I should have known... ",
|
||||
ChromiusRP2 ="You again? I should have known... ",
|
||||
JainaPhaseYell ="All this fighting. All this talking. But my words only fall on deaf ears. Maybe a certain mage might be willing to listen...",
|
||||
JainaPhaseEnd ="Oh Jaina, you would have been happier this way. For a time...",
|
||||
GromPhaseYell ="Don't listen to her! You must ensure Thrall survives, and Grom must meet his fate",
|
||||
MannorothYell ="His blood is mine! As is your whole miss misbegotten race!",
|
||||
GromPhaseEnd ="You should have saved the other one...",
|
||||
TyrandePhaseYell ="What? She can see the future? I'll take a guess and say save Tyrande, whatever it takes",
|
||||
TyrandePhaseEnd ="That's sad. They didn't make it. Neither will you if you keep standing in my way! "
|
||||
})
|
||||
|
||||
------------------
|
||||
-- Archimonde --
|
||||
------------------
|
||||
L = DBM:GetModLocalization("Archimonde")
|
||||
|
||||
L:SetGeneralLocalization({
|
||||
name = "Archimonde"
|
||||
})
|
||||
|
||||
L:SetWarningLocalization({
|
||||
})
|
||||
|
||||
L:SetTimerLocalization({
|
||||
})
|
||||
|
||||
L:SetOptionLocalization({
|
||||
})
|
||||
|
||||
L:SetMiscLocalization({
|
||||
FightStartYell ="All of your efforts have been in vain, for the draining of the World Tree has already begun! Soon the heart of your world will beat no more!",
|
||||
FirePhase ="Your resistance is insignificant.",
|
||||
WardofWinter ="I going to place a ward on %s! Use it to quench the fire!",
|
||||
LightningCapTotem ="I am summoning a Lightning Capture Totem near us! Lure the Ball Lightnings near it!",
|
||||
LightofElune ="Great Mother, your daugther requires aid. Grant %s your blessed light and guide them through the darkness of the endless night!",
|
||||
CalloftheVoid ="At last it is here! Mourn and lament the passing of all you have ever known, and all that would have been! Hach min corai!"
|
||||
})
|
||||
@@ -0,0 +1,96 @@
|
||||
if GetLocale() ~= "esES" and GetLocale() ~= "esMX" then return end
|
||||
local L
|
||||
|
||||
------------------------
|
||||
-- Rage Winterchill --
|
||||
------------------------
|
||||
L = DBM:GetModLocalization("Rage")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "Ira Fríoinvierno"
|
||||
}
|
||||
|
||||
-----------------
|
||||
-- Anetheron --
|
||||
-----------------
|
||||
L = DBM:GetModLocalization("Anetheron")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "Anetheron"
|
||||
}
|
||||
|
||||
----------------
|
||||
-- Kazrogal --
|
||||
----------------
|
||||
L = DBM:GetModLocalization("Kazrogal")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "Kaz'rogal"
|
||||
}
|
||||
|
||||
---------------
|
||||
-- Azgalor --
|
||||
---------------
|
||||
L = DBM:GetModLocalization("Azgalor")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "Azgalor"
|
||||
}
|
||||
|
||||
------------------
|
||||
-- Archimonde --
|
||||
------------------
|
||||
L = DBM:GetModLocalization("Archimonde")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "Archimonde"
|
||||
}
|
||||
|
||||
----------------
|
||||
-- WaveTimers --
|
||||
----------------
|
||||
L = DBM:GetModLocalization("HyjalWaveTimers")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "Oleadas"
|
||||
}
|
||||
L:SetWarningLocalization{
|
||||
WarnWave = "%s",
|
||||
}
|
||||
L:SetTimerLocalization{
|
||||
TimerWave = "Siguiente oleada"
|
||||
}
|
||||
L:SetOptionLocalization{
|
||||
WarnWave = "Mostrar aviso cuando se aproxime una oleada",
|
||||
DetailedWave = "Mostrar aviso detallado con los tipos y número de enemigos cuando se aproxime una oleada",
|
||||
TimerWave = "Mostrar temporizador para la siguiente oleada"
|
||||
}
|
||||
L:SetMiscLocalization{
|
||||
HyjalZoneName = "La Cima Hyjal",
|
||||
Thrall = "Thrall",
|
||||
Jaina = "Lady Jaina Valiente",
|
||||
GeneralBoss = "Se aproxima un jefe",
|
||||
RageWinterchill = "Se aproxima Ira Fríoinvierno",
|
||||
Anetheron = "Se aproxima Anetheron",
|
||||
Kazrogal = "Se aproxima Kazrogal",
|
||||
Azgalor = "Se aproxima Azgalor",
|
||||
WarnWave_0 = "Oleada %s/8",
|
||||
WarnWave_1 = "Oleada %s/8 - %s %s",
|
||||
WarnWave_2 = "Oleada %s/8 - %s %s y %s %s",
|
||||
WarnWave_3 = "Oleada %s/8 - %s %s, %s %s y %s %s",
|
||||
WarnWave_4 = "Oleada %s/8 - %s %s, %s %s, %s %s y %s %s",
|
||||
WarnWave_5 = "Oleada %s/8 - %s %s, %s %s, %s %s, %s %s y %s %s",
|
||||
RageGossip = "Mis compañeros y yo estamos contigo, Lady Valiente.",
|
||||
AnetheronGossip = "Estamos listos para cualquier cosa que Archimonde nos mande, Lady Valiente.",
|
||||
KazrogalGossip = "Estoy contigo, Thrall.",
|
||||
AzgalorGossip = "No tenemos nada que temer.",
|
||||
Ghoul = "Necrófagos",
|
||||
Abomination = "Abominaciones",
|
||||
Necromancer = "Nigromantes",
|
||||
Banshee = "Almas en pena",
|
||||
Fiend = "Malignos de cripta",
|
||||
Gargoyle = "Gárgolas",
|
||||
Wyrm = "Vermis de escarcha",
|
||||
Stalker = "Acechadores viles",
|
||||
Infernal = "Infernales"
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
if GetLocale() ~= "koKR" then return end
|
||||
local L
|
||||
|
||||
------------------------
|
||||
-- Rage Winterchill --
|
||||
------------------------
|
||||
L = DBM:GetModLocalization("Rage")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "격노한 윈터칠"
|
||||
}
|
||||
|
||||
-----------------
|
||||
-- Anetheron --
|
||||
-----------------
|
||||
L = DBM:GetModLocalization("Anetheron")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "아네테론"
|
||||
}
|
||||
|
||||
----------------
|
||||
-- Kazrogal --
|
||||
----------------
|
||||
L = DBM:GetModLocalization("Kazrogal")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "카즈로갈"
|
||||
}
|
||||
|
||||
---------------
|
||||
-- Azgalor --
|
||||
---------------
|
||||
L = DBM:GetModLocalization("Azgalor")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "아즈갈로"
|
||||
}
|
||||
|
||||
------------------
|
||||
-- Archimonde --
|
||||
------------------
|
||||
L = DBM:GetModLocalization("Archimonde")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "아키몬드"
|
||||
}
|
||||
|
||||
----------------
|
||||
-- WaveTimers --
|
||||
----------------
|
||||
L = DBM:GetModLocalization("HyjalWaveTimers")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "하이잘: 일반구간"
|
||||
}
|
||||
|
||||
L:SetWarningLocalization{
|
||||
WarnWave = "%s",
|
||||
}
|
||||
|
||||
L:SetTimerLocalization{
|
||||
TimerWave = "다음 공격"
|
||||
}
|
||||
|
||||
L:SetOptionLocalization{
|
||||
WarnWave = "다음 공격 알림 보기",
|
||||
DetailedWave = "다음 공격 알림시 적 조합까지 자세히 보기",
|
||||
TimerWave = "다음 공격 바 보기"
|
||||
}
|
||||
|
||||
L:SetMiscLocalization{
|
||||
HyjalZoneName = "하이잘 정상",
|
||||
Thrall = "스랄",
|
||||
Jaina = "제이나 프라우드무어",
|
||||
GeneralBoss = "곧 우두머리",
|
||||
RageWinterchill = "곧 격노한 윈터칠",
|
||||
Anetheron = "곧 아네테론",
|
||||
Kazrogal = "곧 카즈로갈",
|
||||
Azgalor = "곧 아즈갈로",
|
||||
WarnWave_0 = "공격 %s/8",
|
||||
WarnWave_1 = "공격 %s/8 - %s %s",
|
||||
WarnWave_2 = "공격 %s/8 - %s %s, %s %s",
|
||||
WarnWave_3 = "공격 %s/8 - %s %s, %s %s, %s %s",
|
||||
WarnWave_4 = "공격 %s/8 - %s %s, %s %s, %s %s, %s %s",
|
||||
WarnWave_5 = "공격 %s/8 - %s %s, %s %s, %s %s, %s %s, %s %s",
|
||||
RageGossip = "제 동료와 저는 프라우드무어 님, 당신과 함께하겠습니다.",
|
||||
AnetheronGossip = "아키몬드가 어떤 군대를 보내던 우리는 준비가 되어 있습니다, 프라우드무어 님.",
|
||||
KazrogalGossip = "당신과 함께하겠습니다, 대족장님.",
|
||||
AzgalorGossip = "두려워할 것은 아무것도 없습니다.",
|
||||
Ghoul = "구울",
|
||||
Abomination = "누더기골렘",
|
||||
Necromancer = "강령술사",
|
||||
Banshee = "밴시",
|
||||
Fiend = "지하마귀",
|
||||
Gargoyle = "가고일",
|
||||
Wyrm = "서리고룡",
|
||||
Stalker = "지옥사냥개",
|
||||
Infernal = "지옥불정령"
|
||||
}
|
||||
@@ -0,0 +1,98 @@
|
||||
if GetLocale() ~= "ruRU" then return end
|
||||
|
||||
local L
|
||||
|
||||
------------------------
|
||||
-- Rage Winterchill --
|
||||
------------------------
|
||||
L = DBM:GetModLocalization("Rage")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "Лютый Хлад"
|
||||
}
|
||||
|
||||
-----------------
|
||||
-- Anetheron --
|
||||
-----------------
|
||||
L = DBM:GetModLocalization("Anetheron")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "Анетерон"
|
||||
}
|
||||
|
||||
----------------
|
||||
-- Kazrogal --
|
||||
----------------
|
||||
L = DBM:GetModLocalization("Kazrogal")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "Каз'рогал"
|
||||
}
|
||||
|
||||
---------------
|
||||
-- Azgalor --
|
||||
---------------
|
||||
L = DBM:GetModLocalization("Azgalor")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "Азгалор"
|
||||
}
|
||||
|
||||
------------------
|
||||
-- Archimonde --
|
||||
------------------
|
||||
L = DBM:GetModLocalization("Archimonde")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "Архимонд"
|
||||
}
|
||||
|
||||
----------------
|
||||
-- WaveTimers --
|
||||
----------------
|
||||
L = DBM:GetModLocalization("HyjalWaveTimers")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "Треш-мобы"
|
||||
}
|
||||
L:SetWarningLocalization{
|
||||
WarnWave = "%s",
|
||||
WarnWaveSoon= "Скоро следующая волна"
|
||||
}
|
||||
L:SetTimerLocalization{
|
||||
TimerWave = "Следующая волна"
|
||||
}
|
||||
L:SetOptionLocalization{
|
||||
WarnWave = "Warn when a new wave is incoming",--Translate
|
||||
WarnWaveSoon = "Warn when a new wave is incoming soon",--Translate
|
||||
DetailedWave = "Detailed warning when a new wave is incoming (which mobs)",--Translate
|
||||
TimerWave = "Show a timer for next wave"--Translate
|
||||
}
|
||||
L:SetMiscLocalization{
|
||||
HyjalZoneName = "Вершина Хиджала",
|
||||
Thrall = "Тралл",
|
||||
Jaina = "Леди Джайна Праудмур",
|
||||
RageWinterchill = "Лютый Хлад",
|
||||
Anetheron = "Анетерон",
|
||||
Kazrogal = "Каз'рогал",
|
||||
Azgalor = "Азгалор",
|
||||
WarnWave_0 = "Волна %s/8",
|
||||
WarnWave_1 = "Волна %s/8 - %s %s",
|
||||
WarnWave_2 = "Волна %s/8 - %s %s и %s %s",
|
||||
WarnWave_3 = "Волна %s/8 - %s %s, %s %s и %s %s",
|
||||
WarnWave_4 = "Волна %s/8 - %s %s, %s %s, %s %s и %s %s",
|
||||
WarnWave_5 = "Волна %s/8 - %s %s, %s %s, %s %s, %s %s и %s %s",
|
||||
RageGossip = "Мои спутники и я – с вами, леди Праудмур.",
|
||||
AnetheronGossip = "Мы готовы встретить любого, кого пошлет Архимонд.",
|
||||
KazrogalGossip = "Я с тобой, Тралл.",
|
||||
AzgalorGossip = "Нам нечего бояться.",
|
||||
Ghoul = "Вурдалака",
|
||||
Abomination = "Поганища",
|
||||
Necromancer = "Некроманта",
|
||||
Banshee = "Банши",
|
||||
Fiend = "Некрорахнида",
|
||||
Gargoyle = "Горгульи",
|
||||
Wyrm = "Ледяной змей",
|
||||
Stalker = "Ловчих Скверны",
|
||||
Infernal = "Инфернала"
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
if GetLocale() ~= "zhTW" then return end
|
||||
|
||||
local L
|
||||
|
||||
------------------------
|
||||
-- Rage Winterchill --
|
||||
------------------------
|
||||
L = DBM:GetModLocalization("Rage")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "瑞齊·凜冬"
|
||||
}
|
||||
|
||||
-----------------
|
||||
-- Anetheron --
|
||||
-----------------
|
||||
L = DBM:GetModLocalization("Anetheron")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "安納塞隆"
|
||||
}
|
||||
|
||||
----------------
|
||||
-- Kazrogal --
|
||||
----------------
|
||||
L = DBM:GetModLocalization("Kazrogal")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "卡茲洛加"
|
||||
}
|
||||
|
||||
---------------
|
||||
-- Azgalor --
|
||||
---------------
|
||||
L = DBM:GetModLocalization("Azgalor")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "亞茲加洛"
|
||||
}
|
||||
|
||||
------------------
|
||||
-- Archimonde --
|
||||
------------------
|
||||
L = DBM:GetModLocalization("Archimonde")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "阿克蒙德"
|
||||
}
|
||||
|
||||
----------------
|
||||
-- WaveTimers --
|
||||
----------------
|
||||
L = DBM:GetModLocalization("HyjalWaveTimers")
|
||||
|
||||
L:SetGeneralLocalization{
|
||||
name = "小怪模組"
|
||||
}
|
||||
L:SetWarningLocalization{
|
||||
WarnWave = "%s"
|
||||
}
|
||||
L:SetTimerLocalization{
|
||||
TimerWave = "下一波"
|
||||
}
|
||||
L:SetOptionLocalization{
|
||||
WarnWave = "當新一波進攻到來時顯示警告",
|
||||
DetailedWave = "當新一波進攻到來時顯示詳細警告(何種怪)",
|
||||
TimerWave = "為下一波進攻顯示計時器"
|
||||
}
|
||||
L:SetMiscLocalization{
|
||||
HyjalZoneName = "海加爾山",
|
||||
Thrall = "索爾",
|
||||
Jaina = "珍娜·普勞德摩爾女士",
|
||||
GeneralBoss = "首領到來",
|
||||
RageWinterchill = "瑞齊·凜冬到來",
|
||||
Anetheron = "安納塞隆到來",
|
||||
Kazrogal = "卡茲洛加到來",
|
||||
Azgalor = "亞茲加洛到來",
|
||||
WarnWave_0 = "第%s/8波",
|
||||
WarnWave_1 = "第%s/8波 - %s %s",
|
||||
WarnWave_2 = "第%s/8波 - %s %s 和 %s %s",
|
||||
WarnWave_3 = "第%s/8波 - %s %s, %s %s 和 %s %s",
|
||||
WarnWave_4 = "第%s/8波 - %s %s, %s %s, %s %s 和 %s %s",
|
||||
WarnWave_5 = "第%s/8波 - %s %s, %s %s, %s %s, %s %s 和 %s %s",
|
||||
RageGossip = "我和我的同伴都與你同在,普勞德摩爾女士。",
|
||||
AnetheronGossip = "不管阿克蒙德要派誰來對付我們,我們都已經準備好了,普勞德摩爾女士。",
|
||||
KazrogalGossip = "我與你同在,索爾。",
|
||||
AzgalorGossip = "我們無所畏懼。",
|
||||
Ghoul = "食屍鬼",
|
||||
Abomination = "憎惡",
|
||||
Necromancer = "死靈法師",
|
||||
Banshee = "女妖",
|
||||
Fiend = "地穴惡魔",
|
||||
Gargoyle = "石像鬼",
|
||||
Wyrm = "冰龍",
|
||||
Stalker = "惡魔捕獵者",
|
||||
Infernal = "巨型地獄火"
|
||||
}
|
||||
Reference in New Issue
Block a user