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_Razorgore_OnLoad");
2  
3 function CT_RABoss_Razorgore_OnLoad()
4 CT_RABoss_AddMod("Razorgore", "Displays warnings for the razorgore encounter.", 1, CT_RABOSS_LOCATIONS_BLACKWINGSLAIR);
5 CT_RABoss_AddEvent("Razorgore", "CHAT_MSG_MONSTER_YELL", CT_RABoss_Razorgore_EventHandler);
6 CT_RABoss_AddEvent("Razorgore", "CHAT_MSG_MONSTER_EMOTE", CT_RABoss_Razorgore_EventHandler);
7  
8 CT_RABoss_AddDropDownButton("Razorgore", { CT_RABOSS_ANNOUNCE, CT_RABOSS_ANNOUNCE_INFO .. CT_RABOSS_REQ_LEADER_OR_PROM }, "CT_RABoss_ModInfo", "announce", "CT_RABoss_SetInfo");
9 CT_RABoss_AddDropDownButton("Razorgore", "Display approximately how many eggs should be popped", "CT_RABoss_ModInfo", "displayapproxprogress", "CT_RABoss_SetInfo");
10 CT_RABoss_AddDropDownButton("Razorgore", "Announce approximate progress to raid", "CT_RABoss_ModInfo", "announceapproxprogress", "CT_RABoss_SetInfo");
11 end
12  
13 function CT_RABoss_Razorgore_EventHandler(event)
14 if ( not CT_RABoss_Mods["Razorgore"] or not CT_RABoss_Mods["Razorgore"]["status"] or not CT_RABoss_Mods["Razorgore"].enabled ) then
15 return;
16 end
17 if ( event == "CHAT_MSG_MONSTER_YELL" and string.find(arg1, "breached the hatchery") ) then
18 CT_RABoss_Razorgore_StartEncounter();
19 elseif ( event == "CHAT_MSG_MONSTER_YELL" and string.find(arg1, "device shall never torment me") ) then
20 -- CT_RABoss_Announce("Failed attempt", CT_RABoss_Mods["Razorgore"]["announce"]);
21 CT_RABoss_Razorgore_StopWarnings();
22 elseif ( event == "CHAT_MSG_MONSTER_EMOTE" and string.find(arg1, "controlling power of the orb is drained") ) then
23 CT_RABoss_Announce("All eggs popped!", CT_RABoss_Mods["Razorgore"]["announce"]);
24 CT_RABoss_Razorgore_StopWarnings();
25 end
26 end
27  
28 function CT_RABoss_Razorgore_StartEncounter()
29 DEFAULT_CHAT_FRAME:AddMessage("Razorgore encounter started, use /rabrr to reset the timers.");
30 CT_RABoss_Announce("*** ATTACK THE ORB CONTROLLER! ENCOUNTER STARTED! ***", CT_RABoss_Mods["Razorgore"]["announce"])
31  
32 --Timex:AddSchedule("MyAddOn", 5, nil, nil, ace.print, ace, "Hello World!")
33 Timex:AddSchedule("CT_RABoss_Razorgore_A", 45, nil, nil, CT_RABoss_Razorgore_WarningA);
34 Timex:AddSchedule("CT_RABoss_Razorgore_WarningsStart", 63, nil, nil, CT_RABoss_Razorgore_StartWarnings);
35 -- Timex:AddSchedule("CT_RABoss_Razorgore_3", 78, nil, nil, CT_RABoss_Razorgore_Warning);
36 -- Timex:AddSchedule("CT_RABoss_Razorgore_4", 93, nil, nil, CT_RABoss_Razorgore_Warning);
37 -- Timex:AddSchedule("CT_RABoss_Razorgore_5", 108, nil, nil, CT_RABoss_Razorgore_Warning);
38 Timex:AddSchedule("CT_RABoss_Razorgore_B", 123, nil, nil, CT_RABoss_Razorgore_WarningB);
39 -- Timex:AddSchedule("CT_RABoss_Razorgore_7", 138, nil, nil, CT_RABoss_Razorgore_Warning);
40 -- Timex:AddSchedule("CT_RABoss_Razorgore_8", 153, nil, nil, CT_RABoss_Razorgore_Warning);
41 -- Timex:AddSchedule("CT_RABoss_Razorgore_9", 168, nil, nil, CT_RABoss_Razorgore_Warning);
42 Timex:AddSchedule("CT_RABoss_Razorgore_C", 183, nil, nil, CT_RABoss_Razorgore_WarningC);
43 -- Timex:AddSchedule("CT_RABoss_Razorgore_11", 198, nil, nil, CT_RABoss_Razorgore_Warning);
44 -- Timex:AddSchedule("CT_RABoss_Razorgore_12", 213, nil, nil, CT_RABoss_Razorgore_Warning);
45 -- Timex:AddSchedule("CT_RABoss_Razorgore_13", 228, nil, nil, CT_RABoss_Razorgore_Warning);
46 Timex:AddSchedule("CT_RABoss_Razorgore_D", 243, nil, nil, CT_RABoss_Razorgore_WarningD);
47 -- Timex:AddSchedule("CT_RABoss_Razorgore_15", 258, nil, nil, CT_RABoss_Razorgore_Warning);
48 -- Timex:AddSchedule("CT_RABoss_Razorgore_16", 273, nil, nil, CT_RABoss_Razorgore_Warning);
49 -- Timex:AddSchedule("CT_RABoss_Razorgore_17", 288, nil, nil, CT_RABoss_Razorgore_Warning);
50 Timex:AddSchedule("CT_RABoss_Razorgore_E", 303, nil, nil, CT_RABoss_Razorgore_WarningE);
51 -- Timex:AddSchedule("CT_RABoss_Razorgore_19", 318, nil, nil, CT_RABoss_Razorgore_Warning);
52 Timex:AddSchedule("CT_RABoss_Razorgore_F", 333, nil, nil, CT_RABoss_Razorgore_WarningF);
53 -- Timex:AddSchedule("CT_RABoss_Razorgore_21", 348, nil, nil, CT_RABoss_Razorgore_Warning);
54 Timex:AddSchedule("CT_RABoss_Razorgore_G", 363, nil, nil, CT_RABoss_Razorgore_WarningG);
55 end
56  
57 function CT_RABoss_Razorgore_StartWarnings()
58 CT_RABoss_Razorgore_Warning();
59 Timex:AddSchedule("CT_RABoss_Razorgore_Spawns", 15, true, nil, CT_RABoss_Razorgore_Warning);
60 end
61  
62 function CT_RABoss_Razorgore_Warning()
63 CT_RABoss_Announce("*** Spawns in 2 seconds ***", CT_RABoss_Mods["Razorgore"]["announce"]);
64 end
65  
66  
67 function CT_RABoss_Razorgore_WarningA()
68 CT_RABoss_Announce("*** Get into Position - Spawns in 5 seconds ***", CT_RABoss_Mods["Razorgore"]["announce"]);
69 end
70  
71 function CT_RABoss_Razorgore_WarningB()
72 if (CT_RABoss_Mods["Razorgore"]["displayapproxprogress"]) then
73 CT_RABoss_Announce("(hopefully 9 eggs down)", CT_RABoss_Mods["Razorgore"]["announceapproxprogress"]);
74 end
75 end
76  
77 function CT_RABoss_Razorgore_WarningC()
78 if (CT_RABoss_Mods["Razorgore"]["displayapproxprogress"]) then
79 CT_RABoss_Announce("(hopefully 14 eggs down)", CT_RABoss_Mods["Razorgore"]["announceapproxprogress"]);
80 end
81 end
82  
83 function CT_RABoss_Razorgore_WarningD()
84 if (CT_RABoss_Mods["Razorgore"]["displayapproxprogress"]) then
85 CT_RABoss_Announce("(hopefully 19 eggs down)", CT_RABoss_Mods["Razorgore"]["announceapproxprogress"]);
86 end
87 end
88  
89 function CT_RABoss_Razorgore_WarningE()
90 if (CT_RABoss_Mods["Razorgore"]["displayapproxprogress"]) then
91 CT_RABoss_Announce("(hopefully 24 eggs down)", CT_RABoss_Mods["Razorgore"]["announceapproxprogress"]);
92 end
93 end
94  
95 function CT_RABoss_Razorgore_WarningF()
96 if (CT_RABoss_Mods["Razorgore"]["displayapproxprogress"]) then
97 CT_RABoss_Announce("(hopefully 27 eggs down)", CT_RABoss_Mods["Razorgore"]["announceapproxprogress"]);
98 end
99 end
100  
101 function CT_RABoss_Razorgore_WarningG()
102 if (CT_RABoss_Mods["Razorgore"]["displayapproxprogress"]) then
103 CT_RABoss_Announce("(hopefully Razorgore up - 30 eggs down)", CT_RABoss_Mods["Razorgore"]["announce"]);
104 end
105 end
106  
107 function CT_RABoss_Razorgore_StopWarnings()
108 CT_RABoss_Announce("Razorgore encounter timers reset");
109 DEFAULT_CHAT_FRAME:AddMessage("Razorgore encounter timers reset");
110  
111 Timex:DeleteSchedule("CT_RABoss_Razorgore_A");
112 Timex:DeleteSchedule("CT_RABoss_Razorgore_B");
113 Timex:DeleteSchedule("CT_RABoss_Razorgore_C");
114 Timex:DeleteSchedule("CT_RABoss_Razorgore_D");
115 Timex:DeleteSchedule("CT_RABoss_Razorgore_E");
116 Timex:DeleteSchedule("CT_RABoss_Razorgore_F");
117 Timex:DeleteSchedule("CT_RABoss_Razorgore_G");
118 Timex:DeleteSchedule("CT_RABoss_Razorgore_WarningsStart");
119 Timex:DeleteSchedule("CT_RABoss_Razorgore_Spawns");
120 end
121  
122 -- Slash command to start the timers
123 CT_RA_RegisterSlashCmd("/rabossrazorgorestart", "Starts the razorgore timers", 15, "RABOSSRAZORGORESTART", function(msg)
124 CT_RABoss_Razorgore_StartEncounter();
125 end, "/rabrs");
126  
127 -- Slash command to reset the timers
128 CT_RA_RegisterSlashCmd("/rabossrazorgorereset", "Resets the razorgore timers", 15, "RABOSSRAZORGORERESET", function(msg)
129 CT_RABoss_Razorgore_StopWarnings();
130 end, "/rabrr");