jcallahan@1: ----------------------------------------------------------------------- jcallahan@1: -- Upvalued Lua API. jcallahan@1: ----------------------------------------------------------------------- jcallahan@1: local _G = getfenv(0) jcallahan@1: jcallahan@1: local bit = _G.bit jcallahan@1: jcallahan@1: jcallahan@1: ----------------------------------------------------------------------- jcallahan@1: -- AddOn namespace. jcallahan@1: ----------------------------------------------------------------------- jcallahan@1: local ADDON_NAME, private = ... jcallahan@1: jcallahan@1: jcallahan@1: ----------------------------------------------------------------------- MMOSimca@381: -- Boss/Loot Data Constants. MMOSimca@336: ----------------------------------------------------------------------- MMOSimca@345: -- Map of Alliance Logging NPC Summon spells to all possible Timber objectIDs of the proper tree size MMOSimca@345: private.LOGGING_SPELL_ID_TO_OBJECT_ID_MAP = { MMOSimca@381: [167902] = 234021, MMOSimca@381: [167969] = 234022, MMOSimca@381: [168201] = 234023, MMOSimca@345: } MMOSimca@345: -- Account for Horde spell IDs MMOSimca@345: private.LOGGING_SPELL_ID_TO_OBJECT_ID_MAP[167961] = private.LOGGING_SPELL_ID_TO_OBJECT_ID_MAP[167902] MMOSimca@345: private.LOGGING_SPELL_ID_TO_OBJECT_ID_MAP[168043] = private.LOGGING_SPELL_ID_TO_OBJECT_ID_MAP[167969] MMOSimca@345: private.LOGGING_SPELL_ID_TO_OBJECT_ID_MAP[168200] = private.LOGGING_SPELL_ID_TO_OBJECT_ID_MAP[168201] MMOSimca@345: MMOSimca@355: -- Map of Garrison Cache object names to Garrison Cache object IDs MMOSimca@355: private.GARRISON_CACHE_OBJECT_NAME_TO_OBJECT_ID_MAP = { MMOSimca@355: ["Garrison Cache"] = 236916, MMOSimca@355: ["Full Garrison Cache"] = 237722, MMOSimca@355: ["Hefty Garrison Cache"] = 237723, MMOSimca@355: } MMOSimca@355: MMOSimca@381: -- Mapping of items that, when right-clicked, fire a spell (which can fail, so we have to check success). MMOSimca@381: -- They reward loot via loot toast popups upon completion of that spell. MMOSimca@381: -- SHOW_LOOT_TOAST can be used to track loot. MMOSimca@381: private.LOOT_TOAST_CONTAINER_SPELL_ID_TO_ITEM_ID_MAP = { MMOSimca@433: [142397] = 98134, MMOSimca@433: [142901] = 98546, MMOSimca@433: [143506] = 98095, MMOSimca@433: [143507] = 94207, MMOSimca@433: [143508] = 89125, MMOSimca@433: [143509] = 93146, MMOSimca@433: [143510] = 93147, MMOSimca@433: [143511] = 93149, MMOSimca@433: [143512] = 93148, MMOSimca@433: [146885] = 103535, MMOSimca@433: [147598] = 104014, MMOSimca@433: [149222] = 105911, MMOSimca@433: [149223] = 105912, MMOSimca@433: [171513] = 116414, MMOSimca@433: [175767] = 118697, MMOSimca@433: [178508] = 120321, MMOSimca@433: [181405] = 122535, MMOSimca@433: [181952] = 122677, MMOSimca@449: [187534] = 127751, MMOSimca@345: } MMOSimca@345: MMOSimca@381: -- Mapping of items that, when right-clicked, fire a spell (which can fail, so we have to check success). MMOSimca@381: -- They reward loot upon completion of that spell. MMOSimca@381: -- CHAT_MSG_LOOT -must- be used to track loot, which is definitely not ideal. MMOSimca@381: private.DELAYED_CONTAINER_SPELL_ID_TO_ITEM_ID_MAP = { MMOSimca@394: [57844] = 36781, MMOSimca@394: [58160] = 24476, MMOSimca@394: [58165] = 7973, MMOSimca@394: [58168] = 5524, MMOSimca@394: [58172] = 5523, MMOSimca@394: [61898] = 15874, MMOSimca@394: [64202] = 45909, MMOSimca@394: [73500] = 52340, MMOSimca@394: [80615] = 58856, MMOSimca@394: [84193] = 60838, MMOSimca@394: [99438] = 69956, MMOSimca@394: [99500] = 69990, MMOSimca@394: [109946] = 78890, MMOSimca@394: [109948] = 78892, MMOSimca@394: [109954] = 77952, MMOSimca@394: [146236] = 102269, MMOSimca@394: [146237] = 102264, MMOSimca@394: [146238] = 102263, MMOSimca@394: [146239] = 102265, MMOSimca@394: [146240] = 102266, MMOSimca@394: [146241] = 102267, MMOSimca@394: [146242] = 102268, MMOSimca@394: [146243] = 102320, MMOSimca@394: [146244] = 102291, MMOSimca@394: [146246] = 102318, MMOSimca@394: [146259] = 102276, MMOSimca@394: [146260] = 102271, MMOSimca@394: [146261] = 102270, MMOSimca@394: [146263] = 102272, MMOSimca@394: [146264] = 102273, MMOSimca@394: [146265] = 102274, MMOSimca@394: [146266] = 102275, MMOSimca@456: [146267] = 102323, MMOSimca@394: [146268] = 102283, MMOSimca@394: [146269] = 102278, MMOSimca@394: [146270] = 102277, MMOSimca@394: [146271] = 102279, MMOSimca@394: [146272] = 102280, MMOSimca@394: [146273] = 102281, MMOSimca@394: [146274] = 102282, MMOSimca@394: [146275] = 102334, MMOSimca@394: [146276] = 102290, MMOSimca@394: [146277] = 102285, MMOSimca@394: [146278] = 102284, MMOSimca@394: [146279] = 102286, MMOSimca@394: [146280] = 102287, MMOSimca@394: [146281] = 102288, MMOSimca@394: [146282] = 102289, MMOSimca@456: [146283] = 102321, MMOSimca@394: [147433] = 102266, MMOSimca@394: [147434] = 102266, MMOSimca@394: [147435] = 102266, MMOSimca@394: [147597] = 104009, MMOSimca@394: [148099] = 104010, MMOSimca@394: [148103] = 104012, MMOSimca@394: [148104] = 104013, MMOSimca@394: [148740] = 104345, MMOSimca@394: [148746] = 104347, MMOSimca@394: [155445] = 107649, MMOSimca@394: [161131] = 111589, MMOSimca@394: [161225] = 111595, MMOSimca@394: [161226] = 111601, MMOSimca@394: [161230] = 111650, MMOSimca@394: [161231] = 111652, MMOSimca@394: [161232] = 111651, MMOSimca@394: [161234] = 111656, MMOSimca@394: [161237] = 111658, MMOSimca@394: [161241] = 111659, MMOSimca@394: [161261] = 111662, MMOSimca@394: [161266] = 111663, MMOSimca@394: [161267] = 111664, MMOSimca@394: [161269] = 111665, MMOSimca@394: [161270] = 111666, MMOSimca@394: [161272] = 111667, MMOSimca@394: [161273] = 111668, MMOSimca@394: [161274] = 111669, MMOSimca@394: [161275] = 111670, MMOSimca@394: [161276] = 111671, MMOSimca@394: [161277] = 111672, MMOSimca@394: [161279] = 111673, MMOSimca@394: [161281] = 111674, MMOSimca@394: [161283] = 111675, MMOSimca@394: [161284] = 111676, MMOSimca@394: [166030] = 113203, MMOSimca@394: [166153] = 113244, MMOSimca@394: [166156] = 113245, MMOSimca@394: [166460] = 113295, MMOSimca@394: [166481] = 113307, MMOSimca@394: [166487] = 113310, MMOSimca@394: [166507] = 113313, MMOSimca@394: [166509] = 113316, MMOSimca@394: [166513] = 113321, MMOSimca@394: [166520] = 113324, MMOSimca@394: [166526] = 113328, MMOSimca@394: [166529] = 113332, MMOSimca@394: [166531] = 113336, MMOSimca@394: [166550] = 113355, MMOSimca@394: [166574] = 113358, MMOSimca@394: [166578] = 113361, MMOSimca@394: [166582] = 113365, MMOSimca@394: [166586] = 113367, MMOSimca@394: [166589] = 113371, MMOSimca@394: [166593] = 113376, MMOSimca@394: [166599] = 113381, MMOSimca@394: [166600] = 113384, MMOSimca@394: [166606] = 113387, MMOSimca@394: [166611] = 113391, MMOSimca@394: [166619] = 113394, MMOSimca@394: [166739] = 113327, MMOSimca@394: [166744] = 113329, MMOSimca@394: [166764] = 113411, MMOSimca@394: [166770] = 113417, MMOSimca@394: [166788] = 113420, MMOSimca@394: [166796] = 113423, MMOSimca@394: [166800] = 113426, MMOSimca@394: [166801] = 113429, MMOSimca@394: [166900] = 113452, MMOSimca@394: [166905] = 113465, MMOSimca@394: [166909] = 113468, MMOSimca@394: [166915] = 113471, MMOSimca@394: [166980] = 113478, MMOSimca@394: [166985] = 113483, MMOSimca@394: [167089] = 113495, MMOSimca@394: [167096] = 113499, MMOSimca@394: [167981] = 114002, MMOSimca@394: [168084] = 114039, MMOSimca@394: [168103] = 114052, MMOSimca@394: [168115] = 114053, MMOSimca@394: [168178] = 114116, MMOSimca@394: [168179] = 114119, MMOSimca@394: [168180] = 114120, MMOSimca@394: [168677] = 114106, MMOSimca@394: [168678] = 114051, MMOSimca@394: [168679] = 114049, MMOSimca@394: [168680] = 114048, MMOSimca@394: [168681] = 114047, MMOSimca@394: [168682] = 114046, MMOSimca@394: [168683] = 114045, MMOSimca@394: [168684] = 114044, MMOSimca@394: [168685] = 114043, MMOSimca@394: [168686] = 114042, MMOSimca@394: [168687] = 114041, MMOSimca@394: [168688] = 114040, MMOSimca@394: [168700] = 114108, MMOSimca@394: [168701] = 114105, MMOSimca@394: [168702] = 114104, MMOSimca@394: [168703] = 114103, MMOSimca@394: [168704] = 114102, MMOSimca@394: [168705] = 114101, MMOSimca@394: [168706] = 114100, MMOSimca@394: [168707] = 114099, MMOSimca@394: [168708] = 114098, MMOSimca@394: [168709] = 114097, MMOSimca@394: [168710] = 114096, MMOSimca@394: [168711] = 114095, MMOSimca@394: [168712] = 114094, MMOSimca@394: [168713] = 114109, MMOSimca@394: [168714] = 114068, MMOSimca@394: [168715] = 114067, MMOSimca@394: [168716] = 114066, MMOSimca@394: [168717] = 114065, MMOSimca@394: [168718] = 114064, MMOSimca@394: [168719] = 114063, MMOSimca@394: [168720] = 114062, MMOSimca@394: [168721] = 114061, MMOSimca@394: [168722] = 114060, MMOSimca@394: [168723] = 114059, MMOSimca@394: [168724] = 114058, MMOSimca@394: [168725] = 114057, MMOSimca@394: [168726] = 114110, MMOSimca@394: [168727] = 114080, MMOSimca@394: [168728] = 114079, MMOSimca@394: [168729] = 114078, MMOSimca@394: [168730] = 114077, MMOSimca@394: [168731] = 114076, MMOSimca@394: [168732] = 114075, MMOSimca@394: [168733] = 114074, MMOSimca@394: [168734] = 114073, MMOSimca@394: [168735] = 114072, MMOSimca@394: [168736] = 114071, MMOSimca@394: [168737] = 114070, MMOSimca@394: [168738] = 114069, MMOSimca@394: [168739] = 114112, MMOSimca@394: [168740] = 114087, MMOSimca@394: [168741] = 119124, MMOSimca@394: [168742] = 114086, MMOSimca@394: [168743] = 119122, MMOSimca@394: [168744] = 119120, MMOSimca@394: [168745] = 114085, MMOSimca@394: [168746] = 119118, MMOSimca@394: [168747] = 119116, MMOSimca@394: [168748] = 119114, MMOSimca@394: [168749] = 114084, MMOSimca@394: [168750] = 114083, MMOSimca@394: [168751] = 114082, MMOSimca@394: [168752] = 114111, MMOSimca@394: [168753] = 114093, MMOSimca@394: [168754] = 119125, MMOSimca@394: [168755] = 114092, MMOSimca@394: [168756] = 119123, MMOSimca@394: [168757] = 119121, MMOSimca@394: [168758] = 114091, MMOSimca@394: [168759] = 119119, MMOSimca@394: [168760] = 119117, MMOSimca@394: [168761] = 119115, MMOSimca@394: [168762] = 114090, MMOSimca@394: [168763] = 114089, MMOSimca@394: [168764] = 114088, MMOSimca@394: [169508] = 115018, MMOSimca@394: [170566] = 115591, MMOSimca@394: [176482] = 118592, MMOSimca@394: [176483] = 119094, MMOSimca@394: [176484] = 119095, MMOSimca@394: [176485] = 119096, MMOSimca@394: [176486] = 119097, MMOSimca@394: [176487] = 119098, MMOSimca@394: [176488] = 119099, MMOSimca@394: [176489] = 119100, MMOSimca@394: [176490] = 119101, MMOSimca@394: [176491] = 119102, MMOSimca@394: [176791] = 119185, MMOSimca@394: [176934] = 119095, MMOSimca@394: [178444] = 120301, MMOSimca@394: [178445] = 120302, MMOSimca@449: [181719] = 122628, MMOSimca@449: [181720] = 122623, MMOSimca@449: [181721] = 122621, MMOSimca@449: [181722] = 122622, MMOSimca@449: [181723] = 122631, MMOSimca@449: [181724] = 122624, MMOSimca@449: [181725] = 122625, MMOSimca@449: [181726] = 122626, MMOSimca@449: [181729] = 122630, MMOSimca@449: [181730] = 122629, MMOSimca@449: [181731] = 122627, MMOSimca@449: [181732] = 122632, MMOSimca@449: [181733] = 122633, MMOSimca@449: [185205] = 124550, MMOSimca@449: [185209] = 124551, MMOSimca@449: [185210] = 124552, MMOSimca@449: [185212] = 124553, MMOSimca@449: [185213] = 124554, MMOSimca@449: [185214] = 124555, MMOSimca@449: [185215] = 124556, MMOSimca@449: [185216] = 124557, MMOSimca@449: [185217] = 124558, MMOSimca@449: [185218] = 124559, MMOSimca@449: [185219] = 124560, MMOSimca@449: [185220] = 124561, MMOSimca@449: [185222] = 124562, MMOSimca@449: [187899] = 127777, MMOSimca@449: [187900] = 127778, MMOSimca@449: [187901] = 127779, MMOSimca@449: [187902] = 127780, MMOSimca@449: [187903] = 127781, MMOSimca@449: [187904] = 127782, MMOSimca@449: [187905] = 127783, MMOSimca@449: [187906] = 127784, MMOSimca@449: [187907] = 127798, MMOSimca@449: [187908] = 127799, MMOSimca@449: [187909] = 127800, MMOSimca@449: [187911] = 127790, MMOSimca@449: [187912] = 127791, MMOSimca@449: [187913] = 127792, MMOSimca@449: [187914] = 127793, MMOSimca@449: [187915] = 127794, MMOSimca@449: [187916] = 127795, MMOSimca@449: [187917] = 127796, MMOSimca@449: [187918] = 127797, MMOSimca@449: [187919] = 127803, MMOSimca@449: [187920] = 127804, MMOSimca@449: [187921] = 127805, MMOSimca@449: [187922] = 127806, MMOSimca@449: [187923] = 127807, MMOSimca@449: [187924] = 127808, MMOSimca@449: [187925] = 127809, MMOSimca@449: [187926] = 127810, MMOSimca@449: [187927] = 127816, MMOSimca@449: [187928] = 127817, MMOSimca@449: [187929] = 127818, MMOSimca@449: [187930] = 127819, MMOSimca@449: [187931] = 127820, MMOSimca@449: [187932] = 127821, MMOSimca@449: [187933] = 127822, MMOSimca@449: [187934] = 127823, MMOSimca@449: [189834] = 128348, catherton@476: [211972] = 137198, catherton@476: [212883] = 137414, catherton@476: [220971] = 139593, catherton@476: [220972] = 139594, catherton@476: [220973] = 140590, catherton@476: [225513] = 141025, catherton@476: [227022] = 141410, catherton@476: [228214] = 141860, MMOSimca@381: } catherton@473: private.DELAYED_CONTAINER_SPELL_ID_TO_ITEM_ID_BY_CLASS_ID_MAP = { MMOSimca@454: [178209] = { [1] = 119318, [2] = 119305, [3] = 119318, [4] = 119315, [5] = 119305, [6] = 119315, [7] = 119318, [8] = 119315, [9] = 119305, [10] = 119318, [11] = 119315, }, MMOSimca@454: [178210] = { [1] = 119320, [2] = 119307, [3] = 119320, [4] = 119313, [5] = 119307, [6] = 119313, [7] = 119320, [8] = 119313, [9] = 119307, [10] = 119320, [11] = 119313, }, MMOSimca@454: [178211] = { [1] = 119319, [2] = 119306, [3] = 119319, [4] = 119311, [5] = 119306, [6] = 119311, [7] = 119319, [8] = 119311, [9] = 119306, [10] = 119319, [11] = 119311, }, MMOSimca@454: [178212] = { [1] = 119321, [2] = 119308, [3] = 119321, [4] = 119312, [5] = 119308, [6] = 119312, [7] = 119321, [8] = 119312, [9] = 119308, [10] = 119321, [11] = 119312, }, MMOSimca@454: [178213] = { [1] = 119322, [2] = 119309, [3] = 119322, [4] = 119314, [5] = 119309, [6] = 119314, [7] = 119322, [8] = 119314, [9] = 119309, [10] = 119322, [11] = 119314, }, MMOSimca@454: [178216] = { [1] = 120225, [2] = 120215, [3] = 120225, [4] = 120218, [5] = 120215, [6] = 120218, [7] = 120225, [8] = 120218, [9] = 120215, [10] = 120225, [11] = 120218, }, MMOSimca@454: [178217] = { [1] = 120222, [2] = 120212, [3] = 120222, [4] = 120221, [5] = 120212, [6] = 120221, [7] = 120222, [8] = 120221, [9] = 120212, [10] = 120222, [11] = 120221, }, MMOSimca@454: [178218] = { [1] = 120224, [2] = 120214, [3] = 120224, [4] = 120219, [5] = 120214, [6] = 120219, [7] = 120224, [8] = 120219, [9] = 120214, [10] = 120224, [11] = 120219, }, MMOSimca@454: [178219] = { [1] = 120223, [2] = 120213, [3] = 120223, [4] = 120217, [5] = 120213, [6] = 120217, [7] = 120223, [8] = 120217, [9] = 120213, [10] = 120223, [11] = 120217, }, MMOSimca@454: [178220] = { [1] = 120226, [2] = 120216, [3] = 120226, [4] = 120220, [5] = 120216, [6] = 120220, [7] = 120226, [8] = 120220, [9] = 120216, [10] = 120226, [11] = 120220, }, MMOSimca@454: [178221] = { [1] = 120239, [2] = 120229, [3] = 120239, [4] = 120234, [5] = 120229, [6] = 120234, [7] = 120239, [8] = 120234, [9] = 120229, [10] = 120239, [11] = 120234, }, MMOSimca@454: [178222] = { [1] = 120238, [2] = 120228, [3] = 120238, [4] = 120232, [5] = 120228, [6] = 120232, [7] = 120238, [8] = 120232, [9] = 120228, [10] = 120238, [11] = 120232, }, MMOSimca@454: [178223] = { [1] = 120241, [2] = 120231, [3] = 120241, [4] = 120235, [5] = 120231, [6] = 120235, [7] = 120241, [8] = 120235, [9] = 120231, [10] = 120241, [11] = 120235, }, MMOSimca@454: [178224] = { [1] = 120240, [2] = 120230, [3] = 120240, [4] = 120233, [5] = 120230, [6] = 120233, [7] = 120240, [8] = 120233, [9] = 120230, [10] = 120240, [11] = 120233, }, MMOSimca@454: [178225] = { [1] = 120237, [2] = 120227, [3] = 120237, [4] = 120236, [5] = 120227, [6] = 120236, [7] = 120237, [8] = 120236, [9] = 120227, [10] = 120237, [11] = 120236, }, MMOSimca@454: [178226] = { [1] = 120255, [2] = 120245, [3] = 120255, [4] = 120248, [5] = 120245, [6] = 120248, [7] = 120255, [8] = 120248, [9] = 120245, [10] = 120255, [11] = 120248, }, MMOSimca@454: [178227] = { [1] = 120252, [2] = 120242, [3] = 120252, [4] = 120251, [5] = 120242, [6] = 120251, [7] = 120252, [8] = 120251, [9] = 120242, [10] = 120252, [11] = 120251, }, MMOSimca@454: [178228] = { [1] = 120254, [2] = 120244, [3] = 120254, [4] = 120249, [5] = 120244, [6] = 120249, [7] = 120254, [8] = 120249, [9] = 120244, [10] = 120254, [11] = 120249, }, MMOSimca@454: [178229] = { [1] = 120253, [2] = 120243, [3] = 120253, [4] = 120247, [5] = 120243, [6] = 120247, [7] = 120253, [8] = 120247, [9] = 120243, [10] = 120253, [11] = 120247, }, MMOSimca@454: [178230] = { [1] = 120256, [2] = 120246, [3] = 120256, [4] = 120250, [5] = 120246, [6] = 120250, [7] = 120256, [8] = 120250, [9] = 120246, [10] = 120256, [11] = 120250, }, MMOSimca@456: [188421] = { [1] = 127963, [2] = 127953, [3] = 127963, [4] = 127962, [5] = 127953, [6] = 127962, [7] = 127963, [8] = 127962, [9] = 127953, [10] = 127963, [11] = 127962, }, MMOSimca@456: [188422] = { [1] = 127964, [2] = 127954, [3] = 127964, [4] = 127958, [5] = 127954, [6] = 127958, [7] = 127964, [8] = 127958, [9] = 127954, [10] = 127964, [11] = 127958, }, MMOSimca@456: [188423] = { [1] = 127966, [2] = 127956, [3] = 127966, [4] = 127959, [5] = 127956, [6] = 127959, [7] = 127966, [8] = 127959, [9] = 127956, [10] = 127966, [11] = 127959, }, MMOSimca@456: [188425] = { [1] = 127965, [2] = 127955, [3] = 127965, [4] = 127960, [5] = 127955, [6] = 127960, [7] = 127965, [8] = 127960, [9] = 127955, [10] = 127965, [11] = 127960, }, MMOSimca@456: [188426] = { [1] = 127967, [2] = 127957, [3] = 127967, [4] = 127961, [5] = 127957, [6] = 127961, [7] = 127967, [8] = 127961, [9] = 127957, [10] = 127967, [11] = 127961, }, MMOSimca@456: [188427] = { [1] = 127970, [2] = 127969, [3] = 127970, [4] = 127968, [5] = 127969, [6] = 127968, [7] = 127970, [8] = 127968, [9] = 127969, [10] = 127970, [11] = 127968, }, MMOSimca@454: } MMOSimca@381: MMOSimca@387: -- List of items that, when right-clicked, reward loot (includes items from DELAYED_CONTAINER_SPELL_ID_TO_ITEM_ID_MAP). MMOSimca@387: -- This means they -must- be tracked via CHAT_MSG_LOOT. MMOSimca@387: -- It also means there is a high margin for bad data since multiple bags can be clicked within a small time frame. MMOSimca@387: -- True = instant cast; false = cast time MMOSimca@387: private.CONTAINER_ITEM_ID_LIST = { catherton@476: [21740] = true, catherton@476: [21741] = true, catherton@476: [21742] = true, catherton@476: [21743] = true, catherton@476: [32624] = true, catherton@476: [32625] = true, catherton@476: [32626] = true, catherton@476: [32627] = true, catherton@476: [32628] = true, catherton@476: [32629] = true, catherton@476: [32630] = true, catherton@476: [32631] = true, catherton@476: [33844] = true, catherton@476: [33857] = true, catherton@476: [35348] = true, catherton@476: [44113] = true, catherton@476: [46007] = true, catherton@476: [49909] = true, catherton@476: [50160] = true, catherton@476: [50161] = true, MMOSimca@410: [50301] = true, MMOSimca@410: [54218] = true, catherton@476: [67414] = true, catherton@476: [69856] = true, catherton@476: [87701] = true, catherton@476: [87702] = true, catherton@476: [87703] = true, catherton@476: [87704] = true, catherton@476: [87705] = true, catherton@476: [87706] = true, catherton@476: [87707] = true, catherton@476: [87708] = true, catherton@476: [87709] = true, catherton@476: [87710] = true, catherton@476: [87712] = true, catherton@476: [87713] = true, catherton@476: [87714] = true, catherton@476: [87715] = true, catherton@476: [87716] = true, catherton@476: [87721] = true, catherton@476: [87722] = true, catherton@476: [87723] = true, catherton@476: [87724] = true, catherton@476: [87725] = true, catherton@476: [87726] = true, catherton@476: [87727] = true, catherton@476: [87728] = true, catherton@476: [87729] = true, catherton@476: [87730] = true, catherton@476: [89607] = true, catherton@476: [89608] = true, catherton@476: [89609] = true, catherton@476: [93198] = true, catherton@476: [93199] = true, catherton@476: [93200] = true, catherton@476: [95569] = true, catherton@476: [95570] = true, catherton@476: [95571] = true, catherton@476: [95572] = true, catherton@476: [95573] = true, catherton@476: [95574] = true, catherton@476: [95575] = true, catherton@476: [95576] = true, catherton@476: [95577] = true, catherton@476: [95578] = true, catherton@476: [95579] = true, catherton@476: [95580] = true, catherton@476: [95581] = true, catherton@476: [95582] = true, catherton@476: [95583] = true, catherton@476: [95822] = true, catherton@476: [95823] = true, catherton@476: [95824] = true, catherton@476: [95855] = true, catherton@476: [95856] = true, catherton@476: [95857] = true, catherton@476: [95879] = true, catherton@476: [95880] = true, catherton@476: [95881] = true, catherton@476: [95887] = true, catherton@476: [95888] = true, catherton@476: [95889] = true, catherton@476: [95955] = true, catherton@476: [95956] = true, catherton@476: [95957] = true, catherton@476: [96194] = true, catherton@476: [96195] = true, catherton@476: [96196] = true, catherton@476: [96227] = true, catherton@476: [96228] = true, catherton@476: [96229] = true, catherton@476: [96251] = true, catherton@476: [96252] = true, catherton@476: [96253] = true, catherton@476: [96259] = true, catherton@476: [96260] = true, catherton@476: [96261] = true, catherton@476: [96327] = true, catherton@476: [96328] = true, catherton@476: [96329] = true, catherton@476: [96566] = true, catherton@476: [96567] = true, catherton@476: [96568] = true, catherton@476: [96599] = true, catherton@476: [96600] = true, catherton@476: [96601] = true, catherton@476: [96623] = true, catherton@476: [96624] = true, catherton@476: [96625] = true, catherton@476: [96631] = true, catherton@476: [96632] = true, catherton@476: [96633] = true, catherton@476: [96699] = true, catherton@476: [96700] = true, catherton@476: [96701] = true, catherton@476: [96938] = true, catherton@476: [96939] = true, catherton@476: [96940] = true, catherton@476: [96971] = true, catherton@476: [96972] = true, catherton@476: [96973] = true, catherton@476: [96995] = true, catherton@476: [96996] = true, catherton@476: [96997] = true, catherton@476: [97003] = true, catherton@476: [97004] = true, catherton@476: [97005] = true, catherton@476: [97071] = true, catherton@476: [97072] = true, catherton@476: [97073] = true, MMOSimca@410: [97565] = true, MMOSimca@410: [102137] = true, MMOSimca@433: [104260] = true, MMOSimca@410: [105751] = true, MMOSimca@410: [110592] = true, MMOSimca@433: [111598] = true, MMOSimca@433: [111599] = true, MMOSimca@433: [111600] = true, MMOSimca@433: [114634] = true, MMOSimca@433: [114641] = true, MMOSimca@433: [114648] = true, MMOSimca@433: [114655] = true, MMOSimca@433: [114662] = true, MMOSimca@433: [114669] = true, MMOSimca@410: [116980] = true, MMOSimca@433: [118065] = true, MMOSimca@433: [118066] = true, MMOSimca@433: [118093] = true, MMOSimca@433: [118094] = true, MMOSimca@410: [118529] = true, MMOSimca@410: [118530] = true, MMOSimca@410: [118531] = true, MMOSimca@433: [119000] = true, MMOSimca@410: [119036] = true, MMOSimca@410: [119037] = true, MMOSimca@433: [119040] = true, MMOSimca@433: [119041] = true, MMOSimca@433: [119042] = true, MMOSimca@433: [119043] = true, MMOSimca@433: [119330] = true, MMOSimca@433: [120142] = true, MMOSimca@433: [120151] = true, MMOSimca@433: [120184] = true, MMOSimca@410: [120319] = true, MMOSimca@410: [120320] = true, MMOSimca@433: [120353] = true, MMOSimca@433: [120354] = true, MMOSimca@433: [120355] = true, MMOSimca@433: [120356] = true, MMOSimca@433: [122163] = true, MMOSimca@433: [122241] = true, MMOSimca@433: [122242] = true, MMOSimca@433: [122478] = true, MMOSimca@433: [122479] = true, MMOSimca@433: [122480] = true, MMOSimca@433: [122481] = true, MMOSimca@433: [122482] = true, MMOSimca@433: [122483] = true, MMOSimca@433: [122484] = true, MMOSimca@433: [122485] = true, MMOSimca@433: [122486] = true, MMOSimca@433: [122579] = true, MMOSimca@433: [122608] = true, MMOSimca@433: [122718] = true, MMOSimca@433: [123857] = true, MMOSimca@433: [123858] = true, MMOSimca@433: [123975] = true, MMOSimca@456: [124054] = true, MMOSimca@456: [126901] = true, MMOSimca@456: [126902] = true, MMOSimca@456: [126903] = true, MMOSimca@456: [126904] = true, MMOSimca@456: [126905] = true, MMOSimca@456: [126906] = true, MMOSimca@456: [126907] = true, MMOSimca@456: [126908] = true, MMOSimca@456: [126909] = true, MMOSimca@456: [126910] = true, MMOSimca@456: [126911] = true, MMOSimca@456: [126912] = true, MMOSimca@456: [126913] = true, MMOSimca@456: [126914] = true, MMOSimca@456: [126915] = true, MMOSimca@456: [126916] = true, MMOSimca@456: [126917] = true, MMOSimca@456: [126918] = true, MMOSimca@456: [126919] = true, MMOSimca@456: [126920] = true, MMOSimca@456: [126921] = true, MMOSimca@456: [126922] = true, MMOSimca@456: [126923] = true, MMOSimca@456: [126924] = true, MMOSimca@449: [127831] = true, MMOSimca@449: [127853] = true, MMOSimca@449: [127854] = true, MMOSimca@449: [127855] = true, MMOSimca@456: [127995] = true, MMOSimca@456: [128213] = true, MMOSimca@456: [128214] = true, MMOSimca@456: [128215] = true, MMOSimca@456: [128216] = true, MMOSimca@449: [128391] = true, catherton@476: [128472] = true, catherton@476: [128473] = true, catherton@476: [128670] = true, catherton@476: [133549] = true, catherton@476: [135539] = true, catherton@476: [135540] = true, catherton@476: [135541] = true, catherton@476: [135542] = true, catherton@476: [135543] = true, catherton@476: [135544] = true, catherton@476: [135545] = true, catherton@476: [135546] = true, catherton@476: [137560] = true, catherton@476: [137561] = true, catherton@476: [137562] = true, catherton@476: [137563] = true, catherton@476: [137564] = true, catherton@476: [137565] = true, catherton@476: [138098] = true, catherton@476: [138469] = true, catherton@476: [138470] = true, catherton@476: [138471] = true, catherton@476: [138472] = true, catherton@476: [138473] = true, catherton@476: [138474] = true, catherton@476: [138475] = true, catherton@476: [138476] = true, catherton@476: [139048] = true, catherton@476: [139049] = true, catherton@476: [139484] = true, catherton@476: [139486] = true, catherton@476: [139487] = true, catherton@476: [139488] = true, catherton@476: [139771] = true, catherton@476: [139879] = true, catherton@476: [139888] = true, catherton@476: [139892] = true, catherton@476: [140038] = true, catherton@476: [140155] = true, catherton@476: [140157] = true, catherton@476: [140158] = true, catherton@476: [140997] = true, catherton@476: [140998] = true, catherton@476: [141155] = true, catherton@476: [141156] = true, catherton@476: [141157] = true, catherton@476: [141158] = true, catherton@476: [141159] = true, catherton@476: [141160] = true, catherton@476: [141161] = true, catherton@476: [141162] = true, catherton@476: [141163] = true, catherton@476: [141164] = true, catherton@476: [141165] = true, catherton@476: [141166] = true, catherton@476: [141167] = true, catherton@476: [141168] = true, catherton@476: [141169] = true, catherton@476: [141170] = true, catherton@476: [141171] = true, catherton@476: [141172] = true, catherton@476: [141173] = true, catherton@476: [141174] = true, catherton@476: [141175] = true, catherton@476: [141176] = true, catherton@476: [141177] = true, catherton@476: [141178] = true, catherton@476: [141179] = true, catherton@476: [141180] = true, catherton@476: [141181] = true, catherton@476: [141182] = true, catherton@476: [141183] = true, catherton@476: [141184] = true, catherton@476: [141344] = true, catherton@476: [141350] = true, catherton@476: [141995] = true, MMOSimca@387: } MMOSimca@391: for key, value in next, private.DELAYED_CONTAINER_SPELL_ID_TO_ITEM_ID_MAP do MMOSimca@391: private.CONTAINER_ITEM_ID_LIST[value] = false MMOSimca@391: end MMOSimca@387: MMOSimca@391: -- Mapping of Spell IDs for bonus roll confirmation prompts to raid bosses MMOSimca@391: -- In some cases this records only bonus loot, and in other cases this is needed for all loot. MMOSimca@381: private.RAID_BOSS_BONUS_SPELL_ID_TO_NPC_ID_MAP = { MMOSimca@381: ----------------------------------------------------------------------- MMOSimca@381: -- World Bosses MMOSimca@381: ----------------------------------------------------------------------- MMOSimca@381: [132205] = 60491, -- Sha of Anger Bonus (Sha of Anger) MMOSimca@381: [132206] = 62346, -- Galleon Bonus (Galleon) MMOSimca@381: [136381] = 69099, -- Nalak Bonus (Nalak) MMOSimca@381: [137554] = 69161, -- Oondasta Bonus (Oondasta) MMOSimca@381: [148317] = 71952, -- Celestials Bonus (Chi-Ji) MMOSimca@381: [148316] = 72057, -- Ordos Bonus (Ordos) MMOSimca@389: [178847] = 81252, -- Drov Bonus (Drov the Ruiner) MMOSimca@389: [178849] = 81535, -- Tarlna Bonus (Tarlna the Ageless) MMOSimca@389: [178851] = 83746, -- Rukhmar Bonus (Rukhmar) MMOSimca@453: [188985] = 94015, -- 6.2 Raid Bonus Roll Prompt - World Boss 01 (Supreme Lord Kazzak) MMOSimca@453: MMOSimca@453: ----------------------------------------------------------------------- MMOSimca@453: -- Hellfire Citadel MMOSimca@453: ----------------------------------------------------------------------- MMOSimca@453: [188972] = 93023, -- 6.2 Raid Bonus Roll Prompt - Boss 1 (Siegemaster Mar'tak) MMOSimca@453: [188973] = 90284, -- 6.2 Raid Bonus Roll Prompt - Boss 2 (Iron Reaver) MMOSimca@453: [188974] = 90435, -- 6.2 Raid Bonus Roll Prompt - Boss 3 (Kormrok) MMOSimca@453: [188975] = 92142, -- 6.2 Raid Bonus Roll Prompt - Boss 4 (Blademaster Jubei'thos) MMOSimca@453: [188976] = 90378, -- 6.2 Raid Bonus Roll Prompt - Boss 5 (Kilrogg Deadeye) MMOSimca@453: [188977] = 90199, -- 6.2 Raid Bonus Roll Prompt - Boss 6 (Gorefiend) MMOSimca@453: [188978] = 90316, -- 6.2 Raid Bonus Roll Prompt - Boss 7 (Shadow-Lord Iskar) MMOSimca@453: [188979] = 90296, -- 6.2 Raid Bonus Roll Prompt - Boss 8 (Soulbound Construct) MMOSimca@453: [188980] = 89890, -- 6.2 Raid Bonus Roll Prompt - Boss 9 (Fel Lord Zakuun) MMOSimca@453: [188981] = 93068, -- 6.2 Raid Bonus Roll Prompt - Boss 10 (Xhul'horac) MMOSimca@453: [188982] = 90269, -- 6.2 Raid Bonus Roll Prompt - Boss 11 (Tyrant Velhari) MMOSimca@453: [188983] = 91349, -- 6.2 Raid Bonus Roll Prompt - Boss 12 (Mannoroth) MMOSimca@453: [188984] = 91331, -- 6.2 Raid Bonus Roll Prompt - Boss 13 (Archimonde) MMOSimca@381: MMOSimca@381: ----------------------------------------------------------------------- MMOSimca@381: -- Blackrock Foundry MMOSimca@381: ----------------------------------------------------------------------- MMOSimca@419: [177530] = 77182, -- Oregorger Bonus (Oregorger) MMOSimca@389: [177529] = 76877, -- Gruul Bonus (Gruul) MMOSimca@419: [177533] = 76973, -- Hans'gar & Franzok Bonus (Hans'gar) MMOSimca@419: [177536] = 76865, -- Beastlord Darmac Bonus (Beastlord Darmac) MMOSimca@419: [177534] = 76814, -- Flamebender Ka'graz Bonus (Flamebender Ka'graz) MMOSimca@419: [177537] = 76906, -- Operator Thogar Bonus (Operator Thogar) MMOSimca@389: [177531] = 76809, -- Blast Furnace (Foreman Feldspar) MMOSimca@389: [177535] = 77692, -- Kromog Bonus (Kromog) MMOSimca@389: [177538] = 77557, -- The Iron Maidens Bonus (Admiral Gar'an) MMOSimca@389: [177539] = 77325, -- Blackhand Bonus (Blackhand) MMOSimca@381: MMOSimca@381: ----------------------------------------------------------------------- MMOSimca@381: -- Highmaul MMOSimca@381: ----------------------------------------------------------------------- MMOSimca@389: [177521] = 78714, -- Kargath Bladefist Bonus (Kargath Bladefist) MMOSimca@389: [177522] = 77404, -- Butcher Bonus (The Butcher) MMOSimca@419: [177524] = 78491, -- Brackenspore Bonus (Brackenspore) MMOSimca@389: [177523] = 78948, -- Tectus Bonus (Tectus) MMOSimca@389: [177525] = 78237, -- Twin Ogron Bonus (Phemos) MMOSimca@389: [177526] = 79015, -- Ko'ragh Bonus (Ko'ragh) MMOSimca@389: [177528] = 77428, -- Imperator Mar'gok Bonus (Imperator Mar'gok) MMOSimca@381: MMOSimca@381: ----------------------------------------------------------------------- MMOSimca@381: -- Mists of Pandaria MMOSimca@381: ----------------------------------------------------------------------- MMOSimca@381: [125144] = 59915, -- Stone Guard Bonus (Jasper Guardian) MMOSimca@381: [132189] = 60009, -- Feng the Accursed Bonus (Feng the Accursed) MMOSimca@381: [132190] = 60143, -- Gara'jal the Spiritbinder Bonus (Gara'jal the Spiritbinder) MMOSimca@381: [132191] = 60709, -- Spirit Kings Bonus (Qiang the Merciless) MMOSimca@381: [132192] = 60410, -- Elegon Bonus (Elegon) MMOSimca@381: [132193] = 60399, -- Will of the Emperor Bonus (Qin-xi) MMOSimca@381: [132200] = 60583, -- Protectors of the Endless Bonus (Protector Kaolan) MMOSimca@381: [132204] = 60583, -- Protectors of the Endless (Elite) Bonus (Protector Kaolan) MMOSimca@381: [132201] = 62442, -- Tsulong Bonus (Tsulong) MMOSimca@381: [132202] = 62983, -- Lei Shi Bonus (Lei Shi) MMOSimca@381: [132203] = 60999, -- Sha of Fear Bonus (Sha of Fear) MMOSimca@381: [132194] = 62980, -- Imperial Vizier Zor'lok Bonus (Imperial Vizier Zor'lok) MMOSimca@381: [132195] = 62543, -- Blade Lord Tay'ak Bonus (Blade Lord Ta'yak) MMOSimca@381: [132196] = 62164, -- Garalon Bonus (Garalon) MMOSimca@381: [132197] = 62397, -- Wind Lord Mel'jarak Bonus (Wind Lord Mel'jarak) MMOSimca@381: [132198] = 62511, -- Amber-Shaper Un'sok Bonus (Amber-Shaper Un'sok) MMOSimca@381: [132199] = 62837, -- Grand Empress Shek'zeer Bonus (Grand Empress Shek'zeer) MMOSimca@381: [139674] = 69465, -- Jin'rokh the Breaker Bonus (Jin'rokh the Breaker) MMOSimca@381: [139677] = 68476, -- Horridon Bonus (Horridon) MMOSimca@381: [139679] = 69078, -- Zandalari Troll Council Bonus (Sul the Sandcrawler) MMOSimca@381: [139680] = 67977, -- Tortos Bonus (Tortos) MMOSimca@381: [139682] = 68065, -- Magaera Bonus (Megaera) MMOSimca@381: [139684] = 69712, -- Ji'kun, the Ancient Mother Bonus (Ji-Kun) MMOSimca@381: [139686] = 68036, -- Durumu the Forgotten Bonus (Durumu the Forgotten) MMOSimca@381: [139687] = 69017, -- Primordious Bonus (Primordius) MMOSimca@381: [139688] = 69427, -- Dark Animus Bonus (Dark Animus) MMOSimca@381: [139689] = 68078, -- Iron Qon Bonus (Iron Qon) MMOSimca@381: [139690] = 68904, -- The Empyreal Queens Bonus (Suen) MMOSimca@381: [139691] = 68397, -- Lei Shen, The Thunder King Bonus (Lei Shen) MMOSimca@381: [139692] = 69473, -- Ra-den Bonus (Ra-den) MMOSimca@381: [145909] = 71543, -- Immerseus Bonus (Immerseus) MMOSimca@381: [145910] = 71475, -- Fallen Protectors Bonus (Rook Stonetoe) MMOSimca@381: [145911] = 72276, -- Norushen Bonus (Amalgam of Corruption) MMOSimca@381: [145912] = 71734, -- Sha of Pride Bonus (Sha of Pride) MMOSimca@381: [145913] = 72249, -- Galakras Bonus (Galakras) MMOSimca@381: [145914] = 71466, -- Iron Juggernaut Bonus (Iron Juggernaut) MMOSimca@381: [145915] = 71859, -- Dark Shaman Bonus (Earthbreaker Haromm) MMOSimca@381: [145916] = 71515, -- General Nazgrim Bonus (General Nazgrim) MMOSimca@381: [145917] = 71454, -- Malkorok Bonus (Malkorok) MMOSimca@381: [145919] = 71889, -- Spoils of Pandaria Bonus (Secured Stockpile of Pandaren Spoils) MMOSimca@381: [145920] = 71529, -- Thok the Bloodthirsty Bonus (Thok the Bloodthirsty) MMOSimca@381: [145918] = 71504, -- Siegecrafter Blackfuse Bonus (Siegecrafter Blackfuse) MMOSimca@381: [145921] = 71161, -- Klaxxi Paragons Bonus (Kil'ruk the Wind-Reaver) MMOSimca@381: [145922] = 71865, -- Garrosh Hellscream Bonus (Garrosh Hellscream) MMOSimca@381: } MMOSimca@381: MMOSimca@381: MMOSimca@381: ----------------------------------------------------------------------- MMOSimca@381: -- Fundamental Constants. MMOSimca@381: ----------------------------------------------------------------------- MMOSimca@447: private.wow_version, private.build_num, _, private.interface_num = _G.GetBuildInfo() MMOSimca@381: MMOSimca@381: private.UNIT_TYPES = { MMOSimca@381: PLAYER = "Player", MMOSimca@381: OBJECT = "GameObject", MMOSimca@381: UNKNOWN = "Unknown", MMOSimca@381: NPC = "Creature", MMOSimca@381: PET = "Pet", MMOSimca@381: VEHICLE = "Vehicle", MMOSimca@381: ITEM = "Item", MMOSimca@381: } MMOSimca@381: MMOSimca@381: private.UNIT_TYPE_NAMES = { MMOSimca@381: ["Player"] = "PLAYER", MMOSimca@381: ["GameObject"] = "OBJECT", MMOSimca@381: ["Unknown"] = "UNKNOWN", MMOSimca@381: ["Creature"] = "NPC", MMOSimca@381: ["Pet"] = "PET", MMOSimca@381: ["Vehicle"] = "VEHICLE", MMOSimca@381: ["Item"] = "ITEM", MMOSimca@381: } MMOSimca@381: MMOSimca@381: private.ACTION_TYPE_FLAGS = { MMOSimca@381: ITEM = 0x00000001, MMOSimca@381: NPC = 0x00000002, MMOSimca@381: OBJECT = 0x00000004, MMOSimca@381: ZONE = 0x00000008, MMOSimca@381: } MMOSimca@381: MMOSimca@381: private.ACTION_TYPE_NAMES = {} MMOSimca@381: MMOSimca@381: for name, bit in _G.pairs(private.ACTION_TYPE_FLAGS) do MMOSimca@381: private.ACTION_TYPE_NAMES[bit] = name MMOSimca@381: end MMOSimca@381: MMOSimca@381: private.SPELL_LABELS_BY_NAME = { MMOSimca@381: [_G.GetSpellInfo(13262)] = "DISENCHANT", MMOSimca@381: [_G.GetSpellInfo(4036)] = "ENGINEERING", MMOSimca@381: [_G.GetSpellInfo(30427)] = "EXTRACT_GAS", MMOSimca@381: [_G.GetSpellInfo(131476)] = "FISHING", MMOSimca@381: [_G.GetSpellInfo(2366)] = "HERB_GATHERING", MMOSimca@381: [_G.GetSpellInfo(51005)] = "MILLING", MMOSimca@381: [_G.GetSpellInfo(605)] = "MIND_CONTROL", MMOSimca@381: [_G.GetSpellInfo(2575)] = "MINING", MMOSimca@381: [_G.GetSpellInfo(3365)] = "OPENING", MMOSimca@381: [_G.GetSpellInfo(921)] = "PICK_POCKET", MMOSimca@381: [_G.GetSpellInfo(31252)] = "PROSPECTING", MMOSimca@381: [_G.GetSpellInfo(73979)] = "SEARCHING_FOR_ARTIFACTS", MMOSimca@381: [_G.GetSpellInfo(8613)] = "SKINNING", MMOSimca@381: } MMOSimca@381: MMOSimca@381: private.NON_LOOT_SPELL_LABELS = { MMOSimca@381: MIND_CONTROL = true, MMOSimca@381: } MMOSimca@381: MMOSimca@381: local AF = private.ACTION_TYPE_FLAGS MMOSimca@381: MMOSimca@381: private.SPELL_FLAGS_BY_LABEL = { MMOSimca@381: DISENCHANT = AF.ITEM, MMOSimca@381: ENGINEERING = AF.NPC, MMOSimca@381: EXTRACT_GAS = AF.ZONE, MMOSimca@381: FISHING = AF.ZONE, MMOSimca@381: HERB_GATHERING = bit.bor(AF.NPC, AF.OBJECT), MMOSimca@381: MILLING = AF.ITEM, MMOSimca@381: MIND_CONTROL = AF.NPC, MMOSimca@381: MINING = bit.bor(AF.NPC, AF.OBJECT), MMOSimca@381: OPENING = AF.OBJECT, MMOSimca@381: PICK_POCKET = AF.NPC, MMOSimca@381: PROSPECTING = AF.ITEM, MMOSimca@381: SEARCHING_FOR_ARTIFACTS = AF.OBJECT, MMOSimca@381: SKINNING = AF.NPC, MMOSimca@381: } MMOSimca@381: MMOSimca@381: MMOSimca@381: ----------------------------------------------------------------------- MMOSimca@381: -- Faction/Reputation Data Constants. MMOSimca@381: ----------------------------------------------------------------------- MMOSimca@381: MMOSimca@340: private.FACTION_DATA = { MMOSimca@340: -- Used only for private.REP_BUFFS MMOSimca@418: ARGENT_CRUSADE = { 1106, false, _G.GetFactionInfoByID(1106) }, MMOSimca@418: BILGEWATER_CARTEL = { 1133, false, _G.GetFactionInfoByID(1133) }, MMOSimca@418: CENARION_CIRCLE = { 609, false, _G.GetFactionInfoByID(609) }, MMOSimca@418: DARKSPEAR = { 530, false, _G.GetFactionInfoByID(530) }, MMOSimca@418: DARNASSUS = { 69, false, _G.GetFactionInfoByID(69) }, MMOSimca@418: DRAGONMAW_CLAN = { 1172, false, _G.GetFactionInfoByID(1172) }, MMOSimca@418: EARTHEN_RING = { 1135, false, _G.GetFactionInfoByID(1135) }, MMOSimca@418: EBON_BLADE = { 1098, false, _G.GetFactionInfoByID(1098) }, MMOSimca@418: EXODAR = { 930, false, _G.GetFactionInfoByID(930) }, MMOSimca@418: GILNEAS = { 1134, false, _G.GetFactionInfoByID(1134) }, MMOSimca@418: GNOMEREGAN = { 54, false, _G.GetFactionInfoByID(54) }, MMOSimca@418: GUARDIANS_OF_HYJAL = { 1158, false, _G.GetFactionInfoByID(1158) }, MMOSimca@418: GUILD = { 1168, false, _G.GetFactionInfoByID(1168) }, MMOSimca@418: HONOR_HOLD = { 946, false, _G.GetFactionInfoByID(946) }, MMOSimca@418: HUOJIN = { 1352, false, _G.GetFactionInfoByID(1352) }, MMOSimca@418: IRONFORGE = { 47, false, _G.GetFactionInfoByID(47) }, MMOSimca@418: KIRIN_TOR = { 1090, false, _G.GetFactionInfoByID(1090) }, MMOSimca@418: ORGRIMMAR = { 76, false, _G.GetFactionInfoByID(76) }, MMOSimca@418: RAMKAHEN = { 1173, false, _G.GetFactionInfoByID(1173) }, MMOSimca@418: SHATAR = { 935, false, _G.GetFactionInfoByID(935) }, MMOSimca@418: SILVERMOON = { 911, false, _G.GetFactionInfoByID(911) }, MMOSimca@418: STORMWIND = { 72, false, _G.GetFactionInfoByID(72) }, MMOSimca@418: THERAZANE = { 1171, false, _G.GetFactionInfoByID(1171) }, MMOSimca@418: THRALLMAR = { 947, false, _G.GetFactionInfoByID(947) }, MMOSimca@418: THUNDER_BLUFF = { 81, false, _G.GetFactionInfoByID(81) }, MMOSimca@418: TUSHUI = { 1353, false, _G.GetFactionInfoByID(1353) }, MMOSimca@418: UNDERCITY = { 68, false, _G.GetFactionInfoByID(68) }, MMOSimca@418: WILDHAMMER_CLAN = { 1174, false, _G.GetFactionInfoByID(1174) }, MMOSimca@418: WYRMREST_ACCORD = { 1091, false, _G.GetFactionInfoByID(1091) }, MMOSimca@340: -- Commendation Factions MMOSimca@418: ANGLERS = { 1302, false, _G.GetFactionInfoByID(1302) }, MMOSimca@418: AUGUST_CELESTIALS = { 1341, false, _G.GetFactionInfoByID(1341) }, MMOSimca@418: DOMINANCE_OFFENSIVE = { 1375, false, _G.GetFactionInfoByID(1375) }, MMOSimca@418: GOLDEN_LOTUS = { 1269, false, _G.GetFactionInfoByID(1269) }, MMOSimca@418: KIRIN_TOR_OFFENSIVE = { 1387, false, _G.GetFactionInfoByID(1387) }, MMOSimca@418: KLAXXI = { 1337, false, _G.GetFactionInfoByID(1337) }, MMOSimca@418: LOREWALKERS = { 1345, false, _G.GetFactionInfoByID(1345) }, MMOSimca@418: OPERATION_SHIELDWALL = { 1376, false, _G.GetFactionInfoByID(1376) }, MMOSimca@418: ORDER_OF_THE_CLOUD_SERPENTS = { 1271, false, _G.GetFactionInfoByID(1271) }, MMOSimca@418: SHADO_PAN = { 1270, false, _G.GetFactionInfoByID(1270) }, MMOSimca@418: SHADO_PAN_ASSAULT = { 1435, false, _G.GetFactionInfoByID(1435) }, MMOSimca@418: SUNREAVER_ONSLAUGHT = { 1388, false, _G.GetFactionInfoByID(1388) }, MMOSimca@418: TILLERS = { 1272, false, _G.GetFactionInfoByID(1272) }, MMOSimca@418: -- Bodyguards (blacklisted) MMOSimca@418: DELVAR_IRONFIST = { 1733, true, _G.GetFactionInfoByID(1733) }, MMOSimca@418: TORMMOK = { 1736, true, _G.GetFactionInfoByID(1736) }, MMOSimca@418: TALONPRIEST_ISHAAL = { 1737, true, _G.GetFactionInfoByID(1737) }, MMOSimca@418: DEFENDER_ILLONA = { 1738, true, _G.GetFactionInfoByID(1738) }, MMOSimca@418: VIVIANNE = { 1739, true, _G.GetFactionInfoByID(1739) }, MMOSimca@418: AEDA_BRIGHTDAWN = { 1740, true, _G.GetFactionInfoByID(1740) }, MMOSimca@418: LEORAJH = { 1741, true, _G.GetFactionInfoByID(1741) }, MMOSimca@337: } MMOSimca@337: MMOSimca@337: private.REP_BUFFS = { MMOSimca@418: -- Tabard Buffs (they screw up everything, so blacklist) MMOSimca@340: [_G.GetSpellInfo(93830)] = { -- BILGEWATER CARTEL TABARD MMOSimca@418: faction = private.FACTION_DATA.BILGEWATER_CARTEL[3], MMOSimca@340: ignore = true, MMOSimca@340: }, MMOSimca@340: [_G.GetSpellInfo(93827)] = { -- DARKSPEAR TABARD MMOSimca@418: faction = private.FACTION_DATA.DARKSPEAR[3], MMOSimca@340: ignore = true, MMOSimca@340: }, MMOSimca@340: [_G.GetSpellInfo(93806)] = { -- DARNASSUS TABARD MMOSimca@418: faction = private.FACTION_DATA.DARNASSUS[3], MMOSimca@340: ignore = true, MMOSimca@340: }, MMOSimca@340: [_G.GetSpellInfo(93811)] = { -- EXODAR TABARD MMOSimca@418: faction = private.FACTION_DATA.EXODAR[3], MMOSimca@340: ignore = true, MMOSimca@340: }, MMOSimca@340: [_G.GetSpellInfo(93816)] = { -- GILNEAS TABARD MMOSimca@418: faction = private.FACTION_DATA.GILNEAS[3], MMOSimca@340: ignore = true, MMOSimca@340: }, MMOSimca@340: [_G.GetSpellInfo(93821)] = { -- GNOMEREGAN TABARD MMOSimca@418: faction = private.FACTION_DATA.GNOMEREGAN[3], MMOSimca@340: ignore = true, MMOSimca@340: }, MMOSimca@340: [_G.GetSpellInfo(126436)] = { -- HUOJIN TABARD MMOSimca@418: faction = private.FACTION_DATA.HUOJIN[3], MMOSimca@340: ignore = true, MMOSimca@340: }, MMOSimca@340: [_G.GetSpellInfo(97340)] = { -- ILLUSTRIOUS GUILD TABARD MMOSimca@418: faction = private.FACTION_DATA.GUILD[3], MMOSimca@340: modifier = 1, MMOSimca@340: }, MMOSimca@340: [_G.GetSpellInfo(93805)] = { -- IRONFORGE TABARD MMOSimca@418: faction = private.FACTION_DATA.IRONFORGE[3], MMOSimca@340: ignore = true, MMOSimca@340: }, MMOSimca@340: [_G.GetSpellInfo(93825)] = { -- ORGRIMMAR TABARD MMOSimca@418: faction = private.FACTION_DATA.ORGRIMMAR[3], MMOSimca@340: ignore = true, MMOSimca@340: }, MMOSimca@340: [_G.GetSpellInfo(97341)] = { -- RENOWNED GUILD TABARD MMOSimca@418: faction = private.FACTION_DATA.GUILD[3], MMOSimca@340: modifier = 0.5, MMOSimca@340: }, MMOSimca@340: [_G.GetSpellInfo(93828)] = { -- SILVERMOON CITY TABARD MMOSimca@418: faction = private.FACTION_DATA.SILVERMOON[3], MMOSimca@340: ignore = true, MMOSimca@340: }, MMOSimca@340: [_G.GetSpellInfo(93795)] = { -- STORMWIND TABARD MMOSimca@418: faction = private.FACTION_DATA.STORMWIND[3], MMOSimca@340: ignore = true, MMOSimca@340: }, MMOSimca@340: [_G.GetSpellInfo(93337)] = { -- TABARD OF RAMKAHEN MMOSimca@418: faction = private.FACTION_DATA.RAMKAHEN[3], MMOSimca@340: ignore = true, MMOSimca@340: }, MMOSimca@340: [_G.GetSpellInfo(57819)] = { -- TABARD OF THE ARGENT CRUSADE MMOSimca@418: faction = private.FACTION_DATA.ARGENT_CRUSADE[3], MMOSimca@340: ignore = true, MMOSimca@340: }, MMOSimca@340: [_G.GetSpellInfo(94158)] = { -- TABARD OF THE DRAGONMAW CLAN MMOSimca@418: faction = private.FACTION_DATA.DRAGONMAW_CLAN[3], MMOSimca@340: ignore = true, MMOSimca@340: }, MMOSimca@340: [_G.GetSpellInfo(93339)] = { -- TABARD OF THE EARTHEN RING MMOSimca@418: faction = private.FACTION_DATA.EARTHEN_RING[3], MMOSimca@340: ignore = true, MMOSimca@340: }, MMOSimca@340: [_G.GetSpellInfo(57820)] = { -- TABARD OF THE EBON BLADE MMOSimca@418: faction = private.FACTION_DATA.EBON_BLADE[3], MMOSimca@340: ignore = true, MMOSimca@340: }, MMOSimca@340: [_G.GetSpellInfo(93341)] = { -- TABARD OF THE GUARDIANS OF HYJAL MMOSimca@418: faction = private.FACTION_DATA.GUARDIANS_OF_HYJAL[3], MMOSimca@340: ignore = true, MMOSimca@340: }, MMOSimca@340: [_G.GetSpellInfo(57821)] = { -- TABARD OF THE KIRIN TOR MMOSimca@418: faction = private.FACTION_DATA.KIRIN_TOR[3], MMOSimca@340: ignore = true, MMOSimca@340: }, MMOSimca@340: [_G.GetSpellInfo(93368)] = { -- TABARD OF THE WILDHAMMER CLAN MMOSimca@418: faction = private.FACTION_DATA.WILDHAMMER_CLAN[3], MMOSimca@340: ignore = true, MMOSimca@340: }, MMOSimca@340: [_G.GetSpellInfo(57822)] = { -- TABARD OF THE WYRMREST ACCORD MMOSimca@418: faction = private.FACTION_DATA.WYRMREST_ACCORD[3], MMOSimca@340: ignore = true, MMOSimca@340: }, MMOSimca@340: [_G.GetSpellInfo(93347)] = { -- TABARD OF THERAZANE MMOSimca@418: faction = private.FACTION_DATA.THERAZANE[3], MMOSimca@340: ignore = true, MMOSimca@340: }, MMOSimca@340: [_G.GetSpellInfo(94463)] = { -- THUNDERBLUFF TABARD MMOSimca@418: faction = private.FACTION_DATA.THUNDER_BLUFF[3], MMOSimca@340: ignore = true, MMOSimca@340: }, MMOSimca@340: [_G.GetSpellInfo(126434)] = { -- TUSHUI TABARD MMOSimca@418: faction = private.FACTION_DATA.TUSHUI[3], MMOSimca@340: ignore = true, MMOSimca@340: }, MMOSimca@340: [_G.GetSpellInfo(94462)] = { -- UNDERCITY TABARD MMOSimca@418: faction = private.FACTION_DATA.UNDERCITY[3], MMOSimca@340: ignore = true, MMOSimca@340: }, MMOSimca@340: MMOSimca@418: -- Banner Buffs (can't tell them apart via ingame API, so blacklist) MMOSimca@340: [_G.GetSpellInfo(90216)] = { -- ALLIANCE GUILD STANDARD MMOSimca@340: ignore = true, MMOSimca@340: }, MMOSimca@340: [_G.GetSpellInfo(90708)] = { -- HORDE GUILD STANDARD MMOSimca@340: ignore = true, MMOSimca@340: }, MMOSimca@340: MMOSimca@340: -- Holiday Buffs MMOSimca@340: [_G.GetSpellInfo(136583)] = { -- DARKMOON TOP HAT MMOSimca@340: modifier = 0.1, MMOSimca@337: }, MMOSimca@337: [_G.GetSpellInfo(24705)] = { -- GRIM VISAGE MMOSimca@337: modifier = 0.1, MMOSimca@337: }, MMOSimca@337: [_G.GetSpellInfo(61849)] = { -- SPIRIT OF SHARING MMOSimca@337: modifier = 0.1, MMOSimca@337: }, MMOSimca@340: [_G.GetSpellInfo(95987)] = { -- UNBURDENED MMOSimca@337: modifier = 0.1, MMOSimca@337: }, MMOSimca@340: [_G.GetSpellInfo(46668)] = { -- WHEE! MMOSimca@337: modifier = 0.1, MMOSimca@337: }, MMOSimca@337: [_G.GetSpellInfo(100951)] = { -- WOW 8TH ANNIVERSARY MMOSimca@337: modifier = 0.08, MMOSimca@337: }, MMOSimca@337: [_G.GetSpellInfo(132700)] = { -- WOW 9TH ANNIVERSARY MMOSimca@337: modifier = 0.09, MMOSimca@337: }, MMOSimca@337: [_G.GetSpellInfo(150986)] = { -- WOW 10TH ANNIVERSARY MMOSimca@337: modifier = 0.1, MMOSimca@341: }, MMOSimca@340: MMOSimca@340: -- Situational Buffs MMOSimca@340: [_G.GetSpellInfo(39953)] = { -- ADALS SONG OF BATTLE MMOSimca@418: faction = private.FACTION_DATA.SHATAR[3], MMOSimca@340: modifier = 0.1, MMOSimca@340: }, MMOSimca@340: [_G.GetSpellInfo(30754)] = { -- CENARION FAVOR MMOSimca@418: faction = private.FACTION_DATA.CENARION_CIRCLE[3], MMOSimca@340: modifier = 0.25, MMOSimca@340: }, MMOSimca@340: [_G.GetSpellInfo(32098)] = { -- HONOR HOLD FAVOR MMOSimca@418: faction = private.FACTION_DATA.HONOR_HOLD[3], MMOSimca@340: modifier = 0.25, MMOSimca@340: }, MMOSimca@340: [_G.GetSpellInfo(39913)] = { -- NAZGRELS FERVOR MMOSimca@418: faction = private.FACTION_DATA.THRALLMAR[3], MMOSimca@340: modifier = 0.1, MMOSimca@340: }, MMOSimca@340: [_G.GetSpellInfo(32096)] = { -- THRALLMARS FAVOR MMOSimca@418: faction = private.FACTION_DATA.THRALLMAR[3], MMOSimca@340: modifier = 0.25, MMOSimca@340: }, MMOSimca@340: [_G.GetSpellInfo(39911)] = { -- TROLLBANES COMMAND MMOSimca@418: faction = private.FACTION_DATA.HONOR_HOLD[3], MMOSimca@340: modifier = 0.1, MMOSimca@340: }, MMOSimca@337: }