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

📄 ahnqiraj.lua

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