vanilla-wow-addons – Rev 1
?pathlinks?
------------------------------
-- Are you local? --
------------------------------
local boss = AceLibrary("Babble-Boss-2.2")["The Prophet Skeram"]
local L = AceLibrary("AceLocale-2.2"):new("BigWigs"..boss)
----------------------------
-- Localization --
----------------------------
L:RegisterTranslations("enUS", function() return {
aetrigger = "The Prophet Skeram begins to cast Arcane Explosion.",
mctrigger = "The Prophet Skeram begins to cast True Fulfillment.",
splittrigger = "The Prophet Skeram casts Summon Images.",
aewarn = "Casting Arcane Explosion!",
mcwarn = "Casting Mind Control!",
mcplayer = "^([^%s]+) ([^%s]+) afflicted by True Fulfillment.$",
mcplayerwarn = "%s is mindcontrolled!",
mcbar = "MC: %s",
mcyou = "You",
mcare = "are",
splitwarn = "Splitting!",
cmd = "Skeram",
mc_cmd = "mc",
mc_name = "Mind Control Alert",
mc_desc = "Warn for Mind Control",
ae_cmd = "ae",
ae_name = "Arcane Explosion Alert",
ae_desc = "Warn for Arcane Explosion",
-- split_cmd = "split",
-- split_name = "Split Alert",
-- split_desc = "Warn before Create Image",
} end )
L:RegisterTranslations("frFR", function() return {
aetrigger = "Le Proph\195\168te Skeram commence \195\160 lancer Explosion des arcanes.",
mctrigger = "Le Proph\195\168te Skeram commence \195\160 lancer Accomplissement v\195\169ritable.",
splittrigger = "Le Proph\195\168te Skeram lance Invocation des Images.",
aewarn = "Incantation d'Explosion des arcanes !",
mcwarn = "Incantation de Controle Mental !",
mcplayer = "([^%s]+) ([^%s]+) les effets de Accomplissement v\195\169ritable%.",
mcplayerwarn = "%s est sous controle mental !",
mcbar = "CM: %s",
mcyou = "Vous",
mcare = "subissez",
splitwarn = "D\195\169multiplication !",
mc_name = "Alerte Contr\195\180le mental",
mc_desc = "Pr\195\169viens en cas de contr\195\180le mental.",
ae_name = "Alerte Explosion des arcanes",
ae_desc = "Pr\195\169viens lorsque Skeram lance Explosion des arcanes.",
} end )
L:RegisterTranslations("deDE", function() return {
aetrigger = "Der Prophet Skeram beginnt Arkane Explosion zu wirken.",
mctrigger = "Der Prophet Skeram beginnt Wahre Erf\195\188llung zu wirken.",
splittrigger = "Der Prophet Skeram wirkt Abbilder beschw\195\182ren.",
aewarn = "Arkane Explosion!",
mcwarn = "Gedankenkontrolle!",
mcplayer = "^([^%s]+) ([^%s]+) von Wahre Erf\195\188llung betroffen.$",
mcplayerwarn = "%s steht unter Gedankenkontrolle!",
mcyou = "Ihr",
mcare = "seid",
splitwarn = "Abbilder!",
mc_name = "Gedankenkontrolle",
mc_desc = "Warnung, wenn jemand unter Gedankenkontrolle steht.",
ae_name = "Arkane Explosion",
ae_desc = "Warnung vor Arkaner Explosion.",
-- split_name = "Abbilder",
-- split_desc = "Warnung, wenn die Abbilder von Prophet Skeram erscheinen.",
} end )
L:RegisterTranslations("zhCN", function() return {
aetrigger = "预言者斯克拉姆开始施放魔爆术。",
mctrigger = "预言者斯克拉姆开始施放充实。",
splittrigger = "预言者斯克拉姆施放了召唤幻象。",
aewarn = "正在施放魔爆术 - 迅速打断!",
mcwarn = "正在施放充实 - 准备变羊!",
mcplayer = "^(.+)受(.+)了充实效果的影响。",
mcplayerwarn = "%s 被控制了!变羊!恐惧!",
mcbar = "控制:%s",
mcyou = "你",
mcare = "到",
splitwarn = "即将分裂!",
mc_name = "精神控制警报",
mc_desc = "精神控制警报",
ae_name = "魔爆术警报",
ae_desc = "魔爆术警报",
-- split_name = "分裂警报",
-- split_desc = "预言者斯克拉姆即将复制镜像时发出警报",
} end )
L:RegisterTranslations("zhTW", function() return {
-- The Prophet Skeram 預言者斯克拉姆
aetrigger = "預言者斯克拉姆開始施放魔爆術。",
mctrigger = "預言者斯克拉姆開始施放充實。",
splittrigger = "預言者斯克拉姆施放了召喚幻象。",
aewarn = "施放魔爆術 - 迅速打斷!",
mcwarn = "施放充實 - 準備變羊!",
mcplayer = "^(.+)受到(.*)充實",
mcplayerwarn = "%s 被心靈控制,法師快變羊!",
mcbar = "MC: %s",
mcyou = "你",
mcare = "了",
splitwarn = "即將分裂!",
mc_name = "精神控制警報",
mc_desc = "預言者斯克拉姆進行精神控制時發出警報",
ae_name = "魔爆術警報",
ae_desc = "預言者斯克拉姆施放魔爆術時發出警報",
-- split_name = "幻影分身警報",
-- split_desc = "預言者斯克拉姆施放幻影分身時發出警報",
} end )
L:RegisterTranslations("koKR", function() return {
aetrigger = "예언자 스케람|1이;가; 신비한 폭발|1을;를; 시전합니다.",
mctrigger = "예언자 스케람|1이;가; 예언 실현|1을;를; 시전합니다.",
splittrigger = "예언자 스케람|1이;가; 환영 소환|1을;를; 시전합니다.", -- By turtl
aewarn = "신비한 폭발 시전 - 시전 방해!",
mcwarn = "예언 실현 시전 - 양변 준비!",
mcplayer = "^([^|;%s]*)(.*)예언 실현에 걸렸습니다%.$", --"(.*)예언 실현에 걸렸습니다.",
mcplayerwarn = "%s 님이 정신지배되었습니다. 양변! 공포!",
mcbar = "예언: %s",
mcyou = "",
mcare = "",
splitwarn = "곧 분리 됩니다.!! 경고!!",
mc_name = "정신 지배 경고",
mc_desc = "정신 지배에 대한 경고",
ae_name = "신비한 폭발 경고",
ae_desc = "신비한 폭발에 대한 경고",
-- split_name = "분리 경고",
-- split_desc = "이미지 생성 전 경고",
} end )
----------------------------------
-- Module Declaration --
----------------------------------
BigWigsSkeram = BigWigs:NewModule(boss)
BigWigsSkeram.zonename = AceLibrary("Babble-Zone-2.2")["Ahn'Qiraj"]
BigWigsSkeram.enabletrigger = boss
BigWigsSkeram.toggleoptions = {"ae", "mc", "bosskill"}
BigWigsSkeram.revision = tonumber(string.sub("$Revision: 16639 $", 12, -3))
------------------------------
-- Initialization --
------------------------------
function BigWigsSkeram:OnEnable()
self:RegisterEvent("CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE")
self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_DAMAGE")
self:RegisterEvent("CHAT_MSG_COMBAT_HOSTILE_DEATH", "GenericBossDeath")
end
------------------------------
-- Event Handlers --
------------------------------
-- Note that we do not sync the MC at the moment, since you really only care
-- about people that are MC'ed close to you anyway.
function BigWigsSkeram:CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_DAMAGE(msg)
local _,_, player, type = string.find(msg, L["mcplayer"])
if player and type then
if player == L["mcyou"] and type == L["mcare"] then
player = UnitName("player")
end
if self.db.profile.mc then
self:TriggerEvent("BigWigs_Message", string.format(L["mcplayerwarn"], player), "Important")
self:TriggerEvent("BigWigs_StartBar", self, string.format(L["mcbar"], player), 20, "Interface\\Icons\\Spell_Shadow_ShadowWordDominate")
end
end
end
function BigWigsSkeram:CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE(msg)
if msg == L["aetrigger"] and self.db.profile.ae then
self:TriggerEvent("BigWigs_Message", L["aewarn"], "Urgent")
elseif msg == L["mctrigger"] and self.db.profile.mc then
self:TriggerEvent("BigWigs_Message", L["mcwarn"], "Urgent")
elseif msg == L["splittrigger"] and self.db.profile.split then
self:TriggerEvent("BigWigs_Message", L["splitwarn"], "Important")
end
end