⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 moltencore.lua

📁 时间太紧了
💻 LUA
📖 第 1 页 / 共 2 页
字号:
		
	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 + -