forked from Wolkenschutz/KeystoneLoot
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathupgrade_item.lua
88 lines (72 loc) · 16.3 KB
/
upgrade_item.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
local AddonName, KeystoneLoot = ...;
local targetItemLevel = 0;
local targetUpgradeLevelId = '';
local _itemLevelBonusId = {
[-100] = 1372, [-99] = 1373, [-98] = 1374, [-97] = 1375, [-96] = 1376, [-95] = 1377, [-94] = 1378, [-93] = 1379, [-92] = 1380, [-91] = 1381, [-90] = 1382, [-89] = 1383, [-88] = 1384, [-87] = 1385, [-86] = 1386, [-85] = 1387, [-84] = 1388, [-83] = 1389, [-82] = 1390, [-81] = 1391, [-80] = 1392, [-79] = 1393, [-78] = 1394, [-77] = 1395, [-76] = 1396, [-75] = 1397, [-74] = 1398, [-73] = 1399, [-72] = 1400, [-71] = 1401, [-70] = 1402, [-69] = 1403, [-68] = 1404, [-67] = 1405, [-66] = 1406, [-65] = 1407, [-64] = 1408, [-63] = 1409, [-62] = 1410, [-61] = 1411, [-60] = 1412, [-59] = 1413, [-58] = 1414, [-57] = 1415, [-56] = 1416, [-55] = 1417, [-54] = 1418, [-53] = 1419, [-52] = 1420, [-51] = 1421, [-50] = 1422, [-49] = 1423, [-48] = 1424, [-47] = 1425, [-46] = 1426, [-45] = 1427, [-44] = 1428, [-43] = 1429, [-42] = 1430, [-41] = 1431, [-40] = 1432, [-39] = 1433, [-38] = 1434, [-37] = 1435, [-36] = 1436, [-35] = 1437, [-34] = 1438, [-33] = 1439, [-32] = 1440, [-31] = 1441, [-30] = 1442, [-29] = 1443, [-28] = 1444, [-27] = 1445, [-26] = 1446, [-25] = 1447, [-24] = 1448, [-23] = 1449, [-22] = 1450, [-21] = 1451, [-20] = 1452, [-19] = 1453, [-18] = 1454, [-17] = 1455, [-16] = 1456, [-15] = 1457, [-14] = 1458, [-13] = 1459, [-12] = 1460, [-11] = 1461, [-10] = 1462, [-9] = 1463, [-8] = 1464, [-7] = 1465, [-6] = 1466, [-5] = 1467, [-4] = 1468, [-3] = 1469, [-2] = 1470, [-1] = 1471,
[1] = 1473, [2] = 1474, [3] = 1475, [4] = 1476, [5] = 1477, [6] = 1478, [7] = 1479, [8] = 1480, [9] = 1481, [10] = 1482, [11] = 1483, [12] = 1484, [13] = 1485, [14] = 1486, [15] = 1487, [16] = 1488, [17] = 1489, [18] = 1490, [19] = 1491, [20] = 1492, [21] = 1493, [22] = 1494, [23] = 1495, [24] = 1496, [25] = 1497, [26] = 1498, [27] = 1499, [28] = 1500, [29] = 1501, [30] = 1502, [31] = 1503, [32] = 1504, [33] = 1505, [34] = 1506, [35] = 1507, [36] = 1508, [37] = 1509, [38] = 1510, [39] = 1511, [40] = 1512, [41] = 1513, [42] = 1514, [43] = 1515, [44] = 1516, [45] = 1517, [46] = 1518, [47] = 1519, [48] = 1520, [49] = 1521, [50] = 1522, [51] = 1523, [52] = 1524, [53] = 1525, [54] = 1526, [55] = 1527, [56] = 1528, [57] = 1529, [58] = 1530, [59] = 1531, [60] = 1532, [61] = 1533, [62] = 1534, [63] = 1535, [64] = 1536, [65] = 1537, [66] = 1538, [67] = 1539, [68] = 1540, [69] = 1541, [70] = 1542, [71] = 1543, [72] = 1544, [73] = 1545, [74] = 1546, [75] = 1547, [76] = 1548, [77] = 1549, [78] = 1550, [79] = 1551, [80] = 1552, [81] = 1553, [82] = 1554, [83] = 1555, [84] = 1556, [85] = 1557, [86] = 1558, [87] = 1559, [88] = 1560, [89] = 1561, [90] = 1562, [91] = 1563, [92] = 1564, [93] = 1565, [94] = 1566, [95] = 1567, [96] = 1568, [97] = 1569, [98] = 1570, [99] = 1571, [100] = 1572,
[101] = 1573, [102] = 1574, [103] = 1575, [104] = 1576, [105] = 1577, [106] = 1578, [107] = 1579, [108] = 1580, [109] = 1581, [110] = 1582, [111] = 1583, [112] = 1584, [113] = 1585, [114] = 1586, [115] = 1587, [116] = 1588, [117] = 1589, [118] = 1590, [119] = 1591, [120] = 1592, [121] = 1593, [122] = 1594, [123] = 1595, [124] = 1596, [125] = 1597, [126] = 1598, [127] = 1599, [128] = 1600, [129] = 1601, [130] = 1602, [131] = 1603, [132] = 1604, [133] = 1605, [134] = 1606, [135] = 1607, [136] = 1608, [137] = 1609, [138] = 1610, [139] = 1611, [140] = 1612, [141] = 1613, [142] = 1614, [143] = 1615, [144] = 1616, [145] = 1617, [146] = 1618, [147] = 1619, [148] = 1620, [149] = 1621, [150] = 1622, [151] = 1623, [152] = 1624, [153] = 1625, [154] = 1626, [155] = 1627, [156] = 1628, [157] = 1629, [158] = 1630, [159] = 1631, [160] = 1632, [161] = 1633, [162] = 1634, [163] = 1635, [164] = 1636, [165] = 1637, [166] = 1638, [167] = 1639, [168] = 1640, [169] = 1641, [170] = 1642, [171] = 1643, [172] = 1644, [173] = 1645, [174] = 1646, [175] = 1647, [176] = 1648, [177] = 1649, [178] = 1650, [179] = 1651, [180] = 1652, [181] = 1653, [182] = 1654, [183] = 1655, [184] = 1656, [185] = 1657, [186] = 1658, [187] = 1659, [188] = 1660, [189] = 1661, [190] = 1662, [191] = 1663, [192] = 1664, [193] = 1665, [194] = 1666, [195] = 1667, [196] = 1668, [197] = 1669, [198] = 1670, [199] = 1671, [200] = 1672,
[201] = 3130, [202] = 3131, [203] = 3132, [204] = 3133, [205] = 3134, [206] = 3135, [207] = 3136, [208] = 3137, [209] = 3138, [210] = 3139, [211] = 3140, [212] = 3141, [213] = 3142, [214] = 3143, [215] = 3144, [216] = 3145, [217] = 3146, [218] = 3147, [219] = 3148, [220] = 3149, [221] = 3150, [222] = 3151, [223] = 3152, [224] = 3153, [225] = 3154, [226] = 3155, [227] = 3156, [228] = 3157, [229] = 3158, [230] = 3159, [231] = 3160, [232] = 3161, [233] = 3162, [234] = 3163, [235] = 3164, [236] = 3165, [237] = 3166, [238] = 3167, [239] = 3168, [240] = 3169, [241] = 3170, [242] = 3171, [243] = 3172, [244] = 3173, [245] = 3174, [246] = 3175, [247] = 3176, [248] = 3177, [249] = 3178, [250] = 3179, [251] = 3180, [252] = 3181, [253] = 3182, [254] = 3183, [255] = 3184, [256] = 3185, [257] = 3186, [258] = 3187, [259] = 3188, [260] = 3189, [261] = 3190, [262] = 3191, [263] = 3192, [264] = 3193, [265] = 3194, [266] = 3195, [267] = 3196, [268] = 3197, [269] = 3198, [270] = 3199, [271] = 3200, [272] = 3201, [273] = 3202, [274] = 3203, [275] = 3204, [276] = 3205, [277] = 3206, [278] = 3207, [279] = 3208, [280] = 3209, [281] = 3210, [282] = 3211, [283] = 3212, [284] = 3213, [285] = 3214, [286] = 3215, [287] = 3216, [288] = 3217, [289] = 3218, [290] = 3219, [291] = 3220, [292] = 3221, [293] = 3222, [294] = 3223, [295] = 3224, [296] = 3225, [297] = 3226, [298] = 3227, [299] = 3228, [300] = 3229,
[301] = 3230, [302] = 3231, [303] = 3232, [304] = 3233, [305] = 3234, [306] = 3235, [307] = 3236, [308] = 3237, [309] = 3238, [310] = 3239, [311] = 3240, [312] = 3241, [313] = 3242, [314] = 3243, [315] = 3244, [316] = 3245, [317] = 3246, [318] = 3247, [319] = 3248, [320] = 3249, [321] = 3250, [322] = 3251, [323] = 3252, [324] = 3253, [325] = 3254, [326] = 3255, [327] = 3256, [328] = 3257, [329] = 3258, [330] = 3259, [331] = 3260, [332] = 3261, [333] = 3262, [334] = 3263, [335] = 3264, [336] = 3265, [337] = 3266, [338] = 3267, [339] = 3268, [340] = 3269, [341] = 3270, [342] = 3271, [343] = 3272, [344] = 3273, [345] = 3274, [346] = 3275, [347] = 3276, [348] = 3277, [349] = 3278, [350] = 3279, [351] = 3280, [352] = 3281, [353] = 3282, [354] = 3283, [355] = 3284, [356] = 3285, [357] = 3286, [358] = 3287, [359] = 3288, [360] = 3289, [361] = 3290, [362] = 3291, [363] = 3292, [364] = 3293, [365] = 3294, [366] = 3295, [367] = 3296, [368] = 3297, [369] = 3298, [370] = 3299, [371] = 3300, [372] = 3301, [373] = 3302, [374] = 3303, [375] = 3304, [376] = 3305, [377] = 3306, [378] = 3307, [379] = 3308, [380] = 3309, [381] = 3310, [382] = 3311, [383] = 3312, [384] = 3313, [385] = 3314, [386] = 3315, [387] = 3316, [388] = 3317, [389] = 3318, [390] = 3319, [391] = 3320, [392] = 3321, [393] = 3322, [394] = 3323, [395] = 3324, [396] = 3325, [397] = 3326, [398] = 3327, [399] = 3328, [400] = 3329,
[401] = 9455, [402] = 9456, [403] = 9457, [404] = 9458, [405] = 9459, [406] = 9460, [407] = 9461, [408] = 9464, [409] = 9465, [410] = 9466, [411] = 9834, [412] = 9835, [413] = 9836, [414] = 9837, [415] = 9838, [416] = 9839, [417] = 9840, [418] = 9841, [419] = 9842, [420] = 9843, [421] = 9844, [422] = 9845, [423] = 9846, [424] = 9847, [425] = 9848, [426] = 9849, [427] = 9850, [428] = 9851, [429] = 9852, [430] = 9853, [431] = 9874, [432] = 9875, [433] = 9876, [434] = 9877, [435] = 9878, [436] = 9879, [437] = 9880, [438] = 9881, [439] = 9882, [440] = 9883, [441] = 9884, [442] = 9885, [443] = 9886, [444] = 9887, [445] = 9888, [446] = 9889, [447] = 9890, [448] = 9891, [449] = 9892, [450] = 9893, [451] = 9918, [452] = 9919, [453] = 9920, [454] = 9921, [455] = 9922, [456] = 9923, [457] = 9924, [458] = 9925, [459] = 9926, [460] = 9927, [461] = 9928, [462] = 9929, [463] = 9930, [464] = 9931, [465] = 9932, [466] = 9933, [467] = 9934, [468] = 9935, [469] = 9936, [470] = 9937, [471] = 9938, [472] = 9939, [473] = 9940, [474] = 9941, [475] = 9942, [476] = 9943, [477] = 9944, [478] = 9945, [479] = 9946, [480] = 9947, [481] = 9948, [482] = 9949, [483] = 9950, [484] = 9951, [485] = 9952, [486] = 9953, [487] = 9954, [488] = 9955, [489] = 9956, [490] = 9957, [491] = 9958, [492] = 9959, [493] = 9960, [494] = 9961, [495] = 9962, [496] = 9963, [497] = 9964, [498] = 9965, [499] = 9966, [500] = 9967,
[501] = 9968, [502] = 9969, [503] = 9970, [504] = 9971, [505] = 9972, [506] = 9973, [507] = 9974, [508] = 9975, [509] = 9976, [510] = 9977, [511] = 9978, [512] = 9979, [513] = 9980, [514] = 9981, [515] = 9982, [516] = 9983, [517] = 9984, [518] = 9985, [519] = 9986, [520] = 9987, [521] = 9988, [522] = 9989, [523] = 9990, [524] = 9991, [525] = 9992, [526] = 9993, [527] = 9994, [528] = 9995, [529] = 9996, [530] = 9997, [531] = 9998, [532] = 9999, [533] = 10000, [534] = 10001, [535] = 10002, [536] = 10003, [537] = 10004, [538] = 10005, [539] = 10006, [540] = 10007, [541] = 10008, [542] = 10009, [543] = 10010, [544] = 10011, [545] = 10012, [546] = 10013, [547] = 10014, [548] = 10015, [549] = 10016, [550] = 10017, [551] = 10018, [552] = 10019, [553] = 10020, [554] = 10021, [555] = 10022, [556] = 10023, [557] = 10024, [558] = 10025, [559] = 10026, [560] = 10027, [561] = 10028, [562] = 10029, [563] = 10030, [564] = 10031, [565] = 10032, [566] = 10033, [567] = 10034, [568] = 10035, [569] = 10036, [570] = 10037, [571] = 10038, [572] = 10039, [573] = 10040, [574] = 10041, [575] = 10042, [576] = 10043, [577] = 10044, [578] = 10045, [579] = 10046, [580] = 10047, [581] = 10048, [582] = 10049, [583] = 10050, [584] = 10051, [585] = 10052, [586] = 10053, [587] = 10054, [588] = 10055, [589] = 10056, [590] = 10057, [591] = 10058, [592] = 10059, [593] = 10060, [594] = 10061, [595] = 10062, [596] = 10063, [597] = 10064, [598] = 10065, [599] = 10066, [600] = 10067,
[601] = 11341, [602] = 11342, [603] = 11343, [604] = 11344, [605] = 11345, [606] = 11346, [607] = 11347, [608] = 11348, [609] = 11349, [610] = 11350, [611] = 11351, [612] = 11352, [613] = 11353, [614] = 11354, [615] = 11355, [616] = 11356, [617] = 11357, [618] = 11358, [619] = 11359, [620] = 11360, [621] = 11361, [622] = 11362, [623] = 11363, [624] = 11364, [625] = 11365, [626] = 11366, [627] = 11367, [628] = 11368, [629] = 11369, [630] = 11370, [631] = 11371, [632] = 11372, [633] = 11373, [634] = 11374, [635] = 11375, [636] = 11376, [637] = 11377, [638] = 11378, [639] = 11379, [640] = 11380, [641] = 11381, [642] = 11382, [643] = 11383, [644] = 11384, [645] = 11385, [646] = 11386, [647] = 11387, [648] = 11388, [649] = 11389, [650] = 11390, [651] = 11391, [652] = 11392, [653] = 11393, [654] = 11394, [655] = 11395, [656] = 11396, [657] = 11397, [658] = 11398, [659] = 11399, [660] = 11400, [661] = 11401, [662] = 11402, [663] = 11403, [664] = 11404, [665] = 11405, [666] = 11406, [667] = 11407, [668] = 11408, [669] = 11409, [670] = 11410, [671] = 11411, [672] = 11412, [673] = 11413, [674] = 11414, [675] = 11415, [676] = 11416, [677] = 11417, [678] = 11418, [679] = 11419, [680] = 11420, [681] = 11421, [682] = 11422, [683] = 11423, [684] = 11424, [685] = 11425, [686] = 11426, [687] = 11427, [688] = 11428, [689] = 11429, [690] = 11430, [691] = 11431, [692] = 11432, [693] = 11433, [694] = 11434, [695] = 11435, [696] = 11436, [697] = 11437, [698] = 11438, [699] = 11439, [700] = 11440,
[701] = 11441, [702] = 11442, [703] = 11443, [704] = 11444, [705] = 11445, [706] = 11446, [707] = 11447, [708] = 11448, [709] = 11449, [710] = 11450, [711] = 11451, [712] = 11452, [713] = 11453, [714] = 11454, [715] = 11455, [716] = 11456, [717] = 11457, [718] = 11458, [719] = 11459, [720] = 11460, [721] = 11461, [722] = 11462, [723] = 11463, [724] = 11464, [725] = 11465, [726] = 11466, [727] = 11467, [728] = 11468, [729] = 11469, [730] = 11470, [731] = 11471, [732] = 11472, [733] = 11473, [734] = 11474, [735] = 11475, [736] = 11476, [737] = 11477, [738] = 11478, [739] = 11479, [740] = 11480, [741] = 11481, [742] = 11482, [743] = 11483, [744] = 11484, [745] = 11485, [746] = 11486, [747] = 11487, [748] = 11488, [749] = 11489, [750] = 11490, [751] = 11491, [752] = 11492, [753] = 11493, [754] = 11494, [755] = 11495, [756] = 11496, [757] = 11497, [758] = 11498, [759] = 11499, [760] = 11500, [761] = 11501, [762] = 11502, [763] = 11503, [764] = 11504, [765] = 11505, [766] = 11506, [767] = 11507, [768] = 11508, [769] = 11509, [770] = 11510, [771] = 11511, [772] = 11512, [773] = 11513, [774] = 11514, [775] = 11515, [776] = 11516, [777] = 11517, [778] = 11518, [779] = 11519, [780] = 11520, [781] = 11521, [782] = 11522, [783] = 11523, [784] = 11524, [785] = 11525, [786] = 11526, [787] = 11527, [788] = 11528, [789] = 11529, [790] = 11530, [791] = 11531, [792] = 11532, [793] = 11533, [794] = 11534, [795] = 11535, [796] = 11536, [797] = 11537, [798] = 11538, [799] = 11539, [800] = 11540,
[801] = 11541, [802] = 11542, [803] = 11543, [804] = 11544, [805] = 11545, [806] = 11546, [807] = 11547, [808] = 11548, [809] = 11549, [810] = 11550, [811] = 11551, [812] = 11552, [813] = 11553, [814] = 11554, [815] = 11555, [816] = 11556, [817] = 11557, [818] = 11558, [819] = 11559, [820] = 11560, [821] = 11561, [822] = 11562, [823] = 11563, [824] = 11564, [825] = 11565, [826] = 11566, [827] = 11567, [828] = 11568, [829] = 11569, [830] = 11570, [831] = 11571, [832] = 11572, [833] = 11573, [834] = 11574, [835] = 11575, [836] = 11576, [837] = 11577, [838] = 11578, [839] = 11579, [840] = 11580, [841] = 11581, [842] = 11582, [843] = 11583, [844] = 11584, [845] = 11585, [846] = 11586, [847] = 11587, [848] = 11588, [849] = 11589, [850] = 11590, [851] = 11591, [852] = 11592, [853] = 11593, [854] = 11594, [855] = 11595, [856] = 11596, [857] = 11597, [858] = 11598, [859] = 11599, [860] = 11600, [861] = 11601, [862] = 11602, [863] = 11603, [864] = 11604, [865] = 11605, [866] = 11606, [867] = 11607, [868] = 11608, [869] = 11609, [870] = 11610, [871] = 11611, [872] = 11612, [873] = 11613, [874] = 11614, [875] = 11615, [876] = 11616, [877] = 11617, [878] = 11618, [879] = 11619, [880] = 11620, [881] = 11621, [882] = 11622, [883] = 11623, [884] = 11624, [885] = 11625, [886] = 11626, [887] = 11627, [888] = 11628, [889] = 11629, [890] = 11630, [891] = 11631, [892] = 11632, [893] = 11633, [894] = 11634, [895] = 11635, [896] = 11636, [897] = 11637, [898] = 11638, [899] = 11639, [900] = 11640
};
local _specialBonusId = {
[178708] = 6917,
[178715] = 6923
};
local _blacklistedItems = {
[225625] = true, [225633] = true, [225617] = true, [225621] = true, [225629] = true,
[225624] = true, [225632] = true, [225616] = true, [225620] = true, [225628] = true,
[225623] = true, [225631] = true, [225615] = true, [225619] = true, [225627] = true,
[225622] = true, [225630] = true, [225614] = true, [225618] = true, [225626] = true,
[182305] = true
}
function KeystoneLoot:UpdateUpgradeTooltip()
local currentTab = KeystoneLoot:GetCurrentTab();
local selectedCategoryId, selectedCategoryRank = ('-'):split(KeystoneLootCharDB[currentTab.id == 'raids' and 'selectedRaidItemLevel' or 'selectedDungeonItemLevel']);
local _itemLevels = currentTab.id == 'raids' and self:GetRaidItemLevels() or self:GetDungeonItemLevels();
if (#_itemLevels > 0 and selectedCategoryId == '0') then
selectedCategoryId, selectedCategoryRank = _itemLevels[1].id, 1;
end
for index, category in next, _itemLevels do
local entry = category.entries[tonumber(selectedCategoryRank)];
if (category.id == selectedCategoryId and entry) then
targetItemLevel = entry.itemLevel;
targetUpgradeLevelId = entry.bonusId;
return entry.text;
end
end
end
function KeystoneLoot:GetUpgradeItemLink(itemId)
local itemInfo = self:GetItemInfo(itemId);
if (_blacklistedItems[itemId] or (itemInfo and itemInfo.slotId == Enum.ItemSlotFilterType.Other)) then
return 'item:'..itemId;
end
local _, _, baseItemLevel = C_Item.GetDetailedItemLevelInfo(itemId);
if (baseItemLevel == nil) then
return;
end
local specId = KeystoneLootCharDB.selectedSpecId;
local itemLink = '';
local numBonusIds = 1;
local diffItemLevel = targetItemLevel - baseItemLevel;
local bonusLevelID = _itemLevelBonusId[diffItemLevel];
if (bonusLevelID ~= nil) then
itemLink = itemLink..':'..bonusLevelID;
numBonusIds = numBonusIds + 1;
end
if (targetUpgradeLevelId ~= '') then
itemLink = itemLink..':'..targetUpgradeLevelId;
numBonusIds = numBonusIds + 1;
end
local bonusSpecialID = _specialBonusId[itemId];
if (bonusSpecialID ~= nil) then
itemLink = itemLink..':'..bonusSpecialID;
numBonusIds = numBonusIds + 1;
end
itemLink = 'item:'..itemId..'::::::::70:'..specId..'::8:'..numBonusIds..':1674'..itemLink;
return itemLink;
end