diff options
21 files changed, 889 insertions, 285 deletions
diff --git a/sql/updates/world/2012_12_07_00_world_script_texts.sql b/sql/updates/world/2012_12_07_00_world_script_texts.sql new file mode 100644 index 00000000000..b1362aac796 --- /dev/null +++ b/sql/updates/world/2012_12_07_00_world_script_texts.sql @@ -0,0 +1,2 @@ +DROP TABLE IF EXISTS `script_texts`; +DROP TABLE IF EXISTS `custom_texts`; diff --git a/sql/updates/world/2012_12_15_00_world_waypoint_data.sql b/sql/updates/world/2012_12_15_00_world_waypoint_data.sql new file mode 100644 index 00000000000..c63180ebe5e --- /dev/null +++ b/sql/updates/world/2012_12_15_00_world_waypoint_data.sql @@ -0,0 +1,344 @@ +-- Issue 8629: Formation for alliance elites pathing in Barrens +-- place 4 alliance elites in formation (guids 15145, 15246, 15169, 17433) +-- they were not in a formation, but had the same path. This would +-- cause them to be on top of each other rather than in a proper formation +DELETE FROM `creature_formations` WHERE `memberGUID` IN (15145,15169,15246,17433); +INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`) VALUES +(15145,15145,0, 0,2), +(15145,15169,4, 30,2), +(15145,15246,4,330,2), +(15145,17433,7, 0,2); +-- --------------------------------------------------------------------------------------------------------------------------------------------------- +-- Issue 8630: Lady Vespia in Ashenvale - pathing +-- this is a rare lacking its path, and instead there is a duplicate +-- spawn in another location along the path +-- Path for Lady Vespia #32384, remove duplicate #51887 +DELETE FROM `creature` WHERE `guid` = 51887; +UPDATE `creature` SET `MovementType`=2,`position_x`=3722.429932,`position_y`=913.771790,`position_z`=1.002714,`currentwaypoint`=1 WHERE `guid` = 32384; +UPDATE `creature_addon` SET `path_id` = 323840 WHERE `guid` = 32384; +DELETE FROM `waypoint_data` WHERE `id`=323840; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(323840,1,3722.429932,913.771790,1.002714,0,0,0,0,100,0), +(323840,2,3732.029053,904.330933,0.968114,0,0,0,0,100,0), +(323840,3,3739.736328,895.524353,0.758106,0,0,0,0,100,0), +(323840,4,3750.789551,880.084534,0.366120,0,0,0,0,100,0), +(323840,5,3758.787354,867.507263,0.679295,0,0,0,0,100,0), +(323840,6,3767.161865,856.288452,0.976484,0,0,0,0,100,0), +(323840,7,3782.519043,843.848511,0.968118,0,0,0,0,100,0), +(323840,8,3795.712402,840.702026,1.675440,0,0,0,0,100,0), +(323840,9,3808.054688,838.972107,0.956729,0,0,0,0,100,0), +(323840,10,3829.029541,839.984436,0.967158,0,0,0,0,100,0), +(323840,11,3843.008545,840.750061,1.186359,0,0,0,0,100,0), +(323840,12,3868.521484,844.503845,1.141360,0,0,0,0,100,0), +(323840,13,3876.150635,850.337830,1.755279,0,0,0,0,100,0), +(323840,14,3881.138672,864.115845,1.310831,0,0,0,0,100,0), +(323840,15,3888.653076,865.323853,1.378022,0,0,0,0,100,0), +(323840,16,3906.875488,866.120544,1.134151,0,0,0,0,100,0), +(323840,17,3953.089355,864.282104,0.148911,0,0,0,0,100,0), +(323840,18,3983.302734,857.571228,1.046788,0,0,0,0,100,0), +(323840,19,4000.202637,860.725830,1.170438,0,0,0,0,100,0), +(323840,20,4014.436035,868.470032,0.720758,0,0,0,0,100,0), +(323840,21,4027.739258,883.203796,0.801679,0,0,0,0,100,0), +(323840,22,4040.634277,896.320435,0.261184,0,0,0,0,100,0), +(323840,23,4053.570068,909.003784,1.512342,0,0,0,0,100,0), +(323840,24,4065.364258,911.439880,3.647654,0,0,0,0,100,0), +(323840,25,4077.339111,909.210083,5.332397,0,0,0,0,100,0), +(323840,26,4089.094971,903.189575,5.971728,0,0,0,0,100,0), +(323840,27,4097.356934,901.196777,7.080781,0,0,0,0,100,0), +(323840,28,4113.481934,897.701721,9.812309,0,0,0,0,100,0), +(323840,29,4117.061035,886.646057,9.757087,0,0,0,0,100,0), +(323840,30,4117.483887,870.737488,9.815219,0,0,0,0,100,0), +(323840,31,4126.461426,866.358765,9.707480,0,0,0,0,100,0), +(323840,32,4133.693359,864.304565,6.785762,0,0,0,0,100,0), +(323840,33,4146.947754,861.233643,4.078417,0,0,0,0,100,0), +(323840,34,4150.838867,864.035461,4.078417,0,0,0,0,100,0), +(323840,35,4155.389160,871.403625,4.082621,0,0,0,0,100,0), +(323840,36,4157.450684,877.767944,1.504079,0,0,0,0,100,0), +(323840,37,4159.562012,886.388184,-1.458823,0,0,0,0,100,0), +(323840,38,4157.624023,893.779236,-1.453992,0,0,0,0,100,0), +(323840,39,4152.749512,898.931580,-1.453427,0,0,0,0,100,0), +(323840,40,4147.643066,900.963562,-2.476280,0,0,0,0,100,0), +(323840,41,4141.217773,902.808472,-5.821361,0,0,0,0,100,0), +(323840,42,4135.142578,904.172913,-7.009238,0,0,0,0,100,0), +(323840,43,4126.201660,900.406006,-7.008872,0,0,0,0,100,0), +(323840,44,4123.505371,895.362976,-7.064267,0,0,0,0,100,0), +(323840,45,4121.024902,888.352173,-10.009289,0,0,0,0,100,0), +(323840,46,4118.931641,881.739380,-12.623049,0,0,0,0,100,0), +(323840,47,4118.696777,874.418152,-12.563630,0,0,0,0,100,0), +(323840,48,4124.143555,869.048279,-12.563630,0,0,0,0,100,0), +(323840,49,4131.265625,865.740540,-14.077361,0,0,0,0,100,0), +(323840,50,4127.223633,866.879333,-12.562355,0,0,0,0,100,0), +(323840,51,4122.481445,869.654541,-12.562355,0,0,0,0,100,0), +(323840,52,4117.991699,876.805542,-12.562355,0,0,0,0,100,0), +(323840,53,4119.471191,886.473083,-11.126961,0,0,0,0,100,0), +(323840,54,4121.210449,893.253479,-7.626825,0,0,0,0,100,0), +(323840,55,4124.160645,900.132507,-7.007569,0,0,0,0,100,0), +(323840,56,4129.967773,902.294678,-7.007569,0,0,0,0,100,0), +(323840,57,4137.781738,903.702820,-7.009012,0,0,0,0,100,0), +(323840,58,4143.771973,902.754822,-4.585012,0,0,0,0,100,0), +(323840,59,4148.363281,901.231506,-2.167897,0,0,0,0,100,0), +(323840,60,4155.444336,896.501953,-1.451832,0,0,0,0,100,0), +(323840,61,4159.376465,886.155151,-1.458028,0,0,0,0,100,0), +(323840,62,4158.670410,882.022095,-0.702407,0,0,0,0,100,0), +(323840,63,4156.946777,875.238770,2.786326,0,0,0,0,100,0), +(323840,64,4153.635254,865.145325,4.079946,0,0,0,0,100,0), +(323840,65,4149.276855,863.342407,4.079946,0,0,0,0,100,0), +(323840,66,4142.281250,863.443237,4.083534,0,0,0,0,100,0), +(323840,67,4135.520996,863.820129,5.832601,0,0,0,0,100,0), +(323840,68,4128.327637,866.176208,9.616565,0,0,0,0,100,0), +(323840,69,4124.060059,869.521179,9.798268,0,0,0,0,100,0), +(323840,70,4117.504883,877.208740,9.773583,0,0,0,0,100,0), +(323840,71,4113.075195,883.248596,9.811710,0,0,0,0,100,0), +(323840,72,4108.947754,885.473511,9.811710,0,0,0,0,100,0), +(323840,73,4101.364258,894.021057,9.506009,0,0,0,0,100,0), +(323840,74,4099.205566,901.251709,7.480323,0,0,0,0,100,0), +(323840,75,4094.037109,900.019409,6.555405,0,0,0,0,100,0), +(323840,76,4080.265869,902.525269,4.844516,0,0,0,0,100,0), +(323840,77,4066.643311,905.211365,2.676093,0,0,0,0,100,0), +(323840,78,4052.042480,900.388977,-0.015366,0,0,0,0,100,0), +(323840,79,4036.894531,889.341431,0.380059,0,0,0,0,100,0), +(323840,80,4015.933838,874.014709,0.399262,0,0,0,0,100,0), +(323840,81,3996.318604,866.858826,1.082657,0,0,0,0,100,0), +(323840,82,3960.317871,860.775940,0.167445,0,0,0,0,100,0), +(323840,83,3952.938965,863.003601,0.241122,0,0,0,0,100,0), +(323840,84,3940.339355,865.996704,0.925124,0,0,0,0,100,0), +(323840,85,3919.454590,868.036560,1.203346,0,0,0,0,100,0), +(323840,86,3898.702881,867.625793,1.277368,0,0,0,0,100,0), +(323840,87,3881.742432,862.045654,1.276057,0,0,0,0,100,0), +(323840,88,3877.997314,857.874329,1.554000,0,0,0,0,100,0), +(323840,89,3874.550537,851.784485,1.574687,0,0,0,0,100,0), +(323840,90,3867.740479,841.904846,1.197731,0,0,0,0,100,0), +(323840,91,3851.134277,838.354553,0.993947,0,0,0,0,100,0), +(323840,92,3809.334961,842.445557,0.796721,0,0,0,0,100,0), +(323840,93,3781.462158,845.068787,0.967946,0,0,0,0,100,0), +(323840,94,3770.630859,851.672424,0.967075,0,0,0,0,100,0), +(323840,95,3759.555664,863.323792,0.992520,0,0,0,0,100,0), +(323840,96,3739.665527,892.069092,0.734760,0,0,0,0,100,0), +(323840,97,3729.475098,910.430786,0.967810,0,0,0,0,100,0), +(323840,98,3716.260742,916.782471,1.253238,0,0,0,0,100,0), +(323840,99,3705.518555,923.451660,1.566365,0,0,0,0,100,0), +(323840,100,3693.323730,935.196167,3.147308,0,0,0,0,100,0), +(323840,101,3682.386230,953.076477,1.517186,0,0,0,0,100,0), +(323840,102,3675.434082,967.510315,2.468625,0,0,0,0,100,0), +(323840,103,3677.183594,984.396912,0.705175,0,0,0,0,100,0); +-- --------------------------------------------------------------------------------------------------------------------------------------------------- +-- Issue 8631: Prince Raze in Ashenvale - pathing +-- this is a rare lacking its path,and instead there is a duplicate +-- spawn in another location along the path +-- Path for Prince Raze #32914,remove duplicate #51863 +DELETE FROM `creature` WHERE `guid` = 51863; +UPDATE `creature` SET `MovementType`=2,`position_x`=2808.241455,`position_y`=-3003.126709,`position_z`=157.067291,`currentwaypoint`=1 WHERE `guid` = 32914; +UPDATE `creature_addon` SET `path_id` = 329140 WHERE `guid` = 32914; +DELETE FROM `waypoint_data` WHERE `id`=329140; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(329140,1,2808.241455,-3003.126709,157.067291,0,0,0,0,100,0), +(329140,2,2811.392090,-2991.734619,155.334320,0,0,0,0,100,0), +(329140,3,2808.639160,-2972.097412,155.101013,0,0,0,0,100,0), +(329140,4,2804.842773,-2959.183350,152.490417,0,0,0,0,100,0), +(329140,5,2805.551270,-2938.301270,154.462799,0,0,0,0,100,0), +(329140,6,2814.461182,-2921.440918,163.474411,0,0,0,0,100,0), +(329140,7,2818.510498,-2918.647461,166.685257,0,0,0,0,100,0), +(329140,8,2840.341797,-2914.930176,183.502121,0,0,0,0,100,0), +(329140,9,2854.309326,-2914.024170,192.161575,0,0,0,0,100,0), +(329140,10,2871.512939,-2911.204834,198.770233,0,0,0,0,100,0), +(329140,11,2882.424561,-2903.183594,201.184616,0,0,0,0,100,0), +(329140,12,2888.192871,-2886.370850,203.285019,0,0,0,0,100,0), +(329140,13,2892.449463,-2865.810547,203.822342,0,0,0,0,100,0), +(329140,14,2898.969971,-2852.818848,207.158493,0,0,0,0,100,0), +(329140,15,2908.747559,-2844.036377,209.318665,0,0,0,0,100,0), +(329140,16,2926.231689,-2833.183350,211.338501,0,0,0,0,100,0), +(329140,17,2943.589355,-2830.331543,212.665710,0,0,0,0,100,0), +(329140,18,2953.075439,-2824.161621,212.613983,0,0,0,0,100,0), +(329140,19,2964.846191,-2820.930420,211.645081,0,0,0,0,100,0), +(329140,20,2978.736084,-2819.183350,209.463913,0,0,0,0,100,0), +(329140,21,3001.006836,-2818.457031,206.082977,0,0,0,0,100,0), +(329140,22,3022.530762,-2814.136230,203.552109,0,0,0,0,100,0), +(329140,23,3035.244629,-2811.006836,198.437698,0,0,0,0,100,0), +(329140,24,3040.000488,-2799.580811,195.965454,0,0,0,0,100,0), +(329140,25,3035.478760,-2809.662354,198.041458,0,0,0,0,100,0), +(329140,26,3024.454102,-2819.712158,202.394180,0,0,0,0,100,0), +(329140,27,3006.513916,-2818.985107,205.280838,0,0,0,0,100,0), +(329140,28,2984.259277,-2818.399902,209.399185,0,0,0,0,100,0), +(329140,29,2970.594238,-2821.382324,210.345764,0,0,0,0,100,0), +(329140,30,2952.682373,-2822.796875,212.661163,0,0,0,0,100,0), +(329140,31,2942.465332,-2830.031982,212.665604,0,0,0,0,100,0), +(329140,32,2930.226318,-2831.118164,211.663055,0,0,0,0,100,0), +(329140,33,2915.546875,-2835.999512,209.535995,0,0,0,0,100,0), +(329140,34,2904.552246,-2845.870850,208.518188,0,0,0,0,100,0), +(329140,35,2889.942871,-2865.736084,203.493179,0,0,0,0,100,0), +(329140,36,2887.777344,-2881.864746,203.374954,0,0,0,0,100,0), +(329140,37,2884.007080,-2899.519775,202.008667,0,0,0,0,100,0), +(329140,38,2875.229492,-2911.850098,199.338211,0,0,0,0,100,0), +(329140,39,2862.768311,-2914.375977,196.399612,0,0,0,0,100,0), +(329140,40,2850.098877,-2914.262207,189.543320,0,0,0,0,100,0), +(329140,41,2843.341309,-2912.349365,185.238174,0,0,0,0,100,0), +(329140,42,2829.395752,-2911.120605,175.736130,0,0,0,0,100,0), +(329140,43,2818.509521,-2910.984131,166.842010,0,0,0,0,100,0), +(329140,44,2808.092773,-2915.233643,159.118347,0,0,0,0,100,0), +(329140,45,2804.951660,-2931.008545,155.843887,0,0,0,0,100,0), +(329140,46,2806.345703,-2945.017822,154.086060,0,0,0,0,100,0), +(329140,47,2807.287842,-2956.843994,153.169250,0,0,0,0,100,0), +(329140,48,2807.587891,-2963.081055,153.936203,0,0,0,0,100,0), +(329140,49,2808.624512,-2969.800537,155.047455,0,0,0,0,100,0), +(329140,50,2813.630615,-2989.589600,155.539047,0,0,0,0,100,0), +(329140,51,2810.635986,-2998.342529,156.787384,0,0,0,0,100,0); +-- --------------------------------------------------------------------------------------------------------------------------------------------------- +-- Issue 8632: Rorgis Jowl in Ashenvale - pathing +-- Path for Rorgis Jowl #32869 +UPDATE `creature` SET `MovementType`=2,`position_x`=3265.909912,`position_y`=-365.719818,`position_z`=153.103470,`currentwaypoint`=1 WHERE `guid` = 32869; +UPDATE `creature_addon` SET `path_id` = 328690 WHERE `guid` = 32869; +DELETE FROM `waypoint_data` WHERE `id`=328690; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(328690,1,3265.909912,-365.719818,153.103470,0,0,0,0,100,0), +(328690,2,3273.110840,-371.723724,152.879028,0,0,0,0,100,0), +(328690,3,3278.832275,-382.906128,152.523438,0,0,0,0,100,0), +(328690,4,3290.602295,-408.267151,150.345276,0,0,0,0,100,0), +(328690,5,3307.686523,-430.401825,149.835861,0,0,0,0,100,0), +(328690,6,3320.117676,-447.278168,150.562851,0,0,0,0,100,0), +(328690,7,3336.108154,-470.102722,153.994934,0,0,0,0,100,0), +(328690,8,3347.987305,-480.422211,154.224228,0,0,0,0,100,0), +(328690,9,3358.450439,-476.938568,154.218155,0,0,0,0,100,0), +(328690,10,3365.435547,-464.821289,154.220810,0,0,0,0,100,0), +(328690,11,3370.219482,-452.802338,153.902512,0,0,0,0,100,0), +(328690,12,3384.146973,-428.400848,149.321747,0,0,0,0,100,0), +(328690,13,3392.826660,-417.417175,146.746826,0,0,0,0,100,0), +(328690,14,3405.046387,-403.259644,143.910614,0,0,0,0,100,0), +(328690,15,3421.904541,-390.824982,139.321136,0,0,0,0,100,0), +(328690,16,3434.331055,-384.391785,135.793793,0,0,0,0,100,0), +(328690,17,3447.364990,-378.007141,135.662186,0,0,0,0,100,0), +(328690,18,3434.159668,-382.636597,135.496231,0,0,0,0,100,0), +(328690,19,3421.415283,-388.368469,138.450043,0,0,0,0,100,0), +(328690,20,3404.063721,-400.144897,143.263397,0,0,0,0,100,0), +(328690,21,3390.340332,-412.986176,145.812714,0,0,0,0,100,0), +(328690,22,3377.259033,-421.769073,148.559967,0,0,0,0,100,0), +(328690,23,3362.353027,-430.288391,151.450409,0,0,0,0,100,0), +(328690,24,3349.057861,-433.942139,151.799011,0,0,0,0,100,0), +(328690,25,3333.835205,-433.346802,150.422485,0,0,0,0,100,0), +(328690,26,3318.930664,-428.625763,149.402405,0,0,0,0,100,0), +(328690,27,3307.989014,-420.835663,149.473190,0,0,0,0,100,0), +(328690,28,3293.188721,-405.975098,150.441910,0,0,0,0,100,0), +(328690,29,3284.596191,-394.927856,151.113251,0,0,0,0,100,0), +(328690,30,3275.517822,-378.112610,152.894287,0,0,0,0,100,0), +(328690,31,3269.427979,-368.935364,153.063339,0,0,0,0,100,0); +-- --------------------------------------------------------------------------------------------------------------------------------------------------- +-- Issue 8633: Branch Snapper in Ashenvale - pathing +-- Path for Branch Snapper #51882 +UPDATE `creature` SET `MovementType`=2,`position_x`=2971.350098,`position_y`=-982.097900,`position_z`=198.683380,`currentwaypoint`=1 WHERE `guid` = 51882; +DELETE FROM `creature_addon` WHERE `guid` = 51882; +INSERT INTO `creature_addon` (`guid`,`path_id`) VALUES (51882,518820); +DELETE FROM `waypoint_data` WHERE `id`=518820; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(518820,1,2971.350098,-982.097900,198.683380,0,0,0,0,100,0), +(518820,2,2971.690918,-962.483948,198.426682,0,0,0,0,100,0), +(518820,3,2968.384521,-941.765564,200.709015,0,0,0,0,100,0), +(518820,4,2965.152344,-928.147766,198.484497,0,0,0,0,100,0), +(518820,5,2952.836670,-910.756836,197.443298,0,0,0,0,100,0), +(518820,6,2938.869141,-905.128601,197.099640,0,0,0,0,100,0), +(518820,7,2919.632568,-903.527100,198.155716,0,0,0,0,100,0), +(518820,8,2903.414307,-903.434143,197.123611,0,0,0,0,100,0), +(518820,9,2885.066162,-906.786804,197.560242,0,0,0,0,100,0), +(518820,10,2867.496582,-918.221313,198.913681,0,0,0,0,100,0), +(518820,11,2856.638184,-927.044983,199.210022,0,0,0,0,100,0), +(518820,12,2840.306152,-940.243774,198.580444,0,0,0,0,100,0), +(518820,13,2819.923340,-952.546692,196.251236,0,0,0,0,100,0), +(518820,14,2812.915527,-966.389648,195.477539,0,0,0,0,100,0), +(518820,15,2813.452637,-983.662659,197.860260,0,0,0,0,100,0), +(518820,16,2821.784180,-1002.938599,197.072479,0,0,0,0,100,0), +(518820,17,2830.527100,-1018.294495,198.959946,0,0,0,0,100,0), +(518820,18,2839.100586,-1026.947266,197.751938,0,0,0,0,100,0), +(518820,19,2862.386719,-1035.757080,197.902298,0,0,0,0,100,0), +(518820,20,2876.326660,-1037.055908,198.182755,0,0,0,0,100,0), +(518820,21,2897.217041,-1039.198364,198.248016,0,0,0,0,100,0), +(518820,22,2911.110352,-1040.886230,197.331467,0,0,0,0,100,0), +(518820,23,2934.677002,-1045.407104,196.986130,0,0,0,0,100,0), +(518820,24,2946.637451,-1040.841553,197.254547,0,0,0,0,100,0), +(518820,25,2958.366455,-1029.786133,197.856155,0,0,0,0,100,0), +(518820,26,2968.661621,-1011.250610,197.917145,0,0,0,0,100,0); +-- --------------------------------------------------------------------------------------------------------------------------------------------------- +-- Issue 8634: Akkrilus in Ashenvale - pathing +-- Path for Akkrilus #51883 +UPDATE `creature` SET `MovementType`=2,`position_x`=2230.626221,`position_y`=222.503265,`position_z`=134.671127,`currentwaypoint`=1 WHERE `guid` = 51883; +DELETE FROM `creature_addon` WHERE `guid` = 51883; +INSERT INTO `creature_addon` (`guid`,`path_id`) VALUES (51883,518830); +DELETE FROM `waypoint_data` WHERE `id`=518830; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(518830,1,2230.626221,222.503265,134.671127,0,0,0,0,100,0), +(518830,2,2224.842773,204.381668,131.745773,0,0,0,0,100,0), +(518830,3,2224.397461,186.195084,128.542633,0,0,0,0,100,0), +(518830,4,2224.783691,165.252151,121.905479,0,0,0,0,100,0), +(518830,5,2228.541992,144.604492,115.583405,0,0,0,0,100,0), +(518830,6,2234.316162,129.033264,110.983452,0,0,0,0,100,0), +(518830,7,2246.995850,104.069115,105.569809,0,0,0,0,100,0), +(518830,8,2259.200195,85.328667,102.283875,0,0,0,0,100,0), +(518830,9,2272.217529,73.944885,99.108376,0,0,0,0,100,0), +(518830,10,2289.473145,65.154480,96.752800,0,0,0,0,100,0), +(518830,11,2303.842529,63.234364,95.158028,0,0,0,0,100,0), +(518830,12,2324.819580,62.301811,92.302200,0,0,0,0,100,0), +(518830,13,2315.044678,61.647449,94.050667,0,0,0,0,100,0), +(518830,14,2294.266602,64.414993,96.811752,0,0,0,0,100,0), +(518830,15,2274.864502,73.553665,98.970840,0,0,0,0,100,0), +(518830,16,2262.320557,85.840591,101.911362,0,0,0,0,100,0), +(518830,17,2251.133057,95.907051,104.024017,0,0,0,0,100,0), +(518830,18,2236.551025,110.107979,108.169083,0,0,0,0,100,0), +(518830,19,2227.548340,124.708336,110.385513,0,0,0,0,100,0), +(518830,20,2222.801758,143.517090,116.077888,0,0,0,0,100,0), +(518830,21,2219.976563,164.319946,122.124672,0,0,0,0,100,0), +(518830,22,2218.412598,184.548325,128.981644,0,0,0,0,100,0), +(518830,23,2219.249023,198.518890,131.665329,0,0,0,0,100,0), +(518830,24,2220.353516,219.485901,133.995987,0,0,0,0,100,0), +(518830,25,2222.075684,244.729797,134.205353,0,0,0,0,100,0), +(518830,26,2224.536377,261.256378,134.331970,0,0,0,0,100,0), +(518830,27,2229.941895,281.548462,133.522369,0,0,0,0,100,0), +(518830,28,2236.282471,301.551971,133.194031,0,0,0,0,100,0), +(518830,29,2240.797363,314.802246,133.413681,0,0,0,0,100,0), +(518830,30,2246.947021,334.861572,130.498993,0,0,0,0,100,0), +(518830,31,2252.275635,347.803162,129.387589,0,0,0,0,100,0), +(518830,32,2261.552246,366.643127,129.971725,0,0,0,0,100,0), +(518830,33,2270.846436,385.474365,129.803040,0,0,0,0,100,0), +(518830,34,2280.354004,399.463409,130.359802,0,0,0,0,100,0), +(518830,35,2293.543945,412.130554,130.348328,0,0,0,0,100,0), +(518830,36,2304.319580,421.066528,129.609512,0,0,0,0,100,0), +(518830,37,2321.469482,433.147339,128.849838,0,0,0,0,100,0), +(518830,38,2336.443604,441.356476,123.324211,0,0,0,0,100,0), +(518830,39,2355.435059,450.315521,116.676407,0,0,0,0,100,0), +(518830,40,2365.592285,455.130249,114.194473,0,0,0,0,100,0), +(518830,41,2353.159180,449.219360,117.543526,0,0,0,0,100,0), +(518830,42,2340.275391,443.741028,122.071327,0,0,0,0,100,0), +(518830,43,2327.483887,438.059875,126.869530,0,0,0,0,100,0), +(518830,44,2310.080078,428.210297,128.501328,0,0,0,0,100,0), +(518830,45,2299.125244,419.506104,129.949829,0,0,0,0,100,0), +(518830,46,2288.756104,410.103882,130.291275,0,0,0,0,100,0), +(518830,47,2274.876221,394.387665,129.901978,0,0,0,0,100,0), +(518830,48,2267.130615,382.738708,129.731949,0,0,0,0,100,0), +(518830,49,2257.433350,364.646637,129.959579,0,0,0,0,100,0), +(518830,50,2251.866943,351.801178,129.571732,0,0,0,0,100,0), +(518830,51,2244.710938,332.076782,131.140259,0,0,0,0,100,0), +(518830,52,2240.668945,318.680450,133.109680,0,0,0,0,100,0), +(518830,53,2236.625977,305.276886,133.475372,0,0,0,0,100,0), +(518830,54,2231.740234,284.870972,133.536728,0,0,0,0,100,0), +(518830,55,2230.472412,271.257019,134.439743,0,0,0,0,100,0), +(518830,56,2229.767334,252.587219,134.871262,0,0,0,0,100,0), +(518830,57,2228.250000,238.221497,135.416504,0,0,0,0,100,0); +-- --------------------------------------------------------------------------------------------------------------------------------------------------- +-- Issue 8635: Terrowulf Pack Lord in Ashenvale - pathing +-- Path for Terrowulf Pack Lord #51870 +UPDATE `creature` SET `MovementType`=2,`position_x`=3150.399902,`position_y`=-1170.138062,`position_z`=217.299103,`currentwaypoint`=1 WHERE `guid` = 51870; +DELETE FROM `creature_addon` WHERE `guid` = 51870; +INSERT INTO `creature_addon` (`guid`,`path_id`) VALUES (51870,518700); +DELETE FROM `waypoint_data` WHERE `id`=518700; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(518700,1,3150.399902,-1170.138062,217.299103,0,0,0,0,100,0), +(518700,2,3150.364258,-1176.916138,217.212677,0,0,0,0,100,0), +(518700,3,3151.549072,-1184.704468,216.956177,0,0,0,0,100,0), +(518700,4,3154.039307,-1195.630127,216.413452,0,0,0,0,100,0), +(518700,5,3157.339600,-1200.890625,215.839249,0,0,0,0,100,0), +(518700,6,3162.611328,-1203.641479,215.186890,0,0,0,0,100,0), +(518700,7,3167.498779,-1202.496216,214.795517,0,0,0,0,100,0), +(518700,8,3169.949463,-1199.822632,214.695114,0,0,0,0,100,0), +(518700,9,3174.424316,-1191.442871,214.546326,0,0,0,0,100,0), +(518700,10,3176.167969,-1184.175903,214.374252,0,0,0,0,100,0), +(518700,11,3175.641846,-1176.006592,214.256958,0,0,0,0,100,0), +(518700,12,3170.866699,-1170.889526,214.670517,0,0,0,0,100,0), +(518700,13,3165.246826,-1166.603638,215.211517,0,0,0,0,100,0), +(518700,14,3156.909180,-1163.954956,216.297623,0,0,0,0,100,0); + diff --git a/sql/updates/world/2012_12_15_01_world_sai.sql b/sql/updates/world/2012_12_15_01_world_sai.sql new file mode 100644 index 00000000000..6d43bedc446 --- /dev/null +++ b/sql/updates/world/2012_12_15_01_world_sai.sql @@ -0,0 +1,95 @@ +-- --------------------------------------------------------------------------------------------------------------------------------------------------- +-- Issue 8644: EAI->SAI - Urom adds +-- Convert EAI -> SAI and not sure, if I even changed something, but I checked and stuff were working correct (as of mechanics). +SET @P_Murloc := 27649; +SET @P_Cloudscraper := 27645; +SET @P_Mammoth := 27642; +SET @P_Wolf := 27644; +SET @P_Air := 27650; +SET @P_Water := 27653; +SET @P_Fire := 27651; +SET @P_Ogre := 27647; +SET @P_Naga := 27648; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (@P_Murloc,@P_Cloudscraper,@P_Mammoth,@P_Wolf,@P_Air,@P_Water,@P_Fire,@P_Ogre,@P_Naga); +DELETE FROM `creature_ai_scripts` WHERE `creature_id` IN (@P_Murloc,@P_Cloudscraper,@P_Mammoth,@P_Wolf,@P_Air,@P_Water,@P_Fire,@P_Ogre,@P_Naga); +DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid` IN (@P_Murloc,@P_Cloudscraper,@P_Mammoth,@P_Wolf,@P_Air,@P_Water,@P_Fire,@P_Ogre,@P_Naga); +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@P_Murloc,0,0,0,0,0,100,0,1000,3000,13000,16000,11,54074,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Phantasmal Murloc - IC - Cast poison'), +(@P_Naga,0,0,0,0,0,100,2,9000,12000,13000,16000,11,50732,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Phantasmal Naga - IC /Normal/ - Cast Water Tomb'), +(@P_Naga,0,1,0,0,0,100,4,9000,12000,13000,16000,11,59261,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Phantasmal Naga - IC /Heroic/ - Cast Water Tomb'), +(@P_Naga,0,2,0,0,0,100,2,1000,3000,9000,12000,11,49711,0,0,0,0,0,5,0,0,0,0,0,0,0, 'Phantasmal Naga - IC /Normal/ - Cast Water Tomb'), +(@P_Naga,0,3,0,0,0,100,4,1000,3000,9000,12000,11,59260,0,0,0,0,0,5,0,0,0,0,0,0,0, 'Phantasmal Naga - IC /Heroic/ - Cast Water Tomb'), +(@P_Ogre,0,0,0,2,0,100,0,30,30,20000,24000,11,50730,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Phantasmal Ogre - On 30% - Cast Bloodlust at 30% HP'), +(@P_Ogre,0,1,0,0,0,100,0,3000,7000,9000,12000,11,50731,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Phantasmal Ogre - IC - Cast Mace Smash'), +(@P_Cloudscraper,0,0,0,0,0,100,4,3000,5000,4000,6000,11,59223,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Phantasmal Cloudscraper - IC /Heroic/ - Cast Chain Lightning'), +(@P_Cloudscraper,0,1,0,0,0,100,2,3000,7000,9000,12000,11,59220,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Phantasmal Cloudscraper - IC /Normal/ - Cast Chain Lightning'), +(@P_Cloudscraper,0,2,0,0,0,100,2,7000,10000,12000,15000,11,15588,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Phantasmal Cloudscraper - IC /Normal/ - Cast Thunderclap'), +(@P_Cloudscraper,0,3,0,0,0,100,4,7000,10000,12000,15000,11,59217,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Phantasmal Cloudscraper - IC /Heroic/ - Cast Thunderclap'), +(@P_Mammoth,0,0,0,9,0,100,0,8,25,2000,2500,11,32323,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Phantasmal Mammoth - IC - Cast Charge'), +(@P_Mammoth,0,1,0,0,0,100,0,4000,7000,12000,15000,11,59274,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Phantasmal Mammoth - IC - Cast Trample'), +(@P_Wolf,0,0,0,0,0,100,2,10000,13000,18000,24000,11,50728,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Phantasmal Wolf - IC /Normal/ - Cast Furious Howl'), +(@P_Wolf,0,1,0,0,0,100,4,10000,13000,18000,24000,11,59274,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Phantasmal Wolf - IC /Heroic/ - Cast Furious Howl'), +(@P_Wolf,0,2,0,0,0,100,2,4000,9000,9000,12000,11,50729,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Phantasmal Wolf - IC /Normal/ - Cast Carnivorous Bite'), +(@P_Wolf,0,3,0,0,0,100,4,4000,9000,9000,12000,11,59269,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Phantasmal Wolf - IC /Heroic/ - Cast Carnivorous Bite'), +(@P_Air,0,0,0,4,0,100,5,0,0,0,0,11,20545,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Phantasmal Air - On aggro /Heroic/ - Cast Lightning Shield'), +(@P_Air,0,1,0,4,0,100,3,0,0,0,0,11,25020,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Phantasmal Air - On aggro /Normal/ - Cast Lightning Shield'), +(@P_Fire,0,0,0,0,0,100,2,3000,8000,5000,9000,11,50744,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Phantasmal Fire - IC /Normla/ - Cast Blaze'), +(@P_Fire,0,1,0,0,0,100,4,3000,8000,5000,9000,11,59225,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Phantasmal Fire - IC /Heroic/ - Cast Blaze'), +(@P_Water,0,0,1,54,0,100,1,0,0,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Phantasmal Water - On spawn - Disable combat movement'), +(@P_Water,0,1,0,61,0,100,1,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Phantasmal Water - Linked with previous event - Set phase 0'), +(@P_Water,0,2,0,7,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Phantasmal Water - On Evade - Set phase 0'), +(@P_Water,0,3,0,9,1,100,0,0,5,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Phantasmal Water - On In Range /0-5/ - Allow combat movement'), +(@P_Water,0,4,0,9,1,100,0,5,15,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Phantasmal Water - On In Range /5-15/ - Disable combat movement'), +(@P_Water,0,5,0,9,1,100,0,30,80,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Phantasmal Water - On In Range /30-80/ - Allow combat movement'), +(@P_Water,0,6,7,3,1,100,0,0,7,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Phantasmal Water - On mana pct below 7% - Allow combat movement'), +(@P_Water,0,7,0,61,1,100,0,0,0,0,0,23,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Phantasmal Water - Linked with previous event - Increment phase by 1'), +(@P_Water,0,8,0,3,2,100,0,15,100,100,100,23,0,1,0,0,0,0,1,0,0,0,0,0,0,0, 'Phantasmal Water - On mana pct above 15% - Decrement phase by 1'), +(@P_Water,0,9,10,4,0,100,3,0,0,0,0,11,37924,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Phantasmal Water - On aggro - Cast Water Bolt Volley'), +(@P_Water,0,10,0,61,0,100,3,0,0,0,0,23,1,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Phantasmal Water - IC /Heroic/ - Increment phase by 1'), +(@P_Water,0,11,12,4,0,100,5,0,0,0,0,11,59266,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Phantasmal Water - On aggro - Cast Water Bolt Volley'), +(@P_Water,0,12,0,61,0,100,5,0,0,0,0,23,1,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Phantasmal Water - IC /Heroic/ - Increment phase by 1'), +(@P_Water,0,13,0,9,1,100,2,0,35,3400,4800,11,37924,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Phantasmal Water - In range - Cast Water Bolt Volley'), +(@P_Water,0,14,0,9,1,100,4,0,35,3400,4800,11,59266,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Phantasmal Water - In range - Cast Water Bolt Volley'); +-- --------------------------------------------------------------------------------------------------------------------------------------------------- +-- Fix quest: Whelps of the Wyrmcult http://www.wowhead.com/quest=10747 +-- TO DO: Find why movement of the whelps is not prevented even, if unit flags are set from sniff values and contain disable move flag (not quest breaking by any means, most likely core handling bug somewhere). +-- ID indexes +SET @Blackwhelp := 21387; +SET @CreateItem := 38178; +SET @BlackwhelpNet := 38177; +SET @Script := @Blackwhelp * 100; +-- Add SAI support for Wyrmcult Blackwhelp +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@Blackwhelp; +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@Blackwhelp; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@Blackwhelp AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@Script AND `source_type`=9; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@Blackwhelp,0,0,1,54,0,100,1,0,0,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Wyrmcult Blackwhelp - On spawn - Disable combat movement'), +(@Blackwhelp,0,1,0,61,0,100,1,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Wyrmcult Blackwhelp - Linked with previous event - Set phase 0'), +(@Blackwhelp,0,2,0,7,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Wyrmcult Blackwhelp - On Evade - Set phase 0'), +(@Blackwhelp,0,3,0,9,1,100,0,0,5,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Wyrmcult Blackwhelp - On In Range /0-5/ - Allow combat movement'), +(@Blackwhelp,0,4,0,9,1,100,0,5,15,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Wyrmcult Blackwhelp - On In Range /5-15/ - Disable combat movement'), +(@Blackwhelp,0,5,0,9,1,100,0,35,80,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Wyrmcult Blackwhelp - On In Range /35-80/ - Allow combat movement'), +(@Blackwhelp,0,6,7,3,1,100,1,0,7,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Wyrmcult Blackwhelp - On mana pct below 7% - Allow combat movement'), +(@Blackwhelp,0,7,0,61,1,100,0,0,0,0,0,23,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Wyrmcult Blackwhelp - Linked with previous event - Increment phase by 1'), +(@Blackwhelp,0,8,0,3,2,100,1,7,100,100,100,23,0,1,0,0,0,0,1,0,0,0,0,0,0,0, 'Wyrmcult Blackwhelp - On mana pct above 7% - Decrement phase by 1'), +(@Blackwhelp,0,9,10,4,0,100,1,0,0,0,0,11,19816,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Wyrmcult Blackwhelp - On aggro - Cast Fireball'), +(@Blackwhelp,0,10,0,61,0,100,0,0,0,0,0,23,1,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Wyrmcult Blackwhelp - Linked with previous event - Increment phase by 1'), +(@Blackwhelp,0,11,0,5,1,100,0,0,40,3500,5200,11,19816,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Wyrmcult Blackwhelp - In range - Cast Fire Ball'), +(@Blackwhelp,0,12,0,8,0,100,1,@BlackwhelpNet,0,0,0,80,@Script,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Wyrmcult Blackwhelp - On spellhit by net - Start actionlist'), +(@Script,9,0,0,0,0,100,0,0,0,0,0,90,7,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Wyrmcult Blackwhelp - Action 1 - SET UNIT FIELD BYTES 1'), +(@Script,9,1,0,0,0,100,0,0,0,0,0,18,663552,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Wyrmcult Blackwhelp - Action 2 - Set unit flags'), +(@Script,9,2,0,0,0,100,0,5000,5000,0,0,11,38178,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Wyrmcult Blackwhelp - Action 3 - Cast credit spell to invoker'), +(@Script,9,3,0,0,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Wyrmcult Blackwhelp - Action 4 - Set unseen'), +(@Script,9,4,0,0,0,100,0,0,0,0,0,19,663552,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Wyrmcult Blackwhelp - Action 5 - Remove unit flags'), +(@Script,9,5,0,0,0,100,0,0,0,0,0,91,7,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Wyrmcult Blackwhelp - Action 6 - Remove unit field bytes 1'), +(@Script,9,6,0,0,0,100,0,0,0,0,0,41,100,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Wyrmcult Blackwhelp - Action 7 - Despawn after 100 ms'); +-- This is not directly related to the quest, but was on my way and it improves the experience of the quest +-- Insert missing go that is spawned by another go with a spell and can't be sniffed in order to cast spell that summon whelp (the difference in models is correct, also this double trap makes a lot of sense based on the video for the quest, on top of that there is delay set) +DELETE FROM `gameobject_template` WHERE `entry`=184839; +INSERT INTO `gameobject_template` (`entry`,`type`,`displayId`,`name`,`IconName`,`castBarCaption`,`unk1`,`faction`,`flags`,`size`,`questItem1`,`questItem2`,`questItem3`,`questItem4`,`questItem5`,`questItem6`,`data0`,`data1`,`data2`,`data3`,`data4`,`data5`,`data6`,`data7`,`data8`,`data9`,`data10`,`data11`,`data12`,`data13`,`data14`,`data15`,`data16`,`data17`,`data18`,`data19`,`data20`,`data21`,`data22`,`data23`,`AIName`,`ScriptName`,`WDBVerified`) VALUES +(184839,6,477, 'Wyrmcult Egg Spawner','','','',1827,0,1,0,0,0,0,0,0,0,0,5,36903,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,'','',-1); +-- --------------------------------------------------------------------------------------------------------------------------------------------------- +-- Issue 4942: Galen's Escape +-- Remove Galen Goodward's immunity to NPC +UPDATE `creature_template` SET `unit_flags`=256 WHERE `entry`=5391; diff --git a/sql/updates/world/2012_12_15_02_world_sai.sql b/sql/updates/world/2012_12_15_02_world_sai.sql new file mode 100644 index 00000000000..bf092bfb88d --- /dev/null +++ b/sql/updates/world/2012_12_15_02_world_sai.sql @@ -0,0 +1,40 @@ +-- +-- Convert quest_end_scripts to SAI +DELETE FROM `creature_text` WHERE `entry`=836; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(836,0,1, 'There''s nothing like some scalding mornbrew on a chilly Dun Morogh day to get things started right!',12,7,100, 1,0,0,'Durnan Furcutter after quest'), +(836,1,1, 'Oooooo hot hot hot! If that won''t put spring in your step, I don''t know what will!' ,12,7,100,400,0,0,'Durnan Furcutter after quest'); +UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`=836; +UPDATE `gameobject_template` SET `AIName`='SmartGameObjectAI' WHERE `entry` IN (51708,2289,2688,2933,142343,175926,175925); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (51708,2289,2688,2933,142343,175926,175925) AND `source_type`=1; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (293300,14234300,83600,17592600,17592500) AND `source_type`=9; +DELETE FROM `smart_scripts` WHERE `entryorguid`=836 AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +-- Eliza's Grave Dirt for Digging Through the Dirt (1s delay is needed?) +(51708,1,0,0,20,1,100,0,254,0,0,0,12, 314,1,300000,0,1,0,8,0,0,0,-10267 , 52.52,42.54,2.5,'Eliza Grave Dirt - On Quest Complete - Spawn Eliza'), +-- Ruined Lifeboat for Enticing Negolash Spawndata is from sniff! ( 3s delay is required?) +(2289 ,1,0,0,20,1,100,0,619,0,0,0,12,1494,1,300000,0,1,0,8,0,0,0,-14621.93,148.1328,0.7201138,0.9944053,'Ruined Lifeboat - On Quest Complete - Spawn Negolash'), +-- Keystone for Breaking the Keystone, spawndata is from sniff! (1s delay is needed?) +(2688 ,1,0,0,20,1,100,0,652,0,0,0,12,2763,1, 60000,0,1,0,8,0,0,0,-1517.452,-2181.302,17.31267,2.722714,'Keystone - On Quest Complete - Spawn Thenan'), +-- Seal of the Earth for Seal of the Earth (2x) +(2933,1,0,0,20,0,100,0, 779,0,0,0,80,293300,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Seal of the Earth - On quest "Seal of the Earth" Rewarded - call script'), +(2933,1,1,0,20,0,100,0, 795,0,0,0,80,293300,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Seal of the Earth - On quest "Seal of the Earth" Rewarded - call script'), +(293300,9,0,0,1,0,100,0,2000,2000,0,0,12,2759,1,300000,0,1,0,8,0,0,0,-6703,-4094,264.235,2.830, 'Seal of the Earth - After 2 seconds - Summon Hematus'), +(293300,9,1,0,1,0,100,0,2000,2000,0,0,12,2757,1,300000,0,1,0,8,0,0,0,-6718,-4125,264.235,2.683, 'Seal of the Earth - After 2 seconds - Summon Blacklash'), +-- Uldum Pedestal for Seeing What Happens (2x) +(142343,1,0,0,20,0,100,0,2946,0,0,0,80,14234300,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Uldum Pedestal - On quest "Seeing What Happens" Rewarded - call script'), +(142343,1,1,0,20,0,100,0,2966,0,0,0,80,14234300,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Uldum Pedestal - On quest "Seeing What Happens" Rewarded - call script'), +(14234300,9,0,0,1,0,100,0,2000,2000,0,0,12,7918,1,300000,0,0,0,8,0,0,0,-9619,-2815,11.21,0.43, 'Uldum Pedestal - After 2 seconds - Stone Watcher of Norgannon'), +-- Durnan Furcuttor for Scalding Mornbrew Delivery +(836,0,0,0,20,0,100,0,2946,0,0,0,80,83600,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Durnan Furcutter - On quest "Scalding Mornbrew Delivery" Rewarded - call script'), +-- Script for Dance/talk part +(83600,9,0,1,1,0,100,0,2000,2000,0,0,1,0, 2000,0,0,0,0,7,0,0,0,0,0,0,0,'Durnan Furcutter - After 2s - Say line1'), +(83600,9,1,2,1,0,100,0, 0, 0,0,0,5,7, 0,0,0,0,0,7,0,0,0,0,0,0,0,'Durnan Furcutter - After 4s - EmoteEat'), +(83600,9,2,3,1,0,100,0,4000,4000,0,0,1,0,12000,0,0,0,0,7,0,0,0,0,0,0,0,'Durnan Furcutter - After 8s - Say line2'), +(83600,9,3,0,1,0,100,0, 0, 0,0,0,5,0, 0,0,0,0,0,7,0,0,0,0,0,0,0,'Durnan Furcutter - After 20s - StopDance'), +-- Mrs. Dalson's Diary for Mrs.Dalson's Diary +(175926,1,1,0,20,0,100,0,5058,0,0,0,80,17592600,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Mrs. Dalson''s Diary - On quest "Mrs. Dalson''s Diary" Rewarded - call script'), +(17592600,9,0,0, 1,0,100,0,2000,2000,0,0,12,10816,1,300000,0,1,0,8,0,0,0,1926.55,-1627.94,60.42,2.24, 'Mrs. Dalson''s Diary - After 2 seconds - Summon Wandering Skeleton'), +-- Outhouse for Locked Away +(175925,1,1,0,20,0,100,0,5059,0,0,0,80,17592500,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Outhouse - On quest "Locked Away" Rewarded - call script'), +(17592500,9,0,0, 1,0,100,0,2000,2000,0,0,12,10836,1,300000,0,1,0,8,0,0,0,1943.38,-1654.68,59.69,6.19, 'Outhouse - After 2 seconds - Summon Farmer Dalson'); diff --git a/sql/updates/world/2012_12_15_03_world_quest_end_scripts.sql b/sql/updates/world/2012_12_15_03_world_quest_end_scripts.sql new file mode 100644 index 00000000000..91838bda93d --- /dev/null +++ b/sql/updates/world/2012_12_15_03_world_quest_end_scripts.sql @@ -0,0 +1,8 @@ +DELETE FROM `quest_end_scripts` WHERE `id` IN (254,619,652,779,795,2946,2966,3364,5058,5059); +UPDATE `quest_template` SET `CompleteScript`=0 WHERE `Id`IN (254,619,652,779,795,2946,2966,3364,5058,5059); +DELETE FROM `db_script_string` WHERE `entry` IN (2000000045,2000000046); +DELETE FROM `smart_scripts` WHERE `entryorguid`=836 AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +-- Durnan Furcuttor for Scalding Mornbrew Delivery +(836,0,0,0,20,0,100,0,3364,0,0,0,80,83600,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Durnan Furcutter - On quest "Scalding Mornbrew Delivery" Rewarded - call script'); +-- corrected quest diff --git a/sql/updates/world/2012_12_16_00_world_creature_addon.sql b/sql/updates/world/2012_12_16_00_world_creature_addon.sql new file mode 100644 index 00000000000..a79bb407321 --- /dev/null +++ b/sql/updates/world/2012_12_16_00_world_creature_addon.sql @@ -0,0 +1,5 @@ +-- Vyragosa +UPDATE `creature_addon` SET `bytes1`=0x3000000 WHERE `guid` IN (SELECT `guid` FROM `creature` WHERE `id`=32630); +-- Chillmaw +UPDATE `creature_addon` SET `bytes1`=0x3000000,`bytes2`=0x1 WHERE `guid` IN (SELECT `guid` FROM `creature` WHERE `id`=33687); +DELETE FROM `creature_template_addon` WHERE `entry`=33687; diff --git a/sql/updates/world/2012_12_16_01_world_npc_vendor.sql b/sql/updates/world/2012_12_16_01_world_npc_vendor.sql new file mode 100644 index 00000000000..0e5ed38c88d --- /dev/null +++ b/sql/updates/world/2012_12_16_01_world_npc_vendor.sql @@ -0,0 +1,10 @@ +-- Red Rider Air Rifle +DELETE FROM `npc_vendor` WHERE `entry` IN (29478,29716) AND `item`=46725; +INSERT INTO `npc_vendor` (`entry`, `slot`, `item`, `maxcount`, `incrtime`, `ExtendedCost`) VALUES +(29478,0,46725,0,0,0), -- Jepetto Joybuzz <Toymaker> +(29716,0,46725,0,0,0); -- Clockwork Assistant <Jepetto's Companion> + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=23 AND `SourceEntry`=46725; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorType`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(23,29478,46725,0,0,12,0,2,0,0,0,0,0,'','Rotes Erbsengewehr / Jepetto Joybuzz <Toymaker> - only for Winter Veil'), +(23,29716,46725,0,0,12,0,2,0,0,0,0,0,'','Rotes Erbsengewehr / Clockwork Assistant <Jepetto''s Companion> - only for Winter Veil'); diff --git a/sql/updates/world/2012_12_16_02_world_creature_text.sql b/sql/updates/world/2012_12_16_02_world_creature_text.sql new file mode 100644 index 00000000000..f2d605469f8 --- /dev/null +++ b/sql/updates/world/2012_12_16_02_world_creature_text.sql @@ -0,0 +1,186 @@ +DELETE FROM `creature_text` WHERE `entry`=35005; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES +-- Arelas Brightstar +(35005, 0, 0, 'Entering the arena, a paladin who is no stranger to the battlefield or tournament ground, the Grand Champion of the Argent Crusade, Eadric the Pure!', 14, 0, 100, 0, 0, 8574, 'Arelas Brightstar - SAY_EADRIC_INTRO'), +(35005, 1, 0, 'The next combatant is second to none in her passion for upholding the Light. I give you Argent Confessor Paletress!', 14, 0, 100, 0, 0, 8574, 'Arelas Brightstar - SAY_ARELAS_PALETRESS_INTRO'), +(35005, 2, 0, 'The Silver Covenant is pleased to present their contenders for this event, Highlord.', 14, 0, 100, 396, 0, 8574, 'Arelas Brightstar - SAY_ARELAS_GRAND_CHAMPIONS_INTRO_1'), +(35005, 3, 0, 'Coming out of the gate is Eressea Dawnsinger, skilled mage and Grand Champion of Silvermoon!', 12, 0, 100, 0, 0, 8573, 'Arelas Brightstar - SAY_ARELAS_GRAND_CHAMPIONS_INTRO_2'), +(35005, 4, 0, 'Entering the arena is the lean and dangerous Zul''tore, Grand Champion of Sen''jin!', 12, 0, 100, 0, 0, 8573, 'Arelas Brightstar - SAY_ARELAS_GRAND_CHAMPIONS_INTRO_2'), +(35005, 5, 0, 'Presenting the fierce Grand Champion of Orgrimmar, Mokra the Skullcrusher!', 12, 0, 100, 0, 0, 8573, 'Arelas Brightstar - SAY_ARELAS_GRAND_CHAMPIONS_INTRO_2'), +(35005, 6, 0, 'Representing the tenacity of the Forsaken, here is the Grand Champion of the Undercity, Deathstalker Visceri!', 12, 0, 100, 0, 0, 8573, 'Arelas Brightstar - SAY_ARELAS_GRAND_CHAMPIONS_INTRO_2'), +(35005, 7, 0, 'Tall in the saddle of his kodo, here is the venerable Runok Wildmane, Grand Champion of Thunder Bluff!', 12, 0, 100, 0, 0, 8573, 'Arelas Brightstar - SAY_ARELAS_GRAND_CHAMPIONS_INTRO_2'), +(35005, 8, 0, 'What''s that, up near the rafters?', 12, 0, 100, 25, 0, 0, 'Arelas Brightstar - SAY_ARELAS_KNIGHT_INTRO'); + +DELETE FROM `creature_text` WHERE `entry`=35004; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES +-- Jaeren Sunsworn +(35004, 0, 0, 'Entering the arena, a paladin who is no stranger to the battlefield or tournament ground, the Grand Champion of the Argent Crusade, Eadric the Pure!', 12, 0, 100, 0, 0, 8574, 'Jaeren Sunsworn - SAY_JAEREN_EADRIC_INTRO'), +(35004, 1, 0, 'The next combatant is second to none in her passion for upholding the Light. I give you Argent Confessor Paletress!', 14, 0, 100, 0, 0, 8574, 'Jaeren Sunsworn - SAY_JAEREN_PALETRESS_INTRO'), +(35004, 2, 0, 'The Sunreavers are proud to present their representatives in this trial by combat.', 14, 0, 100, 396, 0, 8574, 'Jaeren Sunsworn - SAY_JAEREN_GRAND_CHAMPIONS_INTRO_1'), +(35004, 3, 0, 'Coming out of the gate is Colosos, the towering Grand Champion of the Exodar!', 12, 0, 100, 0, 0, 8573, 'Jaeren Sunsworn - SAY_JAEREN_GRAND_CHAMPIONS_INTRO_2'), +(35004, 4, 0, 'Entering the arena is the Grand Champion of Darnassus, the skilled sentinel Jaelyne Evensong!', 12, 0, 100, 0, 0, 8573, 'Jaeren Sunsworn - SAY_JAEREN_GRAND_CHAMPIONS_INTRO_2'), +(35004, 5, 0, 'Here comes the small but deadly Ambrose Boltspark, Grand Champion of Gnomeregan!', 12, 0, 100, 0, 0, 8573, 'Jaeren Sunsworn - SAY_JAEREN_GRAND_CHAMPIONS_INTRO_2'), +(35004, 6, 0, 'Proud and strong, give a cheer for Marshal Jacob Alerius, the Grand Champion of Stormwind!', 12, 0, 100, 0, 0, 8573, 'Jaeren Sunsworn - SAY_JAEREN_GRAND_CHAMPIONS_INTRO_2'), +(35004, 7, 0, 'The might of the dwarves is represented today by the Grand Champion of Ironforge, Lana Stouthammer!', 12, 0, 100, 0, 0, 8573, 'Jaeren Sunsworn - SAY_JAEREN_GRAND_CHAMPIONS_INTRO_2'), +(35004, 8, 0, 'What''s that, up near the rafters?', 12, 0, 100, 25, 0, 0, 'Jaeren Sunsworn - SAY_JAEREN_KNIGHT_INTRO'); + +DELETE FROM `creature_text` WHERE `entry`=34996 AND `groupid` BETWEEN 50 AND 58; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES +-- Highlord Tirion Fordring +/* Grand Champions */ +(34996, 50, 0, 'Welcome, champions. Today, before the eyes of your leaders and peers, you will prove yourselves worthy combatants.', 14, 0, 100, 1, 0, 0, 'Highlord Tirion Fordring - SAY_TIRION_GRAND_CHAMPION_INTRO_1'), +(34996, 51, 0, 'You will first be facing three of the Grand Champions of the Tournament! These fierce contenders have beaten out all others to reach the pinnacle of skill in the joust.', 14, 0, 100, 0, 0, 0, 'Highlord Tirion Fordring - SAY_TIRION_GRAND_CHAMPION_INTRO_2'), +(34996, 52, 0, 'Begin!', 14, 0, 100, 0, 0, 8574, 'Highlord Tirion Fordring - SAY_TIRION_GRAND_CHAMPION_INTRO_3'), +/* Argent Confessor Paletress */ +(34996, 53, 0, 'Well fought! Your next challenge comes from the Crusade''s own ranks. You will be tested against their considerable prowess.', 14, 0, 100, 0, 0, 15882, 'Highlord Tirion Fordring - SAY_TIRION_PALETRESS_INTRO_1'), +(34996, 54, 0, 'You may begin!', 14, 0, 100, 22, 0, 8574, 'Highlord Tirion Fordring - SAY_TIRION_PALETRESS_INTRO_2'), +/* The Black Knight */ +(34996, 55, 0, 'Well done. You have proven yourself today-', 14, 0, 100, 0, 0, 0, 'Highlord Tirion Fordring - SAY_TIRION_KNIGHT_INTRO_2'), +(34996, 56, 0, 'What is the meaning of this?', 14, 0, 100, 0, 0, 0, 'Highlord Tirion Fordring - SAY_TIRION_KNIGHT_INTRO_2'), +(34996, 57, 0, 'My congratulations, champions. Through trials both planned and unexpected, you have triumphed.', 14, 0, 100, 0, 0, 15882, 'Highlord Tirion Fordring - SAY_TIRION_KNIGHT_OUTRO_1'), +(34996, 58, 0, 'Go now and rest; you''ve earned it.', 14, 0, 100, 0, 0, 0, 'Highlord Tirion Fordring - SAY_TIRION_KNIGHT_OUTRO_2'); + +DELETE FROM `creature_text` WHERE `entry`=34994; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES +-- Thrall +(34994, 0, 0, 'Fight well, Horde! Lok''tar Ogar!', 14, 0, 100, 22, 0, 0, 'Thrall - SAY_THRALL_GRAND_CHAMPIONS_INTRO'), +(34994, 1, 0, 'Well done, Horde!', 14, 0, 100, 66, 0, 0, 'Thrall - SAY_THRALL_KNIGHT_OUTRO'), +(34994, 2, 0, 'Garrosh, enough.', 12, 0, 100, 396, 0, 0, 'Thrall'); + +DELETE FROM `creature_text` WHERE `entry`=34990 AND `groupid` BETWEEN 50 AND 53; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES +-- King Varian Wrynn +(34990, 50, 0, 'I have no taste for these games, Tirion. Still... I trust they will perform admirably.', 12, 0, 100, 1, 0, 0, 'King Varian Wrynn'), +(34990, 51, 0, 'Don''t just stand there; kill him!', 14, 0, 100, 22, 0, 0, 'King Varian Wrynn'), +(34990, 52, 0, 'I did not come here to watch animals tear at each other senselessly, Tirion.', 12, 0, 100, 1, 0, 0, 'King Varian Wrynn'), +(34990, 53, 0, 'You fought well.', 14, 0, 100, 66, 0, 0, 'King Varian Wrynn - SAY_KNIGHT_OUTRO'); + +DELETE FROM `creature_text` WHERE `entry`=34995 AND `groupid` BETWEEN 50 AND 52; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES +-- Garrosh Hellscream +(34995, 50, 0, 'Finally, a fight worth watching.', 12, 0, 100, 396, 0, 0, 'Garrosh Hellscream - SAY_GARROSH_GRAND_CHAMPIONS_INTRO'), +(34995, 51, 0, 'Tear him apart!', 14, 0, 100, 22, 0, 0, 'Garrosh Hellscream'), +(34995, 52, 0, 'Admirably? Hah! I will enjoy watching your weak little champions fail, human.', 14, 0, 100, 22, 0, 0, 'Garrosh Hellscream'); + +DELETE FROM `creature_text` WHERE `entry` IN (35572,35569,35571,35570,35617,34705,34701,34703,34702,34657); +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES +-- Grand Champions +/* Horde */ +(35572, 0, 0, '$n is trampled!', 16, 0, 100, 0, 0, 0, 'Mokra the Skullcrusher - SAY_TRAMPLED'), +(35569, 0, 0, '$n is trampled!', 16, 0, 100, 0, 0, 0, 'Eressea Dawnsinger - SAY_TRAMPLED'), +(35571, 0, 0, '$n is trampled!', 16, 0, 100, 0, 0, 0, 'Runok Wildmane - SAY_TRAMPLED'), +(35570, 0, 0, '$n is trampled!', 16, 0, 100, 0, 0, 0, 'Zul''tore - SAY_TRAMPLED'), +(35617, 0, 0, '$n is trampled!', 16, 0, 100, 0, 0, 0, 'Deathstalker Visceri - SAY_TRAMPLED'), +/* Alliance */ +(34705, 0, 0, '$n is trampled!', 16, 0, 100, 0, 0, 0, 'Marshal Jacob Alerius - SAY_TRAMPLED'), +(34701, 0, 0, '$n is trampled!', 16, 0, 100, 0, 0, 0, 'Colosos - SAY_TRAMPLED'), +(34703, 0, 0, '$n is trampled!', 16, 0, 100, 0, 0, 0, 'Lana Stouthammer - SAY_TRAMPLED'), +(34702, 0, 0, '$n is trampled!', 16, 0, 100, 0, 0, 0, 'Ambrose Boltspark - SAY_TRAMPLED'), +(34657, 0, 0, '$n is trampled!', 16, 0, 100, 0, 0, 0, 'Jaelyne Evensong - SAY_TRAMPLED'); + +DELETE FROM `creature_text` WHERE `entry` IN (34883,34887,34904,34903,34902,34901,34905,34906,34910,34900,34909,34908); +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES +-- [ph] Argent Raid Spectator - FX - Horde +(34883, 0, 0, 'The Horde spectators cheer for $n.', 16, 0, 100, 71, 0, 8574, '[ph] Argent Raid Spectator - FX - Horde - SAY_SPECTATOR_PALETRESS_INTRO'), +-- [ph] Argent Raid Spectator - FX - Alliance +(34887, 0, 0, 'The Alliance spectators cheer for $n.', 16, 0, 100, 71, 0, 8574, '[ph] Argent Raid Spectator - FX - Alliance - SAY_SPECTATOR_PALETRESS_INTRO'), +-- [ph] Argent Raid Spectator - FX - Blood Elf +(34904, 0, 0, 'The blood elves of Silvermoon cheer for $n.', 16, 0, 100, 0, 0, 8573, '[ph] Argent Raid Spectator - FX - Blood Elf SAY_PALETRESS_INTRO_1 - SAY_CHEER'), +-- [ph] Argent Raid Spectator - FX - Tauren +(34903, 0, 0, 'The tauren of Thunder Bluff cheer for $n.', 16, 0, 100, 0, 0, 8573, '[ph] Argent Raid Spectator - FX - Tauren - SAY_CHEER'), +-- [ph] Argent Raid Spectator - FX - Troll +(34902, 0, 0, 'The trolls of the Sen''jin Village begin a chant to celebrate $n.', 16, 0, 100, 0, 0, 8573, '[ph] Argent Raid Spectator - FX - Troll - SAY_CHEER'), +-- [ph] Argent Raid Spectator - FX - Orc +(34901, 0, 0, 'The orcs of Orgrimmar cheer for $n.', 16, 0, 100, 0, 0, 8573, '[ph] Argent Raid Spectator - FX - Orc - SAY_CHEER'), +-- [ph] Argent Raid Spectator - FX - Undead +(34905, 0, 0, 'The forsaken of the Undercity cheer for $n.', 16, 0, 100, 0, 0, 8573, '[ph] Argent Raid Spectator - FX - Undead - SAY_CHEER'), +-- [ph] Argent Raid Spectator - FX - Dwarf +(34906, 0, 0, 'The dwarves of Ironforge begin a cheer for $n.', 16, 0, 100, 0, 0, 8573, '[ph] Argent Raid Spectator - FX - Dwarf - SAY_CHEER'), +-- [ph] Argent Raid Spectator - FX - Gnome +(34910, 0, 0, 'The gnomes of Gnomeregan cheer for $n.', 16, 0, 100, 0, 0, 8573, '[ph] Argent Raid Spectator - FX - Gnome - SAY_CHEER'), +-- [ph] Argent Raid Spectator - FX - Human +(34900, 0, 0, 'The humans of Stormwind cheer for $n.', 16, 0, 100, 0, 0, 8573, '[ph] Argent Raid Spectator - FX - Human - SAY_CHEER'), +-- [ph] Argent Raid Spectator - FX - Night Elf +(34909, 0, 0, 'The night elves of Darnassus cheer for $n.', 16, 0, 100, 0, 0, 8573, '[ph] Argent Raid Spectator - FX - Night Elf - SAY_CHEER'), +-- [ph] Argent Raid Spectator - FX - Draenei +(34908, 0, 0, 'The draenei of the Exodar cheer for $n.', 16, 0, 100, 0, 0, 8573, '[ph] Argent Raid Spectator - FX - Draenei - SAY_CHEER'); + +DELETE FROM `creature_text` WHERE `entry` IN (35052,35041,35033,35046,35043,35047,35044,35039,35034,35049,35030,34942,35050,35042,35045,35037,35031,35038,35048,35029,35032,35028,35040,35036,35051); +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES +-- Memory of X +(35052, 0, 0, '%s begins to invoke the Waking Nightmare!', 41, 0, 100, 0, 0, 0, 'Memory of Algalon - EMOTE_WAKING_NIGHTMARE'), +(35041, 0, 0, '%s begins to invoke the Waking Nightmare!', 41, 0, 100, 0, 0, 0, 'Memory of Archimonde - EMOTE_WAKING_NIGHTMARE'), +(35033, 0, 0, '%s begins to invoke the Waking Nightmare!', 41, 0, 100, 0, 0, 0, 'Memory of Chromaggus - EMOTE_WAKING_NIGHTMARE'), +(35046, 0, 0, '%s begins to invoke the Waking Nightmare!', 41, 0, 100, 0, 0, 0, 'Memory of Cyanigosa - EMOTE_WAKING_NIGHTMARE'), +(35043, 0, 0, '%s begins to invoke the Waking Nightmare!', 41, 0, 100, 0, 0, 0, 'Memory of Delrissa - EMOTE_WAKING_NIGHTMARE'), +(35047, 0, 0, '%s begins to invoke the Waking Nightmare!', 41, 0, 100, 0, 0, 0, 'Memory of Eck - EMOTE_WAKING_NIGHTMARE'), +(35044, 0, 0, '%s begins to invoke the Waking Nightmare!', 41, 0, 100, 0, 0, 0, 'Memory of Entropius - EMOTE_WAKING_NIGHTMARE'), +(35039, 0, 0, '%s begins to invoke the Waking Nightmare!', 41, 0, 100, 0, 0, 0, 'Memory of Gruul - EMOTE_WAKING_NIGHTMARE'), +(35034, 0, 0, '%s begins to invoke the Waking Nightmare!', 41, 0, 100, 0, 0, 0, 'Memory of Hakkar - EMOTE_WAKING_NIGHTMARE'), +(35049, 0, 0, '%s begins to invoke the Waking Nightmare!', 41, 0, 100, 0, 0, 0, 'Memory of Heigan - EMOTE_WAKING_NIGHTMARE'), +(35030, 0, 0, '%s begins to invoke the Waking Nightmare!', 41, 0, 100, 0, 0, 0, 'Memory of Herod - EMOTE_WAKING_NIGHTMARE'), +(34942, 0, 0, '%s begins to invoke the Waking Nightmare!', 41, 0, 100, 0, 0, 0, 'Memory of Hogger - EMOTE_WAKING_NIGHTMARE'), +(35050, 0, 0, '%s begins to invoke the Waking Nightmare!', 41, 0, 100, 0, 0, 0, 'Memory of Ignis - EMOTE_WAKING_NIGHTMARE'), +(35042, 0, 0, '%s begins to invoke the Waking Nightmare!', 41, 0, 100, 0, 0, 0, 'Memory of Illidan - EMOTE_WAKING_NIGHTMARE'), +(35045, 0, 0, '%s begins to invoke the Waking Nightmare!', 41, 0, 100, 0, 0, 0, 'Memory of Ingvar - EMOTE_WAKING_NIGHTMARE'), +(35037, 0, 0, '%s begins to invoke the Waking Nightmare!', 41, 0, 100, 0, 0, 0, 'Memory of Kalithresh - EMOTE_WAKING_NIGHTMARE'), +(35031, 0, 0, '%s begins to invoke the Waking Nightmare!', 41, 0, 100, 0, 0, 0, 'Memory of Lucifron - EMOTE_WAKING_NIGHTMARE'), +(35038, 0, 0, '%s begins to invoke the Waking Nightmare!', 41, 0, 100, 0, 0, 0, 'Memory of Malchezaar - EMOTE_WAKING_NIGHTMARE'), +(35048, 0, 0, '%s begins to invoke the Waking Nightmare!', 41, 0, 100, 0, 0, 0, 'Memory of Onyxia - EMOTE_WAKING_NIGHTMARE'), +(35029, 0, 0, '%s begins to invoke the Waking Nightmare!', 41, 0, 100, 0, 0, 0, 'Memory of Mutanus - EMOTE_WAKING_NIGHTMARE'), +(35032, 0, 0, '%s begins to invoke the Waking Nightmare!', 41, 0, 100, 0, 0, 0, 'Memory of Thunderaan - EMOTE_WAKING_NIGHTMARE'), +(35028, 0, 0, '%s begins to invoke the Waking Nightmare!', 41, 0, 100, 0, 0, 0, 'Memory of VanCleef - EMOTE_WAKING_NIGHTMARE'), +(35040, 0, 0, '%s begins to invoke the Waking Nightmare!', 41, 0, 100, 0, 0, 0, 'Memory of Vashj - EMOTE_WAKING_NIGHTMARE'), +(35036, 0, 0, '%s begins to invoke the Waking Nightmare!', 41, 0, 100, 0, 0, 0, 'Memory of Vek''nilash - EMOTE_WAKING_NIGHTMARE'), +(35051, 0, 0, '%s begins to invoke the Waking Nightmare!', 41, 0, 100, 0, 0, 0, 'Memory of Vezax - EMOTE_WAKING_NIGHTMARE'); + +DELETE FROM `creature_text` WHERE `entry`=35564; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES +-- Risen Arelas Brightstar +(35564, 0, 0, 'What a Brains shot!', 12, 36, 100, 0, 0, 0, 'Risen Arelas Brightstar'), +(35564, 1, 0, 'Somone stop that ghoul!', 12, 36, 100, 0, 0, 0, 'Risen Arelas Brightstar'), +(35564, 2, 0, 'That had to hurt! Brains!', 12, 36, 100, 0, 0, 0, 'Risen Arelas Brightstar'); + +DELETE FROM `creature_text` WHERE `entry`=35545; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES +-- Risen Jaeren Sunsworn +(35545, 0, 0, 'What a Brains shot!', 12, 36, 100, 0, 0, 0, 'Risen Jaeren Sunsworn'), +(35545, 1, 0, 'Somone stop that ghoul!', 12, 36, 100, 0, 0, 0, 'Risen Jaeren Sunsworn'), +(35545, 2, 0, 'That had to hurt! Brains!', 12, 36, 100, 0, 0, 0, 'Risen Jaeren Sunsworn'); + +DELETE FROM `creature_text` WHERE `entry`=34928; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES +-- Argent Confessor Paletress +(34928, 0, 0, 'Thank you, good herald. Your words are too kind.', 12, 0, 100, 2, 0, 16245, 'Argent Confessor Paletress - SAY_INTRO_1'), +(34928, 1, 0, 'May the Light give me strength to provide a worthy challenge.', 12, 0, 100, 16, 0, 16246, 'Argent Confessor Paletress - SAY_INTRO_2'), +(34928, 2, 0, 'Well, then. Let us begin.', 14, 0, 100, 0, 0, 16247, 'Argent Confessor Paletress - SAY_AGGRO'), +(34928, 3, 0, 'Take this time to consider your past deeds.', 14, 0, 100, 0, 0, 16248, 'Argent Confessor Paletress - SAY_MEMORY_SUMMON'), +(34928, 4, 0, 'Even the darkest memory fades when confronted!', 14, 0, 100, 0, 0, 16249, 'Argent Confessor Paletress - SAY_MEMORY_DEATH'), +(34928, 5, 0, 'Take your rest.', 14, 0, 100, 0, 0, 16250, 'Argent Confessor Paletress - SAY_KILL_PLAYER'), +(34928, 5, 1, 'Be at ease.', 14, 0, 100, 0, 0, 16251, 'Argent Confessor Paletress - SAY_KILL_PLAYER'), +(34928, 6, 0, 'Excellent work!', 14, 0, 100, 0, 0, 16252, 'Argent Confessor Paletress - SAY_DEFEATED'); + +DELETE FROM `creature_text` WHERE `entry`=35119; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES +-- Eadric the Pure +(35119, 0, 0, 'Are you up to the challenge? I will not hold back.', 12, 0, 100, 397, 0, 16134, 'Eadric the Pure - SAY_INTRO'), +(35119, 1, 0, 'Prepare yourselves!', 14, 0, 100, 0, 0, 16135, 'Eadric the Pure - SAY_AGGRO'), +(35119, 2, 0, '%s begins to radiate light. Shield your eyes!', 41, 0, 100, 0, 0, 0, 'Eadric the Pure - EMOTE_RADIANCE'), +(35119, 3, 0, '%s targets $n with the Hammer of the Righteous!', 41, 0, 100, 0, 0, 16136, 'Eadric the Pure - EMOTE_HAMMER_RIGHTEOUS'), +(35119, 4, 0, 'Hammer of the Righteous!', 14, 0, 100, 0, 0, 16136, 'Eadric the Pure - SAY_HAMMER_RIGHTEOUS'), +(35119, 5, 0, 'You... You need more practice.', 14, 0, 100, 0, 0, 16137, 'Eadric the Pure - SAY_KILL_PLAYER'), +(35119, 5, 1, 'Nay! Nay! And I say yet again nay! Not good enough!', 14, 0, 100, 0, 0, 16138, 'Eadric the Pure - SAY_KILL_PLAYER'), +(35119, 6, 0, 'I yield! I submit. Excellent work. May I run away now?', 14, 0, 100, 0, 0, 16139, 'Eadric the Pure - SAY_DEFEATED'); + +DELETE FROM `creature_text` WHERE `entry`=35451; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES +-- The Black Knight +(35451, 0, 0, 'You spoiled my grand entrance, rat.', 12, 0, 100, 0, 0, 16256, 'The Black Knight - SAY_INTRO_1'), +(35451, 1, 0, 'Did you honestly think an agent of the Lich King would be bested on the field of your pathetic little tournament?', 12, 0, 100, 396, 0, 16257, 'The Black Knight - SAY_INTRO_2'), +(35451, 2, 0, 'I''ve come to finish my task.', 12, 0, 100, 396, 0, 16258, 'The Black Knight - SAY_INTRO_3'), +(35451, 3, 0, 'This farce ends here!', 14, 0, 100, 0, 0, 16259, 'The Black Knight - SAY_AGGRO'), +(35451, 4, 0, 'My rotting flesh was just getting in the way!', 14, 0, 100, 0, 0, 16262, 'The Black Knight - SAY_PHASE_2'), +(35451, 5, 0, 'I have no need for bones to best you!', 14, 0, 100, 0, 0, 16263, 'The Black Knight - SAY_PHASE_3'), +(35451, 6, 0, 'Pathetic.', 14, 0, 100, 0, 0, 16260, 'The Black Knight - SAY_KILL_PLAYER'), +(35451, 6, 1, 'A waste of flesh.', 14, 0, 100, 0, 0, 16261, 'The Black Knight - SAY_KILL_PLAYER'), +(35451, 7, 0, 'No! I must not fail... again...', 14, 0, 100, 0, 0, 16264, 'The Black Knight - SAY_DEATH'); diff --git a/sql/updates/world/2012_12_16_03_world_sai.sql b/sql/updates/world/2012_12_16_03_world_sai.sql new file mode 100644 index 00000000000..e92d5648f0b --- /dev/null +++ b/sql/updates/world/2012_12_16_03_world_sai.sql @@ -0,0 +1,34 @@ +SET @NPC_KC := 28713; +SET @NPC_SOUL_FONT_BUNNY := 28724; +SET @NPC_QUTEZLUN_WORSHIPPER := 28747; +SET @NPC_SERPENTTOUCHED_BERSERKER := 28748; +SET @SPELL_SOUL_FONT_VOID := 52222; +SET @SPELL_SOUL_FONT_VOID_CHANNEL := 52242; + +DELETE FROM `smart_scripts` WHERE `entryorguid`=@NPC_QUTEZLUN_WORSHIPPER AND `source_type`=0 AND `id` IN (2,3,4,5,6); +DELETE FROM `smart_scripts` WHERE `entryorguid`=@NPC_SERPENTTOUCHED_BERSERKER AND `source_type`=0 AND `id` IN (1,2,3,4,5); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@NPC_QUTEZLUN_WORSHIPPER*100,@NPC_SERPENTTOUCHED_BERSERKER*100) AND `source_type`=9; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@NPC_QUTEZLUN_WORSHIPPER,0,2,3,4,0,100,0,0,0,0,0,42,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Quetz''lun Worshipper - On aggro - Set invincibility 1 HP'), +(@NPC_QUTEZLUN_WORSHIPPER,0,3,0,61,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Quetz''lun Worshipper - On aggro - Set event phase 1'), +(@NPC_QUTEZLUN_WORSHIPPER,0,4,5,2,1,100,1,0,0.1,0,0,11,@SPELL_SOUL_FONT_VOID_CHANNEL,0,0,0,0,0,19,@NPC_SOUL_FONT_BUNNY,15,0,0,0,0,0,'Quetz''lun Worshipper - On health below 0.1% (phase 1) - Spellcast Soul Font Void Channel'), +(@NPC_QUTEZLUN_WORSHIPPER,0,5,0,61,0,100,0,0,0,0,0,80,@NPC_QUTEZLUN_WORSHIPPER*100,2,0,0,0,0,1,0,0,0,0,0,0,0,'Quetz''lun Worshipper - On health below 0.1% (phase 1) - Run script'), +(@NPC_QUTEZLUN_WORSHIPPER,0,6,0,6,0,100,0,0,0,0,0,33,@NPC_KC,0,0,0,0,0,16,0,0,0,0,0,0,0,'Quetz''lun Worshipper - On death - Quest credit'), +(@NPC_SERPENTTOUCHED_BERSERKER,0,1,2,4,0,100,0,0,0,0,0,42,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Serpent-Touched Berserker - On aggro - Set invincibility 1 HP'), +(@NPC_SERPENTTOUCHED_BERSERKER,0,2,0,61,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Serpent-Touched Berserker - On aggro - Set event phase 1'), +(@NPC_SERPENTTOUCHED_BERSERKER,0,3,4,2,1,100,1,0,0.1,0,0,11,@SPELL_SOUL_FONT_VOID_CHANNEL,0,0,0,0,0,19,@NPC_SOUL_FONT_BUNNY,15,0,0,0,0,0,'Serpent-Touched Berserker - On health below 0.1% (phase 1) - Spellcast Soul Font Void Channel'), +(@NPC_SERPENTTOUCHED_BERSERKER,0,4,0,61,0,100,0,0,0,0,0,80,@NPC_SERPENTTOUCHED_BERSERKER*100,2,0,0,0,0,1,0,0,0,0,0,0,0,'Serpent-Touched Berserker - On health below 0.1% (phase 1) - Run script'), +(@NPC_SERPENTTOUCHED_BERSERKER,0,5,0,6,0,100,0,0,0,0,0,33,@NPC_KC,0,0,0,0,0,16,0,0,0,0,0,0,0,'Serpent-Touched Berserker - On death - Quest credit'), + +(@NPC_QUTEZLUN_WORSHIPPER*100,9,0,0,0,0,100,0,100,100,0,0,37,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Quetz''lun Worshipper script - Die'), +(@NPC_SERPENTTOUCHED_BERSERKER*100,9,0,0,0,0,100,0,100,100,0,0,37,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Serpent-Touched Berserker script - Die'); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=@SPELL_SOUL_FONT_VOID_CHANNEL; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry`=@NPC_QUTEZLUN_WORSHIPPER; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry`=@NPC_SERPENTTOUCHED_BERSERKER; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(13,1,@SPELL_SOUL_FONT_VOID_CHANNEL,0,0,31,0,3,@NPC_SOUL_FONT_BUNNY,0,0,0,'','Spell Soul Font Void Channel targets Soul Font Bunny'), +(22,3,@NPC_QUTEZLUN_WORSHIPPER,0,0,9,0,12668,0,0,0,0,'','SAI Quetz''lun Worshipper set invincibility if player has taken quest 12668'), +(22,7,@NPC_QUTEZLUN_WORSHIPPER,0,0,1,1,@SPELL_SOUL_FONT_VOID,0,0,0,0,'','SAI Quetz''lun Worshipper quest credit if aura 52222 applied'), +(22,2,@NPC_SERPENTTOUCHED_BERSERKER,0,0,9,0,12668,0,0,0,0,'','SAI Serpent-touched Berserker set invincibility if player has taken quest 12668'), +(22,6,@NPC_SERPENTTOUCHED_BERSERKER,0,0,1,1,@SPELL_SOUL_FONT_VOID,0,0,0,0,'','SAI Serpent-touched Berserker triggers if aura 52222 applied'); diff --git a/src/server/game/AI/CoreAI/PetAI.cpp b/src/server/game/AI/CoreAI/PetAI.cpp index b7fa3940a20..9b0123ed824 100644 --- a/src/server/game/AI/CoreAI/PetAI.cpp +++ b/src/server/game/AI/CoreAI/PetAI.cpp @@ -182,7 +182,8 @@ void PetAI::UpdateAI(const uint32 diff) spellUsed = true; } } - + if (spellInfo->HasEffect(SPELL_EFFECT_JUMP_DEST)) + continue; //pets must jump only to target // No enemy, check friendly if (!spellUsed) { @@ -578,11 +579,19 @@ void PetAI::ReceiveEmote(Player* player, uint32 emote) { case TEXT_EMOTE_COWER: if (me->isPet() && me->ToPet()->IsPetGhoul()) - me->HandleEmoteCommand(EMOTE_ONESHOT_ROAR); + me->HandleEmoteCommand(/*EMOTE_ONESHOT_ROAR*/EMOTE_ONESHOT_OMNICAST_GHOUL); break; case TEXT_EMOTE_ANGRY: if (me->isPet() && me->ToPet()->IsPetGhoul()) - me->HandleEmoteCommand(EMOTE_ONESHOT_COWER); + me->HandleEmoteCommand(/*EMOTE_ONESHOT_COWER*/EMOTE_STATE_STUN); + break; + case TEXT_EMOTE_GLARE: + if (me->isPet() && me->ToPet()->IsPetGhoul()) + me->HandleEmoteCommand(EMOTE_STATE_STUN); + break; + case TEXT_EMOTE_SOOTHE: + if (me->isPet() && me->ToPet()->IsPetGhoul()) + me->HandleEmoteCommand(EMOTE_ONESHOT_OMNICAST_GHOUL); break; } } diff --git a/src/server/game/AI/CoreAI/UnitAI.h b/src/server/game/AI/CoreAI/UnitAI.h index 2eab0e89fcd..8b31bb5c54d 100644 --- a/src/server/game/AI/CoreAI/UnitAI.h +++ b/src/server/game/AI/CoreAI/UnitAI.h @@ -29,17 +29,6 @@ class Quest; class Unit; struct AISpellInfoType; -// Default script texts -enum GeneralScriptTexts -{ - DEFAULT_TEXT = -1000000, - EMOTE_GENERIC_FRENZY_KILL = -1000001, - EMOTE_GENERIC_FRENZY = -1000002, - EMOTE_GENERIC_ENRAGED = -1000003, - EMOTE_GENERIC_BERSERK = -1000004, - EMOTE_GENERIC_BERSERK_RAID = -1000005 // RaidBossEmote version of the previous one -}; - //Selection method used by SelectTarget enum SelectAggroTarget { diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 4600caa63e3..b28295d47ef 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -411,6 +411,16 @@ bool Creature::UpdateEntry(uint32 Entry, uint32 team, const CreatureData* data) SetPvP(false); } + // updates spell bars for vehicles and set player's faction - should be called here, to overwrite faction that is set from the new template + if (IsVehicle()) + { + if (Player* owner = Creature::GetCharmerOrOwnerPlayerOrPlayerItself()) // this check comes in case we don't have a player + { + setFaction(owner->getFaction()); // vehicles should have same as owner faction + owner->VehicleSpellInitialize(); + } + } + // trigger creature is always not selectable and can not be attacked if (isTrigger()) SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index cf573ec8c5a..a3f760921af 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -12688,7 +12688,7 @@ void Player::DestroyItem(uint8 bag, uint8 slot, bool update) } } -void Player::DestroyItemCount(uint32 item, uint32 count, bool update, bool unequip_check) +void Player::DestroyItemCount(uint32 itemEntry, uint32 count, bool update, bool unequip_check) { sLog->outDebug(LOG_FILTER_PLAYER_ITEMS, "STORAGE: DestroyItemCount item = %u, count = %u", item, count); uint32 remcount = 0; @@ -12696,14 +12696,14 @@ void Player::DestroyItemCount(uint32 item, uint32 count, bool update, bool unequ // in inventory for (uint8 i = INVENTORY_SLOT_ITEM_START; i < INVENTORY_SLOT_ITEM_END; ++i) { - if (Item* pItem = GetItemByPos(INVENTORY_SLOT_BAG_0, i)) + if (Item* item = GetItemByPos(INVENTORY_SLOT_BAG_0, i)) { - if (pItem->GetEntry() == item && !pItem->IsInTrade()) + if (item->GetEntry() == itemEntry && !item->IsInTrade()) { - if (pItem->GetCount() + remcount <= count) + if (item->GetCount() + remcount <= count) { // all items in inventory can unequipped - remcount += pItem->GetCount(); + remcount += item->GetCount(); DestroyItem(INVENTORY_SLOT_BAG_0, i, update); if (remcount >= count) @@ -12711,11 +12711,11 @@ void Player::DestroyItemCount(uint32 item, uint32 count, bool update, bool unequ } else { - ItemRemovedQuestCheck(pItem->GetEntry(), count - remcount); - pItem->SetCount(pItem->GetCount() - count + remcount); + ItemRemovedQuestCheck(item->GetEntry(), count - remcount); + item->SetCount(item->GetCount() - count + remcount); if (IsInWorld() && update) - pItem->SendUpdateToPlayer(this); - pItem->SetState(ITEM_CHANGED, this); + item->SendUpdateToPlayer(this); + item->SetState(ITEM_CHANGED, this); return; } } @@ -12724,14 +12724,14 @@ void Player::DestroyItemCount(uint32 item, uint32 count, bool update, bool unequ for (uint8 i = KEYRING_SLOT_START; i < CURRENCYTOKEN_SLOT_END; ++i) { - if (Item* pItem = GetItemByPos(INVENTORY_SLOT_BAG_0, i)) + if (Item* item = GetItemByPos(INVENTORY_SLOT_BAG_0, i)) { - if (pItem->GetEntry() == item && !pItem->IsInTrade()) + if (item->GetEntry() == itemEntry && !item->IsInTrade()) { - if (pItem->GetCount() + remcount <= count) + if (item->GetCount() + remcount <= count) { // all keys can be unequipped - remcount += pItem->GetCount(); + remcount += item->GetCount(); DestroyItem(INVENTORY_SLOT_BAG_0, i, update); if (remcount >= count) @@ -12739,11 +12739,11 @@ void Player::DestroyItemCount(uint32 item, uint32 count, bool update, bool unequ } else { - ItemRemovedQuestCheck(pItem->GetEntry(), count - remcount); - pItem->SetCount(pItem->GetCount() - count + remcount); + ItemRemovedQuestCheck(item->GetEntry(), count - remcount); + item->SetCount(item->GetCount() - count + remcount); if (IsInWorld() && update) - pItem->SendUpdateToPlayer(this); - pItem->SetState(ITEM_CHANGED, this); + item->SendUpdateToPlayer(this); + item->SetState(ITEM_CHANGED, this); return; } } @@ -12753,18 +12753,18 @@ void Player::DestroyItemCount(uint32 item, uint32 count, bool update, bool unequ // in inventory bags for (uint8 i = INVENTORY_SLOT_BAG_START; i < INVENTORY_SLOT_BAG_END; i++) { - if (Bag* pBag = GetBagByPos(i)) + if (Bag* bag = GetBagByPos(i)) { - for (uint32 j = 0; j < pBag->GetBagSize(); j++) + for (uint32 j = 0; j < bag->GetBagSize(); j++) { - if (Item* pItem = pBag->GetItemByPos(j)) + if (Item* item = bag->GetItemByPos(j)) { - if (pItem->GetEntry() == item && !pItem->IsInTrade()) + if (item->GetEntry() == itemEntry && !item->IsInTrade()) { // all items in bags can be unequipped - if (pItem->GetCount() + remcount <= count) + if (item->GetCount() + remcount <= count) { - remcount += pItem->GetCount(); + remcount += item->GetCount(); DestroyItem(i, j, update); if (remcount >= count) @@ -12772,11 +12772,11 @@ void Player::DestroyItemCount(uint32 item, uint32 count, bool update, bool unequ } else { - ItemRemovedQuestCheck(pItem->GetEntry(), count - remcount); - pItem->SetCount(pItem->GetCount() - count + remcount); + ItemRemovedQuestCheck(item->GetEntry(), count - remcount); + item->SetCount(item->GetCount() - count + remcount); if (IsInWorld() && update) - pItem->SendUpdateToPlayer(this); - pItem->SetState(ITEM_CHANGED, this); + item->SendUpdateToPlayer(this); + item->SetState(ITEM_CHANGED, this); return; } } @@ -12788,15 +12788,15 @@ void Player::DestroyItemCount(uint32 item, uint32 count, bool update, bool unequ // in equipment and bag list for (uint8 i = EQUIPMENT_SLOT_START; i < INVENTORY_SLOT_BAG_END; i++) { - if (Item* pItem = GetItemByPos(INVENTORY_SLOT_BAG_0, i)) + if (Item* item = GetItemByPos(INVENTORY_SLOT_BAG_0, i)) { - if (pItem && pItem->GetEntry() == item && !pItem->IsInTrade()) + if (item && item->GetEntry() == itemEntry && !item->IsInTrade()) { - if (pItem->GetCount() + remcount <= count) + if (item->GetCount() + remcount <= count) { if (!unequip_check || CanUnequipItem(INVENTORY_SLOT_BAG_0 << 8 | i, false) == EQUIP_ERR_OK) { - remcount += pItem->GetCount(); + remcount += item->GetCount(); DestroyItem(INVENTORY_SLOT_BAG_0, i, update); if (remcount >= count) @@ -12805,16 +12805,78 @@ void Player::DestroyItemCount(uint32 item, uint32 count, bool update, bool unequ } else { - ItemRemovedQuestCheck(pItem->GetEntry(), count - remcount); - pItem->SetCount(pItem->GetCount() - count + remcount); + ItemRemovedQuestCheck(item->GetEntry(), count - remcount); + item->SetCount(item->GetCount() - count + remcount); + if (IsInWorld() && update) + item->SendUpdateToPlayer(this); + item->SetState(ITEM_CHANGED, this); + return; + } + } + } + } + + // in bank + for (uint8 i = BANK_SLOT_ITEM_START; i < BANK_SLOT_ITEM_END; i++) + { + if (Item* item = GetItemByPos(INVENTORY_SLOT_BAG_0, i)) + { + if (item->GetEntry() == itemEntry && !item->IsInTrade()) + { + if (item->GetCount() + remcount <= count) + { + remcount += item->GetCount(); + DestroyItem(INVENTORY_SLOT_BAG_0, i, update); + if (remcount >= count) + return; + } + else + { + ItemRemovedQuestCheck(item->GetEntry(), count - remcount); + item->SetCount(item->GetCount() - count + remcount); if (IsInWorld() && update) - pItem->SendUpdateToPlayer(this); - pItem->SetState(ITEM_CHANGED, this); + item->SendUpdateToPlayer(this); + item->SetState(ITEM_CHANGED, this); return; } } } } + + // in bank bags + for (uint8 i = BANK_SLOT_BAG_START; i < BANK_SLOT_BAG_END; i++) + { + if (Bag* bag = GetBagByPos(i)) + { + for (uint32 j = 0; j < bag->GetBagSize(); j++) + { + if (Item* item = bag->GetItemByPos(j)) + { + if (item->GetEntry() == itemEntry && !item->IsInTrade()) + { + // all items in bags can be unequipped + if (item->GetCount() + remcount <= count) + { + remcount += item->GetCount(); + DestroyItem(i, j, update); + + if (remcount >= count) + return; + } + else + { + ItemRemovedQuestCheck(item->GetEntry(), count - remcount); + item->SetCount(item->GetCount() - count + remcount); + if (IsInWorld() && update) + item->SendUpdateToPlayer(this); + item->SetState(ITEM_CHANGED, this); + return; + } + } + } + } + } + } } void Player::DestroyZoneLimitedItem(bool update, uint32 new_zone) diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp index 6682d3c11e3..216eee949f6 100644 --- a/src/server/game/Scripting/ScriptMgr.cpp +++ b/src/server/game/Scripting/ScriptMgr.cpp @@ -160,83 +160,7 @@ class ScriptRegistry if (!V) \ return R; -void DoScriptText(int32 iTextEntry, WorldObject* pSource, Unit* target) -{ - if (!pSource) - { - sLog->outError(LOG_FILTER_TSCR, "DoScriptText entry %i, invalid Source pointer.", iTextEntry); - return; - } - - if (iTextEntry >= 0) - { - sLog->outError(LOG_FILTER_TSCR, "DoScriptText with source entry %u (TypeId=%u, guid=%u) attempts to process text entry %i, but text entry must be negative.", pSource->GetEntry(), pSource->GetTypeId(), pSource->GetGUIDLow(), iTextEntry); - return; - } - const StringTextData* pData = sScriptSystemMgr->GetTextData(iTextEntry); - - if (!pData) - { - sLog->outError(LOG_FILTER_TSCR, "DoScriptText with source entry %u (TypeId=%u, guid=%u) could not find text entry %i.", pSource->GetEntry(), pSource->GetTypeId(), pSource->GetGUIDLow(), iTextEntry); - return; - } - - sLog->outDebug(LOG_FILTER_TSCR, "DoScriptText: text entry=%i, Sound=%u, Type=%u, Language=%u, Emote=%u", iTextEntry, pData->uiSoundId, pData->uiType, pData->uiLanguage, pData->uiEmote); - - if (pData->uiSoundId) - { - if (sSoundEntriesStore.LookupEntry(pData->uiSoundId)) - pSource->SendPlaySound(pData->uiSoundId, false); - else - sLog->outError(LOG_FILTER_TSCR, "DoScriptText entry %i tried to process invalid sound id %u.", iTextEntry, pData->uiSoundId); - } - - if (pData->uiEmote) - { - if (pSource->GetTypeId() == TYPEID_UNIT || pSource->GetTypeId() == TYPEID_PLAYER) - ((Unit*)pSource)->HandleEmoteCommand(pData->uiEmote); - else - sLog->outError(LOG_FILTER_TSCR, "DoScriptText entry %i tried to process emote for invalid TypeId (%u).", iTextEntry, pSource->GetTypeId()); - } - - switch (pData->uiType) - { - case CHAT_TYPE_SAY: - pSource->MonsterSay(iTextEntry, pData->uiLanguage, target ? target->GetGUID() : 0); - break; - case CHAT_TYPE_YELL: - pSource->MonsterYell(iTextEntry, pData->uiLanguage, target ? target->GetGUID() : 0); - break; - case CHAT_TYPE_TEXT_EMOTE: - pSource->MonsterTextEmote(iTextEntry, target ? target->GetGUID() : 0); - break; - case CHAT_TYPE_BOSS_EMOTE: - pSource->MonsterTextEmote(iTextEntry, target ? target->GetGUID() : 0, true); - break; - case CHAT_TYPE_WHISPER: - { - if (target && target->GetTypeId() == TYPEID_PLAYER) - pSource->MonsterWhisper(iTextEntry, target->GetGUID()); - else - sLog->outError(LOG_FILTER_TSCR, "DoScriptText entry %i cannot whisper without target unit (TYPEID_PLAYER).", iTextEntry); - - break; - } - case CHAT_TYPE_BOSS_WHISPER: - { - if (target && target->GetTypeId() == TYPEID_PLAYER) - pSource->MonsterWhisper(iTextEntry, target->GetGUID(), true); - else - sLog->outError(LOG_FILTER_TSCR, "DoScriptText entry %i cannot whisper without target unit (TYPEID_PLAYER).", iTextEntry); - - break; - } - case CHAT_TYPE_ZONE_YELL: - pSource->MonsterYellToZone(iTextEntry, pData->uiLanguage, target ? target->GetGUID() : 0); - break; - } -} ScriptMgr::ScriptMgr() : _scriptCount(0), _scheduledScripts(0) @@ -299,8 +223,6 @@ void ScriptMgr::Unload() void ScriptMgr::LoadDatabase() { - sScriptSystemMgr->LoadScriptTexts(); - sScriptSystemMgr->LoadScriptTextsCustom(); sScriptSystemMgr->LoadScriptWaypoints(); } diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h index 947be2b73fe..df5af95ac30 100644 --- a/src/server/game/Scripting/ScriptMgr.h +++ b/src/server/game/Scripting/ScriptMgr.h @@ -69,8 +69,6 @@ struct OutdoorPvPData; #define VISIBLE_RANGE 166.0f //MAX visible range (size of grid) -// Generic scripting text function. -void DoScriptText(int32 textEntry, WorldObject* pSource, Unit* target = NULL); /* TODO: Add more script type classes. diff --git a/src/server/game/Scripting/ScriptSystem.cpp b/src/server/game/Scripting/ScriptSystem.cpp index 41b41b91808..ea1cf6b1994 100644 --- a/src/server/game/Scripting/ScriptSystem.cpp +++ b/src/server/game/Scripting/ScriptSystem.cpp @@ -23,128 +23,6 @@ ScriptPointVector const SystemMgr::_empty; -void SystemMgr::LoadScriptTexts() -{ - sLog->outInfo(LOG_FILTER_SERVER_LOADING, "Loading Script Texts..."); - LoadTrinityStrings("script_texts", TEXT_SOURCE_RANGE, 1+(TEXT_SOURCE_RANGE*2)); - - sLog->outInfo(LOG_FILTER_SERVER_LOADING, "Loading Script Texts additional data..."); - uint32 oldMSTime = getMSTime(); - - // 0 1 2 3 - QueryResult result = WorldDatabase.Query("SELECT entry, sound, type, language, emote FROM script_texts"); - - if (!result) - { - sLog->outInfo(LOG_FILTER_SERVER_LOADING, ">> Loaded 0 additional Script Texts data. DB table `script_texts` is empty."); - return; - } - - uint32 uiCount = 0; - - do - { - Field* pFields = result->Fetch(); - StringTextData temp; - - int32 iId = pFields[0].GetInt32(); - temp.uiSoundId = pFields[1].GetUInt32(); - temp.uiType = pFields[2].GetUInt8(); - temp.uiLanguage = pFields[3].GetUInt8(); - temp.uiEmote = pFields[4].GetUInt16(); - - if (iId >= 0) - { - sLog->outError(LOG_FILTER_SQL, "TSCR: Entry %i in table `script_texts` is not a negative value.", iId); - continue; - } - - if (iId > TEXT_SOURCE_RANGE || iId <= TEXT_SOURCE_RANGE*2) - { - sLog->outError(LOG_FILTER_SQL, "TSCR: Entry %i in table `script_texts` is out of accepted entry range for table.", iId); - continue; - } - - if (temp.uiSoundId) - { - if (!sSoundEntriesStore.LookupEntry(temp.uiSoundId)) - sLog->outError(LOG_FILTER_SQL, "TSCR: Entry %i in table `script_texts` has soundId %u but sound does not exist.", iId, temp.uiSoundId); - } - - if (!GetLanguageDescByID(temp.uiLanguage)) - sLog->outError(LOG_FILTER_SQL, "TSCR: Entry %i in table `script_texts` using Language %u but Language does not exist.", iId, temp.uiLanguage); - - if (temp.uiType > CHAT_TYPE_ZONE_YELL) - sLog->outError(LOG_FILTER_SQL, "TSCR: Entry %i in table `script_texts` has Type %u but this Chat Type does not exist.", iId, temp.uiType); - - m_mTextDataMap[iId] = temp; - ++uiCount; - } - while (result->NextRow()); - - sLog->outInfo(LOG_FILTER_SERVER_LOADING, ">> Loaded %u additional Script Texts data in %u ms", uiCount, GetMSTimeDiffToNow(oldMSTime)); -} - -void SystemMgr::LoadScriptTextsCustom() -{ - sLog->outInfo(LOG_FILTER_SERVER_LOADING, "Loading Custom Texts..."); - LoadTrinityStrings("custom_texts", TEXT_SOURCE_RANGE*2, 1+(TEXT_SOURCE_RANGE*3)); - - sLog->outInfo(LOG_FILTER_SERVER_LOADING, "Loading Custom Texts additional data..."); - - QueryResult result = WorldDatabase.Query("SELECT entry, sound, type, language, emote FROM custom_texts"); - - if (!result) - { - sLog->outInfo(LOG_FILTER_SERVER_LOADING, ">> Loaded 0 additional Custom Texts data. DB table `custom_texts` is empty."); - return; - } - - uint32 uiCount = 0; - - do - { - Field* pFields = result->Fetch(); - StringTextData temp; - - int32 iId = pFields[0].GetInt32(); - temp.uiSoundId = pFields[1].GetUInt32(); - temp.uiType = pFields[2].GetUInt8(); - temp.uiLanguage = pFields[3].GetUInt8(); - temp.uiEmote = pFields[4].GetUInt16(); - - if (iId >= 0) - { - sLog->outError(LOG_FILTER_SQL, "TSCR: Entry %i in table `custom_texts` is not a negative value.", iId); - continue; - } - - if (iId > TEXT_SOURCE_RANGE*2 || iId <= TEXT_SOURCE_RANGE*3) - { - sLog->outError(LOG_FILTER_SQL, "TSCR: Entry %i in table `custom_texts` is out of accepted entry range for table.", iId); - continue; - } - - if (temp.uiSoundId) - { - if (!sSoundEntriesStore.LookupEntry(temp.uiSoundId)) - sLog->outError(LOG_FILTER_SQL, "TSCR: Entry %i in table `custom_texts` has soundId %u but sound does not exist.", iId, temp.uiSoundId); - } - - if (!GetLanguageDescByID(temp.uiLanguage)) - sLog->outError(LOG_FILTER_SQL, "TSCR: Entry %i in table `custom_texts` using Language %u but Language does not exist.", iId, temp.uiLanguage); - - if (temp.uiType > CHAT_TYPE_ZONE_YELL) - sLog->outError(LOG_FILTER_SQL, "TSCR: Entry %i in table `custom_texts` has Type %u but this Chat Type does not exist.", iId, temp.uiType); - - m_mTextDataMap[iId] = temp; - ++uiCount; - } - while (result->NextRow()); - - sLog->outInfo(LOG_FILTER_SERVER_LOADING, ">> Loaded %u additional Custom Texts data.", uiCount); -} - void SystemMgr::LoadScriptWaypoints() { uint32 oldMSTime = getMSTime(); diff --git a/src/server/game/Scripting/ScriptSystem.h b/src/server/game/Scripting/ScriptSystem.h index 4211a63b043..cc65d493f3e 100644 --- a/src/server/game/Scripting/ScriptSystem.h +++ b/src/server/game/Scripting/ScriptSystem.h @@ -46,14 +46,6 @@ struct ScriptPointMove typedef std::vector<ScriptPointMove> ScriptPointVector; -struct StringTextData -{ - uint32 uiSoundId; - uint8 uiType; - uint32 uiLanguage; - uint32 uiEmote; -}; - class SystemMgr { friend class ACE_Singleton<SystemMgr, ACE_Null_Mutex>; @@ -61,26 +53,11 @@ class SystemMgr ~SystemMgr() {} public: - //Maps and lists - typedef UNORDERED_MAP<int32, StringTextData> TextDataMap; typedef UNORDERED_MAP<uint32, ScriptPointVector> PointMoveMap; //Database - void LoadScriptTexts(); - void LoadScriptTextsCustom(); void LoadScriptWaypoints(); - //Retrive from storage - StringTextData const* GetTextData(int32 textId) const - { - TextDataMap::const_iterator itr = m_mTextDataMap.find(textId); - - if (itr == m_mTextDataMap.end()) - return NULL; - - return &itr->second; - } - ScriptPointVector const& GetPointMoveList(uint32 creatureEntry) const { PointMoveMap::const_iterator itr = m_mPointMoveMap.find(creatureEntry); @@ -92,7 +69,6 @@ class SystemMgr } protected: - TextDataMap m_mTextDataMap; //additional data for text strings PointMoveMap m_mPointMoveMap; //coordinates for waypoints private: diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp index d77c84b2978..3c20acf34a6 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp @@ -27,10 +27,34 @@ EndScriptData */ #include "SpellScript.h" #include "trial_of_the_champion.h" #include "ScriptedEscortAI.h" - -enum eSpells +/* +enum Yells +{ + // Eadric the Pure + SAY_INTRO = 0, + SAY_AGGRO = 1, + EMOTE_RADIANCE = 2, + EMOTE_HAMMER_RIGHTEOUS = 3, + SAY_HAMMER_RIGHTEOUS = 4, + SAY_KILL_PLAYER = 5, + SAY_DEFEATED = 6, + + // Argent Confessor Paletress + SAY_INTRO_1 = 0, + SAY_INTRO_2 = 1, + SAY_AGGRO = 2, + SAY_MEMORY_SUMMON = 3, + SAY_MEMORY_DEATH = 4, + SAY_KILL_PLAYER = 5, + SAY_DEFEATED = 6, + + // Memory of X + EMOTE_WAKING_NIGHTMARE = 0 +}; +*/ +enum Spells { - //Eadric + // Eadric the Pure SPELL_EADRIC_ACHIEVEMENT = 68197, SPELL_HAMMER_JUSTICE = 66863, SPELL_HAMMER_RIGHTEOUS = 66867, diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp index c56d44ceb08..c1a2f9c07d2 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp @@ -27,7 +27,7 @@ EndScriptData */ #include "ScriptedEscortAI.h" #include "trial_of_the_champion.h" -enum eSpells +enum Spells { //phase 1 SPELL_PLAGUE_STRIKE = 67884, @@ -61,13 +61,13 @@ enum eSpells SPELL_KILL_CREDIT = 68663 }; -enum eModels +enum Models { MODEL_SKELETON = 29846, MODEL_GHOST = 21300 }; -enum ePhases +enum Phases { PHASE_UNDEAD = 1, PHASE_SKELETON = 2, diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.cpp index ffda3d12e2f..9c0b894bfa7 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.cpp @@ -33,6 +33,18 @@ EndContentData */ #include "Vehicle.h" #include "Player.h" +enum Yells +{ + SAY_INTRO_1 = 0, + SAY_INTRO_2 = 1, + SAY_INTRO_3 = 2, + SAY_AGGRO = 3, + SAY_PHASE_2 = 4, + SAY_PHASE_3 = 5, + SAY_KILL_PLAYER = 6, + SAY_DEATH = 7 +}; + #define GOSSIP_START_EVENT1 "I'm ready to start challenge." #define GOSSIP_START_EVENT2 "I'm ready for the next challenge." diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.h b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.h index cb3a43acdd0..6116a150334 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.h +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.h @@ -19,7 +19,7 @@ #ifndef DEF_TOC_H #define DEF_TOC_H -enum eData +enum Data { BOSS_GRAND_CHAMPIONS, BOSS_ARGENT_CHALLENGE_E, @@ -46,7 +46,7 @@ enum Data64 DATA_GRAND_CHAMPION_3 }; -enum eNpcs +enum CreatureIds { // Horde Champions NPC_MOKRA = 35572, @@ -78,7 +78,7 @@ enum eNpcs NPC_ARELAS = 35005 }; -enum eGameObjects +enum GameObjects { GO_MAIN_GATE = 195647, @@ -92,7 +92,7 @@ enum eGameObjects GO_PALETRESS_LOOT_H = 195324 }; -enum eVehicles +enum Vehicles { //Grand Champions Alliance Vehicles VEHICLE_MARSHAL_JACOB_ALERIUS_MOUNT = 35637, |