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

📄 blackwinglair.lua

📁 时间太紧了
💻 LUA
📖 第 1 页 / 共 3 页
字号:
tinsert(CT_RABoss_ModsToLoad, "CT_RABoss_Razorgore_OnLoad");
tinsert(CT_RABoss_ModsToLoad, "CT_RABoss_Vaelastrasz_OnLoad");
tinsert(CT_RABoss_ModsToLoad, "CT_RABoss_Firemaw_OnLoad");
tinsert(CT_RABoss_ModsToLoad, "CT_RABoss_Ebonroc_OnLoad");
tinsert(CT_RABoss_ModsToLoad, "CT_RABoss_Flamegor_OnLoad");
tinsert(CT_RABoss_ModsToLoad, "CT_RABoss_Chromaggus_OnLoad");
tinsert(CT_RABoss_ModsToLoad, "CT_RABoss_Nefarian_OnLoad");
tinsert(CT_RABoss_ModsToLoad,"CT_RABoss_Broodlord_OnLoad");




-- Razorgore
function CT_RABoss_Razorgore_OnLoad()
	CT_RABoss_AddMod("狂野的拉佐格尔", CT_RABOSS_RAZOR_INFO, 1, CT_RABOSS_LOCATIONS_BLACKWINGSLAIR);

	CT_RABoss_AddEvent("狂野的拉佐格尔", "CHAT_MSG_MONSTER_YELL", CT_RABoss_Razorgore_EventHandler);
	CT_RABoss_AddEvent("狂野的拉佐格尔", "CHAT_MSG_SPELL_FRIENDLYPLAYER_BUFF", CT_RABoss_Razorgore_EventHandler);
	CT_RABoss_AddEvent("狂野的拉佐格尔", "CHAT_MSG_ADDON", CT_RABoss_Razorgore_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_RAZOR_MC, CT_RABOSS_RAZOR_MC_INFO }, "CT_RABoss_ModInfo", "mindControl", "CT_RABoss_SetInfo");
	CT_RABoss_AddDropDownButton("狂野的拉佐格尔", { CT_RABOSS_RAZOR_EGGS, CT_RABOSS_RAZOR_EGGS_INFO }, "CT_RABoss_ModInfo", "eggsCount", "CT_RABoss_SetInfo");
	CT_RABoss_AddDropDownButton("狂野的拉佐格尔", { CT_RABOSS_RAZOR_EGGSSYNC, CT_RABOSS_RAZOR_EGGSSYNC_INFO }, "CT_RABoss_ModInfo", "eggsSync", "CT_RABoss_SetInfo");
	CT_RABoss_AddDropDownButton("狂野的拉佐格尔", { CT_RABOSS_RAZOR_EGGSEST, CT_RABOSS_RAZOR_EGGSEST_INFO }, "CT_RABoss_ModInfo", "eggsTime", "CT_RABoss_SetInfo");
end

function CT_RABoss_Razorgore_EventHandler(event)
	if ( not CT_RABoss_Mods["狂野的拉佐格尔"] or not CT_RABoss_Mods["狂野的拉佐格尔"]["status"] or not CT_RABoss_Mods["狂野的拉佐格尔"].enabled ) then
		return;
	end
	-- Mind Control alert
	if ( event == "CHAT_MSG_MONSTER_YELL" and CT_RABoss_Mods["狂野的拉佐格尔"]["mindControl"] ) then
		local iStart, iEnd, sPlayer = string.find(arg1, CT_RABOSS_RAZOR_MC_DETECT);
		if ( sPlayer ) then
			CT_RABoss_Announce(string.format(CT_RABOSS_RAZOR_MC_WARN, sPlayer), CT_RABoss_Mods["狂野的拉佐格尔"]["announce"]);
			CT_RABoss_PlaySound(3);
		end
	end
	-- Init eggs count
	if ( event == "CHAT_MSG_MONSTER_YELL" and string.find(arg1, CT_RABOSS_RAZOR_BEGIN_DETECT) and CT_RABoss_Mods["狂野的拉佐格尔"]["eggsCount"] ) then
		CT_RABoss_Counter.initialize("狂野的拉佐格尔", "EggCount", CT_RABoss_Mods["狂野的拉佐格尔"]["eggsSync"], CT_RABoss_Mods["狂野的拉佐格尔"]["announce"], 30, CT_RABOSS_RAZOR_MOBNAME, CT_RABOSS_RAZOR_EGG_WARN, CT_RABOSS_RAZOR_EGG_COUNTHEADER);
		CT_RABoss_Counter.setOptions("狂野的拉佐格尔", "EggCount", {["displayEstEnd"] = CT_RABoss_Mods["狂野的拉佐格尔"]["eggsTime"], ["discardTime"] = 1000});

		CT_RABoss_Announce(CT_RABOSS_RAZOR_BEGIN_WARN, CT_RABoss_Mods["狂野的拉佐格尔"]["announce"]);
		CT_RABoss_PlaySound(2);
	end
	-- Eggs count alerts
	if ( event == "CHAT_MSG_SPELL_FRIENDLYPLAYER_BUFF" and CT_RABoss_Mods["狂野的拉佐格尔"]["eggsCount"] ) then
		local _, _, mobName = string.find(arg1, CT_RABOSS_RAZOR_EGG_DETECT);
		
		if ( mobName ) then
			CT_RABoss_Counter.sendSync(mobName, "狂野的拉佐格尔", "EggCount");
		end
	elseif ( event == "CHAT_MSG_ADDON" and CT_RABoss_Mods["狂野的拉佐格尔"]["eggsCount"] ) then
		CT_RABoss_Counter.receiveSync(arg1, arg2, arg4, "狂野的拉佐格尔", "EggCount");
	end

end


-- Vaelastrasz
function CT_RABoss_Vaelastrasz_OnLoad()
	CT_RABoss_AddMod("瓦拉斯塔兹", CT_RABOSS_VAEL_INFO, 1, CT_RABOSS_LOCATIONS_BLACKWINGSLAIR);

	CT_RABoss_AddEvent("瓦拉斯塔兹", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", CT_RABoss_Vaelastrasz_EventHandler);
	CT_RABoss_AddEvent("瓦拉斯塔兹", "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", CT_RABoss_Vaelastrasz_EventHandler);
	CT_RABoss_AddEvent("瓦拉斯塔兹", "CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", CT_RABoss_Vaelastrasz_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_VAEL_ALERT_NEARBY, CT_RABOSS_VAEL_ALERT_NEARBY_INFO }, "CT_RABoss_ModInfo", "alertNearby", "CT_RABoss_SetInfo");
	CT_RABoss_AddDropDownButton("瓦拉斯塔兹", { CT_RABOSS_VAEL_TELL_TARGET, CT_RABOSS_VAEL_TELL_TARGET_INFO }, "CT_RABoss_ModInfo", "sendTell", "CT_RABoss_SetInfo");
	
	CT_RABoss_SetVar("瓦拉斯塔兹", "alertNearby", 1);
end

function CT_RABoss_Vaelastrasz_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" ) and CT_RABoss_Mods["瓦拉斯塔兹"]["alertNearby"] ) ) then
		local iStart, iEnd, sPlayer, sType = string.find(arg1, CT_RABOSS_VAEL_AFFLICT_BURNING);
		if ( sPlayer and sType ) then
			if ( sPlayer == CT_RABOSS_SELF1 and sType == CT_RABOSS_SELF2 ) then
				sPlayer = UnitName("player");
				CT_RABoss_Announce(CT_RABOSS_VAEL_BOMBWARNYOU);
				CT_RABoss_Announce(CT_RABOSS_VAEL_BOMBWARNYOU);
				CT_RABoss_PlaySound(2);
			end

			if ( CT_RABoss_Mods["瓦拉斯塔兹"]["sendTell"] and CT_RA_Level >= 1 and sPlayer ~= UnitName("player") ) then
				SendChatMessage(CT_RABOSS_VAEL_BURNINGWARNTELL, "WHISPER", nil, sPlayer);
			end

			CT_RABoss_Announce(format(CT_RABOSS_VAEL_BURNINGWARNRAID, sPlayer), CT_RABoss_Mods["瓦拉斯塔兹"]["announce"]);
			CT_RABoss_PlaySound(3);
		end
	end
end



-- Broodlord
function CT_RABoss_Broodlord_OnLoad()
	CT_RABoss_AddMod("勒什雷尔", CT_RABOSS_BROODLORD_INFO, 1, CT_RABOSS_LOCATIONS_BLACKWINGSLAIR);
	
	CT_RABoss_AddEvent("勒什雷尔", "CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", CT_RABoss_Broodlord_EventHandler);
	CT_RABoss_AddEvent("勒什雷尔", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", CT_RABoss_Broodlord_EventHandler);
	CT_RABoss_AddEvent("勒什雷尔", "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", CT_RABoss_Broodlord_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_Broodlord_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 _, _, playerName = string.find(arg1, CT_RABOSS_BROODLORD_SACRIFICE_DETECT);
		
		if ( playerName ) then
			if ( playerName == CT_RABOSS_SELF1 ) then
				sPlayer = UnitName("player");
				
			end
			
			CT_RABoss_PlaySound(1);
			CT_RABoss_Announce(format(CT_RABOSS_BROODLORD_SACRIFICE_ALERT, playerName), CT_RABoss_Mods["勒什雷尔"]["announce"]);
		end
	end
end


-- Firemaw Wing Buffet and Shadowflame (Thanks to Puddy and Sting of Blood Legion - Illidan Horde)
function CT_RABoss_Firemaw_OnLoad()
	CT_RABoss_AddMod("费尔默", CT_RABOSS_FIREMAW_INFO, 1, CT_RABOSS_LOCATIONS_BLACKWINGSLAIR);

	CT_RABoss_AddEvent("费尔默", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE", CT_RABoss_Firemaw_EventHandler);
	CT_RABoss_AddEvent("费尔默", "PLAYER_REGEN_DISABLED", CT_RABoss_Firemaw_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_SHADOWFLAME, CT_RABOSS_SHADOWFLAME_INFO }, "CT_RABoss_ModInfo", "shadowflame", "CT_RABoss_SetInfo");

	CT_RABoss_SetVar("费尔默", "shadowflame", 1);
end

function CT_RABoss_Firemaw_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_CREATURE_VS_CREATURE_DAMAGE" and string.find(arg1, CT_RABOSS_FIREMAW_BUFFET) and not CT_RABoss_Mods["费尔默"]["BuffetTrip"] ) then
		CT_RABoss_Announce(CT_RABOSS_FIREMAW_BUFFET_WARN, CT_RABoss_Mods["费尔默"]["announce"]);
		CT_RABoss_Mods["费尔默"]["BuffetTrip"] = true;
		CT_RABoss_PlaySound(2);
		CT_RABoss_Schedule("CT_RABoss_Firemaw_EventHandler", 29, "preBuffetWarning");
		CT_RABoss_VisualTimer.addTimer("FiremawBuffet", 32, CT_RABOSS_FIREMAW_BUFFET_TIMER);

	elseif ( event == "preBuffetWarning" ) then
		CT_RABoss_Mods["费尔默"]["BuffetTrip"] = false;
		CT_RABoss_Announce(CT_RABOSS_FIREMAW_3SECWARN, CT_RABoss_Mods["费尔默"]["announce"]);
		CT_RABoss_PlaySound(3);

	elseif ( event == "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE" and string.find(arg1, CT_RABOSS_FIREMAW_SHADOWFLAME_DETECT) and CT_RABoss_Mods["费尔默"]["shadowflame"] ) then
		CT_RABoss_Announce(CT_RABOSS_FIREMAW_SHADOWFLAME_WARN, CT_RABoss_Mods["费尔默"]["announce"]);
		CT_RABoss_PlaySound(3);

	elseif ( event == "PLAYER_REGEN_DISABLED" ) then
		CT_RABoss_Schedule("CT_RABoss_Firemaw_EventHandler", 10, "checkStart");


	elseif ( event == "checkStart" ) then
		if ( UnitName("target") and UnitName("target") == CT_RABOSS_NAMES["费尔默"] and UnitAffectingCombat("target") ) then
			CT_RABoss_Announce(CT_RABOSS_FIREMAW_BUFFET_WARN_FIRST, CT_RABoss_Mods["费尔默"]["announce"]);
			CT_RABoss_Mods["费尔默"]["BuffetTrip"] = true;
			CT_RABoss_PlaySound(2);
			CT_RABoss_Schedule("CT_RABoss_Firemaw_EventHandler", 19, "preBuffetWarning");
			CT_RABoss_VisualTimer.addTimer("FiremawBuffet", 22, CT_RABOSS_FIREMAW_BUFFET_TIMER);
		end

	end
end


-- Ebonroc Wing Buffet and Shadowflame (Thanks to Sting of Blood Legion - Illidan Horde)
function CT_RABoss_Ebonroc_OnLoad()
	CT_RABoss_AddMod("埃博诺克", CT_RABOSS_EBONROC_INFO, 1, CT_RABOSS_LOCATIONS_BLACKWINGSLAIR);

	CT_RABoss_AddEvent("埃博诺克", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE", CT_RABoss_Ebonroc_EventHandler);
	CT_RABoss_AddEvent("埃博诺克", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", CT_RABoss_Ebonroc_EventHandler);
	CT_RABoss_AddEvent("埃博诺克", "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", CT_RABoss_Ebonroc_EventHandler);
	CT_RABoss_AddEvent("埃博诺克", "CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", CT_RABoss_Ebonroc_EventHandler);
	CT_RABoss_AddEvent("埃博诺克", "PLAYER_REGEN_DISABLED", CT_RABoss_Ebonroc_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_SHADOWFLAME, CT_RABOSS_SHADOWFLAME_INFO }, "CT_RABoss_ModInfo", "shadowflame", "CT_RABoss_SetInfo");
	CT_RABoss_AddDropDownButton("埃博诺克", { CT_RABOSS_EBONROC_SHADOW, CT_RABOSS_EBONROC_SHADOW_INFO }, "CT_RABoss_ModInfo", "shadowEbonroc", "CT_RABoss_SetInfo");

	CT_RABoss_SetVar("埃博诺克", "shadowflame", 1);
	CT_RABoss_SetVar("埃博诺克", "shadowEbonroc", 1);
end

function CT_RABoss_Ebonroc_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_CREATURE_VS_CREATURE_DAMAGE" and string.find(arg1, CT_RABOSS_EBONROC_BUFFET) and not CT_RABoss_Mods["埃博诺克"]["BuffetTrip"] ) then
		CT_RABoss_Announce(CT_RABOSS_EBONROC_BUFFET_WARN, CT_RABoss_Mods["埃博诺克"]["announce"]);
		CT_RABoss_Mods["埃博诺克"]["BuffetTrip"] = true;
		CT_RABoss_PlaySound(2);
		CT_RABoss_Schedule("CT_RABoss_Ebonroc_EventHandler", 29, "preBuffetWarning");
		CT_RABoss_VisualTimer.addTimer("EbonrocBuffet", 32, CT_RABOSS_EBONROC_BUFFET_TIMER);

	elseif ( event == "preBuffetWarning" ) then
		CT_RABoss_Mods["埃博诺克"]["BuffetTrip"] = false;
		CT_RABoss_Announce(CT_RABOSS_EBONROC_3SECWARN, CT_RABoss_Mods["埃博诺克"]["announce"]);
		CT_RABoss_PlaySound(3);

	elseif ( event == "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE" and string.find(arg1, CT_RABOSS_EBONROC_SHADOWFLAME_DETECT) and CT_RABoss_Mods["埃博诺克"]["shadowflame"] ) then
		CT_RABoss_Announce(CT_RABOSS_EBONROC_SHADOWFLAME_WARN, CT_RABoss_Mods["埃博诺克"]["announce"]);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -