Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts: src/server/game/Globals/ObjectMgr.cpp src/server/game/Spells/SpellMgr.cpp src/server/game/Spells/SpellMgr.h src/server/game/World/World.cpp
This commit is contained in:
@@ -0,0 +1,682 @@
|
||||
DELETE FROM `spell_ranks` WHERE `first_spell_id` IN (
|
||||
5923,
|
||||
5952,
|
||||
9452,
|
||||
9453,
|
||||
9799,
|
||||
11069,
|
||||
11070,
|
||||
11071,
|
||||
11078,
|
||||
11083,
|
||||
11094,
|
||||
11095,
|
||||
11100,
|
||||
11103,
|
||||
11108,
|
||||
11115,
|
||||
11119,
|
||||
11124,
|
||||
11151,
|
||||
11160,
|
||||
11170,
|
||||
11175,
|
||||
11180,
|
||||
11185,
|
||||
11189,
|
||||
11190,
|
||||
11207,
|
||||
11210,
|
||||
11213,
|
||||
11222,
|
||||
11232,
|
||||
11237,
|
||||
11242,
|
||||
11247,
|
||||
11252,
|
||||
11255,
|
||||
12163,
|
||||
12281,
|
||||
12282,
|
||||
12284,
|
||||
12285,
|
||||
12286,
|
||||
12287,
|
||||
12289,
|
||||
12290,
|
||||
12295,
|
||||
12297,
|
||||
12298,
|
||||
12299,
|
||||
12300,
|
||||
12301,
|
||||
12308,
|
||||
12311,
|
||||
12312,
|
||||
12313,
|
||||
12317,
|
||||
12318,
|
||||
12319,
|
||||
12320,
|
||||
12321,
|
||||
12322,
|
||||
12324,
|
||||
12329,
|
||||
12700,
|
||||
12797,
|
||||
12834,
|
||||
12862,
|
||||
13705,
|
||||
13706,
|
||||
13709,
|
||||
13712,
|
||||
13713,
|
||||
13715,
|
||||
13732,
|
||||
13733,
|
||||
13741,
|
||||
13742,
|
||||
13743,
|
||||
13754,
|
||||
13958,
|
||||
13960,
|
||||
13975,
|
||||
13976,
|
||||
13981,
|
||||
13983,
|
||||
14057,
|
||||
14076,
|
||||
14079,
|
||||
14082,
|
||||
14113,
|
||||
14128,
|
||||
14138,
|
||||
14144,
|
||||
14156,
|
||||
14158,
|
||||
14162,
|
||||
14165,
|
||||
14168,
|
||||
14171,
|
||||
14174,
|
||||
14179,
|
||||
14186,
|
||||
14520,
|
||||
14521,
|
||||
14522,
|
||||
14523,
|
||||
14531,
|
||||
14747,
|
||||
14748,
|
||||
14749,
|
||||
14750,
|
||||
14889,
|
||||
14892,
|
||||
14898,
|
||||
14901,
|
||||
14908,
|
||||
14909,
|
||||
14910,
|
||||
14911,
|
||||
14912,
|
||||
14913,
|
||||
15058,
|
||||
15257,
|
||||
15259,
|
||||
15260,
|
||||
15270,
|
||||
15273,
|
||||
15274,
|
||||
15275,
|
||||
15318,
|
||||
15337,
|
||||
15392,
|
||||
16035,
|
||||
16038,
|
||||
16039,
|
||||
16040,
|
||||
16043,
|
||||
16086,
|
||||
16089,
|
||||
16173,
|
||||
16176,
|
||||
16178,
|
||||
16179,
|
||||
16180,
|
||||
16181,
|
||||
16182,
|
||||
16184,
|
||||
16187,
|
||||
16194,
|
||||
16252,
|
||||
16254,
|
||||
16255,
|
||||
16256,
|
||||
16258,
|
||||
16259,
|
||||
16261,
|
||||
16262,
|
||||
16266,
|
||||
16462,
|
||||
16487,
|
||||
16493,
|
||||
16513,
|
||||
16538,
|
||||
16578,
|
||||
16757,
|
||||
16814,
|
||||
16819,
|
||||
16821,
|
||||
16833,
|
||||
16836,
|
||||
16845,
|
||||
16850,
|
||||
16858,
|
||||
16880,
|
||||
16896,
|
||||
16909,
|
||||
16929,
|
||||
16934,
|
||||
16940,
|
||||
16942,
|
||||
16947,
|
||||
16966,
|
||||
16972,
|
||||
16998,
|
||||
17002,
|
||||
17003,
|
||||
17050,
|
||||
17056,
|
||||
17063,
|
||||
17069,
|
||||
17074,
|
||||
17104,
|
||||
17106,
|
||||
17111,
|
||||
17118,
|
||||
17123,
|
||||
17322,
|
||||
17485,
|
||||
17778,
|
||||
17783,
|
||||
17788,
|
||||
17793,
|
||||
17804,
|
||||
17810,
|
||||
17815,
|
||||
17917,
|
||||
17927,
|
||||
17954,
|
||||
17959,
|
||||
18094,
|
||||
18096,
|
||||
18119,
|
||||
18126,
|
||||
18135,
|
||||
18174,
|
||||
18179,
|
||||
18182,
|
||||
18213,
|
||||
18218,
|
||||
18271,
|
||||
18427,
|
||||
18459,
|
||||
18462,
|
||||
18530,
|
||||
18551,
|
||||
18692,
|
||||
18694,
|
||||
18697,
|
||||
18703,
|
||||
18705,
|
||||
18709,
|
||||
18731,
|
||||
18754,
|
||||
18767,
|
||||
18769,
|
||||
18827,
|
||||
19159,
|
||||
19168,
|
||||
19184,
|
||||
19255,
|
||||
19286,
|
||||
19290,
|
||||
19295,
|
||||
19370,
|
||||
19376,
|
||||
19407,
|
||||
19416,
|
||||
19421,
|
||||
19426,
|
||||
19454,
|
||||
19461,
|
||||
19464,
|
||||
19485,
|
||||
19498,
|
||||
19507,
|
||||
19549,
|
||||
19552,
|
||||
19559,
|
||||
19572,
|
||||
19578,
|
||||
19583,
|
||||
19590,
|
||||
19598,
|
||||
19609,
|
||||
19616,
|
||||
19621,
|
||||
20042,
|
||||
20049,
|
||||
20060,
|
||||
20096,
|
||||
20101,
|
||||
20111,
|
||||
20117,
|
||||
20127,
|
||||
20138,
|
||||
20143,
|
||||
20174,
|
||||
20177,
|
||||
20196,
|
||||
20205,
|
||||
20210,
|
||||
20224,
|
||||
20234,
|
||||
20237,
|
||||
20244,
|
||||
20254,
|
||||
20257,
|
||||
20262,
|
||||
20335,
|
||||
20359,
|
||||
20468,
|
||||
20487,
|
||||
20500,
|
||||
20502,
|
||||
20504,
|
||||
23584,
|
||||
23785,
|
||||
24443,
|
||||
24968,
|
||||
25956,
|
||||
26022,
|
||||
27789,
|
||||
27811,
|
||||
27839,
|
||||
27900,
|
||||
28574,
|
||||
28996,
|
||||
28999,
|
||||
29062,
|
||||
29074,
|
||||
29082,
|
||||
29140,
|
||||
29187,
|
||||
29192,
|
||||
29206,
|
||||
29438,
|
||||
29441,
|
||||
29447,
|
||||
29590,
|
||||
29593,
|
||||
29598,
|
||||
29721,
|
||||
29723,
|
||||
29759,
|
||||
29787,
|
||||
29834,
|
||||
29836,
|
||||
29888,
|
||||
30054,
|
||||
30060,
|
||||
30143,
|
||||
30160,
|
||||
30242,
|
||||
30288,
|
||||
30293,
|
||||
30299,
|
||||
30319,
|
||||
30664,
|
||||
30672,
|
||||
30675,
|
||||
30802,
|
||||
30812,
|
||||
30816,
|
||||
30864,
|
||||
30867,
|
||||
30872,
|
||||
30881,
|
||||
30892,
|
||||
30894,
|
||||
30902,
|
||||
30919,
|
||||
31122,
|
||||
31124,
|
||||
31130,
|
||||
31208,
|
||||
31211,
|
||||
31216,
|
||||
31221,
|
||||
31226,
|
||||
31228,
|
||||
31234,
|
||||
31244,
|
||||
31380,
|
||||
31569,
|
||||
31571,
|
||||
31574,
|
||||
31579,
|
||||
31584,
|
||||
31638,
|
||||
31641,
|
||||
31656,
|
||||
31667,
|
||||
31670,
|
||||
31674,
|
||||
31679,
|
||||
31682,
|
||||
31785,
|
||||
31822,
|
||||
31825,
|
||||
31828,
|
||||
31833,
|
||||
31837,
|
||||
31844,
|
||||
31848,
|
||||
31850,
|
||||
31858,
|
||||
31866,
|
||||
31871,
|
||||
31876,
|
||||
31879,
|
||||
32043,
|
||||
32381,
|
||||
32385,
|
||||
32477,
|
||||
33142,
|
||||
33150,
|
||||
33158,
|
||||
33167,
|
||||
33186,
|
||||
33191,
|
||||
33201,
|
||||
33213,
|
||||
33221,
|
||||
33589,
|
||||
33592,
|
||||
33597,
|
||||
33600,
|
||||
33603,
|
||||
33851,
|
||||
33853,
|
||||
33859,
|
||||
33872,
|
||||
33879,
|
||||
33881,
|
||||
33886,
|
||||
34151,
|
||||
34293,
|
||||
34297,
|
||||
34453,
|
||||
34455,
|
||||
34462,
|
||||
34466,
|
||||
34475,
|
||||
34482,
|
||||
34485,
|
||||
34491,
|
||||
34494,
|
||||
34497,
|
||||
34500,
|
||||
34506,
|
||||
34753,
|
||||
34908,
|
||||
34935,
|
||||
34948,
|
||||
34950,
|
||||
35029,
|
||||
35100,
|
||||
35104,
|
||||
35363,
|
||||
35446,
|
||||
35541,
|
||||
35578,
|
||||
35691,
|
||||
37116,
|
||||
44378,
|
||||
44394,
|
||||
44397,
|
||||
44400,
|
||||
44404,
|
||||
44442,
|
||||
44445,
|
||||
44449,
|
||||
44543,
|
||||
44546,
|
||||
44557,
|
||||
44566,
|
||||
44745,
|
||||
45234,
|
||||
46854,
|
||||
46859,
|
||||
46865,
|
||||
46867,
|
||||
46908,
|
||||
46910,
|
||||
46913,
|
||||
46945,
|
||||
46951,
|
||||
47195,
|
||||
47198,
|
||||
47201,
|
||||
47220,
|
||||
47230,
|
||||
47236,
|
||||
47245,
|
||||
47258,
|
||||
47266,
|
||||
47294,
|
||||
47507,
|
||||
47509,
|
||||
47516,
|
||||
47535,
|
||||
47558,
|
||||
47562,
|
||||
47569,
|
||||
47573,
|
||||
47580,
|
||||
47586,
|
||||
48384,
|
||||
48389,
|
||||
48409,
|
||||
48411,
|
||||
48432,
|
||||
48483,
|
||||
48488,
|
||||
48492,
|
||||
48496,
|
||||
48506,
|
||||
48516,
|
||||
48532,
|
||||
48535,
|
||||
48539,
|
||||
48962,
|
||||
48963,
|
||||
48965,
|
||||
48977,
|
||||
48978,
|
||||
48979,
|
||||
48985,
|
||||
48987,
|
||||
48988,
|
||||
48997,
|
||||
49004,
|
||||
49006,
|
||||
49013,
|
||||
49015,
|
||||
49018,
|
||||
49023,
|
||||
49024,
|
||||
49027,
|
||||
49032,
|
||||
49036,
|
||||
49042,
|
||||
49137,
|
||||
49140,
|
||||
49145,
|
||||
49146,
|
||||
49149,
|
||||
49175,
|
||||
49182,
|
||||
49186,
|
||||
49188,
|
||||
49189,
|
||||
49200,
|
||||
49202,
|
||||
49208,
|
||||
49217,
|
||||
49219,
|
||||
49220,
|
||||
49223,
|
||||
49224,
|
||||
49226,
|
||||
49455,
|
||||
49467,
|
||||
49471,
|
||||
49588,
|
||||
50040,
|
||||
50117,
|
||||
50187,
|
||||
50365,
|
||||
50384,
|
||||
50391,
|
||||
50685,
|
||||
50880,
|
||||
51099,
|
||||
51123,
|
||||
51179,
|
||||
51459,
|
||||
51466,
|
||||
51468,
|
||||
51474,
|
||||
51480,
|
||||
51483,
|
||||
51521,
|
||||
51523,
|
||||
51525,
|
||||
51528,
|
||||
51554,
|
||||
51556,
|
||||
51560,
|
||||
51562,
|
||||
51625,
|
||||
51627,
|
||||
51632,
|
||||
51634,
|
||||
51664,
|
||||
51672,
|
||||
51682,
|
||||
51685,
|
||||
51692,
|
||||
51698,
|
||||
51708,
|
||||
51745,
|
||||
51883,
|
||||
52234,
|
||||
52783,
|
||||
52795,
|
||||
53137,
|
||||
53175,
|
||||
53178,
|
||||
53180,
|
||||
53182,
|
||||
53186,
|
||||
53203,
|
||||
53215,
|
||||
53221,
|
||||
53228,
|
||||
53234,
|
||||
53241,
|
||||
53252,
|
||||
53256,
|
||||
53262,
|
||||
53290,
|
||||
53295,
|
||||
53298,
|
||||
53302,
|
||||
53375,
|
||||
53379,
|
||||
53380,
|
||||
53409,
|
||||
53427,
|
||||
53450,
|
||||
53481,
|
||||
53483,
|
||||
53486,
|
||||
53501,
|
||||
53511,
|
||||
53514,
|
||||
53527,
|
||||
53551,
|
||||
53554,
|
||||
53556,
|
||||
53569,
|
||||
53583,
|
||||
53590,
|
||||
53620,
|
||||
53660,
|
||||
53671,
|
||||
53695,
|
||||
53709,
|
||||
53754,
|
||||
54037,
|
||||
54117,
|
||||
54347,
|
||||
54639,
|
||||
54747,
|
||||
55061,
|
||||
55091,
|
||||
55107,
|
||||
55129,
|
||||
55620,
|
||||
55666,
|
||||
56314,
|
||||
56333,
|
||||
56339,
|
||||
56342,
|
||||
56636,
|
||||
56927,
|
||||
57470,
|
||||
57810,
|
||||
57849,
|
||||
57873,
|
||||
57878,
|
||||
58414,
|
||||
58872,
|
||||
59088,
|
||||
61154,
|
||||
61216,
|
||||
61680,
|
||||
61682,
|
||||
61686,
|
||||
61689,
|
||||
62097,
|
||||
62758,
|
||||
62759,
|
||||
62764,
|
||||
62905,
|
||||
63117,
|
||||
63156,
|
||||
63349,
|
||||
63370,
|
||||
63373,
|
||||
63410,
|
||||
63504,
|
||||
63534,
|
||||
63625,
|
||||
63646,
|
||||
63730,
|
||||
64127,
|
||||
64353,
|
||||
65661,
|
||||
66799);
|
||||
@@ -0,0 +1,3 @@
|
||||
DELETE FROM `trinity_string` WHERE entry = 850;
|
||||
INSERT INTO `trinity_string` (entry, content_default, content_loc1, content_loc2, content_loc3, content_loc4, content_loc5, content_loc6, content_loc7, content_loc8) VALUES
|
||||
(850, '├─ Rank: %s (ID: %u)', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
|
||||
@@ -0,0 +1,876 @@
|
||||
ALTER TABLE `spell_proc_event`
|
||||
CHANGE `entry` `entry` MEDIUMINT(8) DEFAULT 0 NOT NULL;
|
||||
|
||||
DELETE FROM `spell_proc_event` WHERE `entry` IN (
|
||||
325,
|
||||
905,
|
||||
945,
|
||||
8134,
|
||||
8494,
|
||||
8495,
|
||||
10191,
|
||||
10192,
|
||||
10193,
|
||||
10431,
|
||||
10432,
|
||||
11120,
|
||||
12487,
|
||||
12488,
|
||||
12574,
|
||||
12575,
|
||||
12576,
|
||||
12577,
|
||||
12598,
|
||||
12668,
|
||||
12724,
|
||||
12725,
|
||||
12726,
|
||||
12727,
|
||||
12799,
|
||||
12812,
|
||||
12813,
|
||||
12814,
|
||||
12815,
|
||||
12846,
|
||||
12847,
|
||||
12848,
|
||||
12849,
|
||||
12867,
|
||||
12872,
|
||||
12873,
|
||||
12958,
|
||||
12967,
|
||||
12968,
|
||||
12969,
|
||||
12970,
|
||||
12971,
|
||||
12972,
|
||||
12973,
|
||||
12974,
|
||||
13867,
|
||||
14070,
|
||||
14071,
|
||||
14160,
|
||||
14161,
|
||||
14190,
|
||||
14193,
|
||||
14194,
|
||||
14195,
|
||||
14318,
|
||||
14319,
|
||||
14320,
|
||||
14321,
|
||||
14322,
|
||||
14774,
|
||||
15338,
|
||||
15362,
|
||||
15363,
|
||||
16196,
|
||||
16198,
|
||||
16235,
|
||||
16240,
|
||||
16277,
|
||||
16278,
|
||||
16279,
|
||||
16280,
|
||||
16281,
|
||||
16282,
|
||||
16283,
|
||||
16284,
|
||||
16489,
|
||||
16492,
|
||||
16544,
|
||||
16923,
|
||||
16924,
|
||||
16954,
|
||||
16961,
|
||||
17107,
|
||||
17108,
|
||||
17796,
|
||||
17801,
|
||||
17802,
|
||||
17803,
|
||||
18073,
|
||||
18095,
|
||||
18120,
|
||||
19387,
|
||||
19388,
|
||||
19573,
|
||||
20056,
|
||||
20057,
|
||||
20179,
|
||||
20180,
|
||||
20181,
|
||||
20182,
|
||||
20212,
|
||||
20213,
|
||||
20214,
|
||||
20215,
|
||||
20235,
|
||||
20336,
|
||||
20337,
|
||||
20501,
|
||||
20927,
|
||||
20928,
|
||||
23695,
|
||||
24398,
|
||||
25296,
|
||||
25469,
|
||||
25472,
|
||||
25988,
|
||||
27044,
|
||||
27131,
|
||||
27179,
|
||||
27815,
|
||||
27816,
|
||||
28592,
|
||||
28593,
|
||||
29075,
|
||||
29076,
|
||||
29179,
|
||||
29180,
|
||||
29444,
|
||||
29594,
|
||||
29838,
|
||||
30295,
|
||||
30296,
|
||||
30301,
|
||||
30302,
|
||||
30678,
|
||||
30679,
|
||||
30705,
|
||||
30883,
|
||||
30884,
|
||||
30885,
|
||||
30886,
|
||||
31126,
|
||||
31245,
|
||||
31570,
|
||||
31572,
|
||||
31657,
|
||||
31658,
|
||||
31835,
|
||||
31836,
|
||||
31872,
|
||||
31877,
|
||||
31878,
|
||||
32387,
|
||||
32392,
|
||||
32393,
|
||||
32394,
|
||||
32593,
|
||||
32594,
|
||||
33145,
|
||||
33146,
|
||||
33154,
|
||||
33192,
|
||||
33193,
|
||||
33736,
|
||||
33882,
|
||||
33883,
|
||||
34498,
|
||||
34499,
|
||||
34502,
|
||||
34503,
|
||||
34859,
|
||||
34860,
|
||||
34916,
|
||||
34917,
|
||||
34938,
|
||||
34939,
|
||||
34954,
|
||||
35102,
|
||||
35550,
|
||||
35551,
|
||||
35552,
|
||||
35553,
|
||||
43019,
|
||||
43020,
|
||||
44443,
|
||||
44446,
|
||||
44448,
|
||||
44469,
|
||||
44470,
|
||||
44471,
|
||||
44472,
|
||||
44560,
|
||||
44561,
|
||||
45243,
|
||||
45244,
|
||||
46855,
|
||||
46914,
|
||||
46915,
|
||||
46949,
|
||||
47196,
|
||||
47197,
|
||||
47202,
|
||||
47203,
|
||||
47204,
|
||||
47205,
|
||||
47246,
|
||||
47247,
|
||||
47259,
|
||||
47260,
|
||||
47264,
|
||||
47265,
|
||||
47511,
|
||||
47515,
|
||||
47517,
|
||||
47570,
|
||||
47581,
|
||||
47582,
|
||||
48110,
|
||||
48111,
|
||||
48112,
|
||||
48113,
|
||||
48159,
|
||||
48160,
|
||||
48484,
|
||||
48485,
|
||||
48499,
|
||||
48500,
|
||||
48510,
|
||||
48511,
|
||||
48521,
|
||||
48525,
|
||||
48544,
|
||||
48545,
|
||||
48951,
|
||||
48952,
|
||||
49280,
|
||||
49281,
|
||||
49283,
|
||||
49284,
|
||||
49503,
|
||||
49504,
|
||||
49508,
|
||||
49509,
|
||||
49529,
|
||||
49530,
|
||||
49599,
|
||||
49627,
|
||||
49628,
|
||||
49654,
|
||||
49655,
|
||||
50033,
|
||||
50034,
|
||||
50115,
|
||||
50884,
|
||||
50885,
|
||||
50886,
|
||||
50887,
|
||||
51462,
|
||||
51463,
|
||||
51464,
|
||||
51465,
|
||||
51478,
|
||||
51479,
|
||||
51522,
|
||||
51524,
|
||||
51557,
|
||||
51558,
|
||||
51563,
|
||||
51564,
|
||||
51565,
|
||||
51566,
|
||||
51626,
|
||||
51628,
|
||||
51629,
|
||||
51635,
|
||||
51636,
|
||||
51665,
|
||||
51667,
|
||||
51668,
|
||||
51669,
|
||||
51674,
|
||||
51679,
|
||||
51696,
|
||||
51989,
|
||||
52004,
|
||||
52005,
|
||||
52007,
|
||||
52008,
|
||||
52129,
|
||||
52131,
|
||||
52134,
|
||||
52136,
|
||||
52138,
|
||||
52797,
|
||||
52798,
|
||||
52799,
|
||||
52800,
|
||||
53179,
|
||||
53216,
|
||||
53217,
|
||||
53222,
|
||||
53224,
|
||||
53232,
|
||||
53237,
|
||||
53238,
|
||||
53259,
|
||||
53260,
|
||||
53291,
|
||||
53292,
|
||||
53376,
|
||||
53381,
|
||||
53382,
|
||||
53488,
|
||||
53502,
|
||||
53503,
|
||||
53530,
|
||||
53552,
|
||||
53553,
|
||||
53576,
|
||||
53673,
|
||||
53696,
|
||||
53710,
|
||||
53711,
|
||||
54151,
|
||||
54154,
|
||||
54155,
|
||||
54637,
|
||||
54638,
|
||||
54749,
|
||||
55667,
|
||||
56343,
|
||||
56344,
|
||||
56611,
|
||||
56612,
|
||||
56613,
|
||||
56614,
|
||||
56637,
|
||||
56638,
|
||||
56822,
|
||||
56834,
|
||||
56835,
|
||||
57472,
|
||||
57880,
|
||||
57881,
|
||||
57960,
|
||||
58874,
|
||||
59057,
|
||||
59089,
|
||||
61345,
|
||||
61346,
|
||||
61847,
|
||||
62765,
|
||||
63158,
|
||||
63245,
|
||||
63374,
|
||||
63733,
|
||||
63737,
|
||||
64129,
|
||||
66191,
|
||||
66192,
|
||||
66814,
|
||||
66815,
|
||||
66816,
|
||||
66817);
|
||||
|
||||
DELETE FROM `spell_proc_event` WHERE `entry` IN (
|
||||
324,
|
||||
974,
|
||||
1463,
|
||||
5952,
|
||||
9799,
|
||||
11095,
|
||||
11119,
|
||||
11180,
|
||||
11185,
|
||||
11213,
|
||||
11255,
|
||||
12281,
|
||||
12289,
|
||||
12298,
|
||||
12311,
|
||||
12319,
|
||||
12797,
|
||||
12834,
|
||||
12966,
|
||||
13165,
|
||||
13754,
|
||||
13983,
|
||||
14156,
|
||||
14186,
|
||||
14531,
|
||||
14892,
|
||||
15337,
|
||||
16086,
|
||||
16176,
|
||||
16180,
|
||||
16256,
|
||||
16257,
|
||||
16487,
|
||||
16850,
|
||||
16880,
|
||||
16952,
|
||||
16958,
|
||||
17106,
|
||||
17793,
|
||||
18094,
|
||||
18096,
|
||||
18119,
|
||||
19184,
|
||||
19572,
|
||||
20049,
|
||||
20177,
|
||||
20210,
|
||||
20234,
|
||||
20335,
|
||||
20500,
|
||||
20925,
|
||||
27811,
|
||||
29074,
|
||||
29441,
|
||||
29593,
|
||||
29834,
|
||||
30160,
|
||||
30293,
|
||||
30299,
|
||||
30675,
|
||||
30701,
|
||||
30881,
|
||||
31124,
|
||||
31244,
|
||||
31569,
|
||||
31571,
|
||||
31656,
|
||||
31833,
|
||||
31871,
|
||||
31876,
|
||||
32385,
|
||||
33076,
|
||||
33142,
|
||||
33150,
|
||||
33191,
|
||||
33881,
|
||||
34497,
|
||||
34500,
|
||||
34753,
|
||||
34914,
|
||||
34935,
|
||||
34950,
|
||||
35100,
|
||||
35541,
|
||||
41635,
|
||||
44442,
|
||||
44445,
|
||||
44449,
|
||||
44557,
|
||||
45234,
|
||||
46854,
|
||||
46867,
|
||||
46913,
|
||||
46945,
|
||||
47195,
|
||||
47201,
|
||||
47245,
|
||||
47258,
|
||||
47263,
|
||||
47509,
|
||||
47516,
|
||||
47569,
|
||||
47580,
|
||||
48483,
|
||||
48496,
|
||||
48506,
|
||||
48516,
|
||||
48539,
|
||||
48988,
|
||||
49004,
|
||||
49018,
|
||||
49149,
|
||||
49188,
|
||||
49208,
|
||||
49217,
|
||||
49219,
|
||||
49223,
|
||||
49467,
|
||||
50880,
|
||||
51459,
|
||||
51474,
|
||||
51521,
|
||||
51523,
|
||||
51556,
|
||||
51562,
|
||||
51625,
|
||||
51627,
|
||||
51634,
|
||||
51664,
|
||||
51672,
|
||||
51692,
|
||||
51940,
|
||||
52127,
|
||||
52795,
|
||||
53178,
|
||||
53215,
|
||||
53221,
|
||||
53228,
|
||||
53234,
|
||||
53256,
|
||||
53290,
|
||||
53375,
|
||||
53380,
|
||||
53486,
|
||||
53501,
|
||||
53527,
|
||||
53551,
|
||||
53569,
|
||||
53671,
|
||||
53695,
|
||||
53709,
|
||||
54639,
|
||||
54747,
|
||||
55666,
|
||||
56342,
|
||||
56636,
|
||||
57470,
|
||||
57878,
|
||||
58872,
|
||||
59088,
|
||||
61846,
|
||||
62764,
|
||||
63156,
|
||||
63373,
|
||||
63730,
|
||||
64127,
|
||||
65661,
|
||||
66799,
|
||||
-324,
|
||||
-974,
|
||||
-1463,
|
||||
-5952,
|
||||
-9799,
|
||||
-11095,
|
||||
-11119,
|
||||
-11180,
|
||||
-11185,
|
||||
-11213,
|
||||
-11255,
|
||||
-12281,
|
||||
-12289,
|
||||
-12298,
|
||||
-12311,
|
||||
-12319,
|
||||
-12797,
|
||||
-12834,
|
||||
-12966,
|
||||
-13165,
|
||||
-13754,
|
||||
-13983,
|
||||
-14156,
|
||||
-14186,
|
||||
-14531,
|
||||
-14892,
|
||||
-15337,
|
||||
-16086,
|
||||
-16176,
|
||||
-16180,
|
||||
-16256,
|
||||
-16257,
|
||||
-16487,
|
||||
-16850,
|
||||
-16880,
|
||||
-16952,
|
||||
-16958,
|
||||
-17106,
|
||||
-17793,
|
||||
-18094,
|
||||
-18096,
|
||||
-18119,
|
||||
-19184,
|
||||
-19572,
|
||||
-20049,
|
||||
-20177,
|
||||
-20210,
|
||||
-20234,
|
||||
-20335,
|
||||
-20500,
|
||||
-20925,
|
||||
-27811,
|
||||
-29074,
|
||||
-29441,
|
||||
-29593,
|
||||
-29834,
|
||||
-30160,
|
||||
-30293,
|
||||
-30299,
|
||||
-30675,
|
||||
-30701,
|
||||
-30881,
|
||||
-31124,
|
||||
-31244,
|
||||
-31569,
|
||||
-31571,
|
||||
-31656,
|
||||
-31833,
|
||||
-31871,
|
||||
-31876,
|
||||
-32385,
|
||||
-33076,
|
||||
-33142,
|
||||
-33150,
|
||||
-33191,
|
||||
-33881,
|
||||
-34497,
|
||||
-34500,
|
||||
-34753,
|
||||
-34914,
|
||||
-34935,
|
||||
-34950,
|
||||
-35100,
|
||||
-35541,
|
||||
-41635,
|
||||
-44442,
|
||||
-44445,
|
||||
-44449,
|
||||
-44557,
|
||||
-45234,
|
||||
-46854,
|
||||
-46867,
|
||||
-46913,
|
||||
-46945,
|
||||
-47195,
|
||||
-47201,
|
||||
-47245,
|
||||
-47258,
|
||||
-47263,
|
||||
-47509,
|
||||
-47516,
|
||||
-47569,
|
||||
-47580,
|
||||
-48483,
|
||||
-48496,
|
||||
-48506,
|
||||
-48516,
|
||||
-48539,
|
||||
-48988,
|
||||
-49004,
|
||||
-49018,
|
||||
-49149,
|
||||
-49188,
|
||||
-49208,
|
||||
-49217,
|
||||
-49219,
|
||||
-49223,
|
||||
-49467,
|
||||
-50880,
|
||||
-51459,
|
||||
-51474,
|
||||
-51521,
|
||||
-51523,
|
||||
-51556,
|
||||
-51562,
|
||||
-51625,
|
||||
-51627,
|
||||
-51634,
|
||||
-51664,
|
||||
-51672,
|
||||
-51692,
|
||||
-51940,
|
||||
-52127,
|
||||
-52795,
|
||||
-53178,
|
||||
-53215,
|
||||
-53221,
|
||||
-53228,
|
||||
-53234,
|
||||
-53256,
|
||||
-53290,
|
||||
-53375,
|
||||
-53380,
|
||||
-53486,
|
||||
-53501,
|
||||
-53527,
|
||||
-53551,
|
||||
-53569,
|
||||
-53671,
|
||||
-53695,
|
||||
-53709,
|
||||
-54639,
|
||||
-54747,
|
||||
-55666,
|
||||
-56342,
|
||||
-56636,
|
||||
-57470,
|
||||
-57878,
|
||||
-58872,
|
||||
-59088,
|
||||
-61846,
|
||||
-62764,
|
||||
-63156,
|
||||
-63373,
|
||||
-63730,
|
||||
-64127,
|
||||
-65661,
|
||||
-66799);
|
||||
|
||||
INSERT INTO `spell_proc_event` (`entry`, `SchoolMask`, `SpellFamilyName`, `SpellFamilyMask0`, `SpellFamilyMask1`, `SpellFamilyMask2`, `procFlags`, `procEx`, `ppmRate`, `CustomChance`, `Cooldown`) VALUES
|
||||
(-324,0,0,0,0,0,0,0,0,0,3),
|
||||
(-974,0,0,0,0,0,139944,0,0,0,3),
|
||||
(-1463,0,0,0,0,0,0,1024,0,0,0),
|
||||
(-5952,0,8,0,1,0,0,0,0,0,0),
|
||||
(-9799,0,0,0,0,0,0,2,0,0,0),
|
||||
(-11095,0,3,16,0,0,0,0,0,0,0),
|
||||
(-11119,4,3,0,0,0,0,2,0,0,0),
|
||||
(-11180,16,3,0,0,0,0,0,0,0,0),
|
||||
(-11185,0,3,128,0,0,327680,0,0,0,0),
|
||||
(-11213,0,3,0,0,0,0,0,0,0,0),
|
||||
(-11255,0,3,16384,0,0,0,0,0,0,0),
|
||||
(-12281,0,4,2858419268,4194565,0,0,0,0,0,6),
|
||||
(-12289,0,4,2,0,0,0,0,0,0,0),
|
||||
(-12298,0,0,0,0,0,0,112,0,0,0),
|
||||
(-12311,0,4,2048,1,0,0,0,0,0,0),
|
||||
(-12319,0,0,0,0,0,0,2,0,0,0),
|
||||
(-12797,0,4,1024,0,0,0,0,0,0,0),
|
||||
(-12834,0,0,0,0,0,0,2,0,0,0),
|
||||
(-12966,0,0,0,0,0,0,65536,0,0,0),
|
||||
(-13165,0,0,0,0,0,64,0,0,0,0),
|
||||
(-13754,0,8,16,0,0,0,0,0,0,0),
|
||||
(-13983,0,0,0,0,0,0,24,0,0,0),
|
||||
(-14156,0,8,4063232,8,0,0,0,0,0,0),
|
||||
(-14186,0,8,1082131720,6,0,0,2,0,0,1),
|
||||
(-14531,0,0,0,0,0,0,2,0,0,0),
|
||||
(-14892,0,6,268443136,65540,0,0,2,0,0,0),
|
||||
(-15337,0,6,8396800,2,0,0,2,0,0,0),
|
||||
(-16086,4,11,0,262144,0,196608,0,0,0,0),
|
||||
(-16176,0,11,448,0,16,0,2,0,0,0),
|
||||
(-16180,0,11,448,0,16,0,2,0,100,0),
|
||||
(-16256,0,0,0,0,0,0,2,0,0,0),
|
||||
(-16257,0,0,0,0,0,0,65536,0,0,0),
|
||||
(-16487,0,0,0,0,0,0,2,0,0,0),
|
||||
(-16850,0,7,4,0,0,0,0,0,0,0),
|
||||
(-16880,72,7,103,58720258,0,0,2,0,0,0),
|
||||
(-16952,0,7,233472,1024,262144,0,2,0,0,0),
|
||||
(-16958,0,0,0,0,0,0,2,0,0,0),
|
||||
(-17106,0,7,524288,0,0,0,0,0,0,0),
|
||||
(-17793,0,5,1,0,0,0,0,0,0,0),
|
||||
(-18094,0,5,10,0,0,0,0,0,0,0),
|
||||
(-18096,0,5,256,8388608,0,0,2,0,0,0),
|
||||
(-18119,0,5,0,8388608,0,0,0,0,0,0),
|
||||
(-19184,0,9,16,8192,0,0,0,0,0,0),
|
||||
(-19572,0,9,8388608,0,0,16384,0,0,0,0),
|
||||
(-20049,0,0,0,0,0,0,2,0,0,0),
|
||||
(-20177,0,0,0,0,0,0,67,0,0,0),
|
||||
(-20210,0,10,3221225472,65536,0,0,2,0,0,0),
|
||||
(-20234,0,10,32768,0,0,0,0,0,0,0),
|
||||
(-20335,0,10,8388608,0,8,16,0,0,100,0),
|
||||
(-20500,0,4,268435456,0,0,0,0,0,0,0),
|
||||
(-20925,0,0,0,0,0,0,64,0,0,0),
|
||||
(-27811,0,0,0,0,0,0,2,0,0,0),
|
||||
(-29074,20,3,0,0,0,0,2,0,0,0),
|
||||
(-29441,0,0,0,0,0,0,8,0,0,1),
|
||||
(-29593,0,0,0,0,0,0,112,0,0,0),
|
||||
(-29834,0,0,0,0,0,0,65536,0,0,0),
|
||||
(-30160,0,0,0,0,0,0,2,0,0,0),
|
||||
(-30293,0,5,897,8519872,0,0,0,0,0,0),
|
||||
(-30299,126,0,0,0,0,0,0,0,0,0),
|
||||
(-30675,0,11,3,0,0,0,0,0,0,0),
|
||||
(-30701,28,0,0,0,0,664232,0,0,100,0),
|
||||
(-30881,0,0,0,0,0,0,0,0,0,30),
|
||||
(-31124,0,8,16777222,0,0,0,0,0,0,0),
|
||||
(-31244,0,8,4063232,9,0,0,52,0,0,0),
|
||||
(-31569,0,3,65536,0,0,0,0,0,0,0),
|
||||
(-31571,0,3,0,34,0,16384,0,0,0,0),
|
||||
(-31656,4,3,134217728,0,0,0,0,0,0,0),
|
||||
(-31833,0,10,2147483648,0,0,0,0,0,0,0),
|
||||
(-31871,0,10,16,0,0,16384,0,0,0,0),
|
||||
(-31876,0,10,8388608,0,0,0,262144,0,0,0),
|
||||
(-32385,0,5,1,262144,0,0,0,0,0,0),
|
||||
(-33076,0,0,0,0,0,664232,0,0,0,0),
|
||||
(-33142,0,0,0,0,0,0,2,0,0,0),
|
||||
(-33150,0,0,0,0,0,0,2,0,0,0),
|
||||
(-33191,0,6,32768,1024,64,0,0,0,0,0),
|
||||
(-33881,0,0,0,0,0,0,2,0,0,0),
|
||||
(-34497,0,0,0,0,0,0,2,0,0,0),
|
||||
(-34500,0,0,0,0,0,0,2,0,0,0),
|
||||
(-34753,0,6,6144,4,4096,0,2,0,0,0),
|
||||
(-34914,0,6,8192,0,0,0,0,0,0,0),
|
||||
(-34935,0,0,0,0,0,0,0,0,0,8),
|
||||
(-34950,0,0,0,0,0,0,2,0,0,0),
|
||||
(-35100,0,9,4096,0,1,0,0,0,0,0),
|
||||
(-35541,0,0,0,0,0,8388608,0,0,0,0),
|
||||
(-41635,0,0,0,0,0,664232,0,0,0,0),
|
||||
(-44442,0,3,8388608,64,0,0,65536,0,0,1),
|
||||
(-44445,0,3,19,69632,0,0,0,0,0,0),
|
||||
(-44449,0,3,551686775,102472,0,0,2,0,0,0),
|
||||
(-44557,0,3,32,0,0,0,0,0,0,0),
|
||||
(-45234,0,0,0,0,0,0,2,0,0,0),
|
||||
(-46854,0,0,0,0,0,0,2,0,0,0),
|
||||
(-46867,0,0,0,0,0,0,2,0,0,0),
|
||||
(-46913,0,4,64,1028,0,0,262144,0,0,0),
|
||||
(-46945,0,4,0,65536,0,0,0,0,0,0),
|
||||
(-47195,0,5,2,0,0,0,0,0,0,0),
|
||||
(-47201,0,5,16393,262144,0,0,0,0,0,0),
|
||||
(-47245,0,5,2,0,0,0,1,0,0,0),
|
||||
(-47258,0,5,0,8388608,0,0,65536,0,0,0),
|
||||
(-47263,32,5,0,0,0,0,2,0,0,20),
|
||||
(-47509,0,0,0,0,0,0,2,0,0,0),
|
||||
(-47516,0,6,6144,65536,0,0,0,0,0,0),
|
||||
(-47569,0,6,16384,0,0,16384,0,0,0,0),
|
||||
(-47580,0,6,0,0,64,0,65536,0,0,0),
|
||||
(-48483,0,7,34816,1088,0,0,0,0,0,0),
|
||||
(-48496,0,7,96,33554434,0,0,2,0,0,0),
|
||||
(-48506,0,7,5,0,0,0,0,0,0,0),
|
||||
(-48516,0,7,5,0,0,0,2,0,0,30),
|
||||
(-48539,0,7,16,67108864,0,262144,0,0,0,0),
|
||||
(-48988,0,0,0,0,0,0,2,0,0,0),
|
||||
(-49004,0,0,0,0,0,0,51,0,0,0),
|
||||
(-49018,0,15,20971520,0,0,0,0,0,0,0),
|
||||
(-49149,0,15,6,131074,0,0,0,0,0,0),
|
||||
(-49188,0,15,0,131072,0,0,0,0,0,0),
|
||||
(-49208,0,15,4194304,65536,0,0,0,0,0,0),
|
||||
(-49217,0,15,0,0,2,0,0,0,0,1),
|
||||
(-49219,0,0,0,0,0,4,0,0,0,0),
|
||||
(-49223,0,15,17,134348800,0,0,0,0,0,0),
|
||||
(-49467,0,15,16,131072,0,0,0,0,0,0),
|
||||
(-50880,0,15,0,67108864,0,0,0,0,0,0),
|
||||
(-51459,0,0,0,0,0,4,0,0,0,0),
|
||||
(-51474,0,0,0,0,0,0,65536,0,0,0),
|
||||
(-51521,0,11,0,16777216,0,0,0,0,0,0),
|
||||
(-51523,0,11,0,1,0,65536,0,0,50,0),
|
||||
(-51556,0,11,192,0,16,0,2,0,0,0),
|
||||
(-51562,0,11,256,0,16,0,0,0,0,0),
|
||||
(-51625,0,8,268476416,0,0,0,0,0,0,0),
|
||||
(-51627,0,0,0,0,0,0,112,0,0,0),
|
||||
(-51634,0,0,0,0,0,0,2,0,0,0),
|
||||
(-51664,0,8,131072,8,0,0,0,0,0,0),
|
||||
(-51672,0,0,0,0,0,0,16,0,0,1),
|
||||
(-51692,0,8,516,0,0,0,0,0,0,0),
|
||||
(-51940,0,0,0,0,0,0,0,0,20,0),
|
||||
(-52127,0,0,0,0,0,0,0,0,0,3),
|
||||
(-52795,0,6,1,0,0,0,0,0,0,0),
|
||||
(-53178,0,9,0,268435456,0,65536,0,0,100,0),
|
||||
(-53215,0,9,1,0,0,0,0,0,0,0),
|
||||
(-53221,0,9,0,1,0,0,0,0,0,0),
|
||||
(-53228,0,9,32,16777216,0,0,0,0,0,0),
|
||||
(-53234,0,9,131072,1,1,0,2,0,0,0),
|
||||
(-53256,0,9,2048,8388609,0,0,2,0,0,0),
|
||||
(-53290,0,9,2048,1,512,0,2,0,0,0),
|
||||
(-53375,0,10,0,8192,0,1024,0,0,0,6),
|
||||
(-53380,0,10,8388608,163840,0,0,262146,0,0,0),
|
||||
(-53486,0,10,8388608,163840,0,0,262146,0,0,0),
|
||||
(-53501,0,0,0,0,0,0,2,0,0,0),
|
||||
(-53527,1,10,0,0,4,1024,1,0,100,0),
|
||||
(-53551,0,10,4096,0,0,0,0,0,0,0),
|
||||
(-53569,0,10,1075838976,65536,0,0,0,0,0,0),
|
||||
(-53671,0,10,8388608,0,0,0,0,0,0,0),
|
||||
(-53695,0,10,8388608,0,8,16,0,0,0,0),
|
||||
(-53709,2,10,16384,0,0,0,0,0,0,0),
|
||||
(-54639,0,15,4194304,65536,0,0,0,0,0,0),
|
||||
(-54747,0,0,0,0,0,0,65536,0,0,0),
|
||||
(-55666,0,15,1,134217728,0,0,0,0,0,0),
|
||||
(-56342,0,9,24,134217728,147456,0,0,0,0,22),
|
||||
(-56636,0,4,32,0,0,0,262144,0,0,6),
|
||||
(-57470,0,6,1,0,0,0,0,0,0,0),
|
||||
(-57878,0,0,0,0,0,0,16,0,0,0),
|
||||
(-58872,0,0,0,0,0,0,270403,0,0,0),
|
||||
(-59088,0,4,0,2,0,1024,0,0,0,0),
|
||||
(-61846,0,0,0,0,0,64,0,0,0,0),
|
||||
(-62764,0,9,0,268435456,0,65536,0,0,100,0),
|
||||
(-63156,0,5,1,192,0,0,0,0,0,0),
|
||||
(-63373,0,11,2147483648,0,0,65536,0,0,0,0),
|
||||
(-63730,0,6,2048,4,0,0,0,0,0,0),
|
||||
(-64127,0,6,1,1,0,0,0,0,0,0),
|
||||
(-65661,0,15,4194321,537001988,0,16,0,0,100,0),
|
||||
(-66799,0,15,4194304,0,0,0,0,0,0,0);
|
||||
@@ -4827,10 +4827,10 @@ void ObjectMgr::LoadSpellScriptNames()
|
||||
Field* fields = result->Fetch();
|
||||
|
||||
int32 spellId = fields[0].GetInt32();
|
||||
const char *scriptName = fields[1].GetCString();
|
||||
char const* scriptName = fields[1].GetCString();
|
||||
|
||||
bool allRanks = false;
|
||||
if (spellId <= 0)
|
||||
if (spellId < 0)
|
||||
{
|
||||
allRanks = true;
|
||||
spellId = -spellId;
|
||||
@@ -4839,20 +4839,18 @@ void ObjectMgr::LoadSpellScriptNames()
|
||||
SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(spellId);
|
||||
if (!spellInfo)
|
||||
{
|
||||
TC_LOG_ERROR(LOG_FILTER_SQL, "Scriptname:`%s` spell (spell_id:%d) does not exist in `Spell.dbc`.", scriptName, fields[0].GetInt32());
|
||||
TC_LOG_ERROR(LOG_FILTER_SQL, "Scriptname: `%s` spell (Id: %d) does not exist.", scriptName, spellId);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (allRanks)
|
||||
{
|
||||
if (sSpellMgr->GetFirstSpellInChain(spellId) != uint32(spellId))
|
||||
if (!spellInfo->IsRanked())
|
||||
TC_LOG_ERROR(LOG_FILTER_SQL, "Scriptname: `%s` spell (Id: %d) has no ranks of spell.", scriptName, fields[0].GetInt32());
|
||||
|
||||
if (spellInfo->GetFirstRankSpell()->Id != uint32(spellId))
|
||||
{
|
||||
TC_LOG_ERROR(LOG_FILTER_SQL, "Scriptname:`%s` spell (spell_id:%d) is not first rank of spell.", scriptName, fields[0].GetInt32());
|
||||
continue;
|
||||
}
|
||||
if (!sSpellMgr->GetNextSpellInChain(spellId))
|
||||
{
|
||||
TC_LOG_ERROR(LOG_FILTER_SQL, "Scriptname:`%s` spell (spell_id:%d) has no ranks of spell.", scriptName, fields[0].GetInt32());
|
||||
TC_LOG_ERROR(LOG_FILTER_SQL, "Scriptname: `%s` spell (Id: %d) is not first rank of spell.", scriptName, fields[0].GetInt32());
|
||||
continue;
|
||||
}
|
||||
while (spellInfo)
|
||||
@@ -4862,7 +4860,13 @@ void ObjectMgr::LoadSpellScriptNames()
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (spellInfo->IsRanked())
|
||||
TC_LOG_ERROR(LOG_FILTER_SQL, "Scriptname: `%s` spell (Id: %d) is ranked spell. Properly not all ranks are assigned to this script.", scriptName, spellId);
|
||||
|
||||
_spellScriptsStore.insert(SpellScriptsContainer::value_type(spellInfo->Id, GetScriptId(scriptName)));
|
||||
}
|
||||
|
||||
++count;
|
||||
}
|
||||
while (result->NextRow());
|
||||
|
||||
@@ -223,7 +223,7 @@ void GuildMgr::LoadGuilds()
|
||||
}
|
||||
while (result->NextRow());
|
||||
|
||||
TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, ">> Loaded %u guild members int %u ms", count, GetMSTimeDiffToNow(oldMSTime));
|
||||
TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, ">> Loaded %u guild members in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1175,23 +1175,88 @@ bool SpellArea::IsFitToRequirements(Player const* player, uint32 newZone, uint32
|
||||
return true;
|
||||
}
|
||||
|
||||
void SpellMgr::UnloadSpellInfoChains()
|
||||
{
|
||||
for (SpellChainMap::iterator itr = mSpellChains.begin(); itr != mSpellChains.end(); ++itr)
|
||||
mSpellInfoMap[itr->first]->ChainEntry = NULL;
|
||||
|
||||
mSpellChains.clear();
|
||||
}
|
||||
|
||||
void SpellMgr::LoadSpellTalentRanks()
|
||||
{
|
||||
// cleanup core data before reload - remove reference to ChainNode from SpellInfo
|
||||
UnloadSpellInfoChains();
|
||||
|
||||
for (uint32 i = 0; i < sTalentStore.GetNumRows(); ++i)
|
||||
{
|
||||
TalentEntry const* talentInfo = sTalentStore.LookupEntry(i);
|
||||
if (!talentInfo)
|
||||
continue;
|
||||
|
||||
SpellInfo const* lastSpell = NULL;
|
||||
for (uint8 rank = MAX_TALENT_RANK - 1; rank > 0; --rank)
|
||||
{
|
||||
if (talentInfo->RankID[rank])
|
||||
{
|
||||
lastSpell = GetSpellInfo(talentInfo->RankID[rank]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!lastSpell)
|
||||
continue;
|
||||
|
||||
SpellInfo const* firstSpell = GetSpellInfo(talentInfo->RankID[0]);
|
||||
if (!firstSpell)
|
||||
{
|
||||
TC_LOG_ERROR(LOG_FILTER_SPELLS_AURAS, "SpellMgr::LoadSpellTalentRanks: First Rank Spell %u for TalentEntry %u does not exist.", talentInfo->RankID[0], i);
|
||||
continue;
|
||||
}
|
||||
|
||||
SpellInfo const* prevSpell = NULL;
|
||||
for (uint8 rank = 0; rank < MAX_TALENT_RANK; ++rank)
|
||||
{
|
||||
uint32 spellId = talentInfo->RankID[rank];
|
||||
if (!spellId)
|
||||
break;
|
||||
|
||||
SpellInfo const* currentSpell = GetSpellInfo(spellId);
|
||||
if (!currentSpell)
|
||||
{
|
||||
TC_LOG_ERROR(LOG_FILTER_SPELLS_AURAS, "SpellMgr::LoadSpellTalentRanks: Spell %u (Rank: %u) for TalentEntry %u does not exist.", spellId, rank + 1, i);
|
||||
break;
|
||||
}
|
||||
|
||||
SpellChainNode node;
|
||||
node.first = firstSpell;
|
||||
node.last = lastSpell;
|
||||
node.rank = rank + 1;
|
||||
|
||||
node.prev = prevSpell;
|
||||
node.next = node.rank < MAX_TALENT_RANK ? GetSpellInfo(talentInfo->RankID[rank + 1]) : NULL;
|
||||
|
||||
mSpellChains[spellId] = node;
|
||||
mSpellInfoMap[spellId]->ChainEntry = &mSpellChains[spellId];
|
||||
|
||||
prevSpell = currentSpell;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void SpellMgr::LoadSpellRanks()
|
||||
{
|
||||
// cleanup data and load spell ranks for talents from dbc
|
||||
LoadSpellTalentRanks();
|
||||
|
||||
uint32 oldMSTime = getMSTime();
|
||||
|
||||
// cleanup core data before reload - remove reference to ChainNode from SpellInfo
|
||||
for (SpellChainMap::iterator itr = mSpellChains.begin(); itr != mSpellChains.end(); ++itr)
|
||||
{
|
||||
mSpellInfoMap[itr->first]->ChainEntry = NULL;
|
||||
}
|
||||
mSpellChains.clear();
|
||||
// 0 1 2
|
||||
QueryResult result = WorldDatabase.Query("SELECT first_spell_id, spell_id, rank from spell_ranks ORDER BY first_spell_id, rank");
|
||||
|
||||
if (!result)
|
||||
{
|
||||
TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, ">> Loaded 0 spell rank records. DB table `spell_ranks` is empty.");
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1268,6 +1333,10 @@ void SpellMgr::LoadSpellRanks()
|
||||
{
|
||||
++count;
|
||||
int32 addedSpell = itr->first;
|
||||
|
||||
if (mSpellInfoMap[addedSpell]->ChainEntry)
|
||||
TC_LOG_ERROR(LOG_FILTER_SQL, "Spell %u (rank: %u, first: %u) listed in `spell_ranks` has already ChainEntry from dbc.", addedSpell, itr->second, lastSpell);
|
||||
|
||||
mSpellChains[addedSpell].first = GetSpellInfo(lastSpell);
|
||||
mSpellChains[addedSpell].last = GetSpellInfo(rankChain.back().first);
|
||||
mSpellChains[addedSpell].rank = itr->second;
|
||||
@@ -1285,10 +1354,10 @@ void SpellMgr::LoadSpellRanks()
|
||||
mSpellChains[addedSpell].next = GetSpellInfo(itr->first);
|
||||
}
|
||||
while (true);
|
||||
} while (!finished);
|
||||
}
|
||||
while (!finished);
|
||||
|
||||
TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, ">> Loaded %u spell rank records in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
|
||||
|
||||
}
|
||||
|
||||
void SpellMgr::LoadSpellRequired()
|
||||
@@ -1324,14 +1393,14 @@ void SpellMgr::LoadSpellRequired()
|
||||
continue;
|
||||
}
|
||||
|
||||
SpellInfo const* req_spell = GetSpellInfo(spell_req);
|
||||
if (!req_spell)
|
||||
SpellInfo const* reqSpell = GetSpellInfo(spell_req);
|
||||
if (!reqSpell)
|
||||
{
|
||||
TC_LOG_ERROR(LOG_FILTER_SQL, "req_spell %u in `spell_required` table is not found in dbcs, skipped", spell_req);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (GetFirstSpellInChain(spell_id) == GetFirstSpellInChain(spell_req))
|
||||
if (spell->IsRankOf(reqSpell))
|
||||
{
|
||||
TC_LOG_ERROR(LOG_FILTER_SQL, "req_spell %u and spell_id %u in `spell_required` table are ranks of the same spell, entry not needed, skipped", spell_req, spell_id);
|
||||
continue;
|
||||
@@ -1794,52 +1863,76 @@ void SpellMgr::LoadSpellProcEvents()
|
||||
}
|
||||
|
||||
uint32 count = 0;
|
||||
uint32 customProc = 0;
|
||||
|
||||
do
|
||||
{
|
||||
Field* fields = result->Fetch();
|
||||
|
||||
uint32 entry = fields[0].GetUInt32();
|
||||
int32 spellId = fields[0].GetInt32();
|
||||
|
||||
SpellInfo const* spell = GetSpellInfo(entry);
|
||||
if (!spell)
|
||||
bool allRanks = false;
|
||||
if (spellId < 0)
|
||||
{
|
||||
TC_LOG_ERROR(LOG_FILTER_SQL, "Spell %u listed in `spell_proc_event` does not exist", entry);
|
||||
allRanks = true;
|
||||
spellId = -spellId;
|
||||
}
|
||||
|
||||
SpellInfo const* spellInfo = GetSpellInfo(spellId);
|
||||
if (!spellInfo)
|
||||
{
|
||||
TC_LOG_ERROR(LOG_FILTER_SQL, "Spell %u listed in `spell_proc_event` does not exist", spellId);
|
||||
continue;
|
||||
}
|
||||
|
||||
SpellProcEventEntry spe;
|
||||
|
||||
spe.schoolMask = fields[1].GetInt8();
|
||||
spe.spellFamilyName = fields[2].GetUInt16();
|
||||
spe.spellFamilyMask[0] = fields[3].GetUInt32();
|
||||
spe.spellFamilyMask[1] = fields[4].GetUInt32();
|
||||
spe.spellFamilyMask[2] = fields[5].GetUInt32();
|
||||
spe.procFlags = fields[6].GetUInt32();
|
||||
spe.procEx = fields[7].GetUInt32();
|
||||
spe.ppmRate = fields[8].GetFloat();
|
||||
spe.customChance = fields[9].GetFloat();
|
||||
spe.cooldown = fields[10].GetUInt32();
|
||||
|
||||
mSpellProcEventMap[entry] = spe;
|
||||
|
||||
if (spell->ProcFlags == 0)
|
||||
if (allRanks)
|
||||
{
|
||||
if (spe.procFlags == 0)
|
||||
if (!spellInfo->IsRanked())
|
||||
TC_LOG_ERROR(LOG_FILTER_SQL, "Spell %u listed in `spell_proc_event` with all ranks, but spell has no ranks.", spellId);
|
||||
|
||||
if (spellInfo->GetFirstRankSpell()->Id != uint32(spellId))
|
||||
{
|
||||
TC_LOG_ERROR(LOG_FILTER_SQL, "Spell %u listed in `spell_proc_event` probally not triggered spell", entry);
|
||||
TC_LOG_ERROR(LOG_FILTER_SQL, "Spell %u listed in `spell_proc_event` is not first rank of spell.", spellId);
|
||||
continue;
|
||||
}
|
||||
customProc++;
|
||||
}
|
||||
|
||||
SpellProcEventEntry spellProcEvent;
|
||||
|
||||
spellProcEvent.schoolMask = fields[1].GetInt8();
|
||||
spellProcEvent.spellFamilyName = fields[2].GetUInt16();
|
||||
spellProcEvent.spellFamilyMask[0] = fields[3].GetUInt32();
|
||||
spellProcEvent.spellFamilyMask[1] = fields[4].GetUInt32();
|
||||
spellProcEvent.spellFamilyMask[2] = fields[5].GetUInt32();
|
||||
spellProcEvent.procFlags = fields[6].GetUInt32();
|
||||
spellProcEvent.procEx = fields[7].GetUInt32();
|
||||
spellProcEvent.ppmRate = fields[8].GetFloat();
|
||||
spellProcEvent.customChance = fields[9].GetFloat();
|
||||
spellProcEvent.cooldown = fields[10].GetUInt32();
|
||||
|
||||
while (spellInfo)
|
||||
{
|
||||
if (mSpellProcEventMap.find(spellInfo->Id) != mSpellProcEventMap.end())
|
||||
{
|
||||
TC_LOG_ERROR(LOG_FILTER_SQL, "Spell %u listed in `spell_proc_event` already has its first rank in table.", spellInfo->Id);
|
||||
break;
|
||||
}
|
||||
|
||||
if (!spellInfo->ProcFlags && !spellProcEvent.procFlags)
|
||||
TC_LOG_ERROR(LOG_FILTER_SQL, "Spell %u listed in `spell_proc_event` probally not triggered spell", spellInfo->Id);
|
||||
|
||||
mSpellProcEventMap[spellInfo->Id] = spellProcEvent;
|
||||
|
||||
if (allRanks)
|
||||
spellInfo = spellInfo->GetNextRankSpell();
|
||||
else
|
||||
break;
|
||||
}
|
||||
|
||||
++count;
|
||||
} while (result->NextRow());
|
||||
|
||||
if (customProc)
|
||||
TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, ">> Loaded %u extra and %u custom spell proc event conditions in %u ms", count, customProc, GetMSTimeDiffToNow(oldMSTime));
|
||||
else
|
||||
TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, ">> Loaded %u extra spell proc event conditions in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
|
||||
}
|
||||
while (result->NextRow());
|
||||
|
||||
TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, ">> Loaded %u extra spell proc event conditions in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
|
||||
}
|
||||
|
||||
void SpellMgr::LoadSpellProcs()
|
||||
@@ -1879,6 +1972,9 @@ void SpellMgr::LoadSpellProcs()
|
||||
|
||||
if (allRanks)
|
||||
{
|
||||
if (!spellInfo->IsRanked())
|
||||
TC_LOG_ERROR(LOG_FILTER_SQL, "Spell %u listed in `spell_proc` with all ranks, but spell has no ranks.", spellId);
|
||||
|
||||
if (spellInfo->GetFirstRankSpell()->Id != uint32(spellId))
|
||||
{
|
||||
TC_LOG_ERROR(LOG_FILTER_SQL, "Spell %u listed in `spell_proc` is not first rank of spell.", spellId);
|
||||
@@ -1908,9 +2004,10 @@ void SpellMgr::LoadSpellProcs()
|
||||
{
|
||||
if (mSpellProcMap.find(spellInfo->Id) != mSpellProcMap.end())
|
||||
{
|
||||
TC_LOG_ERROR(LOG_FILTER_SQL, "Spell %u listed in `spell_proc` has duplicate entry in the table", spellInfo->Id);
|
||||
TC_LOG_ERROR(LOG_FILTER_SQL, "Spell %u listed in `spell_proc` already has its first rank in table.", spellInfo->Id);
|
||||
break;
|
||||
}
|
||||
|
||||
SpellProcEntry procEntry = SpellProcEntry(baseProcEntry);
|
||||
|
||||
// take defaults from dbcs
|
||||
@@ -2676,12 +2773,12 @@ void SpellMgr::LoadSpellInfoStore()
|
||||
if (SpellEntry const* spellEntry = sSpellStore.LookupEntry(i))
|
||||
mSpellInfoMap[i] = new SpellInfo(spellEntry, effectsBySpell[i].effects);
|
||||
|
||||
TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, ">> Loaded spell info store in %u ms", GetMSTimeDiffToNow(oldMSTime));
|
||||
TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, ">> Loaded SpellInfo store in %u ms", GetMSTimeDiffToNow(oldMSTime));
|
||||
}
|
||||
|
||||
void SpellMgr::UnloadSpellInfoStore()
|
||||
{
|
||||
for (uint32 i = 0; i < mSpellInfoMap.size(); ++i)
|
||||
for (uint32 i = 0; i < GetSpellInfoStoreSize(); ++i)
|
||||
{
|
||||
if (mSpellInfoMap[i])
|
||||
delete mSpellInfoMap[i];
|
||||
@@ -2691,14 +2788,14 @@ void SpellMgr::UnloadSpellInfoStore()
|
||||
|
||||
void SpellMgr::UnloadSpellInfoImplicitTargetConditionLists()
|
||||
{
|
||||
for (uint32 i = 0; i < mSpellInfoMap.size(); ++i)
|
||||
for (uint32 i = 0; i < GetSpellInfoStoreSize(); ++i)
|
||||
{
|
||||
if (mSpellInfoMap[i])
|
||||
mSpellInfoMap[i]->_UnloadImplicitTargetConditionLists();
|
||||
}
|
||||
}
|
||||
|
||||
void SpellMgr::LoadSpellCustomAttr()
|
||||
void SpellMgr::LoadSpellInfoCustomAttributes()
|
||||
{
|
||||
uint32 oldMSTime = getMSTime();
|
||||
|
||||
@@ -2780,7 +2877,7 @@ void SpellMgr::LoadSpellCustomAttr()
|
||||
if (enchant->type[s] != ITEM_ENCHANTMENT_TYPE_COMBAT_SPELL)
|
||||
continue;
|
||||
|
||||
SpellInfo* procInfo = (SpellInfo*)GetSpellInfo(enchant->spellid[s]);
|
||||
SpellInfo* procInfo = _GetSpellInfo(enchant->spellid[s]);
|
||||
if (!procInfo)
|
||||
continue;
|
||||
|
||||
@@ -2992,7 +3089,7 @@ void SpellMgr::LoadSpellCustomAttr()
|
||||
|
||||
CreatureAI::FillAISpellInfo();
|
||||
|
||||
TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, ">> Loaded spell custom attributes in %u ms", GetMSTimeDiffToNow(oldMSTime));
|
||||
TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, ">> Loaded SpellInfo custom attributes in %u ms", GetMSTimeDiffToNow(oldMSTime));
|
||||
}
|
||||
|
||||
void SpellMgr::LoadSpellInfoCorrections()
|
||||
@@ -3000,7 +3097,7 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
uint32 oldMSTime = getMSTime();
|
||||
|
||||
SpellInfo* spellInfo = NULL;
|
||||
for (uint32 i = 0; i < mSpellInfoMap.size(); ++i)
|
||||
for (uint32 i = 0; i < GetSpellInfoStoreSize(); ++i)
|
||||
{
|
||||
spellInfo = (SpellInfo*)mSpellInfoMap[i];
|
||||
if (!spellInfo)
|
||||
@@ -3069,7 +3166,7 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
case 42821: // Headless Horseman - Wisp Flight Missile
|
||||
spellInfo->RangeEntry = sSpellRangeStore.LookupEntry(6); // 100 yards
|
||||
break;
|
||||
case 36350: //They Must Burn Bomb Aura (self)
|
||||
case 36350: // They Must Burn Bomb Aura (self)
|
||||
spellInfo->Effects[EFFECT_0].TriggerSpell = 36325; // They Must Burn Bomb Drop (DND)
|
||||
break;
|
||||
case 49838: // Stop Time
|
||||
@@ -3202,13 +3299,13 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
case 47204:
|
||||
case 47205:
|
||||
// add corruption to affected spells
|
||||
spellInfo->Effects[1].SpellClassMask[0] |= 2;
|
||||
spellInfo->Effects[EFFECT_1].SpellClassMask[0] |= 2;
|
||||
break;
|
||||
case 51852: // The Eye of Acherus (no spawn in phase 2 in db)
|
||||
spellInfo->Effects[0].MiscValue |= 1;
|
||||
spellInfo->Effects[EFFECT_0].MiscValue |= 1;
|
||||
break;
|
||||
case 51912: // Crafty's Ultra-Advanced Proto-Typical Shortening Blaster
|
||||
spellInfo->Effects[0].Amplitude = 3000;
|
||||
spellInfo->Effects[EFFECT_0].Amplitude = 3000;
|
||||
break;
|
||||
case 29809: // Desecration Arm - 36 instead of 37 - typo? :/
|
||||
spellInfo->Effects[EFFECT_0].RadiusEntry = sSpellRadiusStore.LookupEntry(EFFECT_RADIUS_7_YARDS);
|
||||
@@ -3239,17 +3336,17 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
spellInfo->Effects[EFFECT_1].ApplyAuraName = SPELL_AURA_MOD_INCREASE_ENERGY_PERCENT;
|
||||
break;
|
||||
case 30421: // Nether Portal - Perseverence
|
||||
spellInfo->Effects[2].BasePoints += 30000;
|
||||
spellInfo->Effects[EFFECT_2].BasePoints += 30000;
|
||||
break;
|
||||
case 51735: // Ebon Plague
|
||||
case 51734:
|
||||
case 51726:
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_STACK_FOR_DIFF_CASTERS;
|
||||
spellInfo->SpellFamilyFlags[2] = 0x10;
|
||||
spellInfo->Effects[1].ApplyAuraName = SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN;
|
||||
spellInfo->Effects[EFFECT_1].ApplyAuraName = SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN;
|
||||
break;
|
||||
case 41913: // Parasitic Shadowfiend Passive
|
||||
spellInfo->Effects[0].ApplyAuraName = SPELL_AURA_DUMMY; // proc debuff, and summon infinite fiends
|
||||
spellInfo->Effects[EFFECT_0].ApplyAuraName = SPELL_AURA_DUMMY; // proc debuff, and summon infinite fiends
|
||||
break;
|
||||
case 27892: // To Anchor 1
|
||||
case 27928: // To Anchor 1
|
||||
@@ -3283,8 +3380,8 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
case 5176: // Wrath
|
||||
case 2912: // Starfire
|
||||
case 78674: // Starsurge
|
||||
spellInfo->Effects[1].Effect = SPELL_EFFECT_DUMMY;
|
||||
spellInfo->Effects[1].TargetA = TARGET_UNIT_CASTER;
|
||||
spellInfo->Effects[EFFECT_1].Effect = SPELL_EFFECT_DUMMY;
|
||||
spellInfo->Effects[EFFECT_1].TargetA = TARGET_UNIT_CASTER;
|
||||
break;
|
||||
case 70728: // Exploit Weakness (needs target selection script)
|
||||
case 70840: // Devious Minds (needs target selection script)
|
||||
@@ -3322,7 +3419,7 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
break;
|
||||
case 64745: // Item - Death Knight T8 Tank 4P Bonus
|
||||
case 64936: // Item - Warrior T8 Protection 4P Bonus
|
||||
spellInfo->Effects[0].BasePoints = 100; // 100% chance of procc'ing, not -10% (chance calculated in PrepareTriggersExecutedOnHit)
|
||||
spellInfo->Effects[EFFECT_0].BasePoints = 100; // 100% chance of procc'ing, not -10% (chance calculated in PrepareTriggersExecutedOnHit)
|
||||
break;
|
||||
case 59414: // Pulsing Shockwave Aura (Loken)
|
||||
// this flag breaks movement, remove it
|
||||
@@ -3332,7 +3429,7 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
spellInfo->AuraInterruptFlags = AURA_INTERRUPT_FLAG_HITBYSPELL | AURA_INTERRUPT_FLAG_TAKE_DAMAGE;
|
||||
break;
|
||||
case 70650: // Death Knight T10 Tank 2P Bonus
|
||||
spellInfo->Effects[0].ApplyAuraName = SPELL_AURA_ADD_PCT_MODIFIER;
|
||||
spellInfo->Effects[EFFECT_0].ApplyAuraName = SPELL_AURA_ADD_PCT_MODIFIER;
|
||||
break;
|
||||
case 71838: // Drain Life - Bryntroll Normal
|
||||
case 71839: // Drain Life - Bryntroll Heroic
|
||||
@@ -3437,10 +3534,6 @@ void SpellMgr::LoadSpellInfoCorrections()
|
||||
case 70861: // Sindragosa's Lair Teleport
|
||||
spellInfo->Effects[EFFECT_0].TargetA = SpellImplicitTargetInfo(TARGET_DEST_DB);
|
||||
break;
|
||||
case 69055: // Saber Lash (Lord Marrowgar)
|
||||
case 70814: // Saber Lash (Lord Marrowgar)
|
||||
spellInfo->Effects[EFFECT_0].RadiusEntry = sSpellRadiusStore.LookupEntry(EFFECT_RADIUS_8_YARDS); // 8yd
|
||||
break;
|
||||
case 69075: // Bone Storm (Lord Marrowgar)
|
||||
case 70834: // Bone Storm (Lord Marrowgar)
|
||||
case 70835: // Bone Storm (Lord Marrowgar)
|
||||
|
||||
@@ -694,10 +694,15 @@ class SpellMgr
|
||||
SpellInfo const* GetSpellInfo(uint32 spellId) const { return spellId < GetSpellInfoStoreSize() ? mSpellInfoMap[spellId] : NULL; }
|
||||
uint32 GetSpellInfoStoreSize() const { return mSpellInfoMap.size(); }
|
||||
|
||||
private:
|
||||
SpellInfo* _GetSpellInfo(uint32 spellId) { return spellId < GetSpellInfoStoreSize() ? mSpellInfoMap[spellId] : NULL; }
|
||||
|
||||
// Modifiers
|
||||
public:
|
||||
|
||||
// Loading data at server startup
|
||||
void UnloadSpellInfoChains();
|
||||
void LoadSpellTalentRanks();
|
||||
void LoadSpellRanks();
|
||||
void LoadSpellRequired();
|
||||
void LoadSpellLearnSkills();
|
||||
@@ -720,7 +725,7 @@ class SpellMgr
|
||||
void LoadSpellInfoStore();
|
||||
void UnloadSpellInfoStore();
|
||||
void UnloadSpellInfoImplicitTargetConditionLists();
|
||||
void LoadSpellCustomAttr();
|
||||
void LoadSpellInfoCustomAttributes();
|
||||
void LoadSpellInfoCorrections();
|
||||
|
||||
private:
|
||||
|
||||
@@ -1357,8 +1357,8 @@ void World::SetInitialWorldSettings()
|
||||
TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, "Loading SkillLineAbilityMultiMap Data...");
|
||||
sSpellMgr->LoadSkillLineAbilityMap();
|
||||
|
||||
TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, "Loading spell custom attributes...");
|
||||
sSpellMgr->LoadSpellCustomAttr();
|
||||
TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, "Loading SpellInfo custom attributes...");
|
||||
sSpellMgr->LoadSpellInfoCustomAttributes();
|
||||
|
||||
TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, "Loading GameObject models...");
|
||||
LoadGameObjectModelList();
|
||||
|
||||
@@ -116,8 +116,7 @@ public:
|
||||
else
|
||||
targetPlayer->learnSpell(spell, false);
|
||||
|
||||
uint32 firstSpell = sSpellMgr->GetFirstSpellInChain(spell);
|
||||
if (GetTalentSpellCost(firstSpell))
|
||||
if (GetTalentSpellCost(spellInfo->GetFirstRankSpell()->Id))
|
||||
targetPlayer->SendTalentsInfoData(false);
|
||||
|
||||
return true;
|
||||
@@ -178,8 +177,7 @@ public:
|
||||
continue;
|
||||
|
||||
// skip spells with first rank learned as talent (and all talents then also)
|
||||
uint32 firstRank = sSpellMgr->GetFirstSpellInChain(spellInfo->Id);
|
||||
if (GetTalentSpellCost(firstRank) > 0)
|
||||
if (GetTalentSpellCost(spellInfo->GetFirstRankSpell()->Id) > 0)
|
||||
continue;
|
||||
|
||||
// skip broken spells
|
||||
@@ -474,7 +472,7 @@ public:
|
||||
}
|
||||
|
||||
if (allRanks)
|
||||
spellId = sSpellMgr->GetFirstSpellInChain (spellId);
|
||||
spellId = sSpellMgr->GetFirstSpellInChain(spellId);
|
||||
|
||||
if (target->HasSpell(spellId))
|
||||
target->removeSpell(spellId, false, !allRanks);
|
||||
|
||||
@@ -1586,6 +1586,7 @@ public:
|
||||
|
||||
// Guild data print variables defined so that they exist, but are not necessarily used
|
||||
uint32 guildId = 0;
|
||||
uint8 guildRankId = 0;
|
||||
std::string guildName;
|
||||
std::string guildRank;
|
||||
std::string note;
|
||||
@@ -1752,8 +1753,9 @@ public:
|
||||
guildId = fields[0].GetUInt32();
|
||||
guildName = fields[1].GetString();
|
||||
guildRank = fields[2].GetString();
|
||||
note = fields[3].GetString();
|
||||
officeNote = fields[4].GetString();
|
||||
guildRankId = fields[3].GetUInt8();
|
||||
note = fields[4].GetString();
|
||||
officeNote = fields[5].GetString();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1762,7 +1764,7 @@ public:
|
||||
// Output I. LANG_PINFO_PLAYER
|
||||
handler->PSendSysMessage(LANG_PINFO_PLAYER, target ? "" : handler->GetTrinityString(LANG_OFFLINE), nameLink.c_str(), lowguid);
|
||||
|
||||
// Output II. LANG_PINFO_GM_ACTIVE
|
||||
// Output II. LANG_PINFO_GM_ACTIVE if character is gamemaster
|
||||
if (target && target->IsGameMaster())
|
||||
handler->PSendSysMessage(LANG_PINFO_GM_ACTIVE);
|
||||
|
||||
@@ -1829,7 +1831,7 @@ public:
|
||||
if (!guildName.empty())
|
||||
{
|
||||
handler->PSendSysMessage(LANG_PINFO_CHR_GUILD, guildName.c_str(), guildId);
|
||||
handler->PSendSysMessage(LANG_PINFO_CHR_GUILD_RANK, guildRank.c_str());
|
||||
handler->PSendSysMessage(LANG_PINFO_CHR_GUILD_RANK, guildRank.c_str(), uint32(guildRankId));
|
||||
if (!note.empty())
|
||||
handler->PSendSysMessage(LANG_PINFO_CHR_GUILD_NOTE, note.c_str());
|
||||
if (!officeNote.empty())
|
||||
|
||||
@@ -105,7 +105,7 @@ void CharacterDatabaseConnection::DoPrepareStatements()
|
||||
PrepareStatement(CHAR_SEL_CHARACTER_SPELLCOOLDOWNS, "SELECT spell, item, time FROM character_spell_cooldown WHERE guid = ?", CONNECTION_ASYNC);
|
||||
PrepareStatement(CHAR_SEL_CHARACTER_DECLINEDNAMES, "SELECT genitive, dative, accusative, instrumental, prepositional FROM character_declinedname WHERE guid = ?", CONNECTION_ASYNC);
|
||||
PrepareStatement(CHAR_SEL_GUILD_MEMBER, "SELECT guildid, rank FROM guild_member WHERE guid = ?", CONNECTION_BOTH);
|
||||
PrepareStatement(CHAR_SEL_GUILD_MEMBER_EXTENDED, "SELECT g.guildid, g.name, gr.rname, gm.pnote, gm.offnote "
|
||||
PrepareStatement(CHAR_SEL_GUILD_MEMBER_EXTENDED, "SELECT g.guildid, g.name, gr.rname, gr.rid, gm.pnote, gm.offnote "
|
||||
"FROM guild g JOIN guild_member gm ON g.guildid = gm.guildid "
|
||||
"JOIN guild_rank gr ON g.guildid = gr.guildid AND gm.rank = gr.rid WHERE gm.guid = ?", CONNECTION_BOTH);
|
||||
PrepareStatement(CHAR_SEL_CHARACTER_ACHIEVEMENTS, "SELECT achievement, date FROM character_achievement WHERE guid = ?", CONNECTION_ASYNC);
|
||||
|
||||
Reference in New Issue
Block a user