Mercurial > wow > degaine
comparison Degaine.lua @ 44:1967c9a3c5c2
Put exceptions into their own file, and permit to adjust their delay (as it is done with Mr Chilly).
author | contrebasse |
---|---|
date | Sun, 27 Feb 2011 20:28:52 +0100 |
parents | 3fbe79addc87 |
children | f861e1c0535b |
comparison
equal
deleted
inserted
replaced
43:3fbe79addc87 | 44:1967c9a3c5c2 |
---|---|
31 local GetTime = GetTime | 31 local GetTime = GetTime |
32 local InCombatLockdown = InCombatLockdown | 32 local InCombatLockdown = InCombatLockdown |
33 local ToggleSheath = ToggleSheath | 33 local ToggleSheath = ToggleSheath |
34 local UnitName = UnitName | 34 local UnitName = UnitName |
35 local IsMounted = IsMounted | 35 local IsMounted = IsMounted |
36 local GetNumCompanions, GetCompanionInfo = GetNumCompanions, GetCompanionInfo | |
37 local UnitCastingInfo = UnitCastingInfo | 36 local UnitCastingInfo = UnitCastingInfo |
38 local GetUnitSpeed = GetUnitSpeed | 37 local GetUnitSpeed = GetUnitSpeed |
39 | 38 |
40 | 39 |
41 --------------------------------------------------------------- | 40 --------------------------------------------------------------- |
125 UNIT_SPELLCAST_FAILED = true, | 124 UNIT_SPELLCAST_FAILED = true, |
126 UNIT_SPELLCAST_INTERRUPTED = true, | 125 UNIT_SPELLCAST_INTERRUPTED = true, |
127 UNIT_SPELLCAST_SUCCEEDED = true, | 126 UNIT_SPELLCAST_SUCCEEDED = true, |
128 UNIT_SPELLCAST_START = true, -- to ckeck tradeskill | 127 UNIT_SPELLCAST_START = true, -- to ckeck tradeskill |
129 } | 128 } |
130 local SpellWhiteList = { -- Spells that do steath weapons (works with events1player) | |
131 -- True recipes are treated separately | |
132 [8690] = true, -- Heartstone | |
133 [818] = true, -- Basic Campfire | |
134 [13262] = true, -- Disenchant | |
135 [51005] = true, -- Milling | |
136 | |
137 -- Critters (exceptions) | |
138 [55068] = true, -- Mr Chilly | |
139 | |
140 -- Mounts (exceptions) | |
141 [48778] = true, -- Acherus Deathcharger | |
142 | |
143 } | |
144 | |
145 local SpellBlackList = { -- spells that don't stealth weapons (works with events1player) | |
146 -- All vanity pets and mount are added at PLAYER_LOGIN | |
147 | |
148 -- | |
149 [1784] = true, -- Stealth (Rogue) | |
150 [58984] = true, -- Shadowmeld (Nightelf stealth) | |
151 | |
152 -- DK presences | |
153 [48263] = true, -- Blood | |
154 [48266] = true, -- Frost | |
155 [48265] = true, -- Unholy | |
156 | |
157 [3714] = true, -- Path of Frost | |
158 | |
159 | |
160 -- Tradeskill spells | |
161 [2259] = true, -- Alchemy | |
162 [45357] = true, -- Inscription | |
163 [3908] = true, -- Tailoring | |
164 [7411] = true, -- Enchanting | |
165 [2018] = true, -- Blacksmithing | |
166 [4036] = true, -- Engineering | |
167 [25229] = true, -- Jewelcrafting | |
168 [2656] = true, -- Smelting | |
169 [2108] = true, -- Leatherworking | |
170 [2550] = true, -- Cooking | |
171 [3273] = true, -- First Aid | |
172 [53428] = true -- Runeforge | |
173 -- Archaeology ? | |
174 } | |
175 | 129 |
176 --[[ | 130 --[[ |
177 -- Was used when moving prevented to play the emote when talking | 131 -- Was used when moving prevented to play the emote when talking |
178 -- Was needed for CHAT_MSG_SAY and CHAT_MSG_YELL | 132 -- Was needed for CHAT_MSG_SAY and CHAT_MSG_YELL |
179 local function playerIsNotMoving() | 133 local function playerIsNotMoving() |
299 --DEFAULT_CHAT_FRAME:AddMessage(name) | 253 --DEFAULT_CHAT_FRAME:AddMessage(name) |
300 --DEFAULT_CHAT_FRAME:AddMessage(isTradeSkill and "True" or "False") | 254 --DEFAULT_CHAT_FRAME:AddMessage(isTradeSkill and "True" or "False") |
301 --if isTradeSkill then | 255 --if isTradeSkill then |
302 | 256 |
303 --end | 257 --end |
304 --elseif arg5 and not SpellBlackList[arg5] then -- arg5 is SpellID | 258 --elseif arg5 and not T.SpellBlackList[arg5] then -- arg5 is SpellID |
305 elseif (arg5 and SpellWhiteList[arg5]) or isTradeSkill then -- arg5 is SpellID | 259 elseif (arg5 and T.SpellWhiteList[arg5]) or isTradeSkill then -- arg5 is SpellID |
306 isTradeSkill = false -- for next time | 260 isTradeSkill = false -- for next time |
307 start(delay_short) | 261 start(type(T.SpellWhiteList[arg5])=="number" and T.SpellWhiteList[arg5] or delay_short) |
308 end | 262 end |
309 end | 263 end |
310 elseif events2playername[event] then | 264 elseif events2playername[event] then |
311 if arg2==playername and (type(events2playername[event])~="function" or events2playername[event]()) then | 265 if arg2==playername and (type(events2playername[event])~="function" or events2playername[event]()) then |
312 start() | 266 start() |
332 | 286 |
333 -- Not needed anymore | 287 -- Not needed anymore |
334 DegaineFrame:UnregisterEvent("ADDON_LOADED") | 288 DegaineFrame:UnregisterEvent("ADDON_LOADED") |
335 | 289 |
336 elseif event == "PLAYER_LOGIN" then | 290 elseif event == "PLAYER_LOGIN" then |
337 -- add some spell to the blacklist | 291 -- BLacklis alomst all Companions and mounts |
338 for i=1,GetNumCompanions("CRITTER") do | 292 T.DoBlackListCrittersAndMount() |
339 -- creatureID, creatureName, creatureSpellID, icon, issummoned = GetCompanionInfo("CRITTER", i) | |
340 local _, _, creatureSpellID = GetCompanionInfo("CRITTER", i) | |
341 if creatureSpellID ~= 55068 then -- Mr Chilly stealth weapons... | |
342 SpellBlackList[creatureSpellID] = true | |
343 end | |
344 end | |
345 | |
346 -- mount is important only if the invocation is cancelled | |
347 for i=1,GetNumCompanions("MOUNT") do | |
348 -- creatureID, creatureName, creatureSpellID, icon, issummoned = GetCompanionInfo("MOUNT", i) | |
349 local _, _, creatureSpellID = GetCompanionInfo("MOUNT", i) | |
350 if creatureSpellID ~= 48778 then -- Acherus Deathcharger stealth weapons... | |
351 SpellBlackList[creatureSpellID] = true | |
352 end | |
353 end | |
354 end | 293 end |
355 end | 294 end |
356 | 295 |
357 -- Hook when standing up | 296 -- Hook when standing up |
358 -- (Didn't work, see http://forums.wowace.com/showthread.php?p=310547#post310547) | 297 -- (Didn't work, see http://forums.wowace.com/showthread.php?p=310547#post310547) |