Mercurial > wow > degaine
comparison Degaine.lua @ 11:62abf847fef9
Cosmetic : remove unneeded ';'
author | contrebasse |
---|---|
date | Fri, 10 Dec 2010 16:55:44 +0100 |
parents | 37ac0d31cf0e |
children | 9f8a4f3c8641 |
comparison
equal
deleted
inserted
replaced
10:37ac0d31cf0e | 11:62abf847fef9 |
---|---|
4 -- Known bugs : | 4 -- Known bugs : |
5 -- If you stand up by jumping or walking it won't draw your weapon | 5 -- If you stand up by jumping or walking it won't draw your weapon |
6 -- (it's not possible to know if you were sitting or standing before) | 6 -- (it's not possible to know if you were sitting or standing before) |
7 | 7 |
8 --@debug@ | 8 --@debug@ |
9 local debug = false; | 9 local debug = false |
10 --@end-debug@ | 10 --@end-debug@ |
11 | 11 |
12 --------------------------------------------------------------- | 12 --------------------------------------------------------------- |
13 -- Globals to local | 13 -- Globals to local |
14 --------------------------------------------------------------- | 14 --------------------------------------------------------------- |
44 -- Bindings | 44 -- Bindings |
45 BINDING_HEADER_DEGAINE = "Dégainer automatiquement" | 45 BINDING_HEADER_DEGAINE = "Dégainer automatiquement" |
46 | 46 |
47 -- Print status | 47 -- Print status |
48 local printState = function() | 48 local printState = function() |
49 DEFAULT_CHAT_FRAME:AddMessage(Degaine_isAuto and "Dégainage automatique |cFF00FF00activé|r" or "Dégainage automatique |cFFFF0000désactivé|r"); | 49 DEFAULT_CHAT_FRAME:AddMessage(Degaine_isAuto and "Dégainage automatique |cFF00FF00activé|r" or "Dégainage automatique |cFFFF0000désactivé|r") |
50 end | 50 end |
51 | 51 |
52 | 52 |
53 --------------------------------------------------------------- | 53 --------------------------------------------------------------- |
54 -- Events config | 54 -- Events config |
55 --------------------------------------------------------------- | 55 --------------------------------------------------------------- |
56 -- Events to watch | 56 -- Events to watch |
57 local events = { -- no args to watch | 57 local events = { -- no args to watch |
58 GOSSIP_SHOW = true, | 58 GOSSIP_SHOW = true, |
59 MERCHANT_SHOW = function() return GossipFrame:IsShown(); end, | 59 MERCHANT_SHOW = function() return GossipFrame:IsShown() end, |
60 BANKFRAME_OPENED = true, --function() return GossipFrame:IsShown(); end, | 60 BANKFRAME_OPENED = true, --function() return GossipFrame:IsShown() end, |
61 AUCTION_HOUSE_SHOW = true, | 61 AUCTION_HOUSE_SHOW = true, |
62 } | 62 } |
63 local SpellBlacklist = { | 63 local SpellBlacklist = { |
64 [1784] = true, -- Stealth (Rogue) | 64 [1784] = true, -- Stealth (Rogue) |
65 [58984] = true, -- Shadowmeld (Nightelf stealth) | 65 [58984] = true, -- Shadowmeld (Nightelf stealth) |
81 --------------------------------------------------------------- | 81 --------------------------------------------------------------- |
82 -- Wait a few seconds before drawing, to be able to see the curren animation (and avoid bugs) | 82 -- Wait a few seconds before drawing, to be able to see the curren animation (and avoid bugs) |
83 local Degaine_OnUpdate = function(self,t_elapsed) | 83 local Degaine_OnUpdate = function(self,t_elapsed) |
84 t_left = t_left - t_elapsed; | 84 t_left = t_left - t_elapsed; |
85 if t_left<=0 then | 85 if t_left<=0 then |
86 ToggleSheath(); | 86 ToggleSheath() |
87 DegaineFrame:SetScript("OnUpdate", nil); | 87 DegaineFrame:SetScript("OnUpdate", nil) |
88 end | 88 end |
89 end | 89 end |
90 local start = function() | 90 local start = function() |
91 if Degaine_isAuto and not InCombatLockdown() then | 91 if Degaine_isAuto and not InCombatLockdown() then |
92 t_left = delay | 92 t_left = delay |
93 DegaineFrame:SetScript("OnUpdate", Degaine_OnUpdate); | 93 DegaineFrame:SetScript("OnUpdate", Degaine_OnUpdate) |
94 end | 94 end |
95 end | 95 end |
96 | 96 |
97 --------------------------------------------------------------- | 97 --------------------------------------------------------------- |
98 -- Activation functions | 98 -- Activation functions |
101 if (not Degaine_isAuto) or InCombatLockdown() then return end | 101 if (not Degaine_isAuto) or InCombatLockdown() then return end |
102 | 102 |
103 --DegaineFrame:SetScript("OnUpdate", Degaine_OnUpdate); | 103 --DegaineFrame:SetScript("OnUpdate", Degaine_OnUpdate); |
104 --@debug@ | 104 --@debug@ |
105 if debug then | 105 if debug then |
106 DegaineFrame:RegisterAllEvents(); | 106 DegaineFrame:RegisterAllEvents() |
107 else | 107 else |
108 --@end-debug@ | 108 --@end-debug@ |
109 for k,v in pairs(events) do DegaineFrame:RegisterEvent(k); end | 109 for k,v in pairs(events) do DegaineFrame:RegisterEvent(k) end |
110 for k,v in pairs(events1player) do DegaineFrame:RegisterEvent(k); end | 110 for k,v in pairs(events1player) do DegaineFrame:RegisterEvent(k) end |
111 for k,v in pairs(events2playername) do DegaineFrame:RegisterEvent(k); end | 111 for k,v in pairs(events2playername) do DegaineFrame:RegisterEvent(k) end |
112 --@end-debug@ | 112 --@end-debug@ |
113 end | 113 end |
114 --@end-debug@ | 114 --@end-debug@ |
115 end | 115 end |
116 local desactivate = function() | 116 local desactivate = function() |
117 for k,v in pairs(events) do DegaineFrame:UnregisterEvent(k); end | 117 for k,v in pairs(events) do DegaineFrame:UnregisterEvent(k) end |
118 for k,v in pairs(events1player) do DegaineFrame:UnregisterEvent(k); end | 118 for k,v in pairs(events1player) do DegaineFrame:UnregisterEvent(k) end |
119 for k,v in pairs(events2playername) do DegaineFrame:UnregisterEvent(k); end | 119 for k,v in pairs(events2playername) do DegaineFrame:UnregisterEvent(k) end |
120 DegaineFrame:SetScript("OnUpdate", nil); | 120 DegaineFrame:SetScript("OnUpdate", nil) |
121 end | 121 end |
122 Degaine_ToggleAuto = function() | 122 Degaine_ToggleAuto = function() |
123 if Degaine_isAuto then | 123 if Degaine_isAuto then |
124 Degaine_isAuto = false | 124 Degaine_isAuto = false |
125 desactivate() | 125 desactivate() |
136 --------------------------------------------------------------- | 136 --------------------------------------------------------------- |
137 local Degaine_OnEvent = function(self,event, arg1, arg2, ...) | 137 local Degaine_OnEvent = function(self,event, arg1, arg2, ...) |
138 --@debug@ | 138 --@debug@ |
139 if debug then | 139 if debug then |
140 DEFAULT_CHAT_FRAME:AddMessage(event) | 140 DEFAULT_CHAT_FRAME:AddMessage(event) |
141 if arg1 then DEFAULT_CHAT_FRAME:AddMessage("arg1 = "..arg1); end | 141 if arg1 then DEFAULT_CHAT_FRAME:AddMessage("arg1 = "..arg1) end |
142 if arg2 then DEFAULT_CHAT_FRAME:AddMessage("arg2 = "..arg2); end | 142 if arg2 then DEFAULT_CHAT_FRAME:AddMessage("arg2 = "..arg2) end |
143 end | 143 end |
144 --@end-debug@ | 144 --@end-debug@ |
145 | 145 |
146 if ((events[event] and (type(events[event])~="function" or events[event]())) | 146 if ((events[event] and (type(events[event])~="function" or events[event]())) |
147 or (events1player[event] and arg1=="player") | 147 or (events1player[event] and arg1=="player") |
155 | 155 |
156 elseif event == "ADDON_LOADED" and arg1==AddonName then | 156 elseif event == "ADDON_LOADED" and arg1==AddonName then |
157 if Degaine_isAuto==nil then | 157 if Degaine_isAuto==nil then |
158 Degaine_isAuto = true | 158 Degaine_isAuto = true |
159 end | 159 end |
160 if Degaine_isAuto then activate(); else desactivate(); end | 160 if Degaine_isAuto then activate() else desactivate() end |
161 printState() | 161 printState() |
162 | 162 |
163 -- Not needed anymore | 163 -- Not needed anymore |
164 DegaineFrame:UnregisterEvent("ADDON_LOADED") | 164 DegaineFrame:UnregisterEvent("ADDON_LOADED") |
165 end | 165 end |