annotate Constants.lua @ 430:dbdd83d7982d

Added tag 6.0.3-9 for changeset 95af8e72aa19
author MMOSimca <MMOSimca@gmail.com>
date Thu, 05 Feb 2015 08:15:03 -0500
parents de0795cfbe56
children 6e55341c3fa4
rev   line source
jcallahan@1 1 -----------------------------------------------------------------------
jcallahan@1 2 -- Upvalued Lua API.
jcallahan@1 3 -----------------------------------------------------------------------
jcallahan@1 4 local _G = getfenv(0)
jcallahan@1 5
jcallahan@1 6 local bit = _G.bit
jcallahan@1 7
jcallahan@1 8
jcallahan@1 9 -----------------------------------------------------------------------
jcallahan@1 10 -- AddOn namespace.
jcallahan@1 11 -----------------------------------------------------------------------
jcallahan@1 12 local ADDON_NAME, private = ...
jcallahan@1 13
jcallahan@1 14
jcallahan@1 15 -----------------------------------------------------------------------
MMOSimca@381 16 -- Boss/Loot Data Constants.
MMOSimca@336 17 -----------------------------------------------------------------------
MMOSimca@345 18 -- Map of Alliance Logging NPC Summon spells to all possible Timber objectIDs of the proper tree size
MMOSimca@345 19 private.LOGGING_SPELL_ID_TO_OBJECT_ID_MAP = {
MMOSimca@381 20 [167902] = 234021,
MMOSimca@381 21 [167969] = 234022,
MMOSimca@381 22 [168201] = 234023,
MMOSimca@345 23 }
MMOSimca@345 24 -- Account for Horde spell IDs
MMOSimca@345 25 private.LOGGING_SPELL_ID_TO_OBJECT_ID_MAP[167961] = private.LOGGING_SPELL_ID_TO_OBJECT_ID_MAP[167902]
MMOSimca@345 26 private.LOGGING_SPELL_ID_TO_OBJECT_ID_MAP[168043] = private.LOGGING_SPELL_ID_TO_OBJECT_ID_MAP[167969]
MMOSimca@345 27 private.LOGGING_SPELL_ID_TO_OBJECT_ID_MAP[168200] = private.LOGGING_SPELL_ID_TO_OBJECT_ID_MAP[168201]
MMOSimca@345 28
MMOSimca@355 29 -- Map of Garrison Cache object names to Garrison Cache object IDs
MMOSimca@355 30 private.GARRISON_CACHE_OBJECT_NAME_TO_OBJECT_ID_MAP = {
MMOSimca@355 31 ["Garrison Cache"] = 236916,
MMOSimca@355 32 ["Full Garrison Cache"] = 237722,
MMOSimca@355 33 ["Hefty Garrison Cache"] = 237723,
MMOSimca@355 34 }
MMOSimca@355 35
MMOSimca@381 36 -- Mapping of items that, when right-clicked, fire a spell (which can fail, so we have to check success).
MMOSimca@381 37 -- They reward loot via loot toast popups upon completion of that spell.
MMOSimca@381 38 -- SHOW_LOOT_TOAST can be used to track loot.
MMOSimca@381 39 private.LOOT_TOAST_CONTAINER_SPELL_ID_TO_ITEM_ID_MAP = {
MMOSimca@345 40 [142397] = 98134, -- Heroic Cache of Treasures
MMOSimca@345 41 [142901] = 98546, -- Bulging Heroic Cache of Treasures
MMOSimca@345 42 [143506] = 98095, -- Brawler's Pet Supplies
MMOSimca@345 43 [143507] = 94207, -- Fabled Pandaren Pet Supplies
MMOSimca@345 44 [143508] = 89125, -- Sack of Pet Supplies
MMOSimca@345 45 [143509] = 93146, -- Pandaren Spirit Pet Supplies
MMOSimca@345 46 [143510] = 93147, -- Pandaren Spirit Pet Supplies
MMOSimca@345 47 [143511] = 93149, -- Pandaren Spirit Pet Supplies
MMOSimca@345 48 [143512] = 93148, -- Pandaren Spirit Pet Supplies
MMOSimca@345 49 [146885] = 103535, -- Bulging Bag of Charms
MMOSimca@345 50 [147598] = 104014, -- Pouch of Timeless Coins
MMOSimca@345 51 [149222] = 105911, -- Pouch of Enduring Wisdom
MMOSimca@345 52 [149223] = 105912, -- Oversized Pouch of Enduring Wisdom
MMOSimca@345 53 [171513] = 116414, -- Pet Supplies
MMOSimca@345 54 [175767] = 118697, -- Big Bag of Pet Supplies
MMOSimca@345 55 [178508] = 120321, -- Mystery Bag
MMOSimca@345 56 }
MMOSimca@345 57
MMOSimca@381 58 -- Mapping of items that, when right-clicked, fire a spell (which can fail, so we have to check success).
MMOSimca@381 59 -- They reward loot upon completion of that spell.
MMOSimca@381 60 -- CHAT_MSG_LOOT -must- be used to track loot, which is definitely not ideal.
MMOSimca@381 61 private.DELAYED_CONTAINER_SPELL_ID_TO_ITEM_ID_MAP = {
MMOSimca@394 62 [57844] = 36781,
MMOSimca@394 63 [58160] = 24476,
MMOSimca@394 64 [58165] = 7973,
MMOSimca@394 65 [58168] = 5524,
MMOSimca@394 66 [58172] = 5523,
MMOSimca@394 67 [61898] = 15874,
MMOSimca@394 68 [64202] = 45909,
MMOSimca@394 69 [73500] = 52340,
MMOSimca@394 70 [80615] = 58856,
MMOSimca@394 71 [84193] = 60838,
MMOSimca@394 72 [99438] = 69956,
MMOSimca@394 73 [99500] = 69990,
MMOSimca@394 74 [109946] = 78890,
MMOSimca@394 75 [109948] = 78892,
MMOSimca@394 76 [109954] = 77952,
MMOSimca@394 77 [146236] = 102269,
MMOSimca@394 78 [146237] = 102264,
MMOSimca@394 79 [146238] = 102263,
MMOSimca@394 80 [146239] = 102265,
MMOSimca@394 81 [146240] = 102266,
MMOSimca@394 82 [146241] = 102267,
MMOSimca@394 83 [146242] = 102268,
MMOSimca@394 84 [146243] = 102320,
MMOSimca@394 85 [146244] = 102291,
MMOSimca@394 86 [146246] = 102318,
MMOSimca@394 87 [146259] = 102276,
MMOSimca@394 88 [146260] = 102271,
MMOSimca@394 89 [146261] = 102270,
MMOSimca@394 90 [146263] = 102272,
MMOSimca@394 91 [146264] = 102273,
MMOSimca@394 92 [146265] = 102274,
MMOSimca@394 93 [146266] = 102275,
MMOSimca@394 94 [146267] = 102327,
MMOSimca@394 95 [146268] = 102283,
MMOSimca@394 96 [146269] = 102278,
MMOSimca@394 97 [146270] = 102277,
MMOSimca@394 98 [146271] = 102279,
MMOSimca@394 99 [146272] = 102280,
MMOSimca@394 100 [146273] = 102281,
MMOSimca@394 101 [146274] = 102282,
MMOSimca@394 102 [146275] = 102334,
MMOSimca@394 103 [146276] = 102290,
MMOSimca@394 104 [146277] = 102285,
MMOSimca@394 105 [146278] = 102284,
MMOSimca@394 106 [146279] = 102286,
MMOSimca@394 107 [146280] = 102287,
MMOSimca@394 108 [146281] = 102288,
MMOSimca@394 109 [146282] = 102289,
MMOSimca@394 110 [146283] = 102341,
MMOSimca@394 111 [147433] = 102266,
MMOSimca@394 112 [147434] = 102266,
MMOSimca@394 113 [147435] = 102266,
MMOSimca@394 114 [147597] = 104009,
MMOSimca@394 115 [148099] = 104010,
MMOSimca@394 116 [148103] = 104012,
MMOSimca@394 117 [148104] = 104013,
MMOSimca@394 118 [148740] = 104345,
MMOSimca@394 119 [148746] = 104347,
MMOSimca@394 120 [155445] = 107649,
MMOSimca@394 121 [161131] = 111589,
MMOSimca@394 122 [161225] = 111595,
MMOSimca@394 123 [161226] = 111601,
MMOSimca@394 124 [161230] = 111650,
MMOSimca@394 125 [161231] = 111652,
MMOSimca@394 126 [161232] = 111651,
MMOSimca@394 127 [161234] = 111656,
MMOSimca@394 128 [161237] = 111658,
MMOSimca@394 129 [161241] = 111659,
MMOSimca@394 130 [161261] = 111662,
MMOSimca@394 131 [161266] = 111663,
MMOSimca@394 132 [161267] = 111664,
MMOSimca@394 133 [161269] = 111665,
MMOSimca@394 134 [161270] = 111666,
MMOSimca@394 135 [161272] = 111667,
MMOSimca@394 136 [161273] = 111668,
MMOSimca@394 137 [161274] = 111669,
MMOSimca@394 138 [161275] = 111670,
MMOSimca@394 139 [161276] = 111671,
MMOSimca@394 140 [161277] = 111672,
MMOSimca@394 141 [161279] = 111673,
MMOSimca@394 142 [161281] = 111674,
MMOSimca@394 143 [161283] = 111675,
MMOSimca@394 144 [161284] = 111676,
MMOSimca@394 145 [166030] = 113203,
MMOSimca@394 146 [166153] = 113244,
MMOSimca@394 147 [166156] = 113245,
MMOSimca@394 148 [166460] = 113295,
MMOSimca@394 149 [166481] = 113307,
MMOSimca@394 150 [166487] = 113310,
MMOSimca@394 151 [166507] = 113313,
MMOSimca@394 152 [166509] = 113316,
MMOSimca@394 153 [166513] = 113321,
MMOSimca@394 154 [166520] = 113324,
MMOSimca@394 155 [166526] = 113328,
MMOSimca@394 156 [166529] = 113332,
MMOSimca@394 157 [166531] = 113336,
MMOSimca@394 158 [166550] = 113355,
MMOSimca@394 159 [166574] = 113358,
MMOSimca@394 160 [166578] = 113361,
MMOSimca@394 161 [166582] = 113365,
MMOSimca@394 162 [166586] = 113367,
MMOSimca@394 163 [166589] = 113371,
MMOSimca@394 164 [166593] = 113376,
MMOSimca@394 165 [166599] = 113381,
MMOSimca@394 166 [166600] = 113384,
MMOSimca@394 167 [166606] = 113387,
MMOSimca@394 168 [166611] = 113391,
MMOSimca@394 169 [166619] = 113394,
MMOSimca@394 170 [166739] = 113327,
MMOSimca@394 171 [166744] = 113329,
MMOSimca@394 172 [166764] = 113411,
MMOSimca@394 173 [166770] = 113417,
MMOSimca@394 174 [166788] = 113420,
MMOSimca@394 175 [166796] = 113423,
MMOSimca@394 176 [166800] = 113426,
MMOSimca@394 177 [166801] = 113429,
MMOSimca@394 178 [166900] = 113452,
MMOSimca@394 179 [166905] = 113465,
MMOSimca@394 180 [166909] = 113468,
MMOSimca@394 181 [166915] = 113471,
MMOSimca@394 182 [166980] = 113478,
MMOSimca@394 183 [166985] = 113483,
MMOSimca@394 184 [167089] = 113495,
MMOSimca@394 185 [167096] = 113499,
MMOSimca@394 186 [167981] = 114002,
MMOSimca@394 187 [168084] = 114039,
MMOSimca@394 188 [168103] = 114052,
MMOSimca@394 189 [168115] = 114053,
MMOSimca@394 190 [168178] = 114116,
MMOSimca@394 191 [168179] = 114119,
MMOSimca@394 192 [168180] = 114120,
MMOSimca@394 193 [168677] = 114106,
MMOSimca@394 194 [168678] = 114051,
MMOSimca@394 195 [168679] = 114049,
MMOSimca@394 196 [168680] = 114048,
MMOSimca@394 197 [168681] = 114047,
MMOSimca@394 198 [168682] = 114046,
MMOSimca@394 199 [168683] = 114045,
MMOSimca@394 200 [168684] = 114044,
MMOSimca@394 201 [168685] = 114043,
MMOSimca@394 202 [168686] = 114042,
MMOSimca@394 203 [168687] = 114041,
MMOSimca@394 204 [168688] = 114040,
MMOSimca@394 205 [168700] = 114108,
MMOSimca@394 206 [168701] = 114105,
MMOSimca@394 207 [168702] = 114104,
MMOSimca@394 208 [168703] = 114103,
MMOSimca@394 209 [168704] = 114102,
MMOSimca@394 210 [168705] = 114101,
MMOSimca@394 211 [168706] = 114100,
MMOSimca@394 212 [168707] = 114099,
MMOSimca@394 213 [168708] = 114098,
MMOSimca@394 214 [168709] = 114097,
MMOSimca@394 215 [168710] = 114096,
MMOSimca@394 216 [168711] = 114095,
MMOSimca@394 217 [168712] = 114094,
MMOSimca@394 218 [168713] = 114109,
MMOSimca@394 219 [168714] = 114068,
MMOSimca@394 220 [168715] = 114067,
MMOSimca@394 221 [168716] = 114066,
MMOSimca@394 222 [168717] = 114065,
MMOSimca@394 223 [168718] = 114064,
MMOSimca@394 224 [168719] = 114063,
MMOSimca@394 225 [168720] = 114062,
MMOSimca@394 226 [168721] = 114061,
MMOSimca@394 227 [168722] = 114060,
MMOSimca@394 228 [168723] = 114059,
MMOSimca@394 229 [168724] = 114058,
MMOSimca@394 230 [168725] = 114057,
MMOSimca@394 231 [168726] = 114110,
MMOSimca@394 232 [168727] = 114080,
MMOSimca@394 233 [168728] = 114079,
MMOSimca@394 234 [168729] = 114078,
MMOSimca@394 235 [168730] = 114077,
MMOSimca@394 236 [168731] = 114076,
MMOSimca@394 237 [168732] = 114075,
MMOSimca@394 238 [168733] = 114074,
MMOSimca@394 239 [168734] = 114073,
MMOSimca@394 240 [168735] = 114072,
MMOSimca@394 241 [168736] = 114071,
MMOSimca@394 242 [168737] = 114070,
MMOSimca@394 243 [168738] = 114069,
MMOSimca@394 244 [168739] = 114112,
MMOSimca@394 245 [168740] = 114087,
MMOSimca@394 246 [168741] = 119124,
MMOSimca@394 247 [168742] = 114086,
MMOSimca@394 248 [168743] = 119122,
MMOSimca@394 249 [168744] = 119120,
MMOSimca@394 250 [168745] = 114085,
MMOSimca@394 251 [168746] = 119118,
MMOSimca@394 252 [168747] = 119116,
MMOSimca@394 253 [168748] = 119114,
MMOSimca@394 254 [168749] = 114084,
MMOSimca@394 255 [168750] = 114083,
MMOSimca@394 256 [168751] = 114082,
MMOSimca@394 257 [168752] = 114111,
MMOSimca@394 258 [168753] = 114093,
MMOSimca@394 259 [168754] = 119125,
MMOSimca@394 260 [168755] = 114092,
MMOSimca@394 261 [168756] = 119123,
MMOSimca@394 262 [168757] = 119121,
MMOSimca@394 263 [168758] = 114091,
MMOSimca@394 264 [168759] = 119119,
MMOSimca@394 265 [168760] = 119117,
MMOSimca@394 266 [168761] = 119115,
MMOSimca@394 267 [168762] = 114090,
MMOSimca@394 268 [168763] = 114089,
MMOSimca@394 269 [168764] = 114088,
MMOSimca@394 270 [169508] = 115018,
MMOSimca@394 271 [170566] = 115591,
MMOSimca@394 272 [175132] = 118564,
MMOSimca@394 273 [175135] = 118565,
MMOSimca@394 274 [175136] = 118566,
MMOSimca@394 275 [176482] = 118592,
MMOSimca@394 276 [176483] = 119094,
MMOSimca@394 277 [176484] = 119095,
MMOSimca@394 278 [176485] = 119096,
MMOSimca@394 279 [176486] = 119097,
MMOSimca@394 280 [176487] = 119098,
MMOSimca@394 281 [176488] = 119099,
MMOSimca@394 282 [176489] = 119100,
MMOSimca@394 283 [176490] = 119101,
MMOSimca@394 284 [176491] = 119102,
MMOSimca@394 285 [176791] = 119185,
MMOSimca@394 286 [176934] = 119095,
MMOSimca@394 287 [178444] = 120301,
MMOSimca@394 288 [178445] = 120302,
MMOSimca@381 289 }
MMOSimca@381 290
MMOSimca@387 291 -- List of items that, when right-clicked, reward loot (includes items from DELAYED_CONTAINER_SPELL_ID_TO_ITEM_ID_MAP).
MMOSimca@387 292 -- This means they -must- be tracked via CHAT_MSG_LOOT.
MMOSimca@387 293 -- It also means there is a high margin for bad data since multiple bags can be clicked within a small time frame.
MMOSimca@387 294 -- True = instant cast; false = cast time
MMOSimca@387 295 private.CONTAINER_ITEM_ID_LIST = {
MMOSimca@410 296 [50301] = true,
MMOSimca@410 297 [54218] = true,
MMOSimca@410 298 [97565] = true,
MMOSimca@410 299 [102137] = true,
MMOSimca@410 300 [105751] = true,
MMOSimca@410 301 [110592] = true,
MMOSimca@410 302 [116980] = true,
MMOSimca@410 303 [118529] = true,
MMOSimca@410 304 [118530] = true,
MMOSimca@410 305 [118531] = true,
MMOSimca@410 306 [119036] = true,
MMOSimca@410 307 [119037] = true,
MMOSimca@410 308 [120319] = true,
MMOSimca@410 309 [120320] = true,
MMOSimca@387 310 }
MMOSimca@391 311 for key, value in next, private.DELAYED_CONTAINER_SPELL_ID_TO_ITEM_ID_MAP do
MMOSimca@391 312 private.CONTAINER_ITEM_ID_LIST[value] = false
MMOSimca@391 313 end
MMOSimca@387 314
MMOSimca@391 315 -- Mapping of Spell IDs for bonus roll confirmation prompts to raid bosses
MMOSimca@391 316 -- In some cases this records only bonus loot, and in other cases this is needed for all loot.
MMOSimca@381 317 private.RAID_BOSS_BONUS_SPELL_ID_TO_NPC_ID_MAP = {
MMOSimca@381 318 -----------------------------------------------------------------------
MMOSimca@381 319 -- World Bosses
MMOSimca@381 320 -----------------------------------------------------------------------
MMOSimca@381 321 [132205] = 60491, -- Sha of Anger Bonus (Sha of Anger)
MMOSimca@381 322 [132206] = 62346, -- Galleon Bonus (Galleon)
MMOSimca@381 323 [136381] = 69099, -- Nalak Bonus (Nalak)
MMOSimca@381 324 [137554] = 69161, -- Oondasta Bonus (Oondasta)
MMOSimca@381 325 [148317] = 71952, -- Celestials Bonus (Chi-Ji)
MMOSimca@381 326 [148316] = 72057, -- Ordos Bonus (Ordos)
MMOSimca@389 327 [178847] = 81252, -- Drov Bonus (Drov the Ruiner)
MMOSimca@389 328 [178849] = 81535, -- Tarlna Bonus (Tarlna the Ageless)
MMOSimca@389 329 [178851] = 83746, -- Rukhmar Bonus (Rukhmar)
MMOSimca@381 330
MMOSimca@381 331 -----------------------------------------------------------------------
MMOSimca@381 332 -- Blackrock Foundry
MMOSimca@381 333 -----------------------------------------------------------------------
MMOSimca@419 334 [177530] = 77182, -- Oregorger Bonus (Oregorger)
MMOSimca@389 335 [177529] = 76877, -- Gruul Bonus (Gruul)
MMOSimca@419 336 [177533] = 76973, -- Hans'gar & Franzok Bonus (Hans'gar)
MMOSimca@419 337 [177536] = 76865, -- Beastlord Darmac Bonus (Beastlord Darmac)
MMOSimca@419 338 [177534] = 76814, -- Flamebender Ka'graz Bonus (Flamebender Ka'graz)
MMOSimca@419 339 [177537] = 76906, -- Operator Thogar Bonus (Operator Thogar)
MMOSimca@389 340 [177531] = 76809, -- Blast Furnace (Foreman Feldspar)
MMOSimca@389 341 [177535] = 77692, -- Kromog Bonus (Kromog)
MMOSimca@389 342 [177538] = 77557, -- The Iron Maidens Bonus (Admiral Gar'an)
MMOSimca@389 343 [177539] = 77325, -- Blackhand Bonus (Blackhand)
MMOSimca@381 344
MMOSimca@381 345 -----------------------------------------------------------------------
MMOSimca@381 346 -- Highmaul
MMOSimca@381 347 -----------------------------------------------------------------------
MMOSimca@389 348 [177521] = 78714, -- Kargath Bladefist Bonus (Kargath Bladefist)
MMOSimca@389 349 [177522] = 77404, -- Butcher Bonus (The Butcher)
MMOSimca@419 350 [177524] = 78491, -- Brackenspore Bonus (Brackenspore)
MMOSimca@389 351 [177523] = 78948, -- Tectus Bonus (Tectus)
MMOSimca@389 352 [177525] = 78237, -- Twin Ogron Bonus (Phemos)
MMOSimca@389 353 [177526] = 79015, -- Ko'ragh Bonus (Ko'ragh)
MMOSimca@389 354 [177528] = 77428, -- Imperator Mar'gok Bonus (Imperator Mar'gok)
MMOSimca@381 355
MMOSimca@381 356 -----------------------------------------------------------------------
MMOSimca@381 357 -- Mists of Pandaria
MMOSimca@381 358 -----------------------------------------------------------------------
MMOSimca@381 359 [125144] = 59915, -- Stone Guard Bonus (Jasper Guardian)
MMOSimca@381 360 [132189] = 60009, -- Feng the Accursed Bonus (Feng the Accursed)
MMOSimca@381 361 [132190] = 60143, -- Gara'jal the Spiritbinder Bonus (Gara'jal the Spiritbinder)
MMOSimca@381 362 [132191] = 60709, -- Spirit Kings Bonus (Qiang the Merciless)
MMOSimca@381 363 [132192] = 60410, -- Elegon Bonus (Elegon)
MMOSimca@381 364 [132193] = 60399, -- Will of the Emperor Bonus (Qin-xi)
MMOSimca@381 365 [132200] = 60583, -- Protectors of the Endless Bonus (Protector Kaolan)
MMOSimca@381 366 [132204] = 60583, -- Protectors of the Endless (Elite) Bonus (Protector Kaolan)
MMOSimca@381 367 [132201] = 62442, -- Tsulong Bonus (Tsulong)
MMOSimca@381 368 [132202] = 62983, -- Lei Shi Bonus (Lei Shi)
MMOSimca@381 369 [132203] = 60999, -- Sha of Fear Bonus (Sha of Fear)
MMOSimca@381 370 [132194] = 62980, -- Imperial Vizier Zor'lok Bonus (Imperial Vizier Zor'lok)
MMOSimca@381 371 [132195] = 62543, -- Blade Lord Tay'ak Bonus (Blade Lord Ta'yak)
MMOSimca@381 372 [132196] = 62164, -- Garalon Bonus (Garalon)
MMOSimca@381 373 [132197] = 62397, -- Wind Lord Mel'jarak Bonus (Wind Lord Mel'jarak)
MMOSimca@381 374 [132198] = 62511, -- Amber-Shaper Un'sok Bonus (Amber-Shaper Un'sok)
MMOSimca@381 375 [132199] = 62837, -- Grand Empress Shek'zeer Bonus (Grand Empress Shek'zeer)
MMOSimca@381 376 [139674] = 69465, -- Jin'rokh the Breaker Bonus (Jin'rokh the Breaker)
MMOSimca@381 377 [139677] = 68476, -- Horridon Bonus (Horridon)
MMOSimca@381 378 [139679] = 69078, -- Zandalari Troll Council Bonus (Sul the Sandcrawler)
MMOSimca@381 379 [139680] = 67977, -- Tortos Bonus (Tortos)
MMOSimca@381 380 [139682] = 68065, -- Magaera Bonus (Megaera)
MMOSimca@381 381 [139684] = 69712, -- Ji'kun, the Ancient Mother Bonus (Ji-Kun)
MMOSimca@381 382 [139686] = 68036, -- Durumu the Forgotten Bonus (Durumu the Forgotten)
MMOSimca@381 383 [139687] = 69017, -- Primordious Bonus (Primordius)
MMOSimca@381 384 [139688] = 69427, -- Dark Animus Bonus (Dark Animus)
MMOSimca@381 385 [139689] = 68078, -- Iron Qon Bonus (Iron Qon)
MMOSimca@381 386 [139690] = 68904, -- The Empyreal Queens Bonus (Suen)
MMOSimca@381 387 [139691] = 68397, -- Lei Shen, The Thunder King Bonus (Lei Shen)
MMOSimca@381 388 [139692] = 69473, -- Ra-den Bonus (Ra-den)
MMOSimca@381 389 [145909] = 71543, -- Immerseus Bonus (Immerseus)
MMOSimca@381 390 [145910] = 71475, -- Fallen Protectors Bonus (Rook Stonetoe)
MMOSimca@381 391 [145911] = 72276, -- Norushen Bonus (Amalgam of Corruption)
MMOSimca@381 392 [145912] = 71734, -- Sha of Pride Bonus (Sha of Pride)
MMOSimca@381 393 [145913] = 72249, -- Galakras Bonus (Galakras)
MMOSimca@381 394 [145914] = 71466, -- Iron Juggernaut Bonus (Iron Juggernaut)
MMOSimca@381 395 [145915] = 71859, -- Dark Shaman Bonus (Earthbreaker Haromm)
MMOSimca@381 396 [145916] = 71515, -- General Nazgrim Bonus (General Nazgrim)
MMOSimca@381 397 [145917] = 71454, -- Malkorok Bonus (Malkorok)
MMOSimca@381 398 [145919] = 71889, -- Spoils of Pandaria Bonus (Secured Stockpile of Pandaren Spoils)
MMOSimca@381 399 [145920] = 71529, -- Thok the Bloodthirsty Bonus (Thok the Bloodthirsty)
MMOSimca@381 400 [145918] = 71504, -- Siegecrafter Blackfuse Bonus (Siegecrafter Blackfuse)
MMOSimca@381 401 [145921] = 71161, -- Klaxxi Paragons Bonus (Kil'ruk the Wind-Reaver)
MMOSimca@381 402 [145922] = 71865, -- Garrosh Hellscream Bonus (Garrosh Hellscream)
MMOSimca@381 403 }
MMOSimca@381 404
MMOSimca@381 405
MMOSimca@381 406 -----------------------------------------------------------------------
MMOSimca@381 407 -- Fundamental Constants.
MMOSimca@381 408 -----------------------------------------------------------------------
MMOSimca@381 409 private.wow_version, private.build_num = _G.GetBuildInfo()
MMOSimca@381 410 private.region = GetCVar("portal"):sub(0,2):upper()
MMOSimca@381 411 -- PTR/Beta return "public-test", but they are properly called "XX"
MMOSimca@381 412 if private.region == "PU" then private.region = "XX" end
MMOSimca@381 413
MMOSimca@381 414 private.UNIT_TYPES = {
MMOSimca@381 415 PLAYER = "Player",
MMOSimca@381 416 OBJECT = "GameObject",
MMOSimca@381 417 UNKNOWN = "Unknown",
MMOSimca@381 418 NPC = "Creature",
MMOSimca@381 419 PET = "Pet",
MMOSimca@381 420 VEHICLE = "Vehicle",
MMOSimca@381 421 ITEM = "Item",
MMOSimca@381 422 }
MMOSimca@381 423
MMOSimca@381 424 private.UNIT_TYPE_NAMES = {
MMOSimca@381 425 ["Player"] = "PLAYER",
MMOSimca@381 426 ["GameObject"] = "OBJECT",
MMOSimca@381 427 ["Unknown"] = "UNKNOWN",
MMOSimca@381 428 ["Creature"] = "NPC",
MMOSimca@381 429 ["Pet"] = "PET",
MMOSimca@381 430 ["Vehicle"] = "VEHICLE",
MMOSimca@381 431 ["Item"] = "ITEM",
MMOSimca@381 432 }
MMOSimca@381 433
MMOSimca@381 434 private.ACTION_TYPE_FLAGS = {
MMOSimca@381 435 ITEM = 0x00000001,
MMOSimca@381 436 NPC = 0x00000002,
MMOSimca@381 437 OBJECT = 0x00000004,
MMOSimca@381 438 ZONE = 0x00000008,
MMOSimca@381 439 }
MMOSimca@381 440
MMOSimca@381 441 private.ACTION_TYPE_NAMES = {}
MMOSimca@381 442
MMOSimca@381 443 for name, bit in _G.pairs(private.ACTION_TYPE_FLAGS) do
MMOSimca@381 444 private.ACTION_TYPE_NAMES[bit] = name
MMOSimca@381 445 end
MMOSimca@381 446
MMOSimca@381 447 private.SPELL_LABELS_BY_NAME = {
MMOSimca@381 448 [_G.GetSpellInfo(13262)] = "DISENCHANT",
MMOSimca@381 449 [_G.GetSpellInfo(4036)] = "ENGINEERING",
MMOSimca@381 450 [_G.GetSpellInfo(30427)] = "EXTRACT_GAS",
MMOSimca@381 451 [_G.GetSpellInfo(131476)] = "FISHING",
MMOSimca@381 452 [_G.GetSpellInfo(2366)] = "HERB_GATHERING",
MMOSimca@381 453 [_G.GetSpellInfo(51005)] = "MILLING",
MMOSimca@381 454 [_G.GetSpellInfo(605)] = "MIND_CONTROL",
MMOSimca@381 455 [_G.GetSpellInfo(2575)] = "MINING",
MMOSimca@381 456 [_G.GetSpellInfo(3365)] = "OPENING",
MMOSimca@381 457 [_G.GetSpellInfo(921)] = "PICK_POCKET",
MMOSimca@381 458 [_G.GetSpellInfo(31252)] = "PROSPECTING",
MMOSimca@381 459 [_G.GetSpellInfo(73979)] = "SEARCHING_FOR_ARTIFACTS",
MMOSimca@381 460 [_G.GetSpellInfo(8613)] = "SKINNING",
MMOSimca@381 461 }
MMOSimca@381 462
MMOSimca@381 463 private.NON_LOOT_SPELL_LABELS = {
MMOSimca@381 464 MIND_CONTROL = true,
MMOSimca@381 465 }
MMOSimca@381 466
MMOSimca@381 467 local AF = private.ACTION_TYPE_FLAGS
MMOSimca@381 468
MMOSimca@381 469 private.SPELL_FLAGS_BY_LABEL = {
MMOSimca@381 470 DISENCHANT = AF.ITEM,
MMOSimca@381 471 ENGINEERING = AF.NPC,
MMOSimca@381 472 EXTRACT_GAS = AF.ZONE,
MMOSimca@381 473 FISHING = AF.ZONE,
MMOSimca@381 474 HERB_GATHERING = bit.bor(AF.NPC, AF.OBJECT),
MMOSimca@381 475 MILLING = AF.ITEM,
MMOSimca@381 476 MIND_CONTROL = AF.NPC,
MMOSimca@381 477 MINING = bit.bor(AF.NPC, AF.OBJECT),
MMOSimca@381 478 OPENING = AF.OBJECT,
MMOSimca@381 479 PICK_POCKET = AF.NPC,
MMOSimca@381 480 PROSPECTING = AF.ITEM,
MMOSimca@381 481 SEARCHING_FOR_ARTIFACTS = AF.OBJECT,
MMOSimca@381 482 SKINNING = AF.NPC,
MMOSimca@381 483 }
MMOSimca@381 484
MMOSimca@381 485
MMOSimca@381 486 -----------------------------------------------------------------------
MMOSimca@381 487 -- Faction/Reputation Data Constants.
MMOSimca@381 488 -----------------------------------------------------------------------
MMOSimca@381 489
MMOSimca@340 490 private.FACTION_DATA = {
MMOSimca@340 491 -- Used only for private.REP_BUFFS
MMOSimca@418 492 ARGENT_CRUSADE = { 1106, false, _G.GetFactionInfoByID(1106) },
MMOSimca@418 493 BILGEWATER_CARTEL = { 1133, false, _G.GetFactionInfoByID(1133) },
MMOSimca@418 494 CENARION_CIRCLE = { 609, false, _G.GetFactionInfoByID(609) },
MMOSimca@418 495 DARKSPEAR = { 530, false, _G.GetFactionInfoByID(530) },
MMOSimca@418 496 DARNASSUS = { 69, false, _G.GetFactionInfoByID(69) },
MMOSimca@418 497 DRAGONMAW_CLAN = { 1172, false, _G.GetFactionInfoByID(1172) },
MMOSimca@418 498 EARTHEN_RING = { 1135, false, _G.GetFactionInfoByID(1135) },
MMOSimca@418 499 EBON_BLADE = { 1098, false, _G.GetFactionInfoByID(1098) },
MMOSimca@418 500 EXODAR = { 930, false, _G.GetFactionInfoByID(930) },
MMOSimca@418 501 GILNEAS = { 1134, false, _G.GetFactionInfoByID(1134) },
MMOSimca@418 502 GNOMEREGAN = { 54, false, _G.GetFactionInfoByID(54) },
MMOSimca@418 503 GUARDIANS_OF_HYJAL = { 1158, false, _G.GetFactionInfoByID(1158) },
MMOSimca@418 504 GUILD = { 1168, false, _G.GetFactionInfoByID(1168) },
MMOSimca@418 505 HONOR_HOLD = { 946, false, _G.GetFactionInfoByID(946) },
MMOSimca@418 506 HUOJIN = { 1352, false, _G.GetFactionInfoByID(1352) },
MMOSimca@418 507 IRONFORGE = { 47, false, _G.GetFactionInfoByID(47) },
MMOSimca@418 508 KIRIN_TOR = { 1090, false, _G.GetFactionInfoByID(1090) },
MMOSimca@418 509 ORGRIMMAR = { 76, false, _G.GetFactionInfoByID(76) },
MMOSimca@418 510 RAMKAHEN = { 1173, false, _G.GetFactionInfoByID(1173) },
MMOSimca@418 511 SHATAR = { 935, false, _G.GetFactionInfoByID(935) },
MMOSimca@418 512 SILVERMOON = { 911, false, _G.GetFactionInfoByID(911) },
MMOSimca@418 513 STORMWIND = { 72, false, _G.GetFactionInfoByID(72) },
MMOSimca@418 514 THERAZANE = { 1171, false, _G.GetFactionInfoByID(1171) },
MMOSimca@418 515 THRALLMAR = { 947, false, _G.GetFactionInfoByID(947) },
MMOSimca@418 516 THUNDER_BLUFF = { 81, false, _G.GetFactionInfoByID(81) },
MMOSimca@418 517 TUSHUI = { 1353, false, _G.GetFactionInfoByID(1353) },
MMOSimca@418 518 UNDERCITY = { 68, false, _G.GetFactionInfoByID(68) },
MMOSimca@418 519 WILDHAMMER_CLAN = { 1174, false, _G.GetFactionInfoByID(1174) },
MMOSimca@418 520 WYRMREST_ACCORD = { 1091, false, _G.GetFactionInfoByID(1091) },
MMOSimca@340 521 -- Commendation Factions
MMOSimca@418 522 ANGLERS = { 1302, false, _G.GetFactionInfoByID(1302) },
MMOSimca@418 523 AUGUST_CELESTIALS = { 1341, false, _G.GetFactionInfoByID(1341) },
MMOSimca@418 524 DOMINANCE_OFFENSIVE = { 1375, false, _G.GetFactionInfoByID(1375) },
MMOSimca@418 525 GOLDEN_LOTUS = { 1269, false, _G.GetFactionInfoByID(1269) },
MMOSimca@418 526 KIRIN_TOR_OFFENSIVE = { 1387, false, _G.GetFactionInfoByID(1387) },
MMOSimca@418 527 KLAXXI = { 1337, false, _G.GetFactionInfoByID(1337) },
MMOSimca@418 528 LOREWALKERS = { 1345, false, _G.GetFactionInfoByID(1345) },
MMOSimca@418 529 OPERATION_SHIELDWALL = { 1376, false, _G.GetFactionInfoByID(1376) },
MMOSimca@418 530 ORDER_OF_THE_CLOUD_SERPENTS = { 1271, false, _G.GetFactionInfoByID(1271) },
MMOSimca@418 531 SHADO_PAN = { 1270, false, _G.GetFactionInfoByID(1270) },
MMOSimca@418 532 SHADO_PAN_ASSAULT = { 1435, false, _G.GetFactionInfoByID(1435) },
MMOSimca@418 533 SUNREAVER_ONSLAUGHT = { 1388, false, _G.GetFactionInfoByID(1388) },
MMOSimca@418 534 TILLERS = { 1272, false, _G.GetFactionInfoByID(1272) },
MMOSimca@418 535 -- Bodyguards (blacklisted)
MMOSimca@418 536 DELVAR_IRONFIST = { 1733, true, _G.GetFactionInfoByID(1733) },
MMOSimca@418 537 TORMMOK = { 1736, true, _G.GetFactionInfoByID(1736) },
MMOSimca@418 538 TALONPRIEST_ISHAAL = { 1737, true, _G.GetFactionInfoByID(1737) },
MMOSimca@418 539 DEFENDER_ILLONA = { 1738, true, _G.GetFactionInfoByID(1738) },
MMOSimca@418 540 VIVIANNE = { 1739, true, _G.GetFactionInfoByID(1739) },
MMOSimca@418 541 AEDA_BRIGHTDAWN = { 1740, true, _G.GetFactionInfoByID(1740) },
MMOSimca@418 542 LEORAJH = { 1741, true, _G.GetFactionInfoByID(1741) },
MMOSimca@337 543 }
MMOSimca@337 544
MMOSimca@337 545 private.REP_BUFFS = {
MMOSimca@418 546 -- Tabard Buffs (they screw up everything, so blacklist)
MMOSimca@340 547 [_G.GetSpellInfo(93830)] = { -- BILGEWATER CARTEL TABARD
MMOSimca@418 548 faction = private.FACTION_DATA.BILGEWATER_CARTEL[3],
MMOSimca@340 549 ignore = true,
MMOSimca@340 550 },
MMOSimca@340 551 [_G.GetSpellInfo(93827)] = { -- DARKSPEAR TABARD
MMOSimca@418 552 faction = private.FACTION_DATA.DARKSPEAR[3],
MMOSimca@340 553 ignore = true,
MMOSimca@340 554 },
MMOSimca@340 555 [_G.GetSpellInfo(93806)] = { -- DARNASSUS TABARD
MMOSimca@418 556 faction = private.FACTION_DATA.DARNASSUS[3],
MMOSimca@340 557 ignore = true,
MMOSimca@340 558 },
MMOSimca@340 559 [_G.GetSpellInfo(93811)] = { -- EXODAR TABARD
MMOSimca@418 560 faction = private.FACTION_DATA.EXODAR[3],
MMOSimca@340 561 ignore = true,
MMOSimca@340 562 },
MMOSimca@340 563 [_G.GetSpellInfo(93816)] = { -- GILNEAS TABARD
MMOSimca@418 564 faction = private.FACTION_DATA.GILNEAS[3],
MMOSimca@340 565 ignore = true,
MMOSimca@340 566 },
MMOSimca@340 567 [_G.GetSpellInfo(93821)] = { -- GNOMEREGAN TABARD
MMOSimca@418 568 faction = private.FACTION_DATA.GNOMEREGAN[3],
MMOSimca@340 569 ignore = true,
MMOSimca@340 570 },
MMOSimca@340 571 [_G.GetSpellInfo(126436)] = { -- HUOJIN TABARD
MMOSimca@418 572 faction = private.FACTION_DATA.HUOJIN[3],
MMOSimca@340 573 ignore = true,
MMOSimca@340 574 },
MMOSimca@340 575 [_G.GetSpellInfo(97340)] = { -- ILLUSTRIOUS GUILD TABARD
MMOSimca@418 576 faction = private.FACTION_DATA.GUILD[3],
MMOSimca@340 577 modifier = 1,
MMOSimca@340 578 },
MMOSimca@340 579 [_G.GetSpellInfo(93805)] = { -- IRONFORGE TABARD
MMOSimca@418 580 faction = private.FACTION_DATA.IRONFORGE[3],
MMOSimca@340 581 ignore = true,
MMOSimca@340 582 },
MMOSimca@340 583 [_G.GetSpellInfo(93825)] = { -- ORGRIMMAR TABARD
MMOSimca@418 584 faction = private.FACTION_DATA.ORGRIMMAR[3],
MMOSimca@340 585 ignore = true,
MMOSimca@340 586 },
MMOSimca@340 587 [_G.GetSpellInfo(97341)] = { -- RENOWNED GUILD TABARD
MMOSimca@418 588 faction = private.FACTION_DATA.GUILD[3],
MMOSimca@340 589 modifier = 0.5,
MMOSimca@340 590 },
MMOSimca@340 591 [_G.GetSpellInfo(93828)] = { -- SILVERMOON CITY TABARD
MMOSimca@418 592 faction = private.FACTION_DATA.SILVERMOON[3],
MMOSimca@340 593 ignore = true,
MMOSimca@340 594 },
MMOSimca@340 595 [_G.GetSpellInfo(93795)] = { -- STORMWIND TABARD
MMOSimca@418 596 faction = private.FACTION_DATA.STORMWIND[3],
MMOSimca@340 597 ignore = true,
MMOSimca@340 598 },
MMOSimca@340 599 [_G.GetSpellInfo(93337)] = { -- TABARD OF RAMKAHEN
MMOSimca@418 600 faction = private.FACTION_DATA.RAMKAHEN[3],
MMOSimca@340 601 ignore = true,
MMOSimca@340 602 },
MMOSimca@340 603 [_G.GetSpellInfo(57819)] = { -- TABARD OF THE ARGENT CRUSADE
MMOSimca@418 604 faction = private.FACTION_DATA.ARGENT_CRUSADE[3],
MMOSimca@340 605 ignore = true,
MMOSimca@340 606 },
MMOSimca@340 607 [_G.GetSpellInfo(94158)] = { -- TABARD OF THE DRAGONMAW CLAN
MMOSimca@418 608 faction = private.FACTION_DATA.DRAGONMAW_CLAN[3],
MMOSimca@340 609 ignore = true,
MMOSimca@340 610 },
MMOSimca@340 611 [_G.GetSpellInfo(93339)] = { -- TABARD OF THE EARTHEN RING
MMOSimca@418 612 faction = private.FACTION_DATA.EARTHEN_RING[3],
MMOSimca@340 613 ignore = true,
MMOSimca@340 614 },
MMOSimca@340 615 [_G.GetSpellInfo(57820)] = { -- TABARD OF THE EBON BLADE
MMOSimca@418 616 faction = private.FACTION_DATA.EBON_BLADE[3],
MMOSimca@340 617 ignore = true,
MMOSimca@340 618 },
MMOSimca@340 619 [_G.GetSpellInfo(93341)] = { -- TABARD OF THE GUARDIANS OF HYJAL
MMOSimca@418 620 faction = private.FACTION_DATA.GUARDIANS_OF_HYJAL[3],
MMOSimca@340 621 ignore = true,
MMOSimca@340 622 },
MMOSimca@340 623 [_G.GetSpellInfo(57821)] = { -- TABARD OF THE KIRIN TOR
MMOSimca@418 624 faction = private.FACTION_DATA.KIRIN_TOR[3],
MMOSimca@340 625 ignore = true,
MMOSimca@340 626 },
MMOSimca@340 627 [_G.GetSpellInfo(93368)] = { -- TABARD OF THE WILDHAMMER CLAN
MMOSimca@418 628 faction = private.FACTION_DATA.WILDHAMMER_CLAN[3],
MMOSimca@340 629 ignore = true,
MMOSimca@340 630 },
MMOSimca@340 631 [_G.GetSpellInfo(57822)] = { -- TABARD OF THE WYRMREST ACCORD
MMOSimca@418 632 faction = private.FACTION_DATA.WYRMREST_ACCORD[3],
MMOSimca@340 633 ignore = true,
MMOSimca@340 634 },
MMOSimca@340 635 [_G.GetSpellInfo(93347)] = { -- TABARD OF THERAZANE
MMOSimca@418 636 faction = private.FACTION_DATA.THERAZANE[3],
MMOSimca@340 637 ignore = true,
MMOSimca@340 638 },
MMOSimca@340 639 [_G.GetSpellInfo(94463)] = { -- THUNDERBLUFF TABARD
MMOSimca@418 640 faction = private.FACTION_DATA.THUNDER_BLUFF[3],
MMOSimca@340 641 ignore = true,
MMOSimca@340 642 },
MMOSimca@340 643 [_G.GetSpellInfo(126434)] = { -- TUSHUI TABARD
MMOSimca@418 644 faction = private.FACTION_DATA.TUSHUI[3],
MMOSimca@340 645 ignore = true,
MMOSimca@340 646 },
MMOSimca@340 647 [_G.GetSpellInfo(94462)] = { -- UNDERCITY TABARD
MMOSimca@418 648 faction = private.FACTION_DATA.UNDERCITY[3],
MMOSimca@340 649 ignore = true,
MMOSimca@340 650 },
MMOSimca@340 651
MMOSimca@418 652 -- Banner Buffs (can't tell them apart via ingame API, so blacklist)
MMOSimca@340 653 [_G.GetSpellInfo(90216)] = { -- ALLIANCE GUILD STANDARD
MMOSimca@340 654 ignore = true,
MMOSimca@340 655 },
MMOSimca@340 656 [_G.GetSpellInfo(90708)] = { -- HORDE GUILD STANDARD
MMOSimca@340 657 ignore = true,
MMOSimca@340 658 },
MMOSimca@340 659
MMOSimca@340 660 -- Holiday Buffs
MMOSimca@340 661 [_G.GetSpellInfo(136583)] = { -- DARKMOON TOP HAT
MMOSimca@340 662 modifier = 0.1,
MMOSimca@337 663 },
MMOSimca@337 664 [_G.GetSpellInfo(24705)] = { -- GRIM VISAGE
MMOSimca@337 665 modifier = 0.1,
MMOSimca@337 666 },
MMOSimca@337 667 [_G.GetSpellInfo(61849)] = { -- SPIRIT OF SHARING
MMOSimca@337 668 modifier = 0.1,
MMOSimca@337 669 },
MMOSimca@340 670 [_G.GetSpellInfo(95987)] = { -- UNBURDENED
MMOSimca@337 671 modifier = 0.1,
MMOSimca@337 672 },
MMOSimca@340 673 [_G.GetSpellInfo(46668)] = { -- WHEE!
MMOSimca@337 674 modifier = 0.1,
MMOSimca@337 675 },
MMOSimca@337 676 [_G.GetSpellInfo(100951)] = { -- WOW 8TH ANNIVERSARY
MMOSimca@337 677 modifier = 0.08,
MMOSimca@337 678 },
MMOSimca@337 679 [_G.GetSpellInfo(132700)] = { -- WOW 9TH ANNIVERSARY
MMOSimca@337 680 modifier = 0.09,
MMOSimca@337 681 },
MMOSimca@337 682 [_G.GetSpellInfo(150986)] = { -- WOW 10TH ANNIVERSARY
MMOSimca@337 683 modifier = 0.1,
MMOSimca@341 684 },
MMOSimca@340 685
MMOSimca@340 686 -- Situational Buffs
MMOSimca@340 687 [_G.GetSpellInfo(39953)] = { -- ADALS SONG OF BATTLE
MMOSimca@418 688 faction = private.FACTION_DATA.SHATAR[3],
MMOSimca@340 689 modifier = 0.1,
MMOSimca@340 690 },
MMOSimca@340 691 [_G.GetSpellInfo(30754)] = { -- CENARION FAVOR
MMOSimca@418 692 faction = private.FACTION_DATA.CENARION_CIRCLE[3],
MMOSimca@340 693 modifier = 0.25,
MMOSimca@340 694 },
MMOSimca@340 695 [_G.GetSpellInfo(32098)] = { -- HONOR HOLD FAVOR
MMOSimca@418 696 faction = private.FACTION_DATA.HONOR_HOLD[3],
MMOSimca@340 697 modifier = 0.25,
MMOSimca@340 698 },
MMOSimca@340 699 [_G.GetSpellInfo(39913)] = { -- NAZGRELS FERVOR
MMOSimca@418 700 faction = private.FACTION_DATA.THRALLMAR[3],
MMOSimca@340 701 modifier = 0.1,
MMOSimca@340 702 },
MMOSimca@340 703 [_G.GetSpellInfo(32096)] = { -- THRALLMARS FAVOR
MMOSimca@418 704 faction = private.FACTION_DATA.THRALLMAR[3],
MMOSimca@340 705 modifier = 0.25,
MMOSimca@340 706 },
MMOSimca@340 707 [_G.GetSpellInfo(39911)] = { -- TROLLBANES COMMAND
MMOSimca@418 708 faction = private.FACTION_DATA.HONOR_HOLD[3],
MMOSimca@340 709 modifier = 0.1,
MMOSimca@340 710 },
MMOSimca@337 711 }