vanilla-wow-addons – Blame information for rev 1
?pathlinks?
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 | SA_STR_PROVERB = "In girum imus nocte et consumimur igni" |
||
9 | |||
10 | SALimits = { |
||
11 | ["size"] = {min = 1, max = 50}, |
||
12 | ["lines"] = {min = 1, max = 20}, |
||
13 | ["space"] = {min = 0, max = 100}, |
||
14 | ["holdTime"] = {min = 0, max = 5}, |
||
15 | ["fadeTime"] = {min = 0, max = 5}, |
||
16 | }; |
||
17 | |||
18 | local tmpVars = {}; |
||
19 | |||
20 | local SADefaults = {}; |
||
21 | SADefaults[0] = {}; -- Damage |
||
22 | SADefaults[0].r = 1; |
||
23 | SADefaults[0].g = 0; |
||
24 | SADefaults[0].b = 0; |
||
25 | SADefaults[0].to = false; |
||
26 | SADefaults[0].on = true; |
||
27 | SADefaults[0].short = false; |
||
28 | SADefaults[0].alert = 1; |
||
29 | SADefaults[0].shortstr = ">>$s ($m)"; |
||
30 | |||
31 | SADefaults[1] = {}; -- Healing |
||
32 | SADefaults[1].r = 1; |
||
33 | SADefaults[1].g = 1; |
||
34 | SADefaults[1].b = 0; |
||
35 | SADefaults[1].to = false; |
||
36 | SADefaults[1].on = true; |
||
37 | SADefaults[1].short = false; |
||
38 | SADefaults[1].alert = 1; |
||
39 | SADefaults[1].shortstr = "**$s ($m)"; |
||
40 | |||
41 | SADefaults[2] = {}; -- Buff-gain |
||
42 | SADefaults[2].r = 0; |
||
43 | SADefaults[2].g = 0; |
||
44 | SADefaults[2].b = 1; |
||
45 | SADefaults[2].to = false; |
||
46 | SADefaults[2].on = true; |
||
47 | SADefaults[2].short = false; |
||
48 | SADefaults[2].alert = 1; |
||
49 | SADefaults[2].shortstr = "++$s ($m)"; |
||
50 | |||
51 | SADefaults[3] = {}; -- Buff-gone |
||
52 | SADefaults[3].r = 0.1; |
||
53 | SADefaults[3].g = 0.3; |
||
54 | SADefaults[3].b = 1; |
||
55 | SADefaults[3].to = false; |
||
56 | SADefaults[3].on = true; |
||
57 | SADefaults[3].short = false; |
||
58 | SADefaults[3].alert = 1; |
||
59 | SADefaults[3].shortstr = "--$s ($m)"; |
||
60 | |||
61 | SADefaults[4] = {}; -- Totem |
||
62 | SADefaults[4].r = 0.5; |
||
63 | SADefaults[4].g = 0.5; |
||
64 | SADefaults[4].b = 0.5; |
||
65 | SADefaults[4].to = false; |
||
66 | SADefaults[4].on = true; |
||
67 | SADefaults[4].short = false; |
||
68 | SADefaults[4].alert = 1; |
||
69 | SADefaults[4].shortstr = "$s Totem ($m)"; |
||
70 | |||
71 | SADefaults[5] = {}; -- Mob Emote |
||
72 | SADefaults[5].r = 1; |
||
73 | SADefaults[5].g = 0.6; |
||
74 | SADefaults[5].b = 0; |
||
75 | SADefaults[5].to = false; |
||
76 | SADefaults[5].on = true; |
||
77 | SADefaults[5].short = false; |
||
78 | SADefaults[5].alert = 1; |
||
79 | SADefaults[5].shortstr = "$s"; |
||
80 | |||
81 | SADefaults[6] = {}; -- Periodic |
||
82 | SADefaults[6].r = 1; |
||
83 | SADefaults[6].g = 1; |
||
84 | SADefaults[6].b = 1; |
||
85 | SADefaults[6].to = false; |
||
86 | SADefaults[6].on = true; |
||
87 | SADefaults[6].short = false; |
||
88 | SADefaults[6].alert = 1; |
||
89 | SADefaults[6].shortstr = "$s ($m)"; |
||
90 | |||
91 | SADefaults[7] = {}; -- Istant |
||
92 | SADefaults[7].r = 1; |
||
93 | SADefaults[7].g = 1; |
||
94 | SADefaults[7].b = 1; |
||
95 | SADefaults[7].to = false; |
||
96 | SADefaults[7].on = true; |
||
97 | SADefaults[7].short = false; |
||
98 | SADefaults[7].alert = 1; |
||
99 | SADefaults[7].shortstr = "^^$s ($m)"; |
||
100 | |||
101 | SADefaults[8] = {}; -- Crowd Control |
||
102 | SADefaults[8].r = 0; |
||
103 | SADefaults[8].g = 1; |
||
104 | SADefaults[8].b = 0; |
||
105 | SADefaults[8].to = false; |
||
106 | SADefaults[8].on = true; |
||
107 | SADefaults[8].short = false; |
||
108 | SADefaults[8].alert = 1; |
||
109 | SADefaults[8].shortstr = "<<$s ($m)"; |
||
110 | |||
111 | SADefaults[9] = {}; -- Misc |
||
112 | SADefaults[9].r = 1; |
||
113 | SADefaults[9].g = 1; |
||
114 | SADefaults[9].b = 1; |
||
115 | SADefaults[9].to = false; |
||
116 | SADefaults[9].on = true; |
||
117 | SADefaults[9].short = false; |
||
118 | SADefaults[9].alert = 1; |
||
119 | SADefaults[9].shortstr = ">>$s ($m)"; |
||
120 | |||
121 | SADefaults.on = true; |
||
122 | SADefaults.offonrest = false; |
||
123 | |||
124 | SADefaults.alert1 = {}; |
||
125 | SADefaults.alert1.outline = ""; |
||
126 | SADefaults.alert1.size = 30; |
||
127 | SADefaults.alert1.holdTime = 3; |
||
128 | SADefaults.alert1.fadeTime = 3; |
||
129 | SADefaults.alert1.top = 0; |
||
130 | SADefaults.alert1.left = 0; |
||
131 | SADefaults.alert1.lines = 1; |
||
132 | SADefaults.alert1.alpha = 1; |
||
133 | SADefaults.alert1.font = "Fonts\\FRIZQT__.TTF"; |
||
134 | SADefaults.alert1.space = 0; |
||
135 | |||
136 | SADefaults.alert2 = {}; |
||
137 | SADefaults.alert2.outline = ""; |
||
138 | SADefaults.alert2.size = 30; |
||
139 | SADefaults.alert2.holdTime = 3; |
||
140 | SADefaults.alert2.fadeTime = 3; |
||
141 | SADefaults.alert2.top = 0; |
||
142 | SADefaults.alert2.left = 0; |
||
143 | SADefaults.alert2.lines = 1; |
||
144 | SADefaults.alert2.alpha = 1; |
||
145 | SADefaults.alert2.font = "Fonts\\FRIZQT__.TTF"; |
||
146 | SADefaults.alert2.space = 0; |
||
147 | |||
148 | SADefaults.alert3 = {}; |
||
149 | SADefaults.alert3.outline = ""; |
||
150 | SADefaults.alert3.size = 30; |
||
151 | SADefaults.alert3.holdTime = 3; |
||
152 | SADefaults.alert3.fadeTime = 3; |
||
153 | SADefaults.alert3.top = 0; |
||
154 | SADefaults.alert3.left = 0; |
||
155 | SADefaults.alert3.lines = 1; |
||
156 | SADefaults.alert3.alpha = 1; |
||
157 | SADefaults.alert3.font = "Fonts\\FRIZQT__.TTF"; |
||
158 | SADefaults.alert3.space = 0; |
||
159 | |||
160 | -- -------------- -- |
||
161 | -- Init Functions -- |
||
162 | -- -------------- -- |
||
163 | |||
164 | function SA_OnLoad() |
||
165 | |||
166 | -- SPELLCASTGOOTHER = "%s casts %s."; |
||
167 | |||
168 | MarsMessageParser_RegisterFunction("SpellAlert", SPELLCASTOTHERSTART, SA_BeginsToCast); -- "%s begins to cast %s." |
||
169 | MarsMessageParser_RegisterFunction("SpellAlert", SPELLPERFORMOTHERSTART, SA_BeginsToPerform); -- "%s begins to perform %s." |
||
170 | MarsMessageParser_RegisterFunction("SpellAlert", SPELLCASTGOOTHERTARGETTED, SA_CastsOn); -- "%s casts %s on %s." |
||
171 | MarsMessageParser_RegisterFunction("SpellAlert", POWERGAINOTHEROTHER, SA_GainsFrom); -- "%s gains %d %s from %s's %s." |
||
172 | MarsMessageParser_RegisterFunction("SpellAlert", AURAAPPLICATIONADDEDOTHERHELPFUL, SA_GainsX); -- "%s gains %s (%d)." |
||
173 | MarsMessageParser_RegisterFunction("SpellAlert", AURAADDEDOTHERHELPFUL, SA_Gains); -- "%s gains %s." |
||
174 | MarsMessageParser_RegisterFunction("SpellAlert", AURAREMOVEDOTHER, SA_FadesFrom); -- "%s fades from %s." |
||
175 | |||
176 | this:RegisterEvent("PLAYER_ENTERING_WORLD"); |
||
177 | this:RegisterEvent("PARTY_MEMBERS_CHANGED"); |
||
178 | this:RegisterEvent("PLAYER_TARGET_CHANGED"); |
||
179 | this:RegisterEvent("RAID_ROSTER_UPDATE"); |
||
180 | this:RegisterEvent("VARIABLES_LOADED"); |
||
181 | |||
182 | this:RegisterEvent("CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE"); |
||
183 | this:RegisterEvent("CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF"); |
||
184 | this:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS"); |
||
185 | this:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_BUFFS"); |
||
186 | this:RegisterEvent("CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE"); |
||
187 | this:RegisterEvent("CHAT_MSG_SPELL_HOSTILEPLAYER_BUFF"); |
||
188 | this:RegisterEvent("CHAT_MSG_SPELL_AURA_GONE_OTHER"); |
||
189 | this:RegisterEvent("CHAT_MSG_MONSTER_EMOTE"); |
||
190 | |||
191 | SA_Reset(); |
||
192 | |||
193 | SlashCmdList["SpellAlertCOMMAND"] = SA_Handler; |
||
194 | SLASH_SpellAlertCOMMAND1 = "/spellalert"; |
||
195 | DEFAULT_CHAT_FRAME:AddMessage("|c0000FF00SpellAlert|r 1.11.8. Type /spellalert for options."); |
||
196 | end |
||
197 | |||
198 | function SA_Reset() |
||
199 | SAVars = SADefaults; |
||
200 | end |
||
201 | |||
202 | function SA_SAVarsIntegrityCheck() |
||
203 | |||
204 | tmpVars = {}; |
||
205 | |||
206 | if (type(SAVars) ~= "table") then |
||
207 | SA_Reset(); |
||
208 | else |
||
209 | for currentNode in SADefaults do |
||
210 | SA_CheckNode(SADefaults, SAVars, currentNode, tmpVars); |
||
211 | end |
||
212 | SAVars = tmpVars; |
||
213 | end |
||
214 | end |
||
215 | |||
216 | function SA_CheckNode(masterParent, slaveParent, node, tmpTable) |
||
217 | local master = masterParent[node]; |
||
218 | local slave = slaveParent[node]; |
||
219 | |||
220 | if (type(master) ~= type(slave)) then |
||
221 | tmpTable[node] = master; |
||
222 | |||
223 | elseif (type(master) == "table") then |
||
224 | tmpTable[node] = {}; |
||
225 | for currentNode in master do |
||
226 | SA_CheckNode(master, slave, currentNode, tmpTable[node]); |
||
227 | end |
||
228 | |||
229 | elseif (SALimits[node] and ((slave < SALimits[node].min) or (slave > SALimits[node].max))) then |
||
230 | tmpTable[node] = master; |
||
231 | |||
232 | else |
||
233 | tmpTable[node] = slave; |
||
234 | end |
||
235 | end |