mirror of
https://github.com/ornfelt/azerothcore_lua_scripts
synced 2026-08-22 06:26:03 -04:00
187 lines
13 KiB
Lua
187 lines
13 KiB
Lua
local SpellRemover = {}
|
|
|
|
SpellRemover.CLASS_IDS = {
|
|
WARRIOR = 1,
|
|
PALADIN = 2,
|
|
HUNTER = 3,
|
|
ROGUE = 4,
|
|
PRIEST = 5,
|
|
SHAMAN = 7,
|
|
MAGE = 8,
|
|
WARLOCK = 9,
|
|
DRUID = 11
|
|
}
|
|
|
|
SpellRemover.CLASS_SPELLS = {
|
|
[SpellRemover.CLASS_IDS.WARRIOR] = {100, 772, 3127, 6343, 34428, 284, 1715, 2687, 6546, 71, 355, 7386, 72,
|
|
5242, 7384, 1160, 6572, 285, 694, 2565, 676, 8198, 845, 6547, 12678,
|
|
20230, 5246, 6192, 1608, 5308, 6190, 6574, 1161, 6178, 871, 8204, 1464, 6548,
|
|
7369, 20252, 2458, 11549, 11564, 18499, 20658, 7379, 11554, 1680, 6552,
|
|
8205, 8820, 750, 11565, 11572, 11608, 20660, 23922, 11550, 11555, 11600,
|
|
11578, 11604, 11566, 11580, 20661, 23923, 1719, 11573, 11609, 11551, 11556,
|
|
11601, 11605, 23924, 11567, 20662, 11581, 11574, 20569, 23925, 25286, 25288,
|
|
25289, 25241, 25202, 25269, 23920, 25234, 25258, 29707, 25264, 469, 25208,
|
|
25231, 2048, 25242, 3411, 25203, 25236, 30324, 30356, 30357, 46845, 64382,
|
|
47449, 47519, 47470, 47501, 47439, 47474, 47487, 55694, 47450, 47465, 47520,
|
|
47436, 47502, 47437, 47475, 47440, 47471, 47488, 57755, 57823},
|
|
[SpellRemover.CLASS_IDS.PALADIN] = {853, 1152, 3127, 19740, 20271, 498, 639, 633, 1022, 10290, 19834, 53408,
|
|
7328, 647, 19742, 31789, 7294, 25780, 62124, 1044, 643, 879, 5502, 19750,
|
|
20217, 26573, 1026, 19746, 19835, 20164, 5588, 5599, 10322, 10326, 19850,
|
|
1038, 10298, 19939, 5614, 19876, 53407, 1042, 2800, 10291, 19752, 20116,
|
|
20165, 19836, 19888, 642, 19852, 19940, 5615, 10299, 10324, 19891, 3472,
|
|
10278, 20166, 750, 1032, 5589, 19895, 20922, 4987, 19837, 19941, 10312,
|
|
19853, 19897, 24275, 6940, 10300, 10328, 19899, 20772, 2812, 10292, 10310,
|
|
19942, 20923, 10313, 19838, 19896, 24274, 25782, 10308, 10329, 19854, 25894,
|
|
10301, 19898, 19943, 10293, 10314, 10318, 19900, 20773, 20924, 24239, 25290,
|
|
25291, 25292, 25898, 25916, 25918, 27135, 32223, 27151, 27142, 27143, 27137,
|
|
27150, 27138, 27152, 27180, 27139, 27154, 27136, 27140, 27141, 27149, 27153,
|
|
27173, 31884, 48935, 48937, 54428, 48816, 48949, 48800, 48931, 48933, 48784,
|
|
48805, 48941, 48781, 48818, 53600, 48943, 54043, 48936, 48938, 48945, 48788,
|
|
48817, 48947, 48785, 48801, 48932, 48934, 48942, 48950, 48782, 48806, 48819,
|
|
53601, 61411},
|
|
[SpellRemover.CLASS_IDS.HUNTER] = {1978, 13163, 1130, 3044, 3127, 5116, 14260, 13165, 13549, 19883, 1515,
|
|
883, 2641, 982, 6991, 136, 2974, 14281, 20736, 1002, 1513, 6197, 1495,
|
|
5118, 13795, 14261, 2643, 13550, 14318, 19884, 781, 1499, 3111, 14282,
|
|
34074, 3043, 14323, 1462, 14262, 19885, 3045, 13551, 14302, 19880, 3661,
|
|
13809, 14283, 14319, 5384, 13161, 14269, 14288, 14326, 1543, 14263, 19878,
|
|
13552, 13813, 3034, 3662, 14284, 14303, 14320, 1510, 8737, 13159, 14264,
|
|
14310, 14324, 19882, 13553, 14289, 13542, 14270, 14285, 14316, 14304,
|
|
14327, 20043, 14265, 14321, 13554, 14294, 19879, 56641, 13543, 14286,
|
|
14290, 14317, 14266, 14305, 20190, 13555, 14271, 14295, 14322, 14325, 13544,
|
|
14287, 14311, 19263, 19801, 25294, 25295, 25296, 27025, 34120, 27014, 27023,
|
|
34026, 27016, 27021, 27022, 27044, 27045, 27046, 34600, 27019, 34477, 36916,
|
|
48995, 49051, 49066, 53351, 49055, 49000, 49044, 48989, 49047, 58431, 61846,
|
|
53271, 61005, 49071, 53338, 48996, 49052, 49067, 49056, 49001, 49045, 48990,
|
|
49048, 53339, 58434, 60192, 61006, 61847, 62757},
|
|
[SpellRemover.CLASS_IDS.ROGUE] = {53, 921, 1757, 1776, 5277, 6760, 2983, 5171, 6770, 1766, 2589, 3127,
|
|
703, 1758, 8647, 1804, 1966, 6761, 8676, 1943, 2590, 51722, 2842, 1725, 1759,
|
|
1856, 8631, 2836, 6762, 1833, 8724, 2070, 2591, 6768, 8639, 408, 1760, 1842,
|
|
8632, 8623, 2094, 8696, 8725, 8640, 8721, 8621, 8633, 8624, 8637, 1857, 6774,
|
|
11267, 11273, 11279, 11289, 11293, 11297, 11299, 8643, 11268, 26669, 11274,
|
|
11280, 11303, 11290, 11294, 11300, 11269, 11305, 11275, 11281, 25300, 25302,
|
|
31016, 26839, 26861, 26889, 32645, 26679, 26865, 27448, 27441, 31224, 26863,
|
|
26867, 32684, 5938, 26862, 26884, 48673, 48689, 51724, 48658, 48667, 48656,
|
|
48671, 57992, 48675, 48690, 57934, 48637, 48674, 48659, 48668, 48672, 48638,
|
|
48657, 48676, 48691, 51723, 57993},
|
|
[SpellRemover.CLASS_IDS.PRIEST] = {589, 2052, 17, 591, 139, 586, 594, 2006, 2053, 8092, 588, 592, 1244, 528,
|
|
598, 6074, 8122, 2054, 8102, 527, 600, 970, 453, 2061, 2944, 6075, 6346, 7128,
|
|
9484, 14914, 15237, 984, 2010, 2055, 2096, 8103, 1245, 3747, 8129, 15262, 992,
|
|
6076, 9472, 6063, 8104, 8124, 15430, 19276, 596, 602, 605, 976, 1004, 6065,
|
|
14752, 15263, 552, 6077, 9473, 1706, 2767, 6064, 8105, 10880, 988, 2791, 6066,
|
|
15264, 15431, 19277, 6060, 6078, 9474, 996, 1006, 2060, 8106, 9485, 14818,
|
|
10888, 10892, 10898, 10957, 15265, 10909, 10915, 10927, 19278, 27799, 10881,
|
|
10933, 10945, 10963, 10899, 10937, 15266, 21562, 10893, 10916, 10928, 10951,
|
|
10960, 14819, 10946, 10964, 19279, 27800, 10900, 10934, 15267, 10890, 10917,
|
|
10929, 10958, 27683, 10894, 10947, 10965, 20770, 10901, 10938, 10952, 10955,
|
|
10961, 15261, 19280, 21564, 25314, 25315, 25316, 27681, 27801, 27841, 25233,
|
|
25363, 32379, 25210, 25372, 32546, 25217, 25221, 25367, 25384, 34433, 25235,
|
|
25213, 25308, 25331, 25433, 25435, 25467, 33076, 25364, 25375, 25431, 25218,
|
|
25222, 25312, 25368, 25389, 25392, 32375, 32996, 32999, 39374, 48040, 48119,
|
|
48134, 48062, 48070, 48299, 48112, 48122, 48126, 48045, 48065, 48067, 48077,
|
|
48124, 48157, 48072, 48169, 48168, 48170, 48063, 48120, 48135, 48171, 48071,
|
|
48113, 48123, 48127, 48300, 48066, 48068, 48073, 48074, 48078, 48125, 48158,
|
|
48161, 48162, 53023, 64843, 64901, 190030},
|
|
[SpellRemover.CLASS_IDS.SHAMAN] = {8042, 8071, 332, 2484, 324, 529, 5730, 8018, 8044, 8024, 8050, 8075, 3599,
|
|
370, 547, 1535, 2008, 548, 8045, 8154, 325, 526, 2645, 8019, 57994, 913,
|
|
6390, 8027, 8052, 8143, 915, 6363, 8004, 8033, 8056, 52127, 5394, 131, 8498,
|
|
905, 939, 8046, 8155, 8160, 8181, 10399, 20609, 943, 5675, 6196, 8030, 8190,
|
|
546, 6391, 8008, 8038, 8053, 8184, 8227, 52129, 556, 6364, 6375, 8177, 8232,
|
|
10595, 20608, 36936, 51730, 66842, 421, 945, 959, 6041, 8012, 8499, 8512,
|
|
6495, 8058, 10406, 52131, 8010, 10412, 10495, 10585, 16339, 20610, 6392,
|
|
8161, 8170, 8249, 10391, 10456, 10478, 930, 1064, 6365, 6377, 8005, 8134,
|
|
8235, 8737, 10447, 51988, 66843, 52134, 10537, 11314, 10392, 10407, 10466,
|
|
10600, 10472, 10496, 10586, 10622, 16341, 2860, 10395, 10413, 10427, 10431,
|
|
10526, 16355, 20776, 52136, 10437, 10462, 10486, 15207, 51991, 66844, 10442,
|
|
10448, 10467, 11315, 10408, 10479, 10623, 52138, 10396, 10432, 10497, 10587,
|
|
10605, 15208, 16342, 10428, 10473, 10538, 16356, 16387, 10414, 10438, 10463,
|
|
10468, 10601, 16362, 20777, 25357, 25361, 29228, 51992, 25422, 25546, 24398,
|
|
25448, 25391, 25439, 25469, 25508, 3738, 25489, 25528, 25552, 25570, 2062,
|
|
25420, 25500, 25449, 25525, 25557, 25560, 2894, 25423, 25464, 25505, 25563,
|
|
25454, 25533, 25567, 25574, 25590, 33736, 25396, 25442, 25457, 25472, 25509,
|
|
25547, 51993, 58580, 58649, 58699, 58755, 58771, 58785, 58794, 58801, 49275,
|
|
49235, 49237, 58731, 58751, 49230, 49270, 55458, 49232, 49272, 49280, 51505,
|
|
57622, 58581, 58652, 58703, 58737, 58741, 58746, 61649, 57960, 58756, 58773,
|
|
58789, 58795, 58803, 49276, 49236, 58582, 58734, 58753, 49231, 49238, 49233,
|
|
49271, 49273, 49277, 49281, 51514, 51994, 55459, 58643, 58656, 58704, 58739,
|
|
58745, 58749, 58757, 58774, 58790, 58796, 58804, 60043, 61657, 100131, 100132},
|
|
[SpellRemover.CLASS_IDS.MAGE] = {116, 5504, 143, 587, 2136, 118, 205, 5143, 122, 5505, 7300, 130, 145, 597, 604,
|
|
837, 1449, 1460, 2137, 2120, 5144, 475, 1008, 3140, 10, 543, 1463, 1953, 5506,
|
|
7301, 7322, 12051, 12824, 990, 2138, 2948, 6143, 8437, 2121, 2139, 5145, 8400,
|
|
8450, 120, 865, 8406, 759, 1461, 6141, 8444, 8494, 6127, 7302, 8401, 8412, 8438,
|
|
8455, 8457, 45438, 6129, 8407, 8416, 8422, 8461, 6117, 8445, 8492, 8402, 8427,
|
|
8451, 8495, 3552, 8408, 8413, 8439, 6131, 7320, 8417, 8423, 8446, 8458, 10138,
|
|
12825, 8462, 10144, 10148, 10156, 10159, 10169, 10179, 10185, 10191, 10197,
|
|
10201, 10205, 22782, 10053, 10149, 10173, 10211, 10215, 10139, 10160, 10180,
|
|
10219, 10223, 10145, 10177, 10186, 10192, 10206, 10150, 10170, 10199, 10202,
|
|
10230, 10157, 10181, 10212, 10216, 23028, 10054, 10161, 10207, 22783, 10140,
|
|
10151, 10174, 10187, 10193, 10220, 10225, 12826, 25304, 25345, 28609, 28612,
|
|
27078, 25306, 27080, 30482, 27071, 27075, 27130, 27086, 30451, 42913, 42925,
|
|
42930, 42896, 42920, 43015, 27073, 27087, 37420, 27072, 27124, 27125, 27128,
|
|
33946, 38699, 42858, 43019, 42985, 43017, 27070, 30455, 27074, 27079, 27082,
|
|
27090, 27126, 27127, 30449, 32796, 33717, 38692, 38697, 38704, 43987, 42832,
|
|
42872, 42939, 53142, 42833, 42859, 42914, 43010, 27088, 33944, 42894, 43023,
|
|
43045, 53140, 42841, 42843, 42917, 42955, 44614, 42842, 42846, 42926, 42931,
|
|
43008, 43012, 43020, 43024, 43046, 66, 27085, 27101, 27131, 42873, 42897,
|
|
42921, 42940, 42956, 42995, 43002, 47610, 55342, 58659},
|
|
[SpellRemover.CLASS_IDS.WARLOCK] = {348, 172, 702, 695, 1454, 980, 5782, 696, 707, 1120, 6201, 697, 705, 755, 1108,
|
|
689, 6222, 1455, 5697, 693, 1014, 5676, 698, 706, 1088, 1094, 1710, 3698, 5740, 712,
|
|
5785, 5784, 126, 699, 6202, 6205, 5138, 5500, 6223, 8288, 132, 1456, 1714, 17919,
|
|
710, 1106, 3699, 6217, 6366, 709, 1086, 1098, 1949, 2941, 20752, 691, 1490, 6213,
|
|
6229, 7646, 5699, 6219, 7648, 17920, 2362, 3700, 7641, 11687, 17951, 7651, 8289,
|
|
11711, 5484, 11665, 11733, 20755, 23160, 23161, 6789, 11683, 11707, 11739, 17921,
|
|
11659, 11671, 11693, 11725, 11677, 11688, 11699, 11721, 11729, 17952, 6353, 11712,
|
|
17727, 18647, 11667, 11719, 11734, 17922, 17925, 20756, 1122, 11660, 11675, 11694,
|
|
11708, 11740, 11672, 11684, 11700, 17928, 6215, 11689, 17924, 17953, 11678, 11713,
|
|
11726, 11730, 17923, 17926, 603, 11661, 11668, 11695, 11722, 11735, 17728, 20757,
|
|
25309, 25311, 28610, 18540, 27224, 25307, 27219, 28176, 27211, 29722, 27210, 27216,
|
|
27250, 28172, 29858, 27217, 27218, 27259, 27213, 27222, 27223, 27230, 29893, 27209,
|
|
27212, 27215, 27220, 27228, 28189, 30909, 27238, 27243, 27260, 30459, 30545, 30910,
|
|
32231, 47812, 50511, 47819, 47886, 47890, 61191, 47859, 47863, 47871, 47808, 47814,
|
|
47837, 47892, 60219, 47810, 47824, 47835, 47897, 47793, 47856, 47884, 47813, 47855,
|
|
47823, 47857, 47860, 47865, 47888, 47891, 47809, 47815, 47820, 47864, 47878, 47893,
|
|
47811, 47825, 47836, 47838, 47867, 47889, 48018, 48020, 57946, 58887, 60220, 61290},
|
|
[SpellRemover.CLASS_IDS.DRUID] = {774, 8921, 467, 5177, 339, 5186, 99, 1058, 5232, 8924, 16689, 5487, 6795,
|
|
6807, 18960, 5229, 8936, 50769, 782, 5178, 5187, 5211, 8946, 779, 783, 1066,
|
|
1430, 8925, 770, 1062, 2637, 6808, 8938, 16810, 16857, 768, 1079, 1082, 1735,
|
|
2912, 5188, 5215, 6756, 20484, 2090, 2908, 5179, 5221, 8926, 780, 1075, 1822,
|
|
2782, 5217, 8939, 50768, 1850, 2893, 5189, 6809, 8949, 2091, 3029, 5195, 5209,
|
|
8927, 8998, 9492, 16811, 740, 5180, 5234, 6798, 6800, 8940, 20739, 5225, 6778,
|
|
6785, 9490, 22568, 769, 1823, 3627, 8914, 8928, 8950, 8972, 6793, 8941, 9005,
|
|
9493, 22842, 50767, 5196, 5201, 6780, 8903, 8955, 8992, 16812, 18657, 8907,
|
|
8910, 8918, 8929, 9000, 9634, 16914, 20719, 20742, 22827, 29166, 62600, 6787,
|
|
8951, 9745, 9747, 9750, 1824, 9752, 9754, 9756, 9758, 22812, 8905, 8983, 9821,
|
|
9823, 9829, 9833, 9839, 9845, 9849, 9852, 9856, 16813, 22828, 50766, 9862, 9866,
|
|
9875, 9880, 9884, 9888, 17401, 20747, 21849, 9834, 9840, 9892, 9894, 9898, 9830,
|
|
9857, 9901, 9904, 9908, 9910, 9912, 9827, 9889, 22829, 9835, 9841, 9850, 9853,
|
|
9867, 9876, 9881, 17329, 18658, 9846, 9858, 9863, 9885, 9896, 17402, 20748,
|
|
21850, 25297, 25298, 25299, 31018, 31709, 33950, 50765, 26984, 27001, 22570,
|
|
26978, 26998, 24248, 26981, 26987, 26992, 26997, 27003, 33763, 26980, 33357,
|
|
27005, 27006, 33745, 26986, 26996, 27000, 27008, 26989, 27009, 26979, 26982,
|
|
26985, 26994, 27004, 50764, 26983, 26988, 26990, 26991, 26995, 27002, 27012,
|
|
33786, 40120, 48442, 48559, 49799, 50212, 62078, 48450, 48464, 48561, 48573,
|
|
48576, 48479, 48567, 48569, 48578, 48377, 48459, 49802, 53307, 48440, 48446,
|
|
48462, 48571, 52610, 48575, 48443, 48560, 48562, 49803, 48465, 48574, 48577,
|
|
53308, 53312, 48378, 48461, 48477, 48480, 48570, 48579, 50213, 48441, 48447,
|
|
48451, 48463, 48467, 48469, 48470, 48568, 48572, 49800, 50464, 50763}
|
|
}
|
|
|
|
function SpellRemover.DelayedSpellRemoval(eventId, delay, calls, player)
|
|
local classSpellsToRemove = SpellRemover.CLASS_SPELLS[player:GetClass()]
|
|
|
|
for _, spellId in ipairs(classSpellsToRemove) do
|
|
player:RemoveSpell(spellId)
|
|
end
|
|
end
|
|
|
|
local function RemoveSpellsOne(event, player)
|
|
if player:GetLevel() ~= 1 then
|
|
return
|
|
end
|
|
|
|
-- Register a delayed event to remove the spells after 15 seconds
|
|
player:RegisterEvent(SpellRemover.DelayedSpellRemoval, 15000, 1)
|
|
end
|
|
|
|
RegisterPlayerEvent(3, RemoveSpellsOne)
|
|
|
|
|