vanilla-wow-addons – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 CT_RelocateTooltip = 0;
2  
3 reloadfunction = function ()
4 ConsoleExec("reloadui");
5 CT_Print("<CTMod> "..CT_MASTERMOD_WARNING_RELOAD, 1, 1, 0);
6 end
7  
8 resetfunction = function()
9 CT_Print("<CTMod> "..CT_MASTERMOD_WARNING_RESET, 1, 1, 0);
10 end
11  
12 CT_RegisterMod(CT_MASTERMOD_MODNAME_RESET, "", 5, "Interface\\Icons\\Spell_Frost_WindWalkOn", CT_MASTERMOD_TOOLTIP_RESET, "switch", "", resetfunction);
13 CT_RegisterMod(CT_MASTERMOD_MODNAME_RELOAD, "", 5, "Interface\\Icons\\Ability_Whirlwind", CT_MASTERMOD_TOOLTIP_RELOAD, "switch", "", reloadfunction);
14  
15 SlashCmdList["RESETOPTIONS"] = function(msg)
16 CT_Options[UnitName("player")] = { };
17 CT_Print(CT_MASTERMOD_OPTIONRESET, 1, 1, 0);
18 end
19  
20 SLASH_RESETOPTIONS1 = "/resetoptions";
21  
22 function CT_QuestTimer_UpdatePosition()
23 if ( CT_BuffFrame and CT_BuffFrame:IsVisible() ) then
24 if ( Minimap:IsVisible() ) then
25 QuestTimerFrame:ClearAllPoints();
26 QuestTimerFrame:SetPoint("CENTER", "MinimapCluster", "LEFT", -50, 0);
27 else
28 QuestTimerFrame:ClearAllPoints();
29 QuestTimerFrame:SetPoint("RIGHT", "MinimapCluster", "RIGHT", -25, 0);
30 end
31 else
32 QuestTimerFrame:ClearAllPoints();
33 QuestTimerFrame:SetPoint("TOP", "MinimapCluster", "BOTTOM", 10, 0);
34 end
35 end
36 CT_QuestTimer_oldToggleMinimap = ToggleMinimap;
37 function CT_QuestTimer_newToggleMinimap()
38 CT_QuestTimer_oldToggleMinimap();
39 CT_QuestTimer_UpdatePosition();
40 end
41 ToggleMinimap = CT_QuestTimer_newToggleMinimap;
42  
43 CT_oldUIParent_ManageRightSideFrames = UIParent_ManageRightSideFrames;
44 function CT_newUIParent_ManageRightSideFrames()
45 CT_oldUIParent_ManageRightSideFrames();
46 CT_QuestTimer_UpdatePosition();
47 end
48 UIParent_ManageRightSideFrames = CT_newUIParent_ManageRightSideFrames;
49  
50 function CT_QuestTimerFrame_OnShow()
51 CT_QuestTimer_UpdatePosition();
52 return;
53 end
54 function CT_QuestTimerFrame_OnHide()
55 return;
56 end
57 -- Redefine how the show/hide happens
58 QuestTimerFrame_OnShow = CT_QuestTimerFrame_OnShow;
59 QuestTimerFrame_OnHide = CT_QuestTimerFrame_OnHide;
60  
61 CT_OldDD_AddButton = UIDropDownMenu_AddButton;
62 function CT_NewDD_AddButton(info, level)
63 if ( not level ) then
64 level = 1;
65 end
66  
67 local listFrame = getglobal("DropDownList"..level);
68 local listFrameName = listFrame:GetName();
69 local index = listFrame.numButtons + 1;
70 local width;
71  
72 -- If too many buttons error out
73 if ( index > UIDROPDOWNMENU_MAXBUTTONS ) then
74 return;
75 end
76 CT_OldDD_AddButton(info, level);
77 end
78  
79 UIDropDownMenu_AddButton = CT_NewDD_AddButton;
80  
81 CT_oldGT_SetDefaultAnchor = GameTooltip_SetDefaultAnchor;
82  
83 function CT_GT_SetDefaultAnchor(tooltip, parent)
84 if ( tooltip == GameTooltip and CT_RelocateTooltip == 1 ) then
85 tooltip:SetOwner(parent, "ANCHOR_NONE");
86 tooltip:ClearAllPoints();
87 tooltip:SetPoint("TOP", "UIParent", "TOP");
88 else
89 CT_oldGT_SetDefaultAnchor(tooltip, parent);
90 end
91 end
92  
93 GameTooltip_SetDefaultAnchor = CT_GT_SetDefaultAnchor;
94  
95 local relocatefunc = function(modId, text)
96 local val = CT_Mods[modId]["modStatus"];
97 if ( val == "on" ) then
98 CT_RelocateTooltip = 1;
99 CT_Print("<CTMod> "..CT_MASTERMOD_ON_RELOCATETT, 1, 1, 0);
100 else
101 CT_RelocateTooltip = 0;
102 CT_Print("<CTMod> "..CT_MASTERMOD_OFF_RELOCATETT, 1, 1, 0);
103 end
104 end
105  
106 local relocateinitfunc = function(modId)
107 local val = CT_Mods[modId]["modStatus"];
108 if ( val == "on" ) then
109 CT_RelocateTooltip = 1;
110 else
111 CT_RelocateTooltip = 0;
112 end
113 end
114 CT_RegisterMod(CT_MASTERMOD_MODNAME_RELOCATETT, CT_MASTERMOD_SUBNAME_RELOCATETT, 5, "Interface\\Icons\\INV_Misc_Map_01", CT_MASTERMOD_TOOLTIP_RELOCATETT, "off", nil, relocatefunc, relocateinitfunc);
115  
116 CT_MasterMod_TimestampInitFunc = function(modId)
117 local val = CT_Mods[modId]["modValue"];
118 if ( val == "12h" ) then
119 for i = 1, 7, 1 do
120 CT_BarMod_OriginalChatHandlers[i] = getglobal("ChatFrame" .. i).AddMessage;
121 getglobal("ChatFrame" .. i).AddMessage = function(self, msg, r, g, b)
122 if ( msg ) then
123 CT_BarMod_OriginalChatHandlers[i](self, "[" .. tonumber(date("%I")) .. date(":%M") .. "] " .. msg, r, g, b);
124 else
125 CT_BarMod_OriginalChatHandlers[i](self, msg, r, g, b);
126 end
127 end
128 end
129 elseif ( val == "24h" ) then
130 for i = 1, 7, 1 do
131 CT_BarMod_OriginalChatHandlers[i] = getglobal("ChatFrame" .. i).AddMessage;
132 getglobal("ChatFrame" .. i).AddMessage = function(self, msg, r, g, b)
133 if ( msg ) then
134 CT_BarMod_OriginalChatHandlers[i](self, "[" .. date("%H:%M") .. "] " .. msg, r, g, b);
135 else
136 CT_BarMod_OriginalChatHandlers[i](self, msg, r, g, b);
137 end
138 end
139 end
140 elseif ( val == "12hs" ) then
141 for i = 1, 7, 1 do
142 CT_BarMod_OriginalChatHandlers[i] = getglobal("ChatFrame" .. i).AddMessage;
143 getglobal("ChatFrame" .. i).AddMessage = function(self, msg, r, g, b)
144 if ( msg ) then
145 CT_BarMod_OriginalChatHandlers[i](self, "[" .. tonumber(date("%I")) .. date(":%M:%S") .. "] " .. msg, r, g, b);
146 else
147 CT_BarMod_OriginalChatHandlers[i](self, msg, r, g, b);
148 end
149 end
150 end
151 elseif ( val == "24hs" ) then
152 for i = 1, 7, 1 do
153 CT_BarMod_OriginalChatHandlers[i] = getglobal("ChatFrame" .. i).AddMessage;
154 getglobal("ChatFrame" .. i).AddMessage = function(self, msg, r, g, b)
155 if ( msg ) then
156 CT_BarMod_OriginalChatHandlers[i](self, "[" .. date("%H:%M:%S") .. "] " .. msg, r, g, b);
157 else
158 CT_BarMod_OriginalChatHandlers[i](self, msg, r, g, b);
159 end
160 end
161 end
162 elseif ( val == "Off" ) then
163 for i = 1, 7, 1 do
164 CT_BarMod_OriginalChatHandlers[i] = getglobal("ChatFrame" .. i).AddMessage;
165 end
166 end
167 end
168  
169 CT_BarMod_OriginalChatHandlers = { };
170 local timestampfunc = function(modId, text)
171 if ( getn(CT_BarMod_OriginalChatHandlers) == 0 ) then
172 CT_MasterMod_TimestampInitFunc(modId);
173 end
174 local val = CT_Mods[modId]["modValue"];
175 if ( val == "Off" ) then
176 val = "12h";
177 for i = 1, 7, 1 do
178 getglobal("ChatFrame" .. i).AddMessage = function(self, msg, r, g, b)
179 if ( msg ) then
180 CT_BarMod_OriginalChatHandlers[i](self, "[" .. tonumber(date("%I")) .. date(":%M") .. "] " .. msg, r, g, b);
181 else
182 CT_BarMod_OriginalChatHandlers[i](self, msg, r, g, b);
183 end
184 end
185 end
186 CT_Print("<CTMod> " .. CT_MASTERMOD_12H_TIMESTAMP, 1, 1, 0);
187 elseif ( val == "12h" ) then
188 val = "24h";
189 for i = 1, 7, 1 do
190 getglobal("ChatFrame" .. i).AddMessage = function(self, msg, r, g, b)
191 if ( msg ) then
192 CT_BarMod_OriginalChatHandlers[i](self, "[" .. date("%H:%M") .. "] " .. msg, r, g, b);
193 else
194 CT_BarMod_OriginalChatHandlers[i](self, msg, r, g, b);
195 end
196 end
197 end
198 CT_Print("<CTMod> " .. CT_MASTERMOD_24H_TIMESTAMP, 1, 1, 0);
199 elseif ( val == "24h" ) then
200 val = "12hs";
201 for i = 1, 7, 1 do
202 getglobal("ChatFrame" .. i).AddMessage = function(self, msg, r, g, b)
203 if ( msg ) then
204 CT_BarMod_OriginalChatHandlers[i](self, "[" .. tonumber(date("%I")) .. date(":%M:%S") .. "] " .. msg, r, g, b);
205 else
206 CT_BarMod_OriginalChatHandlers[i](self, msg, r, g, b);
207 end
208 end
209 end
210 CT_Print("<CTMod> " .. CT_MASTERMOD_12HS_TIMESTAMP, 1, 1, 0);
211 elseif ( val == "12hs" ) then
212 val = "24hs";
213 for i = 1, 7, 1 do
214 getglobal("ChatFrame" .. i).AddMessage = function(self, msg, r, g, b)
215 if ( msg ) then
216 CT_BarMod_OriginalChatHandlers[i](self, "[" .. date("%H:%M:%S") .. "] " .. msg, r, g, b);
217 else
218 CT_BarMod_OriginalChatHandlers[i](self, msg, r, g, b);
219 end
220 end
221 end
222 CT_Print("<CTMod> " .. CT_MASTERMOD_24HS_TIMESTAMP, 1, 1, 0);
223 elseif ( val == "24hs" ) then
224 val = "Off";
225 for i = 1, 7, 1 do
226 getglobal("ChatFrame" .. i).AddMessage = CT_BarMod_OriginalChatHandlers[i];
227 end
228 CT_Print("<CTMod> " .. CT_MASTERMOD_OFF_TIMESTAMP, 1, 1, 0);
229 end
230 if ( text ) then text:SetText(val); end
231 CT_Mods[modId]["modValue"] = val;
232 end
233  
234 CT_RegisterMod(CT_MASTERMOD_MODNAME_TIMESTAMP, CT_MASTERMOD_SUBNAME_TIMESTAMP, 5, "Interface\\Icons\\INV_Misc_PocketWatch_03", CT_MASTERMOD_TOOLTIP_TIMESTAMP, "switch", "Off", timestampfunc, CT_MasterMod_TimestampInitFunc);
235  
236 CT_oldSetItemButtonCount = SetItemButtonCount;
237 function CT_newItemButtonCount(button, count)
238 CT_oldSetItemButtonCount(button, count);
239 if ( button and button.count ) then
240 getglobal(button:GetName().."Count"):SetText(button.count);
241 end
242 end
243 SetItemButtonCount = CT_newItemButtonCount;
244  
245 function MasterLockFunction(modId)
246 local val = CT_Mods[modId]["modStatus"];
247 if ( val == "on" ) then
248 CT_LockMovables(1);
249 CT_Print("<CTMod> " .. CT_MASTERMOD_UNLOCKED, 1, 1, 0);
250 else
251 CT_Print("<CTMod> " .. CT_MASTERMOD_LOCKED, 1, 1, 0);
252 CT_LockMovables(nil);
253 end
254 end
255  
256 function MasterLockInitFunction(modId)
257 local val = CT_Mods[modId]["modStatus"];
258 if ( val == "on" ) then
259 CT_MF_ShowFrames = 1;
260 else
261 CT_MF_ShowFrames = nil;
262 end
263 end
264  
265 function MasterResetFunction(modId, text)
266 CT_ResetFrame:Show();
267 if ( text ) then text:SetText(""); end
268 end
269  
270 function CT_MasterMod_OnChatScroll()
271 if ( tonumber(arg1) > 0 ) then
272 if ( CT_Mods[CT_MASTERMOD_MODNAME_SCROLL] and CT_Mods[CT_MASTERMOD_MODNAME_SCROLL]["modValue"] == "3" and IsShiftKeyDown()) then
273 this:ScrollToTop();
274 elseif ( CT_Mods[CT_MASTERMOD_MODNAME_SCROLL] and CT_Mods[CT_MASTERMOD_MODNAME_SCROLL]["modValue"] == "3" and IsControlKeyDown()) then
275 this:PageUp();
276 else
277 this:ScrollUp();
278 end
279 else
280 if ( CT_Mods[CT_MASTERMOD_MODNAME_SCROLL] and CT_Mods[CT_MASTERMOD_MODNAME_SCROLL]["modValue"] == "3" and IsShiftKeyDown()) then
281 this:ScrollToBottom();
282 elseif ( CT_Mods[CT_MASTERMOD_MODNAME_SCROLL] and CT_Mods[CT_MASTERMOD_MODNAME_SCROLL]["modValue"] == "3" and IsControlKeyDown()) then
283 this:PageDown();
284 else
285 this:ScrollDown();
286 end
287 end
288 end
289  
290 local function ChatScrollFunction(modId, text)
291 local val = CT_Mods[modId]["modValue"];
292 if ( val == "1" ) then
293 val = "2";
294 CT_Print(CT_MASTERMOD_CHATSCROLLON, 1, 1, 0);
295 for i = 1, 7, 1 do
296 getglobal("ChatFrame" .. i):SetScript("OnMouseWheel", CT_MasterMod_OnChatScroll);
297 getglobal("ChatFrame" .. i):EnableMouseWheel(true);
298 end
299 elseif ( val == "2" ) then
300 val = "3";
301 CT_Print(CT_MASTERMOD_CHATSCROLLONSHIFT, 1, 1, 0);
302 for i = 1, 7, 1 do
303 getglobal("ChatFrame" .. i):SetScript("OnMouseWheel", CT_MasterMod_OnChatScroll);
304 getglobal("ChatFrame" .. i):EnableMouseWheel(true);
305 end
306 elseif ( val == "3" ) then
307 val = "1";
308 CT_Print(CT_MASTERMOD_CHATSCROLLOFF, 1, 1, 0);
309 for i = 1, 7, 1 do
310 getglobal("ChatFrame" .. i):SetScript("OnMouseWheel", nil);
311 getglobal("ChatFrame" .. i):EnableMouseWheel(false);
312 end
313 end
314 if ( text ) then text:SetText(val); end
315 CT_Mods[modId]["modValue"] = val;
316 end
317  
318 local function ChatScrollInitFunction(modId)
319 local val = CT_Mods[modId]["modValue"];
320 if ( val ~= "1" ) then
321 for i = 1, 7, 1 do
322 getglobal("ChatFrame" .. i):SetScript("OnMouseWheel", CT_MasterMod_OnChatScroll);
323 getglobal("ChatFrame" .. i):EnableMouseWheel(true);
324 end
325 else
326 for i = 1, 7, 1 do
327 getglobal("ChatFrame" .. i):SetScript("OnMouseWheel", nil);
328 getglobal("ChatFrame" .. i):EnableMouseWheel(false);
329 end
330 end
331 end
332  
333 CT_RegisterMod(CT_MASTERMOD_MODNAME_UNLOCK, CT_MASTERMOD_SUBNAME_UNLOCK, 1, "Interface\\Icons\\INV_Misc_Key_03", CT_MASTERMOD_TOOLTIP_UNLOCK, "off", nil, MasterLockFunction, MasterLockInitFunction, 11);
334 CT_RegisterMod(CT_MASTERMOD_MODNAME_RESETFRAMES, CT_MASTERMOD_SUBNAME_RESETFRAMES, 1, "Interface\\Icons\\INV_Misc_Key_04", CT_MASTERMOD_TOOLTIP_RESETFRAMES, "switch", "", MasterResetFunction, nil, 12);
335  
336 CT_RegisterMod(CT_MASTERMOD_MODNAME_SCROLL, "", 5, "Interface\\Icons\\INV_Misc_Key_03", CT_MASTERMOD_TOOLTIP_SCROLL, "switch", "1", ChatScrollFunction, ChatScrollInitFunction);
337  
338 -- Buy full stack when alt-rightclicking an item
339 local CT_MasterMod_oldBuyMerchantItem = BuyMerchantItem;
340 function BuyMerchantItem(id, qty)
341 local maxStack = GetMerchantItemMaxStack(id);
342 local money = GetMoney();
343 local name, texture, price, quantity, numAvailable, isUsable = GetMerchantItemInfo(id);
344  
345 if ( not qty and IsAltKeyDown() ) then
346 if ( maxStack*price > money ) then
347 maxStack = floor(money/price);
348 end
349 CT_MasterMod_oldBuyMerchantItem(id, maxStack);
350 else
351 CT_MasterMod_oldBuyMerchantItem(id, qty);
352 end
353 end
354  
355 --[[
356 function CT_FindTellTarget(text)
357 if ( not text ) then return; end
358 text = strlower(text);
359 -- /tell
360 local iStart, iEnd, nick = string.find(text, "^/tell ([^%s]+)$");
361 if ( iStart and iEnd and nick ) then
362 return nick, "/tell ";
363 end
364  
365 -- /t
366 local iStart, iEnd, nick = string.find(text, "^/t ([^%s]+)$");
367 if ( iStart and iEnd and nick ) then
368 return nick, "/t ";
369 end
370  
371 -- /whisper
372 local iStart, iEnd, nick = string.find(text, "^/whisper ([^%s]+)$");
373 if ( iStart and iEnd and nick ) then
374 return nick, "/whisper ";
375 end
376  
377 -- /w
378 local iStart, iEnd, nick = string.find(text, "^/w ([^%s]+)$");
379 if ( iStart and iEnd and nick ) then
380 return nick, "/w ";
381 end
382  
383 -- No result, return nil
384 return nil;
385 end
386  
387 CT_oldChatEdit_ExtractTellTarget = ChatEdit_ExtractTellTarget;
388 function CT_newChatEdit_ExtractTellTarget(editBox, msg)
389 if ( not this.noParse ) then
390 CT_oldChatEdit_ExtractTellTarget(editBox, msg);
391 else
392 this.noParse = nil;
393 end
394 end
395 ChatEdit_ExtractTellTarget = CT_newChatEdit_ExtractTellTarget;
396  
397 CT_oldChatEdit_OnTextChanged = ChatEdit_OnTextChanged;
398 function CT_newChatEdit_OnTextChanged()
399 CT_oldChatEdit_OnTextChanged();
400  
401 if ( this.hasCompleted ) then
402 this.hasCompleted = nil;
403 return;
404 end
405 if ( this.lastTextLen and strlen(this:GetText()) <= this.lastTextLen ) then
406 this.lastTextLen = strlen(this:GetText());
407 return;
408 end
409  
410 this.noParse = nil;
411 -- Auto Completion
412 local textlen = strlen(this:GetText());
413 this.lastTextLen = textlen;
414  
415 local text, type = CT_FindTellTarget(this:GetText());
416 if ( not text ) then return; end
417  
418 local numFriends = GetNumFriends();
419 local name;
420 if ( numFriends > 0 ) then
421 for i=1, numFriends do
422 name = GetFriendInfo(i);
423 if ( strfind(strlower(name), "^"..text) ) then
424 this.noParse = 1;
425 this:SetText(type .. name);
426 this:HighlightText(textlen, -1);
427 this.hasCompleted = 1;
428 break;
429 end
430 end
431 end
432  
433 -- Hack to scan offline members
434 local oldOffline = GuildFrameLFGButton:GetChecked();
435 SetGuildRosterShowOffline(1);
436  
437 local numGuildMembers = GetNumGuildMembers();
438 if ( numGuildMembers > 0 ) then
439 for i=1, numGuildMembers do
440 name = GetGuildRosterInfo(i);
441 if ( strfind(strlower(name), "^"..text) ) then
442 this.noParse = 1;
443 this:SetText(type .. name);
444 this:HighlightText(textlen, -1);
445 this.hasCompleted = 1;
446 break;
447 end
448 end
449 end
450 this.noParse = nil;
451 SetGuildRosterShowOffline(oldOffline);
452 end
453 ChatEdit_OnTextChanged = CT_newChatEdit_OnTextChanged;
454 ]]