📄 moltencore.lua
字号:
elseif ( (string.find(arg1, CT_RABOSS_GEHENNAS_CURSE)) and not CT_RABoss_Mods["基赫纳斯"]["CurseTrip"] ) then
CT_RABoss_Mods["基赫纳斯"]["CurseTrip"] = true;
CT_RABoss_Announce(CT_RABOSS_GEHENNAS_30SECWARN, CT_RABoss_Mods["基赫纳斯"]["announce"]);
CT_RABoss_PlaySound(2);
CT_RABoss_Schedule("CT_RABoss_Gehennas_EventHandler", 25, "preCurseWarning");
CT_RABoss_VisualTimer.addTimer("GehennasCurse", 30, CT_RABOSS_GEHENNAS_CURSE_TIMER);
end
end
-- Ragnaros
function CT_RABoss_Ragnaros_OnLoad()
CT_RABoss_AddMod("拉格纳罗斯", CT_RABOSS_RAGNAROS_INFO, 1, CT_RABOSS_LOCATIONS_MOLTENCORE);
CT_RABoss_AddEvent("拉格纳罗斯", "CHAT_MSG_MONSTER_YELL", CT_RABoss_Ragnaros_EventHandler);
-- For detection of non-first attempts and if all sons die before 15 second warning
CT_RABoss_AddEvent("拉格纳罗斯", "CHAT_MSG_COMBAT_CREATURE_VS_PARTY_HITS", CT_RABoss_Ragnaros_EventHandler);
CT_RABoss_AddEvent("拉格纳罗斯", "CHAT_MSG_COMBAT_CREATURE_VS_PARTY_MISSES", CT_RABoss_Ragnaros_EventHandler);
CT_RABoss_AddEvent("拉格纳罗斯", "CHAT_MSG_COMBAT_CREATURE_VS_SELF_HITS", CT_RABoss_Ragnaros_EventHandler);
CT_RABoss_AddEvent("拉格纳罗斯", "CHAT_MSG_COMBAT_CREATURE_VS_SELF_MISSES", CT_RABoss_Ragnaros_EventHandler);
CT_RABoss_AddEvent("拉格纳罗斯", "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE", CT_RABoss_Ragnaros_EventHandler);
CT_RABoss_AddEvent("拉格纳罗斯", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE", CT_RABoss_Ragnaros_EventHandler);
CT_RABoss_AddEvent("拉格纳罗斯", "CHAT_MSG_COMBAT_PARTY_HITS", CT_RABoss_Ragnaros_EventHandler);
CT_RABoss_AddEvent("拉格纳罗斯", "CHAT_MSG_COMBAT_PARTY_MISSES", CT_RABoss_Ragnaros_EventHandler);
CT_RABoss_AddEvent("拉格纳罗斯", "CHAT_MSG_COMBAT_SELF_HITS", CT_RABoss_Ragnaros_EventHandler);
CT_RABoss_AddEvent("拉格纳罗斯", "CHAT_MSG_COMBAT_SELF_MISSES", CT_RABoss_Ragnaros_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_SetVar("拉格纳罗斯", "WaitStart", 0);
CT_RA_RegisterSlashCmd("/ragstart", CT_RABOSS_CMD_RAGSTART, 30, "RAGSTART", function()
CT_RABoss_UnSchedule("CT_RABoss_Ragnaros_EventHandler");
CT_RABoss_SetVar("拉格纳罗斯", "WaitStart", 1);
end, "/ragstart");
end
function CT_RABoss_Ragnaros_EventHandler(event)
if ( not CT_RABoss_Mods["拉格纳罗斯"] or not CT_RABoss_Mods["拉格纳罗斯"]["status"] or not CT_RABoss_Mods["拉格纳罗斯"].enabled ) then
return;
end
-- Rag Emerge
if ( event == "RagUp" or ( (event == "CHAT_MSG_MONSTER_YELL") and (string.find(arg1, CT_RABOSS_RAGNAROS_START)) ) ) then
CT_RABoss_SetVar("拉格纳罗斯", "WaitStart", 0);
CT_RABoss_Announce(CT_RABOSS_RAGNAROS_EMERGE, CT_RABoss_Mods["拉格纳罗斯"]["announce"]);
CT_RABoss_PlaySound(1);
CT_RABoss_UnSchedule("CT_RABoss_Ragnaros_EventHandler"); -- Remove outstanding RagUpWarn if all sons die before 15 second warning
CT_RABoss_Schedule("CT_RABoss_Ragnaros_EventHandler", 120, "RagWarn1");
CT_RABoss_Schedule("CT_RABoss_Ragnaros_EventHandler", 160, "RagWarn2");
CT_RABoss_VisualTimer.addTimer("RagnarosSons", 180, CT_RABOSS_RAGNAROS_SONS_TIMER);
elseif ( CT_RABoss_Mods["拉格纳罗斯"]["WaitStart"] == 1 and string.find(arg1, "拉格纳罗斯") and UnitName("target") == "拉格纳罗斯" and ( (event == "CHAT_MSG_COMBAT_CREATURE_VS_PARTY_HITS") or (event == "CHAT_MSG_COMBAT_CREATURE_VS_PARTY_MISSES") or (event == "CHAT_MSG_COMBAT_CREATURE_VS_SELF_HITS") or (event == "CHAT_MSG_COMBAT_CREATURE_VS_SELF_MISSES") or (event == "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE") or (event == "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE") or (event == "CHAT_MSG_COMBAT_PARTY_HITS") or (event == "CHAT_MSG_COMBAT_PARTY_MISSES") or (event == "CHAT_MSG_COMBAT_SELF_HITS") or (event == "CHAT_MSG_COMBAT_SELF_MISSES") ) ) then
CT_RABoss_SetVar("拉格纳罗斯", "WaitStart", 0);
CT_RABoss_UnSchedule("CT_RABoss_Ragnaros_EventHandler"); -- Remove outstanding RagUpWarn if all sons die before 15 second warning
CT_RABoss_UnSchedule("CT_RABoss_Ragnaros_EventHandler"); -- Remove outstanding RagUp if all sons die before 15 second warning
CT_RABoss_Announce(CT_RABOSS_RAGNAROS_EMERGE, CT_RABoss_Mods["拉格纳罗斯"]["announce"]);
CT_RABoss_PlaySound(1);
CT_RABoss_Schedule("CT_RABoss_Ragnaros_EventHandler", 120, "RagWarn1");
CT_RABoss_Schedule("CT_RABoss_Ragnaros_EventHandler", 160, "RagWarn2");
CT_RABoss_VisualTimer.removeTimer("RagnarosUp");
CT_RABoss_VisualTimer.addTimer("RagnarosSons", 180, CT_RABOSS_RAGNAROS_SONS_TIMER);
elseif ( event == "RagWarn1" ) then
CT_RABoss_Announce(CT_RABOSS_RAGNAROS_60SECSSONS, CT_RABoss_Mods["拉格纳罗斯"]["announce"]);
CT_RABoss_PlaySound(1);
elseif ( event == "RagWarn2" ) then
CT_RABoss_Announce(CT_RABOSS_RAGNAROS_20SECSSONS, CT_RABoss_Mods["拉格纳罗斯"]["announce"]);
CT_RABoss_PlaySound(1);
-- WOR Warning
elseif ( event == "preRagKB" ) then
CT_RABoss_Announce(CT_RABOSS_RAGNAROS_5SECSKNOCKB, CT_RABoss_Mods["拉格纳罗斯"]["announce"]);
CT_RABoss_PlaySound(3);
-- WOR
elseif ( (event == "CHAT_MSG_MONSTER_YELL") and (string.find(arg1, CT_RABOSS_RAGNAROS_KNOCKBACK)) ) then
CT_RABoss_Announce(CT_RABOSS_RAGNAROS_KNOCKB, CT_RABoss_Mods["拉格纳罗斯"]["announce"]);
CT_RABoss_PlaySound(2);
CT_RABoss_Schedule("CT_RABoss_Ragnaros_EventHandler", 23, "preRagKB");
CT_RABoss_VisualTimer.addTimer("RagnarosKnockback", 28, CT_RABOSS_RAGNAROS_KNOCKBACK_TIMER);
-- Rag Submerge
elseif ( (event == "CHAT_MSG_MONSTER_YELL") and (string.find(arg1, CT_RABOSS_RAGNAROS_SONS)) ) then
CT_RABoss_Announce(CT_RABOSS_RAGNAROS_SUBMERGE, CT_RABoss_Mods["拉格纳罗斯"]["announce"]);
CT_RABoss_PlaySound(1);
CT_RABoss_UnSchedule("CT_RABoss_Ragnaros_EventHandler"); -- remove outstanding WOR warning
CT_RABoss_Schedule("CT_RABoss_Ragnaros_EventHandler", 10, "waitStart");
CT_RABoss_Schedule("CT_RABoss_Ragnaros_EventHandler", 75, "RagUpWarn");
CT_RABoss_Schedule("CT_RABoss_Ragnaros_EventHandler", 90, "RagUp");
CT_RABoss_VisualTimer.addTimer("RagnarosUp", 90, CT_RABOSS_RAGNAROS_UP_TIMER);
elseif ( event == "waitStart" ) then
CT_RABoss_SetVar("拉格纳罗斯", "WaitStart", 1);
elseif ( event == "RagUpWarn" ) then
CT_RABoss_Announce(CT_RABOSS_RAGNAROS_15SECSUP, CT_RABoss_Mods["拉格纳罗斯"]["announce"]);
CT_RABoss_PlaySound(1);
end
end
-- Shazzrah
function CT_RABoss_Shazzrah_OnLoad()
CT_RABoss_AddMod("沙斯拉尔", CT_RABOSS_SHAZZRAH_INFO, 1, CT_RABOSS_LOCATIONS_MOLTENCORE);
CT_RABoss_AddEvent("沙斯拉尔", "CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS", CT_RABoss_Shazzrah_EventHandler);
CT_RABoss_AddEvent("沙斯拉尔", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE", CT_RABoss_Shazzrah_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_Shazzrah_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_CREATURE_BUFFS" or event == "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE") and string.find(arg1, CT_RABOSS_SHAZZRAH_BLINK) ) then
CT_RABoss_Announce(CT_RABOSS_SHAZZRAH_40SECSBLINK, CT_RABoss_Mods["沙斯拉尔"]["announce"]);
CT_RABoss_PlaySound(2);
CT_RABoss_Schedule("CT_RABoss_Shazzrah_EventHandler", 35, "preBlink");
CT_RABoss_VisualTimer.addTimer("ShazzrahPortal", 40, CT_RABOSS_SHAZZRAH_BLINK_TIMER);
elseif ( event == "CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS" and string.find(arg1, CT_RABOSS_SHAZZRAH_DEADENMAGIC) ) then
CT_RABoss_Announce(CT_RABOSS_SHAZZRAH_SELFBUFF, CT_RABoss_Mods["沙斯拉尔"]["announce"]);
CT_RABoss_PlaySound(1);
elseif ( event == "preBlink" ) then
CT_RABoss_Announce(CT_RABOSS_SHAZZRAH_5SECSBLINK, CT_RABoss_Mods["沙斯拉尔"]["announce"]);
CT_RABoss_PlaySound(3);
end
end
-- Lucifron
function CT_RABoss_Lucifron_OnLoad()
CT_RABoss_AddMod("鲁西弗隆", CT_RABOSS_LUCIFRON_INFO, 1, CT_RABOSS_LOCATIONS_MOLTENCORE);
CT_RABoss_AddEvent("鲁西弗隆", "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", CT_RABoss_Lucifron_EventHandler);
CT_RABoss_AddEvent("鲁西弗隆", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", CT_RABoss_Lucifron_EventHandler);
CT_RABoss_AddEvent("鲁西弗隆", "CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", CT_RABoss_Lucifron_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_LUCIFRON_DOOMMENU, CT_RABOSS_LUCIFRON_DOOMMENU_INFO }, "CT_RABoss_ModInfo", "enableDoom", "CT_RABoss_SetInfo");
end
function CT_RABoss_Lucifron_EventHandler(event)
if ( not CT_RABoss_Mods["鲁西弗隆"] or not CT_RABoss_Mods["鲁西弗隆"]["status"] or not CT_RABoss_Mods["鲁西弗隆"].enabled ) then
return;
end
if ( event == "preCurseWarning" ) then
CT_RABoss_Mods["鲁西弗隆"]["CurseTrip"] = false;
CT_RABoss_Announce(CT_RABOSS_LUCIFRON_5SECSCURSE, CT_RABoss_Mods["鲁西弗隆"]["announce"]);
CT_RABoss_PlaySound(3);
elseif ( event == "impendingWarning" and CT_RABoss_Mods["鲁西弗隆"]["enableDoom"] ) then
CT_RABoss_Mods["鲁西弗隆"]["ImpendingTrip"] = false;
CT_RABoss_Announce(CT_RABOSS_LUCIFRON_5SECSDOOM, CT_RABoss_Mods["鲁西弗隆"]["announce"]);
CT_RABoss_PlaySound(3);
elseif ( ( string.find(arg1, CT_RABOSS_LUCIFRON_CURSE) ) and not CT_RABoss_Mods["鲁西弗隆"]["CurseTrip"] ) then
CT_RABoss_Mods["鲁西弗隆"]["CurseTrip"] = true;
CT_RABoss_Announce(CT_RABOSS_LUCIFRON_30SECSCURSE, CT_RABoss_Mods["鲁西弗隆"]["announce"]);
CT_RABoss_PlaySound(2);
CT_RABoss_Schedule("CT_RABoss_Lucifron_EventHandler", 15, "preCurseWarning");
CT_RABoss_VisualTimer.addTimer("LucifronCurse", 20, CT_RABOSS_LUCIFRON_CURSE_TIMER);
elseif ( ( string.find(arg1, CT_RABOSS_LUCIFRON_DOOM) ) and not CT_RABoss_Mods["鲁西弗隆"]["ImpendingTrip"] and CT_RABoss_Mods["鲁西弗隆"]["enableDoom"] ) then
CT_RABoss_Mods["鲁西弗隆"]["ImpendingTrip"] = true;
CT_RABoss_Announce(CT_RABOSS_LUCIFRON_30SECSDOOM, CT_RABoss_Mods["鲁西弗隆"]["announce"]);
CT_RABoss_PlaySound(1);
CT_RABoss_Schedule("CT_RABoss_Lucifron_EventHandler", 15, "impendingWarning");
CT_RABoss_VisualTimer.addTimer("LucifronDoom", 20, CT_RABOSS_LUCIFRON_DOOM_TIMER);
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -