vanilla-wow-addons – Rev 1
?pathlinks?
------------------------------
-- Are you local? --
------------------------------
local boss = AceLibrary("Babble-Boss-2.2")["Magmadar"]
local L = AceLibrary("AceLocale-2.2"):new("BigWigs"..boss)
----------------------------
-- Localization --
----------------------------
L:RegisterTranslations("enUS", function() return {
-- Chat message triggers
trigger1 = "%s goes into a killing frenzy!",
trigger2 = "by Panic.",
-- Warnings and bar texts
["Frenzy alert!"] = true,
["5 seconds until AoE Fear!"] = true,
["AoE Fear - 30 seconds until next!"] = true,
["AoE Fear"] = true,
-- AceConsole strings
cmd = "Magmadar",
fear_cmd = "fear",
fear_name = "Warn for Fear",
fear_desc = "Warn when Magmadar casts AoE Fear",
frenzy_cmd = "frenzy",
frenzy_name = "Frenzy alert",
frenzy_desc = "Warn when Magmadar goes into a frenzy",
} end)
L:RegisterTranslations("koKR", function() return {
-- Chat message triggers
trigger1 = "%s|1이;가; 살기를 띤 듯한 광란의 상태에 빠집니다!",
trigger2 = "공황에 걸렸습니다.",
-- Warnings and bar texts
["Frenzy alert!"] = "광폭화 경보 - 사냥꾼의 평정 사격을 쏘세요!",
["5 seconds until AoE Fear!"] = "5초후 광역 공포!",
["AoE Fear - 30 seconds until next!"] = "광역 공포 경보 - 다음 공포까지 30초!",
["AoE Fear"] = "광역 공포",
fear_name = "공포 경고",
fear_desc = "마그마다르 공포 시전 시 경고",
frenzy_name = "광폭화 경고",
frenzy_desc = "마그마다르 광폭화 시 경고",
} end)
L:RegisterTranslations("zhCN", function() return {
trigger1 = "变得狂怒无比!",
trigger2 = "受到了恐慌",
["Frenzy alert!"] = "狂暴警报 - 猎人立刻使用宁神射击!",
["5 seconds until AoE Fear!"] = "5秒后发动群体恐惧!",
["AoE Fear - 30 seconds until next!"] = "群体恐惧 - 30秒后再次发动",
["AoE Fear"] = "群体恐惧",
fear_name = "恐惧警报",
fear_desc = "恐惧警报",
frenzy_name = "狂暴警报",
frenzy_desc = "狂暴警报",
} end)
L:RegisterTranslations("zhTW", function() return {
-- Magmadar 瑪格曼達
trigger1 = "變得極為狂暴!",
trigger2 = "受到恐慌的傷害",
["Frenzy alert!"] = "狂暴狀態! 獵人立刻使用寧神射擊!",
["5 seconds until AoE Fear!"] = "5 秒後發動群體恐懼",
["AoE Fear - 30 seconds until next!"] = "群體恐懼 - 30 秒後再次發動",
["AoE Fear"] = "群體恐懼",
fear_name = "群體恐懼警報",
fear_desc = "當瑪格曼達發動群體恐懼效果時發出警報",
frenzy_name = "狂暴警報",
frenzy_desc = "當瑪格曼達狂暴時發出警報",
} end)
L:RegisterTranslations("deDE", function() return {
trigger1 = "%s ger\195\164t in t\195\182dliche Raserei!",
trigger2 = "von Panik betroffen",
["Frenzy alert!"] = "Raserei! - Einlullender Schuss!",
["5 seconds until AoE Fear!"] = "AoE Furcht in 5 Sekunden!",
["AoE Fear - 30 seconds until next!"] = "AoE Furcht! N\195\164chste in 30 Sekunden!",
["AoE Fear"] = "AoE Furcht",
fear_name = "Furcht",
fear_desc = "Warnung, wenn Magmadar AoE Furcht wirkt.",
frenzy_name = "Raserei",
frenzy_desc = "Warnung, wenn Magmadar in Raserei ger\195\164t.",
} end)
L:RegisterTranslations("frFR", function() return {
trigger1 = "%s entre dans une fr\195\169n\195\169sie sanglante !",
trigger2 = " subit les effets de Panique.",
["Frenzy alert!"] = "Alerte fr\195\169n\195\169sie - Tir tranquillisant !",
["5 seconds until AoE Fear!"] = "Peur de zone dans 5 secondes !",
["AoE Fear - 30 seconds until next!"] = "Peur de zone ! - 30 secondes avant la prochaine",
["AoE Fear"] = "Peur de zone",
fear_name = "Alerte Peur",
fear_desc = "Pr\195\169viens quand Magmadar lance sa peur de zone.",
frenzy_name = "Alerte Fr\195\169n\195\169sie",
frenzy_desc = "Pr\195\169viens quand Magmadar passe en fr\195\169n\195\169sie.",
} end)
----------------------------------
-- Module Declaration --
----------------------------------
BigWigsMagmadar = BigWigs:NewModule(boss)
BigWigsMagmadar.zonename = AceLibrary("Babble-Zone-2.2")["Molten Core"]
BigWigsMagmadar.enabletrigger = boss
BigWigsMagmadar.toggleoptions = {"fear", "frenzy", "bosskill"}
BigWigsMagmadar.revision = tonumber(string.sub("$Revision: 16639 $", 12, -3))
------------------------------
-- Initialization --
------------------------------
function BigWigsMagmadar:OnEnable()
self.prior = nil
self:RegisterEvent("BigWigs_Message")
self:RegisterEvent("CHAT_MSG_MONSTER_EMOTE")
self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", "Fear")
self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "Fear")
self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", "Fear")
self:RegisterEvent("CHAT_MSG_COMBAT_HOSTILE_DEATH", "GenericBossDeath")
self:RegisterEvent("BigWigs_RecvSync")
self:TriggerEvent("BigWigs_ThrottleSync", "MagmadarFear", 5)
end
------------------------------
-- Event Handlers --
------------------------------
function BigWigsMagmadar:CHAT_MSG_MONSTER_EMOTE(msg)
if msg == L["trigger1"] and self.db.profile.frenzy then
self:TriggerEvent("BigWigs_Message", L["Frenzy alert!"], "Important", nil, "Alert")
end
end
function BigWigsMagmadar:BigWigs_RecvSync( sync )
if sync ~= "MagmadarFear" then return end
if self.db.profile.fear then
self:TriggerEvent("BigWigs_StartBar", self, L["AoE Fear"], 30, "Interface\\Icons\\Spell_Shadow_PsychicScream")
self:TriggerEvent("BigWigs_Message", L["AoE Fear - 30 seconds until next!"], "Important")
self:ScheduleEvent("BigWigs_Message", 25, L["5 seconds until AoE Fear!"], "Urgent")
end
end
function BigWigsMagmadar:Fear(msg)
if not self.prior and string.find(msg, L["trigger2"]) then
self:TriggerEvent("BigWigs_SendSync", "MagmadarFear")
self.prior = true
end
end
function BigWigsMagmadar:BigWigs_Message(text)
if text == L["5 seconds until AoE Fear!"] then self.prior = nil end
end