diff options
40 files changed, 1867 insertions, 305 deletions
diff --git a/sql/updates/world/2011_12_13_02_creature_template_addon.sql b/sql/updates/world/2011_12_13_02_creature_template_addon.sql new file mode 100644 index 00000000000..2e7280927bf --- /dev/null +++ b/sql/updates/world/2011_12_13_02_creature_template_addon.sql @@ -0,0 +1,2 @@ +-- Fix speed of oculus drakes +UPDATE `creature_template_addon` SET `auras`='50325' WHERE `entry` IN (27755,27692,27756);
\ No newline at end of file diff --git a/sql/updates/world/2011_12_14_00_world_command.sql b/sql/updates/world/2011_12_14_00_world_command.sql new file mode 100644 index 00000000000..e871a82d89d --- /dev/null +++ b/sql/updates/world/2011_12_14_00_world_command.sql @@ -0,0 +1,4 @@ +DELETE FROM `trinity_string` WHERE `entry` IN(19,20); # unused entries +INSERT INTO `trinity_string` (`entry`,`content_default`) VALUES +(19,'Update time diff: %u.'), +(20,'Time left until shutdown/restart: %s'); diff --git a/sql/updates/world/2011_12_14_01_gameobject_template.sql b/sql/updates/world/2011_12_14_01_gameobject_template.sql new file mode 100644 index 00000000000..12729afd6b8 --- /dev/null +++ b/sql/updates/world/2011_12_14_01_gameobject_template.sql @@ -0,0 +1 @@ +UPDATE `gameobject_template` SET `scriptName` = 'go_ethereal_teleport_pad' WHERE `entry` = 184073; -- Update Ethereal Teleport Pad scriptname
\ No newline at end of file diff --git a/sql/updates/world/2011_12_16_00_world_creature_template.sql b/sql/updates/world/2011_12_16_00_world_creature_template.sql new file mode 100644 index 00000000000..156fd431359 --- /dev/null +++ b/sql/updates/world/2011_12_16_00_world_creature_template.sql @@ -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;
\ No newline at end of file diff --git a/sql/updates/world/2011_12_16_00_world_spell_bonus_data.sql b/sql/updates/world/2011_12_16_00_world_spell_bonus_data.sql new file mode 100644 index 00000000000..3250bda4fdb --- /dev/null +++ b/sql/updates/world/2011_12_16_00_world_spell_bonus_data.sql @@ -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');
\ No newline at end of file diff --git a/sql/updates/world/2011_12_17_00_world_creature.sql b/sql/updates/world/2011_12_17_00_world_creature.sql new file mode 100644 index 00000000000..0126561da01 --- /dev/null +++ b/sql/updates/world/2011_12_17_00_world_creature.sql @@ -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); diff --git a/sql/updates/world/2011_12_17_00_world_gameobject.sql b/sql/updates/world/2011_12_17_00_world_gameobject.sql new file mode 100644 index 00000000000..98752a1b7ec --- /dev/null +++ b/sql/updates/world/2011_12_17_00_world_gameobject.sql @@ -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); diff --git a/sql/updates/world/2011_12_18_00_world_creature_addon.sql b/sql/updates/world/2011_12_18_00_world_creature_addon.sql new file mode 100644 index 00000000000..5df7f000b06 --- /dev/null +++ b/sql/updates/world/2011_12_18_00_world_creature_addon.sql @@ -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); diff --git a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp index 06c1570ccd9..c5f04d4ff5f 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp +++ b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp @@ -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) diff --git a/src/server/game/Chat/Channels/Channel.cpp b/src/server/game/Chat/Channels/Channel.cpp index 1968de70f46..244c05ec0ad 100755 --- a/src/server/game/Chat/Channels/Channel.cpp +++ b/src/server/game/Chat/Channels/Channel.cpp @@ -310,18 +310,22 @@ void Channel::KickOrBan(uint64 good, const char *badname, bool ban) bool changeowner = (m_ownerGUID == bad->GetGUID()); WorldPacket data; + bool notify = !(AccountMgr::IsGMAccount(sec) && sWorld->getBoolConfig(CONFIG_SILENTLY_GM_JOIN_TO_CHANNEL)); if (ban && !IsBanned(bad->GetGUID())) { banned.insert(bad->GetGUID()); - MakePlayerBanned(&data, bad->GetGUID(), good); - UpdateChannelInDB(); + + if (notify) + MakePlayerBanned(&data, bad->GetGUID(), good); } - else + else if (notify) MakePlayerKicked(&data, bad->GetGUID(), good); - SendToAll(&data); + if (notify) + SendToAll(&data); + players.erase(bad->GetGUID()); bad->LeftChannel(this); diff --git a/src/server/game/Chat/Chat.cpp b/src/server/game/Chat/Chat.cpp index be43862eaea..185ac487481 100755 --- a/src/server/game/Chat/Chat.cpp +++ b/src/server/game/Chat/Chat.cpp @@ -303,29 +303,29 @@ ChatCommand* ChatHandler::getCommandTable() static ChatCommand ticketResponseCommandTable[] = { - { "append", SEC_MODERATOR, false, OldHandler<&ChatHandler::HandleGMTicketResponseAppendCommand>, "", NULL }, - { "appendln", SEC_MODERATOR, false, OldHandler<&ChatHandler::HandleGMTicketResponseAppendLnCommand>, "", NULL }, + { "append", SEC_MODERATOR, true, OldHandler<&ChatHandler::HandleGMTicketResponseAppendCommand>, "", NULL }, + { "appendln", SEC_MODERATOR, true, OldHandler<&ChatHandler::HandleGMTicketResponseAppendLnCommand>, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; static ChatCommand ticketCommandTable[] = { - { "list", SEC_MODERATOR, false, OldHandler<&ChatHandler::HandleGMTicketListCommand>, "", NULL }, - { "onlinelist", SEC_MODERATOR, false, OldHandler<&ChatHandler::HandleGMTicketListOnlineCommand>, "", NULL }, - { "viewname", SEC_MODERATOR, false, OldHandler<&ChatHandler::HandleGMTicketGetByNameCommand>, "", NULL }, - { "viewid", SEC_MODERATOR, false, OldHandler<&ChatHandler::HandleGMTicketGetByIdCommand>, "", NULL }, - { "close", SEC_MODERATOR, false, OldHandler<&ChatHandler::HandleGMTicketCloseByIdCommand>, "", NULL }, - { "closedlist", SEC_MODERATOR, false, OldHandler<&ChatHandler::HandleGMTicketListClosedCommand>, "", NULL }, - { "escalatedlist", SEC_GAMEMASTER, false, OldHandler<&ChatHandler::HandleGMTicketListEscalatedCommand>, "", NULL }, - { "delete", SEC_ADMINISTRATOR, false, OldHandler<&ChatHandler::HandleGMTicketDeleteByIdCommand>, "", NULL }, - { "reset", SEC_ADMINISTRATOR, false, OldHandler<&ChatHandler::HandleGMTicketResetCommand>, "", NULL }, - { "assign", SEC_GAMEMASTER, false, OldHandler<&ChatHandler::HandleGMTicketAssignToCommand>, "", NULL }, - { "unassign", SEC_GAMEMASTER, false, OldHandler<&ChatHandler::HandleGMTicketUnAssignCommand>, "", NULL }, - { "comment", SEC_MODERATOR, false, OldHandler<&ChatHandler::HandleGMTicketCommentCommand>, "", NULL }, - { "togglesystem", SEC_ADMINISTRATOR, false, OldHandler<&ChatHandler::HandleToggleGMTicketSystem>, "", NULL }, - { "escalate", SEC_MODERATOR, false, OldHandler<&ChatHandler::HandleGMTicketEscalateCommand>, "", NULL }, - { "response", SEC_MODERATOR, false, NULL, "", ticketResponseCommandTable }, - { "complete", SEC_MODERATOR, false, OldHandler<&ChatHandler::HandleGMTicketCompleteCommand>, "", NULL }, + { "list", SEC_MODERATOR, true, OldHandler<&ChatHandler::HandleGMTicketListCommand>, "", NULL }, + { "onlinelist", SEC_MODERATOR, true, OldHandler<&ChatHandler::HandleGMTicketListOnlineCommand>, "", NULL }, + { "viewname", SEC_MODERATOR, true, OldHandler<&ChatHandler::HandleGMTicketGetByNameCommand>, "", NULL }, + { "viewid", SEC_MODERATOR, true, OldHandler<&ChatHandler::HandleGMTicketGetByIdCommand>, "", NULL }, + { "close", SEC_MODERATOR, true, OldHandler<&ChatHandler::HandleGMTicketCloseByIdCommand>, "", NULL }, + { "closedlist", SEC_MODERATOR, true, OldHandler<&ChatHandler::HandleGMTicketListClosedCommand>, "", NULL }, + { "escalatedlist", SEC_GAMEMASTER, true, OldHandler<&ChatHandler::HandleGMTicketListEscalatedCommand>, "", NULL }, + { "delete", SEC_ADMINISTRATOR, true, OldHandler<&ChatHandler::HandleGMTicketDeleteByIdCommand>, "", NULL }, + { "reset", SEC_ADMINISTRATOR, true, OldHandler<&ChatHandler::HandleGMTicketResetCommand>, "", NULL }, + { "assign", SEC_GAMEMASTER, true, OldHandler<&ChatHandler::HandleGMTicketAssignToCommand>, "", NULL }, + { "unassign", SEC_GAMEMASTER, true, OldHandler<&ChatHandler::HandleGMTicketUnAssignCommand>, "", NULL }, + { "comment", SEC_MODERATOR, true, OldHandler<&ChatHandler::HandleGMTicketCommentCommand>, "", NULL }, + { "togglesystem", SEC_ADMINISTRATOR, true, OldHandler<&ChatHandler::HandleToggleGMTicketSystem>, "", NULL }, + { "escalate", SEC_MODERATOR, true, OldHandler<&ChatHandler::HandleGMTicketEscalateCommand>, "", NULL }, + { "response", SEC_MODERATOR, true, NULL, "", ticketResponseCommandTable }, + { "complete", SEC_MODERATOR, true, OldHandler<&ChatHandler::HandleGMTicketCompleteCommand>, "", NULL }, { NULL, 0, false, NULL, "", NULL } }; diff --git a/src/server/game/Chat/Commands/Level0.cpp b/src/server/game/Chat/Commands/Level0.cpp index 338ad49463e..97173f75652 100755 --- a/src/server/game/Chat/Commands/Level0.cpp +++ b/src/server/game/Chat/Commands/Level0.cpp @@ -84,8 +84,8 @@ bool ChatHandler::HandleStartCommand(const char* /*args*/) bool ChatHandler::HandleServerInfoCommand(const char* /*args*/) { - uint32 PlayersNum = sWorld->GetPlayerCount(); - uint32 MaxPlayersNum = sWorld->GetMaxPlayerCount(); + uint32 playersNum = sWorld->GetPlayerCount(); + uint32 maxPlayersNum = sWorld->GetMaxPlayerCount(); uint32 activeClientsNum = sWorld->GetActiveSessionCount(); uint32 queuedClientsNum = sWorld->GetQueuedSessionCount(); uint32 maxActiveClientsNum = sWorld->GetMaxActiveSessionCount(); @@ -94,10 +94,13 @@ bool ChatHandler::HandleServerInfoCommand(const char* /*args*/) uint32 updateTime = sWorld->GetUpdateTime(); SendSysMessage(_FULLVERSION); - PSendSysMessage(LANG_CONNECTED_PLAYERS, PlayersNum, MaxPlayersNum); + PSendSysMessage(LANG_CONNECTED_PLAYERS, playersNum, maxPlayersNum); PSendSysMessage(LANG_CONNECTED_USERS, activeClientsNum, maxActiveClientsNum, queuedClientsNum, maxQueuedClientsNum); PSendSysMessage(LANG_UPTIME, uptime.c_str()); - PSendSysMessage("Update time diff: %u.", updateTime); + PSendSysMessage(LANG_UPDATE_DIFF, updateTime); + //! Can't use sWorld->ShutdownMsg here in case of console command + if (sWorld->IsShuttingDown()) + PSendSysMessage(LANG_SHUTDOWN_TIMELEFT, secsToTimeString(sWorld->GetShutDownTimeLeft()).c_str()); return true; } diff --git a/src/server/game/Chat/Commands/TicketCommands.cpp b/src/server/game/Chat/Commands/TicketCommands.cpp index 7caf63aac2b..d38da9eb97c 100755 --- a/src/server/game/Chat/Commands/TicketCommands.cpp +++ b/src/server/game/Chat/Commands/TicketCommands.cpp @@ -85,12 +85,14 @@ bool ChatHandler::HandleGMTicketGetByNameCommand(const char* args) guid = player->GetGUID(); else guid = sObjectMgr->GetPlayerGUIDByName(name); + // Target must exist if (!guid) { SendSysMessage(LANG_NO_PLAYERS_FOUND); return true; } + // Ticket must exist GmTicket *ticket = sTicketMgr->GetTicketByPlayer(guid); if (!ticket) @@ -119,27 +121,32 @@ bool ChatHandler::HandleGMTicketCloseByIdCommand(const char* args) SendSysMessage(LANG_COMMAND_TICKETNOTEXIST); 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->IsInWorld()) + if (Player* submitter = ticket->GetPlayer()) + { + 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; } @@ -170,25 +177,30 @@ bool ChatHandler::HandleGMTicketAssignToCommand(const char* args) uint64 targetGuid = sObjectMgr->GetPlayerGUIDByName(target.c_str()); uint64 targetAccId = sObjectMgr->GetPlayerAccountIdByGUID(targetGuid); uint32 targetGmLevel = AccountMgr::GetSecurity(targetAccId, realmID); + // Target must exist and have administrative rights if (!targetGuid || AccountMgr::IsPlayerAccount(targetGmLevel)) { SendSysMessage(LANG_COMMAND_TICKETASSIGNERROR_A); return true; } + // If already assigned, leave if (ticket->IsAssignedTo(targetGuid)) { PSendSysMessage(LANG_COMMAND_TICKETASSIGNERROR_B, ticket->GetId()); return true; } + // If assigned to different player other than current, leave - Player* player = m_session->GetPlayer(); - if (ticket->IsAssignedNotTo(player->GetGUID())) + //! Console can override though + Player* player = m_session ? m_session->GetPlayer() : NULL; + if (player && ticket->IsAssignedNotTo(player->GetGUID())) { PSendSysMessage(LANG_COMMAND_TICKETALREADYASSIGNED, ticket->GetId(), target.c_str()); return true; } + // Assign ticket SQLTransaction trans = SQLTransaction(NULL); ticket->SetAssignedTo(targetGuid, AccountMgr::IsAdminAccount(targetGmLevel)); @@ -218,6 +230,7 @@ bool ChatHandler::HandleGMTicketUnAssignCommand(const char* args) PSendSysMessage(LANG_COMMAND_TICKETNOTASSIGNED, ticket->GetId()); return true; } + // Get security level of player, whom this ticket is assigned to uint32 security = SEC_PLAYER; Player* assignedPlayer = ticket->GetAssignedPlayer(); @@ -229,9 +242,11 @@ bool ChatHandler::HandleGMTicketUnAssignCommand(const char* args) uint32 accountId = sObjectMgr->GetPlayerAccountIdByGUID(guid); security = AccountMgr::GetSecurity(accountId, realmID); } + // Check security - Player* player = m_session->GetPlayer(); - if (security > uint32(player->GetSession()->GetSecurity())) + //! If no m_session present it means we're issuing this command from the console + uint32 mySecurity = m_session ? m_session->GetSecurity() : SEC_CONSOLE; + if (security > mySecurity) { SendSysMessage(LANG_COMMAND_TICKETUNASSIGNSECURITY); return true; @@ -242,7 +257,8 @@ bool ChatHandler::HandleGMTicketUnAssignCommand(const char* args) ticket->SaveToDB(trans); sTicketMgr->UpdateLastChange(); - std::string msg = ticket->FormatMessageString(*this, NULL, ticket->GetAssignedToName().c_str(), player->GetName(), NULL); + std::string msg = ticket->FormatMessageString(*this, NULL, ticket->GetAssignedToName().c_str(), + m_session ? m_session->GetPlayer()->GetName() : "Console", NULL); SendGlobalGMSysMessage(msg.c_str()); return true; } @@ -265,9 +281,11 @@ bool ChatHandler::HandleGMTicketCommentCommand(const char* args) PSendSysMessage(LANG_COMMAND_TICKETNOTEXIST); return true; } + // Cannot comment ticket assigned to someone else - Player* player = m_session->GetPlayer(); - if (ticket->IsAssignedNotTo(player->GetGUID())) + //! Console excluded + Player* player = m_session ? m_session->GetPlayer() : NULL; + if (player && ticket->IsAssignedNotTo(player->GetGUID())) { PSendSysMessage(LANG_COMMAND_TICKETALREADYASSIGNED, ticket->GetId()); return true; @@ -279,7 +297,7 @@ bool ChatHandler::HandleGMTicketCommentCommand(const char* args) sTicketMgr->UpdateLastChange(); std::string msg = ticket->FormatMessageString(*this, NULL, ticket->GetAssignedToName().c_str(), NULL, NULL); - msg += PGetParseString(LANG_COMMAND_TICKETLISTADDCOMMENT, player->GetName(), comment); + msg += PGetParseString(LANG_COMMAND_TICKETLISTADDCOMMENT, player ? player->GetName() : "Console", comment); SendGlobalGMSysMessage(msg.c_str()); return true; @@ -297,19 +315,21 @@ bool ChatHandler::HandleGMTicketDeleteByIdCommand(const char* args) SendSysMessage(LANG_COMMAND_TICKETNOTEXIST); return true; } + if (!ticket->IsClosed()) { SendSysMessage(LANG_COMMAND_TICKETCLOSEFIRST); return true; } - std::string msg = ticket->FormatMessageString(*this, NULL, NULL, NULL, m_session->GetPlayer()->GetName()); + std::string msg = ticket->FormatMessageString(*this, NULL, NULL, NULL, m_session ? m_session->GetPlayer()->GetName() : "Console"); SendGlobalGMSysMessage(msg.c_str()); sTicketMgr->RemoveTicket(ticket->GetId()); sTicketMgr->UpdateLastChange(); if (Player* player = ticket->GetPlayer()) + { if (player->IsInWorld()) { // Force abandon ticket @@ -317,6 +337,7 @@ bool ChatHandler::HandleGMTicketDeleteByIdCommand(const char* args) data << uint32(GMTICKET_RESPONSE_TICKET_DELETED); player->GetSession()->SendPacket(&data); } + } return true; } @@ -406,9 +427,11 @@ inline bool ChatHandler::_HandleGMTicketResponseAppendCommand(const char* args, PSendSysMessage(LANG_COMMAND_TICKETNOTEXIST); return true; } + // Cannot add response to ticket, assigned to someone else - Player* player = m_session->GetPlayer(); - if (ticket->IsAssignedNotTo(player->GetGUID())) + //! Console excluded + Player* player = m_session ? m_session->GetPlayer() : NULL; + if (player && ticket->IsAssignedNotTo(player->GetGUID())) { PSendSysMessage(LANG_COMMAND_TICKETALREADYASSIGNED, ticket->GetId()); return true; diff --git a/src/server/game/Entities/Pet/Pet.cpp b/src/server/game/Entities/Pet/Pet.cpp index 3c0af8a1bfd..afc94880812 100755 --- a/src/server/game/Entities/Pet/Pet.cpp +++ b/src/server/game/Entities/Pet/Pet.cpp @@ -864,6 +864,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; diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 8267298b895..ff5d5c4c0e1 100755 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -12851,6 +12851,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)) { @@ -12864,6 +12866,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)) { @@ -13288,11 +13291,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++); @@ -13307,16 +13306,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) @@ -18872,7 +18865,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); diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index e53f59df2d2..4f0dd7697eb 100755 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -1934,12 +1934,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 @@ -5482,7 +5477,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); @@ -5528,7 +5523,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); @@ -6510,7 +6505,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; } diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 030a8e559b8..18f3e1a403c 100755 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -3734,11 +3734,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? } diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp index 6311066f597..11175b13114 100755 --- a/src/server/game/Groups/Group.cpp +++ b/src/server/game/Groups/Group.cpp @@ -1121,6 +1121,7 @@ void Group::CountTheRoll(Rolls::iterator rollI, uint32 NumberOfPlayers) roll->getLoot()->unlootedCount--; ItemTemplate const* pProto = sObjectMgr->GetItemTemplate(roll->itemid); player->AutoStoreLoot(pProto->DisenchantID, LootTemplates_Disenchant, true); + player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL, 13262); // Disenchant } } } diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index 34bc5f141f2..46c0ca1d8f5 100755 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -1528,41 +1528,28 @@ inline GridMap* Map::GetGrid(float x, float y) return GridMaps[gx][gy]; } -float Map::GetHeight(float x, float y, float z, bool pUseVmaps, float maxSearchDist) const +float Map::GetHeight(float x, float y, float z, bool checkVMap /*= true*/, float maxSearchDist /*= DEFAULT_HEIGHT_SEARCH*/) const { // find raw .map surface under Z coordinates - float mapHeight; + float mapHeight = VMAP_INVALID_HEIGHT_VALUE; if (GridMap* gmap = const_cast<Map*>(this)->GetGrid(x, y)) { - float _mapheight = gmap->getHeight(x, y); - + float gridHeight = gmap->getHeight(x, y); // look from a bit higher pos to find the floor, ignore under surface case - if (z + 2.0f > _mapheight) - mapHeight = _mapheight; - else - mapHeight = VMAP_INVALID_HEIGHT_VALUE; + if (z + 2.0f > gridHeight) + mapHeight = gridHeight; } - else - mapHeight = VMAP_INVALID_HEIGHT_VALUE; - float vmapHeight; - if (pUseVmaps) + float vmapHeight = VMAP_INVALID_HEIGHT_VALUE; + if (checkVMap) { VMAP::IVMapManager* vmgr = VMAP::VMapFactory::createOrGetVMapManager(); if (vmgr->isHeightCalcEnabled()) - { - // look from a bit higher pos to find the floor - vmapHeight = vmgr->getHeight(GetId(), x, y, z + 2.0f, maxSearchDist); - } - else - vmapHeight = VMAP_INVALID_HEIGHT_VALUE; + vmapHeight = vmgr->getHeight(GetId(), x, y, z + 2.0f, maxSearchDist); // look from a bit higher pos to find the floor } - else - vmapHeight = VMAP_INVALID_HEIGHT_VALUE; // mapHeight set for any above raw ground Z or <= INVALID_HEIGHT // vmapheight set for any under Z value or <= INVALID_HEIGHT - if (vmapHeight > INVALID_HEIGHT) { if (mapHeight > INVALID_HEIGHT) @@ -1579,15 +1566,8 @@ float Map::GetHeight(float x, float y, float z, bool pUseVmaps, float maxSearchD else return vmapHeight; // we have only vmapHeight (if have) } - else - { - if (!pUseVmaps) - return mapHeight; // explicitly use map data (if have) - else if (mapHeight > INVALID_HEIGHT && (z < mapHeight + 2 || z == MAX_HEIGHT)) - return mapHeight; // explicitly use map data if original z < mapHeight but map found (z+2 > mapHeight) - else - return VMAP_INVALID_HEIGHT_VALUE; // we not have any height - } + + return mapHeight; // explicitly use map data } inline bool IsOutdoorWMO(uint32 mogpFlags, int32 /*adtId*/, int32 /*rootId*/, int32 /*groupId*/, WMOAreaTableEntry const* wmoEntry, AreaTableEntry const* atEntry) diff --git a/src/server/game/Maps/Map.h b/src/server/game/Maps/Map.h index 5b652a2524a..8c4703a9f3a 100755 --- a/src/server/game/Maps/Map.h +++ b/src/server/game/Maps/Map.h @@ -296,7 +296,7 @@ class Map : public GridRefManager<NGridType> // some calls like isInWater should not use vmaps due to processor power // can return INVALID_HEIGHT if under z+2 z coord not found height - float GetHeight(float x, float y, float z, bool pCheckVMap=true, float maxSearchDist=DEFAULT_HEIGHT_SEARCH) const; + float GetHeight(float x, float y, float z, bool checkVMap = true, float maxSearchDist = DEFAULT_HEIGHT_SEARCH) const; ZLiquidStatus getLiquidStatus(float x, float y, float z, uint8 ReqLiquidType, LiquidData* data = 0) const; diff --git a/src/server/game/Miscellaneous/Language.h b/src/server/game/Miscellaneous/Language.h index ffdf0131143..a6ff663b302 100755 --- a/src/server/game/Miscellaneous/Language.h +++ b/src/server/game/Miscellaneous/Language.h @@ -42,8 +42,8 @@ enum TrinityStrings LANG_GMS_ON_SRV = 16, LANG_GMS_NOT_LOGGED = 17, LANG_YOU_IN_FLIGHT = 18, - //LANG_YOU_IN_BATTLEGROUND = 19, not used - //LANG_TARGET_IN_FLIGHT = 20, not used + LANG_UPDATE_DIFF = 19, + LANG_SHUTDOWN_TIMELEFT = 20, LANG_CHAR_IN_FLIGHT = 21, LANG_CHAR_NON_MOUNTED = 22, LANG_YOU_IN_COMBAT = 23, diff --git a/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.cpp index 5bd0a23207e..09af2303397 100755 --- a/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.cpp @@ -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 diff --git a/src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp b/src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp index cdcacb18aab..3fb75b09a47 100755 --- a/src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp +++ b/src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp @@ -1096,7 +1096,7 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder * holder) pCurrChar->RemoveAtLoginFlag(AT_LOGIN_FIRST); // show time before shutdown if shutdown planned. - if (sWorld->IsShutdowning()) + if (sWorld->IsShuttingDown()) sWorld->ShutdownMsg(true, pCurrChar); if (sWorld->getBoolConfig(CONFIG_ALL_TAXI_PATHS)) diff --git a/src/server/game/Server/Protocol/Handlers/ItemHandler.cpp b/src/server/game/Server/Protocol/Handlers/ItemHandler.cpp index 3f301a7aba8..de1a1b08ce3 100755 --- a/src/server/game/Server/Protocol/Handlers/ItemHandler.cpp +++ b/src/server/game/Server/Protocol/Handlers/ItemHandler.cpp @@ -931,6 +931,7 @@ void WorldSession::HandleAutoBankItemOpcode(WorldPacket& recvPacket) } _player->RemoveItem(srcbag, srcslot, true); + _player->ItemRemovedQuestCheck(pItem->GetEntry(), pItem->GetCount()); _player->BankItem(dest, pItem, true); } @@ -958,6 +959,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 { diff --git a/src/server/game/Server/Protocol/Handlers/NPCHandler.cpp b/src/server/game/Server/Protocol/Handlers/NPCHandler.cpp index a2aa5ea3c50..27e569fe921 100755 --- a/src/server/game/Server/Protocol/Handlers/NPCHandler.cpp +++ b/src/server/game/Server/Protocol/Handlers/NPCHandler.cpp @@ -878,19 +878,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); } } diff --git a/src/server/game/Server/Protocol/Handlers/PetitionsHandler.cpp b/src/server/game/Server/Protocol/Handlers/PetitionsHandler.cpp index a931d8a5b3d..2e9b88bd3f0 100755 --- a/src/server/game/Server/Protocol/Handlers/PetitionsHandler.cpp +++ b/src/server/game/Server/Protocol/Handlers/PetitionsHandler.cpp @@ -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 { diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index f7b49ebadd4..9c4341ec59a 100755 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -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)) @@ -4794,8 +4794,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; } } @@ -4948,9 +4950,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: diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 865dc8c531d..de1b453ac17 100755 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -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; @@ -6180,9 +6190,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) @@ -6203,9 +6217,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); } } diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp index 3edf682f5bb..8c1a7e4f4a6 100644 --- a/src/server/game/Spells/SpellInfo.cpp +++ b/src/server/game/Spells/SpellInfo.cpp @@ -2378,6 +2378,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; } @@ -2675,4 +2688,4 @@ SpellCooldownsEntry const* SpellInfo::GetSpellCooldowns() const SpellEffectEntry const* SpellEntry::GetSpellEffect(uint32 eff) const { return GetSpellEffectEntry(Id, eff); -}
\ No newline at end of file +} diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h index 553d4037430..fd0a05f469c 100755 --- a/src/server/game/World/World.h +++ b/src/server/game/World/World.h @@ -636,7 +636,8 @@ class World void SendServerMessage(ServerMessageType type, const char *text = "", Player* player = NULL); /// Are we in the middle of a shutdown? - bool IsShutdowning() const { return m_ShutdownTimer > 0; } + bool IsShuttingDown() const { return m_ShutdownTimer > 0; } + uint32 GetShutDownTimeLeft() const { return m_ShutdownTimer; } void ShutdownServ(uint32 time, uint32 options, uint8 exitcode); void ShutdownCancel(); void ShutdownMsg(bool show = false, Player* player = NULL); diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp index 82f16dd7784..7cbb1b91755 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp @@ -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; diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp index 545dc79453d..e0892ffb009 100644 --- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp @@ -91,49 +91,50 @@ public: struct boss_anub_arakAI : public ScriptedAI { - boss_anub_arakAI(Creature* c) : ScriptedAI(c), lSummons(me) + boss_anub_arakAI(Creature* creature) : ScriptedAI(creature), Summons(me) { - instance = c->GetInstanceScript(); + instance = creature->GetInstanceScript(); } InstanceScript* instance; - bool bChanneling; - bool bGuardianSummoned; - bool bVenomancerSummoned; - bool bDatterSummoned; - uint8 uiPhase; - uint32 uiUndergroundPhase; - uint32 uiCarrionBeetlesTimer; - uint32 uiLeechingSwarmTimer; - uint32 uiPoundTimer; - uint32 uiSubmergeTimer; - uint32 uiUndergroundTimer; - uint32 uiVenomancerTimer; - uint32 uiDatterTimer; - - uint32 uiImpaleTimer; - uint32 uiImpalePhase; - uint64 uiImpaleTarget; - - SummonList lSummons; + bool Channeling; + bool GuardianSummoned; + bool VenomancerSummoned; + bool DatterSummoned; + uint8 Phase; + uint32 UndergroundPhase; + uint32 CarrionBeetlesTimer; + uint32 LeechingSwarmTimer; + uint32 PoundTimer; + uint32 SubmergeTimer; + uint32 UndergroundTimer; + uint32 VenomancerTimer; + uint32 DatterTimer; + uint32 DelayTimer; + + uint32 ImpaleTimer; + uint32 ImpalePhase; + uint64 ImpaleTarget; + + SummonList Summons; void Reset() { - uiCarrionBeetlesTimer = 8*IN_MILLISECONDS; - uiLeechingSwarmTimer = 20*IN_MILLISECONDS; - uiImpaleTimer = 9*IN_MILLISECONDS; - uiPoundTimer = 15*IN_MILLISECONDS; + CarrionBeetlesTimer = 8*IN_MILLISECONDS; + LeechingSwarmTimer = 20*IN_MILLISECONDS; + ImpaleTimer = 9*IN_MILLISECONDS; + PoundTimer = 15*IN_MILLISECONDS; - uiPhase = PHASE_MELEE; - uiUndergroundPhase = 0; - bChanneling = false; - uiImpalePhase = IMPALE_PHASE_TARGET; + Phase = PHASE_MELEE; + UndergroundPhase = 0; + Channeling = false; + ImpalePhase = IMPALE_PHASE_TARGET; me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE|UNIT_FLAG_NOT_SELECTABLE); me->RemoveAura(SPELL_SUBMERGE); - lSummons.DespawnAll(); + Summons.DespawnAll(); if (instance) { @@ -147,13 +148,13 @@ public: Position targetPos; target->GetPosition(&targetPos); - if (TempSummon* pImpaleTarget = me->SummonCreature(CREATURE_IMPALE_TARGET, targetPos, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 6*IN_MILLISECONDS)) + if (TempSummon* impaleTarget = me->SummonCreature(CREATURE_IMPALE_TARGET, targetPos, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 6*IN_MILLISECONDS)) { - uiImpaleTarget = pImpaleTarget->GetGUID(); - pImpaleTarget->SetReactState(REACT_PASSIVE); - pImpaleTarget->SetDisplayId(DISPLAY_INVISIBLE); - pImpaleTarget->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE|UNIT_FLAG_NON_ATTACKABLE|UNIT_FLAG_NOT_SELECTABLE); - return pImpaleTarget; + ImpaleTarget = impaleTarget->GetGUID(); + impaleTarget->SetReactState(REACT_PASSIVE); + impaleTarget->SetDisplayId(DISPLAY_INVISIBLE); + impaleTarget->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE|UNIT_FLAG_NON_ATTACKABLE|UNIT_FLAG_NOT_SELECTABLE); + return impaleTarget; } return NULL; @@ -162,11 +163,15 @@ public: void EnterCombat(Unit* /*who*/) { DoScriptText(SAY_AGGRO, me); + DelayTimer = 0; if (instance) - { - instance->SetData(DATA_ANUBARAK_EVENT, IN_PROGRESS); instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_START_EVENT); - } + } + + void DelayEventStart() + { + if (instance) + instance->SetData(DATA_ANUBARAK_EVENT, IN_PROGRESS); } void UpdateAI(const uint32 diff) @@ -174,41 +179,45 @@ public: if (!UpdateVictim()) return; - switch (uiPhase) + if (DelayTimer && DelayTimer > 5000) + DelayEventStart(); + else DelayTimer+=diff; + + switch (Phase) { case PHASE_UNDERGROUND: - if (uiImpaleTimer <= diff) + if (ImpaleTimer <= diff) { - switch (uiImpalePhase) + switch (ImpalePhase) { case IMPALE_PHASE_TARGET: if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) { - if (Creature* pImpaleTarget = DoSummonImpaleTarget(target)) - pImpaleTarget->CastSpell(pImpaleTarget, SPELL_IMPALE_SHAKEGROUND, true); - uiImpaleTimer = 3*IN_MILLISECONDS; - uiImpalePhase = IMPALE_PHASE_ATTACK; + if (Creature* impaleTarget = DoSummonImpaleTarget(target)) + impaleTarget->CastSpell(impaleTarget, SPELL_IMPALE_SHAKEGROUND, true); + ImpaleTimer = 3*IN_MILLISECONDS; + ImpalePhase = IMPALE_PHASE_ATTACK; } break; case IMPALE_PHASE_ATTACK: - if (Creature* pImpaleTarget = Unit::GetCreature(*me, uiImpaleTarget)) + if (Creature* impaleTarget = Unit::GetCreature(*me, ImpaleTarget)) { - pImpaleTarget->CastSpell(pImpaleTarget, SPELL_IMPALE_SPIKE, false); - pImpaleTarget->RemoveAurasDueToSpell(SPELL_IMPALE_SHAKEGROUND); + impaleTarget->CastSpell(impaleTarget, SPELL_IMPALE_SPIKE, false); + impaleTarget->RemoveAurasDueToSpell(SPELL_IMPALE_SHAKEGROUND); } - uiImpalePhase = IMPALE_PHASE_DMG; - uiImpaleTimer = 1*IN_MILLISECONDS; + ImpalePhase = IMPALE_PHASE_DMG; + ImpaleTimer = 1*IN_MILLISECONDS; break; case IMPALE_PHASE_DMG: - if (Creature* pImpaleTarget = Unit::GetCreature(*me, uiImpaleTarget)) - me->CastSpell(pImpaleTarget, DUNGEON_MODE(SPELL_IMPALE_DMG, SPELL_IMPALE_DMG_H), true); - uiImpalePhase = IMPALE_PHASE_TARGET; - uiImpaleTimer = 9*IN_MILLISECONDS; + if (Creature* impaleTarget = Unit::GetCreature(*me, ImpaleTarget)) + me->CastSpell(impaleTarget, DUNGEON_MODE(SPELL_IMPALE_DMG, SPELL_IMPALE_DMG_H), true); + ImpalePhase = IMPALE_PHASE_TARGET; + ImpaleTimer = 9*IN_MILLISECONDS; break; } - } else uiImpaleTimer -= diff; + } else ImpaleTimer -= diff; - if (!bGuardianSummoned) + if (!GuardianSummoned) { for (uint8 i = 0; i < 2; ++i) { @@ -218,14 +227,14 @@ public: DoZoneInCombat(Guardian); } } - bGuardianSummoned = true; + GuardianSummoned = true; } - if (!bVenomancerSummoned) + if (!VenomancerSummoned) { - if (uiVenomancerTimer <= diff) + if (VenomancerTimer <= diff) { - if (uiUndergroundPhase > 1) + if (UndergroundPhase > 1) { for (uint8 i = 0; i < 2; ++i) { @@ -235,16 +244,16 @@ public: DoZoneInCombat(Venomancer); } } - bVenomancerSummoned = true; + VenomancerSummoned = true; } - } else uiVenomancerTimer -= diff; + } else VenomancerTimer -= diff; } - if (!bDatterSummoned) + if (!DatterSummoned) { - if (uiDatterTimer <= diff) + if (DatterTimer <= diff) { - if (uiUndergroundPhase > 2) + if (UndergroundPhase > 2) { for (uint8 i = 0; i < 2; ++i) { @@ -254,71 +263,74 @@ public: DoZoneInCombat(Datter); } } - bDatterSummoned = true; + DatterSummoned = true; } - } else uiDatterTimer -= diff; + } else DatterTimer -= diff; + + if(me->HasAura(SPELL_LEECHING_SWARM)) + me->RemoveAurasDueToSpell(SPELL_LEECHING_SWARM); } - if (uiUndergroundTimer <= diff) + if (UndergroundTimer <= diff) { me->RemoveAura(SPELL_SUBMERGE); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE|UNIT_FLAG_NOT_SELECTABLE); - uiPhase = PHASE_MELEE; - } else uiUndergroundTimer -= diff; + Phase = PHASE_MELEE; + } else UndergroundTimer -= diff; break; case PHASE_MELEE: - if (((uiUndergroundPhase == 0 && HealthBelowPct(75)) - || (uiUndergroundPhase == 1 && HealthBelowPct(50)) - || (uiUndergroundPhase == 2 && HealthBelowPct(25))) + if (((UndergroundPhase == 0 && HealthBelowPct(75)) + || (UndergroundPhase == 1 && HealthBelowPct(50)) + || (UndergroundPhase == 2 && HealthBelowPct(25))) && !me->HasUnitState(UNIT_STAT_CASTING)) { - bGuardianSummoned = false; - bVenomancerSummoned = false; - bDatterSummoned = false; + GuardianSummoned = false; + VenomancerSummoned = false; + DatterSummoned = false; - uiUndergroundTimer = 40*IN_MILLISECONDS; - uiVenomancerTimer = 25*IN_MILLISECONDS; - uiDatterTimer = 32*IN_MILLISECONDS; + UndergroundTimer = 40*IN_MILLISECONDS; + VenomancerTimer = 25*IN_MILLISECONDS; + DatterTimer = 32*IN_MILLISECONDS; - uiImpalePhase = 0; - uiImpaleTimer = 9*IN_MILLISECONDS; + ImpalePhase = 0; + ImpaleTimer = 9*IN_MILLISECONDS; DoCast(me, SPELL_SUBMERGE, false); me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE|UNIT_FLAG_NOT_SELECTABLE); - uiPhase = PHASE_UNDERGROUND; - ++uiUndergroundPhase; + Phase = PHASE_UNDERGROUND; + ++UndergroundPhase; } - if (bChanneling == true) + if (Channeling == true) { for (uint8 i = 0; i < 8; ++i) DoCast(me->getVictim(), SPELL_SUMMON_CARRION_BEETLES, true); - bChanneling = false; + Channeling = false; } - else if (uiCarrionBeetlesTimer <= diff) + else if (CarrionBeetlesTimer <= diff) { - bChanneling = true; + Channeling = true; DoCastVictim(SPELL_CARRION_BEETLES); - uiCarrionBeetlesTimer = 25*IN_MILLISECONDS; - } else uiCarrionBeetlesTimer -= diff; + CarrionBeetlesTimer = 25*IN_MILLISECONDS; + } else CarrionBeetlesTimer -= diff; - if (uiLeechingSwarmTimer <= diff) + if (LeechingSwarmTimer <= diff) { DoCast(me, SPELL_LEECHING_SWARM, true); - uiLeechingSwarmTimer = 19*IN_MILLISECONDS; - } else uiLeechingSwarmTimer -= diff; + LeechingSwarmTimer = 19*IN_MILLISECONDS; + } else LeechingSwarmTimer -= diff; - if (uiPoundTimer <= diff) + if (PoundTimer <= diff) { if (Unit* target = me->getVictim()) { if (Creature* pImpaleTarget = DoSummonImpaleTarget(target)) me->CastSpell(pImpaleTarget, DUNGEON_MODE(SPELL_POUND, SPELL_POUND_H), false); } - uiPoundTimer = 16500; - } else uiPoundTimer -= diff; + PoundTimer = 16500; + } else PoundTimer -= diff; DoMeleeAttackIfReady(); break; @@ -328,7 +340,7 @@ public: void JustDied(Unit* /*killer*/) { DoScriptText(SAY_DEATH, me); - lSummons.DespawnAll(); + Summons.DespawnAll(); if (instance) instance->SetData(DATA_ANUBARAK_EVENT, DONE); } @@ -342,7 +354,7 @@ public: void JustSummoned(Creature* summon) { - lSummons.Summon(summon); + Summons.Summon(summon); } }; diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp index 877971aa502..13c174a9607 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp @@ -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] = diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp index 4f837870612..5965c352975 100644 --- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp @@ -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(); diff --git a/src/server/scripts/Outland/nagrand.cpp b/src/server/scripts/Outland/nagrand.cpp index c556253ecf1..bae3aa65b98 100644 --- a/src/server/scripts/Outland/nagrand.cpp +++ b/src/server/scripts/Outland/nagrand.cpp @@ -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); diff --git a/src/server/scripts/World/go_scripts.cpp b/src/server/scripts/World/go_scripts.cpp index 3bb969977b6..44c3ab9bdc9 100644 --- a/src/server/scripts/World/go_scripts.cpp +++ b/src/server/scripts/World/go_scripts.cpp @@ -47,6 +47,7 @@ go_jotunheim_cage go_table_theka go_soulwell go_bashir_crystalforge +go_ethereal_teleport_pad EndContentData */ #include "ScriptPCH.h" @@ -922,6 +923,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; diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp index a5e5b467fc7..38a56f7b64a 100644 --- a/src/server/scripts/World/npcs_special.cpp +++ b/src/server/scripts/World/npcs_special.cpp @@ -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; @@ -2164,6 +2160,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; } diff --git a/src/server/worldserver/CommandLine/CliRunnable.cpp b/src/server/worldserver/CommandLine/CliRunnable.cpp index 564f6028eca..61352521d9f 100755 --- a/src/server/worldserver/CommandLine/CliRunnable.cpp +++ b/src/server/worldserver/CommandLine/CliRunnable.cpp @@ -104,7 +104,7 @@ void utf8print(void* /*arg*/, const char* str) printf(temp_buf); #else { - printf(str); + printf("%s", str); fflush(stdout); } #endif diff --git a/src/server/worldserver/RemoteAccess/RASocket.cpp b/src/server/worldserver/RemoteAccess/RASocket.cpp index 71d4d1df035..82238ee54bc 100755 --- a/src/server/worldserver/RemoteAccess/RASocket.cpp +++ b/src/server/worldserver/RemoteAccess/RASocket.cpp @@ -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; } diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist index 6cff44baca8..57fde5b8ea7 100644 --- a/src/server/worldserver/worldserver.conf.dist +++ b/src/server/worldserver/worldserver.conf.dist @@ -1745,7 +1745,8 @@ Channel.RestrictedLfg = 1 # # Channel.SilentlyGMJoin -# Description: Silently join GM characters to channels +# Description: Silently join GM characters to channels. If set to 1, channel kick and ban +# commands issued by a GM will not be broadcasted. # Default: 0 - (Disabled, Join with announcement) # 1 - (Enabled, Join without announcement) |