Merge branch 'master' of github.com:TrinityCore/TrinityCore

This commit is contained in:
Machiavelli
2011-12-19 11:14:26 +01:00
54 changed files with 2134 additions and 245 deletions
@@ -0,0 +1 @@
UPDATE `gameobject_template` SET `scriptName` = 'go_ethereal_teleport_pad' WHERE `entry` = 184073; -- Update Ethereal Teleport Pad scriptname
@@ -0,0 +1,4 @@
-- Greater Fire Elemental script
UPDATE `creature_template` SET `ScriptName`='npc_fire_elemental' WHERE `entry`=15438;
-- Greater Earth Elemental script
UPDATE `creature_template` SET `ScriptName`='npc_earth_elemental' WHERE `entry`=15352;
@@ -0,0 +1,5 @@
-- Bounus coef for Greater Fire Elemental spells
DELETE FROM `spell_bonus_data` WHERE `entry` IN (13376,57984);
INSERT INTO `spell_bonus_data` (`entry`, `direct_bonus`, `dot_bonus`,`ap_bonus`, `ap_dot_bonus`, `comments`) VALUES
(13376,0.032,-1,-1,-1,'Greater Fire Elemental - Fire Shield'),
(57984,0.4289,-1,-1,-1,'Greater Fire Elemental - Fire Blast');
@@ -0,0 +1,974 @@
-- -------------
-- UBRS FIXUP --
-- -------------
SET @GUID := 137817; -- 289 required
DELETE FROM `creature` WHERE `map`=229 AND `id` IN (9098,9257,9258,9416,9045,9097,10339,9096,10083,10366,10371,10372,10680,10681,9816,9817,9818,9819,10317,10316,10740,16048,10430,10509,10363,10429,10318,10319,10742,10762,10899,10683,10264,10162);
DELETE FROM `creature` WHERE `guid` BETWEEN @GUID AND @GUID+288;
INSERT INTO `creature` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`modelid`,`equipment_id`,`position_x`,`position_y`,`position_z`,`orientation`,`spawntimesecs`,`spawndist`,`currentwaypoint`,`curhealth`,`curmana`,`MovementType`) VALUES
-- Pyroguard Emberseer
(@GUID,9816,229,1,1,0,0,144.438171,-258.034149,96.40662,4.677482,1000000,0,0,1,0,0),
-- Rage Talon Dragonspawn
(@GUID+1,9096,229,1,1,0,0,100.742607,-246.0053,106.518906,2.65290046,7200,0,0,1,0,0),
(@GUID+2,9096,229,1,1,0,0,101.678032,-237.6665,106.518906,3.54301834,7200,0,0,1,0,0),
(@GUID+3,9096,229,1,1,0,0,102.156441,-253.07338,106.5189,4.72320032,7200,0,0,1,0,0),
(@GUID+4,9096,229,1,1,0,0,103.098129,-364.3394,116.925743,5.86430645,7200,0,0,1,0,0),
(@GUID+5,9096,229,1,1,0,0,105.175392,-327.1109,106.518906,2.53072739,7200,0,0,1,0,0),
(@GUID+6,9096,229,1,1,0,0,128.020447,-315.29,111.029076,2.984513,7200,0,0,1,0,0),
(@GUID+7,9096,229,1,1,0,0,136.037247,-338.207458,111.043625,0.6457718,7200,0,0,1,0,0),
(@GUID+8,9096,229,1,1,0,0,136.2818,-308.682281,111.073242,0.279252678,7200,0,0,1,0,0),
(@GUID+9,9096,229,1,1,0,0,136.424042,-316.1892,111.063728,0.0174532924,7200,0,0,1,0,0),
(@GUID+10,9096,229,1,1,0,0,138.315643,-395.08606,122.058578,4.764749,7200,0,0,1,0,0),
(@GUID+11,9096,229,1,1,0,0,142.593109,-342.274048,111.040665,1.39626336,7200,0,0,1,0,0),
(@GUID+12,9096,229,1,1,0,0,147.042328,-312.391449,71.03966,5.550147,7200,10,0,1,0,1),
(@GUID+13,9096,229,1,1,0,0,153.89537,-332.387146,70.95632,3.14905024,7200,0,0,1,0,0),
(@GUID+14,9096,229,1,1,0,0,161.09,-316.201721,70.95632,1.913126,7200,10,0,1,0,1),
(@GUID+15,9096,229,1,1,0,0,165.520889,-394.921417,122.058556,4.677482,7200,0,0,1,0,0),
(@GUID+16,9096,229,1,1,0,0,167.774048,-338.655426,111.0341,2.79252672,7200,0,0,1,0,0),
(@GUID+17,9096,229,1,1,0,0,193.480331,-314.875244,77.0207748,5.375614,7200,10,0,1,0,1),
(@GUID+18,9096,229,1,1,0,0,195.986176,-291.863159,76.93301,2.74624467,7200,10,0,1,0,1),
(@GUID+19,9096,229,1,1,0,0,92.24497,-427.635468,111.006088,3.159046,7200,0,0,1,0,0),
(@GUID+20,9096,229,1,1,0,0,94.5186539,-256.702728,91.53693,6.265732,7200,0,0,1,0,0),
(@GUID+21,9096,229,1,1,0,0,96.17891,-268.540375,91.53113,1.37881,7200,0,0,1,0,0),
(@GUID+22,9096,229,1,1,0,0,97.91753,-333.680664,106.5189,1.93731546,7200,0,0,1,0,0),
-- Rage Talon Flamescale
(@GUID+23,10083,229,1,1,0,0,102.801758,-332.1205,106.518906,2.21656823,7200,0,0,1,0,0),
(@GUID+24,10083,229,1,1,0,0,141.698181,-394.829071,122.058556,4.86946869,7200,0,0,1,0,0),
(@GUID+25,10083,229,1,1,0,0,151.5985,-312.834961,110.825859,1.583788,7200,0,0,1,0,0),
(@GUID+26,10083,229,1,1,0,0,157.517059,-366.047333,116.844231,6.27482271,7200,0,0,1,0,0),
(@GUID+27,10083,229,1,1,0,0,161.314163,-393.648651,122.058533,4.86946869,7200,0,0,1,0,0),
(@GUID+28,10083,229,1,1,0,0,161.339554,-343.435425,111.039314,1.850049,7200,0,0,1,0,0),
(@GUID+29,10083,229,1,1,0,0,74.99681,-316.2664,91.52034,5.86179638,7200,7,0,1,0,1),
(@GUID+30,10083,229,1,1,0,0,81.0063858,-284.352936,91.53317,5.951573,7200,7,0,1,0,1),
-- Rage Talon Dragon Guard
(@GUID+31,10366,229,1,1,0,0,11.332943,-492.121582,111.022545,0.7330383,7200,0,0,1,0,0),
(@GUID+32,10366,229,1,1,0,0,165.272675,-475.4804,116.842445,0.01255145,7200,0,0,1,0,0),
(@GUID+33,10366,229,1,1,0,0,27.6826859,-426.0668,111.009117,5.480334,7200,0,0,1,0,0),
(@GUID+34,10366,229,1,1,0,0,31.2498379,-497.100922,111.035072,1.27409029,7200,0,0,1,0,0),
(@GUID+35,10366,229,1,1,0,0,39.75237,-426.769226,111.010643,3.96189737,7200,0,0,1,0,0),
(@GUID+36,10366,229,1,1,0,0,43.22777,-449.182983,111.026749,3.85717773,7200,0,0,1,0,0),
(@GUID+37,10366,229,1,1,0,0,8.27626,-487.534119,111.013985,0.436332315,7200,0,0,1,0,0),
(@GUID+38,10366,229,1,1,0,0,92.84775,-489.693024,116.925728,1.58824956,7200,0,0,1,0,0),
-- Goraluk Anvilcrack <Blackhand Legion Armorsmith>
(@GUID+39,10899,229,1,1,0,0,147.684921,-242.757523,111.004608,1.7652961,7200,0,0,1,0,0),
-- Rage Talon Captain
(@GUID+40,10371,229,1,1,0,0,-10.6942663,-350.008,111.026779,0.8552113,7200,0,0,1,0,0),
(@GUID+41,10371,229,1,1,0,0,-16.02218,-263.335266,111.026764,5.70722675,7200,0,0,1,0,0),
(@GUID+42,10371,229,1,1,0,0,20.24981,-263.2449,111.026764,3.651049,7200,0,0,1,0,0),
(@GUID+43,10371,229,1,1,0,0,33.96815,-327.537231,111.026779,4.729842,7200,0,0,1,0,0),
(@GUID+44,10371,229,1,1,0,0,8.802712,-450.5478,111.020157,5.689773,7200,0,0,1,0,0),
-- Rage Talon Fire Tongue
(@GUID+45,10372,229,1,1,0,0,-15.58145,-344.314941,111.026779,0.715585,7200,0,0,1,0,0),
(@GUID+46,10372,229,1,1,0,0,16.30601,-449.322784,111.029114,4.468043,7200,0,0,1,0,0),
(@GUID+47,10372,229,1,1,0,0,21.4282932,-475.194733,111.038452,1.76278257,7200,0,0,1,0,0),
(@GUID+48,10372,229,1,1,0,0,23.7180157,-258.2444,111.030754,3.46037364,7200,0,0,1,0,0),
(@GUID+49,10372,229,1,1,0,0,26.412632,-327.414429,111.026779,4.79965544,7200,0,0,1,0,0),
(@GUID+50,10372,229,1,1,0,0,6.645312,-460.464966,111.016,0.418879032,7200,0,0,1,0,0),
(@GUID+51,10372,229,1,1,0,0,86.68403,-480.173737,116.925743,0.8552113,7200,0,0,1,0,0),
-- Blackhand Summoner <Blackhand Legion>
(@GUID+52,9818,229,1,1,0,0,124.871681,-334.522583,71.04309,4.694936,7200,0,0,1,0,0),
(@GUID+53,9818,229,1,1,0,0,128.321472,-295.045166,71.06125,3.874631,7200,0,0,1,0,0),
(@GUID+54,9818,229,1,1,0,0,130.4315,-340.0683,71.0431061,3.17649913,7200,0,0,1,0,0),
(@GUID+55,9818,229,1,1,0,0,151.102859,-358.37,71.02174,1.20427716,7200,0,0,1,0,0),
(@GUID+56,9818,229,1,1,0,0,156.814621,-283.34024,71.03544,1.98967528,7200,0,0,1,0,0),
(@GUID+57,9818,229,1,1,0,0,162.630127,-243.073456,111.034378,4.32841635,7200,0,0,1,0,0),
(@GUID+58,9818,229,1,1,0,0,170.605957,-362.35318,116.924133,4.86946869,7200,0,0,1,0,0),
(@GUID+59,9818,229,1,1,0,0,179.994781,-365.8944,116.925758,3.19395256,7200,0,0,1,0,0),
(@GUID+60,9818,229,1,1,0,0,188.856033,-258.8772,77.03584,6.07374573,7200,0,0,1,0,0),
(@GUID+61,9818,229,1,1,0,0,212.137329,-339.792267,76.9862747,1.15191734,7200,0,0,1,0,0),
(@GUID+62,9818,229,1,1,0,0,217.200012,-259.563751,82.1870956,6.265732,7200,0,0,1,0,0),
(@GUID+63,9818,229,1,1,0,0,223.7043,-297.484253,77.05145,5.46288061,7200,0,0,1,0,0),
(@GUID+64,9818,229,1,1,0,0,224.405029,-307.493042,77.05062,0.7853982,7200,0,0,1,0,0),
(@GUID+65,9818,229,1,1,0,0,87.17487,-363.085022,117.796295,4.729842,7200,0,0,1,0,0),
(@GUID+66,9818,229,1,1,0,0,90.10163,-419.203979,111.006088,0.994837642,7200,0,0,1,0,0),
-- Blackhand Veteran <Blackhand Legion>
(@GUID+67,9819,229,1,1,0,0,113.70948,-366.072266,116.932022,5.82939959,7200,0,0,1,0,0),
(@GUID+68,9819,229,1,1,0,0,120.166054,-295.048645,71.06183,5.497787,7200,0,0,1,0,0),
(@GUID+69,9819,229,1,1,0,0,121.719147,-301.576538,71.0559845,0.75049156,7200,0,0,1,0,0),
(@GUID+70,9819,229,1,1,0,0,141.709488,-299.4828,111.032074,0.0349065848,7200,0,0,1,0,0),
(@GUID+71,9819,229,1,1,0,0,141.762787,-302.243439,111.031624,0.122173049,7200,0,0,1,0,0),
(@GUID+72,9819,229,1,1,0,0,141.79213,-296.809937,111.031372,6.23082542,7200,0,0,1,0,0),
(@GUID+73,9819,229,1,1,0,0,142.861816,-272.084259,111.026764,6.213372,7200,0,0,1,0,0),
(@GUID+74,9819,229,1,1,0,0,142.902451,-275.0304,111.026955,0.0349065848,7200,0,0,1,0,0),
(@GUID+75,9819,229,1,1,0,0,142.97287,-277.891327,111.027122,0.139626339,7200,0,0,1,0,0),
(@GUID+76,9819,229,1,1,0,0,144.939285,-257.132019,110.919548,5.82939959,7200,0,0,1,0,0),
(@GUID+77,9819,229,1,1,0,0,149.200531,-252.04541,110.907585,1.20427716,7200,0,0,1,0,0),
(@GUID+78,9819,229,1,1,0,0,149.248459,-249.036591,110.907883,4.86946869,7200,0,0,1,0,0),
(@GUID+79,9819,229,1,1,0,0,150.514359,-354.057831,71.0197,5.21853447,7200,0,0,1,0,0),
(@GUID+80,9819,229,1,1,0,0,157.248657,-291.7521,71.0334,1.69296932,7200,0,0,1,0,0),
(@GUID+81,9819,229,1,1,0,0,157.8796,-359.290649,71.0255661,1.53588974,7200,0,0,1,0,0),
(@GUID+82,9819,229,1,1,0,0,159.268585,-245.612747,111.026138,6.23082542,7200,0,0,1,0,0),
(@GUID+83,9819,229,1,1,0,0,161.448456,-317.885559,111.022552,3.17649913,7200,0,0,1,0,0),
(@GUID+84,9819,229,1,1,0,0,161.471252,-314.998138,111.022469,3.19395256,7200,0,0,1,0,0),
(@GUID+85,9819,229,1,1,0,0,161.5384,-320.877258,111.025208,3.12413931,7200,0,0,1,0,0),
(@GUID+86,9819,229,1,1,0,0,168.431061,-288.5739,111.0254,2.91469979,7200,0,0,1,0,0),
(@GUID+87,9819,229,1,1,0,0,168.467117,-285.357452,111.0254,3.159046,7200,0,0,1,0,0),
(@GUID+88,9819,229,1,1,0,0,168.529587,-282.207245,111.0254,3.38593864,7200,0,0,1,0,0),
(@GUID+89,9819,229,1,1,0,0,172.878586,-365.445526,116.925789,2.84488654,7200,0,0,1,0,0),
(@GUID+90,9819,229,1,1,0,0,178.113251,-364.08963,116.925758,4.956735,7200,0,0,1,0,0),
(@GUID+91,9819,229,1,1,0,0,191.3293,-272.009766,77.03062,5.61996031,7200,0,0,1,0,0),
(@GUID+92,9819,229,1,1,0,0,194.615189,-255.948486,77.019455,4.310963,7200,0,0,1,0,0),
(@GUID+93,9819,229,1,1,0,0,195.222046,-271.912567,77.03062,3.78736448,7200,0,0,1,0,0),
(@GUID+94,9819,229,1,1,0,0,212.101151,-336.132416,76.955864,5.096361,7200,0,0,1,0,0),
(@GUID+95,9819,229,1,1,0,0,222.666229,-334.5855,77.01298,3.07177949,7200,0,0,1,0,0),
(@GUID+96,9819,229,1,1,0,0,225.916336,-261.5317,82.1132355,4.103862,7200,0,0,1,0,0),
(@GUID+97,9819,229,1,1,0,0,85.73412,-373.6244,116.925743,0.6806784,7200,0,0,1,0,0),
(@GUID+98,9819,229,1,1,0,0,87.50004,-426.620819,111.006088,5.916666,7200,0,0,1,0,0),
(@GUID+99,9819,229,1,1,0,0,90.02657,-367.4056,117.518463,2.51327419,7200,0,0,1,0,0),
(@GUID+100,9819,229,1,1,0,0,92.1094,-415.1748,111.006096,4.59021568,7200,0,0,1,0,0),
(@GUID+101,9819,229,1,1,0,0,106.9291,-367.275757,116.925743,2.30383468,7200,0,0,1,0,0),
-- Awbee
(@GUID+102,10740,229,1,1,0,0,70.54358,-420.442535,110.846558,0.75049156,7200,0,0,1,0,0),
-- Blackhand Incarcerator <Blackhand Legion>
(@GUID+103,10316,229,1,1,0,0,126.3072,-258.6249,91.637146,0.0349065848,7200,0,0,1,0,0),
(@GUID+104,10316,229,1,1,0,0,126.446983,-276.596771,91.6375656,0.820304751,7200,0,0,1,0,0),
(@GUID+105,10316,229,1,1,0,0,126.507553,-240.895081,91.62151,5.532694,7200,0,0,1,0,0),
(@GUID+106,10316,229,1,1,0,0,144.283234,-240.993958,91.62266,4.729842,7200,0,0,1,0,0),
(@GUID+107,10316,229,1,1,0,0,162.216324,-240.97139,91.68952,3.89208412,7200,0,0,1,0,0),
(@GUID+108,10316,229,1,1,0,0,162.327271,-276.7592,91.69608,2.32128787,7200,0,0,1,0,0),
(@GUID+109,10316,229,1,1,0,0,162.459671,-258.961456,91.61771,3.08923268,7200,0,0,1,0,0),
-- Lord Valthalak Trigger
(@GUID+110,16048,229,1,1,0,0,50.1153679,-534.537354,111.019806,6.161012,7200,0,0,1,0,0),
-- Blackhand Dreadweaver <Blackhand Legion>
(@GUID+111,9817,229,1,1,0,0,119.028313,-340.441254,71.04595,0.0349065848,7200,0,0,1,0,0),
(@GUID+112,9817,229,1,1,0,0,122.051933,-293.15744,71.06183,5.497787,7200,0,0,1,0,0),
(@GUID+113,9817,229,1,1,0,0,125.033432,-346.358124,71.04615,1.60570288,7200,0,0,1,0,0),
(@GUID+114,9817,229,1,1,0,0,154.42865,-289.456,71.02977,6.17846537,7200,0,0,1,0,0),
(@GUID+116,9817,229,1,1,0,0,159.006119,-347.022461,71.01292,0.802851439,7200,0,0,1,0,0),
(@GUID+117,9817,229,1,1,0,0,159.043167,-288.595856,71.03185,3.64773822,7200,0,0,1,0,0),
(@GUID+118,9817,229,1,1,0,0,163.503326,-247.513779,111.025925,2.09439516,7200,0,0,1,0,0),
(@GUID+119,9817,229,1,1,0,0,169.915909,-367.141479,116.925789,1.134464,7200,0,0,1,0,0),
(@GUID+120,9817,229,1,1,0,0,177.830521,-367.561035,116.925758,1.15191734,7200,0,0,1,0,0),
(@GUID+121,9817,229,1,1,0,0,190.633072,-263.9589,77.03324,0.9599311,7200,0,0,1,0,0),
(@GUID+122,9817,229,1,1,0,0,215.519485,-337.73288,76.95243,3.106686,7200,0,0,1,0,0),
(@GUID+123,9817,229,1,1,0,0,221.517853,-258.423828,82.12929,3.04173565,7200,0,0,1,0,0),
(@GUID+124,9817,229,1,1,0,0,225.8605,-266.1465,82.087326,3.30034256,7200,0,0,1,0,0),
(@GUID+125,9817,229,1,1,0,0,232.839737,-297.4911,77.0545654,4.08407,7200,0,0,1,0,0),
(@GUID+126,9817,229,1,1,0,0,234.324112,-306.76416,77.06055,2.443461,7200,0,0,1,0,0),
(@GUID+127,9817,229,1,1,0,0,85.6391449,-366.950134,116.925743,0.802851439,7200,0,0,1,0,0),
(@GUID+128,9817,229,1,1,0,0,93.9203949,-417.965485,111.006088,2.79252672,7200,0,0,1,0,0),
-- Blackhand Thug
(@GUID+129,10762,229,1,1,0,0,71.6325,-421.34613,110.794823,1.74532926,7200,0,0,1,0,0),
(@GUID+130,10762,229,1,1,0,0,71.74594,-419.1056,111.144218,4.694936,7200,0,0,1,0,0),
-- Blackhand Elite <Blackhand Legion>
(@GUID+131,10317,229,1,1,0,0,119.342194,-567.1412,107.25071,5.916666,7200,0,0,1,0,0),
(@GUID+132,10317,229,1,1,0,0,120.0068,-563.2474,107.453323,5.846853,7200,0,0,1,0,0),
(@GUID+133,10317,229,1,1,0,0,144.60112,-299.439117,110.735207,3.08923268,7200,0,0,1,0,0),
(@GUID+134,10317,229,1,1,0,0,146.275345,-275.0636,111.0268,3.106686,7200,0,0,1,0,0),
(@GUID+135,10317,229,1,1,0,0,15.7085686,-269.44873,110.943428,3.70086622,7200,0,0,1,0,0),
(@GUID+136,10317,229,1,1,0,0,158.335342,-317.906342,110.734566,0.0349065848,7200,0,0,1,0,0),
(@GUID+137,10317,229,1,1,0,0,11.4635525,-262.667877,110.943428,3.70086479,7200,0,0,1,0,0),
(@GUID+138,10317,229,1,1,0,0,164.433945,-285.266144,111.025864,0,7200,0,0,1,0,0),
(@GUID+139,10317,229,1,1,0,0,-18.404726,-338.186249,111.026764,0.5934119,7200,0,0,1,0,0),
(@GUID+140,10317,229,1,1,0,0,20.7244225,-468.8023,111.035339,4.834562,7200,0,0,1,0,0),
(@GUID+141,10317,229,1,1,0,0,24.4351749,-268.222015,111.026764,2.830616,7200,0,0,1,0,0),
(@GUID+142,10317,229,1,1,0,0,29.5069962,-385.555267,110.747688,5.42797375,7200,0,0,1,0,0),
(@GUID+143,10317,229,1,1,0,0,-3.292078,-259.9108,111.026764,5.480334,7200,0,0,1,0,0),
(@GUID+144,10317,229,1,1,0,0,30.4171047,-332.906921,111.026779,4.764749,7200,0,0,1,0,0),
(@GUID+145,10317,229,1,1,0,0,35.48675,-492.949921,111.035957,3.054326,7200,0,0,1,0,0),
(@GUID+146,10317,229,1,1,0,0,37.333168,-333.77887,111.026779,4.660029,7200,0,0,1,0,0),
(@GUID+147,10317,229,1,1,0,0,37.9199028,-451.0573,111.028809,0.08726646,7200,0,0,1,0,0),
(@GUID+148,10317,229,1,1,0,0,-5.026564,-352.542572,111.026779,0.9599311,7200,0,0,1,0,0),
(@GUID+149,10317,229,1,1,0,0,97.21676,-476.817535,116.925743,5.23598766,7200,0,0,1,0,0),
-- Lord Victor Nefarius <Lord of Blackrock>
(@GUID+150,10162,229,1,1,0,0,163.168335,-444.165,122.058609,3.12413931,7200,0,0,1,0,0),
-- Warchief Rend Blackhand
(@GUID+151,10429,229,1,1,0,0,159.276138,-443.619049,122.058609,6.265732,7200,0,0,1,0,0),
-- The Beast
(@GUID+152,10430,229,1,1,0,0,124.21048,-563.799438,107.4246,2.75762,7200,0,0,1,0,0),
-- Jed Runewatcher <Blackhand Legion> RARE
(@GUID+153,10509,229,1,1,0,0,165.09407,-341.9633,110.951019,1.588817,7200,0,0,1,0,0),
-- General Drakkisath
(@GUID+154,10363,229,1,1,0,0,36.4508629,-285.993561,111.036224,3.14159274,7200,0,0,1,0,0),
-- Blackhand Assassin <Blackhand Legion>
(@GUID+155,10318,229,1,1,0,0,117.948341,-569.3336,107.13662,5.98647928,7200,0,0,1,0,0),
(@GUID+156,10318,229,1,1,0,0,18.2123585,-471.40033,111.030594,6.17846537,7200,0,0,1,0,0),
(@GUID+157,10318,229,1,1,0,0,23.50665,-470.537872,111.03933,3.56047153,7200,0,0,1,0,0),
(@GUID+158,10318,229,1,1,0,0,31.8534851,-490.6625,111.036209,4.32841635,7200,0,0,1,0,0),
(@GUID+159,10318,229,1,1,0,0,38.164032,-385.480133,110.797859,4.18879032,7200,0,0,1,0,0),
(@GUID+160,10318,229,1,1,0,0,40.42038,-453.613342,111.024033,1.34390354,7200,0,0,1,0,0),
(@GUID+161,10318,229,1,1,0,0,-6.880112,-252.370468,111.026764,5.42797375,7200,0,0,1,0,0),
(@GUID+162,10318,229,1,1,0,0,71.493454,-474.6056,115.778786,6.27848864,7200,0,0,1,0,0),
(@GUID+163,10318,229,1,1,0,0,99.72865,-479.4235,116.925743,2.75762,7200,0,0,1,0,0),
-- Blackhand Iron Guard <Blackhand Legion>
(@GUID+164,10319,229,1,1,0,0,10.1526937,-457.006958,111.020668,4.502949,7200,0,0,1,0,0),
(@GUID+165,10319,229,1,1,0,0,11.7395382,-460.466461,111.021942,2.80998015,7200,0,0,1,0,0),
(@GUID+166,10319,229,1,1,0,0,124.05793,-470.958618,116.925743,3.85717773,7200,0,0,1,0,0),
(@GUID+167,10319,229,1,1,0,0,124.094147,-478.257874,116.925743,2.37364769,7200,0,0,1,0,0),
(@GUID+168,10319,229,1,1,0,0,-13.7761574,-274.925873,111.026764,5.899213,7200,0,0,1,0,0),
(@GUID+169,10319,229,1,1,0,0,137.4377,-458.1639,121.873993,1.61019349,7200,0,0,1,0,0),
(@GUID+170,10319,229,1,1,0,0,172.060364,-470.11795,116.907768,3.38593864,7200,0,0,1,0,0),
(@GUID+171,10319,229,1,1,0,0,172.2113,-479.1257,116.922729,2.77507353,7200,0,0,1,0,0),
(@GUID+172,10319,229,1,1,0,0,25.9503689,-431.148,111.036423,3.455752,7200,0,0,1,0,0),
(@GUID+173,10319,229,1,1,0,0,27.20901,-487.106232,110.948944,5.92132044,7200,0,0,1,0,0),
(@GUID+174,10319,229,1,1,0,0,30.4782486,-381.1838,110.765739,4.97418833,7200,0,0,1,0,0),
(@GUID+175,10319,229,1,1,0,0,32.98562,-441.197968,110.947975,4.68552542,7200,0,0,1,0,0),
(@GUID+177,10319,229,1,1,0,0,40.66904,-330.527466,111.026779,4.62512255,7200,0,0,1,0,0),
(@GUID+178,10319,229,1,1,0,0,42.51416,-431.718781,111.029396,5.934119,7200,0,0,1,0,0),
(@GUID+179,10319,229,1,1,0,0,-8.141677,-341.8935,111.026779,0.7679449,7200,0,0,1,0,0),
(@GUID+180,10319,229,1,1,0,0,-9.265498,-265.802856,111.026764,5.67232,7200,0,0,1,0,0),
-- Scarshield Acolyte <Scarshield Legion>
(@GUID+181,9045,229,1,1,0,0,107.023872,-306.314117,54.00366,4.22369671,7200,0,0,1,0,0),
(@GUID+182,9045,229,1,1,0,0,107.412292,-329.5834,54.003273,5.20108128,7200,0,0,1,0,0),
(@GUID+183,9045,229,1,1,0,0,14.1215773,-259.2284,65.43308,2.3561945,7200,0,0,1,0,0),
(@GUID+184,9045,229,1,1,0,0,18.0154171,-276.733521,65.375824,1.0306716,7200,4,0,1,0,1),
(@GUID+185,9045,229,1,1,0,0,46.5601959,-453.7283,26.3562088,2.40855432,7200,0,0,1,0,0),
(@GUID+186,9045,229,1,1,0,0,48.0624542,-257.406921,65.45917,0.418879032,7200,0,0,1,0,0),
(@GUID+187,9045,229,1,1,0,0,5.471476,-520.6829,29.48178,3.4382987,7200,0,0,1,0,0),
(@GUID+188,9045,229,1,1,0,0,52.8444061,-312.8106,54.00366,0.575958669,7200,0,0,1,0,0),
(@GUID+189,9045,229,1,1,0,0,69.2313843,-439.3284,41.19126,3.159046,7200,0,0,1,0,0),
(@GUID+190,9045,229,1,1,0,0,75.6738052,-319.729126,55.8668,1.71042264,7200,5,0,1,0,1),
(@GUID+191,9045,229,1,1,0,0,79.86551,-353.9204,60.78536,0.87266463,7200,4,0,1,0,1),
-- Scarshield Legionnaire <Scarshield Legion>
(@GUID+192,9097,229,1,1,0,0,-1.888463,-585.6428,29.2742,2.49582076,7200,0,0,1,0,0),
(@GUID+193,9097,229,1,1,0,0,102.429573,-314.697754,54.00119,1.06465089,7200,0,0,1,0,0),
(@GUID+194,9097,229,1,1,0,0,107.2788,-324.246582,54.00367,3.50811172,7200,0,0,1,0,0),
(@GUID+195,9097,229,1,1,0,0,107.6331,-311.3865,54.00366,2.67035365,7200,0,0,1,0,0),
(@GUID+196,9097,229,1,1,0,0,12.8929729,-329.7429,48.8472366,3.159046,7200,0,0,1,0,0),
(@GUID+197,9097,229,1,1,0,0,12.9406261,-279.607941,65.45197,5.969026,7200,5,0,1,0,1),
(@GUID+198,9097,229,1,1,0,0,18.7627659,-284.2841,65.45917,2.12930179,7200,5,0,1,0,1),
(@GUID+199,9097,229,1,1,0,0,-2.931882,-524.657837,29.27372,0.5934119,7200,0,0,1,0,0),
(@GUID+200,9097,229,1,1,0,0,-28.38935,-563.0387,29.2742,2.86234,7200,0,0,1,0,0),
(@GUID+201,9097,229,1,1,0,0,30.9195728,-399.682678,48.7868233,3.00196624,7200,0,0,1,0,0),
(@GUID+202,9097,229,1,1,0,0,-31.5340881,-564.217163,29.2742,1.16937053,7200,0,0,1,0,0),
(@GUID+203,9097,229,1,1,0,0,-34.0393829,-585.6407,29.2742,6.19591856,7200,0,0,1,0,0),
(@GUID+204,9097,229,1,1,0,0,-37.9832726,-585.003052,29.2742,1.50098312,7200,0,0,1,0,0),
(@GUID+205,9097,229,1,1,0,0,43.5522041,-274.521637,65.45917,6.108652,7200,4,0,1,0,1),
(@GUID+206,9097,229,1,1,0,0,45.7239571,-449.172668,27.6064148,3.700098,7200,0,0,1,0,0),
(@GUID+207,9097,229,1,1,0,0,45.8465,-279.354,65.3547,1.03702569,7200,4,0,1,0,1),
(@GUID+208,9097,229,1,1,0,0,51.89088,-287.3514,65.45917,3.03687286,7200,0,0,1,0,0),
(@GUID+209,9097,229,1,1,0,0,54.68561,-325.345245,54.00365,1.39626336,7200,0,0,1,0,0),
(@GUID+210,9097,229,1,1,0,0,55.91653,-459.1569,24.6387119,4.74729538,7200,0,0,1,0,0),
(@GUID+211,9097,229,1,1,0,0,57.3262329,-569.6453,30.678772,0.191986218,7200,0,0,1,0,0),
(@GUID+212,9097,229,1,1,0,0,57.5051956,-314.922241,54.0019226,2.268928,7200,0,0,1,0,0),
(@GUID+213,9097,229,1,1,0,0,57.8382835,-310.131531,54.00148,3.577925,7200,0,0,1,0,0),
(@GUID+214,9097,229,1,1,0,0,59.3199,-507.905,29.2652359,6.05629253,7200,0,0,1,0,0),
(@GUID+215,9097,229,1,1,0,0,6.909,-271.977539,65.41073,0.209439516,7200,0,0,1,0,0),
(@GUID+216,9097,229,1,1,0,0,61.8540535,-560.6797,30.6882877,3.49065852,7200,0,0,1,0,0),
(@GUID+217,9097,229,1,1,0,0,63.39378,-505.4025,29.2684975,4.57276249,7200,0,0,1,0,0),
(@GUID+218,9097,229,1,1,0,0,66.23844,-274.531647,60.73464,6.23082542,7200,0,0,1,0,0),
(@GUID+219,9097,229,1,1,0,0,66.43544,-435.9842,42.10328,4.32841635,7200,0,0,1,0,0),
(@GUID+220,9097,229,1,1,0,0,69.6397,-278.3183,60.67765,0.296705961,7200,0,0,1,0,0),
(@GUID+221,9097,229,1,1,0,0,-7.64752,-586.2085,29.2742,0.9250245,7200,0,0,1,0,0),
(@GUID+222,9097,229,1,1,0,0,71.6458054,-586.649231,30.686348,6.265732,7200,0,0,1,0,0),
(@GUID+223,9097,229,1,1,0,0,79.0274353,-287.054626,60.77396,1.98967528,7200,5,0,1,0,1),
(@GUID+224,9097,229,1,1,0,0,8.43384,-253.37677,65.4404,5.46288061,7200,0,0,1,0,0),
(@GUID+225,9097,229,1,1,0,0,82.27611,-580.576843,30.6900673,4.118977,7200,0,0,1,0,0),
(@GUID+226,9097,229,1,1,0,0,82.37819,-315.5727,55.78426,2.65947676,7200,5,0,1,0,1),
(@GUID+227,9097,229,1,1,0,0,85.21238,-357.96698,60.78536,6.05629253,7200,4,0,1,0,1),
(@GUID+228,9097,229,1,1,0,0,86.74077,-283.049225,60.610733,2.49932933,7200,0,0,1,0,0),
(@GUID+229,9097,229,1,1,0,0,87.000885,-316.9617,65.48379,3.38828468,7200,0,0,1,0,0),
(@GUID+230,9097,229,1,1,0,0,87.48928,-318.901154,65.49227,3.38828754,7200,0,0,1,0,0),
(@GUID+231,9097,229,1,1,0,0,9.058154,-257.7314,65.41364,0.6981317,7200,0,0,1,0,0),
(@GUID+232,9097,229,1,1,0,0,9.251252,-332.5572,48.7950478,1.23918378,7200,0,0,1,0,0),
(@GUID+233,9097,229,1,1,0,0,90.2249146,-280.722229,60.6818237,4.834562,7200,0,0,1,0,0),
(@GUID+234,9097,229,1,1,0,0,91.53687,-361.906,60.7020264,1.54308629,7200,4,0,1,0,1),
(@GUID+235,9097,229,1,1,0,0,94.65439,-275.0468,60.7526,3.14159274,7200,0,0,1,0,0),
(@GUID+236,9097,229,1,1,0,0,-52.07244,-586.2182,29.2742,2.96705961,7200,0,0,1,0,0),
(@GUID+237,9097,229,1,1,0,0,-55.7421837,-581.55426,29.2742,4.24115,7200,0,0,1,0,0),
(@GUID+238,9097,229,1,1,0,0,-63.33937,-572.386353,29.2742,0.122173049,7200,0,0,1,0,0),
(@GUID+239,9097,229,1,1,0,0,-67.22875,-535.405151,29.2742,3.874631,7200,0,0,1,0,0),
(@GUID+240,9097,229,1,1,0,0,-70.01909,-575.8177,29.2742,1.16937053,7200,0,0,1,0,0),
-- Scarshield Spellbinder <Scarshield Legion>
(@GUID+241,9098,229,1,1,0,0,-1.331627,-519.548645,29.3309135,5.42797375,7200,0,0,1,0,0),
(@GUID+242,9098,229,1,1,0,0,102.172279,-308.9317,54.0021477,5.916666,7200,0,0,1,0,0),
(@GUID+243,9098,229,1,1,0,0,105.506432,-332.577332,54.0027466,6.23082542,7200,0,0,1,0,0),
(@GUID+244,9098,229,1,1,0,0,14.2493792,-254.139786,65.4354858,3.68264461,7200,0,0,1,0,0),
(@GUID+245,9098,229,1,1,0,0,-2.807793,-580.5389,29.2742,3.94444418,7200,0,0,1,0,0),
(@GUID+246,9098,229,1,1,0,0,29.0991611,-396.495331,48.80111,4.537856,7200,0,0,1,0,0),
(@GUID+247,9098,229,1,1,0,0,-31.529623,-559.1773,29.2742,5.480334,7200,0,0,1,0,0),
(@GUID+248,9098,229,1,1,0,0,40.8953743,-448.450134,27.932621,5.497787,7200,0,0,1,0,0),
(@GUID+249,9098,229,1,1,0,0,47.6854668,-270.914276,65.3638,6.241553,7200,4,0,1,0,1),
(@GUID+250,9098,229,1,1,0,0,52.1842651,-307.34,54.0018921,5.253441,7200,0,0,1,0,0),
(@GUID+251,9098,229,1,1,0,0,52.41355,-255.366913,65.45917,3.63028479,7200,0,0,1,0,0),
(@GUID+252,9098,229,1,1,0,0,54.9745064,-327.755585,54.00365,1.41371667,7200,0,0,1,0,0),
(@GUID+253,9098,229,1,1,0,0,55.53388,-464.8595,24.94574,1.4486233,7200,0,0,1,0,0),
(@GUID+254,9098,229,1,1,0,0,57.2190132,-562.799744,30.6716766,0.418879032,7200,0,0,1,0,0),
(@GUID+255,9098,229,1,1,0,0,65.42762,-510.3604,29.3167419,2.565634,7200,0,0,1,0,0),
(@GUID+256,9098,229,1,1,0,0,67.43828,-443.5344,40.726696,2.09439516,7200,0,0,1,0,0),
(@GUID+257,9098,229,1,1,0,0,8.843101,-326.523132,48.8573074,5.113815,7200,0,0,1,0,0),
(@GUID+258,9098,229,1,1,0,0,80.25544,-584.6707,30.6894226,1.2566371,7200,0,0,1,0,0),
(@GUID+259,9098,229,1,1,0,0,81.61091,-325.340729,55.8671455,1.79768908,7200,6,0,1,0,1),
(@GUID+260,9098,229,1,1,0,0,90.11126,-354.347534,60.78536,4.485496,7200,4,0,1,0,1),
-- Scarshield Worg <Scarshield Legion>
(@GUID+261,9416,229,1,1,0,0,15.70567,-319.694763,48.9296379,4.81710863,7200,0,0,1,0,0),
(@GUID+262,9416,229,1,1,0,0,21.6263542,-319.307526,48.921833,4.59021568,7200,0,0,1,0,0),
(@GUID+263,9416,229,1,1,0,0,39.9757576,-401.308,48.73395,1.37881,7200,0,0,1,0,0),
(@GUID+264,9416,229,1,1,0,0,-43.9925423,-560.761658,29.2742,5.77704,7200,0,0,1,0,0),
(@GUID+265,9416,229,1,1,0,0,44.2465363,-401.749878,48.8481827,1.41371667,7200,0,0,1,0,0),
(@GUID+266,9416,229,1,1,0,0,-44.5054626,-555.940247,29.2742,5.44542742,7200,0,0,1,0,0),
(@GUID+267,9416,229,1,1,0,0,45.85862,-503.317871,29.2189922,0.628318548,7200,0,0,1,0,0),
(@GUID+268,9416,229,1,1,0,0,48.7350845,-507.5874,29.2278786,0.802851439,7200,0,0,1,0,0),
(@GUID+269,9416,229,1,1,0,0,54.7811,-477.6601,26.7370472,2.51327419,7200,0,0,1,0,0),
(@GUID+270,9416,229,1,1,0,0,57.44511,-472.058868,25.8572731,2.740167,7200,0,0,1,0,0),
(@GUID+271,9416,229,1,1,0,0,-62.07272,-550.186646,29.2742,0.9075712,7200,0,0,1,0,0),
(@GUID+273,9416,229,1,1,0,0,-65.6472,-544.931946,29.2742,0.575958669,7200,0,0,1,0,0),
-- Scarshield Raider <Scarshield Legion>
(@GUID+274,9258,229,1,1,0,0,18.6335163,-319.563538,48.92536,4.694936,7200,0,0,1,0,0),
(@GUID+275,9258,229,1,1,0,0,42.2404366,-400.899567,48.78902,1.39626336,7200,0,0,1,0,0),
(@GUID+276,9258,229,1,1,0,0,-43.1253738,-558.9627,29.2742,5.61996031,7200,0,0,1,0,0),
(@GUID+277,9258,229,1,1,0,0,48.0036926,-504.871857,29.22562,0.715585,7200,0,0,1,0,0),
(@GUID+278,9258,229,1,1,0,0,55.2906952,-474.477264,26.0807571,2.61799383,7200,0,0,1,0,0),
(@GUID+279,9258,229,1,1,0,0,-62.76482,-546.4872,29.2742,0.75049156,7200,0,0,1,0,0),
-- Scarshield Warlock <Scarshield Legion>
(@GUID+280,9257,229,1,1,0,0,26.0838318,-398.5821,48.8247757,6.07374573,7200,0,0,1,0,0),
(@GUID+281,9257,229,1,1,0,0,3.1376,-524.950745,29.456665,2.23402143,7200,0,0,1,0,0),
(@GUID+282,9257,229,1,1,0,0,41.2527657,-453.779816,26.4869156,1.012291,7200,0,0,1,0,0),
(@GUID+283,9257,229,1,1,0,0,60.2924347,-460.7934,24.84539,3.2986722,7200,0,0,1,0,0),
(@GUID+284,9257,229,1,1,0,0,62.5478935,-437.094635,42.1535568,5.532694,7200,0,0,1,0,0),
(@GUID+285,9257,229,1,1,0,0,62.9071541,-569.002136,30.6996365,3.106686,7200,0,0,1,0,0),
(@GUID+286,9257,229,1,1,0,0,75.31803,-587.21405,30.68769,2.86234,7200,0,0,1,0,0),
(@GUID+287,9257,229,1,1,0,0,-8.240628,-580.9951,29.2742,5.67232,7200,0,0,1,0,0),
(@GUID+288,9257,229,1,1,0,0,-56.70842,-586.1366,29.2742,1.2915436,7200,0,0,1,0,0);
-- Add sitting to some Scarshield Legionnaires
DELETE FROM `creature_addon` WHERE `guid` IN (209318,209333,209315,209337,209308,209312,209331,209320,209335);
INSERT INTO `creature_addon` (`guid`,`bytes1`,`bytes2`) VALUES
(209318,1,1),(209333,1,1),(209315,1,1),(209337,1,1),(209308,1,1),(209312,1,1),(209331,1,1),(209320,1,1),(209335,1,1);
-- Pathing for Blackhand Dreadweaver Entry: 9817
SET @NPC := @GUID+116;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=156.027,`position_y`=-256.98,`position_z`=110.873 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`) VALUES (@NPC,@PATH,1,0);
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,156.655,-261.057,110.911,0,0,0,100,0),
(@PATH,2,156.697,-270.709,110.945,0,0,0,100,0),
(@PATH,3,157.437,-283.381,110.653,0,0,0,100,0),
(@PATH,4,156.721,-302.091,110.655,0,0,0,100,0),
(@PATH,5,155.393,-316.954,110.658,0,0,0,100,0),
(@PATH,6,145.795,-316.889,110.658,0,0,0,100,0),
(@PATH,7,138.546,-312.556,110.971,0,0,0,100,0),
(@PATH,8,128.11,-312.561,110.948,0,0,0,100,0),
(@PATH,9,113.444,-312.323,106.436,0,0,0,100,0),
(@PATH,10,107.291,-311.159,106.436,0,0,0,100,0),
(@PATH,11,107.143,-305.034,106.436,0,0,0,100,0),
(@PATH,12,107.968,-294.352,106.436,0,0,0,100,0),
(@PATH,13,108.13,-273.961,106.436,0,0,0,100,0),
(@PATH,14,108.325,-262.696,106.436,0,0,0,100,0),
(@PATH,15,113.576,-260.461,106.436,0,0,0,100,0),
(@PATH,16,119.512,-259.629,108.912,0,0,0,100,0),
(@PATH,17,126.887,-258.807,110.95,0,0,0,100,0),
(@PATH,18,134.264,-256.577,110.872,0,0,0,100,0),
(@PATH,19,142.107,-253.858,110.808,0,0,0,100,0),
(@PATH,20,149.232,-254.785,110.835,0,0,0,100,0),
(@PATH,21,156.027,-256.98,110.873,0,0,0,100,0);
-- Pathing for Rage Talon Dragonspawn Entry: 9096
SET @NPC := @GUID+13;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=141.415,`position_y`=-328.32,`position_z`=70.9563 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`) VALUES (@NPC,@PATH,1,0);
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,137.036,-318.309,70.9563,0,0,0,100,0),
(@PATH,2,139.625,-311.595,70.9563,0,0,0,100,0),
(@PATH,3,145.022,-306.612,70.9563,0,0,0,100,0),
(@PATH,4,155.634,-307.226,70.9563,0,0,0,100,0),
(@PATH,5,165.665,-309.29,70.9563,0,0,0,100,0),
(@PATH,6,179.918,-308.349,75.0044,0,0,0,100,0),
(@PATH,7,186.484,-307.375,76.8804,0,0,0,100,0),
(@PATH,8,190.417,-303.615,76.8863,0,0,0,100,0),
(@PATH,9,190,-295.833,76.9324,0,0,0,100,0),
(@PATH,10,192.748,-284.944,76.9366,0,0,0,100,0),
(@PATH,11,197.221,-281.635,76.9372,0,0,0,100,0),
(@PATH,12,205.403,-280.035,76.9363,0,0,0,100,0),
(@PATH,13,206.769,-288.047,76.9327,0,0,0,100,0),
(@PATH,14,206.049,-300.881,76.9044,0,0,0,100,0),
(@PATH,15,203.805,-308.685,76.8987,0,0,0,100,0),
(@PATH,16,200.091,-314.903,76.892,0,0,0,100,0),
(@PATH,17,196.037,-321.532,76.8849,0,0,0,100,0),
(@PATH,18,187.264,-325.25,76.8738,0,0,0,100,0),
(@PATH,19,172.508,-330.708,71.6636,0,0,0,100,0),
(@PATH,20,157.819,-330.472,70.9563,0,0,0,100,0),
(@PATH,21,151.347,-332.406,70.9563,0,0,0,100,0),
(@PATH,22,141.415,-328.32,70.9563,0,0,0,100,0);
-- Pathing for Rage Talon Dragonspawn Entry: 9096
SET @NPC := @GUID+3;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=102.111,`position_y`=-255.036,`position_z`=106.436 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`) VALUES (@NPC,@PATH,1,0);
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,102.492,-284.08,106.436,0,0,0,100,0),
(@PATH,2,103.388,-312.501,106.436,0,0,0,100,0),
(@PATH,3,102.492,-284.08,106.436,0,0,0,100,0),
(@PATH,4,102.111,-255.036,106.436,0,0,0,100,0);
-- Pathing for Rage Talon Flamescale Entry: 10083
SET @NPC := @GUID+25;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=151.43,`position_y`=-299.848,`position_z`=110.655 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`) VALUES (@NPC,@PATH,1,0);
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,151.483,-266.668,110.941,0,0,0,100,0),
(@PATH,2,151.43,-299.848,110.655,0,0,0,100,0),
(@PATH,3,151.826,-337.478,110.948,0,0,0,100,0),
(@PATH,4,151.43,-299.848,110.655,0,0,0,100,0);
-- Pathing for Rage Talon Flamescale Entry: 10083
SET @NPC := @GUID+26;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=159.69,`position_y`=-366.065,`position_z`=116.844 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`) VALUES (@NPC,@PATH,1,0);
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,164.673,-366.137,116.844,0,0,0,100,0),
(@PATH,2,159.69,-366.065,116.844,0,0,0,100,0),
(@PATH,3,134.314,-365.853,116.844,0,0,0,100,0),
(@PATH,4,113.681,-366.227,116.844,0,0,0,100,0),
(@PATH,5,134.314,-365.853,116.844,0,0,0,100,0),
(@PATH,6,159.69,-366.065,116.844,0,0,0,100,0);
-- Pathing for Blackhand Veteran Entry: 9819
SET @NPC := @GUID+77;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=151.986,`position_y`=-343.381,`position_z`=110.952 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`) VALUES (@NPC,@PATH,1,0);
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,156.734,-340.574,110.949,0,0,0,100,0),
(@PATH,2,161.285,-330.085,110.941,0,0,0,100,0),
(@PATH,3,164.349,-321.437,110.935,0,0,0,100,0),
(@PATH,4,164.066,-307.895,110.926,0,0,0,100,0),
(@PATH,5,161.931,-295.254,110.937,0,0,0,100,0),
(@PATH,6,161.54,-286.843,110.94,0,0,0,100,0),
(@PATH,7,161.626,-276.16,110.942,0,0,0,100,0),
(@PATH,8,162.619,-260.48,110.922,0,0,0,100,0),
(@PATH,9,160.883,-251.074,110.911,0,0,0,100,0),
(@PATH,10,153.333,-254.239,110.841,0,0,0,100,0),
(@PATH,11,147.933,-256.874,110.85,0,0,0,100,0),
(@PATH,12,144.41,-258.089,110.852,0,0,0,100,0),
(@PATH,13,142.226,-262.721,110.888,0,0,0,100,0),
(@PATH,14,139.325,-272.981,110.928,0,0,0,100,0),
(@PATH,15,139.064,-292.411,110.964,0,0,0,100,0),
(@PATH,16,138.366,-304.562,110.976,0,0,0,100,0),
(@PATH,17,140.202,-318.19,110.956,0,0,0,100,0),
(@PATH,18,141.56,-328.348,110.948,0,0,0,100,0),
(@PATH,19,145.867,-339.175,110.95,0,0,0,100,0),
(@PATH,20,151.986,-343.381,110.952,0,0,0,100,0);
-- Pathing for Blackhand Veteran Entry: 9819
SET @NPC := @GUID+68;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=137.681,`position_y`=-374.135,`position_z`=116.807 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`) VALUES (@NPC,@PATH,1,0);
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,137.932,-365.946,116.844,0,0,0,100,0),
(@PATH,2,119.13,-366.058,116.848,0,0,0,100,0),
(@PATH,3,137.932,-365.946,116.844,0,0,0,100,0),
(@PATH,4,137.681,-374.135,116.807,0,0,0,100,0),
(@PATH,5,138.003,-383.829,121.975,0,0,0,100,0),
(@PATH,6,137.621,-374.032,116.807,0,0,0,100,0),
(@PATH,7,137.28,-358.897,116.838,0,0,0,100,0),
(@PATH,8,138.01,-349.646,111.285,0,0,0,100,0),
(@PATH,9,138.504,-339.926,110.965,0,0,0,100,0),
(@PATH,10,138.055,-349.128,110.97,0,0,0,100,0),
(@PATH,11,137.272,-358.828,116.838,0,0,0,100,0),
(@PATH,12,137.975,-366.027,116.844,0,0,0,100,0),
(@PATH,13,151.988,-365.319,116.844,0,0,0,100,0),
(@PATH,14,168.97,-365.253,116.844,0,0,0,100,0),
(@PATH,15,151.988,-365.319,116.844,0,0,0,100,0),
(@PATH,16,137.975,-366.027,116.844,0,0,0,100,0),
(@PATH,17,137.263,-358.934,116.838,0,0,0,100,0),
(@PATH,18,138.048,-349.209,110.971,0,0,0,100,0),
(@PATH,19,138.504,-339.926,110.965,0,0,0,100,0),
(@PATH,20,138.01,-349.646,111.285,0,0,0,100,0),
(@PATH,21,137.286,-358.828,116.838,0,0,0,100,0),
(@PATH,22,137.621,-374.032,116.807,0,0,0,100,0),
(@PATH,23,138.003,-383.829,121.975,0,0,0,100,0),
(@PATH,24,137.681,-374.135,116.807,0,0,0,100,0);
-- Pathing for Rage Talon Dragon Guard Entry: 10366
SET @NPC := @GUID+32;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=137.109,`position_y`=-474.652,`position_z`=116.842 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`) VALUES (@NPC,@PATH,1,0);
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,150.917,-475.661,116.826,0,0,0,100,0),
(@PATH,2,165.273,-475.48,116.842,0,0,0,100,0),
(@PATH,3,150.917,-475.661,116.826,0,0,0,100,0),
(@PATH,4,137.109,-474.652,116.842,0,0,0,100,0),
(@PATH,5,120.161,-474.673,116.842,0,0,0,100,0),
(@PATH,6,106.258,-474.643,116.842,0,0,0,100,0),
(@PATH,7,94.7496,-473.079,116.842,0,0,0,100,0),
(@PATH,8,83.6851,-474.242,116.842,0,0,0,100,0),
(@PATH,9,77.1173,-474.496,116.842,0,0,0,100,0),
(@PATH,10,65.0976,-474.578,113.951,0,0,0,100,0),
(@PATH,11,51.9036,-474.688,110.923,0,0,0,100,0),
(@PATH,12,64.8587,-474.58,113.951,0,0,0,100,0),
(@PATH,13,77.1173,-474.496,116.842,0,0,0,100,0),
(@PATH,14,83.4094,-474.271,116.842,0,0,0,100,0),
(@PATH,15,94.7496,-473.079,116.842,0,0,0,100,0),
(@PATH,16,106.258,-474.643,116.842,0,0,0,100,0),
(@PATH,17,120.161,-474.673,116.842,0,0,0,100,0),
(@PATH,18,137.109,-474.652,116.842,0,0,0,100,0);
-- Pathing for Jed Runewatcher Entry: 10509 "RARE"
SET @NPC := @GUID+153;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=165.094,`position_y`=-341.963,`position_z`=110.951 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`) VALUES (@NPC,@PATH,1,0);
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,143.081,-332.039,110.946,0,0,0,100,0),
(@PATH,2,137.568,-346.437,110.972,0,0,0,100,0),
(@PATH,3,137.582,-349.249,110.999,0,0,0,100,0),
(@PATH,4,137.404,-357.640,116.838,0,0,0,100,0),
(@PATH,5,137.005,-366.262,116.844,0,0,0,100,0),
(@PATH,6,137.173,-374.983,116.807,0,0,0,100,0),
(@PATH,7,137.252,-383.108,121.975,0,0,0,100,0),
(@PATH,8,137.299,-392.334,121.975,0,0,0,100,0),
(@PATH,9,151.393,-392.988,121.975,0,0,0,100,0),
(@PATH,10,165.537,-392.823,121.975,0,0,0,100,0),
(@PATH,11,165.440,-383.058,121.975,0,0,0,100,0),
(@PATH,12,165.651,-374.907,116.807,0,0,0,100,0),
(@PATH,13,165.556,-367.59,116.845,0,0,0,100,0),
(@PATH,14,165.415,-357.528,116.837,0,0,0,100,0),
(@PATH,15,165.545,-348.847,110.969,0,0,0,100,0),
(@PATH,16,165.094,-341.963,110.951,0,0,0,100,0),
(@PATH,17,160.784,-330.969,110.941,0,0,0,100,0),
(@PATH,18,160.191,-309.153,110.656,0,0,0,100,0),
(@PATH,19,160.079,-280.562,110.652,0,0,0,100,0),
(@PATH,20,144.032,-280.615,110.653,0,0,0,100,0),
(@PATH,21,142.987,-312.006,110.658,0,0,0,100,0);
-- Pathing for Blackhand Assassin Entry: 10318
SET @NPC := @GUID+173;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=70.90186,`position_y`=-474.6028,`position_z`=115.4964 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '22766');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,83.54216,-474.6622,116.8424,0,0,0,100,0),
(@PATH,2,93.11698,-476.8058,116.8424,0,0,0,100,0),
(@PATH,3,93.16169,-492.36,116.8424,0,0,0,100,0),
(@PATH,4,93.11698,-476.8058,116.8424,0,0,0,100,0),
(@PATH,5,83.68505,-474.6942,116.8424,0,0,0,100,0),
(@PATH,6,70.90186,-474.6028,115.4964,0,0,0,100,0),
(@PATH,7,60.60706,-474.3578,112.1393,0,0,0,100,0),
(@PATH,8,45.0526,-476.1751,110.926,0,0,0,100,0),
(@PATH,9,36.50502,-483.8639,110.9392,0,0,0,100,0),
(@PATH,10,24.51036,-485.5788,110.9466,0,0,0,100,0),
(@PATH,11,12.32181,-481.5825,110.9355,0,0,0,100,0),
(@PATH,12,10.06764,-472.9978,110.9354,0,0,0,100,0),
(@PATH,13,17.3661,-456.8065,110.9467,0,0,0,100,0),
(@PATH,14,29.56967,-454.026,110.9595,0,0,0,100,0),
(@PATH,15,35.45218,-454.5979,110.943,0,0,0,100,0),
(@PATH,16,34.74645,-442.8175,110.945,0,0,0,100,0),
(@PATH,17,33.50422,-417.918,110.7123,0,0,0,100,0),
(@PATH,18,34.74645,-442.8175,110.945,0,0,0,100,0),
(@PATH,19,35.45218,-454.5979,110.943,0,0,0,100,0),
(@PATH,20,29.56967,-454.026,110.9595,0,0,0,100,0),
(@PATH,21,17.3661,-456.8065,110.9467,0,0,0,100,0),
(@PATH,22,10.06764,-472.9978,110.9354,0,0,0,100,0),
(@PATH,23,12.32181,-481.5825,110.9355,0,0,0,100,0),
(@PATH,24,24.51036,-485.5788,110.9466,0,0,0,100,0),
(@PATH,25,36.50502,-483.8639,110.9392,0,0,0,100,0),
(@PATH,26,45.0526,-476.1751,110.926,0,0,0,100,0),
(@PATH,27,60.60706,-474.3578,112.1393,0,0,0,100,0),
(@PATH,28,70.90186,-474.6028,115.4964,0,0,0,100,0);
-- 0xF13000284E0957D1 .go 83.54216 -474.6622 116.8424
-- Pathing for Blackhand Assassin Entry: 10318
SET @NPC := @GUID+155;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=117.2911,`position_y`=-562.6133,`position_z`=107.403 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,117.5151,-567.9547,107.125,0,0,0,100,0),
(@PATH,2,117.2911,-562.6133,107.403,0,0,0,100,0),
(@PATH,3,112.9668,-557.6212,107.6628,0,0,0,100,0),
(@PATH,4,105.0914,-557.2451,107.6823,0,0,0,100,0),
(@PATH,5,96.04835,-553.9485,110.5781,0,0,0,100,0),
(@PATH,6,87.70401,-550.9095,110.9234,0,0,0,100,0),
(@PATH,7,79.952,-545.0425,110.9392,0,0,0,100,0),
(@PATH,8,71.74578,-539.9948,110.9404,0,0,0,100,0),
(@PATH,9,63.53278,-534.9427,110.9417,0,0,0,100,0),
(@PATH,10,71.6881,-539.9797,110.9404,0,0,0,100,0),
(@PATH,11,79.952,-545.0425,110.9392,0,0,0,100,0),
(@PATH,12,87.70401,-550.9095,110.9234,0,0,0,100,0),
(@PATH,13,96.04835,-553.9485,110.5781,0,0,0,100,0),
(@PATH,14,105.0914,-557.2451,107.6823,0,0,0,100,0),
(@PATH,15,112.9668,-557.6212,107.6628,0,0,0,100,0),
(@PATH,16,117.2911,-562.6133,107.403,0,0,0,100,0);
-- 0xF13000284E0957CB .go 117.5151 -567.9547 107.125
-- Pathing for Blackhand Iron Guard Entry: 10319
SET @NPC := @GUID+185;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=27.209,`position_y`=-487.106,`position_z`=110.949 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`) VALUES (@NPC,@PATH,1,0);
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,41.0048,-479.188,110.932,0,0,0,100,0),
(@PATH,2,40.6946,-470.055,110.934,0,0,0,100,0),
(@PATH,3,28.987,-457.701,110.958,0,0,0,100,0),
(@PATH,4,19.4282,-458.143,110.948,0,0,0,100,0),
(@PATH,5,10.9487,-465.839,110.938,0,0,0,100,0),
(@PATH,6,12.0295,-481.36,110.935,0,0,0,100,0),
(@PATH,7,27.209,-487.106,110.949,0,0,0,100,0);
-- Pathing for Blackhand Iron Guard Entry: 10319
SET @NPC := @GUID+187;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=32.9856,`position_y`=-441.198,`position_z`=110.948 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`) VALUES (@NPC,@PATH,1,0);
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,33.2388,-451.331,110.947,0,0,0,100,0),
(@PATH,2,27.8349,-467.173,110.954,0,0,0,100,0),
(@PATH,3,22.5882,-486.309,110.945,0,0,0,100,0),
(@PATH,4,21.3946,-495.946,110.941,0,0,0,100,0),
(@PATH,5,22.5882,-486.309,110.945,0,0,0,100,0),
(@PATH,6,27.8349,-467.173,110.954,0,0,0,100,0),
(@PATH,7,33.2388,-451.331,110.947,0,0,0,100,0),
(@PATH,8,32.9856,-441.198,110.948,0,0,0,100,0),
(@PATH,9,33.2187,-432.523,110.949,0,0,0,100,0),
(@PATH,10,32.9856,-441.198,110.948,0,0,0,100,0);
-- Pathing for Blackhand Iron Guard Entry: 10319
SET @NPC := @GUID+180;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=137.438,`position_y`=-458.164,`position_z`=121.874 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`) VALUES (@NPC,@PATH,1,0);
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,137.876,-449.432,121.975,0,0,0,100,0),
(@PATH,2,142.882,-447.466,121.975,0,0,0,100,0),
(@PATH,3,150.106,-447.552,121.975,0,0,0,100,0),
(@PATH,4,158.939,-447.841,121.975,0,0,0,100,0),
(@PATH,5,162.936,-450.315,121.975,0,0,0,100,0),
(@PATH,6,164.986,-455.795,121.975,0,0,0,100,0),
(@PATH,7,165.879,-465.25,116.954,0,0,0,100,0),
(@PATH,8,165.223,-470.568,116.829,0,0,0,100,0),
(@PATH,9,158.806,-470.375,116.826,0,0,0,100,0),
(@PATH,10,148.989,-470.486,116.816,0,0,0,100,0),
(@PATH,11,142.296,-471.539,116.839,0,0,0,100,0),
(@PATH,12,127.625,-473.384,116.845,0,0,0,100,0),
(@PATH,13,118.149,-473.105,116.842,0,0,0,100,0),
(@PATH,14,109.252,-473.191,116.842,0,0,0,100,0),
(@PATH,15,101.37,-473.117,116.842,0,0,0,100,0),
(@PATH,16,97.2847,-470.1,116.842,0,0,0,100,0),
(@PATH,17,93.7787,-464.77,116.842,0,0,0,100,0),
(@PATH,18,93.1996,-456.881,116.842,0,0,0,100,0),
(@PATH,19,93.0105,-447.581,113.951,0,0,0,100,0),
(@PATH,20,92.7964,-437.883,110.923,0,0,0,100,0),
(@PATH,21,92.9087,-447.432,113.951,0,0,0,100,0),
(@PATH,22,93.261,-456.932,116.842,0,0,0,100,0),
(@PATH,23,94.0509,-465.158,116.842,0,0,0,100,0),
(@PATH,24,97.3934,-470.372,116.842,0,0,0,100,0),
(@PATH,25,101.615,-473.2,116.842,0,0,0,100,0),
(@PATH,26,109.96,-473.221,116.842,0,0,0,100,0),
(@PATH,27,119.431,-472.966,116.842,0,0,0,100,0),
(@PATH,28,129.714,-473.405,116.844,0,0,0,100,0),
(@PATH,29,137.726,-471.057,116.836,0,0,0,100,0),
(@PATH,30,137.759,-466.307,116.807,0,0,0,100,0),
(@PATH,31,137.438,-458.164,121.874,0,0,0,100,0);
-- Pathing for Goraluk Anvilcrack Entry: 10899
SET @NPC := @GUID+39;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=145.1794,`position_y`=-242.7074,`position_z`=110.8712 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,140.8718,-243.5903,110.8264,0,0,0,100,0),
(@PATH,2,140.0336,-244.9933,110.8045,7000,0,@PATH+1,100,0),
(@PATH,3,140.0312,-247.3475,110.7735,0,0,0,100,0),
(@PATH,4,142.0183,-248.9341,110.7787,0,0,0,100,0),
(@PATH,5,144.8816,-250.2995,110.7876,0,0,0,100,0),
(@PATH,6,148.9328,-246.4266,110.8622,0,0,0,100,0),
(@PATH,7,152.1183,-245.3219,110.9002,0,0,0,100,0),
(@PATH,8,159.5392,-248.6294,110.9232,48000,0,@PATH+2,100,0),
(@PATH,9,155.1528,-243.6318,110.9261,0,0,0,100,0),
(@PATH,10,148.9452,-243.1658,110.8972,0,0,0,100,0),
(@PATH,11,147.2209,-242.0178,110.8953,70000,0,@PATH+3,100,0),
(@PATH,12,144.9547,-246.9615,110.8239,0,0,0,100,0),
(@PATH,13,147.9653,-244.2648,110.8774,0,0,0,100,0),
(@PATH,14,149.6411,-243.5608,110.8987,0,0,0,100,0),
(@PATH,15,147.806,-248.5052,110.8308,0,0,0,100,0),
(@PATH,16,148.3326,-245.9803,110.8621,0,0,0,100,0),
(@PATH,17,152.27,-246.4282,110.8896,0,0,0,100,0),
(@PATH,18,147.7813,-243.522,110.8838,0,0,0,100,0),
(@PATH,19,148.1721,-245.3295,110.8677,0,0,0,100,0),
(@PATH,20,149.0415,-247.1999,110.8549,0,0,0,100,0),
(@PATH,21,150.1232,-244.7369,110.8901,0,0,0,100,0),
(@PATH,22,145.1794,-242.7074,110.8712,0,0,0,100,0);
DELETE FROM `waypoint_scripts` WHERE `id` IN (@PATH+1,@PATH+2,@PATH+3);
INSERT INTO `waypoint_scripts` (`id`,`delay`,`command`,`datalong`,`datalong2`,`o`,`guid`) VALUES
(@PATH+1,0,30,0,0,5.759586,89),
(@PATH+1,3,1,69,1,0,90),
(@PATH+2,0,30,0,0,0.715585,91),
(@PATH+2,4,1,133,1,0,92),
(@PATH+2,39,1,0,1,0,93),
(@PATH+3,0,30,0,0,1.801312,94),
(@PATH+3,1,1,28,1,0,95),
(@PATH+3,22,1,0,1,0,96);
-- Pathing for Rage Talon Captain Entry: 10371
SET @NPC := @GUID+42;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=17.7263,`position_y`=-263.467,`position_z`=110.943 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`) VALUES (@NPC,@PATH,1,0);
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,0.073367,-274.516,110.929,0,0,0,100,0),
(@PATH,2,-0.197867,-320.715,110.939,0,0,0,100,0),
(@PATH,3,32.9907,-344.613,110.943,0,0,0,100,0),
(@PATH,4,2.70391,-335.468,110.942,0,0,0,100,0),
(@PATH,5,21.5374,-315.253,110.945,0,0,0,100,0),
(@PATH,6,21.8535,-266.793,110.943,0,0,0,100,0),
(@PATH,7,21.5374,-315.253,110.945,0,0,0,100,0),
(@PATH,8,2.70391,-335.468,110.942,0,0,0,100,0),
(@PATH,9,32.9907,-344.613,110.943,0,0,0,100,0),
(@PATH,10,-0.199047,-320.916,110.942,0,0,0,100,0),
(@PATH,11,0.073367,-274.516,110.929,0,0,0,100,0),
(@PATH,12,17.7263,-263.467,110.943,0,0,0,100,0);
-- Pathing for Blackrock Drake Entry: 8964
SET @NPC := 3343;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-7502.985,`position_y`=-1091.508,`position_z`=286.4399 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`) VALUES (@NPC,@PATH,1,0);
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,-7526.111,-1065.07,290.0508,0,0,0,100,0),
(@PATH,2,-7528.773,-1060.98,289.8008,0,0,0,100,0),
(@PATH,3,-7554.438,-1032.648,293.9675,0,0,0,100,0),
(@PATH,4,-7569.052,-1024.164,297.7729,0,0,0,100,0),
(@PATH,5,-7603.773,-1019.187,303.3568,0,0,0,100,0),
(@PATH,6,-7625.236,-1030.118,300.6064,0,0,0,100,0),
(@PATH,7,-7652.77,-1045.974,291.5509,0,0,0,100,0),
(@PATH,8,-7670.932,-1065.009,280.1344,0,0,0,100,0),
(@PATH,9,-7677.66,-1074.487,277.8844,0,0,0,100,0),
(@PATH,10,-7685.643,-1097.263,280.412,0,0,0,100,0),
(@PATH,11,-7684.969,-1144.9,293.829,0,0,0,100,0),
(@PATH,12,-7666.268,-1177.758,297.051,0,0,0,100,0),
(@PATH,13,-7643.656,-1196.774,297.273,0,0,0,100,0),
(@PATH,14,-7634.542,-1201.614,295.5235,0,0,0,100,0),
(@PATH,15,-7597.882,-1211.088,294.7454,0,0,0,100,0),
(@PATH,16,-7560.959,-1205.237,290.3565,0,0,0,100,0),
(@PATH,17,-7536.037,-1191.708,287.6343,0,0,0,100,0),
(@PATH,18,-7519.03,-1173.085,287.1065,0,0,0,100,0),
(@PATH,19,-7502.939,-1142.821,286.4399,0,0,0,100,0),
(@PATH,20,-7499.304,-1120.659,286.4399,0,0,0,100,0),
(@PATH,21,-7502.985,-1091.508,286.4399,0,0,0,100,0);
-- Pathing for Blackrock Drake Entry: 8964
SET @NPC := 3344;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-7587.611,`position_y`=-1127.057,`position_z`=299.0391 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`) VALUES (@NPC,@PATH,1,0);
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,-7595.692,-1122.375,300.0919,0,0,0,100,0),
(@PATH,2,-7602.509,-1119.911,298.7615,0,0,0,100,0),
(@PATH,3,-7623.113,-1121.951,299.8724,0,0,0,100,0),
(@PATH,4,-7624.854,-1116.178,298.9836,0,0,0,100,0),
(@PATH,5,-7623.076,-1109.361,301.2891,0,0,0,100,0),
(@PATH,6,-7621.203,-1101.338,301.6222,0,0,0,100,0),
(@PATH,7,-7617.672,-1097.37,302.9557,0,0,0,100,0),
(@PATH,8,-7612.521,-1091.614,305.2333,0,0,0,100,0),
(@PATH,9,-7603.752,-1088.397,307.15,0,0,0,100,0),
(@PATH,10,-7595.697,-1086.253,309.7056,0,0,0,100,0),
(@PATH,11,-7584.765,-1084.863,313.5945,0,0,0,100,0),
(@PATH,12,-7573.741,-1089.98,318.4,0,0,0,100,0),
(@PATH,13,-7563.752,-1095.654,321.1225,0,0,0,100,0),
(@PATH,14,-7561.293,-1111.069,323.0945,0,0,0,100,0),
(@PATH,15,-7562.622,-1134.871,324.7891,0,0,0,100,0),
(@PATH,16,-7575.259,-1146.927,321.928,0,0,0,100,0),
(@PATH,17,-7587.246,-1150.965,322.5114,0,0,0,100,0),
(@PATH,18,-7599.556,-1147.009,320.2891,0,0,0,100,0),
(@PATH,19,-7609.301,-1143.611,316.2057,0,0,0,100,0),
(@PATH,20,-7634.01,-1120.37,312.1778,0,0,0,100,0),
(@PATH,21,-7622.606,-1101.056,311.3446,0,0,0,100,0),
(@PATH,22,-7614.432,-1092.255,305.6779,0,0,0,100,0),
(@PATH,23,-7582.061,-1084.941,298.7889,0,0,0,100,0),
(@PATH,24,-7562.621,-1112.578,307.4555,0,0,0,100,0),
(@PATH,25,-7567.333,-1126.35,304.3445,0,0,0,100,0),
(@PATH,26,-7587.611,-1127.057,299.0391,0,0,0,100,0);
-- Pathing for Scarshield Legionnaire Entry: 9097
SET @NPC := @GUID+228;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=70.94958,`position_y`=-282.0711,`position_z`=60.60775 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,72.5072,-281.7826,60.62373,0,0,0,100,0),
(@PATH,2,87.12473,-283.3365,60.60862,29000,0,@PATH+1,100,0),
(@PATH,3,86.74077,-283.0492,60.61073,0,0,0,100,0),
(@PATH,4,70.94958,-282.0711,60.60775,24000,0,@PATH+2,100,0);
DELETE FROM `waypoint_scripts` WHERE `id` IN (@PATH+1,@PATH+2);
INSERT INTO `waypoint_scripts` (`id`,`delay`,`command`,`datalong`,`datalong2`,`o`,`guid`) VALUES
(@PATH+1,2,2,74,1,0,97),
(@PATH+1,2,1,7,0,0,98),
(@PATH+1,24,2,74,0,0,99),
(@PATH+2,0,30,0,0,3.892084,100),
(@PATH+2,7,1,69,1,0,101),
(@PATH+2,16,1,0,1,0,102);
-- Pathing for Scarshield Legionnaire Entry: 9097
SET @NPC := @GUID+209;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=53.45955,`position_y`=-325.36,`position_z`=53.91605 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,41.51676,-327.2762,53.74633,0,0,0,100,0),
(@PATH,2,34.57693,-329.2669,53.62961,0,0,0,100,0),
(@PATH,3,22.06219,-329.2139,48.75629,0,0,0,100,0),
(@PATH,4,18.71977,-332.48,48.72622,0,0,0,100,0),
(@PATH,5,18.61024,-346.3583,48.6756,0,0,0,100,0),
(@PATH,6,20.25173,-349.2039,48.67309,0,0,0,100,0),
(@PATH,7,35.13033,-349.1511,48.67545,0,0,0,100,0),
(@PATH,8,37.16372,-352.3886,48.67825,0,0,0,100,0),
(@PATH,9,37.26665,-364.0914,48.65669,0,0,0,100,0),
(@PATH,10,37.16372,-352.3886,48.67825,0,0,0,100,0),
(@PATH,11,35.13033,-349.1511,48.67545,0,0,0,100,0),
(@PATH,12,20.25173,-349.2039,48.67309,0,0,0,100,0),
(@PATH,13,18.61024,-346.3583,48.6756,0,0,0,100,0),
(@PATH,14,18.71977,-332.48,48.72622,0,0,0,100,0),
(@PATH,15,22.06219,-329.2139,48.75629,0,0,0,100,0),
(@PATH,16,34.57693,-329.2669,53.62961,0,0,0,100,0),
(@PATH,17,41.51676,-327.2762,53.74633,0,0,0,100,0),
(@PATH,18,53.45955,-325.36,53.91605,0,0,0,100,0);
-- Pathing for Scarshield Legionnaire Entry: 9097
SET @NPC := @GUID+229;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=81.97402,`position_y`=-288.0753,`position_z`=60.66125 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,88.13084,-288.4329,60.61533,0,0,0,100,0),
(@PATH,2,93.48189,-291.8687,60.63227,0,0,0,100,0),
(@PATH,3,95.94733,-296.9316,60.66517,0,0,0,100,0),
(@PATH,4,95.94772,-309.7263,65.39042,0,0,0,100,0),
(@PATH,5,94.99308,-314.9491,65.47927,0,0,0,100,0),
(@PATH,6,87.00089,-316.9617,65.48379,0,0,0,100,0),
(@PATH,7,71.71636,-319.5778,65.46734,0,0,0,100,0),
(@PATH,8,65.58628,-320.8983,65.45923,0,0,0,100,0),
(@PATH,9,64.69189,-327.0649,65.46348,0,0,0,100,0),
(@PATH,10,64.73603,-340.4908,60.70201,0,0,0,100,0),
(@PATH,11,66.16424,-345.6102,60.70203,0,0,0,100,0),
(@PATH,12,71.37296,-346.4238,60.70203,0,0,0,100,0),
(@PATH,13,75.15958,-346.2384,60.70203,0,0,0,100,0),
(@PATH,14,83.80564,-346.3136,60.70203,0,0,0,100,0),
(@PATH,15,91.50565,-346.1702,60.70203,0,0,0,100,0),
(@PATH,16,94.48775,-344.4582,60.70203,0,0,0,100,0),
(@PATH,17,95.49223,-340.7823,60.70203,0,0,0,100,0),
(@PATH,18,95.32813,-327.5041,65.46348,0,0,0,100,0),
(@PATH,19,94.68663,-322.0191,65.46594,0,0,0,100,0),
(@PATH,20,89.48792,-319.0262,65.4938,0,0,0,100,0),
(@PATH,21,80.78517,-319.4615,65.47144,0,0,0,100,0),
(@PATH,22,70.61723,-318.8349,65.48348,0,0,0,100,0),
(@PATH,23,65.92691,-314.6129,65.46348,0,0,0,100,0),
(@PATH,24,64.53401,-310.319,65.46348,0,0,0,100,0),
(@PATH,25,64.13761,-297.2044,60.74208,0,0,0,100,0),
(@PATH,26,67.14284,-292.4547,60.63996,0,0,0,100,0),
(@PATH,27,74.20583,-289.4101,60.64116,0,0,0,100,0),
(@PATH,28,81.97402,-288.0753,60.66125,0,0,0,100,0);
-- Pathing for Scarshield Legionnaire Entry: 9097
SET @NPC := @GUID+230;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=83.98484,`position_y`=-287.0403,`position_z`=60.643 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,89.93808,-286.1351,60.59507,0,0,0,100,0),
(@PATH,2,93.29991,-289.3597,60.59763,0,0,0,100,0),
(@PATH,3,96.0648,-291.1504,60.62643,0,0,0,100,0),
(@PATH,4,97.3805,-295.3065,60.67328,0,0,0,100,0),
(@PATH,5,97.94749,-302.046,62.42866,0,0,0,100,0),
(@PATH,6,97.94783,-313.342,65.46348,0,0,0,100,0),
(@PATH,7,96.72861,-316.5773,65.48706,0,0,0,100,0),
(@PATH,8,91.31343,-317.9382,65.49011,0,0,0,100,0),
(@PATH,9,68.48672,-322.1597,65.45495,0,0,0,100,0),
(@PATH,10,65.65896,-322.9286,65.45052,0,0,0,100,0),
(@PATH,11,66.58692,-327.4106,65.46348,0,0,0,100,0),
(@PATH,12,66.21835,-330.4742,64.56249,0,0,0,100,0),
(@PATH,13,66.71193,-333.1539,63.52972,0,0,0,100,0),
(@PATH,14,66.74886,-344.3894,60.70203,0,0,0,100,0),
(@PATH,15,94.72881,-344.1098,60.70203,0,0,0,100,0),
(@PATH,16,95.94814,-341.3136,60.70203,0,0,0,100,0),
(@PATH,17,94.90443,-337.6124,61.81128,0,0,0,100,0),
(@PATH,18,95.29044,-329.2947,65.01956,0,0,0,100,0),
(@PATH,19,93.29169,-324.5692,65.46348,0,0,0,100,0),
(@PATH,20,92.33022,-319.0261,65.49524,0,0,0,100,0),
(@PATH,21,88.11071,-320.541,65.4697,0,0,0,100,0),
(@PATH,22,77.12846,-321.647,65.46059,0,0,0,100,0),
(@PATH,23,73.90438,-321.0413,65.46191,0,0,0,100,0),
(@PATH,24,70.89841,-320.856,65.46152,0,0,0,100,0),
(@PATH,25,67.89243,-320.6708,65.46112,0,0,0,100,0),
(@PATH,26,62.8699,-314.552,65.46348,0,0,0,100,0),
(@PATH,27,62.38148,-310.165,65.46348,0,0,0,100,0),
(@PATH,28,62.16359,-298.0943,60.90481,0,0,0,100,0),
(@PATH,29,62.07857,-295.2815,60.75649,0,0,0,100,0),
(@PATH,30,66.51885,-289.6947,60.65805,0,0,0,100,0),
(@PATH,31,71.19937,-288.5282,60.61031,0,0,0,100,0),
(@PATH,32,76.71995,-286.1484,60.66695,0,0,0,100,0),
(@PATH,33,83.98484,-287.0403,60.643,0,0,0,100,0);
-- Pathing for Scarshield Spellbinder Entry: 9098
SET @NPC := @GUID+252;
SET @PATH := @NPC * 10;
UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=36.89285,`position_y`=-331.2767,`position_z`=53.68202 WHERE `guid`=@NPC;
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, '');
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
(@PATH,1,39.96936,-329.8007,53.7379,0,0,0,100,0),
(@PATH,2,57.18673,-326.7872,53.91625,0,0,0,100,0),
(@PATH,3,34.34272,-331.2659,53.48465,0,0,0,100,0),
(@PATH,4,26.80801,-331.241,48.74844,0,0,0,100,0),
(@PATH,5,23.99778,-331.2221,48.75055,0,0,0,100,0),
(@PATH,6,18.19567,-331.1975,48.73712,0,0,0,100,0),
(@PATH,7,18.45785,-335.4669,48.70008,0,0,0,100,0),
(@PATH,8,20.61245,-337.6364,48.681,0,0,0,100,0),
(@PATH,9,20.58323,-349.7892,48.67257,0,0,0,100,0),
(@PATH,10,23.55131,-350.9213,48.67374,0,0,0,100,0),
(@PATH,11,26.39461,-347.1821,48.68155,0,0,0,100,0),
(@PATH,12,38.42376,-347.1394,48.67081,0,0,0,100,0),
(@PATH,13,39.21199,-357.8676,48.65726,0,0,0,100,0),
(@PATH,14,39.29136,-366.8922,48.65531,0,0,0,100,0),
(@PATH,15,39.13438,-349.0444,48.67277,0,0,0,100,0),
(@PATH,16,35.49154,-345.9659,48.6712,0,0,0,100,0),
(@PATH,17,29.60406,-347.1707,48.68155,0,0,0,100,0),
(@PATH,18,17.56905,-347.2134,48.6734,0,0,0,100,0),
(@PATH,19,20.65288,-340.964,48.6903,0,0,0,100,0),
(@PATH,20,20.74783,-328.9321,48.7581,0,0,0,100,0),
(@PATH,21,24.81668,-329.3186,48.77163,0,0,0,100,0),
(@PATH,22,28.94844,-331.2431,50.09388,0,0,0,100,0),
(@PATH,23,31.78614,-331.2551,51.87762,0,0,0,100,0),
(@PATH,24,34.34272,-331.2659,53.48465,0,0,0,100,0),
(@PATH,25,36.89285,-331.2767,53.68202,0,0,0,100,0);
@@ -0,0 +1,384 @@
-- Add missing Go spawns for UBRS & LBRS
SET @OGUID := 87602; -- 261 required
DELETE FROM `gameobject` WHERE `map`=229 AND `id` IN (153464,175124,175194,175195,175196,175197,175198,175199,175200,175266,175267,175268,175269,175270,175271,175272,175706,175244,175187,175153,175705,175185,175186,164726,
164726,175382,175385,175528,175529,175530,175531,175532,175533,175946,175947,175970,176447,176448,176449,176450,176451,176452,136950,136952,136955,176459,176460,176461,176462,176463,136922,136923,136925,136926,136927,
136928,136929,136930,136931,136932,136933,136934,136935,136936,136937,136938,136939,136940,136941,136942,136943,136944,136945,136946,136947,136948,136949,136951,136954,136957,136959,136961,136962,136963,136964,153469,
164725,175334,175571,175584,175588,175606,175607,175608,175609,175886,175949,175950,176089,176090,176425,176426,176427,176428,176429,176430,176431,176432,176433,176434,176435,176436,176437,176438,176439,176440,176441,
176442,176443,176444,176445,176446,176454,176455,176456,176457,176458);
INSERT INTO `gameobject` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`position_x`,`position_y`,`position_z`,`orientation`,`rotation0`,`rotation1`,`rotation2`,`rotation3`,`spawntimesecs`,`animprogress`,`state`) VALUES
(@OGUID,175124,229,1,1,100.579681,-312.488953,91.4455,0.122172989,0,0,0,0,120,0,1),
(@OGUID+1,175124,229,1,1,101.516693,-311.471344,91.4455,-1.58824873,0,0,0,0,120,0,1),
(@OGUID+2,175124,229,1,1,102.414017,-304.376343,91.4466248,0.0174524616,0,0,0,0,120,0,1),
(@OGUID+3,175124,229,1,1,104.212967,-289.411041,91.47319,1.50098288,0,0,0,0,120,0,1),
(@OGUID+4,175124,229,1,1,104.316406,-302.841278,91.47408,3.07176614,0,0,0,0,120,0,1),
(@OGUID+5,175124,229,1,1,104.403542,-299.438263,91.47574,0.6806767,0,0,0,0,120,0,1),
(@OGUID+6,175124,229,1,1,104.601669,-287.9975,91.47882,-1.97221982,0,0,0,0,120,0,1),
(@OGUID+7,175124,229,1,1,104.926949,-286.137817,91.48353,1.448622,0,0,0,0,120,0,1),
(@OGUID+8,175124,229,1,1,105.029182,-300.911469,91.4845352,1.57079577,0,0,0,0,120,0,1),
(@OGUID+9,175124,229,1,1,106.199173,-299.793121,91.50144,-1.20427728,0,0,0,0,120,0,1),
(@OGUID+10,175124,229,1,1,106.420288,-281.429016,91.50514,-0.593412,0,0,0,0,120,0,1),
(@OGUID+11,175124,229,1,1,106.603729,-283.775574,91.5078,1.954769,0,0,0,0,120,0,1),
(@OGUID+12,175124,229,1,1,107.189377,-287.659851,91.51627,0.7504908,0,0,0,0,120,0,1),
(@OGUID+13,175124,229,1,1,107.418739,-282.511749,91.5196,-2.19911456,0,0,0,0,120,0,1),
(@OGUID+14,175124,229,1,1,107.927856,-299.94812,91.52648,2.00712848,0,0,0,0,120,0,1),
(@OGUID+15,175124,229,1,1,112.297363,-390.177521,110.862892,-0.122172989,0,0,0,0,120,0,1),
(@OGUID+16,175124,229,1,1,113.017937,-451.803925,110.862892,2.82742977,0,0,0,0,120,0,1),
(@OGUID+17,175124,229,1,1,113.929672,-389.215057,110.862892,-0.785396755,0,0,0,0,120,0,1),
(@OGUID+18,175124,229,1,1,114.805519,-450.286,110.862892,0.767943859,0,0,0,0,120,0,1),
(@OGUID+19,175124,229,1,1,115.410751,-389.923,110.862892,-0.8377574,0,0,0,0,120,0,1),
(@OGUID+20,175124,229,1,1,115.812012,-453.056946,110.862892,-1.98967242,0,0,0,0,120,0,1),
(@OGUID+21,175124,229,1,1,186.987213,-389.476227,110.862892,-1.53588951,0,0,0,0,120,0,1),
(@OGUID+22,175124,229,1,1,187.74115,-387.874451,110.862892,1.134463,0,0,0,0,120,0,1),
(@OGUID+23,175124,229,1,1,188.002533,-452.5383,110.862892,1.34390128,0,0,0,0,120,0,1),
(@OGUID+24,175124,229,1,1,188.12558,-450.820068,110.862892,1.48352814,0,0,0,0,120,0,1),
(@OGUID+25,175124,229,1,1,189.080276,-388.61087,110.862892,-0.296705216,0,0,0,0,120,0,1),
(@OGUID+26,175124,229,1,1,189.834488,-451.310455,110.862892,-2.86233544,0,0,0,0,120,0,1),
(@OGUID+27,175124,229,1,1,197.826462,-407.929718,110.885162,-2.16420579,0,0,0,0,120,0,1),
(@OGUID+28,175124,229,1,1,197.889175,-409.4169,110.885162,-1.51843619,0,0,0,0,120,0,1),
(@OGUID+29,175124,229,1,1,198.345856,-432.6916,110.885071,-2.0594883,0,0,0,0,120,0,1),
(@OGUID+30,175124,229,1,1,199.2812,-431.4338,110.885071,-2.44346023,0,0,0,0,120,0,1),
(@OGUID+31,175124,229,1,1,199.588242,-433.8074,110.885071,1.11700928,0,0,0,0,120,0,1),
(@OGUID+32,175124,229,1,1,199.616272,-410.271881,110.885689,-2.932139,0,0,0,0,120,0,1),
(@OGUID+33,175124,229,1,1,200.124588,-407.845734,110.885162,2.879789,0,0,0,0,120,0,1),
(@OGUID+34,175124,229,1,1,200.719711,-431.708069,110.885071,1.7802341,0,0,0,0,120,0,1),
(@OGUID+35,175124,229,1,1,200.743408,-409.405762,110.885162,-1.37880921,0,0,0,0,120,0,1),
(@OGUID+36,175124,229,1,1,201.846771,-432.208649,110.885483,1.448622,0,0,0,0,120,0,1),
(@OGUID+37,175124,229,1,1,202.572159,-392.328,111.153641,-1.36135614,0,0,0,0,120,0,1),
(@OGUID+38,175124,229,1,1,202.891327,-394.92514,111.134247,-2.80997539,0,0,0,0,120,0,1),
(@OGUID+39,175124,229,1,1,203.082092,-401.453033,111.08667,-1.06464958,0,0,0,0,120,0,1),
(@OGUID+40,175124,229,1,1,203.280655,-398.871735,111.104973,2.86233544,0,0,0,0,120,0,1),
(@OGUID+41,175124,229,1,1,203.856339,-403.369232,111.071358,-1.15191638,0,0,0,0,120,0,1),
(@OGUID+42,175124,229,1,1,204.114517,-393.5981,111.141563,-0.6457717,0,0,0,0,120,0,1),
(@OGUID+43,175124,229,1,1,204.389526,-395.494537,111.127327,-1.2915417,0,0,0,0,120,0,1),
(@OGUID+44,175124,229,1,1,204.402267,-400.3069,111.092491,-2.19911456,0,0,0,0,120,0,1),
(@OGUID+45,175124,229,1,1,205.198654,-401.573273,111.081833,0.261798173,0,0,0,0,120,0,1),
(@OGUID+46,175124,229,1,1,206.9045,-419.7901,110.925056,-0.7504908,0,0,0,0,120,0,1),
(@OGUID+47,175124,229,1,1,207.266647,-434.7158,110.886642,0.226892471,0,0,0,0,120,0,1),
(@OGUID+48,175124,229,1,1,207.935486,-420.0201,110.930283,-0.174532115,0,0,0,0,120,0,1),
(@OGUID+49,175124,229,1,1,208.006454,-422.068726,110.929123,-1.51843619,0,0,0,0,120,0,1),
(@OGUID+50,175124,229,1,1,208.166092,-418.3611,110.932716,2.21656513,0,0,0,0,120,0,1),
(@OGUID+51,175124,229,1,1,208.798172,-433.633331,110.888489,-2.82742977,0,0,0,0,120,0,1),
(@OGUID+52,175124,229,1,1,209.071991,-435.188141,110.884933,-2.94959545,0,0,0,0,120,0,1),
(@OGUID+53,175124,229,1,1,209.28624,-391.269562,111.14872,-2.94959545,0,0,0,0,120,0,1),
(@OGUID+54,175124,229,1,1,209.562531,-419.839661,110.938927,-0.5410506,0,0,0,0,120,0,1),
(@OGUID+55,175124,229,1,1,210.485046,-393.288025,111.131866,-0.122172989,0,0,0,0,120,0,1),
(@OGUID+56,175124,229,1,1,210.653778,-391.8297,111.142113,1.91986156,0,0,0,0,120,0,1),
(@OGUID+57,175124,229,1,1,211.61734,-434.677,110.887962,-1.55334139,0,0,0,0,120,0,1),
(@OGUID+58,175124,229,1,1,211.90686,-420.1357,110.945183,1.93731225,0,0,0,0,120,0,1),
(@OGUID+59,175124,229,1,1,212.066559,-392.1727,111.136993,-0.5585039,0,0,0,0,120,0,1),
(@OGUID+60,175124,229,1,1,212.458679,-418.521362,110.9529,2.98449826,0,0,0,0,120,0,1),
(@OGUID+61,175124,229,1,1,212.63623,-432.306061,110.89183,-0.174532115,0,0,0,0,120,0,1),
(@OGUID+62,175124,229,1,1,213.310959,-410.503100,110.962784,2.146753,0,0,0,0,120,0,1),
(@OGUID+63,175124,229,1,1,213.576500,-419.532900,110.949500,0.628317,0,0,0,0,120,0,1),
(@OGUID+64,175124,229,1,1,214.320190,-408.951233,110.967888,2.967041,0,0,0,0,120,0,1),
(@OGUID+65,175124,229,1,1,217.875015,-392.086517,111.126740,0.907570,0,0,0,0,120,0,1),
(@OGUID+66,175124,229,1,1,218.954147,-392.578674,111.121162,1.919862,0,0,0,0,120,0,1),
(@OGUID+67,175124,229,1,1,219.678818,-393.405100,111.113823,-1.989672,0,0,0,0,120,0,1),
(@OGUID+68,175124,229,1,1,219.995500,-399.617200,111.068283,-2.617989,0,0,0,0,120,0,1),
(@OGUID+69,175124,229,1,1,220.161682,-421.224945,110.948463,-1.762782,0,0,0,0,120,0,1),
(@OGUID+70,175124,229,1,1,220.172836,-391.630066,111.125732,1.361356,0,0,0,0,120,0,1),
(@OGUID+71,175124,229,1,1,220.181274,-401.405100,111.055000,-1.989672,0,0,0,0,120,0,1),
(@OGUID+72,175124,229,1,1,220.601800,-418.446900,110.961227,-1.221729,0,0,0,0,120,0,1),
(@OGUID+73,175124,229,1,1,220.823685,-398.356600,111.075851,1.989672,0,0,0,0,120,0,1),
(@OGUID+74,175124,229,1,1,220.835770,-393.648834,111.109894,-1.972220,0,0,0,0,120,0,1),
(@OGUID+75,175124,229,1,1,220.869781,-411.346252,110.993027,-2.478367,0,0,0,0,120,0,1),
(@OGUID+76,175124,229,1,1,221.281387,-400.066300,111.062630,0.977383,0,0,0,0,120,0,1),
(@OGUID+77,175124,229,1,1,221.347992,-409.122284,111.003387,-2.076939,0,0,0,0,120,0,1),
(@OGUID+78,175124,229,1,1,221.701370,-420.444366,110.953438,1.640607,0,0,0,0,120,0,1),
(@OGUID+79,175124,229,1,1,222.093460,-432.249939,110.901382,0.000000,0,0,0,0,120,0,1),
(@OGUID+80,175124,229,1,1,222.151962,-411.776367,110.992393,-3.071766,0,0,0,0,120,0,1),
(@OGUID+81,175124,229,1,1,222.218918,-428.907776,110.916351,2.792518,0,0,0,0,120,0,1),
(@OGUID+82,175124,229,1,1,222.736313,-410.476624,110.998500,-1.204277,0,0,0,0,120,0,1),
(@OGUID+83,175124,229,1,1,222.815536,-430.970551,110.907448,-0.261798,0,0,0,0,120,0,1),
(@OGUID+84,175124,229,1,1,223.579010,-419.323151,110.959229,-1.884953,0,0,0,0,120,0,1),
(@OGUID+85,175124,229,1,1,223.816528,-429.410300,110.914421,-0.174532,0,0,0,0,120,0,1),
(@OGUID+86,175124,229,1,1,223.977676,-432.850037,110.899147,1.884953,0,0,0,0,120,0,1),
(@OGUID+87,175124,229,1,1,224.212540,-412.156647,110.991089,1.588249,0,0,0,0,120,0,1),
(@OGUID+88,175124,229,1,1,48.812670,-337.076050,91.530170,2.268925,0,0,0,0,120,0,1),
(@OGUID+89,175124,229,1,1,50.171127,-316.651550,91.530350,-2.426003,0,0,0,0,120,0,1),
(@OGUID+90,175124,229,1,1,51.266464,-338.088400,91.541910,-1.989672,0,0,0,0,120,0,1),
(@OGUID+91,175124,229,1,1,51.575382,-315.041870,91.522530,2.146753,0,0,0,0,120,0,1),
(@OGUID+92,175124,229,1,1,51.863476,-316.613831,91.520930,-0.593412,0,0,0,0,120,0,1),
(@OGUID+93,175124,229,1,1,54.265644,-255.434738,96.858940,1.343901,0,0,0,0,120,0,1),
(@OGUID+94,175124,229,1,1,54.572220,-336.735138,91.529305,-1.134463,0,0,0,0,120,0,1),
(@OGUID+95,175124,229,1,1,55.353077,-249.984161,97.048740,-2.652894,0,0,0,0,120,0,1),
(@OGUID+96,175124,229,1,1,55.441975,-254.350900,97.197754,0.541051,0,0,0,0,120,0,1),
(@OGUID+97,175124,229,1,1,56.761517,-332.325000,91.465240,-1.064650,0,0,0,0,120,0,1),
(@OGUID+98,175124,229,1,1,56.851460,-253.342600,96.962560,-0.087266,0,0,0,0,120,0,1),
(@OGUID+99,175124,229,1,1,56.876007,-255.377335,96.968940,0.261798,0,0,0,0,120,0,1),
(@OGUID+100,175124,229,1,1,57.859043,-336.093262,91.523320,-2.234018,0,0,0,0,120,0,1),
(@OGUID+101,175124,229,1,1,57.860306,-256.662100,96.739450,-1.012289,0,0,0,0,120,0,1),
(@OGUID+102,175124,229,1,1,58.117460,-253.946426,96.880950,0.506145,0,0,0,0,120,0,1),
(@OGUID+103,175124,229,1,1,58.817844,-334.106964,91.504810,0.977383,0,0,0,0,120,0,1),
(@OGUID+104,175124,229,1,1,59.025590,-271.140137,93.636284,-2.495818,0,0,0,0,120,0,1),
(@OGUID+105,175124,229,1,1,59.168900,-255.102982,96.815750,1.082103,0,0,0,0,120,0,1),
(@OGUID+106,175124,229,1,1,59.192165,-317.294067,91.480150,-0.191985,0,0,0,0,120,0,1),
(@OGUID+107,175124,229,1,1,59.330967,-332.230164,91.472916,-1.640610,0,0,0,0,120,0,1),
(@OGUID+108,175124,229,1,1,59.419060,-337.406500,91.535560,-0.471239,0,0,0,0,120,0,1),
(@OGUID+109,175124,229,1,1,60.185110,-270.196200,93.681820,-2.268925,0,0,0,0,120,0,1),
(@OGUID+110,175124,229,1,1,60.351400,-312.296539,91.522070,1.134463,0,0,0,0,120,0,1),
(@OGUID+111,175124,229,1,1,60.664970,-268.136017,93.601850,2.356195,0,0,0,0,120,0,1),
(@OGUID+112,175124,229,1,1,61.012710,-315.652800,91.484780,0.733038,0,0,0,0,120,0,1),
(@OGUID+113,175124,229,1,1,61.056700,-313.921875,91.505030,-0.680679,0,0,0,0,120,0,1),
(@OGUID+114,175124,229,1,1,61.321583,-272.012665,93.600870,-1.151916,0,0,0,0,120,0,1),
(@OGUID+115,175124,229,1,1,62.495476,-334.331300,91.506905,-0.349065,0,0,0,0,120,0,1),
(@OGUID+116,175124,229,1,1,63.307910,-317.114000,91.471550,-3.089183,0,0,0,0,120,0,1),
(@OGUID+117,175124,229,1,1,63.571682,-336.638200,91.528400,0.069812,0,0,0,0,120,0,1),
(@OGUID+118,175124,229,1,1,64.204040,-268.474300,93.245410,-1.570796,0,0,0,0,120,0,1),
(@OGUID+119,175124,229,1,1,64.925964,-317.059448,91.461044,1.780234,0,0,0,0,120,0,1),
(@OGUID+120,175124,229,1,1,65.296530,-267.929600,93.076380,0.349065,0,0,0,0,120,0,1),
(@OGUID+121,175124,229,1,1,65.583550,-305.104828,91.485280,1.099556,0,0,0,0,120,0,1),
(@OGUID+122,175124,229,1,1,65.987790,-303.633759,91.469400,-2.617989,0,0,0,0,120,0,1),
(@OGUID+123,175124,229,1,1,66.801750,-302.481100,91.451454,3.141593,0,0,0,0,120,0,1),
(@OGUID+124,175124,229,1,1,68.121820,-302.416382,91.438910,3.124123,0,0,0,0,120,0,1),
(@OGUID+125,175124,229,1,1,68.251770,-314.874634,91.433460,1.361356,0,0,0,0,120,0,1),
(@OGUID+126,175124,229,1,1,68.728424,-307.073029,91.450460,0.994837,0,0,0,0,120,0,1),
(@OGUID+127,175124,229,1,1,69.459880,-303.626923,91.437965,-1.396262,0,0,0,0,120,0,1),
(@OGUID+128,175124,229,1,1,69.691370,-332.161224,91.486680,1.134463,0,0,0,0,120,0,1),
(@OGUID+129,175124,229,1,1,69.930570,-326.639800,91.458800,2.897245,0,0,0,0,120,0,1),
(@OGUID+130,175124,229,1,1,69.991165,-329.339233,91.465836,-0.401425,0,0,0,0,120,0,1),
(@OGUID+131,175124,229,1,1,70.507195,-334.149000,91.505200,0.610864,0,0,0,0,120,0,1),
(@OGUID+132,175124,229,1,1,70.929120,-304.969635,91.431526,3.036838,0,0,0,0,120,0,1),
(@OGUID+133,175124,229,1,1,71.711500,-306.066100,91.418205,-1.518436,0,0,0,0,120,0,1),
(@OGUID+134,175124,229,1,1,71.794900,-278.164948,92.456700,2.234018,0,0,0,0,120,0,1),
(@OGUID+135,175124,229,1,1,72.002580,-328.391968,91.461020,-1.431168,0,0,0,0,120,0,1),
(@OGUID+136,175124,229,1,1,72.026024,-331.224518,91.472250,-2.687807,0,0,0,0,120,0,1),
(@OGUID+137,175124,229,1,1,72.053100,-325.809235,91.454160,1.431168,0,0,0,0,120,0,1),
(@OGUID+138,175124,229,1,1,72.068990,-276.632355,92.298294,2.617989,0,0,0,0,120,0,1),
(@OGUID+139,175124,229,1,1,72.141040,-285.905670,91.945180,-1.012289,0,0,0,0,120,0,1),
(@OGUID+140,175124,229,1,1,73.133210,-306.736481,91.412690,-0.645772,0,0,0,0,120,0,1),
(@OGUID+141,175124,229,1,1,73.545160,-324.155731,91.448090,0.453785,0,0,0,0,120,0,1),
(@OGUID+142,175124,229,1,1,74.038910,-287.330600,91.448830,-1.012289,0,0,0,0,120,0,1),
(@OGUID+143,175124,229,1,1,74.100430,-291.836700,91.442010,-0.401425,0,0,0,0,120,0,1),
(@OGUID+144,175124,229,1,1,74.206830,-273.590729,91.642830,-1.396262,0,0,0,0,120,0,1),
(@OGUID+145,175124,229,1,1,74.449070,-307.402924,91.414390,-0.733038,0,0,0,0,120,0,1),
(@OGUID+146,175124,229,1,1,74.752180,-275.849121,91.650276,0.959930,0,0,0,0,120,0,1),
(@OGUID+147,175124,229,1,1,75.177895,-292.906250,91.444630,1.989672,0,0,0,0,120,0,1),
(@OGUID+148,175124,229,1,1,76.242165,-277.381100,91.473785,-0.785397,0,0,0,0,120,0,1),
(@OGUID+149,175124,229,1,1,76.649890,-263.575470,91.480260,0.767944,0,0,0,0,120,0,1),
(@OGUID+150,175124,229,1,1,76.864716,-275.632080,91.477770,2.321287,0,0,0,0,120,0,1),
(@OGUID+151,175124,229,1,1,77.275060,-262.142944,91.479930,-1.256636,0,0,0,0,120,0,1),
(@OGUID+152,175124,229,1,1,77.482170,-292.279968,91.447014,-0.087266,0,0,0,0,120,0,1),
(@OGUID+153,175124,229,1,1,77.701280,-295.117300,91.443660,-1.117009,0,0,0,0,120,0,1),
(@OGUID+154,175124,229,1,1,78.590004,-266.496338,91.474560,2.007128,0,0,0,0,120,0,1),
(@OGUID+155,175124,229,1,1,79.001236,-331.653259,91.471030,-2.338740,0,0,0,0,120,0,1),
(@OGUID+156,175124,229,1,1,79.072030,-328.432700,91.452940,-0.541051,0,0,0,0,120,0,1),
(@OGUID+157,175124,229,1,1,79.206190,-262.497070,91.475750,-2.129301,0,0,0,0,120,0,1),
(@OGUID+158,175124,229,1,1,79.568920,-291.473877,91.449265,-0.174532,0,0,0,0,120,0,1),
(@OGUID+159,175124,229,1,1,79.786570,-325.953278,91.445595,1.605702,0,0,0,0,120,0,1),
(@OGUID+160,175124,229,1,1,80.484150,-316.636383,91.437960,-0.855211,0,0,0,0,120,0,1),
(@OGUID+161,175124,229,1,1,80.788110,-253.589417,91.475460,-2.146753,0,0,0,0,120,0,1),
(@OGUID+162,175124,229,1,1,80.916214,-328.544200,91.451100,-2.094393,0,0,0,0,120,0,1),
(@OGUID+163,175124,229,1,1,81.006350,-332.454468,91.481350,-2.513274,0,0,0,0,120,0,1),
(@OGUID+164,175124,229,1,1,81.010410,-264.958038,91.470480,2.757613,0,0,0,0,120,0,1),
(@OGUID+165,175124,229,1,1,81.071785,-330.128571,91.455090,-1.029743,0,0,0,0,120,0,1),
(@OGUID+166,175124,229,1,1,81.765560,-326.139557,91.445510,2.460913,0,0,0,0,120,0,1),
(@OGUID+167,175124,229,1,1,81.817490,-317.400055,91.439900,0.174532,0,0,0,0,120,0,1),
(@OGUID+168,175124,229,1,1,81.974480,-335.983826,91.522300,-1.500983,0,0,0,0,120,0,1),
(@OGUID+169,175124,229,1,1,82.075060,-251.810257,91.472730,-1.692969,0,0,0,0,120,0,1),
(@OGUID+170,175124,229,1,1,82.531170,-315.925079,91.436134,1.710422,0,0,0,0,120,0,1),
(@OGUID+171,175124,229,1,1,82.764340,-267.748474,91.465096,-3.019413,0,0,0,0,120,0,1),
(@OGUID+172,175124,229,1,1,82.941520,-330.608337,91.454190,0.698132,0,0,0,0,120,0,1),
(@OGUID+173,175124,229,1,1,82.960050,-249.989090,91.470880,-1.640610,0,0,0,0,120,0,1),
(@OGUID+174,175124,229,1,1,83.030556,-333.102661,91.489250,-0.209439,0,0,0,0,120,0,1),
(@OGUID+175,175124,229,1,1,83.216140,-327.689700,91.446200,-0.296705,0,0,0,0,120,0,1),
(@OGUID+176,175124,229,1,1,83.653244,-252.415115,91.469410,1.954769,0,0,0,0,120,0,1),
(@OGUID+177,175124,229,1,1,83.950905,-325.865200,91.445510,-2.967041,0,0,0,0,120,0,1),
(@OGUID+178,175124,229,1,1,83.954080,-315.109400,91.434060,-0.541051,0,0,0,0,120,0,1),
(@OGUID+179,175124,229,1,1,84.112040,-268.795441,91.461670,-2.879789,0,0,0,0,120,0,1),
(@OGUID+180,175124,229,1,1,84.506134,-248.377167,91.467630,1.780234,0,0,0,0,120,0,1),
(@OGUID+181,175124,229,1,1,84.657295,-301.760900,91.443214,0.157079,0,0,0,0,120,0,1),
(@OGUID+182,175124,229,1,1,85.563520,-293.522736,91.447860,1.308995,0,0,0,0,120,0,1),
(@OGUID+183,175124,229,1,1,85.667694,-314.023560,91.436035,-2.076939,0,0,0,0,120,0,1),
(@OGUID+184,175124,229,1,1,85.834040,-295.413666,91.447740,2.775069,0,0,0,0,120,0,1),
(@OGUID+185,175124,229,1,1,85.975090,-250.809708,91.464530,-2.932139,0,0,0,0,120,0,1),
(@OGUID+186,175124,229,1,1,86.112880,-302.506317,91.443740,0.767944,0,0,0,0,120,0,1),
(@OGUID+187,175124,229,1,1,86.367140,-246.965225,91.463715,1.815142,0,0,0,0,120,0,1),
(@OGUID+188,175124,229,1,1,87.226135,-252.472137,91.461900,-0.942477,0,0,0,0,120,0,1),
(@OGUID+189,175124,229,1,1,87.281105,-254.392151,91.461790,0.034906,0,0,0,0,120,0,1),
(@OGUID+190,175124,229,1,1,87.410990,-278.121460,91.453200,-2.565632,0,0,0,0,120,0,1),
(@OGUID+191,175124,229,1,1,87.812740,-314.716200,91.444310,3.019413,0,0,0,0,120,0,1),
(@OGUID+192,175124,229,1,1,87.861210,-303.151947,91.444374,-1.797689,0,0,0,0,120,0,1),
(@OGUID+193,175124,229,1,1,87.923130,-280.001373,91.447140,-2.705255,0,0,0,0,120,0,1),
(@OGUID+194,175124,229,1,1,88.098390,-333.163361,91.484410,1.431168,0,0,0,0,120,0,1),
(@OGUID+195,175124,229,1,1,88.343250,-248.339035,91.459560,2.286379,0,0,0,0,120,0,1),
(@OGUID+196,175124,229,1,1,88.691250,-301.069800,91.444680,0.366518,0,0,0,0,120,0,1),
(@OGUID+197,175124,229,1,1,88.808876,-316.133700,91.444670,-0.698132,0,0,0,0,120,0,1),
(@OGUID+198,175124,229,1,1,89.004050,-251.208176,91.458170,2.949595,0,0,0,0,120,0,1),
(@OGUID+199,175124,229,1,1,89.099160,-290.132965,91.446330,1.535890,0,0,0,0,120,0,1),
(@OGUID+200,175124,229,1,1,89.926796,-301.831146,91.445114,0.541051,0,0,0,0,120,0,1),
(@OGUID+201,175124,229,1,1,89.958930,-318.158875,91.444320,-0.872664,0,0,0,0,120,0,1),
(@OGUID+202,175124,229,1,1,90.307120,-332.646332,91.473750,2.617989,0,0,0,0,120,0,1),
(@OGUID+203,175124,229,1,1,90.575424,-320.018616,91.445500,1.204277,0,0,0,0,120,0,1),
(@OGUID+204,175124,229,1,1,91.830710,-291.348500,91.445500,-3.089183,0,0,0,0,120,0,1),
(@OGUID+205,175124,229,1,1,91.860870,-301.934900,91.445500,0.733038,0,0,0,0,120,0,1),
(@OGUID+206,175124,229,1,1,92.115500,-334.860800,91.506560,0.453785,0,0,0,0,120,0,1),
(@OGUID+207,175124,229,1,1,92.125114,-279.851044,91.445500,-1.675514,0,0,0,0,120,0,1),
(@OGUID+208,175124,229,1,1,92.600150,-288.176178,91.445500,0.436332,0,0,0,0,120,0,1),
(@OGUID+209,175124,229,1,1,92.644230,-304.446533,91.445500,2.443460,0,0,0,0,120,0,1),
(@OGUID+210,175124,229,1,1,93.673340,-290.120483,91.445500,-0.750491,0,0,0,0,120,0,1),
(@OGUID+211,175124,229,1,1,93.811460,-305.536255,91.445500,1.029743,0,0,0,0,120,0,1),
(@OGUID+212,175124,229,1,1,93.890366,-288.281036,91.445500,2.356195,0,0,0,0,120,0,1),
(@OGUID+213,175124,229,1,1,94.564140,-281.093300,91.445500,2.513274,0,0,0,0,120,0,1),
(@OGUID+214,175124,229,1,1,94.917090,-288.643616,91.445500,2.967041,0,0,0,0,120,0,1),
(@OGUID+215,175124,229,1,1,95.461464,-313.583679,91.445500,0.855211,0,0,0,0,120,0,1),
(@OGUID+216,175124,229,1,1,96.062840,-287.470337,91.445500,1.710422,0,0,0,0,120,0,1),
(@OGUID+217,175124,229,1,1,96.341835,-280.517578,91.445500,0.139624,0,0,0,0,120,0,1),
(@OGUID+218,175124,229,1,1,97.125830,-281.948944,91.445500,-1.274091,0,0,0,0,120,0,1),
(@OGUID+219,175124,229,1,1,97.196310,-310.890533,91.445500,-3.036838,0,0,0,0,120,0,1),
(@OGUID+220,175124,229,1,1,97.340485,-313.429962,91.445500,2.670348,0,0,0,0,120,0,1),
(@OGUID+221,175124,229,1,1,98.855940,-313.048950,91.445500,-1.012289,0,0,0,0,120,0,1),
(@OGUID+222,175194,229,1,1,192.740372,-258.394226,76.86026,0,0,0,0,0,120,0,0),
(@OGUID+223,175195,229,1,1,124.778954,-298.037384,70.85264,0.785396755,0,0,0,0,120,0,0),
(@OGUID+224,175196,229,1,1,228.802658,-301.542084,76.88119,-1.57079577,0,0,0,0,120,0,0),
(@OGUID+225,175197,229,1,1,125.357704,-340.4654,70.875206,2.356195,0,0,0,0,120,0,0),
(@OGUID+226,175198,229,1,1,215.157425,-334.733,76.81243,-2.356195,0,0,0,0,120,0,0),
(@OGUID+227,175199,229,1,1,155.33374,-353.044769,70.83366,3.14159274,0,0,0,0,120,0,0),
(@OGUID+228,175200,229,1,1,155.320572,-286.073547,70.87632,0,0,0,0,0,120,0,0),
(@OGUID+229,175266,229,1,1,144.3746,-240.826111,91.471344,0,0,0,0,0,120,0,0),
(@OGUID+230,175267,229,1,1,126.354256,-240.769867,91.47007,0,0,0,0,0,120,0,0),
(@OGUID+231,175268,229,1,1,162.465958,-240.764633,91.46876,0,0,0,0,0,120,0,0),
(@OGUID+232,175269,229,1,1,126.295486,-258.731628,91.47007,0,0,0,0,0,120,0,0),
(@OGUID+233,175270,229,1,1,162.443268,-258.9044,91.47007,0,0,0,0,0,120,0,0),
(@OGUID+234,175271,229,1,1,126.4017,-276.79007,91.47007,0,0,0,0,0,120,0,0),
(@OGUID+235,175272,229,1,1,162.400742,-276.823822,91.47007,0,0,0,0,0,120,0,0),
(@OGUID+236,175706,229,1,1,144.445023,-280.941467,91.54761,1.58824873,0,0,0,0,120,0,0),
(@OGUID+237,175244,229,1,1,216.44342,-286.135376,76.94057,3.14159274,0,0,0,0,120,0,1),
(@OGUID+238,175187,229,1,1,144.369614,-299.198425,91.47007,0,0,0,0,0,120,0,1),
(@OGUID+239,175153,229,1,1,113.751076,-258.944977,91.56026,0,0,0,0,0,120,0,1),
(@OGUID+240,175705,229,1,1,175.127151,-258.944946,91.56026,0,0,0,0,0,120,0,1),
(@OGUID+241,175185,229,1,1,194.234833,-420.225037,110.76078,3.14159274,0,0,0,0,120,0,1),
(@OGUID+242,175186,229,1,1,92.959465,-435.590027,110.954376,-1.57079577,0,0,0,0,120,0,1),
(@OGUID+243,164726,229,1,1,108.036087,-420.3313,110.954376,3.14159274,0,0,0,0,120,0,1),
(@OGUID+244,175382,229,1,1,67.1283,-297.421021,91.42554,-0.0349062532,0,0,0,0,120,0,1),
(@OGUID+245,175385,229,1,1,65.41786,-280.4161,94.04653,0.06981169,0,0,0,0,120,0,1),
(@OGUID+246,175528,229,1,1,100.25692,-313.139862,66.5452652,3.14159274,0,0,0,0,120,0,0),
(@OGUID+247,175529,229,1,1,100.25692,-324.880249,66.5452652,3.14159274,0,0,0,0,120,0,0),
(@OGUID+248,175530,229,1,1,110.21476,-324.880249,68.03545,3.14159274,0,0,0,0,120,0,0),
(@OGUID+249,175531,229,1,1,110.21476,-313.139862,68.03545,3.14159274,0,0,0,0,120,0,0),
(@OGUID+250,175532,229,1,1,120.461563,-324.880249,73.53309,3.14159274,0,0,0,0,120,0,0),
(@OGUID+251,175533,229,1,1,120.461563,-313.139862,73.53309,3.14159274,0,0,0,0,120,0,0),
(@OGUID+252,175946,229,1,1,45.1932869,-259.712219,106.532768,3.14159274,0,0,0,0,120,0,1),
(@OGUID+253,175947,229,1,1,45.19329,-312.5203,106.532768,3.14159274,0,0,0,0,120,0,1),
(@OGUID+254,175970,229,1,1,147.227539,-240.435669,112.20472,-1.64933348,0,0,0,0,120,0,1),
(@OGUID+255,176447,229,1,1,35.2498856,-505.634277,110.91436,-3.13874269,0,0,0,0,120,0,1),
(@OGUID+256,176448,229,1,1,31.2830067,-505.634277,110.91436,1.57142222,0,0,0,0,120,0,1),
(@OGUID+257,176449,229,1,1,27.4453468,-505.634277,110.91436,-0.261172324,0,0,0,0,120,0,1),
(@OGUID+258,176450,229,1,1,21.5667877,-506.580719,110.91436,-1.57016766,0,0,0,0,120,0,1),
(@OGUID+259,176451,229,1,1,18.0824432,-505.634277,110.91436,-3.13874269,0,0,0,0,120,0,1),
(@OGUID+260,176452,229,1,1,24.5420456,-504.7355,110.91436,-2.35556316,0,0,0,0,120,0,1),
(@OGUID+261,136950,229,1,1,72.83732,-265.629639,60.73645,3.14159274,0,0,0,0,120,0,1),
(@OGUID+262,136952,229,1,1,69.97309,-329.867767,55.8721352,3.14159274,0,0,0,0,120,0,1),
(@OGUID+263,136955,229,1,1,56.3640633,-306.158142,54.01571,3.14159274,0,0,0,0,120,0,1),
(@OGUID+264,176459,229,1,1,68.64788,-270.903229,60.73748,3.14159274,0,0,0,0,120,0,1),
(@OGUID+265,176460,229,1,1,70.54355,-257.169067,60.74014,3.124123,0,0,0,0,120,0,1),
(@OGUID+266,176461,229,1,1,69.3254242,-265.102051,60.60442,3.14159274,0,0,0,0,120,0,1),
(@OGUID+267,176462,229,1,1,90.48029,-283.217,60.70017,3.14159274,0,0,0,0,120,0,1),
(@OGUID+268,176463,229,1,1,91.63333,-262.053284,60.70017,3.14159274,0,0,0,0,120,0,1),
(@OGUID+269,136922,229,1,1,88.21516,-415.1,110.95723,2.72271276,0,0,0,0,120,0,1),
(@OGUID+270,136923,229,1,1,87.4498444,-468.453552,116.886841,2.72271276,0,0,0,0,120,0,1),
(@OGUID+271,136925,229,1,1,40.7229156,-586.7098,30.6816959,1.74532676,0,0,0,0,120,0,1),
(@OGUID+272,136926,229,1,1,43.3148575,-572.47644,30.6816959,1.74532676,0,0,0,0,120,0,1),
(@OGUID+273,136927,229,1,1,4.75705242,-567.072754,29.2221813,1.74532676,0,0,0,0,120,0,1),
(@OGUID+274,136928,229,1,1,8.392041,-583.677,29.2221813,1.74532676,0,0,0,0,120,0,1),
(@OGUID+275,136929,229,1,1,152.587021,-396.408356,121.963966,-1.57079577,0,0,0,0,120,0,1),
(@OGUID+276,136930,229,1,1,147.161285,-389.9539,121.963966,-1.57079577,0,0,0,0,120,0,1),
(@OGUID+277,136931,229,1,1,149.6765,-386.148346,121.963966,-1.57079577,0,0,0,0,120,0,1),
(@OGUID+278,136932,229,1,1,157.7783,-389.9539,121.963966,-1.57079577,0,0,0,0,120,0,1),
(@OGUID+279,136933,229,1,1,150.609192,-396.408356,121.963966,-1.57079577,0,0,0,0,120,0,1),
(@OGUID+280,136934,229,1,1,155.816116,-390.034546,121.963966,-1.57079577,0,0,0,0,120,0,1),
(@OGUID+281,136935,229,1,1,145.1764,-390.034546,121.963966,-1.57079577,0,0,0,0,120,0,1),
(@OGUID+282,136936,229,1,1,153.360245,-386.1687,121.963966,-1.57079577,0,0,0,0,120,0,1),
(@OGUID+283,136937,229,1,1,149.569,-454.6866,121.963966,1.57079577,0,0,0,0,120,0,1),
(@OGUID+284,136938,229,1,1,153.252762,-454.70694,121.963966,1.57079577,0,0,0,0,120,0,1),
(@OGUID+285,136939,229,1,1,157.752838,-450.1581,121.963966,1.57079577,0,0,0,0,120,0,1),
(@OGUID+286,136940,229,1,1,155.76796,-450.238739,121.963966,1.57079577,0,0,0,0,120,0,1),
(@OGUID+287,136941,229,1,1,152.320068,-444.3045,121.963966,1.57079577,0,0,0,0,120,0,1),
(@OGUID+288,136942,229,1,1,150.342224,-444.3045,121.963966,1.57079577,0,0,0,0,120,0,1),
(@OGUID+289,136943,229,1,1,147.113144,-450.1581,121.963966,1.57079577,0,0,0,0,120,0,1),
(@OGUID+290,136944,229,1,1,145.15094,-450.238739,121.963966,1.57079577,0,0,0,0,120,0,1),
(@OGUID+291,136945,229,1,1,-174.133926,-342.7732,64.39388,3.14159274,0,0,0,0,120,0,1),
(@OGUID+292,136946,229,1,1,-172.351959,-462.842072,87.39826,-1.60570168,0,0,0,0,120,0,1),
(@OGUID+293,136947,229,1,1,16.9936657,-253.820969,65.44975,3.14159274,0,0,0,0,120,0,1),
(@OGUID+294,136948,229,1,1,8.170414,-268.9804,65.44975,3.14159274,0,0,0,0,120,0,1),
(@OGUID+295,136949,229,1,1,51.2451057,-274.132843,65.44975,3.14159274,0,0,0,0,120,0,1),
(@OGUID+296,136951,229,1,1,68.8801651,-283.793518,60.73645,3.14159274,0,0,0,0,120,0,1),
(@OGUID+297,136954,229,1,1,16.1673641,-280.865326,9.61726,3.14159274,0,0,0,0,120,0,1),
(@OGUID+298,136957,229,1,1,117.4544,-254.2912,91.57107,2.72271276,0,0,0,0,120,0,1),
(@OGUID+299,136959,229,1,1,125.65564,-280.80777,91.57107,2.72271276,0,0,0,0,120,0,1),
(@OGUID+300,136961,229,1,1,46.4689255,-309.64917,91.57107,2.72271276,0,0,0,0,120,0,1),
(@OGUID+301,136962,229,1,1,106.176666,-265.9525,91.57107,-1.46607578,0,0,0,0,120,0,1),
(@OGUID+302,136963,229,1,1,107.690056,-253.095154,91.57107,2.72271276,0,0,0,0,120,0,1),
(@OGUID+303,136964,229,1,1,82.58793,-364.5863,116.859177,2.72271276,0,0,0,0,120,0,1),
(@OGUID+304,153464,229,1,1,-36.1175957,-583.8276,-18.8201447,1.97221982,0,0,0,0,120,0,1),
(@OGUID+305,153469,229,1,1,-73.99849,-453.3353,-18.9350014,-3.08918333,0,0,0,0,120,0,1),
(@OGUID+306,153469,229,1,1,-84.26773,-350.10376,70.9524155,1.91986156,0,0,0,0,120,0,1),
(@OGUID+307,153469,229,1,1,86.85506,-587.50116,30.6085377,2.63544416,0,0,0,0,120,0,1),
(@OGUID+308,164725,229,1,1,126.878883,-319.108551,70.93496,3.14159274,0,0,0,0,120,0,0),
(@OGUID+309,175334,229,1,1,33.71665,-466.067383,-18.46511,-1.53588951,0,0,0,0,120,0,1),
(@OGUID+310,175584,229,1,1,-14.3415041,-395.7287,48.5381279,2.86233544,0,0,0,0,120,0,1),
(@OGUID+311,175588,229,1,1,-139.523071,-525.87854,6.363978,-2.4260025,0,0,0,0,120,0,1),
(@OGUID+312,175606,229,1,1,-100.230141,-529.5372,-5.773813,-0.43633157,0,0,0,0,120,0,1),
(@OGUID+313,175606,229,1,1,-100.324532,-523.847,10.7028713,2.111848,0,0,0,0,120,0,1),
(@OGUID+314,175606,229,1,1,-101.885674,-521.985168,-7.841986,-0.0349062532,0,0,0,0,120,0,1),
(@OGUID+315,175606,229,1,1,-102.4652,-575.651062,9.900889,2.478367,0,0,0,0,120,0,1),
(@OGUID+316,175606,229,1,1,-112.209923,-569.506165,10.1991549,2.18166041,0,0,0,0,120,0,1),
(@OGUID+317,175606,229,1,1,-125.2294,-576.6645,13.7725887,-0.296705216,0,0,0,0,120,0,1),
(@OGUID+318,175606,229,1,1,-126.745758,-514.1637,-12.1469631,3.10665226,0,0,0,0,120,0,1),
(@OGUID+319,175606,229,1,1,-129.513687,-441.7,24.4328327,0.9773831,0,0,0,0,120,0,1),
(@OGUID+320,175606,229,1,1,-131.570419,-439.602051,22.8934059,-1.134463,0,0,0,0,120,0,1),
(@OGUID+321,175606,229,1,1,-131.804932,-526.783936,6.556513,-2.28637886,0,0,0,0,120,0,1),
(@OGUID+322,175606,229,1,1,-132.261276,-474.847717,9.822438,-2.82742977,0,0,0,0,120,0,1),
(@OGUID+323,175606,229,1,1,-132.404343,-514.960754,-15.93743,-1.79768872,0,0,0,0,120,0,1),
(@OGUID+324,175606,229,1,1,-138.894241,-439.497467,24.8087673,1.76278245,0,0,0,0,120,0,1),
(@OGUID+325,175606,229,1,1,-139.15303,-434.7381,23.11234,-2.740162,0,0,0,0,120,0,1),
(@OGUID+326,175606,229,1,1,-144.504959,-441.602783,23.1015816,0.3316107,0,0,0,0,120,0,1),
(@OGUID+327,175606,229,1,1,-146.906982,-441.462952,22.4743786,-0.8028509,0,0,0,0,120,0,1),
(@OGUID+328,175606,229,1,1,-147.8808,-448.5486,20.091135,1.3264482,0,0,0,0,120,0,1),
(@OGUID+329,175606,229,1,1,-150.1039,-470.007965,16.2278,1.76278245,0,0,0,0,120,0,1),
(@OGUID+330,175606,229,1,1,-153.787643,-515.2272,-15.9504414,-0.95993,0,0,0,0,120,0,1),
(@OGUID+331,175606,229,1,1,-154.378235,-552.2341,9.918845,-2.0594883,0,0,0,0,120,0,1),
(@OGUID+332,175606,229,1,1,-154.59169,-525.218567,8.161819,2.042035,0,0,0,0,120,0,1),
(@OGUID+333,175606,229,1,1,-154.769653,-541.317,9.022168,-0.104719326,0,0,0,0,120,0,1),
(@OGUID+334,175606,229,1,1,-154.889313,-570.3387,10.0172291,2.478367,0,0,0,0,120,0,1),
(@OGUID+335,175607,229,1,1,20.4895344,-438.85733,-18.78273,-2.26892543,0,0,0,0,120,0,1),
(@OGUID+336,175608,229,1,1,23.8203316,-440.8061,-18.75866,1.43116808,0,0,0,0,120,0,1),
(@OGUID+337,175609,229,1,1,20.99143,-443.1193,-18.91834,1.08210289,0,0,0,0,120,0,1),
(@OGUID+338,175609,229,1,1,23.7352352,-445.173035,-18.9350014,2.111848,0,0,0,0,120,0,1),
(@OGUID+339,175609,229,1,1,25.9651279,-443.5448,-18.9203186,-2.75761318,0,0,0,0,120,0,1),
(@OGUID+340,175886,229,1,1,-34.5386,-589.6351,30.9964237,-0.593412,0,0,0,0,120,0,1),
(@OGUID+341,175886,229,1,1,-34.7323723,-589.6146,30.9339237,1.62315571,0,0,0,0,120,0,1),
(@OGUID+342,175886,229,1,1,-35.6387024,-589.632263,30.9825344,-1.97221982,0,0,0,0,120,0,1),
(@OGUID+343,175886,229,1,1,-36.297657,-589.616943,31.0103111,1.09955645,0,0,0,0,120,0,1),
(@OGUID+344,175886,229,1,1,-37.7856445,-589.639465,30.9964237,-3.08918333,0,0,0,0,120,0,1),
(@OGUID+345,175949,229,1,1,-128.233643,-482.381,25.4534683,-0.0174524616,0,0,0,0,120,0,1),
(@OGUID+346,175950,229,1,1,-11.1344738,-466.205139,-16.8552532,-1.55334139,0,0,0,0,120,0,1),
(@OGUID+347,176089,229,1,1,-18.8625946,-360.393951,-31.426754,2.513274,0,0,0,0,120,0,1),
(@OGUID+348,176090,229,1,1,-19.0726433,-361.990631,-31.523716,-0.3490652,0,0,0,0,120,0,1),
(@OGUID+349,176425,229,1,1,60.0723534,-511.967224,29.2142811,-3.13874269,0,0,0,0,120,0,1),
(@OGUID+350,176426,229,1,1,56.9334679,-556.048035,30.66044,-3.13874269,0,0,0,0,120,0,1),
(@OGUID+351,176427,229,1,1,53.1921,-461.069824,24.3897438,-3.14149952,0,0,0,0,120,0,1),
(@OGUID+352,176428,229,1,1,-63.25678,-581.4829,29.29337,-3.14149952,0,0,0,0,120,0,1),
(@OGUID+353,176429,229,1,1,-37.6862526,-551.8221,16.2163448,3.14159274,0,0,0,0,120,0,1),
(@OGUID+354,176430,229,1,1,-25.3348827,-478.438263,17.2503757,3.14159274,0,0,0,0,120,0,1),
(@OGUID+355,176431,229,1,1,-46.3864632,-448.609955,-18.5644283,3.14159274,0,0,0,0,120,0,1),
(@OGUID+356,176432,229,1,1,-2.64241648,-579.1437,-18.7608662,3.14159274,0,0,0,0,120,0,1),
(@OGUID+357,176433,229,1,1,26.982,-583.365234,-18.515255,3.14159274,0,0,0,0,120,0,1),
(@OGUID+358,176434,229,1,1,35.6424026,-550.729858,-18.41096,3.14159274,0,0,0,0,120,0,1),
(@OGUID+359,176435,229,1,1,33.1642647,-471.046875,-18.5059147,3.14159274,0,0,0,0,120,0,1),
(@OGUID+360,176436,229,1,1,31.9839039,-495.3488,-18.8984013,-3.13874269,0,0,0,0,120,0,1),
(@OGUID+361,176437,229,1,1,-39.3852,-424.8782,-18.84707,3.14159274,0,0,0,0,120,0,1),
(@OGUID+362,176438,229,1,1,-23.2051277,-410.6093,-18.8984013,3.14159274,0,0,0,0,120,0,1),
(@OGUID+363,176439,229,1,1,-76.09747,-418.800659,-18.9234028,-1.83259165,0,0,0,0,120,0,1),
(@OGUID+364,176440,229,1,1,-59.9712257,-409.6412,-18.8442917,3.14159274,0,0,0,0,120,0,1),
(@OGUID+365,176441,229,1,1,-79.5308762,-453.927216,-18.8331814,3.14159274,0,0,0,0,120,0,1),
(@OGUID+366,176442,229,1,1,-15.437788,-368.78067,49.49363,3.14085126,0,0,0,0,120,0,1),
(@OGUID+367,176443,229,1,1,-121.137337,-296.445465,71.0397,3.14159274,0,0,0,0,120,0,1),
(@OGUID+368,176444,229,1,1,-137.26358,-305.604919,70.9605942,-1.83259165,0,0,0,0,120,0,1),
(@OGUID+369,176445,229,1,1,-59.1198235,-339.829254,70.9605942,-1.83259165,0,0,0,0,120,0,1),
(@OGUID+370,176446,229,1,1,-87.3357,-348.370026,71.0397,3.14159274,0,0,0,0,120,0,1),
(@OGUID+371,176454,229,1,1,60.57147,-562.5008,30.48111,3.14159274,0,0,0,0,120,0,1),
(@OGUID+372,176455,229,1,1,52.2036819,-470.448181,25.11214,3.14148068,0,0,0,0,120,0,1),
(@OGUID+373,176456,229,1,1,-60.6475868,-584.3826,29.1114845,3.14159274,0,0,0,0,120,0,1),
(@OGUID+374,176457,229,1,1,-115.273315,-428.517548,-18.7010059,3.14159274,0,0,0,0,120,0,1),
(@OGUID+375,176458,229,1,1,-114.981789,-421.896851,-18.9178715,3.14159274,0,0,0,0,120,0,1);
@@ -0,0 +1,2 @@
-- Delete addons for some creatures that has been removed
DELETE FROM `creature_addon` WHERE `guid` IN (209318,209333,209315,209337,209308,209312,209331,209320,209335,209318,209333,209315,209337,209308,209312,209331,209320,209335);
@@ -0,0 +1,42 @@
-- Gossip Menu insert from sniff
DELETE FROM `gossip_menu` WHERE `entry`=7610 AND `text_id`=9261;
INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7610,9261);
DELETE FROM `gossip_menu` WHERE `entry`=8249 AND `text_id`=10266;
INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8249,10266);
DELETE FROM `gossip_menu` WHERE `entry`=7612 AND `text_id`=9263;
INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7612,9263);
DELETE FROM `gossip_menu` WHERE `entry`=7611 AND `text_id`=9262;
INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7611,9262);
DELETE FROM `gossip_menu` WHERE `entry`=7588 AND `text_id`=9236;
INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7588,9236);
DELETE FROM `gossip_menu` WHERE `entry`=7590 AND `text_id`=9238;
INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7590,9238);
DELETE FROM `gossip_menu` WHERE `entry`=7591 AND `text_id`=9239;
INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7591,9239);
DELETE FROM `gossip_menu` WHERE `entry`=7589 AND `text_id`=9237;
INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7589,9237);
DELETE FROM `gossip_menu` WHERE `entry`=7526 AND `text_id`=9128;
INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7526,9128);
DELETE FROM `gossip_menu` WHERE `entry`=7614 AND `text_id`=9265;
INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7614,9265);
-- Creature Gossip_menu_id Update from sniff
UPDATE `creature_template` SET `gossip_menu_id`=7610 WHERE `entry`=18004;
UPDATE `creature_template` SET `gossip_menu_id`=8249 WHERE `entry`=21172;
UPDATE `creature_template` SET `gossip_menu_id`=7612 WHERE `entry`=18005;
UPDATE `creature_template` SET `gossip_menu_id`=7611 WHERE `entry`=18006;
UPDATE `creature_template` SET `gossip_menu_id`=7588 WHERE `entry`=18010;
UPDATE `creature_template` SET `gossip_menu_id`=7590 WHERE `entry`=18019;
UPDATE `creature_template` SET `gossip_menu_id`=7589 WHERE `entry`=18009;
UPDATE `creature_template` SET `gossip_menu_id`=7614 WHERE `entry`=18003;
-- Creature Gossip_menu_option Update from sniff
DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (8249,7612,7611,7588,7590,7589,7495) AND `id`=0;
DELETE FROM `gossip_menu_option` WHERE `menu_id`=7590 AND `id`=1;
INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES
(8249,0,1, 'I want to browse your goods.',3,128,0,0,0,0, ''),
(7612,0,1, 'I wish to buy from you.',3,128,0,0,0,0, ''),
(7611,0,1, 'I would like to buy from you.',3,128,0,0,0,0, ''),
(7588,0,1, 'Show me your wares, Maktu.',3,128,0,0,0,0, ''),
(7590,0,1, 'Let me browse your reagents and poison supplies.',3,128,0,0,0,0, ''),
(7590,1,0, 'Specialist, eh? Just what kind of specialist are you, anyway?',1,1,7591,0,0,0, ''),
(7589,0,1, 'I wish to browse your wares.',3,128,0,0,0,0, ''),
(7495,0,0, 'Watcher Leesa''oh, why are you out here?',1,1,7526,0,0,0, '');
@@ -0,0 +1,3 @@
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_gen_luck_of_the_draw';
INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES
(72221,'spell_gen_luck_of_the_draw');
@@ -0,0 +1,3 @@
DELETE FROM `trinity_string` WHERE `entry`=5031;
INSERT INTO `trinity_string` (`entry`,`content_default`) VALUES
(5031, 'AIName: %s ScriptName: %s');
@@ -0,0 +1,7 @@
UPDATE spell_dbc SET EffectImplicitTargetA1 = 22, EffectImplicitTargetB1 = 7 WHERE Id = 58630;
DELETE FROM conditions WHERE SourceTypeOrReferenceId = 13 AND SourceEntry IN (61863, 68663);
INSERT INTO conditions (SourceTypeOrReferenceId, SourceEntry, ConditionTypeOrReference, ConditionValue1, Comment) VALUES
(13, 61863, 18, 1, 'The Prophet Tharon''ja - Achievement Check'),
(13, 68663, 18, 1, 'The Black Knight - Kill Credit'),
(13, 58630, 18, 1, 'Mal''Ganis - Kill Credit');
@@ -0,0 +1,87 @@
-- Remove empty EAI Script call from the following entries
UPDATE `creature_template` SET `AIName` = '' WHERE `entry` IN (30243,30632);
-- Crimson Hammersmith summon from Blacksmithing Plans fix
-- Black Guard Swordsmith summon from Blacksmithing Plans fix
UPDATE `gameobject_template` SET `AIName` = 'SmartGameObjectAI' WHERE `entry` IN (176325, 176327);
DELETE FROM `smart_scripts` WHERE `entryorguid` IN (176325, 176327) AND `source_type`=1;
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
(176325, 1, 0, 0, 64, 0, 100, 1, 0, 0, 0, 0, 12, 11120, 6, 60000, 0, 0, 0, 8, 0, 0, 0, 3585.5, -3000.15, 125, 2.19912, 'Blacksmithing Plans - summon Crimson Hammersmith'),
(176327, 1, 0, 0, 64, 0, 100, 1, 0, 0, 0, 0, 12, 11121, 6, 60000, 0, 0, 0, 8, 0, 0, 0, 3818.4, -3693.32, 144.242, 0.261799, 'Blacksmithing Plans - summon Black Guard Swordsmith');
-- Sleeping Giants fix
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 24669;
DELETE FROM `smart_scripts` WHERE (`entryorguid`=24669 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
(24669, 0, 0, 1, 8, 0, 100, 0, 44261, 1, 0, 0, 33, 24669, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Dormant Vrykul - Sleeping Giants quest credit'),
(24669, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Dormant Vrykul - Sleeping Giants despawn');
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=18 AND `SourceEntry`=34083;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(18, 0, 34083, 0, 24, 1, 24669, 0, 63, '', 'Awakening Rod target limit to Dormant Vrykul'); -- changed to item script by Nay, not tested.
-- Culling of Stratholme Hemotoxin SAI spell fix version
SET @ENTRY := 28199;
UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY;
DELETE FROM `creature_ai_scripts` WHERE (`creature_id`=@ENTRY);
DELETE FROM `smart_scripts` WHERE (`entryorguid`=@ENTRY);
INSERT INTO `smart_scripts` VALUES
(@ENTRY, 0, 0, 0, 9, 0, 25, 2, 0, 20, 5000, 8000, 11, 52522, 32, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Tomb Stalker - Cast Hemotoxin Normal'),
(@ENTRY, 0, 1, 0, 9, 0, 40, 4, 0, 20, 5000, 8000, 11, 58782, 32, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Tomb Stalker - Cast Hemotoxin Heroic');
DELETE FROM `creature` WHERE `id` IN (28318, 29346);
INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `modelid`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`) VALUES
(40153, 28318, 530, 1, 1, 0, 0, -1775.148438, 5548.291992, -12.428190, 4.146070, 300, 0, 0, 1, 0, 0, 0, 0, 0), -- Grand Apothecary Putress
(40251, 29346, 530, 1, 1, 0, 0, 1925, -4123.1899, 43.1780, 4.79965, 300, 0, 0, 1, 0, 0, 0, 0, 0); -- Apothecary Karlov
-- Fix NPCs falling underground when killed by nelegalno
UPDATE `creature_template` SET `InhabitType` = 3 WHERE `entry` IN (5936, 24899); -- Orca and Scoodles
-- Removes wrong restriction from G.N.E.R.D. rage
DELETE FROM `achievement_criteria_data` WHERE `criteria_id`=3882 AND `type`=16;
-- Kalu'ak Fishing Derby start time fix
UPDATE `game_event` SET `start_time` = '2011-01-01 13:00:00' WHERE `eventEntry`=63;
UPDATE `game_event` SET `start_time` = '2011-01-01 14:00:00' WHERE `eventEntry`=64;
-- Stranglethorn Fishing Extravaganza start time fix ( http://old.wowhead.com/event=301 )
UPDATE `game_event` SET `start_time` = '2011-01-01 14:00:00' WHERE `eventEntry` IN (14, 15, 62);
UPDATE `game_event` SET `description` = 'Stranglethorn Fishing Extravaganza Announce' WHERE `eventEntry`=14;
UPDATE `game_event` SET `description` = 'Stranglethorn Fishing Extravaganza Fishing Pools' WHERE `eventEntry`=15;
UPDATE `game_event` SET `description` = 'Stranglethorn Fishing Extravaganza Turn-ins' WHERE `eventEntry`=62;
-- Eitrigg's Wisdom fix
SET @GOSSIP = 21312;
SET @NPC = 3144;
SET @QUEST = 4941;
-- Add gossip options for each menu id
DELETE FROM `gossip_menu_option` WHERE `menu_id` BETWEEN @GOSSIP AND @GOSSIP+7;
INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`, `option_text`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `box_coded`, `box_money`, `box_text`) VALUES
(@GOSSIP, 0, 0, 'Hello, Eitrigg. I bring news from Blackrock Spire.', 1, 1, @GOSSIP+1, 0, 0, 0, ''),
(@GOSSIP+1, 0, 0, 'There is only one Warchief, Eitrigg!', 1, 1, @GOSSIP+2, 0, 0, 0, ''),
(@GOSSIP+2, 0, 0, 'What do you mean?', 1, 1, @GOSSIP+3, 0, 0, 0, ''),
(@GOSSIP+3, 0, 0, 'Hearthglen? But...', 1, 1, @GOSSIP+4, 0, 0, 0, ''),
(@GOSSIP+4, 0, 0, 'I will take you up on that offer, Eitrigg.', 1, 1, @GOSSIP+5, 0, 0, 0, ''),
(@GOSSIP+5, 0, 0, 'Ah, so that is how they pushed the Dark Iron to the lower parts of the Spire.', 1, 1, @GOSSIP+6, 0, 0, 0, ''),
(@GOSSIP+6, 0, 0, 'Perhaps there exists a way?', 1, 1, @GOSSIP+7, 0, 0, 0, ''),
(@GOSSIP+7, 0, 0, 'As you wish, Eitrigg.', 1, 1, 0, 0, 0, 0, '');
-- Add gossip menus (text values already in db)
DELETE FROM `gossip_menu` WHERE `entry`BETWEEN @GOSSIP+1 AND @GOSSIP+7;
INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES
(@GOSSIP+1, 3574),
(@GOSSIP+2, 3575),
(@GOSSIP+3, 3576),
(@GOSSIP+4, 3577),
(@GOSSIP+5, 3578),
(@GOSSIP+6, 3579),
(@GOSSIP+7, 3580);
-- Add Condtion so gossip only shows when on quest
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=@GOSSIP;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
(15, @GOSSIP, 0, 0, 9, 4941, 0, 0, 0, '', NULL);
-- Add SAI for quest complete and close of gossip when last option selected
UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`=@NPC;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@NPC;
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(@NPC,0,0,1,62,0,100,0,@GOSSIP+7,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0.0,0.0,0.0,0.0,'Eitrigg - Select As you wish, Eitrigg. - Close gossip'),
(@NPC,0,1,0,61,0,100,0,0,0,0,0,15,@QUEST,0,0,0,0,0,7,0,0,0,0.0,0.0,0.0,0.0,'Eitrigg - On link - Give credit quest (4941)');
@@ -0,0 +1,94 @@
-- Quest: The Black Knight's Orders (13663) SQL fix
-- Black Knights Camp Spawns
SET @OGUID=100489; -- Need 10
SET @CGUID=152277; -- Need 3
DELETE FROM `gameobject` WHERE `guid` BETWEEN @OGUID+0 AND @OGUID+9;
INSERT INTO `gameobject` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`position_x`,`position_y`,`position_z`,`orientation`,`rotation0`,`rotation1`,`rotation2`,`rotation3`,`spawntimesecs`,`animprogress`,`state`) VALUES
(@OGUID+0,194357,571,1,1,9070.324,2050.733,67.21755,0,0,0,0,1,0,0,0), -- Poison Vial
(@OGUID+1,194357,571,1,1,9073.764,2050.120,68.15718,0,0,0,0,1,0,0,0), -- Poison Vial
(@OGUID+2,194357,571,1,1,9074.699,2050.709,68.17049,0,0,0,0,1,0,0,0), -- Poison Vial
(@OGUID+3,194357,571,1,1,9069.595,2050.349,67.21755,0,0,0,0,1,0,0,0), -- Poison Vial
(@OGUID+4,194357,571,1,1,9069.961,2050.538,67.21755,0,0,0,0,1,0,0,0), -- Poison Vial
(@OGUID+5,194357,571,1,1,9072.077,2049.292,67.78963,0,0,0,0,1,0,0,0), -- Poison Vial
(@OGUID+6,194357,571,1,1,9065.680,2052.618,67.28638,0,0,0,0,1,0,0,0), -- Poison Vial
(@OGUID+7,194394,571,1,1,9083.578,2041.696,67.81812,0,0,0,0,1,0,0,0), -- Cult Rune Circle
(@OGUID+8,195011,571,1,1,9078.471,2057.547,67.21606,0,0,0,0.9981346,0.06105176,0,0,0), -- Bonfire
(@OGUID+9,300007,571,1,1,8523.51,566.994,552.841,2.1518,0,0,0.880019,0.474938,300,0,1); -- Spell Focus GO?
DELETE FROM `creature` WHERE `id`=33537;
INSERT INTO `creature` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`modelid`,`equipment_id`,`position_x`,`position_y`,`position_z`,`orientation`,`spawntimesecs`,`spawndist`,`currentwaypoint`,`curhealth`,`curmana`,`MovementType`,`npcflag`,`unit_flags`,`dynamicflags`) VALUES
(@CGUID+0,33537,571,1,1,0,0,9071.043,2075.388,67.21542,4.935980,120,0,0,1,0,0,0,0,0),
(@CGUID+1,33537,571,1,1,0,0,9074.414,2049.259,67.34636,2.181662,120,0,0,1,0,0,0,0,0),
(@CGUID+2,33537,571,1,1,0,0,9081.280,2058.925,67.38979,3.612832,120,0,0,1,0,0,0,0,0);
-- Template updates
UPDATE `creature_template` SET `unit_flags`=`unit_flags`|8,`speed_run`=4, `InhabitType`=5 WHERE `entry`=33519; -- Black Knight''s Gryphon
UPDATE `creature_template` SET `faction_A`=2080,`faction_H`=2080,`unit_flags`=`unit_flags`|32768,`equipment_id`=823 WHERE `entry`=33537; -- Cult Conspirator
-- See black knight's invisibility while on quest The Black Knight's Orders
DELETE FROM `spell_area` WHERE `spell`=67471 AND `area` IN (4658);
INSERT INTO `spell_area` (`spell`,`area`,`quest_start`,`quest_start_active`,`quest_end`,`aura_spell`,`racemask`,`gender`,`autocast`) VALUES
(67471,4658,13663,1,13663,0,0,2,1); -- See Black Knight Invis
-- Addon data
DELETE FROM `creature_template_addon` WHERE `entry` IN (33519,33537);
INSERT INTO `creature_template_addon` (`entry`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
(33519,0,0,2049,0,NULL),-- Black Knight''s Gryphon
(33537,0,1,1,0,NULL); -- Cult Conspirator
-- SAI for Black Knight''s Gryphon
SET @entry :=33519;
UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@entry;
DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`=@entry;
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,27,0,100,0,0,0,0,0,53,0,@entry,0,13663,0,0,1,0,0,0,0,0,0,0,'Black Knight''s Gryphon - On passenger - Start WP movement'),
(@entry,0,1,0,40,0,100,0,40,@entry,0,0,33,33519,0,0,0,0,0,7,0,0,0,0,0,0,0,'Black Knight''s Gryphon - On WP 40 - Quest Credit'),
(@entry,0,2,0,40,0,100,0,43,@entry,0,0,11,50630,0,0,0,0,0,7,0,0,0,0,0,0,0,'Black Knight''s Gryphon - On WP 43 - Dismount Spell'),
(@entry,0,3,0,40,0,100,0,44,@entry,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Black Knight''s Gryphon - On WP 44 - Despawn');
DELETE FROM `waypoints` WHERE `entry`=33519;
INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z`,`point_comment`) VALUES
(33519, 1,8521.271,569.5960,552.8375,'Black Knight''s Gryphon'),
(33519, 2,8517.864,579.1095,553.2125,'Black Knight''s Gryphon'),
(33519, 3,8513.146,594.6724,551.2125,'Black Knight''s Gryphon'),
(33519, 4,8505.263,606.5569,550.4177,'Black Knight''s Gryphon'),
(33519, 5,8503.017,628.4188,547.4177,'Black Knight''s Gryphon'),
(33519, 6,8480.271,652.7083,547.4177,'Black Knight''s Gryphon'),
(33519, 7,8459.121,686.1427,547.4177,'Black Knight''s Gryphon'),
(33519, 8,8436.802,713.8687,547.3428,'Black Knight''s Gryphon'),
(33519, 9,8405.380,740.0045,547.4177,'Black Knight''s Gryphon'),
(33519,10,8386.139,770.6009,547.5881,'Black Knight''s Gryphon'),
(33519,11,8374.297,802.2525,547.9304,'Black Knight''s Gryphon'),
(33519,12,8374.271,847.0363,548.0427,'Black Knight''s Gryphon'),
(33519,13,8385.988,868.9881,548.0491,'Black Knight''s Gryphon'),
(33519,14,8413.027,867.8573,547.2991,'Black Knight''s Gryphon'),
(33519,15,8452.552,869.0339,547.2991,'Black Knight''s Gryphon'),
(33519,16,8473.058,875.2012,547.2955,'Black Knight''s Gryphon'),
(33519,17,8472.278,912.3134,547.4169,'Black Knight''s Gryphon'),
(33519,18,8479.666,954.1650,547.3298,'Black Knight''s Gryphon'),
(33519,19,8477.349,1001.368,547.3372,'Black Knight''s Gryphon'),
(33519,20,8484.538,1025.797,547.4622,'Black Knight''s Gryphon'),
(33519,21,8525.363,1029.284,547.4177,'Black Knight''s Gryphon'),
(33519,22,8532.808,1052.904,548.1677,'Black Knight''s Gryphon'),
(33519,23,8537.356,1077.927,554.5791,'Black Knight''s Gryphon'),
(33519,24,8540.528,1083.379,569.6827,'Black Knight''s Gryphon'),
(33519,25,8563.641,1140.965,569.6827,'Black Knight''s Gryphon'),
(33519,26,8594.897,1205.458,569.6827,'Black Knight''s Gryphon'),
(33519,27,8617.104,1257.399,566.1833,'Black Knight''s Gryphon'),
(33519,28,8648.496,1329.349,558.0187,'Black Knight''s Gryphon'),
(33519,29,8667.723,1388.411,546.1880,'Black Knight''s Gryphon'),
(33519,30,8699.145,1474.898,528.2197,'Black Knight''s Gryphon'),
(33519,31,8726.869,1546.006,501.7741,'Black Knight''s Gryphon'),
(33519,32,8739.058,1592.157,478.5511,'Black Knight''s Gryphon'),
(33519,33,8750.799,1636.771,455.0797,'Black Knight''s Gryphon'),
(33519,34,8760.006,1669.482,423.2208,'Black Knight''s Gryphon'),
(33519,35,8783.310,1701.852,375.8872,'Black Knight''s Gryphon'),
(33519,36,8817.336,1735.731,343.3323,'Black Knight''s Gryphon'),
(33519,37,8882.320,1789.754,301.5807,'Black Knight''s Gryphon'),
(33519,38,8958.597,1841.807,259.9141,'Black Knight''s Gryphon'),
(33519,39,9045.891,1908.076,233.4143,'Black Knight''s Gryphon'),
(33519,40,9107.177,1964.594,215.9704,'Black Knight''s Gryphon'),
(33519,41,9134.763,2036.925,175.1925,'Black Knight''s Gryphon'),
(33519,42,9128.608,2089.091,141.3593,'Black Knight''s Gryphon'),
(33519,43,9093.364,2128.384,99.38685,'Black Knight''s Gryphon'),
(33519,44,9050.709,2123.656,60.24802,'Black Knight''s Gryphon');
@@ -0,0 +1,14 @@
SET @JEEVES := 35642;
SET @SPELL_GOODBYE := 68052;
DELETE FROM `spell_linked_spell` WHERE `spell_effect`=@SPELL_GOODBYE AND `spell_trigger`=-68054 AND `type`=0;
INSERT INTO `spell_linked_spell` (`spell_trigger`,`spell_effect`,`type`,`comment`) VALUES
(-68054,@SPELL_GOODBYE,0, 'Jeeves - Say Goodbye');
UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`=@JEEVES;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@JEEVES 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
(@JEEVES,0,0,0,8,0,100,0,@SPELL_GOODBYE,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Jeeves - On Spellhit - Say Line 0");
DELETE FROM `creature_text` WHERE `entry`=@JEEVES;
INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
(@JEEVES,0,0,"If you'll excuse me, I'm afraid I have other business I must attend to. Please call on me again in the future.",12,0,100,3,0,0, 'Jeeves');
@@ -0,0 +1,17 @@
-- Fix condition for Bom'bay's npc_text, gossip_menu and gossip_menu_option
-- Player must to complete quest 826 'Zalazane' to see gossip_menu_option
DELETE FROM `gossip_menu` WHERE `entry`=3062 AND `text_id` IN (3794,3795);
INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES
(3062,3794), -- text before to complete quest 826
(3062,3795); -- text after to complete quest 826
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14,15) AND `SourceGroup`=3062;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
(14,3062,3794,0,14,826,0,0,0,'', "Bom'bay - show text 3794 if player does not have quest Zalazane"),
(14,3062,3795,0,8,826,0,0,0,'', "Bom'bay - show text 3795 if player has quest Zalazane rewarded"),
(15,3062,0,0,8,826,0,0,0,'', "Bom'bay - show gossip option 0 if player has quest Zalazane rewarded"),
(15,3062,1,0,8,826,0,0,0,'', "Bom'bay - show gossip option 1 if player has quest Zalazane rewarded"),
(15,3062,2,0,8,826,0,0,0,'', "Bom'bay - show gossip option 2 if player has quest Zalazane rewarded"),
(15,3062,3,0,8,826,0,0,0,'', "Bom'bay - show gossip option 3 if player has quest Zalazane rewarded"),
(15,3062,4,0,8,826,0,0,0,'', "Bom'bay - show gossip option 4 if player has quest Zalazane rewarded"),
(15,3062,5,0,8,826,0,0,0,'', "Bom'bay - show gossip option 5 if player has quest Zalazane rewarded"),
(15,3062,6,0,8,826,0,0,0,'', "Bom'bay - show gossip option 6 if player has quest Zalazane rewarded");
@@ -543,7 +543,6 @@ bool npc_escortAI::GetWaypointPosition(uint32 pointId, float& x, float& y, float
if (waypoints.empty())
return false;
ScriptPointVector::const_iterator itrEnd = waypoints.end();
for (ScriptPointVector::const_iterator itr = waypoints.begin(); itr != waypoints.end(); ++itr)
{
if (itr->uiPointId == pointId)
@@ -1075,7 +1075,6 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui
AchievementCriteriaDataSet const* data = sAchievementMgr->GetCriteriaDataSet(achievementCriteria);
if (!data || !data->Meets(GetPlayer(), unit))
continue;
break;
}
SetCriteriaProgress(achievementCriteria, 1);
@@ -122,28 +122,29 @@ bool ChatHandler::HandleGMTicketCloseByIdCommand(const char* args)
return true;
}
// Ticket must be assigned to player, who tries to close it.
uint64 guid = m_session->GetPlayer()->GetGUID();
if (ticket->IsAssignedNotTo(guid))
// Ticket should be assigned to the player who tries to close it.
// Console can override though
Player* player = m_session ? m_session->GetPlayer() : NULL;
if (player && ticket->IsAssignedNotTo(player->GetGUID()))
{
PSendSysMessage(LANG_COMMAND_TICKETCANNOTCLOSE, ticket->GetId());
return true;
}
sTicketMgr->CloseTicket(ticket->GetId(), guid);
sTicketMgr->CloseTicket(ticket->GetId(), player ? player->GetGUID() : -1);
sTicketMgr->UpdateLastChange();
std::string msg = ticket->FormatMessageString(*this, m_session->GetPlayer()->GetName(), NULL, NULL, NULL);
std::string msg = ticket->FormatMessageString(*this, player ? player->GetName() : "Console", NULL, NULL, NULL);
SendGlobalGMSysMessage(msg.c_str());
// Inform player, who submitted this ticket, that it is closed
if (Player* player = ticket->GetPlayer())
if (Player* submitter = ticket->GetPlayer())
{
if (player->IsInWorld())
if (submitter->IsInWorld())
{
WorldPacket data(SMSG_GMTICKET_DELETETICKET, 4);
data << uint32(GMTICKET_RESPONSE_TICKET_DELETED);
player->GetSession()->SendPacket(&data);
submitter->GetSession()->SendPacket(&data);
}
}
return true;
+1
View File
@@ -908,6 +908,7 @@ bool Guardian::InitStatsForLevel(uint8 petlevel)
SetCreateHealth(40*petlevel);
SetCreateMana(28 + 10*petlevel);
}
SetBonusDamage(m_owner->SpellBaseDamageBonus(SPELL_SCHOOL_MASK_FIRE) * 0.5f);
SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, float(petlevel * 4 - petlevel));
SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, float(petlevel * 4 + petlevel));
break;
+10 -17
View File
@@ -1850,7 +1850,7 @@ void Player::setDeathState(DeathState s)
SetUInt32Value(PLAYER_SELF_RES_SPELL, 0);
}
bool Player::BuildEnumData(QueryResult result, WorldPacket* data)
bool Player::BuildEnumData(PreparedQueryResult result, WorldPacket* data)
{
// 0 1 2 3 4 5 6 7
// "SELECT characters.guid, characters.name, characters.race, characters.class, characters.gender, characters.playerBytes, characters.playerBytes2, characters.level, "
@@ -1894,8 +1894,8 @@ bool Player::BuildEnumData(QueryResult result, WorldPacket* data)
*data << uint8(playerBytes2 & 0xFF); // facial hair
*data << uint8(fields[7].GetUInt8()); // level
*data << uint32(fields[8].GetUInt32()); // zone
*data << uint32(fields[9].GetUInt32()); // map
*data << uint32(fields[8].GetUInt16()); // zone
*data << uint32(fields[9].GetUInt16()); // map
*data << fields[10].GetFloat(); // x
*data << fields[11].GetFloat(); // y
@@ -12863,6 +12863,8 @@ void Player::SwapItem(uint16 src, uint16 dst)
RemoveItem(srcbag, srcslot, true);
StoreItem(dest, pSrcItem, true);
if (IsBankPos(src))
ItemAddedQuestCheck(pSrcItem->GetEntry(), pSrcItem->GetCount());
}
else if (IsBankPos (dst))
{
@@ -12876,6 +12878,7 @@ void Player::SwapItem(uint16 src, uint16 dst)
RemoveItem(srcbag, srcslot, true);
BankItem(dest, pSrcItem, true);
ItemRemovedQuestCheck(pSrcItem->GetEntry(), pSrcItem->GetCount());
}
else if (IsEquipmentPos (dst))
{
@@ -13300,11 +13303,7 @@ void Player::UpdateSoulboundTradeItems()
// also checks for garbage data
for (ItemDurationList::iterator itr = m_itemSoulboundTradeable.begin(); itr != m_itemSoulboundTradeable.end();)
{
if (!*itr)
{
m_itemSoulboundTradeable.erase(itr++);
continue;
}
ASSERT(*itr);
if ((*itr)->GetOwnerGUID() != GetGUID())
{
m_itemSoulboundTradeable.erase(itr++);
@@ -13319,16 +13318,10 @@ void Player::UpdateSoulboundTradeItems()
}
}
//TODO: should never allow an item to be added to m_itemSoulboundTradeable twice
void Player::RemoveTradeableItem(Item* item)
{
for (ItemDurationList::iterator itr = m_itemSoulboundTradeable.begin(); itr != m_itemSoulboundTradeable.end(); ++itr)
{
if ((*itr) == item)
{
m_itemSoulboundTradeable.erase(itr);
break;
}
}
m_itemSoulboundTradeable.remove(item);
}
void Player::UpdateItemDuration(uint32 time, bool realtimeonly)
@@ -18903,7 +18896,7 @@ void Player::_SaveSkills(SQLTransaction& trans)
void Player::_SaveSpells(SQLTransaction& trans)
{
for (PlayerSpellMap::iterator itr = m_spells.begin(), next = m_spells.begin(); itr != m_spells.end();)
for (PlayerSpellMap::iterator itr = m_spells.begin(); itr != m_spells.end();)
{
if (itr->second->state == PLAYERSPELL_REMOVED || itr->second->state == PLAYERSPELL_CHANGED)
trans->PAppend("DELETE FROM character_spell WHERE guid = '%u' and spell = '%u'", GetGUIDLow(), itr->first);
+2 -2
View File
@@ -1111,7 +1111,7 @@ class Player : public Unit, public GridObject<Player>
void Update(uint32 time);
static bool BuildEnumData(QueryResult result, WorldPacket* data);
static bool BuildEnumData(PreparedQueryResult result, WorldPacket* data);
void SetInWater(bool apply);
@@ -2500,7 +2500,7 @@ class Player : public Unit, public GridObject<Player>
CreatureDisplayInfoEntry const* mountDisplayInfo = sCreatureDisplayInfoStore.LookupEntry(GetUInt32Value(UNIT_FIELD_MOUNTDISPLAYID));
if (!mountDisplayInfo)
return GetCollisionHeight(false);
CreatureModelDataEntry const* mountModelData = sCreatureModelDataStore.LookupEntry(mountDisplayInfo->ModelId);
if (!mountModelData)
return GetCollisionHeight(false);
+4 -9
View File
@@ -1926,12 +1926,7 @@ void Unit::AttackerStateUpdate (Unit* victim, WeaponAttackType attType, bool ext
CombatStart(victim);
RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_MELEE_ATTACK);
uint32 hitInfo;
if (attType == BASE_ATTACK)
hitInfo = HITINFO_NORMALSWING2;
else if (attType == OFF_ATTACK)
hitInfo = HITINFO_LEFTSWING;
else
if (attType != BASE_ATTACK && attType != OFF_ATTACK)
return; // ignore ranged case
// melee attack spell casted at main hand attack only - no normal melee dmg dealt
@@ -5474,7 +5469,7 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere
case CLASS_DRUID:
RandomSpells.push_back(71484);
RandomSpells.push_back(71485);
RandomSpells.push_back(71486);
RandomSpells.push_back(71492);
break;
case CLASS_HUNTER:
RandomSpells.push_back(71486);
@@ -5520,7 +5515,7 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere
case CLASS_DRUID:
RandomSpells.push_back(71561);
RandomSpells.push_back(71556);
RandomSpells.push_back(71558);
RandomSpells.push_back(71560);
break;
case CLASS_HUNTER:
RandomSpells.push_back(71558);
@@ -6502,7 +6497,7 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere
RemoveAura(57934);
if (!redirectTarget)
break;
redirectTarget->CastSpell(this,59628,true);
CastSpell(this,59628,true);
CastSpell(redirectTarget,57933,true);
break;
}
+2 -2
View File
@@ -3818,11 +3818,11 @@ void ObjectMgr::LoadQuests()
// no changes, quest not dependent from this value but can have problems at client (note some may be 0, we must allow this so no check)
}
//check for proper RequiredSkillId value (skill case)
if (int32 skill_id = SkillByQuestSort(-int32(qinfo->ZoneOrSort)))
if (uint32 skill_id = SkillByQuestSort(-int32(qinfo->ZoneOrSort)))
{
if (qinfo->RequiredSkillId != skill_id)
{
sLog->outErrorDb("Quest %u has `ZoneOrSort` = %i but `RequiredSkillId` does not have a corresponding value (%i).",
sLog->outErrorDb("Quest %u has `ZoneOrSort` = %i but `RequiredSkillId` does not have a corresponding value (%d).",
qinfo->GetQuestId(), qinfo->ZoneOrSort, skill_id);
//override, and force proper value here?
}
+8
View File
@@ -30,6 +30,7 @@
#include "MapManager.h"
#include "ObjectMgr.h"
#include "Group.h"
#include "LFGMgr.h"
union u_map_magic
{
@@ -2318,6 +2319,13 @@ bool InstanceMap::AddPlayerToMap(Player* player)
ASSERT(playerBind->save == mapSave);
}
}
if (group && group->isLFGGroup())
if (uint32 dungeonId = sLFGMgr->GetDungeon(group->GetGUID(), true))
if (LFGDungeonEntry const* dungeon = sLFGDungeonStore.LookupEntry(dungeonId))
if (LFGDungeonEntry const* randomDungeon = sLFGDungeonStore.LookupEntry(*(sLFGMgr->GetSelectedDungeons(player->GetGUID()).begin())))
if (dungeon->map == GetId() && dungeon->difficulty == GetDifficulty() && randomDungeon->type == LFG_TYPE_RANDOM)
player->CastSpell(player, LFG_SPELL_LUCK_OF_THE_DRAW, true);
}
// for normal instances cancel the reset schedule when the
+2 -1
View File
@@ -946,8 +946,9 @@ enum TrinityStrings
LANG_GOINFO_NAME = 5027,
LANG_GOINFO_LOOTID = 5028,
LANG_COMMAND_LOOKUP_MAX_RESULTS = 5029,
// Room for more Trinity strings 5030-9999
LANG_FLEE = 5030,
LANG_NPCINFO_AIINFO = 5031,
// Room for more Trinity strings 5032-9999
// Level requirement notifications
LANG_SAY_REQ = 6604,
@@ -47,11 +47,10 @@ template<>
void
RandomMovementGenerator<Creature>::_setRandomLocation(Creature &creature)
{
float X, Y, Z, z, nx, ny, nz, ori, dist;
float X, Y, Z, nx, ny, nz, ori, dist;
creature.GetHomePosition(X, Y, Z, ori);
z = creature.GetPositionZ();
Map const* map = creature.GetBaseMap();
// For 2D/3D system selection
@@ -196,7 +196,7 @@ bool LoginQueryHolder::Initialize()
return res;
}
void WorldSession::HandleCharEnum(QueryResult result)
void WorldSession::HandleCharEnum(PreparedQueryResult result)
{
WorldPacket data(SMSG_CHAR_ENUM, 100); // we guess size
@@ -232,35 +232,16 @@ void WorldSession::HandleCharEnumOpcode(WorldPacket & /*recv_data*/)
CharacterDatabase.Execute(stmt);
/// get all the data necessary for loading all characters (along with their pets) on the account
_charEnumCallback =
CharacterDatabase.AsyncPQuery(
!sWorld->getBoolConfig(CONFIG_DECLINED_NAMES_USED) ?
// ------- Query Without Declined Names --------
// 0 1 2 3 4 5 6 7
"SELECT characters.guid, characters.name, characters.race, characters.class, characters.gender, characters.playerBytes, characters.playerBytes2, characters.level, "
// 8 9 10 11 12 13 14
"characters.zone, characters.map, characters.position_x, characters.position_y, characters.position_z, guild_member.guildid, characters.playerFlags, "
// 15 16 17 18 19 20
"characters.at_login, character_pet.entry, character_pet.modelid, character_pet.level, characters.equipmentCache, character_banned.guid "
"FROM characters LEFT JOIN character_pet ON characters.guid=character_pet.owner AND character_pet.slot='%u' "
"LEFT JOIN guild_member ON characters.guid = guild_member.guid "
"LEFT JOIN character_banned ON characters.guid = character_banned.guid AND character_banned.active = 1 "
"WHERE characters.account = '%u' ORDER BY characters.guid"
:
// --------- Query With Declined Names ---------
// 0 1 2 3 4 5 6 7
"SELECT characters.guid, characters.name, characters.race, characters.class, characters.gender, characters.playerBytes, characters.playerBytes2, characters.level, "
// 8 9 10 11 12 13 14
"characters.zone, characters.map, characters.position_x, characters.position_y, characters.position_z, guild_member.guildid, characters.playerFlags, "
// 15 16 17 18 19 20 21
"characters.at_login, character_pet.entry, character_pet.modelid, character_pet.level, characters.equipmentCache, character_banned.guid, character_declinedname.genitive "
"FROM characters LEFT JOIN character_pet ON characters.guid = character_pet.owner AND character_pet.slot='%u' "
"LEFT JOIN character_declinedname ON characters.guid = character_declinedname.guid "
"LEFT JOIN guild_member ON characters.guid = guild_member.guid "
"LEFT JOIN character_banned ON characters.guid = character_banned.guid AND character_banned.active = 1 "
"WHERE characters.account = '%u' ORDER BY characters.guid",
PET_SAVE_AS_CURRENT, GetAccountId()
);
if (sWorld->getBoolConfig(CONFIG_DECLINED_NAMES_USED))
stmt = CharacterDatabase.GetPreparedStatement(CHAR_GET_ENUM_DECLINED_NAME);
else
stmt = CharacterDatabase.GetPreparedStatement(CHAR_GET_ENUM);
stmt->setUInt8(0, PET_SAVE_AS_CURRENT);
stmt->setUInt32(1, GetAccountId());
_charEnumCallback = CharacterDatabase.AsyncQuery(stmt);
}
void WorldSession::HandleCharCreateOpcode(WorldPacket & recv_data)
@@ -1102,13 +1083,13 @@ void WorldSession::HandleShowingCloakOpcode(WorldPacket& recv_data)
void WorldSession::HandleCharRenameOpcode(WorldPacket& recv_data)
{
uint64 guid;
std::string newname;
std::string newName;
recv_data >> guid;
recv_data >> newname;
recv_data >> newName;
// prevent character rename to invalid name
if (!normalizePlayerName(newname))
if (!normalizePlayerName(newName))
{
WorldPacket data(SMSG_CHAR_RENAME, 1);
data << uint8(CHAR_NAME_NO_NAME);
@@ -1116,7 +1097,7 @@ void WorldSession::HandleCharRenameOpcode(WorldPacket& recv_data)
return;
}
uint8 res = ObjectMgr::CheckPlayerName(newname, true);
uint8 res = ObjectMgr::CheckPlayerName(newName, true);
if (res != CHAR_NAME_SUCCESS)
{
WorldPacket data(SMSG_CHAR_RENAME, 1);
@@ -1126,7 +1107,7 @@ void WorldSession::HandleCharRenameOpcode(WorldPacket& recv_data)
}
// check name limitations
if (AccountMgr::IsPlayerAccount(GetSecurity()) && sObjectMgr->IsReservedName(newname))
if (AccountMgr::IsPlayerAccount(GetSecurity()) && sObjectMgr->IsReservedName(newName))
{
WorldPacket data(SMSG_CHAR_RENAME, 1);
data << uint8(CHAR_NAME_RESERVED);
@@ -1134,21 +1115,22 @@ void WorldSession::HandleCharRenameOpcode(WorldPacket& recv_data)
return;
}
std::string escaped_newname = newname;
CharacterDatabase.EscapeString(escaped_newname);
// make sure that the character belongs to the current account, that rename at login is enabled
// Ensure that the character belongs to the current account, that rename at login is enabled
// and that there is no character with the desired new name
_charRenameCallback.SetParam(newname);
_charRenameCallback.SetFutureResult(
CharacterDatabase.AsyncPQuery(
"SELECT guid, name FROM characters WHERE guid = %d AND account = %d AND (at_login & %d) = %d AND NOT EXISTS (SELECT NULL FROM characters WHERE name = '%s')",
GUID_LOPART(guid), GetAccountId(), AT_LOGIN_RENAME, AT_LOGIN_RENAME, escaped_newname.c_str()
)
);
_charRenameCallback.SetParam(newName);
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_GET_FREE_NAME);
stmt->setUInt32(0, GUID_LOPART(guid));
stmt->setUInt32(1, GetAccountId());
stmt->setUInt16(2, AT_LOGIN_RENAME);
stmt->setUInt16(3, AT_LOGIN_RENAME);
stmt->setString(4, newName);
_charRenameCallback.SetFutureResult(CharacterDatabase.AsyncQuery(stmt));
}
void WorldSession::HandleChangePlayerNameOpcodeCallBack(QueryResult result, std::string newname)
void WorldSession::HandleChangePlayerNameOpcodeCallBack(PreparedQueryResult result, std::string newName)
{
if (!result)
{
@@ -1158,22 +1140,38 @@ void WorldSession::HandleChangePlayerNameOpcodeCallBack(QueryResult result, std:
return;
}
uint32 guidLow = result->Fetch()[0].GetUInt32();
Field* fields = result->Fetch();
uint32 guidLow = fields[0].GetUInt32();
std::string oldName = fields[1].GetString();
uint64 guid = MAKE_NEW_GUID(guidLow, 0, HIGHGUID_PLAYER);
std::string oldname = result->Fetch()[1].GetString();
CharacterDatabase.PExecute("UPDATE characters set name = '%s', at_login = at_login & ~ %u WHERE guid ='%u'", newname.c_str(), uint32(AT_LOGIN_RENAME), guidLow);
CharacterDatabase.PExecute("DELETE FROM character_declinedname WHERE guid ='%u'", guidLow);
// Update name and at_login flag in the db
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPDATE_NAME);
sLog->outChar("Account: %d (IP: %s) Character:[%s] (guid:%u) Changed name to: %s", GetAccountId(), GetRemoteAddress().c_str(), oldname.c_str(), guidLow, newname.c_str());
stmt->setString(0, newName);
stmt->setUInt16(1, AT_LOGIN_RENAME);
stmt->setUInt32(2, guidLow);
WorldPacket data(SMSG_CHAR_RENAME, 1+8+(newname.size()+1));
CharacterDatabase.Execute(stmt);
// Removed declined name from db
stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_DECLINED_NAME);
stmt->setUInt32(0, guidLow);
CharacterDatabase.Execute(stmt);
sLog->outChar("Account: %d (IP: %s) Character:[%s] (guid:%u) Changed name to: %s", GetAccountId(), GetRemoteAddress().c_str(), oldName.c_str(), guidLow, newName.c_str());
WorldPacket data(SMSG_CHAR_RENAME, 1+8+(newName.size()+1));
data << uint8(RESPONSE_SUCCESS);
data << uint64(guid);
data << newname;
data << newName;
SendPacket(&data);
sWorld->UpdateCharacterNameData(guidLow, newname);
sWorld->UpdateCharacterNameData(guidLow, newName);
}
void WorldSession::HandleSetPlayerDeclinedNames(WorldPacket& recv_data)
@@ -938,6 +938,7 @@ void WorldSession::HandleAutoBankItemOpcode(WorldPacket& recvPacket)
}
_player->RemoveItem(srcbag, srcslot, true);
_player->ItemRemovedQuestCheck(pItem->GetEntry(), pItem->GetCount());
_player->BankItem(dest, pItem, true);
}
@@ -965,6 +966,7 @@ void WorldSession::HandleAutoStoreBankItemOpcode(WorldPacket& recvPacket)
_player->RemoveItem(srcbag, srcslot, true);
_player->StoreItem(dest, pItem, true);
_player->ItemAddedQuestCheck(pItem->GetEntry(), pItem->GetCount());
}
else // moving from inventory to bank
{
@@ -613,22 +613,24 @@ void WorldSession::HandleAddIgnoreOpcode(WorldPacket & recv_data)
{
sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_ADD_IGNORE");
std::string IgnoreName = GetTrinityString(LANG_FRIEND_IGNORE_UNKNOWN);
std::string ignoreName = GetTrinityString(LANG_FRIEND_IGNORE_UNKNOWN);
recv_data >> IgnoreName;
recv_data >> ignoreName;
if (!normalizePlayerName(IgnoreName))
if (!normalizePlayerName(ignoreName))
return;
CharacterDatabase.EscapeString(IgnoreName); // prevent SQL injection - normal name must not be changed by this call
sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: %s asked to Ignore: '%s'",
GetPlayer()->GetName(), IgnoreName.c_str());
GetPlayer()->GetName(), ignoreName.c_str());
_addIgnoreCallback = CharacterDatabase.AsyncPQuery("SELECT guid FROM characters WHERE name = '%s'", IgnoreName.c_str());
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_GET_GUID_BY_NAME);
stmt->setString(0, ignoreName);
_addIgnoreCallback = CharacterDatabase.AsyncQuery(stmt);
}
void WorldSession::HandleAddIgnoreOpcodeCallBack(QueryResult result)
void WorldSession::HandleAddIgnoreOpcodeCallBack(PreparedQueryResult result)
{
if (!GetPlayer())
return;
@@ -618,39 +618,43 @@ void WorldSession::HandleStablePet(WorldPacket & recv_data)
return;
}
_stablePetCallback = CharacterDatabase.AsyncPQuery("SELECT owner, slot, id FROM character_pet WHERE owner = '%u' AND slot >= '%u' AND slot <= '%u' ORDER BY slot ",
_player->GetGUIDLow(), PET_SAVE_FIRST_STABLE_SLOT, PET_SAVE_LAST_STABLE_SLOT);
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_GET_PET_SLOTS);
stmt->setUInt32(0, _player->GetGUIDLow());
stmt->setUInt8(1, PET_SAVE_FIRST_STABLE_SLOT);
stmt->setUInt8(2, PET_SAVE_LAST_STABLE_SLOT);
_stablePetCallback = CharacterDatabase.AsyncQuery(stmt);
}
void WorldSession::HandleStablePetCallback(QueryResult result)
void WorldSession::HandleStablePetCallback(PreparedQueryResult result)
{
if (!GetPlayer())
return;
uint32 free_slot = 1;
uint8 freeSlot = 1;
if (result)
{
do
{
Field* fields = result->Fetch();
uint32 slot = fields[1].GetUInt32();
uint8 slot = fields[1].GetUInt8();
// slots ordered in query, and if not equal then free
if (slot != free_slot)
if (slot != freeSlot)
break;
// this slot not free, skip
++free_slot;
++freeSlot;
}
while (result->NextRow());
}
WorldPacket data(SMSG_STABLE_RESULT, 1);
if (free_slot > 0 && free_slot <= GetPlayer()->m_stableSlots)
if (freeSlot > 0 && freeSlot <= GetPlayer()->m_stableSlots)
{
_player->RemovePet(_player->GetPet(), PetSaveMode(free_slot));
_player->RemovePet(_player->GetPet(), PetSaveMode(freeSlot));
SendStableResult(STABLE_SUCCESS_STABLE);
}
else
@@ -878,19 +882,18 @@ void WorldSession::HandleRepairItemOpcode(WorldPacket & recv_data)
// reputation discount
float discountMod = _player->GetReputationPriceDiscount(unit);
uint32 TotalCost = 0;
if (itemGUID)
{
sLog->outDebug(LOG_FILTER_NETWORKIO, "ITEM: Repair item, itemGUID = %u, npcGUID = %u", GUID_LOPART(itemGUID), GUID_LOPART(npcGUID));
Item* item = _player->GetItemByGuid(itemGUID);
if (item)
TotalCost = _player->DurabilityRepair(item->GetPos(), true, discountMod, guildBank);
_player->DurabilityRepair(item->GetPos(), true, discountMod, guildBank);
}
else
{
sLog->outDebug(LOG_FILTER_NETWORKIO, "ITEM: Repair all items, npcGUID = %u", GUID_LOPART(npcGUID));
TotalCost = _player->DurabilityRepairAll(true, discountMod, guildBank);
_player->DurabilityRepairAll(true, discountMod, guildBank);
}
}
@@ -311,21 +311,17 @@ void WorldSession::SendPetitionQueryOpcode(uint64 petitionguid)
uint64 ownerguid = 0;
uint32 type;
std::string name = "NO_NAME_FOR_GUID";
uint8 signs = 0;
QueryResult result = CharacterDatabase.PQuery(
"SELECT ownerguid, name, "
" (SELECT COUNT(playerguid) FROM petition_sign WHERE petition_sign.petitionguid = '%u') AS signs, "
" type "
"FROM petition WHERE petitionguid = '%u'", GUID_LOPART(petitionguid), GUID_LOPART(petitionguid));
// TODO: Use CHAR_LOAD_PETITION PS
QueryResult result = CharacterDatabase.PQuery("SELECT ownerguid, name, type "
"FROM petition WHERE petitionguid = '%u'", GUID_LOPART(petitionguid));
if (result)
{
Field* fields = result->Fetch();
ownerguid = MAKE_NEW_GUID(fields[0].GetUInt32(), 0, HIGHGUID_PLAYER);
name = fields[1].GetString();
signs = fields[2].GetUInt8();
type = fields[3].GetUInt32();
type = fields[2].GetUInt32();
}
else
{
+9 -8
View File
@@ -998,12 +998,13 @@ void WorldSession::InitializeQueryCallbackParameters()
void WorldSession::ProcessQueryCallbacks()
{
QueryResult result;
PreparedQueryResult result2;
//! HandleCharEnumOpcode
if (_charEnumCallback.ready())
{
_charEnumCallback.get(result);
HandleCharEnum(result);
_charEnumCallback.get(result2);
HandleCharEnum(result2);
_charEnumCallback.cancel();
}
@@ -1037,16 +1038,16 @@ void WorldSession::ProcessQueryCallbacks()
if (_charRenameCallback.IsReady())
{
std::string param = _charRenameCallback.GetParam();
_charRenameCallback.GetResult(result);
HandleChangePlayerNameOpcodeCallBack(result, param);
_charRenameCallback.GetResult(result2);
HandleChangePlayerNameOpcodeCallBack(result2, param);
_charRenameCallback.FreeResult();
}
//- HandleCharAddIgnoreOpcode
if (_addIgnoreCallback.ready())
{
_addIgnoreCallback.get(result);
HandleAddIgnoreOpcodeCallBack(result);
_addIgnoreCallback.get(result2);
HandleAddIgnoreOpcodeCallBack(result2);
_addIgnoreCallback.cancel();
}
@@ -1062,8 +1063,8 @@ void WorldSession::ProcessQueryCallbacks()
//- HandleStablePet
if (_stablePetCallback.ready())
{
_stablePetCallback.get(result);
HandleStablePetCallback(result);
_stablePetCallback.get(result2);
HandleStablePetCallback(result2);
_stablePetCallback.cancel();
}
+8 -9
View File
@@ -400,7 +400,7 @@ class WorldSession
void HandleCharCreateOpcode(WorldPacket& recvPacket);
void HandleCharCreateCallback(PreparedQueryResult result, CharacterCreateInfo* createInfo);
void HandlePlayerLoginOpcode(WorldPacket& recvPacket);
void HandleCharEnum(QueryResult result);
void HandleCharEnum(PreparedQueryResult result);
void HandlePlayerLogin(LoginQueryHolder * holder);
void HandleCharFactionOrRaceChange(WorldPacket& recv_data);
@@ -472,7 +472,7 @@ class WorldSession
void HandleAddFriendOpcodeCallBack(QueryResult result, std::string friendNote);
void HandleDelFriendOpcode(WorldPacket& recvPacket);
void HandleAddIgnoreOpcode(WorldPacket& recvPacket);
void HandleAddIgnoreOpcodeCallBack(QueryResult result);
void HandleAddIgnoreOpcodeCallBack(PreparedQueryResult result);
void HandleDelIgnoreOpcode(WorldPacket& recvPacket);
void HandleSetContactNotesOpcode(WorldPacket& recvPacket);
void HandleBugOpcode(WorldPacket& recvPacket);
@@ -588,7 +588,7 @@ class WorldSession
void HandleBinderActivateOpcode(WorldPacket& recvPacket);
void HandleListStabledPetsOpcode(WorldPacket& recvPacket);
void HandleStablePet(WorldPacket& recvPacket);
void HandleStablePetCallback(QueryResult result);
void HandleStablePetCallback(PreparedQueryResult result);
void HandleUnstablePet(WorldPacket& recvPacket);
void HandleUnstablePetCallback(QueryResult result, uint32 petnumber);
void HandleBuyStableSlot(WorldPacket& recvPacket);
@@ -747,7 +747,7 @@ class WorldSession
void HandleSetActionBarToggles(WorldPacket& recv_data);
void HandleCharRenameOpcode(WorldPacket& recv_data);
void HandleChangePlayerNameOpcodeCallBack(QueryResult result, std::string newname);
void HandleChangePlayerNameOpcodeCallBack(PreparedQueryResult result, std::string newName);
void HandleSetPlayerDeclinedNames(WorldPacket& recv_data);
void HandleTotemDestroyed(WorldPacket& recv_data);
@@ -896,11 +896,10 @@ class WorldSession
void InitializeQueryCallbackParameters();
void ProcessQueryCallbacks();
ACE_Future_Set<QueryResult> _nameQueryCallbacks;
QueryResultFuture _charEnumCallback;
QueryResultFuture _addIgnoreCallback;
QueryResultFuture _stablePetCallback;
QueryCallback<QueryResult, std::string> _charRenameCallback;
PreparedQueryResultFuture _charEnumCallback;
PreparedQueryResultFuture _addIgnoreCallback;
PreparedQueryResultFuture _stablePetCallback;
QueryCallback<PreparedQueryResult, std::string> _charRenameCallback;
QueryCallback<QueryResult, std::string> _addFriendCallback;
QueryCallback<QueryResult, uint32> _unstablePetCallback;
QueryCallback<QueryResult, uint32> _stableSwapCallback;
@@ -1518,7 +1518,7 @@ void AuraEffect::HandleShapeshiftBoosts(Unit* target, bool apply) const
spellId3 = 47180;
break;
}
target->CastSpell(target, spellId, true, NULL, this);
target->CastSpell(target, spellId3, true, NULL, this);
}
// Master Shapeshifter - Cat
if (AuraEffect const* aurEff = target->GetDummyAuraEffect(SPELLFAMILY_GENERIC, 2851, 0))
@@ -4804,8 +4804,10 @@ void AuraEffect::HandleAuraDummy(AuraApplication const* aurApp, uint8 mode, bool
if (Aura* newAura = target->AddAura(71564, target))
newAura->SetStackAmount(newAura->GetSpellInfo()->StackAmount);
break;
case 59628: // Tricks of the Trade
target->SetReducedThreatPercent(100,caster->GetGUID());
case 59628: // Tricks of the Trade
if (!caster->GetMisdirectionTarget())
break;
target->SetReducedThreatPercent(100,caster->GetMisdirectionTarget()->GetGUID());
break;
}
}
@@ -4958,9 +4960,14 @@ void AuraEffect::HandleAuraDummy(AuraApplication const* aurApp, uint8 mode, bool
// Tricks of the trade
switch(GetId())
{
case 59628:
case 57934:
case 59628: //Tricks of the trade buff on rogue (6sec duration)
target->SetReducedThreatPercent(0,0);
break;
case 57934: //Tricks of the trade buff on rogue (30sec duration)
if (aurApp->GetRemoveMode() == AURA_REMOVE_BY_EXPIRE || !caster->GetMisdirectionTarget())
target->SetReducedThreatPercent(0,0);
else
target->SetReducedThreatPercent(0,caster->GetMisdirectionTarget()->GetGUID());
break;
}
default:
+58 -40
View File
@@ -606,57 +606,67 @@ void Spell::EffectSchoolDMG(SpellEffIndex effIndex)
case SPELLFAMILY_ROGUE:
{
// Envenom
if (m_caster->GetTypeId() == TYPEID_PLAYER && (m_spellInfo->SpellFamilyFlags[1] & 0x8))
if (m_spellInfo->SpellFamilyFlags[1] & 0x00000008)
{
// consume from stack dozes not more that have combo-points
if (uint32 combo = m_caster->ToPlayer()->GetComboPoints())
if (Player* player = m_caster->ToPlayer())
{
// Lookup for Deadly poison (only attacker applied)
if (AuraEffect const* aurEff = unitTarget->GetAuraEffect(SPELL_AURA_PERIODIC_DAMAGE, SPELLFAMILY_ROGUE, 0x10000, 0, 0, m_caster->GetGUID()))
// consume from stack dozes not more that have combo-points
if (uint32 combo = player->GetComboPoints())
{
// count consumed deadly poison doses at target
bool needConsume = true;
uint32 spellId = aurEff->GetId();
uint32 doses = aurEff->GetBase()->GetStackAmount();
if (doses > combo)
doses = combo;
// Master Poisoner
Unit::AuraEffectList const& auraList = m_caster->ToPlayer()->GetAuraEffectsByType(SPELL_AURA_MOD_AURA_DURATION_BY_DISPEL_NOT_STACK);
for (Unit::AuraEffectList::const_iterator iter = auraList.begin(); iter != auraList.end(); ++iter)
// Lookup for Deadly poison (only attacker applied)
if (AuraEffect const* aurEff = unitTarget->GetAuraEffect(SPELL_AURA_PERIODIC_DAMAGE, SPELLFAMILY_ROGUE, 0x00010000, 0, 0, m_caster->GetGUID()))
{
if ((*iter)->GetSpellInfo()->SpellFamilyName == SPELLFAMILY_ROGUE && (*iter)->GetSpellInfo()->SpellIconID == 1960)
// count consumed deadly poison doses at target
bool needConsume = true;
uint32 spellId = aurEff->GetId();
uint32 doses = aurEff->GetBase()->GetStackAmount();
if (doses > combo)
doses = combo;
// Master Poisoner
Unit::AuraEffectList const& auraList = player->GetAuraEffectsByType(SPELL_AURA_MOD_AURA_DURATION_BY_DISPEL_NOT_STACK);
for (Unit::AuraEffectList::const_iterator iter = auraList.begin(); iter != auraList.end(); ++iter)
{
uint32 chance = (*iter)->GetSpellInfo()->Effects[EFFECT_2].CalcValue(m_caster);
if ((*iter)->GetSpellInfo()->SpellFamilyName == SPELLFAMILY_ROGUE && (*iter)->GetSpellInfo()->SpellIconID == 1960)
{
uint32 chance = (*iter)->GetSpellInfo()->Effects[EFFECT_2].CalcValue(m_caster);
if (chance && roll_chance_i(chance))
needConsume = false;
if (chance && roll_chance_i(chance))
needConsume = false;
break;
break;
}
}
if (needConsume)
for (uint32 i = 0; i < doses; ++i)
unitTarget->RemoveAuraFromStack(spellId);
damage *= doses;
damage += int32(player->GetTotalAttackPowerValue(BASE_ATTACK) * 0.09f * combo);
}
if (needConsume)
for (uint32 i = 0; i < doses; ++i)
unitTarget->RemoveAuraFromStack(spellId);
damage *= doses;
damage += int32(((Player*)m_caster)->GetTotalAttackPowerValue(BASE_ATTACK) * 0.09f * doses);
// Eviscerate and Envenom Bonus Damage (item set effect)
if (m_caster->HasAura(37169))
damage += combo * 40;
}
// Eviscerate and Envenom Bonus Damage (item set effect)
if (m_caster->HasAura(37169))
damage += ((Player*)m_caster)->GetComboPoints()*40;
}
}
// Eviscerate
else if ((m_spellInfo->SpellFamilyFlags[0] & 0x00020000) && m_caster->GetTypeId() == TYPEID_PLAYER)
else if (m_spellInfo->SpellFamilyFlags[0] & 0x00020000)
{
if (uint32 combo = ((Player*)m_caster)->GetComboPoints())
if (m_caster->GetTypeId() == TYPEID_PLAYER)
{
float ap = m_caster->GetTotalAttackPowerValue(BASE_ATTACK);
damage += irand(int32(ap * combo * 0.03f), int32(ap * combo * 0.07f));
if (uint32 combo = ((Player*)m_caster)->GetComboPoints())
{
float ap = m_caster->GetTotalAttackPowerValue(BASE_ATTACK);
damage += irand(int32(ap * combo * 0.03f), int32(ap * combo * 0.07f));
// Eviscerate and Envenom Bonus Damage (item set effect)
if (m_caster->HasAura(37169))
damage += combo*40;
// Eviscerate and Envenom Bonus Damage (item set effect)
if (m_caster->HasAura(37169))
damage += combo*40;
}
}
}
break;
@@ -6234,9 +6244,13 @@ void Spell::EffectCharge(SpellEffIndex /*effIndex*/)
if (!unitTarget)
return;
float x, y, z;
unitTarget->GetContactPoint(m_caster, x, y, z);
m_caster->GetMotionMaster()->MoveCharge(x, y, z);
float angle = unitTarget->GetRelativeAngle(m_caster);
Position pos;
unitTarget->GetContactPoint(m_caster, pos.m_positionX, pos.m_positionY, pos.m_positionZ);
unitTarget->GetFirstCollisionPosition(pos, unitTarget->GetObjectSize(), angle);
m_caster->GetMotionMaster()->MoveCharge(pos.m_positionX, pos.m_positionY, pos.m_positionZ + unitTarget->GetObjectSize());
}
if (effectHandleMode == SPELL_EFFECT_HANDLE_HIT_TARGET)
@@ -6257,9 +6271,13 @@ void Spell::EffectChargeDest(SpellEffIndex /*effIndex*/)
if (m_targets.HasDst())
{
float x, y, z;
m_targets.GetDst()->GetPosition(x, y, z);
m_caster->GetMotionMaster()->MoveCharge(x, y, z);
Position pos;
m_targets.GetDst()->GetPosition(&pos);
float angle = m_caster->GetRelativeAngle(pos.GetPositionX(), pos.GetPositionY());
float dist = m_caster->GetDistance(pos);
m_caster->GetFirstCollisionPosition(pos, dist, angle);
m_caster->GetMotionMaster()->MoveCharge(pos.m_positionX, pos.m_positionY, pos.m_positionZ);
}
}
+13
View File
@@ -2304,6 +2304,19 @@ bool SpellInfo::_IsPositiveEffect(uint8 effIndex, bool deep) const
if (Id == 30708)
return false;
break;
case SPELLFAMILY_ROGUE:
switch (Id)
{
// Envenom must be considered as a positive effect even though it deals damage
case 32645: // Envenom (Rank 1)
case 32684: // Envenom (Rank 2)
case 57992: // Envenom (Rank 3)
case 57993: // Envenom (Rank 4)
return true;
default:
break;
}
break;
default:
break;
}
+4
View File
@@ -3227,6 +3227,10 @@ void SpellMgr::LoadDbcDataCorrections()
// this needs research on modifier applying rules, does not seem to be in Attributes fields
spellInfo->EffectSpellClassMask[0] = flag96(0x00000040, 0x00000000, 0x00000000);
break;
case 63163: // Apply Enchanted Bridle (Argent Tournament)
spellInfo->EffectDieSides[0] = 0; // was 1, that should probably mean seat 0, but instead it's treated as spell 1
spellInfo->EffectBasePoints[0] = 52391; // Ride Vehicle (forces seat 0)
break;
case 19970: // Entangling Roots (Rank 6) -- Nature's Grasp Proc
case 19971: // Entangling Roots (Rank 5) -- Nature's Grasp Proc
case 19972: // Entangling Roots (Rank 4) -- Nature's Grasp Proc
+1 -1
View File
@@ -635,7 +635,7 @@ class World
/// Are we in the middle of a shutdown?
bool IsShuttingDown() const { return m_ShutdownTimer > 0; }
uint32 const GetShutDownTimeLeft() { return m_ShutdownTimer; }
uint32 GetShutDownTimeLeft() const { return m_ShutdownTimer; }
void ShutdownServ(uint32 time, uint32 options, uint8 exitcode);
void ShutdownCancel();
void ShutdownMsg(bool show = false, Player* player = NULL);
+4 -6
View File
@@ -552,15 +552,13 @@ public:
handler->PSendSysMessage(LANG_NPCINFO_PHASEMASK, target->GetPhaseMask());
handler->PSendSysMessage(LANG_NPCINFO_ARMOR, target->GetArmor());
handler->PSendSysMessage(LANG_NPCINFO_POSITION, float(target->GetPositionX()), float(target->GetPositionY()), float(target->GetPositionZ()));
handler->PSendSysMessage(LANG_NPCINFO_AIINFO, target->GetAIName().c_str(), target->GetScriptName().c_str());
if ((npcflags & UNIT_NPC_FLAG_VENDOR))
{
if (npcflags & UNIT_NPC_FLAG_VENDOR)
handler->SendSysMessage(LANG_NPCINFO_VENDOR);
}
if ((npcflags & UNIT_NPC_FLAG_TRAINER))
{
if (npcflags & UNIT_NPC_FLAG_TRAINER)
handler->SendSysMessage(LANG_NPCINFO_TRAINER);
}
return true;
}
@@ -34,7 +34,8 @@ enum Spells
H_SPELL_MIND_BLAST = 58850,
SPELL_SLEEP = 52721, //Puts an enemy to sleep for up to 10 sec. Any damage caused will awaken the target.
H_SPELL_SLEEP = 58849,
SPELL_VAMPIRIC_TOUCH = 52723 //Heals the caster for half the damage dealt by a melee attack.
SPELL_VAMPIRIC_TOUCH = 52723, //Heals the caster for half the damage dealt by a melee attack.
SPELL_KILL_CREDIT = 58630 // Non-existing spell as encounter credit, created in spell_dbc
};
enum Yells
@@ -237,9 +238,8 @@ public:
{
instance->SetData(DATA_MAL_GANIS_EVENT, DONE);
// give achievement credit to players. criteria use spell 58630 which doesn't exist.
if (instance)
instance->DoUpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET, 58630);
// give achievement credit and LFG rewards to players. criteria use spell 58630 which doesn't exist, but it was created in spell_dbc
DoCast(me, SPELL_KILL_CREDIT);
}
}
@@ -582,7 +582,7 @@ public:
{
Unit* pJaina = GetClosestCreatureWithEntry(me, NPC_JAINA, 50.0f);
if (!pJaina)
pJaina = pJaina = me->SummonCreature(NPC_JAINA, 1895.48f, 1292.66f, 143.706f, 0.023475f, TEMPSUMMON_DEAD_DESPAWN, 180000);
pJaina = me->SummonCreature(NPC_JAINA, 1895.48f, 1292.66f, 143.706f, 0.023475f, TEMPSUMMON_DEAD_DESPAWN, 180000);
if (pJaina)
uiJainaGUID = pJaina->GetGUID();
bStepping = false;
@@ -54,8 +54,10 @@ enum eSpells
SPELL_BLACK_KNIGHT_RES = 67693,
SPELL_LEAP = 67749,
SPELL_LEAP_H = 67880
SPELL_LEAP = 67749,
SPELL_LEAP_H = 67880,
SPELL_KILL_CREDIT = 68663
};
enum eModels
@@ -288,6 +290,8 @@ public:
void JustDied(Unit* /*killer*/)
{
DoCast(me, SPELL_KILL_CREDIT);
if (instance)
instance->SetData(BOSS_BLACK_KNIGHT, DONE);
}
@@ -237,7 +237,8 @@ public:
for (Map::PlayerList::const_iterator i = PlayerList.begin(); i != PlayerList.end(); ++i)
if (Player* player = i->getSource())
player->DeMorph();
instance->DoUpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET2, SPELL_ACHIEVEMENT_CHECK);
DoCast(me, SPELL_ACHIEVEMENT_CHECK);
instance->SetData(DATA_THARON_JA_EVENT, DONE);
}
@@ -590,7 +590,7 @@ class boss_freya : public CreatureScript
waveCount++;
}
void JustDied(Unit* who)
void JustDied(Unit* /*who*/)
{
//! Freya's chest is dynamically spawned on death by different spells.
const uint32 summonSpell[2][4] =
@@ -173,7 +173,11 @@ public:
DoScriptText(YELL_DEAD_2, me);
if (instance)
{
// Ingvar has MOB_INGVAR_UNDEAD id in this moment, so we have to update encounter state for his original id
instance->UpdateEncounterState(ENCOUNTER_CREDIT_KILL_CREATURE, MOB_INGVAR_HUMAN, me);
instance->SetData(DATA_INGVAR_EVENT, DONE);
}
}
void KilledUnit(Unit* /*victim*/)
@@ -303,9 +303,7 @@ class boss_warchief_kargath_bladefist : public CreatureScript
if (resetcheck_timer <= diff)
{
uint32 tempx, tempy;
tempx = uint32(me->GetPositionX());
tempy = uint32(me->GetPositionY());
uint32 tempx = uint32(me->GetPositionX());
if (tempx > 255 || tempx < 205)
{
EnterEvadeMode();
+1 -1
View File
@@ -573,7 +573,7 @@ public:
{
Talk(SAY_KUR_MORE);
if (Creature* temp = me->SummonCreature(NPC_KUR_MURK_PUTRIFIER, kurenaiAmbushB[0], kurenaiAmbushB[1], kurenaiAmbushB[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000))
if (me->SummonCreature(NPC_KUR_MURK_PUTRIFIER, kurenaiAmbushB[0], kurenaiAmbushB[1], kurenaiAmbushB[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000))
Talk(SAY_KUR_MORE_TWO);
me->SummonCreature(NPC_KUR_MURK_PUTRIFIER, kurenaiAmbushB[0]-2.5f, kurenaiAmbushB[1]-2.5f, kurenaiAmbushB[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000);
@@ -26,6 +26,8 @@
#include "SpellAuraEffects.h"
#include "SkillDiscovery.h"
#include "GridNotifiers.h"
#include "Group.h"
#include "LFGMgr.h"
class spell_gen_absorb0_hitlimit1 : public SpellScriptLoader
{
@@ -1419,6 +1421,53 @@ public:
}
};
class spell_gen_luck_of_the_draw : public SpellScriptLoader
{
public:
spell_gen_luck_of_the_draw() : SpellScriptLoader("spell_gen_luck_of_the_draw") { }
class spell_gen_luck_of_the_draw_AuraScript : public AuraScript
{
PrepareAuraScript(spell_gen_luck_of_the_draw_AuraScript);
// cheap hax to make it have update calls
void CalcPeriodic(AuraEffect const* /*effect*/, bool& isPeriodic, int32& amplitude)
{
isPeriodic = true;
amplitude = 5 * IN_MILLISECONDS;
}
void Update(AuraEffect* /*effect*/)
{
if (GetUnitOwner()->GetTypeId() != TYPEID_PLAYER)
return;
LFGDungeonEntry const* randomDungeon = sLFGDungeonStore.LookupEntry(*(sLFGMgr->GetSelectedDungeons(GetUnitOwner()->GetGUID()).begin()));
Group* group = GetUnitOwner()->ToPlayer()->GetGroup();
Map const* map = GetUnitOwner()->GetMap();
if (group && group->isLFGGroup())
if (uint32 dungeonId = sLFGMgr->GetDungeon(group->GetGUID(), true))
if (LFGDungeonEntry const* dungeon = sLFGDungeonStore.LookupEntry(dungeonId))
if (dungeon->map == map->GetId() && dungeon->difficulty == map->GetDifficulty())
if (randomDungeon && randomDungeon->type == LFG_TYPE_RANDOM)
return; // in correct dungeon
Remove(AURA_REMOVE_BY_DEFAULT);
}
void Register()
{
DoEffectCalcPeriodic += AuraEffectCalcPeriodicFn(spell_gen_luck_of_the_draw_AuraScript::CalcPeriodic, EFFECT_0, SPELL_AURA_MOD_DAMAGE_PERCENT_DONE);
OnEffectUpdatePeriodic += AuraEffectUpdatePeriodicFn(spell_gen_luck_of_the_draw_AuraScript::Update, EFFECT_0, SPELL_AURA_MOD_DAMAGE_PERCENT_DONE);
}
};
AuraScript* GetAuraScript() const
{
return new spell_gen_luck_of_the_draw_AuraScript();
}
};
void AddSC_generic_spell_scripts()
{
new spell_gen_absorb0_hitlimit1();
@@ -1451,4 +1500,5 @@ void AddSC_generic_spell_scripts()
new spell_gen_vehicle_scaling();
new spell_gen_oracle_wolvar_reputation();
new spell_gen_damage_reduction_aura();
new spell_gen_luck_of_the_draw();
}
+28
View File
@@ -47,6 +47,7 @@ go_jotunheim_cage
go_table_theka
go_soulwell
go_bashir_crystalforge
go_ethereal_teleport_pad
EndContentData */
#include "ScriptPCH.h"
@@ -921,6 +922,32 @@ public:
}
};
/*######
## go_ethereal_teleport_pad
######*/
enum eEtherealTeleportPad
{
NPC_IMAGE_WIND_TRADER = 20518,
ITEM_TELEPORTER_POWER_PACK = 28969,
};
class go_ethereal_teleport_pad : public GameObjectScript
{
public:
go_ethereal_teleport_pad() : GameObjectScript("go_ethereal_teleport_pad") { }
bool OnGossipHello(Player* player, GameObject* pGO)
{
if (!player->HasItemCount(ITEM_TELEPORTER_POWER_PACK, 1))
return false;
pGO->SummonCreature(NPC_IMAGE_WIND_TRADER, pGO->GetPositionX(), pGO->GetPositionY(), pGO->GetPositionZ(), pGO->GetAngle(player), TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 60000);
return true;
}
};
/*######
## go_soulwell
######*/
@@ -1282,6 +1309,7 @@ void AddSC_go_scripts()
new go_jotunheim_cage;
new go_table_theka;
new go_inconspicuous_landmark;
new go_ethereal_teleport_pad;
new go_soulwell;
new go_tadpole_cage;
new go_dragonflayer_cage;
+146 -33
View File
@@ -1623,46 +1623,44 @@ public:
## npc_winter_reveler
####*/
enum WinterReveler
{
SPELL_MISTLETOE_DEBUFF = 26218,
SPELL_CREATE_MISTLETOE = 26206,
SPELL_CREATE_HOLLY = 26207,
SPELL_CREATE_SNOWFLAKES = 45036,
};
class npc_winter_reveler : public CreatureScript
{
public:
npc_winter_reveler() : CreatureScript("npc_winter_reveler") { }
public:
npc_winter_reveler() : CreatureScript("npc_winter_reveler") { }
struct npc_winter_revelerAI : public ScriptedAI
{
npc_winter_revelerAI(Creature* c) : ScriptedAI(c) {}
void ReceiveEmote(Player* player, uint32 emote)
struct npc_winter_revelerAI : public ScriptedAI
{
if (!IsHolidayActive(HOLIDAY_FEAST_OF_WINTER_VEIL))
return;
//TODO: check auralist.
if (player->HasAura(26218))
return;
npc_winter_revelerAI(Creature* c) : ScriptedAI(c) {}
if (emote == TEXT_EMOTE_KISS)
void ReceiveEmote(Player* player, uint32 emote)
{
me->CastSpell(me, 26218, false);
player->CastSpell(player, 26218, false);
switch (urand(0, 2))
if (player->HasAura(SPELL_MISTLETOE_DEBUFF))
return;
if (!IsHolidayActive(HOLIDAY_FEAST_OF_WINTER_VEIL))
return;
if (emote == TEXT_EMOTE_KISS)
{
case 0:
me->CastSpell(player, 26207, false);
break;
case 1:
me->CastSpell(player, 26206, false);
break;
case 2:
me->CastSpell(player, 45036, false);
break;
uint32 spellId = RAND<uint32>(SPELL_CREATE_MISTLETOE, SPELL_CREATE_HOLLY, SPELL_CREATE_SNOWFLAKES);
me->CastSpell(player, spellId, false);
me->CastSpell(player, SPELL_MISTLETOE_DEBUFF, false);
}
}
}
};
};
CreatureAI* GetAI(Creature* creature) const
{
return new npc_winter_revelerAI(creature);
}
CreatureAI* GetAI(Creature* creature) const
{
return new npc_winter_revelerAI(creature);
}
};
/*####
@@ -1678,8 +1676,6 @@ public:
#define C_VIPER 19921
#define RAND 5
class npc_snake_trap : public CreatureScript
{
public:
@@ -1726,7 +1722,7 @@ public:
float attackRadius = me->GetAttackDistance(who);
if (me->IsWithinDistInMap(who, attackRadius) && me->IsWithinLOSInMap(who))
{
if (!(rand() % RAND))
if (!(rand() % 5))
{
me->setAttackTimer(BASE_ATTACK, (rand() % 10) * 100);
SpellTimer = (rand() % 10) * 100;
@@ -2163,6 +2159,121 @@ public:
}
};
/*######
# npc_fire_elemental
######*/
#define SPELL_FIRENOVA 12470
#define SPELL_FIRESHIELD 13376
#define SPELL_FIREBLAST 57984
class npc_fire_elemental : public CreatureScript
{
public:
npc_fire_elemental() : CreatureScript("npc_fire_elemental") { }
struct npc_fire_elementalAI : public ScriptedAI
{
npc_fire_elementalAI(Creature* creature) : ScriptedAI(creature) {}
uint32 FireNova_Timer;
uint32 FireShield_Timer;
uint32 FireBlast_Timer;
void Reset()
{
FireNova_Timer = 5000 + rand() % 15000; // 5-20 sec cd
FireBlast_Timer = 5000 + rand() % 15000; // 5-20 sec cd
FireShield_Timer = 0;
me->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_FIRE, true);
}
void UpdateAI(const uint32 diff)
{
if (!UpdateVictim())
return;
if (me->HasUnitState(UNIT_STAT_CASTING))
return;
if (FireShield_Timer <= diff)
{
DoCast(me->getVictim(), SPELL_FIRESHIELD);
FireShield_Timer = 2 * IN_MILLISECONDS;
}
else
FireShield_Timer -= diff;
if (FireBlast_Timer <= diff)
{
DoCast(me->getVictim(), SPELL_FIREBLAST);
FireBlast_Timer = 5000 + rand() % 15000; // 5-20 sec cd
}
else
FireBlast_Timer -= diff;
if (FireNova_Timer <= diff)
{
DoCast(me->getVictim(), SPELL_FIRENOVA);
FireNova_Timer = 5000 + rand() % 15000; // 5-20 sec cd
}
else
FireNova_Timer -= diff;
DoMeleeAttackIfReady();
}
};
CreatureAI *GetAI(Creature* creature) const
{
return new npc_fire_elementalAI(creature);
}
};
/*######
# npc_earth_elemental
######*/
#define SPELL_ANGEREDEARTH 36213
class npc_earth_elemental : public CreatureScript
{
public:
npc_earth_elemental() : CreatureScript("npc_earth_elemental") { }
struct npc_earth_elementalAI : public ScriptedAI
{
npc_earth_elementalAI(Creature* creature) : ScriptedAI(creature) {}
uint32 AngeredEarth_Timer;
void Reset()
{
AngeredEarth_Timer = 0;
me->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_NATURE, true);
}
void UpdateAI(const uint32 diff)
{
if (!UpdateVictim())
return;
if (AngeredEarth_Timer <= diff)
{
DoCast(me->getVictim(), SPELL_ANGEREDEARTH);
AngeredEarth_Timer = 5000 + rand() % 15000; // 5-20 sec cd
}
else
AngeredEarth_Timer -= diff;
DoMeleeAttackIfReady();
}
};
CreatureAI *GetAI(Creature* creature) const
{
return new npc_earth_elementalAI(creature);
}
};
/*######
# npc_wormhole
######*/
@@ -2673,5 +2784,7 @@ void AddSC_npcs_special()
new npc_locksmith;
new npc_tabard_vendor;
new npc_experience;
new npc_fire_elemental;
new npc_earth_elemental;
}
@@ -158,6 +158,7 @@ class DatabaseWorkerPool
}
//! Enqueues a one-way SQL operation in prepared statement format that will be executed asynchronously.
//! Statement must be prepared with CONNECTION_ASYNC flag.
void Execute(PreparedStatement* stmt)
{
PreparedStatementTask* task = new PreparedStatementTask(stmt);
@@ -195,6 +196,7 @@ class DatabaseWorkerPool
}
//! Directly executes a one-way SQL operation in prepared statement format, that will block the calling thread until finished.
//! Statement must be prepared with the CONNECTION_SYNCH flag.
void DirectExecute(PreparedStatement* stmt)
{
T* t = GetFreeConnection();
@@ -203,7 +205,7 @@ class DatabaseWorkerPool
}
/**
Syncrhonous query (with resultset) methods.
Synchronous query (with resultset) methods.
*/
//! Directly executes an SQL query in string format that will block the calling thread until finished.
@@ -256,6 +258,7 @@ class DatabaseWorkerPool
//! Directly executes an SQL query in prepared format that will block the calling thread until finished.
//! Returns reference counted auto pointer, no need for manual memory management in upper level code.
//! Statement must be prepared with CONNECTION_SYNCH flag.
PreparedQueryResult Query(PreparedStatement* stmt)
{
T* t = GetFreeConnection();
@@ -297,6 +300,7 @@ class DatabaseWorkerPool
//! Enqueues a query in prepared format that will set the value of the PreparedQueryResultFuture return object as soon as the query is executed.
//! The return value is then processed in ProcessQueryCallback methods.
//! Statement must be prepared with CONNECTION_ASYNC flag.
PreparedQueryResultFuture AsyncQuery(PreparedStatement* stmt)
{
PreparedQueryResultFuture res;
@@ -308,6 +312,7 @@ class DatabaseWorkerPool
//! Enqueues a vector of SQL operations (can be both adhoc and prepared) that will set the value of the QueryResultHolderFuture
//! return object as soon as the query is executed.
//! The return value is then processed in ProcessQueryCallback methods.
//! Any prepared statements added to this holder need to be prepared with the CONNECTION_ASYNC flag.
QueryResultHolderFuture DelayQueryHolder(SQLQueryHolder* holder)
{
QueryResultHolderFuture res;
@@ -26,7 +26,7 @@ void CharacterDatabaseConnection::DoPrepareStatements()
PREPARE_STATEMENT(CHAR_ADD_QUEST_POOL_SAVE, "INSERT INTO pool_quest_save (pool_id, quest_id) VALUES (?, ?)", CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_DEL_NONEXISTENT_GUILD_BANK_ITEM, "DELETE FROM guild_bank_item WHERE guildid = ? AND TabId = ? AND SlotId = ?", CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_DEL_EXPIRED_BANS, "UPDATE character_banned SET active = 0 WHERE unbandate <= UNIX_TIMESTAMP() AND unbandate <> bandate", CONNECTION_ASYNC)
PREPARE_STATEMENT(CHAR_GET_GUID_BY_NAME, "SELECT guid FROM characters WHERE name = ?", CONNECTION_SYNCH);
PREPARE_STATEMENT(CHAR_GET_GUID_BY_NAME, "SELECT guid FROM characters WHERE name = ?", CONNECTION_SYNCH | CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_GET_CHECK_NAME, "SELECT 1 FROM characters WHERE name = ?", CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_GET_SUM_CHARS, "SELECT COUNT(guid) FROM characters WHERE account = ?", CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_GET_CHAR_CREATE_INFO, "SELECT level, race, class FROM characters WHERE account = ? LIMIT 0, ?", CONNECTION_ASYNC);
@@ -36,6 +36,10 @@ void CharacterDatabaseConnection::DoPrepareStatements()
PREPARE_STATEMENT(CHAR_GET_GUID_BY_NAME_FILTER, "SELECT guid, name FROM characters WHERE name LIKE CONCAT('%', ?, '%')", CONNECTION_SYNCH)
PREPARE_STATEMENT(CHAR_GET_BANINFO_LIST, "SELECT bandate, unbandate, bannedby, banreason FROM character_banned WHERE guid = ? ORDER BY unbandate", CONNECTION_SYNCH)
PREPARE_STATEMENT(CHAR_GET_BANNED_NAME, "SELECT characters.name FROM characters, character_banned WHERE character_banned.guid = ? AND character_banned.guid = characters.guid", CONNECTION_SYNCH)
PREPARE_STATEMENT(CHAR_GET_ENUM, "SELECT c.guid, c.name, c.race, c.class, c.gender, c.playerBytes, c.playerBytes2, c.level, c.zone, c.map, c.position_x, c.position_y, c.position_z, gm.guildid, c.playerFlags, c.at_login, cp.entry, cp.modelid, cp.level, c.equipmentCache, cb.guid FROM characters AS c LEFT JOIN character_pet AS cp ON c.guid = cp.owner AND cp.slot = ? LEFT JOIN guild_member AS gm ON c.guid = gm.guid LEFT JOIN character_banned AS cb ON c.guid = cb.guid AND cb.active = 1 WHERE c.account = ? ORDER BY c.guid", CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_GET_ENUM_DECLINED_NAME, "SELECT c.guid, c.name, c.race, c.class, c.gender, c.playerBytes, c.playerBytes2, c.level, c.zone, c.map, c.position_x, c.position_y, c.position_z, gm.guildid, c.playerFlags, c.at_login, cp.entry, cp.modelid, cp.level, c.equipmentCache, cb.guid, cd.genitive FROM characters AS c LEFT JOIN character_pet AS cp ON c.guid = cp.owner AND cp.slot = ? LEFT JOIN character_declinedname AS cd ON c.guid = cd.guid LEFT JOIN guild_member AS gm ON c.guid = gm.guid LEFT JOIN character_banned AS cb ON c.guid = cb.guid AND cb.active = 1 WHERE c.account = ? ORDER BY c.guid", CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_GET_PET_SLOTS, "SELECT owner, slot FROM character_pet WHERE owner = ? AND slot >= ? AND slot <= ? ORDER BY slot", CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_GET_FREE_NAME, "SELECT guid, name FROM characters WHERE guid = ? AND account = ? AND (at_login & ?) = ? AND NOT EXISTS (SELECT NULL FROM characters WHERE name = ?)", CONNECTION_ASYNC);
// Start LoginQueryHolder content
PREPARE_STATEMENT(CHAR_LOAD_PLAYER, "SELECT guid, account, name, race, class, gender, level, xp, money, playerBytes, playerBytes2, playerFlags, "
@@ -111,6 +115,8 @@ void CharacterDatabaseConnection::DoPrepareStatements()
PREPARE_STATEMENT(CHAR_LOAD_PLAYER_NAME_CLASS, "SELECT name, class FROM characters WHERE guid = ?", CONNECTION_SYNCH);
PREPARE_STATEMENT(CHAR_LOAD_MATCH_MAKER_RATING, "SELECT matchMakerRating FROM character_arena_stats WHERE guid = ? AND slot = ?", CONNECTION_SYNCH);
PREPARE_STATEMENT(CHAR_GET_CHARACTER_COUNT, "SELECT account, COUNT(guid) FROM characters WHERE account = ? GROUP BY account", CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_UPDATE_NAME, "UPDATE characters set name = ?, at_login = at_login & ~ ? WHERE guid = ?", CONNECTION_ASYNC);
PREPARE_STATEMENT(CHAR_DEL_DECLINED_NAME, "DELETE FROM character_declinedname WHERE guid = ?", CONNECTION_ASYNC);
// Guild handling
// 0: uint32, 1: string, 2: uint32, 3: string, 4: string, 5: uint64, 6-10: uint32, 11: uint64
@@ -56,6 +56,10 @@ enum CharacterDatabaseStatements
CHAR_GET_GUID_BY_NAME_FILTER,
CHAR_GET_BANINFO_LIST,
CHAR_GET_BANNED_NAME,
CHAR_GET_ENUM,
CHAR_GET_ENUM_DECLINED_NAME,
CHAR_GET_PET_SLOTS,
CHAR_GET_FREE_NAME,
CHAR_LOAD_PLAYER,
CHAR_LOAD_PLAYER_GROUP,
CHAR_LOAD_PLAYER_BOUNDINSTANCES,
@@ -120,6 +124,8 @@ enum CharacterDatabaseStatements
CHAR_LOAD_PLAYER_NAME_CLASS,
CHAR_LOAD_MATCH_MAKER_RATING,
CHAR_GET_CHARACTER_COUNT,
CHAR_UPDATE_NAME,
CHAR_DEL_DECLINED_NAME,
CHAR_ADD_GUILD,
CHAR_DEL_GUILD,
@@ -104,7 +104,7 @@ void utf8print(void* /*arg*/, const char* str)
printf(temp_buf);
#else
{
printf(str);
printf("%s", str);
fflush(stdout);
}
#endif
@@ -286,7 +286,7 @@ int RASocket::subnegotiate()
if (n >= 1024)
{
sLog->outRemote("RASocket::subnegotiate: allocated buffer 1024 bytes was too small for negotiation packet, size: %u", n);
sLog->outRemote("RASocket::subnegotiate: allocated buffer 1024 bytes was too small for negotiation packet, size: %u", uint32(n));
return -1;
}