diff options
50 files changed, 2053 insertions, 996 deletions
diff --git a/sql/updates/world/2015_10_21_00_world.sql b/sql/updates/world/2015_10_21_00_world.sql new file mode 100644 index 00000000000..d751a6e65bc --- /dev/null +++ b/sql/updates/world/2015_10_21_00_world.sql @@ -0,0 +1,265 @@ +-- Onyxia Add WPs +SET @NPC := 52051; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-128.604,`position_y`=-135.78,`position_z`=-51.68033 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-128.604,-135.78,-51.68033,0,0,0,0,100,0), +(@PATH,2,-127.7581,-135.2467,-51.68033,0,0,0,0,100,0), +(@PATH,3,-124.1603,-132.1572,-51.38051,0,0,0,0,100,0), +(@PATH,4,-117.3008,-126.2667,-49.287,0,0,0,0,100,0), +(@PATH,5,-114.3034,-123.6929,-49.21809,0,0,0,0,100,0), +(@PATH,6,-110.7887,-120.6747,-48.59732,0,0,0,0,100,0), +(@PATH,7,-106.7952,-117.2454,-45.67963,0,0,0,0,100,0), +(@PATH,8,-103.1414,-114.1078,-42.60856,0,0,0,0,100,0), +(@PATH,9,-103.1414,-114.1078,-42.60856,0,0,0,0,100,0), +(@PATH,10,-102.9662,-113.9184,-42.13044,0,0,0,0,100,0), +(@PATH,11,-101.9662,-112.9184,-41.38044,0,0,0,0,100,0), +(@PATH,12,-97.21623,-108.9184,-39.38044,0,0,0,0,100,0), +(@PATH,13,-94.21623,-106.4184,-38.38044,0,0,0,0,100,0), +(@PATH,14,-91.96623,-104.4184,-38.38044,0,0,0,0,100,0), +(@PATH,15,-87.21623,-100.1684,-36.63044,0,0,0,0,100,0), +(@PATH,16,-86.88522,-99.955,-36.61054,0,0,0,0,100,0), +(@PATH,17,-86.13522,-99.705,-36.36054,0,0,0,0,100,0), +(@PATH,18,-82.63522,-99.205,-35.61054,0,0,0,0,100,0), +(@PATH,19,-80.88522,-99.205,-35.61054,0,0,0,0,100,0), +(@PATH,20,-78.38522,-98.955,-35.11054,0,0,0,0,100,0), +(@PATH,21,-73.38522,-98.455,-34.61054,0,0,0,0,100,0), +(@PATH,22,-73.4659,-98.32379,-34.65569,0,0,0,0,100,0), +(@PATH,23,-77.9659,-98.82379,-35.15569,0,0,0,0,100,0), +(@PATH,24,-80.9659,-98.82379,-35.65569,0,0,0,0,100,0), +(@PATH,25,-82.7159,-99.07379,-35.65569,0,0,0,0,100,0), +(@PATH,26,-82.87637,-99.18207,-35.74073,0,0,0,0,100,0), +(@PATH,27,-86.12637,-99.68207,-36.49073,0,0,0,0,100,0), +(@PATH,28,-87.12637,-100.1821,-36.49073,0,0,0,0,100,0), +(@PATH,29,-91.87637,-104.4321,-38.24073,0,0,0,0,100,0), +(@PATH,30,-93.87637,-106.4321,-38.24073,0,0,0,0,100,0), +(@PATH,31,-96.87637,-108.6821,-39.24073,0,0,0,0,100,0), +(@PATH,32,-101.8764,-112.9321,-41.24073,0,0,0,0,100,0), +(@PATH,33,-102.2544,-113.366,-41.50324,0,0,0,0,100,0), +(@PATH,34,-103.2544,-114.116,-42.50324,0,0,0,0,100,0), +(@PATH,35,-106.7544,-117.366,-45.50324,0,0,0,0,100,0), +(@PATH,36,-110.7544,-120.616,-48.25324,0,0,0,0,100,0), +(@PATH,37,-114.2544,-123.616,-48.75324,0,0,0,0,100,0), +(@PATH,38,-117.0044,-126.116,-48.75324,0,0,0,0,100,0), +(@PATH,39,-123.5044,-131.616,-50.75324,0,0,0,0,100,0), +(@PATH,40,-127.0044,-134.616,-51.00324,0,0,0,0,100,0), +(@PATH,41,-127.2775,-134.812,-51.39043,0,0,0,0,100,0), +(@PATH,42,-127.7775,-135.312,-51.39043,0,0,0,0,100,0), +(@PATH,43,-129.0275,-136.062,-51.89043,0,0,0,0,100,0), +(@PATH,44,-135.7775,-140.312,-52.64043,0,0,0,0,100,0), +(@PATH,45,-136.7775,-141.062,-52.89043,0,0,0,0,100,0), +(@PATH,46,-144.7775,-145.812,-53.89043,0,0,0,0,100,0), +(@PATH,47,-147.2775,-147.562,-53.14043,0,0,0,0,100,0), +(@PATH,48,-147.5882,-147.6326,-53.39889,0,0,0,0,100,0), +(@PATH,49,-148.3382,-148.3826,-53.14889,0,0,0,0,100,0), +(@PATH,50,-150.5882,-150.6326,-53.14889,0,0,0,0,100,0), +(@PATH,51,-151.3382,-151.6326,-53.64889,0,0,0,0,100,0), +(@PATH,52,-156.5882,-157.6326,-56.39889,0,0,0,0,100,0), +(@PATH,53,-158.0882,-159.1326,-57.14889,0,0,0,0,100,0), +(@PATH,54,-162.8382,-164.6326,-58.64889,0,0,0,0,100,0), +(@PATH,55,-163.5882,-165.3826,-59.64889,0,0,0,0,100,0), +(@PATH,56,-166.3382,-168.3826,-61.14889,0,0,0,0,100,0), +(@PATH,57,-166.5622,-168.6543,-61.35694,0,0,0,0,100,0), +(@PATH,58,-163.5622,-165.4043,-59.60694,0,0,0,0,100,0), +(@PATH,59,-162.8122,-164.6543,-58.85694,0,0,0,0,100,0), +(@PATH,60,-158.3122,-159.4043,-57.10694,0,0,0,0,100,0), +(@PATH,61,-156.8122,-157.6543,-56.35694,0,0,0,0,100,0), +(@PATH,62,-151.8122,-152.1543,-54.10694,0,0,0,0,100,0), +(@PATH,63,-150.5622,-150.6543,-53.10694,0,0,0,0,100,0), +(@PATH,64,-148.4862,-148.2634,-52.81345,0,0,0,0,100,0), +(@PATH,65,-147.2362,-147.5134,-53.06345,0,0,0,0,100,0), +(@PATH,66,-144.7362,-146.0134,-53.81345,0,0,0,0,100,0), +(@PATH,67,-136.9862,-141.0134,-52.81345,0,0,0,0,100,0), +(@PATH,68,-135.9862,-140.2634,-52.56345,0,0,0,0,100,0), +(@PATH,69,-129.7362,-136.5134,-52.06345,0,0,0,0,100,0), +(@PATH,70,-129.596,-136.2151,-51.79766,0,0,0,0,100,0); + +SET @NPC := 52049; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-141.0218,`position_y`=-144.2874,`position_z`=-53.78587 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-141.0218,-144.2874,-53.78587,0,0,0,0,100,0), +(@PATH,2,-140.2045,-143.7111,-53.78587,0,0,0,0,100,0), +(@PATH,3,-136.8762,-141.0416,-53.2686,0,0,0,0,100,0), +(@PATH,4,-135.8708,-140.2352,-53.07284,0,0,0,0,100,0), +(@PATH,5,-130.4393,-135.8787,-52.2235,0,0,0,0,100,0), +(@PATH,6,-128.077,-133.984,-51.39751,0,0,0,0,100,0), +(@PATH,7,-126.1452,-132.4346,-51.30407,0,0,0,0,100,0), +(@PATH,8,-126.1452,-132.4346,-51.30407,0,0,0,0,100,0), +(@PATH,9,-127.6748,-133.5728,-51.29497,0,0,0,0,100,0), +(@PATH,10,-130.4248,-135.8228,-52.04497,0,0,0,0,100,0), +(@PATH,11,-135.6748,-140.0728,-52.54497,0,0,0,0,100,0), +(@PATH,12,-136.6748,-140.8228,-52.79497,0,0,0,0,100,0), +(@PATH,13,-140.2209,-143.5945,-53.65104,0,0,0,0,100,0), +(@PATH,14,-144.7209,-146.8445,-54.15104,0,0,0,0,100,0), +(@PATH,15,-147.2209,-148.5945,-53.40104,0,0,0,0,100,0), +(@PATH,16,-150.2209,-150.5945,-53.15104,0,0,0,0,100,0), +(@PATH,17,-150.9709,-151.3445,-53.65104,0,0,0,0,100,0), +(@PATH,18,-152.2209,-152.0945,-54.15104,0,0,0,0,100,0), +(@PATH,19,-157.7209,-155.8445,-56.40104,0,0,0,0,100,0), +(@PATH,20,-160.7863,-158.1388,-57.63475,0,0,0,0,100,0), +(@PATH,21,-162.7863,-162.1388,-58.63475,0,0,0,0,100,0), +(@PATH,22,-163.7863,-163.8888,-59.13475,0,0,0,0,100,0), +(@PATH,23,-166.0363,-168.6388,-61.13475,0,0,0,0,100,0), +(@PATH,24,-168.5363,-173.3888,-62.88475,0,0,0,0,100,0), +(@PATH,25,-170.4057,-176.7284,-64.06725,0,0,0,0,100,0), +(@PATH,26,-170.6557,-177.9784,-64.31725,0,0,0,0,100,0), +(@PATH,27,-171.1557,-178.9784,-64.81725,0,0,0,0,100,0), +(@PATH,28,-172.6557,-184.2284,-65.56725,0,0,0,0,100,0), +(@PATH,29,-175.3081,-192.9928,-66.43716,0,0,0,0,100,0), +(@PATH,30,-171.8081,-197.2428,-66.43716,0,0,0,0,100,0), +(@PATH,31,-168.8081,-201.2428,-66.18716,0,0,0,0,100,0), +(@PATH,32,-165.1812,-205.6809,-66.07635,0,0,0,0,100,0), +(@PATH,33,-160.4312,-207.9309,-66.07635,0,0,0,0,100,0), +(@PATH,34,-154.1812,-210.9309,-66.32635,0,0,0,0,100,0), +(@PATH,35,-154.1465,-210.945,-66.31016,0,0,0,0,100,0), +(@PATH,36,-160.3965,-207.945,-66.06016,0,0,0,0,100,0), +(@PATH,37,-165.1298,-205.5847,-66.08299,0,0,0,0,100,0), +(@PATH,38,-168.6298,-201.3347,-66.33299,0,0,0,0,100,0), +(@PATH,39,-171.8798,-197.3347,-66.58299,0,0,0,0,100,0), +(@PATH,40,-174.8798,-193.8347,-66.58299,0,0,0,0,100,0), +(@PATH,41,-174.8037,-193.4657,-66.47095,0,0,0,0,100,0), +(@PATH,42,-175.3037,-192.7157,-66.47095,0,0,0,0,100,0), +(@PATH,43,-172.5537,-184.4657,-65.47095,0,0,0,0,100,0), +(@PATH,44,-171.0537,-179.2157,-64.97095,0,0,0,0,100,0), +(@PATH,45,-170.8037,-177.9657,-64.22095,0,0,0,0,100,0), +(@PATH,46,-170.8405,-178.8178,-64.7157,0,0,0,0,100,0), +(@PATH,47,-170.5905,-177.8178,-63.9657,0,0,0,0,100,0), +(@PATH,48,-170.0905,-176.5678,-63.7157,0,0,0,0,100,0), +(@PATH,49,-168.3405,-173.3178,-62.9657,0,0,0,0,100,0), +(@PATH,50,-166.3405,-169.0678,-61.4657,0,0,0,0,100,0), +(@PATH,51,-164.0905,-164.5678,-59.7157,0,0,0,0,100,0), +(@PATH,52,-162.8405,-162.0678,-58.7157,0,0,0,0,100,0), +(@PATH,53,-160.623,-157.9054,-57.24116,0,0,0,0,100,0), +(@PATH,54,-157.623,-155.9054,-56.24116,0,0,0,0,100,0), +(@PATH,55,-152.123,-152.4054,-54.24116,0,0,0,0,100,0), +(@PATH,56,-151.373,-151.6554,-53.49116,0,0,0,0,100,0), +(@PATH,57,-150.373,-150.9054,-53.24116,0,0,0,0,100,0), +(@PATH,58,-147.373,-148.9054,-53.24116,0,0,0,0,100,0), +(@PATH,59,-144.623,-146.9054,-54.24116,0,0,0,0,100,0); + +SET @NPC := 52048; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-117.2994,`position_y`=-214.0461,`position_z`=-72.49876 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-117.2994,-214.0461,-72.49876,0,0,0,0,100,0), +(@PATH,2,-121.5494,-213.7961,-71.24876,0,0,0,0,100,0), +(@PATH,3,-125.0494,-213.5461,-71.24876,0,0,0,0,100,0), +(@PATH,4,-138.0494,-212.5461,-69.49876,0,0,0,0,100,0), +(@PATH,5,-141.0494,-212.2961,-68.49876,0,0,0,0,100,0), +(@PATH,6,-144.2994,-212.0461,-68.49876,0,0,0,0,100,0), +(@PATH,7,-146.5494,-211.7961,-68.24876,0,0,0,0,100,0), +(@PATH,8,-153.7994,-211.2961,-66.49876,0,0,0,0,100,0), +(@PATH,9,-160.8753,-210.4289,-66.45905,0,0,0,0,100,0), +(@PATH,10,-162.8753,-208.4289,-66.20905,0,0,0,0,100,0), +(@PATH,11,-165.3753,-205.9289,-66.20905,0,0,0,0,100,0), +(@PATH,12,-169.3753,-201.6789,-66.20905,0,0,0,0,100,0), +(@PATH,13,-175.155,-195.7021,-66.3976,0,0,0,0,100,0), +(@PATH,14,-174.155,-193.2021,-66.3976,0,0,0,0,100,0), +(@PATH,15,-170.655,-182.9521,-65.3976,0,0,0,0,100,0), +(@PATH,16,-169.405,-179.2021,-64.6476,0,0,0,0,100,0), +(@PATH,17,-168.905,-177.7021,-63.8976,0,0,0,0,100,0), +(@PATH,18,-167.655,-173.9521,-63.1476,0,0,0,0,100,0), +(@PATH,19,-165.9926,-169.4054,-61.62289,0,0,0,0,100,0), +(@PATH,20,-163.2426,-166.4054,-59.87289,0,0,0,0,100,0), +(@PATH,21,-162.2426,-165.4054,-58.62289,0,0,0,0,100,0), +(@PATH,22,-156.4926,-158.6554,-56.37289,0,0,0,0,100,0), +(@PATH,23,-152.4926,-153.9054,-54.37289,0,0,0,0,100,0), +(@PATH,24,-152.2406,-153.7879,-54.28136,0,0,0,0,100,0), +(@PATH,25,-150.4906,-152.0379,-53.28136,0,0,0,0,100,0), +(@PATH,26,-147.9906,-150.0379,-53.28136,0,0,0,0,100,0), +(@PATH,27,-146.7406,-149.0379,-53.28136,0,0,0,0,100,0), +(@PATH,28,-144.2406,-147.0379,-54.03136,0,0,0,0,100,0), +(@PATH,29,-136.7406,-141.2879,-52.78136,0,0,0,0,100,0), +(@PATH,30,-129.9906,-136.2879,-52.03136,0,0,0,0,100,0), +(@PATH,31,-127.4906,-134.5379,-51.28136,0,0,0,0,100,0), +(@PATH,32,-124.2406,-131.7879,-51.28136,0,0,0,0,100,0), +(@PATH,33,-121.0758,-129.5125,-50.05389,0,0,0,0,100,0), +(@PATH,34,-116.8258,-126.2625,-48.80389,0,0,0,0,100,0), +(@PATH,35,-113.8258,-123.7625,-48.80389,0,0,0,0,100,0), +(@PATH,36,-110.5758,-121.0125,-48.30389,0,0,0,0,100,0), +(@PATH,37,-106.3258,-117.7625,-45.55389,0,0,0,0,100,0), +(@PATH,38,-101.5758,-114.0125,-41.55389,0,0,0,0,100,0), +(@PATH,39,-98.82584,-111.7625,-40.30389,0,0,0,0,100,0), +(@PATH,40,-97.149,-110.4035,-39.23767,0,0,0,0,100,0), +(@PATH,41,-95.899,-109.6535,-38.73767,0,0,0,0,100,0), +(@PATH,42,-95.149,-109.1535,-38.48767,0,0,0,0,100,0), +(@PATH,43,-92.399,-107.6535,-37.73767,0,0,0,0,100,0), +(@PATH,44,-89.649,-105.9035,-37.73767,0,0,0,0,100,0), +(@PATH,45,-84.649,-103.1535,-36.23767,0,0,0,0,100,0), +(@PATH,46,-82.649,-101.9035,-35.73767,0,0,0,0,100,0), +(@PATH,47,-78.149,-99.15355,-35.23767,0,0,0,0,100,0), +(@PATH,48,-77.96553,-98.93108,-35.05116,0,0,0,0,100,0), +(@PATH,49,-75.21553,-97.68108,-34.80116,0,0,0,0,100,0), +(@PATH,50,-73.21553,-97.68108,-34.80116,0,0,0,0,100,0), +(@PATH,51,-68.21553,-97.68108,-37.05116,0,0,0,0,100,0), +(@PATH,52,-63.21553,-97.68108,-38.55116,0,0,0,0,100,0), +(@PATH,53,-57.46553,-97.68108,-38.30116,0,0,0,0,100,0), +(@PATH,54,-57.42111,-98.24262,-38.41855,0,0,0,0,100,0), +(@PATH,55,-63.42111,-98.49262,-38.41855,0,0,0,0,100,0), +(@PATH,56,-68.17111,-98.49262,-36.91855,0,0,0,0,100,0), +(@PATH,57,-73.17111,-98.74262,-34.66855,0,0,0,0,100,0), +(@PATH,58,-73.4623,-98.88531,-34.77631,0,0,0,0,100,0), +(@PATH,59,-76.2123,-99.13531,-35.02631,0,0,0,0,100,0), +(@PATH,60,-78.2123,-99.88531,-35.02631,0,0,0,0,100,0), +(@PATH,61,-82.7123,-101.3853,-35.77631,0,0,0,0,100,0), +(@PATH,62,-85.2123,-101.8853,-36.27631,0,0,0,0,100,0), +(@PATH,63,-91.4623,-104.1353,-38.02631,0,0,0,0,100,0), +(@PATH,64,-91.69406,-104.2236,-38.36034,0,0,0,0,100,0), +(@PATH,65,-93.44406,-104.7236,-38.11034,0,0,0,0,100,0), +(@PATH,66,-94.69406,-105.7236,-38.11034,0,0,0,0,100,0), +(@PATH,67,-97.69406,-108.4736,-39.11034,0,0,0,0,100,0), +(@PATH,68,-98.69406,-109.4736,-39.86034,0,0,0,0,100,0), +(@PATH,69,-102.4441,-112.4736,-41.61034,0,0,0,0,100,0), +(@PATH,70,-106.9441,-116.4736,-45.36034,0,0,0,0,100,0), +(@PATH,71,-111.2919,-119.9628,-48.522,0,0,0,0,100,0), +(@PATH,72,-114.7919,-123.2128,-49.022,0,0,0,0,100,0), +(@PATH,73,-117.5419,-125.9628,-49.022,0,0,0,0,100,0), +(@PATH,74,-123.5419,-131.4628,-51.022,0,0,0,0,100,0), +(@PATH,75,-126.7919,-134.7128,-51.022,0,0,0,0,100,0), +(@PATH,76,-129.2919,-136.7128,-51.772,0,0,0,0,100,0), +(@PATH,77,-133.0963,-140.5668,-52.85578,0,0,0,0,100,0), +(@PATH,78,-135.5963,-142.3168,-53.10578,0,0,0,0,100,0), +(@PATH,79,-143.5963,-147.5668,-54.35578,0,0,0,0,100,0), +(@PATH,80,-146.3463,-149.3168,-53.35578,0,0,0,0,100,0), +(@PATH,81,-149.5963,-151.5668,-53.35578,0,0,0,0,100,0), +(@PATH,82,-151.0963,-152.5668,-53.85578,0,0,0,0,100,0), +(@PATH,83,-156.1434,-156.1172,-55.97437,0,0,0,0,100,0), +(@PATH,84,-156.8934,-157.3672,-56.47437,0,0,0,0,100,0), +(@PATH,85,-159.1434,-159.8672,-57.47437,0,0,0,0,100,0), +(@PATH,86,-162.8934,-164.8672,-58.97437,0,0,0,0,100,0), +(@PATH,87,-163.3934,-165.6172,-59.72437,0,0,0,0,100,0), +(@PATH,88,-165.8934,-168.6172,-61.22437,0,0,0,0,100,0), +(@PATH,89,-169.1434,-172.8672,-62.72437,0,0,0,0,100,0), +(@PATH,90,-169.4215,-173.0583,-63.12639,0,0,0,0,100,0), +(@PATH,91,-170.6715,-175.0583,-63.62639,0,0,0,0,100,0), +(@PATH,92,-170.9215,-178.0583,-64.37639,0,0,0,0,100,0), +(@PATH,93,-170.9215,-179.0583,-64.87639,0,0,0,0,100,0), +(@PATH,94,-170.9215,-183.3083,-65.37639,0,0,0,0,100,0), +(@PATH,95,-171.4215,-191.8083,-66.12639,0,0,0,0,100,0), +(@PATH,96,-171.6715,-197.3083,-66.12639,0,0,0,0,100,0), +(@PATH,97,-171.9399,-201.3128,-66.46771,0,0,0,0,100,0), +(@PATH,98,-170.4399,-202.0628,-66.21771,0,0,0,0,100,0), +(@PATH,99,-165.1899,-205.0628,-66.21771,0,0,0,0,100,0), +(@PATH,100,-160.1899,-207.5628,-66.21771,0,0,0,0,100,0), +(@PATH,101,-154.1899,-211.0628,-66.46771,0,0,0,0,100,0), +(@PATH,102,-153.828,-211.3276,-66.49379,0,0,0,0,100,0), +(@PATH,103,-153.078,-211.8276,-66.74379,0,0,0,0,100,0), +(@PATH,104,-145.828,-212.8276,-68.49379,0,0,0,0,100,0), +(@PATH,105,-141.578,-213.0776,-68.74379,0,0,0,0,100,0), +(@PATH,106,-138.828,-213.5776,-69.24379,0,0,0,0,100,0), +(@PATH,107,-131.328,-214.5776,-70.24379,0,0,0,0,100,0), +(@PATH,108,-131.1989,-214.7451,-70.56252,0,0,0,0,100,0), +(@PATH,109,-129.4489,-214.7451,-70.81252,0,0,0,0,100,0), +(@PATH,110,-124.6989,-214.7451,-71.56252,0,0,0,0,100,0), +(@PATH,111,-121.6989,-214.7451,-71.56252,0,0,0,0,100,0), +(@PATH,112,-117.6989,-214.7451,-72.31252,0,0,0,0,100,0); diff --git a/sql/updates/world/2015_10_21_01_world.sql b/sql/updates/world/2015_10_21_01_world.sql new file mode 100644 index 00000000000..dd5e289d2c5 --- /dev/null +++ b/sql/updates/world/2015_10_21_01_world.sql @@ -0,0 +1,11 @@ +-- +-- Grethok the Controller SAI +SET @ENTRY := 12557; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0 AND `id`=4; +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 +(@ENTRY,0,4,0,6,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grethok the Controller - On Just Died - Say Line 0"); + +DELETE FROM `creature_text` WHERE `entry`=12557; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `comment`) VALUES +(12557, 0, 0, 'Intruders have breached the hatchery! Sound the alarm! Protect the eggs at all costs!', 14, 0, 100, 0, 0, 0, 9958, 'Grethok the Controller'); diff --git a/sql/updates/world/2015_10_22_00_world.sql b/sql/updates/world/2015_10_22_00_world.sql new file mode 100644 index 00000000000..8075c4e1b20 --- /dev/null +++ b/sql/updates/world/2015_10_22_00_world.sql @@ -0,0 +1,14 @@ +-- +-- Orbaz Bloodbane (NPC 28914) condition for gossip option 9769 to be visible only for quest 12757, Scarlet Armies Approach... +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=9769 AND `ConditionValue1`=39654; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorType`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(15,9769,0,0,0,2,0,39654,1,0,0,0,0,'','Orbaz Bloodbane - Show gossip option only if player has received item 39654, The Path of Redemption, from quest 12757'); + +-- Orbaz Bloodbane SAI +SET @ENTRY := 28914; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY 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 +(@ENTRY,0,0,0,19,0,100,0,12757,0,0,0,80,@ENTRY*100+00,2,0,0,0,0,1,0,0,0,0,0,0,0,"Orbaz Bloodbane - On Quest 'Scarlet Armies Approach' Taken - Run Script"), +(@ENTRY,0,1,2,62,0,100,0,9769,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Orbaz Bloodbane - On Gossip Option 0 Selected - Close Gossip"), +(@ENTRY,0,2,0,61,0,100,0,9769,0,0,0,80,@ENTRY*100+00,2,0,0,0,0,1,0,0,0,0,0,0,0,"Orbaz Bloodbane - On Gossip Option 0 Selected - Run Script"); diff --git a/sql/updates/world/2015_10_22_01_world.sql b/sql/updates/world/2015_10_22_01_world.sql new file mode 100644 index 00000000000..ee7db3024ae --- /dev/null +++ b/sql/updates/world/2015_10_22_01_world.sql @@ -0,0 +1,1006 @@ +-- Pathing for Monstrous Underbelly Rat Entry: 32466 'TDB FORMAT' +SET @NPC := 115709; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=5838.242,`position_y`=727.3474,`position_z`=618.8483 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,5838.242,727.3474,618.8483,0,58000,0,0,100,0), -- 17:24:07 +(@PATH,2,5838.957,727.3331,618.8483,0,0,0,0,100,0), -- 17:25:05 +(@PATH,3,5830.747,726.1935,618.8483,0,0,0,0,100,0), -- 17:25:09 +(@PATH,4,5824.448,723.9514,618.8483,0,20000,0,0,100,0), -- 17:25:11 +(@PATH,5,5824.13,723.7587,618.8483,0,0,0,0,100,0), -- 17:25:31 +(@PATH,6,5831.308,726.0686,618.8483,0,0,0,0,100,0); -- 17:25:33 + +-- Pathing for Underbelly Rat Entry: 32428 'TDB FORMAT' +SET @NPC := 112319; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=5860.327,`position_y`=704.5416,`position_z`=609.4075 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,5860.327,704.5416,609.4075,0,0,1,0,100,0), -- 17:41:04 +(@PATH,2,5848.26,705.7133,609.4075,0,0,1,0,100,0), -- 17:41:05 +(@PATH,3,5846.842,704.8635,609.5217,0,0,1,0,100,0), -- 17:41:07 +(@PATH,4,5836.342,691.6135,609.5217,0,0,1,0,100,0), -- 17:41:07 +(@PATH,5,5835.342,690.3635,610.0217,0,0,1,0,100,0), -- 17:41:07 +(@PATH,6,5833.592,688.1135,610.0217,0,0,1,0,100,0), -- 17:41:07 +(@PATH,7,5832.342,686.1135,610.0217,0,0,1,0,100,0), -- 17:41:07 +(@PATH,8,5831.625,685.5962,610.1531,0,0,1,0,100,0), -- 17:41:12 +(@PATH,9,5821.625,681.8462,610.1531,0,0,1,0,100,0), -- 17:41:12 +(@PATH,10,5817.857,678.2463,610.1359,0,0,1,0,100,0), -- 17:41:15 +(@PATH,11,5816.357,672.2463,610.1359,0,0,1,0,100,0), -- 17:41:15 +(@PATH,12,5815.969,667.8105,610.1359,0,0,1,0,100,0), -- 17:41:17 +(@PATH,13,5815.969,666.0605,610.1359,0,0,1,0,100,0), -- 17:41:17 +(@PATH,14,5815.719,663.5605,609.6359,0,0,1,0,100,0), -- 17:41:17 +(@PATH,15,5815.719,655.0605,609.6359,0,0,1,0,100,0), -- 17:41:17 +(@PATH,16,5815.719,653.8105,609.8859,0,0,1,0,100,0), -- 17:41:17 +(@PATH,17,5815.234,650.0985,610.0259,0,0,1,0,100,0), -- 17:41:21 +(@PATH,18,5813.234,651.0985,610.0259,0,0,1,0,100,0), -- 17:41:21 +(@PATH,19,5806.553,653.642,610.1359,0,0,1,0,100,0), -- 17:41:23 +(@PATH,20,5797.906,650.6086,610.1359,0,0,1,0,100,0), -- 17:41:24 +(@PATH,21,5793.906,647.1086,610.1359,0,0,1,0,100,0), -- 17:41:24 +(@PATH,22,5791.656,644.8586,610.1359,0,0,1,0,100,0), -- 17:41:24 +(@PATH,23,5790.859,644.0999,610.1359,0,0,1,0,100,0), -- 17:41:27 +(@PATH,24,5790.109,642.5999,610.1359,0,0,1,0,100,0), -- 17:41:27 +(@PATH,25,5787.335,632.4458,609.5217,0,0,1,0,100,0), -- 17:41:29 +(@PATH,26,5786.012,626.2661,609.6223,0,0,1,0,100,0), -- 17:41:30 +(@PATH,27,5785.262,623.5161,609.6223,0,0,1,0,100,0), -- 17:41:30 +(@PATH,28,5785.012,622.0161,610.1223,0,0,1,0,100,0), -- 17:41:30 +(@PATH,29,5784.012,618.7661,610.1223,0,0,1,0,100,0), -- 17:41:30 +(@PATH,30,5766.996,613.3734,610.1359,0,0,1,0,100,0), -- 17:41:37 +(@PATH,31,5764.289,614.7873,610.1359,0,0,1,0,100,0), -- 17:41:41 +(@PATH,32,5761.711,609.0067,610.1359,0,0,1,0,100,0), -- 17:41:43 +(@PATH,33,5762.814,602.2861,610.1359,0,0,1,0,100,0), -- 17:41:44 +(@PATH,34,5769.666,596.1545,610.1359,0,0,1,0,100,0), -- 17:41:47 +(@PATH,35,5779.668,590.0027,610.0217,0,0,1,0,100,0), -- 17:41:48 +(@PATH,36,5780.418,588.7527,609.5217,0,0,1,0,100,0), -- 17:41:48 +(@PATH,37,5782.172,585.9805,609.6359,0,0,1,0,100,0), -- 17:41:50 +(@PATH,38,5784.172,588.9805,609.6359,0,0,1,0,100,0), -- 17:41:50 +(@PATH,39,5784.672,589.7305,609.6359,0,0,1,0,100,0), -- 17:41:50 +(@PATH,40,5786.422,592.7305,610.1359,0,0,1,0,100,0), -- 17:41:50 +(@PATH,41,5788.172,595.2305,610.1359,0,0,1,0,100,0), -- 17:41:50 +(@PATH,42,5789.422,597.2305,610.1359,0,0,1,0,100,0), -- 17:41:50 +(@PATH,43,5791.422,599.9805,610.1359,0,0,1,0,100,0), -- 17:41:50 +(@PATH,44,5792.814,602.571,610.0217,0,0,1,0,100,0), -- 17:41:54 +(@PATH,45,5793.564,605.321,610.0217,0,0,1,0,100,0), -- 17:41:54 +(@PATH,46,5794.814,608.821,610.0217,0,0,1,0,100,0), -- 17:41:54 +(@PATH,47,5795.814,612.571,609.5217,0,0,1,0,100,0), -- 17:41:54 +(@PATH,48,5796.314,614.821,609.5217,0,0,1,0,100,0), -- 17:41:54 +(@PATH,49,5797.296,616.8961,609.5619,0,0,1,0,100,0), -- 17:41:58 +(@PATH,50,5800.046,619.1461,609.5619,0,0,1,0,100,0), -- 17:41:58 +(@PATH,51,5802.796,621.1461,609.5619,0,0,1,0,100,0), -- 17:41:58 +(@PATH,52,5804.796,622.6461,610.0619,0,0,1,0,100,0), -- 17:41:58 +(@PATH,53,5807.046,624.6461,610.0619,0,0,1,0,100,0), -- 17:41:58 +(@PATH,54,5809.546,626.3961,610.0619,0,0,1,0,100,0), -- 17:41:58 +(@PATH,55,5813.885,631.6583,610.1359,0,0,1,0,100,0), -- 17:42:02 +(@PATH,56,5814.885,632.6583,610.1359,0,0,1,0,100,0), -- 17:42:02 +(@PATH,57,5816.79,635.3191,610.0217,0,0,1,0,100,0), -- 17:42:03 +(@PATH,58,5818.29,638.0691,610.0217,0,0,1,0,100,0), -- 17:42:03 +(@PATH,59,5821.54,644.0691,610.0217,0,0,1,0,100,0), -- 17:42:03 +(@PATH,60,5822.54,646.3191,609.5217,0,0,1,0,100,0), -- 17:42:03 +(@PATH,61,5823.54,648.3191,609.5217,0,0,1,0,100,0), -- 17:42:03 +(@PATH,62,5823.962,648.8779,609.6245,0,0,1,0,100,0), -- 17:42:06 +(@PATH,63,5827.962,654.3779,609.6245,0,0,1,0,100,0), -- 17:42:06 +(@PATH,64,5828.962,655.6279,610.1245,0,0,1,0,100,0), -- 17:42:06 +(@PATH,65,5835.354,659.7132,610.0316,0,0,1,0,100,0), -- 17:42:09 +(@PATH,66,5829.279,655.8999,610.0217,0,0,1,0,100,0), -- 17:42:12 +(@PATH,67,5828.279,654.3999,609.5217,0,0,1,0,100,0), -- 17:42:12 +(@PATH,68,5816.525,665.3367,610.0217,0,0,1,0,100,0), -- 17:42:12 +(@PATH,69,5815.275,664.3367,609.5217,0,0,1,0,100,0), -- 17:42:12 +(@PATH,70,5821.443,644.0874,610.0221,0,0,1,0,100,0), -- 17:42:15 +(@PATH,71,5818.443,638.0874,610.0221,0,0,1,0,100,0), -- 17:42:15 +(@PATH,72,5814.938,632.898,610.1369,0,0,1,0,100,0), -- 17:42:17 +(@PATH,73,5814.188,631.898,610.1369,0,0,1,0,100,0), -- 17:42:17 +(@PATH,74,5807.222,624.6782,610.0217,0,0,1,0,100,0), -- 17:42:20 +(@PATH,75,5804.972,622.9282,610.0217,0,0,1,0,100,0), -- 17:42:20 +(@PATH,76,5802.972,621.4282,609.5217,0,0,1,0,100,0), -- 17:42:20 +(@PATH,77,5800.222,619.1782,609.5217,0,0,1,0,100,0), -- 17:42:20 +(@PATH,78,5797.37,616.6953,609.5106,0,0,1,0,100,0), -- 17:42:22 +(@PATH,79,5796.62,614.6953,609.5106,0,0,1,0,100,0), -- 17:42:22 +(@PATH,80,5796.37,613.4453,609.5106,0,0,1,0,100,0), -- 17:42:22 +(@PATH,81,5794.87,609.1953,610.0106,0,0,1,0,100,0), -- 17:42:22 +(@PATH,82,5793.87,605.1953,610.0106,0,0,1,0,100,0), -- 17:42:22 +(@PATH,83,5791.352,600.0093,610.0248,0,0,1,0,100,0), -- 17:42:26 +(@PATH,84,5789.602,597.2593,610.0248,0,0,1,0,100,0), -- 17:42:26 +(@PATH,85,5788.102,595.2593,610.0248,0,0,1,0,100,0), -- 17:42:26 +(@PATH,86,5786.602,592.7593,610.0248,0,0,1,0,100,0), -- 17:42:26 +(@PATH,87,5784.602,589.7593,609.5248,0,0,1,0,100,0), -- 17:42:26 +(@PATH,88,5784.102,589.0093,609.5248,0,0,1,0,100,0), -- 17:42:26 +(@PATH,89,5781.995,586.1212,609.5032,0,0,1,0,100,0), -- 17:42:30 +(@PATH,90,5780.495,588.8712,609.5032,0,0,1,0,100,0), -- 17:42:30 +(@PATH,91,5779.745,590.1212,610.0032,0,0,1,0,100,0), -- 17:42:30 +(@PATH,92,5777.245,594.3712,610.0032,0,0,1,0,100,0), -- 17:42:30 +(@PATH,93,5769.974,595.9542,610.1404,0,0,1,0,100,0), -- 17:42:32 +(@PATH,94,5768.724,595.7042,610.1404,0,0,1,0,100,0), -- 17:42:32 +(@PATH,95,5767.407,595.5968,610.1359,0,0,1,0,100,0), -- 17:42:35 +(@PATH,96,5763.157,601.5968,610.1359,0,0,1,0,100,0), -- 17:42:35 +(@PATH,97,5762.924,602.3074,610.1359,0,0,1,0,100,0), -- 17:42:36 +(@PATH,98,5763.78,614.1101,610.1359,0,0,1,0,100,0), -- 17:42:37 +(@PATH,99,5764.873,615.9689,610.1359,0,0,1,0,100,0), -- 17:42:38 +(@PATH,100,5766.873,613.2189,610.1359,0,0,1,0,100,0), -- 17:42:38 +(@PATH,101,5784.897,621.7813,610.0217,0,0,1,0,100,0), -- 17:42:43 +(@PATH,102,5785.397,623.5313,609.5217,0,0,1,0,100,0), -- 17:42:43 +(@PATH,103,5786.147,626.2813,609.5217,0,0,1,0,100,0), -- 17:42:43 +(@PATH,104,5786.897,629.0313,609.5217,0,0,1,0,100,0), -- 17:42:43 +(@PATH,105,5786.155,626.5582,609.6359,0,0,1,0,100,0), -- 17:42:49 +(@PATH,106,5786.905,629.0582,609.6359,0,0,1,0,100,0), -- 17:42:49 +(@PATH,107,5786.905,629.5582,609.6359,0,0,1,0,100,0), -- 17:42:49 +(@PATH,108,5787.155,632.0582,609.6359,0,0,1,0,100,0), -- 17:42:49 +(@PATH,109,5787.405,634.3082,610.1359,0,0,1,0,100,0), -- 17:42:49 +(@PATH,110,5790,642.3279,609.9437,0,0,1,0,100,0), -- 17:42:52 +(@PATH,111,5794.055,646.8982,610.1359,0,0,1,0,100,0), -- 17:42:53 +(@PATH,112,5797.555,650.6482,610.1359,0,0,1,0,100,0), -- 17:42:53 +(@PATH,113,5799.555,652.6482,610.1359,0,0,1,0,100,0), -- 17:42:53 +(@PATH,114,5801.444,654.5395,610.1359,0,0,1,0,100,0), -- 17:42:56 +(@PATH,115,5806.444,653.7895,610.1359,0,0,1,0,100,0), -- 17:42:56 +(@PATH,116,5807.512,653.4955,610.1359,0,0,1,0,100,0), -- 17:42:57 +(@PATH,117,5812.512,651.2455,610.1359,0,0,1,0,100,0), -- 17:42:57 +(@PATH,118,5815.426,653.1886,610.1359,0,0,1,0,100,0), -- 17:42:59 +(@PATH,119,5815.426,654.9386,609.6359,0,0,1,0,100,0), -- 17:42:59 +(@PATH,120,5815.676,663.6886,609.6359,0,0,1,0,100,0), -- 17:42:59 +(@PATH,121,5815.676,665.9386,610.1359,0,0,1,0,100,0), -- 17:42:59 +(@PATH,122,5815.676,667.6886,610.1359,0,0,1,0,100,0), -- 17:42:59 +(@PATH,123,5816.03,668.0648,610.0238,0,0,1,0,100,0), -- 17:43:03 +(@PATH,124,5816.03,670.0648,610.0238,0,0,1,0,100,0), -- 17:43:03 +(@PATH,125,5816.53,672.0648,610.0238,0,0,1,0,100,0), -- 17:43:03 +(@PATH,126,5817.53,678.0648,610.0238,0,0,1,0,100,0), -- 17:43:03 +(@PATH,127,5821.502,681.4215,610.1359,0,0,1,0,100,0), -- 17:43:05 +(@PATH,128,5835.538,690.3898,610.0217,0,0,1,0,100,0), -- 17:43:08 +(@PATH,129,5836.288,691.6398,609.5217,0,0,1,0,100,0), -- 17:43:08 +(@PATH,130,5849.831,706.8584,609.4108,0,0,1,0,100,0), -- 17:43:13 +(@PATH,131,5855.265,709.8666,609.4075,0,0,1,0,100,0), -- 17:43:15 +(@PATH,132,5866.013,703.9492,609.4075,0,0,1,0,100,0), -- 17:43:16 +(@PATH,133,5873.884,695.3582,609.4075,0,0,1,0,100,0), -- 17:43:19 +(@PATH,134,5874.632,694.2865,609.4949,0,0,1,0,100,0), -- 17:43:20 +(@PATH,135,5874.84,689.0822,609.9387,0,0,1,0,100,0), -- 17:43:21 +(@PATH,136,5874.09,687.0822,610.9387,0,0,1,0,100,0), -- 17:43:21 +(@PATH,137,5873.47,685.0145,610.9896,0,0,1,0,100,0), -- 17:43:23 +(@PATH,138,5871.47,683.0145,610.7396,0,0,1,0,100,0), -- 17:43:23 +(@PATH,139,5866.97,678.2645,610.9896,0,0,1,0,100,0), -- 17:43:23 +(@PATH,140,5865.97,677.2645,610.9896,0,0,1,0,100,0), -- 17:43:23 +(@PATH,141,5864.548,676.2894,610.9425,0,0,1,0,100,0), -- 17:43:25 +(@PATH,142,5863.548,676.5394,610.9425,0,0,1,0,100,0), -- 17:43:25 +(@PATH,143,5859.548,677.2894,610.1925,0,0,1,0,100,0), -- 17:43:25 +(@PATH,144,5848.772,675.0753,610.0875,0,0,1,0,100,0), -- 17:43:28 +(@PATH,145,5847.37,674.7904,610.0217,0,0,1,0,100,0), -- 17:43:29 +(@PATH,146,5844.12,673.7904,610.0217,0,0,1,0,100,0), -- 17:43:29 +(@PATH,147,5839.478,672.2452,610.1381,0,0,1,0,100,0), -- 17:43:30 +(@PATH,148,5839.478,669.2452,610.1381,0,0,1,0,100,0), -- 17:43:30 +(@PATH,149,5839.478,663.7452,610.1381,0,0,1,0,100,0), -- 17:43:30 +(@PATH,150,5839.195,669.4826,610.1359,0,0,1,0,100,0), -- 17:43:34 +(@PATH,151,5843.771,673.7661,610.1359,0,0,1,0,100,0), -- 17:43:35 +(@PATH,152,5846.521,674.7661,610.1359,0,0,1,0,100,0), -- 17:43:35 +(@PATH,153,5847.64,674.8135,610.0217,0,0,1,0,100,0), -- 17:43:36 +(@PATH,154,5848.64,674.8135,610.0217,0,0,1,0,100,0), -- 17:43:36 +(@PATH,155,5849.89,674.8135,609.5217,0,0,1,0,100,0), -- 17:43:36 +(@PATH,156,5866.708,676.1121,609.4492,0,0,1,0,100,0), -- 17:43:39 +(@PATH,157,5866.708,675.6121,609.4492,0,0,1,0,100,0), -- 17:43:39 +(@PATH,158,5864.833,676.2982,610.9387,0,0,1,0,100,0), -- 17:43:41 +(@PATH,159,5865.833,677.2982,610.9387,0,0,1,0,100,0), -- 17:43:41 +(@PATH,160,5866.833,678.2982,610.9387,0,0,1,0,100,0), -- 17:43:41 +(@PATH,161,5871.583,683.0482,610.9387,0,0,1,0,100,0), -- 17:43:41 +(@PATH,162,5874.132,686.8735,610.9503,0,0,1,0,100,0), -- 17:43:44 +(@PATH,163,5874.632,687.8735,610.4503,0,0,1,0,100,0), -- 17:43:44 +(@PATH,164,5875.144,689.2743,609.9451,0,0,1,0,100,0), -- 17:43:45 +(@PATH,165,5876.144,690.5243,609.6951,0,0,1,0,100,0), -- 17:43:45 +(@PATH,166,5874.644,694.2743,609.6951,0,0,1,0,100,0), -- 17:43:45 +(@PATH,167,5873.894,695.0243,609.6951,0,0,1,0,100,0), -- 17:43:45 +(@PATH,168,5866.658,703.6503,609.4075,0,0,1,0,100,0), -- 17:43:47 +(@PATH,169,5860.372,704.5635,609.4075,0,0,1,0,100,0); -- 17:43:50 + +-- Pathing for Underbelly Rat Entry: 32428 'TDB FORMAT' +SET @NPC := 112318; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=5812.506,`position_y`=725.5436,`position_z`=624.4396 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,5812.506,725.5436,624.4396,0,0,1,0,100,0), -- 17:45:05 +(@PATH,2,5811.401,724.5404,624.3019,0,0,1,0,100,0), -- 17:45:07 +(@PATH,3,5809.651,723.5404,623.8019,0,0,1,0,100,0), -- 17:45:07 +(@PATH,4,5805.687,715.0458,619.4795,0,0,1,0,100,0), -- 17:45:09 +(@PATH,5,5805.306,711.5175,619.0914,0,0,1,0,100,0), -- 17:45:10 +(@PATH,6,5805.056,711.0175,619.0914,0,0,1,0,100,0), -- 17:45:10 +(@PATH,7,5803.806,710.2675,619.3414,0,0,1,0,100,0), -- 17:45:10 +(@PATH,8,5798.439,709.6013,619.4612,0,0,1,0,100,0), -- 17:45:11 +(@PATH,9,5796.939,708.1013,619.7112,0,0,1,0,100,0), -- 17:45:11 +(@PATH,10,5796.189,707.3513,619.7112,0,0,1,0,100,0), -- 17:45:11 +(@PATH,11,5796.251,707.1489,619.6675,0,0,1,0,100,0), -- 17:45:12 +(@PATH,12,5794.501,705.6489,619.6675,0,0,1,0,100,0), -- 17:45:12 +(@PATH,13,5795.787,700.2144,619.2513,0,0,1,0,100,0), -- 17:45:14 +(@PATH,14,5796.287,698.9644,619.2513,0,0,1,0,100,0), -- 17:45:14 +(@PATH,15,5797.537,695.4644,619.0013,0,0,1,0,100,0), -- 17:45:14 +(@PATH,16,5798.287,692.4644,619.0013,0,0,1,0,100,0), -- 17:45:14 +(@PATH,17,5799.037,690.9644,619.2513,0,0,1,0,100,0), -- 17:45:14 +(@PATH,18,5799.537,689.4644,619.2513,0,0,1,0,100,0), -- 17:45:14 +(@PATH,19,5799.536,689.3114,619.3141,0,0,1,0,100,0), -- 17:45:16 +(@PATH,20,5800.036,688.0614,619.3141,0,0,1,0,100,0), -- 17:45:16 +(@PATH,21,5798.786,687.0614,619.3141,0,0,1,0,100,0), -- 17:45:16 +(@PATH,22,5794.159,683.7436,619.2207,0,0,1,0,100,0), -- 17:45:17 +(@PATH,23,5792.909,683.2436,619.2207,0,0,1,0,100,0), -- 17:45:17 +(@PATH,24,5791.659,682.7436,619.2207,0,0,1,0,100,0), -- 17:45:17 +(@PATH,25,5791.753,682.5482,619.214,0,0,1,0,100,0), -- 17:45:19 +(@PATH,26,5791.253,682.2982,618.964,0,0,1,0,100,0), -- 17:45:19 +(@PATH,27,5789.503,680.2982,618.964,0,0,1,0,100,0), -- 17:45:19 +(@PATH,28,5788.781,677.8862,619.2213,0,0,1,0,100,0), -- 17:45:20 +(@PATH,29,5789.031,675.3862,619.2213,0,0,1,0,100,0), -- 17:45:20 +(@PATH,30,5786.781,671.8862,619.2213,0,0,1,0,100,0), -- 17:45:20 +(@PATH,31,5785.09,669.5923,619.22,0,0,1,0,100,0), -- 17:45:21 +(@PATH,32,5782.34,670.0923,619.22,0,0,1,0,100,0), -- 17:45:21 +(@PATH,33,5781.488,670.0141,619.1985,0,0,1,0,100,0), -- 17:45:22 +(@PATH,34,5778.738,667.5141,618.9485,0,0,1,0,100,0), -- 17:45:22 +(@PATH,35,5776.889,665.7174,619.0254,0,0,1,0,100,0), -- 17:45:23 +(@PATH,36,5771.591,666.1527,618.715,0,0,1,0,100,0), -- 17:45:25 +(@PATH,37,5769.591,664.6527,618.715,0,0,1,0,100,0), -- 17:45:25 +(@PATH,38,5764.23,657.7101,618.679,0,0,1,0,100,0), -- 17:45:26 +(@PATH,39,5763.645,656.9364,618.9661,0,0,1,0,100,0), -- 17:45:27 +(@PATH,40,5762.145,655.9364,618.7161,0,0,1,0,100,0), -- 17:45:27 +(@PATH,41,5761.145,654.9364,618.7161,0,0,1,0,100,0), -- 17:45:27 +(@PATH,42,5759.645,653.9364,618.4661,0,0,1,0,100,0), -- 17:45:27 +(@PATH,43,5757.645,652.4364,618.4661,0,0,1,0,100,0), -- 17:45:27 +(@PATH,44,5758.634,650.1743,617.9124,0,0,1,0,100,0), -- 17:45:30 +(@PATH,45,5759.384,649.6743,617.6624,0,0,1,0,100,0), -- 17:45:30 +(@PATH,46,5760.884,648.9243,617.9124,0,0,1,0,100,0), -- 17:45:30 +(@PATH,47,5765.302,645.7458,617.7252,0,0,1,0,100,0), -- 17:45:31 +(@PATH,48,5766.552,645.2458,617.7252,0,0,1,0,100,0), -- 17:45:31 +(@PATH,49,5771.302,643.4958,617.7252,0,0,1,0,100,0), -- 17:45:31 +(@PATH,50,5772.802,642.7458,617.4752,0,0,1,0,100,0), -- 17:45:31 +(@PATH,51,5773.302,642.4958,617.4752,0,0,1,0,100,0), -- 17:45:31 +(@PATH,52,5774.802,640.9958,616.4752,0,0,1,0,100,0), -- 17:45:31 +(@PATH,53,5775.896,637.9182,614.7648,0,0,1,0,100,0), -- 17:45:34 +(@PATH,54,5777.396,635.9182,613.0148,0,0,1,0,100,0), -- 17:45:34 +(@PATH,55,5781.486,634.472,611.2208,0,0,1,0,100,0), -- 17:45:36 +(@PATH,56,5782.236,634.472,610.4708,0,0,1,0,100,0), -- 17:45:36 +(@PATH,57,5783.486,634.472,609.4708,0,0,1,0,100,0), -- 17:45:36 +(@PATH,58,5785.486,634.722,609.4708,0,0,1,0,100,0), -- 17:45:36 +(@PATH,59,5783.877,634.4684,609.5891,0,0,1,0,100,0), -- 17:45:37 +(@PATH,60,5785.627,634.7184,609.5891,0,0,1,0,100,0), -- 17:45:37 +(@PATH,61,5787.377,634.7184,610.3391,0,0,1,0,100,0), -- 17:45:37 +(@PATH,62,5791.627,635.2184,610.3391,0,0,1,0,100,0), -- 17:45:37 +(@PATH,63,5792.804,635.6805,610.0217,0,0,1,0,100,0), -- 17:45:38 +(@PATH,64,5804.054,638.4305,610.0217,0,0,1,0,100,0), -- 17:45:38 +(@PATH,65,5808.587,639.6121,610.1359,0,0,1,0,100,0), -- 17:45:41 +(@PATH,66,5816.692,643.6942,610.1359,0,0,1,0,100,0), -- 17:45:43 +(@PATH,67,5822.68,639.5682,609.7672,0,0,1,0,100,0), -- 17:45:45 +(@PATH,68,5823.43,639.5682,610.0172,0,0,1,0,100,0), -- 17:45:45 +(@PATH,69,5825.18,639.8182,610.0172,0,0,1,0,100,0), -- 17:45:45 +(@PATH,70,5824.43,638.3182,610.0172,0,0,1,0,100,0), -- 17:45:45 +(@PATH,71,5824.57,638.2134,610.1077,0,0,1,0,100,0), -- 17:45:47 +(@PATH,72,5823.57,636.9634,611.1077,0,0,1,0,100,0), -- 17:45:47 +(@PATH,73,5823.57,634.9634,611.6077,0,0,1,0,100,0), -- 17:45:47 +(@PATH,74,5824.07,633.7134,612.3577,0,0,1,0,100,0), -- 17:45:47 +(@PATH,75,5824.662,632.4669,612.8602,0,0,1,0,100,0), -- 17:45:48 +(@PATH,76,5826.162,630.2169,614.1102,0,0,1,0,100,0), -- 17:45:48 +(@PATH,77,5826.912,628.9669,614.8602,0,0,1,0,100,0), -- 17:45:48 +(@PATH,78,5827.492,628.314,614.7683,0,0,1,0,100,0), -- 17:45:49 +(@PATH,79,5828.242,627.314,615.2683,0,0,1,0,100,0), -- 17:45:49 +(@PATH,80,5828.742,626.064,616.0183,0,0,1,0,100,0), -- 17:45:49 +(@PATH,81,5829.492,624.314,616.0183,0,0,1,0,100,0), -- 17:45:49 +(@PATH,82,5830.492,622.564,616.2683,0,0,1,0,100,0), -- 17:45:49 +(@PATH,83,5829.866,624.0173,616.4043,0,0,1,0,100,0), -- 17:45:50 +(@PATH,84,5830.366,622.7673,616.6543,0,0,1,0,100,0), -- 17:45:50 +(@PATH,85,5832.866,624.2673,616.9043,0,0,1,0,100,0), -- 17:45:50 +(@PATH,86,5832.366,622.5173,617.4043,0,0,1,0,100,0), -- 17:45:50 +(@PATH,87,5832.366,621.2673,617.9043,0,0,1,0,100,0), -- 17:45:50 +(@PATH,88,5832.433,621.1912,618.1343,0,0,1,0,100,0), -- 17:45:52 +(@PATH,89,5832.183,618.6912,619.1343,0,0,1,0,100,0), -- 17:45:52 +(@PATH,90,5832.433,615.6912,620.8843,0,0,1,0,100,0), -- 17:45:52 +(@PATH,91,5832.683,614.6912,621.3843,0,0,1,0,100,0), -- 17:45:52 +(@PATH,92,5833.433,611.1912,622.1343,0,0,1,0,100,0), -- 17:45:52 +(@PATH,93,5833.683,609.6912,621.8843,0,0,1,0,100,0), -- 17:45:52 +(@PATH,94,5833.704,609.4901,622.2904,0,0,1,0,100,0), -- 17:45:54 +(@PATH,95,5833.954,607.4901,622.2904,0,0,1,0,100,0), -- 17:45:54 +(@PATH,96,5833.954,606.2401,622.5404,0,0,1,0,100,0), -- 17:45:54 +(@PATH,97,5833.704,600.7401,623.2904,0,0,1,0,100,0), -- 17:45:54 +(@PATH,98,5833.454,599.4901,624.0404,0,0,1,0,100,0), -- 17:45:54 +(@PATH,99,5833.538,598.366,623.9922,0,0,1,0,100,0), -- 17:45:56 +(@PATH,100,5832.038,596.866,624.4922,0,0,1,0,100,0), -- 17:45:56 +(@PATH,101,5830.538,595.116,624.7422,0,0,1,0,100,0), -- 17:45:56 +(@PATH,102,5828.975,593.5865,624.9868,0,0,1,0,100,0), -- 17:45:58 +(@PATH,103,5826.725,591.3365,625.4868,0,0,1,0,100,0), -- 17:45:58 +(@PATH,104,5825.521,588.7355,625.7487,0,0,1,0,100,0), -- 17:45:59 +(@PATH,105,5825.271,587.4855,625.9987,0,0,1,0,100,0), -- 17:45:59 +(@PATH,106,5822.575,582.8594,626.4241,0,0,1,0,100,0), -- 17:46:01 +(@PATH,107,5815.441,579.615,627.5906,0,0,1,0,100,0), -- 17:46:02 +(@PATH,108,5814.441,578.865,627.8406,0,0,1,0,100,0), -- 17:46:02 +(@PATH,109,5812.545,576.4588,628.457,0,0,1,0,100,0), -- 17:46:03 +(@PATH,110,5811.545,574.7088,628.707,0,0,1,0,100,0), -- 17:46:03 +(@PATH,111,5810.408,571.4939,629.276,0,0,1,0,100,0), -- 17:46:04 +(@PATH,112,5804.017,568.0781,629.6204,0,0,1,0,100,0), -- 17:46:06 +(@PATH,113,5803.017,566.5781,629.8704,0,0,1,0,100,0), -- 17:46:06 +(@PATH,114,5803.129,566.3809,629.8486,0,0,1,0,100,0), -- 17:46:07 +(@PATH,115,5801.879,564.8809,629.8486,0,0,1,0,100,0), -- 17:46:07 +(@PATH,116,5801.879,563.1309,629.8486,0,0,1,0,100,0), -- 17:46:07 +(@PATH,117,5801.629,561.8809,629.8486,0,0,1,0,100,0), -- 17:46:07 +(@PATH,118,5801.365,560.2042,630.7414,0,0,1,0,100,0), -- 17:46:08 +(@PATH,119,5796.325,553.0746,634.724,0,0,1,0,100,0), -- 17:46:09 +(@PATH,120,5793.369,549.6201,634.8419,0,0,1,0,100,0), -- 17:46:10 +(@PATH,121,5792.119,548.8701,634.8419,0,0,1,0,100,0), -- 17:46:10 +(@PATH,122,5791.119,548.3701,634.8419,0,0,1,0,100,0), -- 17:46:10 +(@PATH,123,5788.369,546.6201,636.8419,0,0,1,0,100,0), -- 17:46:10 +(@PATH,124,5785.869,545.1201,638.0919,0,0,1,0,100,0), -- 17:46:10 +(@PATH,125,5790.984,548.038,634.9894,0,0,1,0,100,0), -- 17:46:15 +(@PATH,126,5792.234,548.788,634.9894,0,0,1,0,100,0), -- 17:46:15 +(@PATH,127,5792.435,549.0204,634.8621,0,0,1,0,100,0), -- 17:46:17 +(@PATH,128,5793.435,549.7704,634.8621,0,0,1,0,100,0), -- 17:46:17 +(@PATH,129,5795.435,552.0204,634.8621,0,0,1,0,100,0), -- 17:46:17 +(@PATH,130,5796.685,553.2704,635.1121,0,0,1,0,100,0), -- 17:46:17 +(@PATH,131,5796.966,553.6017,634.8666,0,0,1,0,100,0), -- 17:46:18 +(@PATH,132,5797.216,554.1017,634.3666,0,0,1,0,100,0), -- 17:46:18 +(@PATH,133,5801.743,562.6663,630.2207,0,0,1,0,100,0), -- 17:46:20 +(@PATH,134,5801.743,564.9163,630.2207,0,0,1,0,100,0), -- 17:46:20 +(@PATH,135,5802.493,565.9163,630.2207,0,0,1,0,100,0), -- 17:46:20 +(@PATH,136,5804.158,567.8349,629.5902,0,0,1,0,100,0), -- 17:46:21 +(@PATH,137,5810.48,571.2711,629.313,0,0,1,0,100,0), -- 17:46:23 +(@PATH,138,5812.102,575.7954,628.5873,0,0,1,0,100,0), -- 17:46:24 +(@PATH,139,5812.102,576.5454,628.3373,0,0,1,0,100,0), -- 17:46:24 +(@PATH,140,5814.352,578.7954,628.0873,0,0,1,0,100,0), -- 17:46:24 +(@PATH,141,5814.542,578.6766,628.0162,0,0,1,0,100,0), -- 17:46:25 +(@PATH,142,5815.292,579.6766,627.7662,0,0,1,0,100,0), -- 17:46:25 +(@PATH,143,5816.792,579.6766,627.7662,0,0,1,0,100,0), -- 17:46:25 +(@PATH,144,5822.438,582.6847,626.7626,0,0,1,0,100,0), -- 17:46:26 +(@PATH,145,5823.438,583.9347,626.5126,0,0,1,0,100,0), -- 17:46:26 +(@PATH,146,5824.323,584.9958,626.1263,0,0,1,0,100,0), -- 17:46:27 +(@PATH,147,5825.073,587.2458,626.1263,0,0,1,0,100,0), -- 17:46:27 +(@PATH,148,5825.323,588.4958,626.1263,0,0,1,0,100,0), -- 17:46:27 +(@PATH,149,5826.115,590.5767,625.4272,0,0,1,0,100,0), -- 17:46:29 +(@PATH,150,5831.021,605.7319,623.0287,0,0,1,0,100,0), -- 17:46:29 +(@PATH,151,5829.021,599.4819,624.0287,0,0,1,0,100,0), -- 17:46:29 +(@PATH,152,5828.021,595.7319,624.5287,0,0,1,0,100,0), -- 17:46:29 +(@PATH,153,5827.271,592.9819,624.7787,0,0,1,0,100,0), -- 17:46:29 +(@PATH,154,5826.521,590.9819,625.5287,0,0,1,0,100,0), -- 17:46:29 +(@PATH,155,5831.989,596.5863,624.5801,0,0,1,0,100,0), -- 17:46:30 +(@PATH,156,5833.593,600.676,623.2581,0,0,1,0,100,0), -- 17:46:31 +(@PATH,157,5833.843,605.926,622.7581,0,0,1,0,100,0), -- 17:46:31 +(@PATH,158,5833.962,607.8434,622.0533,0,0,1,0,100,0), -- 17:46:32 +(@PATH,159,5833.712,609.3434,621.8033,0,0,1,0,100,0), -- 17:46:32 +(@PATH,160,5833.462,610.3434,622.0533,0,0,1,0,100,0), -- 17:46:32 +(@PATH,161,5832.712,614.5934,621.5533,0,0,1,0,100,0), -- 17:46:32 +(@PATH,162,5832.712,615.5934,621.0533,0,0,1,0,100,0), -- 17:46:32 +(@PATH,163,5832.212,618.0934,619.8033,0,0,1,0,100,0), -- 17:46:32 +(@PATH,164,5832.256,618.2179,619.4556,0,0,1,0,100,0), -- 17:46:35 +(@PATH,165,5832.006,618.7179,619.2056,0,0,1,0,100,0), -- 17:46:35 +(@PATH,166,5832.506,620.9679,618.2056,0,0,1,0,100,0), -- 17:46:35 +(@PATH,167,5832.756,622.4679,617.7056,0,0,1,0,100,0), -- 17:46:35 +(@PATH,168,5832.239,621.2859,617.7874,0,0,1,0,100,0), -- 17:46:36 +(@PATH,169,5832.489,622.5359,617.5374,0,0,1,0,100,0), -- 17:46:36 +(@PATH,170,5832.739,624.2859,617.0374,0,0,1,0,100,0), -- 17:46:36 +(@PATH,171,5832.239,624.5359,616.5374,0,0,1,0,100,0), -- 17:46:36 +(@PATH,172,5830.989,625.5359,616.2874,0,0,1,0,100,0), -- 17:46:36 +(@PATH,173,5829.739,626.7859,616.0374,0,0,1,0,100,0), -- 17:46:36 +(@PATH,174,5828.739,627.5359,615.5374,0,0,1,0,100,0), -- 17:46:36 +(@PATH,175,5826.31,630.0842,614.1038,0,0,1,0,100,0), -- 17:46:38 +(@PATH,176,5825.06,631.8342,613.3538,0,0,1,0,100,0), -- 17:46:38 +(@PATH,177,5824.81,632.0842,613.1038,0,0,1,0,100,0), -- 17:46:38 +(@PATH,178,5824.31,633.3342,612.6038,0,0,1,0,100,0), -- 17:46:38 +(@PATH,179,5824.213,633.7821,612.4078,0,0,1,0,100,0), -- 17:46:40 +(@PATH,180,5823.713,634.7821,611.6578,0,0,1,0,100,0), -- 17:46:40 +(@PATH,181,5824.463,636.7821,611.1578,0,0,1,0,100,0), -- 17:46:40 +(@PATH,182,5823.713,638.2821,610.6578,0,0,1,0,100,0), -- 17:46:40 +(@PATH,183,5825.163,639.6008,610.0427,0,0,1,0,100,0), -- 17:46:41 +(@PATH,184,5823.413,639.3508,610.0427,0,0,1,0,100,0), -- 17:46:41 +(@PATH,185,5822.913,639.3508,609.7927,0,0,1,0,100,0), -- 17:46:41 +(@PATH,186,5821.913,640.8508,610.2927,0,0,1,0,100,0), -- 17:46:41 +(@PATH,187,5821.71,641.128,610.0275,0,0,1,0,100,0), -- 17:46:42 +(@PATH,188,5820.21,642.878,610.0275,0,0,1,0,100,0), -- 17:46:42 +(@PATH,189,5816.96,643.628,610.0275,0,0,1,0,100,0), -- 17:46:42 +(@PATH,190,5813.353,644.3413,610.1364,0,0,1,0,100,0), -- 17:46:43 +(@PATH,191,5804.18,638.688,610.1359,0,0,1,0,100,0), -- 17:46:45 +(@PATH,192,5792.854,635.4862,610.1309,0,0,1,0,100,0), -- 17:46:48 +(@PATH,193,5786.168,634.7509,609.4952,0,0,1,0,100,0), -- 17:46:49 +(@PATH,194,5783.918,634.5009,609.4952,0,0,1,0,100,0), -- 17:46:49 +(@PATH,195,5782.418,634.5009,610.4952,0,0,1,0,100,0), -- 17:46:49 +(@PATH,196,5781.418,634.5009,610.9952,0,0,1,0,100,0), -- 17:46:49 +(@PATH,197,5782.23,634.389,610.3091,0,0,1,0,100,0), -- 17:46:51 +(@PATH,198,5781.23,634.389,611.0591,0,0,1,0,100,0), -- 17:46:51 +(@PATH,199,5779.23,634.389,612.0591,0,0,1,0,100,0), -- 17:46:51 +(@PATH,200,5778.23,635.389,612.5591,0,0,1,0,100,0), -- 17:46:51 +(@PATH,201,5775.73,637.889,614.8091,0,0,1,0,100,0), -- 17:46:51 +(@PATH,202,5773.956,639.8704,616.4454,0,0,1,0,100,0), -- 17:46:53 +(@PATH,203,5772.456,641.3704,616.9454,0,0,1,0,100,0), -- 17:46:53 +(@PATH,204,5772.206,641.6204,617.1954,0,0,1,0,100,0), -- 17:46:53 +(@PATH,205,5771.206,642.3704,617.6954,0,0,1,0,100,0), -- 17:46:53 +(@PATH,206,5766.706,645.1204,617.6954,0,0,1,0,100,0), -- 17:46:53 +(@PATH,207,5761.375,648.278,617.9376,0,0,1,0,100,0), -- 17:46:56 +(@PATH,208,5759.875,649.278,617.6876,0,0,1,0,100,0), -- 17:46:56 +(@PATH,209,5758.625,650.278,617.9376,0,0,1,0,100,0), -- 17:46:56 +(@PATH,210,5757.67,652.2993,618.3185,0,0,1,0,100,0), -- 17:46:58 +(@PATH,211,5759.17,653.2993,618.3185,0,0,1,0,100,0), -- 17:46:58 +(@PATH,212,5760.92,654.5493,618.5685,0,0,1,0,100,0), -- 17:46:58 +(@PATH,213,5762.17,655.5493,618.8185,0,0,1,0,100,0), -- 17:46:58 +(@PATH,214,5763.629,656.9517,618.8355,0,0,1,0,100,0), -- 17:46:59 +(@PATH,215,5765.379,661.2017,618.8355,0,0,1,0,100,0), -- 17:46:59 +(@PATH,216,5769.263,664.3608,618.6702,0,0,1,0,100,0), -- 17:47:01 +(@PATH,217,5773.755,666.7302,618.8483,0,0,1,0,100,0), -- 17:47:02 +(@PATH,218,5774.306,667.0947,618.7543,0,0,1,0,100,0), -- 17:47:03 +(@PATH,219,5776.306,666.0947,618.7543,0,0,1,0,100,0), -- 17:47:03 +(@PATH,220,5776.556,665.8447,619.0043,0,0,1,0,100,0), -- 17:47:03 +(@PATH,221,5778.556,667.5947,619.0043,0,0,1,0,100,0), -- 17:47:03 +(@PATH,222,5781.24,670.0711,619.0645,0,0,1,0,100,0), -- 17:47:04 +(@PATH,223,5786.377,671.8536,619.2012,0,0,1,0,100,0), -- 17:47:06 +(@PATH,224,5788.669,677.6926,619.214,0,0,1,0,100,0), -- 17:47:07 +(@PATH,225,5788.669,678.9426,619.214,0,0,1,0,100,0), -- 17:47:07 +(@PATH,226,5788.923,679.4878,619.0298,0,0,1,0,100,0), -- 17:47:08 +(@PATH,227,5789.673,680.2378,619.0298,0,0,1,0,100,0), -- 17:47:08 +(@PATH,228,5791.423,682.4878,619.0298,0,0,1,0,100,0), -- 17:47:08 +(@PATH,229,5792.423,682.9878,619.2798,0,0,1,0,100,0), -- 17:47:08 +(@PATH,230,5794.02,683.6155,619.2227,0,0,1,0,100,0), -- 17:47:09 +(@PATH,231,5798.77,686.8655,619.2227,0,0,1,0,100,0), -- 17:47:09 +(@PATH,232,5799.506,689.4122,619.0743,0,0,1,0,100,0), -- 17:47:10 +(@PATH,233,5799.006,690.9122,619.0743,0,0,1,0,100,0), -- 17:47:10 +(@PATH,234,5798.506,692.1622,619.0743,0,0,1,0,100,0), -- 17:47:10 +(@PATH,235,5797.256,695.1622,619.0743,0,0,1,0,100,0), -- 17:47:10 +(@PATH,236,5796.256,698.1622,619.0743,0,0,1,0,100,0), -- 17:47:10 +(@PATH,237,5795.756,699.6622,619.3243,0,0,1,0,100,0), -- 17:47:10 +(@PATH,238,5795.712,700.3739,619.2347,0,0,1,0,100,0), -- 17:47:13 +(@PATH,239,5795.462,702.8739,619.2347,0,0,1,0,100,0), -- 17:47:13 +(@PATH,240,5796.152,707.1231,619.7043,0,0,1,0,100,0), -- 17:47:15 +(@PATH,241,5796.652,708.1231,619.7043,0,0,1,0,100,0), -- 17:47:15 +(@PATH,242,5797.652,709.1231,619.4543,0,0,1,0,100,0), -- 17:47:15 +(@PATH,243,5798.298,709.5776,619.3361,0,0,1,0,100,0), -- 17:47:16 +(@PATH,244,5800.298,709.3276,619.3361,0,0,1,0,100,0), -- 17:47:16 +(@PATH,245,5805.703,712.6086,619.0933,0,0,1,0,100,0), -- 17:47:17 +(@PATH,246,5805.453,714.8586,619.0933,0,0,1,0,100,0), -- 17:47:17 +(@PATH,247,5805.453,716.1086,619.0933,0,0,1,0,100,0), -- 17:47:17 +(@PATH,248,5805.642,716.5522,619.5599,0,0,1,0,100,0), -- 17:47:18 +(@PATH,249,5805.642,717.0522,619.5599,0,0,1,0,100,0), -- 17:47:18 +(@PATH,250,5812.082,724.9027,624.3082,0,0,1,0,100,0), -- 17:47:20 +(@PATH,251,5812.286,725.2038,624.2163,0,0,1,0,100,0); -- 17:47:21 + +-- Pathing for Underbelly Rat Entry: 32428 'TDB FORMAT' +SET @NPC := 112316; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=5650.283,`position_y`=859.0229,`position_z`=571.1886 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,5650.283,859.0229,571.1886,0,0,1,0,100,0), -- 16:14:32 +(@PATH,2,5653.515,856.0323,571.1707,0,0,1,0,100,0), -- 16:14:35 +(@PATH,3,5670.484,841.5376,582.4416,0,0,1,0,100,0), -- 16:14:37 +(@PATH,4,5687.539,826.0508,591.1404,0,0,1,0,100,0), -- 16:14:43 +(@PATH,5,5701.289,812.3008,593.8904,0,0,1,0,100,0), -- 16:14:43 +(@PATH,6,5704.789,808.8008,594.8904,0,0,1,0,100,0), -- 16:14:43 +(@PATH,7,5710.128,803.3888,596.3097,0,0,1,0,100,0), -- 16:14:52 +(@PATH,8,5723.128,792.1388,599.5597,0,0,1,0,100,0), -- 16:14:52 +(@PATH,9,5724.628,790.8888,600.5597,0,0,1,0,100,0), -- 16:14:52 +(@PATH,10,5733.628,782.8888,608.0597,0,0,1,0,100,0), -- 16:14:52 +(@PATH,11,5737.265,778.5158,611.3041,0,0,1,0,100,0), -- 16:14:59 +(@PATH,12,5742.015,772.2658,613.8041,0,0,1,0,100,0), -- 16:14:59 +(@PATH,13,5746.515,766.5158,617.0541,0,0,1,0,100,0), -- 16:14:59 +(@PATH,14,5750.793,762.6057,619.7878,0,0,1,0,100,0), -- 16:15:04 +(@PATH,15,5753.543,760.8557,619.5378,0,0,1,0,100,0), -- 16:15:04 +(@PATH,16,5763.043,755.6057,620.7878,0,0,1,0,100,0), -- 16:15:04 +(@PATH,17,5764.293,755.1057,621.0378,0,0,1,0,100,0), -- 16:15:04 +(@PATH,18,5769.043,752.3557,621.2878,0,0,1,0,100,0), -- 16:15:04 +(@PATH,19,5770.268,751.4404,621.4811,0,0,1,0,100,0), -- 16:15:09 +(@PATH,20,5776.518,745.4404,620.9811,0,0,1,0,100,0), -- 16:15:09 +(@PATH,21,5776.768,744.6904,620.7311,0,0,1,0,100,0), -- 16:15:09 +(@PATH,22,5778.323,743.4258,620.5052,0,0,1,0,100,0), -- 16:15:11 +(@PATH,23,5780.823,741.4258,619.5052,0,0,1,0,100,0), -- 16:15:11 +(@PATH,24,5782.027,740.5856,619.0101,0,0,1,0,100,0), -- 16:15:13 +(@PATH,25,5783.527,742.3356,619.0101,0,0,1,0,100,0), -- 16:15:13 +(@PATH,26,5779.737,745.7886,618.8125,0,0,1,0,100,0), -- 16:15:14 +(@PATH,27,5787.284,745.8883,618.6033,0,0,1,0,100,0), -- 16:15:15 +(@PATH,28,5790.284,743.3883,618.8533,0,0,1,0,100,0), -- 16:15:15 +(@PATH,29,5795.118,739.8246,618.873,0,0,1,0,100,0), -- 16:15:18 +(@PATH,30,5792.629,737.5529,618.8592,0,0,1,0,100,0), -- 16:15:19 +(@PATH,31,5783.301,728.3273,618.8666,0,0,1,0,100,0), -- 16:15:20 +(@PATH,32,5783.337,728.0176,618.8483,0,0,1,0,100,0), -- 16:15:21 +(@PATH,33,5781.837,727.0176,618.8483,0,0,1,0,100,0), -- 16:15:21 +(@PATH,34,5781.337,724.0176,618.8483,0,0,1,0,100,0), -- 16:15:21 +(@PATH,35,5780.837,722.5176,618.8483,0,0,1,0,100,0), -- 16:15:21 +(@PATH,36,5780.337,720.0176,618.8483,0,0,1,0,100,0), -- 16:15:21 +(@PATH,37,5779.337,716.2676,618.8483,0,0,1,0,100,0), -- 16:15:21 +(@PATH,38,5774.164,714.2116,618.8179,0,0,1,0,100,0), -- 16:15:25 +(@PATH,39,5772.414,714.4616,618.8179,0,0,1,0,100,0), -- 16:15:25 +(@PATH,40,5769.005,714.0853,618.8335,0,0,1,0,100,0), -- 16:15:26 +(@PATH,41,5763.755,714.0853,618.5835,0,0,1,0,100,0), -- 16:15:26 +(@PATH,42,5759.819,713.6582,618.7951,0,0,1,0,100,0), -- 16:15:29 +(@PATH,43,5759.069,712.9082,618.7951,0,0,1,0,100,0), -- 16:15:29 +(@PATH,44,5755.638,710.6156,618.8008,0,0,1,0,100,0), -- 16:15:30 +(@PATH,45,5746.335,704.4907,618.808,0,0,1,0,100,0), -- 16:15:31 +(@PATH,46,5750.018,702.1482,618.8112,0,0,1,0,100,0), -- 16:15:32 +(@PATH,47,5758.679,708.1224,618.7933,0,0,1,0,100,0), -- 16:15:35 +(@PATH,48,5760.795,704.0508,618.7969,0,0,1,0,100,0), -- 16:15:36 +(@PATH,49,5761.01,699.34,618.8027,0,0,1,0,100,0), -- 16:15:37 +(@PATH,50,5755.76,692.84,618.8027,0,0,1,0,100,0), -- 16:15:37 +(@PATH,51,5754.76,692.09,618.8027,0,0,1,0,100,0), -- 16:15:37 +(@PATH,52,5753.962,691.2664,618.8077,0,0,1,0,100,0), -- 16:15:40 +(@PATH,53,5748.369,690.7922,618.833,0,0,1,0,100,0), -- 16:15:41 +(@PATH,54,5747.619,690.0422,618.833,0,0,1,0,100,0), -- 16:15:41 +(@PATH,55,5747.197,689.2921,618.8251,0,0,1,0,100,0), -- 16:15:42 +(@PATH,56,5750.266,681.3962,618.9155,0,0,1,0,100,0), -- 16:15:43 +(@PATH,57,5749.266,682.6462,618.9155,0,0,1,0,100,0), -- 16:15:43 +(@PATH,58,5743.016,688.8962,613.9155,0,0,1,0,100,0), -- 16:15:43 +(@PATH,59,5738.654,689.4673,613.6896,0,0,1,0,100,0), -- 16:15:47 +(@PATH,60,5737.154,689.4673,613.6896,0,0,1,0,100,0), -- 16:15:47 +(@PATH,61,5736.978,686.3589,613.4945,0,0,1,0,100,0), -- 16:15:48 +(@PATH,62,5733.56,684.1531,613.4932,0,0,1,0,100,0), -- 16:15:49 +(@PATH,63,5730.135,677.58,613.4932,0,0,1,0,100,0), -- 16:15:51 +(@PATH,64,5726.457,675.5121,613.4932,0,0,1,0,100,0), -- 16:15:52 +(@PATH,65,5724.421,667.7317,613.4932,0,0,1,0,100,0), -- 16:15:53 +(@PATH,66,5727.515,664.7499,613.4932,0,0,1,0,100,0), -- 16:15:54 +(@PATH,67,5734.917,671.2552,613.4932,0,0,1,0,100,0), -- 16:15:57 +(@PATH,68,5749.247,678.9826,613.4949,0,0,1,0,100,0), -- 16:15:59 +(@PATH,69,5751.447,678.4545,613.4927,0,0,1,0,100,0), -- 16:16:02 +(@PATH,70,5751.198,678.1135,613.2466,0,0,1,0,100,0), -- 16:16:05 +(@PATH,71,5746.315,680.7532,613.4939,0,0,1,0,100,0), -- 16:16:07 +(@PATH,72,5743.315,682.0032,613.4939,0,0,1,0,100,0), -- 16:16:07 +(@PATH,73,5743.031,682.0266,613.4927,0,0,1,0,100,0), -- 16:16:08 +(@PATH,74,5742.531,682.2766,613.4927,0,0,1,0,100,0), -- 16:16:08 +(@PATH,75,5734.784,669.1796,613.4932,0,0,1,0,100,0), -- 16:16:12 +(@PATH,76,5724.512,667.5809,613.4932,0,0,1,0,100,0), -- 16:16:14 +(@PATH,77,5722.986,670.8528,613.4932,0,0,1,0,100,0), -- 16:16:15 +(@PATH,78,5728.049,675.2232,613.4932,0,0,1,0,100,0), -- 16:16:16 +(@PATH,79,5729.3,679.3695,613.4932,0,0,1,0,100,0), -- 16:16:18 +(@PATH,80,5733.373,684.2302,613.4932,0,0,1,0,100,0), -- 16:16:19 +(@PATH,81,5737.212,689.38,613.487,0,0,1,0,100,0), -- 16:16:20 +(@PATH,82,5738.462,689.38,613.487,0,0,1,0,100,0), -- 16:16:20 +(@PATH,83,5742.366,689.6543,613.689,0,0,1,0,100,0), -- 16:16:21 +(@PATH,84,5743.116,688.9043,613.939,0,0,1,0,100,0), -- 16:16:21 +(@PATH,85,5749.116,682.6543,618.689,0,0,1,0,100,0), -- 16:16:21 +(@PATH,86,5751.858,684.0981,618.7845,0,0,1,0,100,0), -- 16:16:24 +(@PATH,87,5751.939,684.1434,618.7609,0,0,1,0,100,0), -- 16:16:25 +(@PATH,88,5752.439,685.1434,618.7609,0,0,1,0,100,0), -- 16:16:25 +(@PATH,89,5748.244,690.5693,618.8226,0,0,1,0,100,0), -- 16:16:26 +(@PATH,90,5749.485,692.1129,618.8344,0,0,1,0,100,0), -- 16:16:27 +(@PATH,91,5755.502,692.8773,618.8097,0,0,1,0,100,0), -- 16:16:29 +(@PATH,92,5761.164,699.276,618.8109,0,0,1,0,100,0), -- 16:16:30 +(@PATH,93,5760.932,703.9943,618.8033,0,0,1,0,100,0), -- 16:16:31 +(@PATH,94,5762.46,706.2981,618.8008,0,0,1,0,100,0), -- 16:16:32 +(@PATH,95,5758.46,708.2981,618.8008,0,0,1,0,100,0), -- 16:16:32 +(@PATH,96,5756.85,709.1187,618.791,0,0,1,0,100,0), -- 16:16:34 +(@PATH,97,5750.122,702.084,618.8142,0,0,1,0,100,0), -- 16:16:35 +(@PATH,98,5746.29,704.5815,618.8041,0,0,1,0,100,0), -- 16:16:36 +(@PATH,99,5759.648,713.4418,618.8074,0,0,1,0,100,0), -- 16:16:39 +(@PATH,100,5759.953,713.6576,618.5587,0,0,1,0,100,0), -- 16:16:40 +(@PATH,101,5760.703,714.1576,618.8087,0,0,1,0,100,0), -- 16:16:40 +(@PATH,102,5763.453,714.1576,618.8087,0,0,1,0,100,0), -- 16:16:40 +(@PATH,103,5773.857,714.0711,618.8163,0,0,1,0,100,0), -- 16:16:42 +(@PATH,104,5778.107,714.0711,618.8163,0,0,1,0,100,0), -- 16:16:42 +(@PATH,105,5777.944,714.274,618.8197,0,0,1,0,100,0), -- 16:16:43 +(@PATH,106,5778.444,714.274,618.8197,0,0,1,0,100,0), -- 16:16:43 +(@PATH,107,5778.944,716.274,618.8197,0,0,1,0,100,0), -- 16:16:43 +(@PATH,108,5779.944,720.024,618.8197,0,0,1,0,100,0), -- 16:16:43 +(@PATH,109,5780.444,722.274,618.8197,0,0,1,0,100,0), -- 16:16:43 +(@PATH,110,5780.944,724.024,618.8197,0,0,1,0,100,0), -- 16:16:43 +(@PATH,111,5781.226,724.3087,618.8374,0,0,1,0,100,0), -- 16:16:46 +(@PATH,112,5781.976,727.0587,618.8374,0,0,1,0,100,0), -- 16:16:46 +(@PATH,113,5783.476,728.0587,618.8374,0,0,1,0,100,0), -- 16:16:46 +(@PATH,114,5786.476,730.5587,618.8374,0,0,1,0,100,0), -- 16:16:46 +(@PATH,115,5792.619,737.4194,618.8751,0,0,1,0,100,0), -- 16:16:48 +(@PATH,116,5794.882,739.73,618.8389,0,0,1,0,100,0), -- 16:16:50 +(@PATH,117,5790.382,743.23,618.8389,0,0,1,0,100,0), -- 16:16:50 +(@PATH,118,5787.132,745.98,618.8389,0,0,1,0,100,0), -- 16:16:50 +(@PATH,119,5780.194,747.6804,618.821,0,0,1,0,100,0), -- 16:16:53 +(@PATH,120,5779.756,745.7902,618.8091,0,0,1,0,100,0), -- 16:16:54 +(@PATH,121,5780.814,741.4368,619.417,0,0,1,0,100,0), -- 16:16:56 +(@PATH,122,5779.314,742.9368,620.417,0,0,1,0,100,0), -- 16:16:56 +(@PATH,123,5778.416,743.634,620.3975,0,0,1,0,100,0), -- 16:16:57 +(@PATH,124,5776.916,744.634,620.6475,0,0,1,0,100,0), -- 16:16:57 +(@PATH,125,5764.335,754.9359,620.9836,0,0,1,0,100,0), -- 16:16:59 +(@PATH,126,5763.085,755.6859,620.7336,0,0,1,0,100,0), -- 16:16:59 +(@PATH,127,5753.585,760.9359,619.9836,0,0,1,0,100,0), -- 16:16:59 +(@PATH,128,5750.835,762.4359,619.9836,0,0,1,0,100,0), -- 16:16:59 +(@PATH,129,5746.658,766.3828,617.2808,0,0,1,0,100,0), -- 16:17:04 +(@PATH,130,5742.408,771.8828,614.0308,0,0,1,0,100,0), -- 16:17:04 +(@PATH,131,5737.908,777.6328,612.0308,0,0,1,0,100,0), -- 16:17:04 +(@PATH,132,5723.007,791.8114,599.489,0,0,1,0,100,0), -- 16:17:09 +(@PATH,133,5710.257,803.5614,596.239,0,0,1,0,100,0), -- 16:17:09 +(@PATH,134,5704.813,808.7985,594.8409,0,0,1,0,100,0), -- 16:17:17 +(@PATH,135,5701.313,812.2985,593.8409,0,0,1,0,100,0), -- 16:17:17 +(@PATH,136,5687.563,826.0485,591.3409,0,0,1,0,100,0), -- 16:17:17 +(@PATH,137,5682.813,830.7985,588.5909,0,0,1,0,100,0), -- 16:17:17 +(@PATH,138,5670.488,841.3165,582.2974,0,0,1,0,100,0), -- 16:17:25 +(@PATH,139,5650.221,859.0325,570.9788,0,0,1,0,100,0); -- 16:17:33 + +-- Pathing for Underbelly Rat Entry: 32428 'TDB FORMAT' +SET @NPC := 112317; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=5932.637,`position_y`=560.9154,`position_z`=609.7726 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,5932.637,560.9154,609.7726,0,0,1,0,100,0), -- 17:52:18 +(@PATH,2,5929.887,559.4154,610.0226,0,0,1,0,100,0), -- 17:52:18 +(@PATH,3,5924.16,562.6399,610.0771,0,0,1,0,100,0), -- 17:52:19 +(@PATH,4,5923.41,563.6399,610.0771,0,0,1,0,100,0), -- 17:52:19 +(@PATH,5,5922.568,564.0256,610.0319,0,0,1,0,100,0), -- 17:52:21 +(@PATH,6,5920.568,563.7756,610.2819,0,0,1,0,100,0), -- 17:52:21 +(@PATH,7,5919.818,563.5256,610.2819,0,0,1,0,100,0), -- 17:52:21 +(@PATH,8,5919.068,562.0256,610.0319,0,0,1,0,100,0), -- 17:52:21 +(@PATH,9,5917.318,559.2756,610.0319,0,0,1,0,100,0), -- 17:52:21 +(@PATH,10,5912.753,557.5631,610.0347,0,0,1,0,100,0), -- 17:52:23 +(@PATH,11,5916.578,562.7064,609.9109,0,0,1,0,100,0), -- 17:52:24 +(@PATH,12,5917.078,563.7064,610.1609,0,0,1,0,100,0), -- 17:52:24 +(@PATH,13,5918.578,565.4564,610.1609,0,0,1,0,100,0), -- 17:52:24 +(@PATH,14,5918.574,565.3858,610.2579,0,0,1,0,100,0), -- 17:52:26 +(@PATH,15,5919.574,566.8858,610.2579,0,0,1,0,100,0), -- 17:52:26 +(@PATH,16,5915.942,569.4524,611.0398,0,0,1,0,100,0), -- 17:52:27 +(@PATH,17,5914.692,570.4524,611.0398,0,0,1,0,100,0), -- 17:52:27 +(@PATH,18,5913.692,571.9524,611.0398,0,0,1,0,100,0), -- 17:52:27 +(@PATH,19,5911.692,574.7024,611.7898,0,0,1,0,100,0), -- 17:52:27 +(@PATH,20,5910.942,575.7024,611.7898,0,0,1,0,100,0), -- 17:52:27 +(@PATH,21,5909.692,577.4524,611.7898,0,0,1,0,100,0), -- 17:52:27 +(@PATH,22,5908.942,578.7024,611.7898,0,0,1,0,100,0), -- 17:52:27 +(@PATH,23,5909.448,577.5765,611.9888,0,0,1,0,100,0), -- 17:52:29 +(@PATH,24,5908.698,578.8265,611.9888,0,0,1,0,100,0), -- 17:52:29 +(@PATH,25,5906.948,580.8265,612.4888,0,0,1,0,100,0), -- 17:52:29 +(@PATH,26,5898.948,586.3265,612.9888,0,0,1,0,100,0), -- 17:52:29 +(@PATH,27,5897.698,587.3265,613.2388,0,0,1,0,100,0), -- 17:52:29 +(@PATH,28,5888.133,593.8323,614.5677,0,0,1,0,100,0), -- 17:52:34 +(@PATH,29,5868.403,608.2256,616.2552,0,0,1,0,100,0), -- 17:52:39 +(@PATH,30,5867.403,608.9756,616.0052,0,0,1,0,100,0), -- 17:52:39 +(@PATH,31,5863.653,611.2256,617.2552,0,0,1,0,100,0), -- 17:52:39 +(@PATH,32,5867.005,608.8441,616.1553,0,0,1,0,100,0), -- 17:52:40 +(@PATH,33,5863.755,611.0941,617.1553,0,0,1,0,100,0), -- 17:52:40 +(@PATH,34,5863.005,611.5941,617.1553,0,0,1,0,100,0), -- 17:52:40 +(@PATH,35,5862.755,610.0941,617.4053,0,0,1,0,100,0), -- 17:52:40 +(@PATH,36,5862.716,609.9548,617.6683,0,0,1,0,100,0), -- 17:52:42 +(@PATH,37,5862.466,607.4548,617.9183,0,0,1,0,100,0), -- 17:52:42 +(@PATH,38,5861.716,605.4548,618.4183,0,0,1,0,100,0), -- 17:52:42 +(@PATH,39,5859.642,601.2751,619.6371,0,0,1,0,100,0), -- 17:52:43 +(@PATH,40,5859.803,596.2305,620.6752,0,0,1,0,100,0), -- 17:52:44 +(@PATH,41,5854.399,592.0137,622.5385,0,0,1,0,100,0), -- 17:52:45 +(@PATH,42,5853.606,591.7081,622.5364,0,0,1,0,100,0), -- 17:52:47 +(@PATH,43,5852.856,590.7081,622.7864,0,0,1,0,100,0), -- 17:52:47 +(@PATH,44,5852.356,590.2081,623.0364,0,0,1,0,100,0), -- 17:52:47 +(@PATH,45,5851.106,589.4581,623.2864,0,0,1,0,100,0), -- 17:52:47 +(@PATH,46,5848.088,586.9359,623.8063,0,0,1,0,100,0), -- 17:52:48 +(@PATH,47,5846.588,585.1859,624.0563,0,0,1,0,100,0), -- 17:52:48 +(@PATH,48,5838.51,583.7482,624.8914,0,0,1,0,100,0), -- 17:52:50 +(@PATH,49,5837.691,585.6058,625.1302,0,0,1,0,100,0), -- 17:52:52 +(@PATH,50,5837.691,586.8558,625.1302,0,0,1,0,100,0), -- 17:52:52 +(@PATH,51,5837.441,588.3558,624.8802,0,0,1,0,100,0), -- 17:52:52 +(@PATH,52,5836.941,589.3558,624.8802,0,0,1,0,100,0), -- 17:52:52 +(@PATH,53,5835.691,591.3558,624.6302,0,0,1,0,100,0), -- 17:52:52 +(@PATH,54,5834.941,592.1058,624.6302,0,0,1,0,100,0), -- 17:52:52 +(@PATH,55,5835.415,591.4377,624.7817,0,0,1,0,100,0), -- 17:52:53 +(@PATH,56,5834.665,592.1877,624.7817,0,0,1,0,100,0), -- 17:52:53 +(@PATH,57,5834.415,592.6877,624.7817,0,0,1,0,100,0), -- 17:52:53 +(@PATH,58,5831.665,592.9377,625.0317,0,0,1,0,100,0), -- 17:52:53 +(@PATH,59,5829.415,592.9377,625.0317,0,0,1,0,100,0), -- 17:52:53 +(@PATH,60,5831.489,593.141,624.9569,0,0,1,0,100,0), -- 17:52:54 +(@PATH,61,5828.989,593.141,624.9569,0,0,1,0,100,0), -- 17:52:54 +(@PATH,62,5827.989,593.391,624.9569,0,0,1,0,100,0), -- 17:52:54 +(@PATH,63,5826.489,594.891,624.7069,0,0,1,0,100,0), -- 17:52:54 +(@PATH,64,5824.989,596.141,624.7069,0,0,1,0,100,0), -- 17:52:54 +(@PATH,65,5823.989,597.141,624.7069,0,0,1,0,100,0), -- 17:52:54 +(@PATH,66,5823.284,602.2316,624.696,0,0,1,0,100,0), -- 17:52:56 +(@PATH,67,5824.034,603.4816,624.446,0,0,1,0,100,0), -- 17:52:56 +(@PATH,68,5825.496,604.9807,624.1569,0,0,1,0,100,0), -- 17:52:58 +(@PATH,69,5832.577,609.1123,622.6941,0,0,1,0,100,0), -- 17:52:59 +(@PATH,70,5832.577,610.3623,622.4441,0,0,1,0,100,0), -- 17:52:59 +(@PATH,71,5832.645,613.0908,621.8396,0,0,1,0,100,0), -- 17:53:00 +(@PATH,72,5833.895,614.5908,621.3396,0,0,1,0,100,0), -- 17:53:00 +(@PATH,73,5834.645,616.0908,620.5896,0,0,1,0,100,0), -- 17:53:00 +(@PATH,74,5835.895,618.0908,620.5896,0,0,1,0,100,0), -- 17:53:00 +(@PATH,75,5836.239,617.9567,620.214,0,0,1,0,100,0), -- 17:53:01 +(@PATH,76,5837.489,620.2067,619.964,0,0,1,0,100,0), -- 17:53:01 +(@PATH,77,5839.739,620.2067,619.464,0,0,1,0,100,0), -- 17:53:01 +(@PATH,78,5841.018,620.4529,619.0253,0,0,1,0,100,0), -- 17:53:03 +(@PATH,79,5842.768,621.4529,618.5253,0,0,1,0,100,0), -- 17:53:03 +(@PATH,80,5847.018,623.7029,617.7753,0,0,1,0,100,0), -- 17:53:03 +(@PATH,81,5850.018,625.4529,617.2753,0,0,1,0,100,0), -- 17:53:03 +(@PATH,82,5853.018,627.2029,616.7753,0,0,1,0,100,0), -- 17:53:03 +(@PATH,83,5855.821,630.0739,616.2969,0,0,1,0,100,0), -- 17:53:06 +(@PATH,84,5856.571,630.8239,616.2969,0,0,1,0,100,0), -- 17:53:06 +(@PATH,85,5857.947,632.9325,616.1628,0,0,1,0,100,0), -- 17:53:07 +(@PATH,86,5862.197,634.6825,615.9128,0,0,1,0,100,0), -- 17:53:07 +(@PATH,87,5863.447,635.9325,615.9128,0,0,1,0,100,0), -- 17:53:07 +(@PATH,88,5865.894,644.5748,615.8455,0,0,1,0,100,0), -- 17:53:10 +(@PATH,89,5865.894,645.5748,615.3455,0,0,1,0,100,0), -- 17:53:10 +(@PATH,90,5865.829,645.791,615.4341,0,0,1,0,100,0), -- 17:53:11 +(@PATH,91,5865.829,646.041,615.4341,0,0,1,0,100,0), -- 17:53:11 +(@PATH,92,5862.829,647.541,615.4341,0,0,1,0,100,0), -- 17:53:11 +(@PATH,93,5861.579,648.041,615.1841,0,0,1,0,100,0), -- 17:53:11 +(@PATH,94,5859.079,644.791,615.1841,0,0,1,0,100,0), -- 17:53:11 +(@PATH,95,5857.829,643.541,614.9341,0,0,1,0,100,0), -- 17:53:11 +(@PATH,96,5856.982,643.02,614.5778,0,0,1,0,100,0), -- 17:53:13 +(@PATH,97,5855.482,644.27,614.0778,0,0,1,0,100,0), -- 17:53:13 +(@PATH,98,5853.982,645.27,614.3278,0,0,1,0,100,0), -- 17:53:13 +(@PATH,99,5848.046,652.5363,610.8051,0,0,1,0,100,0), -- 17:53:15 +(@PATH,100,5847.546,653.0363,610.8051,0,0,1,0,100,0), -- 17:53:15 +(@PATH,101,5843.546,659.2863,609.5551,0,0,1,0,100,0), -- 17:53:15 +(@PATH,102,5842.796,660.2863,610.3051,0,0,1,0,100,0), -- 17:53:15 +(@PATH,103,5842.046,661.2863,610.3051,0,0,1,0,100,0), -- 17:53:15 +(@PATH,104,5842.085,661.6648,609.9584,0,0,1,0,100,0), -- 17:53:18 +(@PATH,105,5840.085,664.4148,609.9584,0,0,1,0,100,0), -- 17:53:18 +(@PATH,106,5843.085,670.6648,609.9584,0,0,1,0,100,0), -- 17:53:18 +(@PATH,107,5842.802,678.5958,610.1359,0,0,1,0,100,0), -- 17:53:21 +(@PATH,108,5839.953,683.5137,610.1359,0,0,1,0,100,0), -- 17:53:22 +(@PATH,109,5834.206,685.7982,610.136,0,0,1,0,100,0), -- 17:53:24 +(@PATH,110,5828.92,685.1238,610.1359,0,0,1,0,100,0), -- 17:53:26 +(@PATH,111,5826.984,682.3601,610.1359,0,0,1,0,100,0), -- 17:53:27 +(@PATH,112,5818.48,668.6338,610.1359,0,0,1,0,100,0), -- 17:53:28 +(@PATH,113,5816.1,665.4202,610.1359,0,0,1,0,100,0), -- 17:53:31 +(@PATH,114,5815.1,664.1702,609.6359,0,0,1,0,100,0), -- 17:53:31 +(@PATH,115,5810.1,657.9202,609.6359,0,0,1,0,100,0), -- 17:53:31 +(@PATH,116,5808.85,656.9202,610.1359,0,0,1,0,100,0), -- 17:53:31 +(@PATH,117,5806.85,653.9202,610.1359,0,0,1,0,100,0), -- 17:53:31 +(@PATH,118,5793.123,634.9679,610.1359,0,0,1,0,100,0), -- 17:53:37 +(@PATH,119,5790.14,631.1789,610.1359,0,0,1,0,100,0), -- 17:53:39 +(@PATH,120,5788.89,630.1789,609.6359,0,0,1,0,100,0), -- 17:53:39 +(@PATH,121,5787.39,628.9289,609.6359,0,0,1,0,100,0), -- 17:53:39 +(@PATH,122,5785.64,627.4289,609.6359,0,0,1,0,100,0), -- 17:53:39 +(@PATH,123,5782.89,625.1789,609.6359,0,0,1,0,100,0), -- 17:53:39 +(@PATH,124,5781.64,624.1789,610.1359,0,0,1,0,100,0), -- 17:53:39 +(@PATH,125,5779.79,623.2709,610.2906,0,0,1,0,100,0), -- 17:53:43 +(@PATH,126,5773.29,624.0209,610.2906,0,0,1,0,100,0), -- 17:53:43 +(@PATH,127,5771.79,624.7709,609.5406,0,0,1,0,100,0), -- 17:53:43 +(@PATH,128,5765.886,625.5369,612.6761,0,0,1,0,100,0), -- 17:53:45 +(@PATH,129,5764.136,626.5369,613.6761,0,0,1,0,100,0), -- 17:53:45 +(@PATH,130,5762.886,626.7869,614.1761,0,0,1,0,100,0), -- 17:53:45 +(@PATH,131,5761.386,627.7869,614.9261,0,0,1,0,100,0), -- 17:53:45 +(@PATH,132,5757.345,630.0953,616.8363,0,0,1,0,100,0), -- 17:53:48 +(@PATH,133,5752.345,634.3453,617.8363,0,0,1,0,100,0), -- 17:53:48 +(@PATH,134,5751.345,635.0953,617.3363,0,0,1,0,100,0), -- 17:53:48 +(@PATH,135,5748.116,637.8995,618.5641,0,0,1,0,100,0), -- 17:53:50 +(@PATH,136,5747.366,636.3995,618.8141,0,0,1,0,100,0), -- 17:53:50 +(@PATH,137,5746.008,632.8196,618.8812,0,0,1,0,100,0), -- 17:53:51 +(@PATH,138,5744.508,625.0696,618.8812,0,0,1,0,100,0), -- 17:53:51 +(@PATH,139,5744.258,623.3196,619.1312,0,0,1,0,100,0), -- 17:53:51 +(@PATH,140,5743.789,622.6664,619.2971,0,0,1,0,100,0), -- 17:53:54 +(@PATH,141,5742.789,621.6664,619.2971,0,0,1,0,100,0), -- 17:53:54 +(@PATH,142,5741.789,620.1664,619.2971,0,0,1,0,100,0), -- 17:53:54 +(@PATH,143,5739.586,617.3193,619.2029,0,0,1,0,100,0), -- 17:53:55 +(@PATH,144,5723.11,606.8483,618.9691,0,0,1,0,100,0), -- 17:53:59 +(@PATH,145,5722.5,607.3009,619.1648,0,0,1,0,100,0), -- 17:54:00 +(@PATH,146,5723.25,609.0509,619.1648,0,0,1,0,100,0), -- 17:54:00 +(@PATH,147,5725.919,612.6741,619.2623,0,0,1,0,100,0), -- 17:54:01 +(@PATH,148,5727.169,613.6741,619.2623,0,0,1,0,100,0), -- 17:54:01 +(@PATH,149,5727.833,613.9911,619.2798,0,0,1,0,100,0), -- 17:54:02 +(@PATH,150,5730.833,618.4911,619.2798,0,0,1,0,100,0), -- 17:54:02 +(@PATH,151,5732.083,620.7411,619.2798,0,0,1,0,100,0), -- 17:54:02 +(@PATH,152,5736.408,628.3324,619.2798,0,0,1,0,100,0), -- 17:54:05 +(@PATH,153,5738.975,629.0027,619.2798,0,0,1,0,100,0), -- 17:54:06 +(@PATH,154,5742.99,635.6492,619.2798,0,0,1,0,100,0), -- 17:54:07 +(@PATH,155,5743.467,641.7768,619.2798,0,0,1,0,100,0), -- 17:54:09 +(@PATH,156,5747.225,647.0936,619.0926,0,0,1,0,100,0), -- 17:54:10 +(@PATH,157,5748.225,647.5936,619.0926,0,0,1,0,100,0), -- 17:54:10 +(@PATH,158,5749.297,648.2242,618.9799,0,0,1,0,100,0), -- 17:54:11 +(@PATH,159,5749.047,649.2242,619.2299,0,0,1,0,100,0), -- 17:54:11 +(@PATH,160,5749.047,650.7242,619.2299,0,0,1,0,100,0), -- 17:54:11 +(@PATH,161,5749.047,654.2242,619.4799,0,0,1,0,100,0), -- 17:54:11 +(@PATH,162,5748.797,655.7242,619.4799,0,0,1,0,100,0), -- 17:54:11 +(@PATH,163,5749.192,655.6202,619.7116,0,0,1,0,100,0), -- 17:54:12 +(@PATH,164,5749.192,656.1202,619.7116,0,0,1,0,100,0), -- 17:54:12 +(@PATH,165,5750.442,657.8702,619.7116,0,0,1,0,100,0), -- 17:54:12 +(@PATH,166,5750.391,657.9781,619.7876,0,0,1,0,100,0), -- 17:54:13 +(@PATH,167,5751.891,659.9781,619.5376,0,0,1,0,100,0), -- 17:54:13 +(@PATH,168,5753.641,659.4781,619.5376,0,0,1,0,100,0), -- 17:54:13 +(@PATH,169,5759.179,661.2788,619.2548,0,0,1,0,100,0), -- 17:54:15 +(@PATH,170,5760.229,663.2921,619.3005,0,0,1,0,100,0), -- 17:54:16 +(@PATH,171,5760.479,666.2921,619.3005,0,0,1,0,100,0), -- 17:54:16 +(@PATH,172,5762.869,669.2735,619.6941,0,0,1,0,100,0), -- 17:54:17 +(@PATH,173,5764.619,671.0235,619.6941,0,0,1,0,100,0), -- 17:54:17 +(@PATH,174,5766.816,671.4822,619.3464,0,0,1,0,100,0), -- 17:54:18 +(@PATH,175,5771.566,670.7322,619.3464,0,0,1,0,100,0), -- 17:54:18 +(@PATH,176,5773.478,671.9761,619.1648,0,0,1,0,100,0), -- 17:54:19 +(@PATH,177,5772.978,676.9761,619.1648,0,0,1,0,100,0), -- 17:54:19 +(@PATH,178,5773.809,679.17,619.6726,0,0,1,0,100,0), -- 17:54:21 +(@PATH,179,5775.309,680.92,619.6726,0,0,1,0,100,0), -- 17:54:21 +(@PATH,180,5776.809,682.67,619.6726,0,0,1,0,100,0), -- 17:54:21 +(@PATH,181,5775.323,680.9807,619.6566,0,0,1,0,100,0), -- 17:54:22 +(@PATH,182,5776.823,682.7307,619.6566,0,0,1,0,100,0), -- 17:54:22 +(@PATH,183,5777.323,683.2307,619.4066,0,0,1,0,100,0), -- 17:54:22 +(@PATH,184,5780.438,683.3417,619.2777,0,0,1,0,100,0), -- 17:54:23 +(@PATH,185,5782.188,683.5917,619.2777,0,0,1,0,100,0), -- 17:54:23 +(@PATH,186,5783.188,683.5917,619.2777,0,0,1,0,100,0), -- 17:54:23 +(@PATH,187,5783.938,684.3417,619.2777,0,0,1,0,100,0), -- 17:54:23 +(@PATH,188,5783.903,684.5225,619.173,0,0,1,0,100,0), -- 17:54:24 +(@PATH,189,5784.653,685.2725,619.173,0,0,1,0,100,0), -- 17:54:24 +(@PATH,190,5784.403,686.5225,619.173,0,0,1,0,100,0), -- 17:54:24 +(@PATH,191,5783.903,690.0225,619.173,0,0,1,0,100,0), -- 17:54:24 +(@PATH,192,5783.28,683.6895,619.2,0,0,1,0,100,0), -- 17:54:26 +(@PATH,193,5783.134,683.567,619.218,0,0,1,0,100,0), -- 17:54:27 +(@PATH,194,5780.634,683.317,619.468,0,0,1,0,100,0), -- 17:54:27 +(@PATH,195,5778.134,683.567,619.468,0,0,1,0,100,0), -- 17:54:27 +(@PATH,196,5777.437,683.3219,619.3995,0,0,1,0,100,0), -- 17:54:28 +(@PATH,197,5775.437,680.8219,619.6495,0,0,1,0,100,0), -- 17:54:28 +(@PATH,198,5773.687,679.3219,619.6495,0,0,1,0,100,0), -- 17:54:28 +(@PATH,199,5772.959,678.2682,619.4105,0,0,1,0,100,0), -- 17:54:29 +(@PATH,200,5773.209,677.0182,619.1605,0,0,1,0,100,0), -- 17:54:29 +(@PATH,201,5773.709,673.0182,619.1605,0,0,1,0,100,0), -- 17:54:29 +(@PATH,202,5773.394,673.0062,619.2454,0,0,1,0,100,0), -- 17:54:31 +(@PATH,203,5773.644,672.0062,619.2454,0,0,1,0,100,0), -- 17:54:31 +(@PATH,204,5772.396,670.793,619.3744,0,0,1,0,100,0), -- 17:54:32 +(@PATH,205,5766.896,671.793,619.3744,0,0,1,0,100,0), -- 17:54:32 +(@PATH,206,5762.968,669.4083,619.7806,0,0,1,0,100,0), -- 17:54:33 +(@PATH,207,5760.729,666.238,619.5159,0,0,1,0,100,0), -- 17:54:34 +(@PATH,208,5760.479,663.488,619.2659,0,0,1,0,100,0), -- 17:54:34 +(@PATH,209,5759.131,661.6943,619.3143,0,0,1,0,100,0), -- 17:54:36 +(@PATH,210,5756.631,659.4443,619.3143,0,0,1,0,100,0), -- 17:54:36 +(@PATH,211,5753.881,659.9443,619.3143,0,0,1,0,100,0), -- 17:54:36 +(@PATH,212,5751.954,659.9012,619.4919,0,0,1,0,100,0), -- 17:54:37 +(@PATH,213,5750.454,658.1512,619.7419,0,0,1,0,100,0), -- 17:54:37 +(@PATH,214,5749.239,656.0627,619.7203,0,0,1,0,100,0), -- 17:54:38 +(@PATH,215,5749.239,654.0627,619.4703,0,0,1,0,100,0), -- 17:54:38 +(@PATH,216,5749.239,650.8127,619.2203,0,0,1,0,100,0), -- 17:54:38 +(@PATH,217,5749.489,649.3127,619.2203,0,0,1,0,100,0), -- 17:54:38 +(@PATH,218,5748.988,650.8058,619.2463,0,0,1,0,100,0), -- 17:54:39 +(@PATH,219,5749.238,649.3058,619.2463,0,0,1,0,100,0), -- 17:54:39 +(@PATH,220,5749.238,648.3058,618.9963,0,0,1,0,100,0), -- 17:54:39 +(@PATH,221,5747.238,647.3058,619.2463,0,0,1,0,100,0), -- 17:54:39 +(@PATH,222,5747.21,647.066,619.3192,0,0,1,0,100,0), -- 17:54:40 +(@PATH,223,5744.96,646.066,619.3192,0,0,1,0,100,0), -- 17:54:40 +(@PATH,224,5743.46,642.066,619.3192,0,0,1,0,100,0), -- 17:54:40 +(@PATH,225,5742.853,635.8711,619.2798,0,0,1,0,100,0), -- 17:54:43 +(@PATH,226,5767.506,624.4731,611.6431,0,0,1,0,100,0), -- 17:55:06 +(@PATH,227,5771.256,625.4731,610.1431,0,0,1,0,100,0), -- 17:55:06 +(@PATH,228,5772.006,625.2231,609.6431,0,0,1,0,100,0), -- 17:55:06 +(@PATH,229,5772.506,624.9731,609.6431,0,0,1,0,100,0), -- 17:55:06 +(@PATH,230,5775.756,624.4731,610.3931,0,0,1,0,100,0), -- 17:55:06 +(@PATH,231,5781.39,624.2626,610.0007,0,0,1,0,100,0), -- 17:55:08 +(@PATH,232,5782.64,625.2626,609.5007,0,0,1,0,100,0), -- 17:55:08 +(@PATH,233,5785.39,627.7626,609.5007,0,0,1,0,100,0), -- 17:55:08 +(@PATH,234,5787.14,628.7626,609.5007,0,0,1,0,100,0), -- 17:55:08 +(@PATH,235,5788.89,630.2626,609.5007,0,0,1,0,100,0), -- 17:55:08 +(@PATH,236,5790.14,631.2626,610.0007,0,0,1,0,100,0), -- 17:55:08 +(@PATH,237,5789.247,630.4788,609.5232,0,0,1,0,100,0), -- 17:55:11 +(@PATH,238,5790.497,631.4788,610.0232,0,0,1,0,100,0), -- 17:55:11 +(@PATH,239,5791.497,632.2288,610.0232,0,0,1,0,100,0), -- 17:55:11 +(@PATH,240,5792.497,634.2288,610.0232,0,0,1,0,100,0), -- 17:55:11 +(@PATH,241,5808.938,656.4456,610.1359,0,0,1,0,100,0), -- 17:55:15 +(@PATH,242,5809.938,657.6956,609.6359,0,0,1,0,100,0), -- 17:55:15 +(@PATH,243,5815.188,664.1956,609.6359,0,0,1,0,100,0), -- 17:55:15 +(@PATH,244,5816.188,665.4456,610.1359,0,0,1,0,100,0), -- 17:55:15 +(@PATH,245,5818.914,671.4957,610.0309,0,0,1,0,100,0), -- 17:55:21 +(@PATH,246,5820.774,678.6002,610.1359,0,0,1,0,100,0), -- 17:55:22 +(@PATH,247,5833.884,685.7383,610.1359,0,0,1,0,100,0), -- 17:55:25 +(@PATH,248,5839.521,683.5572,610.1359,0,0,1,0,100,0), -- 17:55:27 +(@PATH,249,5842.875,678.5269,610.1359,0,0,1,0,100,0), -- 17:55:28 +(@PATH,250,5842.727,670.9156,610.1359,0,0,1,0,100,0), -- 17:55:30 +(@PATH,251,5842.025,661.4012,610.2211,0,0,1,0,100,0), -- 17:55:32 +(@PATH,252,5842.775,660.4012,610.2211,0,0,1,0,100,0), -- 17:55:32 +(@PATH,253,5843.525,659.1512,609.4711,0,0,1,0,100,0), -- 17:55:32 +(@PATH,254,5847.025,653.9012,610.2211,0,0,1,0,100,0), -- 17:55:32 +(@PATH,255,5847.525,653.1512,610.7211,0,0,1,0,100,0), -- 17:55:32 +(@PATH,256,5848.025,652.6512,610.7211,0,0,1,0,100,0), -- 17:55:32 +(@PATH,257,5854.674,644.4988,613.7783,0,0,1,0,100,0), -- 17:55:37 +(@PATH,258,5858.877,645.0601,615.1895,0,0,1,0,100,0), -- 17:55:38 +(@PATH,259,5862.704,647.3643,615.3469,0,0,1,0,100,0), -- 17:55:39 +(@PATH,260,5866.175,643.2976,615.8401,0,0,1,0,100,0), -- 17:55:41 +(@PATH,261,5863.666,636.2874,615.6055,0,0,1,0,100,0), -- 17:55:42 +(@PATH,262,5858.989,633.2343,615.9945,0,0,1,0,100,0), -- 17:55:43 +(@PATH,263,5856.424,631.0151,616.6328,0,0,1,0,100,0), -- 17:55:44 +(@PATH,264,5855.924,630.0151,616.6328,0,0,1,0,100,0), -- 17:55:44 +(@PATH,265,5854.174,628.0151,616.8828,0,0,1,0,100,0), -- 17:55:44 +(@PATH,266,5852.924,627.2651,616.6328,0,0,1,0,100,0), -- 17:55:44 +(@PATH,267,5850.174,625.7651,617.1328,0,0,1,0,100,0), -- 17:55:44 +(@PATH,268,5847.174,624.0151,617.3828,0,0,1,0,100,0), -- 17:55:44 +(@PATH,269,5842.674,621.2651,618.3828,0,0,1,0,100,0), -- 17:55:44 +(@PATH,270,5839.754,620.274,619.3906,0,0,1,0,100,0), -- 17:55:48 +(@PATH,271,5837.754,620.024,619.6406,0,0,1,0,100,0), -- 17:55:48 +(@PATH,272,5836.254,618.024,620.1406,0,0,1,0,100,0), -- 17:55:48 +(@PATH,273,5834.754,616.274,620.3906,0,0,1,0,100,0), -- 17:55:48 +(@PATH,274,5833.754,614.774,621.3906,0,0,1,0,100,0), -- 17:55:48 +(@PATH,275,5832.755,613.1848,621.7224,0,0,1,0,100,0), -- 17:55:51 +(@PATH,276,5832.755,610.4348,622.2224,0,0,1,0,100,0), -- 17:55:51 +(@PATH,277,5831.282,608.2042,622.824,0,0,1,0,100,0), -- 17:55:52 +(@PATH,278,5829.532,606.7042,623.324,0,0,1,0,100,0), -- 17:55:52 +(@PATH,279,5824.087,603.5916,624.4519,0,0,1,0,100,0), -- 17:55:53 +(@PATH,280,5822.902,598.7023,625.1343,0,0,1,0,100,0), -- 17:55:55 +(@PATH,281,5823.652,597.7023,624.8843,0,0,1,0,100,0), -- 17:55:55 +(@PATH,282,5825.152,596.2023,624.6343,0,0,1,0,100,0), -- 17:55:55 +(@PATH,283,5826.152,594.7023,624.6343,0,0,1,0,100,0), -- 17:55:55 +(@PATH,284,5827.402,593.7023,624.6343,0,0,1,0,100,0), -- 17:55:55 +(@PATH,285,5825.07,596.038,624.6668,0,0,1,0,100,0), -- 17:55:56 +(@PATH,286,5826.57,594.788,624.6668,0,0,1,0,100,0), -- 17:55:56 +(@PATH,287,5827.82,593.538,624.6668,0,0,1,0,100,0), -- 17:55:56 +(@PATH,288,5827.82,593.288,624.9168,0,0,1,0,100,0), -- 17:55:56 +(@PATH,289,5829.07,593.288,624.9168,0,0,1,0,100,0), -- 17:55:56 +(@PATH,290,5830.82,593.038,624.9168,0,0,1,0,100,0), -- 17:55:56 +(@PATH,291,5829.417,592.9346,625.0922,0,0,1,0,100,0), -- 17:55:57 +(@PATH,292,5830.917,592.9346,624.8422,0,0,1,0,100,0), -- 17:55:57 +(@PATH,293,5834.417,592.6846,624.5922,0,0,1,0,100,0), -- 17:55:57 +(@PATH,294,5835.417,591.4346,624.8422,0,0,1,0,100,0), -- 17:55:57 +(@PATH,295,5836.917,589.6846,624.8422,0,0,1,0,100,0), -- 17:55:57 +(@PATH,296,5836.748,589.3402,624.8186,0,0,1,0,100,0), -- 17:55:58 +(@PATH,297,5837.498,588.5902,624.8186,0,0,1,0,100,0), -- 17:55:58 +(@PATH,298,5837.498,586.8402,625.0686,0,0,1,0,100,0), -- 17:55:58 +(@PATH,299,5837.748,585.8402,625.0686,0,0,1,0,100,0), -- 17:55:58 +(@PATH,300,5837.972,586.4098,624.9656,0,0,1,0,100,0), -- 17:55:59 +(@PATH,301,5837.972,585.4098,625.2156,0,0,1,0,100,0), -- 17:55:59 +(@PATH,302,5837.972,584.6598,625.2156,0,0,1,0,100,0), -- 17:55:59 +(@PATH,303,5847.725,586.5244,623.9159,0,0,1,0,100,0), -- 17:56:01 +(@PATH,304,5848.381,586.9231,623.4995,0,0,1,0,100,0), -- 17:56:03 +(@PATH,305,5850.881,589.1731,623.4995,0,0,1,0,100,0), -- 17:56:03 +(@PATH,306,5853.684,591.8207,622.5383,0,0,1,0,100,0), -- 17:56:04 +(@PATH,307,5859.724,595.9813,620.9481,0,0,1,0,100,0), -- 17:56:06 +(@PATH,308,5859.907,600.2466,619.8765,0,0,1,0,100,0), -- 17:56:07 +(@PATH,309,5859.657,600.9966,619.8765,0,0,1,0,100,0), -- 17:56:07 +(@PATH,310,5861.254,603.9108,618.8354,0,0,1,0,100,0), -- 17:56:08 +(@PATH,311,5861.504,605.1608,618.5854,0,0,1,0,100,0), -- 17:56:08 +(@PATH,312,5862.816,610.0886,617.6057,0,0,1,0,100,0), -- 17:56:09 +(@PATH,313,5862.816,611.5886,617.1057,0,0,1,0,100,0), -- 17:56:09 +(@PATH,314,5863.816,611.0886,617.1057,0,0,1,0,100,0), -- 17:56:09 +(@PATH,315,5866.566,609.3386,616.1057,0,0,1,0,100,0), -- 17:56:09 +(@PATH,316,5868.066,608.3386,616.6057,0,0,1,0,100,0), -- 17:56:09 +(@PATH,317,5871.561,606.3478,616.0399,0,0,1,0,100,0), -- 17:56:12 +(@PATH,318,5887.811,594.0978,614.7899,0,0,1,0,100,0), -- 17:56:12 +(@PATH,319,5897.243,587.3519,613.1742,0,0,1,0,100,0), -- 17:56:17 +(@PATH,320,5898.243,586.8519,613.1742,0,0,1,0,100,0), -- 17:56:17 +(@PATH,321,5909.608,577.4766,611.9065,0,0,1,0,100,0), -- 17:56:20 +(@PATH,322,5910.358,576.4766,611.9065,0,0,1,0,100,0), -- 17:56:20 +(@PATH,323,5911.358,575.2266,611.9065,0,0,1,0,100,0), -- 17:56:20 +(@PATH,324,5913.358,572.4766,611.4065,0,0,1,0,100,0), -- 17:56:20 +(@PATH,325,5914.358,570.9766,611.1565,0,0,1,0,100,0), -- 17:56:20 +(@PATH,326,5914.869,570.5132,611.2545,0,0,1,0,100,0), -- 17:56:23 +(@PATH,327,5916.025,569.2449,611.0331,0,0,1,0,100,0), -- 17:56:24 +(@PATH,328,5917.275,567.9949,611.0331,0,0,1,0,100,0), -- 17:56:24 +(@PATH,329,5918.775,566.9949,610.7831,0,0,1,0,100,0), -- 17:56:24 +(@PATH,330,5919.525,566.7449,610.2831,0,0,1,0,100,0), -- 17:56:24 +(@PATH,331,5918.525,565.7449,610.2831,0,0,1,0,100,0), -- 17:56:24 +(@PATH,332,5917.025,563.9949,610.2831,0,0,1,0,100,0), -- 17:56:24 +(@PATH,333,5916.275,562.7449,610.2831,0,0,1,0,100,0), -- 17:56:24 +(@PATH,334,5912.947,557.8387,609.8282,0,0,1,0,100,0), -- 17:56:26 +(@PATH,335,5912.697,557.5887,609.8282,0,0,1,0,100,0), -- 17:56:26 +(@PATH,336,5915.036,555.4799,609.9234,0,0,1,0,100,0), -- 17:56:28 +(@PATH,337,5917.036,559.4799,609.9234,0,0,1,0,100,0), -- 17:56:28 +(@PATH,338,5918.786,561.9799,609.9234,0,0,1,0,100,0), -- 17:56:28 +(@PATH,339,5919.535,563.3184,610.3263,0,0,1,0,100,0), -- 17:56:29 +(@PATH,340,5920.785,563.5684,610.3263,0,0,1,0,100,0), -- 17:56:29 +(@PATH,341,5922.832,564.0054,610.0492,0,0,1,0,100,0), -- 17:56:30 +(@PATH,342,5924.082,562.7554,610.0492,0,0,1,0,100,0), -- 17:56:30 +(@PATH,343,5929.893,559.5189,610.0414,0,0,1,0,100,0), -- 17:56:31 +(@PATH,344,5931.28,562.356,609.8469,0,0,1,0,100,0), -- 17:56:32 +(@PATH,345,5930.53,563.356,609.8469,0,0,1,0,100,0), -- 17:56:32 +(@PATH,346,5928.03,565.856,609.8469,0,0,1,0,100,0), -- 17:56:32 +(@PATH,347,5927.28,566.856,609.8469,0,0,1,0,100,0), -- 17:56:32 +(@PATH,348,5897.451,587.326,613.1277,0,0,1,0,100,0), -- 17:56:40 +(@PATH,349,5896.701,588.076,613.3777,0,0,1,0,100,0), -- 17:56:40 +(@PATH,350,5888.951,595.076,614.3777,0,0,1,0,100,0), -- 17:56:40 +(@PATH,351,5887.915,596.0313,614.4434,0,0,1,0,100,0), -- 17:56:43 +(@PATH,352,5868.819,610.8005,615.5193,0,0,1,0,100,0), -- 17:56:47 +(@PATH,353,5866.819,612.0505,615.7693,0,0,1,0,100,0), -- 17:56:47 +(@PATH,354,5865.069,613.3005,616.5193,0,0,1,0,100,0), -- 17:56:47 +(@PATH,355,5866.63,612.3472,615.9749,0,0,1,0,100,0), -- 17:56:50 +(@PATH,356,5865.13,613.5972,616.4749,0,0,1,0,100,0), -- 17:56:50 +(@PATH,357,5864.63,613.8472,616.7249,0,0,1,0,100,0), -- 17:56:50 +(@PATH,358,5864.38,615.5972,616.7249,0,0,1,0,100,0), -- 17:56:50 +(@PATH,359,5863.88,617.3472,616.4749,0,0,1,0,100,0), -- 17:56:50 +(@PATH,360,5863.63,618.5972,616.9749,0,0,1,0,100,0), -- 17:56:50 +(@PATH,361,5864.248,615.8065,616.6554,0,0,1,0,100,0), -- 17:56:51 +(@PATH,362,5863.998,617.8065,616.6554,0,0,1,0,100,0), -- 17:56:51 +(@PATH,363,5863.748,618.8065,616.9054,0,0,1,0,100,0), -- 17:56:51 +(@PATH,364,5863.498,618.8065,616.9054,0,0,1,0,100,0), -- 17:56:51 +(@PATH,365,5865.998,623.0565,616.1554,0,0,1,0,100,0), -- 17:56:51 +(@PATH,366,5866.748,624.0565,616.1554,0,0,1,0,100,0), -- 17:56:51 +(@PATH,367,5866.979,624.3248,616.2649,0,0,1,0,100,0), -- 17:56:52 +(@PATH,368,5869.412,631.2599,615.7915,0,0,1,0,100,0), -- 17:56:54 +(@PATH,369,5873.593,633.4036,615.6859,0,0,1,0,100,0), -- 17:56:55 +(@PATH,370,5872.663,634.2109,615.7021,0,0,1,0,100,0), -- 17:56:58 +(@PATH,371,5869.663,631.2109,615.7021,0,0,1,0,100,0), -- 17:56:58 +(@PATH,372,5866.861,624.7245,616.1404,0,0,1,0,100,0), -- 17:57:00 +(@PATH,373,5866.361,623.4745,616.3904,0,0,1,0,100,0), -- 17:57:00 +(@PATH,374,5864.396,615.572,616.6294,0,0,1,0,100,0), -- 17:57:02 +(@PATH,375,5864.646,614.072,616.8794,0,0,1,0,100,0), -- 17:57:02 +(@PATH,376,5866.896,612.322,615.8794,0,0,1,0,100,0), -- 17:57:02 +(@PATH,377,5868.146,611.572,615.6294,0,0,1,0,100,0), -- 17:57:02 +(@PATH,378,5869.896,610.322,615.8794,0,0,1,0,100,0), -- 17:57:02 +(@PATH,379,5875.009,606.331,615.4817,0,0,1,0,100,0), -- 17:57:06 +(@PATH,380,5896.355,588.4134,613.6219,0,0,1,0,100,0), -- 17:57:08 +(@PATH,381,5897.355,587.4134,613.3719,0,0,1,0,100,0), -- 17:57:08 +(@PATH,382,5898.605,586.1634,613.3719,0,0,1,0,100,0), -- 17:57:08 +(@PATH,383,5910.67,576.61,611.9646,0,0,1,0,100,0), -- 17:57:13 +(@PATH,384,5911.92,575.86,611.7146,0,0,1,0,100,0), -- 17:57:13 +(@PATH,385,5914.42,574.11,611.2146,0,0,1,0,100,0), -- 17:57:13 +(@PATH,386,5912.239,575.5333,611.792,0,0,1,0,100,0), -- 17:57:16 +(@PATH,387,5914.739,573.7833,611.042,0,0,1,0,100,0), -- 17:57:16 +(@PATH,388,5916.489,572.7833,610.792,0,0,1,0,100,0), -- 17:57:16 +(@PATH,389,5918.239,572.0333,611.042,0,0,1,0,100,0), -- 17:57:16 +(@PATH,390,5921.739,571.0333,610.792,0,0,1,0,100,0), -- 17:57:16 +(@PATH,391,5922.739,570.5333,610.542,0,0,1,0,100,0), -- 17:57:16 +(@PATH,392,5923.989,570.0333,610.292,0,0,1,0,100,0), -- 17:57:16 +(@PATH,393,5925.293,569.5073,610.2241,0,0,1,0,100,0), -- 17:57:18 +(@PATH,394,5927.293,566.7573,610.2241,0,0,1,0,100,0), -- 17:57:18 +(@PATH,395,5928.043,566.0073,610.2241,0,0,1,0,100,0), -- 17:57:18 +(@PATH,396,5930.543,563.2573,610.2241,0,0,1,0,100,0), -- 17:57:18 +(@PATH,397,5931.293,562.5073,609.9741,0,0,1,0,100,0); -- 17:57:18 diff --git a/src/server/game/Chat/Chat.cpp b/src/server/game/Chat/Chat.cpp index da3055ebaaf..259e51eb471 100644 --- a/src/server/game/Chat/Chat.cpp +++ b/src/server/game/Chat/Chat.cpp @@ -34,54 +34,16 @@ bool ChatHandler::load_command_table = true; -// get number of commands in table -static size_t getCommandTableSize(const ChatCommand* commands) +std::vector<ChatCommand> const& ChatHandler::getCommandTable() { - if (!commands) - return 0; - size_t count = 0; - while (commands[count].Name != NULL) - count++; - return count; -} - -// append source command table to target, return number of appended commands -static size_t appendCommandTable(ChatCommand* target, const ChatCommand* source) -{ - const size_t count = getCommandTableSize(source); - if (count) - memcpy(target, source, count * sizeof(ChatCommand)); - return count; -} - -ChatCommand* ChatHandler::getCommandTable() -{ - // cache for commands, needed because some commands are loaded dynamically through ScriptMgr - // cache is never freed and will show as a memory leak in diagnostic tools - // can't use vector as vector storage is implementation-dependent, eg, there can be alignment gaps between elements - static ChatCommand* commandTableCache = NULL; + static std::vector<ChatCommand> commandTableCache; if (LoadCommandTable()) { SetLoadCommandTable(false); - { - // count total number of top-level commands - size_t total = 0; - std::vector<ChatCommand*> const& dynamic = sScriptMgr->GetChatCommands(); - for (std::vector<ChatCommand*>::const_iterator it = dynamic.begin(); it != dynamic.end(); ++it) - total += getCommandTableSize(*it); - total += 1; // ending zero - - // cache top-level commands - size_t added = 0; - free(commandTableCache); - commandTableCache = (ChatCommand*)malloc(sizeof(ChatCommand) * total); - ASSERT(commandTableCache); - memset(commandTableCache, 0, sizeof(ChatCommand) * total); - for (std::vector<ChatCommand*>::const_iterator it = dynamic.begin(); it != dynamic.end(); ++it) - added += appendCommandTable(commandTableCache + added, *it); - } + std::vector<ChatCommand> cmds = sScriptMgr->GetChatCommands(); + commandTableCache.swap(cmds); PreparedStatement* stmt = WorldDatabase.GetPreparedStatement(WORLD_SEL_COMMANDS); PreparedQueryResult result = WorldDatabase.Query(stmt); @@ -264,7 +226,7 @@ void ChatHandler::SendSysMessage(uint32 entry) SendSysMessage(GetTrinityString(entry)); } -bool ChatHandler::ExecuteCommandInTable(ChatCommand* table, const char* text, std::string const& fullcmd) +bool ChatHandler::ExecuteCommandInTable(std::vector<ChatCommand> const& table, const char* text, std::string const& fullcmd) { char const* oldtext = text; std::string cmd = ""; @@ -277,7 +239,7 @@ bool ChatHandler::ExecuteCommandInTable(ChatCommand* table, const char* text, st while (*text == ' ') ++text; - for (uint32 i = 0; table[i].Name != NULL; ++i) + for (uint32 i = 0; i < table.size(); ++i) { if (!hasStringAbbr(table[i].Name, cmd.c_str())) continue; @@ -285,7 +247,7 @@ bool ChatHandler::ExecuteCommandInTable(ChatCommand* table, const char* text, st bool match = false; if (strlen(table[i].Name) > cmd.length()) { - for (uint32 j = 0; table[j].Name != NULL; ++j) + for (uint32 j = 0; j < table.size(); ++j) { if (!hasStringAbbr(table[j].Name, cmd.c_str())) continue; @@ -301,7 +263,7 @@ bool ChatHandler::ExecuteCommandInTable(ChatCommand* table, const char* text, st continue; // select subcommand from child commands list - if (table[i].ChildCommands != NULL) + if (!table[i].ChildCommands.empty()) { if (!ExecuteCommandInTable(table[i].ChildCommands, text, fullcmd)) { @@ -367,7 +329,7 @@ bool ChatHandler::ExecuteCommandInTable(ChatCommand* table, const char* text, st return false; } -bool ChatHandler::SetDataForCommandInTable(ChatCommand* table, char const* text, uint32 permission, std::string const& help, std::string const& fullcommand) +bool ChatHandler::SetDataForCommandInTable(std::vector<ChatCommand>& table, char const* text, uint32 permission, std::string const& help, std::string const& fullcommand) { std::string cmd = ""; @@ -379,14 +341,14 @@ bool ChatHandler::SetDataForCommandInTable(ChatCommand* table, char const* text, while (*text == ' ') ++text; - for (uint32 i = 0; table[i].Name != NULL; i++) + for (uint32 i = 0; i < table.size(); i++) { // for data fill use full explicit command names if (table[i].Name != cmd) continue; // select subcommand from child commands list (including "") - if (table[i].ChildCommands != NULL) + if (!table[i].ChildCommands.empty()) { if (SetDataForCommandInTable(table[i].ChildCommands, text, permission, help, fullcommand)) return true; @@ -413,7 +375,7 @@ bool ChatHandler::SetDataForCommandInTable(ChatCommand* table, char const* text, // in case "" command let process by caller if (!cmd.empty()) { - if (table == getCommandTable()) + if (&table == &getCommandTable()) TC_LOG_ERROR("sql.sql", "Table `command` have not existed command '%s', skip.", cmd.c_str()); else TC_LOG_ERROR("sql.sql", "Table `command` have not existed subcommand '%s' in command '%s', skip.", cmd.c_str(), fullcommand.c_str()); @@ -519,10 +481,10 @@ Valid examples: return LinkExtractor(message).IsValidMessage(); } -bool ChatHandler::ShowHelpForSubCommands(ChatCommand* table, char const* cmd, char const* subcmd) +bool ChatHandler::ShowHelpForSubCommands(std::vector<ChatCommand> const& table, char const* cmd, char const* subcmd) { std::string list; - for (uint32 i = 0; table[i].Name != NULL; ++i) + for (uint32 i = 0; i < table.size(); ++i) { // must be available (ignore handler existence for show command with possible available subcommands) if (!isAvailable(table[i])) @@ -539,14 +501,14 @@ bool ChatHandler::ShowHelpForSubCommands(ChatCommand* table, char const* cmd, ch list += table[i].Name; - if (table[i].ChildCommands) + if (!table[i].ChildCommands.empty()) list += " ..."; } if (list.empty()) return false; - if (table == getCommandTable()) + if (&table == &getCommandTable()) { SendSysMessage(LANG_AVIABLE_CMD); PSendSysMessage("%s", list.c_str()); @@ -557,11 +519,11 @@ bool ChatHandler::ShowHelpForSubCommands(ChatCommand* table, char const* cmd, ch return true; } -bool ChatHandler::ShowHelpForCommand(ChatCommand* table, const char* cmd) +bool ChatHandler::ShowHelpForCommand(std::vector<ChatCommand> const& table, const char* cmd) { if (*cmd) { - for (uint32 i = 0; table[i].Name != NULL; ++i) + for (uint32 i = 0; i < table.size(); ++i) { // must be available (ignore handler existence for show command with possible available subcommands) if (!isAvailable(table[i])) @@ -573,7 +535,7 @@ bool ChatHandler::ShowHelpForCommand(ChatCommand* table, const char* cmd) // have subcommand char const* subcmd = (*cmd) ? strtok(NULL, " ") : ""; - if (table[i].ChildCommands && subcmd && *subcmd) + if (!table[i].ChildCommands.empty() && subcmd && *subcmd) { if (ShowHelpForCommand(table[i].ChildCommands, subcmd)) return true; @@ -582,7 +544,7 @@ bool ChatHandler::ShowHelpForCommand(ChatCommand* table, const char* cmd) if (!table[i].Help.empty()) SendSysMessage(table[i].Help.c_str()); - if (table[i].ChildCommands) + if (!table[i].ChildCommands.empty()) if (ShowHelpForSubCommands(table[i].ChildCommands, table[i].Name, subcmd ? subcmd : "")) return true; @@ -591,7 +553,7 @@ bool ChatHandler::ShowHelpForCommand(ChatCommand* table, const char* cmd) } else { - for (uint32 i = 0; table[i].Name != NULL; ++i) + for (uint32 i = 0; i < table.size(); ++i) { // must be available (ignore handler existence for show command with possible available subcommands) if (!isAvailable(table[i])) @@ -603,7 +565,7 @@ bool ChatHandler::ShowHelpForCommand(ChatCommand* table, const char* cmd) if (!table[i].Help.empty()) SendSysMessage(table[i].Help.c_str()); - if (table[i].ChildCommands) + if (!table[i].ChildCommands.empty()) if (ShowHelpForSubCommands(table[i].ChildCommands, "", "")) return true; diff --git a/src/server/game/Chat/Chat.h b/src/server/game/Chat/Chat.h index 57192f948d5..ff8757a891d 100644 --- a/src/server/game/Chat/Chat.h +++ b/src/server/game/Chat/Chat.h @@ -38,13 +38,18 @@ struct GameTele; class ChatCommand { + typedef bool(*pHandler)(ChatHandler*, char const*); + public: - const char * Name; - uint32 Permission; // function pointer required correct align (use uint32) - bool AllowConsole; - bool (*Handler)(ChatHandler*, const char* args); - std::string Help; - ChatCommand* ChildCommands; + ChatCommand(char const* name, uint32 permission, bool allowConsole, pHandler handler, std::string help, std::vector<ChatCommand> childCommands = std::vector<ChatCommand>()) + : Name(name), Permission(permission), AllowConsole(allowConsole), Handler(handler), Help(std::move(help)), ChildCommands(std::move(childCommands)) { } + + char const* Name; + uint32 Permission; // function pointer required correct align (use uint32) + bool AllowConsole; + pHandler Handler; + std::string Help; + std::vector<ChatCommand> ChildCommands; }; class ChatHandler @@ -90,7 +95,7 @@ class ChatHandler bool ParseCommands(const char* text); - static ChatCommand* getCommandTable(); + static std::vector<ChatCommand> const& getCommandTable(); bool isValidChatMessage(const char* msg); void SendGlobalSysMessage(const char *str); @@ -141,12 +146,12 @@ class ChatHandler static bool LoadCommandTable() { return load_command_table; } static void SetLoadCommandTable(bool val) { load_command_table = val; } - bool ShowHelpForCommand(ChatCommand* table, const char* cmd); + bool ShowHelpForCommand(std::vector<ChatCommand> const& table, const char* cmd); protected: explicit ChatHandler() : m_session(NULL), sentErrorMessage(false) { } // for CLI subclass - static bool SetDataForCommandInTable(ChatCommand* table, const char* text, uint32 permission, std::string const& help, std::string const& fullcommand); - bool ExecuteCommandInTable(ChatCommand* table, const char* text, std::string const& fullcmd); - bool ShowHelpForSubCommands(ChatCommand* table, char const* cmd, char const* subcmd); + static bool SetDataForCommandInTable(std::vector<ChatCommand>& table, const char* text, uint32 permission, std::string const& help, std::string const& fullcommand); + bool ExecuteCommandInTable(std::vector<ChatCommand> const& table, const char* text, std::string const& fullcmd); + bool ShowHelpForSubCommands(std::vector<ChatCommand> const& table, char const* cmd, char const* subcmd); private: WorldSession* m_session; // != NULL for chat command call and NULL for CLI command diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp index db5e09c5d2a..f2613b0267c 100644 --- a/src/server/game/Scripting/ScriptMgr.cpp +++ b/src/server/game/Scripting/ScriptMgr.cpp @@ -33,6 +33,7 @@ #include "Player.h" #include "WorldPacket.h" #include "WorldSession.h" +#include "Chat.h" // namespace // { @@ -972,12 +973,15 @@ OutdoorPvP* ScriptMgr::CreateOutdoorPvP(OutdoorPvPData const* data) return tmpscript->GetOutdoorPvP(); } -std::vector<ChatCommand*> ScriptMgr::GetChatCommands() +std::vector<ChatCommand> ScriptMgr::GetChatCommands() { - std::vector<ChatCommand*> table; + std::vector<ChatCommand> table; FOR_SCRIPTS_RET(CommandScript, itr, end, table) - table.push_back(itr->second->GetCommands()); + { + std::vector<ChatCommand> cmds = itr->second->GetCommands(); + table.insert(table.end(), cmds.begin(), cmds.end()); + } return table; } diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h index 7e1751244fd..a2024a5ccba 100644 --- a/src/server/game/Scripting/ScriptMgr.h +++ b/src/server/game/Scripting/ScriptMgr.h @@ -554,7 +554,7 @@ class CommandScript : public ScriptObject public: // Should return a pointer to a valid command table (ChatCommand array) to be used by ChatHandler. - virtual ChatCommand* GetCommands() const = 0; + virtual std::vector<ChatCommand> GetCommands() const = 0; }; class WeatherScript : public ScriptObject, public UpdatableScript<Weather> @@ -1014,7 +1014,7 @@ class ScriptMgr public: /* CommandScript */ - std::vector<ChatCommand*> GetChatCommands(); + std::vector<ChatCommand> GetChatCommands(); public: /* WeatherScript */ diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index e587a59858a..b345c5affea 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -4373,11 +4373,14 @@ void Spell::EffectEnchantHeldItem(SpellEffIndex effIndex) if (m_spellInfo->Effects[effIndex].MiscValue) { uint32 enchant_id = m_spellInfo->Effects[effIndex].MiscValue; - int32 duration = m_spellInfo->GetDuration(); //Try duration index first .. + int32 duration = m_spellInfo->GetDuration(); // Try duration index first .. if (!duration) - duration = damage;//+1; //Base points after .. + duration = damage;//+1; // Base points after .. if (!duration) - duration = 10; //10 seconds for enchants which don't have listed duration + duration = 10 * IN_MILLISECONDS; // 10 seconds for enchants which don't have listed duration + + if (m_spellInfo->Id == 14792) // Venomhide Poison + duration = 5 * MINUTE * IN_MILLISECONDS; SpellItemEnchantmentEntry const* pEnchant = sSpellItemEnchantmentStore.LookupEntry(enchant_id); if (!pEnchant) @@ -4391,7 +4394,7 @@ void Spell::EffectEnchantHeldItem(SpellEffIndex effIndex) return; // Apply the temporary enchantment - item->SetEnchantment(slot, enchant_id, duration*IN_MILLISECONDS, 0, m_caster->GetGUID()); + item->SetEnchantment(slot, enchant_id, duration, 0, m_caster->GetGUID()); item_owner->ApplyEnchantment(item, slot, true); } } diff --git a/src/server/scripts/Commands/cs_account.cpp b/src/server/scripts/Commands/cs_account.cpp index 04520101d15..8d9a40d9d1f 100644 --- a/src/server/scripts/Commands/cs_account.cpp +++ b/src/server/scripts/Commands/cs_account.cpp @@ -33,45 +33,40 @@ class account_commandscript : public CommandScript public: account_commandscript() : CommandScript("account_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand accountSetSecTable[] = + static std::vector<ChatCommand> accountSetSecTable = { - { "regmail", rbac::RBAC_PERM_COMMAND_ACCOUNT_SET_SEC_REGMAIL, true, &HandleAccountSetRegEmailCommand, "", NULL }, - { "email", rbac::RBAC_PERM_COMMAND_ACCOUNT_SET_SEC_EMAIL, true, &HandleAccountSetEmailCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "regmail", rbac::RBAC_PERM_COMMAND_ACCOUNT_SET_SEC_REGMAIL, true, &HandleAccountSetRegEmailCommand, "" }, + { "email", rbac::RBAC_PERM_COMMAND_ACCOUNT_SET_SEC_EMAIL, true, &HandleAccountSetEmailCommand, "" }, }; - static ChatCommand accountSetCommandTable[] = + static std::vector<ChatCommand> accountSetCommandTable = { - { "addon", rbac::RBAC_PERM_COMMAND_ACCOUNT_SET_ADDON, true, &HandleAccountSetAddonCommand, "", NULL }, + { "addon", rbac::RBAC_PERM_COMMAND_ACCOUNT_SET_ADDON, true, &HandleAccountSetAddonCommand, "" }, { "sec", rbac::RBAC_PERM_COMMAND_ACCOUNT_SET_SEC, true, NULL, "", accountSetSecTable }, - { "gmlevel", rbac::RBAC_PERM_COMMAND_ACCOUNT_SET_GMLEVEL, true, &HandleAccountSetGmLevelCommand, "", NULL }, - { "password", rbac::RBAC_PERM_COMMAND_ACCOUNT_SET_PASSWORD, true, &HandleAccountSetPasswordCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "gmlevel", rbac::RBAC_PERM_COMMAND_ACCOUNT_SET_GMLEVEL, true, &HandleAccountSetGmLevelCommand, "" }, + { "password", rbac::RBAC_PERM_COMMAND_ACCOUNT_SET_PASSWORD, true, &HandleAccountSetPasswordCommand, "" }, }; - static ChatCommand accountLockCommandTable[] = + static std::vector<ChatCommand> accountLockCommandTable = { - { "country", rbac::RBAC_PERM_COMMAND_ACCOUNT_LOCK_COUNTRY, false, &HandleAccountLockCountryCommand, "", NULL }, - { "ip", rbac::RBAC_PERM_COMMAND_ACCOUNT_LOCK_IP, false, &HandleAccountLockIpCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "country", rbac::RBAC_PERM_COMMAND_ACCOUNT_LOCK_COUNTRY, false, &HandleAccountLockCountryCommand, "" }, + { "ip", rbac::RBAC_PERM_COMMAND_ACCOUNT_LOCK_IP, false, &HandleAccountLockIpCommand, "" }, }; - static ChatCommand accountCommandTable[] = + static std::vector<ChatCommand> accountCommandTable = { - { "addon", rbac::RBAC_PERM_COMMAND_ACCOUNT_ADDON, false, &HandleAccountAddonCommand, "", NULL }, - { "create", rbac::RBAC_PERM_COMMAND_ACCOUNT_CREATE, true, &HandleAccountCreateCommand, "", NULL }, - { "delete", rbac::RBAC_PERM_COMMAND_ACCOUNT_DELETE, true, &HandleAccountDeleteCommand, "", NULL }, - { "email", rbac::RBAC_PERM_COMMAND_ACCOUNT_EMAIL, false, &HandleAccountEmailCommand, "", NULL }, - { "onlinelist", rbac::RBAC_PERM_COMMAND_ACCOUNT_ONLINE_LIST, true, &HandleAccountOnlineListCommand, "", NULL }, + { "addon", rbac::RBAC_PERM_COMMAND_ACCOUNT_ADDON, false, &HandleAccountAddonCommand, "" }, + { "create", rbac::RBAC_PERM_COMMAND_ACCOUNT_CREATE, true, &HandleAccountCreateCommand, "" }, + { "delete", rbac::RBAC_PERM_COMMAND_ACCOUNT_DELETE, true, &HandleAccountDeleteCommand, "" }, + { "email", rbac::RBAC_PERM_COMMAND_ACCOUNT_EMAIL, false, &HandleAccountEmailCommand, "" }, + { "onlinelist", rbac::RBAC_PERM_COMMAND_ACCOUNT_ONLINE_LIST, true, &HandleAccountOnlineListCommand, "" }, { "lock", rbac::RBAC_PERM_COMMAND_ACCOUNT_LOCK, false, NULL, "", accountLockCommandTable }, { "set", rbac::RBAC_PERM_COMMAND_ACCOUNT_SET, true, NULL, "", accountSetCommandTable }, - { "password", rbac::RBAC_PERM_COMMAND_ACCOUNT_PASSWORD, false, &HandleAccountPasswordCommand, "", NULL }, - { "", rbac::RBAC_PERM_COMMAND_ACCOUNT, false, &HandleAccountCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "password", rbac::RBAC_PERM_COMMAND_ACCOUNT_PASSWORD, false, &HandleAccountPasswordCommand, "" }, + { "", rbac::RBAC_PERM_COMMAND_ACCOUNT, false, &HandleAccountCommand, "" }, }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "account", rbac::RBAC_PERM_COMMAND_ACCOUNT, true, NULL, "", accountCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_achievement.cpp b/src/server/scripts/Commands/cs_achievement.cpp index 8a038844ec1..ea77bc1f189 100644 --- a/src/server/scripts/Commands/cs_achievement.cpp +++ b/src/server/scripts/Commands/cs_achievement.cpp @@ -33,17 +33,15 @@ class achievement_commandscript : public CommandScript public: achievement_commandscript() : CommandScript("achievement_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand achievementCommandTable[] = + static std::vector<ChatCommand> achievementCommandTable = { - { "add", rbac::RBAC_PERM_COMMAND_ACHIEVEMENT_ADD, false, &HandleAchievementAddCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "add", rbac::RBAC_PERM_COMMAND_ACHIEVEMENT_ADD, false, &HandleAchievementAddCommand, "" }, }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "achievement", rbac::RBAC_PERM_COMMAND_ACHIEVEMENT, false, NULL, "", achievementCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_ahbot.cpp b/src/server/scripts/Commands/cs_ahbot.cpp index 559a775da31..44889fccd37 100644 --- a/src/server/scripts/Commands/cs_ahbot.cpp +++ b/src/server/scripts/Commands/cs_ahbot.cpp @@ -33,44 +33,40 @@ class ahbot_commandscript : public CommandScript public: ahbot_commandscript(): CommandScript("ahbot_commandscript") {} - ChatCommand* GetCommands() const + std::vector<ChatCommand> GetCommands() const { - static ChatCommand ahbotItemsAmountCommandTable[] = + static std::vector<ChatCommand> ahbotItemsAmountCommandTable = { - { "gray", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS_GRAY, true, &HandleAHBotItemsAmountQualityCommand<AUCTION_QUALITY_GRAY>, "", NULL }, - { "white", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS_WHITE, true, &HandleAHBotItemsAmountQualityCommand<AUCTION_QUALITY_WHITE>, "", NULL }, - { "green", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS_GREEN, true, &HandleAHBotItemsAmountQualityCommand<AUCTION_QUALITY_GREEN>, "", NULL }, - { "blue", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS_BLUE, true, &HandleAHBotItemsAmountQualityCommand<AUCTION_QUALITY_BLUE>, "", NULL }, - { "purple", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS_PURPLE, true, &HandleAHBotItemsAmountQualityCommand<AUCTION_QUALITY_PURPLE>, "", NULL }, - { "orange", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS_ORANGE, true, &HandleAHBotItemsAmountQualityCommand<AUCTION_QUALITY_ORANGE>, "", NULL }, - { "yellow", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS_YELLOW, true, &HandleAHBotItemsAmountQualityCommand<AUCTION_QUALITY_YELLOW>, "", NULL }, - { "", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS, true, &HandleAHBotItemsAmountCommand, "", NULL }, - { NULL, 0, true, NULL, "", NULL } + { "gray", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS_GRAY, true, &HandleAHBotItemsAmountQualityCommand<AUCTION_QUALITY_GRAY>, "" }, + { "white", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS_WHITE, true, &HandleAHBotItemsAmountQualityCommand<AUCTION_QUALITY_WHITE>, "" }, + { "green", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS_GREEN, true, &HandleAHBotItemsAmountQualityCommand<AUCTION_QUALITY_GREEN>, "" }, + { "blue", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS_BLUE, true, &HandleAHBotItemsAmountQualityCommand<AUCTION_QUALITY_BLUE>, "" }, + { "purple", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS_PURPLE, true, &HandleAHBotItemsAmountQualityCommand<AUCTION_QUALITY_PURPLE>, "" }, + { "orange", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS_ORANGE, true, &HandleAHBotItemsAmountQualityCommand<AUCTION_QUALITY_ORANGE>, "" }, + { "yellow", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS_YELLOW, true, &HandleAHBotItemsAmountQualityCommand<AUCTION_QUALITY_YELLOW>, "" }, + { "", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS, true, &HandleAHBotItemsAmountCommand, "" }, }; - static ChatCommand ahbotItemsRatioCommandTable[] = + static std::vector<ChatCommand> ahbotItemsRatioCommandTable = { - { "alliance", rbac::RBAC_PERM_COMMAND_AHBOT_RATIO_ALLIANCE, true, &HandleAHBotItemsRatioHouseCommand<AUCTION_HOUSE_ALLIANCE>, "", NULL }, - { "horde", rbac::RBAC_PERM_COMMAND_AHBOT_RATIO_HORDE, true, &HandleAHBotItemsRatioHouseCommand<AUCTION_HOUSE_HORDE>, "", NULL }, - { "neutral", rbac::RBAC_PERM_COMMAND_AHBOT_RATIO_NEUTRAL, true, &HandleAHBotItemsRatioHouseCommand<AUCTION_HOUSE_NEUTRAL>, "", NULL }, - { "", rbac::RBAC_PERM_COMMAND_AHBOT_RATIO, true, &HandleAHBotItemsRatioCommand, "", NULL }, - { NULL, 0, true, NULL, "", NULL } + { "alliance", rbac::RBAC_PERM_COMMAND_AHBOT_RATIO_ALLIANCE, true, &HandleAHBotItemsRatioHouseCommand<AUCTION_HOUSE_ALLIANCE>, "" }, + { "horde", rbac::RBAC_PERM_COMMAND_AHBOT_RATIO_HORDE, true, &HandleAHBotItemsRatioHouseCommand<AUCTION_HOUSE_HORDE>, "" }, + { "neutral", rbac::RBAC_PERM_COMMAND_AHBOT_RATIO_NEUTRAL, true, &HandleAHBotItemsRatioHouseCommand<AUCTION_HOUSE_NEUTRAL>, "" }, + { "", rbac::RBAC_PERM_COMMAND_AHBOT_RATIO, true, &HandleAHBotItemsRatioCommand, "" }, }; - static ChatCommand ahbotCommandTable[] = + static std::vector<ChatCommand> ahbotCommandTable = { { "items", rbac::RBAC_PERM_COMMAND_AHBOT_ITEMS, true, NULL, "", ahbotItemsAmountCommandTable }, { "ratio", rbac::RBAC_PERM_COMMAND_AHBOT_RATIO, true, NULL, "", ahbotItemsRatioCommandTable }, - { "rebuild", rbac::RBAC_PERM_COMMAND_AHBOT_REBUILD, true, &HandleAHBotRebuildCommand, "", NULL }, - { "reload", rbac::RBAC_PERM_COMMAND_AHBOT_RELOAD, true, &HandleAHBotReloadCommand, "", NULL }, - { "status", rbac::RBAC_PERM_COMMAND_AHBOT_STATUS, true, &HandleAHBotStatusCommand, "", NULL }, - { NULL, 0, true, NULL, "", NULL } + { "rebuild", rbac::RBAC_PERM_COMMAND_AHBOT_REBUILD, true, &HandleAHBotRebuildCommand, "" }, + { "reload", rbac::RBAC_PERM_COMMAND_AHBOT_RELOAD, true, &HandleAHBotReloadCommand, "" }, + { "status", rbac::RBAC_PERM_COMMAND_AHBOT_STATUS, true, &HandleAHBotStatusCommand, "" }, }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "ahbot", rbac::RBAC_PERM_COMMAND_AHBOT, false, NULL, "", ahbotCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; diff --git a/src/server/scripts/Commands/cs_arena.cpp b/src/server/scripts/Commands/cs_arena.cpp index 4cafb651add..f6b355a8db7 100644 --- a/src/server/scripts/Commands/cs_arena.cpp +++ b/src/server/scripts/Commands/cs_arena.cpp @@ -34,22 +34,20 @@ class arena_commandscript : public CommandScript public: arena_commandscript() : CommandScript("arena_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand arenaCommandTable[] = + static std::vector<ChatCommand> arenaCommandTable = { - { "create", rbac::RBAC_PERM_COMMAND_ARENA_CREATE, true, &HandleArenaCreateCommand, "", NULL }, - { "disband", rbac::RBAC_PERM_COMMAND_ARENA_DISBAND, true, &HandleArenaDisbandCommand, "", NULL }, - { "rename", rbac::RBAC_PERM_COMMAND_ARENA_RENAME, true, &HandleArenaRenameCommand, "", NULL }, - { "captain", rbac::RBAC_PERM_COMMAND_ARENA_CAPTAIN, false, &HandleArenaCaptainCommand, "", NULL }, - { "info", rbac::RBAC_PERM_COMMAND_ARENA_INFO, true, &HandleArenaInfoCommand, "", NULL }, - { "lookup", rbac::RBAC_PERM_COMMAND_ARENA_LOOKUP, false, &HandleArenaLookupCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "create", rbac::RBAC_PERM_COMMAND_ARENA_CREATE, true, &HandleArenaCreateCommand, "" }, + { "disband", rbac::RBAC_PERM_COMMAND_ARENA_DISBAND, true, &HandleArenaDisbandCommand, "" }, + { "rename", rbac::RBAC_PERM_COMMAND_ARENA_RENAME, true, &HandleArenaRenameCommand, "" }, + { "captain", rbac::RBAC_PERM_COMMAND_ARENA_CAPTAIN, false, &HandleArenaCaptainCommand, "" }, + { "info", rbac::RBAC_PERM_COMMAND_ARENA_INFO, true, &HandleArenaInfoCommand, "" }, + { "lookup", rbac::RBAC_PERM_COMMAND_ARENA_LOOKUP, false, &HandleArenaLookupCommand, "" }, }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "arena", rbac::RBAC_PERM_COMMAND_ARENA, false, NULL, "", arenaCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_ban.cpp b/src/server/scripts/Commands/cs_ban.cpp index ed7b31198db..67015cd7d9c 100644 --- a/src/server/scripts/Commands/cs_ban.cpp +++ b/src/server/scripts/Commands/cs_ban.cpp @@ -35,45 +35,40 @@ class ban_commandscript : public CommandScript public: ban_commandscript() : CommandScript("ban_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand unbanCommandTable[] = + static std::vector<ChatCommand> unbanCommandTable = { - { "account", rbac::RBAC_PERM_COMMAND_UNBAN_ACCOUNT, true, &HandleUnBanAccountCommand, "", NULL }, - { "character", rbac::RBAC_PERM_COMMAND_UNBAN_CHARACTER, true, &HandleUnBanCharacterCommand, "", NULL }, - { "playeraccount", rbac::RBAC_PERM_COMMAND_UNBAN_PLAYERACCOUNT, true, &HandleUnBanAccountByCharCommand, "", NULL }, - { "ip", rbac::RBAC_PERM_COMMAND_UNBAN_IP, true, &HandleUnBanIPCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "account", rbac::RBAC_PERM_COMMAND_UNBAN_ACCOUNT, true, &HandleUnBanAccountCommand, "" }, + { "character", rbac::RBAC_PERM_COMMAND_UNBAN_CHARACTER, true, &HandleUnBanCharacterCommand, "" }, + { "playeraccount", rbac::RBAC_PERM_COMMAND_UNBAN_PLAYERACCOUNT, true, &HandleUnBanAccountByCharCommand, "" }, + { "ip", rbac::RBAC_PERM_COMMAND_UNBAN_IP, true, &HandleUnBanIPCommand, "" }, }; - static ChatCommand banlistCommandTable[] = + static std::vector<ChatCommand> banlistCommandTable = { - { "account", rbac::RBAC_PERM_COMMAND_BANLIST_ACCOUNT, true, &HandleBanListAccountCommand, "", NULL }, - { "character", rbac::RBAC_PERM_COMMAND_BANLIST_CHARACTER, true, &HandleBanListCharacterCommand, "", NULL }, - { "ip", rbac::RBAC_PERM_COMMAND_BANLIST_IP, true, &HandleBanListIPCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "account", rbac::RBAC_PERM_COMMAND_BANLIST_ACCOUNT, true, &HandleBanListAccountCommand, "" }, + { "character", rbac::RBAC_PERM_COMMAND_BANLIST_CHARACTER, true, &HandleBanListCharacterCommand, "" }, + { "ip", rbac::RBAC_PERM_COMMAND_BANLIST_IP, true, &HandleBanListIPCommand, "" }, }; - static ChatCommand baninfoCommandTable[] = + static std::vector<ChatCommand> baninfoCommandTable = { - { "account", rbac::RBAC_PERM_COMMAND_BANINFO_ACCOUNT, true, &HandleBanInfoAccountCommand, "", NULL }, - { "character", rbac::RBAC_PERM_COMMAND_BANINFO_CHARACTER, true, &HandleBanInfoCharacterCommand, "", NULL }, - { "ip", rbac::RBAC_PERM_COMMAND_BANINFO_IP, true, &HandleBanInfoIPCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "account", rbac::RBAC_PERM_COMMAND_BANINFO_ACCOUNT, true, &HandleBanInfoAccountCommand, "" }, + { "character", rbac::RBAC_PERM_COMMAND_BANINFO_CHARACTER, true, &HandleBanInfoCharacterCommand, "" }, + { "ip", rbac::RBAC_PERM_COMMAND_BANINFO_IP, true, &HandleBanInfoIPCommand, "" }, }; - static ChatCommand banCommandTable[] = + static std::vector<ChatCommand> banCommandTable = { - { "account", rbac::RBAC_PERM_COMMAND_BAN_ACCOUNT, true, &HandleBanAccountCommand, "", NULL }, - { "character", rbac::RBAC_PERM_COMMAND_BAN_CHARACTER, true, &HandleBanCharacterCommand, "", NULL }, - { "playeraccount", rbac::RBAC_PERM_COMMAND_BAN_PLAYERACCOUNT, true, &HandleBanAccountByCharCommand, "", NULL }, - { "ip", rbac::RBAC_PERM_COMMAND_BAN_IP, true, &HandleBanIPCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "account", rbac::RBAC_PERM_COMMAND_BAN_ACCOUNT, true, &HandleBanAccountCommand, "" }, + { "character", rbac::RBAC_PERM_COMMAND_BAN_CHARACTER, true, &HandleBanCharacterCommand, "" }, + { "playeraccount", rbac::RBAC_PERM_COMMAND_BAN_PLAYERACCOUNT, true, &HandleBanAccountByCharCommand, "" }, + { "ip", rbac::RBAC_PERM_COMMAND_BAN_IP, true, &HandleBanIPCommand, "" }, }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "ban", rbac::RBAC_PERM_COMMAND_BAN, true, NULL, "", banCommandTable }, { "baninfo", rbac::RBAC_PERM_COMMAND_BANINFO, true, NULL, "", baninfoCommandTable }, { "banlist", rbac::RBAC_PERM_COMMAND_BANLIST, true, NULL, "", banlistCommandTable }, { "unban", rbac::RBAC_PERM_COMMAND_UNBAN, true, NULL, "", unbanCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_bf.cpp b/src/server/scripts/Commands/cs_bf.cpp index 830e801bcef..7101b89b5fa 100644 --- a/src/server/scripts/Commands/cs_bf.cpp +++ b/src/server/scripts/Commands/cs_bf.cpp @@ -31,21 +31,19 @@ class bf_commandscript : public CommandScript public: bf_commandscript() : CommandScript("bf_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand battlefieldcommandTable[] = + static std::vector<ChatCommand> battlefieldcommandTable = { - { "start", rbac::RBAC_PERM_COMMAND_BF_START, false, &HandleBattlefieldStart, "", NULL }, - { "stop", rbac::RBAC_PERM_COMMAND_BF_STOP, false, &HandleBattlefieldEnd, "", NULL }, - { "switch", rbac::RBAC_PERM_COMMAND_BF_SWITCH, false, &HandleBattlefieldSwitch, "", NULL }, - { "timer", rbac::RBAC_PERM_COMMAND_BF_TIMER, false, &HandleBattlefieldTimer, "", NULL }, - { "enable", rbac::RBAC_PERM_COMMAND_BF_ENABLE, false, &HandleBattlefieldEnable, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "start", rbac::RBAC_PERM_COMMAND_BF_START, false, &HandleBattlefieldStart, "" }, + { "stop", rbac::RBAC_PERM_COMMAND_BF_STOP, false, &HandleBattlefieldEnd, "" }, + { "switch", rbac::RBAC_PERM_COMMAND_BF_SWITCH, false, &HandleBattlefieldSwitch, "" }, + { "timer", rbac::RBAC_PERM_COMMAND_BF_TIMER, false, &HandleBattlefieldTimer, "" }, + { "enable", rbac::RBAC_PERM_COMMAND_BF_ENABLE, false, &HandleBattlefieldEnable, "" }, }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "bf", rbac::RBAC_PERM_COMMAND_BF, false, NULL, "", battlefieldcommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_cast.cpp b/src/server/scripts/Commands/cs_cast.cpp index dfd0bb36755..59c919abd2b 100644 --- a/src/server/scripts/Commands/cs_cast.cpp +++ b/src/server/scripts/Commands/cs_cast.cpp @@ -33,22 +33,20 @@ class cast_commandscript : public CommandScript public: cast_commandscript() : CommandScript("cast_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand castCommandTable[] = + static std::vector<ChatCommand> castCommandTable = { - { "back", rbac::RBAC_PERM_COMMAND_CAST_BACK, false, &HandleCastBackCommand, "", NULL }, - { "dist", rbac::RBAC_PERM_COMMAND_CAST_DIST, false, &HandleCastDistCommand, "", NULL }, - { "self", rbac::RBAC_PERM_COMMAND_CAST_SELF, false, &HandleCastSelfCommand, "", NULL }, - { "target", rbac::RBAC_PERM_COMMAND_CAST_TARGET, false, &HandleCastTargetCommad, "", NULL }, - { "dest", rbac::RBAC_PERM_COMMAND_CAST_DEST, false, &HandleCastDestCommand, "", NULL }, - { "", rbac::RBAC_PERM_COMMAND_CAST, false, &HandleCastCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "back", rbac::RBAC_PERM_COMMAND_CAST_BACK, false, &HandleCastBackCommand, "" }, + { "dist", rbac::RBAC_PERM_COMMAND_CAST_DIST, false, &HandleCastDistCommand, "" }, + { "self", rbac::RBAC_PERM_COMMAND_CAST_SELF, false, &HandleCastSelfCommand, "" }, + { "target", rbac::RBAC_PERM_COMMAND_CAST_TARGET, false, &HandleCastTargetCommad, "" }, + { "dest", rbac::RBAC_PERM_COMMAND_CAST_DEST, false, &HandleCastDestCommand, "" }, + { "", rbac::RBAC_PERM_COMMAND_CAST, false, &HandleCastCommand, "" }, }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "cast", rbac::RBAC_PERM_COMMAND_CAST, false, NULL, "", castCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_character.cpp b/src/server/scripts/Commands/cs_character.cpp index 8714838879f..1582d465b8c 100644 --- a/src/server/scripts/Commands/cs_character.cpp +++ b/src/server/scripts/Commands/cs_character.cpp @@ -35,43 +35,39 @@ class character_commandscript : public CommandScript public: character_commandscript() : CommandScript("character_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand pdumpCommandTable[] = + static std::vector<ChatCommand> pdumpCommandTable = { - { "load", rbac::RBAC_PERM_COMMAND_PDUMP_LOAD, true, &HandlePDumpLoadCommand, "", NULL }, - { "write", rbac::RBAC_PERM_COMMAND_PDUMP_WRITE, true, &HandlePDumpWriteCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "load", rbac::RBAC_PERM_COMMAND_PDUMP_LOAD, true, &HandlePDumpLoadCommand, "" }, + { "write", rbac::RBAC_PERM_COMMAND_PDUMP_WRITE, true, &HandlePDumpWriteCommand, "" }, }; - static ChatCommand characterDeletedCommandTable[] = + static std::vector<ChatCommand> characterDeletedCommandTable = { - { "delete", rbac::RBAC_PERM_COMMAND_CHARACTER_DELETED_DELETE, true, &HandleCharacterDeletedDeleteCommand, "", NULL }, - { "list", rbac::RBAC_PERM_COMMAND_CHARACTER_DELETED_LIST, true, &HandleCharacterDeletedListCommand, "", NULL }, - { "restore", rbac::RBAC_PERM_COMMAND_CHARACTER_DELETED_RESTORE, true, &HandleCharacterDeletedRestoreCommand, "", NULL }, - { "old", rbac::RBAC_PERM_COMMAND_CHARACTER_DELETED_OLD, true, &HandleCharacterDeletedOldCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "delete", rbac::RBAC_PERM_COMMAND_CHARACTER_DELETED_DELETE, true, &HandleCharacterDeletedDeleteCommand, "" }, + { "list", rbac::RBAC_PERM_COMMAND_CHARACTER_DELETED_LIST, true, &HandleCharacterDeletedListCommand, "" }, + { "restore", rbac::RBAC_PERM_COMMAND_CHARACTER_DELETED_RESTORE, true, &HandleCharacterDeletedRestoreCommand, "" }, + { "old", rbac::RBAC_PERM_COMMAND_CHARACTER_DELETED_OLD, true, &HandleCharacterDeletedOldCommand, "" }, }; - static ChatCommand characterCommandTable[] = + static std::vector<ChatCommand> characterCommandTable = { - { "customize", rbac::RBAC_PERM_COMMAND_CHARACTER_CUSTOMIZE, true, &HandleCharacterCustomizeCommand, "", NULL }, - { "changefaction", rbac::RBAC_PERM_COMMAND_CHARACTER_CHANGEFACTION, true, &HandleCharacterChangeFactionCommand, "", NULL }, - { "changerace", rbac::RBAC_PERM_COMMAND_CHARACTER_CHANGERACE, true, &HandleCharacterChangeRaceCommand, "", NULL }, + { "customize", rbac::RBAC_PERM_COMMAND_CHARACTER_CUSTOMIZE, true, &HandleCharacterCustomizeCommand, "", }, + { "changefaction", rbac::RBAC_PERM_COMMAND_CHARACTER_CHANGEFACTION, true, &HandleCharacterChangeFactionCommand, "", }, + { "changerace", rbac::RBAC_PERM_COMMAND_CHARACTER_CHANGERACE, true, &HandleCharacterChangeRaceCommand, "", }, { "deleted", rbac::RBAC_PERM_COMMAND_CHARACTER_DELETED, true, NULL, "", characterDeletedCommandTable }, - { "erase", rbac::RBAC_PERM_COMMAND_CHARACTER_ERASE, true, &HandleCharacterEraseCommand, "", NULL }, - { "level", rbac::RBAC_PERM_COMMAND_CHARACTER_LEVEL, true, &HandleCharacterLevelCommand, "", NULL }, - { "rename", rbac::RBAC_PERM_COMMAND_CHARACTER_RENAME, true, &HandleCharacterRenameCommand, "", NULL }, - { "reputation", rbac::RBAC_PERM_COMMAND_CHARACTER_REPUTATION, true, &HandleCharacterReputationCommand, "", NULL }, - { "titles", rbac::RBAC_PERM_COMMAND_CHARACTER_TITLES, true, &HandleCharacterTitlesCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "erase", rbac::RBAC_PERM_COMMAND_CHARACTER_ERASE, true, &HandleCharacterEraseCommand, "", }, + { "level", rbac::RBAC_PERM_COMMAND_CHARACTER_LEVEL, true, &HandleCharacterLevelCommand, "", }, + { "rename", rbac::RBAC_PERM_COMMAND_CHARACTER_RENAME, true, &HandleCharacterRenameCommand, "", }, + { "reputation", rbac::RBAC_PERM_COMMAND_CHARACTER_REPUTATION, true, &HandleCharacterReputationCommand, "", }, + { "titles", rbac::RBAC_PERM_COMMAND_CHARACTER_TITLES, true, &HandleCharacterTitlesCommand, "", }, }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "character", rbac::RBAC_PERM_COMMAND_CHARACTER, true, NULL, "", characterCommandTable }, - { "levelup", rbac::RBAC_PERM_COMMAND_LEVELUP, false, &HandleLevelUpCommand, "", NULL }, + { "levelup", rbac::RBAC_PERM_COMMAND_LEVELUP, false, &HandleLevelUpCommand, "" }, { "pdump", rbac::RBAC_PERM_COMMAND_PDUMP, true, NULL, "", pdumpCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_cheat.cpp b/src/server/scripts/Commands/cs_cheat.cpp index 78ba5a4dc74..2dc2c17bdc2 100644 --- a/src/server/scripts/Commands/cs_cheat.cpp +++ b/src/server/scripts/Commands/cs_cheat.cpp @@ -32,27 +32,24 @@ class cheat_commandscript : public CommandScript public: cheat_commandscript() : CommandScript("cheat_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - - static ChatCommand cheatCommandTable[] = + static std::vector<ChatCommand> cheatCommandTable = { - { "god", rbac::RBAC_PERM_COMMAND_CHEAT_GOD, false, &HandleGodModeCheatCommand, "", NULL }, - { "casttime", rbac::RBAC_PERM_COMMAND_CHEAT_CASTTIME, false, &HandleCasttimeCheatCommand, "", NULL }, - { "cooldown", rbac::RBAC_PERM_COMMAND_CHEAT_COOLDOWN, false, &HandleCoolDownCheatCommand, "", NULL }, - { "power", rbac::RBAC_PERM_COMMAND_CHEAT_POWER, false, &HandlePowerCheatCommand, "", NULL }, - { "waterwalk", rbac::RBAC_PERM_COMMAND_CHEAT_WATERWALK, false, &HandleWaterWalkCheatCommand, "", NULL }, - { "status", rbac::RBAC_PERM_COMMAND_CHEAT_STATUS, false, &HandleCheatStatusCommand, "", NULL }, - { "taxi", rbac::RBAC_PERM_COMMAND_CHEAT_TAXI, false, &HandleTaxiCheatCommand, "", NULL }, - { "explore", rbac::RBAC_PERM_COMMAND_CHEAT_EXPLORE, false, &HandleExploreCheatCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "god", rbac::RBAC_PERM_COMMAND_CHEAT_GOD, false, &HandleGodModeCheatCommand, "" }, + { "casttime", rbac::RBAC_PERM_COMMAND_CHEAT_CASTTIME, false, &HandleCasttimeCheatCommand, "" }, + { "cooldown", rbac::RBAC_PERM_COMMAND_CHEAT_COOLDOWN, false, &HandleCoolDownCheatCommand, "" }, + { "power", rbac::RBAC_PERM_COMMAND_CHEAT_POWER, false, &HandlePowerCheatCommand, "" }, + { "waterwalk", rbac::RBAC_PERM_COMMAND_CHEAT_WATERWALK, false, &HandleWaterWalkCheatCommand, "" }, + { "status", rbac::RBAC_PERM_COMMAND_CHEAT_STATUS, false, &HandleCheatStatusCommand, "" }, + { "taxi", rbac::RBAC_PERM_COMMAND_CHEAT_TAXI, false, &HandleTaxiCheatCommand, "" }, + { "explore", rbac::RBAC_PERM_COMMAND_CHEAT_EXPLORE, false, &HandleExploreCheatCommand, "" }, }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "cheat", rbac::RBAC_PERM_COMMAND_CHEAT, false, NULL, "", cheatCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_debug.cpp b/src/server/scripts/Commands/cs_debug.cpp index 901043980c5..7f517d09e90 100644 --- a/src/server/scripts/Commands/cs_debug.cpp +++ b/src/server/scripts/Commands/cs_debug.cpp @@ -42,66 +42,62 @@ class debug_commandscript : public CommandScript public: debug_commandscript() : CommandScript("debug_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand debugPlayCommandTable[] = + static std::vector<ChatCommand> debugPlayCommandTable = { - { "cinematic", rbac::RBAC_PERM_COMMAND_DEBUG_PLAY_CINEMATIC, false, &HandleDebugPlayCinematicCommand, "", NULL }, - { "movie", rbac::RBAC_PERM_COMMAND_DEBUG_PLAY_MOVIE, false, &HandleDebugPlayMovieCommand, "", NULL }, - { "sound", rbac::RBAC_PERM_COMMAND_DEBUG_PLAY_SOUND, false, &HandleDebugPlaySoundCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "cinematic", rbac::RBAC_PERM_COMMAND_DEBUG_PLAY_CINEMATIC, false, &HandleDebugPlayCinematicCommand, "" }, + { "movie", rbac::RBAC_PERM_COMMAND_DEBUG_PLAY_MOVIE, false, &HandleDebugPlayMovieCommand, "" }, + { "sound", rbac::RBAC_PERM_COMMAND_DEBUG_PLAY_SOUND, false, &HandleDebugPlaySoundCommand, "" }, }; - static ChatCommand debugSendCommandTable[] = + static std::vector<ChatCommand> debugSendCommandTable = { - { "buyerror", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_BUYERROR, false, &HandleDebugSendBuyErrorCommand, "", NULL }, - { "channelnotify", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_CHANNELNOTIFY, false, &HandleDebugSendChannelNotifyCommand, "", NULL }, - { "chatmessage", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_CHATMESSAGE, false, &HandleDebugSendChatMsgCommand, "", NULL }, - { "equiperror", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_EQUIPERROR, false, &HandleDebugSendEquipErrorCommand, "", NULL }, - { "largepacket", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_LARGEPACKET, false, &HandleDebugSendLargePacketCommand, "", NULL }, - { "opcode", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_OPCODE, false, &HandleDebugSendOpcodeCommand, "", NULL }, - { "qpartymsg", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_QPARTYMSG, false, &HandleDebugSendQuestPartyMsgCommand, "", NULL }, - { "qinvalidmsg", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_QINVALIDMSG, false, &HandleDebugSendQuestInvalidMsgCommand, "", NULL }, - { "sellerror", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_SELLERROR, false, &HandleDebugSendSellErrorCommand, "", NULL }, - { "setphaseshift", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_SETPHASESHIFT, false, &HandleDebugSendSetPhaseShiftCommand, "", NULL }, - { "spellfail", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_SPELLFAIL, false, &HandleDebugSendSpellFailCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "buyerror", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_BUYERROR, false, &HandleDebugSendBuyErrorCommand, "" }, + { "channelnotify", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_CHANNELNOTIFY, false, &HandleDebugSendChannelNotifyCommand, "" }, + { "chatmessage", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_CHATMESSAGE, false, &HandleDebugSendChatMsgCommand, "" }, + { "equiperror", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_EQUIPERROR, false, &HandleDebugSendEquipErrorCommand, "" }, + { "largepacket", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_LARGEPACKET, false, &HandleDebugSendLargePacketCommand, "" }, + { "opcode", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_OPCODE, false, &HandleDebugSendOpcodeCommand, "" }, + { "qpartymsg", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_QPARTYMSG, false, &HandleDebugSendQuestPartyMsgCommand, "" }, + { "qinvalidmsg", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_QINVALIDMSG, false, &HandleDebugSendQuestInvalidMsgCommand, "" }, + { "sellerror", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_SELLERROR, false, &HandleDebugSendSellErrorCommand, "" }, + { "setphaseshift", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_SETPHASESHIFT, false, &HandleDebugSendSetPhaseShiftCommand, "" }, + { "spellfail", rbac::RBAC_PERM_COMMAND_DEBUG_SEND_SPELLFAIL, false, &HandleDebugSendSpellFailCommand, "" }, }; - static ChatCommand debugCommandTable[] = + static std::vector<ChatCommand> debugCommandTable = { - { "setbit", rbac::RBAC_PERM_COMMAND_DEBUG_SETBIT, false, &HandleDebugSet32BitCommand, "", NULL }, - { "threat", rbac::RBAC_PERM_COMMAND_DEBUG_THREAT, false, &HandleDebugThreatListCommand, "", NULL }, - { "hostil", rbac::RBAC_PERM_COMMAND_DEBUG_HOSTIL, false, &HandleDebugHostileRefListCommand, "", NULL }, - { "anim", rbac::RBAC_PERM_COMMAND_DEBUG_ANIM, false, &HandleDebugAnimCommand, "", NULL }, - { "arena", rbac::RBAC_PERM_COMMAND_DEBUG_ARENA, false, &HandleDebugArenaCommand, "", NULL }, - { "bg", rbac::RBAC_PERM_COMMAND_DEBUG_BG, false, &HandleDebugBattlegroundCommand, "", NULL }, - { "getitemstate", rbac::RBAC_PERM_COMMAND_DEBUG_GETITEMSTATE, false, &HandleDebugGetItemStateCommand, "", NULL }, - { "lootrecipient", rbac::RBAC_PERM_COMMAND_DEBUG_LOOTRECIPIENT, false, &HandleDebugGetLootRecipientCommand, "", NULL }, - { "getvalue", rbac::RBAC_PERM_COMMAND_DEBUG_GETVALUE, false, &HandleDebugGetValueCommand, "", NULL }, - { "getitemvalue", rbac::RBAC_PERM_COMMAND_DEBUG_GETITEMVALUE, false, &HandleDebugGetItemValueCommand, "", NULL }, - { "Mod32Value", rbac::RBAC_PERM_COMMAND_DEBUG_MOD32VALUE, false, &HandleDebugMod32ValueCommand, "", NULL }, + { "setbit", rbac::RBAC_PERM_COMMAND_DEBUG_SETBIT, false, &HandleDebugSet32BitCommand, "" }, + { "threat", rbac::RBAC_PERM_COMMAND_DEBUG_THREAT, false, &HandleDebugThreatListCommand, "" }, + { "hostil", rbac::RBAC_PERM_COMMAND_DEBUG_HOSTIL, false, &HandleDebugHostileRefListCommand, "" }, + { "anim", rbac::RBAC_PERM_COMMAND_DEBUG_ANIM, false, &HandleDebugAnimCommand, "" }, + { "arena", rbac::RBAC_PERM_COMMAND_DEBUG_ARENA, false, &HandleDebugArenaCommand, "" }, + { "bg", rbac::RBAC_PERM_COMMAND_DEBUG_BG, false, &HandleDebugBattlegroundCommand, "" }, + { "getitemstate", rbac::RBAC_PERM_COMMAND_DEBUG_GETITEMSTATE, false, &HandleDebugGetItemStateCommand, "" }, + { "lootrecipient", rbac::RBAC_PERM_COMMAND_DEBUG_LOOTRECIPIENT, false, &HandleDebugGetLootRecipientCommand, "" }, + { "getvalue", rbac::RBAC_PERM_COMMAND_DEBUG_GETVALUE, false, &HandleDebugGetValueCommand, "" }, + { "getitemvalue", rbac::RBAC_PERM_COMMAND_DEBUG_GETITEMVALUE, false, &HandleDebugGetItemValueCommand, "" }, + { "Mod32Value", rbac::RBAC_PERM_COMMAND_DEBUG_MOD32VALUE, false, &HandleDebugMod32ValueCommand, "" }, { "play", rbac::RBAC_PERM_COMMAND_DEBUG_PLAY, false, NULL, "", debugPlayCommandTable }, { "send", rbac::RBAC_PERM_COMMAND_DEBUG_SEND, false, NULL, "", debugSendCommandTable }, - { "setaurastate", rbac::RBAC_PERM_COMMAND_DEBUG_SETAURASTATE, false, &HandleDebugSetAuraStateCommand, "", NULL }, - { "setitemvalue", rbac::RBAC_PERM_COMMAND_DEBUG_SETITEMVALUE, false, &HandleDebugSetItemValueCommand, "", NULL }, - { "setvalue", rbac::RBAC_PERM_COMMAND_DEBUG_SETVALUE, false, &HandleDebugSetValueCommand, "", NULL }, - { "spawnvehicle", rbac::RBAC_PERM_COMMAND_DEBUG_SPAWNVEHICLE, false, &HandleDebugSpawnVehicleCommand, "", NULL }, - { "setvid", rbac::RBAC_PERM_COMMAND_DEBUG_SETVID, false, &HandleDebugSetVehicleIdCommand, "", NULL }, - { "entervehicle", rbac::RBAC_PERM_COMMAND_DEBUG_ENTERVEHICLE, false, &HandleDebugEnterVehicleCommand, "", NULL }, - { "uws", rbac::RBAC_PERM_COMMAND_DEBUG_UWS, false, &HandleDebugUpdateWorldStateCommand, "", NULL }, - { "update", rbac::RBAC_PERM_COMMAND_DEBUG_UPDATE, false, &HandleDebugUpdateCommand, "", NULL }, - { "itemexpire", rbac::RBAC_PERM_COMMAND_DEBUG_ITEMEXPIRE, false, &HandleDebugItemExpireCommand, "", NULL }, - { "areatriggers", rbac::RBAC_PERM_COMMAND_DEBUG_AREATRIGGERS, false, &HandleDebugAreaTriggersCommand, "", NULL }, - { "los", rbac::RBAC_PERM_COMMAND_DEBUG_LOS, false, &HandleDebugLoSCommand, "", NULL }, - { "moveflags", rbac::RBAC_PERM_COMMAND_DEBUG_MOVEFLAGS, false, &HandleDebugMoveflagsCommand, "", NULL }, - { "transport", rbac::RBAC_PERM_COMMAND_DEBUG_TRANSPORT, false, &HandleDebugTransportCommand, "", NULL }, - { "loadcells", rbac::RBAC_PERM_COMMAND_DEBUG_LOADCELLS, false, &HandleDebugLoadCellsCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "setaurastate", rbac::RBAC_PERM_COMMAND_DEBUG_SETAURASTATE, false, &HandleDebugSetAuraStateCommand, "" }, + { "setitemvalue", rbac::RBAC_PERM_COMMAND_DEBUG_SETITEMVALUE, false, &HandleDebugSetItemValueCommand, "" }, + { "setvalue", rbac::RBAC_PERM_COMMAND_DEBUG_SETVALUE, false, &HandleDebugSetValueCommand, "" }, + { "spawnvehicle", rbac::RBAC_PERM_COMMAND_DEBUG_SPAWNVEHICLE, false, &HandleDebugSpawnVehicleCommand, "" }, + { "setvid", rbac::RBAC_PERM_COMMAND_DEBUG_SETVID, false, &HandleDebugSetVehicleIdCommand, "" }, + { "entervehicle", rbac::RBAC_PERM_COMMAND_DEBUG_ENTERVEHICLE, false, &HandleDebugEnterVehicleCommand, "" }, + { "uws", rbac::RBAC_PERM_COMMAND_DEBUG_UWS, false, &HandleDebugUpdateWorldStateCommand, "" }, + { "update", rbac::RBAC_PERM_COMMAND_DEBUG_UPDATE, false, &HandleDebugUpdateCommand, "" }, + { "itemexpire", rbac::RBAC_PERM_COMMAND_DEBUG_ITEMEXPIRE, false, &HandleDebugItemExpireCommand, "" }, + { "areatriggers", rbac::RBAC_PERM_COMMAND_DEBUG_AREATRIGGERS, false, &HandleDebugAreaTriggersCommand, "" }, + { "los", rbac::RBAC_PERM_COMMAND_DEBUG_LOS, false, &HandleDebugLoSCommand, "" }, + { "moveflags", rbac::RBAC_PERM_COMMAND_DEBUG_MOVEFLAGS, false, &HandleDebugMoveflagsCommand, "" }, + { "transport", rbac::RBAC_PERM_COMMAND_DEBUG_TRANSPORT, false, &HandleDebugTransportCommand, "" }, + { "loadcells", rbac::RBAC_PERM_COMMAND_DEBUG_LOADCELLS, false, &HandleDebugLoadCellsCommand, "" }, }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "debug", rbac::RBAC_PERM_COMMAND_DEBUG, true, NULL, "", debugCommandTable }, - { "wpgps", rbac::RBAC_PERM_COMMAND_WPGPS, false, &HandleWPGPSCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "wpgps", rbac::RBAC_PERM_COMMAND_WPGPS, false, &HandleWPGPSCommand, "" }, }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_deserter.cpp b/src/server/scripts/Commands/cs_deserter.cpp index 2887ac8c134..9f461207707 100644 --- a/src/server/scripts/Commands/cs_deserter.cpp +++ b/src/server/scripts/Commands/cs_deserter.cpp @@ -43,31 +43,27 @@ public: * @brief Returns the command structure for the system. */ - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand deserterInstanceCommandTable[] = + static std::vector<ChatCommand> deserterInstanceCommandTable = { - { "add", rbac::RBAC_PERM_COMMAND_DESERTER_INSTANCE_ADD, false, &HandleDeserterInstanceAdd, "", NULL }, - { "remove", rbac::RBAC_PERM_COMMAND_DESERTER_INSTANCE_REMOVE, false, &HandleDeserterInstanceRemove, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "add", rbac::RBAC_PERM_COMMAND_DESERTER_INSTANCE_ADD, false, &HandleDeserterInstanceAdd, "" }, + { "remove", rbac::RBAC_PERM_COMMAND_DESERTER_INSTANCE_REMOVE, false, &HandleDeserterInstanceRemove, "" }, }; - static ChatCommand deserterBGCommandTable[] = + static std::vector<ChatCommand> deserterBGCommandTable = { - { "add", rbac::RBAC_PERM_COMMAND_DESERTER_BG_ADD, false, &HandleDeserterBGAdd, "", NULL }, - { "remove", rbac::RBAC_PERM_COMMAND_DESERTER_BG_REMOVE, false, &HandleDeserterBGRemove, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "add", rbac::RBAC_PERM_COMMAND_DESERTER_BG_ADD, false, &HandleDeserterBGAdd, "" }, + { "remove", rbac::RBAC_PERM_COMMAND_DESERTER_BG_REMOVE, false, &HandleDeserterBGRemove, "" }, }; - static ChatCommand deserterCommandTable[] = + static std::vector<ChatCommand> deserterCommandTable = { { "instance", rbac::RBAC_PERM_COMMAND_DESERTER_INSTANCE, false, NULL, "", deserterInstanceCommandTable }, { "bg", rbac::RBAC_PERM_COMMAND_DESERTER_BG, false, NULL, "", deserterBGCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "deserter", rbac::RBAC_PERM_COMMAND_DESERTER, false, NULL, "", deserterCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_disable.cpp b/src/server/scripts/Commands/cs_disable.cpp index 14f76945a80..8c73f3f41de 100644 --- a/src/server/scripts/Commands/cs_disable.cpp +++ b/src/server/scripts/Commands/cs_disable.cpp @@ -37,42 +37,38 @@ class disable_commandscript : public CommandScript public: disable_commandscript() : CommandScript("disable_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand removeDisableCommandTable[] = + static std::vector<ChatCommand> removeDisableCommandTable = { - { "spell", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE_SPELL, true, &HandleRemoveDisableSpellCommand, "", NULL }, - { "quest", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE_QUEST, true, &HandleRemoveDisableQuestCommand, "", NULL }, - { "map", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE_MAP, true, &HandleRemoveDisableMapCommand, "", NULL }, - { "battleground", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE_BATTLEGROUND, true, &HandleRemoveDisableBattlegroundCommand, "", NULL }, - { "achievement_criteria", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE_ACHIEVEMENT_CRITERIA, true, &HandleRemoveDisableAchievementCriteriaCommand, "", NULL }, - { "outdoorpvp", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE_OUTDOORPVP, true, &HandleRemoveDisableOutdoorPvPCommand, "", NULL }, - { "vmap", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE_VMAP, true, &HandleRemoveDisableVmapCommand, "", NULL }, - { "mmap", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE_MMAP, true, &HandleRemoveDisableMMapCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "spell", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE_SPELL, true, &HandleRemoveDisableSpellCommand, "" }, + { "quest", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE_QUEST, true, &HandleRemoveDisableQuestCommand, "" }, + { "map", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE_MAP, true, &HandleRemoveDisableMapCommand, "" }, + { "battleground", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE_BATTLEGROUND, true, &HandleRemoveDisableBattlegroundCommand, "" }, + { "achievement_criteria", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE_ACHIEVEMENT_CRITERIA, true, &HandleRemoveDisableAchievementCriteriaCommand, "" }, + { "outdoorpvp", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE_OUTDOORPVP, true, &HandleRemoveDisableOutdoorPvPCommand, "" }, + { "vmap", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE_VMAP, true, &HandleRemoveDisableVmapCommand, "" }, + { "mmap", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE_MMAP, true, &HandleRemoveDisableMMapCommand, "" }, }; - static ChatCommand addDisableCommandTable[] = + static std::vector<ChatCommand> addDisableCommandTable = { - { "spell", rbac::RBAC_PERM_COMMAND_DISABLE_ADD_SPELL, true, &HandleAddDisableSpellCommand, "", NULL }, - { "quest", rbac::RBAC_PERM_COMMAND_DISABLE_ADD_QUEST, true, &HandleAddDisableQuestCommand, "", NULL }, - { "map", rbac::RBAC_PERM_COMMAND_DISABLE_ADD_MAP, true, &HandleAddDisableMapCommand, "", NULL }, - { "battleground", rbac::RBAC_PERM_COMMAND_DISABLE_ADD_BATTLEGROUND, true, &HandleAddDisableBattlegroundCommand, "", NULL }, - { "achievement_criteria", rbac::RBAC_PERM_COMMAND_DISABLE_ADD_ACHIEVEMENT_CRITERIA, true, &HandleAddDisableAchievementCriteriaCommand, "", NULL }, - { "outdoorpvp", rbac::RBAC_PERM_COMMAND_DISABLE_ADD_OUTDOORPVP, true, &HandleAddDisableOutdoorPvPCommand, "", NULL }, - { "vmap", rbac::RBAC_PERM_COMMAND_DISABLE_ADD_VMAP, true, &HandleAddDisableVmapCommand, "", NULL }, - { "mmap", rbac::RBAC_PERM_COMMAND_DISABLE_ADD_MMAP, true, &HandleAddDisableMMapCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "spell", rbac::RBAC_PERM_COMMAND_DISABLE_ADD_SPELL, true, &HandleAddDisableSpellCommand, "" }, + { "quest", rbac::RBAC_PERM_COMMAND_DISABLE_ADD_QUEST, true, &HandleAddDisableQuestCommand, "" }, + { "map", rbac::RBAC_PERM_COMMAND_DISABLE_ADD_MAP, true, &HandleAddDisableMapCommand, "" }, + { "battleground", rbac::RBAC_PERM_COMMAND_DISABLE_ADD_BATTLEGROUND, true, &HandleAddDisableBattlegroundCommand, "" }, + { "achievement_criteria", rbac::RBAC_PERM_COMMAND_DISABLE_ADD_ACHIEVEMENT_CRITERIA, true, &HandleAddDisableAchievementCriteriaCommand, "" }, + { "outdoorpvp", rbac::RBAC_PERM_COMMAND_DISABLE_ADD_OUTDOORPVP, true, &HandleAddDisableOutdoorPvPCommand, "" }, + { "vmap", rbac::RBAC_PERM_COMMAND_DISABLE_ADD_VMAP, true, &HandleAddDisableVmapCommand, "" }, + { "mmap", rbac::RBAC_PERM_COMMAND_DISABLE_ADD_MMAP, true, &HandleAddDisableMMapCommand, "" }, }; - static ChatCommand disableCommandTable[] = + static std::vector<ChatCommand> disableCommandTable = { { "add", rbac::RBAC_PERM_COMMAND_DISABLE_ADD, true, NULL, "", addDisableCommandTable }, { "remove", rbac::RBAC_PERM_COMMAND_DISABLE_REMOVE, true, NULL, "", removeDisableCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "disable", rbac::RBAC_PERM_COMMAND_DISABLE, false, NULL, "", disableCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_event.cpp b/src/server/scripts/Commands/cs_event.cpp index 37495289149..352bce4e7f0 100644 --- a/src/server/scripts/Commands/cs_event.cpp +++ b/src/server/scripts/Commands/cs_event.cpp @@ -33,20 +33,18 @@ class event_commandscript : public CommandScript public: event_commandscript() : CommandScript("event_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand eventCommandTable[] = + static std::vector<ChatCommand> eventCommandTable = { - { "activelist", rbac::RBAC_PERM_COMMAND_EVENT_ACTIVELIST, true, &HandleEventActiveListCommand, "", NULL }, - { "start", rbac::RBAC_PERM_COMMAND_EVENT_START, true, &HandleEventStartCommand, "", NULL }, - { "stop", rbac::RBAC_PERM_COMMAND_EVENT_STOP, true, &HandleEventStopCommand, "", NULL }, - { "", rbac::RBAC_PERM_COMMAND_EVENT, true, &HandleEventInfoCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "activelist", rbac::RBAC_PERM_COMMAND_EVENT_ACTIVELIST, true, &HandleEventActiveListCommand, "" }, + { "start", rbac::RBAC_PERM_COMMAND_EVENT_START, true, &HandleEventStartCommand, "" }, + { "stop", rbac::RBAC_PERM_COMMAND_EVENT_STOP, true, &HandleEventStopCommand, "" }, + { "", rbac::RBAC_PERM_COMMAND_EVENT, true, &HandleEventInfoCommand, "" }, }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "event", rbac::RBAC_PERM_COMMAND_EVENT, false, NULL, "", eventCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_gm.cpp b/src/server/scripts/Commands/cs_gm.cpp index 94e974bea0b..81b70603680 100644 --- a/src/server/scripts/Commands/cs_gm.cpp +++ b/src/server/scripts/Commands/cs_gm.cpp @@ -36,22 +36,20 @@ class gm_commandscript : public CommandScript public: gm_commandscript() : CommandScript("gm_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand gmCommandTable[] = + static std::vector<ChatCommand> gmCommandTable = { - { "chat", rbac::RBAC_PERM_COMMAND_GM_CHAT, false, &HandleGMChatCommand, "", NULL }, - { "fly", rbac::RBAC_PERM_COMMAND_GM_FLY, false, &HandleGMFlyCommand, "", NULL }, - { "ingame", rbac::RBAC_PERM_COMMAND_GM_INGAME, true, &HandleGMListIngameCommand, "", NULL }, - { "list", rbac::RBAC_PERM_COMMAND_GM_LIST, true, &HandleGMListFullCommand, "", NULL }, - { "visible", rbac::RBAC_PERM_COMMAND_GM_VISIBLE, false, &HandleGMVisibleCommand, "", NULL }, - { "", rbac::RBAC_PERM_COMMAND_GM, false, &HandleGMCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "chat", rbac::RBAC_PERM_COMMAND_GM_CHAT, false, &HandleGMChatCommand, "" }, + { "fly", rbac::RBAC_PERM_COMMAND_GM_FLY, false, &HandleGMFlyCommand, "" }, + { "ingame", rbac::RBAC_PERM_COMMAND_GM_INGAME, true, &HandleGMListIngameCommand, "" }, + { "list", rbac::RBAC_PERM_COMMAND_GM_LIST, true, &HandleGMListFullCommand, "" }, + { "visible", rbac::RBAC_PERM_COMMAND_GM_VISIBLE, false, &HandleGMVisibleCommand, "" }, + { "", rbac::RBAC_PERM_COMMAND_GM, false, &HandleGMCommand, "" }, }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "gm", rbac::RBAC_PERM_COMMAND_GM, false, NULL, "", gmCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_go.cpp b/src/server/scripts/Commands/cs_go.cpp index ce1a42e6e78..33fc594a4c3 100644 --- a/src/server/scripts/Commands/cs_go.cpp +++ b/src/server/scripts/Commands/cs_go.cpp @@ -36,27 +36,25 @@ class go_commandscript : public CommandScript public: go_commandscript() : CommandScript("go_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand goCommandTable[] = - { - { "creature", rbac::RBAC_PERM_COMMAND_GO_CREATURE, false, &HandleGoCreatureCommand, "", NULL }, - { "graveyard", rbac::RBAC_PERM_COMMAND_GO_GRAVEYARD, false, &HandleGoGraveyardCommand, "", NULL }, - { "grid", rbac::RBAC_PERM_COMMAND_GO_GRID, false, &HandleGoGridCommand, "", NULL }, - { "object", rbac::RBAC_PERM_COMMAND_GO_OBJECT, false, &HandleGoObjectCommand, "", NULL }, - { "taxinode", rbac::RBAC_PERM_COMMAND_GO_TAXINODE, false, &HandleGoTaxinodeCommand, "", NULL }, - { "trigger", rbac::RBAC_PERM_COMMAND_GO_TRIGGER, false, &HandleGoTriggerCommand, "", NULL }, - { "zonexy", rbac::RBAC_PERM_COMMAND_GO_ZONEXY, false, &HandleGoZoneXYCommand, "", NULL }, - { "xyz", rbac::RBAC_PERM_COMMAND_GO_XYZ, false, &HandleGoXYZCommand, "", NULL }, - { "ticket", rbac::RBAC_PERM_COMMAND_GO_TICKET, false, &HandleGoTicketCommand, "", NULL }, - { "", rbac::RBAC_PERM_COMMAND_GO, false, &HandleGoXYZCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + static std::vector<ChatCommand> goCommandTable = + { + { "creature", rbac::RBAC_PERM_COMMAND_GO_CREATURE, false, &HandleGoCreatureCommand, "" }, + { "graveyard", rbac::RBAC_PERM_COMMAND_GO_GRAVEYARD, false, &HandleGoGraveyardCommand, "" }, + { "grid", rbac::RBAC_PERM_COMMAND_GO_GRID, false, &HandleGoGridCommand, "" }, + { "object", rbac::RBAC_PERM_COMMAND_GO_OBJECT, false, &HandleGoObjectCommand, "" }, + { "taxinode", rbac::RBAC_PERM_COMMAND_GO_TAXINODE, false, &HandleGoTaxinodeCommand, "" }, + { "trigger", rbac::RBAC_PERM_COMMAND_GO_TRIGGER, false, &HandleGoTriggerCommand, "" }, + { "zonexy", rbac::RBAC_PERM_COMMAND_GO_ZONEXY, false, &HandleGoZoneXYCommand, "" }, + { "xyz", rbac::RBAC_PERM_COMMAND_GO_XYZ, false, &HandleGoXYZCommand, "" }, + { "bugticket", rbac::RBAC_PERM_COMMAND_GO_TICKET, false, &HandleGoTicketCommand, "" }, + { "", rbac::RBAC_PERM_COMMAND_GO, false, &HandleGoXYZCommand, "" }, }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "go", rbac::RBAC_PERM_COMMAND_GO, false, NULL, "", goCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_gobject.cpp b/src/server/scripts/Commands/cs_gobject.cpp index 9710a7e634c..fda9101fc3f 100644 --- a/src/server/scripts/Commands/cs_gobject.cpp +++ b/src/server/scripts/Commands/cs_gobject.cpp @@ -37,37 +37,33 @@ class gobject_commandscript : public CommandScript public: gobject_commandscript() : CommandScript("gobject_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand gobjectAddCommandTable[] = + static std::vector<ChatCommand> gobjectAddCommandTable = { - { "temp", rbac::RBAC_PERM_COMMAND_GOBJECT_ADD_TEMP, false, &HandleGameObjectAddTempCommand, "", NULL }, - { "", rbac::RBAC_PERM_COMMAND_GOBJECT_ADD, false, &HandleGameObjectAddCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "temp", rbac::RBAC_PERM_COMMAND_GOBJECT_ADD_TEMP, false, &HandleGameObjectAddTempCommand, "" }, + { "", rbac::RBAC_PERM_COMMAND_GOBJECT_ADD, false, &HandleGameObjectAddCommand, "" }, }; - static ChatCommand gobjectSetCommandTable[] = + static std::vector<ChatCommand> gobjectSetCommandTable = { - { "phase", rbac::RBAC_PERM_COMMAND_GOBJECT_SET_PHASE, false, &HandleGameObjectSetPhaseCommand, "", NULL }, - { "state", rbac::RBAC_PERM_COMMAND_GOBJECT_SET_STATE, false, &HandleGameObjectSetStateCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "phase", rbac::RBAC_PERM_COMMAND_GOBJECT_SET_PHASE, false, &HandleGameObjectSetPhaseCommand, "" }, + { "state", rbac::RBAC_PERM_COMMAND_GOBJECT_SET_STATE, false, &HandleGameObjectSetStateCommand, "" }, }; - static ChatCommand gobjectCommandTable[] = - { - { "activate", rbac::RBAC_PERM_COMMAND_GOBJECT_ACTIVATE, false, &HandleGameObjectActivateCommand, "", NULL }, - { "delete", rbac::RBAC_PERM_COMMAND_GOBJECT_DELETE, false, &HandleGameObjectDeleteCommand, "", NULL }, - { "info", rbac::RBAC_PERM_COMMAND_GOBJECT_INFO, false, &HandleGameObjectInfoCommand, "", NULL }, - { "move", rbac::RBAC_PERM_COMMAND_GOBJECT_MOVE, false, &HandleGameObjectMoveCommand, "", NULL }, - { "near", rbac::RBAC_PERM_COMMAND_GOBJECT_NEAR, false, &HandleGameObjectNearCommand, "", NULL }, - { "target", rbac::RBAC_PERM_COMMAND_GOBJECT_TARGET, false, &HandleGameObjectTargetCommand, "", NULL }, - { "turn", rbac::RBAC_PERM_COMMAND_GOBJECT_TURN, false, &HandleGameObjectTurnCommand, "", NULL }, + static std::vector<ChatCommand> gobjectCommandTable = + { + { "activate", rbac::RBAC_PERM_COMMAND_GOBJECT_ACTIVATE, false, &HandleGameObjectActivateCommand, "" }, + { "delete", rbac::RBAC_PERM_COMMAND_GOBJECT_DELETE, false, &HandleGameObjectDeleteCommand, "" }, + { "info", rbac::RBAC_PERM_COMMAND_GOBJECT_INFO, false, &HandleGameObjectInfoCommand, "" }, + { "move", rbac::RBAC_PERM_COMMAND_GOBJECT_MOVE, false, &HandleGameObjectMoveCommand, "" }, + { "near", rbac::RBAC_PERM_COMMAND_GOBJECT_NEAR, false, &HandleGameObjectNearCommand, "" }, + { "target", rbac::RBAC_PERM_COMMAND_GOBJECT_TARGET, false, &HandleGameObjectTargetCommand, "" }, + { "turn", rbac::RBAC_PERM_COMMAND_GOBJECT_TURN, false, &HandleGameObjectTurnCommand, "" }, { "add", rbac::RBAC_PERM_COMMAND_GOBJECT_ADD, false, NULL, "", gobjectAddCommandTable }, { "set", rbac::RBAC_PERM_COMMAND_GOBJECT_SET, false, NULL, "", gobjectSetCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "gobject", rbac::RBAC_PERM_COMMAND_GOBJECT, false, NULL, "", gobjectCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_group.cpp b/src/server/scripts/Commands/cs_group.cpp index 8152508c5df..054cff996f9 100644 --- a/src/server/scripts/Commands/cs_group.cpp +++ b/src/server/scripts/Commands/cs_group.cpp @@ -28,23 +28,21 @@ class group_commandscript : public CommandScript public: group_commandscript() : CommandScript("group_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand groupCommandTable[] = + static std::vector<ChatCommand> groupCommandTable = { - { "leader", rbac::RBAC_PERM_COMMAND_GROUP_LEADER, false, &HandleGroupLeaderCommand, "", NULL }, - { "disband", rbac::RBAC_PERM_COMMAND_GROUP_DISBAND, false, &HandleGroupDisbandCommand, "", NULL }, - { "remove", rbac::RBAC_PERM_COMMAND_GROUP_REMOVE, false, &HandleGroupRemoveCommand, "", NULL }, - { "join", rbac::RBAC_PERM_COMMAND_GROUP_JOIN, false, &HandleGroupJoinCommand, "", NULL }, - { "list", rbac::RBAC_PERM_COMMAND_GROUP_LIST, false, &HandleGroupListCommand, "", NULL }, - { "summon", rbac::RBAC_PERM_COMMAND_GROUP_SUMMON, false, &HandleGroupSummonCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "leader", rbac::RBAC_PERM_COMMAND_GROUP_LEADER, false, &HandleGroupLeaderCommand, "" }, + { "disband", rbac::RBAC_PERM_COMMAND_GROUP_DISBAND, false, &HandleGroupDisbandCommand, "" }, + { "remove", rbac::RBAC_PERM_COMMAND_GROUP_REMOVE, false, &HandleGroupRemoveCommand, "" }, + { "join", rbac::RBAC_PERM_COMMAND_GROUP_JOIN, false, &HandleGroupJoinCommand, "" }, + { "list", rbac::RBAC_PERM_COMMAND_GROUP_LIST, false, &HandleGroupListCommand, "" }, + { "summon", rbac::RBAC_PERM_COMMAND_GROUP_SUMMON, false, &HandleGroupSummonCommand, "" }, }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "group", rbac::RBAC_PERM_COMMAND_GROUP, false, NULL, "", groupCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_guild.cpp b/src/server/scripts/Commands/cs_guild.cpp index c2b9076017a..04b633f6f40 100644 --- a/src/server/scripts/Commands/cs_guild.cpp +++ b/src/server/scripts/Commands/cs_guild.cpp @@ -34,23 +34,21 @@ class guild_commandscript : public CommandScript public: guild_commandscript() : CommandScript("guild_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand guildCommandTable[] = + static std::vector<ChatCommand> guildCommandTable = { - { "create", rbac::RBAC_PERM_COMMAND_GUILD_CREATE, true, &HandleGuildCreateCommand, "", NULL }, - { "delete", rbac::RBAC_PERM_COMMAND_GUILD_DELETE, true, &HandleGuildDeleteCommand, "", NULL }, - { "invite", rbac::RBAC_PERM_COMMAND_GUILD_INVITE, true, &HandleGuildInviteCommand, "", NULL }, - { "uninvite", rbac::RBAC_PERM_COMMAND_GUILD_UNINVITE, true, &HandleGuildUninviteCommand, "", NULL }, - { "rank", rbac::RBAC_PERM_COMMAND_GUILD_RANK, true, &HandleGuildRankCommand, "", NULL }, - { "rename", rbac::RBAC_PERM_COMMAND_GUILD_RENAME, true, &HandleGuildRenameCommand, "", NULL }, - { "info", rbac::RBAC_PERM_COMMAND_GUILD_INFO, true, &HandleGuildInfoCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "create", rbac::RBAC_PERM_COMMAND_GUILD_CREATE, true, &HandleGuildCreateCommand, "" }, + { "delete", rbac::RBAC_PERM_COMMAND_GUILD_DELETE, true, &HandleGuildDeleteCommand, "" }, + { "invite", rbac::RBAC_PERM_COMMAND_GUILD_INVITE, true, &HandleGuildInviteCommand, "" }, + { "uninvite", rbac::RBAC_PERM_COMMAND_GUILD_UNINVITE, true, &HandleGuildUninviteCommand, "" }, + { "rank", rbac::RBAC_PERM_COMMAND_GUILD_RANK, true, &HandleGuildRankCommand, "" }, + { "rename", rbac::RBAC_PERM_COMMAND_GUILD_RENAME, true, &HandleGuildRenameCommand, "" }, + { "info", rbac::RBAC_PERM_COMMAND_GUILD_INFO, true, &HandleGuildInfoCommand, "" }, }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "guild", rbac::RBAC_PERM_COMMAND_GUILD, true, NULL, "", guildCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_honor.cpp b/src/server/scripts/Commands/cs_honor.cpp index ad2c53415bb..e8b41309d47 100644 --- a/src/server/scripts/Commands/cs_honor.cpp +++ b/src/server/scripts/Commands/cs_honor.cpp @@ -33,26 +33,23 @@ class honor_commandscript : public CommandScript public: honor_commandscript() : CommandScript("honor_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand honorAddCommandTable[] = + static std::vector<ChatCommand> honorAddCommandTable = { - { "kill", rbac::RBAC_PERM_COMMAND_HONOR_ADD_KILL, false, &HandleHonorAddKillCommand, "", NULL }, - { "", rbac::RBAC_PERM_COMMAND_HONOR_ADD, false, &HandleHonorAddCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "kill", rbac::RBAC_PERM_COMMAND_HONOR_ADD_KILL, false, &HandleHonorAddKillCommand, "" }, + { "", rbac::RBAC_PERM_COMMAND_HONOR_ADD, false, &HandleHonorAddCommand, "" }, }; - static ChatCommand honorCommandTable[] = + static std::vector<ChatCommand> honorCommandTable = { { "add", rbac::RBAC_PERM_COMMAND_HONOR_ADD, false, NULL, "", honorAddCommandTable }, - { "update", rbac::RBAC_PERM_COMMAND_HONOR_UPDATE, false, &HandleHonorUpdateCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "update", rbac::RBAC_PERM_COMMAND_HONOR_UPDATE, false, &HandleHonorUpdateCommand, "" }, }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "honor", rbac::RBAC_PERM_COMMAND_HONOR, false, NULL, "", honorCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_instance.cpp b/src/server/scripts/Commands/cs_instance.cpp index aa7310e3c65..e51b7bcc594 100644 --- a/src/server/scripts/Commands/cs_instance.cpp +++ b/src/server/scripts/Commands/cs_instance.cpp @@ -36,23 +36,21 @@ class instance_commandscript : public CommandScript public: instance_commandscript() : CommandScript("instance_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand instanceCommandTable[] = + static std::vector<ChatCommand> instanceCommandTable = { - { "listbinds", rbac::RBAC_PERM_COMMAND_INSTANCE_LISTBINDS, false, &HandleInstanceListBindsCommand, "", NULL }, - { "unbind", rbac::RBAC_PERM_COMMAND_INSTANCE_UNBIND, false, &HandleInstanceUnbindCommand, "", NULL }, - { "stats", rbac::RBAC_PERM_COMMAND_INSTANCE_STATS, true, &HandleInstanceStatsCommand, "", NULL }, - { "savedata", rbac::RBAC_PERM_COMMAND_INSTANCE_SAVEDATA, false, &HandleInstanceSaveDataCommand, "", NULL }, - { "setbossstate", rbac::RBAC_PERM_COMMAND_INSTANCE_SET_BOSS_STATE, true, &HandleInstanceSetBossStateCommand, "", NULL }, - { "getbossstate", rbac::RBAC_PERM_COMMAND_INSTANCE_GET_BOSS_STATE, true, &HandleInstanceGetBossStateCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "listbinds", rbac::RBAC_PERM_COMMAND_INSTANCE_LISTBINDS, false, &HandleInstanceListBindsCommand, "" }, + { "unbind", rbac::RBAC_PERM_COMMAND_INSTANCE_UNBIND, false, &HandleInstanceUnbindCommand, "" }, + { "stats", rbac::RBAC_PERM_COMMAND_INSTANCE_STATS, true, &HandleInstanceStatsCommand, "" }, + { "savedata", rbac::RBAC_PERM_COMMAND_INSTANCE_SAVEDATA, false, &HandleInstanceSaveDataCommand, "" }, + { "setbossstate", rbac::RBAC_PERM_COMMAND_INSTANCE_SET_BOSS_STATE, true, &HandleInstanceSetBossStateCommand, "" }, + { "getbossstate", rbac::RBAC_PERM_COMMAND_INSTANCE_GET_BOSS_STATE, true, &HandleInstanceGetBossStateCommand, "" }, }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "instance", rbac::RBAC_PERM_COMMAND_INSTANCE, true, NULL, "", instanceCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; diff --git a/src/server/scripts/Commands/cs_learn.cpp b/src/server/scripts/Commands/cs_learn.cpp index 21211afad50..d7fd4e6664c 100644 --- a/src/server/scripts/Commands/cs_learn.cpp +++ b/src/server/scripts/Commands/cs_learn.cpp @@ -36,40 +36,36 @@ class learn_commandscript : public CommandScript public: learn_commandscript() : CommandScript("learn_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand learnAllMyCommandTable[] = + static std::vector<ChatCommand> learnAllMyCommandTable = { - { "class", rbac::RBAC_PERM_COMMAND_LEARN_ALL_MY_CLASS, false, &HandleLearnAllMyClassCommand, "", NULL }, - { "pettalents", rbac::RBAC_PERM_COMMAND_LEARN_ALL_MY_PETTALENTS, false, &HandleLearnAllMyPetTalentsCommand, "", NULL }, - { "spells", rbac::RBAC_PERM_COMMAND_LEARN_ALL_MY_SPELLS, false, &HandleLearnAllMySpellsCommand, "", NULL }, - { "talents", rbac::RBAC_PERM_COMMAND_LEARN_ALL_MY_TALENTS, false, &HandleLearnAllMyTalentsCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "class", rbac::RBAC_PERM_COMMAND_LEARN_ALL_MY_CLASS, false, &HandleLearnAllMyClassCommand, "" }, + { "pettalents", rbac::RBAC_PERM_COMMAND_LEARN_ALL_MY_PETTALENTS, false, &HandleLearnAllMyPetTalentsCommand, "" }, + { "spells", rbac::RBAC_PERM_COMMAND_LEARN_ALL_MY_SPELLS, false, &HandleLearnAllMySpellsCommand, "" }, + { "talents", rbac::RBAC_PERM_COMMAND_LEARN_ALL_MY_TALENTS, false, &HandleLearnAllMyTalentsCommand, "" }, }; - static ChatCommand learnAllCommandTable[] = + static std::vector<ChatCommand> learnAllCommandTable = { { "my", rbac::RBAC_PERM_COMMAND_LEARN_ALL_MY, false, NULL, "", learnAllMyCommandTable }, - { "gm", rbac::RBAC_PERM_COMMAND_LEARN_ALL_GM, false, &HandleLearnAllGMCommand, "", NULL }, - { "crafts", rbac::RBAC_PERM_COMMAND_LEARN_ALL_CRAFTS, false, &HandleLearnAllCraftsCommand, "", NULL }, - { "default", rbac::RBAC_PERM_COMMAND_LEARN_ALL_DEFAULT, false, &HandleLearnAllDefaultCommand, "", NULL }, - { "lang", rbac::RBAC_PERM_COMMAND_LEARN_ALL_LANG, false, &HandleLearnAllLangCommand, "", NULL }, - { "recipes", rbac::RBAC_PERM_COMMAND_LEARN_ALL_RECIPES, false, &HandleLearnAllRecipesCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "gm", rbac::RBAC_PERM_COMMAND_LEARN_ALL_GM, false, &HandleLearnAllGMCommand, "" }, + { "crafts", rbac::RBAC_PERM_COMMAND_LEARN_ALL_CRAFTS, false, &HandleLearnAllCraftsCommand, "" }, + { "default", rbac::RBAC_PERM_COMMAND_LEARN_ALL_DEFAULT, false, &HandleLearnAllDefaultCommand, "" }, + { "lang", rbac::RBAC_PERM_COMMAND_LEARN_ALL_LANG, false, &HandleLearnAllLangCommand, "" }, + { "recipes", rbac::RBAC_PERM_COMMAND_LEARN_ALL_RECIPES, false, &HandleLearnAllRecipesCommand, "" }, }; - static ChatCommand learnCommandTable[] = + static std::vector<ChatCommand> learnCommandTable = { { "all", rbac::RBAC_PERM_COMMAND_LEARN_ALL, false, NULL, "", learnAllCommandTable }, - { "", rbac::RBAC_PERM_COMMAND_LEARN, false, &HandleLearnCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "", rbac::RBAC_PERM_COMMAND_LEARN, false, &HandleLearnCommand, "" }, }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "learn", rbac::RBAC_PERM_COMMAND_LEARN, false, NULL, "", learnCommandTable }, - { "unlearn", rbac::RBAC_PERM_COMMAND_UNLEARN, false, &HandleUnLearnCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "unlearn", rbac::RBAC_PERM_COMMAND_UNLEARN, false, &HandleUnLearnCommand, "" }, }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_lfg.cpp b/src/server/scripts/Commands/cs_lfg.cpp index 2de22714a15..9287d5553e3 100644 --- a/src/server/scripts/Commands/cs_lfg.cpp +++ b/src/server/scripts/Commands/cs_lfg.cpp @@ -43,22 +43,20 @@ class lfg_commandscript : public CommandScript public: lfg_commandscript() : CommandScript("lfg_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand lfgCommandTable[] = + static std::vector<ChatCommand> lfgCommandTable = { - { "player", rbac::RBAC_PERM_COMMAND_LFG_PLAYER, false, &HandleLfgPlayerInfoCommand, "", NULL }, - { "group", rbac::RBAC_PERM_COMMAND_LFG_GROUP, false, &HandleLfgGroupInfoCommand, "", NULL }, - { "queue", rbac::RBAC_PERM_COMMAND_LFG_QUEUE, true, &HandleLfgQueueInfoCommand, "", NULL }, - { "clean", rbac::RBAC_PERM_COMMAND_LFG_CLEAN, true, &HandleLfgCleanCommand, "", NULL }, - { "options", rbac::RBAC_PERM_COMMAND_LFG_OPTIONS, true, &HandleLfgOptionsCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "player", rbac::RBAC_PERM_COMMAND_LFG_PLAYER, false, &HandleLfgPlayerInfoCommand, "" }, + { "group", rbac::RBAC_PERM_COMMAND_LFG_GROUP, false, &HandleLfgGroupInfoCommand, "" }, + { "queue", rbac::RBAC_PERM_COMMAND_LFG_QUEUE, true, &HandleLfgQueueInfoCommand, "" }, + { "clean", rbac::RBAC_PERM_COMMAND_LFG_CLEAN, true, &HandleLfgCleanCommand, "" }, + { "options", rbac::RBAC_PERM_COMMAND_LFG_OPTIONS, true, &HandleLfgOptionsCommand, "" }, }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "lfg", rbac::RBAC_PERM_COMMAND_LFG, true, NULL, "", lfgCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_list.cpp b/src/server/scripts/Commands/cs_list.cpp index 0de62f805de..a1b79a69605 100644 --- a/src/server/scripts/Commands/cs_list.cpp +++ b/src/server/scripts/Commands/cs_list.cpp @@ -36,21 +36,19 @@ class list_commandscript : public CommandScript public: list_commandscript() : CommandScript("list_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand listCommandTable[] = + static std::vector<ChatCommand> listCommandTable = { - { "creature", rbac::RBAC_PERM_COMMAND_LIST_CREATURE, true, &HandleListCreatureCommand, "", NULL }, - { "item", rbac::RBAC_PERM_COMMAND_LIST_ITEM, true, &HandleListItemCommand, "", NULL }, - { "object", rbac::RBAC_PERM_COMMAND_LIST_OBJECT, true, &HandleListObjectCommand, "", NULL }, - { "auras", rbac::RBAC_PERM_COMMAND_LIST_AURAS, false, &HandleListAurasCommand, "", NULL }, - { "mail", rbac::RBAC_PERM_COMMAND_LIST_MAIL, true, &HandleListMailCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "creature", rbac::RBAC_PERM_COMMAND_LIST_CREATURE, true, &HandleListCreatureCommand, "" }, + { "item", rbac::RBAC_PERM_COMMAND_LIST_ITEM, true, &HandleListItemCommand, "" }, + { "object", rbac::RBAC_PERM_COMMAND_LIST_OBJECT, true, &HandleListObjectCommand, "" }, + { "auras", rbac::RBAC_PERM_COMMAND_LIST_AURAS, false, &HandleListAurasCommand, "" }, + { "mail", rbac::RBAC_PERM_COMMAND_LIST_MAIL, true, &HandleListMailCommand, "" }, }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "list", rbac::RBAC_PERM_COMMAND_LIST,true, NULL, "", listCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_lookup.cpp b/src/server/scripts/Commands/cs_lookup.cpp index cb2d467f8d7..ec35c5a7b62 100644 --- a/src/server/scripts/Commands/cs_lookup.cpp +++ b/src/server/scripts/Commands/cs_lookup.cpp @@ -37,47 +37,43 @@ class lookup_commandscript : public CommandScript public: lookup_commandscript() : CommandScript("lookup_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand lookupPlayerCommandTable[] = + static std::vector<ChatCommand> lookupPlayerCommandTable = { - { "ip", rbac::RBAC_PERM_COMMAND_LOOKUP_PLAYER_IP, true, &HandleLookupPlayerIpCommand, "", NULL }, - { "account", rbac::RBAC_PERM_COMMAND_LOOKUP_PLAYER_ACCOUNT, true, &HandleLookupPlayerAccountCommand, "", NULL }, - { "email", rbac::RBAC_PERM_COMMAND_LOOKUP_PLAYER_EMAIL, true, &HandleLookupPlayerEmailCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "ip", rbac::RBAC_PERM_COMMAND_LOOKUP_PLAYER_IP, true, &HandleLookupPlayerIpCommand, "" }, + { "account", rbac::RBAC_PERM_COMMAND_LOOKUP_PLAYER_ACCOUNT, true, &HandleLookupPlayerAccountCommand, "" }, + { "email", rbac::RBAC_PERM_COMMAND_LOOKUP_PLAYER_EMAIL, true, &HandleLookupPlayerEmailCommand, "" }, }; - static ChatCommand lookupSpellCommandTable[] = + static std::vector<ChatCommand> lookupSpellCommandTable = { - { "id", rbac::RBAC_PERM_COMMAND_LOOKUP_SPELL_ID, true, &HandleLookupSpellIdCommand, "", NULL }, - { "", rbac::RBAC_PERM_COMMAND_LOOKUP_SPELL, true, &HandleLookupSpellCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "id", rbac::RBAC_PERM_COMMAND_LOOKUP_SPELL_ID, true, &HandleLookupSpellIdCommand, "" }, + { "", rbac::RBAC_PERM_COMMAND_LOOKUP_SPELL, true, &HandleLookupSpellCommand, "" }, }; - static ChatCommand lookupCommandTable[] = + static std::vector<ChatCommand> lookupCommandTable = { - { "area", rbac::RBAC_PERM_COMMAND_LOOKUP_AREA, true, &HandleLookupAreaCommand, "", NULL }, - { "creature", rbac::RBAC_PERM_COMMAND_LOOKUP_CREATURE, true, &HandleLookupCreatureCommand, "", NULL }, - { "event", rbac::RBAC_PERM_COMMAND_LOOKUP_EVENT, true, &HandleLookupEventCommand, "", NULL }, - { "faction", rbac::RBAC_PERM_COMMAND_LOOKUP_FACTION, true, &HandleLookupFactionCommand, "", NULL }, - { "item", rbac::RBAC_PERM_COMMAND_LOOKUP_ITEM, true, &HandleLookupItemCommand, "", NULL }, - { "itemset", rbac::RBAC_PERM_COMMAND_LOOKUP_ITEMSET, true, &HandleLookupItemSetCommand, "", NULL }, - { "object", rbac::RBAC_PERM_COMMAND_LOOKUP_OBJECT, true, &HandleLookupObjectCommand, "", NULL }, - { "quest", rbac::RBAC_PERM_COMMAND_LOOKUP_QUEST, true, &HandleLookupQuestCommand, "", NULL }, + { "area", rbac::RBAC_PERM_COMMAND_LOOKUP_AREA, true, &HandleLookupAreaCommand, "" }, + { "creature", rbac::RBAC_PERM_COMMAND_LOOKUP_CREATURE, true, &HandleLookupCreatureCommand, "" }, + { "event", rbac::RBAC_PERM_COMMAND_LOOKUP_EVENT, true, &HandleLookupEventCommand, "" }, + { "faction", rbac::RBAC_PERM_COMMAND_LOOKUP_FACTION, true, &HandleLookupFactionCommand, "" }, + { "item", rbac::RBAC_PERM_COMMAND_LOOKUP_ITEM, true, &HandleLookupItemCommand, "" }, + { "itemset", rbac::RBAC_PERM_COMMAND_LOOKUP_ITEMSET, true, &HandleLookupItemSetCommand, "" }, + { "object", rbac::RBAC_PERM_COMMAND_LOOKUP_OBJECT, true, &HandleLookupObjectCommand, "" }, + { "quest", rbac::RBAC_PERM_COMMAND_LOOKUP_QUEST, true, &HandleLookupQuestCommand, "" }, { "player", rbac::RBAC_PERM_COMMAND_LOOKUP_PLAYER, true, NULL, "", lookupPlayerCommandTable }, - { "skill", rbac::RBAC_PERM_COMMAND_LOOKUP_SKILL, true, &HandleLookupSkillCommand, "", NULL }, + { "skill", rbac::RBAC_PERM_COMMAND_LOOKUP_SKILL, true, &HandleLookupSkillCommand, "" }, { "spell", rbac::RBAC_PERM_COMMAND_LOOKUP_SPELL, true, NULL, "", lookupSpellCommandTable }, - { "taxinode", rbac::RBAC_PERM_COMMAND_LOOKUP_TAXINODE, true, &HandleLookupTaxiNodeCommand, "", NULL }, - { "tele", rbac::RBAC_PERM_COMMAND_LOOKUP_TELE, true, &HandleLookupTeleCommand, "", NULL }, - { "title", rbac::RBAC_PERM_COMMAND_LOOKUP_TITLE, true, &HandleLookupTitleCommand, "", NULL }, - { "map", rbac::RBAC_PERM_COMMAND_LOOKUP_MAP, true, &HandleLookupMapCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "taxinode", rbac::RBAC_PERM_COMMAND_LOOKUP_TAXINODE, true, &HandleLookupTaxiNodeCommand, "" }, + { "tele", rbac::RBAC_PERM_COMMAND_LOOKUP_TELE, true, &HandleLookupTeleCommand, "" }, + { "title", rbac::RBAC_PERM_COMMAND_LOOKUP_TITLE, true, &HandleLookupTitleCommand, "" }, + { "map", rbac::RBAC_PERM_COMMAND_LOOKUP_MAP, true, &HandleLookupMapCommand, "" }, }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "lookup", rbac::RBAC_PERM_COMMAND_LOOKUP, true, NULL, "", lookupCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_message.cpp b/src/server/scripts/Commands/cs_message.cpp index 922958f7222..f3c1f4d7df8 100644 --- a/src/server/scripts/Commands/cs_message.cpp +++ b/src/server/scripts/Commands/cs_message.cpp @@ -34,29 +34,26 @@ class message_commandscript : public CommandScript public: message_commandscript() : CommandScript("message_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand channelSetCommandTable[] = + static std::vector<ChatCommand> channelSetCommandTable = { - { "ownership", rbac::RBAC_PERM_COMMAND_CHANNEL_SET_OWNERSHIP, false, &HandleChannelSetOwnership, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "ownership", rbac::RBAC_PERM_COMMAND_CHANNEL_SET_OWNERSHIP, false, &HandleChannelSetOwnership, "" }, }; - static ChatCommand channelCommandTable[] = + static std::vector<ChatCommand> channelCommandTable = { { "set", rbac::RBAC_PERM_COMMAND_CHANNEL_SET, true, NULL, "", channelSetCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "channel", rbac::RBAC_PERM_COMMAND_CHANNEL, true, NULL, "", channelCommandTable }, - { "nameannounce", rbac::RBAC_PERM_COMMAND_NAMEANNOUNCE, true, &HandleNameAnnounceCommand, "", NULL }, - { "gmnameannounce", rbac::RBAC_PERM_COMMAND_GMNAMEANNOUNCE, true, &HandleGMNameAnnounceCommand, "", NULL }, - { "announce", rbac::RBAC_PERM_COMMAND_ANNOUNCE, true, &HandleAnnounceCommand, "", NULL }, - { "gmannounce", rbac::RBAC_PERM_COMMAND_GMANNOUNCE, true, &HandleGMAnnounceCommand, "", NULL }, - { "notify", rbac::RBAC_PERM_COMMAND_NOTIFY, true, &HandleNotifyCommand, "", NULL }, - { "gmnotify", rbac::RBAC_PERM_COMMAND_GMNOTIFY, true, &HandleGMNotifyCommand, "", NULL }, - { "whispers", rbac::RBAC_PERM_COMMAND_WHISPERS, false, &HandleWhispersCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "nameannounce", rbac::RBAC_PERM_COMMAND_NAMEANNOUNCE, true, &HandleNameAnnounceCommand, "" }, + { "gmnameannounce", rbac::RBAC_PERM_COMMAND_GMNAMEANNOUNCE, true, &HandleGMNameAnnounceCommand, "" }, + { "announce", rbac::RBAC_PERM_COMMAND_ANNOUNCE, true, &HandleAnnounceCommand, "" }, + { "gmannounce", rbac::RBAC_PERM_COMMAND_GMANNOUNCE, true, &HandleGMAnnounceCommand, "" }, + { "notify", rbac::RBAC_PERM_COMMAND_NOTIFY, true, &HandleNotifyCommand, "" }, + { "gmnotify", rbac::RBAC_PERM_COMMAND_GMNOTIFY, true, &HandleGMNotifyCommand, "" }, + { "whispers", rbac::RBAC_PERM_COMMAND_WHISPERS, false, &HandleWhispersCommand, "" }, }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp index 725fdd4c27d..b22f56ef923 100644 --- a/src/server/scripts/Commands/cs_misc.cpp +++ b/src/server/scripts/Commands/cs_misc.cpp @@ -42,62 +42,61 @@ class misc_commandscript : public CommandScript public: misc_commandscript() : CommandScript("misc_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand commandTable[] = - { - { "additem", rbac::RBAC_PERM_COMMAND_ADDITEM, false, &HandleAddItemCommand, "", NULL }, - { "additemset", rbac::RBAC_PERM_COMMAND_ADDITEMSET, false, &HandleAddItemSetCommand, "", NULL }, - { "appear", rbac::RBAC_PERM_COMMAND_APPEAR, false, &HandleAppearCommand, "", NULL }, - { "aura", rbac::RBAC_PERM_COMMAND_AURA, false, &HandleAuraCommand, "", NULL }, - { "bank", rbac::RBAC_PERM_COMMAND_BANK, false, &HandleBankCommand, "", NULL }, - { "bindsight", rbac::RBAC_PERM_COMMAND_BINDSIGHT, false, &HandleBindSightCommand, "", NULL }, - { "combatstop", rbac::RBAC_PERM_COMMAND_COMBATSTOP, true, &HandleCombatStopCommand, "", NULL }, - { "cometome", rbac::RBAC_PERM_COMMAND_COMETOME, false, &HandleComeToMeCommand, "", NULL }, - { "commands", rbac::RBAC_PERM_COMMAND_COMMANDS, true, &HandleCommandsCommand, "", NULL }, - { "cooldown", rbac::RBAC_PERM_COMMAND_COOLDOWN, false, &HandleCooldownCommand, "", NULL }, - { "damage", rbac::RBAC_PERM_COMMAND_DAMAGE, false, &HandleDamageCommand, "", NULL }, - { "dev", rbac::RBAC_PERM_COMMAND_DEV, false, &HandleDevCommand, "", NULL }, - { "die", rbac::RBAC_PERM_COMMAND_DIE, false, &HandleDieCommand, "", NULL }, - { "dismount", rbac::RBAC_PERM_COMMAND_DISMOUNT, false, &HandleDismountCommand, "", NULL }, - { "distance", rbac::RBAC_PERM_COMMAND_DISTANCE, false, &HandleGetDistanceCommand, "", NULL }, - { "flusharenapoints", rbac::RBAC_PERM_COMMAND_FLUSHARENAPOINTS, false, &HandleFlushArenaPointsCommand, "", NULL }, - { "freeze", rbac::RBAC_PERM_COMMAND_FREEZE, false, &HandleFreezeCommand, "", NULL }, - { "gps", rbac::RBAC_PERM_COMMAND_GPS, false, &HandleGPSCommand, "", NULL }, - { "guid", rbac::RBAC_PERM_COMMAND_GUID, false, &HandleGUIDCommand, "", NULL }, - { "help", rbac::RBAC_PERM_COMMAND_HELP, true, &HandleHelpCommand, "", NULL }, - { "hidearea", rbac::RBAC_PERM_COMMAND_HIDEAREA, false, &HandleHideAreaCommand, "", NULL }, - { "itemmove", rbac::RBAC_PERM_COMMAND_ITEMMOVE, false, &HandleItemMoveCommand, "", NULL }, - { "kick", rbac::RBAC_PERM_COMMAND_KICK, true, &HandleKickPlayerCommand, "", NULL }, - { "linkgrave", rbac::RBAC_PERM_COMMAND_LINKGRAVE, false, &HandleLinkGraveCommand, "", NULL }, - { "listfreeze", rbac::RBAC_PERM_COMMAND_LISTFREEZE, false, &HandleListFreezeCommand, "", NULL }, - { "maxskill", rbac::RBAC_PERM_COMMAND_MAXSKILL, false, &HandleMaxSkillCommand, "", NULL }, - { "movegens", rbac::RBAC_PERM_COMMAND_MOVEGENS, false, &HandleMovegensCommand, "", NULL }, - { "mute", rbac::RBAC_PERM_COMMAND_MUTE, true, &HandleMuteCommand, "", NULL }, - { "mutehistory", rbac::RBAC_PERM_COMMAND_MUTEHISTORY, true, &HandleMuteInfoCommand, "", NULL }, - { "neargrave", rbac::RBAC_PERM_COMMAND_NEARGRAVE, false, &HandleNearGraveCommand, "", NULL }, - { "pinfo", rbac::RBAC_PERM_COMMAND_PINFO, true, &HandlePInfoCommand, "", NULL }, - { "playall", rbac::RBAC_PERM_COMMAND_PLAYALL, false, &HandlePlayAllCommand, "", NULL }, - { "possess", rbac::RBAC_PERM_COMMAND_POSSESS, false, &HandlePossessCommand, "", NULL }, - { "pvpstats", rbac::RBAC_PERM_COMMAND_PVPSTATS, true, &HandlePvPstatsCommand, "", NULL }, - { "recall", rbac::RBAC_PERM_COMMAND_RECALL, false, &HandleRecallCommand, "", NULL }, - { "repairitems", rbac::RBAC_PERM_COMMAND_REPAIRITEMS, true, &HandleRepairitemsCommand, "", NULL }, - { "respawn", rbac::RBAC_PERM_COMMAND_RESPAWN, false, &HandleRespawnCommand, "", NULL }, - { "revive", rbac::RBAC_PERM_COMMAND_REVIVE, true, &HandleReviveCommand, "", NULL }, - { "saveall", rbac::RBAC_PERM_COMMAND_SAVEALL, true, &HandleSaveAllCommand, "", NULL }, - { "save", rbac::RBAC_PERM_COMMAND_SAVE, false, &HandleSaveCommand, "", NULL }, - { "setskill", rbac::RBAC_PERM_COMMAND_SETSKILL, false, &HandleSetSkillCommand, "", NULL }, - { "showarea", rbac::RBAC_PERM_COMMAND_SHOWAREA, false, &HandleShowAreaCommand, "", NULL }, - { "summon", rbac::RBAC_PERM_COMMAND_SUMMON, false, &HandleSummonCommand, "", NULL }, - { "unaura", rbac::RBAC_PERM_COMMAND_UNAURA, false, &HandleUnAuraCommand, "", NULL }, - { "unbindsight", rbac::RBAC_PERM_COMMAND_UNBINDSIGHT, false, HandleUnbindSightCommand, "", NULL }, - { "unfreeze", rbac::RBAC_PERM_COMMAND_UNFREEZE, false, &HandleUnFreezeCommand, "", NULL }, - { "unmute", rbac::RBAC_PERM_COMMAND_UNMUTE, true, &HandleUnmuteCommand, "", NULL }, - { "unpossess", rbac::RBAC_PERM_COMMAND_UNPOSSESS, false, &HandleUnPossessCommand, "", NULL }, - { "unstuck", rbac::RBAC_PERM_COMMAND_UNSTUCK, true, &HandleUnstuckCommand, "", NULL }, - { "wchange", rbac::RBAC_PERM_COMMAND_WCHANGE, false, &HandleChangeWeather, "", NULL }, - { "mailbox", rbac::RBAC_PERM_COMMAND_MAILBOX, false, &HandleMailBoxCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + static std::vector<ChatCommand> commandTable = + { + { "additem", rbac::RBAC_PERM_COMMAND_ADDITEM, false, &HandleAddItemCommand, "" }, + { "additemset", rbac::RBAC_PERM_COMMAND_ADDITEMSET, false, &HandleAddItemSetCommand, "" }, + { "appear", rbac::RBAC_PERM_COMMAND_APPEAR, false, &HandleAppearCommand, "" }, + { "aura", rbac::RBAC_PERM_COMMAND_AURA, false, &HandleAuraCommand, "" }, + { "bank", rbac::RBAC_PERM_COMMAND_BANK, false, &HandleBankCommand, "" }, + { "bindsight", rbac::RBAC_PERM_COMMAND_BINDSIGHT, false, &HandleBindSightCommand, "" }, + { "combatstop", rbac::RBAC_PERM_COMMAND_COMBATSTOP, true, &HandleCombatStopCommand, "" }, + { "cometome", rbac::RBAC_PERM_COMMAND_COMETOME, false, &HandleComeToMeCommand, "" }, + { "commands", rbac::RBAC_PERM_COMMAND_COMMANDS, true, &HandleCommandsCommand, "" }, + { "cooldown", rbac::RBAC_PERM_COMMAND_COOLDOWN, false, &HandleCooldownCommand, "" }, + { "damage", rbac::RBAC_PERM_COMMAND_DAMAGE, false, &HandleDamageCommand, "" }, + { "dev", rbac::RBAC_PERM_COMMAND_DEV, false, &HandleDevCommand, "" }, + { "die", rbac::RBAC_PERM_COMMAND_DIE, false, &HandleDieCommand, "" }, + { "dismount", rbac::RBAC_PERM_COMMAND_DISMOUNT, false, &HandleDismountCommand, "" }, + { "distance", rbac::RBAC_PERM_COMMAND_DISTANCE, false, &HandleGetDistanceCommand, "" }, + { "flusharenapoints", rbac::RBAC_PERM_COMMAND_FLUSHARENAPOINTS, false, &HandleFlushArenaPointsCommand, "" }, + { "freeze", rbac::RBAC_PERM_COMMAND_FREEZE, false, &HandleFreezeCommand, "" }, + { "gps", rbac::RBAC_PERM_COMMAND_GPS, false, &HandleGPSCommand, "" }, + { "guid", rbac::RBAC_PERM_COMMAND_GUID, false, &HandleGUIDCommand, "" }, + { "help", rbac::RBAC_PERM_COMMAND_HELP, true, &HandleHelpCommand, "" }, + { "hidearea", rbac::RBAC_PERM_COMMAND_HIDEAREA, false, &HandleHideAreaCommand, "" }, + { "itemmove", rbac::RBAC_PERM_COMMAND_ITEMMOVE, false, &HandleItemMoveCommand, "" }, + { "kick", rbac::RBAC_PERM_COMMAND_KICK, true, &HandleKickPlayerCommand, "" }, + { "linkgrave", rbac::RBAC_PERM_COMMAND_LINKGRAVE, false, &HandleLinkGraveCommand, "" }, + { "listfreeze", rbac::RBAC_PERM_COMMAND_LISTFREEZE, false, &HandleListFreezeCommand, "" }, + { "maxskill", rbac::RBAC_PERM_COMMAND_MAXSKILL, false, &HandleMaxSkillCommand, "" }, + { "movegens", rbac::RBAC_PERM_COMMAND_MOVEGENS, false, &HandleMovegensCommand, "" }, + { "mute", rbac::RBAC_PERM_COMMAND_MUTE, true, &HandleMuteCommand, "" }, + { "mutehistory", rbac::RBAC_PERM_COMMAND_MUTEHISTORY, true, &HandleMuteInfoCommand, "" }, + { "neargrave", rbac::RBAC_PERM_COMMAND_NEARGRAVE, false, &HandleNearGraveCommand, "" }, + { "pinfo", rbac::RBAC_PERM_COMMAND_PINFO, true, &HandlePInfoCommand, "" }, + { "playall", rbac::RBAC_PERM_COMMAND_PLAYALL, false, &HandlePlayAllCommand, "" }, + { "possess", rbac::RBAC_PERM_COMMAND_POSSESS, false, &HandlePossessCommand, "" }, + { "pvpstats", rbac::RBAC_PERM_COMMAND_PVPSTATS, true, &HandlePvPstatsCommand, "" }, + { "recall", rbac::RBAC_PERM_COMMAND_RECALL, false, &HandleRecallCommand, "" }, + { "repairitems", rbac::RBAC_PERM_COMMAND_REPAIRITEMS, true, &HandleRepairitemsCommand, "" }, + { "respawn", rbac::RBAC_PERM_COMMAND_RESPAWN, false, &HandleRespawnCommand, "" }, + { "revive", rbac::RBAC_PERM_COMMAND_REVIVE, true, &HandleReviveCommand, "" }, + { "saveall", rbac::RBAC_PERM_COMMAND_SAVEALL, true, &HandleSaveAllCommand, "" }, + { "save", rbac::RBAC_PERM_COMMAND_SAVE, false, &HandleSaveCommand, "" }, + { "setskill", rbac::RBAC_PERM_COMMAND_SETSKILL, false, &HandleSetSkillCommand, "" }, + { "showarea", rbac::RBAC_PERM_COMMAND_SHOWAREA, false, &HandleShowAreaCommand, "" }, + { "summon", rbac::RBAC_PERM_COMMAND_SUMMON, false, &HandleSummonCommand, "" }, + { "unaura", rbac::RBAC_PERM_COMMAND_UNAURA, false, &HandleUnAuraCommand, "" }, + { "unbindsight", rbac::RBAC_PERM_COMMAND_UNBINDSIGHT, false, HandleUnbindSightCommand, "" }, + { "unfreeze", rbac::RBAC_PERM_COMMAND_UNFREEZE, false, &HandleUnFreezeCommand, "" }, + { "unmute", rbac::RBAC_PERM_COMMAND_UNMUTE, true, &HandleUnmuteCommand, "" }, + { "unpossess", rbac::RBAC_PERM_COMMAND_UNPOSSESS, false, &HandleUnPossessCommand, "" }, + { "unstuck", rbac::RBAC_PERM_COMMAND_UNSTUCK, true, &HandleUnstuckCommand, "" }, + { "wchange", rbac::RBAC_PERM_COMMAND_WCHANGE, false, &HandleChangeWeather, "" }, + { "mailbox", rbac::RBAC_PERM_COMMAND_MAILBOX, false, &HandleMailBoxCommand, "" }, }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_mmaps.cpp b/src/server/scripts/Commands/cs_mmaps.cpp index e06159a6748..479c34dd90c 100644 --- a/src/server/scripts/Commands/cs_mmaps.cpp +++ b/src/server/scripts/Commands/cs_mmaps.cpp @@ -42,22 +42,20 @@ class mmaps_commandscript : public CommandScript public: mmaps_commandscript() : CommandScript("mmaps_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand mmapCommandTable[] = + static std::vector<ChatCommand> mmapCommandTable = { - { "loadedtiles", rbac::RBAC_PERM_COMMAND_MMAP_LOADEDTILES, false, &HandleMmapLoadedTilesCommand, "", NULL }, - { "loc", rbac::RBAC_PERM_COMMAND_MMAP_LOC, false, &HandleMmapLocCommand, "", NULL }, - { "path", rbac::RBAC_PERM_COMMAND_MMAP_PATH, false, &HandleMmapPathCommand, "", NULL }, - { "stats", rbac::RBAC_PERM_COMMAND_MMAP_STATS, false, &HandleMmapStatsCommand, "", NULL }, - { "testarea", rbac::RBAC_PERM_COMMAND_MMAP_TESTAREA, false, &HandleMmapTestArea, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "loadedtiles", rbac::RBAC_PERM_COMMAND_MMAP_LOADEDTILES, false, &HandleMmapLoadedTilesCommand, "" }, + { "loc", rbac::RBAC_PERM_COMMAND_MMAP_LOC, false, &HandleMmapLocCommand, "" }, + { "path", rbac::RBAC_PERM_COMMAND_MMAP_PATH, false, &HandleMmapPathCommand, "" }, + { "stats", rbac::RBAC_PERM_COMMAND_MMAP_STATS, false, &HandleMmapStatsCommand, "" }, + { "testarea", rbac::RBAC_PERM_COMMAND_MMAP_TESTAREA, false, &HandleMmapTestArea, "" }, }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { - { "mmap", rbac::RBAC_PERM_COMMAND_MMAP, true, NULL, "", mmapCommandTable }, - { NULL, 0, false, NULL, "", NULL } + { "mmap", rbac::RBAC_PERM_COMMAND_MMAP, true, NULL, "", mmapCommandTable }, }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_modify.cpp b/src/server/scripts/Commands/cs_modify.cpp index bf82b81a8b7..a3eed4dfd5d 100644 --- a/src/server/scripts/Commands/cs_modify.cpp +++ b/src/server/scripts/Commands/cs_modify.cpp @@ -36,49 +36,46 @@ class modify_commandscript : public CommandScript public: modify_commandscript() : CommandScript("modify_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand modifyspeedCommandTable[] = + static std::vector<ChatCommand> modifyspeedCommandTable = { - { "all", rbac::RBAC_PERM_COMMAND_MODIFY_SPEED_ALL, false, &HandleModifyASpeedCommand, "", NULL }, - { "backwalk", rbac::RBAC_PERM_COMMAND_MODIFY_SPEED_BACKWALK, false, &HandleModifyBWalkCommand, "", NULL }, - { "fly", rbac::RBAC_PERM_COMMAND_MODIFY_SPEED_FLY, false, &HandleModifyFlyCommand, "", NULL }, - { "walk", rbac::RBAC_PERM_COMMAND_MODIFY_SPEED_WALK, false, &HandleModifySpeedCommand, "", NULL }, - { "swim", rbac::RBAC_PERM_COMMAND_MODIFY_SPEED_SWIM, false, &HandleModifySwimCommand, "", NULL }, - { "", rbac::RBAC_PERM_COMMAND_MODIFY_SPEED, false, &HandleModifyASpeedCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "all", rbac::RBAC_PERM_COMMAND_MODIFY_SPEED_ALL, false, &HandleModifyASpeedCommand, "" }, + { "backwalk", rbac::RBAC_PERM_COMMAND_MODIFY_SPEED_BACKWALK, false, &HandleModifyBWalkCommand, "" }, + { "fly", rbac::RBAC_PERM_COMMAND_MODIFY_SPEED_FLY, false, &HandleModifyFlyCommand, "" }, + { "walk", rbac::RBAC_PERM_COMMAND_MODIFY_SPEED_WALK, false, &HandleModifySpeedCommand, "" }, + { "swim", rbac::RBAC_PERM_COMMAND_MODIFY_SPEED_SWIM, false, &HandleModifySwimCommand, "" }, + { "", rbac::RBAC_PERM_COMMAND_MODIFY_SPEED, false, &HandleModifyASpeedCommand, "" }, }; - static ChatCommand modifyCommandTable[] = + static std::vector<ChatCommand> modifyCommandTable = { - { "arenapoints", rbac::RBAC_PERM_COMMAND_MODIFY_ARENAPOINTS, false, &HandleModifyArenaCommand, "", NULL }, - { "bit", rbac::RBAC_PERM_COMMAND_MODIFY_BIT, false, &HandleModifyBitCommand, "", NULL }, - { "drunk", rbac::RBAC_PERM_COMMAND_MODIFY_DRUNK, false, &HandleModifyDrunkCommand, "", NULL }, - { "energy", rbac::RBAC_PERM_COMMAND_MODIFY_ENERGY, false, &HandleModifyEnergyCommand, "", NULL }, - { "faction", rbac::RBAC_PERM_COMMAND_MODIFY_FACTION, false, &HandleModifyFactionCommand, "", NULL }, - { "gender", rbac::RBAC_PERM_COMMAND_MODIFY_GENDER, false, &HandleModifyGenderCommand, "", NULL }, - { "honor", rbac::RBAC_PERM_COMMAND_MODIFY_HONOR, false, &HandleModifyHonorCommand, "", NULL }, - { "hp", rbac::RBAC_PERM_COMMAND_MODIFY_HP, false, &HandleModifyHPCommand, "", NULL }, - { "mana", rbac::RBAC_PERM_COMMAND_MODIFY_MANA, false, &HandleModifyManaCommand, "", NULL }, - { "money", rbac::RBAC_PERM_COMMAND_MODIFY_MONEY, false, &HandleModifyMoneyCommand, "", NULL }, - { "mount", rbac::RBAC_PERM_COMMAND_MODIFY_MOUNT, false, &HandleModifyMountCommand, "", NULL }, - { "phase", rbac::RBAC_PERM_COMMAND_MODIFY_PHASE, false, &HandleModifyPhaseCommand, "", NULL }, - { "rage", rbac::RBAC_PERM_COMMAND_MODIFY_RAGE, false, &HandleModifyRageCommand, "", NULL }, - { "reputation", rbac::RBAC_PERM_COMMAND_MODIFY_REPUTATION, false, &HandleModifyRepCommand, "", NULL }, - { "runicpower", rbac::RBAC_PERM_COMMAND_MODIFY_RUNICPOWER, false, &HandleModifyRunicPowerCommand, "", NULL }, - { "scale", rbac::RBAC_PERM_COMMAND_MODIFY_SCALE, false, &HandleModifyScaleCommand, "", NULL }, + { "arenapoints", rbac::RBAC_PERM_COMMAND_MODIFY_ARENAPOINTS, false, &HandleModifyArenaCommand, "" }, + { "bit", rbac::RBAC_PERM_COMMAND_MODIFY_BIT, false, &HandleModifyBitCommand, "" }, + { "drunk", rbac::RBAC_PERM_COMMAND_MODIFY_DRUNK, false, &HandleModifyDrunkCommand, "" }, + { "energy", rbac::RBAC_PERM_COMMAND_MODIFY_ENERGY, false, &HandleModifyEnergyCommand, "" }, + { "faction", rbac::RBAC_PERM_COMMAND_MODIFY_FACTION, false, &HandleModifyFactionCommand, "" }, + { "gender", rbac::RBAC_PERM_COMMAND_MODIFY_GENDER, false, &HandleModifyGenderCommand, "" }, + { "honor", rbac::RBAC_PERM_COMMAND_MODIFY_HONOR, false, &HandleModifyHonorCommand, "" }, + { "hp", rbac::RBAC_PERM_COMMAND_MODIFY_HP, false, &HandleModifyHPCommand, "" }, + { "mana", rbac::RBAC_PERM_COMMAND_MODIFY_MANA, false, &HandleModifyManaCommand, "" }, + { "money", rbac::RBAC_PERM_COMMAND_MODIFY_MONEY, false, &HandleModifyMoneyCommand, "" }, + { "mount", rbac::RBAC_PERM_COMMAND_MODIFY_MOUNT, false, &HandleModifyMountCommand, "" }, + { "phase", rbac::RBAC_PERM_COMMAND_MODIFY_PHASE, false, &HandleModifyPhaseCommand, "" }, + { "rage", rbac::RBAC_PERM_COMMAND_MODIFY_RAGE, false, &HandleModifyRageCommand, "" }, + { "reputation", rbac::RBAC_PERM_COMMAND_MODIFY_REPUTATION, false, &HandleModifyRepCommand, "" }, + { "runicpower", rbac::RBAC_PERM_COMMAND_MODIFY_RUNICPOWER, false, &HandleModifyRunicPowerCommand, "" }, + { "scale", rbac::RBAC_PERM_COMMAND_MODIFY_SCALE, false, &HandleModifyScaleCommand, "" }, { "speed", rbac::RBAC_PERM_COMMAND_MODIFY_SPEED, false, NULL, "", modifyspeedCommandTable }, - { "spell", rbac::RBAC_PERM_COMMAND_MODIFY_SPELL, false, &HandleModifySpellCommand, "", NULL }, - { "standstate", rbac::RBAC_PERM_COMMAND_MODIFY_STANDSTATE, false, &HandleModifyStandStateCommand, "", NULL }, - { "talentpoints", rbac::RBAC_PERM_COMMAND_MODIFY_TALENTPOINTS, false, &HandleModifyTalentCommand, "", NULL }, - { "xp", rbac::RBAC_PERM_COMMAND_MODIFY_XP, false, &HandleModifyXPCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "spell", rbac::RBAC_PERM_COMMAND_MODIFY_SPELL, false, &HandleModifySpellCommand, "" }, + { "standstate", rbac::RBAC_PERM_COMMAND_MODIFY_STANDSTATE, false, &HandleModifyStandStateCommand, "" }, + { "talentpoints", rbac::RBAC_PERM_COMMAND_MODIFY_TALENTPOINTS, false, &HandleModifyTalentCommand, "" }, + { "xp", rbac::RBAC_PERM_COMMAND_MODIFY_XP, false, &HandleModifyXPCommand, "" }, }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { - { "morph", rbac::RBAC_PERM_COMMAND_MORPH, false, &HandleModifyMorphCommand, "", NULL }, - { "demorph", rbac::RBAC_PERM_COMMAND_DEMORPH, false, &HandleDeMorphCommand, "", NULL }, + { "morph", rbac::RBAC_PERM_COMMAND_MORPH, false, &HandleModifyMorphCommand, "" }, + { "demorph", rbac::RBAC_PERM_COMMAND_DEMORPH, false, &HandleDeMorphCommand, "" }, { "modify", rbac::RBAC_PERM_COMMAND_MODIFY, false, NULL, "", modifyCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_npc.cpp b/src/server/scripts/Commands/cs_npc.cpp index 8e7a1387a32..99c10b074a0 100644 --- a/src/server/scripts/Commands/cs_npc.cpp +++ b/src/server/scripts/Commands/cs_npc.cpp @@ -170,69 +170,61 @@ class npc_commandscript : public CommandScript public: npc_commandscript() : CommandScript("npc_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand npcAddCommandTable[] = - { - { "formation", rbac::RBAC_PERM_COMMAND_NPC_ADD_FORMATION, false, &HandleNpcAddFormationCommand, "", NULL }, - { "item", rbac::RBAC_PERM_COMMAND_NPC_ADD_ITEM, false, &HandleNpcAddVendorItemCommand, "", NULL }, - { "move", rbac::RBAC_PERM_COMMAND_NPC_ADD_MOVE, false, &HandleNpcAddMoveCommand, "", NULL }, - { "temp", rbac::RBAC_PERM_COMMAND_NPC_ADD_TEMP, false, &HandleNpcAddTempSpawnCommand, "", NULL }, - //{ "weapon", rbac::RBAC_PERM_COMMAND_NPC_ADD_WEAPON, false, &HandleNpcAddWeaponCommand, "", NULL }, - { "", rbac::RBAC_PERM_COMMAND_NPC_ADD, false, &HandleNpcAddCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + static std::vector<ChatCommand> npcAddCommandTable = + { + { "formation", rbac::RBAC_PERM_COMMAND_NPC_ADD_FORMATION, false, &HandleNpcAddFormationCommand, "" }, + { "item", rbac::RBAC_PERM_COMMAND_NPC_ADD_ITEM, false, &HandleNpcAddVendorItemCommand, "" }, + { "move", rbac::RBAC_PERM_COMMAND_NPC_ADD_MOVE, false, &HandleNpcAddMoveCommand, "" }, + { "temp", rbac::RBAC_PERM_COMMAND_NPC_ADD_TEMP, false, &HandleNpcAddTempSpawnCommand, "" }, + //{ "weapon", rbac::RBAC_PERM_COMMAND_NPC_ADD_WEAPON, false, &HandleNpcAddWeaponCommand, "" }, + { "", rbac::RBAC_PERM_COMMAND_NPC_ADD, false, &HandleNpcAddCommand, "" }, }; - static ChatCommand npcDeleteCommandTable[] = + static std::vector<ChatCommand> npcDeleteCommandTable = { - { "item", rbac::RBAC_PERM_COMMAND_NPC_DELETE_ITEM, false, &HandleNpcDeleteVendorItemCommand, "", NULL }, - { "", rbac::RBAC_PERM_COMMAND_NPC_DELETE, false, &HandleNpcDeleteCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "item", rbac::RBAC_PERM_COMMAND_NPC_DELETE_ITEM, false, &HandleNpcDeleteVendorItemCommand, "" }, + { "", rbac::RBAC_PERM_COMMAND_NPC_DELETE, false, &HandleNpcDeleteCommand, "" }, }; - static ChatCommand npcFollowCommandTable[] = + static std::vector<ChatCommand> npcFollowCommandTable = { - { "stop", rbac::RBAC_PERM_COMMAND_NPC_FOLLOW_STOP, false, &HandleNpcUnFollowCommand, "", NULL }, - { "", rbac::RBAC_PERM_COMMAND_NPC_FOLLOW, false, &HandleNpcFollowCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "stop", rbac::RBAC_PERM_COMMAND_NPC_FOLLOW_STOP, false, &HandleNpcUnFollowCommand, "" }, + { "", rbac::RBAC_PERM_COMMAND_NPC_FOLLOW, false, &HandleNpcFollowCommand, "" }, }; - static ChatCommand npcSetCommandTable[] = - { - { "allowmove", rbac::RBAC_PERM_COMMAND_NPC_SET_ALLOWMOVE, false, &HandleNpcSetAllowMovementCommand, "", NULL }, - { "entry", rbac::RBAC_PERM_COMMAND_NPC_SET_ENTRY, false, &HandleNpcSetEntryCommand, "", NULL }, - { "factionid", rbac::RBAC_PERM_COMMAND_NPC_SET_FACTIONID, false, &HandleNpcSetFactionIdCommand, "", NULL }, - { "flag", rbac::RBAC_PERM_COMMAND_NPC_SET_FLAG, false, &HandleNpcSetFlagCommand, "", NULL }, - { "level", rbac::RBAC_PERM_COMMAND_NPC_SET_LEVEL, false, &HandleNpcSetLevelCommand, "", NULL }, - { "link", rbac::RBAC_PERM_COMMAND_NPC_SET_LINK, false, &HandleNpcSetLinkCommand, "", NULL }, - { "model", rbac::RBAC_PERM_COMMAND_NPC_SET_MODEL, false, &HandleNpcSetModelCommand, "", NULL }, - { "movetype", rbac::RBAC_PERM_COMMAND_NPC_SET_MOVETYPE, false, &HandleNpcSetMoveTypeCommand, "", NULL }, - { "phase", rbac::RBAC_PERM_COMMAND_NPC_SET_PHASE, false, &HandleNpcSetPhaseCommand, "", NULL }, - { "spawndist", rbac::RBAC_PERM_COMMAND_NPC_SET_SPAWNDIST, false, &HandleNpcSetSpawnDistCommand, "", NULL }, - { "spawntime", rbac::RBAC_PERM_COMMAND_NPC_SET_SPAWNTIME, false, &HandleNpcSetSpawnTimeCommand, "", NULL }, - { "data", rbac::RBAC_PERM_COMMAND_NPC_SET_DATA, false, &HandleNpcSetDataCommand, "", NULL }, - //{ "name", rbac::RBAC_PERM_COMMAND_NPC_SET_NAME, false, &HandleNpcSetNameCommand, "", NULL }, - //{ "subname", rbac::RBAC_PERM_COMMAND_NPC_SET_SUBNAME, false, &HandleNpcSetSubNameCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + static std::vector<ChatCommand> npcSetCommandTable = + { + { "allowmove", rbac::RBAC_PERM_COMMAND_NPC_SET_ALLOWMOVE, false, &HandleNpcSetAllowMovementCommand, "" }, + { "entry", rbac::RBAC_PERM_COMMAND_NPC_SET_ENTRY, false, &HandleNpcSetEntryCommand, "" }, + { "factionid", rbac::RBAC_PERM_COMMAND_NPC_SET_FACTIONID, false, &HandleNpcSetFactionIdCommand, "" }, + { "flag", rbac::RBAC_PERM_COMMAND_NPC_SET_FLAG, false, &HandleNpcSetFlagCommand, "" }, + { "level", rbac::RBAC_PERM_COMMAND_NPC_SET_LEVEL, false, &HandleNpcSetLevelCommand, "" }, + { "link", rbac::RBAC_PERM_COMMAND_NPC_SET_LINK, false, &HandleNpcSetLinkCommand, "" }, + { "model", rbac::RBAC_PERM_COMMAND_NPC_SET_MODEL, false, &HandleNpcSetModelCommand, "" }, + { "movetype", rbac::RBAC_PERM_COMMAND_NPC_SET_MOVETYPE, false, &HandleNpcSetMoveTypeCommand, "" }, + { "phase", rbac::RBAC_PERM_COMMAND_NPC_SET_PHASE, false, &HandleNpcSetPhaseCommand, "" }, + { "spawndist", rbac::RBAC_PERM_COMMAND_NPC_SET_SPAWNDIST, false, &HandleNpcSetSpawnDistCommand, "" }, + { "spawntime", rbac::RBAC_PERM_COMMAND_NPC_SET_SPAWNTIME, false, &HandleNpcSetSpawnTimeCommand, "" }, + { "data", rbac::RBAC_PERM_COMMAND_NPC_SET_DATA, false, &HandleNpcSetDataCommand, "" }, }; - static ChatCommand npcCommandTable[] = - { - { "info", rbac::RBAC_PERM_COMMAND_NPC_INFO, false, &HandleNpcInfoCommand, "", NULL }, - { "near", rbac::RBAC_PERM_COMMAND_NPC_NEAR, false, &HandleNpcNearCommand, "", NULL }, - { "move", rbac::RBAC_PERM_COMMAND_NPC_MOVE, false, &HandleNpcMoveCommand, "", NULL }, - { "playemote", rbac::RBAC_PERM_COMMAND_NPC_PLAYEMOTE, false, &HandleNpcPlayEmoteCommand, "", NULL }, - { "say", rbac::RBAC_PERM_COMMAND_NPC_SAY, false, &HandleNpcSayCommand, "", NULL }, - { "textemote", rbac::RBAC_PERM_COMMAND_NPC_TEXTEMOTE, false, &HandleNpcTextEmoteCommand, "", NULL }, - { "whisper", rbac::RBAC_PERM_COMMAND_NPC_WHISPER, false, &HandleNpcWhisperCommand, "", NULL }, - { "yell", rbac::RBAC_PERM_COMMAND_NPC_YELL, false, &HandleNpcYellCommand, "", NULL }, - { "tame", rbac::RBAC_PERM_COMMAND_NPC_TAME, false, &HandleNpcTameCommand, "", NULL }, + static std::vector<ChatCommand> npcCommandTable = + { + { "info", rbac::RBAC_PERM_COMMAND_NPC_INFO, false, &HandleNpcInfoCommand, "" }, + { "near", rbac::RBAC_PERM_COMMAND_NPC_NEAR, false, &HandleNpcNearCommand, "" }, + { "move", rbac::RBAC_PERM_COMMAND_NPC_MOVE, false, &HandleNpcMoveCommand, "" }, + { "playemote", rbac::RBAC_PERM_COMMAND_NPC_PLAYEMOTE, false, &HandleNpcPlayEmoteCommand, "" }, + { "say", rbac::RBAC_PERM_COMMAND_NPC_SAY, false, &HandleNpcSayCommand, "" }, + { "textemote", rbac::RBAC_PERM_COMMAND_NPC_TEXTEMOTE, false, &HandleNpcTextEmoteCommand, "" }, + { "whisper", rbac::RBAC_PERM_COMMAND_NPC_WHISPER, false, &HandleNpcWhisperCommand, "" }, + { "yell", rbac::RBAC_PERM_COMMAND_NPC_YELL, false, &HandleNpcYellCommand, "" }, + { "tame", rbac::RBAC_PERM_COMMAND_NPC_TAME, false, &HandleNpcTameCommand, "" }, { "add", rbac::RBAC_PERM_COMMAND_NPC_ADD, false, NULL, "", npcAddCommandTable }, { "delete", rbac::RBAC_PERM_COMMAND_NPC_DELETE, false, NULL, "", npcDeleteCommandTable }, { "follow", rbac::RBAC_PERM_COMMAND_NPC_FOLLOW, false, NULL, "", npcFollowCommandTable }, { "set", rbac::RBAC_PERM_COMMAND_NPC_SET, false, NULL, "", npcSetCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "npc", rbac::RBAC_PERM_COMMAND_NPC, false, NULL, "", npcCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; } @@ -1563,98 +1555,6 @@ public: */ return true; } - - static bool HandleNpcSetNameCommand(ChatHandler* /*handler*/, char const* /*args*/) - { - /* Temp. disabled - if (!*args) - return false; - - if (strlen((char*)args)>75) - { - handler->PSendSysMessage(LANG_TOO_LONG_NAME, strlen((char*)args)-75); - return true; - } - - for (uint8 i = 0; i < strlen(args); ++i) - { - if (!isalpha(args[i]) && args[i] != ' ') - { - handler->SendSysMessage(LANG_CHARS_ONLY); - return false; - } - } - - uint64 guid; - guid = handler->GetSession()->GetPlayer()->GetSelection(); - if (guid == 0) - { - handler->SendSysMessage(LANG_NO_SELECTION); - return true; - } - - Creature* creature = ObjectAccessor::GetCreature(*handler->GetSession()->GetPlayer(), guid); - - if (!creature) - { - handler->SendSysMessage(LANG_SELECT_CREATURE); - return true; - } - - creature->SetName(args); - uint32 idname = sObjectMgr->AddCreatureTemplate(creature->GetName()); - creature->SetUInt32Value(OBJECT_FIELD_ENTRY, idname); - - creature->SaveToDB(); - */ - - return true; - } - - static bool HandleNpcSetSubNameCommand(ChatHandler* /*handler*/, char const* /*args*/) - { - /* Temp. disabled - - if (!*args) - args = ""; - - if (strlen((char*)args)>75) - { - handler->PSendSysMessage(LANG_TOO_LONG_SUBNAME, strlen((char*)args)-75); - return true; - } - - for (uint8 i = 0; i < strlen(args); i++) - { - if (!isalpha(args[i]) && args[i] != ' ') - { - handler->SendSysMessage(LANG_CHARS_ONLY); - return false; - } - } - uint64 guid; - guid = handler->GetSession()->GetPlayer()->GetSelection(); - if (guid == 0) - { - handler->SendSysMessage(LANG_NO_SELECTION); - return true; - } - - Creature* creature = ObjectAccessor::GetCreature(*handler->GetSession()->GetPlayer(), guid); - - if (!creature) - { - handler->SendSysMessage(LANG_SELECT_CREATURE); - return true; - } - - uint32 idname = sObjectMgr->AddCreatureSubName(creature->GetName(), args, creature->GetUInt32Value(UNIT_FIELD_DISPLAYID)); - creature->SetUInt32Value(OBJECT_FIELD_ENTRY, idname); - - creature->SaveToDB(); - */ - return true; - } }; void AddSC_npc_commandscript() diff --git a/src/server/scripts/Commands/cs_pet.cpp b/src/server/scripts/Commands/cs_pet.cpp index fdac9d1a35f..e3046817821 100644 --- a/src/server/scripts/Commands/cs_pet.cpp +++ b/src/server/scripts/Commands/cs_pet.cpp @@ -27,20 +27,18 @@ class pet_commandscript : public CommandScript public: pet_commandscript() : CommandScript("pet_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand petCommandTable[] = + static std::vector<ChatCommand> petCommandTable = { - { "create", rbac::RBAC_PERM_COMMAND_PET_CREATE, false, &HandlePetCreateCommand, "", NULL }, - { "learn", rbac::RBAC_PERM_COMMAND_PET_LEARN, false, &HandlePetLearnCommand, "", NULL }, - { "unlearn", rbac::RBAC_PERM_COMMAND_PET_UNLEARN, false, &HandlePetUnlearnCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "create", rbac::RBAC_PERM_COMMAND_PET_CREATE, false, &HandlePetCreateCommand, "" }, + { "learn", rbac::RBAC_PERM_COMMAND_PET_LEARN, false, &HandlePetLearnCommand, "" }, + { "unlearn", rbac::RBAC_PERM_COMMAND_PET_UNLEARN, false, &HandlePetUnlearnCommand, "" }, }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "pet", rbac::RBAC_PERM_COMMAND_PET, false, NULL, "", petCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_quest.cpp b/src/server/scripts/Commands/cs_quest.cpp index 82904efc949..442950bca96 100644 --- a/src/server/scripts/Commands/cs_quest.cpp +++ b/src/server/scripts/Commands/cs_quest.cpp @@ -33,20 +33,18 @@ class quest_commandscript : public CommandScript public: quest_commandscript() : CommandScript("quest_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand questCommandTable[] = + static std::vector<ChatCommand> questCommandTable = { - { "add", rbac::RBAC_PERM_COMMAND_QUEST_ADD, false, &HandleQuestAdd, "", NULL }, - { "complete", rbac::RBAC_PERM_COMMAND_QUEST_COMPLETE, false, &HandleQuestComplete, "", NULL }, - { "remove", rbac::RBAC_PERM_COMMAND_QUEST_REMOVE, false, &HandleQuestRemove, "", NULL }, - { "reward", rbac::RBAC_PERM_COMMAND_QUEST_REWARD, false, &HandleQuestReward, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "add", rbac::RBAC_PERM_COMMAND_QUEST_ADD, false, &HandleQuestAdd, "" }, + { "complete", rbac::RBAC_PERM_COMMAND_QUEST_COMPLETE, false, &HandleQuestComplete, "" }, + { "remove", rbac::RBAC_PERM_COMMAND_QUEST_REMOVE, false, &HandleQuestRemove, "" }, + { "reward", rbac::RBAC_PERM_COMMAND_QUEST_REWARD, false, &HandleQuestReward, "" }, }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "quest", rbac::RBAC_PERM_COMMAND_QUEST, false, NULL, "", questCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_rbac.cpp b/src/server/scripts/Commands/cs_rbac.cpp index 03f35e6ba65..c28aa04175f 100644 --- a/src/server/scripts/Commands/cs_rbac.cpp +++ b/src/server/scripts/Commands/cs_rbac.cpp @@ -49,28 +49,25 @@ class rbac_commandscript : public CommandScript public: rbac_commandscript() : CommandScript("rbac_commandscript") { } - ChatCommand* GetCommands() const + std::vector<ChatCommand> GetCommands() const { - static ChatCommand rbacAccountCommandTable[] = + static std::vector<ChatCommand> rbacAccountCommandTable = { - { "list", rbac::RBAC_PERM_COMMAND_RBAC_ACC_PERM_LIST, true, &HandleRBACPermListCommand, "", NULL }, - { "grant", rbac::RBAC_PERM_COMMAND_RBAC_ACC_PERM_GRANT, true, &HandleRBACPermGrantCommand, "", NULL }, - { "deny", rbac::RBAC_PERM_COMMAND_RBAC_ACC_PERM_DENY, true, &HandleRBACPermDenyCommand, "", NULL }, - { "revoke", rbac::RBAC_PERM_COMMAND_RBAC_ACC_PERM_REVOKE, true, &HandleRBACPermRevokeCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "list", rbac::RBAC_PERM_COMMAND_RBAC_ACC_PERM_LIST, true, &HandleRBACPermListCommand, "" }, + { "grant", rbac::RBAC_PERM_COMMAND_RBAC_ACC_PERM_GRANT, true, &HandleRBACPermGrantCommand, "" }, + { "deny", rbac::RBAC_PERM_COMMAND_RBAC_ACC_PERM_DENY, true, &HandleRBACPermDenyCommand, "" }, + { "revoke", rbac::RBAC_PERM_COMMAND_RBAC_ACC_PERM_REVOKE, true, &HandleRBACPermRevokeCommand, "" }, }; - static ChatCommand rbacCommandTable[] = + static std::vector<ChatCommand> rbacCommandTable = { { "account", rbac::RBAC_PERM_COMMAND_RBAC_ACC, true, NULL, "", rbacAccountCommandTable }, - { "list", rbac::RBAC_PERM_COMMAND_RBAC_LIST, true, &HandleRBACListPermissionsCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "list", rbac::RBAC_PERM_COMMAND_RBAC_LIST, true, &HandleRBACListPermissionsCommand, "" }, }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "rbac", rbac::RBAC_PERM_COMMAND_RBAC, true, NULL, "", rbacCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; diff --git a/src/server/scripts/Commands/cs_reload.cpp b/src/server/scripts/Commands/cs_reload.cpp index 2863d2d4ede..44e34b8e2a9 100644 --- a/src/server/scripts/Commands/cs_reload.cpp +++ b/src/server/scripts/Commands/cs_reload.cpp @@ -47,122 +47,119 @@ class reload_commandscript : public CommandScript public: reload_commandscript() : CommandScript("reload_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand reloadAllCommandTable[] = + static std::vector<ChatCommand> reloadAllCommandTable = { - { "achievement", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_ACHIEVEMENT, true, &HandleReloadAllAchievementCommand, "", NULL }, - { "area", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_AREA, true, &HandleReloadAllAreaCommand, "", NULL }, - { "gossips", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_GOSSIP, true, &HandleReloadAllGossipsCommand, "", NULL }, - { "item", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_ITEM, true, &HandleReloadAllItemCommand, "", NULL }, - { "locales", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_LOCALES, true, &HandleReloadAllLocalesCommand, "", NULL }, - { "loot", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_LOOT, true, &HandleReloadAllLootCommand, "", NULL }, - { "npc", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_NPC, true, &HandleReloadAllNpcCommand, "", NULL }, - { "quest", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_QUEST, true, &HandleReloadAllQuestCommand, "", NULL }, - { "scripts", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_SCRIPTS, true, &HandleReloadAllScriptsCommand, "", NULL }, - { "spell", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_SPELL, true, &HandleReloadAllSpellCommand, "", NULL }, - { "", rbac::RBAC_PERM_COMMAND_RELOAD_ALL, true, &HandleReloadAllCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "achievement", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_ACHIEVEMENT, true, &HandleReloadAllAchievementCommand, "" }, + { "area", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_AREA, true, &HandleReloadAllAreaCommand, "" }, + { "gossips", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_GOSSIP, true, &HandleReloadAllGossipsCommand, "" }, + { "item", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_ITEM, true, &HandleReloadAllItemCommand, "" }, + { "locales", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_LOCALES, true, &HandleReloadAllLocalesCommand, "" }, + { "loot", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_LOOT, true, &HandleReloadAllLootCommand, "" }, + { "npc", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_NPC, true, &HandleReloadAllNpcCommand, "" }, + { "quest", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_QUEST, true, &HandleReloadAllQuestCommand, "" }, + { "scripts", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_SCRIPTS, true, &HandleReloadAllScriptsCommand, "" }, + { "spell", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_SPELL, true, &HandleReloadAllSpellCommand, "" }, + { "", rbac::RBAC_PERM_COMMAND_RELOAD_ALL, true, &HandleReloadAllCommand, "" }, }; - static ChatCommand reloadCommandTable[] = + static std::vector<ChatCommand> reloadCommandTable = { - { "auctions", rbac::RBAC_PERM_COMMAND_RELOAD_AUCTIONS, true, &HandleReloadAuctionsCommand, "", NULL }, - { "access_requirement", rbac::RBAC_PERM_COMMAND_RELOAD_ACCESS_REQUIREMENT, true, &HandleReloadAccessRequirementCommand, "", NULL }, - { "achievement_criteria_data", rbac::RBAC_PERM_COMMAND_RELOAD_ACHIEVEMENT_CRITERIA_DATA, true, &HandleReloadAchievementCriteriaDataCommand, "", NULL }, - { "achievement_reward", rbac::RBAC_PERM_COMMAND_RELOAD_ACHIEVEMENT_REWARD, true, &HandleReloadAchievementRewardCommand, "", NULL }, + { "auctions", rbac::RBAC_PERM_COMMAND_RELOAD_AUCTIONS, true, &HandleReloadAuctionsCommand, "" }, + { "access_requirement", rbac::RBAC_PERM_COMMAND_RELOAD_ACCESS_REQUIREMENT, true, &HandleReloadAccessRequirementCommand, "" }, + { "achievement_criteria_data", rbac::RBAC_PERM_COMMAND_RELOAD_ACHIEVEMENT_CRITERIA_DATA, true, &HandleReloadAchievementCriteriaDataCommand, "" }, + { "achievement_reward", rbac::RBAC_PERM_COMMAND_RELOAD_ACHIEVEMENT_REWARD, true, &HandleReloadAchievementRewardCommand, "" }, { "all", rbac::RBAC_PERM_COMMAND_RELOAD_ALL, true, NULL, "", reloadAllCommandTable }, - { "areatrigger_involvedrelation", rbac::RBAC_PERM_COMMAND_RELOAD_AREATRIGGER_INVOLVEDRELATION, true, &HandleReloadQuestAreaTriggersCommand, "", NULL }, - { "areatrigger_tavern", rbac::RBAC_PERM_COMMAND_RELOAD_AREATRIGGER_TAVERN, true, &HandleReloadAreaTriggerTavernCommand, "", NULL }, - { "areatrigger_teleport", rbac::RBAC_PERM_COMMAND_RELOAD_AREATRIGGER_TELEPORT, true, &HandleReloadAreaTriggerTeleportCommand, "", NULL }, - { "autobroadcast", rbac::RBAC_PERM_COMMAND_RELOAD_AUTOBROADCAST, true, &HandleReloadAutobroadcastCommand, "", NULL }, - { "battleground_template", rbac::RBAC_PERM_COMMAND_RELOAD_BATTLEGROUND_TEMPLATE, true, &HandleReloadBattlegroundTemplate, "", NULL }, - { "broadcast_text", rbac::RBAC_PERM_COMMAND_RELOAD_BROADCAST_TEXT, true, &HandleReloadBroadcastTextCommand, "", NULL }, - { "command", rbac::RBAC_PERM_COMMAND_RELOAD_COMMAND, true, &HandleReloadCommandCommand, "", NULL }, - { "conditions", rbac::RBAC_PERM_COMMAND_RELOAD_CONDITIONS, true, &HandleReloadConditions, "", NULL }, - { "config", rbac::RBAC_PERM_COMMAND_RELOAD_CONFIG, true, &HandleReloadConfigCommand, "", NULL }, - { "creature_text", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_TEXT, true, &HandleReloadCreatureText, "", NULL }, - { "creature_questender", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_QUESTENDER, true, &HandleReloadCreatureQuestEnderCommand, "", NULL }, - { "creature_linked_respawn", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_LINKED_RESPAWN, true, &HandleReloadLinkedRespawnCommand, "", NULL }, - { "creature_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesCreatureCommand, "", NULL }, - { "creature_onkill_reputation", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_ONKILL_REPUTATION, true, &HandleReloadOnKillReputationCommand, "", NULL }, - { "creature_queststarter", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_QUESTSTARTER, true, &HandleReloadCreatureQuestStarterCommand, "", NULL }, - { "creature_summon_groups", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_SUMMON_GROUPS, true, &HandleReloadCreatureSummonGroupsCommand, "", NULL }, - { "creature_template", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_TEMPLATE, true, &HandleReloadCreatureTemplateCommand, "", NULL }, - { "disables", rbac::RBAC_PERM_COMMAND_RELOAD_DISABLES, true, &HandleReloadDisablesCommand, "", NULL }, - { "disenchant_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_DISENCHANT_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesDisenchantCommand, "", NULL }, - { "event_scripts", rbac::RBAC_PERM_COMMAND_RELOAD_EVENT_SCRIPTS, true, &HandleReloadEventScriptsCommand, "", NULL }, - { "fishing_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_FISHING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesFishingCommand, "", NULL }, - { "game_graveyard_zone", rbac::RBAC_PERM_COMMAND_RELOAD_GAME_GRAVEYARD_ZONE, true, &HandleReloadGameGraveyardZoneCommand, "", NULL }, - { "game_tele", rbac::RBAC_PERM_COMMAND_RELOAD_GAME_TELE, true, &HandleReloadGameTeleCommand, "", NULL }, - { "gameobject_questender", rbac::RBAC_PERM_COMMAND_RELOAD_GAMEOBJECT_QUESTENDER, true, &HandleReloadGOQuestEnderCommand, "", NULL }, - { "gameobject_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_GAMEOBJECT_QUEST_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesGameobjectCommand, "", NULL }, - { "gameobject_queststarter", rbac::RBAC_PERM_COMMAND_RELOAD_GAMEOBJECT_QUESTSTARTER, true, &HandleReloadGOQuestStarterCommand, "", NULL }, - { "gm_tickets", rbac::RBAC_PERM_COMMAND_RELOAD_GM_TICKETS, true, &HandleReloadGMTicketsCommand, "", NULL }, - { "gossip_menu", rbac::RBAC_PERM_COMMAND_RELOAD_GOSSIP_MENU, true, &HandleReloadGossipMenuCommand, "", NULL }, - { "gossip_menu_option", rbac::RBAC_PERM_COMMAND_RELOAD_GOSSIP_MENU_OPTION, true, &HandleReloadGossipMenuOptionCommand, "", NULL }, - { "item_enchantment_template", rbac::RBAC_PERM_COMMAND_RELOAD_ITEM_ENCHANTMENT_TEMPLATE, true, &HandleReloadItemEnchantementsCommand, "", NULL }, - { "item_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_ITEM_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesItemCommand, "", NULL }, - { "item_set_names", rbac::RBAC_PERM_COMMAND_RELOAD_ITEM_SET_NAMES, true, &HandleReloadItemSetNamesCommand, "", NULL }, - { "lfg_dungeon_rewards", rbac::RBAC_PERM_COMMAND_RELOAD_LFG_DUNGEON_REWARDS, true, &HandleReloadLfgRewardsCommand, "", NULL }, - { "locales_achievement_reward", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_ACHIEVEMENT_REWARD, true, &HandleReloadLocalesAchievementRewardCommand, "", NULL }, - { "locales_creature", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_CRETURE, true, &HandleReloadLocalesCreatureCommand, "", NULL }, - { "locales_creature_text", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_CRETURE_TEXT, true, &HandleReloadLocalesCreatureTextCommand, "", NULL }, - { "locales_gameobject", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_GAMEOBJECT, true, &HandleReloadLocalesGameobjectCommand, "", NULL }, - { "locales_gossip_menu_option", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_GOSSIP_MENU_OPTION, true, &HandleReloadLocalesGossipMenuOptionCommand, "", NULL }, - { "locales_item", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_ITEM, true, &HandleReloadLocalesItemCommand, "", NULL }, - { "locales_item_set_name", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_ITEM_SET_NAME, true, &HandleReloadLocalesItemSetNameCommand, "", NULL }, - { "locales_npc_text", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_NPC_TEXT, true, &HandleReloadLocalesNpcTextCommand, "", NULL }, - { "locales_page_text", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_PAGE_TEXT, true, &HandleReloadLocalesPageTextCommand, "", NULL }, - { "locales_points_of_interest", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_POINTS_OF_INTEREST, true, &HandleReloadLocalesPointsOfInterestCommand, "", NULL }, - { "locales_quest", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_QUEST, true, &HandleReloadLocalesQuestCommand, "", NULL }, - { "mail_level_reward", rbac::RBAC_PERM_COMMAND_RELOAD_MAIL_LEVEL_REWARD, true, &HandleReloadMailLevelRewardCommand, "", NULL }, - { "mail_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_MAIL_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesMailCommand, "", NULL }, - { "milling_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_MILLING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesMillingCommand, "", NULL }, - { "npc_spellclick_spells", rbac::RBAC_PERM_COMMAND_RELOAD_NPC_SPELLCLICK_SPELLS, true, &HandleReloadSpellClickSpellsCommand, "", NULL }, - { "npc_trainer", rbac::RBAC_PERM_COMMAND_RELOAD_NPC_TRAINER, true, &HandleReloadNpcTrainerCommand, "", NULL }, - { "npc_vendor", rbac::RBAC_PERM_COMMAND_RELOAD_NPC_VENDOR, true, &HandleReloadNpcVendorCommand, "", NULL }, - { "page_text", rbac::RBAC_PERM_COMMAND_RELOAD_PAGE_TEXT, true, &HandleReloadPageTextsCommand, "", NULL }, - { "pickpocketing_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_PICKPOCKETING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesPickpocketingCommand, "", NULL }, - { "points_of_interest", rbac::RBAC_PERM_COMMAND_RELOAD_POINTS_OF_INTEREST, true, &HandleReloadPointsOfInterestCommand, "", NULL }, - { "prospecting_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_PROSPECTING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesProspectingCommand, "", NULL }, - { "quest_poi", rbac::RBAC_PERM_COMMAND_RELOAD_QUEST_POI, true, &HandleReloadQuestPOICommand, "", NULL }, - { "quest_template", rbac::RBAC_PERM_COMMAND_RELOAD_QUEST_TEMPLATE, true, &HandleReloadQuestTemplateCommand, "", NULL }, - { "rbac", rbac::RBAC_PERM_COMMAND_RELOAD_RBAC, true, &HandleReloadRBACCommand, "", NULL }, - { "reference_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_REFERENCE_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesReferenceCommand, "", NULL }, - { "reserved_name", rbac::RBAC_PERM_COMMAND_RELOAD_RESERVED_NAME, true, &HandleReloadReservedNameCommand, "", NULL }, - { "reputation_reward_rate", rbac::RBAC_PERM_COMMAND_RELOAD_REPUTATION_REWARD_RATE, true, &HandleReloadReputationRewardRateCommand, "", NULL }, - { "reputation_spillover_template", rbac::RBAC_PERM_COMMAND_RELOAD_SPILLOVER_TEMPLATE, true, &HandleReloadReputationRewardRateCommand, "", NULL }, - { "skill_discovery_template", rbac::RBAC_PERM_COMMAND_RELOAD_SKILL_DISCOVERY_TEMPLATE, true, &HandleReloadSkillDiscoveryTemplateCommand, "", NULL }, - { "skill_extra_item_template", rbac::RBAC_PERM_COMMAND_RELOAD_SKILL_EXTRA_ITEM_TEMPLATE, true, &HandleReloadSkillExtraItemTemplateCommand, "", NULL }, - { "skill_fishing_base_level", rbac::RBAC_PERM_COMMAND_RELOAD_SKILL_FISHING_BASE_LEVEL, true, &HandleReloadSkillFishingBaseLevelCommand, "", NULL }, - { "skinning_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_SKINNING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesSkinningCommand, "", NULL }, - { "smart_scripts", rbac::RBAC_PERM_COMMAND_RELOAD_SMART_SCRIPTS, true, &HandleReloadSmartScripts, "", NULL }, - { "spell_required", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_REQUIRED, true, &HandleReloadSpellRequiredCommand, "", NULL }, - { "spell_area", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_AREA, true, &HandleReloadSpellAreaCommand, "", NULL }, - { "spell_bonus_data", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_BONUS_DATA, true, &HandleReloadSpellBonusesCommand, "", NULL }, - { "spell_group", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_GROUP, true, &HandleReloadSpellGroupsCommand, "", NULL }, - { "spell_learn_spell", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_LEARN_SPELL, true, &HandleReloadSpellLearnSpellCommand, "", NULL }, - { "spell_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesSpellCommand, "", NULL }, - { "spell_linked_spell", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_LINKED_SPELL, true, &HandleReloadSpellLinkedSpellCommand, "", NULL }, - { "spell_pet_auras", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_PET_AURAS, true, &HandleReloadSpellPetAurasCommand, "", NULL }, - { "spell_proc_event", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_PROC_EVENT, true, &HandleReloadSpellProcEventCommand, "", NULL }, - { "spell_proc", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_PROC, true, &HandleReloadSpellProcsCommand, "", NULL }, - { "spell_scripts", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_SCRIPTS, true, &HandleReloadSpellScriptsCommand, "", NULL }, - { "spell_target_position", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_TARGET_POSITION, true, &HandleReloadSpellTargetPositionCommand, "", NULL }, - { "spell_threats", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_THREATS, true, &HandleReloadSpellThreatsCommand, "", NULL }, - { "spell_group_stack_rules", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_GROUP_STACK_RULES, true, &HandleReloadSpellGroupStackRulesCommand, "", NULL }, - { "trinity_string", rbac::RBAC_PERM_COMMAND_RELOAD_TRINITY_STRING, true, &HandleReloadTrinityStringCommand, "", NULL }, - { "warden_action", rbac::RBAC_PERM_COMMAND_RELOAD_WARDEN_ACTION, true, &HandleReloadWardenactionCommand, "", NULL }, - { "waypoint_scripts", rbac::RBAC_PERM_COMMAND_RELOAD_WAYPOINT_SCRIPTS, true, &HandleReloadWpScriptsCommand, "", NULL }, - { "waypoint_data", rbac::RBAC_PERM_COMMAND_RELOAD_WAYPOINT_DATA, true, &HandleReloadWpCommand, "", NULL }, - { "vehicle_accessory", rbac::RBAC_PERM_COMMAND_RELOAD_VEHICLE_ACCESORY, true, &HandleReloadVehicleAccessoryCommand, "", NULL }, - { "vehicle_template_accessory", rbac::RBAC_PERM_COMMAND_RELOAD_VEHICLE_TEMPLATE_ACCESSORY, true, &HandleReloadVehicleTemplateAccessoryCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "areatrigger_involvedrelation", rbac::RBAC_PERM_COMMAND_RELOAD_AREATRIGGER_INVOLVEDRELATION, true, &HandleReloadQuestAreaTriggersCommand, "" }, + { "areatrigger_tavern", rbac::RBAC_PERM_COMMAND_RELOAD_AREATRIGGER_TAVERN, true, &HandleReloadAreaTriggerTavernCommand, "" }, + { "areatrigger_teleport", rbac::RBAC_PERM_COMMAND_RELOAD_AREATRIGGER_TELEPORT, true, &HandleReloadAreaTriggerTeleportCommand, "" }, + { "autobroadcast", rbac::RBAC_PERM_COMMAND_RELOAD_AUTOBROADCAST, true, &HandleReloadAutobroadcastCommand, "" }, + { "battleground_template", rbac::RBAC_PERM_COMMAND_RELOAD_BATTLEGROUND_TEMPLATE, true, &HandleReloadBattlegroundTemplate, "" }, + { "broadcast_text", rbac::RBAC_PERM_COMMAND_RELOAD_BROADCAST_TEXT, true, &HandleReloadBroadcastTextCommand, "" }, + { "command", rbac::RBAC_PERM_COMMAND_RELOAD_COMMAND, true, &HandleReloadCommandCommand, "" }, + { "conditions", rbac::RBAC_PERM_COMMAND_RELOAD_CONDITIONS, true, &HandleReloadConditions, "" }, + { "config", rbac::RBAC_PERM_COMMAND_RELOAD_CONFIG, true, &HandleReloadConfigCommand, "" }, + { "creature_text", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_TEXT, true, &HandleReloadCreatureText, "" }, + { "creature_questender", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_QUESTENDER, true, &HandleReloadCreatureQuestEnderCommand, "" }, + { "creature_linked_respawn", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_LINKED_RESPAWN, true, &HandleReloadLinkedRespawnCommand, "" }, + { "creature_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesCreatureCommand, "" }, + { "creature_onkill_reputation", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_ONKILL_REPUTATION, true, &HandleReloadOnKillReputationCommand, "" }, + { "creature_queststarter", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_QUESTSTARTER, true, &HandleReloadCreatureQuestStarterCommand, "" }, + { "creature_summon_groups", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_SUMMON_GROUPS, true, &HandleReloadCreatureSummonGroupsCommand, "" }, + { "creature_template", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_TEMPLATE, true, &HandleReloadCreatureTemplateCommand, "" }, + { "disables", rbac::RBAC_PERM_COMMAND_RELOAD_DISABLES, true, &HandleReloadDisablesCommand, "" }, + { "disenchant_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_DISENCHANT_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesDisenchantCommand, "" }, + { "event_scripts", rbac::RBAC_PERM_COMMAND_RELOAD_EVENT_SCRIPTS, true, &HandleReloadEventScriptsCommand, "" }, + { "fishing_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_FISHING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesFishingCommand, "" }, + { "game_graveyard_zone", rbac::RBAC_PERM_COMMAND_RELOAD_GAME_GRAVEYARD_ZONE, true, &HandleReloadGameGraveyardZoneCommand, "" }, + { "game_tele", rbac::RBAC_PERM_COMMAND_RELOAD_GAME_TELE, true, &HandleReloadGameTeleCommand, "" }, + { "gameobject_questender", rbac::RBAC_PERM_COMMAND_RELOAD_GAMEOBJECT_QUESTENDER, true, &HandleReloadGOQuestEnderCommand, "" }, + { "gameobject_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_GAMEOBJECT_QUEST_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesGameobjectCommand, "" }, + { "gameobject_queststarter", rbac::RBAC_PERM_COMMAND_RELOAD_GAMEOBJECT_QUESTSTARTER, true, &HandleReloadGOQuestStarterCommand, "" }, + { "gm_tickets", rbac::RBAC_PERM_COMMAND_RELOAD_GM_TICKETS, true, &HandleReloadGMTicketsCommand, "" }, + { "gossip_menu", rbac::RBAC_PERM_COMMAND_RELOAD_GOSSIP_MENU, true, &HandleReloadGossipMenuCommand, "" }, + { "gossip_menu_option", rbac::RBAC_PERM_COMMAND_RELOAD_GOSSIP_MENU_OPTION, true, &HandleReloadGossipMenuOptionCommand, "" }, + { "item_enchantment_template", rbac::RBAC_PERM_COMMAND_RELOAD_ITEM_ENCHANTMENT_TEMPLATE, true, &HandleReloadItemEnchantementsCommand, "" }, + { "item_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_ITEM_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesItemCommand, "" }, + { "item_set_names", rbac::RBAC_PERM_COMMAND_RELOAD_ITEM_SET_NAMES, true, &HandleReloadItemSetNamesCommand, "" }, + { "lfg_dungeon_rewards", rbac::RBAC_PERM_COMMAND_RELOAD_LFG_DUNGEON_REWARDS, true, &HandleReloadLfgRewardsCommand, "" }, + { "locales_achievement_reward", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_ACHIEVEMENT_REWARD, true, &HandleReloadLocalesAchievementRewardCommand, "" }, + { "locales_creature", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_CRETURE, true, &HandleReloadLocalesCreatureCommand, "" }, + { "locales_creature_text", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_CRETURE_TEXT, true, &HandleReloadLocalesCreatureTextCommand, "" }, + { "locales_gameobject", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_GAMEOBJECT, true, &HandleReloadLocalesGameobjectCommand, "" }, + { "locales_gossip_menu_option", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_GOSSIP_MENU_OPTION, true, &HandleReloadLocalesGossipMenuOptionCommand, "" }, + { "locales_item", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_ITEM, true, &HandleReloadLocalesItemCommand, "" }, + { "locales_item_set_name", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_ITEM_SET_NAME, true, &HandleReloadLocalesItemSetNameCommand, "" }, + { "locales_npc_text", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_NPC_TEXT, true, &HandleReloadLocalesNpcTextCommand, "" }, + { "locales_page_text", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_PAGE_TEXT, true, &HandleReloadLocalesPageTextCommand, "" }, + { "locales_points_of_interest", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_POINTS_OF_INTEREST, true, &HandleReloadLocalesPointsOfInterestCommand, "" }, + { "locales_quest", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_QUEST, true, &HandleReloadLocalesQuestCommand, "" }, + { "mail_level_reward", rbac::RBAC_PERM_COMMAND_RELOAD_MAIL_LEVEL_REWARD, true, &HandleReloadMailLevelRewardCommand, "" }, + { "mail_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_MAIL_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesMailCommand, "" }, + { "milling_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_MILLING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesMillingCommand, "" }, + { "npc_spellclick_spells", rbac::RBAC_PERM_COMMAND_RELOAD_NPC_SPELLCLICK_SPELLS, true, &HandleReloadSpellClickSpellsCommand, "" }, + { "npc_trainer", rbac::RBAC_PERM_COMMAND_RELOAD_NPC_TRAINER, true, &HandleReloadNpcTrainerCommand, "" }, + { "npc_vendor", rbac::RBAC_PERM_COMMAND_RELOAD_NPC_VENDOR, true, &HandleReloadNpcVendorCommand, "" }, + { "page_text", rbac::RBAC_PERM_COMMAND_RELOAD_PAGE_TEXT, true, &HandleReloadPageTextsCommand, "" }, + { "pickpocketing_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_PICKPOCKETING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesPickpocketingCommand, "" }, + { "points_of_interest", rbac::RBAC_PERM_COMMAND_RELOAD_POINTS_OF_INTEREST, true, &HandleReloadPointsOfInterestCommand, "" }, + { "prospecting_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_PROSPECTING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesProspectingCommand, "" }, + { "quest_poi", rbac::RBAC_PERM_COMMAND_RELOAD_QUEST_POI, true, &HandleReloadQuestPOICommand, "" }, + { "quest_template", rbac::RBAC_PERM_COMMAND_RELOAD_QUEST_TEMPLATE, true, &HandleReloadQuestTemplateCommand, "" }, + { "rbac", rbac::RBAC_PERM_COMMAND_RELOAD_RBAC, true, &HandleReloadRBACCommand, "" }, + { "reference_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_REFERENCE_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesReferenceCommand, "" }, + { "reserved_name", rbac::RBAC_PERM_COMMAND_RELOAD_RESERVED_NAME, true, &HandleReloadReservedNameCommand, "" }, + { "reputation_reward_rate", rbac::RBAC_PERM_COMMAND_RELOAD_REPUTATION_REWARD_RATE, true, &HandleReloadReputationRewardRateCommand, "" }, + { "reputation_spillover_template", rbac::RBAC_PERM_COMMAND_RELOAD_SPILLOVER_TEMPLATE, true, &HandleReloadReputationRewardRateCommand, "" }, + { "skill_discovery_template", rbac::RBAC_PERM_COMMAND_RELOAD_SKILL_DISCOVERY_TEMPLATE, true, &HandleReloadSkillDiscoveryTemplateCommand, "" }, + { "skill_extra_item_template", rbac::RBAC_PERM_COMMAND_RELOAD_SKILL_EXTRA_ITEM_TEMPLATE, true, &HandleReloadSkillExtraItemTemplateCommand, "" }, + { "skill_fishing_base_level", rbac::RBAC_PERM_COMMAND_RELOAD_SKILL_FISHING_BASE_LEVEL, true, &HandleReloadSkillFishingBaseLevelCommand, "" }, + { "skinning_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_SKINNING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesSkinningCommand, "" }, + { "smart_scripts", rbac::RBAC_PERM_COMMAND_RELOAD_SMART_SCRIPTS, true, &HandleReloadSmartScripts, "" }, + { "spell_required", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_REQUIRED, true, &HandleReloadSpellRequiredCommand, "" }, + { "spell_area", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_AREA, true, &HandleReloadSpellAreaCommand, "" }, + { "spell_bonus_data", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_BONUS_DATA, true, &HandleReloadSpellBonusesCommand, "" }, + { "spell_group", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_GROUP, true, &HandleReloadSpellGroupsCommand, "" }, + { "spell_learn_spell", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_LEARN_SPELL, true, &HandleReloadSpellLearnSpellCommand, "" }, + { "spell_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesSpellCommand, "" }, + { "spell_linked_spell", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_LINKED_SPELL, true, &HandleReloadSpellLinkedSpellCommand, "" }, + { "spell_pet_auras", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_PET_AURAS, true, &HandleReloadSpellPetAurasCommand, "" }, + { "spell_proc_event", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_PROC_EVENT, true, &HandleReloadSpellProcEventCommand, "" }, + { "spell_proc", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_PROC, true, &HandleReloadSpellProcsCommand, "" }, + { "spell_scripts", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_SCRIPTS, true, &HandleReloadSpellScriptsCommand, "" }, + { "spell_target_position", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_TARGET_POSITION, true, &HandleReloadSpellTargetPositionCommand, "" }, + { "spell_threats", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_THREATS, true, &HandleReloadSpellThreatsCommand, "" }, + { "spell_group_stack_rules", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_GROUP_STACK_RULES, true, &HandleReloadSpellGroupStackRulesCommand, "" }, + { "trinity_string", rbac::RBAC_PERM_COMMAND_RELOAD_TRINITY_STRING, true, &HandleReloadTrinityStringCommand, "" }, + { "warden_action", rbac::RBAC_PERM_COMMAND_RELOAD_WARDEN_ACTION, true, &HandleReloadWardenactionCommand, "" }, + { "waypoint_scripts", rbac::RBAC_PERM_COMMAND_RELOAD_WAYPOINT_SCRIPTS, true, &HandleReloadWpScriptsCommand, "" }, + { "waypoint_data", rbac::RBAC_PERM_COMMAND_RELOAD_WAYPOINT_DATA, true, &HandleReloadWpCommand, "" }, + { "vehicle_accessory", rbac::RBAC_PERM_COMMAND_RELOAD_VEHICLE_ACCESORY, true, &HandleReloadVehicleAccessoryCommand, "" }, + { "vehicle_template_accessory", rbac::RBAC_PERM_COMMAND_RELOAD_VEHICLE_TEMPLATE_ACCESSORY, true, &HandleReloadVehicleTemplateAccessoryCommand, "" }, }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "reload", rbac::RBAC_PERM_COMMAND_RELOAD, true, NULL, "", reloadCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_reset.cpp b/src/server/scripts/Commands/cs_reset.cpp index b2bccfd884a..d1c7421b761 100644 --- a/src/server/scripts/Commands/cs_reset.cpp +++ b/src/server/scripts/Commands/cs_reset.cpp @@ -35,23 +35,21 @@ class reset_commandscript : public CommandScript public: reset_commandscript() : CommandScript("reset_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand resetCommandTable[] = + static std::vector<ChatCommand> resetCommandTable = { - { "achievements", rbac::RBAC_PERM_COMMAND_RESET_ACHIEVEMENTS, true, &HandleResetAchievementsCommand, "", NULL }, - { "honor", rbac::RBAC_PERM_COMMAND_RESET_HONOR, true, &HandleResetHonorCommand, "", NULL }, - { "level", rbac::RBAC_PERM_COMMAND_RESET_LEVEL, true, &HandleResetLevelCommand, "", NULL }, - { "spells", rbac::RBAC_PERM_COMMAND_RESET_SPELLS, true, &HandleResetSpellsCommand, "", NULL }, - { "stats", rbac::RBAC_PERM_COMMAND_RESET_STATS, true, &HandleResetStatsCommand, "", NULL }, - { "talents", rbac::RBAC_PERM_COMMAND_RESET_TALENTS, true, &HandleResetTalentsCommand, "", NULL }, - { "all", rbac::RBAC_PERM_COMMAND_RESET_ALL, true, &HandleResetAllCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "achievements", rbac::RBAC_PERM_COMMAND_RESET_ACHIEVEMENTS, true, &HandleResetAchievementsCommand, "" }, + { "honor", rbac::RBAC_PERM_COMMAND_RESET_HONOR, true, &HandleResetHonorCommand, "" }, + { "level", rbac::RBAC_PERM_COMMAND_RESET_LEVEL, true, &HandleResetLevelCommand, "" }, + { "spells", rbac::RBAC_PERM_COMMAND_RESET_SPELLS, true, &HandleResetSpellsCommand, "" }, + { "stats", rbac::RBAC_PERM_COMMAND_RESET_STATS, true, &HandleResetStatsCommand, "" }, + { "talents", rbac::RBAC_PERM_COMMAND_RESET_TALENTS, true, &HandleResetTalentsCommand, "" }, + { "all", rbac::RBAC_PERM_COMMAND_RESET_ALL, true, &HandleResetAllCommand, "" }, }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "reset", rbac::RBAC_PERM_COMMAND_RESET, true, NULL, "", resetCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_send.cpp b/src/server/scripts/Commands/cs_send.cpp index 57ea44a67bf..b7165ed339c 100644 --- a/src/server/scripts/Commands/cs_send.cpp +++ b/src/server/scripts/Commands/cs_send.cpp @@ -27,21 +27,19 @@ class send_commandscript : public CommandScript public: send_commandscript() : CommandScript("send_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand sendCommandTable[] = + static std::vector<ChatCommand> sendCommandTable = { - { "items", rbac::RBAC_PERM_COMMAND_SEND_ITEMS, true, &HandleSendItemsCommand, "", NULL }, - { "mail", rbac::RBAC_PERM_COMMAND_SEND_MAIL, true, &HandleSendMailCommand, "", NULL }, - { "message", rbac::RBAC_PERM_COMMAND_SEND_MESSAGE, true, &HandleSendMessageCommand, "", NULL }, - { "money", rbac::RBAC_PERM_COMMAND_SEND_MONEY, true, &HandleSendMoneyCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "items", rbac::RBAC_PERM_COMMAND_SEND_ITEMS, true, &HandleSendItemsCommand, "" }, + { "mail", rbac::RBAC_PERM_COMMAND_SEND_MAIL, true, &HandleSendMailCommand, "" }, + { "message", rbac::RBAC_PERM_COMMAND_SEND_MESSAGE, true, &HandleSendMessageCommand, "" }, + { "money", rbac::RBAC_PERM_COMMAND_SEND_MONEY, true, &HandleSendMoneyCommand, "" }, }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "send", rbac::RBAC_PERM_COMMAND_SEND, false, NULL, "", sendCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_server.cpp b/src/server/scripts/Commands/cs_server.cpp index fe5ae940f88..e41a7d161d2 100644 --- a/src/server/scripts/Commands/cs_server.cpp +++ b/src/server/scripts/Commands/cs_server.cpp @@ -35,64 +35,57 @@ class server_commandscript : public CommandScript public: server_commandscript() : CommandScript("server_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand serverIdleRestartCommandTable[] = + static std::vector<ChatCommand> serverIdleRestartCommandTable = { - { "cancel", rbac::RBAC_PERM_COMMAND_SERVER_IDLERESTART_CANCEL, true, &HandleServerShutDownCancelCommand, "", NULL }, - { "" , rbac::RBAC_PERM_COMMAND_SERVER_IDLERESTART, true, &HandleServerIdleRestartCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "cancel", rbac::RBAC_PERM_COMMAND_SERVER_IDLERESTART_CANCEL, true, &HandleServerShutDownCancelCommand, "" }, + { "" , rbac::RBAC_PERM_COMMAND_SERVER_IDLERESTART, true, &HandleServerIdleRestartCommand, "" }, }; - static ChatCommand serverIdleShutdownCommandTable[] = + static std::vector<ChatCommand> serverIdleShutdownCommandTable = { - { "cancel", rbac::RBAC_PERM_COMMAND_SERVER_IDLESHUTDOWN_CANCEL, true, &HandleServerShutDownCancelCommand, "", NULL }, - { "" , rbac::RBAC_PERM_COMMAND_SERVER_IDLESHUTDOWN, true, &HandleServerIdleShutDownCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "cancel", rbac::RBAC_PERM_COMMAND_SERVER_IDLESHUTDOWN_CANCEL, true, &HandleServerShutDownCancelCommand, "" }, + { "" , rbac::RBAC_PERM_COMMAND_SERVER_IDLESHUTDOWN, true, &HandleServerIdleShutDownCommand, "" }, }; - static ChatCommand serverRestartCommandTable[] = + static std::vector<ChatCommand> serverRestartCommandTable = { - { "cancel", rbac::RBAC_PERM_COMMAND_SERVER_RESTART_CANCEL, true, &HandleServerShutDownCancelCommand, "", NULL }, - { "" , rbac::RBAC_PERM_COMMAND_SERVER_RESTART, true, &HandleServerRestartCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "cancel", rbac::RBAC_PERM_COMMAND_SERVER_RESTART_CANCEL, true, &HandleServerShutDownCancelCommand, "" }, + { "" , rbac::RBAC_PERM_COMMAND_SERVER_RESTART, true, &HandleServerRestartCommand, "" }, }; - static ChatCommand serverShutdownCommandTable[] = + static std::vector<ChatCommand> serverShutdownCommandTable = { - { "cancel", rbac::RBAC_PERM_COMMAND_SERVER_SHUTDOWN_CANCEL, true, &HandleServerShutDownCancelCommand, "", NULL }, - { "" , rbac::RBAC_PERM_COMMAND_SERVER_SHUTDOWN, true, &HandleServerShutDownCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "cancel", rbac::RBAC_PERM_COMMAND_SERVER_SHUTDOWN_CANCEL, true, &HandleServerShutDownCancelCommand, "" }, + { "" , rbac::RBAC_PERM_COMMAND_SERVER_SHUTDOWN, true, &HandleServerShutDownCommand, "" }, }; - static ChatCommand serverSetCommandTable[] = + static std::vector<ChatCommand> serverSetCommandTable = { - { "difftime", rbac::RBAC_PERM_COMMAND_SERVER_SET_DIFFTIME, true, &HandleServerSetDiffTimeCommand, "", NULL }, - { "loglevel", rbac::RBAC_PERM_COMMAND_SERVER_SET_LOGLEVEL, true, &HandleServerSetLogLevelCommand, "", NULL }, - { "motd", rbac::RBAC_PERM_COMMAND_SERVER_SET_MOTD, true, &HandleServerSetMotdCommand, "", NULL }, - { "closed", rbac::RBAC_PERM_COMMAND_SERVER_SET_CLOSED, true, &HandleServerSetClosedCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "difftime", rbac::RBAC_PERM_COMMAND_SERVER_SET_DIFFTIME, true, &HandleServerSetDiffTimeCommand, "" }, + { "loglevel", rbac::RBAC_PERM_COMMAND_SERVER_SET_LOGLEVEL, true, &HandleServerSetLogLevelCommand, "" }, + { "motd", rbac::RBAC_PERM_COMMAND_SERVER_SET_MOTD, true, &HandleServerSetMotdCommand, "" }, + { "closed", rbac::RBAC_PERM_COMMAND_SERVER_SET_CLOSED, true, &HandleServerSetClosedCommand, "" }, }; - static ChatCommand serverCommandTable[] = + static std::vector<ChatCommand> serverCommandTable = { - { "corpses", rbac::RBAC_PERM_COMMAND_SERVER_CORPSES, true, &HandleServerCorpsesCommand, "", NULL }, - { "exit", rbac::RBAC_PERM_COMMAND_SERVER_EXIT, true, &HandleServerExitCommand, "", NULL }, + { "corpses", rbac::RBAC_PERM_COMMAND_SERVER_CORPSES, true, &HandleServerCorpsesCommand, "" }, + { "exit", rbac::RBAC_PERM_COMMAND_SERVER_EXIT, true, &HandleServerExitCommand, "" }, { "idlerestart", rbac::RBAC_PERM_COMMAND_SERVER_IDLERESTART, true, NULL, "", serverIdleRestartCommandTable }, { "idleshutdown", rbac::RBAC_PERM_COMMAND_SERVER_IDLESHUTDOWN, true, NULL, "", serverIdleShutdownCommandTable }, - { "info", rbac::RBAC_PERM_COMMAND_SERVER_INFO, true, &HandleServerInfoCommand, "", NULL }, - { "motd", rbac::RBAC_PERM_COMMAND_SERVER_MOTD, true, &HandleServerMotdCommand, "", NULL }, - { "plimit", rbac::RBAC_PERM_COMMAND_SERVER_PLIMIT, true, &HandleServerPLimitCommand, "", NULL }, + { "info", rbac::RBAC_PERM_COMMAND_SERVER_INFO, true, &HandleServerInfoCommand, "" }, + { "motd", rbac::RBAC_PERM_COMMAND_SERVER_MOTD, true, &HandleServerMotdCommand, "" }, + { "plimit", rbac::RBAC_PERM_COMMAND_SERVER_PLIMIT, true, &HandleServerPLimitCommand, "" }, { "restart", rbac::RBAC_PERM_COMMAND_SERVER_RESTART, true, NULL, "", serverRestartCommandTable }, { "shutdown", rbac::RBAC_PERM_COMMAND_SERVER_SHUTDOWN, true, NULL, "", serverShutdownCommandTable }, { "set", rbac::RBAC_PERM_COMMAND_SERVER_SET, true, NULL, "", serverSetCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "server", rbac::RBAC_PERM_COMMAND_SERVER, true, NULL, "", serverCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_tele.cpp b/src/server/scripts/Commands/cs_tele.cpp index 8e82f9980d3..9ea516f0972 100644 --- a/src/server/scripts/Commands/cs_tele.cpp +++ b/src/server/scripts/Commands/cs_tele.cpp @@ -35,21 +35,19 @@ class tele_commandscript : public CommandScript public: tele_commandscript() : CommandScript("tele_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand teleCommandTable[] = + static std::vector<ChatCommand> teleCommandTable = { - { "add", rbac::RBAC_PERM_COMMAND_TELE_ADD, false, &HandleTeleAddCommand, "", NULL }, - { "del", rbac::RBAC_PERM_COMMAND_TELE_DEL, true, &HandleTeleDelCommand, "", NULL }, - { "name", rbac::RBAC_PERM_COMMAND_TELE_NAME, true, &HandleTeleNameCommand, "", NULL }, - { "group", rbac::RBAC_PERM_COMMAND_TELE_GROUP, false, &HandleTeleGroupCommand, "", NULL }, - { "", rbac::RBAC_PERM_COMMAND_TELE, false, &HandleTeleCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "add", rbac::RBAC_PERM_COMMAND_TELE_ADD, false, &HandleTeleAddCommand, "" }, + { "del", rbac::RBAC_PERM_COMMAND_TELE_DEL, true, &HandleTeleDelCommand, "" }, + { "name", rbac::RBAC_PERM_COMMAND_TELE_NAME, true, &HandleTeleNameCommand, "" }, + { "group", rbac::RBAC_PERM_COMMAND_TELE_GROUP, false, &HandleTeleGroupCommand, "" }, + { "", rbac::RBAC_PERM_COMMAND_TELE, false, &HandleTeleCommand, "" }, }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "tele", rbac::RBAC_PERM_COMMAND_TELE, false, NULL, "", teleCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_ticket.cpp b/src/server/scripts/Commands/cs_ticket.cpp index f7634381fc9..9b771f734be 100644 --- a/src/server/scripts/Commands/cs_ticket.cpp +++ b/src/server/scripts/Commands/cs_ticket.cpp @@ -36,38 +36,35 @@ class ticket_commandscript : public CommandScript public: ticket_commandscript() : CommandScript("ticket_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand ticketResponseCommandTable[] = + static std::vector<ChatCommand> ticketResponseCommandTable = { - { "append", rbac::RBAC_PERM_COMMAND_TICKET_RESPONSE_APPEND, true, &HandleGMTicketResponseAppendCommand, "", NULL }, - { "appendln", rbac::RBAC_PERM_COMMAND_TICKET_RESPONSE_APPENDLN, true, &HandleGMTicketResponseAppendLnCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "append", rbac::RBAC_PERM_COMMAND_TICKET_RESPONSE_APPEND, true, &HandleGMTicketResponseAppendCommand, "" }, + { "appendln", rbac::RBAC_PERM_COMMAND_TICKET_RESPONSE_APPENDLN, true, &HandleGMTicketResponseAppendLnCommand, "" }, }; - static ChatCommand ticketCommandTable[] = + static std::vector<ChatCommand> ticketCommandTable = { - { "assign", rbac::RBAC_PERM_COMMAND_TICKET_ASSIGN, true, &HandleGMTicketAssignToCommand, "", NULL }, - { "close", rbac::RBAC_PERM_COMMAND_TICKET_CLOSE, true, &HandleGMTicketCloseByIdCommand, "", NULL }, - { "closedlist", rbac::RBAC_PERM_COMMAND_TICKET_CLOSEDLIST, true, &HandleGMTicketListClosedCommand, "", NULL }, - { "comment", rbac::RBAC_PERM_COMMAND_TICKET_COMMENT, true, &HandleGMTicketCommentCommand, "", NULL }, - { "complete", rbac::RBAC_PERM_COMMAND_TICKET_COMPLETE, true, &HandleGMTicketCompleteCommand, "", NULL }, - { "delete", rbac::RBAC_PERM_COMMAND_TICKET_DELETE, true, &HandleGMTicketDeleteByIdCommand, "", NULL }, - { "escalate", rbac::RBAC_PERM_COMMAND_TICKET_ESCALATE, true, &HandleGMTicketEscalateCommand, "", NULL }, - { "escalatedlist", rbac::RBAC_PERM_COMMAND_TICKET_ESCALATEDLIST, true, &HandleGMTicketListEscalatedCommand, "", NULL }, - { "list", rbac::RBAC_PERM_COMMAND_TICKET_LIST, true, &HandleGMTicketListCommand, "", NULL }, - { "onlinelist", rbac::RBAC_PERM_COMMAND_TICKET_ONLINELIST, true, &HandleGMTicketListOnlineCommand, "", NULL }, - { "reset", rbac::RBAC_PERM_COMMAND_TICKET_RESET, true, &HandleGMTicketResetCommand, "", NULL }, + { "assign", rbac::RBAC_PERM_COMMAND_TICKET_ASSIGN, true, &HandleGMTicketAssignToCommand, "" }, + { "close", rbac::RBAC_PERM_COMMAND_TICKET_CLOSE, true, &HandleGMTicketCloseByIdCommand, "" }, + { "closedlist", rbac::RBAC_PERM_COMMAND_TICKET_CLOSEDLIST, true, &HandleGMTicketListClosedCommand, "" }, + { "comment", rbac::RBAC_PERM_COMMAND_TICKET_COMMENT, true, &HandleGMTicketCommentCommand, "" }, + { "complete", rbac::RBAC_PERM_COMMAND_TICKET_COMPLETE, true, &HandleGMTicketCompleteCommand, "" }, + { "delete", rbac::RBAC_PERM_COMMAND_TICKET_DELETE, true, &HandleGMTicketDeleteByIdCommand, "" }, + { "escalate", rbac::RBAC_PERM_COMMAND_TICKET_ESCALATE, true, &HandleGMTicketEscalateCommand, "" }, + { "escalatedlist", rbac::RBAC_PERM_COMMAND_TICKET_ESCALATEDLIST, true, &HandleGMTicketListEscalatedCommand, "" }, + { "list", rbac::RBAC_PERM_COMMAND_TICKET_LIST, true, &HandleGMTicketListCommand, "" }, + { "onlinelist", rbac::RBAC_PERM_COMMAND_TICKET_ONLINELIST, true, &HandleGMTicketListOnlineCommand, "" }, + { "reset", rbac::RBAC_PERM_COMMAND_TICKET_RESET, true, &HandleGMTicketResetCommand, "" }, { "response", rbac::RBAC_PERM_COMMAND_TICKET_RESPONSE, true, NULL, "", ticketResponseCommandTable }, - { "togglesystem", rbac::RBAC_PERM_COMMAND_TICKET_TOGGLESYSTEM, true, &HandleToggleGMTicketSystem, "", NULL }, - { "unassign", rbac::RBAC_PERM_COMMAND_TICKET_UNASSIGN, true, &HandleGMTicketUnAssignCommand, "", NULL }, - { "viewid", rbac::RBAC_PERM_COMMAND_TICKET_VIEWID, true, &HandleGMTicketGetByIdCommand, "", NULL }, - { "viewname", rbac::RBAC_PERM_COMMAND_TICKET_VIEWNAME, true, &HandleGMTicketGetByNameCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "togglesystem", rbac::RBAC_PERM_COMMAND_TICKET_TOGGLESYSTEM, true, &HandleToggleGMTicketSystem, "" }, + { "unassign", rbac::RBAC_PERM_COMMAND_TICKET_UNASSIGN, true, &HandleGMTicketUnAssignCommand, "" }, + { "viewid", rbac::RBAC_PERM_COMMAND_TICKET_VIEWID, true, &HandleGMTicketGetByIdCommand, "" }, + { "viewname", rbac::RBAC_PERM_COMMAND_TICKET_VIEWNAME, true, &HandleGMTicketGetByNameCommand, "" }, }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "ticket", rbac::RBAC_PERM_COMMAND_TICKET, false, NULL, "", ticketCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_titles.cpp b/src/server/scripts/Commands/cs_titles.cpp index 74a2f9f5aaf..bc6027ce3c3 100644 --- a/src/server/scripts/Commands/cs_titles.cpp +++ b/src/server/scripts/Commands/cs_titles.cpp @@ -33,25 +33,22 @@ class titles_commandscript : public CommandScript public: titles_commandscript() : CommandScript("titles_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand titlesSetCommandTable[] = + static std::vector<ChatCommand> titlesSetCommandTable = { - { "mask", rbac::RBAC_PERM_COMMAND_TITLES_SET_MASK, false, &HandleTitlesSetMaskCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "mask", rbac::RBAC_PERM_COMMAND_TITLES_SET_MASK, false, &HandleTitlesSetMaskCommand, "" }, }; - static ChatCommand titlesCommandTable[] = + static std::vector<ChatCommand> titlesCommandTable = { - { "add", rbac::RBAC_PERM_COMMAND_TITLES_ADD, false, &HandleTitlesAddCommand, "", NULL }, - { "current", rbac::RBAC_PERM_COMMAND_TITLES_CURRENT, false, &HandleTitlesCurrentCommand, "", NULL }, - { "remove", rbac::RBAC_PERM_COMMAND_TITLES_REMOVE, false, &HandleTitlesRemoveCommand, "", NULL }, + { "add", rbac::RBAC_PERM_COMMAND_TITLES_ADD, false, &HandleTitlesAddCommand, "" }, + { "current", rbac::RBAC_PERM_COMMAND_TITLES_CURRENT, false, &HandleTitlesCurrentCommand, "" }, + { "remove", rbac::RBAC_PERM_COMMAND_TITLES_REMOVE, false, &HandleTitlesRemoveCommand, "" }, { "set", rbac::RBAC_PERM_COMMAND_TITLES_SET, false, NULL, "", titlesSetCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "titles", rbac::RBAC_PERM_COMMAND_TITLES, false, NULL, "", titlesCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/scripts/Commands/cs_wp.cpp b/src/server/scripts/Commands/cs_wp.cpp index 9db1e5d68d8..b35e71dbd50 100644 --- a/src/server/scripts/Commands/cs_wp.cpp +++ b/src/server/scripts/Commands/cs_wp.cpp @@ -34,23 +34,21 @@ class wp_commandscript : public CommandScript public: wp_commandscript() : CommandScript("wp_commandscript") { } - ChatCommand* GetCommands() const override + std::vector<ChatCommand> GetCommands() const override { - static ChatCommand wpCommandTable[] = + static std::vector<ChatCommand> wpCommandTable = { - { "add", rbac::RBAC_PERM_COMMAND_WP_ADD, false, &HandleWpAddCommand, "", NULL }, - { "event", rbac::RBAC_PERM_COMMAND_WP_EVENT, false, &HandleWpEventCommand, "", NULL }, - { "load", rbac::RBAC_PERM_COMMAND_WP_LOAD, false, &HandleWpLoadCommand, "", NULL }, - { "modify", rbac::RBAC_PERM_COMMAND_WP_MODIFY, false, &HandleWpModifyCommand, "", NULL }, - { "unload", rbac::RBAC_PERM_COMMAND_WP_UNLOAD, false, &HandleWpUnLoadCommand, "", NULL }, - { "reload", rbac::RBAC_PERM_COMMAND_WP_RELOAD, false, &HandleWpReloadCommand, "", NULL }, - { "show", rbac::RBAC_PERM_COMMAND_WP_SHOW, false, &HandleWpShowCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "add", rbac::RBAC_PERM_COMMAND_WP_ADD, false, &HandleWpAddCommand, "" }, + { "event", rbac::RBAC_PERM_COMMAND_WP_EVENT, false, &HandleWpEventCommand, "" }, + { "load", rbac::RBAC_PERM_COMMAND_WP_LOAD, false, &HandleWpLoadCommand, "" }, + { "modify", rbac::RBAC_PERM_COMMAND_WP_MODIFY, false, &HandleWpModifyCommand, "" }, + { "unload", rbac::RBAC_PERM_COMMAND_WP_UNLOAD, false, &HandleWpUnLoadCommand, "" }, + { "reload", rbac::RBAC_PERM_COMMAND_WP_RELOAD, false, &HandleWpReloadCommand, "" }, + { "show", rbac::RBAC_PERM_COMMAND_WP_SHOW, false, &HandleWpShowCommand, "" }, }; - static ChatCommand commandTable[] = + static std::vector<ChatCommand> commandTable = { { "wp", rbac::RBAC_PERM_COMMAND_WP, false, NULL, "", wpCommandTable }, - { NULL, 0, false, NULL, "", NULL } }; return commandTable; } diff --git a/src/server/worldserver/CommandLine/CliRunnable.cpp b/src/server/worldserver/CommandLine/CliRunnable.cpp index ad9ae28f712..3901e17f9c2 100644 --- a/src/server/worldserver/CommandLine/CliRunnable.cpp +++ b/src/server/worldserver/CommandLine/CliRunnable.cpp @@ -36,9 +36,9 @@ char* command_finder(const char* text, int state) { - static int idx, len; + static size_t idx, len; const char* ret; - ChatCommand* cmd = ChatHandler::getCommandTable(); + std::vector<ChatCommand> const& cmd = ChatHandler::getCommandTable(); if (!state) { @@ -46,20 +46,19 @@ char* command_finder(const char* text, int state) len = strlen(text); } - while ((ret = cmd[idx].Name)) + while (idx < cmd.size()) { + ret = cmd[idx].Name; if (!cmd[idx].AllowConsole) { - idx++; + ++idx; continue; } - idx++; + ++idx; //printf("Checking %s \n", cmd[idx].Name); if (strncmp(ret, text, len) == 0) return strdup(ret); - if (cmd[idx].Name == NULL) - break; } return ((char*)NULL); |