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 Communication module (parse/send)
4  
5 ]]
6  
7  
8 --------------- Shared variables ---------------
9 HA_CMD_SPELL_START = "01";
10 HA_CMD_SPELL_COMPLETE = "02";
11 HA_CMD_SPELL_FAILED = "03";
12 HA_CMD_SPELL_DELAYED = "04";
13 HA_CMD_SPELL_COOLDOWN = "05";
14 HA_CMD_COOLDOWN_UPDATE = "06";
15 HA_CMD_SPELL_OVERTIME = "07";
16 HA_CMD_SPELL_INSTANT = "08";
17 HA_CMD_SPELL_REQUEST = "09";
18 HA_CMD_SPELL_REQUEST_DENIED = "10";
19 HA_CMD_REGEN_MODE = "11";
20 HA_CMD_GOT_POWER_INFUSION = "12";
21 HA_CMD_SPELL_STOP = "13";
22 HA_CMD_ANNOUNCE = "14";
23 HA_CMD_PLUGIN_CMD = "15";
24 HA_CMD_VERSION = "16";
25 HA_CMD_SPELL_HOT_TICK = "17";
26  
27 HA_ADDON_PREFIX = "HealAss";
28  
29 --------------- Local variables ---------------
30  
31 local HA_COM_VERSION = "7";
32  
33 local _HA_TOKEN = '\30';
34 local _HA_TOKEN_EMPTY = '\28';
35 local _HA_PARSE_PATTERN = "([^".._HA_TOKEN.."]+)";
36 local _HAComm_Dispatch = {};
37  
38  
39 --------------- Internal functions ---------------
40  
41 local function _HA_COM_SendMessage(cmd,...)
42 local msg = "<HA"..HA_COM_VERSION..">"..cmd;
43  
44 for i=1, arg.n
45 do
46 local val = arg[i];
47 if(val == nil)
48 then
49 val = _HA_TOKEN_EMPTY;
50 elseif(type(val) == "string")
51 then
52 if(val == "")
53 then
54 val = _HA_TOKEN_EMPTY;
55 end
56 elseif(type(val) == "boolean")
57 then
58 if(val) then val = 1; else val = 0; end;
59 end;
60 msg = msg.._HA_TOKEN..val;
61 end
62 HA_ChatDebug(HA_DEBUG_PROTOCOL,"_HA_COM_SendMessage : Sending "..msg);
63 SendAddonMessage(HA_ADDON_PREFIX,msg,"RAID");
64 --SendAddonMessage(HA_ADDON_PREFIX,msg.._HA_TOKEN,"RAID");
65 end
66  
67 --[[
68 function HA_COM_ParseMessage
69 Channel parsing function.
70 ]]
71 function HA_COM_ParseMessage(from,message)
72 if(from == HA_PlayerName) then return; end; -- Not interested by messages from me
73 --HA_CheckPlayerJoined(from);
74 local _,i,version,cmd = string.find(message,"^<HA([^>]+)>(%d+)");
75 if(version == nil or cmd == nil) then return; end;
76  
77 -- Check version
78 if(version ~= HA_COM_VERSION)
79 then
80 if(version > HA_COM_VERSION)
81 then
82 if(HA_OldVersion == false)
83 then
84 HA_ChatPrint(HA_TEXT_UPGRADE_NEEDED);
85 HA_OldVersion = true;
86 end
87 else
88 --HA_ChatDebug(HA_DEBUG_GLOBAL,from.." is using an old major version of HA.");
89 end
90 return;
91 end
92  
93 local msg = strsub(message,i+1);
94  
95 if(_HAComm_Dispatch[cmd] == nil)
96 then
97 HA_ChatDebug(HA_DEBUG_PROTOCOL,"Unknown command : "..cmd.." from "..from.." : "..type(cmd));
98 return;
99 end
100  
101 local params = {};
102 for w in string.gfind(msg,_HA_PARSE_PATTERN)
103 do
104 if(w == nil or w == _HA_TOKEN_EMPTY)
105 then
106 table.insert(params,"");
107 else
108 table.insert(params,w);
109 end
110 end
111 HA_ChatDebug(HA_DEBUG_PROTOCOL,"HA_COM_ParseMessage : Dispatching command "..cmd.." from "..from.." : "..message);
112 _HAComm_Dispatch[cmd](from,params);
113 end
114  
115  
116 --------------- Process functions ---------------
117  
118 --[[
119 Process SpellStart :
120 Params[1] = SpellCode (INT)
121 Params[2] = TargetName (STRING) -- Can be empty string
122 Params[3] = CastTime (INT)
123 Params[4] = Estimated (INT)
124 Params[5] = WillCrit (BOOL)
125 Params[6] = Rank (INT) -- Can be empty
126 ]]
127 local function _HA_COM_Process_CmdSpellStart(from,params)
128 local spellCode = tonumber(params[1],10);
129 local targetName = params[2];
130 local castTime = tonumber(params[3],10);
131 local estimated = tonumber(params[4],10);
132 local willcrit = tonumber(params[5],10);
133 local spellRank = tonumber(params[6],10);
134  
135 if(willcrit)
136 then
137 if(willcrit == 1) then willcrit = true; else willcrit = false; end;
138 end
139 if(spellRank == nil)
140 then
141 spellRank = 0;
142 end
143  
144 if(spellCode == nil or targetName == nil or castTime == nil)
145 then
146 HA_ChatWarning("_HA_COM_Process_CmdSpellStart : From="..from.." : VALUES ARE NIL ("..tostring(spellCode).." - "..tostring(targetName).." - "..tostring(castTime)..")");
147 return;
148 end
149 if(estimated == nil)
150 then
151 estimated = 0;
152 end
153  
154 HA_ChatDebug(HA_DEBUG_PROTOCOL,"_HA_COM_Process_CmdSpellStart : From="..from.." Spell="..spellCode.." Target="..targetName.." CastTime="..castTime.." Estimated="..tostring(estimated));
155 HA_GUI_Process_SpellStart(from,spellCode,targetName,castTime,estimated,willcrit,spellRank);
156 end
157  
158 --[[
159 Process SpellStop :
160 ]]
161 local function _HA_COM_Process_CmdSpellStop(from,params)
162 HA_ChatDebug(HA_DEBUG_PROTOCOL,"_HA_COM_Process_CmdSpellStop : From="..from);
163 HA_GUI_Process_SpellStop(from);
164 end
165  
166 --[[
167 Process SpellComplete :
168 Params[1] = SpellCode (INT)
169 Params[2] = TargetName (STRING)
170 Params[3] = Value (INT)
171 Params[4] = Crit (BOOL)
172 ]]
173 local function _HA_COM_Process_CmdSpellComplete(from,params)
174 local spellCode = tonumber(params[1],10);
175 local targetName = params[2];
176 local value = tonumber(params[3],10);
177 local crit = tonumber(params[4],10);
178  
179 if(crit)
180 then
181 if(crit == 1) then crit = true; else crit = false; end;
182 end
183  
184 if(spellCode == nil or targetName == nil or value == nil or crit == nil)
185 then
186 HA_ChatWarning("_HA_COM_Process_CmdSpellComplete : From="..from.." : VALUES ARE NIL ("..tostring(spellCode).." - "..tostring(targetName).." - "..tostring(value).." - "..tostring(crit)..")");
187 return;
188 end
189  
190 HA_ChatDebug(HA_DEBUG_PROTOCOL,"_HA_COM_Process_CmdSpellComplete : From="..from.." Spell="..spellCode.." Target="..targetName.." Value="..value.." Crit="..tostring(crit));
191 HA_GUI_Process_SpellHit(from,spellCode,targetName,value,crit);
192 end
193  
194 --[[
195 Process SpellFailed :
196 Params[1] = SpellCode (INT)
197 Params[2] = IReason (INT)
198 Params[3] = Reason (STRING)
199 ]]
200 local function _HA_COM_Process_CmdSpellFailed(from,params)
201 local spellCode = tonumber(params[1],10);
202 local ireason = tonumber(params[2],10);
203 local reason = params[3];
204  
205 if(spellCode == nil or ireason == nil or reason == nil)
206 then
207 HA_ChatWarning("_HA_COM_Process_CmdSpellFailed : From="..from.." : VALUES ARE NIL ("..tostring(spellCode).." - "..tostring(ireason).." - "..tostring(reason)..")");
208 return;
209 end
210  
211 HA_ChatDebug(HA_DEBUG_PROTOCOL,"_HA_COM_Process_CmdSpellFailed : From="..from.." Spell="..spellCode.." IReason="..ireason.." Reason="..reason);
212 HA_GUI_Process_SpellFailed(from,spellCode,ireason,reason);
213 end
214  
215 --[[
216 Process SpellDelayed :
217 Params[1] = Value (INT) -- Delayed value in msec
218 ]]
219 local function _HA_COM_Process_CmdSpellDelayed(from,params)
220 local value = tonumber(params[1],10);
221  
222 if(value == nil)
223 then
224 HA_ChatWarning("_HA_COM_Process_CmdSpellDelayed : From="..from.." : VALUES ARE NIL ("..tostring(value)..")");
225 return;
226 end
227  
228 HA_ChatDebug(HA_DEBUG_PROTOCOL,"_HA_COM_Process_CmdSpellDelayed : From="..from.." Delay="..value);
229 HA_GUI_Process_SpellDelayed(from,value);
230 end
231  
232 --[[
233 Process SpellCooldown :
234 Params[1] = SpellCode (INT)
235 Params[2] = TargetName (STRING) -- Can be empty string
236 ]]
237 local function _HA_COM_Process_CmdSpellCooldown(from,params)
238 local spellCode = tonumber(params[1],10);
239 local targetName = params[2];
240  
241 if(spellCode == nil)
242 then
243 HA_ChatWarning("_HA_COM_Process_CmdSpellCooldown : From="..from.." : VALUES ARE NIL ("..tostring(spellCode)..")");
244 return;
245 end
246 HA_ChatDebug(HA_DEBUG_PROTOCOL,"_HA_COM_Process_CmdSpellCooldown : From="..from.." To="..targetName);
247 HA_GUI_Process_SpellCooldown(from,spellCode,targetName);
248 end
249  
250 --[[
251 Process SpellCooldown :
252 Params[1] = SpellCode (INT)
253 Params[2] = Cooldown (INT) -- Cooldown in sec
254 ]]
255 local function _HA_COM_Process_CmdCooldownUpdate(from,params)
256 local spellCode = tonumber(params[1],10);
257 local cooldown = tonumber(params[2],10);
258  
259 if(spellCode == nil or cooldown == nil)
260 then
261 HA_ChatWarning("_HA_COM_Process_CmdCooldownUpdate : From="..from.." : VALUES ARE NIL ("..tostring(spellCode).." - "..tostring(cooldown)..")");
262 return;
263 end
264  
265 HA_ChatDebug(HA_DEBUG_PROTOCOL,"_HA_COM_Process_CmdCooldownUpdate : From="..from.." SpellCode="..spellCode.." Cooldown="..cooldown);
266 HA_GUI_Process_CooldownUpdate(from,spellCode,cooldown);
267 end
268  
269 --[[
270 Process SpellOvertime :
271 Params[1] = SpellCode (INT)
272 Params[2] = TargetName (STRING) -- Can be empty string
273 Params[3] = Duration (INT)
274 Params[4] = Estimated (INT)
275 Params[5] = Rank (INT) -- Can be empty
276 ]]
277 local function _HA_COM_Process_CmdSpellOvertime(from,params)
278 local spellCode = tonumber(params[1],10);
279 local targetName = params[2];
280 local duration = tonumber(params[3],10);
281 local estimated = tonumber(params[4],10);
282 local spellRank = tonumber(params[5],10);
283  
284 if(spellRank == nil)
285 then
286 spellRank = 0;
287 end
288  
289 if(spellCode == nil or duration == nil)
290 then
291 HA_ChatWarning("_HA_COM_Process_CmdSpellOvertime : From="..from.." : VALUES ARE NIL ("..tostring(spellCode).." - "..tostring(duration)..")");
292 return;
293 end
294 if(estimated == nil)
295 then
296 estimated = 0;
297 end
298  
299 HA_ChatDebug(HA_DEBUG_PROTOCOL,"_HA_COM_Process_CmdSpellOvertime : From="..from.." Spell="..spellCode.." Target="..targetName.." Duration="..duration.." Estimated="..tostring(estimated));
300 HA_GUI_Process_SpellOvertime(from,spellCode,targetName,duration,estimated,spellRank);
301 end
302  
303 --[[
304 Process SpellInstant :
305 Params[1] = SpellCode (INT)
306 Params[2] = TargetName (STRING) -- Can be empty string
307 Params[3] = Rank (INT) -- Can be empty
308 ]]
309 local function _HA_COM_Process_CmdSpellInstant(from,params)
310 local spellCode = tonumber(params[1],10);
311 local targetName = params[2];
312 local spellRank = tonumber(params[3],10);
313  
314 if(spellRank == nil)
315 then
316 spellRank = 0;
317 end
318  
319 if(spellCode == nil)
320 then
321 HA_ChatWarning("_HA_COM_Process_CmdSpellInstant : From="..from.." : VALUES ARE NIL ("..tostring(spellcode)..")");
322 return;
323 end
324  
325 HA_ChatDebug(HA_DEBUG_PROTOCOL,"_HA_COM_Process_CmdSpellInstant : From="..from.." Spell="..spellCode.." Target="..targetName);
326 HA_GUI_Process_SpellInstant(from,spellCode,targetName,spellRank);
327 end
328  
329 --[[
330 Process SpellRequest :
331 Params[1] = SpellCode (INT)
332 Params[2] = TargetName (STRING)
333 ]]
334 local function _HA_COM_Process_CmdSpellRequest(from,params)
335 local spellCode = tonumber(params[1],10);
336 local targetName = params[2];
337  
338 if(spellCode == nil or targetName == nil)
339 then
340 HA_ChatWarning("_HA_COM_Process_CmdSpellRequest : From="..from.." : VALUES ARE NIL ("..tostring(spellCode).." - "..tostring(targetName)..")");
341 return;
342 end
343  
344 HA_ChatDebug(HA_DEBUG_PROTOCOL,"_HA_COM_Process_CmdSpellRequest : From="..from.." Spell="..spellCode.." To="..targetName);
345 if(targetName == HA_PlayerName) -- A request for me ?
346 then
347 HA_GUI_Process_SpellRequest(from,spellCode);
348 end
349 end
350  
351 --[[
352 Process SpellRequestDenied :
353 Params[1] = SpellCode (INT)
354 Params[2] = TargetName (STRING)
355 Params[3] = ReasonCode (INT)
356 ]]
357 local function _HA_COM_Process_CmdSpellRequestDenied(from,params)
358 local spellCode = tonumber(params[1],10);
359 local targetName = params[2];
360 local reasonCode = tonumber(params[3],10);
361  
362 if(spellCode == nil or targetName == nil or reasonCode == nil)
363 then
364 HA_ChatWarning("_HA_COM_Process_CmdSpellRequestDenied : From="..from.." : VALUES ARE NIL ("..tostring(spellCode).." - "..tostring(targetName).." - "..tostring(reasonCode)..")");
365 return;
366 end
367  
368 HA_ChatDebug(HA_DEBUG_PROTOCOL,"_HA_COM_Process_CmdSpellRequestDenied : From="..from.." Spell="..spellCode.." To="..targetName);
369 if(targetName == HA_PlayerName) -- A request for me ?
370 then
371 HA_GUI_Process_SpellRequestDenied(from,spellCode,reasonCode);
372 end
373 end
374  
375 --[[
376 Process RegenMode :
377 Params[1] = IsInRegen (BOOL)
378 ]]
379 local function _HA_COM_Process_CmdRegenMode(from,params)
380 local isinregen = tonumber(params[1],10);
381  
382 if(isinregen)
383 then
384 if(isinregen == 1) then isinregen = true; else isinregen = false; end;
385 else
386 HA_ChatWarning("_HA_COM_Process_CmdRegenMode : From="..from.." : VALUES ARE NIL ("..tostring(isinregen)..")");
387 return;
388 end
389  
390 HA_ChatDebug(HA_DEBUG_PROTOCOL,"_HA_COM_Process_CmdRegenMode : From="..from.." IsInRegen="..tostring(isinregen));
391 HA_GUI_Process_RegenMode(from,isinregen);
392 end
393  
394 --[[
395 Process GotPowerInfusion :
396 ]]
397 local function _HA_COM_Process_CmdGotPowerInfusion(from)
398 HA_ChatDebug(HA_DEBUG_PROTOCOL,"_HA_COM_Process_CmdGotPowerInfusion : From="..from);
399 HA_GUI_Process_GotPowerInfusion(from);
400 end
401  
402 --[[
403 Process Announce :
404 Params[1] = Message (STRING)
405 ]]
406 local function _HA_COM_Process_CmdAnnounce(from,params)
407 local msg = params[1];
408  
409 if(msg == nil)
410 then
411 HA_ChatWarning("_HA_COM_Process_CmdAnnounce : From="..from.." : VALUES ARE NIL ("..tostring(msg)..")");
412 return;
413 end
414  
415 HA_ChatDebug(HA_DEBUG_PROTOCOL,"_HA_COM_Process_CmdAnnounce : From="..from.." Message="..msg);
416 HA_GUI_Process_Announce(from,msg);
417 end
418  
419 --[[
420 Process PluginCmd :
421 Params[1] = PluginName (STRING)
422 Params[...] = Plugin params
423 ]]
424 local function _HA_COM_Process_CmdPluginCmd(from,params)
425 local name = params[1];
426  
427 if(name == nil)
428 then
429 HA_ChatWarning("_HA_COM_Process_CmdPluginCmd : From="..from.." : VALUES ARE NIL ("..tostring(name)..")");
430 return;
431 end
432  
433 HA_ChatDebug(HA_DEBUG_PROTOCOL,"_HA_COM_Process_CmdPluginCmd : From="..from.." PluginName="..name);
434 -- Call plugins
435 for _,pl in HA_ActivePlugins
436 do
437 if(pl.Name == name and pl.OnPluginMessage)
438 then
439 pl.OnPluginMessage(from,params);
440 end
441 end
442 end
443  
444 --[[
445 Process Version :
446 Params[1] = Version (STRING)
447 ]]
448 local function _HA_COM_Process_CmdVersion(from,params)
449 local version = params[1];
450  
451 if(version == nil)
452 then
453 HA_ChatWarning("_HA_COM_Process_CmdVersion : From="..from.." : VALUES ARE NIL ("..tostring(version)..")");
454 return;
455 end
456  
457 HA_ChatDebug(HA_DEBUG_PROTOCOL,"_HA_COM_Process_CmdVersion : From="..from.." Version="..version);
458 HA_GUI_Process_Version(from,version);
459 end
460  
461 --[[
462 Process SpellHotTick :
463 Params[1] = SpellCode (INT)
464 Params[2] = TargetName (STRING)
465 Params[3] = Value (INT)
466 ]]
467 local function _HA_COM_Process_CmdSpellHotTick(from,params)
468 local spellCode = tonumber(params[1],10);
469 local targetName = params[2];
470 local value = tonumber(params[3],10);
471  
472 if(spellCode == nil or targetName == nil or value == nil)
473 then
474 HA_ChatWarning("_HA_COM_Process_CmdSpellHotTick : From="..from.." : VALUES ARE NIL ("..tostring(spellCode).." - "..tostring(targetName).." - "..tostring(value)..")");
475 return;
476 end
477  
478 HA_ChatDebug(HA_DEBUG_PROTOCOL,"_HA_COM_Process_CmdSpellHotTick : From="..from.." Spell="..spellCode.." Target="..targetName.." Value="..value);
479 HA_GUI_Process_SpellHotTick(from,spellCode,targetName,value);
480 end
481  
482  
483 --------------- GUI Exported functions ---------------
484  
485 --[[ - GUI ENTRY POINT
486 function HA_COM_SpellStart :
487 - SpellCode : Int -- International code of the spell
488 - TargetName : String -- Target of the heal
489 - CastTime : Int -- Casttime of the spell
490 - Estimated : Int -- Estimated spell value
491 - WillCrit : Bool -- If you are sure the spell will crit (Estimated is crit value)
492 - SpellRank : Int -- Rank of the spell (can be nil)
493 ]]
494 function HA_COM_SpellStart(SpellCode,TargetName,CastTime,Estimated,WillCrit,SpellRank)
495 if(SpellCode)
496 then
497 _HA_COM_SendMessage(HA_CMD_SPELL_START,SpellCode,TargetName,CastTime,Estimated,WillCrit,SpellRank);
498 end
499 end
500  
501 --[[ - GUI ENTRY POINT
502 function HA_COM_SpellStop :
503 ]]
504 function HA_COM_SpellStop()
505 _HA_COM_SendMessage(HA_CMD_SPELL_STOP);
506 end
507  
508 --[[ - GUI ENTRY POINT
509 function HA_COM_SpellComplete :
510 - SpellCode : Int -- International code of the spell
511 - TargetName : String -- Target of the heal
512 - Value : Int -- Healed value
513 - Crit : Bool -- Heal has crit
514 ]]
515 function HA_COM_SpellComplete(SpellCode,TargetName,Value,Crit)
516 if(SpellCode)
517 then
518 _HA_COM_SendMessage(HA_CMD_SPELL_COMPLETE,SpellCode,TargetName,Value,Crit);
519 end
520 end
521  
522 --[[ - GUI ENTRY POINT
523 function HA_COM_SpellFailed :
524 - SpellCode : Int -- International code of the spell
525 - IReason : Int -- Reason code of failure
526 - Reason : String -- Reason text of failure (nil if IReason ~= 0)
527 ]]
528 function HA_COM_SpellFailed(SpellCode,IReason,Reason)
529 if(SpellCode)
530 then
531 _HA_COM_SendMessage(HA_CMD_SPELL_FAILED,SpellCode,IReason,Reason);
532 end
533 end
534  
535 --[[ - GUI ENTRY POINT
536 function HA_COM_SpellDelayed :
537 - Value : Int -- Delayed value in msec
538 ]]
539 function HA_COM_SpellDelayed(Value)
540 _HA_COM_SendMessage(HA_CMD_SPELL_DELAYED,Value);
541 end
542  
543 --[[ - GUI ENTRY POINT
544 function HA_COM_SpellCooldown :
545 - SpellCode : Int -- International code of the spell
546 - TargetName : String -- Target of the spell
547 ]]
548 function HA_COM_SpellCooldown(SpellCode,TargetName)
549 _HA_COM_SendMessage(HA_CMD_SPELL_COOLDOWN,SpellCode,TargetName);
550 end
551  
552 --[[ - GUI ENTRY POINT
553 function HA_COM_CooldownUpdate :
554 - SpellCode : Int -- International code of the spell
555 - Cooldown : Int -- number of sec before it's up (0 = up)
556 ]]
557 function HA_COM_CooldownUpdate(SpellCode,Cooldown)
558 _HA_COM_SendMessage(HA_CMD_COOLDOWN_UPDATE,SpellCode,Cooldown);
559 end
560  
561 --[[ - GUI ENTRY POINT
562 function HA_COM_SpellOvertime :
563 - SpellCode : Int -- International code of the spell
564 - TargetName : String -- Target of the heal
565 - Duration : Int -- Duration of the spell
566 - Estimated : Int -- Estimated spell value
567 - SpellRank : Int -- Rank of the spell (can be nil)
568 ]]
569 function HA_COM_SpellOvertime(SpellCode,TargetName,Duration,Estimated,SpellRank)
570 if(SpellCode)
571 then
572 _HA_COM_SendMessage(HA_CMD_SPELL_OVERTIME,SpellCode,TargetName,Duration,Estimated,SpellRank);
573 end
574 end
575  
576 --[[ - GUI ENTRY POINT
577 function HA_COM_SpellInstant :
578 - SpellCode : Int -- International code of the spell
579 - TargetName : String -- Target of the heal
580 - SpellRank : Int -- Rank of the spell (can be nil)
581 ]]
582 function HA_COM_SpellInstant(SpellCode,TargetName,SpellRank)
583 if(SpellCode)
584 then
585 _HA_COM_SendMessage(HA_CMD_SPELL_INSTANT,SpellCode,TargetName,SpellRank);
586 end
587 end
588  
589 --[[ - GUI ENTRY POINT
590 function HA_COM_SpellRequest :
591 - SpellCode : Int -- International code of the spell
592 - TargetName : String -- Request spell to
593 ]]
594 function HA_COM_SpellRequest(SpellCode,TargetName)
595 if(SpellCode and TargetName and TargetName ~= "")
596 then
597 _HA_COM_SendMessage(HA_CMD_SPELL_REQUEST,SpellCode,TargetName);
598 end
599 end
600  
601 --[[ - GUI ENTRY POINT
602 function HA_COM_SpellRequestDenied :
603 - SpellCode : Int -- International code of the spell
604 - TargetName : String -- Request spell from
605 - ReasonCode : Int -- Reason
606 ]]
607 function HA_COM_SpellRequestDenied(SpellCode,TargetName,ReasonCode)
608 if(SpellCode and TargetName and TargetName ~= "")
609 then
610 _HA_COM_SendMessage(HA_CMD_SPELL_REQUEST_DENIED,SpellCode,TargetName,ReasonCode);
611 end
612 end
613  
614 --[[ - GUI ENTRY POINT
615 function HA_COM_RegenMode :
616 - IsInRegen : Bool -- If I go in regen mode
617 ]]
618 function HA_COM_RegenMode(IsInRegen)
619 _HA_COM_SendMessage(HA_CMD_REGEN_MODE,IsInRegen);
620 end
621  
622 --[[ - GUI ENTRY POINT
623 function HA_COM_GotPowerInfusion :
624 ]]
625 function HA_COM_GotPowerInfusion()
626 _HA_COM_SendMessage(HA_CMD_GOT_POWER_INFUSION);
627 end
628  
629 --[[ - GUI ENTRY POINT
630 function HA_COM_Announce :
631 - Message : String -- Message to show
632 ]]
633 function HA_COM_Announce(Message)
634 _HA_COM_SendMessage(HA_CMD_ANNOUNCE,Message);
635 end
636  
637 --[[ - GUI ENTRY POINT
638 function HA_COM_PluginCommand :
639 - PluginName : String -- Message to show
640 - ... : Any -- Plugins command params
641 ]]
642 function HA_COM_PluginCommand(PluginName,...)
643 _HA_COM_SendMessage(HA_CMD_PLUGIN_CMD,PluginName,unpack(arg));
644 end
645  
646 --[[ - GUI ENTRY POINT
647 function HA_COM_SendVersion :
648 ]]
649 function HA_COM_SendVersion()
650 _HA_COM_SendMessage(HA_CMD_VERSION,HA_VERSION);
651 end
652  
653 --[[ - GUI ENTRY POINT
654 function HA_COM_SpellHotTick :
655 - SpellCode : Int -- International code of the spell
656 - TargetName : String -- Target of the heal
657 - Value : Int -- Healed value
658 ]]
659 function HA_COM_SpellHotTick(SpellCode,TargetName,Value)
660 if(SpellCode)
661 then
662 _HA_COM_SendMessage(HA_CMD_SPELL_HOT_TICK,SpellCode,TargetName,Value);
663 end
664 end
665  
666  
667 --------------- Init dispatch table ---------------
668 _HAComm_Dispatch[HA_CMD_SPELL_START] = _HA_COM_Process_CmdSpellStart;
669 _HAComm_Dispatch[HA_CMD_SPELL_STOP] = _HA_COM_Process_CmdSpellStop;
670 _HAComm_Dispatch[HA_CMD_SPELL_COMPLETE] = _HA_COM_Process_CmdSpellComplete;
671 _HAComm_Dispatch[HA_CMD_SPELL_FAILED] = _HA_COM_Process_CmdSpellFailed;
672 _HAComm_Dispatch[HA_CMD_SPELL_DELAYED] = _HA_COM_Process_CmdSpellDelayed;
673 _HAComm_Dispatch[HA_CMD_SPELL_COOLDOWN] = _HA_COM_Process_CmdSpellCooldown;
674 _HAComm_Dispatch[HA_CMD_COOLDOWN_UPDATE] = _HA_COM_Process_CmdCooldownUpdate;
675 _HAComm_Dispatch[HA_CMD_SPELL_OVERTIME] = _HA_COM_Process_CmdSpellOvertime;
676 _HAComm_Dispatch[HA_CMD_SPELL_INSTANT] = _HA_COM_Process_CmdSpellInstant;
677 _HAComm_Dispatch[HA_CMD_SPELL_REQUEST] = _HA_COM_Process_CmdSpellRequest;
678 _HAComm_Dispatch[HA_CMD_SPELL_REQUEST_DENIED] = _HA_COM_Process_CmdSpellRequestDenied;
679 _HAComm_Dispatch[HA_CMD_REGEN_MODE] = _HA_COM_Process_CmdRegenMode;
680 _HAComm_Dispatch[HA_CMD_GOT_POWER_INFUSION] = _HA_COM_Process_CmdGotPowerInfusion;
681 _HAComm_Dispatch[HA_CMD_ANNOUNCE] = _HA_COM_Process_CmdAnnounce;
682 _HAComm_Dispatch[HA_CMD_PLUGIN_CMD] = _HA_COM_Process_CmdPluginCmd;
683 _HAComm_Dispatch[HA_CMD_VERSION] = _HA_COM_Process_CmdVersion;
684 _HAComm_Dispatch[HA_CMD_SPELL_HOT_TICK] = _HA_COM_Process_CmdSpellHotTick;