📄 ruinsofahnqiraj.lua
字号:
CT_RABoss_AddEvent("狩猎者阿亚米斯", "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", CT_RABoss_Ayamiss_EventHandler);
CT_RABoss_AddDropDownButton("狩猎者阿亚米斯", { CT_RABOSS_ANNOUNCE, CT_RABOSS_ANNOUNCE_INFO .. CT_RABOSS_REQ_LEADER_OR_PROM }, "CT_RABoss_ModInfo", "announce", "CT_RABoss_SetInfo");
end
function CT_RABoss_Ayamiss_EventHandler(event)
if ( not CT_RABoss_Mods["狩猎者阿亚米斯"] or not CT_RABoss_Mods["狩猎者阿亚米斯"]["status"] or not CT_RABoss_Mods["狩猎者阿亚米斯"].enabled ) then
return;
end
if ( event == "CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE" or event == "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE" or event == "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE" ) then
local _, _, sPlayer,sType = string.find(arg1, CT_RABOSS_AYAMISS_SACRIFICE_DETECT);
if ( sPlayer and sType ) then
if ( sPlayer == CT_RABOSS_SELF1 and sType == CT_RABOSS_SELF2 ) then
sPlayer = UnitName("player");
end
CT_RABoss_PlaySound(1);
CT_RABoss_Announce(format(CT_RABOSS_AYAMISS_SACRIFICE_ALERT, sPlayer), CT_RABoss_Mods["狩猎者阿亚米斯"]["announce"]);
end
end
end
-- Ossirian the Unscarred
function CT_RABoss_Ossirian_OnLoad()
CT_RABoss_AddMod("无疤者奥斯里安", CT_RABOSS_OSSIRIAN_INFO, 1, CT_RABOSS_LOCATIONS_RUINSOFAHNQIRAJ);
CT_RABoss_AddEvent("无疤者奥斯里安", "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", CT_RABoss_Ossirian_EventHandler);
CT_RABoss_AddEvent("无疤者奥斯里安", "CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", CT_RABoss_Ossirian_EventHandler);
CT_RABoss_AddEvent("无疤者奥斯里安", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", CT_RABoss_Ossirian_EventHandler);
CT_RABoss_AddEvent("无疤者奥斯里安", "CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE", CT_RABoss_Ossirian_EventHandler);
CT_RABoss_AddEvent("无疤者奥斯里安", "CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS", CT_RABoss_Ossirian_EventHandler);
CT_RABoss_AddEvent("无疤者奥斯里安", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE", CT_RABoss_Ossirian_EventHandler);
CT_RABoss_AddEvent("无疤者奥斯里安", "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE", CT_RABoss_Ossirian_EventHandler);
CT_RABoss_AddEvent("无疤者奥斯里安", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE", CT_RABoss_Ossirian_EventHandler);
CT_RABoss_AddEvent("无疤者奥斯里安", "CHAT_MSG_MONSTER_YELL", CT_RABoss_Ossirian_EventHandler);
CT_RABoss_AddDropDownButton("无疤者奥斯里安", { CT_RABOSS_ANNOUNCE, CT_RABOSS_ANNOUNCE_INFO .. CT_RABOSS_REQ_LEADER_OR_PROM }, "CT_RABoss_ModInfo", "announce", "CT_RABoss_SetInfo");
CT_RABoss_AddDropDownButton("无疤者奥斯里安", { CT_RABOSS_OSSIRIAN_DOOM, CT_RABOSS_OSSIRIAN_DOOM_INFO }, "CT_RABoss_ModInfo", "doom", "CT_RABoss_SetInfo");
CT_RABoss_AddDropDownButton("无疤者奥斯里安", { CT_RABOSS_OSSIRIAN_SENSI, CT_RABOSS_OSSIRIAN_SENSI_INFO }, "CT_RABoss_ModInfo", "sensi", "CT_RABoss_SetInfo");
end
function CT_RABoss_Ossirian_EventHandler(event)
if ( not CT_RABoss_Mods["无疤者奥斯里安"] or not CT_RABoss_Mods["无疤者奥斯里安"]["status"] or not CT_RABoss_Mods["无疤者奥斯里安"].enabled ) then
return;
end
-- Language doom alerts
if ( (string.find(arg1, CT_RABOSS_OSSIRIAN_DOOM_DETECT)) and not CT_RABoss_Mods["无疤者奥斯里安"]["doomTrip"] and CT_RABoss_Mods["无疤者奥斯里安"]["doom"] ) then
CT_RABoss_Mods["无疤者奥斯里安"]["doomTrip"] = true;
CT_RABoss_Announce(CT_RABOSS_OSSIRIAN_DOOM_ALERT, CT_RABoss_Mods["无疤者奥斯里安"]["announce"]);
CT_RABoss_PlaySound(2);
CT_RABoss_Schedule("CT_RABoss_Ossirian_EventHandler", 18, "preDoomWarning");
CT_RABoss_VisualTimer.addTimer("OssirianDoom", 23, CT_RABOSS_OSSIRIAN_DOOM_TIMER);
elseif ( event == "preDoomWarning" ) then
CT_RABoss_Mods["无疤者奥斯里安"]["doomTrip"] = false;
CT_RABoss_Announce(CT_RABOSS_OSSIRIAN_DOOM_PREALERT, CT_RABoss_Mods["无疤者奥斯里安"]["announce"]);
CT_RABoss_PlaySound(3);
end
-- Sensibility alert
if ( event == "CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE" and CT_RABoss_Mods["无疤者奥斯里安"]["sensi"] ) then
local iStart, iEnd, sType = string.find(arg1, CT_RABOSS_OSSIRIAN_SENSI_DETECT);
if ( sType ) then
CT_RABoss_Announce(format(CT_RABOSS_OSSIRIAN_SENSI_ALERT, sType), CT_RABoss_Mods["无疤者奥斯里安"]["announce"]);
CT_RABoss_PlaySound(2);
CT_RABoss_UnSchedule("CT_RABoss_Ossirian_EventHandler", "preSupremeWarning");
CT_RABoss_UnSchedule("CT_RABoss_Ossirian_EventHandler", "preSupremeWarning2");
CT_RABoss_Schedule("CT_RABoss_Ossirian_EventHandler", 25, "preSupremeWarning");
CT_RABoss_VisualTimer.addTimer("OssirianSensi", 45, CT_RABOSS_OSSIRIAN_SENSI_TIMER);
end
elseif ( event == "preSupremeWarning" and CT_RABoss_Mods["无疤者奥斯里安"]["sensi"] ) then
CT_RABoss_Announce(format(CT_RABOSS_OSSIRIAN_FADE_ALERT, 20), CT_RABoss_Mods["无疤者奥斯里安"]["announce"]);
CT_RABoss_Schedule("CT_RABoss_Ossirian_EventHandler", 10, "preSupremeWarning2");
elseif ( event == "preSupremeWarning2" and CT_RABoss_Mods["无疤者奥斯里安"]["sensi"] ) then
CT_RABoss_Announce(format(CT_RABOSS_OSSIRIAN_FADE_ALERT, 10), CT_RABoss_Mods["无疤者奥斯里安"]["announce"]);
end
-- Strength Buff Alert
if ( event == "CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS" and arg1 == CT_RABOSS_OSSIRIAN_BUFF_DETECT) then
CT_RABoss_Announce(CT_RABOSS_OSSIRIAN_BUFF_ALERT, CT_RABoss_Mods["无疤者奥斯里安"]["announce"]);
CT_RABoss_PlaySound(1);
CT_RABoss_UnSchedule("CT_RABoss_Ossirian_EventHandler", "preSupremeWarning");
CT_RABoss_UnSchedule("CT_RABoss_Ossirian_EventHandler", "preSupremeWarning2");
CT_RABoss_VisualTimer.removeTimer("OssirianSensi");
end
-- Ossirian Death
if ( event == "CHAT_MSG_MONSTER_YELL" and arg1 == CT_RABOSS_OSSIRIAN_DEATH_DETECT and arg2 == CT_RABOSS_NAMES["无疤者奥斯里安"] ) then
CT_RABoss_UnSchedule("CT_RABoss_Ossirian_EventHandler");
CT_RABoss_VisualTimer.removeTimer("OssirianDoom");
CT_RABoss_VisualTimer.removeTimer("OssirianSensi");
end
end
-- Anubisath Guardian
function CT_RABoss_Guardian_OnLoad()
CT_RABoss_AddMod("阿努比萨斯守卫者", CT_RABOSS_GUARDIAN_INFO, 1, CT_RABOSS_LOCATIONS_RUINSOFAHNQIRAJ);
CT_RABoss_AddEvent("阿努比萨斯守卫者", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE", CT_RABoss_Guardian_EventHandler);
CT_RABoss_AddEvent("阿努比萨斯守卫者", "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE", CT_RABoss_Guardian_EventHandler);
CT_RABoss_AddEvent("阿努比萨斯守卫者", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE", CT_RABoss_Guardian_EventHandler);
CT_RABoss_AddEvent("阿努比萨斯守卫者", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF", CT_RABoss_Guardian_EventHandler);
CT_RABoss_AddEvent("阿努比萨斯守卫者", "CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS", CT_RABoss_Guardian_EventHandler);
CT_RABoss_AddEvent("阿努比萨斯守卫者", "CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", CT_RABoss_Guardian_EventHandler);
CT_RABoss_AddEvent("阿努比萨斯守卫者", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", CT_RABoss_Guardian_EventHandler);
CT_RABoss_AddEvent("阿努比萨斯守卫者", "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", CT_RABoss_Guardian_EventHandler);
CT_RABoss_AddDropDownButton("阿努比萨斯守卫者", { CT_RABOSS_ANNOUNCE, CT_RABOSS_ANNOUNCE_INFO .. CT_RABOSS_REQ_LEADER_OR_PROM }, "CT_RABoss_ModInfo", "announce", "CT_RABoss_SetInfo");
CT_RABoss_AddDropDownButton("阿努比萨斯守卫者", { CT_RABOSS_GUARDIAN_ABILITIES, CT_RABOSS_GUARDIAN_ABILITIES_INFO }, "CT_RABoss_ModInfo", "abilities", "CT_RABoss_SetInfo");
CT_RABoss_AddDropDownButton("阿努比萨斯守卫者", { CT_RABOSS_GUARDIAN_SUMMON, CT_RABOSS_GUARDIAN_SUMMON_INFO }, "CT_RABoss_ModInfo", "notifySummon", "CT_RABoss_SetInfo");
CT_RABoss_AddDropDownButton("阿努比萨斯守卫者", { CT_RABOSS_GUARDIAN_PLAGUETELL, CT_RABOSS_GUARDIAN_PLAGUETELL_INFO }, "CT_RABoss_ModInfo", "sendPlagueTells", "CT_RABoss_SetInfo");
CT_RABoss_SetVar("阿努比萨斯守卫者", "sendPlagueTells", 0);
end
function CT_RABoss_Guardian_EventHandler(event)
if ( not CT_RABoss_Mods["阿努比萨斯守卫者"] or not CT_RABoss_Mods["阿努比萨斯守卫者"]["status"] or not CT_RABoss_Mods["阿努比萨斯守卫者"].enabled ) then
return;
end
-- Ability alerts
if ( event == "CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS" and CT_RABoss_Mods["阿努比萨斯守卫者"]["abilities"] ) then
-- Explode
if ( arg1 == CT_RABOSS_GUARDIAN_EXPLODE_DETECT ) then
CT_RABoss_Announce(CT_RABOSS_GUARDIAN_EXPLODE_ALERT, CT_RABoss_Mods["阿努比萨斯守卫者"]["announce"]);
-- Enrage
elseif ( arg1 == CT_RABOSS_GUARDIAN_ENRAGE_DETECT ) then
CT_RABoss_Announce(CT_RABOSS_GUARDIAN_ENRAGE_ALERT, CT_RABoss_Mods["阿努比萨斯守卫者"]["announce"]);
end
-- Summonning alerts
elseif ( event == "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF" and CT_RABoss_Mods["阿努比萨斯守卫者"]["notifySummon"]) then
-- Summonning Anubisath Swarmguard alert
if ( arg1 == CT_RABOSS_GUARDIAN_GUARD_DETECT ) then
CT_RABoss_Announce(CT_RABOSS_GUARDIAN_GUARD_ALERT, CT_RABoss_Mods["阿努比萨斯守卫者"]["announce"]);
-- Summon Anubisath Warrior alert
elseif ( arg1 == CT_RABOSS_GUARDIAN_WARRIOR_DETECT ) then
CT_RABoss_Announce(CT_RABOSS_GUARDIAN_WARRIOR_ALERT, CT_RABoss_Mods["阿努比萨斯守卫者"]["announce"]);
end
-- Plague alerts
elseif ( (event == "CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE" or event == "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE" or event == "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE") and CT_RABoss_Mods["阿努比萨斯守卫者"]["sendPlagueTells"] ) then
local _, _, playerName = string.find(arg1, CT_RABOSS_GUARDIAN_PLAGUE_DETECT);
if ( playerName ) then
if ( playerName == CT_RABOSS_SELF1 ) then
playerName = UnitName("player");
CT_RABoss_Announce(string.format(CT_RABOSS_GUARDIAN_PLAGUE_ALERT, CT_RABOSS_GUARDIAN_YOUHAVE));
CT_RABoss_Announce(string.format(CT_RABOSS_GUARDIAN_PLAGUE_ALERT, CT_RABOSS_GUARDIAN_YOUHAVE));
CT_RABoss_PlaySound(2);
else
SendChatMessage(CT_RABOSS_GUARDIAN_PLAGUE_TELL, "WHISPER", nil, playerName);
CT_RABoss_PlaySound(1);
end
if ( CT_RA_Level >= 1 and CT_RABoss_Mods["阿努比萨斯守卫者"]["announce"] ) then
CT_RA_AddMessage("MS " .. string.format(CT_RABOSS_GUARDIAN_PLAGUE_ALERT, playerName .. CT_RABOSS_GUARDIAN_HAS));
end
end
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -