vanilla-wow-addons – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 function CT_RATest_OnHealth()
2 local _, _, id = string.find(arg1, "^raid(%d+)$");
3 if ( id ) then
4 local name, hCurr, hMax = UnitName(arg1), UnitHealth(arg1), UnitHealthMax(arg1);
5 if ( name ) then
6 if ( UnitIsDead(arg1) or UnitIsGhost(arg1) ) then
7 if ( not CT_RA_Stats[name] ) then
8 CT_RA_Stats[name] = {
9 ["Buffs"] = { },
10 ["Debuffs"] = { },
11 ["Position"] = { }
12 };
13 end
14 CT_RA_Stats[name]["Dead"] = 1;
15 CT_RA_UpdateUnitStatus(getglobal("CT_RAMember" .. tonumber(id)));
16 elseif ( CT_RA_Stats[name] and CT_RA_Stats[name]["Dead"] ) then
17 if ( hCurr > 0 and not UnitIsGhost("raid" .. id) and CT_RA_Stats[name] ) then
18 CT_RA_Stats[name]["Dead"] = nil;
19 end
20 CT_RA_UpdateUnitStatus(getglobal("CT_RAMember" .. tonumber(id)));
21 else
22 if ( CT_RA_Stats[name] ) then
23 CT_RA_Stats[name]["Dead"] = nil;
24 end
25 CT_RA_UpdateUnitHealth(getglobal("CT_RAMember" .. tonumber(id)));
26 end
27 if ( CT_RA_Emergency_Units[name] or ( not CT_RA_EmergencyFrame.maxPercent or hCurr/hMax < CT_RA_EmergencyFrame.maxPercent ) ) then
28 CT_RA_Emergency_UpdateHealth();
29 end
30 end
31 elseif ( ( GetNumRaidMembers() == 0 and ( arg1 == "player" or string.find(arg1, "^party%d+$") ) ) ) then
32 if ( CT_RA_Emergency_Units[UnitName(arg1)] or ( not CT_RA_EmergencyFrame.maxPercent or UnitHealth(arg1)/UnitHealthMax(arg1) < CT_RA_EmergencyFrame.maxPercent ) ) then
33 CT_RA_Emergency_UpdateHealth();
34 end
35 end
36 end
37  
38 function CT_RATest_OnAura()
39 local useless, useless, id = string.find(arg1, "^raid(%d+)$");
40 if ( id and not UnitIsUnit(arg1, "player") ) then
41 local name = UnitName(arg1);
42 if ( name ) then
43 CT_RA_ScanPartyAuras(arg1, 1);
44 if ( CT_RA_Stats[name] ) then
45 CT_RA_UpdateUnitBuffs(CT_RA_Stats[name]["Buffs"], getglobal("CT_RAMember" .. id), name);
46 end
47 --~ CT_RA_UpdateUnitStatus(getglobal("CT_RAMember" .. id));
48 end
49 elseif ( string.find(arg1, "^party%d+$") and CT_RA_Channel ) then
50 local debuffs = CT_RA_ScanPartyAuras(arg1);
51 local name = UnitName(arg1);
52 if ( CT_RA_IsReportingForParty() and ( not CT_RA_Stats[name] or not CT_RA_Stats[name]["Reporting"] ) ) then
53 if ( debuffs and type(debuffs) == "table" ) then
54 for k, v in debuffs do
55 CT_RA_AddMessage(v);
56 end
57 end
58 end
59 end
60 end
61  
62 function CT_RATest_OnMana()
63 local _, _, id = string.find(arg1, "^raid(%d+)$");
64 if ( id ) then
65 CT_RA_UpdateUnitMana(getglobal("CT_RAMember" .. tonumber(id)));
66 end
67 end
68  
69 function CT_RATest_OnRaid()
70 if ( event == "RAID_ROSTER_UPDATE" ) then
71 if ( GetNumRaidMembers() == 0 ) then
72 CT_RA_MainTanks = { };
73 CT_RA_Stats = { };
74 CT_RA_ButtonIndexes = { };
75 end
76 if ( CT_RA_NumRaidMembers == 0 and GetNumRaidMembers() > 0 ) then
77 CT_RA_UpdateFrame.SS = 10;
78 if ( CT_RA_UpdateFrame.time ) then
79 CT_RA_UpdateFrame.time = nil;
80 end
81 if ( not CT_RA_HasJoinedRaid ) then
82 if ( CT_RA_Channel and GetChannelName(CT_RA_Channel) == 0 ) then
83 CT_RA_Print("<CTRaid> First raid detected. To join the current RaidAssist channel (|c00FFFFFF" .. CT_RA_Channel .. "|r), use |c00FFFFFF/rajoin|r.", 1, 0.5, 0);
84 elseif ( not CT_RA_Channel ) then
85 CT_RA_Print("<CTRaid> First raid detected. There is currently no RaidAssist channel set. To set and join one, type |c00FFFFFF/rajoin [channel]|r, where |c00FFFFFF[channel]|r is the name of the channel to use.", 1, 0.5, 0);
86 end
87 end
88 CT_RA_PartyMembers = { };
89 CT_RA_HasJoinedRaid = 1;
90 end
91 CT_RA_CheckGroups();
92 end
93 if ( CT_RAMenu_Options["temp"]["ShowMonitor"] and GetNumRaidMembers() > 0 ) then
94 CT_RA_ResFrame:Show();
95 else
96 CT_RA_ResFrame:Hide();
97 end
98 CT_RA_NumRaidMembers = GetNumRaidMembers();
99 CT_RAOptions_Update();
100 CT_RA_UpdateRaidGroup();
101 CT_RA_UpdateMTs();
102 if ( not CT_RA_Channel and GetGuildInfo("player") ) then
103 CT_RA_Channel = "CT" .. string.gsub(GetGuildInfo("player"), "[^%w]", "");
104 end
105 end