Merge branch 'master' into Playerbot

This commit is contained in:
Yunfan Li
2024-12-13 18:51:37 +08:00
48 changed files with 1584 additions and 64 deletions
@@ -0,0 +1,5 @@
-- DB update 2024_12_03_02 -> 2024_12_05_00
--
DELETE FROM `spell_script_names` WHERE `spell_id` = 43657;
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
(43657, 'spell_electrical_storm_proc');
+587
View File
@@ -0,0 +1,587 @@
-- DB update 2024_12_05_00 -> 2024_12_06_00
-- Delete unofficial npcs
DELETE FROM `creature` WHERE (`id1` = 28940) AND (`guid` IN (129709, 129724, 129726));
DELETE FROM `creature_addon` WHERE (`guid` IN (129709, 129724, 129726));
DELETE FROM `creature` WHERE (`id1` = 28610) AND (`guid` IN (130036, 130015));
DELETE FROM `creature_addon` WHERE (`guid` IN (130036, 130015));
DELETE FROM `creature` WHERE (`id1` = 28936) AND (`guid` IN (129644));
DELETE FROM `creature_addon` WHERE (`guid` IN (129644));
-- Adding Waypoints
DELETE FROM `waypoint_data` WHERE `id` IN (12964600, 12965500, 12963900, 12964800, 12965100, 12965600, 12963800, 12964000, 12964900, 12965300, 12964300, 12965700, 12965400, 13000900, 12970200, 13001400, 12972200, 12965200);
INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES
(12964600, 1, 1732.11, -5776.87, 115.589, NULL, 0, 0, 0, 100, 0),
(12964600, 2, 1728.72, -5777.74, 115.262, NULL, 0, 0, 0, 100, 0),
(12964600, 3, 1718.53, -5780.24, 114.403, NULL, 0, 0, 0, 100, 0),
(12964600, 4, 1713.24, -5780.54, 114.028, NULL, 0, 0, 0, 100, 0),
(12964600, 5, 1698.87, -5780.64, 113.636, NULL, 0, 0, 0, 100, 0),
(12964600, 6, 1699.34, -5786.9, 114.22, NULL, 0, 0, 0, 100, 0),
(12964600, 7, 1699.64, -5796.75, 115.044, NULL, 0, 0, 0, 100, 0),
(12964600, 8, 1699.73, -5805.7, 115.703, NULL, 0, 0, 0, 100, 0),
(12964600, 9, 1699.69, -5809.83, 115.933, NULL, 0, 0, 0, 100, 0),
(12964600, 10, 1699.73, -5805.7, 115.703, NULL, 0, 0, 0, 100, 0),
(12964600, 11, 1699.64, -5796.75, 115.044, NULL, 0, 0, 0, 100, 0),
(12964600, 12, 1699.34, -5786.9, 114.22, NULL, 0, 0, 0, 100, 0),
(12964600, 13, 1698.87, -5780.64, 113.636, NULL, 0, 0, 0, 100, 0),
(12964600, 14, 1713.24, -5780.54, 114.028, NULL, 0, 0, 0, 100, 0),
(12964600, 15, 1718.53, -5780.24, 114.403, NULL, 0, 0, 0, 100, 0),
(12964600, 16, 1728.72, -5777.74, 115.262, NULL, 0, 0, 0, 100, 0),
(12964600, 17, 1732.11, -5776.87, 115.589, NULL, 0, 0, 0, 100, 0),
(12964600, 18, 1739.78, -5775.24, 116.06, NULL, 0, 0, 0, 100, 0),
(12965500, 1, 1717.5, -5871.82, 116.139, NULL, 0, 0, 0, 100, 0),
(12965500, 2, 1708.7, -5871.41, 116.126, NULL, 0, 0, 0, 100, 0),
(12965500, 3, 1699.96, -5870.13, 116.138, NULL, 0, 0, 0, 100, 0),
(12965500, 4, 1696.44, -5869.54, 116.145, NULL, 0, 0, 0, 100, 0),
(12965500, 5, 1697.06, -5863.35, 116.147, NULL, 0, 0, 0, 100, 0),
(12965500, 6, 1697.85, -5853.36, 116.15, NULL, 0, 0, 0, 100, 0),
(12965500, 7, 1698.8, -5839.74, 116.137, NULL, 0, 0, 0, 100, 0),
(12965500, 8, 1697.85, -5853.36, 116.15, NULL, 0, 0, 0, 100, 0),
(12965500, 9, 1697.06, -5863.35, 116.147, NULL, 0, 0, 0, 100, 0),
(12965500, 10, 1696.44, -5869.54, 116.145, NULL, 0, 0, 0, 100, 0),
(12965500, 11, 1699.96, -5870.13, 116.138, NULL, 0, 0, 0, 100, 0),
(12965500, 12, 1708.7, -5871.41, 116.126, NULL, 0, 0, 0, 100, 0),
(12965500, 13, 1717.5, -5871.82, 116.139, NULL, 0, 0, 0, 100, 0),
(12965500, 14, 1726.44, -5871.98, 116.12, NULL, 0, 0, 0, 100, 0),
(12963900, 1, 1662.2, -5842.81, 116.149, NULL, 0, 0, 0, 100, 0),
(12963900, 2, 1670.47, -5842, 116.155, NULL, 0, 0, 0, 100, 0),
(12963900, 3, 1675.52, -5837.58, 116.151, NULL, 0, 0, 0, 100, 0),
(12963900, 4, 1681.92, -5832.42, 116.132, NULL, 0, 0, 0, 100, 0),
(12963900, 5, 1691.65, -5834.89, 116.135, NULL, 0, 0, 0, 100, 0),
(12963900, 6, 1697.77, -5831.2, 116.131, NULL, 0, 0, 0, 100, 0),
(12963900, 7, 1704.59, -5827.17, 116.124, NULL, 0, 0, 0, 100, 0),
(12963900, 8, 1708.67, -5824.83, 116.123, NULL, 0, 0, 0, 100, 0),
(12963900, 9, 1706.14, -5817.84, 116.121, NULL, 0, 0, 0, 100, 0),
(12963900, 10, 1703.89, -5811.78, 116.022, NULL, 0, 0, 0, 100, 0),
(12963900, 11, 1701, -5806.55, 115.761, NULL, 0, 0, 0, 100, 0),
(12963900, 12, 1696.82, -5810.47, 115.969, NULL, 0, 0, 0, 100, 0),
(12963900, 13, 1687.4, -5820.39, 116.123, NULL, 0, 0, 0, 100, 0),
(12963900, 14, 1683.54, -5831.59, 116.129, NULL, 0, 0, 0, 100, 0),
(12963900, 15, 1671.76, -5841.22, 116.154, NULL, 0, 0, 0, 100, 0),
(12963900, 16, 1653.99, -5842.91, 116.13, NULL, 0, 0, 0, 100, 0),
(12964800, 1, 1624.65, -5775.75, 116.118, NULL, 0, 0, 0, 100, 0),
(12964800, 2, 1633.19, -5776.35, 116.135, NULL, 0, 0, 0, 100, 0),
(12964800, 3, 1643.35, -5777.64, 116.173, NULL, 0, 0, 0, 100, 0),
(12964800, 4, 1650.32, -5778.36, 116.156, NULL, 0, 0, 0, 100, 0),
(12964800, 5, 1660.28, -5779.68, 116.114, NULL, 0, 0, 0, 100, 0),
(12964800, 6, 1660.86, -5783.13, 116.116, NULL, 0, 0, 0, 100, 0),
(12964800, 7, 1662.02, -5792.15, 116.12, NULL, 0, 0, 0, 100, 0),
(12964800, 8, 1662.83, -5799.71, 116.12, NULL, 0, 0, 0, 100, 0),
(12964800, 9, 1662.02, -5792.15, 116.12, NULL, 0, 0, 0, 100, 0),
(12964800, 10, 1660.86, -5783.13, 116.116, NULL, 0, 0, 0, 100, 0),
(12964800, 11, 1660.28, -5779.68, 116.114, NULL, 0, 0, 0, 100, 0),
(12964800, 12, 1650.32, -5778.36, 116.156, NULL, 0, 0, 0, 100, 0),
(12964800, 13, 1643.35, -5777.64, 116.173, NULL, 0, 0, 0, 100, 0),
(12964800, 14, 1633.19, -5776.35, 116.135, NULL, 0, 0, 0, 100, 0),
(12964800, 15, 1624.65, -5775.75, 116.118, NULL, 0, 0, 0, 100, 0),
(12964800, 16, 1605.68, -5769.41, 116.09, NULL, 0, 0, 0, 100, 0),
(12965100, 1, 1697.22, -5681.61, 100.935, NULL, 0, 0, 0, 100, 0),
(12965100, 2, 1697.21, -5693.08, 100.954, NULL, 0, 0, 0, 100, 0),
(12965100, 3, 1697.24, -5703, 102.153, NULL, 0, 0, 0, 100, 0),
(12965100, 4, 1697.37, -5713.05, 103.852, NULL, 0, 0, 0, 100, 0),
(12965100, 5, 1697.4, -5722.63, 105.462, NULL, 0, 0, 0, 100, 0),
(12965100, 6, 1697.42, -5732.5, 107.141, NULL, 0, 0, 0, 100, 0),
(12965100, 7, 1697.47, -5743.48, 108.924, NULL, 0, 0, 0, 100, 0),
(12965100, 8, 1697.75, -5751.68, 110.122, NULL, 0, 0, 0, 100, 0),
(12965100, 9, 1698.26, -5763.04, 111.63, NULL, 0, 0, 0, 100, 0),
(12965100, 10, 1698.62, -5770.41, 112.531, NULL, 0, 0, 0, 100, 0),
(12965100, 11, 1698.26, -5763.04, 111.63, NULL, 0, 0, 0, 100, 0),
(12965100, 12, 1697.75, -5751.68, 110.122, NULL, 0, 0, 0, 100, 0),
(12965100, 13, 1697.47, -5743.48, 108.924, NULL, 0, 0, 0, 100, 0),
(12965100, 14, 1697.42, -5732.5, 107.141, NULL, 0, 0, 0, 100, 0),
(12965100, 15, 1697.4, -5722.63, 105.462, NULL, 0, 0, 0, 100, 0),
(12965100, 16, 1697.37, -5713.05, 103.852, NULL, 0, 0, 0, 100, 0),
(12965100, 17, 1697.24, -5703, 102.153, NULL, 0, 0, 0, 100, 0),
(12965100, 18, 1697.21, -5693.08, 100.954, NULL, 0, 0, 0, 100, 0),
(12965100, 19, 1697.22, -5681.61, 100.935, NULL, 0, 0, 0, 100, 0),
(12965100, 20, 1697.03, -5672.62, 100.93, NULL, 0, 0, 0, 100, 0),
(12965600, 1, 1652.49, -5964.18, 130.396, NULL, 0, 0, 0, 100, 0),
(12965600, 2, 1652.54, -5957.19, 128.178, NULL, 0, 0, 0, 100, 0),
(12965600, 3, 1652.8, -5946.69, 125.333, NULL, 0, 0, 0, 100, 0),
(12965600, 4, 1652.97, -5939.69, 123.965, NULL, 0, 0, 0, 100, 0),
(12965600, 5, 1653.16, -5929.19, 121.793, NULL, 0, 0, 0, 100, 0),
(12965600, 6, 1653.53, -5918.7, 118.519, NULL, 0, 0, 0, 100, 0),
(12965600, 7, 1653.77, -5911.7, 116.768, NULL, 0, 0, 0, 100, 0),
(12965600, 8, 1654.04, -5903.89, 116.144, NULL, 0, 0, 0, 100, 0),
(12965600, 9, 1658.65, -5901, 116.141, NULL, 0, 0, 0, 100, 0),
(12965600, 10, 1667.72, -5895.71, 116.143, NULL, 0, 0, 0, 100, 0),
(12965600, 11, 1673.84, -5892.31, 116.149, NULL, 0, 0, 0, 100, 0),
(12965600, 12, 1684.22, -5886.85, 116.146, NULL, 0, 0, 0, 100, 0),
(12965600, 13, 1691.82, -5882.8, 116.14, NULL, 0, 0, 0, 100, 0),
(12965600, 14, 1684.22, -5886.85, 116.146, NULL, 0, 0, 0, 100, 0),
(12965600, 15, 1673.84, -5892.31, 116.149, NULL, 0, 0, 0, 100, 0),
(12965600, 16, 1667.72, -5895.71, 116.143, NULL, 0, 0, 0, 100, 0),
(12965600, 17, 1658.65, -5901, 116.141, NULL, 0, 0, 0, 100, 0),
(12965600, 18, 1654.04, -5903.89, 116.144, NULL, 0, 0, 0, 100, 0),
(12965600, 19, 1653.77, -5911.7, 116.768, NULL, 0, 0, 0, 100, 0),
(12965600, 20, 1653.53, -5918.7, 118.519, NULL, 0, 0, 0, 100, 0),
(12965600, 21, 1653.16, -5929.19, 121.793, NULL, 0, 0, 0, 100, 0),
(12965600, 22, 1652.97, -5939.69, 123.965, NULL, 0, 0, 0, 100, 0),
(12965600, 23, 1652.8, -5946.69, 125.333, NULL, 0, 0, 0, 100, 0),
(12965600, 24, 1652.54, -5957.19, 128.178, NULL, 0, 0, 0, 100, 0),
(12965600, 25, 1652.49, -5964.18, 130.396, NULL, 0, 0, 0, 100, 0),
(12965600, 26, 1652.36, -5975.49, 132.70, NULL, 0, 0, 0, 100, 0),
(12963800, 1, 1561.98, -5777.51, 118.155, NULL, 0, 0, 0, 100, 0),
(12963800, 2, 1555, -5777.93, 118.64, NULL, 0, 0, 0, 100, 0),
(12963800, 3, 1548.01, -5778.28, 119.784, NULL, 0, 0, 0, 100, 0),
(12963800, 4, 1541.01, -5778.58, 121.11, NULL, 0, 0, 0, 100, 0),
(12963800, 5, 1530.52, -5778.36, 122.516, NULL, 0, 0, 0, 100, 0),
(12963800, 6, 1523.52, -5778.15, 123.093, NULL, 0, 0, 0, 100, 0),
(12963800, 7, 1515.65, -5777.74, 124.393, NULL, 0, 0, 0, 100, 0),
(12963800, 8, 1516.09, -5770.75, 122.7, NULL, 0, 0, 0, 100, 0),
(12963800, 9, 1516.54, -5763.77, 121.79, NULL, 0, 0, 0, 100, 0),
(12963800, 10, 1517.23, -5753.29, 120.96, NULL, 0, 0, 0, 100, 0),
(12963800, 11, 1517.65, -5746.3, 119.79, NULL, 0, 0, 0, 100, 0),
(12963800, 12, 1518.32, -5735.24, 117.575, NULL, 0, 0, 0, 100, 0),
(12963800, 13, 1518.56, -5731.75, 116.641, NULL, 0, 0, 0, 100, 0),
(12963800, 14, 1519.11, -5723.94, 116.102, NULL, 0, 0, 0, 100, 0),
(12963800, 15, 1519.65, -5720.09, 116.102, NULL, 0, 0, 0, 100, 0),
(12963800, 16, 1522.66, -5713.76, 116.103, NULL, 0, 0, 0, 100, 0),
(12963800, 17, 1529.94, -5703.6, 116.103, NULL, 0, 0, 0, 100, 0),
(12963800, 18, 1522.66, -5713.76, 116.103, NULL, 0, 0, 0, 100, 0),
(12963800, 19, 1519.65, -5720.09, 116.102, NULL, 0, 0, 0, 100, 0),
(12963800, 20, 1519.11, -5723.94, 116.102, NULL, 0, 0, 0, 100, 0),
(12963800, 21, 1518.56, -5731.75, 116.641, NULL, 0, 0, 0, 100, 0),
(12963800, 22, 1518.32, -5735.24, 117.575, NULL, 0, 0, 0, 100, 0),
(12963800, 23, 1517.65, -5746.3, 119.79, NULL, 0, 0, 0, 100, 0),
(12963800, 24, 1517.23, -5753.29, 120.96, NULL, 0, 0, 0, 100, 0),
(12963800, 25, 1516.54, -5763.77, 121.79, NULL, 0, 0, 0, 100, 0),
(12963800, 26, 1516.09, -5770.75, 122.7, NULL, 0, 0, 0, 100, 0),
(12963800, 27, 1515.65, -5777.74, 124.393, NULL, 0, 0, 0, 100, 0),
(12963800, 28, 1523.52, -5778.15, 123.093, NULL, 0, 0, 0, 100, 0),
(12963800, 29, 1530.52, -5778.36, 122.516, NULL, 0, 0, 0, 100, 0),
(12963800, 30, 1541.01, -5778.58, 121.11, NULL, 0, 0, 0, 100, 0),
(12963800, 31, 1548.01, -5778.28, 119.784, NULL, 0, 0, 0, 100, 0),
(12963800, 32, 1555, -5777.93, 118.64, NULL, 0, 0, 0, 100, 0),
(12963800, 33, 1561.98, -5777.51, 118.155, NULL, 0, 0, 0, 100, 0),
(12963800, 34, 1570.41, -5776.94, 117.86, NULL, 0, 0, 0, 100, 0),
(12964000, 1, 1600.55, -5908.86, 116.317, NULL, 0, 0, 0, 100, 0),
(12964000, 2, 1593.85, -5906.81, 117.143, NULL, 0, 0, 0, 100, 0),
(12964000, 3, 1583.88, -5903.53, 119.437, NULL, 0, 0, 0, 100, 0),
(12964000, 4, 1577.6, -5901.65, 120.72, NULL, 0, 0, 0, 100, 0),
(12964000, 5, 1570.77, -5900.11, 122.094, NULL, 0, 0, 0, 100, 0),
(12964000, 6, 1562.59, -5898.43, 123.523, NULL, 0, 0, 0, 100, 0),
(12964000, 7, 1555.69, -5897.28, 125.116, NULL, 0, 0, 0, 100, 0),
(12964000, 8, 1545.34, -5895.51, 127.386, NULL, 0, 0, 0, 100, 0),
(12964000, 9, 1535.03, -5893.55, 129.08, NULL, 0, 0, 0, 100, 0),
(12964000, 10, 1526.53, -5890.97, 130.096, NULL, 0, 0, 0, 100, 0),
(12964000, 11, 1519.88, -5888.78, 130.624, NULL, 0, 0, 0, 100, 0),
(12964000, 12, 1511.25, -5885.75, 131.014, NULL, 0, 0, 0, 100, 0),
(12964000, 13, 1504.95, -5883.19, 131.188, NULL, 0, 0, 0, 100, 0),
(12964000, 14, 1511.25, -5885.75, 131.014, NULL, 0, 0, 0, 100, 0),
(12964000, 15, 1519.88, -5888.78, 130.624, NULL, 0, 0, 0, 100, 0),
(12964000, 16, 1526.53, -5890.97, 130.096, NULL, 0, 0, 0, 100, 0),
(12964000, 17, 1535.03, -5893.55, 129.08, NULL, 0, 0, 0, 100, 0),
(12964000, 18, 1545.34, -5895.51, 127.386, NULL, 0, 0, 0, 100, 0),
(12964000, 19, 1555.69, -5897.28, 125.116, NULL, 0, 0, 0, 100, 0),
(12964000, 20, 1562.59, -5898.43, 123.523, NULL, 0, 0, 0, 100, 0),
(12964000, 21, 1570.77, -5900.11, 122.094, NULL, 0, 0, 0, 100, 0),
(12964000, 22, 1577.6, -5901.65, 120.72, NULL, 0, 0, 0, 100, 0),
(12964000, 23, 1583.88, -5903.53, 119.437, NULL, 0, 0, 0, 100, 0),
(12964000, 24, 1593.85, -5906.81, 117.143, NULL, 0, 0, 0, 100, 0),
(12964000, 25, 1600.55, -5908.86, 116.317, NULL, 0, 0, 0, 100, 0),
(12964000, 26, 1608.16, -5911.04, 116.14, NULL, 0, 0, 0, 100, 0),
(12964900, 1, 1688.65, -5983.67, 130.425, NULL, 0, 0, 0, 100, 0),
(12964900, 2, 1690.94, -5989.71, 130.732, NULL, 0, 0, 0, 100, 0),
(12964900, 3, 1693.11, -5995.7, 132.877, NULL, 0, 0, 0, 100, 0),
(12964900, 4, 1694.74, -6000.31, 134.985, NULL, 0, 0, 0, 100, 0),
(12964900, 5, 1696.61, -6005.58, 135.86, NULL, 0, 0, 0, 100, 0),
(12964900, 6, 1697.87, -6008.84, 135.329, NULL, 0, 0, 0, 100, 0),
(12964900, 7, 1701.65, -6018.64, 134.577, NULL, 0, 0, 0, 100, 0),
(12964900, 8, 1705.38, -6028.45, 133.91, NULL, 0, 0, 0, 100, 0),
(12964900, 9, 1707.82, -6035.01, 133.047, NULL, 0, 0, 0, 100, 0),
(12964900, 10, 1711.37, -6044.9, 134.387, NULL, 0, 0, 0, 100, 0),
(12964900, 11, 1713.94, -6052.34, 136.517, NULL, 0, 0, 0, 100, 0),
(12964900, 12, 1716.5, -6059.74, 140.355, NULL, 0, 0, 0, 100, 0),
(12964900, 13, 1710.82, -6059.63, 139.044, NULL, 0, 0, 0, 100, 0),
(12964900, 14, 1702.12, -6059.45, 139.905, NULL, 0, 0, 0, 100, 0),
(12964900, 15, 1698.4, -6059.93, 139.766, NULL, 0, 0, 0, 100, 0),
(12964900, 16, 1690.63, -6048.82, 134.459, NULL, 0, 0, 0, 100, 0),
(12964900, 17, 1688.63, -6037.27, 133.038, NULL, 0, 0, 0, 100, 0),
(12964900, 18, 1688.04, -6026.31, 133.144, NULL, 0, 0, 0, 100, 0),
(12964900, 19, 1687.62, -6016.61, 133.455, NULL, 0, 0, 0, 100, 0),
(12964900, 20, 1686.48, -6005.39, 133.494, NULL, 0, 0, 0, 100, 0),
(12964900, 21, 1685.56, -5993.86, 132.473, NULL, 0, 0, 0, 100, 0),
(12964900, 22, 1681.00, -5986.50, 132.497, NULL, 0, 0, 0, 100, 0),
(12964900, 23, 1675.66, -5976.37, 132.764, NULL, 0, 0, 0, 100, 0),
(12965300, 1, 1567.97, -5940.48, 119.88, NULL, 0, 0, 0, 100, 0),
(12965300, 2, 1563.68, -5946.02, 119.894, NULL, 0, 0, 0, 100, 0),
(12965300, 3, 1557.54, -5954.54, 119.346, NULL, 0, 0, 0, 100, 0),
(12965300, 4, 1551.49, -5963.11, 118.323, NULL, 0, 0, 0, 100, 0),
(12965300, 5, 1546.54, -5968.03, 117.729, NULL, 0, 0, 0, 100, 0),
(12965300, 6, 1538.71, -5975.02, 116.86, NULL, 0, 0, 0, 100, 0),
(12965300, 7, 1530.83, -5981.96, 116.347, NULL, 0, 0, 0, 100, 0),
(12965300, 8, 1525.5, -5986.5, 116.363, NULL, 0, 0, 0, 100, 0),
(12965300, 9, 1517.01, -5994.29, 116.634, NULL, 0, 0, 0, 100, 0),
(12965300, 10, 1525.5, -5986.5, 116.363, NULL, 0, 0, 0, 100, 0),
(12965300, 11, 1530.83, -5981.96, 116.347, NULL, 0, 0, 0, 100, 0),
(12965300, 12, 1538.71, -5975.02, 116.86, NULL, 0, 0, 0, 100, 0),
(12965300, 13, 1546.54, -5968.03, 117.729, NULL, 0, 0, 0, 100, 0),
(12965300, 14, 1551.49, -5963.11, 118.323, NULL, 0, 0, 0, 100, 0),
(12965300, 15, 1557.54, -5954.54, 119.346, NULL, 0, 0, 0, 100, 0),
(12965300, 16, 1563.68, -5946.02, 119.894, NULL, 0, 0, 0, 100, 0),
(12965300, 17, 1567.97, -5940.48, 119.88, NULL, 0, 0, 0, 100, 0),
(12965300, 18, 1573.61, -5933.74, 119.60, NULL, 0, 0, 0, 100, 0),
(12964300, 1, 1472.9, -6114.2, 116.284, NULL, 0, 0, 0, 100, 0),
(12964300, 2, 1471.64, -6106.69, 116.356, NULL, 0, 0, 0, 100, 0),
(12964300, 3, 1472.5, -6099.53, 116.542, NULL, 0, 0, 0, 100, 0),
(12964300, 4, 1474.55, -6088, 116.602, NULL, 0, 0, 0, 100, 0),
(12964300, 5, 1474.32, -6083.01, 116.443, NULL, 0, 0, 0, 100, 0),
(12964300, 6, 1474.06, -6072.51, 116.309, NULL, 0, 0, 0, 100, 0),
(12964300, 7, 1473.89, -6062.02, 116.303, NULL, 0, 0, 0, 100, 0),
(12964300, 8, 1473.73, -6051.52, 116.329, NULL, 0, 0, 0, 100, 0),
(12964300, 9, 1473.35, -6041.03, 116.308, NULL, 0, 0, 0, 100, 0),
(12964300, 10, 1474.46, -6030.12, 116.284, NULL, 0, 0, 0, 100, 0),
(12964300, 11, 1475.86, -6023.26, 116.283, NULL, 0, 0, 0, 100, 0),
(12964300, 12, 1477.33, -6016.42, 116.284, NULL, 0, 0, 0, 100, 0),
(12964300, 13, 1478.8, -6009.57, 116.283, NULL, 0, 0, 0, 100, 0),
(12964300, 14, 1485.28, -6002.28, 116.304, NULL, 0, 0, 0, 100, 0),
(12964300, 15, 1490.99, -5999.12, 116.399, NULL, 0, 0, 0, 100, 0),
(12964300, 16, 1501.04, -5996.1, 116.65, NULL, 0, 0, 0, 100, 0),
(12964300, 17, 1507.75, -5994.11, 116.622, NULL, 0, 0, 0, 100, 0),
(12964300, 18, 1516.05, -5992.28, 116.59, NULL, 0, 0, 0, 100, 0),
(12964300, 19, 1517.43, -5995.25, 116.657, NULL, 0, 0, 0, 100, 0),
(12964300, 20, 1518.63, -6004.94, 116.705, NULL, 0, 0, 0, 100, 0),
(12964300, 21, 1519.26, -6015.85, 116.698, NULL, 0, 0, 0, 100, 0),
(12964300, 22, 1520.53, -6022.74, 116.677, NULL, 0, 0, 0, 100, 0),
(12964300, 23, 1521.85, -6029.61, 116.667, NULL, 0, 0, 0, 100, 0),
(12964300, 24, 1523.13, -6040.01, 116.691, NULL, 0, 0, 0, 100, 0),
(12964300, 25, 1523.7, -6050.49, 116.641, NULL, 0, 0, 0, 100, 0),
(12964300, 26, 1524.2, -6057.48, 116.612, NULL, 0, 0, 0, 100, 0),
(12964300, 27, 1524.55, -6064.47, 116.582, NULL, 0, 0, 0, 100, 0),
(12964300, 28, 1524.98, -6074.96, 116.429, NULL, 0, 0, 0, 100, 0),
(12964300, 29, 1524.17, -6079.84, 116.371, NULL, 0, 0, 0, 100, 0),
(12964300, 30, 1521.86, -6087.35, 116.354, NULL, 0, 0, 0, 100, 0),
(12964300, 31, 1517.24, -6096.78, 116.334, NULL, 0, 0, 0, 100, 0),
(12964300, 32, 1514.14, -6103.05, 116.301, NULL, 0, 0, 0, 100, 0),
(12964300, 33, 1508.61, -6108.06, 116.283, NULL, 0, 0, 0, 100, 0),
(12964300, 34, 1502.59, -6111.64, 116.28, NULL, 0, 0, 0, 100, 0),
(12964300, 35, 1493.14, -6116.19, 116.278, NULL, 0, 0, 0, 100, 0),
(12964300, 36, 1486.7, -6118.93, 116.278, NULL, 0, 0, 0, 100, 0),
(12964300, 37, 1476.94, -6122.82, 116.278, NULL, 0, 0, 0, 100, 0),
(12965700, 1, 1479.77, -5795.9, 131.225, NULL, 0, 0, 0, 100, 0),
(12965700, 2, 1473.2, -5788.08, 131.226, NULL, 0, 0, 0, 100, 0),
(12965700, 3, 1459.8, -5772.83, 131.277, NULL, 0, 0, 0, 100, 0),
(12965700, 4, 1453.71, -5765.56, 131.249, NULL, 0, 0, 0, 100, 0),
(12965700, 5, 1446.44, -5756.63, 131.211, NULL, 0, 0, 0, 100, 0),
(12965700, 6, 1438.99, -5751.49, 131.211, NULL, 0, 0, 0, 100, 0),
(12965700, 7, 1425.57, -5746.22, 131.211, NULL, 0, 0, 0, 100, 0),
(12965700, 8, 1416.81, -5751.64, 131.245, NULL, 0, 0, 0, 100, 0),
(12965700, 9, 1413.58, -5757.84, 131.376, NULL, 0, 0, 0, 100, 0),
(12965700, 10, 1408.82, -5766.98, 131.427, NULL, 0, 0, 0, 100, 0),
(12965700, 11, 1403.24, -5779.82, 131.324, NULL, 0, 0, 0, 100, 0),
(12965700, 12, 1398.89, -5791.07, 131.218, NULL, 0, 0, 0, 100, 0),
(12965700, 13, 1397.04, -5798.61, 131.221, NULL, 0, 0, 0, 100, 0),
(12965700, 14, 1400.24, -5806.23, 131.229, NULL, 0, 0, 0, 100, 0),
(12965700, 15, 1403.84, -5814.47, 131.213, NULL, 0, 0, 0, 100, 0),
(12965700, 16, 1413.36, -5825.58, 131.21, NULL, 0, 0, 0, 100, 0),
(12965700, 17, 1418.04, -5830.78, 131.202, NULL, 0, 0, 0, 100, 0),
(12965700, 18, 1428.02, -5842.01, 131.206, NULL, 0, 0, 0, 100, 0),
(12965700, 19, 1437.58, -5853.39, 131.21, NULL, 0, 0, 0, 100, 0),
(12965700, 20, 1450.56, -5856.58, 131.219, NULL, 0, 0, 0, 100, 0),
(12965700, 21, 1460.17, -5856.59, 131.218, NULL, 0, 0, 0, 100, 0),
(12965700, 22, 1468.48, -5856.22, 131.29, NULL, 0, 0, 0, 100, 0),
(12965700, 23, 1484.22, -5855.63, 131.217, NULL, 0, 0, 0, 100, 0),
(12965700, 24, 1493.32, -5851.1, 131.214, NULL, 0, 0, 0, 100, 0),
(12965700, 25, 1492.52, -5840.63, 131.211, NULL, 0, 0, 0, 100, 0),
(12965700, 26, 1491.61, -5830.18, 131.211, NULL, 0, 0, 0, 100, 0),
(12965700, 27, 1490.1, -5819.79, 131.211, NULL, 0, 0, 0, 100, 0),
(12965700, 28, 1487.21, -5806.08, 131.221, NULL, 0, 0, 0, 100, 0),
(12965400, 1, 1431.17, -5838.02, 131.213, NULL, 0, 0, 0, 100, 0),
(12965400, 2, 1426.36, -5832.93, 131.21, NULL, 0, 0, 0, 100, 0),
(12965400, 3, 1421.49, -5827.91, 131.207, NULL, 0, 0, 0, 100, 0),
(12965400, 4, 1411, -5816.86, 131.208, NULL, 0, 0, 0, 100, 0),
(12965400, 5, 1407.67, -5812.31, 131.209, NULL, 0, 0, 0, 100, 0),
(12965400, 6, 1404.21, -5806.8, 131.213, NULL, 0, 0, 0, 100, 0),
(12965400, 7, 1402.93, -5801.91, 131.214, NULL, 0, 0, 0, 100, 0),
(12965400, 8, 1404.46, -5794.68, 131.211, NULL, 0, 0, 0, 100, 0),
(12965400, 9, 1407.36, -5788.31, 131.211, NULL, 0, 0, 0, 100, 0),
(12965400, 10, 1411.81, -5778.8, 131.23, NULL, 0, 0, 0, 100, 0),
(12965400, 11, 1414.23, -5773.33, 131.243, NULL, 0, 0, 0, 100, 0),
(12965400, 12, 1418.51, -5763.75, 131.241, NULL, 0, 0, 0, 100, 0),
(12965400, 13, 1421.65, -5756.73, 131.214, NULL, 0, 0, 0, 100, 0),
(12965400, 14, 1425.45, -5753.72, 131.211, NULL, 0, 0, 0, 100, 0),
(12965400, 15, 1435.95, -5755.48, 131.211, NULL, 0, 0, 0, 100, 0),
(12965400, 16, 1442.46, -5762.51, 131.211, NULL, 0, 0, 0, 100, 0),
(12965400, 17, 1447.39, -5767.48, 131.211, NULL, 0, 0, 0, 100, 0),
(12965400, 18, 1454.41, -5775.28, 131.211, NULL, 0, 0, 0, 100, 0),
(12965400, 19, 1461.21, -5783.29, 131.211, NULL, 0, 0, 0, 100, 0),
(12965400, 20, 1468.03, -5791.27, 131.211, NULL, 0, 0, 0, 100, 0),
(12965400, 21, 1476.99, -5802.03, 131.211, NULL, 0, 0, 0, 100, 0),
(12965400, 22, 1482.16, -5813.56, 131.211, NULL, 0, 0, 0, 100, 0),
(12965400, 23, 1484.44, -5820.17, 131.211, NULL, 0, 0, 0, 100, 0),
(12965400, 24, 1486.73, -5832.7, 131.222, NULL, 0, 0, 0, 100, 0),
(12965400, 25, 1487.87, -5843.14, 131.215, NULL, 0, 0, 0, 100, 0),
(12965400, 26, 1483.61, -5849.93, 131.216, NULL, 0, 0, 0, 100, 0),
(12965400, 27, 1476.62, -5850.23, 131.246, NULL, 0, 0, 0, 100, 0),
(12965400, 28, 1466.13, -5850.69, 131.242, NULL, 0, 0, 0, 100, 0),
(12965400, 29, 1457.02, -5851.2, 131.282, NULL, 0, 0, 0, 100, 0),
(12965400, 30, 1447.8, -5852.53, 131.261, NULL, 0, 0, 0, 100, 0),
(12965400, 31, 1441.34, -5848.46, 131.213, NULL, 0, 0, 0, 100, 0),
(12965400, 32, 1437.42, -5844.97, 131.213, NULL, 0, 0, 0, 100, 0),
(13000900, 1, 1426.98, -5781.28, 131.21, NULL, 0, 0, 0, 100, 0),
(13000900, 2, 1434.25, -5776.49, 131.21, NULL, 0, 0, 0, 100, 0),
(13000900, 3, 1439.64, -5781.63, 131.21, NULL, 0, 0, 0, 100, 0),
(13000900, 4, 1444.88, -5786.62, 131.21, NULL, 0, 0, 0, 100, 0),
(13000900, 5, 1449.79, -5791.61, 131.21, NULL, 0, 0, 0, 100, 0),
(13000900, 6, 1457.11, -5799.14, 131.21, NULL, 0, 0, 0, 100, 0),
(13000900, 7, 1464.51, -5806.59, 131.211, NULL, 0, 0, 0, 100, 0),
(13000900, 8, 1474.33, -5816.57, 131.212, NULL, 0, 0, 0, 100, 0),
(13000900, 9, 1472.52, -5821.27, 131.231, NULL, 0, 0, 0, 100, 0),
(13000900, 10, 1466.63, -5826.96, 131.329, NULL, 0, 0, 0, 100, 0),
(13000900, 11, 1460.48, -5821.82, 131.277, NULL, 0, 0, 0, 100, 0),
(13000900, 12, 1451.37, -5815.2, 131.245, NULL, 0, 0, 0, 100, 0),
(13000900, 13, 1446.33, -5810.34, 131.216, NULL, 0, 0, 0, 100, 0),
(13000900, 14, 1442.31, -5806.39, 131.211, NULL, 0, 0, 0, 100, 0),
(13000900, 15, 1436.56, -5800.31, 131.211, NULL, 0, 0, 0, 100, 0),
(13000900, 16, 1435.51, -5799.23, 131.211, NULL, 0, 0, 0, 100, 0),
(13000900, 17, 1432.09, -5791.48, 131.211, NULL, 0, 0, 0, 100, 0),
(13000900, 18, 1428.52, -5787.77, 131.211, NULL, 0, 0, 0, 100, 0),
(12970200, 1, 1429.63, -5825.72, 131.211, NULL, 0, 0, 0, 100, 0),
(12970200, 2, 1439.79, -5834.19, 131.215, NULL, 0, 0, 0, 100, 0),
(12970200, 3, 1444.87, -5836.49, 131.217, NULL, 0, 0, 0, 100, 0),
(12970200, 4, 1449.51, -5834.77, 131.231, NULL, 0, 0, 0, 100, 0),
(12970200, 5, 1458.49, -5824.22, 131.288, NULL, 0, 0, 0, 100, 0),
(12970200, 6, 1453.36, -5819.46, 131.274, NULL, 0, 0, 0, 100, 0),
(12970200, 7, 1445.71, -5812.28, 131.219, NULL, 0, 0, 0, 100, 0),
(12970200, 8, 1438.24, -5804.9, 131.211, NULL, 0, 0, 0, 100, 0),
(12970200, 9, 1431.81, -5798.58, 131.211, NULL, 0, 0, 0, 100, 0),
(12970200, 10, 1422.92, -5789.67, 131.211, NULL, 0, 0, 0, 100, 0),
(12970200, 11, 1418.38, -5794.73, 131.211, NULL, 0, 0, 0, 100, 0),
(12970200, 12, 1411.83, -5802.83, 131.211, NULL, 0, 0, 0, 100, 0),
(12970200, 13, 1415.87, -5808.55, 131.211, NULL, 0, 0, 0, 100, 0),
(12970200, 14, 1424.03, -5820.05, 131.211, NULL, 0, 0, 0, 100, 0),
(13001400, 1, 1458.06, -5921.76, 131.27, NULL, 0, 0, 0, 100, 0),
(13001400, 2, 1475.02, -5919.98, 131.59, NULL, 0, 0, 0, 100, 0),
(13001400, 3, 1474.97, -5909.23, 131.613, NULL, 0, 0, 0, 100, 0),
(13001400, 4, 1472.46, -5906.79, 131.597, NULL, 0, 0, 0, 100, 0),
(13001400, 5, 1465.15, -5899.26, 131.481, NULL, 0, 0, 0, 100, 0),
(13001400, 6, 1457.8, -5891.76, 131.258, NULL, 0, 0, 0, 100, 0),
(13001400, 7, 1452.89, -5886.77, 131.217, NULL, 0, 0, 0, 100, 0),
(13001400, 8, 1443.26, -5877.43, 131.214, NULL, 0, 0, 0, 100, 0),
(13001400, 9, 1438.41, -5882.54, 131.214, NULL, 0, 0, 0, 100, 0),
(13001400, 10, 1432.28, -5889.9, 131.214, NULL, 0, 0, 0, 100, 0),
(13001400, 11, 1441.93, -5901.71, 131.232, NULL, 0, 0, 0, 100, 0),
(13001400, 12, 1447.28, -5908.45, 131.306, NULL, 0, 0, 0, 100, 0),
(13001400, 13, 1452.15, -5914.63, 131.353, NULL, 0, 0, 0, 100, 0),
(12972200, 1, 1467.87, -5870.13, 131.579, NULL, 0, 0, 0, 100, 0),
(12972200, 2, 1474.8, -5877.15, 131.827, NULL, 0, 0, 0, 100, 0),
(12972200, 3, 1481.43, -5883.86, 131.999, NULL, 0, 0, 0, 100, 0),
(12972200, 4, 1483.68, -5886.54, 132, NULL, 0, 0, 0, 100, 0),
(12972200, 5, 1487.81, -5891.63, 132.238, NULL, 0, 0, 0, 100, 0),
(12972200, 6, 1491.96, -5897.79, 132.383, NULL, 0, 0, 0, 100, 0),
(12972200, 7, 1488.27, -5902.55, 132.249, NULL, 0, 0, 0, 100, 0),
(12972200, 8, 1482.63, -5910.16, 131.814, NULL, 0, 0, 0, 100, 0),
(12972200, 9, 1477.54, -5905.35, 131.701, NULL, 0, 0, 0, 100, 0),
(12972200, 10, 1469.88, -5897.95, 131.562, NULL, 0, 0, 0, 100, 0),
(12972200, 11, 1463.56, -5891.29, 131.344, NULL, 0, 0, 0, 100, 0),
(12972200, 12, 1456.9, -5884.41, 131.22, NULL, 0, 0, 0, 100, 0),
(12972200, 13, 1450.85, -5876.98, 131.214, NULL, 0, 0, 0, 100, 0),
(12972200, 14, 1447.34, -5872.19, 131.214, NULL, 0, 0, 0, 100, 0),
(12972200, 15, 1453.71, -5868.07, 131.214, NULL, 0, 0, 0, 100, 0),
(12972200, 16, 1460.86, -5863.47, 131.254, NULL, 0, 0, 0, 100, 0),
(12972200, 17, 1463.84, -5865.97, 131.358, NULL, 0, 0, 0, 100, 0),
(12965200, 1, 1750.42, -5952.79, 116.165, NULL, 0, 0, 0, 100, 0),
(12965200, 2, 1752.08, -5949.71, 116.137, NULL, 0, 0, 0, 100, 0),
(12965200, 3, 1757.09, -5940.48, 116.12, NULL, 0, 0, 0, 100, 0),
(12965200, 4, 1760.35, -5934.29, 116.119, NULL, 0, 0, 0, 100, 0),
(12965200, 5, 1766.73, -5921.46, 116.12, NULL, 0, 0, 0, 100, 0),
(12965200, 6, 1772.87, -5923.81, 116.113, NULL, 0, 0, 0, 100, 0),
(12965200, 7, 1779.4, -5926.32, 116.119, NULL, 0, 0, 0, 100, 0),
(12965200, 8, 1785.94, -5928.83, 116.123, NULL, 0, 0, 0, 100, 0),
(12965200, 9, 1797.67, -5933.39, 115.997, NULL, 0, 0, 0, 100, 0),
(12965200, 10, 1785.94, -5928.83, 116.123, NULL, 0, 0, 0, 100, 0),
(12965200, 11, 1779.4, -5926.32, 116.119, NULL, 0, 0, 0, 100, 0),
(12965200, 12, 1772.87, -5923.81, 116.113, NULL, 0, 0, 0, 100, 0),
(12965200, 13, 1766.73, -5921.46, 116.12, NULL, 0, 0, 0, 100, 0),
(12965200, 14, 1760.35, -5934.29, 116.119, NULL, 0, 0, 0, 100, 0),
(12965200, 15, 1757.09, -5940.48, 116.12, NULL, 0, 0, 0, 100, 0),
(12965200, 16, 1752.08, -5949.71, 116.137, NULL, 0, 0, 0, 100, 0),
(12965200, 17, 1750.42, -5952.79, 116.165, NULL, 0, 0, 0, 100, 0),
(12965200, 18, 1747.20, -5958.90, 116.26, NULL, 0, 0, 0, 100, 0);
-- SCARLET COMMANDERS
-- Positions
UPDATE `creature` SET `position_x` = 1739.78, `position_y` = -5775.24, `position_z` = 116.06, `orientation` = 3.4451 WHERE `guid` = 129646 AND `id1` = 28936;
UPDATE `creature` SET `position_x` = 1605.68, `position_y` = -5769.41, `position_z` = 116.09, `orientation` = 2.6490 WHERE `guid` = 129648 AND `id1` = 28936;
UPDATE `creature` SET `position_x` = 1697.03, `position_y` = -5672.62, `position_z` = 100.93, `orientation` = 4.7433 WHERE `guid` = 129651 AND `id1` = 28936;
UPDATE `creature` SET `position_x` = 1608.16, `position_y` = -5911.04, `position_z` = 116.14, `orientation` = 2.9603 WHERE `guid` = 129640 AND `id1` = 28936;
UPDATE `creature` SET `position_x` = 1487.00, `position_y` = -5806.24, `position_z` = 131.22, `orientation` = 2.2424 WHERE `guid` = 129657 AND `id1` = 28936;
UPDATE `creature` SET `position_x` = 1437.52, `position_y` = -5845.08, `position_z` = 131.21, `orientation` = 2.3013 WHERE `guid` = 129654 AND `id1` = 28936;
UPDATE `creature` SET `position_x` = 1726.44, `position_y` = -5871.98, `position_z` = 116.12, `orientation` = 3.1842 WHERE `guid` = 129655 AND `id1` = 28936;
UPDATE `creature` SET `position_x` = 1653.99, `position_y` = -5842.91, `position_z` = 116.13, `orientation` = 0.0018 WHERE `guid` = 129639 AND `id1` = 28936;
UPDATE `creature` SET `position_x` = 1573.61, `position_y` = -5933.74, `position_z` = 119.60, `orientation` = 3.9996 WHERE `guid` = 129653 AND `id1` = 28936;
UPDATE `creature` SET `position_x` = 1475.07, `position_y` = -6122.79, `position_z` = 116.27, `orientation` = 1.8018 WHERE `guid` = 129643 AND `id1` = 28936;
UPDATE `creature` SET `position_x` = 1652.36, `position_y` = -5975.49, `position_z` = 132.70, `orientation` = 1.5437 WHERE `guid` = 129656 AND `id1` = 28936;
UPDATE `creature` SET `position_x` = 1570.41, `position_y` = -5776.94, `position_z` = 117.86, `orientation` = 3.2414 WHERE `guid` = 129638 AND `id1` = 28936;
UPDATE `creature` SET `position_x` = 1747.20, `position_y` = -5958.90, `position_z` = 116.26, `orientation` = 0.9770 WHERE `guid` = 129652 AND `id1` = 28936;
-- Wander Distance and Movement Type
UPDATE `creature` SET `wander_distance` = 0, `MovementType` = 2 WHERE `guid` IN (129646, 129648, 129651, 129640, 129657, 129654, 129655, 129639, 129649, 129653, 129643, 129656, 129638, 129649, 129652) AND `id1` = 28936;
UPDATE `creature` SET `wander_distance` = 0, `MovementType` = 0 WHERE `guid` = 129645 AND `id1` = 28936;
-- Paths
DELETE FROM `creature_addon` WHERE (`guid` IN (129646, 129655, 129639, 129648, 129651, 129656, 129638, 129640, 129649, 129653, 129657, 129643, 129654, 129652));
INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `visibilityDistanceType`, `auras`) VALUES
(129646, 12964600, 2404, 0, 1, 0, 0, ''),
(129655, 12965500, 2404, 0, 1, 0, 0, ''),
(129639, 12963900, 2404, 0, 1, 0, 0, ''),
(129648, 12964800, 2404, 0, 1, 0, 0, ''),
(129651, 12965100, 2404, 0, 1, 0, 0, ''),
(129656, 12965600, 2404, 0, 1, 0, 0, ''),
(129638, 12963800, 2404, 0, 1, 0, 0, ''),
(129640, 12964000, 2404, 0, 1, 0, 0, ''),
(129649, 12964900, 2404, 0, 1, 0, 0, ''),
(129653, 12965300, 2404, 0, 1, 0, 0, ''),
(129643, 12964300, 2404, 0, 1, 0, 0, ''),
(129657, 12965700, 2404, 0, 1, 0, 0, ''),
(129654, 12965400, 2404, 0, 1, 0, 0, ''),
(129652, 12965200, 2404, 0, 1, 0, 0, '');
-- SCARLET PREACHERS
-- Positions
UPDATE `creature` SET `position_x` = 1653.99, `position_y` = -5842.91, `position_z` = 116.13, `orientation` = 0.0018 WHERE `guid` = 129674 AND `id1` = 28939;
UPDATE `creature` SET `position_x` = 1697.03, `position_y` = -5672.62, `position_z` = 100.93, `orientation` = 4.7433 WHERE `guid` = 129675 AND `id1` = 28939;
UPDATE `creature` SET `position_x` = 1605.68, `position_y` = -5769.41, `position_z` = 116.09, `orientation` = 2.6490 WHERE `guid` = 129672 AND `id1` = 28939;
UPDATE `creature` SET `position_x` = 1739.78, `position_y` = -5775.24, `position_z` = 116.06, `orientation` = 3.4451 WHERE `guid` = 129677 AND `id1` = 28939;
UPDATE `creature` SET `position_x` = 1726.44, `position_y` = -5871.98, `position_z` = 116.12, `orientation` = 3.1842 WHERE `guid` = 129673 AND `id1` = 28939;
UPDATE `creature` SET `position_x` = 1573.61, `position_y` = -5933.74, `position_z` = 119.60, `orientation` = 3.9996 WHERE `guid` = 129681 AND `id1` = 28939;
UPDATE `creature` SET `position_x` = 1475.07, `position_y` = -6122.79, `position_z` = 116.27, `orientation` = 1.8018 WHERE `guid` = 129667 AND `id1` = 28939;
UPDATE `creature` SET `position_x` = 1652.36, `position_y` = -5975.49, `position_z` = 132.70, `orientation` = 1.5437 WHERE `guid` = 129678 AND `id1` = 28939;
UPDATE `creature` SET `position_x` = 1570.41, `position_y` = -5776.94, `position_z` = 117.86, `orientation` = 3.2414 WHERE `guid` = 129679 AND `id1` = 28939;
UPDATE `creature` SET `position_x` = 1747.20, `position_y` = -5958.90, `position_z` = 116.26, `orientation` = 0.9770 WHERE `guid` = 129680 AND `id1` = 28939;
UPDATE `creature` SET `position_x` = 1608.16, `position_y` = -5911.04, `position_z` = 116.14, `orientation` = 2.9603 WHERE `guid` = 129671 AND `id1` = 28939;
-- Wander Distance and Movement Type
UPDATE `creature` SET `wander_distance` = 0, `MovementType` = 2 WHERE `guid` IN (129674, 129675, 129672, 129677, 129673, 129681, 129667, 129678, 129671, 129679, 129680) AND `id1` = 28939;
-- Paths
DELETE FROM `creature_addon` WHERE (`guid` IN (129677, 129673, 129674, 129672, 129675, 129678, 129679, 129671, 129681, 129667, 129680));
INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `visibilityDistanceType`, `auras`) VALUES
(129677, 12964600, 0, 0, 1, 0, 0, ''),
(129673, 12965500, 0, 0, 1, 0, 0, ''),
(129674, 12963900, 0, 0, 1, 0, 0, ''),
(129672, 12964800, 0, 0, 1, 0, 0, ''),
(129675, 12965100, 0, 0, 1, 0, 0, ''),
(129678, 12965600, 0, 0, 1, 0, 0, ''),
(129679, 12963800, 0, 0, 1, 0, 0, ''),
(129671, 12964000, 0, 0, 1, 0, 0, ''),
(129681, 12965300, 0, 0, 1, 0, 0, ''),
(129667, 12964300, 0, 0, 1, 0, 0, ''),
(129680, 12965200, 0, 0, 1, 0, 0, '');
-- SCARLET CRUSADERS
-- Positions
UPDATE `creature` SET `position_x` = 1479.81, `position_y` = -5878.11, `position_z` = 132.03, `orientation` = 3.4523 WHERE `guid` = 129723 AND `id1` = 28940;
-- Wander Distance and Movement Type
UPDATE `creature` SET `wander_distance` = 5, `MovementType` = 1 WHERE `guid` = 129723 AND `id1` = 28940;
UPDATE `creature` SET `wander_distance` = 0, `MovementType` = 2 WHERE `guid` IN (129702, 129722) AND `id1` = 28940;
-- Paths
UPDATE `creature_addon` SET `path_id` = 12970200, `auras` = 52103 WHERE (`guid` IN (129702));
UPDATE `creature_addon` SET `path_id` = 12972200, `auras` = 52103 WHERE (`guid` IN (129722));
-- SCARLET MARKSMEN
-- Wander Distance and Movement Type
UPDATE `creature` SET `wander_distance` = 0, `MovementType` = 2 WHERE `guid` IN (130009, 130014) AND `id1` = 28610;
-- Paths
UPDATE `creature_addon` SET `path_id` = 13000900, `auras` = 52103 WHERE (`guid` IN (130009));
UPDATE `creature_addon` SET `path_id` = 13001400, `auras` = 52103 WHERE (`guid` IN (130014));
-- Random Spawn for Scarlet Commanders/Preachers with Waypoints
DELETE FROM `pool_template` WHERE (`entry` IN (22346, 22347, 22348, 22349, 22350, 22351, 22352, 22353, 22354, 22355, 22356));
INSERT INTO `pool_template` (`entry`, `max_limit`, `description`) VALUES
(22346, 1, 'Scarlet Commander/Preacher Spawn (1 out 11)'),
(22347, 1, 'Scarlet Commander/Preacher Spawn (2 out 11)'),
(22348, 1, 'Scarlet Commander/Preacher Spawn (3 out 11)'),
(22349, 1, 'Scarlet Commander/Preacher Spawn (4 out 11)'),
(22350, 1, 'Scarlet Commander/Preacher Spawn (5 out 11)'),
(22351, 1, 'Scarlet Commander/Preacher Spawn (6 out 11)'),
(22352, 1, 'Scarlet Commander/Preacher Spawn (7 out 11)'),
(22353, 1, 'Scarlet Commander/Preacher Spawn (8 out 11)'),
(22354, 1, 'Scarlet Commander/Preacher Spawn (9 out 11)'),
(22355, 1, 'Scarlet Commander/Preacher Spawn (10 out 11)'),
(22356, 1, 'Scarlet Commander/Preacher Spawn (11 out 11)');
DELETE FROM `pool_creature` WHERE (`guid` IN (129656, 129678, 129655, 129673, 129639, 129674, 129646, 129677, 129651, 129675, 129648, 129672, 129638, 129679, 129640, 129671, 129653, 129681, 129643, 129667, 129652, 129680));
INSERT INTO `pool_creature` (`guid`, `pool_entry`, `chance`, `description`) VALUES
(129656, 22346, 0, 'Scarlet Commander (28936) (1 out 11)'),
(129678, 22346, 0, 'Scarlet Preacher (28939) (1 out 11)'),
(129655, 22347, 0, 'Scarlet Commander (28936) (2 out 11)'),
(129673, 22347, 0, 'Scarlet Preacher (28939) (2 out 11)'),
(129639, 22348, 0, 'Scarlet Commander (28936) (3 out 11)'),
(129674, 22348, 0, 'Scarlet Preacher (28939) (3 out 11)'),
(129646, 22349, 0, 'Scarlet Commander (28936) (4 out 11)'),
(129677, 22349, 0, 'Scarlet Preacher (28939) (4 out 11)'),
(129651, 22350, 0, 'Scarlet Commander (28936) (5 out 11)'),
(129675, 22350, 0, 'Scarlet Preacher (28939) (5 out 11)'),
(129648, 22351, 0, 'Scarlet Commander (28936) (6 out 11)'),
(129672, 22351, 0, 'Scarlet Preacher (28939) (6 out 11)'),
(129638, 22352, 0, 'Scarlet Commander (28936) (7 out 11)'),
(129679, 22352, 0, 'Scarlet Preacher (28939) (7 out 11)'),
(129640, 22353, 0, 'Scarlet Commander (28936) (8 out 11)'),
(129671, 22353, 0, 'Scarlet Preacher (28939) (8 out 11)'),
(129653, 22354, 0, 'Scarlet Commander (28936) (9 out 11)'),
(129681, 22354, 0, 'Scarlet Preacher (28939) (9 out 11)'),
(129643, 22355, 0, 'Scarlet Commander (28936) (10 out 11)'),
(129667, 22355, 0, 'Scarlet Preacher (28939) (10 out 11)'),
(129652, 22356, 0, 'Scarlet Commander (28936) (11 out 11)'),
(129680, 22356, 0, 'Scarlet Preacher (28939) (11 out 11)');
@@ -0,0 +1,15 @@
-- DB update 2024_12_06_00 -> 2024_12_07_00
-- Update gameobject 'Lucky Red Envelope' with sniffed values
-- new spawns
DELETE FROM `gameobject` WHERE (`id` IN (180909))
AND (`guid` IN (165, 166, 167, 168));
INSERT INTO `gameobject` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `ScriptName`, `VerifiedBuild`, `Comment`) VALUES
(165, 180909, 1, 0, 0, 1, 1, 7946.251953125, -2621.75341796875, 494.15185546875, 6.161012649536132812, 0, 0, -0.06104850769042968, 0.998134791851043701, 120, 255, 1, "", 47720, NULL),
(166, 180909, 1, 0, 0, 1, 1, 7946.6650390625, -2621.123291015625, 494.20648193359375, 2.775068521499633789, 0, 0, 0.983254432678222656, 0.182238012552261352, 120, 255, 1, "", 47720, NULL),
(167, 180909, 1, 0, 0, 1, 1, 7946.77685546875, -2621.55908203125, 494.199432373046875, 3.263772249221801757, 0, 0, -0.99813461303710937, 0.061051756143569946, 120, 255, 1, "", 47720, NULL),
(168, 180909, 1, 0, 0, 1, 1, 7947.23779296875, -2621.350830078125, 494.17816162109375, 3.822272777557373046, 0, 0, -0.94264125823974609, 0.333807557821273803, 120, 255, 1, "", 47720, NULL);
-- enable all spawns for eventEntry 7
DELETE FROM `game_event_gameobject` WHERE (`eventEntry` = 7)
AND (`guid` IN (SELECT `guid` FROM `gameobject` WHERE `id` IN (180909)));
INSERT INTO `game_event_gameobject` (SELECT 7, `guid` FROM `gameobject` WHERE `id` IN (180909));
@@ -0,0 +1,12 @@
-- DB update 2024_12_07_00 -> 2024_12_07_01
-- Update gameobject 'Starsong Scroll' with sniffed values
-- new spawns
DELETE FROM `gameobject` WHERE (`id` IN (180910))
AND (`guid` IN (34));
INSERT INTO `gameobject` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `ScriptName`, `VerifiedBuild`, `Comment`) VALUES
(34, 180910, 1, 0, 0, 1, 1, 7946.6806640625, -2621.326416015625, 494.192718505859375, 5.131268978118896484, 0, 0, -0.54463863372802734, 0.838670849800109863, 120, 255, 1, "", 47720, NULL);
-- enable all spawns for eventEntry 7
DELETE FROM `game_event_gameobject` WHERE (`eventEntry` = 7)
AND (`guid` IN (SELECT `guid` FROM `gameobject` WHERE `id` IN (180910)));
INSERT INTO `game_event_gameobject` (SELECT 7, `guid` FROM `gameobject` WHERE `id` IN (180910));
@@ -0,0 +1,12 @@
-- DB update 2024_12_07_01 -> 2024_12_07_02
-- Update gameobject 'DwarvenTableSmall' with sniffed values
-- new spawns
DELETE FROM `gameobject` WHERE (`id` IN (180884))
AND (`guid` IN (36));
INSERT INTO `gameobject` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `ScriptName`, `VerifiedBuild`, `Comment`) VALUES
(36, 180884, 0, 0, 0, 1, 1, -4643.95556640625, -952.7752685546875, 501.660858154296875, 1.675513744354248046, 0, 0, 0.743144035339355468, 0.669131457805633544, 120, 255, 1, "", 47720, NULL);
-- enable all spawns for eventEntry 7
DELETE FROM `game_event_gameobject` WHERE (`eventEntry` = 7)
AND (`guid` IN (SELECT `guid` FROM `gameobject` WHERE `id` IN (180884)));
INSERT INTO `game_event_gameobject` (SELECT 7, `guid` FROM `gameobject` WHERE `id` IN (180884));
@@ -0,0 +1,13 @@
-- DB update 2024_12_07_02 -> 2024_12_07_03
-- Update gameobject 'Boss Fight Altar' with sniffed values
-- new spawns
DELETE FROM `gameobject` WHERE (`id` IN (180875))
AND (`guid` IN (160, 161));
INSERT INTO `gameobject` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `ScriptName`, `VerifiedBuild`, `Comment`) VALUES
(160, 180875, 1, 0, 0, 1, 1, 7531.74462890625, -2851.106689453125, 457.817230224609375, 2.408554315567016601, 0, 0, 0.933580398559570312, 0.358368009328842163, 120, 255, 1, "", 47720, NULL),
(161, 180875, 1, 0, 0, 1, 1, 7561.2021484375, -2872.201171875, 459.990631103515625, 2.583080768585205078, 0, 0, 0.961260795593261718, 0.275640487670898437, 120, 255, 1, "", 47720, NULL);
-- enable all spawns for eventEntry 7
DELETE FROM `game_event_gameobject` WHERE (`eventEntry` = 7)
AND (`guid` IN (SELECT `guid` FROM `gameobject` WHERE `id` IN (180875)));
INSERT INTO `game_event_gameobject` (SELECT 7, `guid` FROM `gameobject` WHERE `id` IN (180875));
@@ -0,0 +1,9 @@
-- DB update 2024_12_07_03 -> 2024_12_07_04
-- improve spawns positions of 180867 `Greater Moonlight Spell Focus`
-- sync these with sniffed spawns of creature 15897 `Large Spotlight`
UPDATE `gameobject` SET `position_x` = 1642.070556640625, `position_y` = 239.8388671875, `position_z` = 62.67490386962890625 WHERE `guid` = 241003 AND `id` = 180867;
UPDATE `gameobject` SET `position_x` = 10150.49609375, `position_y` = 2602.14306640625, `position_z` = 1330.908447265625 WHERE `guid` = 241002 AND `id` = 180867;
UPDATE `gameobject` SET `position_x` = -4017.510986328125, `position_y` = -11837.7255859375, `position_z` = 0.159306332468986511 WHERE `guid` = 241009 AND `id` = 180867;
UPDATE `gameobject` SET `position_x` = 9479.2578125, `position_y` = -7295.2119140625, `position_z` = 14.40949821472167968 WHERE `guid` = 241008 AND `id` = 180867;
UPDATE `gameobject` SET `position_x` = 5821.92236328125, `position_y` = 642.78399658203125, `position_z` = 648.1099853515625 WHERE `guid` = 241007 AND `id` = 180867;
UPDATE `gameobject` SET `position_y` = -2247.21533203125 WHERE `guid` = 241012 AND `id` = 180867;
+288
View File
@@ -0,0 +1,288 @@
-- DB update 2024_12_07_04 -> 2024_12_08_00
-- Delete Unofficial Npcs
DELETE FROM `creature` WHERE (`id1` = 28610) AND (`guid` IN (130030, 130012, 130010, 130016, 130029, 130033));
DELETE FROM `creature_addon` WHERE (`guid` IN (130030, 130012, 130010, 130016, 130029, 130033));
DELETE FROM `creature` WHERE (`id1` = 28936) AND (`guid` IN (129650));
DELETE FROM `creature_addon` WHERE (`guid` IN (129650));
DELETE FROM `creature` WHERE (`id1` = 28946) AND (`guid` IN (129809, 129810));
DELETE FROM `creature_addon` WHERE (`guid` IN (129809, 129810));
-- Adding new Npcs
DELETE FROM `creature` WHERE (`id1` = 28940) AND (`guid` IN (129709, 129724, 129726, 129809, 129810, 129815, 129816, 129817, 129818, 129819, 129820, 129821, 129822, 129827, 129828));
INSERT INTO `creature` (`guid`, `id1`, `id2`, `id3`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `ScriptName`, `VerifiedBuild`, `CreateObject`, `Comment`) VALUES
(129709, 28940, 0, 0, 609, 0, 0, 1, 4, 1, 1734.43, -5784.23, 116.172, 0.406355, 360, 5, 0, 2533, 0, 1, 0, 0, 0, '', 0, 0, NULL),
(129724, 28940, 0, 0, 609, 0, 0, 1, 4, 1, 1749.67, -5742.82, 114.931, 3.7556, 360, 5, 0, 2533, 0, 1, 0, 0, 0, '', 0, 0, NULL),
(129726, 28940, 0, 0, 609, 0, 0, 1, 4, 1, 1623.07, -5805.79, 117.111, 1.67552, 360, 5, 0, 2533, 0, 1, 0, 0, 0, '', 0, 0, NULL),
(129809, 28940, 0, 0, 609, 0, 0, 1, 4, 1, 1566.68, -5843.24, 124.486, 0.018112, 360, 5, 0, 2533, 0, 1, 0, 0, 0, '', 0, 0, NULL),
(129810, 28940, 0, 0, 609, 0, 0, 1, 4, 1, 1568.07, -5872.31, 126.611, 2.97082, 360, 5, 0, 2533, 0, 1, 0, 0, 0, '', 0, 0, NULL),
(129815, 28940, 0, 0, 609, 0, 0, 1, 4, 1, 1539.99, -5827.92, 126.968, 0.003454, 360, 5, 0, 2533, 0, 1, 0, 0, 0, '', 0, 0, NULL),
(129816, 28940, 0, 0, 609, 0, 0, 1, 4, 1, 1620.68, -5959.25, 130.031, 4.83092, 360, 5, 0, 2533, 0, 1, 0, 0, 0, '', 0, 0, NULL),
(129817, 28940, 0, 0, 609, 0, 0, 1, 4, 1, 1665, -5941.56, 125.38, 4.69872, 360, 5, 0, 2533, 0, 1, 0, 0, 0, '', 0, 0, NULL),
(129818, 28940, 0, 0, 609, 0, 0, 1, 4, 1, 1532.09, -6093.49, 116.442, 2.7939, 360, 5, 0, 2533, 0, 1, 0, 0, 0, '', 0, 0, NULL),
(129819, 28940, 0, 0, 609, 0, 0, 1, 4, 1, 1451.44, -6018, 116.488, 4.07183, 360, 5, 0, 2533, 0, 1, 0, 0, 0, '', 0, 0, NULL),
(129820, 28940, 0, 0, 609, 0, 0, 1, 4, 1, 1580.83, -5946.55, 120.622, 5.8606, 360, 5, 0, 2533, 0, 1, 0, 0, 0, '', 0, 0, NULL),
(129821, 28940, 0, 0, 609, 0, 0, 1, 4, 1, 1511.32, -5919.43, 132.269, 6.26352, 360, 5, 0, 2533, 0, 1, 0, 0, 0, '', 0, 0, NULL),
(129822, 28940, 0, 0, 609, 0, 0, 1, 4, 1, 1490.2, -5941.34, 132.825, 2.79482, 360, 5, 0, 2533, 0, 1, 0, 0, 0, '', 0, 0, NULL),
(129827, 28940, 0, 0, 609, 0, 0, 1, 4, 1, 1520.09, -5794.53, 129.856, 1.62651, 360, 5, 0, 2533, 0, 1, 0, 0, 0, '', 0, 0, NULL),
(129828, 28940, 0, 0, 609, 0, 0, 1, 4, 1, 1729.86, -5913.41, 116.746, 3.49053, 360, 5, 0, 2533, 0, 1, 0, 0, 0, '', 0, 0, NULL);
DELETE FROM `creature` WHERE (`id1` = 28610) AND (`guid` IN (129999, 130000, 130010, 130012, 130015, 130016, 130029, 130030, 130033, 130036, 130037, 130039, 130040, 130041, 130223, 130224));
INSERT INTO `creature` (`guid`, `id1`, `id2`, `id3`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `ScriptName`, `VerifiedBuild`, `CreateObject`, `Comment`) VALUES
(129999, 28610, 0, 0, 609, 0, 0, 1, 4, 1, 1734.43, -5784.23, 116.172, 0.406355, 360, 5, 0, 2026, 2041, 1, 0, 0, 0, '', 0, 0, NULL),
(130000, 28610, 0, 0, 609, 0, 0, 1, 4, 1, 1663.36, -5752.88, 113.99, 3.03396, 360, 5, 0, 2026, 2041, 1, 0, 0, 0, '', 0, 0, NULL),
(130010, 28610, 0, 0, 609, 0, 0, 1, 4, 1, 1677.36, -5703.88, 105.353, 2.24203, 360, 5, 0, 2026, 2041, 1, 0, 0, 0, '', 0, 0, NULL),
(130012, 28610, 0, 0, 609, 0, 0, 1, 4, 1, 1648.06, -5674.08, 116.467, 3.081, 360, 5, 0, 2026, 2041, 1, 0, 0, 0, '', 0, 0, NULL),
(130015, 28610, 0, 0, 609, 0, 0, 1, 4, 1, 1660.21, -5824.9, 116.971, 3.94356, 360, 5, 0, 2026, 2041, 1, 0, 0, 0, '', 0, 0, NULL),
(130016, 28610, 0, 0, 609, 0, 0, 1, 4, 1, 1576.75, -5783.07, 118.481, 3.62097, 360, 5, 0, 2026, 2041, 1, 0, 0, 0, '', 0, 0, NULL),
(130029, 28610, 0, 0, 609, 0, 0, 1, 4, 1, 1522.65, -5847.58, 131.443, 4.58716, 360, 5, 0, 2026, 2041, 1, 0, 0, 0, '', 0, 0, NULL),
(130030, 28610, 0, 0, 609, 0, 0, 1, 4, 1, 1479.81, -5878.11, 132.03, 3.4523, 360, 5, 0, 2026, 2041, 1, 0, 0, 0, '', 0, 0, NULL),
(130033, 28610, 0, 0, 609, 0, 0, 1, 4, 1, 1503.04, -6021.4, 117.001, 2.53463, 360, 5, 0, 2026, 2041, 1, 0, 0, 0, '', 0, 0, NULL),
(130036, 28610, 0, 0, 609, 0, 0, 1, 4, 1, 1475.8, -5729.39, 131.817, 1.30954, 360, 5, 0, 2026, 2041, 1, 0, 0, 0, '', 0, 0, NULL),
(130037, 28610, 0, 0, 609, 0, 0, 1, 4, 1, 1598.54, -5873.95, 118.091, 4.6867, 360, 5, 0, 2026, 2041, 1, 0, 0, 0, '', 0, 0, NULL),
(130039, 28610, 0, 0, 609, 0, 0, 1, 4, 1, 1780.26, -5889.16, 116.729, 0.107993, 360, 5, 0, 2026, 2041, 1, 0, 0, 0, '', 0, 0, NULL),
(130040, 28610, 0, 0, 609, 0, 0, 1, 4, 1, 1511.32, -5919.43, 132.269, 6.26352, 360, 5, 0, 2026, 2041, 1, 0, 0, 0, '', 0, 0, NULL),
(130041, 28610, 0, 0, 609, 0, 0, 1, 4, 1, 1490.2, -5941.34, 132.825, 2.79482, 360, 5, 0, 2026, 2041, 1, 0, 0, 0, '', 0, 0, NULL),
(130223, 28610, 0, 0, 609, 0, 0, 1, 4, 1, 1520.09, -5794.53, 129.856, 1.62651, 360, 5, 0, 2026, 2041, 1, 0, 0, 0, '', 0, 0, NULL),
(130224, 28610, 0, 0, 609, 0, 0, 1, 4, 1, 1729.86, -5913.41, 116.746, 3.49053, 360, 5, 0, 2026, 2041, 1, 0, 0, 0, '', 0, 0, NULL);
DELETE FROM `creature` WHERE (`id1` = 28939) AND (`guid` IN (129540, 129541, 129542, 129543, 129548, 129549, 129550, 129551, 129552, 129553, 129554, 129557, 129558, 129559, 129560, 129561, 129539, 129538, 129537, 129536, 129535, 129644, 129650));
INSERT INTO `creature` (`guid`, `id1`, `id2`, `id3`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `ScriptName`, `VerifiedBuild`, `CreateObject`, `Comment`) VALUES
(129540, 28939, 0, 0, 609, 0, 0, 1, 4, 1, 1749.67, -5742.82, 114.931, 3.7556, 360, 5, 0, 1717, 4765, 1, 0, 0, 0, '', 0, 0, NULL),
(129541, 28939, 0, 0, 609, 0, 0, 1, 4, 1, 1663.36, -5752.88, 113.99, 3.03396, 360, 5, 0, 1717, 4765, 1, 0, 0, 0, '', 0, 0, NULL),
(129542, 28939, 0, 0, 609, 0, 0, 1, 4, 1, 1648.06, -5674.08, 116.467, 3.081, 360, 5, 0, 1717, 4765, 1, 0, 0, 0, '', 0, 0, NULL),
(129543, 28939, 0, 0, 609, 0, 0, 1, 4, 1, 1677.36, -5703.88, 105.353, 2.24203, 360, 5, 0, 1717, 4765, 1, 0, 0, 0, '', 0, 0, NULL),
(129548, 28939, 0, 0, 609, 0, 0, 1, 4, 1, 1623.07, -5805.79, 117.111, 1.67552, 360, 5, 0, 1717, 4765, 1, 0, 0, 0, '', 0, 0, NULL),
(129549, 28939, 0, 0, 609, 0, 0, 1, 4, 1, 1660.21, -5824.9, 116.971, 3.94356, 360, 5, 0, 1717, 4765, 1, 0, 0, 0, '', 0, 0, NULL),
(129550, 28939, 0, 0, 609, 0, 0, 1, 4, 1, 1576.75, -5783.07, 118.481, 3.62097, 360, 5, 0, 1717, 4765, 1, 0, 0, 0, '', 0, 0, NULL),
(129551, 28939, 0, 0, 609, 0, 0, 1, 4, 1, 1522.65, -5847.58, 131.443, 4.58716, 360, 5, 0, 1717, 4765, 1, 0, 0, 0, '', 0, 0, NULL),
(129552, 28939, 0, 0, 609, 0, 0, 1, 4, 1, 1479.81, -5878.11, 132.03, 3.4523, 360, 5, 0, 1717, 4765, 1, 0, 0, 0, '', 0, 0, NULL),
(129553, 28939, 0, 0, 609, 0, 0, 1, 4, 1, 1503.04, -6021.4, 117.001, 2.53463, 360, 5, 0, 1717, 4765, 1, 0, 0, 0, '', 0, 0, NULL),
(129554, 28939, 0, 0, 609, 0, 0, 1, 4, 1, 1475.8, -5729.39, 131.817, 1.30954, 360, 5, 0, 1717, 4765, 1, 0, 0, 0, '', 0, 0, NULL),
(129557, 28939, 0, 0, 609, 0, 0, 1, 4, 1, 1598.54, -5873.95, 118.091, 4.6867, 360, 5, 0, 1717, 4765, 1, 0, 0, 0, '', 0, 0, NULL),
(129558, 28939, 0, 0, 609, 0, 0, 1, 4, 1, 1780.26, -5889.16, 116.729, 0.107993, 360, 5, 0, 1717, 4765, 1, 0, 0, 0, '', 0, 0, NULL),
(129559, 28939, 0, 0, 609, 0, 0, 1, 4, 1, 1566.68, -5843.24, 124.486, 0.018112, 360, 5, 0, 1717, 4765, 1, 0, 0, 0, '', 0, 0, NULL),
(129560, 28939, 0, 0, 609, 0, 0, 1, 4, 1, 1568.07, -5872.31, 126.611, 2.97082, 360, 5, 0, 1717, 4765, 1, 0, 0, 0, '', 0, 0, NULL),
(129561, 28939, 0, 0, 609, 0, 0, 1, 4, 1, 1539.99, -5827.92, 126.968, 0.003454, 360, 5, 0, 1717, 4765, 1, 0, 0, 0, '', 0, 0, NULL),
(129539, 28939, 0, 0, 609, 0, 0, 1, 4, 1, 1620.68, -5959.25, 130.031, 4.83092, 360, 5, 0, 1717, 4765, 1, 0, 0, 0, '', 0, 0, NULL),
(129538, 28939, 0, 0, 609, 0, 0, 1, 4, 1, 1665, -5941.56, 125.38, 4.69872, 360, 5, 0, 1717, 4765, 1, 0, 0, 0, '', 0, 0, NULL),
(129537, 28939, 0, 0, 609, 0, 0, 1, 4, 1, 1532.09, -6093.49, 116.442, 2.7939, 360, 5, 0, 1717, 4765, 1, 0, 0, 0, '', 0, 0, NULL),
(129536, 28939, 0, 0, 609, 0, 0, 1, 4, 1, 1451.44, -6018, 116.488, 4.07183, 360, 5, 0, 1717, 4765, 1, 0, 0, 0, '', 0, 0, NULL),
(129535, 28939, 0, 0, 609, 0, 0, 1, 4, 1, 1580.83, -5946.55, 120.622, 5.8606, 360, 5, 0, 1717, 4765, 1, 0, 0, 0, '', 0, 0, NULL),
(129644, 28939, 0, 0, 609, 0, 0, 1, 4, 1, 1786.45, -5806.70, 113.72, 0.21385, 360, 0, 0, 1717, 4765, 0, 0, 0, 0, '', 0, 0, NULL),
(129650, 28939, 0, 0, 609, 0, 0, 1, 4, 1, 1805.73, -5937.30, 115.72, 0.3613, 360, 0, 0, 1717, 4765, 0, 0, 0, 0, '', 0, 0, NULL);
-- Update positions
UPDATE `creature` SET `position_x` = 1802.79, `position_y` = -5914.66, `position_z` = 116.15, `orientation` = 6.0555 WHERE `guid` = 130017 AND `id1` = 28610;
UPDATE `creature` SET `position_x` = 1807.15, `position_y` = -5984.17, `position_z` = 116.08, `orientation` = 1.5276 WHERE `guid` = 129641 AND `id1` = 28936;
UPDATE `creature` SET `position_x` = 1831.41, `position_y` = -5949.47, `position_z` = 116.00, `orientation` = 0.4477 WHERE `guid` = 129642 AND `id1` = 28936;
UPDATE `creature` SET `position_x` = 1760.93, `position_y` = -5819.50, `position_z` = 116.11, `orientation` = 0.0865 WHERE `guid` = 129645 AND `id1` = 28936;
UPDATE `creature` SET `position_x` = 1780.02, `position_y` = -5797.99, `position_z` = 115.79, `orientation` = 0.06693 WHERE `guid` = 130018 AND `id1` = 28610;
UPDATE `creature` SET `position_x` = 1774.23, `position_y` = -5778.09, `position_z` = 116.67, `orientation` = 5.10919 WHERE `guid` = 130019 AND `id1` = 28610;
UPDATE `creature` SET `position_x` = 1813.46, `position_y` = -5798.06, `position_z` = 116.06, `orientation` = 6.15145 WHERE `guid` = 130027 AND `id1` = 28610;
-- Add Waypoints
DELETE FROM `waypoint_data` WHERE `id` IN (12981300, 12981400);
INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES
(12981300, 1, 1585.32, -5710.3, 121.681, NULL, 0, 0, 0, 100, 0),
(12981300, 2, 1581.37, -5702.54, 121.681, NULL, 0, 0, 0, 100, 0),
(12981300, 3, 1585.08, -5700.96, 123.04, NULL, 0, 0, 0, 100, 0),
(12981300, 4, 1581.93, -5702.5, 121.682, NULL, 0, 0, 0, 100, 0),
(12981300, 5, 1573.53, -5706.46, 121.682, NULL, 0, 0, 0, 100, 0),
(12981300, 6, 1564.8, -5710.51, 121.682, NULL, 0, 0, 0, 100, 0),
(12981300, 7, 1557.25, -5714.21, 121.682, NULL, 0, 0, 0, 100, 0),
(12981300, 8, 1561.1, -5721.96, 121.682, NULL, 0, 0, 0, 100, 0),
(12981300, 9, 1567.68, -5718.7, 121.682, NULL, 0, 0, 0, 100, 0),
(12981300, 10, 1575.49, -5714.84, 121.682, NULL, 0, 0, 0, 100, 0),
(12981300, 11, 1578.94, -5713.27, 121.78, NULL, 0, 0, 0, 100, 0),
(12981400, 1, 1601.89, -5753.35, 119.255, NULL, 0, 0, 0, 100, 0),
(12981400, 2, 1595.51, -5741.11, 119.235, NULL, 0, 0, 0, 100, 0),
(12981400, 3, 1592.99, -5735.69, 121.679, NULL, 0, 0, 0, 100, 0),
(12981400, 4, 1591.42, -5732.56, 121.679, NULL, 0, 0, 0, 100, 0),
(12981400, 5, 1586.49, -5722.84, 121.679, NULL, 0, 0, 0, 100, 0),
(12981400, 6, 1580.38, -5722.36, 121.68, NULL, 0, 0, 0, 100, 0),
(12981400, 7, 1577.53, -5723.89, 120.786, NULL, 0, 0, 0, 100, 0),
(12981400, 8, 1572.46, -5726.39, 120.779, NULL, 0, 0, 0, 100, 0),
(12981400, 9, 1571.4, -5724.31, 120.78, NULL, 0, 0, 0, 100, 0),
(12981400, 10, 1570.38, -5722.27, 121.681, NULL, 0, 0, 0, 100, 0),
(12981400, 11, 1564.72, -5710.61, 121.681, NULL, 0, 0, 0, 100, 0),
(12981400, 12, 1569.95, -5708.03, 121.681, NULL, 0, 0, 0, 100, 0),
(12981400, 13, 1576.13, -5705.05, 121.681, NULL, 0, 0, 0, 100, 0),
(12981400, 14, 1580.03, -5703.18, 121.681, NULL, 0, 0, 0, 100, 0),
(12981400, 15, 1576.13, -5705.05, 121.681, NULL, 0, 0, 0, 100, 0),
(12981400, 16, 1569.95, -5708.03, 121.681, NULL, 0, 0, 0, 100, 0),
(12981400, 17, 1564.72, -5710.61, 121.681, NULL, 0, 0, 0, 100, 0),
(12981400, 18, 1570.38, -5722.27, 121.681, NULL, 0, 0, 0, 100, 0),
(12981400, 19, 1571.4, -5724.31, 120.78, NULL, 0, 0, 0, 100, 0),
(12981400, 20, 1572.46, -5726.39, 120.779, NULL, 0, 0, 0, 100, 0),
(12981400, 21, 1577.53, -5723.89, 120.786, NULL, 0, 0, 0, 100, 0),
(12981400, 22, 1580.38, -5722.36, 121.68, NULL, 0, 0, 0, 100, 0),
(12981400, 23, 1586.49, -5722.84, 121.679, NULL, 0, 0, 0, 100, 0),
(12981400, 24, 1591.42, -5732.56, 121.679, NULL, 0, 0, 0, 100, 0),
(12981400, 25, 1592.99, -5735.69, 121.679, NULL, 0, 0, 0, 100, 0),
(12981400, 26, 1595.51, -5741.11, 119.235, NULL, 0, 0, 0, 100, 0),
(12981400, 27, 1601.89, -5753.35, 119.255, NULL, 0, 0, 0, 100, 0);
-- Set Creature wander distance and movement type
UPDATE `creature` SET `wander_distance` = 5, `MovementType` = 1 WHERE `guid` = 130019 AND `id1` = 28610;
UPDATE `creature` SET `wander_distance` = 0, `MovementType` = 2 WHERE `guid` IN (129813, 129814) AND `id1` = 28946;
-- Update path IDs.
UPDATE `creature_addon` SET `path_id` = 12981300 WHERE (`guid` IN (129813));
UPDATE `creature_addon` SET `path_id` = 12981400 WHERE (`guid` IN (129814));
-- Spawn Groups
DELETE FROM `pool_template` WHERE (`entry` IN (22357, 22358, 22359, 22360, 22361, 22362, 22363, 22364, 22365, 22366, 22367, 22368, 22369, 22370, 22371, 22372, 22373, 22374, 22375, 22376, 22377, 22378, 22379, 22380, 22381, 22382));
INSERT INTO `pool_template` (`entry`, `max_limit`, `description`) VALUES
(22357, 1, 'Scarlet Crusader/Preacher/Marksman Spawn (1 out 26)'),
(22358, 1, 'Scarlet Crusader/Preacher/Marksman Spawn (2 out 26)'),
(22359, 1, 'Scarlet Crusader/Preacher/Marksman Spawn (3 out 26)'),
(22360, 1, 'Scarlet Crusader/Preacher/Marksman Spawn (4 out 26)'),
(22361, 1, 'Scarlet Crusader/Preacher/Marksman Spawn (5 out 26)'),
(22362, 1, 'Scarlet Crusader/Preacher/Marksman Spawn (6 out 26)'),
(22363, 1, 'Scarlet Crusader/Preacher/Marksman Spawn (7 out 26)'),
(22364, 1, 'Scarlet Crusader/Preacher/Marksman Spawn (8 out 26)'),
(22365, 1, 'Scarlet Crusader/Preacher/Marksman Spawn (9 out 26)'),
(22366, 1, 'Scarlet Crusader/Preacher/Marksman Spawn (10 out 26)'),
(22367, 1, 'Scarlet Crusader/Preacher/Marksman Spawn (11 out 26)'),
(22368, 1, 'Scarlet Crusader/Preacher/Marksman Spawn (12 out 26)'),
(22369, 1, 'Scarlet Crusader/Preacher/Marksman Spawn (13 out 26)'),
(22370, 1, 'Scarlet Crusader/Preacher/Marksman Spawn (14 out 26)'),
(22371, 1, 'Scarlet Crusader/Preacher/Marksman Spawn (15 out 26)'),
(22372, 1, 'Scarlet Crusader/Preacher/Marksman Spawn (16 out 26)'),
(22373, 1, 'Scarlet Crusader/Preacher/Marksman Spawn (17 out 26)'),
(22374, 1, 'Scarlet Crusader/Preacher/Marksman Spawn (18 out 26)'),
(22375, 1, 'Scarlet Crusader/Preacher/Marksman Spawn (19 out 26)'),
(22376, 1, 'Scarlet Crusader/Preacher/Marksman Spawn (20 out 26)'),
(22377, 1, 'Scarlet Crusader/Preacher/Marksman Spawn (21 out 26)'),
(22378, 1, 'Scarlet Crusader/Preacher/Marksman Spawn (22 out 26)'),
(22379, 1, 'Scarlet Crusader/Preacher/Marksman Spawn (23 out 26)'),
(22380, 1, 'Scarlet Crusader/Preacher/Marksman Spawn (24 out 26)'),
(22381, 1, 'Scarlet Crusader/Preacher/Marksman Spawn (25 out 26)'),
(22382, 1, 'Scarlet Crusader/Preacher/Marksman Spawn (26 out 26)');
DELETE FROM `pool_creature` WHERE (`pool_entry` IN (22357, 22358, 22359, 22360, 22361, 22362, 22363, 22364, 22365, 22366, 22367, 22368, 22369, 22370, 22371, 22372, 22373, 22374, 22375, 22376, 22377, 22378, 22379, 22380, 22381, 22382));
INSERT INTO `pool_creature` (`guid`, `pool_entry`, `chance`, `description`) VALUES
(129558, 22357, 0, 'Scarlet Preacher (28939) (1 out 26)'),
(129693, 22357, 0, 'Scarlet Crusader (28940) (1 out 26)'),
(130039, 22357, 0, 'Scarlet Marksman (28610) (1 out 26)'),
(129676, 22358, 0, 'Scarlet Preacher (28939) (2 out 26)'),
(129709, 22358, 0, 'Scarlet Crusader (28940) (2 out 26)'),
(129999, 22358, 0, 'Scarlet Marksman (28610) (2 out 26)'),
(129540, 22359, 0, 'Scarlet Preacher (28939) (3 out 26)'),
(129724, 22359, 0, 'Scarlet Crusader (28940) (3 out 26)'),
(130023, 22359, 0, 'Scarlet Marksman (28610) (3 out 26)'),
(129541, 22360, 0, 'Scarlet Preacher (28939) (4 out 26)'),
(129692, 22360, 0, 'Scarlet Crusader (28940) (4 out 26)'),
(130000, 22360, 0, 'Scarlet Marksman (28610) (4 out 26)'),
(129543, 22361, 0, 'Scarlet Preacher (28939) (5 out 26)'),
(129687, 22361, 0, 'Scarlet Crusader (28940) (5 out 26)'),
(130010, 22361, 0, 'Scarlet Marksman (28610) (5 out 26)'),
(129542, 22362, 0, 'Scarlet Preacher (28939) (6 out 26)'),
(129684, 22362, 0, 'Scarlet Crusader (28940) (6 out 26)'),
(130012, 22362, 0, 'Scarlet Marksman (28610) (6 out 26)'),
(129548, 22363, 0, 'Scarlet Preacher (28939) (7 out 26)'),
(129726, 22363, 0, 'Scarlet Crusader (28940) (7 out 26)'),
(130021, 22363, 0, 'Scarlet Marksman (28610) (7 out 26)'),
(129550, 22364, 0, 'Scarlet Preacher (28939) (8 out 26)'),
(129686, 22364, 0, 'Scarlet Crusader (28940) (8 out 26)'),
(130016, 22364, 0, 'Scarlet Marksman (28610) (8 out 26)'),
(129549, 22365, 0, 'Scarlet Preacher (28939) (9 out 26)'),
(129725, 22365, 0, 'Scarlet Crusader (28940) (9 out 26)'),
(130015, 22365, 0, 'Scarlet Marksman (28610) (9 out 26)'),
(129554, 22366, 0, 'Scarlet Preacher (28939) (10 out 26)'),
(129685, 22366, 0, 'Scarlet Crusader (28940) (10 out 26)'),
(130036, 22366, 0, 'Scarlet Marksman (28610) (10 out 26)'),
(129665, 22367, 0, 'Scarlet Preacher (28939) (11 out 26)'),
(129827, 22367, 0, 'Scarlet Crusader (28940) (11 out 26)'),
(130223, 22367, 0, 'Scarlet Marksman (28610) (11 out 26)'),
(129561, 22368, 0, 'Scarlet Preacher (28939) (12 out 26)'),
(129815, 22368, 0, 'Scarlet Crusader (28940) (12 out 26)'),
(130003, 22368, 0, 'Scarlet Marksman (28610) (12 out 26)'),
(129559, 22369, 0, 'Scarlet Preacher (28939) (13 out 26)'),
(129809, 22369, 0, 'Scarlet Crusader (28940) (13 out 26)'),
(130020, 22369, 0, 'Scarlet Marksman (28610) (13 out 26)'),
(129560, 22370, 0, 'Scarlet Preacher (28939) (14 out 26)'),
(129810, 22370, 0, 'Scarlet Crusader (28940) (14 out 26)'),
(130006, 22370, 0, 'Scarlet Marksman (28610) (14 out 26)'),
(129551, 22371, 0, 'Scarlet Preacher (28939) (15 out 26)'),
(129694, 22371, 0, 'Scarlet Crusader (28940) (15 out 26)'),
(130029, 22371, 0, 'Scarlet Marksman (28610) (15 out 26)'),
(129552, 22372, 0, 'Scarlet Preacher (28939) (16 out 26)'),
(129723, 22372, 0, 'Scarlet Crusader (28940) (16 out 26)'),
(130030, 22372, 0, 'Scarlet Marksman (28610) (16 out 26)'),
(129669, 22373, 0, 'Scarlet Preacher (28939) (17 out 26)'),
(129821, 22373, 0, 'Scarlet Crusader (28940) (17 out 26)'),
(130040, 22373, 0, 'Scarlet Marksman (28610) (17 out 26)'),
(129666, 22374, 0, 'Scarlet Preacher (28939) (18 out 26)'),
(129822, 22374, 0, 'Scarlet Crusader (28940) (18 out 26)'),
(130041, 22374, 0, 'Scarlet Marksman (28610) (18 out 26)'),
(129557, 22375, 0, 'Scarlet Preacher (28939) (19 out 26)'),
(129710, 22375, 0, 'Scarlet Crusader (28940) (19 out 26)'),
(130037, 22375, 0, 'Scarlet Marksman (28610) (19 out 26)'),
(129670, 22376, 0, 'Scarlet Preacher (28939) (20 out 26)'),
(129828, 22376, 0, 'Scarlet Crusader (28940) (20 out 26)'),
(130224, 22376, 0, 'Scarlet Marksman (28610) (20 out 26)'),
(129538, 22377, 0, 'Scarlet Preacher (28939) (21 out 26)'),
(129817, 22377, 0, 'Scarlet Crusader (28940) (21 out 26)'),
(130024, 22377, 0, 'Scarlet Marksman (28610) (21 out 26)'),
(129539, 22378, 0, 'Scarlet Preacher (28939) (22 out 26)'),
(129816, 22378, 0, 'Scarlet Crusader (28940) (22 out 26)'),
(130008, 22378, 0, 'Scarlet Marksman (28610) (22 out 26)'),
(129535, 22379, 0, 'Scarlet Preacher (28939) (23 out 26)'),
(129820, 22379, 0, 'Scarlet Crusader (28940) (23 out 26)'),
(130005, 22379, 0, 'Scarlet Marksman (28610) (23 out 26)'),
(129553, 22380, 0, 'Scarlet Preacher (28939) (24 out 26)'),
(129691, 22380, 0, 'Scarlet Crusader (28940) (24 out 26)'),
(130033, 22380, 0, 'Scarlet Marksman (28610) (24 out 26)'),
(129536, 22381, 0, 'Scarlet Preacher (28939) (25 out 26)'),
(129819, 22381, 0, 'Scarlet Crusader (28940) (25 out 26)'),
(130011, 22381, 0, 'Scarlet Marksman (28610) (25 out 26)'),
(129537, 22382, 0, 'Scarlet Preacher (28939) (26 out 26)'),
(129818, 22382, 0, 'Scarlet Crusader (28940) (26 out 26)'),
(130004, 22382, 0, 'Scarlet Marksman (28610) (26 out 26)');
@@ -0,0 +1,6 @@
-- DB update 2024_12_08_00 -> 2024_12_08_01
-- Change Z position for two Silt Crawlers.
UPDATE `creature` SET `position_z` = -2.316132 WHERE `guid` = 34158;
UPDATE `creature` SET `position_z` = -2.4465983 WHERE `guid` = 32692;
@@ -0,0 +1,70 @@
-- DB update 2024_12_08_01 -> 2024_12_08_02
-- Update creature 'Lunar - Revelers' with sniffed values
-- updated spawns
DELETE FROM `creature` WHERE (`id1` IN (15905, 15908, 15694, 15907, 15719, 15906))
AND (`guid` IN (91639, 91640, 91642, 91644, 91646, 91648, 91651, 91652, 91653, 91654, 91655, 91656, 91657, 91658, 91659, 91661, 91662, 91663, 91664, 91665, 91666, 91668, 91669, 91670, 91671, 91672, 91673, 91674, 91675, 91676));
INSERT INTO `creature` (`guid`, `id1`, `map`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `ScriptName`, `VerifiedBuild`, `CreateObject`, `Comment`) VALUES
(91639, 15905, 1, 1, 1, 1, 7607.189453125, -2229.43603515625, 468.269012451171875, 1.099557399749755859, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL),
(91640, 15908, 1, 1, 1, 1, 7598.31103515625, -2251.260986328125, 467.361785888671875, 1.326450228691101074, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL),
(91642, 15905, 1, 1, 1, 1, 7610.34375, -2232.98388671875, 467.60992431640625, 0.314159274101257324, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL),
(91644, 15694, 1, 1, 1, 1, 7583.0634765625, -2208.437744140625, 474.48895263671875, 2.059488534927368164, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL),
(91646, 15905, 1, 1, 1, 1, 7613.6796875, -2226.41259765625, 469.712188720703125, 1.640609502792358398, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL),
(91648, 15907, 1, 1, 1, 1, 7575.9443359375, -2234.723876953125, 471.16571044921875, 3.59537816047668457, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL),
(91651, 15719, 1, 1, 1, 1, 7603.09130859375, -2215.731689453125, 470.81268310546875, 0.750491559505462646, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL),
(91652, 15905, 1, 1, 1, 1, 7609.15185546875, -2225.593017578125, 469.877349853515625, 4.188790321350097656, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL),
(91653, 15907, 1, 1, 1, 1, 7577.27197265625, -2241.345458984375, 469.360626220703125, 1.221730470657348632, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL),
(91654, 15906, 1, 1, 1, 1, 7566.17724609375, -2220.197265625, 473.45709228515625, 0.92502450942993164, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL),
(91655, 15694, 1, 1, 1, 1, 7588.72509765625, -2203.75146484375, 475.703125, 4.485496044158935546, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL),
(91656, 15908, 1, 1, 1, 1, 7591.39306640625, -2245.126708984375, 467.384674072265625, 0.645771801471710205, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL),
(91657, 15719, 1, 1, 1, 1, 7607.03466796875, -2212.24853515625, 470.957275390625, 3.787364482879638671, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL),
(91658, 15905, 1, 1, 1, 1, 7614.68408203125, -2231.25830078125, 468.27105712890625, 3.543018341064453125, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL),
(91659, 15907, 1, 1, 1, 1, 7572.57275390625, -2240.8525390625, 468.8511962890625, 3.822271108627319335, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL),
(91661, 15719, 1, 1, 1, 1, 7598.59912109375, -2213.036376953125, 471.369476318359375, 1.48352980613708496, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL),
(91662, 15719, 1, 1, 1, 1, 7599.17431640625, -2208.4140625, 473.57928466796875, 4.590215682983398437, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL),
(91663, 15694, 1, 1, 1, 1, 7585, -2201.843017578125, 476.0362548828125, 1.710422635078430175, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL),
(91664, 15694, 1, 1, 1, 1, 7581.10009765625, -2204.703125, 475.24853515625, 5.16617441177368164, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL),
(91665, 15906, 1, 1, 1, 1, 7568.5556640625, -2224.178466796875, 472.862579345703125, 4.031710624694824218, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL),
(91666, 15908, 1, 1, 1, 1, 7599.74755859375, -2244.755126953125, 467.982666015625, 4.555309295654296875, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL),
(91668, 15906, 1, 1, 1, 1, 7573.8974609375, -2222.974853515625, 473.304473876953125, 1.640609502792358398, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL),
(91669, 15694, 1, 1, 1, 1, 7587.7109375, -2208.04296875, 474.678497314453125, 1.326450228691101074, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL),
(91670, 15908, 1, 1, 1, 1, 7596.34814453125, -2241.304443359375, 467.41064453125, 3.857177734375, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL),
(91671, 15906, 1, 1, 1, 1, 7573.52880859375, -2217.985595703125, 473.9293212890625, 4.86946868896484375, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL),
(91672, 15906, 1, 1, 1, 1, 7568.87158203125, -2216.70361328125, 474.082763671875, 4.049163818359375, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL),
(91673, 15907, 1, 1, 1, 1, 7578.69970703125, -2237.170654296875, 470.803497314453125, 4.468042850494384765, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL),
(91674, 15908, 1, 1, 1, 1, 7592.76416015625, -2251.52099609375, 465.84228515625, 4.363323211669921875, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL),
(91675, 15907, 1, 1, 1, 1, 7572.26806640625, -2236.659423828125, 470.207000732421875, 0.471238881349563598, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL),
(91676, 15719, 1, 1, 1, 1, 7604.9931640625, -2207.93212890625, 472.6412353515625, 1.047197580337524414, 120, 0, 0, 0, 0, 0, "", 47720, 1, NULL);
DELETE FROM `game_event_creature` WHERE (`eventEntry` = 7)
AND (`guid` IN (91639, 91640, 91642, 91644, 91646, 91648, 91651, 91652, 91653, 91654, 91655, 91656, 91657, 91658, 91659, 91661, 91662, 91663, 91664, 91665, 91666, 91668, 91669, 91670, 91671, 91672, 91673, 91674, 91675, 91676));
INSERT INTO `game_event_creature` (`eventEntry`,`guid`) VALUES
(7, 91639),
(7, 91640),
(7, 91642),
(7, 91644),
(7, 91646),
(7, 91648),
(7, 91651),
(7, 91652),
(7, 91653),
(7, 91654),
(7, 91655),
(7, 91656),
(7, 91657),
(7, 91658),
(7, 91659),
(7, 91661),
(7, 91662),
(7, 91663),
(7, 91664),
(7, 91665),
(7, 91666),
(7, 91668),
(7, 91669),
(7, 91670),
(7, 91671),
(7, 91672),
(7, 91673),
(7, 91674),
(7, 91675),
(7, 91676);
@@ -0,0 +1,4 @@
-- DB update 2024_12_08_02 -> 2024_12_09_00
--
-- Removed the requirement of the player needing to have Blacksmithing to Interact with her
UPDATE `creature_template` SET `trainer_spell` = 0 WHERE (`entry` = 29505);
@@ -0,0 +1,7 @@
-- DB update 2024_12_09_00 -> 2024_12_10_00
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE (`entry` = 24159);
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 24159);
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(24159, 0, 0, 0, 0, 0, 100, 0, 4000, 7000, 4000, 7000, 0, 0, 11, 43517, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Amani Eagle - In Combat - Cast \'Talon\'');
@@ -0,0 +1,22 @@
-- DB update 2024_12_10_00 -> 2024_12_10_01
SET @TOKENENTRY := 1276883;
DELETE FROM `creature_loot_template` WHERE (`Entry` = 22917);
DELETE FROM `reference_loot_template` WHERE (`Entry` = 34077 AND `Item` IN (31089,31090,31091)) OR `Entry` = @TOKENENTRY;
INSERT INTO `reference_loot_template` (`Entry`, `Item`, `Reference`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES
(@TOKENENTRY, 31089, 0, 0, 0, 1, 1, 1, 1, 'Chestguard of the Forgotten Conqueror'),
(@TOKENENTRY, 31090, 0, 0, 0, 1, 1, 1, 1, 'Chestguard of the Forgotten Vanquisher'),
(@TOKENENTRY, 31091, 0, 0, 0, 1, 1, 1, 1, 'Chestguard of the Forgotten Protector');
UPDATE `reference_loot_template` SET `GroupId` = 1 WHERE `Entry` = 34077;
INSERT INTO `creature_loot_template` (`Entry`, `Item`, `Reference`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES
(22917, 29434, 0, 100, 0, 1, 0, 2, 2, 'Illidan Stormrage - Badge of Justice'),
(22917, 32837, 0, 5, 0, 1, 1, 1, 1, 'Illidan Stormrage - Warglaive of Azzinoth'),
(22917, 32838, 0, 5, 0, 1, 2, 1, 1, 'Illidan Stormrage - Warglaive of Azzinoth'),
(22917, 34069, 34069, 2, 0, 1, 2, 1, 1, 'Illidan Stormrage - (Patterns)'),
(22917, 34077, 34077, 100, 0, 1, 1, 2, 2, 'Illidan Stormrage - (Items)'),
(22917, 90069, 34069, 10, 0, 1, 1, 1, 1, 'Illidan Stormrage - (Patterns)'),
(22917, 90077, @TOKENENTRY, 100, 0, 1, 1, 3, 3, 'Illidan Stormrage - (Tokens)');
+104
View File
@@ -0,0 +1,104 @@
-- DB update 2024_12_10_01 -> 2024_12_10_02
-- Delete/Cleaning Npcs
DELETE FROM `creature` WHERE (`id1` = 28607) AND (`guid` IN (129247));
DELETE FROM `creature_addon` WHERE (`guid` IN (129247));
-- Havenshire Stallion spawn point
UPDATE `creature` SET `position_x` = 2195.9116, `position_y` = -5858.604, `position_z` = 101.32708, `orientation` = 3.7085388 WHERE `guid` = 129215 AND `id1` = 28605;
UPDATE `creature` SET `position_x` = 2199.2192, `position_y` = -5850.0396, `position_z` = 101.36801, `orientation` = 4.9723105 WHERE `guid` = 129214 AND `id1` = 28605;
-- Havenshire Mare spawn point
UPDATE `creature` SET `position_x` = 2204.0552, `position_y` = -5854.607, `position_z` = 101.6112, `orientation` = 4.917175 WHERE `guid` = 129236 AND `id1` = 28606;
UPDATE `creature` SET `position_x` = 2206.8572, `position_y` = -5848.667, `position_z` = 101.39461, `orientation` = 4.941651 WHERE `guid` = 129235 AND `id1` = 28606;
-- Havenshire Colts spawn point
UPDATE `creature` SET `position_x` = 2207.5293, `position_y` = -5852.516, `position_z` = 101.384766, `orientation` = 4.913268 WHERE `guid` = 129246 AND `id1` = 28607;
UPDATE `creature` SET `position_x` = 2200.4082, `position_y` = -5853.1797, `position_z` = 101.39033, `orientation` = 5.2745533 WHERE `guid` = 129249 AND `id1` = 28607;
UPDATE `creature` SET `position_x` = 2203.335, `position_y` = -5849.832, `position_z` = 101.40138, `orientation` = 4.9533725 WHERE `guid` = 129251 AND `id1` = 28607;
UPDATE `creature` SET `position_x` = 2205.8127, `position_y` = -5844.881, `position_z` = 101.527245, `orientation` = 4.8709197 WHERE `guid` = 129248 AND `id1` = 28607;
UPDATE `creature` SET `position_x` = 2198.61, `position_y` = -5846.52, `position_z` = 101.70071, `orientation` = 5.0044303 WHERE `guid` = 129245 AND `id1` = 28607;
-- Waypoints (Sniffed)
DELETE FROM `waypoint_data` WHERE `id` IN (12921500);
INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES
(12921500, 1, 2181.8208, -5866.014, 101.38311, NULL, 0, 1, 0, 100, 0),
(12921500, 2, 2163.5708, -5871.264, 101.38311, NULL, 0, 1, 0, 100, 0),
(12921500, 3, 2156.404, -5873.486, 101.35129, NULL, 0, 1, 0, 100, 0),
(12921500, 4, 2140.0742, -5877.82, 101.841995, NULL, 0, 1, 0, 100, 0),
(12921500, 5, 2118.6294, -5903.7754, 104.6409, NULL, 0, 1, 0, 100, 0),
(12921500, 6, 2080.034, -5913.223, 106.414085, NULL, 0, 1, 0, 100, 0),
(12921500, 7, 2009.6409, -5923.7266, 105.32761, NULL, 0, 1, 0, 100, 0),
(12921500, 8, 1970.5721, -5935.1025, 102.947174, NULL, 0, 1, 0, 100, 0),
(12921500, 9, 1895.7273, -5921.091, 103.54128, NULL, 0, 1, 0, 100, 0),
(12921500, 10, 1842.2395, -5917.941, 107.21487, NULL, 0, 1, 0, 100, 0),
(12921500, 11, 1781.0726, -5925.415, 116.29511, NULL, 0, 1, 0, 100, 0),
(12921500, 12, 1742.219, -5908.065, 116.12137, NULL, 0, 1, 0, 100, 0);
-- Creature Formation
DELETE FROM `creature_formations` WHERE `leaderGUID` = 129215;
INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES
(129215, 129215, 0, 0, 512, 0, 0),
(129215, 129214, 4, 140, 512, 0, 0),
(129215, 129236, 5, 160, 512, 0, 0),
(129215, 129235, 6, 180, 512, 0, 0),
(129215, 129246, 7, 200, 512, 0, 0),
(129215, 129249, 8, 180, 512, 0, 0),
(129215, 129251, 7, 160, 512, 0, 0),
(129215, 129248, 6, 140, 512, 0, 0),
(129215, 129245, 5, 120, 512, 0, 0);
-- Spawn Groups
DELETE FROM `pool_template` WHERE (`entry` IN (22383));
INSERT INTO `pool_template` (`entry`, `max_limit`, `description`) VALUES
(22383, 6, 'Havenshire Stallions/Mares/Colts (1 out 1)');
DELETE FROM `pool_creature` WHERE (`pool_entry` IN (22383));
INSERT INTO `pool_creature` (`guid`, `pool_entry`, `chance`, `description`) VALUES
(129214, 22383, 0, 'Havenshire Stallion (28605)'),
(129236, 22383, 0, 'Havenshire Mare (28606)'),
(129235, 22383, 0, 'Havenshire Mare (28606)'),
(129251, 22383, 0, 'Havenshire Colt (28607)'),
(129246, 22383, 0, 'Havenshire Colt (28607)'),
(129249, 22383, 0, 'Havenshire Colt (28607)'),
(129248, 22383, 0, 'Havenshire Colt (28607)'),
(129245, 22383, 0, 'Havenshire Colt (28607)');
-- Set SmartAI for Havenshire Stallion
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE (`entry` = 28605);
-- Comment
UPDATE `creature` SET `Comment` = "has guid specific SAI" WHERE (`id1` = 28605) AND (`guid` IN (129215));
-- DBGuid SmartAI
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = -129215);
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(-129215, 0, 0, 0, 11, 0, 100, 0, 0, 0, 0, 0, 0, 0, 232, 12921500, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Havenshire Stallion - On Respawn - Start Path 12921500'),
(-129215, 0, 1, 2, 109, 0, 100, 0, 0, 12921500, 0, 0, 0, 0, 41, 2000, 60, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Havenshire Stallion - On Path 12921500 Finished - Despawn In 2000 ms'),
(-129215, 0, 2, 3, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 41, 2000, 62, 0, 0, 0, 0, 10, 129236, 28606, 0, 0, 0, 0, 0, 0, 'Havenshire Stallion - On Path 12921500 Finished - Despawn In 2000 ms'),
(-129215, 0, 3, 4, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 41, 2000, 62, 0, 0, 0, 0, 10, 129246, 28607, 0, 0, 0, 0, 0, 0, 'Havenshire Stallion - On Path 12921500 Finished - Despawn In 2000 ms'),
(-129215, 0, 4, 5, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 41, 2000, 62, 0, 0, 0, 0, 10, 129249, 28607, 0, 0, 0, 0, 0, 0, 'Havenshire Stallion - On Path 12921500 Finished - Despawn In 2000 ms'),
(-129215, 0, 5, 6, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 41, 2000, 62, 0, 0, 0, 0, 10, 129251, 28607, 0, 0, 0, 0, 0, 0, 'Havenshire Stallion - On Path 12921500 Finished - Despawn In 2000 ms'),
(-129215, 0, 6, 7, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 41, 2000, 62, 0, 0, 0, 0, 10, 129248, 28607, 0, 0, 0, 0, 0, 0, 'Havenshire Stallion - On Path 12921500 Finished - Despawn In 2000 ms'),
(-129215, 0, 7, 8, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 41, 2000, 62, 0, 0, 0, 0, 10, 129245, 28607, 0, 0, 0, 0, 0, 0, 'Havenshire Stallion - On Path 12921500 Finished - Despawn In 2000 ms'),
(-129215, 0, 8, 9, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 41, 2000, 62, 0, 0, 0, 0, 10, 129214, 28605, 0, 0, 0, 0, 0, 0, 'Havenshire Stallion - On Path 12921500 Finished - Despawn In 2000 ms'),
(-129215, 0, 9, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 41, 2000, 62, 0, 0, 0, 0, 10, 129235, 28606, 0, 0, 0, 0, 0, 0, 'Havenshire Stallion - On Path 12921500 Finished - Despawn In 2000 ms');
@@ -0,0 +1,3 @@
-- DB update 2024_12_10_02 -> 2024_12_11_00
--
UPDATE `creature_template` SET `mechanic_immune_mask` = `mechanic_immune_mask`|16|2048, `flags_extra` = `flags_extra`|256 WHERE `entry` = 24549;
@@ -0,0 +1,3 @@
-- DB update 2024_12_11_00 -> 2024_12_12_00
--
UPDATE `creature_template` SET `flags_extra` = `flags_extra`|2147483648 WHERE `entry` IN (23574, 23578, 24239);
@@ -0,0 +1,10 @@
-- DB update 2024_12_12_00 -> 2024_12_12_01
--
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 23580);
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(23580, 0, 0, 1, 2, 0, 100, 1, 30, 30, 0, 0, 0, 0, 11, 43274, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Amani\'shi Warbringer - Between 30-30% Health - Cast \'Dismount Bear\' (No Repeat)'),
(23580, 0, 1, 2, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Amani\'shi Warbringer - Between 0-19% Health - Set Flag Standstate Stand Up (No Repeat)'),
(23580, 0, 2, 3, 61, 0, 100, 3, 0, 0, 0, 0, 0, 0, 11, 40743, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Amani\'shi Warbringer - Between 0-30% Health - Cast \'Frenzy\' (No Repeat)'),
(23580, 0, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 206, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Amani\'shi Warbringer - Between 30-30% Health - Dismount'),
(23580, 0, 4, 0, 0, 0, 100, 2, 0, 0, 12000, 12000, 0, 0, 11, 43273, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Amani\'shi Warbringer - In Combat - Cast \'Cleave\' (No Repeat)'),
(23580, 0, 5, 0, 0, 0, 100, 2, 5000, 5000, 20000, 20000, 0, 0, 11, 42496, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Amani\'shi Warbringer - In Combat - Cast \'Furious Roar\' (No Repeat)');
@@ -0,0 +1,3 @@
-- DB update 2024_12_12_01 -> 2024_12_12_02
--
UPDATE `conditions` SET `Comment` = 'Player must have aura Lance Equipped' WHERE (`SourceTypeOrReferenceId` = 16) AND (`SourceGroup` = 0) AND (`SourceEntry` IN (35644, 36588)) AND (`ConditionValue1` = 62853);
@@ -2165,6 +2165,21 @@ NoResetTalentsCost = 0
ToggleXP.Cost = 100000
#
# SpellQueue.Enabled
# Description: Enable SpellQueue.
# Default: 0 - (Disabled)
# 1 - (Enabled)
SpellQueue.Enabled = 1
#
# SpellQueue.Window
# Description: Time (in milliseconds) for spells to be queued.
# Default: 400 - (400ms)
SpellQueue.Window = 400
#
###################################################################################################
@@ -2605,6 +2605,13 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
ProcessEventsFor((SMART_EVENT)SMART_EVENT_TIMED_EVENT_TRIGGERED, nullptr, eventId);
break;
}
case SMART_ACTION_DISMOUNT:
{
for (WorldObject* const target : targets)
if (IsUnit(target))
target->ToUnit()->Dismount();
break;
}
case SMART_ACTION_SET_HOVER:
{
for (WorldObject* target : targets)
@@ -2015,6 +2015,7 @@ bool SmartAIMgr::IsEventValid(SmartScriptHolder& e)
case SMART_ACTION_FLEE:
case SMART_ACTION_ADD_THREAT:
case SMART_ACTION_TRIGGER_RANDOM_TIMED_EVENT:
case SMART_ACTION_DISMOUNT:
case SMART_ACTION_SET_HOVER:
case SMART_ACTION_ADD_IMMUNITY:
case SMART_ACTION_REMOVE_IMMUNITY:
@@ -705,7 +705,7 @@ enum SMART_ACTION
SMART_ACTION_EXIT_VEHICLE = 203, // none
SMART_ACTION_SET_UNIT_MOVEMENT_FLAGS = 204, // flags
SMART_ACTION_SET_COMBAT_DISTANCE = 205, // combatDistance
// UNUSED = 206,
SMART_ACTION_DISMOUNT = 206,
SMART_ACTION_SET_HOVER = 207, // 0/1
SMART_ACTION_ADD_IMMUNITY = 208, // type, id, value
SMART_ACTION_REMOVE_IMMUNITY = 209, // type, id, value
@@ -446,6 +446,8 @@ bool GameObject::Create(ObjectGuid::LowType guidlow, uint32 name_id, Map* map, u
void GameObject::Update(uint32 diff)
{
WorldObject::Update(diff);
if (AI())
AI()->UpdateAI(diff);
else if (!AIM_Initialize())
+14 -3
View File
@@ -1050,7 +1050,7 @@ void MovementInfo::OutDebug()
WorldObject::WorldObject(bool isWorldObject) : WorldLocation(),
LastUsedScriptID(0), m_name(""), m_isActive(false), m_visibilityDistanceOverride(), m_isWorldObject(isWorldObject), m_zoneScript(nullptr),
_zoneId(0), _areaId(0), _floorZ(INVALID_HEIGHT), _outdoors(false), _liquidData(), _updatePositionData(false), m_transport(nullptr),
m_currMap(nullptr), m_InstanceId(0), m_phaseMask(PHASEMASK_NORMAL), m_useCombinedPhases(true), m_notifyflags(0), m_executed_notifies(0)
m_currMap(nullptr), _heartbeatTimer(HEARTBEAT_INTERVAL), m_InstanceId(0), m_phaseMask(PHASEMASK_NORMAL), m_useCombinedPhases(true), m_notifyflags(0), m_executed_notifies(0)
{
m_serverSideVisibility.SetValue(SERVERSIDE_VISIBILITY_GHOST, GHOST_VISIBILITY_ALIVE | GHOST_VISIBILITY_GHOST);
m_serverSideVisibilityDetect.SetValue(SERVERSIDE_VISIBILITY_GHOST, GHOST_VISIBILITY_ALIVE);
@@ -1058,9 +1058,18 @@ WorldObject::WorldObject(bool isWorldObject) : WorldLocation(),
sScriptMgr->OnWorldObjectCreate(this);
}
void WorldObject::Update(uint32 time_diff)
void WorldObject::Update(uint32 diff)
{
sScriptMgr->OnWorldObjectUpdate(this, time_diff);
m_Events.Update(diff);
_heartbeatTimer -= Milliseconds(diff);
while (_heartbeatTimer <= 0ms)
{
_heartbeatTimer += HEARTBEAT_INTERVAL;
Heartbeat();
}
sScriptMgr->OnWorldObjectUpdate(this, diff);
}
void WorldObject::SetWorldObject(bool on)
@@ -1134,6 +1143,8 @@ void WorldObject::CleanupsBeforeDelete(bool /*finalCleanup*/)
{
if (IsInWorld())
RemoveFromWorld();
m_Events.KillAllEvents(false); // non-delatable (currently cast spells) will not deleted now but it will deleted at call in Map::RemoveAllObjectsInRemoveList
}
void WorldObject::_Create(ObjectGuid::LowType guidlow, HighGuid guidhigh, uint32 phaseMask)
+9 -2
View File
@@ -20,6 +20,7 @@
#include "Common.h"
#include "DataMap.h"
#include "EventProcessor.h"
#include "G3D/Vector3.h"
#include "GridDefines.h"
#include "GridReference.h"
@@ -96,6 +97,8 @@ struct PositionFullTerrainStatus;
typedef std::unordered_map<Player*, UpdateData> UpdateDataMapType;
typedef GuidUnorderedSet UpdatePlayerSet;
static constexpr Milliseconds HEARTBEAT_INTERVAL = 5s + 200ms;
class Object
{
public:
@@ -220,6 +223,8 @@ public:
[[nodiscard]] inline bool IsItem() const { return GetTypeId() == TYPEID_ITEM; }
virtual void Heartbeat() {}
virtual std::string GetDebugInfo() const;
DataMap CustomData;
@@ -408,7 +413,7 @@ protected:
public:
~WorldObject() override;
virtual void Update(uint32 /*time_diff*/);
virtual void Update(uint32 diff);
void _Create(ObjectGuid::LowType guidlow, HighGuid guidhigh, uint32 phaseMask);
@@ -632,7 +637,9 @@ public:
std::string GetDebugInfo() const override;
// Event handler
ElunaEventProcessor* elunaEvents;
EventProcessor m_Events;
protected:
std::string m_name;
@@ -666,7 +673,7 @@ protected:
virtual bool IsAlwaysDetectableFor(WorldObject const* /*seer*/) const { return false; }
private:
Map* m_currMap; //current object's Map location
Milliseconds _heartbeatTimer;
//uint32 m_mapId; // object at map with map_id
uint32 m_InstanceId; // in map copy with instance id
uint32 m_phaseMask; // in area phase state
+24 -2
View File
@@ -1026,6 +1026,9 @@ void Player::setDeathState(DeathState s, bool /*despawn = false*/)
return;
}
// clear all pending spell cast requests when dying
SpellQueue.clear();
// drunken state is cleared on death
SetDrunkValue(0);
// lost combo points at any target (targeted combo points clear in Unit::setDeathState)
@@ -1889,8 +1892,27 @@ void Player::Regenerate(Powers power)
}
}
break;
case POWER_ENERGY: // Regenerate energy (rogue)
addvalue += 0.01f * m_regenTimer * sWorld->getRate(RATE_POWER_ENERGY);
case POWER_ENERGY:
{
float baseRegenRate = 10.0f * sWorld->getRate(RATE_POWER_ENERGY);
float hasteModifier = 1.0f;
// Apply Vitality
if (HasAura(61329))
hasteModifier += 0.25f;
// Apply Overkill
if (HasAura(58426))
hasteModifier += 0.30f;
// Apply Adrenaline Rush
if (HasAura(13750))
hasteModifier += 1.0f;
float adjustedRegenRate = baseRegenRate * hasteModifier;
addvalue += adjustedRegenRate * 0.001f * m_regenTimer;
}
break;
case POWER_RUNIC_POWER:
{
+27 -1
View File
@@ -1050,6 +1050,18 @@ struct EntryPointData
[[nodiscard]] bool HasTaxiPath() const { return taxiPath[0] && taxiPath[1]; }
};
struct PendingSpellCastRequest
{
uint32 spellId;
uint32 category;
WorldPacket requestPacket;
bool isItem = false;
bool cancelInProgress = false;
PendingSpellCastRequest(uint32 spellId, uint32 category, WorldPacket&& packet, bool item = false, bool cancel = false)
: spellId(spellId), category(category), requestPacket(std::move(packet)), isItem(item) , cancelInProgress(cancel) {}
};
class Player : public Unit, public GridObject<Player>
{
friend class WorldSession;
@@ -2608,7 +2620,21 @@ public:
std::string GetDebugInfo() const override;
protected:
/*********************************************************/
/*** SPELL QUEUE SYSTEM ***/
/*********************************************************/
protected:
uint32 GetSpellQueueWindow() const;
void ProcessSpellQueue();
public:
std::deque<PendingSpellCastRequest> SpellQueue;
const PendingSpellCastRequest* GetCastRequest(uint32 category) const;
bool CanExecutePendingSpellCastRequest(SpellInfo const* spellInfo);
void ExecuteOrCancelSpellCastRequest(PendingSpellCastRequest* castRequest, bool isCancel = false);
bool CanRequestSpellCast(SpellInfo const* spellInfo);
protected:
// Gamemaster whisper whitelist
WhisperListContainer WhisperList;
@@ -79,6 +79,7 @@ void Player::Update(uint32 p_time)
// used to implement delayed far teleports
SetMustDelayTeleport(true);
ProcessSpellQueue();
Unit::Update(p_time);
SetMustDelayTeleport(false);
@@ -2256,3 +2257,89 @@ void Player::ProcessTerrainStatusUpdate()
else
m_MirrorTimerFlags &= ~(UNDERWATER_INWATER | UNDERWATER_INLAVA | UNDERWATER_INSLIME | UNDERWATER_INDARKWATER);
}
uint32 Player::GetSpellQueueWindow() const
{
return sWorld->getIntConfig(CONFIG_SPELL_QUEUE_WINDOW);
}
bool Player::CanExecutePendingSpellCastRequest(SpellInfo const* spellInfo)
{
if (GetGlobalCooldownMgr().HasGlobalCooldown(spellInfo))
return false;
if (GetSpellCooldownDelay(spellInfo->Id) > GetSpellQueueWindow())
return false;
for (CurrentSpellTypes spellSlot : {CURRENT_MELEE_SPELL, CURRENT_GENERIC_SPELL})
if (Spell* spell = GetCurrentSpell(spellSlot))
{
bool autoshot = spell->m_spellInfo->IsAutoRepeatRangedSpell();
if (IsNonMeleeSpellCast(false, true, true, autoshot))
return false;
}
return true;
}
const PendingSpellCastRequest* Player::GetCastRequest(uint32 category) const
{
for (const PendingSpellCastRequest& request : SpellQueue)
if (request.category == category)
return &request;
return nullptr;
}
bool Player::CanRequestSpellCast(SpellInfo const* spellInfo)
{
if (!sWorld->getBoolConfig(CONFIG_SPELL_QUEUE_ENABLED))
return false;
// Check for existing cast request with the same category
if (GetCastRequest(spellInfo->StartRecoveryCategory))
return false;
if (GetGlobalCooldownMgr().GetGlobalCooldown(spellInfo) > GetSpellQueueWindow())
return false;
if (GetSpellCooldownDelay(spellInfo->Id) > GetSpellQueueWindow())
return false;
// If there is an existing cast that will last longer than the allowable
// spell queue window, then we can't request a new spell cast
for (CurrentSpellTypes spellSlot : { CURRENT_MELEE_SPELL, CURRENT_GENERIC_SPELL })
if (Spell* spell = GetCurrentSpell(spellSlot))
if (spell->GetCastTimeRemaining() > static_cast<int32>(GetSpellQueueWindow()))
return false;
return true;
}
void Player::ExecuteOrCancelSpellCastRequest(PendingSpellCastRequest* request, bool isCancel /* = false*/)
{
if (isCancel)
request->cancelInProgress = true;
if (WorldSession* session = GetSession())
{
if (request->isItem)
session->HandleUseItemOpcode(request->requestPacket);
else
session->HandleCastSpellOpcode(request->requestPacket);
}
}
void Player::ProcessSpellQueue()
{
while (!SpellQueue.empty())
{
PendingSpellCastRequest& request = SpellQueue.front(); // Peek at the first spell
SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(request.spellId);
if (CanExecutePendingSpellCastRequest(spellInfo))
{
ExecuteOrCancelSpellCastRequest(&request);
SpellQueue.pop_front(); // Remove from the queue
}
else // If the first spell can't execute, stop processing
break;
}
}
@@ -400,6 +400,22 @@ bool GlobalCooldownMgr::HasGlobalCooldown(SpellInfo const* spellInfo) const
return itr != m_GlobalCooldowns.end() && itr->second.duration && getMSTimeDiff(itr->second.cast_time, GameTime::GetGameTimeMS().count()) < itr->second.duration;
}
uint32 GlobalCooldownMgr::GetGlobalCooldown(SpellInfo const* spellInfo) const
{
if (!spellInfo)
return 0;
auto itr = m_GlobalCooldowns.find(spellInfo->StartRecoveryCategory);
if (itr == m_GlobalCooldowns.end() || itr->second.duration == 0)
return 0;
uint32 start = itr->second.cast_time;
uint32 delay = itr->second.duration;
uint32 now = getMSTime();
return (start + delay > now) ? (start + delay) - now : 0;
}
void GlobalCooldownMgr::AddGlobalCooldown(SpellInfo const* spellInfo, uint32 gcd)
{
m_GlobalCooldowns[spellInfo->StartRecoveryCategory] = GlobalCooldown(gcd, GameTime::GetGameTimeMS().count());
@@ -83,6 +83,7 @@ public:
public:
bool HasGlobalCooldown(SpellInfo const* spellInfo) const;
uint32 GetGlobalCooldown(SpellInfo const* spellInfo) const;
void AddGlobalCooldown(SpellInfo const* spellInfo, uint32 gcd);
void CancelGlobalCooldown(SpellInfo const* spellInfo);
+1 -2
View File
@@ -386,7 +386,7 @@ void Unit::Update(uint32 p_time)
// WARNING! Order of execution here is important, do not change.
// Spells must be processed with event system BEFORE they go to _UpdateSpells.
// Or else we may have some SPELL_STATE_FINISHED spells stalled in pointers, that is bad.
m_Events.Update(p_time);
WorldObject::Update(p_time);
if (!IsInWorld())
return;
@@ -15777,7 +15777,6 @@ void Unit::CleanupBeforeRemoveFromMap(bool finalCleanup)
if (finalCleanup)
m_cleanupDone = true;
m_Events.KillAllEvents(false); // non-delatable (currently casted spells) will not deleted now but it will deleted at call in Map::RemoveAllObjectsInRemoveList
CombatStop();
ClearComboPoints();
ClearComboPointHolders();
-3
View File
@@ -1958,9 +1958,6 @@ public:
float m_threatModifier[MAX_SPELL_SCHOOL];
float m_modAttackSpeedPct[3];
// Event handler
EventProcessor m_Events;
SpellImmuneList m_spellImmune[MAX_SPELL_IMMUNITY];
uint32 m_lastSanctuaryTime;
+71
View File
@@ -85,6 +85,41 @@ void WorldSession::HandleUseItemOpcode(WorldPacket& recvPacket)
return;
}
SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(spellId);
if (!spellInfo)
{
LOG_ERROR("network.opcode", "WORLD: unknown spell id {}", spellId);
recvPacket.rfinish(); // prevent spam at ignore packet
return;
}
// fail if we are cancelling pending request
if (!_player->SpellQueue.empty())
{
PendingSpellCastRequest& request = _player->SpellQueue.front(); // Peek at the first spell
if (request.cancelInProgress)
{
pUser->SendEquipError(EQUIP_ERR_NONE, pItem, nullptr);
recvPacket.rfinish(); // prevent spam at ignore packet
return;
}
}
// try queue spell if it can't be executed right now
if (!_player->CanExecutePendingSpellCastRequest(spellInfo))
if (_player->CanRequestSpellCast(spellInfo))
{
recvPacket.rpos(0); // Reset read position to the start of the buffer.
_player->SpellQueue.emplace_back(
spellId,
spellInfo->GetCategory(),
std::move(recvPacket), // Move ownership of recvPacket
true // itemCast
);
return;
}
if (pItem->GetGUID() != itemGUID)
{
pUser->SendEquipError(EQUIP_ERR_ITEM_NOT_FOUND, nullptr, nullptr);
@@ -341,6 +376,10 @@ void WorldSession::HandleCastSpellOpcode(WorldPacket& recvPacket)
{
uint32 spellId;
uint8 castCount, castFlags;
if (recvPacket.empty())
return;
recvPacket >> castCount >> spellId >> castFlags;
TriggerCastFlags triggerFlag = TRIGGERED_NONE;
@@ -365,6 +404,36 @@ void WorldSession::HandleCastSpellOpcode(WorldPacket& recvPacket)
return;
}
// fail if we are cancelling pending request
if (!_player->SpellQueue.empty())
{
PendingSpellCastRequest& request = _player->SpellQueue.front(); // Peek at the first spell
if (request.cancelInProgress)
{
Spell* spell = new Spell(_player, spellInfo, TRIGGERED_NONE);
spell->m_cast_count = castCount;
spell->SendCastResult(SPELL_FAILED_DONT_REPORT);
spell->finish(false);
recvPacket.rfinish(); // prevent spam at ignore packet
return;
}
}
// try queue spell if it can't be executed right now
if (!_player->CanExecutePendingSpellCastRequest(spellInfo))
{
if (_player->CanRequestSpellCast(spellInfo))
{
recvPacket.rpos(0); // Reset read position to the start of the buffer.
_player->SpellQueue.emplace_back(
spellId,
spellInfo->GetCategory(),
std::move(recvPacket) // Move ownership of recvPacket
);
return;
}
}
// client provided targets
SpellCastTargets targets;
targets.Read(recvPacket, mover);
@@ -483,6 +552,8 @@ void WorldSession::HandleCancelCastOpcode(WorldPacket& recvPacket)
recvPacket.read_skip<uint8>(); // counter, increments with every CANCEL packet, don't use for now
recvPacket >> spellId;
_player->SpellQueue.clear();
_player->InterruptSpell(CURRENT_MELEE_SPELL);
if (_player->IsNonMeleeSpellCast(false))
_player->InterruptNonMeleeSpells(false, spellId, false, true);
@@ -158,13 +158,13 @@ bool ChaseMovementGenerator<T>::DoUpdate(T* owner, uint32 time_diff)
i_leashExtensionTimer.Update(time_diff);
if (i_leashExtensionTimer.Passed())
{
i_leashExtensionTimer.Reset(1500);
i_leashExtensionTimer.Reset(5000);
if (cOwner)
cOwner->UpdateLeashExtensionTime();
}
}
else if (i_recalculateTravel)
i_leashExtensionTimer.Reset(1500);
i_leashExtensionTimer.Reset(5000);
// if the target moved, we have to consider whether to adjust
if (!_lastTargetPosition || target->GetPosition() != _lastTargetPosition.value() || mutualChase != _mutualChase || !owner->IsWithinLOSInMap(target))
@@ -39,7 +39,7 @@ class ChaseMovementGenerator : public MovementGeneratorMedium<T, ChaseMovementGe
{
public:
ChaseMovementGenerator(Unit* target, Optional<ChaseRange> range = {}, Optional<ChaseAngle> angle = {})
: TargetedMovementGeneratorBase(target), i_leashExtensionTimer(1500), i_path(nullptr), i_recheckDistance(0), i_recalculateTravel(true), _range(range), _angle(angle) {}
: TargetedMovementGeneratorBase(target), i_leashExtensionTimer(5000), i_path(nullptr), i_recheckDistance(0), i_recalculateTravel(true), _range(range), _angle(angle) {}
~ChaseMovementGenerator() { }
MovementGeneratorType GetMovementGeneratorType() { return CHASE_MOTION_TYPE; }
@@ -494,28 +494,33 @@ int32 AuraEffect::CalculateAmount(Unit* caster)
case SPELL_AURA_MOD_STUN:
case SPELL_AURA_MOD_ROOT:
case SPELL_AURA_TRANSFORM:
{
m_canBeRecalculated = false;
if (!m_spellInfo->ProcFlags || m_spellInfo->HasAura(SPELL_AURA_PROC_TRIGGER_SPELL)) // xinef: skip auras with proctriggerspell, they must have procflags...
break;
amount = int32(GetBase()->GetUnitOwner()->CountPctFromMaxHealth(10));
if (caster)
if (!caster)
break;
// not impacted by gear
// not impacted by target level
// not impacted by rank
// asumption - depends on caster level
amount = sObjectMgr->GetCreatureBaseStats(caster->GetLevel(), Classes::CLASS_WARRIOR)->BaseHealth[EXPANSION_WRATH_OF_THE_LICH_KING] / 4.75f;
// Glyphs increasing damage cap
Unit::AuraEffectList const& overrideClassScripts = caster->GetAuraEffectsByType(SPELL_AURA_OVERRIDE_CLASS_SCRIPTS);
for (Unit::AuraEffectList::const_iterator itr = overrideClassScripts.begin(); itr != overrideClassScripts.end(); ++itr)
{
// Glyphs increasing damage cap
Unit::AuraEffectList const& overrideClassScripts = caster->GetAuraEffectsByType(SPELL_AURA_OVERRIDE_CLASS_SCRIPTS);
for (Unit::AuraEffectList::const_iterator itr = overrideClassScripts.begin(); itr != overrideClassScripts.end(); ++itr)
if ((*itr)->IsAffectedOnSpell(m_spellInfo))
{
if ((*itr)->IsAffectedOnSpell(m_spellInfo))
// Glyph of Fear, Glyph of Frost nova and similar auras
if ((*itr)->GetMiscValue() == 7801)
{
// Glyph of Fear, Glyph of Frost nova and similar auras
if ((*itr)->GetMiscValue() == 7801)
{
AddPct(amount, (*itr)->GetAmount());
break;
}
AddPct(amount, (*itr)->GetAmount());
break;
}
}
}
break;
}
case SPELL_AURA_SCHOOL_ABSORB:
case SPELL_AURA_MANA_SHIELD:
m_canBeRecalculated = false;
+1
View File
@@ -551,6 +551,7 @@ public:
bool IsAutoRepeat() const { return m_autoRepeat; }
void SetAutoRepeat(bool rep) { m_autoRepeat = rep; }
void ReSetTimer() { m_timer = m_casttime > 0 ? m_casttime : 0; }
int32 GetCastTimeRemaining() { return m_timer;}
bool IsNextMeleeSwingSpell() const;
bool IsTriggered() const { return HasTriggeredCastFlag(TRIGGERED_FULL_MASK); };
bool HasTriggeredCastFlag(TriggerCastFlags flag) const { return _triggeredCastFlags & flag; };
+2
View File
@@ -184,6 +184,7 @@ enum WorldBoolConfigs
CONFIG_ALLOWS_RANK_MOD_FOR_PET_HEALTH,
CONFIG_MUNCHING_BLIZZLIKE,
CONFIG_ENABLE_DAZE,
CONFIG_SPELL_QUEUE_ENABLED,
BOOL_CONFIG_VALUE_COUNT
};
@@ -420,6 +421,7 @@ enum WorldIntConfigs
CONFIG_WATER_BREATH_TIMER,
CONFIG_AUCTION_HOUSE_SEARCH_TIMEOUT,
CONFIG_DAILY_RBG_MIN_LEVEL_AP_REWARD,
CONFIG_SPELL_QUEUE_WINDOW,
INT_CONFIG_VALUE_COUNT
};
+4
View File
@@ -1488,6 +1488,10 @@ void World::LoadConfigSettings(bool reload)
// Realm Availability
_bool_configs[CONFIG_REALM_LOGIN_ENABLED] = sConfigMgr->GetOption<bool>("World.RealmAvailability", true);
// SpellQueue
_bool_configs[CONFIG_SPELL_QUEUE_ENABLED] = sConfigMgr->GetOption<bool>("SpellQueue.Enabled", true);
_int_configs[CONFIG_SPELL_QUEUE_WINDOW] = sConfigMgr->GetOption<uint32>("SpellQueue.Window", 400);
// call ScriptMgr if we're reloading the configuration
sScriptMgr->OnAfterConfigLoad(reload);
}
@@ -124,7 +124,7 @@ struct boss_nightbane : public BossAI
_triggerCountTakeOffWhileFlying = 0;
_airPhasesCompleted = 0;
me->SetSpeed(MOVE_RUN, me->GetCreatureTemplate()->speed_run);
me->SetSpeed(MOVE_RUN, 2.0f);
me->SetCanFly(true);
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
me->SetReactState(REACT_PASSIVE);
@@ -300,7 +300,6 @@ struct boss_nightbane : public BossAI
{
me->ClearUnitState(UNIT_STATE_IGNORE_PATHFINDING);
me->GetMotionMaster()->MovePoint(POINT_INTRO_LAND, introLandPos);
me->SetSpeed(MOVE_RUN, 2.0f);
}).Schedule(3s, [this](TaskContext /*context*/)
{
me->SetDisableGravity(false);
@@ -83,6 +83,14 @@ struct boss_muru : public BossAI
}, 10min);
}
void JustSummoned(Creature* creature) override
{
if (creature->GetEntry() == NPC_ENTROPIUS)
creature->SetInCombatWithZone();
else
BossAI::JustSummoned(creature);
}
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override
{
if (damage >= me->GetHealth())
@@ -20,6 +20,8 @@
#include "GridNotifiers.h"
#include "GridNotifiersImpl.h"
#include "ScriptedCreature.h"
#include "SpellAuras.h"
#include "SpellAuraEffects.h"
#include "SpellScript.h"
#include "SpellScriptLoader.h"
#include "Weather.h"
@@ -321,9 +323,30 @@ class spell_electrial_storm : public AuraScript
}
};
// 43657 - Electrical Storm
class spell_electrical_storm_proc : public SpellScript
{
PrepareSpellScript(spell_electrical_storm_proc);
void HandleDamageCalc(SpellEffIndex /*effIndex*/)
{
if (Aura* aura = GetCaster()->GetAura(SPELL_ELECTRICAL_STORM))
{
uint8 multiplier = aura->GetEffect(EFFECT_1)->GetTickNumber();
SetHitDamage(GetHitDamage() * multiplier);
}
}
void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_electrical_storm_proc::HandleDamageCalc, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
}
};
void AddSC_boss_akilzon()
{
RegisterZulAmanCreatureAI(boss_akilzon);
RegisterZulAmanCreatureAI(npc_akilzon_eagle);
RegisterSpellScript(spell_electrial_storm);
RegisterSpellScript(spell_electrical_storm_proc);
}
@@ -229,7 +229,13 @@ static PlayerAbilityStruct PlayerAbility[13][3] =
struct boss_hexlord_malacrass : public BossAI
{
boss_hexlord_malacrass(Creature* creature) : BossAI(creature, DATA_HEXLORD) { }
boss_hexlord_malacrass(Creature* creature) : BossAI(creature, DATA_HEXLORD)
{
scheduler.SetValidator([this]
{
return !me->HasUnitState(UNIT_STATE_CASTING);
});
}
void Reset() override
{
@@ -238,19 +244,28 @@ struct boss_hexlord_malacrass : public BossAI
_classAbilityTimer = 10000ms;
SpawnAdds();
ScheduleHealthCheckEvent(80, [&] {
ScheduleTimedEvent(0s, [&] {
ScheduleTimedEvent(1s, [&] {
DoCastSelf(SPELL_DRAIN_POWER, true);
Talk(SAY_DRAIN_POWER);
}, 30s, 30s);
}, 30s);
});
}
void SpawnAdds()
{
for (uint8 i = 0; i < MAX_ADD_COUNT; ++i)
if (_creatureIndex.empty())
{
uint8 flip = urand(0, 1);
me->SummonCreature(AddEntrySets[i][flip], AddPosition[i], TEMPSUMMON_DEAD_DESPAWN, 0);
for (uint8 i = 0; i < MAX_ADD_COUNT; ++i)
{
uint8 flip = urand(0, 1);
me->SummonCreature(AddEntrySets[i][flip], AddPosition[i], TEMPSUMMON_DEAD_DESPAWN, 0);
_creatureIndex.push_back(flip);
}
}
else
{
for (uint8 i = 0; i < MAX_ADD_COUNT; ++i)
me->SummonCreature(AddEntrySets[i][_creatureIndex[i]], AddPosition[i], TEMPSUMMON_DEAD_DESPAWN, 0);
}
}
@@ -339,6 +354,7 @@ struct boss_hexlord_malacrass : public BossAI
private:
uint8 _currentClass;
std::chrono::milliseconds _classAbilityTimer;
std::vector<uint8> _creatureIndex;
};
struct boss_alyson_antille : public ScriptedAI
@@ -15,6 +15,7 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "CreatureGroups.h"
#include "CreatureScript.h"
#include "Player.h"
#include "ScriptedCreature.h"
@@ -144,6 +145,9 @@ struct boss_zuljin : public BossAI
me->SetCombatMovement(true);
me->m_Events.KillAllEvents(false);
_nextPhase = 0;
if (CreatureGroup* formation = me->GetFormation())
formation->RespawnFormation(true);
}
void JustEngagedWith(Unit* /*who*/) override
@@ -198,10 +202,16 @@ struct boss_zuljin : public BossAI
me->ResumeChasingVictim();
ScheduleTimedEvent(5s, [&] {
DoCastRandomTarget(SPELL_CLAW_RAGE_CHARGE);
if (me->HasAura(SPELL_LYNX_RUSH_HASTE))
return;
DoCastRandomTarget(SPELL_CLAW_RAGE_CHARGE, 1);
}, 15s, 20s);
ScheduleTimedEvent(14s, [&] {
if (me->HasAura(SPELL_CLAW_RAGE_AURA))
return;
DoCastSelf(SPELL_LYNX_RUSH_HASTE);
for (int8 count = 0; count <= 8; ++count)
@@ -233,6 +243,21 @@ struct boss_zuljin : public BossAI
});
}
void EnterEvadeMode(EvadeReason /*why*/) override
{
if (CreatureGroup* formation = me->GetFormation())
{
for (auto const& itr : formation->GetMembers())
{
if (itr.first && itr.first != me)
itr.first->DespawnOnEvade(2min);
}
}
me->DespawnOnEvade(2min);
_EnterEvadeMode();
}
void SpellHitTarget(Unit* target, SpellInfo const* spellInfo) override
{
if (spellInfo->Id == SPELL_CLAW_RAGE_CHARGE && target != me)
@@ -53,7 +53,6 @@ DoorData const doorData[] =
{ GO_DOOR_HALAZZI, DATA_HALAZZI, DOOR_TYPE_PASSAGE },
{ GO_LYNX_TEMPLE_ENTRANCE, DATA_HALAZZI, DOOR_TYPE_ROOM },
{ GO_DOOR_AKILZON, DATA_AKILZON, DOOR_TYPE_ROOM },
{ GO_GATE_ZULJIN, DATA_HEXLORD, DOOR_TYPE_PASSAGE },
{ 0, 0, DOOR_TYPE_ROOM } // END
};
@@ -71,6 +70,7 @@ ObjectData const gameObjectData[] =
{ GO_STRANGE_GONG, DATA_STRANGE_GONG },
{ GO_MASSIVE_GATE, DATA_MASSIVE_GATE },
{ GO_GATE_HEXLORD, DATA_HEXLORD_GATE },
{ GO_GATE_ZULJIN, DATA_ZULJIN_GATE },
{ 0, 0 }
};
@@ -290,6 +290,11 @@ public:
HandleGameObject(ObjectGuid::Empty, false, GetGameObject(DATA_HEXLORD_GATE));
else if (state == NOT_STARTED)
CheckInstanceStatus();
else if (state == DONE)
{
if (GameObject* zuljinGate = GetGameObject(DATA_ZULJIN_GATE))
zuljinGate->RemoveGameObjectFlag(GO_FLAG_LOCKED);
}
break;
}
@@ -41,6 +41,7 @@ enum DataTypes
DATA_HARRISON_JONES = 13,
TYPE_AKILZON_GAUNTLET = 14,
DATA_LOOKOUT = 15,
DATA_ZULJIN_GATE = 16
};
enum CreatureIds
@@ -28,6 +28,7 @@
enum MountSpells
{
SPELL_LANCE_EQUIPPED = 62853,
SPELL_PLAYER_VEHICLE_DEFEND = 66482,
SPELL_MINIONS_DEFEND = 64100,
SPELL_BOSS_DEFEND = 62719,
@@ -152,16 +153,9 @@ public:
return GetTrialOfTheChampionAI<npc_toc5_player_vehicleAI>(pCreature);
}
struct npc_toc5_player_vehicleAI : public NullCreatureAI
struct npc_toc5_player_vehicleAI : public VehicleAI
{
npc_toc5_player_vehicleAI(Creature* pCreature) : NullCreatureAI(pCreature)
{
conditions = sConditionMgr->GetConditionsForNotGroupedEntry(CONDITION_SOURCE_TYPE_CREATURE_TEMPLATE_VEHICLE, me->GetEntry());
m_ConditionsTimer = 1000;
}
ConditionList conditions;
uint16 m_ConditionsTimer;
npc_toc5_player_vehicleAI(Creature* creature) : VehicleAI(creature) { }
void Reset() override
{
@@ -203,23 +197,25 @@ public:
}
}
//void EnterEvadeMode() { CreatureAI::EnterEvadeMode(); }
void MoveInLineOfSight(Unit* /*who*/) override {}
void UpdateAI(uint32 diff) override
bool BeforeSpellClick(Unit* clicker) override
{
if (m_ConditionsTimer <= diff)
{
if (!conditions.empty())
if (Unit* passenger = me->GetVehicleKit()->GetPassenger(0))
if (!sConditionMgr->IsObjectMeetToConditions(passenger, me, conditions))
passenger->ExitVehicle();
m_ConditionsTimer = VEHICLE_CONDITION_CHECK_TIME;
}
else
m_ConditionsTimer -= diff;
if (!clicker->IsPlayer())
return true;
if (clicker->IsInDisallowedMountForm())
clicker->RemoveAurasByType(SPELL_AURA_MOD_SHAPESHIFT);
if (clicker->HasAura(SPELL_LANCE_EQUIPPED))
return true;
WorldPacket data(SMSG_CAST_FAILED, 1 + 4 + 1);
data << uint8(0); // single cast or multi 2.3 (0/1)
data << uint32(VEHICLE_SPELL_RIDE_HARDCODED);
data << uint8(SPELL_FAILED_CUSTOM_ERROR);
data << uint32(SPELL_CUSTOM_ERROR_MUST_HAVE_LANCE_EQUIPPED);
clicker->ToPlayer()->GetSession()->SendPacket(&data);
return false;
}
void AttackStart(Unit* /*who*/) override {}
void JustEngagedWith(Unit* /*who*/) override {}
};
};
@@ -912,7 +912,7 @@ public:
npc_vengeful_shadeAI(Creature* creature) : ScriptedAI(creature)
{
me->SetControlled(true, UNIT_STATE_ROOT);
unroot_timer = 500;
unroot_timer = 2000;
targetGUID.Clear();
}