vanilla-wow-addons – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 --[[
2 Healers Assist by Kiki of European Cho'gall (Alliance)
3 Spells Constantes
4 ]]
5  
6 --[[
7 Cast ratio :
8 Instant : 0.429
9 1.5s : 0.429
10 2.0s : 0.571
11 2.5s : 0.714
12 3.0s : 0.857
13 >= 3.5s : 1.0
14  
15 ActualBenefit = AdvertisedBenefit * (CastingTime / 3.5) (CastingTime above 3.5 is ignored for this equation)
16  
17 Level ratio :
18 1 : 0.288
19 2 : 0.3
20 4 : 0.40
21 6 : 0.475
22 8 : 0.55
23 10 : 0.625
24 12 : 0.70
25 14 : 0.775
26 16 : 0.845
27 18 : 0.925
28 >= 20 : 1.0
29  
30 EffectiveBonus = (1-((20-LevelLearnt)*0.0375))*AdvertisedBonus
31 ]]
32  
33 --[[
34 ************* TALENTS *************
35 ]]
36 -- Druid
37 HA_TALENT_GIF_OF_NATURE = 1;
38 HA_TALENT_IMPROVED_REJUVINATION = 2;
39 -- Priest
40 HA_TALENT_SPIRITUAL_HEALING = 11;
41 HA_TALENT_IMPROVED_RENEW = 12;
42 HA_TALENT_SPIRITUAL_GUIDANCE = 13;
43 -- Shaman
44 HA_TALENT_PURIFICATION = 21;
45 -- Paladin
46 HA_TALENT_HEALING_LIGHT = 31;
47  
48 --[[ -- Old code (if talent bonus are applied one after another, and not all at once)
49 HA_Talents = {
50 -- Druid
51 [HA_TALENT_GIF_OF_NATURE] = { rankratio = {[0]=1.00; [1]=1.02; [2]=1.04; [3]=1.06; [4]=1.08; [5]=1.10}; texture="Interface\\Icons\\Spell_Nature_ProtectionformNature" };
52 [HA_TALENT_IMPROVED_REJUVINATION] = { rankratio = {[0]=1.00; [1]=1.05; [2]=1.10; [3]=1.15}; texture="Interface\\Icons\\Spell_Nature_Rejuvenation" };
53 -- Priest
54 [HA_TALENT_SPIRITUAL_HEALING] = { rankratio = {[0]=1.00; [1]=1.02; [2]=1.04; [3]=1.06; [4]=1.08; [5]=1.10}; texture="Interface\\Icons\\Spell_Nature_MoonGlow" };
55 [HA_TALENT_IMPROVED_RENEW] = { rankratio = {[0]=1.00; [1]=1.05; [2]=1.10; [3]=1.15}; texture="Interface\\Icons\\Spell_Holy_Renew" };
56 [HA_TALENT_SPIRITUAL_GUIDANCE] = { spiritratio = {[0]=0.00; [1]=0.05; [2]=0.10; [3]=0.15; [4]=0.20; [5]=0.25}; texture="Interface\\Icons\\Spell_Holy_SpiritualGuidence" };
57 -- Shaman
58 [HA_TALENT_PURIFICATION] = { rankratio = {[0]=1.00; [1]=1.02; [2]=1.04; [3]=1.06; [4]=1.08; [5]=1.10}; texture="Interface\\Icons\\Spell_Frost_WizardMark" };
59 -- Paladin
60 [HA_TALENT_HEALING_LIGHT] = { rankratio = {[0]=1.00; [1]=1.04; [2]=1.08; [3]=1.12}; texture="Interface\\Icons\\Spell_Holy_HolyBolt" };
61 };
62 ]]
63 HA_Talents = {
64 -- Druid
65 [HA_TALENT_GIF_OF_NATURE] = { rankratio = {[0]=0; [1]=0.02; [2]=0.04; [3]=0.06; [4]=0.08; [5]=0.10}; texture="Interface\\Icons\\Spell_Nature_ProtectionformNature" };
66 [HA_TALENT_IMPROVED_REJUVINATION] = { rankratio = {[0]=0.00; [1]=0.05; [2]=0.10; [3]=0.15}; texture="Interface\\Icons\\Spell_Nature_Rejuvenation" };
67 -- Priest
68 [HA_TALENT_SPIRITUAL_HEALING] = { rankratio = {[0]=0.00; [1]=0.02; [2]=0.04; [3]=0.06; [4]=0.08; [5]=0.10}; texture="Interface\\Icons\\Spell_Nature_MoonGlow" };
69 [HA_TALENT_IMPROVED_RENEW] = { rankratio = {[0]=0.00; [1]=0.05; [2]=0.10; [3]=0.15}; texture="Interface\\Icons\\Spell_Holy_Renew" };
70 [HA_TALENT_SPIRITUAL_GUIDANCE] = { spiritratio = {[0]=0.00; [1]=0.05; [2]=0.10; [3]=0.15; [4]=0.20; [5]=0.25}; texture="Interface\\Icons\\Spell_Holy_SpiritualGuidence" };
71 -- Shaman
72 [HA_TALENT_PURIFICATION] = { rankratio = {[0]=0.00; [1]=0.02; [2]=0.04; [3]=0.06; [4]=0.08; [5]=0.10}; texture="Interface\\Icons\\Spell_Frost_WizardMark" };
73 -- Paladin
74 [HA_TALENT_HEALING_LIGHT] = { rankratio = {[0]=0.00; [1]=0.04; [2]=0.08; [3]=0.12}; texture="Interface\\Icons\\Spell_Holy_HolyBolt" };
75 };
76  
77 --[[
78 ************* SPELL FAILURE *************
79 ]]
80  
81 HA_SPELL_FAILED_YOU_ARE_DEAD = 1;
82 HA_SPELL_FAILED_INTERRUPTED = 2;
83 HA_SPELL_FAILED_OUT_OF_SIGHT = 3;
84 HA_SPELL_FAILED_INTERRUPTED2 = 4;
85 HA_SPELL_FAILED_TARGET_IMMUNE = 5;
86 HA_SPELL_FAILED_OUT_OF_RANGE = 6;
87 HA_SPELL_FAILED_TARGET_DIED = 7;
88 HA_SPELL_FAILED_TARGET_HOSTILE = 8;
89  
90  
91 --[[
92 ************* SPELLS *************
93 ]]
94  
95 -- Druid
96 HA_SPELL_FIRST_DRUID = 1;
97 -- Casted
98 HA_SPELL_HEALING_TOUCH = 1;
99 HA_SPELL_REGROWTH = 2;
100 -- Instant
101 HA_SPELL_REJUVENATION = 6;
102 HA_SPELL_REGROWTH_HOT = 7;
103 HA_SPELL_SWIFTMEND = 8;
104 -- Group
105 -- Channel
106 HA_SPELL_TRANQUILITY = 11;
107 -- Other
108 HA_SPELL_INNERVATE = 16;
109 HA_SPELL_REBIRTH = 17;
110 HA_SPELL_REMOVE_CURSE = 18;
111 HA_SPELL_ABOLISH_POISON = 19;
112 HA_SPELL_CURE_POISON = 20;
113  
114 -- Priest
115 HA_SPELL_FIRST_PRIEST = 31;
116 -- Casted
117 HA_SPELL_LESSER_HEAL = 31;
118 HA_SPELL_HEAL = 32;
119 HA_SPELL_FLASH_HEAL = 33;
120 HA_SPELL_GREATER_HEAL = 34;
121 -- Instant
122 HA_SPELL_RENEW = 36;
123 HA_SPELL_CURE_DISEASE = 37;
124 HA_SPELL_ABOLISH_DISEASE = 38;
125 HA_SPELL_DISPEL_MAGIC = 39;
126 -- Group
127 HA_SPELL_PRAYER_OF_HEALING = 41;
128 -- Channel
129 -- Other
130 HA_SPELL_RESURRECTION = 46;
131 HA_SPELL_PWS = 47;
132 HA_SPELL_LIGHTWELL = 48;
133 HA_SPELL_HOLY_NOVA = 49;
134 HA_SPELL_POWER_INFUSION = 50;
135  
136 -- Shaman
137 HA_SPELL_FIRST_SHAMAN = 51;
138 -- Casted
139 HA_SPELL_HEALING_WAVE = 51;
140 HA_SPELL_LESSER_HEALING_WAVE = 52;
141 -- Instant
142 HA_SPELL_PURGE = 55;
143 -- Group
144 HA_SPELL_CHAIN_HEAL = 56;
145 -- Channel
146 -- Other
147 HA_SPELL_REINCARNATION = 61;
148 HA_SPELL_ANCESTRAL_SPIRIT = 62;
149 HA_SPELL_MANA_TIDE = 63;
150  
151 -- Paladin
152 HA_SPELL_FIRST_PALADIN = 71;
153 -- Casted
154 HA_SPELL_HOLY_LIGHT = 71;
155 HA_SPELL_FLASH_OF_LIGHT = 72;
156 -- Instant
157 HA_SPELL_HOLY_SHOCK = 76;
158 -- Group
159 -- Channel
160 -- Other
161 HA_SPELL_DIVINE_INTERVENTION = 81;
162 HA_SPELL_DIVINE_SHIELD = 82;
163 HA_SPELL_REDEMPTION = 83;
164 HA_SPELL_PURIFY = 84;
165 HA_SPELL_CLEANSE = 85;
166 HA_SPELL_LAY_ON_HANDS = 86;
167 HA_SPELL_BLESSING_OF_PROTECTION = 87;
168  
169 HA_Cooldown = {
170 [HA_SPELL_INNERVATE] = { texture="Interface\\Icons\\Spell_Nature_Lightning"; flash_r=1.0; flash_g=0.2; flash_b=0.2; can_request=true },
171 [HA_SPELL_REBIRTH] = { texture="Interface\\Icons\\Spell_Nature_Reincarnation"; flash_r=1.0; flash_g=0.2; flash_b=0.2; can_request=true },
172 [HA_SPELL_DIVINE_INTERVENTION] = { texture="Interface\\Icons\\Spell_Nature_TimeStop"; flash_r=1.0; flash_g=0.2; flash_b=0.2; can_request=true, longrange=true },
173 [HA_SPELL_BLESSING_OF_PROTECTION] = { texture="Interface\\Icons\\Spell_Holy_SealOfProtection"; flash_r=1.0; flash_g=0.2; flash_b=0.2; can_request=true },
174 [HA_SPELL_LIGHTWELL] = { texture="Interface\\Icons\\Spell_Holy_SummonLightwell"; flash_r=1.0; flash_g=0.2; flash_b=0.2; can_request=true; norange=true },
175 [HA_SPELL_REINCARNATION] = { texture="Interface\\Icons\\Spell_Nature_Reincarnation"; flash_r=1.0; flash_g=0.2; flash_b=0.2 },
176 [HA_SPELL_MANA_TIDE] = { texture="Interface\\Icons\\Spell_Frost_SummonWaterElemental"; flash_r=1.0; flash_g=0.2; flash_b=0.2; can_request=true; norange=true },
177 [HA_SPELL_POWER_INFUSION] = { texture="Interface\\Icons\\Spell_Holy_PowerInfusion"; flash_r=1.0; flash_g=0.2; flash_b=0.2; can_request=true },
178 };
179  
180 HA_SpellOvertime = {
181 -- Druid
182 [HA_SPELL_REJUVENATION] = { texture="Interface\\Icons\\Spell_Nature_Rejuvenation"; duration=12 },
183 [HA_SPELL_REGROWTH_HOT] = { texture="Interface\\Icons\\Spell_Nature_ResistNature"; duration=21},
184 [HA_SPELL_ABOLISH_POISON] = {texture="Interface\\Icons\\Spell_Nature_NullifyPoison_02"; duration=8},
185 [HA_SPELL_INNERVATE] = {texture="Interface\\Icons\\Spell_Nature_Lightning"; duration=20},
186 -- Priest
187 [HA_SPELL_RENEW] = {texture="Interface\\Icons\\Spell_Holy_Renew"; duration=15},
188 [HA_SPELL_POWER_INFUSION] = {texture="Interface\\Icons\\Spell_Holy_PowerInfusion"; duration=15},
189 [HA_SPELL_ABOLISH_DISEASE] = {texture="Interface\\Icons\\Spell_Nature_NullifyDisease"; duration=20},
190 -- Paladin
191 [HA_SPELL_DIVINE_INTERVENTION] = {texture="Interface\\Icons\\Spell_Nature_TimeStop"; duration=180},
192 };
193  
194 HA_SpellRanks = {
195 -- Druid
196 -- Casted
197 [HA_SPELL_HEALING_TOUCH] = {
198 [1] = { base=47, castratio=0.429, levelratio=0.288 },
199 [2] = { base=106, castratio=0.571, levelratio=0.55 },
200 [3] = { base=228, castratio=0.714, levelratio=0.775 },
201 [4] = { base=417, castratio=0.857, levelratio=1.0 },
202 [5] = { base=650, castratio=1.0, levelratio=1.0 },
203 [6] = { base=838, castratio=1.0, levelratio=1.0 },
204 [7] = { base=1050, castratio=1.0, levelratio=1.0 },
205 [8] = { base=1339, castratio=1.0, levelratio=1.0 },
206 [9] = { base=1685, castratio=1.0, levelratio=1.0 },
207 [10] = { base=2086, castratio=1.0, levelratio=1.0 },
208 [11] = { base=2472, castratio=1.0, levelratio=1.0 },
209 },
210 [HA_SPELL_REGROWTH] = { -- Only 50% of the bonus because one spell, 2 effects
211 [1] = { base=100, castratio=0.571*0.50, levelratio=0.70 },
212 [2] = { base=188, castratio=0.571*0.50, levelratio=0.925 },
213 [3] = { base=272, castratio=0.571*0.50, levelratio=1.0 },
214 [4] = { base=357, castratio=0.571*0.50, levelratio=1.0 },
215 [5] = { base=451, castratio=0.571*0.50, levelratio=1.0 },
216 [6] = { base=566, castratio=0.571*0.50, levelratio=1.0 },
217 [7] = { base=711, castratio=0.571*0.50, levelratio=1.0 },
218 [8] = { base=887, castratio=0.571*0.50, levelratio=1.0 },
219 [9] = { base=1061, castratio=0.571*0.50, levelratio=1.0 },
220 },
221 -- Instant
222 [HA_SPELL_REJUVENATION] = { -- WHY only 80% of the bonus ??
223 [1] = { base=32, castratio=1.0*0.80, levelratio=0.40 },
224 [2] = { base=56, castratio=1.0*0.80, levelratio=0.625 },
225 [3] = { base=116, castratio=1.0*0.80, levelratio=0.845 },
226 [4] = { base=180, castratio=1.0*0.80, levelratio=1.0 },
227 [5] = { base=244, castratio=1.0*0.80, levelratio=1.0 },
228 [6] = { base=304, castratio=1.0*0.80, levelratio=1.0 },
229 [7] = { base=388, castratio=1.0*0.80, levelratio=1.0 },
230 [8] = { base=488, castratio=1.0*0.80, levelratio=1.0 },
231 [9] = { base=608, castratio=1.0*0.80, levelratio=1.0 },
232 [10] = { base=756, castratio=1.0*0.80, levelratio=1.0 },
233 [11] = { base=888, castratio=1.0*0.80, levelratio=1.0 },
234 },
235 [HA_SPELL_REGROWTH_HOT] = { -- Only 50% of the bonus because one spell, 2 effects
236 [1] = { base=98, castratio=1.0*0.50, levelratio=0.70 },
237 [2] = { base=175, castratio=1.0*0.50, levelratio=0.925 },
238 [3] = { base=259, castratio=1.0*0.50, levelratio=1.0 },
239 [4] = { base=343, castratio=1.0*0.50, levelratio=1.0 },
240 [5] = { base=427, castratio=1.0*0.50, levelratio=1.0 },
241 [6] = { base=546, castratio=1.0*0.50, levelratio=1.0 },
242 [7] = { base=686, castratio=1.0*0.50, levelratio=1.0 },
243 [8] = { base=861, castratio=1.0*0.50, levelratio=1.0 },
244 [9] = { base=1064, castratio=1.0*0.50, levelratio=1.0 },
245 },
246 -- Group
247 -- Channel
248 [HA_SPELL_TRANQUILITY] = {
249 [1] = { base=470, castratio=0.33, levelratio=1.0 },
250 [2] = { base=690, castratio=0.33, levelratio=1.0 },
251 [3] = { base=1025, castratio=0.33, levelratio=1.0 },
252 [4] = { base=1470, castratio=0.33, levelratio=1.0 },
253 },
254  
255 -- Priest
256 -- Casted
257 [HA_SPELL_LESSER_HEAL] = {
258 [1] = { base=52, castratio=0.429, levelratio=0.288 },
259 [2] = { base=83, castratio=0.571, levelratio=0.40 },
260 [3] = { base=154, castratio=0.714, levelratio=0.625 },
261 },
262 [HA_SPELL_HEAL] = {
263 [1] = { base=330, castratio=0.857, levelratio=1.0 },
264 [2] = { base=476, castratio=0.857, levelratio=1.0 },
265 [3] = { base=624, castratio=0.857, levelratio=1.0 },
266 [4] = { base=780, castratio=0.857, levelratio=1.0 },
267 },
268 [HA_SPELL_FLASH_HEAL] = {
269 [1] = { base=224, castratio=0.429, levelratio=1.0 },
270 [2] = { base=297, castratio=0.429, levelratio=1.0 },
271 [3] = { base=372, castratio=0.429, levelratio=1.0 },
272 [4] = { base=453, castratio=0.429, levelratio=1.0 },
273 [5] = { base=583, castratio=0.429, levelratio=1.0 },
274 [6] = { base=722, castratio=0.429, levelratio=1.0 },
275 [7] = { base=901, castratio=0.429, levelratio=1.0 },
276 },
277 [HA_SPELL_GREATER_HEAL] = {
278 [1] = { base=981, castratio=0.857, levelratio=1.0 },
279 [2] = { base=1248, castratio=0.857, levelratio=1.0 },
280 [3] = { base=1556, castratio=0.857, levelratio=1.0 },
281 [4] = { base=1917, castratio=0.857, levelratio=1.0 },
282 [5] = { base=2080, castratio=0.857, levelratio=1.0 },
283 },
284 -- Instant
285 [HA_SPELL_RENEW] = {
286 [1] = { base=45, castratio=1.0, levelratio=0.55 },
287 [2] = { base=100, castratio=1.0, levelratio=0.775 },
288 [3] = { base=175, castratio=1.0, levelratio=1.0 },
289 [4] = { base=245, castratio=1.0, levelratio=1.0 },
290 [5] = { base=315, castratio=1.0, levelratio=1.0 },
291 [6] = { base=400, castratio=1.0, levelratio=1.0 },
292 [7] = { base=510, castratio=1.0, levelratio=1.0 },
293 [8] = { base=650, castratio=1.0, levelratio=1.0 },
294 [9] = { base=810, castratio=1.0, levelratio=1.0 },
295 [10] = { base=970, castratio=1.0, levelratio=1.0 },
296 },
297 -- Group
298 [HA_SPELL_PRAYER_OF_HEALING] = {
299 [1] = { base=322, castratio=0.33, levelratio=1.0 },
300 [2] = { base=472, castratio=0.33, levelratio=1.0 },
301 [3] = { base=694, castratio=0.33, levelratio=1.0 },
302 [4] = { base=965, castratio=0.33, levelratio=1.0 },
303 [5] = { base=1070, castratio=0.33, levelratio=1.0 },
304 },
305 -- Channel
306  
307 -- Shaman
308 -- Casted
309 [HA_SPELL_HEALING_WAVE] = {
310 [1] = { base=41, castratio=0.429, levelratio=0.288 },
311 [2] = { base=76, castratio=0.571, levelratio=0.475 },
312 [3] = { base=149, castratio=0.714, levelratio=0.70 },
313 [4] = { base=303, castratio=0.857, levelratio=0.925 },
314 [5] = { base=421, castratio=0.857, levelratio=1.0 },
315 [6] = { base=595, castratio=0.857, levelratio=1.0 },
316 [7] = { base=816, castratio=0.857, levelratio=1.0 },
317 [8] = { base=1092, castratio=0.857, levelratio=1.0 }, -- To update
318 [9] = { base=1464, castratio=0.857, levelratio=1.0 }, -- To update
319 [10] = { base=1735, castratio=0.857, levelratio=1.0 },
320 },
321 [HA_SPELL_LESSER_HEALING_WAVE] = {
322 [1] = { base=182, castratio=0.429, levelratio=1.0 },
323 [2] = { base=274, castratio=0.429, levelratio=1.0 },
324 [3] = { base=371, castratio=0.429, levelratio=1.0 },
325 [4] = { base=489, castratio=0.429, levelratio=1.0 },
326 [5] = { base=668, castratio=0.429, levelratio=1.0 }, -- To update
327 [6] = { base=880, castratio=0.429, levelratio=1.0 }, -- To update
328 },
329 -- Instant
330 -- Group
331 [HA_SPELL_CHAIN_HEAL] = {
332 [1] = { base=356, castratio=0.714, levelratio=1.0 },
333 [2] = { base=435, castratio=0.714, levelratio=1.0 }, -- To update
334 [3] = { base=590, castratio=0.714, levelratio=1.0 }, -- To update
335 },
336 -- Channel
337  
338 -- Paladin
339 -- Casted
340 [HA_SPELL_HOLY_LIGHT] = {
341 [1] = { base=46, castratio=0.714, levelratio=0.288 },
342 [2] = { base=88, castratio=0.714, levelratio=0.475 },
343 [3] = { base=181, castratio=0.714, levelratio=0.775 },
344 [4] = { base=345, castratio=0.714, levelratio=1.0 },
345 [5] = { base=537, castratio=0.714, levelratio=1.0 },
346 [6] = { base=758, castratio=0.714, levelratio=1.0 },
347 [7] = { base=1022, castratio=0.714, levelratio=1.0 },
348 [8] = { base=1343, castratio=0.714, levelratio=1.0 },
349 [9] = { base=1680, castratio=0.714, levelratio=1.0 },
350 },
351 [HA_SPELL_FLASH_OF_LIGHT] = {
352 [1] = { base=72, castratio=0.429, levelratio=1.0 },
353 [2] = { base=109, castratio=0.429, levelratio=1.0 },
354 [3] = { base=162, castratio=0.429, levelratio=1.0 },
355 [4] = { base=218, castratio=0.429, levelratio=1.0 },
356 [5] = { base=294, castratio=0.429, levelratio=1.0 },
357 [6] = { base=368, castratio=0.429, levelratio=1.0 },
358 },
359 -- Instant
360 [HA_SPELL_HOLY_SHOCK] = {
361 [1] = { base=212, castratio=0.429, levelratio=1.0 },
362 [1] = { base=290, castratio=0.429, levelratio=1.0 },
363 [1] = { base=380, castratio=0.429, levelratio=1.0 },
364 },
365 -- Group
366 -- Channel
367  
368 };
369  
370 HA_SpellTalents = {
371 -- Druid
372 [HA_SPELL_HEALING_TOUCH] = { ratios={HA_TALENT_GIF_OF_NATURE} };
373 [HA_SPELL_REGROWTH] = { ratios={HA_TALENT_GIF_OF_NATURE} };
374 [HA_SPELL_REJUVENATION] = { ratios={HA_TALENT_GIF_OF_NATURE,HA_TALENT_IMPROVED_REJUVINATION} };
375 [HA_SPELL_REGROWTH_HOT] = { ratios={HA_TALENT_GIF_OF_NATURE} };
376 [HA_SPELL_TRANQUILITY] = { ratios={HA_TALENT_GIF_OF_NATURE} };
377 -- Priest
378 [HA_SPELL_LESSER_HEAL] = { ratios={HA_TALENT_SPIRITUAL_HEALING,HA_TALENT_SPIRITUAL_GUIDANCE} };
379 [HA_SPELL_HEAL] = { ratios={HA_TALENT_SPIRITUAL_HEALING,HA_TALENT_SPIRITUAL_GUIDANCE} };
380 [HA_SPELL_FLASH_HEAL] = { ratios={HA_TALENT_SPIRITUAL_HEALING,HA_TALENT_SPIRITUAL_GUIDANCE} };
381 [HA_SPELL_GREATER_HEAL] = { ratios={HA_TALENT_SPIRITUAL_HEALING,HA_TALENT_SPIRITUAL_GUIDANCE} };
382 [HA_SPELL_RENEW] = { ratios={HA_TALENT_SPIRITUAL_HEALING,HA_TALENT_IMPROVED_RENEW,HA_TALENT_SPIRITUAL_GUIDANCE} };
383 [HA_SPELL_PRAYER_OF_HEALING] = { ratios={HA_TALENT_SPIRITUAL_HEALING,HA_TALENT_SPIRITUAL_GUIDANCE} };
384 [HA_SPELL_HOLY_NOVA] = { ratios={HA_TALENT_SPIRITUAL_HEALING,HA_TALENT_SPIRITUAL_GUIDANCE} };
385 -- Shaman
386 [HA_SPELL_HEALING_WAVE] = { ratios={HA_TALENT_PURIFICATION} };
387 [HA_SPELL_LESSER_HEALING_WAVE] = { ratios={HA_TALENT_PURIFICATION} };
388 [HA_SPELL_CHAIN_HEAL] = { ratios={HA_TALENT_PURIFICATION} };
389 -- Paladin
390 [HA_SPELL_HOLY_LIGHT] = { ratios={HA_TALENT_HEALING_LIGHT}; blessing=400};
391 [HA_SPELL_FLASH_OF_LIGHT] = { ratios={HA_TALENT_HEALING_LIGHT}; blessing=115 };
392  
393 };
394  
395 HA_FailReasons = {
396 [HA_SPELL_FAILED_YOU_ARE_DEAD] = SPELL_FAILED_CASTER_DEAD;
397 [HA_SPELL_FAILED_INTERRUPTED] = SPELL_FAILED_INTERRUPTED_COMBAT;
398 [HA_SPELL_FAILED_OUT_OF_SIGHT] = SPELL_FAILED_LINE_OF_SIGHT;
399 [HA_SPELL_FAILED_INTERRUPTED2] = SPELL_FAILED_INTERRUPTED;
400 [HA_SPELL_FAILED_TARGET_IMMUNE] = SPELL_FAILED_IMMUNE;
401 [HA_SPELL_FAILED_OUT_OF_RANGE] = SPELL_FAILED_OUT_OF_RANGE;
402 [HA_SPELL_FAILED_TARGET_DIED] = SPELL_FAILED_TARGETS_DEAD;
403 [HA_SPELL_FAILED_TARGET_HOSTILE] = SPELL_FAILED_TARGET_ENEMY;
404 };
405  
406 -- Spell Functions
407  
408 HA_ISpells = {};
409 HA_ISpellInfos = {};
410  
411 function HA_BuildLocalNames()
412 for name,tab in HA_Spells
413 do
414 HA_ISpells[tab.iname] = name;
415 HA_ISpellInfos[tab.iname] = tab;
416 end
417 for name,tab in HA_InstantSpells
418 do
419 HA_ISpells[tab.iname] = name;
420 HA_ISpellInfos[tab.iname] = tab;
421 end
422 for name,tab in HA_PassiveSpells
423 do
424 HA_ISpells[tab.iname] = name;
425 HA_ISpellInfos[tab.iname] = tab;
426 end
427  
428 HA_INNERVATE = HA_GetLocalName(HA_SPELL_INNERVATE);
429 HA_REBIRTH = HA_GetLocalName(HA_SPELL_REBIRTH);
430 HA_DIVINE_INTERVENTION = HA_GetLocalName(HA_SPELL_DIVINE_INTERVENTION);
431 HA_BLESSING_OF_PROTECTION = HA_GetLocalName(HA_SPELL_BLESSING_OF_PROTECTION);
432 HA_REINCARNATION = HA_GetLocalName(HA_SPELL_REINCARNATION);
433 HA_LIGHTWELL = HA_GetLocalName(HA_SPELL_LIGHTWELL);
434 HA_MANA_TIDE = HA_GetLocalName(HA_SPELL_MANA_TIDE);
435 HA_POWER_INFUSION = HA_GetLocalName(HA_SPELL_POWER_INFUSION);
436 end
437  
438 function HA_GetLocalName(ISpell)
439 return HA_ISpells[ISpell];
440 end
441  
442 function HA_GetLocalInfos(ISpell)
443 return HA_ISpellInfos[ISpell];
444 end
445  
446 function HA_GetLocalReason(IReason)
447 return HA_FailReasons[IReason];
448 end
449  
450 function HA_IsSpellClass(ISpell, Class)
451 if(ISpell < HA_SPELL_FIRST_PRIEST)
452 then
453 return Class == "DRUID";
454 elseif(ISpell < HA_SPELL_FIRST_SHAMAN)
455 then
456 return Class == "PRIEST";
457 elseif(ISpell < HA_SPELL_FIRST_PALADIN)
458 then
459 return Class == "SHAMAN";
460 else
461 return Class == "PALADIN";
462 end
463 return false;
464 end
465  
466 function HA_GetSpellClass(ISpell)
467 if(ISpell == nil) then return ""; end
468 if(ISpell < HA_SPELL_FIRST_PRIEST)
469 then
470 return "DRUID";
471 elseif(ISpell < HA_SPELL_FIRST_SHAMAN)
472 then
473 return "PRIEST";
474 elseif(ISpell < HA_SPELL_FIRST_PALADIN)
475 then
476 return "SHAMAN";
477 else
478 return "PALADIN";
479 end
480 return "";
481 end
482  
483 function HA_GetSpellCode(SpellName)
484 if(HA_Spells[SpellName])
485 then
486 return HA_Spells[SpellName].iname;
487 elseif(HA_InstantSpells[SpellName])
488 then
489 return HA_InstantSpells[SpellName].iname;
490 end
491 return nil;
492 end