vanilla-wow-addons – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 --[[
2 SpellAlert (modified again)
3 Author:______Sent
4 Thanks:______Awen_(Original_Author)
5 _____________Mithryn_(versions_up_to_1.65)
6 ]]
7  
8 -- ----------------- --
9 -- Slashcmd function --
10 -- ----------------- --
11  
12 function SA_GetCmd(msg)
13 if (msg) then
14 local a,b,c=strfind(msg, "(%S+)");
15 if (a) then
16 return c, SA_GetCmd(strsub(msg, b+2));
17 else
18 return "", "";
19 end
20 end
21 end
22  
23 function SA_Handler(msg)
24 local arg1, arg2, arg3 = SA_GetCmd(msg);
25  
26 -- Alert Type
27 if ((arg1 == "0") or (arg1 == "1") or (arg1 == "2") or (arg1 == "3") or (arg1 == "4") or
28 (arg1 == "5") or (arg1 == "6") or (arg1 == "7") or (arg1 == "8") or (arg1 == "9")) then
29 if (arg2 == "to") then
30 if (SAVars[tonumber(arg1)].to) then
31 SAVars[tonumber(arg1)].to = false;
32 DEFAULT_CHAT_FRAME:AddMessage("|c00FF0000SpellAlert|r "..arg1.." TargetOnly now |c00FF0000[OFF]");
33 else
34 SAVars[tonumber(arg1)].to = true;
35 DEFAULT_CHAT_FRAME:AddMessage("|c00FF0000SpellAlert|r "..arg1.." TargetOnly now |c000000FF[ON]");
36 end
37 elseif (arg2 == "short") then
38 if (SAVars[tonumber(arg1)].short) then
39 SAVars[tonumber(arg1)].short = false;
40 DEFAULT_CHAT_FRAME:AddMessage("|c00FF0000SpellAlert|r "..arg1.." Short Alert now |c00FF0000[OFF]");
41 else
42 SAVars[tonumber(arg1)].short = true;
43 DEFAULT_CHAT_FRAME:AddMessage("|c00FF0000SpellAlert|r "..arg1.." Short Alert now |c000000FF[ON]");
44 end
45 elseif (arg2 == "goto") then
46 arg3 = tonumber(arg3);
47 if (type(arg3) == "number") then
48 SAVars[tonumber(arg1)].alert = arg3;
49 DEFAULT_CHAT_FRAME:AddMessage("|c00FF0000SpellAlert|r "..arg1.." bound to alert"..arg3);
50 else
51 DEFAULT_CHAT_FRAME:AddMessage("|c00FF0000NOT A NUMBER!");
52 end
53 elseif (arg2 == "on") then
54 SAVars[tonumber(arg1)].on = true;
55 DEFAULT_CHAT_FRAME:AddMessage("|c00FF0000SpellAlert|r "..arg1.." now |c000000FF[ON]");
56 elseif (arg2 == "off") then
57 SAVars[tonumber(arg1)].on = false;
58 DEFAULT_CHAT_FRAME:AddMessage("|c00FF0000SpellAlert|r "..arg1.." now |c00FF0000[OFF]");
59 end
60  
61 -- AlertFrames
62 elseif ((arg1 == "alert1") or (arg1 == "alert2") or (arg1 == "alert3")) then
63 local anum = gsub(arg1, "alert", "");
64 local saDrag = getglobal("SA_Drag"..anum);
65 local smf = getglobal("SA_SMF"..anum);
66  
67 if (arg2 == "lock") then
68 if (saDrag:IsVisible()) then
69 SAVars[arg1].top = saDrag:GetTop();
70 SAVars[arg1].left = saDrag:GetLeft();
71 saDrag:Hide();
72 else
73 saDrag:Show();
74 end
75  
76 elseif (arg2 == "ht") then
77 arg3 = tonumber(arg3);
78 if (type(arg3) == "number") then
79 if ((arg3 < 0) or (arg3 > 5)) then
80 DEFAULT_CHAT_FRAME:AddMessage("|c00FF0000 HoldTime must be 0<=>5");
81 else
82 SAVars[arg1].holdTime = arg3;
83 SA_SMF_UpdateLook(anum);
84 DEFAULT_CHAT_FRAME:AddMessage("|c0000FF00SpellAlert|r Alert"..anum.." HoldTime set to "..arg3);
85 end
86 else
87 DEFAULT_CHAT_FRAME:AddMessage("|c00FF0000NOT A NUMBER!");
88 end
89  
90 elseif (arg2 == "ft") then
91 arg3 = tonumber(arg3);
92 if (type(arg3) == "number") then
93 if ((arg3 < 0) or (arg3 > 5)) then
94 DEFAULT_CHAT_FRAME:AddMessage("|c00FF0000 FadeTime must be 0<=>5");
95 else
96 SAVars[arg1].fadeTime = arg3;
97 SA_SMF_UpdateLook(anum);
98 DEFAULT_CHAT_FRAME:AddMessage("|c0000FF00SpellAlert|r Alert"..anum.." FadeTime set to "..arg3);
99 end
100 else
101 DEFAULT_CHAT_FRAME:AddMessage("|c00FF0000NOT A NUMBER!");
102 end
103  
104 elseif (arg2 == "alpha") then
105 arg3 = tonumber(arg3);
106 if (type(arg3) == "number") then
107 if ((arg3 < 0) or (arg3 > 1)) then
108 DEFAULT_CHAT_FRAME:AddMessage("|c00FF0000 Alpha must be 0<=>1");
109 else
110 SAVars[arg1].alpha = arg3;
111 SA_SMF_UpdateLook(anum);
112 DEFAULT_CHAT_FRAME:AddMessage("|c0000FF00SpellAlert|r Alert"..anum.." alpha set to "..arg3);
113 end
114 else
115 DEFAULT_CHAT_FRAME:AddMessage("|c00FF0000NOT A NUMBER!");
116 end
117  
118 elseif (arg2 == "lines") then
119 arg3 = tonumber(arg3);
120 if (type(arg3) == "number") then
121 if ((arg3 < 1) or (arg3 > 20)) then
122 DEFAULT_CHAT_FRAME:AddMessage("|c00FF0000 Lines number must be 1<=>20");
123 else
124 SAVars[arg1].lines = arg3;
125 SA_SMF_UpdateLook(anum);
126 DEFAULT_CHAT_FRAME:AddMessage("|c0000FF00SpellAlert|r Alert"..anum.." Lines number set to "..arg3);
127 end
128 else
129 DEFAULT_CHAT_FRAME:AddMessage("|c00FF0000NOT A NUMBER!");
130 end
131  
132 elseif (arg2 == "size") then
133 arg3 = tonumber(arg3);
134 if (type(arg3) == "number") then
135 if ((arg3 < 1) or (arg3 > 50)) then
136 DEFAULT_CHAT_FRAME:AddMessage("|c00FF0000 Text Size must be 1<=>50");
137 else
138 SAVars[arg1].size = arg3;
139 SA_SMF_UpdateLook(anum);
140 DEFAULT_CHAT_FRAME:AddMessage("|c0000FF00SpellAlert|r Alert"..anum.." Text Size set to "..arg3);
141 end
142 else
143 DEFAULT_CHAT_FRAME:AddMessage("|c00FF0000NOT A NUMBER!");
144 end
145 end
146  
147 -- General
148 elseif (arg1 == "on") then
149 SAVars.on = true;
150 DEFAULT_CHAT_FRAME:AddMessage("|c0000FF00SpellAlert|r now |c000000FF[ON]");
151  
152 elseif (arg1 == "off") then
153 SAVars.on = false;
154 DEFAULT_CHAT_FRAME:AddMessage("|c0000FF00SpellAlert|r now |c00FF0000[OFF]");
155  
156 elseif (arg1 == "offonrest") then
157 if (SAVars.offonrest) then
158 SAVars.offonrest = false;
159 DEFAULT_CHAT_FRAME:AddMessage("|c0000FF00SpellAlert|r Auto turn-off while resting now |c00FF0000[OFF]");
160 else
161 SAVars.offonrest = true;
162 DEFAULT_CHAT_FRAME:AddMessage("|c0000FF00SpellAlert|r Auto turn-off while resting now |c000000FF[ON]");
163 end
164  
165 elseif (arg1 == "reset") then
166 SA_Reset();
167 for i = 1, 3 do
168 getglobal("SA_Drag"..i):ClearAllPoints();
169 getglobal("SA_Drag"..i):SetPoint("CENTER", UIParent, "CENTER", SAVars["alert"..i].left, SAVars["alert"..i].top);
170 end
171 DEFAULT_CHAT_FRAME:AddMessage("|c0000FF00SpellAlert|r Resetting Options to Default");
172  
173 elseif (arg1 == "") then
174 if (not IsAddOnLoaded("SpellAlertOptions")) then
175 UIParentLoadAddOn("SpellAlertOptions");
176 end
177 if (IsAddOnLoaded("SpellAlertOptions")) then
178 if (SAO_MainFrame:IsVisible()) then
179 SAO_MainFrame:Hide()
180 else
181 SAO_MainFrame:Show()
182 end
183 end
184  
185 elseif (arg1 == "help") then
186 SA_DisplayHelp();
187  
188 else
189 SA_DisplayHelp();
190 end
191 end
192  
193 function SA_DisplayHelp()
194 DEFAULT_CHAT_FRAME:AddMessage("|c0000FF00SpellAlert|r /commands list");
195 DEFAULT_CHAT_FRAME:AddMessage("*Alert types numbers, to = TargetOnly");
196 DEFAULT_CHAT_FRAME:AddMessage("0 {on|off|to|short} -- dmg");
197 DEFAULT_CHAT_FRAME:AddMessage("1 {on|off|to|short} -- heal");
198 DEFAULT_CHAT_FRAME:AddMessage("2 {on|off|to|short} -- buff-gain");
199 DEFAULT_CHAT_FRAME:AddMessage("3 {on|off|to|short} -- buff-gone");
200 DEFAULT_CHAT_FRAME:AddMessage("4 {on|off|to|short} -- totem");
201 DEFAULT_CHAT_FRAME:AddMessage("5 {on|off|to|short} -- emote");
202 DEFAULT_CHAT_FRAME:AddMessage("6 {on|off|to|short} -- periodic");
203 DEFAULT_CHAT_FRAME:AddMessage("7 {on|off|to|short} -- istant");
204 DEFAULT_CHAT_FRAME:AddMessage("8 {on|off|to|short} -- DONT WORK!");
205 DEFAULT_CHAT_FRAME:AddMessage("9 {on|off|to|short} -- DONT WORK!");
206 DEFAULT_CHAT_FRAME:AddMessage("ex. /spellalert 6 off");
207 DEFAULT_CHAT_FRAME:AddMessage("*Alerts opts, ht = HoldTime, ft = FadeTime");
208 DEFAULT_CHAT_FRAME:AddMessage("lock -- Toggle dragging");
209 DEFAULT_CHAT_FRAME:AddMessage("ht num -- min:0 max:5");
210 DEFAULT_CHAT_FRAME:AddMessage("ft num -- min:0 max:5");
211 DEFAULT_CHAT_FRAME:AddMessage("size num -- min:1 max:50");
212 DEFAULT_CHAT_FRAME:AddMessage("lines num -- min:1 max:20");
213 DEFAULT_CHAT_FRAME:AddMessage("alpha num -- min:0 max:1");
214 DEFAULT_CHAT_FRAME:AddMessage("ex. /spellalert alert1 ht 1");
215 DEFAULT_CHAT_FRAME:AddMessage("*General Options");
216 DEFAULT_CHAT_FRAME:AddMessage("on -- Turn SpellAlert on");
217 DEFAULT_CHAT_FRAME:AddMessage("off -- Turn SpellAlert off");
218 DEFAULT_CHAT_FRAME:AddMessage("offonrest -- Auto turn-off while resting");
219 DEFAULT_CHAT_FRAME:AddMessage("reset -- Reset Settings to Default");
220 end