You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

893 lines
17 KiB

local E = select(2, ...):unpack()
local GetSpellInfo = C_Spell and C_Spell.GetSpellName or GetSpellInfo
local GetSpellTexture = C_Spell and C_Spell.GetSpellTexture or GetSpellTexture
E.spell_cdmod_talents = {
[3044] = {
19454, 0.2,
19455, 0.4,
19456, 0.6,
19457, 0.8,
19458, 1.0,
},
[2136] = {
11078, 0.5,
11080, 1.0,
12342, 1.5,
},
[122] = {
11165, 2,
12475, 4,
},
[7814] = {
18128, 3,
18129, 6,
},
[1022] = {
20174, 60,
20175, 120,
},
[853] = {
20487, 5,
20488, 10,
20489, 15,
},
[20271] = {
25956, 1,
25957, 2,
},
[633] = {
20234, 600,
20235, 1200,
},
[586] = {
15274, 3,
15311, 6,
},
[8092] = {
15273, 0.5,
15312, 1.0,
15313, 1.5,
15314, 2.0,
15316, 2.5,
},
[8122] = {
15392, 2,
15448, 4,
},
[2094] = {
13981, 45,
14066, 90,
},
[1856] = {
13981, 45,
14066, 90,
},
[5277] = {
13742, 45,
13872, 90,
},
[2983] = {
13742, 45,
13872, 90,
},
[1784] = {
13975, 1,
14062, 2,
14063, 3,
14064, 4,
14065, 5,
},
[8042] = {
16040, 0.2,
16113, 0.4,
16114, 0.6,
16115, 0.8,
16116, 1.0,
},
[8050] = {
16040, 0.2,
16113, 0.4,
16114, 0.6,
16115, 0.8,
16116, 1.0,
},
[8056] = {
16040, 0.2,
16113, 0.4,
16114, 0.6,
16115, 0.8,
16116, 1.0,
},
[8177] = {
16258, 1,
16293, 2,
},
[20608] = {
16184, 600,
16209, 1200,
},
[1161] = {
12327, 120,
12886, 180,
},
[1719] = {
29723, 240,
29724, 420,
29725, 600,
},
[355] = {
12302, 1,
12765, 2,
},
[20252] = {
20504, 5,
20505, 10,
},
}
E.spell_cdmod_talents_mult = {}
E.spell_chmod_talents = E.BLANK
E.spell_cdmod_by_haste = {
[19434] = 3,
}
E.spell_cdmod_by_aura_mult = E.BLANK
E.spell_noreset_onencounterend = {
[20608] = true,
}
E.talentNameToRankIDs = {}
local temp = {}
for _, v in E.pairs(E.spell_cdmod_talents, E.spell_cdmod_talents_mult) do
for k = 1, #v, 2 do
local id = v[k]
local name = GetSpellInfo(id)
if name and not temp[id] then
E.talentNameToRankIDs[name] = E.talentNameToRankIDs[name] or {}
tinsert(E.talentNameToRankIDs[name], id)
temp[id] = true
end
end
end
local itemBonus = {
[20484] = { 26106, 600 },
[5116] = {
23158, 1,
24465, 1,
},
[5384] = { 24432, 2 },
[1953] = { 23025, 2 },
[12051] = { 28763, 60 },
[853] = { 23302, 10 },
[633] = { 28774, 720 },
[586] = { 18388, 2 },
[2094] = { 24469, 5 },
[5277] = { 26112, 60 },
[1776] = { 23048, 1 },
[1766] = { 24434, 0.5 },
[1856] = {
21874, 30,
14064, 60,
},
[20608] = { 27797, 600 },
[20252] = { 22738, 5 },
[5246] = { 24456, 15 },
}
local itemBonusMult = {
[16914] = { 23556, .50 },
[740] = { 23556, .50 },
[6789] = { 24487, .85 },
}
local function MergeTable(src, dest)
for id, t in pairs(src) do
dest[id] = dest[id] or {}
for i = 1, #t do
local v = t[i]
tinsert(dest[id], v)
end
end
end
MergeTable(itemBonus, E.spell_cdmod_talents)
MergeTable(itemBonusMult, E.spell_cdmod_talents_mult)
itemBonus = nil
itemBonusMult = nil
E.spell_linked = {
[1499] = { 1499, 13813, 13795, 13809 },
[13813] = { 1499, 13813, 13795, 13809 },
[13795] = { 1499, 13813, 13795, 13809 },
[13809] = { 1499, 13813, 13795, 13809 },
[543] = { 543, 6143 },
[6143] = { 543, 6143 },
[498] = { 498, 642 },
[642] = { 498, 642 },
[8042] = { 8042, 8050, 8056 },
[8050] = { 8042, 8050, 8056 },
[8056] = { 8042, 8050, 8056 },
[871] = { 871, 1719, 20230 },
[1719] = { 871, 1719, 20230 },
[20230] = { 871, 1719, 20230 },
}
E.spell_merged = {
[20554] = 26297,
[26296] = 26297,
}
local spellRanks = {
{ 5211, 6798, 8983 },
{ 8998, 9000, 9892 },
{ 1850, 9821 },
{ 16914, 17401, 17402 },
{ 22842, 22895, 22896, 26999 },
{ 5215, 6783, 9913 },
{ 20484, 20739, 20742, 20747, 20748 },
{ 740, 8918, 9862, 9863 },
{ 3044, 14281, 14282, 14283, 14284, 14285, 14286, 14287 },
{ 781, 14272, 14273 },
{ 20736, 14274, 15629, 15630, 15631, 15632, 27020 },
{ 13813, 14316, 14317 },
{ 1499, 14310, 14311 },
{ 13795, 14302, 14303, 14304, 14305 },
{ 1495, 14269, 14270, 14271 },
{ 2643, 14288, 14289, 14290, 25294 },
{ 2973, 14260, 14261, 14262, 14263, 14264, 14265, 14266 },
{ 1513, 14326, 14327 },
{ 1510, 14294, 14295 },
{ 1742, 1753, 1754, 1755, 1756, 16697 },
{ 2649, 14916, 14917, 14918, 14919, 14920, 14921 },
{ 7371, 26177, 26178, 26179, 26201, 27685 },
{ 17253, 17255, 17256, 17257, 17258, 17259, 17260, 17261 },
{ 23099, 23109, 23110 },
{ 23145, 23147, 23148 },
{ 24450, 24452, 24453 },
{ 24640, 24583, 24586, 24587 },
{ 24604, 24605, 24603, 24597 },
{ 26090, 26187, 26188 },
{ 34889, 35323 },
{ 120, 8492, 10159, 10160, 10161 },
{ 543, 8457, 8458, 10223, 10225 },
{ 2136, 2137, 2138, 8412, 8413, 10197, 10199 },
{ 122, 865, 6131, 10230 },
{ 6143, 8461, 8462, 10177, 28609 },
{ 1022, 5599, 10278 },
{ 642, 1020 },
{ 498, 5573 },
{ 879, 5614, 5615, 10312, 10313, 10314 },
{ 853, 5588, 5589, 10308 },
{ 24275, 24274, 24239 },
{ 2812, 10318 },
{ 633, 2799, 10310 },
{ 2878, 5627, 10326 },
{ 13908, 19236, 19238, 19240, 19241, 19242, 19243 },
{ 2944, 19276, 19277, 19278, 19279, 19280 },
{ 586, 9578, 9579, 9592, 10941, 10942 },
{ 13896, 19271, 19273, 19274, 19275 },
{ 8092, 8102, 8103, 8104, 8105, 8106, 10945, 10946, 10947 },
{ 17, 592, 600, 3747, 6065, 6066, 10898, 10899, 10900, 10901 },
{ 8122, 8124, 10888, 10890 },
{ 2651, 19289, 19291, 19292, 19293 },
{ 1966, 6768, 8637, 11303, 25302 },
{ 1776, 1777, 8629, 11285, 11286 },
{ 1766, 1767, 1768, 1769 },
{ 408, 8643 },
{ 2983, 8696, 11305 },
{ 1784, 1785, 1786, 1787 },
{ 1856, 1857 },
{ 421, 930, 2860, 10605 },
{ 8042, 8044, 8045, 8046, 10412, 10413, 10414 },
{ 1535, 8498, 8499, 11314, 11315 },
{ 8050, 8052, 8053, 10447, 10448, 29228 },
{ 8056, 8058, 10472, 10473 },
{ 5730, 6390, 6391, 6392, 10427, 10428 },
{ 603, 30910 },
{ 6789, 17925, 17926 },
{ 5484, 17928 },
{ 6229, 11739, 11740, 28610 },
{ 6353, 17924 },
{ 20707, 20762, 20763, 20764, 20765 },
{ 19244, 19647 },
{ 19505, 19731, 19734, 19736 },
{ 17735, 17750, 17751, 17752 },
{ 7814, 7815, 7816, 11778, 11779, 11780 },
{ 6360, 7813, 11784, 11785 },
{ 3716, 7809, 7810, 7811, 11774, 11775 },
{ 100, 6178, 11578 },
{ 20252, 20616, 20617 },
{ 694, 7400, 7402, 20559, 20560 },
{ 7384, 7887, 11584, 11585 },
{ 6552, 6554 },
{ 6572, 6574, 7379, 11600, 11601, 25288 },
{ 72, 1671, 1672 },
{ 6343, 8198, 8204, 8205, 11580, 11581 },
}
local talentRanks = {
{ 16979 },
{ 17116 },
{ 18562 },
{ 16857, 17390, 17391, 17392 },
{ 16689, 16810, 16811, 16812, 16813, 17329 },
{ 19574 },
{ 19263 },
{ 19577 },
{ 23989 },
{ 19503 },
{ 34490 },
{ 19434, 20900, 20901, 20902, 20903, 20904 },
{ 19306, 20909, 20910 },
{ 19386, 24132, 24133 },
{ 12042 },
{ 12472 },
{ 11129 },
{ 12043 },
{ 11113, 13018, 13019, 13020, 13021 },
{ 11426, 13031, 13032, 13033 },
{ 11958 },
{ 20216 },
{ 20066 },
{ 20925, 20927, 20928 },
{ 20473, 20929, 20930 },
{ 26573, 20116, 20922, 20923, 20924 },
{ 14751 },
{ 10060 },
{ 15473 },
{ 15487 },
{ 15286 },
{ 724, 27870, 27871 },
{ 13750 },
{ 13877 },
{ 14177 },
{ 14278 },
{ 14183 },
{ 14185 },
{ 14251 },
{ 16166 },
{ 16190, 17354, 17359 },
{ 16188 },
{ 17364 },
{ 18288 },
{ 18708 },
{ 17962, 18930, 18931, 18932 },
{ 17877, 18867, 18868, 18869, 18870, 18871 },
{ 12809 },
{ 12292 },
{ 12975 },
{ 12328 },
{ 23881, 23892, 23893, 23894 },
{ 12294, 21551, 21552, 21553 },
{ 23922, 23923, 23924, 23925 },
}
for i = 1, #spellRanks do
local t = spellRanks[i]
local rank1 = t[1]
rank1 = E.spell_merged[rank1] or rank1
for j = 2, #t do
local rankN = t[j]
E.spell_merged[rankN] = rank1
end
end
for i = 1, #talentRanks do
local t = talentRanks[i]
local rank1 = t[1]
rank1 = E.spell_merged[rank1] or rank1
local name = GetSpellInfo(rank1)
if name then
for j = 2, #t do
local rankN = t[j]
E.spell_merged[rankN] = rank1
end
local dupe = E.talentNameToRankIDs[name]
if dupe then
if type(dupe[1]) == "table" then
tinsert(E.talentNameToRankIDs[name], t)
else
E.talentNameToRankIDs[name] = { dupe, t }
end
else
E.talentNameToRankIDs[name] = t
end
end
end
E.spell_merged_updateoncast = E.BLANK
for k, v in pairs(E.spell_merged_updateoncast) do
if not v[2] then
local _, icon = GetSpellTexture(k)
v[2] = icon
end
end
E.spellcast_shared_cdstart = E.BLANK
E.spellcast_cdreset = {
[23989] = {
nil,
19263,
5384,
1499, 13813, 13795, 13809,
},
[12472] = {
nil,
11958,
11426,
120,
122,
6143,
},
[14185] = {
nil,
"*",
},
}
E.spellcast_cdr = E.BLANK
E.spellcast_cdr_powerspender = E.BLANK
E.sync_cdr_by_powerconsumed = E.BLANK
E.spell_aura_freespender = E.BLANK
E.spell_auraremoved_cdstart_preactive = {
[17116] = 17116,
[5215] = 5215,
[12043] = 12043,
[14177] = 14177,
[1784] = 1784,
[20216] = 20216,
[16188] = 16188,
[11129] = 11129,
[14751] = 14751,
[16166] = 16166,
[18288] = 18288,
[20580] = 20580,
[5384] = 0,
}
for k, v in pairs(E.spell_auraremoved_cdstart_preactive) do
local name = GetSpellInfo(k)
if name and name ~= "" then
E.spellNameToID[name] = v
end
end
E.spell_auraapplied_processspell = {
[11129] = 11129,
}
E.spell_dispel_cdstart = E.BLANK
E.selfLimitedMinMaxReducer = E.BLANK
E.spell_damage_cdr_totem = E.BLANK
E.spell_damage_cdr_pet = E.BLANK
E.spell_damage_cdr = E.BLANK
E.spell_energize_cdr = E.BLANK
E.spell_interrupt_cdr = E.BLANK
E.cdrr_heartstopaura_blackList = E.BLANK
E.runeforge_bonus_to_descid = E.BLANK
E.runeforge_specid = E.BLANK
E.runeforge_desc_to_powerid = E.BLANK
E.runeforge_unity = E.BLANK
E.covenant_to_spellid = E.BLANK
E.covenant_abilities = E.BLANK
E.spell_benevolent_faerie_majorcd = E.BLANK
E.covenant_cdmod_conduits = E.BLANK
E.covenant_chmod_conduits = E.BLANK
E.covenant_cdmod_items_mult = E.BLANK
E.soulbind_conduits_rank = E.BLANK
E.soulbind_abilities = E.BLANK
E.spell_cdmod_conduits = E.BLANK
E.spell_cdmod_conduits_mult = E.BLANK
E.spell_symbol_of_hope_majorcd = E.BLANK
E.spell_major_cd = E.BLANK
E.item_merged = {
[37865] = 37864,
[28235] = 37864,
[30348] = 37864,
[28238] = 37864,
[30351] = 37864,
[28236] = 37864,
[30349] = 37864,
[28234] = 37864,
[28237] = 37864,
[30350] = 37864,
[28240] = 37864,
[28243] = 37864,
[30345] = 37864,
[28241] = 37864,
[30343] = 37864,
[28239] = 37864,
[30346] = 37864,
[28242] = 37864,
[30344] = 37864,
[33046] = 37864,
[29593] = 18859,
[18857] = 18859,
[18864] = 18859,
[18854] = 18859,
[18862] = 18859,
[18858] = 18859,
[18856] = 18859,
[18863] = 18859,
[18850] = 18859,
[18845] = 18859,
[18849] = 18859,
[29592] = 18859,
[18834] = 18859,
[18851] = 18859,
[18852] = 18859,
[18846] = 18859,
[18853] = 18859,
[34049] = 34050,
[34578] = 34050,
[34163] = 34050,
[34579] = 34050,
[33832] = 34050,
[34576] = 34050,
[35326] = 34050,
[34580] = 34050,
[35327] = 34050,
[34162] = 34050,
[34577] = 34050,
}
E.item_equip_bonus = {
[19617] = 24434,
[14154] = 18388,
[22345] = 20608,
[19621] = 24432,
}
E.item_set_bonus = {
[16828] = { 23556, 8 },
[16829] = { 23556, 8 },
[16830] = { 23556, 8 },
[16833] = { 23556, 8 },
[16831] = { 23556, 8 },
[16834] = { 23556, 8 },
[16835] = { 23556, 8 },
[16836] = { 23556, 8 },
[21355] = { 26106, 5 },
[21353] = { 26106, 5 },
[21354] = { 26106, 5 },
[21356] = { 26106, 5 },
[21357] = { 26106, 5 },
[19621] = { 24465, 3 },
[19953] = { 24465, 3 },
[19833] = { 24465, 3 },
[19832] = { 24465, 3 },
[19831] = { 24465, 3 },
[16466] = { 23158, 3 },
[16465] = { 23158, 3 },
[16468] = { 23158, 3 },
[16462] = { 23158, 3 },
[16463] = { 23158, 3 },
[16467] = { 23158, 3 },
[16569] = { 23158, 3 },
[16571] = { 23158, 3 },
[16567] = { 23158, 3 },
[16565] = { 23158, 3 },
[16566] = { 23158, 3 },
[16568] = { 23158, 3 },
[22843] = { 23158, 4 },
[22862] = { 23158, 4 },
[23251] = { 23158, 4 },
[23252] = { 23158, 4 },
[22874] = { 23158, 4 },
[22875] = { 23158, 4 },
[23292] = { 23158, 4 },
[23293] = { 23158, 4 },
[23278] = { 23158, 4 },
[23279] = { 23158, 4 },
[23306] = { 23158, 4 },
[23307] = { 23158, 4 },
[16531] = { 23158, 4 },
[16530] = { 23158, 4 },
[16525] = { 23158, 4 },
[16527] = { 23158, 4 },
[16526] = { 23158, 4 },
[16528] = { 23158, 4 },
[16425] = { 23158, 4 },
[16426] = { 23158, 4 },
[16401] = { 23158, 4 },
[16403] = { 23158, 4 },
[16428] = { 23158, 4 },
[16427] = { 23158, 4 },
[16441] = { 23025, 3 },
[16444] = { 23025, 3 },
[16443] = { 23025, 3 },
[16437] = { 23025, 3 },
[16440] = { 23025, 3 },
[16442] = { 23025, 3 },
[16536] = { 23025, 3 },
[16533] = { 23025, 3 },
[16535] = { 23025, 3 },
[16539] = { 23025, 3 },
[16540] = { 23025, 3 },
[16534] = { 23025, 3 },
[22870] = { 23025, 4 },
[22860] = { 23025, 4 },
[23263] = { 23025, 4 },
[23264] = { 23025, 4 },
[22883] = { 23025, 4 },
[22886] = { 23025, 4 },
[23304] = { 23025, 4 },
[23305] = { 23025, 4 },
[23290] = { 23025, 4 },
[23291] = { 23025, 4 },
[23318] = { 23025, 4 },
[23319] = { 23025, 4 },
[16485] = { 23025, 4 },
[16487] = { 23025, 4 },
[16491] = { 23025, 4 },
[16490] = { 23025, 4 },
[16489] = { 23025, 4 },
[16492] = { 23025, 4 },
[16369] = { 23025, 4 },
[16391] = { 23025, 4 },
[16413] = { 23025, 4 },
[16414] = { 23025, 4 },
[16416] = { 23025, 4 },
[16415] = { 23025, 4 },
[22502] = { 28763, 2 },
[22503] = { 28763, 2 },
[22498] = { 28763, 2 },
[22501] = { 28763, 2 },
[22497] = { 28763, 2 },
[22496] = { 28763, 2 },
[22500] = { 28763, 2 },
[22499] = { 28763, 2 },
[23062] = { 28763, 2 },
[22430] = { 28774, 4 },
[22431] = { 28774, 4 },
[22426] = { 28774, 4 },
[22428] = { 28774, 4 },
[22427] = { 28774, 4 },
[22429] = { 28774, 4 },
[22425] = { 28774, 4 },
[22424] = { 28774, 4 },
[23066] = { 28774, 4 },
[16473] = { 23302, 3 },
[16474] = { 23302, 3 },
[16476] = { 23302, 3 },
[16472] = { 23302, 3 },
[16471] = { 23302, 3 },
[16475] = { 23302, 3 },
[29612] = { 23302, 3 },
[29613] = { 23302, 3 },
[29614] = { 23302, 3 },
[29615] = { 23302, 3 },
[29616] = { 23302, 3 },
[29617] = { 23302, 3 },
[29600] = { 23302, 3 },
[29601] = { 23302, 3 },
[29602] = { 23302, 3 },
[29603] = { 23302, 3 },
[29604] = { 23302, 3 },
[29605] = { 23302, 3 },
[23272] = { 23302, 4 },
[23273] = { 23302, 4 },
[23274] = { 23302, 4 },
[23275] = { 23302, 4 },
[23276] = { 23302, 4 },
[23277] = { 23302, 4 },
[16410] = { 23302, 4 },
[16409] = { 23302, 4 },
[16433] = { 23302, 4 },
[16435] = { 23302, 4 },
[16434] = { 23302, 4 },
[16436] = { 23302, 4 },
[16453] = { 23048, 3 },
[16457] = { 23048, 3 },
[16455] = { 23048, 3 },
[16446] = { 23048, 3 },
[16454] = { 23048, 3 },
[16456] = { 23048, 3 },
[16563] = { 23048, 3 },
[16561] = { 23048, 3 },
[16562] = { 23048, 3 },
[16564] = { 23048, 3 },
[16560] = { 23048, 3 },
[16558] = { 23048, 3 },
[22864] = { 23048, 4 },
[22856] = { 23048, 4 },
[22879] = { 23048, 4 },
[22880] = { 23048, 4 },
[23257] = { 23048, 4 },
[23258] = { 23048, 4 },
[23298] = { 23048, 4 },
[23299] = { 23048, 4 },
[23284] = { 23048, 4 },
[23285] = { 23048, 4 },
[23312] = { 23048, 4 },
[23313] = { 23048, 4 },
[16498] = { 23048, 4 },
[16499] = { 23048, 4 },
[16505] = { 23048, 4 },
[16508] = { 23048, 4 },
[16506] = { 23048, 4 },
[16507] = { 23048, 4 },
[16392] = { 23048, 4 },
[16396] = { 23048, 4 },
[16417] = { 23048, 4 },
[16419] = { 23048, 4 },
[16420] = { 23048, 4 },
[16418] = { 23048, 4 },
[16827] = { 21874, 2 },
[16824] = { 21874, 2 },
[16825] = { 21874, 2 },
[16820] = { 21874, 2 },
[16821] = { 21874, 2 },
[16826] = { 21874, 2 },
[16822] = { 21874, 2 },
[16823] = { 21874, 2 },
[19617] = { 24469, 3 },
[19954] = { 24469, 3 },
[19836] = { 24469, 3 },
[19835] = { 24469, 3 },
[19834] = { 24469, 3 },
[21359] = { 26112, 3 },
[21360] = { 26112, 3 },
[21361] = { 26112, 3 },
[21362] = { 26112, 3 },
[21364] = { 26112, 3 },
[19605] = { 24487, 5 },
[19957] = { 24487, 5 },
[19848] = { 24487, 5 },
[19849] = { 24487, 5 },
[20033] = { 24487, 5 },
[19951] = { 24456, 3 },
[19577] = { 24456, 3 },
[19824] = { 24456, 3 },
[19823] = { 24456, 3 },
[19822] = { 24456, 3 },
[16477] = { 22738, 3 },
[16478] = { 22738, 3 },
[16480] = { 22738, 3 },
[16483] = { 22738, 3 },
[16484] = { 22738, 3 },
[16479] = { 22738, 3 },
[16541] = { 22738, 3 },
[16542] = { 22738, 3 },
[16544] = { 22738, 3 },
[16545] = { 22738, 3 },
[16548] = { 22738, 3 },
[16543] = { 22738, 3 },
[22868] = { 22738, 4 },
[22858] = { 22738, 4 },
[22872] = { 22738, 4 },
[22873] = { 22738, 4 },
[23244] = { 22738, 4 },
[23243] = { 22738, 4 },
[23300] = { 22738, 4 },
[23301] = { 22738, 4 },
[23286] = { 22738, 4 },
[23287] = { 22738, 4 },
[23314] = { 22738, 4 },
[23315] = { 22738, 4 },
[16509] = { 22738, 4 },
[16510] = { 22738, 4 },
[16513] = { 22738, 4 },
[16515] = { 22738, 4 },
[16514] = { 22738, 4 },
[16516] = { 22738, 4 },
[16405] = { 22738, 4 },
[16406] = { 22738, 4 },
[16430] = { 22738, 4 },
[16431] = { 22738, 4 },
[16429] = { 22738, 4 },
[16432] = { 22738, 4 },
}
E.item_unity = E.BLANK
E.sync_cooldowns = E.BLANK
E.sync_in_raid = E.BLANK
E.sync_periodic = E.BLANK
E:ProcessSpellDB()