📄 naxxramas.lua
字号:
CT_RABoss_Announce(format(CT_RABOSS_MRNOTH_BACK, CT_RABoss_Mods["瘟疫使者诺斯"]["timeinroom"]), CT_RABoss_Mods["瘟疫使者诺斯"]["announce"]);
CT_RABoss_PlaySound(2);
CT_RABoss_Schedule("CT_RABoss_MRNoth_EventHandler", (CT_RABoss_Mods["瘟疫使者诺斯"]["timeinroom"]-10), "teleportwarn");
CT_RABoss_Schedule("CT_RABoss_MRNoth_EventHandler", (CT_RABoss_Mods["瘟疫使者诺斯"]["timeinroom"]), "teleport");
if ( CT_RA_Level >= 1 and CT_RABoss_Mods["瘟疫使者诺斯"]["announce"] ) then
CT_RA_SendMessage(format(CT_RABOSS_MRMUKKA_STRING, "1", "20", CT_RABOSS_MRNOTH_TELEPORT, CT_RABoss_Mods["瘟疫使者诺斯"]["timeinroom"], "0*255*0"));
end
end
elseif ( event == "teleport" ) then
CT_RABoss_UnSchedule("CT_RABoss_MRNoth_EventHandler", "blinkwarn");
if ( not CT_RABoss_Mods["瘟疫使者诺斯"]["lastaction"] or ( time() - CT_RABoss_Mods["瘟疫使者诺斯"]["lastaction"] ) > 30 ) then
return;
else
CT_RABoss_Announce(format(CT_RABOSS_MRNOTH_TELEPORTED, CT_RABoss_Mods["瘟疫使者诺斯"]["timeonbalcony"]), CT_RABoss_Mods["瘟疫使者诺斯"]["announce"]);
CT_RABoss_PlaySound(2);
CT_RABoss_Schedule("CT_RABoss_MRNoth_EventHandler", (CT_RABoss_Mods["瘟疫使者诺斯"]["timeonbalcony"]-10), "Plague wing: Nothsoon");
CT_RABoss_Schedule("CT_RABoss_MRNoth_EventHandler", CT_RABoss_Mods["瘟疫使者诺斯"]["timeonbalcony"], "backinroom");
if ( CT_RA_Level >= 1 and CT_RABoss_Mods["瘟疫使者诺斯"]["announce"]) then
CT_RA_SendMessage(format(CT_RABOSS_MRMUKKA_STRING, "1", "20", CT_RABOSS_MRNOTH_BALCONY, CT_RABoss_Mods["瘟疫使者诺斯"]["timeonbalcony"], "255*0*0"));
end
if ( CT_RABoss_Mods["瘟疫使者诺斯"]["timeonbalcony"] == 70 ) then
CT_RABoss_Mods["瘟疫使者诺斯"]["timeonbalcony"] = 95;
CT_RABoss_Mods["瘟疫使者诺斯"]["timeinroom"] = 110;
elseif ( CT_RABoss_Mods["瘟疫使者诺斯"]["timeonbalcony"] == 95 ) then
CT_RABoss_Mods["瘟疫使者诺斯"]["timeonbalcony"] = 120;
CT_RABoss_Mods["瘟疫使者诺斯"]["timeinroom"] = 180;
end
end
elseif ( event == "precurse" ) then
CT_RABoss_Mods["瘟疫使者诺斯"]["cursetrip"] = false;
elseif ( event == "blinkwarn" ) then
CT_RABoss_Announce(CT_RABOSS_MRNOTH_BLINKSOON, CT_RABoss_Mods["瘟疫使者诺斯"]["announce"]);
CT_RABoss_PlaySound(3);
elseif ( event == "teleportwarn" ) then
CT_RABoss_Announce(CT_RABOSS_MRNOTH_TELEPORT_10SEC, CT_RABoss_Mods["瘟疫使者诺斯"]["announce"]);
CT_RABoss_PlaySound(3);
elseif ( event == "Plague wing: Nothsoon" ) then
CT_RABoss_Announce(CT_RABOSS_MRNOTH_BACK_10SEC, CT_RABoss_Mods["瘟疫使者诺斯"]["announce"]);
CT_RABoss_PlaySound(3);
end
end
-- Heigan the Unclean (19/08/2006) - Changed naming.
function CT_RABoss_MRHeigan_OnLoad()
CT_RABoss_AddMod("肮脏的希尔盖", CT_RABOSS_MRHEIGAN_INFO, 1, CT_RABOSS_LOCATIONS_NAXXRAMAS);
CT_RABoss_AddEvent("肮脏的希尔盖", "CHAT_MSG_MONSTER_YELL", CT_RABoss_MRHeigan_EventHandler);
CT_RABoss_AddEvent("肮脏的希尔盖", "CHAT_MSG_MONSTER_EMOTE", CT_RABoss_MRHeigan_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_MRHeigan_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_YELL" ) then
if ( arg1 == CT_RABOSS_MRHEIGAN_PHASE1_YELL1 or arg1 == CT_RABOSS_MRHEIGAN_PHASE1_YELL2 or arg1 == CT_RABOSS_MRHEIGAN_PHASE1_YELL3 ) then
CT_RABoss_Announce(CT_RABOSS_MRHEIGAN_ENGAGED, CT_RABoss_Mods["肮脏的希尔盖"]["announce"]);
CT_RABoss_PlaySound(3);
CT_RABoss_UnSchedule("CT_RABoss_MRHeigan_EventHandler");
CT_RABoss_Schedule("CT_RABoss_MRHeigan_EventHandler", 80, "teleportwarn");
if ( CT_RA_Level >= 1 and CT_RABoss_Mods["肮脏的希尔盖"]["announce"] ) then
CT_RA_SendMessage(format(CT_RABOSS_MRMUKKA_STRING, "1", "20", CT_RABOSS_MRHEIGAN_TELEPORT, "90", "0*255*0"));
end
elseif ( arg1 == CT_RABOSS_MRHEIGAN_PHASE2_YELL1 ) then
CT_RABoss_Announce(CT_RABOSS_MRHEIGAN_TELEPORTED, CT_RABoss_Mods["肮脏的希尔盖"]["announce"]);
CT_RABoss_PlaySound(2);
CT_RABoss_UnSchedule("CT_RABoss_MRHeigan_EventHandler", "teleportwarn");
CT_RABoss_Schedule("CT_RABoss_MRHeigan_EventHandler", 42, "backsoon");
CT_RABoss_Schedule("CT_RABoss_MRHeigan_EventHandler", 45, "backinroom");
if ( CT_RA_Level >= 1 and CT_RABoss_Mods["肮脏的希尔盖"]["announce"] ) then
CT_RA_SendMessage(format(CT_RABOSS_MRMUKKA_STRING, "1", "20", CT_RABOSS_MRHEIGAN_DANCE, "45", "255*0*0"));
end
end
elseif ( event == "CHAT_MSG_MONSTER_EMOTE" and arg2 == CT_RABOSS_MRHEIGAN_BOSSNAME ) then
if ( arg1 == CT_RABOSS_MRHEIGAN_DEAD ) then
CT_RABoss_UnSchedule("CT_RABoss_MRHeigan_EventHandler");
end
elseif ( event == "backinroom" ) then
CT_RABoss_Announce(CT_RABOSS_MRHEIGAN_BACK, CT_RABoss_Mods["肮脏的希尔盖"]["announce"]);
CT_RABoss_PlaySound(2);
CT_RABoss_Schedule("CT_RABoss_MRHeigan_EventHandler", 80, "teleportwarn");
if ( CT_RA_Level >= 1 and CT_RABoss_Mods["肮脏的希尔盖"]["announce"] ) then
CT_RA_SendMessage("AaO b1 t20 n*Teleport* f90 r0*255*0");
end
elseif ( event == "teleportwarn" ) then
CT_RABoss_Announce(CT_RABOSS_MRHEIGAN_TELEPORT_10SEC, CT_RABoss_Mods["肮脏的希尔盖"]["announce"]);
CT_RABoss_PlaySound(3);
elseif ( event == "backsoon" ) then
CT_RABoss_Announce(CT_RABOSS_MRHEIGAN_BACK_3SEC, CT_RABoss_Mods["肮脏的希尔盖"]["announce"]);
CT_RABoss_PlaySound(3);
end
end
-- Loatheb (22/08/2006) - Updated to use chat_msg_addon.
function CT_RABoss_MRLoatheb_OnLoad()
CT_RABoss_AddMod("洛欧塞布", CT_RABOSS_MRLOATHEB_INFO, 1, CT_RABOSS_LOCATIONS_NAXXRAMAS);
CT_RABoss_AddEvent("洛欧塞布", "PLAYER_REGEN_DISABLED", CT_RABoss_MRLoatheb_EventHandler);
CT_RABoss_AddEvent("洛欧塞布", "CHAT_MSG_ADDON", CT_RABoss_MRLoatheb_EventHandler);
CT_RABoss_AddEvent("洛欧塞布", "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", CT_RABoss_MRLoatheb_EventHandler);
CT_RABoss_AddEvent("洛欧塞布", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", CT_RABoss_MRLoatheb_EventHandler);
CT_RABoss_AddEvent("洛欧塞布", "CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", CT_RABoss_MRLoatheb_EventHandler);
CT_RABoss_AddEvent("洛欧塞布", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF", CT_RABoss_MRLoatheb_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_MRLOATHEB_CURSES_ALERT, CT_RABOSS_MRLOATHEB_CURSES_ALERT_INFO }, "CT_RABoss_ModInfo", "enablecurseS", "CT_RABoss_SetInfo");
CT_RABoss_SetVar("洛欧塞布", "enablecurses", 1);
end
function CT_RABoss_MRLoatheb_Start()
CT_RABoss_Announce(CT_RABOSS_MRLOATHEB_ENGAGE, CT_RABoss_Mods["洛欧塞布"]["announce"]);
CT_RABoss_PlaySound(3);
CT_RABoss_Mods["洛欧塞布"]["lastaction"] = time();
CT_RABoss_Mods["洛欧塞布"]["engaged"] = true;
CT_RABoss_Schedule("CT_RABoss_MRLoatheb_EventHandler", 110, "doom5");
if ( CT_RA_Level >= 1 and CT_RABoss_Mods["洛欧塞布"]["announce"] ) then
CT_RA_SendMessage(format(CT_RABOSS_MRMUKKA_STRING, "1", "20", CT_RABOSS_MRLOATHEB_DOOM_TIMER, "115", "255*0*0"));
end
end
function CT_RABoss_MRLoatheb_EventHandler(event)
if ( not CT_RABoss_Mods["洛欧塞布"] or not CT_RABoss_Mods["洛欧塞布"]["status"] or not CT_RABoss_Mods["洛欧塞布"].enabled ) then
return;
end
if ( CT_RABoss_Mods["洛欧塞布"]["engaged"] and ( not CT_RABoss_Mods["洛欧塞布"]["lastaction"] or ( time() - CT_RABoss_Mods["洛欧塞布"]["lastaction"] ) > 60 ) ) then
CT_RABoss_Mods["洛欧塞布"]["engaged"] = false;
CT_RABoss_Mods["洛欧塞布"]["countdoom"] = nil;
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
if ( string.find(arg1, CT_RABOSS_MRLOATHEB_DOOM_STRING) and not CT_RABoss_Mods["洛欧塞布"]["doomtrip"] ) then
CT_RABoss_Announce(CT_RABOSS_MRLOATHEB_DOOM_WARN, CT_RABoss_Mods["洛欧塞布"]["announce"]);
CT_RABoss_PlaySound(2);
CT_RABoss_UnSchedule("CT_RABoss_MRLoatheb_EventHandler", "doom5");
CT_RABoss_Schedule("CT_RABoss_MRLoatheb_EventHandler", 5, "undoom");
CT_RABoss_Mods["洛欧塞布"]["doomtrip"] = true;
CT_RABoss_Mods["洛欧塞布"]["engaged"] = true;
CT_RABoss_Mods["洛欧塞布"]["lastaction"] = time();
if ( CT_RABoss_Mods["洛欧塞布"]["countdoom"] ) then
CT_RABoss_Mods["洛欧塞布"]["countdoom"] = CT_RABoss_Mods["洛欧塞布"]["countdoom"]+1;
else
CT_RABoss_Mods["洛欧塞布"]["countdoom"] = 0;
end
if ( CT_RABoss_Mods["洛欧塞布"]["countdoom"] > 7 ) then
CT_RABoss_Schedule("CT_RABoss_MRLoatheb_EventHandler", 10, "doom5");
if ( CT_RA_Level >= 1 and CT_RABoss_Mods["洛欧塞布"]["announce"] ) then
CT_RA_SendMessage(format(CT_RABOSS_MRMUKKA_STRING, "1", "20", CT_RABOSS_MRLOATHEB_DOOM_TIMER, "15", "255*0*0"));
end
else
CT_RABoss_Schedule("CT_RABoss_MRLoatheb_EventHandler", 25, "doom5");
if ( CT_RA_Level >= 1 and CT_RABoss_Mods["洛欧塞布"]["announce"] ) then
CT_RA_SendMessage(format(CT_RABOSS_MRMUKKA_STRING, "1", "20", CT_RABOSS_MRLOATHEB_DOOM_TIMER, "30", "255*0*0"));
end
end
end
elseif ( event == "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF" ) then
if ( arg1 == CT_RABOSS_MRLOATHEB_CURSE_STRING and CT_RABoss_Mods["洛欧塞布"]["enablecurses"] ) then
CT_RABoss_Announce(CT_RABOSS_MRLOATHEB_CURSE_WARN, CT_RABoss_Mods["洛欧塞布"]["announce"]);
CT_RABoss_PlaySound(3);
if ( CT_RA_Level >= 1 and CT_RABoss_Mods["洛欧塞布"]["announce"] ) then
CT_RA_SendMessage(format(CT_RABOSS_MRMUKKA_STRING, "2", "20", CT_RABOSS_MRLOATHEB_CURSE_TIMER, "30", "0*0*255"));
end
end
elseif ( event == "PLAYER_REGEN_DISABLED" and not CT_RABoss_Mods["洛欧塞布"]["engaged"] ) then
CT_RABoss_Schedule("CT_RABoss_MRLoatheb_EventHandler", 5, "engagecheck");
elseif ( event == "CHAT_MSG_ADDON" and arg1 == "CTRA" ) then
if ( arg2 == "LOATHEBENGSYNC" and not CT_RABoss_Mods["洛欧塞布"]["engaged"] ) then
CT_RABoss_MRLoatheb_Start();
end
elseif ( event == "engagecheck" and not CT_RABoss_Mods["洛欧塞布"]["engaged"] ) then
if ( UnitName("target") == CT_RABOSS_MRLOATHEB_BOSSNAME and UnitAffectingCombat("target") ) then
CT_RABoss_MRLoatheb_Start();
CT_RA_SendMessage("LOATHEBENGSYNC");
elseif ( UnitName("playertarget") == CT_RABOSS_MRLOATHEB_BOSSNAME and UnitAffectingCombat("playertarget") ) then
CT_RABoss_MRLoatheb_Start();
CT_RA_SendMessage("LOATHEBENGSYNC");
else
local i
for i = 1, GetNumRaidMembers(), 1 do
if ( UnitName("raid"..i.."target") == CT_RABOSS_MRLOATHEB_BOSSNAME and UnitAffectingCombat("raid"..i.."target")) then
CT_RABoss_MRLoatheb_Start();
CT_RA_SendMessage("LOATHEBENGSYNC");
break;
end
end
end
elseif ( event == "doom5") then
CT_RABoss_Announce(CT_RABOSS_MRLOATHEB_DOOM_5SEC, CT_RABoss_Mods["洛欧塞布"]["announce"]);
CT_RABoss_PlaySound(3);
elseif ( event == "undoom") then
CT_RABoss_Mods["洛欧塞布"]["doomtrip"] = false;
end
end
-- Instructor Razuvious (01/09/2006) - Added shieldwall anouncements.
function CT_RABoss_Razuvious_Stop()
CT_RABoss_Mods["教官拉苏维奥斯"]["combat"] = nil;
CT_RABoss_Mods["教官拉苏维奥斯"]["lastAction"] = nil;
CT_RABoss_UnSchedule("CT_RABoss_Razuvious_EventHandler");
end
function CT_RABoss_Razuvious_OnLoad()
CT_RABoss_AddMod("教官拉苏维奥斯", CT_RABOSS_RAZUVIOUS_INFO, 1, CT_RABOSS_LOCATIONS_NAXXRAMAS);
CT_RABoss_AddEvent("教官拉苏维奥斯", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE", CT_RABoss_Razuvious_EventHandler);
CT_RABoss_AddEvent("教官拉苏维奥斯", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE", CT_RABoss_Razuvious_EventHandler);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -