Mercurial > wow > degaine
comparison Degaine.lua @ 31:37d2dcb3688d
Back to blacklist with vanity pets and mounts, but there are some exceptions...
| author | contrebasse |
|---|---|
| date | Sat, 08 Jan 2011 12:19:01 +0100 |
| parents | d66bb6a8d8bb |
| children | 64a266eaf0ef |
comparison
equal
deleted
inserted
replaced
| 30:d66bb6a8d8bb | 31:37d2dcb3688d |
|---|---|
| 30 local GetTime = GetTime | 30 local GetTime = GetTime |
| 31 local InCombatLockdown = InCombatLockdown | 31 local InCombatLockdown = InCombatLockdown |
| 32 local ToggleSheath = ToggleSheath | 32 local ToggleSheath = ToggleSheath |
| 33 local UnitName = UnitName | 33 local UnitName = UnitName |
| 34 local IsMounted = IsMounted | 34 local IsMounted = IsMounted |
| 35 local GetNumCompanions, GetCompanionInfo = GetNumCompanions, GetCompanionInfo | |
| 35 | 36 |
| 36 | 37 |
| 37 --------------------------------------------------------------- | 38 --------------------------------------------------------------- |
| 38 -- Local vars | 39 -- Local vars |
| 39 --------------------------------------------------------------- | 40 --------------------------------------------------------------- |
| 113 UNIT_SPELLCAST_FAILED = true, | 114 UNIT_SPELLCAST_FAILED = true, |
| 114 UNIT_SPELLCAST_INTERRUPTED = true, | 115 UNIT_SPELLCAST_INTERRUPTED = true, |
| 115 UNIT_SPELLCAST_SUCCEEDED = true, | 116 UNIT_SPELLCAST_SUCCEEDED = true, |
| 116 } | 117 } |
| 117 local SpellWhiteList = { -- Spells that do steath weapons (works with events1player) | 118 local SpellWhiteList = { -- Spells that do steath weapons (works with events1player) |
| 119 -- Every recipe should be added... Automatically ? | |
| 118 [8690] = true, -- Heartstone | 120 [8690] = true, -- Heartstone |
| 119 [818] = true, -- Basic Campfire | 121 [818] = true, -- Basic Campfire |
| 120 } | 122 } |
| 121 --[[ | 123 |
| 122 local SpellBlackList = { -- spells that don't stealth weapons (works with events1player) | 124 local SpellBlackList = { -- spells that don't stealth weapons (works with events1player) |
| 125 -- All vanity pets should be added... Automatically ? | |
| 123 [1784] = true, -- Stealth (Rogue) | 126 [1784] = true, -- Stealth (Rogue) |
| 124 [58984] = true, -- Shadowmeld (Nightelf stealth) | 127 [58984] = true, -- Shadowmeld (Nightelf stealth) |
| 125 | 128 |
| 126 -- Tradeskill spells | 129 -- Tradeskill spells |
| 127 [2259] = true, -- Alchemy | 130 [2259] = true, -- Alchemy |
| 136 [2550] = true, -- Cooking | 139 [2550] = true, -- Cooking |
| 137 [3273] = true, -- First Aid | 140 [3273] = true, -- First Aid |
| 138 [53428] = true -- Runeforge | 141 [53428] = true -- Runeforge |
| 139 -- Archaeology ? | 142 -- Archaeology ? |
| 140 } | 143 } |
| 141 --]] | 144 |
| 142 local events2playername = { -- the 2nd arg is playername | 145 local events2playername = { -- the 2nd arg is playername |
| 143 CHAT_MSG_SAY = true, | 146 CHAT_MSG_SAY = true, |
| 144 CHAT_MSG_YELL = true, | 147 CHAT_MSG_YELL = true, |
| 145 CHAT_MSG_TEXT_EMOTE = true, | 148 CHAT_MSG_TEXT_EMOTE = true, |
| 146 } | 149 } |
| 219 -- Event/hooks functions | 222 -- Event/hooks functions |
| 220 --------------------------------------------------------------- | 223 --------------------------------------------------------------- |
| 221 local Degaine_OnEvent = function(self,event, arg1, arg2, _, _, arg5, ...) | 224 local Degaine_OnEvent = function(self,event, arg1, arg2, _, _, arg5, ...) |
| 222 --@debug@ | 225 --@debug@ |
| 223 --if debug then | 226 --if debug then |
| 224 DEFAULT_CHAT_FRAME:AddMessage(event) | 227 --DEFAULT_CHAT_FRAME:AddMessage(event) |
| 225 --if arg1 then DEFAULT_CHAT_FRAME:AddMessage("arg1 = "..arg1) end | 228 --if arg1 then DEFAULT_CHAT_FRAME:AddMessage("arg1 = "..arg1) end |
| 226 --if arg2 then DEFAULT_CHAT_FRAME:AddMessage("arg2 = "..arg2) end | 229 --if arg2 then DEFAULT_CHAT_FRAME:AddMessage("arg2 = "..arg2) end |
| 227 --end | 230 --end |
| 228 --@end-debug@ | 231 --@end-debug@ |
| 229 | 232 |
| 249 if type(events[event])~="function" or events[event]() then | 252 if type(events[event])~="function" or events[event]() then |
| 250 start() | 253 start() |
| 251 end | 254 end |
| 252 elseif events1player[event] then | 255 elseif events1player[event] then |
| 253 if arg1=="player" then | 256 if arg1=="player" then |
| 254 if arg5 and SpellWhiteList[arg5] then -- arg5 is SpellID | 257 --if arg5 and SpellWhiteList[arg5] then -- arg5 is SpellID |
| 258 if arg5 and not SpellBlackList[arg5] then -- arg5 is SpellID | |
| 255 start() | 259 start() |
| 256 end | 260 end |
| 257 end | 261 end |
| 258 elseif events2playername[event] then | 262 elseif events2playername[event] then |
| 259 if arg2==playername then | 263 if arg2==playername then |
| 278 if Degaine_isAuto then activate() else desactivate() end | 282 if Degaine_isAuto then activate() else desactivate() end |
| 279 printState() | 283 printState() |
| 280 | 284 |
| 281 -- Not needed anymore | 285 -- Not needed anymore |
| 282 DegaineFrame:UnregisterEvent("ADDON_LOADED") | 286 DegaineFrame:UnregisterEvent("ADDON_LOADED") |
| 283 end | 287 |
| 284 end | 288 elseif event == "PLAYER_LOGIN" then |
| 289 -- add some spell to the blacklist | |
| 290 for i=1,GetNumCompanions("CRITTER") do | |
| 291 -- creatureID, creatureName, creatureSpellID, icon, issummoned = GetCompanionInfo("CRITTER", i) | |
| 292 local _, _, creatureSpellID = GetCompanionInfo("CRITTER", i) | |
| 293 if creatureSpellID ~= 55068 then -- Mr Chilly stealth weapons... | |
| 294 SpellBlackList[creatureSpellID] = true | |
| 295 end | |
| 296 end | |
| 297 | |
| 298 -- mount is important only if the invocation is cancelled | |
| 299 for i=1,GetNumCompanions("MOUNT") do | |
| 300 -- creatureID, creatureName, creatureSpellID, icon, issummoned = GetCompanionInfo("MOUNT", i) | |
| 301 local _, _, creatureSpellID = GetCompanionInfo("MOUNT", i) | |
| 302 if creatureSpellID ~= 48778 then -- Acherus Deathcharger stealth weapons... | |
| 303 SpellBlackList[creatureSpellID] = true | |
| 304 end | |
| 305 end | |
| 306 end | |
| 307 end | |
| 308 | |
| 285 -- Hook when standing up | 309 -- Hook when standing up |
| 286 -- (Didn't work, see http://forums.wowace.com/showthread.php?p=310547#post310547) | 310 -- (Didn't work, see http://forums.wowace.com/showthread.php?p=310547#post310547) |
| 287 hooksecurefunc("SitStandOrDescendStart",start); | 311 hooksecurefunc("SitStandOrDescendStart",start); |
| 288 | 312 |
| 289 | 313 |
| 307 -- Global events | 331 -- Global events |
| 308 DegaineFrame:RegisterEvent("GOSSIP_CLOSED") | 332 DegaineFrame:RegisterEvent("GOSSIP_CLOSED") |
| 309 DegaineFrame:RegisterEvent("PLAYER_REGEN_ENABLED") | 333 DegaineFrame:RegisterEvent("PLAYER_REGEN_ENABLED") |
| 310 DegaineFrame:RegisterEvent("PLAYER_REGEN_DISABLED") | 334 DegaineFrame:RegisterEvent("PLAYER_REGEN_DISABLED") |
| 311 DegaineFrame:RegisterEvent("ADDON_LOADED") | 335 DegaineFrame:RegisterEvent("ADDON_LOADED") |
| 336 DegaineFrame:RegisterEvent("PLAYER_LOGIN") | |
| 312 activate() | 337 activate() |
| 313 | 338 |
