📄 ahnqiraj.lua
字号:
if ( bugType ) then
CT_RABoss_Announce(string.format(CT_RABOSS_EMPERORS_EXPLODE_ALERT, bugType), CT_RABoss_Mods["双子皇帝"]["announce"]);
CT_RABoss_PlaySound(3);
end
-- Detect Mutated Bug, must be in proximity of the mutated bug.
elseif ( CT_RABoss_Mods["双子皇帝"]["alertNearby"] and (event == "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF" or event == "CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS") ) then
local _, _, bugType = string.find(arg1, CT_RABOSS_EMPERORS_MUTATE_DETECT);
if ( bugType ) then
CT_RABoss_Announce(string.format(CT_RABOSS_EMPERORS_MUTATE_ALERT, bugType), CT_RABoss_Mods["双子皇帝"]["announce"]);
CT_RABoss_PlaySound(3);
end
end
-- Stop script
if ( CT_RABoss_Mods["双子皇帝"]["lastAction"] and (GetTime() - CT_RABoss_Mods["双子皇帝"]["lastAction"]) > 40 ) then
CT_RABoss_Emperors_Stop();
end
end
-- Viscidus
function CT_RABoss_Viscidus_OnLoad()
CT_RABoss_AddMod("维希度斯", CT_RABOSS_VISCIDUS_INFO, 1, CT_RABOSS_LOCATIONS_AHNQIRAJ);
CT_RABoss_AddEvent("维希度斯", "CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", CT_RABoss_Viscidus_EventHandler);
CT_RABoss_AddEvent("维希度斯", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", CT_RABoss_Viscidus_EventHandler);
CT_RABoss_AddEvent("维希度斯", "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", CT_RABoss_Viscidus_EventHandler);
CT_RABoss_AddEvent("维希度斯", "CHAT_MSG_MONSTER_EMOTE", CT_RABoss_Viscidus_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_VISCIDUS_CLOUD, CT_RABOSS_VISCIDUS_CLOUD_INFO }, "CT_RABoss_ModInfo", "sendTell", "CT_RABoss_SetInfo");
end
function CT_RABoss_Viscidus_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_MONSTER_EMOTE" and string.find(arg1, CT_RABOSS_VISCIDUS_FREEZE_DETECT) ) then
CT_RABoss_Announce(CT_RABOSS_VISCIDUS_FREEZE_ALERT, CT_RABoss_Mods["维希度斯"]["announce"]);
else
local _, _, playerName = string.find(arg1, CT_RABOSS_VISCIDUS_TOXIN_DETECT);
if ( playerName ) then
if ( playerName == CT_RABOSS_SELF1 ) then
playerName = UnitName("player");
CT_RABoss_Announce(CT_RABOSS_VISCIDUS_TOXIN_ALERT);
CT_RABoss_Announce(CT_RABOSS_VISCIDUS_TOXIN_ALERT);
CT_RABoss_Announce(CT_RABOSS_VISCIDUS_TOXIN_ALERT);
CT_RABoss_PlaySound(2);
elseif ( CT_RABoss_Mods["维希度斯"]["sendTell"] and CT_RA_Level > 1 ) then
SendChatMessage(CT_RABOSS_VISCIDUS_TOXIN_ALERT, "WHISPER", nil, playerName);
end
end
end
end
-- Ouro
function CT_RABoss_Ouro_OnLoad()
CT_RABoss_AddMod("奥罗", CT_RABOSS_OURO_INFO, 1, CT_RABOSS_LOCATIONS_AHNQIRAJ);
CT_RABoss_AddEvent("奥罗", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE", CT_RABoss_Ouro_EventHandler);
CT_RABoss_AddEvent("奥罗", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF", CT_RABoss_Ouro_EventHandler);
CT_RABoss_AddEvent("奥罗", "CHAT_MSG_MONSTER_EMOTE", CT_RABoss_Ouro_EventHandler);
CT_RABoss_AddEvent("奥罗", "PLAYER_REGEN_DISABLED", CT_RABoss_Ouro_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
local MoundRepeat = 0
function CT_RABoss_Ouro_EventHandler(event)
if ( not CT_RABoss_Mods["奥罗"] or not CT_RABoss_Mods["奥罗"]["status"] or not CT_RABoss_Mods["奥罗"].enabled ) then
return;
end
if ( event == "PLAYER_REGEN_DISABLED" ) then
CT_RABoss_Schedule("CT_RABoss_Ouro_EventHandler", 5, "checkStart");
elseif ( event == "checkStart" ) then
-- if ( UnitName("target") == CT_RABOSS_NAMES["奥罗"] and UnitAffectingCombat("target") ) then
if ( UnitExists("target") and UnitName("target") == CT_RABOSS_NAMES["奥罗"] ) then
CT_RABoss_Schedule("CT_RABoss_Ouro_EventHandler", 10, "sweepWarning");
CT_RABoss_Schedule("CT_RABoss_Ouro_EventHandler", 12, "sandblastWarning");
end
elseif ( event == "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE" ) then
if ( arg1 == CT_RABOSS_OURO_SWEEP_DETECT ) then
CT_RABoss_Announce(CT_RABOSS_OURO_SWEEP_ALERT, CT_RABoss_Mods["奥罗"]["announce"]);
CT_RABoss_Schedule("CT_RABoss_Ouro_EventHandler", 15, "sweepWarning");
CT_RABoss_PlaySound(1);
elseif ( arg1 == CT_RABOSS_OURO_SANDBLAST_DETECT ) then
CT_RABoss_Announce(CT_RABOSS_OURO_SANDBLAST_ALERT, CT_RABoss_Mods["奥罗"]["announce"]);
CT_RABoss_Schedule("CT_RABoss_Ouro_EventHandler", 17, "sandblastWarning");
CT_RABoss_PlaySound(1);
end
elseif ( event == "sweepWarning" ) then
CT_RABoss_Announce(format(CT_RABOSS_OURO_SWEEP_PREALERT, "5"), CT_RABoss_Mods["奥罗"]["announce"]);
elseif ( event == "sandblastWarning" ) then
CT_RABoss_Announce(format(CT_RABOSS_OURO_SANDBLAST_PREALERT, "5"), CT_RABoss_Mods["奥罗"]["announce"]);
elseif ( event == "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF" ) then
if ( arg1 == CT_RABOSS_OURO_MOUNDS_DETECT ) then
CT_RABoss_Announce(CT_RABOSS_OURO_SUBMERGE_ALERT, CT_RABoss_Mods["奥罗"]["announce"]);
CT_RABoss_UnSchedule("CT_RABoss_Ouro_EventHandler", "sweepWarning");
CT_RABoss_UnSchedule("CT_RABoss_Ouro_EventHandler", "sandblastWarning");
CT_RABoss_Schedule("CT_RABoss_Ouro_EventHandler", 20, "emergeWarning");
CT_RABoss_PlaySound(2);
elseif ( arg1 == CT_RABOSS_OURO_SCARABS_DETECT ) then
if ( MoundRepeat < GetTime()- 2 ) then
if ( OuroBerserk ) then
CT_RABoss_Announce(CT_RABOSS_OURO_BUGSSPAWN_ALERT, CT_RABoss_Mods["奥罗"]["announce"]);
MoundRepeat = GetTime();
else
CT_RABoss_Announce(CT_RABOSS_OURO_EMERGE_ALERT, CT_RABoss_Mods["奥罗"]["announce"]);
CT_RABoss_Schedule("CT_RABoss_Ouro_EventHandler", 15, "sweepWarning");
CT_RABoss_Schedule("CT_RABoss_Ouro_EventHandler", 17, "sandblastWarning");
CT_RABoss_Schedule("CT_RABoss_Ouro_EventHandler", 45, "scarabs15");
MoundRepeat = GetTime();
end
end
end
elseif ( event == "emergeWarning" ) then
CT_RABoss_Announce(format(CT_RABOSS_OURO_EMERGE_PREALERT, "10"), CT_RABoss_Mods["奥罗"]["announce"]);
elseif ( event == "scarabs15" ) then
CT_RABoss_Announce(format(CT_RABOSS_OURO_BUGSDESPAWN_PREALERT, "15"), CT_RABoss_Mods["奥罗"]["announce"]);
elseif ( event == "CHAT_MSG_MONSTER_EMOTE" and arg1 == CT_RABOSS_OURO_BERSERK_DETECT and arg2 == CT_RABOSS_NAMES["奥罗"] ) then
CT_RABoss_Announce(CT_RABOSS_OURO_BERSERK_ALERT, CT_RABoss_Mods["奥罗"]["announce"]);
OuroBerserk = true
CT_RABoss_Schedule("CT_RABoss_Ouro_EventHandler", 240, "BerserkReset");
-- Wipe
elseif ( event == "BerserkReset" ) then
OuroBerserk = false
end
end
-- Anubisath Defender
function CT_RABoss_Defender_OnLoad()
CT_RABoss_AddMod("阿努比萨斯防御者", CT_RABOSS_DEFENDER_INFO, 1, CT_RABOSS_LOCATIONS_AHNQIRAJ);
CT_RABoss_AddEvent("阿努比萨斯防御者", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE", CT_RABoss_Defender_EventHandler);
CT_RABoss_AddEvent("阿努比萨斯防御者", "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE", CT_RABoss_Defender_EventHandler);
CT_RABoss_AddEvent("阿努比萨斯防御者", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE", CT_RABoss_Defender_EventHandler);
CT_RABoss_AddEvent("阿努比萨斯防御者", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF", CT_RABoss_Defender_EventHandler);
CT_RABoss_AddEvent("阿努比萨斯防御者", "CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS", CT_RABoss_Defender_EventHandler);
CT_RABoss_AddEvent("阿努比萨斯防御者", "CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", CT_RABoss_Defender_EventHandler);
CT_RABoss_AddEvent("阿努比萨斯防御者", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", CT_RABoss_Defender_EventHandler);
CT_RABoss_AddEvent("阿努比萨斯防御者", "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", CT_RABoss_Defender_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_DEFENDER_ABILITIES, CT_RABOSS_DEFENDER_ABILITIES }, "CT_RABoss_ModInfo", "abilities", "CT_RABoss_SetInfo");
CT_RABoss_AddDropDownButton("阿努比萨斯防御者", { CT_RABOSS_DEFENDER_SUMMON, CT_RABOSS_DEFENDER_SUMMON_INFO }, "CT_RABoss_ModInfo", "notifySummon", "CT_RABoss_SetInfo");
CT_RABoss_AddDropDownButton("阿努比萨斯防御者", { CT_RABOSS_DEFENDER_PLAGUETELL, CT_RABOSS_DEFENDER_PLAGUETELL_INFOM }, "CT_RABoss_ModInfo", "sendPlagueTells", "CT_RABoss_SetInfo");
CT_RABoss_SetVar("阿努比萨斯防御者", "sendPlagueTells", 0);
end
function CT_RABoss_Defender_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_DEFENDER_EXPLODE_DETECT ) then
CT_RABoss_Announce(CT_RABOSS_DEFENDER_EXPLODE_ALERT, CT_RABoss_Mods["阿努比萨斯防御者"]["announce"]);
-- Enrage
elseif ( arg1 == CT_RABOSS_DEFENDER_ENRAGE_DETECT ) then
CT_RABoss_Announce(CT_RABOSS_DEFENDER_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_DEFENDER_GUARD_DETECT ) then
CT_RABoss_Announce(CT_RABOSS_DEFENDER_GUARD_ALERT, CT_RABoss_Mods["阿努比萨斯防御者"]["announce"]);
-- Summon Anubisath Warrior alert
elseif ( arg1 == CT_RABOSS_DEFENDER_WARRIOR_DETECT ) then
CT_RABoss_Announce(CT_RABOSS_DEFENDER_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_DEFENDER_PLAGUE_DETECT);
if ( playerName ) then
if ( playerName == CT_RABOSS_SELF1 ) then
playerName = UnitName("player");
CT_RABoss_Announce(string.format(CT_RABOSS_DEFENDER_PLAGUE_ALERT, CT_RABOSS_DEFENDER_YOUHAVE));
CT_RABoss_Announce(string.format(CT_RABOSS_DEFENDER_PLAGUE_ALERT, CT_RABOSS_DEFENDER_YOUHAVE));
CT_RABoss_PlaySound(2);
else
SendChatMessage(CT_RABOSS_DEFENDER_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_DEFENDER_PLAGUE_ALERT, playerName .. CT_RABOSS_DEFENDER_HAS));
end
end
end
end
-- Qiraji Mindslayer
function CT_RABoss_Mindslayer_OnLoad()
CT_RABoss_AddMod("其拉洗脑者", CT_RABOSS_MINDSLAYER_INFO, 1, CT_RABOSS_LOCATIONS_AHNQIRAJ);
CT_RABoss_AddEvent("其拉洗脑者", "CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", CT_RABoss_Mindslayer_EventHandler);
CT_RABoss_AddEvent("其拉洗脑者", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", CT_RABoss_Mindslayer_EventHandler);
CT_RABoss_AddEvent("其拉洗脑者", "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", CT_RABoss_Mindslayer_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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -