Mercurial > wow > degaine
comparison Degaine.lua @ 53:6da5658a3428
Added support for checking buff loss, added Ghost Wolf
| author | contrebasse |
|---|---|
| date | Mon, 28 Feb 2011 01:18:29 +0100 |
| parents | d724fb112e7c |
| children | 12a568d6387a |
comparison
equal
deleted
inserted
replaced
| 52:d724fb112e7c | 53:6da5658a3428 |
|---|---|
| 25 | 25 |
| 26 -- Lua functions | 26 -- Lua functions |
| 27 local pairs = pairs; | 27 local pairs = pairs; |
| 28 local type = type; | 28 local type = type; |
| 29 local select = select | 29 local select = select |
| 30 local wipe = wipe | |
| 30 | 31 |
| 31 -- Wow functions | 32 -- Wow functions |
| 32 local GetTime = GetTime | 33 local GetTime = GetTime |
| 33 local InCombatLockdown = InCombatLockdown | 34 local InCombatLockdown = InCombatLockdown |
| 34 local ToggleSheath = ToggleSheath | 35 local ToggleSheath = ToggleSheath |
| 35 local UnitName = UnitName | 36 local UnitName = UnitName |
| 36 local IsMounted = IsMounted | 37 local IsMounted = IsMounted |
| 37 local UnitCastingInfo = UnitCastingInfo | 38 local UnitCastingInfo = UnitCastingInfo |
| 38 local GetUnitSpeed = GetUnitSpeed | 39 local GetUnitSpeed = GetUnitSpeed |
| 40 local UnitBuff = UnitBuff | |
| 39 | 41 |
| 40 | 42 |
| 41 --------------------------------------------------------------- | 43 --------------------------------------------------------------- |
| 42 -- Local vars | 44 -- Local vars |
| 43 --------------------------------------------------------------- | 45 --------------------------------------------------------------- |
| 152 local handleMountsFrame = CreateFrame("frame") | 154 local handleMountsFrame = CreateFrame("frame") |
| 153 local handleMountsOnUpdate | 155 local handleMountsOnUpdate |
| 154 do | 156 do |
| 155 local IsMounted = IsMounted | 157 local IsMounted = IsMounted |
| 156 local wasMounted = IsMounted() | 158 local wasMounted = IsMounted() |
| 159 local buffsIDs = {} | |
| 157 function handleMountsOnUpdate(self,t_elapsed) | 160 function handleMountsOnUpdate(self,t_elapsed) |
| 158 if IsMounted() then | 161 if IsMounted() then |
| 159 wasMounted = true | 162 wasMounted = true |
| 160 else | 163 else |
| 161 if wasMounted then | 164 if wasMounted then |
| 162 start(delay_short) -- no animation for unmounting | 165 start(delay_short) -- no animation for unmounting |
| 163 wasMounted = false | 166 wasMounted = false |
| 164 end | 167 end |
| 165 end | 168 end |
| 169 | |
| 170 -- hack to watch auras too | |
| 171 -- Loop over all buffs | |
| 172 -- name, rank, icon, count, debuffType, duration, expirationTime, unitCaster, isStealable, | |
| 173 -- shouldConsolidate, spellId = UnitBuff("unit", index or ["name", "rank"][, "filter"]) | |
| 174 local i = 1 | |
| 175 -- list player's buffs | |
| 176 local buffID = select(11,UnitBuff("player", i)); -- spell id | |
| 177 while buffID do | |
| 178 buffsIDs[buffID] = true | |
| 179 i = i + 1; | |
| 180 buffID = select(11,UnitBuff("player", i)); | |
| 181 end | |
| 182 --[[ | |
| 183 for i=1,40 do | |
| 184 buffID = select(11,UnitBuff("player", i)); | |
| 185 if buffID then | |
| 186 buffsIDs[buffID] = true | |
| 187 end | |
| 188 end | |
| 189 --]] | |
| 190 --@debug@ | |
| 191 --if debug then | |
| 192 -- DEFAULT_CHAT_FRAME:AddMessage(""..i-1.."Buff(s) found") | |
| 193 --end | |
| 194 --@end-debug@ | |
| 195 | |
| 196 -- loop over watched buffs to check if it is present or not | |
| 197 -- we have to loop over T.LoseAura (and not buffsIDs) to be able to check for buff disappearance | |
| 198 for id,state in pairs(T.LoseAura) do | |
| 199 if buffsIDs[id] then | |
| 200 if not T.LoseAura[id] then | |
| 201 -- buff gained | |
| 202 --@debug@ | |
| 203 if debug then | |
| 204 DEFAULT_CHAT_FRAME:AddMessage("Buff gained: "..id) | |
| 205 end | |
| 206 --@end-debug@ | |
| 207 T.LoseAura[id] = true | |
| 208 end | |
| 209 else | |
| 210 if T.LoseAura[id] then | |
| 211 -- buff lost | |
| 212 --@debug@ | |
| 213 if debug then | |
| 214 DEFAULT_CHAT_FRAME:AddMessage("Buff lost: "..id) | |
| 215 end | |
| 216 --@end-debug@ | |
| 217 T.LoseAura[id] = false | |
| 218 | |
| 219 -- draw weapon | |
| 220 start() | |
| 221 end | |
| 222 end | |
| 223 end | |
| 224 | |
| 225 -- empty temporary table | |
| 226 wipe(buffsIDs) | |
| 166 end | 227 end |
| 167 end | 228 end |
| 168 | 229 |
| 169 | 230 |
| 170 --------------------------------------------------------------- | 231 --------------------------------------------------------------- |
