vanilla-wow-addons – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 tinsert(CT_RABoss_ModsToLoad, "CT_RABoss_ProphetSkeram_OnLoad");
2 tinsert(CT_RABoss_ModsToLoad, "CT_RABoss_Sartura_OnLoad");
3 tinsert(CT_RABoss_ModsToLoad, "CT_RABoss_Huhuran_OnLoad");
4 tinsert(CT_RABoss_ModsToLoad, "CT_RABoss_TwinEmperors_OnLoad");
5 tinsert(CT_RABoss_ModsToLoad, "CT_RABoss_Defender_OnLoad");
6 tinsert(CT_RABoss_ModsToLoad, "CT_RABoss_Viscidus_OnLoad");
7 tinsert(CT_RABoss_ModsToLoad, "CT_RABoss_CThun_OnLoad");
8 tinsert(CT_RABoss_ModsToLoad, "CT_RABoss_Buru_OnLoad");
9 tinsert(CT_RABoss_ModsToLoad, "CT_RABoss_Ayamiss_OnLoad");
10 tinsert(CT_RABoss_ModsToLoad, "CT_RABoss_Ossirian_OnLoad");
11 tinsert(CT_RABoss_ModsToLoad, "CT_RABoss_Rajaxx_OnLoad");
12 tinsert(CT_RABoss_ModsToLoad, "CT_RABoss_Moam_OnLoad");
13 tinsert(CT_RABoss_ModsToLoad, "CT_RABoss_Guardian_OnLoad");
14  
15 -- Prophet Skeram
16 function CT_RABoss_ProphetSkeram_OnLoad()
17 CT_RABoss_AddMod("Prophet Skeram", CT_RABOSS_PROPHETSKERAM_INFO, 1, CT_RABOSS_LOCATIONS_AHNQIRAJTEMPLE);
18 CT_RABoss_AddEvent("Prophet Skeram", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE", CT_RABoss_ProphetSkeram_EventHandler);
19 CT_RABoss_AddEvent("Prophet Skeram", "CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_DAMAGE", CT_RABoss_ProphetSkeram_EventHandler);
20 CT_RABoss_AddDropDownButton("Prophet Skeram", { CT_RABOSS_ANNOUNCE, CT_RABOSS_ANNOUNCE_INFO .. CT_RABOSS_REQ_LEADER_OR_PROM }, "CT_RABoss_ModInfo", "announce", "CT_RABoss_SetInfo");
21 end
22  
23  
24 function CT_RABoss_ProphetSkeram_EventHandler(event)
25 if ( not CT_RABoss_Mods["Prophet Skeram"] or not CT_RABoss_Mods["Prophet Skeram"]["status"] or not CT_RABoss_Mods["Prophet Skeram"].enabled ) then
26 return;
27 end
28 if ( event == "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE" ) then
29 if ( arg1 == CT_RABOSS_PROPHETSKERAM_AECASTSTRING ) then
30 CT_RABoss_Announce(CT_RABOSS_PROPHETSKERAM_AECASTMESSAGE, CT_RABoss_Mods["Prophet Skeram"]["announce"]);
31 CT_RABoss_PlaySound(2);
32 end
33 elseif ( event == "CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_DAMAGE" ) then
34 local _, _, playerName, playerType = string.find(arg1, CT_RABOSS_PROPHETSKERAM_MCREGEXP);
35 if ( playerName ) then
36 if ( playerType == CT_RABOSS_PROPHETSKERAM_TYPE_YOU and playerName == CT_RABOSS_PROPHETSKERAM_YOU ) then
37 playerName = UnitName("player");
38 CT_RABoss_Announce(CT_RABOSS_PROPHETSKERAM_MCCASTMESSAGE_YOU);
39 CT_RABoss_Announce(CT_RABOSS_PROPHETSKERAM_MCCASTMESSAGE_YOU);
40 CT_RABoss_PlaySound(2);
41 else
42 CT_RABoss_Announce(string.format(CT_RABOSS_PROPHETSKERAM_MCCASTMESSAGE, playerName));
43 CT_RABoss_PlaySound(1);
44 end
45 if ( CT_RA_Level >= 1 and CT_RABoss_Mods["Prophet Skeram"]["announce"] ) then
46 CT_RA_AddMessage("MS " .. string.format(CT_RABOSS_PROPHETSKERAM_MCCASTMESSAGE, playerName));
47 end
48 end
49 end
50 end
51  
52 -- Battleguard Sartura
53 function CT_RABoss_Sartura_OnLoad()
54 CT_RABoss_AddMod("Battleguard Sartura", CT_RABOSS_SARTURA_INFO, 1, CT_RABOSS_LOCATIONS_AHNQIRAJTEMPLE );
55 CT_RABoss_AddEvent("Battleguard Sartura", "CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS", CT_RABoss_Sartura_EventHandler);
56 CT_RABoss_AddEvent("Battleguard Sartura", "CHAT_MSG_MONSTER_YELL", CT_RABoss_Sartura_EventHandler);
57 CT_RABoss_AddDropDownButton("Battleguard Sartura", { CT_RABOSS_ANNOUNCE, CT_RABOSS_ANNOUNCE_INFO .. CT_RABOSS_REQ_LEADER_OR_PROM }, "CT_RABoss_ModInfo", "announce", "CT_RABoss_SetInfo");
58 CT_RABoss_AddDropDownButton("Battleguard Sartura", { CT_RABOSS_SARTURA_DISPLAYWHIRLWIND, CT_RABOSS_SARTURA_DISPLAYWHIRLWIND }, "CT_RABoss_ModInfo", "displayWhirlwind", "CT_RABoss_SetInfo");
59 CT_RABoss_SetVar("Battleguard Sartura", "displayWhirlwind", 1);
60 end
61  
62 function CT_RABoss_Sartura_EventHandler(event)
63 if ( not CT_RABoss_Mods["Battleguard Sartura"] or not CT_RABoss_Mods["Battleguard Sartura"]["status"] or not CT_RABoss_Mods["Battleguard Sartura"].enabled ) then
64 return;
65 end
66 if ( event == "CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS" ) then
67 if ( CT_RABoss_Mods["Battleguard Sartura"]["displayWhirlwind"] ) then
68 if ( arg1 == CT_RABOSS_SARTURA_WHIRLWIND ) then
69 CT_RABoss_Announce(CT_RABOSS_SARTURA_WHIRLWINDWARNING);
70 CT_RABoss_PlaySound(1);
71 elseif ( arg1 == CT_RABOSS_SARTURA_WHIRLWINDFADE ) then
72 CT_RABoss_Announce(CT_RABOSS_SARTURA_WHIRLWINDFADEWARNING);
73 CT_RABoss_PlaySound(1);
74 end
75 end
76 elseif ( event == "CHAT_MSG_MONSTER_YELL" ) then
77 if ( arg1 == CT_RABOSS_SARTURA_DEATH ) then
78 CT_RABoss_UnSchedule("CT_RABoss_Sartura_EventHandler", "enrage5m");
79 CT_RABoss_UnSchedule("CT_RABoss_Sartura_EventHandler", "enrage1m");
80 CT_RABoss_UnSchedule("CT_RABoss_Sartura_EventHandler", "enrage30s");
81 CT_RABoss_UnSchedule("CT_RABoss_Sartura_EventHandler", "enrage15s");
82 elseif ( arg1 == CT_RABOSS_SARTURA_ENGAGE ) then
83 CT_RABoss_Announce(CT_RABOSS_SARTURA_ENGAGEWARNING, CT_RABoss_Mods["Battleguard Sartura"]["announce"]);
84 CT_RABoss_Schedule("CT_RABoss_Sartura_EventHandler", 300, "enrage5m");
85 CT_RABoss_Schedule("CT_RABoss_Sartura_EventHandler", 540, "enrage1m");
86 CT_RABoss_Schedule("CT_RABoss_Sartura_EventHandler", 570, "enrage30s");
87 CT_RABoss_Schedule("CT_RABoss_Sartura_EventHandler", 585, "enrage15s");
88 CT_RABoss_PlaySound(2);
89 end
90 elseif ( event == "enrage5m" ) then
91 CT_RABoss_Announce(string.format(CT_RABOSS_SARTURA_ENRAGEWARNING, CT_RABOSS_SARTURA_5MIN), CT_RABoss_Mods["Battleguard Sartura"]["announce"]);
92 elseif ( event == "enrage1m" ) then
93 CT_RABoss_Announce(string.format(CT_RABOSS_SARTURA_ENRAGEWARNING, CT_RABOSS_SARTURA_1MIN), CT_RABoss_Mods["Battleguard Sartura"]["announce"]);
94 elseif ( event == "enrage30s" ) then
95 CT_RABoss_Announce(string.format(CT_RABOSS_SARTURA_ENRAGEWARNING, CT_RABOSS_SARTURA_30SEC), CT_RABoss_Mods["Battleguard Sartura"]["announce"]);
96 CT_RABoss_PlaySound(3);
97 elseif ( event == "enrage15s" ) then
98 CT_RABoss_Announce(string.format(CT_RABOSS_SARTURA_ENRAGEWARNING, CT_RABOSS_SARTURA_15SEC), CT_RABoss_Mods["Battleguard Sartura"]["announce"]);
99 CT_RABoss_PlaySound(3);
100 end
101 end
102  
103 -- Princess Huhuran
104 function CT_RABoss_Huhuran_OnLoad()
105 CT_RABoss_AddMod("Princess Huhuran", CT_RABOSS_HUHURAN_INFO, 1, CT_RABOSS_LOCATIONS_AHNQIRAJTEMPLE );
106 CT_RABoss_AddEvent("Princess Huhuran", "CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS", CT_RABoss_Huhuran_EventHandler);
107 CT_RABoss_AddEvent("Princess Huhuran", "CHAT_MSG_MONSTER_EMOTE", CT_RABoss_Huhuran_EventHandler);
108 CT_RABoss_AddDropDownButton("Princess Huhuran", { CT_RABOSS_ANNOUNCE, CT_RABOSS_ANNOUNCE_INFO .. CT_RABOSS_REQ_LEADER_OR_PROM }, "CT_RABoss_ModInfo", "announce", "CT_RABoss_SetInfo");
109 CT_RABoss_AddDropDownButton("Princess Huhuran", { CT_RABOSS_HUHURAN_FRENZY, CT_RABOSS_HUHURAN_FRENZY_INFO }, "CT_RABoss_ModInfo", "displayFrenzy", "CT_RABoss_SetInfo");
110 end
111  
112 function CT_RABoss_Huhuran_EventHandler(event)
113 if ( not CT_RABoss_Mods["Princess Huhuran"] or not CT_RABoss_Mods["Princess Huhuran"]["status"] or not CT_RABoss_Mods["Princess Huhuran"].enabled ) then
114 return;
115 end
116 if ( event == "CHAT_MSG_MONSTER_EMOTE" and arg2 == CT_RABOSS_HUHURAN_BOSSNAME ) then
117 if ( arg1 == CT_RABOSS_HUHURAN_BERSERKSTRING ) then
118 CT_RABoss_Announce(CT_RABOSS_HUHURAN_BERSERKWARNING);
119 CT_RABoss_PlaySound(1);
120 elseif ( CT_RABoss_Mods["Princess Huhuran"]["displayFrenzy"] and arg1 == CT_RABOSS_HUHURAN_FRENZYSTRING ) then
121 CT_RABoss_Announce(CT_RABOSS_HUHURAN_FRENZYWARNING);
122 CT_RABoss_PlaySound(2);
123 end
124 end
125 end
126  
127 -- Anubisath Defenders
128 function CT_RABoss_Defender_OnLoad()
129 CT_RABoss_AddMod("Anubisath Defenders", CT_RABOSS_DEFENDER_INFO, 1, CT_RABOSS_LOCATIONS_AHNQIRAJTEMPLE);
130 CT_RABoss_AddEvent("Anubisath Defenders", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE", CT_RABoss_Defender_EventHandler);
131 CT_RABoss_AddEvent("Anubisath Defenders", "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE", CT_RABoss_Defender_EventHandler);
132 CT_RABoss_AddEvent("Anubisath Defenders", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE", CT_RABoss_Defender_EventHandler);
133 CT_RABoss_AddEvent("Anubisath Defenders", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF", CT_RABoss_Defender_EventHandler);
134 CT_RABoss_AddEvent("Anubisath Defenders", "CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS", CT_RABoss_Defender_EventHandler);
135 CT_RABoss_AddEvent("Anubisath Defenders", "CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", CT_RABoss_Defender_EventHandler);
136 CT_RABoss_AddEvent("Anubisath Defenders", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", CT_RABoss_Defender_EventHandler);
137 CT_RABoss_AddEvent("Anubisath Defenders", "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", CT_RABoss_Defender_EventHandler);
138 CT_RABoss_AddDropDownButton("Anubisath Defenders", { CT_RABOSS_ANNOUNCE, CT_RABOSS_ANNOUNCE_INFO .. CT_RABOSS_REQ_LEADER_OR_PROM }, "CT_RABoss_ModInfo", "announce", "CT_RABoss_SetInfo");
139 CT_RABoss_AddDropDownButton("Anubisath Defenders", { CT_RABOSS_DEFENDER_PLAGUETELL, CT_RABOSS_DEFENDER_PLAGUETELL_INFORM }, "CT_RABoss_ModInfo", "sendPlagueTells", "CT_RABoss_SetInfo");
140 CT_RABoss_AddDropDownButton("Anubisath Defenders", { CT_RABOSS_DEFENDER_SUMMON, CT_RABOSS_DEFENDER_SUMMON_INFO }, "CT_RABoss_ModInfo", "notifySummon", "CT_RABoss_SetInfo");
141 end
142  
143  
144 function CT_RABoss_Defender_EventHandler(event)
145 if ( not CT_RABoss_Mods["Anubisath Defenders"] or not CT_RABoss_Mods["Anubisath Defenders"]["status"] or not CT_RABoss_Mods["Anubisath Defenders"].enabled ) then
146 return;
147 end
148  
149 if ( event == "CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS" ) then
150 if ( arg1 == CT_RABOSS_DEFENDER_EXPLODESTRING ) then
151 CT_RABoss_Announce(CT_RABOSS_DEFENDER_EXPLODING, CT_RABoss_Mods["Anubisath Defenders"]["announce"]);
152 elseif ( arg1 == CT_RABOSS_DEFENDER_ENRAGESTRING ) then
153 CT_RABoss_Announce(CT_RABOSS_DEFENDER_ENRAGING, CT_RABoss_Mods["Anubisath Defenders"]["announce"]);
154 end
155 elseif ( event == "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF" ) then
156 if ( CT_RABoss_Mods["Anubisath Defenders"]["notifySummon"] ) then
157 if ( arg1 == CT_RABOSS_DEFENDER_SUMMONGUARDSTRING ) then
158 CT_RABoss_Announce(CT_RABOSS_DEFENDER_SUMMONEDGUARD, CT_RABoss_Mods["Anubisath Defenders"]["announce"]);
159 elseif ( arg1 == CT_RABOSS_DEFENDER_SUMMONWARRIORSTRING ) then
160 CT_RABoss_Announce(CT_RABOSS_DEFENDER_SUMMONEDWARRIOR, CT_RABoss_Mods["Anubisath Defenders"]["announce"]);
161 end
162 end
163 elseif ( event == "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE" or event == "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE" or event == "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE") then
164 if ( string.find(arg1, CT_RABOSS_DEFENDER_THUNDERCLAPSTRING) ) then
165 CT_RABoss_Announce(CT_RABOSS_DEFENDER_THUNDERCLAP, CT_RABoss_Mods["Anubisath Defenders"]["announce"]);
166 end
167 elseif ( event == "CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE" or event == "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE" or event == "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE" ) then
168 local _, _, playerName, playerType = string.find(arg1, CT_RABOSS_DEFENDER_PLAGUEREGEXP);
169 if ( playerName ) then
170 if ( playerType == CT_RABOSS_DEFENDER_TYPE_YOU and playerName == CT_RABOSS_DEFENDER_YOU ) then
171 playerName = UnitName("player");
172 CT_RABoss_Announce(string.format(CT_RABOSS_DEFENDER_PLAGUEWARNING, CT_RABOSS_DEFENDER_YOUHAVE));
173 CT_RABoss_Announce(string.format(CT_RABOSS_DEFENDER_PLAGUEWARNING, CT_RABOSS_DEFENDER_YOUHAVE));
174 CT_RABoss_PlaySound(2);
175 else
176 if ( CT_RABoss_Mods["Anubisath Defenders"]["sendPlagueTells"] ) then
177 SendChatMessage(CT_RABOSS_DEFENDER_PLAGUEWARNING_TELL, "WHISPER", nil, playerName);
178 end
179 CT_RABoss_PlaySound(1);
180 CT_RABoss_Announce(string.format(CT_RABOSS_DEFENDER_PLAGUEWARNING, playerName .. CT_RABOSS_DEFENDER_HAS));
181 end
182 if ( CT_RA_Level >= 1 and CT_RABoss_Mods["Anubisath Defenders"]["announce"] ) then
183 CT_RA_AddMessage("MS " .. string.format(CT_RABOSS_DEFENDER_PLAGUEWARNING, playerName .. CT_RABOSS_DEFENDER_HAS));
184 end
185 end
186 end
187 end
188  
189 -- Twin Emperors
190 function CT_RABoss_TwinEmperors_OnLoad()
191 CT_RABoss_AddMod("Twin Emperors", CT_RABOSS_TWINEMPERORS_INFO, 1, CT_RABOSS_LOCATIONS_AHNQIRAJTEMPLE);
192 CT_RABoss_AddEvent("Twin Emperors", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE", CT_RABoss_TwinEmperors_EventHandler);
193 CT_RABoss_AddEvent("Twin Emperors", "CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS", CT_RABoss_TwinEmperors_EventHandler);
194 CT_RABoss_AddDropDownButton("Twin Emperors", { CT_RABOSS_ANNOUNCE, CT_RABOSS_ANNOUNCE_INFO .. CT_RABOSS_REQ_LEADER_OR_PROM }, "CT_RABoss_ModInfo", "announce", "CT_RABoss_SetInfo");
195 CT_RABoss_AddDropDownButton("Twin Emperors", { CT_RABOSS_TWINEMPERORS_EXPLODE, CT_RABOSS_TWINEMPERORS_EXPLODE_INFO }, "CT_RABoss_ModInfo", "explodeBug", "CT_RABoss_SetInfo");
196 CT_RABoss_SetVar("Twin Emperors", "explodeBug", 1);
197 end
198  
199 function CT_RABoss_TwinEmperors_EventHandler(event)
200 if ( not CT_RABoss_Mods["Twin Emperors"] or not CT_RABoss_Mods["Twin Emperors"]["status"] or not CT_RABoss_Mods["Twin Emperors"].enabled ) then
201 return;
202 end
203 if ( event == "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE" ) then
204 if ( not CT_RABoss_Mods["Twin Emperors"]["tripTeleport"] and arg1 == CT_RABOSS_TWINEMPERORS_TELEPORTSTRING_CASTER or arg1 == CT_RABOSS_TWINEMPERORS_TELEPORTSTRING_MELEE ) then
205 CT_RABoss_SetVar("Twin Emperors", "tripTeleport", 1);
206 CT_RABoss_Announce(CT_RABOSS_TWINEMPERORS_TELEPORT, CT_RABoss_Mods["Twin Emperors"]["announce"]);
207 CT_RABoss_Schedule("CT_RABoss_TwinEmperors_EventHandler", 20, "teleport10");
208 CT_RABoss_Schedule("CT_RABoss_TwinEmperors_EventHandler", 25, "teleport5");
209 CT_RABoss_PlaySound(1);
210 end
211 elseif ( event == "CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS" ) then
212 if ( CT_RABoss_Mods["Twin Emperors"]["explodeBug"] and string.find(arg1, CT_RABOSS_TWINEMPERORS_EXPLODEBUGSTRING) ) then
213 CT_RABoss_Announce(CT_RABOSS_TWINEMPERORS_EXPLODEBUGWARNING);
214 CT_RABoss_PlaySound(2);
215 end
216 elseif ( event == "teleport10" ) then
217 CT_RABoss_Announce(string.format(CT_RABOSS_TWINEMPERORS_TELEPORTINC, 10), CT_RABoss_Mods["Twin Emperors"]["announce"]);
218 CT_RABoss_SetVar("Twin Emperors", "tripTeleport", nil);
219 CT_RABoss_PlaySound(3);
220 elseif ( event == "teleport5" ) then
221 CT_RABoss_Announce(string.format(CT_RABOSS_TWINEMPERORS_TELEPORTINC, 5), CT_RABoss_Mods["Twin Emperors"]["announce"]);
222 CT_RABoss_PlaySound(3);
223 end
224 end
225  
226 -- Viscidus
227 function CT_RABoss_Viscidus_OnLoad()
228 CT_RABoss_AddMod("Viscidus", CT_RABOSS_VISCIDUS_INFO, 1, CT_RABOSS_LOCATIONS_AHNQIRAJTEMPLE);
229 CT_RABoss_AddEvent("Viscidus", "CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", CT_RABoss_Viscidus_EventHandler);
230 CT_RABoss_AddEvent("Viscidus", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", CT_RABoss_Viscidus_EventHandler);
231 CT_RABoss_AddEvent("Viscidus", "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", CT_RABoss_Viscidus_EventHandler);
232 CT_RABoss_AddEvent("Viscidus", "CHAT_MSG_MONSTER_EMOTE", CT_RABoss_Viscidus_EventHandler);
233 CT_RABoss_AddDropDownButton("Viscidus", { CT_RABOSS_ANNOUNCE, CT_RABOSS_ANNOUNCE_INFO .. CT_RABOSS_REQ_LEADER_OR_PROM }, "CT_RABoss_ModInfo", "announce", "CT_RABoss_SetInfo");
234 CT_RABoss_AddDropDownButton("Viscidus", { CT_RABOSS_VISCIDUS_CLOUD, CT_RABOSS_VISCIDUS_CLOUD_INFO }, "CT_RABoss_ModInfo", "sendTell", "CT_RABoss_SetInfo");
235 end
236  
237 function CT_RABoss_Viscidus_EventHandler(event)
238 if ( not CT_RABoss_Mods["Viscidus"] or not CT_RABoss_Mods["Viscidus"]["status"] or not CT_RABoss_Mods["Viscidus"].enabled ) then
239 return;
240 end
241 if ( event == "CHAT_MSG_MONSTER_EMOTE" ) then
242 if ( arg1 == CT_RABOSS_VISCIDUS_FREEZE_STRING ) then
243 CT_RABoss_Announce(CT_RABOSS_VISCIDUS_FREEZE_MESSAGE, CT_RABoss_Mods["Viscidus"]["announce"]);
244 end
245 else
246 local _, _, playerName, playerType = string.find(arg1, CT_RABOSS_VISCIDUS_TOXINREGEXP);
247 if ( playerName ) then
248 if ( playerType == CT_RABOSS_VISCIDUS_TYPE_YOU and playerName == CT_RABOSS_VISCIDUS_YOU ) then
249 playerName = UnitName("player");
250 CT_RABoss_Announce(CT_RABOSS_VISCIDUS_TOXIN_WARNING);
251 CT_RABoss_Announce(CT_RABOSS_VISCIDUS_TOXIN_WARNING);
252 CT_RABoss_Announce(CT_RABOSS_VISCIDUS_TOXIN_WARNING);
253 CT_RABoss_PlaySound(2);
254 elseif ( CT_RABoss_Mods["Viscidus"]["sendTell"] ) then
255 SendChatMessage(CT_RABOSS_VISCIDUS_TOXIN_WARNING, "WHISPER", nil, playerName);
256 end
257 end
258 end
259 end
260  
261 --C'Thun
262 function CT_RABoss_CThun_OnLoad()
263 CT_RABoss_AddMod("C'Thun", CT_RABOSS_CTHUN_INFO, 1, CT_RABOSS_LOCATIONS_AHNQIRAJTEMPLE );
264 CT_RABoss_AddEvent("C'Thun", "CHAT_MSG_MONSTER_EMOTE", CT_RABoss_CThun_EventHandler);
265 CT_RABoss_AddEvent("C'Thun", "PLAYER_REGEN_DISABLED", CT_RABoss_CThun_EventHandler);
266 CT_RABoss_AddEvent("C'Thun", "PLAYER_ENTERING_WORLD", CT_RABoss_CThun_EventHandler);
267 CT_RABoss_AddEvent("C'Thun", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE", CT_RABoss_CThun_EventHandler);
268 CT_RABoss_AddDropDownButton("C'Thun", { CT_RABOSS_ANNOUNCE, CT_RABOSS_ANNOUNCE_INFO .. CT_RABOSS_REQ_LEADER_OR_PROM }, "CT_RABoss_ModInfo", "announce", "CT_RABoss_SetInfo");
269 CT_RA_RegisterSlashCmd("/racthunstart", "Type this when you engage C'Thun.", 15, "CTHUNSTART", function()
270 CT_RABoss_Announce(CT_RABOSS_CTHUN_TENT45, CT_RABoss_Mods["C'Thun"]["announce"]);
271 CT_RABoss_Schedule("CT_RABoss_CThun_EventHandler", 40, "tent5");
272 CT_RABoss_Schedule("CT_RABoss_CThun_EventHandler", 45, "glareinc");
273 CT_RABoss_SetVar("C'Thun", "engaged", 1);
274 end, "/racthunstart");
275 end
276  
277 function CT_RABoss_CThun_EventHandler(event)
278 if ( not CT_RABoss_Mods["C'Thun"] or not CT_RABoss_Mods["C'Thun"]["status"] or not CT_RABoss_Mods["C'Thun"].enabled ) then
279 return;
280 end
281 -- This part is for stage 1.
282 if ( event == "PLAYER_REGEN_DISABLED" ) then
283 if ( not CT_RABoss_Mods["C'Thun"]["engaged"] ) then
284 local swapTarget = false;
285 if ( not UnitExists("target") or ( UnitName("target") ~= CT_RABOSS_CTHUN_BOSSNAME_PHASE1 and UnitClass("player") ~= CT_RA_ROGUE ) ) then
286 swapTarget = true;
287 end
288 TargetByName(CT_RABOSS_CTHUN_BOSSNAME_PHASE1);
289 if ( UnitName("target") == CT_RABOSS_CTHUN_BOSSNAME_PHASE1 and UnitAffectingCombat("target") ) then
290 CT_RABoss_Announce(CT_RABOSS_CTHUN_TENT45, CT_RABoss_Mods["C'Thun"]["announce"]);
291 CT_RABoss_Schedule("CT_RABoss_CThun_EventHandler", 35, "tent5");
292 CT_RABoss_Schedule("CT_RABoss_CThun_EventHandler", 45, "glareinc");
293 end
294 if ( swapTarget ) then
295 TargetLastTarget();
296 end
297 CT_RABoss_SetVar("C'Thun", "engaged", 1);
298 end
299 elseif ( event == "PLAYER_ENTERING_WORLD" ) then
300 CT_RABoss_UnSchedule("CT_RABoss_CThun_EventHandler", "glareinc");
301 CT_RABoss_UnSchedule("CT_RABoss_CThun_EventHandler", "glarestop");
302 CT_RABoss_UnSchedule("CT_RABoss_CThun_EventHandler", "tent5");
303 CT_RABoss_UnSchedule("CT_RABoss_CThun_EventHandler", "tentspawn");
304 CT_RABoss_SetVar("C'Thun", "engaged", nil);
305 elseif ( event == "tentspawn" ) then
306 CT_RABoss_Announce(CT_RABOSS_CTHUN_TENTSPAWN, CT_RABoss_Mods["C'Thun"]["announce"]);
307 CT_RABoss_Schedule("CT_RABoss_CThun_EventHandler", 40, "tent5");
308  
309 elseif ( event == "tent5" ) then
310 CT_RABoss_Announce(CT_RABOSS_CTHUN_TENT5, CT_RABoss_Mods["C'Thun"]["announce"]);
311 CT_RABoss_Schedule("CT_RABoss_CThun_EventHandler", 5, "tentspawn");
312  
313 elseif ( event == "glareinc" ) then
314 CT_RABoss_Announce(CT_RABOSS_CTHUN_GLAREINC, CT_RABoss_Mods["C'Thun"]["announce"]);
315 CT_RABoss_Schedule("CT_RABoss_CThun_EventHandler", 5, "glare");
316  
317 elseif ( event == "glare" ) then
318 CT_RABoss_Announce(CT_RABOSS_CTHUN_GLARE, CT_RABoss_Mods["C'Thun"]["announce"]);
319 CT_RABoss_Schedule("CT_RABoss_CThun_EventHandler", 33, "glareincstop");
320  
321 elseif ( event == "glareincstop" ) then
322 CT_RABoss_Announce(CT_RABOSS_CTHUN_GLARESTOPINC, CT_RABoss_Mods["C'Thun"]["announce"]);
323 CT_RABoss_Schedule("CT_RABoss_CThun_EventHandler", 5, "glarestop");
324  
325 elseif ( event == "glarestop" ) then
326 CT_RABoss_Announce(CT_RABOSS_CTHUN_GLARESTOP, CT_RABoss_Mods["C'Thun"]["announce"]);
327 CT_RABoss_Schedule("CT_RABoss_CThun_EventHandler", 42, "glareinc");
328  
329 -- This part is for stage 2.
330 elseif ( event == "CHAT_MSG_MONSTER_EMOTE" and arg2 == CT_RABOSS_CTHUN_BOSSNAME_PHASE2 ) then
331 if ( arg1 == CT_RABOSS_CTHUN_WEAKENED ) then
332 CT_RABoss_Announce(CT_RABOSS_CTHUN_VULNERABLE45, CT_RABoss_Mods["C'Thun"]["announce"]);
333 CT_RABoss_Schedule("CT_RABoss_CThun_EventHandler", 35, "weakened10");
334 end
335  
336 elseif (event == "weakened10" ) then
337 CT_RABoss_Announce(CT_RABOSS_CTHUN_INVULNERABLE10, CT_RABoss_Mods["C'Thun"]["announce"]);
338 CT_RABoss_Schedule("CT_RABoss_CThun_EventHandler", 10, "invuln");
339  
340 elseif (event == "invuln" ) then
341 CT_RABoss_Announce(CT_RABOSS_CTHUN_INVULN, CT_RABoss_Mods["C'Thun"]["announce"]);
342 end
343 end
344  
345 -- Buru the Gorger
346 function CT_RABoss_Buru_OnLoad()
347 CT_RABoss_AddMod("Buru the Gorger", CT_RABOSS_BURU_INFO, 1, CT_RABOSS_LOCATIONS_AHNQIRAJRUINS );
348 CT_RABoss_AddEvent("Buru the Gorger", "CHAT_MSG_MONSTER_EMOTE", CT_RABoss_Buru_EventHandler);
349 CT_RABoss_AddDropDownButton("Buru the Gorger", { CT_RABOSS_ANNOUNCE, CT_RABOSS_ANNOUNCE_INFO .. CT_RABOSS_REQ_LEADER_OR_PROM }, "CT_RABoss_ModInfo", "announce", "CT_RABoss_SetInfo");
350 CT_RABoss_AddDropDownButton("Buru the Gorger", { CT_RABOSS_BURU_TELL_TARGET, CT_RABOSS_BURU_TELL_TARGET_INFO }, "CT_RABoss_ModInfo", "sendTell", "CT_RABoss_SetInfo");
351 end
352  
353 function CT_RABoss_Buru_EventHandler(event)
354 if ( not CT_RABoss_Mods["Buru the Gorger"] or not CT_RABoss_Mods["Buru the Gorger"]["status"] or not CT_RABoss_Mods["Buru the Gorger"].enabled ) then
355 return;
356 end
357 if ( event == "CHAT_MSG_MONSTER_EMOTE" ) then
358 local _, _, sPlayer = string.find(arg1, CT_RABOSS_BURU_EYEREGEXP);
359 if ( sPlayer ) then
360 local playerName = UnitName("player");
361 CT_RABoss_Announce(string.format(CT_RABOSS_BURU_EYEWARNING, sPlayer), CT_RABoss_Mods["Buru the Gorger"]["announce"]);
362 if ( sPlayer ~= playerName and CT_RABoss_Mods["Buru the Gorger"]["sendTell"] ) then
363 SendChatMessage(CT_RABOSS_BURU_EYEWARNING_YOU, "WHISPER", nil, sPlayer);
364 elseif ( sPlayer == playerName ) then
365 CT_RABoss_PlaySound(2);
366 end
367 end
368 end
369 end
370  
371 -- Ayamiss the Hunter
372 function CT_RABoss_Ayamiss_OnLoad()
373 CT_RABoss_AddMod("Ayamiss the Hunter", CT_RABOSS_AYAMISS_INFO, 1, CT_RABOSS_LOCATIONS_AHNQIRAJRUINS );
374 CT_RABoss_AddEvent("Ayamiss the Hunter", "CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", CT_RABoss_Ayamiss_EventHandler);
375 CT_RABoss_AddEvent("Ayamiss the Hunter", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", CT_RABoss_Ayamiss_EventHandler);
376 CT_RABoss_AddEvent("Ayamiss the Hunter", "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", CT_RABoss_Ayamiss_EventHandler);
377 CT_RABoss_AddDropDownButton("Ayamiss the Hunter", { CT_RABOSS_ANNOUNCE, CT_RABOSS_ANNOUNCE_INFO .. CT_RABOSS_REQ_LEADER_OR_PROM }, "CT_RABoss_ModInfo", "announce", "CT_RABoss_SetInfo");
378 end
379  
380  
381 function CT_RABoss_Ayamiss_EventHandler(event)
382 if ( not CT_RABoss_Mods["Ayamiss the Hunter"] or not CT_RABoss_Mods["Ayamiss the Hunter"]["status"] or not CT_RABoss_Mods["Ayamiss the Hunter"].enabled ) then
383 return;
384 end
385 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
386 local _, _, sPlayer,sType = string.find(arg1, CT_RABOSS_AYAMISS_SACRIFICEREGEXP);
387 if ( sPlayer and sType ) then
388 if ( sPlayer == CT_RABOSS_AYAMISS_SELF_MATCH1 and sType == CT_RABOSS_AYAMISS_SELF_MATCH2 ) then
389 sPlayer = UnitName("player");
390 end
391 CT_RABoss_PlaySound(1);
392 CT_RABoss_Announce(format(CT_RABOSS_AYAMISS_WARNING, sPlayer), CT_RABoss_Mods["Ayamiss the Hunter"]["announce"]);
393 end
394 end
395 end
396  
397 -- Ossirian the Unscarred
398 function CT_RABoss_Ossirian_OnLoad()
399 CT_RABoss_AddMod("Ossirian the Unscarred", CT_RABOSS_OSSIRIAN_INFO, 1, CT_RABOSS_LOCATIONS_AHNQIRAJRUINS );
400 CT_RABoss_AddEvent("Ossirian the Unscarred", "CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS", CT_RABoss_Ossirian_EventHandler);
401 CT_RABoss_AddEvent("Ossirian the Unscarred", "CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE", CT_RABoss_Ossirian_EventHandler);
402 CT_RABoss_AddEvent("Ossirian the Unscarred", "CHAT_MSG_MONSTER_YELL", CT_RABoss_Ossirian_EventHandler);
403 CT_RABoss_AddDropDownButton("Ossirian the Unscarred", { CT_RABOSS_ANNOUNCE, CT_RABOSS_ANNOUNCE_INFO .. CT_RABOSS_REQ_LEADER_OR_PROM }, "CT_RABoss_ModInfo", "announce", "CT_RABoss_SetInfo");
404 CT_RABoss_AddDropDownButton("Ossirian the Unscarred", { CT_RABOSS_OSSIRIAN_DISPLAYWEAKNESSES, CT_RABOSS_OSSIRIAN_DISPLAYWEAKNESSES_INFO }, "CT_RABoss_ModInfo", "displayWeakness", "CT_RABoss_SetInfo");
405 CT_RABoss_SetVar("Ossirian the Unscarred", "displayWeakness", 1);
406 end
407  
408 function CT_RABoss_Ossirian_EventHandler(event)
409 if ( not CT_RABoss_Mods["Ossirian the Unscarred"] or not CT_RABoss_Mods["Ossirian the Unscarred"]["status"] or not CT_RABoss_Mods["Ossirian the Unscarred"].enabled ) then
410 return;
411 end
412 if ( event == "CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS" ) then
413 if ( arg1 == CT_RABOSS_OSSIRIAN_SUPREMEBUFF ) then
414 CT_RABoss_Announce(CT_RABOSS_OSSIRIAN_SUPREMEBUFFWARNING, CT_RABoss_Mods["Ossirian the Unscarred"]["announce"]);
415 CT_RABoss_PlaySound(1);
416 end
417 elseif ( event == "CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE" ) then
418 if ( CT_RABoss_Mods["Ossirian the Unscarred"]["displayWeakness"] ) then
419 local _, _, debuffName = string.find(arg1, CT_RABOSS_OSSIRIAN_DEBUFFREGEXP);
420 if ( debuffName ) then
421 CT_RABoss_Announce(format(CT_RABOSS_OSSIRIAN_WEAKNESS, strupper(debuffName)), CT_RABoss_Mods["Ossirian the Unscarred"]["announce"]);
422 CT_RABoss_UnSchedule("CT_RABoss_Ossirian_EventHandler", "debuffFade5");
423 CT_RABoss_UnSchedule("CT_RABoss_Ossirian_EventHandler", "debuffFade15");
424 CT_RABoss_Schedule("CT_RABoss_Ossirian_EventHandler", 40, "debuffFade5");
425 CT_RABoss_Schedule("CT_RABoss_Ossirian_EventHandler", 30, "debuffFade15");
426 CT_RABoss_PlaySound(2);
427 end
428 end
429 elseif ( event == "CHAT_MSG_MONSTER_YELL" ) then
430 if ( arg1 == CT_RABOSS_OSSIRIAN_DEATH ) then
431 CT_RABoss_UnSchedule("CT_RABoss_Ossirian_EventHandler", "debuffFade5");
432 CT_RABoss_UnSchedule("CT_RABoss_Ossirian_EventHandler", "debuffFade15");
433 end
434 elseif ( event == "debuffFade15" ) then
435 CT_RABoss_Announce(string.format(CT_RABOSS_OSSIRIAN_DEBUFFFADE, 15), CT_RABoss_Mods["Ossirian the Unscarred"]["announce"]);
436 CT_RABoss_PlaySound(3);
437 elseif ( event == "debuffFade5" ) then
438 CT_RABoss_Announce(string.format(CT_RABOSS_OSSIRIAN_DEBUFFFADE, 5), CT_RABoss_Mods["Ossirian the Unscarred"]["announce"]);
439 CT_RABoss_PlaySound(3);
440 end
441 end
442  
443 -- General Rajaxx
444 function CT_RABoss_Rajaxx_OnLoad()
445 CT_RABoss_AddMod("General Rajaxx", CT_RABOSS_RAJAXX_INFO, 1, CT_RABOSS_LOCATIONS_AHNQIRAJRUINS );
446 CT_RABoss_AddEvent("General Rajaxx", "CHAT_MSG_MONSTER_YELL", CT_RABoss_Rajaxx_EventHandler);
447 CT_RABoss_AddDropDownButton("General Rajaxx", { CT_RABOSS_ANNOUNCE, CT_RABOSS_ANNOUNCE_INFO .. CT_RABOSS_REQ_LEADER_OR_PROM }, "CT_RABoss_ModInfo", "announce", "CT_RABoss_SetInfo");
448 end
449  
450 function CT_RABoss_Rajaxx_EventHandler(event)
451 if ( not CT_RABoss_Mods["General Rajaxx"] or not CT_RABoss_Mods["General Rajaxx"]["status"] or not CT_RABoss_Mods["General Rajaxx"].enabled ) then
452 return;
453 end
454 if ( arg2 == CT_RABOSS_RAJAXX_LIEUTENANT or arg2 == CT_RABOSS_RAJAXX_GENERAL ) then
455 if ( arg1 == CT_RABOSS_RAJAXX_WAVE1 ) then
456 CT_RABoss_Announce(string.format(CT_RABOSS_RAJAXX_INCOMINGWAVE, 1), CT_RABoss_Mods["General Rajaxx"]["announce"]);
457 elseif ( arg1 == CT_RABOSS_RAJAXX_WAVE3 ) then
458 CT_RABoss_Announce(string.format(CT_RABOSS_RAJAXX_INCOMINGWAVE, 3), CT_RABoss_Mods["General Rajaxx"]["announce"]);
459 elseif ( arg1 == CT_RABOSS_RAJAXX_WAVE4 ) then
460 CT_RABoss_Announce(string.format(CT_RABOSS_RAJAXX_INCOMINGWAVE, 4), CT_RABoss_Mods["General Rajaxx"]["announce"]);
461 elseif ( arg1 == CT_RABOSS_RAJAXX_WAVE5 ) then
462 CT_RABoss_Announce(string.format(CT_RABOSS_RAJAXX_INCOMINGWAVE, 5), CT_RABoss_Mods["General Rajaxx"]["announce"]);
463 elseif ( arg1 == CT_RABOSS_RAJAXX_WAVE6 ) then
464 CT_RABoss_Announce(string.format(CT_RABOSS_RAJAXX_INCOMINGWAVE, 6), CT_RABoss_Mods["General Rajaxx"]["announce"]);
465 elseif ( arg1 == CT_RABOSS_RAJAXX_WAVE7 ) then
466 CT_RABoss_Announce(string.format(CT_RABOSS_RAJAXX_INCOMINGWAVE, 7), CT_RABoss_Mods["General Rajaxx"]["announce"]);
467 elseif ( arg1 == CT_RABOSS_RAJAXX_WAVE8 ) then
468 CT_RABoss_Announce(CT_RABOSS_RAJAXX_FINALWAVE, CT_RABoss_Mods["General Rajaxx"]["announce"]);
469 end
470 elseif ( arg2 == CT_RABOSS_RAJAXX_TUUBID ) then
471 local _, _, playerName = string.find(arg1, CT_RABOSS_RAJAXX_TUUBID_REGEXP);
472 if ( playerName ) then
473 if ( playerName == UnitName("player") ) then
474 CT_RABoss_Announce(string.format(CT_RABOSS_RAJAXX_HEALTARGET, CT_RABOSS_RAJAXX_YOURSELF));
475 CT_RABoss_Announce(string.format(CT_RABOSS_RAJAXX_HEALTARGET, CT_RABOSS_RAJAXX_YOURSELF));
476 CT_RABoss_PlaySound(2);
477 else
478 CT_RABoss_Announce(string.format(CT_RABOSS_RAJAXX_HEALTARGET, playerName));
479 CT_RABoss_PlaySound(3);
480 end
481 if ( CT_RA_Level >= 1 and CT_RABoss_Mods["General Rajaxx"]["announce"] ) then
482 CT_RA_AddMessage("MS " .. string.format(CT_RABOSS_RAJAXX_HEALTARGET, playerName));
483 end
484 end
485 end
486 end
487  
488 -- Moam
489 function CT_RABoss_Moam_OnLoad()
490 CT_RABoss_AddMod("Moam", CT_RABOSS_MOAM_INFO, 1, CT_RABOSS_LOCATIONS_AHNQIRAJRUINS );
491 CT_RABoss_AddEvent("Moam", "CHAT_MSG_MONSTER_EMOTE", CT_RABoss_Moam_EventHandler);
492 CT_RABoss_AddEvent("Moam", "CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS", CT_RABoss_Moam_EventHandler);
493 CT_RABoss_AddDropDownButton("Moam", { CT_RABOSS_ANNOUNCE, CT_RABOSS_ANNOUNCE_INFO .. CT_RABOSS_REQ_LEADER_OR_PROM }, "CT_RABoss_ModInfo", "announce", "CT_RABoss_SetInfo");
494 end
495  
496 function CT_RABoss_Moam_EventHandler(event)
497 if ( not CT_RABoss_Mods["Moam"] or not CT_RABoss_Mods["Moam"]["status"] or not CT_RABoss_Mods["Moam"].enabled ) then
498 return;
499 end
500 if ( event == "CHAT_MSG_MONSTER_EMOTE" ) then
501 if ( arg1 == CT_RABOSS_MOAM_FEAR ) then
502 CT_RABoss_Announce(CT_RABOSS_MOAM_ENGAGE, CT_RABoss_Mods["Moam"]["announce"]);
503 CT_RABoss_Schedule("CT_RABoss_Moam_EventHandler", 60, "adds30");
504 elseif ( arg1 == CT_RABOSS_MOAM_STONE ) then
505 CT_RABoss_Announce(CT_RABOSS_MOAM_ADDS, CT_RABoss_Mods["Moam"]["announce"]);
506 CT_RABoss_Schedule("CT_RABoss_Moam_EventHandler", 75, "return15");
507 end
508 elseif ( event == "CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS" ) then
509 if ( string.find(arg1, CT_RABOSS_MOAM_RETURNREGEXP) ) then
510 CT_RABoss_Announce(CT_RABOSS_MOAM_RETURN, CT_RABoss_Mods["Moam"]["announce"]);
511 CT_RABoss_UnSchedule("CT_RABoss_Moam_EventHandler", "adds30");
512 CT_RABoss_UnSchedule("CT_RABoss_Moam_EventHandler", "adds15");
513 CT_RABoss_UnSchedule("CT_RABoss_Moam_EventHandler", "adds5");
514 CT_RABoss_UnSchedule("CT_RABoss_Moam_EventHandler", "return15");
515 end
516 elseif ( event == "adds30" ) then
517 CT_RABoss_Announce(string.format(CT_RABOSS_MOAM_ADDSINC, 30), CT_RABoss_Mods["Moam"]["announce"]);
518 CT_RABoss_Schedule("CT_RABoss_Moam_EventHandler", 15, "adds15");
519 elseif ( event == "adds15" ) then
520 CT_RABoss_Announce(string.format(CT_RABOSS_MOAM_ADDSINC, 15), CT_RABoss_Mods["Moam"]["announce"]);
521 CT_RABoss_Schedule("CT_RABoss_Moam_EventHandler", 5, "adds5");
522 elseif ( event == "adds5" ) then
523 CT_RABoss_Announce(string.format(CT_RABOSS_MOAM_ADDSINC, 5), CT_RABoss_Mods["Moam"]["announce"]);
524 elseif ( event == "return15" ) then
525 CT_RABoss_Announce(string.format(CT_RABOSS_MOAM_RETURNINC, 15), CT_RABoss_Mods["Moam"]["announce"]);
526 end
527 end
528  
529 -- Anubisath Guardians
530 function CT_RABoss_Guardian_OnLoad()
531 CT_RABoss_AddMod("Anubisath Guardians", CT_RABOSS_DEFENDER_INFO, 1, CT_RABOSS_LOCATIONS_AHNQIRAJRUINS);
532 CT_RABoss_AddEvent("Anubisath Guardians", "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE", CT_RABoss_Guardian_EventHandler);
533 CT_RABoss_AddEvent("Anubisath Guardians", "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE", CT_RABoss_Guardian_EventHandler);
534 CT_RABoss_AddEvent("Anubisath Guardians", "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE", CT_RABoss_Guardian_EventHandler);
535 CT_RABoss_AddEvent("Anubisath Guardians", "CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS", CT_RABoss_Guardian_EventHandler);
536 CT_RABoss_AddEvent("Anubisath Guardians", "CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", CT_RABoss_Guardian_EventHandler);
537 CT_RABoss_AddEvent("Anubisath Guardians", "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", CT_RABoss_Guardian_EventHandler);
538 CT_RABoss_AddEvent("Anubisath Guardians", "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", CT_RABoss_Guardian_EventHandler);
539 CT_RABoss_AddDropDownButton("Anubisath Guardians", { CT_RABOSS_ANNOUNCE, CT_RABOSS_ANNOUNCE_INFO .. CT_RABOSS_REQ_LEADER_OR_PROM }, "CT_RABoss_ModInfo", "announce", "CT_RABoss_SetInfo");
540 CT_RABoss_AddDropDownButton("Anubisath Guardians", { CT_RABOSS_DEFENDER_PLAGUETELL, CT_RABOSS_DEFENDER_PLAGUETELL_INFOM }, "CT_RABoss_ModInfo", "sendPlagueTells", "CT_RABoss_SetInfo");
541 end
542  
543  
544 function CT_RABoss_Guardian_EventHandler(event)
545 if ( not CT_RABoss_Mods["Anubisath Guardians"] or not CT_RABoss_Mods["Anubisath Guardians"]["status"] or not CT_RABoss_Mods["Anubisath Guardians"].enabled ) then
546 return;
547 end
548  
549 if ( event == "CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS" ) then
550 if ( arg1 == CT_RABOSS_GUARDIAN_EXPLODESTRING ) then
551 CT_RABoss_Announce(CT_RABOSS_DEFENDER_EXPLODING, CT_RABoss_Mods["Anubisath Guardians"]["announce"]);
552 elseif ( arg1 == CT_RABOSS_GUARDIAN_ENRAGESTRING ) then
553 CT_RABoss_Announce(CT_RABOSS_DEFENDER_ENRAGING, CT_RABoss_Mods["Anubisath Guardians"]["announce"]);
554 end
555 elseif ( event == "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE" or event == "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE" or event == "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE") then
556 if ( string.find(arg1, CT_RABOSS_GUARDIAN_THUNDERCLAPSTRING) ) then
557 CT_RABoss_Announce(CT_RABOSS_GUARDIAN_THUNDERCLAP, CT_RABoss_Mods["Anubisath Guardians"]["announce"]);
558 end
559 elseif ( event == "CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE" or event == "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE" or event == "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE" ) then
560 local _, _, playerName, playerType = string.find(arg1, CT_RABOSS_DEFENDER_PLAGUEREGEXP);
561 if ( playerName ) then
562 if ( playerType == CT_RABOSS_DEFENDER_TYPE_YOU and playerName == CT_RABOSS_DEFENDER_YOU ) then
563 playerName = UnitName("player");
564 CT_RABoss_Announce(string.format(CT_RABOSS_DEFENDER_PLAGUEWARNING, CT_RABOSS_DEFENDER_YOUHAVE));
565 CT_RABoss_Announce(string.format(CT_RABOSS_DEFENDER_PLAGUEWARNING, CT_RABOSS_DEFENDER_YOUHAVE));
566 CT_RABoss_PlaySound(2);
567 else
568 if ( CT_RABoss_Mods["Anubisath Guardians"]["sendPlagueTells"] ) then
569 SendChatMessage(CT_RABOSS_DEFENDER_PLAGUEWARNING_TELL, "WHISPER", nil, playerName);
570 end
571 CT_RABoss_PlaySound(1);
572 end
573 if ( CT_RA_Level >= 1 and CT_RABoss_Mods["Anubisath Guardians"]["announce"] ) then
574 CT_RA_AddMessage("MS " .. string.format(CT_RABOSS_DEFENDER_PLAGUEWARNING, playerName .. CT_RABOSS_DEFENDER_HAS));
575 end
576 end
577 end
578 end