mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-29 08:33:47 +00:00
Merge branch 'azerothcore:master' into Playerbot
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "azerothcore-wotlk",
|
||||
"version": "7.0.0-dev.0",
|
||||
"version": "7.0.0-dev.1",
|
||||
"license": "AGPL3"
|
||||
}
|
||||
|
||||
12
data/sql/updates/db_auth/2023_02_20_00.sql
Normal file
12
data/sql/updates/db_auth/2023_02_20_00.sql
Normal file
@@ -0,0 +1,12 @@
|
||||
-- DB update 2023_01_31_00 -> 2023_02_20_00
|
||||
--
|
||||
DROP TABLE IF EXISTS `motd`;
|
||||
CREATE TABLE `motd` (
|
||||
`realmid` INT NOT NULL,
|
||||
`text` LONGTEXT NULL DEFAULT NULL,
|
||||
PRIMARY KEY (`realmid`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
DELETE FROM `motd` WHERE `realmid`=1;
|
||||
INSERT INTO `motd` (`realmid`, `text`) VALUES
|
||||
(-1, 'Welcome to an AzerothCore server.');
|
||||
50
data/sql/updates/db_world/2023_02_18_00.sql
Normal file
50
data/sql/updates/db_world/2023_02_18_00.sql
Normal file
@@ -0,0 +1,50 @@
|
||||
-- DB update 2023_02_17_12 -> 2023_02_18_00
|
||||
--
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=18956 AND `source_type`=0;
|
||||
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `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
|
||||
(18956, 0, 0, 2, 62, 0, 100, 1, 7868, 0, 0, 0, 0, 80, 1895600, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Lakka - On Gossip Option 0 Selected - Run Script (No Repeat)'),
|
||||
(18956, 0, 1, 0, 40, 0, 100, 0, 9, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Lakka - On Waypoint 9 Reached - Despawn (0)'),
|
||||
(18956, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Lakka - On Link - Close Gossip');
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid`=1895600 AND `source_type`=9;
|
||||
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `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
|
||||
(1895600, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 33, 18956, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 'Lakka - On Script - Quest Credit \'Brother Against Brother\''),
|
||||
(1895600, 9, 1, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Lakka - On Script - Say Line 0'),
|
||||
(1895600, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 83, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Lakka - On Script - Remove NPC Flag Gossip'),
|
||||
(1895600, 9, 3, 0, 0, 0, 100, 0, 1500, 1500, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 20, 183051, 5, 0, 0, 0, 0, 0, 0, 'Lakka - On Script - Activate Closest Gameobject \'Sethekk Cage\''),
|
||||
(1895600, 9, 4, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 0, 53, 0, 1895600, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Lakka - On Script - Start Waypoint');
|
||||
|
||||
DELETE FROM `waypoints` WHERE `entry`=1895600 AND `point_comment`='Lakka';
|
||||
INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `point_comment`) VALUES
|
||||
(1895600, 1, -156.811, 159.9, 0.552411, NULL, 0, 'Lakka'),
|
||||
(1895600, 2, -152.811, 162.15, 0.552411, NULL, 0, 'Lakka'),
|
||||
(1895600, 3, -148.561, 163.65, 0.552411, NULL, 0, 'Lakka'),
|
||||
(1895600, 4, -141.811, 164.9, 0.552411, NULL, 0, 'Lakka'),
|
||||
(1895600, 5, -136.061, 167.4, 0.552411, NULL, 0, 'Lakka'),
|
||||
(1895600, 6, -129.811, 171.4, 0.552411, NULL, 0, 'Lakka'),
|
||||
(1895600, 7, -118.061, 173.9, 0.552411, NULL, 0, 'Lakka'),
|
||||
(1895600, 8, -99.0612, 173.4, 0.302411, NULL, 0, 'Lakka'),
|
||||
(1895600, 9, -79.8091, 172.757, 0.010726, NULL, 0, 'Lakka');
|
||||
|
||||
DELETE FROM `gossip_menu` WHERE `MenuID`=7868;
|
||||
INSERT INTO `gossip_menu` (`MenuID`, `TextID`) VALUES
|
||||
(7868, 9635),
|
||||
(7868, 9636);
|
||||
|
||||
DELETE FROM `gossip_menu_option` WHERE `MenuID`=7868;
|
||||
INSERT INTO `gossip_menu_option` (`MenuID`, `OptionID`, `OptionIcon`, `OptionText`, `OptionBroadcastTextID`, `OptionType`, `OptionNpcFlag`, `ActionMenuID`, `ActionPoiID`, `BoxCoded`, `BoxMoney`, `BoxText`, `BoxBroadcastTextID`) VALUES
|
||||
(7868, 0, 0, 'I\'ll have you out of there in just a moment.', 16054, 1, 1, 0, 0, 0, 0, '', 0);
|
||||
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14, 15) AND `SourceGroup`=7868;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(14, 7868, 9635, 0, 0, 29, 1, 18472, 20, 0, 0, 0, 0, '', 'Gossip text requires boss Darkweaver Sith NOT defeated'),
|
||||
(14, 7868, 9636, 0, 0, 29, 1, 18472, 20, 1, 0, 0, 0, '', 'Gossip text requires boss Darkweaver Sith defeated'),
|
||||
(15, 7868, 0, 0, 0, 29, 1, 18472, 20, 1, 0, 0, 0, '', 'Gossip option requires boss Darkweaver Sith defeated');
|
||||
|
||||
DELETE FROM `npc_text` WHERE `ID`=9635;
|
||||
INSERT INTO `npc_text` (`ID`, `text0_0`) VALUES
|
||||
(9635,'Please, $r, get me out of here! Unlocking the cage will surely attract my brother\'s attention. Kill Darkweaver Syth!');
|
||||
|
||||
DELETE FROM `gameobject_template_addon` WHERE `entry`=183051;
|
||||
INSERT INTO `gameobject_template_addon` VALUES
|
||||
(183051,112,32,0,0,0,0,0,0);
|
||||
118
data/sql/updates/db_world/2023_02_18_01.sql
Normal file
118
data/sql/updates/db_world/2023_02_18_01.sql
Normal file
@@ -0,0 +1,118 @@
|
||||
-- DB update 2023_02_18_00 -> 2023_02_18_01
|
||||
--
|
||||
DELETE from `creature` where `guid`=77831 AND `id1`=22060;
|
||||
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`) VALUES
|
||||
(77831, 22060, 0, 0, 530, 0, 0, 1, 1, 1, -2024.52, -10786.1, 81.9137, 0.664982, 3600, 0, 0, 0, 0, 2, 0, 0, 0, '', 0);
|
||||
|
||||
UPDATE `creature_template_addon` SET `bytes1` = 0 WHERE (`entry` = 22060);
|
||||
|
||||
-- Pathing for Entry: 22060
|
||||
SET @NPC := 77831;
|
||||
SET @CPATH := @NPC * 10;
|
||||
UPDATE `creature` SET `wander_distance`=0,`MovementType`=2,`position_x`=-1970.9095,`position_y`=-10545.881,`position_z`=176.9451 WHERE `guid`=@NPC;
|
||||
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
|
||||
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`visibilityDistanceType`,`auras`) VALUES (@NPC,@CPATH,0,0,1,0,0, '34189');
|
||||
DELETE FROM `waypoint_data` WHERE `id`=@CPATH;
|
||||
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
|
||||
(@CPATH,1,-1970.9095,-10545.881,176.9451,0,0,0,0,100,0),
|
||||
(@CPATH,2,-1940.0586,-10560.943,177.81454,0,0,0,0,100,0),
|
||||
(@CPATH,3,-1946.3624,-10587.011,172.94002,0,0,0,0,100,0),
|
||||
(@CPATH,4,-1961.7201,-10607.221,165.48112,0,0,0,0,100,0),
|
||||
(@CPATH,5,-1988.8058,-10612.373,162.95183,0,0,0,0,100,0),
|
||||
(@CPATH,6,-2013.801,-10602.308,154.4991,0,0,0,0,100,0),
|
||||
(@CPATH,7,-2038.0187,-10619.16,146.1079,0,0,0,0,100,0),
|
||||
(@CPATH,8,-2037.1124,-10638.802,140.50319,0,0,0,0,100,0),
|
||||
(@CPATH,9,-2012.5981,-10662.126,122.97834,0,0,0,0,100,0),
|
||||
(@CPATH,10,-1976.1384,-10684.696,112.91368,0,0,0,0,100,0),
|
||||
(@CPATH,11,-1947.3251,-10695.539,110.90299,0,0,0,0,100,0),
|
||||
(@CPATH,12,-1908.1012,-10710.498,111.27751,0,0,0,0,100,0),
|
||||
(@CPATH,13,-1875.1051,-10702.744,111.70239,0,0,0,0,100,0),
|
||||
(@CPATH,14,-1855.2137,-10689.97,112.97398,0,0,0,0,100,0),
|
||||
(@CPATH,15,-1824.9171,-10668.398,136.08665,0,0,0,0,100,0),
|
||||
(@CPATH,16,-1819.2031,-10647.129,144.38739,0,0,0,0,100,0),
|
||||
(@CPATH,17,-1812.0326,-10612.489,148.245,0,0,0,0,100,0),
|
||||
(@CPATH,18,-1833.3806,-10588.412,157.1347,0,0,0,0,100,0),
|
||||
(@CPATH,19,-1867.1841,-10566.302,174.33784,0,0,0,0,100,0),
|
||||
(@CPATH,20,-1877.4294,-10545.098,177.00142,0,1200,0,0,100,0),
|
||||
(@CPATH,21,-1867.1841,-10566.302,174.33784,0,0,0,0,100,0),
|
||||
(@CPATH,22,-1833.3806,-10588.412,157.1347,0,0,0,0,100,0),
|
||||
(@CPATH,23,-1812.0326,-10612.489,148.245,0,0,0,0,100,0),
|
||||
(@CPATH,24,-1819.2179,-10647.147,144.46405,0,0,0,0,100,0),
|
||||
(@CPATH,25,-1824.9171,-10668.398,136.08665,0,0,0,0,100,0),
|
||||
(@CPATH,26,-1855.2137,-10689.97,112.97398,0,0,0,0,100,0),
|
||||
(@CPATH,27,-1875.1051,-10702.744,111.70239,0,0,0,0,100,0),
|
||||
(@CPATH,28,-1908.1012,-10710.498,111.27751,0,0,0,0,100,0),
|
||||
(@CPATH,29,-1947.3251,-10695.539,110.90299,0,0,0,0,100,0),
|
||||
(@CPATH,30,-1976.1384,-10684.696,112.91368,0,0,0,0,100,0),
|
||||
(@CPATH,31,-2012.5981,-10662.126,122.97834,0,0,0,0,100,0),
|
||||
(@CPATH,32,-2037.1124,-10638.802,140.50319,0,0,0,0,100,0),
|
||||
(@CPATH,33,-2038.0187,-10619.16,146.1079,0,0,0,0,100,0),
|
||||
(@CPATH,34,-2013.801,-10602.308,154.4991,0,0,0,0,100,0),
|
||||
(@CPATH,35,-1988.8058,-10612.373,162.95183,0,0,0,0,100,0),
|
||||
(@CPATH,36,-1961.7201,-10607.221,165.48112,0,0,0,0,100,0),
|
||||
(@CPATH,37,-1946.3624,-10587.011,172.94002,0,0,0,0,100,0),
|
||||
(@CPATH,38,-1940.0586,-10560.943,177.81454,0,0,0,0,100,0);
|
||||
-- 0x204CB04240158B0000003E0000187A4E .go xyz -1970.9095 -10545.881 176.9451
|
||||
|
||||
-- Pathing for Entry: 22060
|
||||
SET @NPC := 77280;
|
||||
SET @CPATH := @NPC * 10;
|
||||
UPDATE `creature` SET `wander_distance`=0,`MovementType`=2,`position_x`=-2062.9329,`position_y`=-10801.382,`position_z`=69.16798 WHERE `guid`=@NPC;
|
||||
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
|
||||
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`visibilityDistanceType`,`auras`) VALUES (@NPC,@CPATH,0,0,1,0,0, '34189');
|
||||
DELETE FROM `waypoint_data` WHERE `id`=@CPATH;
|
||||
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
|
||||
(@CPATH,1,-2062.9329,-10801.382,69.16798,0,0,0,0,100,0),
|
||||
(@CPATH,2,-2032.4478,-10792.326,79.548546,0,0,0,0,100,0),
|
||||
(@CPATH,3,-2011.9824,-10776.279,85.89645,0,0,0,0,100,0),
|
||||
(@CPATH,4,-1988.4141,-10782.808,89.01292,0,0,0,0,100,0),
|
||||
(@CPATH,5,-1956.8325,-10795.888,88.076256,0,0,0,0,100,0),
|
||||
(@CPATH,6,-1941.5137,-10813.049,83.2548,0,0,0,0,100,0),
|
||||
(@CPATH,7,-1942.2377,-10845.413,71.92745,0,0,0,0,100,0),
|
||||
(@CPATH,8,-1928.1111,-10873.158,65.57274,0,0,0,0,100,0),
|
||||
(@CPATH,9,-1907.5723,-10881.021,64.005844,0,0,0,0,100,0),
|
||||
(@CPATH,10,-1882.5653,-10890.086,67.090805,0,0,0,0,100,0),
|
||||
(@CPATH,11,-1869.1376,-10890.733,66.91844,0,0,0,0,100,0),
|
||||
(@CPATH,12,-1863.5938,-10877.981,66.82205,0,0,0,0,100,0),
|
||||
(@CPATH,13,-1857.8864,-10870.527,66.82205,0,0,0,0,100,0),
|
||||
(@CPATH,14,-1864.6426,-10848.86,66.77268,0,1200,0,0,100,0),
|
||||
(@CPATH,15,-1857.8864,-10870.527,66.82205,0,0,0,0,100,0),
|
||||
(@CPATH,16,-1863.5938,-10877.981,66.82205,0,0,0,0,100,0),
|
||||
(@CPATH,17,-1869.1376,-10890.733,66.91844,0,0,0,0,100,0),
|
||||
(@CPATH,18,-1882.5653,-10890.086,67.090805,0,0,0,0,100,0),
|
||||
(@CPATH,19,-1907.4796,-10881.057,64.12523,0,0,0,0,100,0),
|
||||
(@CPATH,20,-1928.1111,-10873.158,65.57274,0,0,0,0,100,0),
|
||||
(@CPATH,21,-1941.4618,-10813.143,83.373695,0,0,0,0,100,0),
|
||||
(@CPATH,22,-1956.7793,-10795.982,88.01302,0,0,0,0,100,0),
|
||||
(@CPATH,23,-1988.4141,-10782.808,89.01292,0,0,0,0,100,0),
|
||||
(@CPATH,24,-2011.9735,-10776.271,85.738,0,0,0,0,100,0),
|
||||
(@CPATH,25,-2032.4478,-10792.326,79.548546,0,0,0,0,100,0),
|
||||
(@CPATH,26,-2062.9329,-10801.382,69.16798,0,0,0,0,100,0),
|
||||
(@CPATH,27,-2090.1667,-10768.454,68.06485,0,1200,0,0,100,0);
|
||||
-- 0x204CB04240158B0000003E00001879BC .go xyz -2062.9329 -10801.382 69.16798
|
||||
|
||||
-- Pathing for Entry: 22060 Cryo Core
|
||||
SET @NPC := 77281;
|
||||
SET @CPATH := @NPC * 10;
|
||||
UPDATE `creature` SET `wander_distance`=0,`MovementType`=2,`position_x`=-2070.419,`position_y`=-11257.795,`position_z`=68.73054 WHERE `guid`=@NPC;
|
||||
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
|
||||
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`visibilityDistanceType`,`auras`) VALUES (@NPC,@CPATH,0,0,1,0,0, '34189');
|
||||
DELETE FROM `waypoint_data` WHERE `id`=@CPATH;
|
||||
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
|
||||
(@CPATH,1,-2070.419,-11257.795,68.73054,0,0,0,0,100,0),
|
||||
(@CPATH,2,-2103.6235,-11253.354,67.19258,0,0,0,0,100,0),
|
||||
(@CPATH,3,-2134.2869,-11264.738,67.698784,0,0,0,0,100,0),
|
||||
(@CPATH,4,-2140.428,-11280.03,65.155426,0,0,0,0,100,0),
|
||||
(@CPATH,5,-2138.178,-11312.154,62.253426,0,0,0,0,100,0),
|
||||
(@CPATH,6,-2136.1165,-11343.568,62.17387,0,0,0,0,100,0),
|
||||
(@CPATH,7,-2126.4175,-11372.446,64.164536,0,0,0,0,100,0),
|
||||
(@CPATH,8,-2098.3645,-11381.112,63.737923,0,0,0,0,100,0),
|
||||
(@CPATH,9,-2076.6472,-11386.729,63.017952,0,0,0,0,100,0),
|
||||
(@CPATH,10,-2055.42,-11392.572,61.29661,0,0,0,0,100,0),
|
||||
(@CPATH,11,-2030.3889,-11375.75,63.414944,0,0,0,0,100,0),
|
||||
(@CPATH,12,-2022.589,-11355.197,64.74541,0,0,0,0,100,0),
|
||||
(@CPATH,13,-2019.8142,-11323.221,65.71863,0,0,0,0,100,0),
|
||||
(@CPATH,14,-2031.3025,-11303.861,67.92053,0,0,0,0,100,0),
|
||||
(@CPATH,15,-2026.8136,-11290.435,69.10076,0,0,0,0,100,0),
|
||||
(@CPATH,16,-2026.6367,-11276.236,68.70916,0,0,0,0,100,0),
|
||||
(@CPATH,17,-2042.9447,-11261.928,68.52818,0,0,0,0,100,0);
|
||||
329
data/sql/updates/db_world/2023_02_18_02.sql
Normal file
329
data/sql/updates/db_world/2023_02_18_02.sql
Normal file
@@ -0,0 +1,329 @@
|
||||
-- DB update 2023_02_18_01 -> 2023_02_18_02
|
||||
-- Chief Engineer Lorthander
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 18697);
|
||||
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`, `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
|
||||
(18697, 0, 0, 0, 2, 0, 100, 1, 0, 15, 0, 0, 0, 25, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Chief Engineer Lorthander - Between 0-15% Health - Flee For Assist (No Repeat)'),
|
||||
(18697, 0, 1, 0, 0, 0, 100, 0, 8000, 14000, 12000, 15000, 0, 11, 38898, 64, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Chief Engineer Lorthander - In Combat - Cast \'Arcane Unlocking\''),
|
||||
(18697, 0, 2, 0, 0, 0, 100, 0, 15000, 21000, 15000, 21000, 0, 11, 36843, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Chief Engineer Lorthander - In Combat - Cast \'Slow\''),
|
||||
(18697, 0, 3, 0, 0, 0, 100, 0, 0, 0, 3400, 4800, 0, 11, 38204, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Chief Engineer Lorthander - In Combat - Cast \'Arcane Bolt\'');
|
||||
|
||||
-- Ever-Core comments
|
||||
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 18698) AND (`source_type` = 0) AND (`id` IN (1, 2));
|
||||
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`, `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
|
||||
(18698, 0, 1, 0, 0, 0, 100, 0, 4000, 8000, 18000, 22000, 0, 11, 35892, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Ever-Core the Punisher - In Combat - Cast \'Suppression\''),
|
||||
(18698, 0, 2, 0, 9, 0, 100, 0, 0, 8, 19000, 23000, 0, 11, 33860, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Ever-Core the Punisher - Within 0-8 Range - Cast \'Arcane Explosion\'');
|
||||
|
||||
-- Nuramoc
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 20932);
|
||||
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`, `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
|
||||
(20932, 0, 0, 0, 4, 0, 100, 0, 0, 0, 0, 0, 0, 11, 38905, 64, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Nuramoc - On Aggro - Cast \'Prismatic Shield\''),
|
||||
(20932, 0, 1, 0, 0, 0, 100, 0, 2000, 3000, 4000, 7000, 0, 11, 21971, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Nuramoc - In Combat - Cast \'Poison Bolt\''),
|
||||
(20932, 0, 2, 0, 0, 0, 100, 0, 0, 0, 2000, 5000, 0, 11, 15797, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Nuramoc - In Combat - Cast \'Lightning Breath\'');
|
||||
|
||||
-- Spawns
|
||||
SET @CGUID := 24935;
|
||||
|
||||
DELETE FROM `creature` WHERE `id1` IN (18697, 18698, 20932);
|
||||
INSERT INTO `creature` (`guid`, `id1`, `map`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `MovementType`) VALUES
|
||||
-- Chief Engineer Lorthander
|
||||
(@CGUID+0, 18697, 530, 1, 4081.08, 4001.03, 119.01, 4.57457, 75600, 2),
|
||||
(@CGUID+1, 18697, 530, 1, 2412.86, 2894.41, 131.323, 3.35328, 93600, 2),
|
||||
(@CGUID+2, 18697, 530, 1, 3000.46, 2187.57, 164.398, 5.2995, 115200, 2),
|
||||
-- Ever-Core
|
||||
(@CGUID+3, 18698, 530, 0, 4029.03, 4134.35, 191.496, 4.54011, 86400, 2),
|
||||
(@CGUID+4, 18698, 530, 0, 2943.06, 4351.28, 142.359, 0.000215, 104400, 2),
|
||||
(@CGUID+5, 18698, 530, 0, 3706.06, 2078.25, 151.867, 1.03066, 115200, 2),
|
||||
-- Nuramoc
|
||||
(@CGUID+6, 20932, 530, 0, 3280.81, 1907.83, 133.229, 1.89858, 28800, 2),
|
||||
(@CGUID+7, 20932, 530, 0, 2817.23, 2929.54, 130.138, 2.32736, 39600, 2),
|
||||
(@CGUID+8, 20932, 530, 0, 4788.54, 3503.49, 119.851, 3.12453, 50400, 2);
|
||||
|
||||
DELETE FROM `creature_addon` WHERE (`guid` IN (@CGUID+0,@CGUID+1,@CGUID+2,@CGUID+3,@CGUID+4,@CGUID+5,@CGUID+6,@CGUID+7,@CGUID+8,86860));
|
||||
INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `visibilityDistanceType`, `auras`) VALUES
|
||||
(@CGUID+0, (@CGUID+0)*10, 0, 0, 1, 0, 0, ''),
|
||||
(@CGUID+1, (@CGUID+1)*10, 0, 0, 1, 0, 0, ''),
|
||||
(@CGUID+2, (@CGUID+2)*10, 0, 0, 1, 0, 0, ''),
|
||||
(@CGUID+3, (@CGUID+3)*10, 0, 0, 1, 0, 0, ''),
|
||||
(@CGUID+4, (@CGUID+4)*10, 0, 0, 1, 0, 0, ''),
|
||||
(@CGUID+5, (@CGUID+5)*10, 0, 0, 1, 0, 0, ''),
|
||||
(@CGUID+6, (@CGUID+6)*10, 0, 0, 1, 0, 0, ''),
|
||||
(@CGUID+7, (@CGUID+7)*10, 0, 0, 1, 0, 0, ''),
|
||||
(@CGUID+8, (@CGUID+8)*10, 0, 0, 1, 0, 0, '');
|
||||
|
||||
DELETE FROM `waypoint_data` WHERE `id` IN ((@CGUID+0)*10,(@CGUID+1)*10,(@CGUID+2)*10,(@CGUID+3)*10,(@CGUID+4)*10,(@CGUID+5)*10,(@CGUID+6)*10,(@CGUID+7)*10,(@CGUID+8)*10,868600);
|
||||
INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`) VALUES
|
||||
-- Chief Engineer Lorthander
|
||||
((@CGUID+0)*10, 1, 4081.08, 4001.03, 119.01),
|
||||
((@CGUID+0)*10, 2, 4087.54, 4006.7, 117.744),
|
||||
((@CGUID+0)*10, 3, 4097.75, 4003.55, 116.437),
|
||||
((@CGUID+0)*10, 4, 4107.33, 3987.76, 118.036),
|
||||
((@CGUID+0)*10, 5, 4074.27, 3980.02, 118.22),
|
||||
((@CGUID+0)*10, 6, 4079.4, 3988.14, 118.289),
|
||||
((@CGUID+1)*10, 1, 2412.86, 2894.41, 131.323),
|
||||
((@CGUID+1)*10, 2, 2435.58, 2900.06, 130.183),
|
||||
((@CGUID+1)*10, 3, 2463.95, 2909.32, 128.59),
|
||||
((@CGUID+1)*10, 4, 2477.04, 2917.6, 128.541),
|
||||
((@CGUID+1)*10, 5, 2484.46, 2904.05, 130.643),
|
||||
((@CGUID+1)*10, 6, 2488, 2892.2, 132.342),
|
||||
((@CGUID+1)*10, 7, 2484.72, 2881.2, 133.059),
|
||||
((@CGUID+1)*10, 8, 2450.92, 2852.48, 131.622),
|
||||
((@CGUID+1)*10, 9, 2424.88, 2797.83, 134.493),
|
||||
((@CGUID+1)*10, 10, 2426.77, 2750.39, 133.243),
|
||||
((@CGUID+1)*10, 11, 2426.77, 2750.39, 133.243),
|
||||
((@CGUID+1)*10, 12, 2368, 2673.64, 132.39),
|
||||
((@CGUID+1)*10, 13, 2443.76, 2745.36, 134.493),
|
||||
((@CGUID+1)*10, 14, 2423.25, 2797.12, 134.491),
|
||||
((@CGUID+1)*10, 15, 2448.63, 2849.79, 132.632),
|
||||
((@CGUID+1)*10, 16, 2486.16, 2882.9, 133.075),
|
||||
((@CGUID+1)*10, 17, 2484.64, 2905.67, 130.354),
|
||||
((@CGUID+1)*10, 18, 2489.72, 2915.52, 128.954),
|
||||
((@CGUID+1)*10, 19, 2476.47, 2917.2, 128.513),
|
||||
((@CGUID+1)*10, 20, 2447.81, 2900.57, 129.188),
|
||||
((@CGUID+2)*10, 1, 3000.46, 2187.57, 164.398),
|
||||
((@CGUID+2)*10, 2, 3018.52, 2186.65, 165.329),
|
||||
((@CGUID+2)*10, 3, 3076.56, 2210.99, 160.886),
|
||||
((@CGUID+2)*10, 4, 3103.56, 2222.24, 155.355),
|
||||
((@CGUID+2)*10, 5, 3124.82, 2243.5, 150.057),
|
||||
((@CGUID+2)*10, 6, 3117.8, 2253.66, 149.953),
|
||||
((@CGUID+2)*10, 7, 3096.61, 2268.98, 150.102),
|
||||
((@CGUID+2)*10, 8, 3083.4, 2290.85, 150.485),
|
||||
((@CGUID+2)*10, 9, 3054.61, 2284.5, 151.691),
|
||||
((@CGUID+2)*10, 10, 3021.72, 2284.59, 158.405),
|
||||
((@CGUID+2)*10, 11, 3009.22, 2292.73, 161.266),
|
||||
((@CGUID+2)*10, 12, 2983.65, 2288.22, 161.706),
|
||||
((@CGUID+2)*10, 13, 2956.54, 2284.38, 161.727),
|
||||
((@CGUID+2)*10, 14, 2941.33, 2263.89, 161.708),
|
||||
((@CGUID+2)*10, 15, 2966.96, 2206.15, 165.329),
|
||||
-- Ever-Core
|
||||
((@CGUID+3)*10, 1, 4029.03, 4134.35, 191.496),
|
||||
((@CGUID+3)*10, 2, 4021.06, 4144.61, 191.502),
|
||||
((@CGUID+3)*10, 3, 4007.77, 4151.29, 191.586),
|
||||
((@CGUID+3)*10, 4, 3991.62, 4152.59, 191.401),
|
||||
((@CGUID+3)*10, 5, 3966.21, 4145.5, 191.295),
|
||||
((@CGUID+3)*10, 6, 3937.03, 4122.04, 192.695),
|
||||
((@CGUID+3)*10, 7, 3924.13, 4093.4, 191.789),
|
||||
((@CGUID+3)*10, 8, 3911.34, 4060.71, 187.287),
|
||||
((@CGUID+3)*10, 9, 3880.16, 4036.23, 183.365),
|
||||
((@CGUID+3)*10, 10, 3879.16, 4023.95, 183.11),
|
||||
((@CGUID+3)*10, 11, 3890.49, 4005.85, 183.428),
|
||||
((@CGUID+3)*10, 12, 3874, 3968.38, 183.774),
|
||||
((@CGUID+3)*10, 13, 3873.48, 3953.19, 182.426),
|
||||
((@CGUID+3)*10, 14, 3884.47, 3936.53, 179.405),
|
||||
((@CGUID+3)*10, 15, 3915.08, 3918.04, 176.204),
|
||||
((@CGUID+3)*10, 16, 3952.32, 3889.77, 174.977),
|
||||
((@CGUID+3)*10, 17, 3965.74, 3872.72, 171.607),
|
||||
((@CGUID+3)*10, 18, 3972.39, 3852.88, 166.197),
|
||||
((@CGUID+3)*10, 19, 3969.66, 3840.88, 162.264),
|
||||
((@CGUID+3)*10, 20, 3961.25, 3833.68, 158.329),
|
||||
((@CGUID+3)*10, 21, 3908.53, 3834.6, 129.743),
|
||||
((@CGUID+3)*10, 22, 3898.06, 3828.14, 123.788),
|
||||
((@CGUID+3)*10, 23, 3898.27, 3787.49, 118.457),
|
||||
((@CGUID+3)*10, 24, 3881.31, 3790.1, 116.619),
|
||||
((@CGUID+3)*10, 25, 3865.28, 3804.66, 111.946),
|
||||
((@CGUID+3)*10, 26, 3853.11, 3824.74, 106.821),
|
||||
((@CGUID+3)*10, 27, 3847.02, 3830.68, 105.424),
|
||||
((@CGUID+3)*10, 28, 3830.93, 3836.43, 103.431),
|
||||
((@CGUID+3)*10, 29, 3817.24, 3851.85, 103.623),
|
||||
((@CGUID+3)*10, 30, 3807.24, 3877.86, 105.557),
|
||||
((@CGUID+3)*10, 31, 3792.14, 3888.13, 106.755),
|
||||
((@CGUID+3)*10, 32, 3790.1, 3912.19, 109.532),
|
||||
((@CGUID+3)*10, 33, 3798.19, 3938.67, 112.965),
|
||||
((@CGUID+3)*10, 34, 3789.57, 3968.79, 114.346),
|
||||
((@CGUID+3)*10, 35, 3790.27, 3993.03, 116.942),
|
||||
((@CGUID+3)*10, 36, 3801.81, 4011.81, 121.598),
|
||||
((@CGUID+4)*10, 1, 2943.06, 4351.28, 142.359),
|
||||
((@CGUID+4)*10, 2, 2976.56, 4326.1, 146.657),
|
||||
((@CGUID+4)*10, 3, 2984.38, 4318.63, 140.43),
|
||||
((@CGUID+4)*10, 4, 3003.09, 4297.83, 144.609),
|
||||
((@CGUID+4)*10, 5, 2997.3, 4273.92, 155.499),
|
||||
((@CGUID+4)*10, 6, 2992.4, 4259.44, 159.899),
|
||||
((@CGUID+4)*10, 7, 3011.36, 4227.12, 160.779),
|
||||
((@CGUID+4)*10, 8, 3014.4, 4166.68, 159.855),
|
||||
((@CGUID+4)*10, 9, 3022.76, 4153.83, 152.368),
|
||||
((@CGUID+4)*10, 10, 3020.22, 4124.82, 150.603),
|
||||
((@CGUID+4)*10, 11, 3010.89, 4107.9, 151.056),
|
||||
((@CGUID+4)*10, 12, 3002.58, 4075.26, 150.101),
|
||||
((@CGUID+4)*10, 13, 2986.18, 4047.61, 149.975),
|
||||
((@CGUID+4)*10, 14, 2977.22, 4041.37, 149.782),
|
||||
((@CGUID+4)*10, 15, 2967.34, 4049.68, 152.343),
|
||||
((@CGUID+4)*10, 16, 2950.84, 4040.8, 153.404),
|
||||
((@CGUID+4)*10, 17, 2910.14, 4011.95, 149.729),
|
||||
((@CGUID+4)*10, 18, 2903.81, 3989.59, 148.75),
|
||||
((@CGUID+4)*10, 19, 2888.34, 3972.1, 142.151),
|
||||
((@CGUID+4)*10, 20, 2863.86, 3981.41, 141.777),
|
||||
((@CGUID+4)*10, 21, 2836.9, 4004.29, 142.699),
|
||||
((@CGUID+4)*10, 22, 2781.39, 3991.13, 144.969),
|
||||
((@CGUID+4)*10, 23, 2758.93, 3999.78, 143.672),
|
||||
((@CGUID+4)*10, 24, 2709.58, 4046.75, 150.37),
|
||||
((@CGUID+4)*10, 25, 2650.82, 4095.06, 154.381),
|
||||
((@CGUID+4)*10, 26, 2643.3, 4149.94, 158.604),
|
||||
((@CGUID+4)*10, 27, 2636.57, 4196.3, 155.13),
|
||||
((@CGUID+4)*10, 28, 2660.27, 4236.62, 154.33),
|
||||
((@CGUID+4)*10, 29, 2669.6, 4252.5, 154.308),
|
||||
((@CGUID+4)*10, 30, 2720.43, 4272.12, 153.934),
|
||||
((@CGUID+4)*10, 31, 2742.16, 4288.13, 152.346),
|
||||
((@CGUID+4)*10, 32, 2800.91, 4303.42, 151.593),
|
||||
((@CGUID+4)*10, 33, 2830.31, 4316.65, 148.175),
|
||||
((@CGUID+4)*10, 34, 2859.57, 4281.49, 158.539),
|
||||
((@CGUID+4)*10, 35, 2870.11, 4280.62, 159.52),
|
||||
((@CGUID+4)*10, 36, 2904.21, 4279.1, 156.87),
|
||||
((@CGUID+4)*10, 37, 2931.21, 4314.67, 145.769),
|
||||
((@CGUID+4)*10, 38, 2936.37, 4335.05, 147.717),
|
||||
((@CGUID+4)*10, 39, 2935.57, 4348.43, 142.903),
|
||||
((@CGUID+4)*10, 40, 2943.06, 4351.28, 142.359),
|
||||
((@CGUID+5)*10, 1, 3706.06, 2078.25, 151.867),
|
||||
((@CGUID+5)*10, 2, 3726.17, 2118.53, 149.248),
|
||||
((@CGUID+5)*10, 3, 3753.52, 2168.87, 140.165),
|
||||
((@CGUID+5)*10, 4, 3775.75, 2208.89, 144.852),
|
||||
((@CGUID+5)*10, 5, 3780.36, 2229.51, 148.832),
|
||||
((@CGUID+5)*10, 6, 3787.88, 2241.95, 149.93),
|
||||
((@CGUID+5)*10, 7, 3805.08, 2254.19, 147.519),
|
||||
((@CGUID+5)*10, 8, 3817.69, 2273.88, 148.95),
|
||||
((@CGUID+5)*10, 9, 3855.16, 2269.88, 152.406),
|
||||
((@CGUID+5)*10, 10, 3882.21, 2283.25, 154.278),
|
||||
((@CGUID+5)*10, 11, 3916.8, 2277.97, 156.756),
|
||||
((@CGUID+5)*10, 12, 3945.83, 2280.16, 159.016),
|
||||
((@CGUID+5)*10, 13, 3994.1, 2271.92, 162.937),
|
||||
((@CGUID+5)*10, 14, 4012.48, 2250.07, 163.409),
|
||||
((@CGUID+5)*10, 15, 4052.18, 2235.04, 163.544),
|
||||
((@CGUID+5)*10, 16, 4068.36, 2220.2, 164.592),
|
||||
((@CGUID+5)*10, 17, 4079.98, 2202.1, 163.79),
|
||||
((@CGUID+5)*10, 18, 4097.22, 2184.98, 160.829),
|
||||
((@CGUID+5)*10, 19, 4103.19, 2154.2, 159.513),
|
||||
((@CGUID+5)*10, 20, 4112.25, 2148.36, 158.521),
|
||||
((@CGUID+5)*10, 21, 4143.31, 2141.96, 156.943),
|
||||
((@CGUID+5)*10, 22, 4167.26, 2149.15, 157.128),
|
||||
((@CGUID+5)*10, 23, 4200.38, 2173.98, 151.071),
|
||||
((@CGUID+5)*10, 24, 4233.12, 2141.78, 147.754),
|
||||
((@CGUID+5)*10, 25, 4244.52, 2118.75, 145.07),
|
||||
((@CGUID+5)*10, 26, 4247.28, 2078.07, 143.644),
|
||||
((@CGUID+5)*10, 27, 4263.61, 2039.35, 137.724),
|
||||
((@CGUID+5)*10, 28, 4262.84, 2019.98, 134.967),
|
||||
((@CGUID+5)*10, 29, 4256.09, 2007.07, 130.557),
|
||||
((@CGUID+5)*10, 30, 4250.27, 1995.93, 135.552),
|
||||
((@CGUID+5)*10, 31, 4250.13, 1967.99, 137.595),
|
||||
((@CGUID+5)*10, 32, 4265.63, 1935, 137.639),
|
||||
((@CGUID+5)*10, 33, 4266.21, 1898.98, 138.695),
|
||||
((@CGUID+5)*10, 34, 4259, 1877.24, 140.059),
|
||||
((@CGUID+5)*10, 35, 4223.69, 1842.53, 142.999),
|
||||
((@CGUID+5)*10, 36, 4215.04, 1824.57, 141.276),
|
||||
((@CGUID+5)*10, 37, 4207.37, 1795.16, 137.364),
|
||||
((@CGUID+5)*10, 38, 4187.92, 1757.34, 130.795),
|
||||
((@CGUID+5)*10, 39, 4151.56, 1755.07, 132.442),
|
||||
((@CGUID+5)*10, 40, 4136.05, 1751.07, 133.77),
|
||||
((@CGUID+5)*10, 41, 4124.27, 1755.99, 136.623),
|
||||
((@CGUID+5)*10, 42, 4069.32, 1753.11, 144.431),
|
||||
((@CGUID+5)*10, 43, 4039.85, 1741.67, 145.595),
|
||||
((@CGUID+5)*10, 44, 3967.11, 1700.39, 145.255),
|
||||
((@CGUID+5)*10, 45, 3943.89, 1684.72, 140.837),
|
||||
((@CGUID+5)*10, 46, 3889.03, 1685.44, 138.774),
|
||||
((@CGUID+5)*10, 47, 3849.84, 1667.25, 138.58),
|
||||
((@CGUID+5)*10, 48, 3834.11, 1671.52, 140.663),
|
||||
((@CGUID+5)*10, 49, 3813.53, 1684.09, 145.686),
|
||||
((@CGUID+5)*10, 50, 3800.66, 1696.89, 151.409),
|
||||
((@CGUID+5)*10, 51, 3788.9, 1727.14, 167.273),
|
||||
((@CGUID+5)*10, 52, 3796.24, 1751.33, 177.772),
|
||||
((@CGUID+5)*10, 53, 3775.68, 1766.3, 170.866),
|
||||
((@CGUID+5)*10, 54, 3759.51, 1784.82, 163.141),
|
||||
((@CGUID+5)*10, 55, 3679.22, 1853.57, 126.875),
|
||||
((@CGUID+5)*10, 56, 3660.26, 1896.73, 120.891),
|
||||
((@CGUID+5)*10, 57, 3662.77, 1912.97, 117.708),
|
||||
((@CGUID+5)*10, 58, 3674.79, 1927.2, 115.677),
|
||||
((@CGUID+5)*10, 59, 3677.09, 1977.38, 120.129),
|
||||
((@CGUID+5)*10, 60, 3702.1, 2003.87, 128.244),
|
||||
((@CGUID+5)*10, 61, 3701.96, 2031.67, 133.85),
|
||||
((@CGUID+5)*10, 62, 3721.18, 2044.33, 142.94),
|
||||
((@CGUID+5)*10, 63, 3724.31, 2061.48, 146.105),
|
||||
-- Nuramoc
|
||||
((@CGUID+6)*10, 1, 3250.51, 1961.25, 132.385),
|
||||
((@CGUID+6)*10, 2, 3228.29, 2001.11, 138.882),
|
||||
((@CGUID+6)*10, 3, 3235.93, 2084.18, 135.385),
|
||||
((@CGUID+6)*10, 4, 3239.06, 2128.28, 137.825),
|
||||
((@CGUID+6)*10, 5, 3207.12, 2151.5, 136.752),
|
||||
((@CGUID+6)*10, 6, 3213.69, 2229.01, 138.009),
|
||||
((@CGUID+6)*10, 7, 3231.47, 2305.03, 124.795),
|
||||
((@CGUID+6)*10, 8, 3231.7, 2393.11, 103.663),
|
||||
((@CGUID+6)*10, 9, 3269.73, 2434.75, 74.4029),
|
||||
((@CGUID+6)*10, 10, 3332.71, 2467.68, 85.8992),
|
||||
((@CGUID+6)*10, 11, 3384.93, 2532.03, 110.799),
|
||||
((@CGUID+6)*10, 12, 3438.84, 2578.09, 142.708),
|
||||
((@CGUID+6)*10, 13, 3342.11, 2593.94, 188.744),
|
||||
((@CGUID+6)*10, 14, 3214.78, 2476.76, 98.5975),
|
||||
((@CGUID+6)*10, 15, 3258.1, 2439.65, 112.365),
|
||||
((@CGUID+6)*10, 16, 3305.8, 2397.5, 135.329),
|
||||
((@CGUID+6)*10, 17, 3379.15, 2306.53, 96.941),
|
||||
((@CGUID+6)*10, 18, 3302.31, 2171.94, 123.625),
|
||||
((@CGUID+6)*10, 19, 3274.61, 2098.45, 115.694),
|
||||
((@CGUID+6)*10, 20, 3180.44, 1989.87, 164.138),
|
||||
((@CGUID+6)*10, 21, 3160.3, 1887, 152.491),
|
||||
((@CGUID+6)*10, 22, 3152.02, 1758.62, 160.324),
|
||||
((@CGUID+6)*10, 23, 3155.54, 1702.77, 140.429),
|
||||
((@CGUID+6)*10, 24, 3255.68, 1751.95, 124.196),
|
||||
((@CGUID+6)*10, 25, 3290.94, 1785.01, 139.078),
|
||||
((@CGUID+6)*10, 26, 3301.79, 1853.55, 131.618),
|
||||
((@CGUID+6)*10, 27, 3283.64, 1905.23, 124.957),
|
||||
((@CGUID+6)*10, 28, 3280.69, 1911.33, 120.78),
|
||||
((@CGUID+7)*10, 1, 2817.23, 2929.54, 122.393),
|
||||
((@CGUID+7)*10, 2, 2730.13, 3012.53, 128.227),
|
||||
((@CGUID+7)*10, 3, 2675.16, 3059.62, 128.247),
|
||||
((@CGUID+7)*10, 4, 2645.27, 3091.27, 134.927),
|
||||
((@CGUID+7)*10, 5, 2624.72, 3174.52, 141.912),
|
||||
((@CGUID+7)*10, 6, 2596.74, 3254.45, 140.111),
|
||||
((@CGUID+7)*10, 7, 2552.73, 3278.38, 127.29),
|
||||
((@CGUID+7)*10, 8, 2510.04, 3311.72, 120.465),
|
||||
((@CGUID+7)*10, 9, 2465.47, 3374.43, 123.69),
|
||||
((@CGUID+7)*10, 10, 2499.48, 3465.25, 129.593),
|
||||
((@CGUID+7)*10, 11, 2509.5, 3562.82, 131.936),
|
||||
((@CGUID+7)*10, 12, 2486.69, 3644.09, 124.994),
|
||||
((@CGUID+7)*10, 13, 2483.76, 3717.01, 126.238),
|
||||
((@CGUID+7)*10, 14, 2452.58, 3773.66, 119.516),
|
||||
((@CGUID+7)*10, 15, 2449.44, 3869.47, 118.01),
|
||||
((@CGUID+7)*10, 16, 2441.61, 3954.58, 121.328),
|
||||
((@CGUID+7)*10, 17, 2416.61, 4001.19, 115.294),
|
||||
((@CGUID+7)*10, 18, 2434.59, 4063.79, 126.034),
|
||||
((@CGUID+7)*10, 19, 2500.28, 4197.05, 136.513),
|
||||
((@CGUID+8)*10, 1, 4788.54, 3503.49, 121.951),
|
||||
((@CGUID+8)*10, 2, 4706.67, 3520.02, 136.092),
|
||||
((@CGUID+8)*10, 3, 4637.13, 3533.71, 144.088),
|
||||
((@CGUID+8)*10, 4, 4573.97, 3523.54, 145.267),
|
||||
((@CGUID+8)*10, 5, 4513.13, 3569.78, 144.028),
|
||||
((@CGUID+8)*10, 6, 4426.59, 3569.69, 159.578),
|
||||
((@CGUID+8)*10, 7, 4352.02, 3594.6, 149.207),
|
||||
((@CGUID+8)*10, 8, 4265.53, 3590.13, 166.896),
|
||||
((@CGUID+8)*10, 9, 4201.69, 3563.6, 156.539),
|
||||
((@CGUID+8)*10, 10, 4265.53, 3590.13, 166.896),
|
||||
((@CGUID+8)*10, 11, 4352.02, 3594.6, 149.207),
|
||||
((@CGUID+8)*10, 12, 4426.59, 3569.69, 159.578),
|
||||
((@CGUID+8)*10, 13, 4513.13, 3569.78, 144.028),
|
||||
((@CGUID+8)*10, 14, 4573.97, 3523.54, 145.267),
|
||||
((@CGUID+8)*10, 15, 4637.13, 3533.71, 144.088),
|
||||
((@CGUID+8)*10, 16, 4706.67, 3520.02, 136.092),
|
||||
((@CGUID+8)*10, 17, 4788.54, 3503.49, 121.951);
|
||||
|
||||
-- Pooling
|
||||
DELETE FROM `pool_template` WHERE `entry`=1075; -- Description for this one is wrongly attributed to Okrek
|
||||
DELETE FROM `pool_template` WHERE `entry`=1078 AND `description` LIKE '%Ever-Core%';
|
||||
DELETE FROM `pool_template` WHERE `entry`=1115 AND `description`='Nuramoc (20932)';
|
||||
INSERT INTO `pool_template` (`entry`, `max_limit`, `description`) VALUES
|
||||
(1075, 1, 'Chief Engineer Lorthander (18697)'),
|
||||
(1078, 1, 'Ever-Core the Punisher (18698)'),
|
||||
(1115, 1, 'Nuramoc (20932)');
|
||||
|
||||
DELETE FROM `pool_creature` WHERE `pool_entry`=1075 AND `description` LIKE '%Lorthander%';
|
||||
DELETE FROM `pool_creature` WHERE `pool_entry`=1078 AND `description` LIKE '%Ever-Core%';
|
||||
DELETE FROM `pool_creature` WHERE `pool_entry`=1115 AND `description`='Nuramoc (20932)';
|
||||
INSERT INTO `pool_creature` (`guid`, `pool_entry`, `chance`, `description`) VALUES
|
||||
(@CGUID+0, 1075, 0, 'Chief Engineer Lorthander (18697)'),
|
||||
(@CGUID+1, 1075, 0, 'Chief Engineer Lorthander (18697)'),
|
||||
(@CGUID+2, 1075, 0, 'Chief Engineer Lorthander (18697)'),
|
||||
(@CGUID+3, 1078, 0, 'Ever-Core the Punisher (18698)'),
|
||||
(@CGUID+4, 1078, 0, 'Ever-Core the Punisher (18698)'),
|
||||
(@CGUID+5, 1078, 0, 'Ever-Core the Punisher (18698)'),
|
||||
(@CGUID+6, 1115, 0, 'Nuramoc (20932)'),
|
||||
(@CGUID+7, 1115, 0, 'Nuramoc (20932)'),
|
||||
(@CGUID+8, 1115, 0, 'Nuramoc (20932)');
|
||||
|
||||
-- Nuramoc
|
||||
DELETE FROM `creature_template_movement` WHERE (`CreatureId` = 20932);
|
||||
INSERT INTO `creature_template_movement` (`CreatureId`, `Ground`, `Swim`, `Flight`, `Rooted`, `Chase`, `Random`, `InteractionPauseTimer`) VALUES
|
||||
(20932, 1, 0, 1, 0, 0, 0, 0);
|
||||
298
data/sql/updates/db_world/2023_02_18_03.sql
Normal file
298
data/sql/updates/db_world/2023_02_18_03.sql
Normal file
@@ -0,0 +1,298 @@
|
||||
-- DB update 2023_02_18_02 -> 2023_02_18_03
|
||||
-- Okrek
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 18685);
|
||||
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`, `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
|
||||
(18685, 0, 0, 0, 9, 0, 100, 0, 0, 40, 3400, 4800, 0, 11, 14034, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Okrek - Within 0-40 Range - Cast \'Fireball\''),
|
||||
(18685, 0, 1, 0, 0, 0, 100, 0, 6000, 8000, 6000, 10000, 0, 11, 12471, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Okrek - In Combat - Cast \'Shadow Bolt\''),
|
||||
(18685, 0, 2, 0, 9, 0, 100, 0, 0, 10, 8500, 18000, 0, 11, 32711, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Okrek - Within 0-10 Range - Cast \'Shadow Nova\''),
|
||||
(18685, 0, 3, 0, 23, 0, 100, 0, 13787, 0, 15000, 30000, 0, 11, 13787, 32, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Okrek - On Missing Aura \'Demon Armor\' - Cast \'Demon Armor\'');
|
||||
|
||||
-- Doomsayer Jurim
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 18686);
|
||||
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`, `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
|
||||
(18686, 0, 0, 0, 0, 0, 100, 0, 14000, 19000, 19000, 25000, 0, 11, 39212, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 'Doomsayer Jurim - In Combat - Cast \'Corruption\''),
|
||||
(18686, 0, 1, 0, 0, 0, 100, 0, 9000, 14000, 11000, 16000, 0, 11, 38401, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Doomsayer Jurim - In Combat - Cast \'Incinerate\''),
|
||||
(18686, 0, 2, 0, 0, 0, 100, 0, 8000, 14000, 15000, 21000, 0, 11, 39210, 64, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 'Doomsayer Jurim - In Combat - Cast \'Fear\''),
|
||||
(18686, 0, 3, 0, 0, 0, 100, 0, 3000, 8000, 5000, 11000, 0, 11, 12493, 32, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Doomsayer Jurim - In Combat - Cast \'Curse of Weakness\''),
|
||||
(18686, 0, 4, 0, 9, 0, 100, 0, 0, 40, 3400, 4800, 0, 11, 12471, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Doomsayer Jurim - Within 0-40 Range - Cast \'Shadow Bolt\'');
|
||||
|
||||
-- The Crippler AI
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 18689);
|
||||
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`, `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
|
||||
(18689, 0, 0, 0, 0, 0, 100, 0, 3000, 5000, 11000, 15000, 0, 11, 39214, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Crippler - In Combat - Cast \'Pierce Armor\''),
|
||||
(18689, 0, 1, 0, 0, 0, 100, 0, 8000, 12000, 13000, 18000, 0, 11, 38621, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Crippler - In Combat - Cast \'Debilitating Strike\''),
|
||||
(18689, 0, 2, 0, 2, 0, 100, 1, 0, 50, 0, 0, 0, 11, 38882, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Crippler - Between 0-50% Health - Cast \'Bone Armor\' (No Repeat)');
|
||||
|
||||
SET @CGUID := 25087;
|
||||
|
||||
DELETE FROM `creature` WHERE `id1` IN (18685, 18686);
|
||||
INSERT INTO `creature` (`guid`, `id1`, `map`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `MovementType`) VALUES
|
||||
(@CGUID+0, 18685, 530, 1, -1633.09, 4416.39, 52.1155, 5.98654, 79200, 2),
|
||||
(@CGUID+1, 18685, 530, 1, -2564.99, 5437.01, 28.0524, 3.10727, 93600, 2),
|
||||
(@CGUID+2, 18685, 530, 1, -1843.55, 3958.17, 46.5491, 4.04581, 100800, 2),
|
||||
(@CGUID+3, 18685, 530, 1, -3551.84, 3999.6, 93.7046, 5.20977, 115200, 2),
|
||||
|
||||
(@CGUID+4, 18686, 530, 0, -2847.33, 3195.11, 7.4167, 0.091094, 21600, 2),
|
||||
(@CGUID+5, 18686, 530, 0, -1842.53, 4231.02, 20.9801, 2.23252, 21600, 2),
|
||||
(@CGUID+6, 18686, 530, 0, -2595.42, 5118.68, 6.63357, 6.27732, 21600, 2);
|
||||
|
||||
DELETE FROM `creature_addon` WHERE (`guid` IN (@CGUID+0,@CGUID+1,@CGUID+2,@CGUID+3,@CGUID+4,@CGUID+5,@CGUID+6,40470));
|
||||
INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `visibilityDistanceType`, `auras`) VALUES
|
||||
(@CGUID+0, (@CGUID+0)*10, 0, 0, 1, 0, 0, ''),
|
||||
(@CGUID+1, (@CGUID+1)*10, 0, 0, 1, 0, 0, ''),
|
||||
(@CGUID+2, (@CGUID+2)*10, 0, 0, 1, 0, 0, ''),
|
||||
(@CGUID+3, (@CGUID+3)*10, 0, 0, 1, 0, 0, ''),
|
||||
(@CGUID+4, (@CGUID+4)*10, 0, 0, 1, 0, 0, ''),
|
||||
(@CGUID+5, (@CGUID+5)*10, 0, 0, 1, 0, 0, ''),
|
||||
(@CGUID+6, (@CGUID+6)*10, 0, 0, 1, 0, 0, '');
|
||||
|
||||
DELETE FROM `waypoint_data` WHERE `id` IN ((@CGUID+0)*10,(@CGUID+1)*10,(@CGUID+2)*10,(@CGUID+3)*10,(@CGUID+4)*10,(@CGUID+5)*10,(@CGUID+6)*10,404700);
|
||||
INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`) VALUES
|
||||
((@CGUID+0)*10, 1, -1633.09, 4416.39, 52.0432),
|
||||
((@CGUID+0)*10, 2, -1618.41, 4410.16, 52.5576),
|
||||
((@CGUID+0)*10, 3, -1606.43, 4420.26, 52.6329),
|
||||
((@CGUID+0)*10, 4, -1611.34, 4435.12, 52.6265),
|
||||
((@CGUID+0)*10, 5, -1624.94, 4436.8, 52.6168),
|
||||
((@CGUID+0)*10, 6, -1633.09, 4416.39, 52.0432),
|
||||
((@CGUID+1)*10, 1, -2564.99, 5437.01, 27.482),
|
||||
((@CGUID+1)*10, 2, -2567.62, 5447.4, 27.2306),
|
||||
((@CGUID+1)*10, 3, -2580.16, 5451.42, 27.2254),
|
||||
((@CGUID+1)*10, 4, -2591.11, 5437.56, 27.2367),
|
||||
((@CGUID+1)*10, 5, -2579.75, 5426.12, 26.9373),
|
||||
((@CGUID+1)*10, 6, -2570.32, 5424.22, 26.635),
|
||||
((@CGUID+1)*10, 7, -2552.85, 5407.97, 20.0038),
|
||||
((@CGUID+1)*10, 8, -2535.35, 5390.59, 27.2097),
|
||||
((@CGUID+1)*10, 9, -2535.96, 5370.64, 27.2342),
|
||||
((@CGUID+1)*10, 10, -2515.76, 5363.92, 27.2173),
|
||||
((@CGUID+1)*10, 11, -2515.27, 5379.05, 28.0072),
|
||||
((@CGUID+2)*10, 1, -1843.55, 3958.17, 46.5491),
|
||||
((@CGUID+2)*10, 2, -1849.11, 3959.83, 46.5567),
|
||||
((@CGUID+2)*10, 3, -1856.92, 3952.97, 46.4926),
|
||||
((@CGUID+2)*10, 4, -1856.12, 3938.67, 46.05),
|
||||
((@CGUID+2)*10, 5, -1853.1, 3924.98, 45.3693),
|
||||
((@CGUID+2)*10, 6, -1862.49, 3908.7, 39.1752),
|
||||
((@CGUID+2)*10, 7, -1879.08, 3879.85, 45.4519),
|
||||
((@CGUID+2)*10, 8, -1903.73, 3870.84, 45.3793),
|
||||
((@CGUID+2)*10, 9, -1910.33, 3850.94, 45.4441),
|
||||
((@CGUID+2)*10, 10, -1887.31, 3837.38, 45.4393),
|
||||
((@CGUID+2)*10, 11, -1871.41, 3847.16, 45.4412),
|
||||
((@CGUID+2)*10, 12, -1871.2, 3867.79, 45.4431),
|
||||
((@CGUID+2)*10, 13, -1880.9, 3877.3, 45.4447),
|
||||
((@CGUID+2)*10, 14, -1868.93, 3897.99, 39.0142),
|
||||
((@CGUID+2)*10, 15, -1853.37, 3923.24, 45.3162),
|
||||
((@CGUID+2)*10, 16, -1826.5, 3934.92, 46.5561),
|
||||
((@CGUID+2)*10, 17, -1829.69, 3958.36, 46.5588),
|
||||
((@CGUID+2)*10, 18, -1836.99, 3960.91, 46.5588),
|
||||
((@CGUID+3)*10, 1, -3551.84, 3999.6, 93.7046),
|
||||
((@CGUID+3)*10, 2, -3563.29, 4001.41, 91.8348),
|
||||
((@CGUID+3)*10, 3, -3590.03, 4006.42, 75.3029),
|
||||
((@CGUID+3)*10, 4, -3555.16, 4040.98, 69.5859),
|
||||
((@CGUID+3)*10, 5, -3512.02, 4051.49, 60.9738),
|
||||
((@CGUID+3)*10, 6, -3499.84, 4050.19, 59.424),
|
||||
((@CGUID+3)*10, 7, -3482.48, 4033.23, 59.8893),
|
||||
((@CGUID+3)*10, 8, -3461.45, 4028.88, 59.1618),
|
||||
((@CGUID+3)*10, 9, -3428.89, 4011.93, 62.2547),
|
||||
((@CGUID+3)*10, 10, -3386.09, 4008.06, 58.385),
|
||||
((@CGUID+3)*10, 11, -3363.25, 4002.11, 58.7623),
|
||||
((@CGUID+3)*10, 12, -3386.09, 4008.06, 58.385),
|
||||
((@CGUID+3)*10, 13, -3428.89, 4011.93, 62.2547),
|
||||
((@CGUID+3)*10, 14, -3461.45, 4028.88, 59.1618),
|
||||
((@CGUID+3)*10, 15, -3482.48, 4033.23, 59.8893),
|
||||
((@CGUID+3)*10, 16, -3499.84, 4050.19, 59.424),
|
||||
((@CGUID+3)*10, 17, -3512.02, 4051.49, 60.9738),
|
||||
((@CGUID+3)*10, 18, -3555.16, 4040.98, 69.5859),
|
||||
((@CGUID+3)*10, 19, -3590.03, 4006.42, 75.3029),
|
||||
((@CGUID+3)*10, 20, -3563.29, 4001.41, 91.8348),
|
||||
((@CGUID+4)*10, 1, -2843.86, 3205.97, 5.45323),
|
||||
((@CGUID+4)*10, 2, -2829.24, 3218.81, 9.59048),
|
||||
((@CGUID+4)*10, 3, -2814.12, 3235.72, 10.1736),
|
||||
((@CGUID+4)*10, 4, -2792.54, 3259.91, 5.91885),
|
||||
((@CGUID+4)*10, 5, -2774.46, 3280.17, 2.8828),
|
||||
((@CGUID+4)*10, 6, -2751.21, 3306.24, 0.199384),
|
||||
((@CGUID+4)*10, 7, -2728.55, 3318.21, -0.833018),
|
||||
((@CGUID+4)*10, 8, -2719.59, 3331.35, -1.04936),
|
||||
((@CGUID+4)*10, 9, -2708.94, 3349.74, -0.819842),
|
||||
((@CGUID+4)*10, 10, -2694.72, 3374.29, -0.156626),
|
||||
((@CGUID+4)*10, 11, -2685.08, 3390.93, 0.328583),
|
||||
((@CGUID+4)*10, 12, -2675.69, 3407.16, 0.474826),
|
||||
((@CGUID+4)*10, 13, -2669.68, 3416.29, 0.743526),
|
||||
((@CGUID+4)*10, 14, -2660.96, 3425.2, 0.805554),
|
||||
((@CGUID+4)*10, 15, -2654.25, 3430.82, 0.77502),
|
||||
((@CGUID+4)*10, 16, -2645.46, 3437.83, 1.28666),
|
||||
((@CGUID+4)*10, 17, -2639.59, 3442.5, 3.25542),
|
||||
((@CGUID+4)*10, 18, -2630.71, 3449.41, 1.86245),
|
||||
((@CGUID+4)*10, 19, -2621.54, 3456.21, 0.653284),
|
||||
((@CGUID+4)*10, 20, -2617.41, 3460.51, 0.593326),
|
||||
((@CGUID+4)*10, 21, -2611.5, 3471.52, 0.520041),
|
||||
((@CGUID+4)*10, 22, -2610.04, 3475.69, 0.53993),
|
||||
((@CGUID+4)*10, 23, -2606.9, 3480.85, 0.492544),
|
||||
((@CGUID+4)*10, 24, -2590.41, 3502.84, 0.225892),
|
||||
((@CGUID+4)*10, 25, -2582.03, 3512, 0.101641),
|
||||
((@CGUID+4)*10, 26, -2566.36, 3522.06, 0.189451),
|
||||
((@CGUID+4)*10, 27, -2534.38, 3523.07, 1.3404),
|
||||
((@CGUID+4)*10, 28, -2523.33, 3527.83, 1.66667),
|
||||
((@CGUID+4)*10, 29, -2516.31, 3533.95, 1.65006),
|
||||
((@CGUID+4)*10, 30, -2507.47, 3544.67, 1.56155),
|
||||
((@CGUID+4)*10, 31, -2491.83, 3549.68, 1.43199),
|
||||
((@CGUID+4)*10, 32, -2471.56, 3551.98, 1.23732),
|
||||
((@CGUID+4)*10, 33, -2463.14, 3555.66, 1.03546),
|
||||
((@CGUID+4)*10, 34, -2456.3, 3555.25, 0.942503),
|
||||
((@CGUID+4)*10, 35, -2452.53, 3537.02, 0.402467),
|
||||
((@CGUID+4)*10, 36, -2446.32, 3528.59, -0.236494),
|
||||
((@CGUID+4)*10, 37, -2462.93, 3549.41, 1.08819),
|
||||
((@CGUID+4)*10, 38, -2460.92, 3557.5, 1.00403),
|
||||
((@CGUID+4)*10, 39, -2425.49, 3596.2, 0.274173),
|
||||
((@CGUID+4)*10, 40, -2405.2, 3613.88, 0.217946),
|
||||
((@CGUID+4)*10, 41, -2391.31, 3632.83, 0.792431),
|
||||
((@CGUID+4)*10, 42, -2383.97, 3658.54, 0.99065),
|
||||
((@CGUID+4)*10, 43, -2351.54, 3700.72, 0.420721),
|
||||
((@CGUID+4)*10, 44, -2314.59, 3729.83, 0.0297019),
|
||||
((@CGUID+4)*10, 45, -2296.57, 3749.89, 0.363868),
|
||||
((@CGUID+4)*10, 46, -2285.44, 3767.7, 0.291327),
|
||||
((@CGUID+4)*10, 47, -2279.3, 3787.95, 0.314858),
|
||||
((@CGUID+4)*10, 48, -2276.3, 3799.32, 0.521091),
|
||||
((@CGUID+4)*10, 49, -2254.61, 3831.13, 2.70024),
|
||||
((@CGUID+4)*10, 50, -2251.75, 3848.92, 5.15061),
|
||||
((@CGUID+4)*10, 51, -2249.52, 3869.55, 2.39354),
|
||||
((@CGUID+4)*10, 52, -2244.66, 3893.46, 1.58335),
|
||||
((@CGUID+4)*10, 53, -2239.88, 3904.19, 1.10899),
|
||||
((@CGUID+4)*10, 54, -2224.28, 3927.45, 0.706091),
|
||||
((@CGUID+4)*10, 55, -2187.45, 3958.22, 0.921813),
|
||||
((@CGUID+4)*10, 56, -2175.09, 3978.98, 0.929392),
|
||||
((@CGUID+4)*10, 57, -2171.14, 4011.04, 0.450247),
|
||||
((@CGUID+4)*10, 58, -2175.93, 4027.88, 0.519539),
|
||||
((@CGUID+4)*10, 59, -2187.96, 4064.43, 1.4281),
|
||||
((@CGUID+4)*10, 60, -2166.44, 4102.49, 4.27243),
|
||||
((@CGUID+4)*10, 61, -1700.15, 3993.57, 55.6859),
|
||||
((@CGUID+4)*10, 62, -1710.59, 4034.97, 60.6101),
|
||||
((@CGUID+4)*10, 63, -1719.95, 4059.83, 62.7452),
|
||||
((@CGUID+4)*10, 64, -1718.67, 4104.32, 64.3796),
|
||||
((@CGUID+4)*10, 65, -1743.77, 4151.6, 62.3929),
|
||||
((@CGUID+4)*10, 66, -1754.61, 4173.29, 58.3691),
|
||||
((@CGUID+4)*10, 67, -1788.41, 4206.51, 44.1839),
|
||||
((@CGUID+4)*10, 68, -1818.93, 4214.12, 33.1137),
|
||||
((@CGUID+4)*10, 69, -1841.51, 4228.1, 22.0741),
|
||||
((@CGUID+4)*10, 70, -1871.54, 4263.5, 8.22153),
|
||||
((@CGUID+4)*10, 71, -1891, 4295.91, 3.23019),
|
||||
((@CGUID+4)*10, 72, -1911.96, 4351.49, 1.66825),
|
||||
((@CGUID+4)*10, 73, -1910.12, 4389.42, 1.77078),
|
||||
((@CGUID+4)*10, 74, -1907.67, 4417.31, 2.99456),
|
||||
((@CGUID+4)*10, 75, -1917.63, 4452.07, 6.27493),
|
||||
((@CGUID+4)*10, 76, -1929.4, 4473.47, 8.90937),
|
||||
((@CGUID+4)*10, 77, -1942.74, 4489.67, 11.1029),
|
||||
((@CGUID+4)*10, 78, -1958.47, 4508.45, 12.7432),
|
||||
((@CGUID+4)*10, 79, -1975.36, 4519.94, 13.1616),
|
||||
((@CGUID+4)*10, 80, -1982.19, 4524.49, 13.0993),
|
||||
((@CGUID+4)*10, 81, -1983.38, 4507.03, 12.7591),
|
||||
((@CGUID+4)*10, 82, -1984.02, 4496.55, 11.9535),
|
||||
((@CGUID+4)*10, 83, -1984.87, 4482.57, 11.1499),
|
||||
((@CGUID+4)*10, 84, -1978.92, 4509.87, 12.6695),
|
||||
((@CGUID+4)*10, 85, -1978.12, 4527.35, 13.36),
|
||||
((@CGUID+4)*10, 86, -1967.33, 4546.79, 12.8741),
|
||||
((@CGUID+4)*10, 87, -1953.04, 4566.47, 10.1123),
|
||||
((@CGUID+4)*10, 88, -1946.5, 4582.91, 7.44598),
|
||||
((@CGUID+4)*10, 89, -1948.3, 4599.58, 4.61956),
|
||||
((@CGUID+4)*10, 90, -1955.08, 4637.48, -0.0588505),
|
||||
((@CGUID+4)*10, 91, -1943.63, 4685.04, -2.18987),
|
||||
((@CGUID+4)*10, 92, -1941.99, 4705.25, -2.67768),
|
||||
((@CGUID+4)*10, 93, -1945.22, 4727.47, -3.22917),
|
||||
((@CGUID+4)*10, 94, -1951.89, 4748.79, -2.9388),
|
||||
((@CGUID+4)*10, 95, -1957.77, 4773.7, -1.42409),
|
||||
((@CGUID+4)*10, 96, -1957.36, 4798.11, -0.0807409),
|
||||
((@CGUID+4)*10, 97, -1944.66, 4829.17, 0.67),
|
||||
((@CGUID+4)*10, 98, -1929.68, 4851.09, 1.64973),
|
||||
((@CGUID+4)*10, 99, -1918.23, 4883.89, 2.11937),
|
||||
((@CGUID+4)*10, 100, -1901.18, 4906.49, -1.12705),
|
||||
((@CGUID+4)*10, 101, -1881.87, 4926.69, -9.60835),
|
||||
((@CGUID+4)*10, 102, -1870.05, 4946.21, -17.0149),
|
||||
((@CGUID+4)*10, 103, -1866.49, 4960.25, -20.2899),
|
||||
((@CGUID+4)*10, 104, -1860.94, 5033.3, -26.0991),
|
||||
((@CGUID+4)*10, 105, -1869.8, 4962.46, -20.3781),
|
||||
((@CGUID+4)*10, 106, -1884.86, 4924.67, -8.30171),
|
||||
((@CGUID+4)*10, 107, -1904.83, 4905.16, -0.202733),
|
||||
((@CGUID+4)*10, 108, -1922.67, 4912.5, 6.06643),
|
||||
((@CGUID+4)*10, 109, -1937.46, 4934.99, 14.8054),
|
||||
((@CGUID+4)*10, 110, -1953.22, 4961.69, 24.7149),
|
||||
((@CGUID+4)*10, 111, -1958.07, 4992.99, 30.1767),
|
||||
((@CGUID+4)*10, 112, -1958.74, 5013.42, 32.4293),
|
||||
((@CGUID+4)*10, 113, -1947.03, 5042.52, 25.2899),
|
||||
((@CGUID+4)*10, 114, -1942.58, 5058.03, 19.5292),
|
||||
((@CGUID+4)*10, 115, -1963.32, 5083.08, 11.1075),
|
||||
((@CGUID+4)*10, 116, -1984.5, 5100.08, 7.82778),
|
||||
((@CGUID+4)*10, 117, -2004.59, 5114.07, 8.26657),
|
||||
((@CGUID+4)*10, 118, -2029.48, 5123.26, 8.48839),
|
||||
((@CGUID+4)*10, 119, -2055.94, 5125.38, 7.48301),
|
||||
((@CGUID+4)*10, 120, -2089.33, 5115.44, 3.14184),
|
||||
((@CGUID+4)*10, 121, -2112.53, 5107.32, -2.40737),
|
||||
((@CGUID+4)*10, 122, -2137.4, 5108.51, -11.5709),
|
||||
((@CGUID+4)*10, 123, -2155.69, 5115.97, -18.1534),
|
||||
((@CGUID+4)*10, 124, -2170.6, 5125.13, -21.2824),
|
||||
((@CGUID+4)*10, 125, -2182.81, 5131.87, -21.667),
|
||||
((@CGUID+4)*10, 126, -2198.88, 5138.77, -21.2323),
|
||||
((@CGUID+4)*10, 127, -2219.62, 5144.57, -19.6848),
|
||||
((@CGUID+4)*10, 128, -2238.57, 5146.29, -17.4706),
|
||||
((@CGUID+4)*10, 129, -2266.45, 5144.26, -13.0598),
|
||||
((@CGUID+4)*10, 130, -2290.86, 5142.23, -9.17377),
|
||||
((@CGUID+4)*10, 131, -2308.35, 5142.09, -7.11532),
|
||||
((@CGUID+4)*10, 132, -2333.72, 5149.44, -5.0165),
|
||||
((@CGUID+4)*10, 133, -2365.45, 5157.88, -2.8501),
|
||||
((@CGUID+4)*10, 134, -2390.26, 5158.22, -1.19618),
|
||||
((@CGUID+4)*10, 135, -2417.84, 5153.35, 0.775549),
|
||||
((@CGUID+4)*10, 136, -2442.28, 5142.04, 3.53141),
|
||||
((@CGUID+4)*10, 137, -2469.81, 5120.56, 6.76948),
|
||||
((@CGUID+4)*10, 138, -2498.06, 5115.06, 7.87731),
|
||||
((@CGUID+4)*10, 139, -2532.85, 5118.89, 7.54034),
|
||||
((@CGUID+4)*10, 140, -2555.6, 5120.59, 7.69492),
|
||||
((@CGUID+5)*10, 1, -1842.53, 4231.02, 20.9801),
|
||||
((@CGUID+5)*10, 2, -1869.21, 4261.13, 8.89557),
|
||||
((@CGUID+5)*10, 3, -1881.34, 4278.1, 5.5224),
|
||||
((@CGUID+5)*10, 4, -1912.25, 4349.02, 1.68234),
|
||||
((@CGUID+5)*10, 5, -1914.46, 4374.06, 1.6238),
|
||||
((@CGUID+5)*10, 6, -1907.34, 4411.19, 2.60279),
|
||||
((@CGUID+5)*10, 7, -1910.76, 4438.84, 4.91422),
|
||||
((@CGUID+5)*10, 8, -1931.52, 4475.42, 9.21656),
|
||||
((@CGUID+5)*10, 9, -1970.77, 4515.64, 13.0504),
|
||||
((@CGUID+5)*10, 10, -1976.75, 4527.05, 13.3934),
|
||||
((@CGUID+5)*10, 11, -1972.72, 4539.17, 13.3457),
|
||||
((@CGUID+5)*10, 12, -1946.46, 4597.88, 4.94647),
|
||||
((@CGUID+5)*10, 13, -1956.85, 4637.1, 0.01026),
|
||||
((@CGUID+5)*10, 14, -1940.22, 4702.82, -2.56809),
|
||||
((@CGUID+5)*10, 15, -1949.24, 4739.94, -3.13258),
|
||||
((@CGUID+5)*10, 16, -1955.66, 4753.73, -2.74301),
|
||||
((@CGUID+5)*10, 17, -1959.56, 4796.31, -0.128966),
|
||||
((@CGUID+5)*10, 18, -1921.66, 4869.82, 1.85516),
|
||||
((@CGUID+5)*10, 19, -1915.69, 4891.67, 2.15411),
|
||||
((@CGUID+5)*10, 20, -1888.97, 4918.59, -5.75911),
|
||||
((@CGUID+5)*10, 21, -1869.05, 4946.2, -17.1173),
|
||||
((@CGUID+5)*10, 22, -1865.53, 4978.99, -22.5178),
|
||||
((@CGUID+6)*10, 1, -2595.42, 5118.68, 6.63357),
|
||||
((@CGUID+6)*10, 2, -2546, 5122.18, 7.52113),
|
||||
((@CGUID+6)*10, 3, -2485.8, 5112.25, 7.9062),
|
||||
((@CGUID+6)*10, 4, -2440.9, 5141.97, 3.35802),
|
||||
((@CGUID+6)*10, 5, -2416.25, 5152.64, 0.680542),
|
||||
((@CGUID+6)*10, 6, -2378.67, 5159.02, -1.98798),
|
||||
((@CGUID+6)*10, 7, -2338.08, 5151.37, -4.80083),
|
||||
((@CGUID+6)*10, 8, -2307.95, 5141.67, -7.15532),
|
||||
((@CGUID+6)*10, 9, -2276.08, 5142.61, -11.4779),
|
||||
((@CGUID+6)*10, 10, -2228.73, 5147.82, -18.686),
|
||||
((@CGUID+6)*10, 11, -2200.59, 5140.23, -21.1159),
|
||||
((@CGUID+6)*10, 12, -2165.21, 5123.69, -20.855),
|
||||
((@CGUID+6)*10, 13, -2148.15, 5138.56, -22.1488);
|
||||
|
||||
-- Pooling
|
||||
DELETE FROM `pool_template` WHERE `entry`=1073 AND `description` LIKE '%Okrek%';
|
||||
DELETE FROM `pool_template` WHERE `entry`=1117 AND `description`='Doomsayer Jurim (18686)';
|
||||
INSERT INTO `pool_template` (`entry`, `max_limit`, `description`) VALUES
|
||||
(1073, 1, 'Okrek (18685)'),
|
||||
(1117, 1, 'Doomsayer Jurim (18686)');
|
||||
|
||||
DELETE FROM `pool_creature` WHERE `pool_entry`=1073 AND `description` LIKE '%Okrek%';
|
||||
DELETE FROM `pool_creature` WHERE `pool_entry`=1117 AND `description`='Doomsayer Jurim (18686)';
|
||||
INSERT INTO `pool_creature` (`guid`, `pool_entry`, `chance`, `description`) VALUES
|
||||
(@CGUID+0, 1073, 0, 'Okrek (18685)'),
|
||||
(@CGUID+1, 1073, 0, 'Okrek (18685)'),
|
||||
(@CGUID+2, 1073, 0, 'Okrek (18685)'),
|
||||
(@CGUID+3, 1073, 0, 'Okrek (18685)'),
|
||||
(@CGUID+4, 1117, 0, 'Doomsayer Jurim (18686)'),
|
||||
(@CGUID+5, 1117, 0, 'Doomsayer Jurim (18686)'),
|
||||
(@CGUID+6, 1117, 0, 'Doomsayer Jurim (18686)');
|
||||
17
data/sql/updates/db_world/2023_02_18_04.sql
Normal file
17
data/sql/updates/db_world/2023_02_18_04.sql
Normal file
@@ -0,0 +1,17 @@
|
||||
-- DB update 2023_02_18_03 -> 2023_02_18_04
|
||||
-- Dragonmaw Bonewarder - spawn Skeleton on reset
|
||||
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 1057;
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 1057);
|
||||
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`, `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
|
||||
(1057, 0, 0, 0, 25, 0, 100, 0, 0, 0, 0, 0, 0, 11, 8853, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Dragonmaw Bonewarder - On Reset - Cast \'Summon Skeleton\''),
|
||||
(1057, 0, 1, 0, 4, 0, 100, 1, 0, 0, 0, 0, 0, 11, 13787, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Dragonmaw Bonewarder - On Aggro - Cast \'Demon Armor\' (No Repeat)'),
|
||||
(1057, 0, 2, 0, 0, 0, 100, 0, 3000, 4000, 120000, 120000, 0, 11, 6205, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Dragonmaw Bonewarder - In Combat - Cast \'Curse of Weakness\''),
|
||||
(1057, 0, 3, 0, 0, 0, 100, 0, 5000, 6000, 15000, 15000, 0, 11, 707, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Dragonmaw Bonewarder - In Combat - Cast \'Immolate\'');
|
||||
|
||||
-- Skeleton (Dragonmaw Bonewarder's pet) - force despawn on death
|
||||
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 6412;
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 6412);
|
||||
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`, `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
|
||||
(6412, 0, 0, 0, 6, 0, 100, 513, 0, 0, 0, 0, 0, 41, 1000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Skeleton - On Just Died - Despawn In 1000 ms (No Repeat)');
|
||||
4
data/sql/updates/db_world/2023_02_18_05.sql
Normal file
4
data/sql/updates/db_world/2023_02_18_05.sql
Normal file
@@ -0,0 +1,4 @@
|
||||
-- DB update 2023_02_18_04 -> 2023_02_18_05
|
||||
-- Reply-Code Alpha - All Is Well That Ends Well 10 & 25 - Remove requirement for sigil quest completion.
|
||||
UPDATE `quest_template_addon` SET `PrevQuestID` = 0 WHERE (`ID` = 13631); -- Normal (10m)
|
||||
UPDATE `quest_template_addon` SET `PrevQuestID` = 0 WHERE (`ID` = 13819); -- Heroic (25m)
|
||||
135
data/sql/updates/db_world/2023_02_18_06.sql
Normal file
135
data/sql/updates/db_world/2023_02_18_06.sql
Normal file
@@ -0,0 +1,135 @@
|
||||
-- DB update 2023_02_18_05 -> 2023_02_18_06
|
||||
--
|
||||
DELETE FROM `creature` WHERE `id1`=18679;
|
||||
INSERT INTO `creature` (`guid`, `id1`, `map`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `MovementType`) VALUES
|
||||
(24922, 18679, 530, 1, -368.807, 1845.98, 86.4098, 2.91794, 28800, 2),
|
||||
(24923, 18679, 530, 1, -114.012, 1835.66, 73.8411, 0.612791, 28800, 2),
|
||||
(24924, 18679, 530, 1, 494.112, 2187.12, 131.719, 1.88514, 28800, 2),
|
||||
(24925, 18679, 530, 1, 442.586, 3516.65, 60.8444, 1.20665, 28800, 2);
|
||||
|
||||
DELETE FROM `creature_addon` WHERE (`guid` IN (24922, 24923, 24924, 24925, 151930));
|
||||
INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `visibilityDistanceType`, `auras`) VALUES
|
||||
(24922, 249220, 0, 0, 1, 0, 0, ''),
|
||||
(24923, 249230, 0, 0, 1, 0, 0, ''),
|
||||
(24924, 249240, 0, 0, 1, 0, 0, ''),
|
||||
(24925, 249250, 0, 0, 1, 0, 0, '');
|
||||
|
||||
DELETE FROM `waypoint_data` WHERE `id` IN (249220, 249230, 249240, 249250, 1519300);
|
||||
INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`) VALUES
|
||||
(249220, 1, -368.807, 1845.98, 86.4098),
|
||||
(249220, 2, -394.117, 1765.65, 60.0718),
|
||||
(249220, 3, -430.21, 1735.79, 50.2494),
|
||||
(249220, 4, -467.137, 1759.59, 46.767),
|
||||
(249220, 5, -481.167, 1743.93, 41.2044),
|
||||
(249220, 6, -491.55, 1741.66, 46.4614),
|
||||
(249220, 7, -501.393, 1756.58, 49.219),
|
||||
(249220, 8, -534.742, 1790.65, 56.8644),
|
||||
(249220, 9, -563.301, 1812.43, 66.1833),
|
||||
(249220, 10, -582.342, 1829.4, 70.716),
|
||||
(249220, 11, -541.357, 1879.13, 77.7951),
|
||||
(249220, 12, -484.344, 1898.96, 87.2478),
|
||||
(249220, 13, -392.494, 1897.04, 104.712),
|
||||
(249230, 1, -114.012, 1835.66, 73.8411),
|
||||
(249230, 2, -91.4783, 1847.82, 69.2832),
|
||||
(249230, 3, -48.3747, 1834.22, 56.2454),
|
||||
(249230, 4, -27.769, 1751.28, 45.8751),
|
||||
(249230, 5, 7.84103, 1727.88, 42.7232),
|
||||
(249230, 6, 61.2473, 1718.28, 40.0149),
|
||||
(249230, 7, 83.7766, 1696.73, 39.1369),
|
||||
(249230, 8, 100.682, 1697.19, 40.2013),
|
||||
(249230, 9, 173.49, 1699.2, 29.6471),
|
||||
(249230, 10, 187.283, 1739.6, 31.9241),
|
||||
(249230, 11, 204.008, 1746.78, 24.8385),
|
||||
(249230, 12, 211.648, 1786.65, 19.2764),
|
||||
(249230, 13, 199.708, 1790.54, 22.2977),
|
||||
(249230, 14, 173.246, 1781.3, 26.3822),
|
||||
(249230, 15, 155.866, 1781.44, 33.661),
|
||||
(249230, 16, 134.747, 1779.92, 34.6875),
|
||||
(249230, 17, 128.552, 1783.87, 37.7445),
|
||||
(249230, 18, 79.8076, 1800.09, 45.2287),
|
||||
(249230, 19, 63.0398, 1800.49, 48.2331),
|
||||
(249230, 20, 32.4485, 1861.2, 49.7156),
|
||||
(249230, 21, 29.9901, 1871.98, 47.1418),
|
||||
(249230, 22, 9.29734, 1874.98, 51.9819),
|
||||
(249230, 23, -22.6535, 1868.99, 57.1755),
|
||||
(249230, 24, -43.6076, 1863.96, 64.0862),
|
||||
(249230, 25, -78.5294, 1861.73, 71.2376),
|
||||
(249240, 1, 494.112, 2187.12, 131.719),
|
||||
(249240, 2, 490.009, 2150.51, 126.99),
|
||||
(249240, 3, 476.108, 2147.86, 118.362),
|
||||
(249240, 4, 447.068, 2146.79, 117.958),
|
||||
(249240, 5, 391.824, 2120.25, 115.876),
|
||||
(249240, 6, 364.498, 2141.12, 120.353),
|
||||
(249240, 7, 366.106, 2174.26, 120.116),
|
||||
(249240, 8, 369.158, 2196.83, 119.376),
|
||||
(249240, 9, 343.484, 2215.23, 117.934),
|
||||
(249240, 10, 340.956, 2232.1, 118.971),
|
||||
(249240, 11, 391.441, 2247.7, 117.091),
|
||||
(249240, 12, 432.466, 2259.06, 117.991),
|
||||
(249240, 13, 437.614, 2269.6, 114.766),
|
||||
(249240, 14, 438.826, 2278.85, 118.556),
|
||||
(249240, 15, 438.178, 2332.83, 119.533),
|
||||
(249240, 16, 430.33, 2389.52, 125.334),
|
||||
(249240, 17, 424.122, 2410.58, 132.903),
|
||||
(249240, 18, 409.936, 2426.29, 140.293),
|
||||
(249240, 19, 391.569, 2441.42, 147.378),
|
||||
(249240, 20, 372.028, 2450.85, 153.994),
|
||||
(249240, 21, 351.563, 2501.71, 158.671),
|
||||
(249240, 22, 358.341, 2519.12, 157.017),
|
||||
(249240, 23, 362.253, 2540.77, 155.273),
|
||||
(249240, 24, 393.193, 2549.76, 151.156),
|
||||
(249240, 25, 422.271, 2538.3, 151.843),
|
||||
(249240, 26, 443.763, 2554.36, 162.211),
|
||||
(249240, 27, 446.835, 2632.73, 179.099),
|
||||
(249240, 28, 487.397, 2745.97, 201.314),
|
||||
(249240, 29, 524.691, 2778.75, 213.732),
|
||||
(249240, 30, 529.078, 2770.99, 213.393),
|
||||
(249240, 31, 516.915, 2750.16, 211.931),
|
||||
(249240, 32, 474.551, 2663.26, 192.277),
|
||||
(249240, 33, 463.675, 2628.29, 184.522),
|
||||
(249240, 34, 463.409, 2570.53, 174.952),
|
||||
(249240, 35, 459.304, 2541.33, 164.87),
|
||||
(249240, 36, 465.254, 2485.88, 156.33),
|
||||
(249240, 37, 428.184, 2445.82, 139.387),
|
||||
(249240, 38, 428.213, 2414.12, 133.002),
|
||||
(249240, 39, 447.828, 2392.86, 133.544),
|
||||
(249240, 40, 454.476, 2300.08, 124.765),
|
||||
(249240, 41, 478.859, 2261.73, 129.556),
|
||||
(249240, 42, 490.589, 2224.36, 131.317),
|
||||
(249250, 1, 442.586, 3516.65, 60.8444),
|
||||
(249250, 2, 430.167, 3506.58, 62.984),
|
||||
(249250, 3, 380.869, 3507.06, 62.9783),
|
||||
(249250, 4, 364.828, 3502.97, 62.3136),
|
||||
(249250, 5, 359.136, 3482.24, 62.8538),
|
||||
(249250, 6, 350.932, 3469.66, 61.7651),
|
||||
(249250, 7, 333.588, 3465.64, 62.0532),
|
||||
(249250, 8, 332.589, 3436.69, 61.9835),
|
||||
(249250, 9, 344.644, 3424.99, 63.3763),
|
||||
(249250, 10, 346.874, 3386.66, 64.2423),
|
||||
(249250, 11, 341.957, 3361.83, 68.1707),
|
||||
(249250, 12, 354.937, 3358.04, 62.9527),
|
||||
(249250, 13, 373.619, 3362.38, 62.5949),
|
||||
(249250, 14, 395.768, 3352.65, 62.7729),
|
||||
(249250, 15, 417.721, 3338.98, 61.9029),
|
||||
(249250, 16, 438.161, 3340.84, 62.9257),
|
||||
(249250, 17, 463.486, 3377.86, 73.8103),
|
||||
(249250, 18, 466.918, 3398.15, 69.5736),
|
||||
(249250, 19, 505.131, 3430.84, 73.9158),
|
||||
(249250, 20, 508.783, 3437.74, 73.853),
|
||||
(249250, 21, 516.238, 3459.83, 74.7222),
|
||||
(249250, 22, 527.515, 3486.28, 77.0556),
|
||||
(249250, 23, 489.114, 3523.57, 65.8445),
|
||||
(249250, 24, 468.23, 3526.64, 63.9368);
|
||||
|
||||
DELETE FROM `pool_template` WHERE `entry`=1085 AND `description` LIKE '%Vorakem%';
|
||||
INSERT INTO `pool_template` (`entry`, `max_limit`, `description`) VALUES (1085, 1, 'Vorakem Doomspeaker (18679)');
|
||||
|
||||
DELETE FROM `pool_creature` WHERE `pool_entry`=1085 AND `description` LIKE '%Vorakem%';
|
||||
INSERT INTO `pool_creature` (`guid`, `pool_entry`, `chance`, `description`) VALUES
|
||||
(24922, 1085, 0, 'Vorakem Doomspeaker (18679)'),
|
||||
(24923, 1085, 0, 'Vorakem Doomspeaker (18679)'),
|
||||
(24924, 1085, 0, 'Vorakem Doomspeaker (18679)'),
|
||||
(24925, 1085, 0, 'Vorakem Doomspeaker (18679)');
|
||||
|
||||
-- It's another rare with DISABLE_MOVE added to it
|
||||
UPDATE `creature_template` SET `unit_flags`=`unit_flags`&~4 WHERE (`entry` = 18679);
|
||||
140
data/sql/updates/db_world/2023_02_18_07.sql
Normal file
140
data/sql/updates/db_world/2023_02_18_07.sql
Normal file
@@ -0,0 +1,140 @@
|
||||
-- DB update 2023_02_18_06 -> 2023_02_18_07
|
||||
--
|
||||
DELETE FROM `creature` WHERE `id1`=18648 AND `guid`=86357;
|
||||
INSERT INTO `creature`(`guid`, `id1`, `map`, `spawnMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `MovementType`) VALUES
|
||||
(86357, 18648, 530, 1, -1996.77, 3691.44, -55.336, 4.15348, 300, 2);
|
||||
|
||||
DELETE FROM `creature_addon` WHERE (`guid` = 86357);
|
||||
INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `visibilityDistanceType`, `auras`) VALUES
|
||||
(86357, 863570, 0, 0, 0, 0, 0, '');
|
||||
|
||||
DELETE FROM `waypoint_data` WHERE `id`=863570;
|
||||
INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`) VALUES
|
||||
(863570, 1, -1996.77, 3691.44, -55.336),
|
||||
(863570, 2, -2003.93, 3680, -62.9563),
|
||||
(863570, 3, -2012.14, 3673.5, -70.4843),
|
||||
(863570, 4, -2017.82, 3668.26, -70.9137),
|
||||
(863570, 5, -2025.06, 3661.79, -69.4269),
|
||||
(863570, 6, -2038.99, 3660.38, -66.7324),
|
||||
(863570, 7, -2053.45, 3649.44, -65.0682),
|
||||
(863570, 8, -2060.97, 3637.63, -65.2084),
|
||||
(863570, 9, -2065.82, 3627.13, -66.8755),
|
||||
(863570, 10, -2069.63, 3618.56, -63.7202),
|
||||
(863570, 11, -2075.9, 3605.38, -62.2908),
|
||||
(863570, 12, -2080.72, 3593.47, -63.6726),
|
||||
(863570, 13, -2086.85, 3577.68, -63.0435),
|
||||
(863570, 14, -2091.53, 3561.27, -63.9136),
|
||||
(863570, 15, -2091.9, 3558.99, -64.593),
|
||||
(863570, 16, -2093.33, 3551.36, -71.5948),
|
||||
(863570, 17, -2093.09, 3545.55, -60.957),
|
||||
(863570, 18, -2095.03, 3534.02, -57.587),
|
||||
(863570, 19, -2096.72, 3521.29, -56.1821),
|
||||
(863570, 20, -2097.01, 3513.11, -57.028),
|
||||
(863570, 21, -2099.07, 3493.34, -64.6929),
|
||||
(863570, 22, -2103.58, 3483.31, -63.2184),
|
||||
(863570, 23, -2105.74, 3475.41, -65.6768),
|
||||
(863570, 24, -2106.44, 3467.97, -64.468),
|
||||
(863570, 25, -2107.1, 3461.39, -65.8403),
|
||||
(863570, 26, -2108.14, 3449.75, -63.965),
|
||||
(863570, 27, -2108.91, 3436.89, -59.7906),
|
||||
(863570, 28, -2109.66, 3423.51, -52.8207),
|
||||
(863570, 29, -2112.76, 3413.32, -48.142),
|
||||
(863570, 30, -2121.64, 3404.88, -46.3506),
|
||||
(863570, 31, -2131.1, 3396.23, -44.9126),
|
||||
(863570, 32, -2134.37, 3389.37, -46.1489),
|
||||
(863570, 33, -2131.79, 3383.86, -49.3395),
|
||||
(863570, 34, -2128.36, 3376.67, -55.9128),
|
||||
(863570, 35, -2126.56, 3368.71, -56.1998),
|
||||
(863570, 36, -2127.56, 3362.95, -53.5525),
|
||||
(863570, 37, -2131.19, 3357.47, -46.1145),
|
||||
(863570, 38, -2125.85, 3347.14, -45.6573),
|
||||
(863570, 39, -2119.3, 3334.73, -47.1481),
|
||||
(863570, 40, -2110.68, 3321.54, -47.8091),
|
||||
(863570, 41, -2100.88, 3310.8, -48.6787),
|
||||
(863570, 42, -2090.47, 3299.05, -50.4756),
|
||||
(863570, 43, -2083.33, 3293.68, -55.9256),
|
||||
(863570, 44, -2078.28, 3287.97, -51.4244),
|
||||
(863570, 45, -2073.34, 3281.43, -52.9969),
|
||||
(863570, 46, -2063.93, 3268.75, -56.6561),
|
||||
(863570, 47, -2055.24, 3257.03, -59.2205),
|
||||
(863570, 48, -2053.2, 3252.83, -62.8816),
|
||||
(863570, 49, -2047.24, 3246.85, -73.0043),
|
||||
(863570, 50, -2043.23, 3243.11, -72.4173),
|
||||
(863570, 51, -2037.29, 3237.16, -69.086),
|
||||
(863570, 52, -2031.93, 3231.8, -70.0572),
|
||||
(863570, 53, -2037.81, 3237.48, -69.2409),
|
||||
(863570, 54, -2043.55, 3243.31, -72.4278),
|
||||
(863570, 55, -2047.31, 3246.89, -72.9844),
|
||||
(863570, 56, -2053.51, 3253.16, -62.3759),
|
||||
(863570, 57, -2055.88, 3257.93, -58.9112),
|
||||
(863570, 58, -2063.94, 3268.6, -56.6398),
|
||||
(863570, 59, -2073.83, 3281.86, -52.7742),
|
||||
(863570, 60, -2078.86, 3288.44, -51.4462),
|
||||
(863570, 61, -2083.72, 3293.82, -55.8937),
|
||||
(863570, 62, -2090.97, 3299.89, -50.4188),
|
||||
(863570, 63, -2101.03, 3310.92, -48.6276),
|
||||
(863570, 64, -2110.38, 3321.34, -47.8336),
|
||||
(863570, 65, -2118.06, 3332.77, -47.2585),
|
||||
(863570, 66, -2125.31, 3345.69, -45.7645),
|
||||
(863570, 67, -2131.76, 3358.36, -46.2777),
|
||||
(863570, 68, -2127.94, 3363.14, -53.5166),
|
||||
(863570, 69, -2126.84, 3369.1, -56.2019),
|
||||
(863570, 70, -2128.84, 3377.25, -55.5198),
|
||||
(863570, 71, -2132.2, 3383.99, -49.3382),
|
||||
(863570, 72, -2134.55, 3389.79, -45.954),
|
||||
(863570, 73, -2131.32, 3396.31, -44.8486),
|
||||
(863570, 74, -2121.76, 3405.02, -46.3264),
|
||||
(863570, 75, -2113.32, 3413.32, -47.9902),
|
||||
(863570, 76, -2110.22, 3423.3, -52.2944),
|
||||
(863570, 77, -2109.28, 3437.47, -60.2717),
|
||||
(863570, 78, -2108.45, 3449.68, -63.8449),
|
||||
(863570, 79, -2107.3, 3461.64, -65.6918),
|
||||
(863570, 80, -2106.68, 3468.04, -64.4831),
|
||||
(863570, 81, -2105.94, 3475.72, -65.4231),
|
||||
(863570, 82, -2103.89, 3483.71, -63.0018),
|
||||
(863570, 83, -2099.3, 3493.67, -64.4541),
|
||||
(863570, 84, -2097.45, 3513.67, -56.8631),
|
||||
(863570, 85, -2097.2, 3521.95, -56.0993),
|
||||
(863570, 86, -2095.39, 3534.9, -57.5393),
|
||||
(863570, 87, -2093.37, 3546, -61.2589),
|
||||
(863570, 88, -2093.66, 3551.82, -71.882),
|
||||
(863570, 89, -2092.36, 3558.82, -64.4532),
|
||||
(863570, 90, -2091.93, 3561.65, -63.5573),
|
||||
(863570, 91, -2086.94, 3578.34, -63.0179),
|
||||
(863570, 92, -2081, 3593.7, -63.4996),
|
||||
(863570, 93, -2076.34, 3605.29, -62.0478),
|
||||
(863570, 94, -2070.21, 3619.16, -63.7059),
|
||||
(863570, 95, -2066.15, 3627.76, -66.6732),
|
||||
(863570, 96, -2061.21, 3637.91, -65.0062),
|
||||
(863570, 97, -2053.49, 3650.07, -64.9078),
|
||||
(863570, 98, -2039.41, 3660.59, -66.5091),
|
||||
(863570, 99, -2025.45, 3662.06, -69.2666),
|
||||
(863570, 100, -2018.42, 3668.33, -70.7122),
|
||||
(863570, 101, -2012.08, 3674.36, -69.8961),
|
||||
(863570, 102, -2003.99, 3680.59, -62.4553),
|
||||
(863570, 103, -1996.95, 3691.94, -54.9681),
|
||||
(863570, 104, -1987.92, 3710.84, -41.6305),
|
||||
(863570, 105, -1980.74, 3729.54, -30.1387),
|
||||
(863570, 106, -1970.21, 3735.92, -23.6044),
|
||||
(863570, 107, -1956.11, 3741.73, -15.3974),
|
||||
(863570, 108, -1944.91, 3748.26, -11.1596),
|
||||
(863570, 109, -1935.12, 3754.11, -9.51987),
|
||||
(863570, 110, -1918.06, 3762.94, -6.23739),
|
||||
(863570, 111, -1907.43, 3768.79, -2.98779),
|
||||
(863570, 112, -1894.27, 3775.38, 5.33932),
|
||||
(863570, 113, -1885.92, 3779.56, 7.72026),
|
||||
(863570, 114, -1865.18, 3795.66, 7.24442),
|
||||
(863570, 115, -1848.48, 3803.51, 12.059),
|
||||
(863570, 116, -1830.9, 3805.41, 17.8008),
|
||||
(863570, 117, -1849.35, 3803.04, 11.8302),
|
||||
(863570, 118, -1866.25, 3795.23, 7.0094),
|
||||
(863570, 119, -1885.98, 3779.49, 7.72068),
|
||||
(863570, 120, -1892.23, 3776.35, 6.22982),
|
||||
(863570, 121, -1904.74, 3769.73, -1.31481),
|
||||
(863570, 122, -1917.84, 3762.46, -6.18441),
|
||||
(863570, 123, -1935.54, 3754.11, -9.53416),
|
||||
(863570, 124, -1944.97, 3748.29, -11.1474),
|
||||
(863570, 125, -1956.71, 3741.05, -16.0124),
|
||||
(863570, 126, -1970.67, 3735.79, -23.8129),
|
||||
(863570, 127, -1981.2, 3729.16, -30.45),
|
||||
(863570, 128, -1988.06, 3710.37, -41.9423);
|
||||
5
data/sql/updates/db_world/2023_02_18_08.sql
Normal file
5
data/sql/updates/db_world/2023_02_18_08.sql
Normal file
@@ -0,0 +1,5 @@
|
||||
-- DB update 2023_02_18_07 -> 2023_02_18_08
|
||||
--
|
||||
DELETE FROM `spell_script_names` WHERE `spell_id` = 38194;
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(38194, 'spell_talon_king_ikiss_blink');
|
||||
3
data/sql/updates/db_world/2023_02_19_00.sql
Normal file
3
data/sql/updates/db_world/2023_02_19_00.sql
Normal file
@@ -0,0 +1,3 @@
|
||||
-- DB update 2023_02_18_08 -> 2023_02_19_00
|
||||
--
|
||||
DELETE FROM `creature` WHERE `id1`=22102 AND `guid` IN (86101, 86102);
|
||||
377
data/sql/updates/db_world/2023_02_19_01.sql
Normal file
377
data/sql/updates/db_world/2023_02_19_01.sql
Normal file
@@ -0,0 +1,377 @@
|
||||
-- DB update 2023_02_19_00 -> 2023_02_19_01
|
||||
-- Add Burning Spikes to Domesticated Helboar
|
||||
UPDATE `creature_template_addon` SET `bytes2` = 0, `auras` = '33908' WHERE (`entry` = 21195);
|
||||
|
||||
-- Water Bubble to Captured Water Spirit
|
||||
DELETE FROM `creature_template_addon` WHERE (`entry` = 21029);
|
||||
INSERT INTO `creature_template_addon` (`entry`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `visibilityDistanceType`, `auras`) VALUES
|
||||
(21029, 0, 0, 0, 0, 0, 0, '35929');
|
||||
|
||||
-- Delete ALL Creatures exclusive to Coilskar Cistern
|
||||
DELETE FROM `creature` WHERE `map`=530 AND `id1` IN (
|
||||
19765, -- Coilskar Myrmidon
|
||||
19767, -- Coilskar Sorceress
|
||||
19788, -- Coilskar Muckwatcher
|
||||
21029, -- Captured Water Spirit
|
||||
21041, -- Earthmender Wilda Trigger
|
||||
21027, -- Earthmender Wilda
|
||||
21044, -- Coilskar Assassin (Spawned from Escort Quest)
|
||||
20795 -- Keeper of the Cistern
|
||||
);
|
||||
|
||||
-- Delete Coilskar Cobra in Coilskar Cistern
|
||||
DELETE FROM `creature` WHERE `id1`=19784 AND `guid` BETWEEN 70801 AND 70807;
|
||||
|
||||
DELETE FROM `creature` WHERE `id1` IN (19765,19767,19784,19788,21029,21041,21027,20795) AND `map`=530 AND `ZoneId`=3520 AND `guid` IN (23745,24189,24190,24191,24777,24788,24868,24869,24870,24915,24931,24944,24945,24946,24947,24948,24974,24975,24977,24978,24979,24980,24981,24982,24983,25010,25065,25094,25095,25096,25097,25098,25099,25111,25112,25113,25114,25115,25116,25117,25118,25119,25120,25121,25122,25123,25124,25125,25126,25127,25128,25129,25130,25713,25714,25715,25716,25717,25718,25719,25720,25721,25722,25723,25724,25725,25726,25727,25738,25739,25740,25741,25742,25743,25744);
|
||||
INSERT INTO `creature` (`guid`, `id1`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `MovementType`, `VerifiedBuild`) VALUES
|
||||
(23745, 19765, 530, 3520, 3749, 1, 1, 1, -2898.98, 1382.11, 6.15595, 1.85005, 300, 0, 0, 48069),
|
||||
(24189, 19765, 530, 3520, 3749, 1, 1, 1, -2913.56, 1391.4, 7.13094, 1.0472, 300, 0, 0, 48069),
|
||||
(24190, 19765, 530, 3520, 3749, 1, 1, 1, -2937.48, 1354.87, 6.92214, 4.7822, 300, 0, 0, 48069),
|
||||
(24191, 19765, 530, 3520, 3749, 1, 1, 1, -2902.86, 1303.16, 7.15851, 2.37365, 300, 0, 0, 48069),
|
||||
(24777, 19765, 530, 3520, 3749, 1, 1, 1, -2889.05, 1314.18, 6.65059, 3.40339, 300, 0, 0, 48069),
|
||||
(24788, 19765, 530, 3520, 3749, 1, 1, 1, -2902.24, 1330.04, 6.77553, 2.79253, 300, 0, 0, 48069),
|
||||
(24868, 19765, 530, 3520, 3749, 1, 1, 1, -2983.65, 1309.24, 8.58929, 3.71475, 300, 8, 1, 48069),
|
||||
(24869, 19765, 530, 3520, 3749, 1, 1, 1, -2942.56, 1284.57, 8.16425, 1.88496, 300, 0, 0, 48069),
|
||||
(24870, 19765, 530, 3520, 3749, 1, 1, 1, -2779.55, 1304.42, 33.4497, 5.93412, 300, 0, 0, 48069),
|
||||
(24915, 19765, 530, 3520, 3749, 1, 1, 1, -2817.55, 1224.34, 6.25537, 5.38328, 300, 0, 0, 48069),
|
||||
(24931, 19765, 530, 3520, 3749, 1, 1, 1, -2768.09, 1273.42, 33.7681, 1.5708, 300, 0, 0, 48069),
|
||||
(24944, 19765, 530, 3520, 3749, 1, 1, 1, -2764.94, 1317.1, 33.5025, 4.85202, 300, 0, 0, 48069),
|
||||
(24945, 19765, 530, 3520, 3749, 1, 1, 1, -2749.51, 1247.11, 33.245, 1.84797, 300, 0, 0, 48069),
|
||||
(24946, 19765, 530, 3520, 3749, 1, 1, 2, -2798.67, 1160.3, 6.693, 4.86947, 300, 0, 0, 48069),
|
||||
(24947, 19765, 530, 3520, 3749, 1, 1, 1, -2787.35, 1148.32, 7.55367, 1.06465, 300, 0, 0, 48069),
|
||||
(24948, 19765, 530, 3520, 3749, 1, 1, 1, -2628.65, 1223.29, 14.6047, 4.37468, 300, 0, 0, 48069),
|
||||
(24974, 19765, 530, 3520, 3749, 1, 1, 2, -2725.46, 1268.64, 33.3154, 1.15192, 300, 0, 0, 48069),
|
||||
(24975, 19765, 530, 3520, 3749, 1, 1, 1, -2641.38, 1229.79, 10.9875, 0.170716, 300, 3, 1, 48069),
|
||||
(24977, 19765, 530, 3520, 3749, 1, 1, 1, -2677.05, 1381.3, 38.0509, 5.044, 300, 0, 0, 48069),
|
||||
(24978, 19765, 530, 3520, 3749, 1, 1, 1, -2703.08, 1375.09, 38.6636, 5.88176, 300, 0, 0, 48069),
|
||||
(24979, 19767, 530, 3520, 3749, 1, 1, 1, -2976.08, 1333.87, 8.76729, 2.2356, 300, 4, 1, 48069),
|
||||
(24980, 19767, 530, 3520, 3749, 1, 1, 1, -2905.72, 1359.48, 6.14664, 4.48575, 300, 10, 1, 48069),
|
||||
(24981, 19767, 530, 3520, 3749, 1, 1, 1, -2934.01, 1326.69, 8.1525, 2.81793, 300, 6, 1, 48069),
|
||||
(24982, 19767, 530, 3520, 3749, 1, 1, 1, -2773.13, 1157.78, 7.20267, 1.13446, 300, 0, 0, 48069),
|
||||
(24983, 19767, 530, 3520, 3749, 1, 1, 1, -2731.41, 1259.01, 33.7358, 2.93215, 300, 0, 0, 48069),
|
||||
(25010, 19767, 530, 3520, 3749, 1, 1, 1, -2736.81, 1278.36, 33.3747, 3.22886, 300, 0, 0, 48069),
|
||||
(25065, 19767, 530, 3520, 3749, 1, 1, 1, -2690.81, 1366.14, 37.1067, 3.80006, 300, 0, 0, 48069),
|
||||
(25094, 19767, 530, 3520, 3749, 1, 1, 1, -2671.05, 1273.61, 27.3407, 2.36121, 300, 4, 1, 48069),
|
||||
(25095, 19767, 530, 3520, 3749, 1, 1, 1, -2650.98, 1287.83, 27.5096, 1.27681, 300, 4, 1, 48069),
|
||||
(25096, 19767, 530, 3520, 3749, 1, 1, 1, -2691.4, 1388.28, 38.6635, 6.05283, 300, 4, 1, 48069),
|
||||
(25097, 19767, 530, 3520, 3749, 1, 1, 1, -2655.43, 1354.2, 34.7295, 1.23625, 300, 8, 1, 48069),
|
||||
(25098, 19788, 530, 3520, 3749, 1, 1, 1, -2886.79, 1306.95, 5.7373, 2.81133, 300, 0, 0, 48069),
|
||||
(25099, 19788, 530, 3520, 3749, 1, 1, 1, -2805.56, 1369.56, 37.8528, 4.43144, 300, 0, 0, 48069),
|
||||
(25111, 19788, 530, 3520, 3749, 1, 1, 1, -2753.25, 1307.42, 33.4562, 3.61969, 300, 0, 0, 48069),
|
||||
(25112, 19788, 530, 3520, 3749, 1, 1, 1, -2729.97, 1141.34, 1.72704, 2.91288, 300, 0, 0, 48069),
|
||||
(25113, 19788, 530, 3520, 3749, 1, 1, 1, -2691.24, 1173.31, 5.5279, 3.77395, 300, 0, 0, 48069),
|
||||
(25114, 19788, 530, 3520, 3749, 1, 1, 1, -2670.11, 1283.01, 28.1491, 2.8624, 300, 0, 0, 48069),
|
||||
(25115, 19788, 530, 3520, 3749, 1, 1, 1, -2620.26, 1353.72, 37.1255, 3.66914, 300, 0, 0, 48069),
|
||||
(25116, 19788, 530, 3520, 3749, 1, 1, 1, -2636.63, 1372.52, 36.0204, 3.98698, 300, 0, 0, 48069),
|
||||
(25117, 19788, 530, 3520, 3749, 1, 1, 1, -2641.96, 1270.84, 24.3307, 2.474, 300, 0, 0, 48069),
|
||||
(25118, 20795, 530, 3520, 3749, 1, 1, 1, -2594.66, 1384.33, 44.3154, 6.12077, 300, 5, 1, 48069),
|
||||
(25119, 21027, 530, 3520, 3749, 1, 1, 0, -2616.36, 1372.07, 46.0286, 3.85718, 300, 0, 0, 48069),
|
||||
(25120, 21029, 530, 3520, 3749, 1, 1, 0, -2729.85, 1215.23, 48.2141, 1.5708, 300, 0, 0, 48069),
|
||||
(25121, 21029, 530, 3520, 3749, 1, 1, 0, -2721.25, 1216.49, 41.7782, 1.79769, 300, 0, 0, 48069),
|
||||
(25122, 21029, 530, 3520, 3749, 1, 1, 0, -2713.19, 1221.69, 38.1432, 2.0944, 300, 0, 0, 48069),
|
||||
(25123, 21029, 530, 3520, 3749, 1, 1, 0, -2711.53, 1230.92, 37.3221, 2.54818, 300, 0, 0, 48069),
|
||||
(25124, 21029, 530, 3520, 3749, 1, 1, 0, -2708.88, 1239.1, 38.1921, 3.08923, 300, 0, 0, 48069),
|
||||
(25125, 21041, 530, 3520, 3749, 1, 1, 0, -2638.89, 1358.96, 36.0438, 3.90954, 300, 0, 0, 48069),
|
||||
(25126, 21041, 530, 3520, 3749, 1, 1, 0, -2605.25, 1369.39, 49.1248, 4.03171, 300, 0, 0, 48069),
|
||||
(25127, 21041, 530, 3520, 3749, 1, 1, 0, -2605.53, 1374.24, 45.3846, 5.55015, 300, 0, 0, 48069),
|
||||
(25128, 21041, 530, 3520, 3749, 1, 1, 0, -2614.51, 1381.27, 51.6831, 5.55015, 300, 0, 0, 48069),
|
||||
(25129, 21041, 530, 3520, 3749, 1, 1, 0, -2610.76, 1377.7, 41.1437, 3.50811, 300, 0, 0, 48069),
|
||||
(25130, 21041, 530, 3520, 3749, 1, 1, 0, -2590.76, 1387.65, 55.0794, 4.10152, 300, 0, 0, 48069),
|
||||
(25713, 19784, 530, 3520, 3749, 1, 1, 0, -2924.55, 1371.39, 9.52825, 5.55015, 300, 0, 0, 48069),
|
||||
(25714, 19784, 530, 3520, 3749, 1, 1, 0, -2919.43, 1372.64, 8.37301, 6.12611, 300, 0, 0, 48069),
|
||||
(25715, 19784, 530, 3520, 3749, 1, 1, 0, -2960.01, 1304.2, 7.36165, 0.226893, 300, 0, 0, 48069),
|
||||
(25716, 19784, 530, 3520, 3749, 1, 1, 0, -2964.3, 1312.32, 7.70759, 0.890118, 300, 0, 0, 48069),
|
||||
(25717, 19784, 530, 3520, 3749, 1, 1, 0, -2851.26, 1239.81, 6.79606, 3.09596, 300, 5, 1, 48069),
|
||||
(25718, 19784, 530, 3520, 3749, 1, 1, 0, -2809.98, 1254.89, 26.471, 6.0912, 300, 0, 0, 48069),
|
||||
(25719, 19784, 530, 3520, 3749, 1, 1, 0, -2842.61, 1249.25, 6.79606, 1.18107, 300, 5, 1, 48069),
|
||||
(25720, 19784, 530, 3520, 3749, 1, 1, 0, -2810.6, 1257.84, 26.8763, 6.23417, 300, 0, 0, 48069),
|
||||
(25721, 19784, 530, 3520, 3749, 1, 1, 0, -2738.38, 1148.7, 3.50024, 3.33358, 300, 0, 0, 48069),
|
||||
(25722, 19784, 530, 3520, 3749, 1, 1, 0, -2741.38, 1138.88, 4.15881, 2.46091, 300, 0, 0, 48069),
|
||||
(25723, 19784, 530, 3520, 3749, 1, 1, 0, -2639.01, 1256.11, 21.8693, 5.35816, 300, 0, 0, 48069),
|
||||
(25724, 19784, 530, 3520, 3749, 1, 1, 0, -2628.61, 1256.51, 19.4139, 4.7473, 300, 0, 0, 48069),
|
||||
(25725, 19784, 530, 3520, 3749, 1, 1, 0, -2702.76, 1318.11, 34.033, 4.45059, 300, 0, 0, 48069),
|
||||
(25726, 19784, 530, 3520, 3749, 1, 1, 0, -2714.62, 1310.4, 34.1854, 5.3058, 300, 0, 0, 48069),
|
||||
(25727, 19784, 530, 3520, 3749, 1, 1, 0, -2580.79, 1389.61, 42.4415, 0.820305, 300, 0, 0, 48069),
|
||||
(25738, 19784, 530, 3520, 3749, 1, 1, 0, -2583.63, 1393.74, 42.5982, 0.471239, 300, 0, 0, 48069),
|
||||
(25739, 19784, 530, 3520, 3749, 1, 1, 0, -2780.42, 1393.01, 38.8631, 0.873989, 300, 5, 1, 48069),
|
||||
(25740, 19784, 530, 3520, 3749, 1, 1, 0, -2790.03, 1393.41, 39.1302, 1.59271, 300, 5, 1, 48069),
|
||||
(25741, 19784, 530, 3520, 3749, 1, 1, 0, -2708.27, 1223.95, 32.8727, 1.35922, 300, 5, 1, 48069),
|
||||
(25742, 19784, 530, 3520, 3749, 1, 1, 0, -2720.86, 1215.66, 37.045, 2.45076, 300, 5, 1, 48069),
|
||||
(25743, 19784, 530, 3520, 3749, 1, 1, 0, -2779.55, 1279.2603, 34.014435, 2.45076, 300, 0, 0, 48069),
|
||||
(25744, 19784, 530, 3520, 3749, 1, 1, 0, -2779.55, 1279.2603, 34.014435, 2.45076, 300, 0, 0, 48069);
|
||||
|
||||
SET @NPC := 24915;
|
||||
SET @PATH := @NPC * 10;
|
||||
UPDATE `creature` SET `wander_distance`=0,`MovementType`=2,`position_x`=-2823.2131,`position_y`=1231.4794,`position_z`=6.2438025 WHERE `guid`=@NPC;
|
||||
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
|
||||
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`visibilityDistanceType`,`auras`) VALUES (@NPC,@PATH,0,0,1,0,0, '');
|
||||
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
|
||||
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
|
||||
(@PATH,1,-2823.2131,1231.4794,6.2438025,NULL,0,0,0,100,0),
|
||||
(@PATH,2,-2812.9219,1218.5132,6.26481,NULL,0,0,0,100,0),
|
||||
(@PATH,3,-2809.2012,1208.1838,6.32249,NULL,0,0,0,100,0),
|
||||
(@PATH,4,-2806.4219,1203.8843,6.3185363,NULL,0,0,0,100,0),
|
||||
(@PATH,5,-2809.2012,1208.1838,6.32249,NULL,0,0,0,100,0),
|
||||
(@PATH,6,-2812.9219,1218.5132,6.26481,NULL,0,0,0,100,0);
|
||||
|
||||
SET @NPC := 24948;
|
||||
SET @PATH := @NPC * 10;
|
||||
UPDATE `creature` SET `wander_distance`=0,`MovementType`=2,`position_x`=-2644.4155,`position_y`=1194.6781,`position_z`=6.600725 WHERE `guid`=@NPC;
|
||||
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
|
||||
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`visibilityDistanceType`,`auras`) VALUES (@NPC,@PATH,0,0,1,0,0, '');
|
||||
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
|
||||
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
|
||||
(@PATH,1,-2644.4155,1194.6781,6.600725,NULL,0,0,0,100,0),
|
||||
(@PATH,2,-2634.681,1206.1174,10.327223,NULL,0,0,0,100,0),
|
||||
(@PATH,3,-2625.3433,1232.7086,16.544775,NULL,0,0,0,100,0),
|
||||
(@PATH,4,-2634.681,1206.1174,10.327223,NULL,0,0,0,100,0);
|
||||
|
||||
SET @NPC := 24945;
|
||||
SET @PATH := @NPC * 10;
|
||||
UPDATE `creature` SET `wander_distance`=0,`MovementType`=2,`position_x`=-2748.4146,`position_y`=1268.3123,`position_z`=33.184956 WHERE `guid`=@NPC;
|
||||
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
|
||||
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`visibilityDistanceType`,`auras`) VALUES (@NPC,@PATH,0,0,1,0,0, '');
|
||||
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
|
||||
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
|
||||
(@PATH,1,-2748.4146,1268.3123,33.184956,NULL,0,0,0,100,0),
|
||||
(@PATH,2,-2753.3994,1260.7609,33.38965,NULL,0,0,0,100,0),
|
||||
(@PATH,3,-2749.2388,1246.1364,33.239746,NULL,0,0,0,100,0),
|
||||
(@PATH,4,-2740.1255,1235.6766,33.070683,NULL,0,0,0,100,0),
|
||||
(@PATH,5,-2722.9575,1231.541,33.249657,NULL,0,0,0,100,0),
|
||||
(@PATH,6,-2740.1255,1235.6766,33.070683,NULL,0,0,0,100,0),
|
||||
(@PATH,7,-2749.2388,1246.1364,33.239746,NULL,0,0,0,100,0),
|
||||
(@PATH,8,-2753.3994,1260.7609,33.38965,NULL,0,0,0,100,0);
|
||||
|
||||
SET @NPC := 25112;
|
||||
SET @PATH := @NPC * 10;
|
||||
UPDATE `creature` SET `wander_distance`=0,`MovementType`=2,`position_x`=-2762.0657,`position_y`=1151.654,`position_z`=6.546216 WHERE `guid`=@NPC;
|
||||
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
|
||||
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`visibilityDistanceType`,`auras`) VALUES (@NPC,@PATH,0,0,1,0,0, '');
|
||||
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
|
||||
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
|
||||
(@PATH,1,-2762.0657,1151.654,6.546216,NULL,0,0,0,100,0),
|
||||
(@PATH,2,-2748.221,1145.59,4.7005005,NULL,0,0,0,100,0),
|
||||
(@PATH,3,-2728.986,1141.1119,1.6215124,NULL,0,0,0,100,0),
|
||||
(@PATH,4,-2712.8843,1145.7828,2.4614542,NULL,0,0,0,100,0),
|
||||
(@PATH,5,-2704.414,1160.1536,5.125069,NULL,0,0,0,100,0),
|
||||
(@PATH,6,-2712.8843,1145.7828,2.4614542,NULL,0,0,0,100,0),
|
||||
(@PATH,7,-2728.986,1141.1119,1.6215124,NULL,0,0,0,100,0),
|
||||
(@PATH,8,-2748.221,1145.59,4.7005005,NULL,0,0,0,100,0);
|
||||
|
||||
SET @NPC := 25111;
|
||||
SET @PATH := @NPC * 10;
|
||||
UPDATE `creature` SET `wander_distance`=0,`MovementType`=2,`position_x`=-2759.5168,`position_y`=1304.1704,`position_z`=33.314373 WHERE `guid`=@NPC;
|
||||
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
|
||||
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`visibilityDistanceType`,`auras`) VALUES (@NPC,@PATH,0,0,1,0,0, '');
|
||||
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
|
||||
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
|
||||
(@PATH,1,-2759.5168,1304.1704,33.314373,NULL,0,0,0,100,0),
|
||||
(@PATH,2,-2746.1182,1311.1138,33.605423,NULL,0,0,0,100,0),
|
||||
(@PATH,3,-2719.3152,1324.5756,33.971096,NULL,0,0,0,100,0),
|
||||
(@PATH,4,-2698.994,1332.9515,34.436684,NULL,0,0,0,100,0),
|
||||
(@PATH,5,-2683.1274,1345.1252,34.436684,NULL,0,0,0,100,0),
|
||||
(@PATH,6,-2668.0637,1348.902,34.48238,NULL,0,0,0,100,0),
|
||||
(@PATH,7,-2683.1274,1345.1252,34.436684,NULL,0,0,0,100,0),
|
||||
(@PATH,8,-2698.9836,1332.9558,34.436684,NULL,0,0,0,100,0),
|
||||
(@PATH,9,-2719.3152,1324.5756,33.971096,NULL,0,0,0,100,0),
|
||||
(@PATH,10,-2746.1182,1311.1138,33.605423,NULL,0,0,0,100,0);
|
||||
|
||||
SET @NPC := 25117;
|
||||
SET @PATH := @NPC * 10;
|
||||
UPDATE `creature` SET `wander_distance`=0,`MovementType`=2,`position_x`=-2641.9058,`position_y`=1268.142,`position_z`=23.927183 WHERE `guid`=@NPC;
|
||||
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
|
||||
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`visibilityDistanceType`,`auras`) VALUES (@NPC,@PATH,0,0,1,0,0, '');
|
||||
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
|
||||
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
|
||||
(@PATH,1 ,-2641.9058,1268.142,23.927183,NULL,0,0,0,100,0),
|
||||
(@PATH,2 ,-2650.1309,1277.2792,25.416039,NULL,0,0,0,100,0),
|
||||
(@PATH,3 ,-2673.4944,1283.977,29.292665,NULL,0,0,0,100,0),
|
||||
(@PATH,4 ,-2691.0823,1290.7217,33.745926,NULL,0,0,0,100,0),
|
||||
(@PATH,5 ,-2705.8076,1298.7185,32.94668,NULL,0,0,0,100,0),
|
||||
(@PATH,6 ,-2709.4016,1314.3235,33.262363,NULL,0,0,0,100,0),
|
||||
(@PATH,7 ,-2705.8076,1298.7185,32.94668,NULL,0,0,0,100,0),
|
||||
(@PATH,8 ,-2691.0823,1290.7217,33.745926,NULL,0,0,0,100,0),
|
||||
(@PATH,9 ,-2673.4944,1283.977,29.292665,NULL,0,0,0,100,0),
|
||||
(@PATH,10,-2650.1309,1277.2792,25.416039,NULL,0,0,0,100,0);
|
||||
|
||||
SET @NPC := 25098;
|
||||
SET @PATH := @NPC * 10;
|
||||
UPDATE `creature` SET `wander_distance`=0,`MovementType`=2,`position_x`=-2912.6753,`position_y`=1318.8967,`position_z`=6.3883452 WHERE `guid`=@NPC;
|
||||
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
|
||||
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`visibilityDistanceType`,`auras`) VALUES (@NPC,@PATH,0,0,1,0,0, '');
|
||||
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
|
||||
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
|
||||
(@PATH,1 ,-2912.6753,1318.8967,6.3883452,NULL,0,0,0,100,0),
|
||||
(@PATH,2 ,-2906.6418,1313.7617,6.6383452,NULL,0,0,0,100,0),
|
||||
(@PATH,3 ,-2893.7417,1307.0945,6.3466606,NULL,0,0,0,100,0),
|
||||
(@PATH,4 ,-2880.6794,1305.1588,5.410137,NULL,0,0,0,100,0),
|
||||
(@PATH,5 ,-2858.01,1298.7424,6.7960815,NULL,0,0,0,100,0),
|
||||
(@PATH,6 ,-2842.9072,1292.9916,6.1282473,NULL,0,0,0,100,0),
|
||||
(@PATH,7 ,-2843.1912,1280.0597,7.683124,NULL,0,0,0,100,0),
|
||||
(@PATH,8 ,-2848.1216,1266.8289,8.083833,NULL,0,0,0,100,0),
|
||||
(@PATH,9 ,-2853.8364,1255.8324,6.9199033,NULL,0,0,0,100,0),
|
||||
(@PATH,10,-2842.4497,1243.7681,6.7960606,NULL,0,0,0,100,0),
|
||||
(@PATH,11,-2853.8364,1255.8324,6.9199033,NULL,0,0,0,100,0),
|
||||
(@PATH,12,-2848.1216,1266.8289,8.083833,NULL,0,0,0,100,0),
|
||||
(@PATH,13,-2843.1912,1280.0597,7.683124,NULL,0,0,0,100,0),
|
||||
(@PATH,14,-2842.9072,1292.9916,6.1282473,NULL,0,0,0,100,0),
|
||||
(@PATH,15,-2858.01,1298.7424,6.7960815,NULL,0,0,0,100,0),
|
||||
(@PATH,16,-2880.6794,1305.1588,5.410137,NULL,0,0,0,100,0),
|
||||
(@PATH,17,-2893.7417,1307.0945,6.3466606,NULL,0,0,0,100,0),
|
||||
(@PATH,18,-2906.6418,1313.7617,6.6383452,NULL,0,0,0,100,0);
|
||||
|
||||
SET @NPC := 25114;
|
||||
SET @PATH := @NPC * 10;
|
||||
UPDATE `creature` SET `wander_distance`=0,`MovementType`=2,`position_x`=-2709.4016,`position_y`=1314.3235,`position_z`=33.262363 WHERE `guid`=@NPC;
|
||||
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
|
||||
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`visibilityDistanceType`,`auras`) VALUES (@NPC,@PATH,0,0,1,0,0, '');
|
||||
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
|
||||
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
|
||||
(@PATH,1 ,-2709.4016,1314.3235,33.262363,NULL,0,0,0,100,0),
|
||||
(@PATH,2 ,-2705.8076,1298.7185,32.94668,NULL,0,0,0,100,0),
|
||||
(@PATH,3 ,-2691.0823,1290.7217,33.745926,NULL,0,0,0,100,0),
|
||||
(@PATH,4 ,-2673.4944,1283.977,29.292665,NULL,0,0,0,100,0),
|
||||
(@PATH,5 ,-2650.1309,1277.2792,25.416039,NULL,0,0,0,100,0),
|
||||
(@PATH,6 ,-2641.9058,1268.142,23.927183,NULL,0,0,0,100,0),
|
||||
(@PATH,7 ,-2650.1309,1277.2792,25.416039,NULL,0,0,0,100,0),
|
||||
(@PATH,8 ,-2673.4944,1283.977,29.292665,NULL,0,0,0,100,0),
|
||||
(@PATH,9 ,-2691.0823,1290.7217,33.745926,NULL,0,0,0,100,0),
|
||||
(@PATH,10,-2705.8076,1298.7185,32.94668,NULL,0,0,0,100,0);
|
||||
|
||||
SET @NPC := 25116;
|
||||
SET @PATH := @NPC * 10;
|
||||
UPDATE `creature` SET `wander_distance`=0,`MovementType`=2,`position_x`=-2643.4558,`position_y`=1364.8234,`position_z`=35.86493 WHERE `guid`=@NPC;
|
||||
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
|
||||
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`visibilityDistanceType`,`auras`) VALUES (@NPC,@PATH,0,0,1,0,0, '');
|
||||
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
|
||||
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
|
||||
(@PATH,1 ,-2643.4558,1364.8234,35.86493,NULL,0,0,0,100,0),
|
||||
(@PATH,2 ,-2634.716,1374.6797,36.22216,NULL,0,0,0,100,0),
|
||||
(@PATH,3 ,-2626.5833,1383.2074,37.50213,NULL,0,0,0,100,0),
|
||||
(@PATH,4 ,-2618.2117,1387.6519,39.28746,NULL,0,0,0,100,0),
|
||||
(@PATH,5 ,-2611.0234,1393.2262,41.428757,NULL,0,0,0,100,0),
|
||||
(@PATH,6 ,-2602.1787,1400.6476,41.767567,NULL,0,0,0,100,0),
|
||||
(@PATH,7 ,-2611.0234,1393.2262,41.428757,NULL,0,0,0,100,0),
|
||||
(@PATH,8 ,-2618.2117,1387.6519,39.28746,NULL,0,0,0,100,0),
|
||||
(@PATH,9 ,-2626.5833,1383.2074,37.50213,NULL,0,0,0,100,0),
|
||||
(@PATH,10,-2634.716,1374.6797,36.22216,NULL,0,0,0,100,0);
|
||||
|
||||
SET @NPC := 25099;
|
||||
SET @PATH := @NPC * 10;
|
||||
UPDATE `creature` SET `wander_distance`=0,`MovementType`=2,`position_x`=-2809.3833,`position_y`=1356.3115,`position_z`=37.325497 WHERE `guid`=@NPC;
|
||||
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
|
||||
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`visibilityDistanceType`,`auras`) VALUES (@NPC,@PATH,0,0,1,0,0, '');
|
||||
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
|
||||
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
|
||||
(@PATH,1,-2809.3833,1356.3115,37.325497,NULL,0,0,0,100,0),
|
||||
(@PATH,2,-2804.8496,1338.0927,36.000645,NULL,0,0,0,100,0),
|
||||
(@PATH,3,-2784.9128,1322.3423,33.37369,NULL,0,0,0,100,0),
|
||||
(@PATH,4,-2772.6155,1327.1848,33.624535,NULL,0,0,0,100,0),
|
||||
(@PATH,5,-2767.8467,1360.8962,35.79723,NULL,0,0,0,100,0),
|
||||
(@PATH,6,-2784.864,1388.3601,38.49067,NULL,0,0,0,100,0),
|
||||
(@PATH,7,-2801.9087,1382.2137,38.60972,NULL,0,0,0,100,0);
|
||||
|
||||
SET @NPC := 25113;
|
||||
SET @PATH := @NPC * 10;
|
||||
UPDATE `creature` SET `wander_distance`=0,`MovementType`=2,`position_x`=-2655.3274,`position_y`=1202.3822,`position_z`=6.115521 WHERE `guid`=@NPC;
|
||||
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
|
||||
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`visibilityDistanceType`,`auras`) VALUES (@NPC,@PATH,0,0,1,0,0, '');
|
||||
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
|
||||
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
|
||||
(@PATH,1,-2655.3274,1202.3822,6.115521,NULL,0,0,0,100,0),
|
||||
(@PATH,2,-2666.605,1190.8188,3.529532,NULL,0,0,0,100,0),
|
||||
(@PATH,3,-2679.0286,1182.2574,4.7928033,NULL,0,0,0,100,0),
|
||||
(@PATH,4,-2699.4224,1167.3142,5.547194,NULL,0,0,0,100,0),
|
||||
(@PATH,5,-2679.0286,1182.2574,4.7928033,NULL,0,0,0,100,0),
|
||||
(@PATH,6,-2666.6719,1190.7727,3.5094023,NULL,0,0,0,100,0);
|
||||
|
||||
SET @NPC := 25115;
|
||||
SET @PATH := @NPC * 10;
|
||||
UPDATE `creature` SET `wander_distance`=0,`MovementType`=2,`position_x`=-2634.4636,`position_y`=1345.4458,`position_z`=35.481934 WHERE `guid`=@NPC;
|
||||
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
|
||||
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`visibilityDistanceType`,`auras`) VALUES (@NPC,@PATH,0,0,1,0,0, '');
|
||||
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
|
||||
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
|
||||
(@PATH,1,-2634.4636,1345.4458,35.481934,NULL,0,0,0,100,0),
|
||||
(@PATH,2,-2620.018,1353.861,37.13554,NULL,0,0,0,100,0),
|
||||
(@PATH,3,-2598.73,1358.416,38.889954,NULL,0,0,0,100,0),
|
||||
(@PATH,4,-2590.0383,1365.4989,40.473846,NULL,0,0,0,100,0),
|
||||
(@PATH,5,-2598.73,1358.416,38.889954,NULL,0,0,0,100,0),
|
||||
(@PATH,6,-2620.018,1353.861,37.13554,NULL,0,0,0,100,0);
|
||||
|
||||
SET @NPC := 25743;
|
||||
SET @PATH := @NPC * 10;
|
||||
UPDATE `creature` SET `wander_distance`=0,`MovementType`=2,`position_x`=-2779.55,`position_y`=1279.2603,`position_z`=34.014435 WHERE `guid`=@NPC;
|
||||
DELETE FROM `creature_addon` WHERE `guid`=@NPC;
|
||||
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`visibilityDistanceType`,`auras`) VALUES (@NPC,@PATH,0,0,1,0,0, '');
|
||||
DELETE FROM `waypoint_data` WHERE `id`=@PATH;
|
||||
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
|
||||
(@PATH,1,-2779.55,1279.2603,34.014435,NULL,0,0,0,100,0),
|
||||
(@PATH,2,-2799.971,1261.2897,33.647408,NULL,0,0,0,100,0),
|
||||
(@PATH,3,-2810.8,1254.8387,31.11925,NULL,0,0,0,100,0),
|
||||
(@PATH,4,-2799.971,1261.2897,33.647408,NULL,0,0,0,100,0);
|
||||
|
||||
DELETE FROM `creature_formations` WHERE `memberGUID` IN (25743, 25744);
|
||||
INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`) VALUES
|
||||
(25743, 25743, 0, 0, 3),
|
||||
(25743, 25744, 3, 90, 515);
|
||||
|
||||
-- Sorceress (-25065)
|
||||
DELETE FROM `waypoints` WHERE `entry`=1976700 AND `point_comment`='Coilskar Sorceress';
|
||||
INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `orientation`, `point_comment`) VALUES
|
||||
(1976700,1,-2699.7734,1352.9802,32.96573,NULL,'Coilskar Sorceress'),
|
||||
(1976700,2,-2695.3882,1362.5975,35.82666,NULL,'Coilskar Sorceress'),
|
||||
(1976700,3,-2687.7195,1368.574,37.474815,NULL,'Coilskar Sorceress'),
|
||||
(1976700,4,-2677.8486,1371.7639,36.15712,NULL,'Coilskar Sorceress'),
|
||||
(1976700,5,-2668.1536,1368.8298,33.586617,NULL,'Coilskar Sorceress'),
|
||||
(1976700,6,-2677.8486,1371.7639,36.15712,NULL,'Coilskar Sorceress'),
|
||||
(1976700,7,-2687.6226,1368.6053,37.475197,NULL,'Coilskar Sorceress'),
|
||||
(1976700,8,-2695.3882,1362.5975,35.82666,NULL,'Coilskar Sorceress'),
|
||||
(1976700,9,-2699.7734,1352.9802,32.96573,NULL,'Coilskar Sorceress');
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 19767);
|
||||
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`, `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
|
||||
(19767, 0, 0, 0, 0, 0, 100, 0, 0, 1000, 2500, 4700, 0, 11, 32011, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Coilskar Sorceress - In Combat - Cast \'Water Bolt\''),
|
||||
(19767, 0, 1, 0, 2, 0, 100, 1, 0, 80, 0, 0, 0, 11, 38026, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Coilskar Sorceress - Between 0-80% Health - Cast \'Viscous Shield\' (No Repeat)');
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = -25065);
|
||||
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`, `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
|
||||
(-25065, 0, 0, 0, 0, 0, 100, 0, 0, 1000, 2500, 4700, 0, 11, 32011, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Coilskar Sorceress - In Combat - Cast \'Water Bolt\''),
|
||||
(-25065, 0, 1, 0, 2, 0, 100, 1, 0, 80, 0, 0, 0, 11, 38026, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Coilskar Sorceress - Between 0-80% Health - Cast \'Viscous Shield\' (No Repeat)'),
|
||||
(-25065, 0, 1001, 1002, 11, 0, 100, 0, 0, 0, 0, 0, 0, 22, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Coilskar Sorceress - On Respawn - Set Event Phase 1'),
|
||||
(-25065, 0, 1002, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 53, 0, 1976700, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Coilskar Sorceress - On Respawn - Start Waypoint'),
|
||||
(-25065, 0, 1003, 0, 1, 0, 100, 0, 60000, 120000, 60000, 120000, 0, 80, 1976700, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Coilskar Sorceress - Out of Combat - Run Script');
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 1976700);
|
||||
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`, `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
|
||||
(1976700, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 54, 13000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Coilskar Sorceress - Actionlist - Pause Waypoint'),
|
||||
(1976700, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 69, 0, 0, 0, 2, 0, 0, 19, 19765, 30, 0, 0, 0, 0, 0, 0, 'Coilskar Sorceress - Actionlist - Move To Closest Creature \'Coilskar Myrmidon\''),
|
||||
(1976700, 9, 2, 0, 0, 0, 100, 0, 3600, 3600, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Coilskar Sorceress - Actionlist - Say Line 0'),
|
||||
(1976700, 9, 3, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 19, 19765, 10, 0, 0, 0, 0, 0, 0, 'Coilskar Sorceress - Actionlist - Set Data 1 1'),
|
||||
(1976700, 9, 5, 0, 0, 0, 100, 0, 2600, 2600, 0, 0, 0, 45, 2, 2, 0, 0, 0, 0, 19, 19765, 10, 0, 0, 0, 0, 0, 0, 'Coilskar Sorceress - Actionlist - Set Data 2 2'),
|
||||
(1976700, 9, 6, 0, 0, 0, 100, 0, 1200, 1200, 0, 0, 0, 5, 15, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Coilskar Sorceress - Actionlist - Play Emote 15');
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 19765);
|
||||
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`, `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
|
||||
(19765, 0, 0, 0, 9, 0, 100, 0, 0, 20, 11500, 13000, 0, 11, 38027, 32, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Coilskar Myrmidon - Within 0-20 Range - Cast \'Boiling Blood\''),
|
||||
(19765, 0, 1, 0, 38, 0, 100, 0, 1, 1, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 19, 19767, 10, 0, 0, 0, 0, 0, 0, 'Coilskar Myrmidon - On Data Set 1 1 - Set Orientation Closest Creature \'Coilskar Sorceress\''),
|
||||
(19765, 0, 2, 0, 38, 0, 100, 0, 2, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Coilskar Myrmidon - On Data Set 2 2 - Say Line 0');
|
||||
|
||||
DELETE FROM `creature_text` WHERE `CreatureID` IN (19767, 19765) AND `GroupID`=0;
|
||||
INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Probability`, `Emote`, `BroadcastTextId`, `comment`) VALUES
|
||||
(19767, 0, 0, 'Stay alert!', 12, 100, 1, 17711, 'Coilskar Sorceress'),
|
||||
(19767, 0, 1, 'Be wary of intruders.', 12, 100, 1, 17713, 'Coilskar Sorceress'),
|
||||
(19767, 0, 2, 'We must not fail the master.', 12, 100, 1, 17715, 'Coilskar Sorceress'),
|
||||
(19765, 0, 0, 'Understood.', 12, 100, 1, 18146, 'Coilskar Myrmidon'),
|
||||
(19765, 0, 1, 'We will not fail.', 12, 100, 1, 18410, 'Coilskar Myrmidon');
|
||||
|
||||
-- EmoteState for Myrmidons
|
||||
DELETE FROM `creature_equip_template` WHERE (`CreatureID` = 19765);
|
||||
INSERT INTO `creature_equip_template` (`CreatureID`, `ID`, `ItemID1`, `ItemID2`, `ItemID3`, `VerifiedBuild`) VALUES
|
||||
(19765, 1, 28965, 0, 0, 18019),
|
||||
(19765, 2, 2028, 0, 0, 18019);
|
||||
|
||||
DELETE FROM `creature_addon` WHERE `guid` IN (24946, 24974);
|
||||
INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`visibilityDistanceType`,`auras`) VALUES
|
||||
(24946,0,0,0,1,173,0, ''),
|
||||
(24974,0,0,0,1,173,0, '');
|
||||
4
data/sql/updates/db_world/2023_02_19_02.sql
Normal file
4
data/sql/updates/db_world/2023_02_19_02.sql
Normal file
@@ -0,0 +1,4 @@
|
||||
-- DB update 2023_02_19_01 -> 2023_02_19_02
|
||||
--
|
||||
DELETE FROM `npc_vendor` WHERE `entry` = 20130;
|
||||
UPDATE `creature_template` SET `npcflag` = `npcflag`&~(128) WHERE `entry` = 20130;
|
||||
44
data/sql/updates/db_world/2023_02_19_03.sql
Normal file
44
data/sql/updates/db_world/2023_02_19_03.sql
Normal file
@@ -0,0 +1,44 @@
|
||||
-- DB update 2023_02_19_02 -> 2023_02_19_03
|
||||
--
|
||||
DELETE FROM `waypoints` WHERE `entry`=17848;
|
||||
|
||||
DELETE FROM `waypoint_data` WHERE `id` IN (178480,178481);
|
||||
INSERT INTO `waypoint_data` VALUES
|
||||
(178480,1,2145.6123,124.77572,76.18501,NULL,0,1,0,100,0),
|
||||
(178480,2,2146.5122,117.58604,76.04292,NULL,0,1,0,100,0),
|
||||
(178480,3,2148.4314,101.62945,73.041336,NULL,0,1,0,100,0),
|
||||
(178480,4,2151.864,88.83778,69.48506,NULL,0,1,0,100,0),
|
||||
(178480,5,2149.0708,83.53852,69.1086,NULL,0,1,0,100,0),
|
||||
(178480,6,2142.1206,79.21365,68.06233,NULL,0,1,0,100,0),
|
||||
(178480,7,2132.0854,73.20009,64.77117,NULL,0,1,0,100,0),
|
||||
(178480,8,2128.2366,71.17936,64.41205,NULL,1200,1,0,100,0),
|
||||
(178480,9,2125.2478,89.376305,54.71777,NULL,0,1,0,100,0),
|
||||
(178480,10,2119.832,93.372505,52.565914,NULL,0,1,0,100,0),
|
||||
(178480,11,2113.8572,93.34234,52.590572,NULL,0,1,0,100,0),
|
||||
|
||||
(178481,1,2113.8572,93.34234,52.590572,NULL,0,0,0,100,0),
|
||||
(178481,2,2111.2415,103.42893,52.565914,NULL,0,0,0,100,0),
|
||||
(178481,3,2109.1719,113.15994,52.90283,NULL,0,0,0,100,0),
|
||||
(178481,4,2107.6462,126.1786,52.565914,NULL,0,0,0,100,0),
|
||||
(178481,5,2107.979,138.13727,52.546013,NULL,0,0,0,100,0),
|
||||
(178481,6,2112.6594,153.49968,52.56591,NULL,0,0,0,100,0),
|
||||
(178481,7,2120.5117,168.8968,52.81591,NULL,0,0,0,100,0),
|
||||
(178481,8,2124.643,175.81912,52.92492,NULL,0,0,0,100,0),
|
||||
(178481,9,2128.9448,182.75977,53.179924,NULL,0,0,0,100,0),
|
||||
(178481,10,2138.4214,195.35818,52.565907,NULL,0,0,0,100,0),
|
||||
(178481,11,2147.3398,204.56651,52.92638,NULL,0,0,0,100,0),
|
||||
(178481,12,2160.0496,214.06728,52.56542,NULL,0,0,0,100,0),
|
||||
(178481,13,2172.4766,224.48166,52.56554,NULL,0,0,0,100,0),
|
||||
(178481,14,2179.8486,230.77225,52.565907,NULL,0,0,0,100,0),
|
||||
(178481,15,2172.4766,224.48166,52.56554,NULL,0,0,0,100,0),
|
||||
(178481,16,2160.0496,214.06728,52.56542,NULL,0,0,0,100,0),
|
||||
(178481,17,2147.3398,204.56651,52.92638,NULL,0,0,0,100,0),
|
||||
(178481,18,2138.4214,195.35818,52.565907,NULL,0,0,0,100,0),
|
||||
(178481,19,2128.9448,182.75977,53.179924,NULL,0,0,0,100,0),
|
||||
(178481,20,2124.643,175.81912,52.92492,NULL,0,0,0,100,0),
|
||||
(178481,21,2120.5117,168.8968,52.81591,NULL,0,0,0,100,0),
|
||||
(178481,22,2112.6594,153.49968,52.56591,NULL,0,0,0,100,0),
|
||||
(178481,23,2107.979,138.13727,52.546013,NULL,0,0,0,100,0),
|
||||
(178481,24,2107.6462,126.1786,52.565914,NULL,0,0,0,100,0),
|
||||
(178481,25,2109.1719,113.15994,52.90283,NULL,0,0,0,100,0),
|
||||
(178481,26,2111.2415,103.42893,52.565914,NULL,0,0,0,100,0);
|
||||
7
data/sql/updates/db_world/2023_02_19_04.sql
Normal file
7
data/sql/updates/db_world/2023_02_19_04.sql
Normal file
@@ -0,0 +1,7 @@
|
||||
-- DB update 2023_02_19_03 -> 2023_02_19_04
|
||||
--
|
||||
UPDATE `creature_onkill_reputation` SET `MaxStanding1`=4 WHERE `creature_id` IN (18394,18429);
|
||||
DELETE FROM `creature_onkill_reputation` WHERE `creature_id` IN (20262,20252);
|
||||
INSERT INTO `creature_onkill_reputation` VALUES
|
||||
(20262,933,0,7,0,15,0,0,0,0),
|
||||
(20252,933,0,7,0,15,0,0,0,0);
|
||||
3
data/sql/updates/db_world/2023_02_19_05.sql
Normal file
3
data/sql/updates/db_world/2023_02_19_05.sql
Normal file
@@ -0,0 +1,3 @@
|
||||
-- DB update 2023_02_19_04 -> 2023_02_19_05
|
||||
--
|
||||
UPDATE `smart_scripts` SET `event_type`=0, `event_param1`=2000, `event_param2`=6000, `event_param3`=12000, `target_type`=5, `target_param1`=25 WHERE `entryorguid`=18311 AND `source_type`=0 AND `id`=4;
|
||||
3
data/sql/updates/db_world/2023_02_19_06.sql
Normal file
3
data/sql/updates/db_world/2023_02_19_06.sql
Normal file
@@ -0,0 +1,3 @@
|
||||
-- DB update 2023_02_19_05 -> 2023_02_19_06
|
||||
-- Fenrus the Devourer - Increase MaxDistance from 100 to 200
|
||||
UPDATE `smart_scripts` SET `target_param2` = 200 WHERE `entryorguid` = 4274 AND `target_param1` = 4275;
|
||||
247
data/sql/updates/db_world/2023_02_19_07.sql
Normal file
247
data/sql/updates/db_world/2023_02_19_07.sql
Normal file
@@ -0,0 +1,247 @@
|
||||
-- DB update 2023_02_19_06 -> 2023_02_19_07
|
||||
-- Marticar (18680)
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 18680);
|
||||
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`, `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
|
||||
(18680, 0, 0, 0, 4, 0, 100, 0, 0, 0, 0, 0, 0, 11, 32039, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Marticar - On Aggro - Cast \'Magnetic Pull\''),
|
||||
(18680, 0, 1, 0, 9, 0, 100, 0, 0, 8, 12000, 16000, 0, 11, 35493, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Marticar - Within 0-8 Range - Cast \'Forked Lightning Tether\''),
|
||||
(18680, 0, 2, 0, 9, 0, 100, 0, 10, 40, 12000, 16000, 0, 11, 32039, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 'Marticar - Within 10-40 Range - Cast \'Magnetic Pull\'');
|
||||
|
||||
-- Coilfang Emissary (18681)
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 18681);
|
||||
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`, `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
|
||||
(18681, 0, 0, 0, 9, 0, 100, 0, 0, 10, 8000, 15000, 0, 11, 33860, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 'Coilfang Emissary - Within 0-10 Range - Cast \'Arcane Explosion\''),
|
||||
(18681, 0, 1, 0, 0, 0, 100, 0, 6000, 10000, 14000, 21000, 0, 11, 39207, 64, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 'Coilfang Emissary - In Combat - Cast \'Water Spout\''),
|
||||
(18681, 0, 2, 0, 9, 0, 100, 0, 0, 10, 12000, 16000, 0, 11, 11831, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 'Coilfang Emissary - Within 0-10 Range - Cast \'Frost Nova\''),
|
||||
(18681, 0, 3, 0, 9, 0, 100, 0, 0, 40, 3400, 4800, 0, 11, 20297, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Coilfang Emissary - Within 0-40 Range - Cast \'Frostbolt\'');
|
||||
|
||||
-- Bog Lurker (18682)
|
||||
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 18682);
|
||||
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`, `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
|
||||
(18682, 0, 0, 0, 9, 0, 100, 0, 0, 5, 12000, 16000, 0, 11, 35238, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 'Bog Lurker - Within 0-5 Range - Cast \'War Stomp\''),
|
||||
(18682, 0, 1, 0, 2, 0, 100, 0, 0, 50, 22000, 26000, 0, 11, 34163, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Bog Lurker - Between 0-50% Health - Cast \'Fungal Regrowth\'');
|
||||
|
||||
SET @CGUID := 25101;
|
||||
|
||||
DELETE FROM `creature` WHERE `id1` IN (18680, 18681, 18682);
|
||||
INSERT INTO `creature` (`guid`, `id1`, `map`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `MovementType`, `wander_distance`) VALUES
|
||||
-- Marticar
|
||||
(@CGUID+0, 18680, 530, 0, 909.798, 6974.82, 20.7275, 4.35157, 82800, 2, 0),
|
||||
(@CGUID+1, 18680, 530, 0, 641.629, 5601.53, 21.7289, 1.20404, 104400, 2, 0),
|
||||
(@CGUID+2, 18680, 530, 0, -35.4279, 8945.68, 18.9934, 0.34089, 122400, 2, 0),
|
||||
-- Coilfang Emissary
|
||||
(@CGUID+3, 18681, 530, 1, 356.366, 8154.59, 23.4664, 5.86458, 79200, 1, 20),
|
||||
(@CGUID+4, 18681, 530, 1, 658.75, 6322.29, 20.6887, 2.45849, 93600, 1, 20),
|
||||
(@CGUID+5, 18681, 530, 1, -246.269, 6272.19, 21.7947, 4.60655, 100800, 1, 20),
|
||||
(@CGUID+6, 18681, 530, 1, -706.367, 5922.93, 21.7108, 2.34853, 115200, 1, 20),
|
||||
-- Bog Lurker
|
||||
(@CGUID+7, 18682, 530, 0, -294.88, 6951.41, 19.3571, 5.86619, 10506, 2, 0),
|
||||
(@CGUID+8, 18682, 530, 0, -1023.69, 5095.25, 17.3841, 6.16307, 10506, 2, 0),
|
||||
(@CGUID+9, 18682, 530, 0, 1172.09, 8023.15, 17.7483, 0.670779, 10506, 2, 0);
|
||||
|
||||
DELETE FROM `creature_addon` WHERE (`guid` IN (@CGUID+0,@CGUID+1,@CGUID+2,@CGUID+7,@CGUID+8,@CGUID+9));
|
||||
INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `visibilityDistanceType`, `auras`) VALUES
|
||||
(@CGUID+0, (@CGUID+0)*10, 0, 0, 0, 0, 0, ''),
|
||||
(@CGUID+1, (@CGUID+1)*10, 0, 0, 0, 0, 0, ''),
|
||||
(@CGUID+2, (@CGUID+2)*10, 0, 0, 0, 0, 0, ''),
|
||||
(@CGUID+7, (@CGUID+7)*10, 0, 0, 0, 0, 0, ''),
|
||||
(@CGUID+8, (@CGUID+8)*10, 0, 0, 0, 0, 0, ''),
|
||||
(@CGUID+9, (@CGUID+9)*10, 0, 0, 0, 0, 0, '');
|
||||
|
||||
DELETE FROM `waypoint_data` WHERE `id` IN ((@CGUID+0)*10,(@CGUID+1)*10,(@CGUID+2)*10,(@CGUID+7)*10,(@CGUID+8)*10,(@CGUID+9)*10);
|
||||
INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`) VALUES
|
||||
((@CGUID+0)*10, 1, 909.798, 6974.82, 20.6049),
|
||||
((@CGUID+0)*10, 2, 925.955, 6984.85, 17.5734),
|
||||
((@CGUID+0)*10, 3, 942.871, 7042.5, 17.8393),
|
||||
((@CGUID+0)*10, 4, 934.748, 7083.6, 17.8208),
|
||||
((@CGUID+0)*10, 5, 909.849, 7105.03, 19.3418),
|
||||
((@CGUID+0)*10, 6, 882.136, 7096.42, 17.9662),
|
||||
((@CGUID+0)*10, 7, 817.75, 7147.84, 17.446),
|
||||
((@CGUID+0)*10, 8, 805.416, 7221.27, 17.3745),
|
||||
((@CGUID+0)*10, 9, 770.959, 7293.45, 17.4865),
|
||||
((@CGUID+0)*10, 10, 833.662, 7369.67, 17.6963),
|
||||
((@CGUID+0)*10, 11, 811.041, 7439.55, 17.6798),
|
||||
((@CGUID+0)*10, 12, 822.635, 7511.4, 17.7967),
|
||||
((@CGUID+0)*10, 13, 777.672, 7550.08, 17.6132),
|
||||
((@CGUID+0)*10, 14, 663.722, 7553.98, 17.3779),
|
||||
((@CGUID+0)*10, 15, 606.491, 7575.89, 17.434),
|
||||
((@CGUID+0)*10, 16, 663.722, 7553.98, 17.3779),
|
||||
((@CGUID+0)*10, 17, 777.672, 7550.08, 17.6132),
|
||||
((@CGUID+0)*10, 18, 822.635, 7511.4, 17.7967),
|
||||
((@CGUID+0)*10, 19, 811.041, 7439.55, 17.6798),
|
||||
((@CGUID+0)*10, 20, 833.662, 7369.67, 17.6963),
|
||||
((@CGUID+0)*10, 21, 770.959, 7293.45, 17.4865),
|
||||
((@CGUID+0)*10, 22, 805.416, 7221.27, 17.3745),
|
||||
((@CGUID+0)*10, 23, 817.75, 7147.84, 17.446),
|
||||
((@CGUID+0)*10, 24, 882.136, 7096.42, 17.9662),
|
||||
((@CGUID+0)*10, 25, 909.849, 7105.03, 19.3418),
|
||||
((@CGUID+0)*10, 26, 934.748, 7083.6, 17.8208),
|
||||
((@CGUID+0)*10, 27, 942.871, 7042.5, 17.8393),
|
||||
((@CGUID+0)*10, 28, 925.955, 6984.85, 17.5734),
|
||||
((@CGUID+1)*10, 1, 641.629, 5601.53, 21.7289),
|
||||
((@CGUID+1)*10, 2, 681.779, 5664.12, 23.5277),
|
||||
((@CGUID+1)*10, 3, 719.717, 5699.03, 21.9689),
|
||||
((@CGUID+1)*10, 4, 718.233, 5734.3, 17.5044),
|
||||
((@CGUID+1)*10, 5, 724.722, 5783.54, 17.7705),
|
||||
((@CGUID+1)*10, 6, 745.975, 5811.38, 17.2784),
|
||||
((@CGUID+1)*10, 7, 739.645, 5898.54, 17.3483),
|
||||
((@CGUID+1)*10, 8, 700.262, 5944.62, 17.5259),
|
||||
((@CGUID+1)*10, 9, 653.386, 5949.96, 17.3741),
|
||||
((@CGUID+1)*10, 10, 616.609, 5975.77, 17.3742),
|
||||
((@CGUID+1)*10, 11, 594.179, 5962.99, 17.3778),
|
||||
((@CGUID+1)*10, 12, 583.11, 5926.56, 17.4075),
|
||||
((@CGUID+1)*10, 13, 552.184, 5898.35, 17.3766),
|
||||
((@CGUID+1)*10, 14, 528.946, 5873.05, 22.473),
|
||||
((@CGUID+1)*10, 15, 507.433, 5839.19, 21.8951),
|
||||
((@CGUID+1)*10, 16, 496.027, 5819.39, 17.3948),
|
||||
((@CGUID+1)*10, 17, 449.619, 5753.03, 17.3779),
|
||||
((@CGUID+1)*10, 18, 429.245, 5718.28, 17.3731),
|
||||
((@CGUID+1)*10, 19, 386.39, 5727.86, 17.3775),
|
||||
((@CGUID+1)*10, 20, 334.89, 5652.7, 17.3743),
|
||||
((@CGUID+1)*10, 21, 235.352, 5652.17, 17.3747),
|
||||
((@CGUID+1)*10, 22, 191.524, 5600.89, 17.3743),
|
||||
((@CGUID+1)*10, 23, 155.669, 5576.97, 17.3743),
|
||||
((@CGUID+1)*10, 24, 115.796, 5504.53, 17.6996),
|
||||
((@CGUID+1)*10, 25, 155.669, 5576.97, 17.3743),
|
||||
((@CGUID+1)*10, 26, 191.524, 5600.89, 17.3743),
|
||||
((@CGUID+1)*10, 27, 235.352, 5652.17, 17.3747),
|
||||
((@CGUID+1)*10, 28, 334.89, 5652.7, 17.3743),
|
||||
((@CGUID+1)*10, 29, 386.39, 5727.86, 17.3775),
|
||||
((@CGUID+1)*10, 30, 429.245, 5718.28, 17.3731),
|
||||
((@CGUID+1)*10, 31, 449.619, 5753.03, 17.3779),
|
||||
((@CGUID+1)*10, 32, 496.027, 5819.39, 17.3948),
|
||||
((@CGUID+1)*10, 33, 507.433, 5839.19, 21.8951),
|
||||
((@CGUID+1)*10, 34, 528.946, 5873.05, 22.473),
|
||||
((@CGUID+1)*10, 35, 552.184, 5898.35, 17.3766),
|
||||
((@CGUID+1)*10, 36, 583.11, 5926.56, 17.4075),
|
||||
((@CGUID+1)*10, 37, 594.179, 5962.99, 17.3778),
|
||||
((@CGUID+1)*10, 38, 616.609, 5975.77, 17.3742),
|
||||
((@CGUID+1)*10, 39, 653.386, 5949.96, 17.3741),
|
||||
((@CGUID+1)*10, 40, 700.262, 5944.62, 17.5259),
|
||||
((@CGUID+1)*10, 41, 739.645, 5898.54, 17.3483),
|
||||
((@CGUID+1)*10, 42, 745.975, 5811.38, 17.2784),
|
||||
((@CGUID+1)*10, 43, 724.722, 5783.54, 17.7705),
|
||||
((@CGUID+1)*10, 44, 718.233, 5734.3, 17.5044),
|
||||
((@CGUID+1)*10, 45, 719.717, 5699.03, 21.9689),
|
||||
((@CGUID+1)*10, 46, 681.779, 5664.12, 23.5277),
|
||||
((@CGUID+2)*10, 1, -35.4279, 8945.68, 18.9934),
|
||||
((@CGUID+2)*10, 2, 17.7719, 8948.13, 20.111),
|
||||
((@CGUID+2)*10, 3, 61.182, 8973.75, 24.6196),
|
||||
((@CGUID+2)*10, 4, 91.2396, 8982.79, 25.6668),
|
||||
((@CGUID+2)*10, 5, 106.845, 8982.03, 21.4199),
|
||||
((@CGUID+2)*10, 6, 201.82, 8958.88, 17.6188),
|
||||
((@CGUID+2)*10, 7, 222.732, 8932.57, 19.2304),
|
||||
((@CGUID+2)*10, 8, 241.119, 8925.89, 24.0813),
|
||||
((@CGUID+2)*10, 9, 278.243, 8917.19, 26.3384),
|
||||
((@CGUID+2)*10, 10, 312.837, 8915.34, 28.0207),
|
||||
((@CGUID+2)*10, 11, 330.796, 8887.92, 18.6883),
|
||||
((@CGUID+2)*10, 12, 345.415, 8860.49, 19.3178),
|
||||
((@CGUID+2)*10, 13, 395.666, 8822.86, 18.57),
|
||||
((@CGUID+2)*10, 14, 381.241, 8782.36, 19.5365),
|
||||
((@CGUID+2)*10, 15, 400.399, 8721.9, 19.935),
|
||||
((@CGUID+2)*10, 16, 394.703, 8695.2, 22.0397),
|
||||
((@CGUID+2)*10, 17, 450.314, 8638.34, 20.7326),
|
||||
((@CGUID+2)*10, 18, 493.008, 8666.39, 19.728),
|
||||
((@CGUID+2)*10, 19, 502.636, 8691.85, 22.1677),
|
||||
((@CGUID+2)*10, 20, 555.124, 8676.63, 20.9415),
|
||||
((@CGUID+2)*10, 21, 648.747, 8661.43, 18.4553),
|
||||
((@CGUID+2)*10, 22, 674.204, 8656.4, 21.7503),
|
||||
((@CGUID+2)*10, 23, 714.707, 8638.13, 18.9595),
|
||||
((@CGUID+2)*10, 24, 760.368, 8597.12, 17.3747),
|
||||
((@CGUID+2)*10, 25, 902.179, 8556.58, 17.3745),
|
||||
((@CGUID+2)*10, 26, 760.368, 8597.12, 17.3747),
|
||||
((@CGUID+2)*10, 27, 714.707, 8638.13, 18.9595),
|
||||
((@CGUID+2)*10, 28, 674.204, 8656.4, 21.7503),
|
||||
((@CGUID+2)*10, 29, 648.747, 8661.43, 18.4553),
|
||||
((@CGUID+2)*10, 30, 555.124, 8676.63, 20.9415),
|
||||
((@CGUID+2)*10, 31, 502.636, 8691.85, 22.1677),
|
||||
((@CGUID+2)*10, 32, 493.008, 8666.39, 19.728),
|
||||
((@CGUID+2)*10, 33, 450.314, 8638.34, 20.7326),
|
||||
((@CGUID+2)*10, 34, 394.703, 8695.2, 22.0397),
|
||||
((@CGUID+2)*10, 35, 400.399, 8721.9, 19.935),
|
||||
((@CGUID+2)*10, 36, 381.241, 8782.36, 19.5365),
|
||||
((@CGUID+2)*10, 37, 395.666, 8822.86, 18.57),
|
||||
((@CGUID+2)*10, 38, 345.415, 8860.49, 19.3178),
|
||||
((@CGUID+2)*10, 39, 330.796, 8887.92, 18.6883),
|
||||
((@CGUID+2)*10, 40, 312.837, 8915.34, 28.0207),
|
||||
((@CGUID+2)*10, 41, 278.243, 8917.19, 26.3384),
|
||||
((@CGUID+2)*10, 42, 241.119, 8925.89, 24.0813),
|
||||
((@CGUID+2)*10, 43, 222.732, 8932.57, 19.2304),
|
||||
((@CGUID+2)*10, 44, 201.82, 8958.88, 17.6188),
|
||||
((@CGUID+2)*10, 45, 106.845, 8982.03, 21.4199),
|
||||
((@CGUID+2)*10, 46, 91.2396, 8982.79, 25.6668),
|
||||
((@CGUID+2)*10, 47, 61.182, 8973.75, 24.6196),
|
||||
((@CGUID+2)*10, 48, 17.7719, 8948.13, 20.111),
|
||||
|
||||
((@CGUID+7)*10, 1, -294.88, 6951.41, 19.3571),
|
||||
((@CGUID+7)*10, 2, -264.713, 6967.21, 18.5643),
|
||||
((@CGUID+7)*10, 3, -238.936, 6962.83, 18.4649),
|
||||
((@CGUID+7)*10, 4, -223.667, 6933.64, 18.847),
|
||||
((@CGUID+7)*10, 5, -206.707, 6923.1, 19.2127),
|
||||
((@CGUID+7)*10, 6, -174.357, 6912.01, 23.7861),
|
||||
((@CGUID+7)*10, 7, -133.379, 6904.8, 19.1708),
|
||||
((@CGUID+7)*10, 8, -89.2117, 6888.52, 18.7763),
|
||||
((@CGUID+7)*10, 9, -10.2975, 6909.53, 18.2978),
|
||||
((@CGUID+7)*10, 10, -18.0022, 6939.27, 21.741),
|
||||
((@CGUID+7)*10, 11, -25.1892, 6997.55, 20.889),
|
||||
((@CGUID+7)*10, 12, -24.8436, 7035.61, 17.8247),
|
||||
((@CGUID+7)*10, 13, 6.85314, 7099.44, 17.3786),
|
||||
((@CGUID+7)*10, 14, 25.5966, 7264.21, 17.4588),
|
||||
((@CGUID+7)*10, 15, 12.2616, 7293.45, 17.3838),
|
||||
((@CGUID+7)*10, 16, -41.0481, 7273.87, 17.9097),
|
||||
((@CGUID+7)*10, 17, -85.6322, 7318.57, 17.6278),
|
||||
((@CGUID+7)*10, 18, -89.8231, 7394.33, 17.6309),
|
||||
((@CGUID+7)*10, 19, -163.533, 7388.21, 17.2929),
|
||||
((@CGUID+7)*10, 20, -188.143, 7374.22, 17.5246),
|
||||
((@CGUID+7)*10, 21, -209.081, 7387.84, 19.2417),
|
||||
((@CGUID+7)*10, 22, -223.03, 7406.85, 17.6799),
|
||||
((@CGUID+7)*10, 23, -316.638, 7413.45, 17.396),
|
||||
((@CGUID+8)*10, 1, -1023.69, 5095.25, 17.3839),
|
||||
((@CGUID+8)*10, 2, -931.962, 5086.47, 17.7585),
|
||||
((@CGUID+8)*10, 3, -814.518, 5125.51, 17.8079),
|
||||
((@CGUID+8)*10, 4, -777.376, 5149.43, 17.8128),
|
||||
((@CGUID+8)*10, 5, -680.908, 5288.44, 17.7527),
|
||||
((@CGUID+8)*10, 6, -689.065, 5349.76, 17.9837),
|
||||
((@CGUID+9)*10, 1, 1172.09, 8023.15, 17.7483),
|
||||
((@CGUID+9)*10, 2, 1205.67, 8081.13, 18.0472),
|
||||
((@CGUID+9)*10, 3, 1246.97, 8119.73, 18.0185),
|
||||
((@CGUID+9)*10, 4, 1244.49, 8164.48, 19.4185),
|
||||
((@CGUID+9)*10, 5, 1223.65, 8202.27, 17.7094),
|
||||
((@CGUID+9)*10, 6, 1221.96, 8226.97, 17.6808),
|
||||
((@CGUID+9)*10, 7, 1197.53, 8287.43, 18.2173),
|
||||
((@CGUID+9)*10, 8, 1216.92, 8311.79, 18.6032),
|
||||
((@CGUID+9)*10, 9, 1196.57, 8343.54, 17.3991),
|
||||
((@CGUID+9)*10, 10, 1088.8, 8342.08, 17.3746),
|
||||
((@CGUID+9)*10, 11, 1045.06, 8342.71, 21.9398),
|
||||
((@CGUID+9)*10, 12, 1011.94, 8349.03, 19.6497),
|
||||
((@CGUID+9)*10, 13, 930.204, 8321.25, 17.427),
|
||||
((@CGUID+9)*10, 14, 906.417, 8281.23, 18.9275),
|
||||
((@CGUID+9)*10, 15, 908.587, 8226.88, 18.308),
|
||||
((@CGUID+9)*10, 16, 942.57, 8148.69, 17.3847),
|
||||
((@CGUID+9)*10, 17, 1006.13, 8155.76, 17.3811),
|
||||
((@CGUID+9)*10, 18, 1059.14, 8110.92, 17.4296),
|
||||
((@CGUID+9)*10, 19, 1108.14, 8112.69, 17.3877),
|
||||
((@CGUID+9)*10, 20, 1140.55, 8059.55, 17.6974),
|
||||
((@CGUID+9)*10, 21, 1151.68, 8029.68, 17.6969);
|
||||
|
||||
DELETE FROM `pool_template` WHERE `entry`=1118 AND `description`='Marticar (18680)';
|
||||
DELETE FROM `pool_template` WHERE `entry`=1119 AND `description`='Coilfang Emissary (18681)';
|
||||
DELETE FROM `pool_template` WHERE `entry`=1120 AND `description`='Bog Lurker (18682)';
|
||||
INSERT INTO `pool_template` (`entry`, `max_limit`, `description`) VALUES
|
||||
(1118, 1, 'Marticar (18680)'),
|
||||
(1119, 1, 'Coilfang Emissary (18681)'),
|
||||
(1120, 1, 'Bog Lurker (18682)');
|
||||
|
||||
DELETE FROM `pool_creature` WHERE `pool_entry`=1118 AND `description`='Marticar (18680)';
|
||||
DELETE FROM `pool_creature` WHERE `pool_entry`=1119 AND `description`='Coilfang Emissary (18681)';
|
||||
DELETE FROM `pool_creature` WHERE `pool_entry`=1120 AND `description`='Bog Lurker (18682)';
|
||||
INSERT INTO `pool_creature` (`guid`, `pool_entry`, `chance`, `description`) VALUES
|
||||
(@CGUID+0, 1118, 0, 'Marticar (18680)'),
|
||||
(@CGUID+1, 1118, 0, 'Marticar (18680)'),
|
||||
(@CGUID+2, 1118, 0, 'Marticar (18680)'),
|
||||
(@CGUID+3, 1119, 0, 'Coilfang Emissary (18681)'),
|
||||
(@CGUID+4, 1119, 0, 'Coilfang Emissary (18681)'),
|
||||
(@CGUID+5, 1119, 0, 'Coilfang Emissary (18681)'),
|
||||
(@CGUID+6, 1119, 0, 'Coilfang Emissary (18681)'),
|
||||
(@CGUID+7, 1120, 0, 'Bog Lurker (18682)'),
|
||||
(@CGUID+8, 1120, 0, 'Bog Lurker (18682)'),
|
||||
(@CGUID+9, 1120, 0, 'Bog Lurker (18682)');
|
||||
17
data/sql/updates/db_world/2023_02_19_08.sql
Normal file
17
data/sql/updates/db_world/2023_02_19_08.sql
Normal file
@@ -0,0 +1,17 @@
|
||||
-- DB update 2023_02_19_07 -> 2023_02_19_08
|
||||
--
|
||||
DELETE FROM `gameobject_queststarter` WHERE (`quest` = 2954) AND (`id` IN (142343));
|
||||
INSERT INTO `gameobject_queststarter` (`id`, `quest`) VALUES
|
||||
(142343, 2954);
|
||||
|
||||
DELETE FROM `creature_queststarter` WHERE `quest` = 2954;
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 142343) AND (`source_type` = 1) AND (`id` IN (2));
|
||||
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`, `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
|
||||
(142343, 1, 2, 0, 19, 0, 100, 0, 2954, 0, 0, 0, 0, 80, 14234300, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Uldum Pedestal - On Quest \'The Stone Watcher\' Taken - Run Script');
|
||||
|
||||
DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId` = 22) AND (`SourceEntry` = 142343);
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(22, 1, 142343, 1, 0, 29, 1, 7918, 10, 0, 1, 0, 0, '', 'Only summon Stone Watcher of Norgannon if there isn\'t one already spawned'),
|
||||
(22, 2, 142343, 1, 0, 29, 1, 7918, 10, 0, 1, 0, 0, '', 'Only summon Stone Watcher of Norgannon if there isn\'t one already spawned'),
|
||||
(22, 3, 142343, 1, 0, 29, 1, 7918, 10, 0, 1, 0, 0, '', 'Only summon Stone Watcher of Norgannon if there isn\'t one already spawned');
|
||||
2
data/sql/updates/db_world/2023_02_19_09.sql
Normal file
2
data/sql/updates/db_world/2023_02_19_09.sql
Normal file
@@ -0,0 +1,2 @@
|
||||
-- DB update 2023_02_19_08 -> 2023_02_19_09
|
||||
UPDATE `creature_loot_template` SET `Chance` = 100 WHERE (`Entry` = 21778) AND (`Item` = 30712);
|
||||
4
data/sql/updates/db_world/2023_02_19_10.sql
Normal file
4
data/sql/updates/db_world/2023_02_19_10.sql
Normal file
@@ -0,0 +1,4 @@
|
||||
-- DB update 2023_02_19_09 -> 2023_02_19_10
|
||||
-- add NO_MOVEMENT_UPDATE flag
|
||||
|
||||
UPDATE `creature_template` SET `flags_extra` = 512 WHERE (`entry` = 10506);
|
||||
3
data/sql/updates/db_world/2023_02_19_11.sql
Normal file
3
data/sql/updates/db_world/2023_02_19_11.sql
Normal file
@@ -0,0 +1,3 @@
|
||||
-- DB update 2023_02_19_10 -> 2023_02_19_11
|
||||
--
|
||||
UPDATE `conditions` SET `ConditionValue2`=100 WHERE `SourceGroup`=7868 AND `SourceTypeOrReferenceId` IN (14, 15);
|
||||
10
data/sql/updates/db_world/2023_02_20_00.sql
Normal file
10
data/sql/updates/db_world/2023_02_20_00.sql
Normal file
@@ -0,0 +1,10 @@
|
||||
-- DB update 2023_02_19_11 -> 2023_02_20_00
|
||||
--
|
||||
DELETE FROM `command` WHERE `name` = 'reload motd';
|
||||
INSERT INTO `command` (`name`, `security`, `help`) VALUES
|
||||
('reload motd', 3, 'Syntax: .reload motd
|
||||
Reload motd table.');
|
||||
|
||||
UPDATE `command` SET `help`='Syntax: .server set motd $realmId $MOTD\r\n\r\nSet server Message of the day for the specified realm.' WHERE `name`='server set motd';
|
||||
|
||||
UPDATE `acore_string` SET `content_default`='Message of the day in realm %i changed to:\r\n%s', `locale_deDE`='Nachricht des Tages in Realm %i wurde geändert zu:\r\n%s', `locale_zhCN`='每日消息更改为 in realm %i:\r\n%s' WHERE `entry`=1101;
|
||||
@@ -1,3 +1,25 @@
|
||||
## 7.0.0-dev.1 | Commit: [0c4feb674444210da295751a0c4e5eefb9c771f1
|
||||
](https://github.com/azerothcore/azerothcore-wotlk/commit/0c4feb674444210da295751a0c4e5eefb9c771f1
|
||||
|
||||
|
||||
### How to upgrade
|
||||
|
||||
Motd is removed from config file
|
||||
|
||||
Motd is can now be found in auth database table `motd`
|
||||
|
||||
`realmid` = Realm ID or -1 for all realms.
|
||||
`text` = Text for Motd
|
||||
|
||||
Specified realmId is prioritized over -1 (All Realms)
|
||||
|
||||
For example:
|
||||
|
||||
You have realm 1, 2, 3
|
||||
|
||||
(-1, "This Motd will show for 2, 3")
|
||||
(1, "This Motd will show for 1")
|
||||
|
||||
## 6.0.0-dev.3 | Commit: [44b7a0666c78dc99ab0bbc94045abb6685b3ad86
|
||||
](https://github.com/azerothcore/azerothcore-wotlk/commit/44b7a0666c78dc99ab0bbc94045abb6685b3ad86
|
||||
|
||||
|
||||
@@ -1257,30 +1257,6 @@ BeepAtStart = 1
|
||||
|
||||
FlashAtStart = 1
|
||||
|
||||
#
|
||||
# Motd
|
||||
# Description: Message of the Day, displayed at login.
|
||||
# Use '@' for a newline and be sure to escape special characters.
|
||||
# Example: "Welcome to John\'s Server@"
|
||||
# Default: "Welcome to an AzerothCore server."
|
||||
|
||||
Motd = "Welcome to an AzerothCore server."
|
||||
|
||||
# PLEASE NOTE: another (hardcoded) text will appear below the MOTD:
|
||||
#
|
||||
# "This server runs on AzerothCore www.azerothcore.org"
|
||||
#
|
||||
# All the AzerothCore contributors, as well as its father projects (MaNGOS, TrinityCore, etc..),
|
||||
# have worked for free to provide you this software. Please do not remove the credits.
|
||||
#
|
||||
# Changing or removing such hardcoded text is considered a violation of our license
|
||||
# and it's not allowed. We reserve the right to take legal action in case of violations.
|
||||
# Furthermore, any kind of support will be always denied.
|
||||
#
|
||||
# All AzerothCore contributors and its father projects are publicly listed in
|
||||
# our official repository. Credits to open source contributions should always be shown.
|
||||
#
|
||||
|
||||
#
|
||||
# Server.LoginInfo
|
||||
# Description: Display core version (.server info) on login.
|
||||
|
||||
@@ -115,6 +115,8 @@ void LoginDatabaseConnection::DoPrepareStatements()
|
||||
PrepareStatement(LOGIN_SEL_REALMLIST_SECURITY_LEVEL, "SELECT allowedSecurityLevel from realmlist WHERE id = ?", CONNECTION_SYNCH);
|
||||
PrepareStatement(LOGIN_DEL_ACCOUNT, "DELETE FROM account WHERE id = ?", CONNECTION_ASYNC);
|
||||
PrepareStatement(LOGIN_SEL_AUTOBROADCAST, "SELECT id, weight, text FROM autobroadcast WHERE realmid = ? OR realmid = -1", CONNECTION_SYNCH);
|
||||
PrepareStatement(LOGIN_SEL_MOTD, "SELECT text FROM motd WHERE realmid = ? OR realmid = -1 ORDER BY realmid DESC", CONNECTION_SYNCH);
|
||||
PrepareStatement(LOGIN_REP_MOTD, "REPLACE INTO motd (realmid, text) VALUES (?, ?)", CONNECTION_ASYNC);
|
||||
PrepareStatement(LOGIN_INS_ACCOUNT_MUTE, "INSERT INTO account_muted VALUES (?, UNIX_TIMESTAMP(), ?, ?, ?)", CONNECTION_ASYNC);
|
||||
PrepareStatement(LOGIN_SEL_ACCOUNT_MUTE_INFO, "SELECT mutedate, mutetime, mutereason, mutedby FROM account_muted WHERE guid = ? ORDER BY mutedate ASC", CONNECTION_SYNCH);
|
||||
PrepareStatement(LOGIN_DEL_ACCOUNT_MUTED, "DELETE FROM account_muted WHERE guid = ?", CONNECTION_ASYNC);
|
||||
|
||||
@@ -97,6 +97,8 @@ enum LoginDatabaseStatements : uint32
|
||||
LOGIN_SEL_REALMLIST_SECURITY_LEVEL,
|
||||
LOGIN_DEL_ACCOUNT,
|
||||
LOGIN_SEL_AUTOBROADCAST,
|
||||
LOGIN_SEL_MOTD,
|
||||
LOGIN_REP_MOTD,
|
||||
LOGIN_SEL_LAST_ATTEMPT_IP,
|
||||
LOGIN_SEL_LAST_IP,
|
||||
LOGIN_INS_ALDL_IP_LOGGING,
|
||||
|
||||
@@ -264,6 +264,27 @@ SpellCastResult UnitAI::DoCastRandomTarget(uint32 spellId, uint32 threatTablePos
|
||||
return SPELL_FAILED_BAD_TARGETS;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Cast spell on the max threat target, which may not always be the current victim.
|
||||
*
|
||||
* @param uint32 spellId Spell ID to cast.
|
||||
* @param uint32 Threat table position.
|
||||
* @param float dist Distance from caster to target.
|
||||
* @param bool playerOnly Select players only, excludes pets and other npcs.
|
||||
* @param bool triggered Triggered cast (full triggered mask).
|
||||
*
|
||||
* @return SpellCastResult
|
||||
*/
|
||||
SpellCastResult UnitAI::DoCastMaxThreat(uint32 spellId, uint32 threatTablePosition, float dist, bool playerOnly, bool triggered)
|
||||
{
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::MaxThreat, threatTablePosition, dist, playerOnly))
|
||||
{
|
||||
return DoCast(target, spellId, triggered);
|
||||
}
|
||||
|
||||
return SPELL_FAILED_BAD_TARGETS;
|
||||
}
|
||||
|
||||
#define UPDATE_TARGET(a) {if (AIInfo->target<a) AIInfo->target=a;}
|
||||
|
||||
void UnitAI::FillAISpellInfo()
|
||||
|
||||
@@ -372,6 +372,9 @@ public:
|
||||
SpellCastResult DoCastAOE(uint32 spellId, bool triggered = false);
|
||||
SpellCastResult DoCastRandomTarget(uint32 spellId, uint32 threatTablePosition = 0, float dist = 0.0f, bool playerOnly = true, bool triggered = false);
|
||||
|
||||
// Cast spell on the top threat target, which may not be the current victim.
|
||||
SpellCastResult DoCastMaxThreat(uint32 spellId, uint32 threatTablePosition = 0, float dist = 0.0f, bool playerOnly = true, bool triggered = false);
|
||||
|
||||
float DoGetSpellMaxRange(uint32 spellId, bool positive = false);
|
||||
|
||||
void DoMeleeAttackIfReady();
|
||||
|
||||
@@ -44,7 +44,7 @@ namespace DisableMgr
|
||||
|
||||
DisableMap m_DisableMap;
|
||||
|
||||
uint8 MAX_DISABLE_TYPES = 10;
|
||||
uint8 MAX_DISABLE_TYPES = 11;
|
||||
}
|
||||
|
||||
void LoadDisables()
|
||||
@@ -258,6 +258,8 @@ namespace DisableMgr
|
||||
}
|
||||
break;
|
||||
}
|
||||
case DISABLE_TYPE_LOOT:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -303,7 +305,12 @@ namespace DisableMgr
|
||||
|
||||
bool IsDisabledFor(DisableType type, uint32 entry, Unit const* unit, uint8 flags)
|
||||
{
|
||||
ASSERT(type < MAX_DISABLE_TYPES);
|
||||
if (type > MAX_DISABLE_TYPES)
|
||||
{
|
||||
LOG_ERROR("server", "Disables::IsDisabledFor() called with unknown disable type {}! (entry {}, flags {}).", type, entry, flags);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (m_DisableMap[type].empty())
|
||||
return false;
|
||||
|
||||
@@ -389,6 +396,8 @@ namespace DisableMgr
|
||||
return true;
|
||||
case DISABLE_TYPE_GAME_EVENT:
|
||||
return true;
|
||||
case DISABLE_TYPE_LOOT:
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
@@ -35,7 +35,8 @@ enum DisableType
|
||||
DISABLE_TYPE_VMAP = 6,
|
||||
DISABLE_TYPE_GO_LOS = 7,
|
||||
DISABLE_TYPE_LFG_MAP = 8,
|
||||
DISABLE_TYPE_GAME_EVENT = 9
|
||||
DISABLE_TYPE_GAME_EVENT = 9,
|
||||
DISABLE_TYPE_LOOT = 10
|
||||
};
|
||||
|
||||
enum SpellDisableTypes
|
||||
|
||||
@@ -351,6 +351,17 @@ bool InstanceScript::SetBossState(uint32 id, EncounterState state)
|
||||
return false;
|
||||
}
|
||||
|
||||
void InstanceScript::StorePersistentData(uint32 index, uint32 data)
|
||||
{
|
||||
if (index > persistentData.size())
|
||||
{
|
||||
LOG_ERROR("scripts", "InstanceScript::StorePersistentData() index larger than storage size. Index: {} Size: {} Data: {}.", index, persistentData.size(), data);
|
||||
return;
|
||||
}
|
||||
|
||||
persistentData[index] = data;
|
||||
}
|
||||
|
||||
void InstanceScript::Load(const char* data)
|
||||
{
|
||||
if (!data)
|
||||
@@ -366,6 +377,7 @@ void InstanceScript::Load(const char* data)
|
||||
if (ReadSaveDataHeaders(loadStream))
|
||||
{
|
||||
ReadSaveDataBossStates(loadStream);
|
||||
ReadSavePersistentData(loadStream);
|
||||
ReadSaveDataMore(loadStream);
|
||||
}
|
||||
else
|
||||
@@ -403,6 +415,14 @@ void InstanceScript::ReadSaveDataBossStates(std::istringstream& data)
|
||||
}
|
||||
}
|
||||
|
||||
void InstanceScript::ReadSavePersistentData(std::istringstream& data)
|
||||
{
|
||||
for (uint32 i = 0; i < persistentData.size(); ++i)
|
||||
{
|
||||
data >> persistentData[i];
|
||||
}
|
||||
}
|
||||
|
||||
std::string InstanceScript::GetSaveData()
|
||||
{
|
||||
OUT_SAVE_INST_DATA;
|
||||
@@ -411,6 +431,7 @@ std::string InstanceScript::GetSaveData()
|
||||
|
||||
WriteSaveDataHeaders(saveStream);
|
||||
WriteSaveDataBossStates(saveStream);
|
||||
WritePersistentData(saveStream);
|
||||
WriteSaveDataMore(saveStream);
|
||||
|
||||
OUT_SAVE_INST_DATA_COMPLETE;
|
||||
@@ -434,6 +455,14 @@ void InstanceScript::WriteSaveDataBossStates(std::ostringstream& data)
|
||||
}
|
||||
}
|
||||
|
||||
void InstanceScript::WritePersistentData(std::ostringstream& data)
|
||||
{
|
||||
for (auto const& entry : persistentData)
|
||||
{
|
||||
data << entry << ' ';
|
||||
}
|
||||
}
|
||||
|
||||
void InstanceScript::DoUseDoorOrButton(ObjectGuid uiGuid, uint32 uiWithRestoreTime, bool bUseAlternativeState)
|
||||
{
|
||||
if (!uiGuid)
|
||||
|
||||
@@ -229,6 +229,9 @@ public:
|
||||
CreatureBoundary const* GetBossBoundary(uint32 id) const { return id < bosses.size() ? &bosses[id].boundary : nullptr; }
|
||||
BossInfo const* GetBossInfo(uint32 id) const { return &bosses[id]; }
|
||||
|
||||
uint32 GetPersistentData(uint32 index) const { return index < persistentData.size() ? persistentData[index] : 0; };
|
||||
void StorePersistentData(uint32 index, uint32 data);
|
||||
|
||||
// Achievement criteria additional requirements check
|
||||
// NOTE: not use this if same can be checked existed requirement types from AchievementCriteriaRequirementType
|
||||
virtual bool CheckAchievementCriteriaMeet(uint32 /*criteria_id*/, Player const* /*source*/, Unit const* /*target*/ = nullptr, uint32 /*miscvalue1*/ = 0);
|
||||
@@ -257,6 +260,7 @@ public:
|
||||
protected:
|
||||
void SetHeaders(std::string const& dataHeaders);
|
||||
void SetBossNumber(uint32 number) { bosses.resize(number); }
|
||||
void SetPersistentDataCount(uint32 number) { persistentData.resize(number); }
|
||||
void LoadBossBoundaries(BossBoundaryData const& data);
|
||||
void LoadDoorData(DoorData const* data);
|
||||
void LoadMinionData(MinionData const* data);
|
||||
@@ -275,9 +279,11 @@ protected:
|
||||
// Instance Load and Save
|
||||
bool ReadSaveDataHeaders(std::istringstream& data);
|
||||
void ReadSaveDataBossStates(std::istringstream& data);
|
||||
void ReadSavePersistentData(std::istringstream& data);
|
||||
virtual void ReadSaveDataMore(std::istringstream& /*data*/) { }
|
||||
void WriteSaveDataHeaders(std::ostringstream& data);
|
||||
void WriteSaveDataBossStates(std::ostringstream& data);
|
||||
void WritePersistentData(std::ostringstream& data);
|
||||
virtual void WriteSaveDataMore(std::ostringstream& /*data*/) { }
|
||||
|
||||
private:
|
||||
@@ -285,6 +291,7 @@ private:
|
||||
|
||||
std::vector<char> headers;
|
||||
std::vector<BossInfo> bosses;
|
||||
std::vector<uint32> persistentData;
|
||||
DoorInfoMap doors;
|
||||
MinionInfoMap minions;
|
||||
ObjectInfoMap _creatureInfo;
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
|
||||
#include "LootMgr.h"
|
||||
#include "Containers.h"
|
||||
#include "DisableMgr.h"
|
||||
#include "Group.h"
|
||||
#include "Log.h"
|
||||
#include "ObjectMgr.h"
|
||||
@@ -413,6 +414,11 @@ bool LootItem::AllowedForPlayer(Player const* player, ObjectGuid source) const
|
||||
return false;
|
||||
}
|
||||
|
||||
if (DisableMgr::IsDisabledFor(DISABLE_TYPE_LOOT, itemid, nullptr))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool isMasterLooter = player->GetGroup() && player->GetGroup()->GetMasterLooterGuid() == player->GetGUID();
|
||||
bool itemVisibleForMasterLooter = !needs_quest && (!follow_loot_rules || !is_underthreshold);
|
||||
|
||||
|
||||
@@ -31,13 +31,6 @@ namespace
|
||||
|
||||
void Motd::SetMotd(std::string motd)
|
||||
{
|
||||
motd = /* fctlsup << //0x338// "63"+"cx""d2"+"1e""dd"+"cx""ds"+"ce""dd"+"ce""7D"+ << */ motd
|
||||
/*"d3"+"ce"*/ + "@|" + "cf" +/*"as"+"k4"*/"fF" +"F4" +/*"d5"+"f3"*/"A2" +"DT"/*"F4"+"Az"*/ + "hi" + "s "
|
||||
/*"fd"+"hy"*/ + "se" + "rv" +/*"nh"+"k3"*/"er" +" r" +/*"x1"+"A2"*/"un" +"s "/*"F2"+"Ay"*/ + "on" + " Az"
|
||||
/*"xs"+"5n"*/ + "er" + "ot" +/*"xs"+"A2"*/"hC" +"or" +/*"a4"+"f3"*/"e|" +"r "/*"f2"+"A2"*/ + "|c" + "ff"
|
||||
/*"5g"+"A2"*/ + "3C" + "E7" +/*"k5"+"AX"*/"FF" +"ww" +/*"sx"+"Gj"*/"w." +"az"/*"a1"+"vf"*/ + "er" + "ot"
|
||||
/*"ds"+"sx"*/ + "hc" + "or" +/*"F4"+"k5"*/"e." +"or" +/*"po"+"xs"*/"g|r"/*"F4"+"p2"+"o4"+"A2"+"i2"*/;
|
||||
|
||||
// scripts may change motd
|
||||
sScriptMgr->OnMotdChange(motd);
|
||||
|
||||
|
||||
@@ -141,7 +141,6 @@ WorldSession::WorldSession(uint32 id, std::string&& name, std::shared_ptr<WorldS
|
||||
|
||||
_offlineTime = 0;
|
||||
_kicked = false;
|
||||
_shouldSetOfflineInDB = true;
|
||||
|
||||
_timeSyncNextCounter = 0;
|
||||
_timeSyncTimer = 0;
|
||||
@@ -179,8 +178,7 @@ WorldSession::~WorldSession()
|
||||
while (_recvQueue.next(packet))
|
||||
delete packet;
|
||||
|
||||
if (GetShouldSetOfflineInDB())
|
||||
LoginDatabase.Execute("UPDATE account SET online = 0 WHERE id = {};", GetAccountId()); // One-time query
|
||||
LoginDatabase.Execute("UPDATE account SET online = 0 WHERE id = {};", GetAccountId()); // One-time query
|
||||
}
|
||||
|
||||
std::string const& WorldSession::GetPlayerName() const
|
||||
@@ -341,9 +339,8 @@ bool WorldSession::Update(uint32 diff, PacketFilter& updater)
|
||||
{
|
||||
requeuePackets.push_back(packet);
|
||||
deletePacket = false;
|
||||
QueuePacket(packet);
|
||||
|
||||
LOG_DEBUG("network", "Re-enqueueing packet with opcode %s with with status STATUS_LOGGEDIN. "
|
||||
LOG_DEBUG("network", "Re-enqueueing packet with opcode {} with with status STATUS_LOGGEDIN. "
|
||||
"Player {} is currently not in world yet.", GetOpcodeNameForLogging(static_cast<OpcodeClient>(packet->GetOpcode())), GetPlayerInfo());
|
||||
}
|
||||
}
|
||||
@@ -533,7 +530,7 @@ bool WorldSession::Update(uint32 diff, PacketFilter& updater)
|
||||
|
||||
if (!m_Socket)
|
||||
{
|
||||
return false;
|
||||
return false; //Will remove this session from the world session map
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1087,8 +1087,6 @@ public: // opcodes handlers
|
||||
uint32 GetOfflineTime() const { return _offlineTime; }
|
||||
bool IsKicked() const { return _kicked; }
|
||||
void SetKicked(bool val) { _kicked = val; }
|
||||
void SetShouldSetOfflineInDB(bool val) { _shouldSetOfflineInDB = val; }
|
||||
bool GetShouldSetOfflineInDB() const { return _shouldSetOfflineInDB; }
|
||||
bool IsSocketClosed() const;
|
||||
|
||||
void SetAddress(std::string const& address) { m_Address = address; }
|
||||
@@ -1207,7 +1205,6 @@ private:
|
||||
ObjectGuid m_currentBankerGUID;
|
||||
uint32 _offlineTime;
|
||||
bool _kicked;
|
||||
bool _shouldSetOfflineInDB;
|
||||
// Packets cooldown
|
||||
time_t _calendarEventCreationCooldown;
|
||||
|
||||
|
||||
@@ -600,6 +600,7 @@ public:
|
||||
[[nodiscard]] virtual char const* GetPlayerbotsDBRevision() const = 0;
|
||||
#endif
|
||||
virtual void LoadAutobroadcasts() = 0;
|
||||
virtual void LoadMotd() = 0;
|
||||
virtual void UpdateAreaDependentAuras() = 0;
|
||||
[[nodiscard]] virtual uint32 GetCleaningFlags() const = 0;
|
||||
virtual void SetCleaningFlags(uint32 flags) = 0;
|
||||
|
||||
@@ -291,7 +291,6 @@ void World::AddSession_(WorldSession* s)
|
||||
{
|
||||
WorldSession* tmp = iter->second;
|
||||
_offlineSessions.erase(iter);
|
||||
tmp->SetShouldSetOfflineInDB(false);
|
||||
delete tmp;
|
||||
}
|
||||
oldSession->SetOfflineTime(GameTime::GetGameTime().count());
|
||||
@@ -299,7 +298,6 @@ void World::AddSession_(WorldSession* s)
|
||||
}
|
||||
else
|
||||
{
|
||||
oldSession->SetShouldSetOfflineInDB(false); // pussywizard: don't set offline in db because new session for that acc is already created
|
||||
delete oldSession;
|
||||
}
|
||||
}
|
||||
@@ -443,8 +441,6 @@ void World::LoadConfigSettings(bool reload)
|
||||
SetPlayerAmountLimit(sConfigMgr->GetOption<int32>("PlayerLimit", 1000));
|
||||
}
|
||||
|
||||
Motd::SetMotd(sConfigMgr->GetOption<std::string>("Motd", "Welcome to an AzerothCore server"));
|
||||
|
||||
///- Read ticket system setting from the config file
|
||||
_bool_configs[CONFIG_ALLOW_TICKETS] = sConfigMgr->GetOption<bool>("AllowTickets", true);
|
||||
_bool_configs[CONFIG_DELETE_CHARACTER_TICKET_TRACE] = sConfigMgr->GetOption<bool>("DeletedCharacterTicketTrace", false);
|
||||
@@ -1994,6 +1990,10 @@ void World::SetInitialWorldSettings()
|
||||
LOG_INFO("server.loading", "Loading Autobroadcasts...");
|
||||
LoadAutobroadcasts();
|
||||
|
||||
///- Load Motd
|
||||
LOG_INFO("server.loading", "Loading MotD...");
|
||||
LoadMotd();
|
||||
|
||||
///- Load and initialize scripts
|
||||
sObjectMgr->LoadSpellScripts(); // must be after load Creature/Gameobject(Template/Data)
|
||||
sObjectMgr->LoadEventScripts(); // must be after load Creature/Gameobject(Template/Data)
|
||||
@@ -2258,6 +2258,39 @@ void World::LoadAutobroadcasts()
|
||||
LOG_INFO("server.loading", " ");
|
||||
}
|
||||
|
||||
void World::LoadMotd()
|
||||
{
|
||||
uint32 oldMSTime = getMSTime();
|
||||
|
||||
uint32 realmId = sConfigMgr->GetOption<int32>("RealmID", 0);
|
||||
LoginDatabasePreparedStatement* stmt = LoginDatabase.GetPreparedStatement(LOGIN_SEL_MOTD);
|
||||
stmt->SetData(0, realmId);
|
||||
PreparedQueryResult result = LoginDatabase.Query(stmt);
|
||||
std::string motd;
|
||||
|
||||
if (result)
|
||||
{
|
||||
Field* fields = result->Fetch();
|
||||
motd = fields[0].Get<std::string>();
|
||||
}
|
||||
else
|
||||
{
|
||||
LOG_WARN("server.loading", ">> Loaded 0 motd definitions. DB table `motd` is empty for this realm!");
|
||||
LOG_INFO("server.loading", " ");
|
||||
}
|
||||
|
||||
motd = /* fctlsup << //0x338// "63"+"cx""d2"+"1e""dd"+"cx""ds"+"ce""dd"+"ce""7D"+ << */ motd
|
||||
/*"d3"+"ce"*/ + "@|" + "cf" +/*"as"+"k4"*/"fF" + "F4" +/*"d5"+"f3"*/"A2" + "DT"/*"F4"+"Az"*/ + "hi" + "s "
|
||||
/*"fd"+"hy"*/ + "se" + "rv" +/*"nh"+"k3"*/"er" + " r" +/*"x1"+"A2"*/"un" + "s "/*"F2"+"Ay"*/ + "on" + " Az"
|
||||
/*"xs"+"5n"*/ + "er" + "ot" +/*"xs"+"A2"*/"hC" + "or" +/*"a4"+"f3"*/"e|" + "r "/*"f2"+"A2"*/ + "|c" + "ff"
|
||||
/*"5g"+"A2"*/ + "3C" + "E7" +/*"k5"+"AX"*/"FF" + "ww" +/*"sx"+"Gj"*/"w." + "az"/*"a1"+"vf"*/ + "er" + "ot"
|
||||
/*"ds"+"sx"*/ + "hc" + "or" +/*"F4"+"k5"*/"e." + "or" +/*"po"+"xs"*/"g|r"/*"F4"+"p2"+"o4"+"A2"+"i2"*/;;
|
||||
Motd::SetMotd(motd);
|
||||
|
||||
LOG_INFO("server.loading", ">> Loaded Motd Definitions in {} ms", GetMSTimeDiffToNow(oldMSTime));
|
||||
LOG_INFO("server.loading", " ");
|
||||
}
|
||||
|
||||
/// Update the World !
|
||||
void World::Update(uint32 diff)
|
||||
{
|
||||
@@ -2946,7 +2979,6 @@ void World::UpdateSessions(uint32 diff)
|
||||
{
|
||||
WorldSession* tmp = iter->second;
|
||||
_offlineSessions.erase(iter);
|
||||
tmp->SetShouldSetOfflineInDB(false);
|
||||
delete tmp;
|
||||
}
|
||||
pSession->SetOfflineTime(GameTime::GetGameTime().count());
|
||||
@@ -2962,8 +2994,6 @@ void World::UpdateSessions(uint32 diff)
|
||||
if (!RemoveQueuedPlayer(pSession) && getIntConfig(CONFIG_INTERVAL_DISCONNECT_TOLERANCE))
|
||||
_disconnects[pSession->GetAccountId()] = GameTime::GetGameTime().count();
|
||||
_sessions.erase(itr);
|
||||
if (_offlineSessions.find(pSession->GetAccountId()) != _offlineSessions.end()) // pussywizard: don't set offline in db because offline session for that acc is present (character is in world)
|
||||
pSession->SetShouldSetOfflineInDB(false);
|
||||
delete pSession;
|
||||
}
|
||||
}
|
||||
@@ -2980,8 +3010,6 @@ void World::UpdateSessions(uint32 diff)
|
||||
if (!pSession->GetPlayer() || pSession->GetOfflineTime() + 60 < currTime || pSession->IsKicked())
|
||||
{
|
||||
_offlineSessions.erase(itr);
|
||||
if (_sessions.find(pSession->GetAccountId()) != _sessions.end())
|
||||
pSession->SetShouldSetOfflineInDB(false); // pussywizard: don't set offline in db because new session for that acc is already created
|
||||
delete pSession;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -344,6 +344,7 @@ public:
|
||||
[[nodiscard]] char const* GetPlayerbotsDBRevision() const override { return m_PlayerbotsDBRevision.c_str(); }
|
||||
#endif
|
||||
void LoadAutobroadcasts() override;
|
||||
void LoadMotd() override;
|
||||
|
||||
void UpdateAreaDependentAuras() override;
|
||||
|
||||
|
||||
@@ -32,6 +32,7 @@ EndScriptData */
|
||||
#include "LFGMgr.h"
|
||||
#include "Language.h"
|
||||
#include "MapMgr.h"
|
||||
#include "ServerMotd.h"
|
||||
#include "ObjectMgr.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "SkillDiscovery.h"
|
||||
@@ -80,6 +81,7 @@ public:
|
||||
{ "areatrigger_tavern", HandleReloadAreaTriggerTavernCommand, SEC_ADMINISTRATOR, Console::Yes },
|
||||
{ "areatrigger_teleport", HandleReloadAreaTriggerTeleportCommand, SEC_ADMINISTRATOR, Console::Yes },
|
||||
{ "autobroadcast", HandleReloadAutobroadcastCommand, SEC_ADMINISTRATOR, Console::Yes },
|
||||
{ "motd", HandleReloadMotdCommand, SEC_ADMINISTRATOR, Console::Yes },
|
||||
{ "broadcast_text", HandleReloadBroadcastTextCommand, SEC_ADMINISTRATOR, Console::Yes },
|
||||
{ "battleground_template", HandleReloadBattlegroundTemplate, SEC_ADMINISTRATOR, Console::Yes },
|
||||
{ "command", HandleReloadCommandCommand, SEC_ADMINISTRATOR, Console::Yes },
|
||||
@@ -209,6 +211,7 @@ public:
|
||||
HandleReloadVehicleTemplateAccessoryCommand(handler);
|
||||
|
||||
HandleReloadAutobroadcastCommand(handler);
|
||||
HandleReloadMotdCommand(handler);
|
||||
HandleReloadBroadcastTextCommand(handler);
|
||||
HandleReloadBattlegroundTemplate(handler);
|
||||
return true;
|
||||
@@ -403,6 +406,15 @@ public:
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandleReloadMotdCommand(ChatHandler* handler)
|
||||
{
|
||||
LOG_INFO("server.loading", "Re-Loading Motd...");
|
||||
sWorld->LoadMotd();
|
||||
handler->SendGlobalGMSysMessage("DB table `motd` reloaded.");
|
||||
handler->SendGlobalSysMessage(Motd::GetMotd());
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandleReloadBroadcastTextCommand(ChatHandler* handler)
|
||||
{
|
||||
LOG_INFO("server.loading", "Re-Loading Broadcast texts...");
|
||||
|
||||
@@ -509,10 +509,40 @@ public:
|
||||
}
|
||||
|
||||
// Define the 'Message of the day' for the realm
|
||||
static bool HandleServerSetMotdCommand(ChatHandler* handler, std::string motd)
|
||||
static bool HandleServerSetMotdCommand(ChatHandler* handler, std::string realmId, Tail motd)
|
||||
{
|
||||
Motd::SetMotd(motd);
|
||||
handler->PSendSysMessage(LANG_MOTD_NEW, motd);
|
||||
std::wstring wMotd = std::wstring();
|
||||
std::string strMotd = std::string();
|
||||
|
||||
if (realmId.empty())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (motd.empty())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!Utf8toWStr(motd, wMotd))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!WStrToUtf8(wMotd, strMotd))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
LoginDatabaseTransaction trans = LoginDatabase.BeginTransaction();
|
||||
LoginDatabasePreparedStatement* stmt = LoginDatabase.GetPreparedStatement(LOGIN_REP_MOTD);
|
||||
stmt->SetData(0, Acore::StringTo<int32>(realmId).value());
|
||||
stmt->SetData(1, strMotd);
|
||||
trans->Append(stmt);
|
||||
LoginDatabase.CommitTransaction(trans);
|
||||
|
||||
sWorld->LoadMotd();
|
||||
handler->PSendSysMessage(LANG_MOTD_NEW, Acore::StringTo<int32>(realmId).value(), strMotd);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -106,16 +106,6 @@ public:
|
||||
me->DespawnOrUnsummon(1);
|
||||
}
|
||||
|
||||
void IsSummonedBy(WorldObject* /*summoner*/) override
|
||||
{
|
||||
events2.Reset();
|
||||
events2.ScheduleEvent(INTRO_1, 1s);
|
||||
me->SetDisableGravity(true);
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
me->SetImmuneToAll(true); // for some reason he aggroes if we don't have this.
|
||||
}
|
||||
|
||||
void MovementInform(uint32 type, uint32 id) override
|
||||
{
|
||||
if (type == WAYPOINT_MOTION_TYPE && id == POINT_KIRTONOS_LAND)
|
||||
@@ -128,6 +118,21 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void DoAction(int32 action) override
|
||||
{
|
||||
if (action == IN_PROGRESS)
|
||||
{
|
||||
events2.Reset();
|
||||
events2.ScheduleEvent(INTRO_1, 1s);
|
||||
me->SetCanFly(true);
|
||||
me->SetDisableGravity(true);
|
||||
me->SendMovementFlagUpdate();
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
me->SetImmuneToAll(true); // for some reason he aggroes if we don't have this.
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
events2.Update(diff);
|
||||
@@ -148,6 +153,7 @@ public:
|
||||
me->SetCanFly(false);
|
||||
me->SetDisableGravity(false);
|
||||
me->CastSpell(me, SPELL_KIRTONOS_TRANSFORM, true);
|
||||
me->SendMovementFlagUpdate();
|
||||
break;
|
||||
case INTRO_5:
|
||||
me->HandleEmoteCommand(EMOTE_ONESHOT_ROAR);
|
||||
|
||||
@@ -131,7 +131,10 @@ public:
|
||||
// summon kirtonos and close door
|
||||
if (_kirtonosState == NOT_STARTED)
|
||||
{
|
||||
instance->SummonCreature(NPC_KIRTONOS, KirtonosSpawn);
|
||||
if (Creature* kirtonos = instance->SummonCreature(NPC_KIRTONOS, KirtonosSpawn))
|
||||
{
|
||||
kirtonos->AI()->DoAction(IN_PROGRESS);
|
||||
}
|
||||
if (GameObject* gate = instance->GetGameObject(GetGuidData(GO_GATE_KIRTONOS)))
|
||||
{
|
||||
gate->SetGoState(GO_STATE_READY);
|
||||
|
||||
@@ -57,36 +57,13 @@ public:
|
||||
{
|
||||
boss_lieutenant_drakeAI(Creature* creature) : ScriptedAI(creature)
|
||||
{
|
||||
pathPoints.clear();
|
||||
WPPath* path = sSmartWaypointMgr->GetPath(me->GetEntry());
|
||||
if (!path || path->empty())
|
||||
return;
|
||||
|
||||
pathPoints.push_back(G3D::Vector3(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ()));
|
||||
|
||||
uint32 wpCounter = 1;
|
||||
WPPath::const_iterator itr;
|
||||
while ((itr = path->find(wpCounter++)) != path->end())
|
||||
{
|
||||
WayPoint* wp = itr->second;
|
||||
pathPoints.push_back(G3D::Vector3(wp->x, wp->y, wp->z));
|
||||
}
|
||||
}
|
||||
|
||||
void InitializeAI() override
|
||||
{
|
||||
ScriptedAI::InitializeAI();
|
||||
//Talk(SAY_ENTER);
|
||||
JustReachedHome();
|
||||
}
|
||||
|
||||
void JustReachedHome() override
|
||||
{
|
||||
me->SetWalk(true);
|
||||
Movement::MoveSplineInit init(me);
|
||||
init.MovebyPath(pathPoints);
|
||||
init.SetCyclic();
|
||||
init.Launch();
|
||||
runSecondPath = false;
|
||||
pathId = me->GetEntry() * 10;
|
||||
me->GetMotionMaster()->MovePath(pathId, false);
|
||||
}
|
||||
|
||||
void Reset() override
|
||||
@@ -118,8 +95,38 @@ public:
|
||||
instance->SetData(DATA_ESCORT_PROGRESS, ENCOUNTER_PROGRESS_DRAKE_KILLED);
|
||||
}
|
||||
|
||||
void MovementInform(uint32 type, uint32 point) override
|
||||
{
|
||||
if (type != WAYPOINT_MOTION_TYPE)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (pathId == me->GetEntry() * 10)
|
||||
{
|
||||
switch (point)
|
||||
{
|
||||
case 7:
|
||||
Talk(SAY_ENTER);
|
||||
break;
|
||||
case 10:
|
||||
pathId = (me->GetEntry() * 10) + 1;
|
||||
runSecondPath = true;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (runSecondPath)
|
||||
{
|
||||
runSecondPath = false;
|
||||
me->GetMotionMaster()->MovePath(pathId, true);
|
||||
}
|
||||
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
@@ -161,7 +168,8 @@ public:
|
||||
|
||||
private:
|
||||
EventMap events;
|
||||
Movement::PointsArray pathPoints;
|
||||
uint32 pathId;
|
||||
bool runSecondPath;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -21,11 +21,11 @@
|
||||
#include "ScriptMgr.h"
|
||||
#include "old_hillsbrad.h"
|
||||
|
||||
const Position instancePositions[INSTANCE_POSITIONS_COUNT] =
|
||||
static Position const instancePositions[INSTANCE_POSITIONS_COUNT] =
|
||||
{
|
||||
{2188.18f, 228.90f, 53.025f, 1.77f}, // Orcs Gather Point 1
|
||||
{2103.23f, 93.55f, 53.096f, 3.78f}, // Orcs Gather Point 2
|
||||
{2128.43f, 71.01f, 64.42f, 1.74f} // Lieutenant Drake Summon Position
|
||||
{ 2188.18f, 228.90f, 53.025f, 1.77f }, // Orcs Gather Point 1
|
||||
{ 2103.23f, 93.550f, 53.096f, 3.78f }, // Orcs Gather Point 2
|
||||
{ 2172.76f, 149.54f, 87.981f, 4.19f } // Lieutenant Drake Summon Position
|
||||
};
|
||||
|
||||
const Position thrallPositions[THRALL_POSITIONS_COUNT] =
|
||||
@@ -248,11 +248,8 @@ public:
|
||||
case EVENT_SUMMON_LIEUTENANT:
|
||||
{
|
||||
instance->LoadGrid(instancePositions[2].GetPositionX(), instancePositions[2].GetPositionY());
|
||||
if (Creature* drake = instance->SummonCreature(NPC_LIEUTENANT_DRAKE, instancePositions[2]))
|
||||
{
|
||||
drake->AI()->Talk(0);
|
||||
}
|
||||
[[fallthrough]]; /// @todo: Not sure whether the fallthrough was a mistake (forgetting a break) or intended. This should be double-checked.
|
||||
instance->SummonCreature(NPC_LIEUTENANT_DRAKE, instancePositions[2]);
|
||||
break;
|
||||
}
|
||||
case EVENT_THRALL_REPOSITION:
|
||||
{
|
||||
|
||||
@@ -23,7 +23,8 @@
|
||||
#include "TemporarySummon.h"
|
||||
#include "the_black_morass.h"
|
||||
|
||||
const Position PortalLocation[4] =
|
||||
#define MAX_PORTAL_LOCATIONS 4
|
||||
const Position PortalLocation[MAX_PORTAL_LOCATIONS] =
|
||||
{
|
||||
{ -2030.8318f, 7024.9443f, 23.071817f, 3.14159f },
|
||||
{ -1961.7335f, 7029.5280f, 21.811401f, 2.12931f },
|
||||
@@ -58,6 +59,7 @@ public:
|
||||
_currentRift = 0;
|
||||
_shieldPercent = 100;
|
||||
encounterNPCs.clear();
|
||||
_timerToNextBoss = 0;
|
||||
}
|
||||
|
||||
void CleanupInstance()
|
||||
@@ -66,6 +68,8 @@ public:
|
||||
_currentRift = 0;
|
||||
_shieldPercent = 100;
|
||||
|
||||
_usedRiftPostions.fill(ObjectGuid::Empty);
|
||||
|
||||
instance->LoadGrid(-2023.0f, 7121.0f);
|
||||
if (Creature* medivh = instance->GetCreature(_medivhGUID))
|
||||
{
|
||||
@@ -116,6 +120,7 @@ public:
|
||||
case NPC_INFINITE_CRONOMANCER:
|
||||
case NPC_INFINITE_EXECUTIONER:
|
||||
case NPC_INFINITE_VANQUISHER:
|
||||
case NPC_DP_BEAM_STALKER:
|
||||
encounterNPCs.insert(creature->GetGUID());
|
||||
break;
|
||||
}
|
||||
@@ -150,45 +155,105 @@ public:
|
||||
switch (type)
|
||||
{
|
||||
case TYPE_AEONUS:
|
||||
{
|
||||
encounters[type] = DONE;
|
||||
SaveToDB();
|
||||
|
||||
if (Creature* medivh = instance->GetCreature(_medivhGUID))
|
||||
{
|
||||
encounters[type] = DONE;
|
||||
SaveToDB();
|
||||
|
||||
if (Creature* medivh = instance->GetCreature(_medivhGUID))
|
||||
medivh->AI()->DoAction(ACTION_OUTRO);
|
||||
|
||||
Map::PlayerList const& players = instance->GetPlayers();
|
||||
if (!players.IsEmpty())
|
||||
for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
|
||||
if (Player* player = itr->GetSource())
|
||||
{
|
||||
if (player->GetQuestStatus(QUEST_OPENING_PORTAL) == QUEST_STATUS_INCOMPLETE)
|
||||
player->AreaExploredOrEventHappens(QUEST_OPENING_PORTAL);
|
||||
|
||||
if (player->GetQuestStatus(QUEST_MASTER_TOUCH) == QUEST_STATUS_INCOMPLETE)
|
||||
player->AreaExploredOrEventHappens(QUEST_MASTER_TOUCH);
|
||||
}
|
||||
break;
|
||||
medivh->AI()->DoAction(ACTION_OUTRO);
|
||||
}
|
||||
|
||||
Map::PlayerList const& players = instance->GetPlayers();
|
||||
if (!players.IsEmpty())
|
||||
{
|
||||
for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
|
||||
{
|
||||
if (Player* player = itr->GetSource())
|
||||
{
|
||||
if (player->GetQuestStatus(QUEST_OPENING_PORTAL) == QUEST_STATUS_INCOMPLETE)
|
||||
{
|
||||
player->AreaExploredOrEventHappens(QUEST_OPENING_PORTAL);
|
||||
}
|
||||
|
||||
if (player->GetQuestStatus(QUEST_MASTER_TOUCH) == QUEST_STATUS_INCOMPLETE)
|
||||
{
|
||||
player->AreaExploredOrEventHappens(QUEST_MASTER_TOUCH);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case TYPE_CHRONO_LORD_DEJA:
|
||||
case TYPE_TEMPORUS:
|
||||
{
|
||||
GuidSet eCopy = encounterNPCs;
|
||||
for (ObjectGuid const& guid : eCopy)
|
||||
{
|
||||
if (Creature* creature = instance->GetCreature(guid))
|
||||
{
|
||||
switch (creature->GetEntry())
|
||||
{
|
||||
case NPC_RIFT_KEEPER_WARLOCK:
|
||||
case NPC_RIFT_KEEPER_MAGE:
|
||||
case NPC_RIFT_LORD:
|
||||
case NPC_RIFT_LORD_2:
|
||||
case NPC_TIME_RIFT:
|
||||
creature->DespawnOrUnsummon();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
encounters[type] = DONE;
|
||||
Events.RescheduleEvent(EVENT_NEXT_PORTAL, 60000);
|
||||
|
||||
if (!_timerToNextBoss || _timerToNextBoss > 30 * IN_MILLISECONDS)
|
||||
{
|
||||
Events.RescheduleEvent(EVENT_NEXT_PORTAL, 30 * IN_MILLISECONDS);
|
||||
}
|
||||
else
|
||||
{
|
||||
Events.RescheduleEvent(EVENT_NEXT_PORTAL, _timerToNextBoss);
|
||||
}
|
||||
Events.SetPhase(1);
|
||||
SaveToDB();
|
||||
_timerToNextBoss = (instance->IsHeroic() ? 300 : 150) * IN_MILLISECONDS;
|
||||
break;
|
||||
case DATA_RIFT_KILLED:
|
||||
if (!Events.IsInPhase(1))
|
||||
Events.RescheduleEvent(EVENT_NEXT_PORTAL, 4000);
|
||||
break;
|
||||
}
|
||||
case DATA_MEDIVH:
|
||||
{
|
||||
DoUpdateWorldState(WORLD_STATE_BM, 1);
|
||||
DoUpdateWorldState(WORLD_STATE_BM_SHIELD, _shieldPercent);
|
||||
DoUpdateWorldState(WORLD_STATE_BM_RIFT, _currentRift);
|
||||
Events.RescheduleEvent(EVENT_NEXT_PORTAL, 3000);
|
||||
_timerToNextBoss = (instance->IsHeroic() ? 300 : 150) * IN_MILLISECONDS;
|
||||
|
||||
for (ObjectGuid const& guid : encounterNPCs)
|
||||
{
|
||||
if (guid.GetEntry() == NPC_DP_BEAM_STALKER)
|
||||
{
|
||||
if (Creature* creature = instance->GetCreature(guid))
|
||||
{
|
||||
if (!creature->IsAlive())
|
||||
{
|
||||
creature->Respawn(true);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case DATA_DAMAGE_SHIELD:
|
||||
{
|
||||
if (_shieldPercent <= 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
_shieldPercent -= data;
|
||||
if (_shieldPercent < 0)
|
||||
{
|
||||
@@ -203,15 +268,20 @@ public:
|
||||
{
|
||||
if (medivh->IsAlive())
|
||||
{
|
||||
Unit::Kill(medivh, medivh);
|
||||
medivh->SetImmuneToNPC(true);
|
||||
|
||||
// Xinef: delete all spawns
|
||||
GuidSet eCopy = encounterNPCs;
|
||||
for (ObjectGuid const& guid : eCopy)
|
||||
if (medivh->IsAIEnabled)
|
||||
{
|
||||
medivh->AI()->Talk(SAY_MEDIVH_DEATH);
|
||||
}
|
||||
|
||||
Events.ScheduleEvent(EVENT_WIPE_1, 4s);
|
||||
|
||||
for (ObjectGuid const& guid : encounterNPCs)
|
||||
{
|
||||
if (Creature* creature = instance->GetCreature(guid))
|
||||
{
|
||||
creature->DespawnOrUnsummon();
|
||||
creature->InterruptNonMeleeSpells(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -219,6 +289,8 @@ public:
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -244,6 +316,34 @@ public:
|
||||
encounterNPCs.insert(data);
|
||||
else if (type == DATA_DELETED_NPC)
|
||||
encounterNPCs.erase(data);
|
||||
else if (type == DATA_RIFT_KILLED)
|
||||
{
|
||||
if (!Events.IsInPhase(1))
|
||||
{
|
||||
uint8 emptySpots = 0;
|
||||
for (uint8 i = 0; i < MAX_PORTAL_LOCATIONS; ++i)
|
||||
{
|
||||
if (!_usedRiftPostions[i])
|
||||
{
|
||||
++emptySpots;
|
||||
}
|
||||
|
||||
if (_usedRiftPostions[i] == data)
|
||||
{
|
||||
_usedRiftPostions[i].Clear();
|
||||
}
|
||||
}
|
||||
|
||||
if (emptySpots >= MAX_PORTAL_LOCATIONS - 1)
|
||||
{
|
||||
Events.RescheduleEvent(EVENT_NEXT_PORTAL, 4000);
|
||||
}
|
||||
else if (!emptySpots)
|
||||
{
|
||||
Events.RescheduleEvent(EVENT_NEXT_PORTAL, (_currentRift >= 13 ? 120 : 90) * IN_MILLISECONDS);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ObjectGuid GetGuidData(uint32 data) const override
|
||||
@@ -254,17 +354,11 @@ public:
|
||||
return ObjectGuid::Empty;
|
||||
}
|
||||
|
||||
void SummonPortalKeeper()
|
||||
void SummonPortalKeeper(uint32 eventId)
|
||||
{
|
||||
Creature* rift = nullptr;
|
||||
for (ObjectGuid const& guid : encounterNPCs)
|
||||
if (Creature* summon = instance->GetCreature(guid))
|
||||
if (summon->GetEntry() == NPC_TIME_RIFT)
|
||||
{
|
||||
rift = summon;
|
||||
break;
|
||||
}
|
||||
|
||||
uint8 riftPosition = eventId - EVENT_SUMMON_KEEPER_1;
|
||||
ObjectGuid const& riftGUID = _usedRiftPostions[riftPosition];
|
||||
Creature* rift = instance->GetCreature(riftGUID);
|
||||
if (!rift)
|
||||
return;
|
||||
|
||||
@@ -307,23 +401,120 @@ public:
|
||||
|
||||
void Update(uint32 diff) override
|
||||
{
|
||||
if (_timerToNextBoss)
|
||||
{
|
||||
if (_timerToNextBoss <= diff)
|
||||
{
|
||||
_timerToNextBoss = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
_timerToNextBoss -= diff;
|
||||
}
|
||||
}
|
||||
|
||||
Events.Update(diff);
|
||||
switch (Events.ExecuteEvent())
|
||||
|
||||
uint32 eventId = Events.ExecuteEvent();
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_NEXT_PORTAL:
|
||||
++_currentRift;
|
||||
DoUpdateWorldState(WORLD_STATE_BM_RIFT, _currentRift);
|
||||
Events.ScheduleEvent(EVENT_SUMMON_KEEPER, 6000);
|
||||
Events.SetPhase(0);
|
||||
|
||||
{
|
||||
if (instance->GetCreature(_medivhGUID))
|
||||
{
|
||||
uint8 position = (_currentRift - 1) % 4;
|
||||
instance->SummonCreature(NPC_TIME_RIFT, PortalLocation[position]);
|
||||
uint8 position = MAX_PORTAL_LOCATIONS;
|
||||
|
||||
std::vector<uint8> possibleSpots;
|
||||
for (uint8 i = 0; i < MAX_PORTAL_LOCATIONS; ++i)
|
||||
{
|
||||
if (!_usedRiftPostions[i])
|
||||
{
|
||||
possibleSpots.push_back(i);
|
||||
}
|
||||
}
|
||||
|
||||
if (!possibleSpots.empty())
|
||||
{
|
||||
position = Acore::Containers::SelectRandomContainerElement(possibleSpots);
|
||||
}
|
||||
|
||||
if (position < MAX_PORTAL_LOCATIONS)
|
||||
{
|
||||
++_currentRift;
|
||||
DoUpdateWorldState(WORLD_STATE_BM_RIFT, _currentRift);
|
||||
Events.ScheduleEvent(EVENT_SUMMON_KEEPER_1 + position, 6000);
|
||||
Events.SetPhase(0);
|
||||
|
||||
if (Creature* rift = instance->SummonCreature(NPC_TIME_RIFT, PortalLocation[position]))
|
||||
{
|
||||
_usedRiftPostions[position] = rift->GetGUID();
|
||||
|
||||
for (uint8 i = 0; i < MAX_PORTAL_LOCATIONS; ++i)
|
||||
{
|
||||
if (!_usedRiftPostions[i])
|
||||
{
|
||||
Events.RescheduleEvent(EVENT_NEXT_PORTAL, (_currentRift >= 13 ? 120 : 90) * IN_MILLISECONDS);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case EVENT_SUMMON_KEEPER:
|
||||
SummonPortalKeeper();
|
||||
}
|
||||
case EVENT_SUMMON_KEEPER_1:
|
||||
case EVENT_SUMMON_KEEPER_2:
|
||||
case EVENT_SUMMON_KEEPER_3:
|
||||
case EVENT_SUMMON_KEEPER_4:
|
||||
SummonPortalKeeper(eventId);
|
||||
break;
|
||||
case EVENT_WIPE_1:
|
||||
if (Creature* medivh = instance->GetCreature(_medivhGUID))
|
||||
{
|
||||
medivh->RemoveAllAuras();
|
||||
}
|
||||
Events.ScheduleEvent(EVENT_WIPE_2, 500ms);
|
||||
break;
|
||||
case EVENT_WIPE_2:
|
||||
if (Creature* medivh = instance->GetCreature(_medivhGUID))
|
||||
{
|
||||
medivh->KillSelf(false);
|
||||
|
||||
GuidSet encounterNPCSCopy = encounterNPCs;
|
||||
for (ObjectGuid const& guid : encounterNPCSCopy)
|
||||
{
|
||||
switch (guid.GetEntry())
|
||||
{
|
||||
case NPC_TIME_RIFT:
|
||||
case NPC_DP_EMITTER_STALKER:
|
||||
case NPC_DP_CRYSTAL_STALKER:
|
||||
case NPC_DP_BEAM_STALKER:
|
||||
if (Creature* creature = instance->GetCreature(guid))
|
||||
{
|
||||
creature->DespawnOrUnsummon();
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
Events.ScheduleEvent(EVENT_WIPE_3, 2s);
|
||||
break;
|
||||
case EVENT_WIPE_3:
|
||||
{
|
||||
GuidSet encounterNPCSCopy = encounterNPCs;
|
||||
for (ObjectGuid const& guid : encounterNPCSCopy)
|
||||
{
|
||||
if (Creature* creature = instance->GetCreature(guid))
|
||||
{
|
||||
creature->CastSpell(creature, SPELL_TELEPORT_VISUAL, true);
|
||||
creature->DespawnOrUnsummon(1200ms, 0s);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -344,6 +535,8 @@ public:
|
||||
|
||||
protected:
|
||||
EventMap Events;
|
||||
std::array<ObjectGuid, MAX_PORTAL_LOCATIONS> _usedRiftPostions;
|
||||
uint32 _timerToNextBoss;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -22,33 +22,8 @@
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptedGossip.h"
|
||||
|
||||
enum medivhSays
|
||||
{
|
||||
SAY_ENTER = 0,
|
||||
SAY_DEATH = 5,
|
||||
SAY_WIN = 6,
|
||||
SAY_ORCS_ENTER = 7,
|
||||
|
||||
SAY_ORCS_ANSWER = 0
|
||||
};
|
||||
|
||||
enum medivhSpells
|
||||
{
|
||||
SPELL_MANA_SHIELD = 31635,
|
||||
SPELL_MEDIVH_CHANNEL = 31556,
|
||||
SPELL_BLACK_CRYSTAL = 32563,
|
||||
SPELL_PORTAL_CRYSTALS = 32564,
|
||||
SPELL_BANISH_PURPLE = 32566,
|
||||
SPELL_BANISH_GREEN = 32567,
|
||||
|
||||
SPELL_CORRUPT = 31326,
|
||||
SPELL_CORRUPT_AEONUS = 37853,
|
||||
};
|
||||
|
||||
enum medivhMisc
|
||||
{
|
||||
NPC_DP_EMITTER_STALKER = 18582,
|
||||
NPC_DP_CRYSTAL_STALKER = 18553,
|
||||
NPC_SHADOW_COUNCIL_ENFORCER = 17023,
|
||||
GO_DARK_PORTAL = 185103,
|
||||
|
||||
@@ -120,6 +95,8 @@ struct npc_medivh_bm : public ScriptedAI
|
||||
{
|
||||
me->CastSpell(me, SPELL_MEDIVH_CHANNEL, false);
|
||||
}
|
||||
|
||||
me->SetImmuneToNPC(false);
|
||||
}
|
||||
|
||||
void JustSummoned(Creature* summon) override
|
||||
@@ -156,7 +133,7 @@ struct npc_medivh_bm : public ScriptedAI
|
||||
|
||||
if (who->GetTypeId() == TYPEID_PLAYER && me->IsWithinDistInMap(who, 20.0f))
|
||||
{
|
||||
Talk(SAY_ENTER);
|
||||
Talk(SAY_MEDIVH_ENTER);
|
||||
_instance->SetData(DATA_MEDIVH, 1);
|
||||
|
||||
me->CastSpell(me, SPELL_MEDIVH_CHANNEL, false);
|
||||
@@ -189,7 +166,6 @@ struct npc_medivh_bm : public ScriptedAI
|
||||
{
|
||||
me->SetRespawnTime(DAY);
|
||||
events.Reset();
|
||||
Talk(SAY_DEATH);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
@@ -216,7 +192,7 @@ struct npc_medivh_bm : public ScriptedAI
|
||||
break;
|
||||
case EVENT_OUTRO_1:
|
||||
me->SetFacingTo(6.21f);
|
||||
Talk(SAY_WIN);
|
||||
Talk(SAY_MEDIVH_WIN);
|
||||
events.ScheduleEvent(EVENT_OUTRO_2, 17000);
|
||||
break;
|
||||
case EVENT_OUTRO_2:
|
||||
@@ -240,14 +216,14 @@ struct npc_medivh_bm : public ScriptedAI
|
||||
events.ScheduleEvent(EVENT_OUTRO_7, 7000);
|
||||
break;
|
||||
case EVENT_OUTRO_7:
|
||||
Talk(SAY_ORCS_ENTER);
|
||||
Talk(SAY_MEDIVH_ORCS_ENTER);
|
||||
events.ScheduleEvent(EVENT_OUTRO_8, 7000);
|
||||
break;
|
||||
case EVENT_OUTRO_8:
|
||||
if (Creature* cr = me->FindNearestCreature(NPC_SHADOW_COUNCIL_ENFORCER, 20.0f))
|
||||
{
|
||||
cr->SetFacingTo(3.07f);
|
||||
cr->AI()->Talk(SAY_ORCS_ANSWER);
|
||||
cr->AI()->Talk(SAY_MEDIVH_ORCS_ANSWER);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -350,7 +326,7 @@ struct npc_time_rift : public NullCreatureAI
|
||||
Creature* riftKeeper = ObjectAccessor::GetCreature(*me, _riftKeeperGUID);
|
||||
if (!riftKeeper || !riftKeeper->IsAlive())
|
||||
{
|
||||
_instance->SetData(DATA_RIFT_KILLED, 1);
|
||||
_instance->SetGuidData(DATA_RIFT_KILLED, me->GetGUID());
|
||||
|
||||
me->DespawnOrUnsummon(0);
|
||||
break;
|
||||
|
||||
@@ -77,19 +77,53 @@ enum CreatureIds
|
||||
NPC_INFINITE_WHELP = 21818,
|
||||
NPC_INFINITE_CRONOMANCER = 17892,
|
||||
NPC_INFINITE_EXECUTIONER = 18994,
|
||||
NPC_INFINITE_VANQUISHER = 18995
|
||||
NPC_INFINITE_VANQUISHER = 18995,
|
||||
|
||||
NPC_DP_EMITTER_STALKER = 18582,
|
||||
NPC_DP_CRYSTAL_STALKER = 18553,
|
||||
NPC_DP_BEAM_STALKER = 18555
|
||||
};
|
||||
|
||||
enum Misc
|
||||
{
|
||||
SPELL_RIFT_CHANNEL = 31387,
|
||||
SPELL_TELEPORT_VISUAL = 7791,
|
||||
|
||||
EVENT_NEXT_PORTAL = 1,
|
||||
EVENT_SUMMON_KEEPER = 2,
|
||||
EVENT_SUMMON_KEEPER_1 = 2,
|
||||
EVENT_SUMMON_KEEPER_2 = 3,
|
||||
EVENT_SUMMON_KEEPER_3 = 4,
|
||||
EVENT_SUMMON_KEEPER_4 = 5,
|
||||
EVENT_WIPE_1 = 6,
|
||||
EVENT_WIPE_2 = 7,
|
||||
EVENT_WIPE_3 = 8,
|
||||
|
||||
ACTION_OUTRO = 1
|
||||
};
|
||||
|
||||
enum medivhSays
|
||||
{
|
||||
SAY_MEDIVH_ENTER = 0,
|
||||
SAY_MEDIVH_DEATH = 5,
|
||||
SAY_MEDIVH_WIN = 6,
|
||||
SAY_MEDIVH_ORCS_ENTER = 7,
|
||||
|
||||
SAY_MEDIVH_ORCS_ANSWER = 0
|
||||
};
|
||||
|
||||
enum medivhSpells
|
||||
{
|
||||
SPELL_MANA_SHIELD = 31635,
|
||||
SPELL_MEDIVH_CHANNEL = 31556,
|
||||
SPELL_BLACK_CRYSTAL = 32563,
|
||||
SPELL_PORTAL_CRYSTALS = 32564,
|
||||
SPELL_BANISH_PURPLE = 32566,
|
||||
SPELL_BANISH_GREEN = 32567,
|
||||
|
||||
SPELL_CORRUPT = 31326,
|
||||
SPELL_CORRUPT_AEONUS = 37853,
|
||||
};
|
||||
|
||||
template <class AI, class T>
|
||||
inline AI* GetTheBlackMorassAI(T* obj)
|
||||
{
|
||||
|
||||
152
src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_anzu.cpp
Normal file
152
src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_anzu.cpp
Normal file
@@ -0,0 +1,152 @@
|
||||
/*
|
||||
* This file is part of the AzerothCore Project. See AUTHORS file for Copyright information
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Affero General Public License as published by the
|
||||
* Free Software Foundation; either version 3 of the License, or (at your
|
||||
* option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "ScriptMgr.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellScript.h"
|
||||
#include "sethekk_halls.h"
|
||||
|
||||
enum Anzu
|
||||
{
|
||||
SAY_ANZU_INTRO1 = 0,
|
||||
SAY_ANZU_INTRO2 = 1,
|
||||
SAY_SUMMON = 2,
|
||||
|
||||
SPELL_PARALYZING_SCREECH = 40184,
|
||||
SPELL_SPELL_BOMB = 40303,
|
||||
SPELL_CYCLONE = 40321,
|
||||
SPELL_BANISH_SELF = 42354,
|
||||
SPELL_SHADOWFORM = 40973,
|
||||
|
||||
EVENT_SPELL_SCREECH = 1,
|
||||
EVENT_SPELL_BOMB = 2,
|
||||
EVENT_SPELL_CYCLONE = 3,
|
||||
EVENT_ANZU_HEALTH1 = 4,
|
||||
EVENT_ANZU_HEALTH2 = 5
|
||||
};
|
||||
|
||||
struct boss_anzu : public BossAI
|
||||
{
|
||||
boss_anzu(Creature* creature) : BossAI(creature, DATA_ANZU)
|
||||
{
|
||||
talkTimer = 1;
|
||||
me->ReplaceAllUnitFlags(UNIT_FLAG_NON_ATTACKABLE);
|
||||
me->AddAura(SPELL_SHADOWFORM, me);
|
||||
}
|
||||
|
||||
uint32 talkTimer;
|
||||
|
||||
void SummonedCreatureDies(Creature* summon, Unit*) override
|
||||
{
|
||||
summons.Despawn(summon);
|
||||
summons.RemoveNotExisting();
|
||||
if (summons.empty())
|
||||
me->RemoveAurasDueToSpell(SPELL_BANISH_SELF);
|
||||
}
|
||||
|
||||
void JustEngagedWith(Unit* /*who*/) override
|
||||
{
|
||||
_JustEngagedWith();
|
||||
events.Reset();
|
||||
events.ScheduleEvent(EVENT_SPELL_SCREECH, 14000);
|
||||
events.ScheduleEvent(EVENT_SPELL_BOMB, 5000);
|
||||
events.ScheduleEvent(EVENT_SPELL_CYCLONE, 8000);
|
||||
events.ScheduleEvent(EVENT_ANZU_HEALTH1, 2000);
|
||||
events.ScheduleEvent(EVENT_ANZU_HEALTH2, 2001);
|
||||
}
|
||||
|
||||
void SummonBroods()
|
||||
{
|
||||
Talk(SAY_SUMMON);
|
||||
me->CastSpell(me, SPELL_BANISH_SELF, true);
|
||||
for (uint8 i = 0; i < 5; ++i)
|
||||
me->SummonCreature(23132 /*NPC_BROOD_OF_ANZU*/, me->GetPositionX() + 20 * cos((float)i), me->GetPositionY() + 20 * std::sin((float)i), me->GetPositionZ() + 25.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (talkTimer)
|
||||
{
|
||||
talkTimer += diff;
|
||||
if (talkTimer >= 1000 && talkTimer < 10000)
|
||||
{
|
||||
Talk(SAY_ANZU_INTRO1);
|
||||
talkTimer = 10000;
|
||||
}
|
||||
else if (talkTimer >= 16000)
|
||||
{
|
||||
me->ReplaceAllUnitFlags(UNIT_FLAG_NONE);
|
||||
me->RemoveAurasDueToSpell(SPELL_SHADOWFORM);
|
||||
Talk(SAY_ANZU_INTRO2);
|
||||
talkTimer = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
events.Update(diff);
|
||||
if (me->HasUnitState(UNIT_STATE_CASTING | UNIT_STATE_STUNNED))
|
||||
return;
|
||||
|
||||
switch (events.ExecuteEvent())
|
||||
{
|
||||
case EVENT_SPELL_SCREECH:
|
||||
me->CastSpell(me, SPELL_PARALYZING_SCREECH, false);
|
||||
events.RepeatEvent(23000);
|
||||
events.DelayEvents(3000);
|
||||
break;
|
||||
case EVENT_SPELL_BOMB:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true))
|
||||
me->CastSpell(target, SPELL_SPELL_BOMB, false);
|
||||
events.RepeatEvent(urand(16000, 24500));
|
||||
events.DelayEvents(3000);
|
||||
break;
|
||||
case EVENT_SPELL_CYCLONE:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 45.0f, true))
|
||||
me->CastSpell(target, SPELL_CYCLONE, false);
|
||||
events.RepeatEvent(urand(22000, 27000));
|
||||
events.DelayEvents(3000);
|
||||
break;
|
||||
case EVENT_ANZU_HEALTH1:
|
||||
if (me->HealthBelowPct(66))
|
||||
{
|
||||
SummonBroods();
|
||||
events.DelayEvents(10000);
|
||||
return;
|
||||
}
|
||||
events.RepeatEvent(1000);
|
||||
break;
|
||||
case EVENT_ANZU_HEALTH2:
|
||||
if (me->HealthBelowPct(33))
|
||||
{
|
||||
SummonBroods();
|
||||
events.DelayEvents(10000);
|
||||
return;
|
||||
}
|
||||
events.RepeatEvent(1000);
|
||||
break;
|
||||
}
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_boss_anzu()
|
||||
{
|
||||
RegisterSethekkHallsCreatureAI(boss_anzu);
|
||||
}
|
||||
@@ -17,6 +17,7 @@
|
||||
|
||||
#include "ScriptMgr.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellScript.h"
|
||||
#include "sethekk_halls.h"
|
||||
|
||||
enum TailonkingIkiss
|
||||
@@ -26,308 +27,150 @@ enum TailonkingIkiss
|
||||
SAY_SLAY = 2,
|
||||
SAY_DEATH = 3,
|
||||
EMOTE_ARCANE_EXP = 4,
|
||||
};
|
||||
|
||||
enum Spells
|
||||
{
|
||||
SPELL_BLINK = 38194,
|
||||
SPELL_BLINK_TELEPORT = 38203,
|
||||
SPELL_MANA_SHIELD = 38151,
|
||||
SPELL_ARCANE_BUBBLE = 9438,
|
||||
SPELL_SLOW = 35032,
|
||||
SPELL_POLYMORPH_N = 38245, // Difficulty data
|
||||
SPELL_POLYMORPH_H = 43309,
|
||||
SPELL_ARCANE_VOLLEY_N = 35059, // Difficulty data
|
||||
SPELL_ARCANE_VOLLEY_H = 40424,
|
||||
SPELL_ARCANE_EXPLOSION_N = 38197, // Difficulty data
|
||||
SPELL_ARCANE_EXPLOSION_H = 40425,
|
||||
|
||||
EVENT_SPELL_BLINK = 1,
|
||||
EVENT_SPELL_POLYMORPH = 2,
|
||||
EVENT_SPELL_SLOW = 3,
|
||||
EVENT_SPELL_ARCANE_VOLLEY = 4,
|
||||
EVENT_SPELL_ARCANE_EXPLO = 5,
|
||||
EVENT_HEALTH_CHECK = 6,
|
||||
EVENT_SPELL_BLINK_2 = 7
|
||||
SPELL_POLYMORPH = 38245,
|
||||
SPELL_ARCANE_VOLLEY = 35059,
|
||||
SPELL_ARCANE_EXPLOSION = 38197,
|
||||
};
|
||||
|
||||
class boss_talon_king_ikiss : public CreatureScript
|
||||
struct boss_talon_king_ikiss : public BossAI
|
||||
{
|
||||
public:
|
||||
boss_talon_king_ikiss() : CreatureScript("boss_talon_king_ikiss") { }
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
boss_talon_king_ikiss(Creature* creature) : BossAI(creature, DATA_IKISS), _spoken(false), _manaShield(false)
|
||||
{
|
||||
return GetSethekkHallsAI<boss_talon_king_ikissAI>(creature);
|
||||
scheduler.SetValidator([this]
|
||||
{
|
||||
return !me->HasUnitState(UNIT_STATE_CASTING);
|
||||
});
|
||||
}
|
||||
|
||||
struct boss_talon_king_ikissAI : public ScriptedAI
|
||||
void Reset() override
|
||||
{
|
||||
boss_talon_king_ikissAI(Creature* creature) : ScriptedAI(creature)
|
||||
_Reset();
|
||||
_spoken = false;
|
||||
_manaShield = false;
|
||||
}
|
||||
|
||||
void MoveInLineOfSight(Unit* who) override
|
||||
{
|
||||
if (!_spoken && who->IsPlayer())
|
||||
{
|
||||
Talk(SAY_INTRO);
|
||||
_spoken = true;
|
||||
}
|
||||
|
||||
EventMap events;
|
||||
ScriptedAI::MoveInLineOfSight(who);
|
||||
}
|
||||
|
||||
void JustEngagedWith(Unit* /*who*/) override
|
||||
{
|
||||
_JustEngagedWith();
|
||||
Talk(SAY_AGGRO);
|
||||
|
||||
scheduler.Schedule(35s, [this](TaskContext context)
|
||||
{
|
||||
me->InterruptNonMeleeSpells(false);
|
||||
DoCastAOE(SPELL_BLINK);
|
||||
Talk(EMOTE_ARCANE_EXP);
|
||||
context.Repeat(35s, 40s);
|
||||
|
||||
scheduler.Schedule(1s, [this](TaskContext)
|
||||
{
|
||||
DoCastAOE(SPELL_ARCANE_EXPLOSION);
|
||||
DoCastSelf(SPELL_ARCANE_BUBBLE, true);
|
||||
});
|
||||
}).Schedule(5s, [this](TaskContext context)
|
||||
{
|
||||
DoCastAOE(SPELL_ARCANE_VOLLEY);
|
||||
context.Repeat(7s, 12s);
|
||||
}).Schedule(8s, [this](TaskContext context)
|
||||
{
|
||||
IsHeroic() ? DoCastRandomTarget(SPELL_POLYMORPH) : DoCastMaxThreat(SPELL_POLYMORPH);
|
||||
context.Repeat(15s, 17500ms);
|
||||
});
|
||||
|
||||
if (IsHeroic())
|
||||
{
|
||||
scheduler.Schedule(15s, 25s, [this](TaskContext context)
|
||||
{
|
||||
DoCastAOE(SPELL_SLOW);
|
||||
context.Repeat(15s, 30s);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
_JustDied();
|
||||
Talk(SAY_DEATH);
|
||||
|
||||
if (GameObject* coffer = instance->GetGameObject(DATA_GO_TALON_KING_COFFER))
|
||||
{
|
||||
coffer->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE | GO_FLAG_INTERACT_COND);
|
||||
}
|
||||
}
|
||||
|
||||
void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*damagetype*/, SpellSchoolMask /*damageSchoolMask*/) override
|
||||
{
|
||||
if (!_manaShield && me->HealthBelowPctDamaged(20, damage))
|
||||
{
|
||||
DoCast(me, SPELL_MANA_SHIELD);
|
||||
_manaShield = true;
|
||||
}
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* /*victim*/) override
|
||||
{
|
||||
if (urand(0, 1))
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
|
||||
private:
|
||||
bool _spoken;
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
_spoken = false;
|
||||
}
|
||||
|
||||
void MoveInLineOfSight(Unit* who) override
|
||||
{
|
||||
if (!_spoken && who->GetTypeId() == TYPEID_PLAYER)
|
||||
{
|
||||
Talk(SAY_INTRO);
|
||||
_spoken = true;
|
||||
}
|
||||
|
||||
ScriptedAI::MoveInLineOfSight(who);
|
||||
}
|
||||
|
||||
void JustEngagedWith(Unit* /*who*/) override
|
||||
{
|
||||
Talk(SAY_AGGRO);
|
||||
|
||||
events.ScheduleEvent(EVENT_SPELL_BLINK, 35000);
|
||||
events.ScheduleEvent(EVENT_SPELL_ARCANE_VOLLEY, 5000);
|
||||
events.ScheduleEvent(EVENT_SPELL_POLYMORPH, 8000);
|
||||
events.ScheduleEvent(EVENT_HEALTH_CHECK, 2000);
|
||||
if (IsHeroic())
|
||||
events.ScheduleEvent(EVENT_SPELL_SLOW, urand(15000, 25000));
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
Talk(SAY_DEATH);
|
||||
|
||||
if (InstanceScript* instance = me->GetInstanceScript())
|
||||
instance->SetData(DATA_IKISSDOOREVENT, DONE);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* /*victim*/) override
|
||||
{
|
||||
if (urand(0, 1))
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
events.Update(diff);
|
||||
if (me->HasUnitState(UNIT_STATE_CASTING))
|
||||
return;
|
||||
|
||||
switch (events.ExecuteEvent())
|
||||
{
|
||||
case EVENT_SPELL_ARCANE_VOLLEY:
|
||||
me->CastSpell(me, SPELL_ARCANE_VOLLEY_N, false);
|
||||
events.RepeatEvent(urand(7000, 12000));
|
||||
break;
|
||||
case EVENT_SPELL_POLYMORPH:
|
||||
if (Unit* target = (IsHeroic() ? SelectTarget(SelectTargetMethod::Random, 0) : SelectTarget(SelectTargetMethod::MaxThreat, 1)))
|
||||
me->CastSpell(target, SPELL_POLYMORPH_N, false);
|
||||
events.RepeatEvent(urand(15000, 17500));
|
||||
break;
|
||||
case EVENT_SPELL_SLOW:
|
||||
me->CastSpell(me, SPELL_SLOW, false);
|
||||
events.RepeatEvent(urand(15000, 30000));
|
||||
break;
|
||||
case EVENT_HEALTH_CHECK:
|
||||
if (me->HealthBelowPct(20))
|
||||
{
|
||||
me->CastSpell(me, SPELL_MANA_SHIELD, false);
|
||||
return;
|
||||
}
|
||||
events.RepeatEvent(1000);
|
||||
break;
|
||||
case EVENT_SPELL_BLINK:
|
||||
Talk(EMOTE_ARCANE_EXP);
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
{
|
||||
me->CastSpell(target, SPELL_BLINK, false);
|
||||
me->NearTeleportTo(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), target->GetOrientation());
|
||||
|
||||
DoCast(target, SPELL_BLINK_TELEPORT);
|
||||
}
|
||||
events.RepeatEvent(urand(35000, 40000));
|
||||
events.DelayEvents(500);
|
||||
events.ScheduleEvent(EVENT_SPELL_BLINK_2, 0);
|
||||
return;
|
||||
case EVENT_SPELL_BLINK_2:
|
||||
me->CastSpell(me, SPELL_ARCANE_EXPLOSION_N, false);
|
||||
me->CastSpell(me, SPELL_ARCANE_BUBBLE, true);
|
||||
break;
|
||||
}
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
bool _manaShield;
|
||||
};
|
||||
|
||||
enum Anzu
|
||||
// 38194 - Blink
|
||||
class spell_talon_king_ikiss_blink : public SpellScript
|
||||
{
|
||||
SAY_ANZU_INTRO1 = 0,
|
||||
SAY_ANZU_INTRO2 = 1,
|
||||
SAY_SUMMON = 2,
|
||||
PrepareSpellScript(spell_talon_king_ikiss_blink);
|
||||
|
||||
SPELL_PARALYZING_SCREECH = 40184,
|
||||
SPELL_SPELL_BOMB = 40303,
|
||||
SPELL_CYCLONE = 40321,
|
||||
SPELL_BANISH_SELF = 42354,
|
||||
SPELL_SHADOWFORM = 40973,
|
||||
|
||||
EVENT_SPELL_SCREECH = 1,
|
||||
EVENT_SPELL_BOMB = 2,
|
||||
EVENT_SPELL_CYCLONE = 3,
|
||||
EVENT_ANZU_HEALTH1 = 4,
|
||||
EVENT_ANZU_HEALTH2 = 5
|
||||
};
|
||||
|
||||
class boss_anzu : public CreatureScript
|
||||
{
|
||||
public:
|
||||
boss_anzu() : CreatureScript("boss_anzu") { }
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return GetSethekkHallsAI<boss_anzuAI>(creature);
|
||||
return sSpellMgr->GetSpellInfo(SPELL_BLINK);
|
||||
}
|
||||
|
||||
struct boss_anzuAI : public ScriptedAI
|
||||
void FilterTargets(std::list<WorldObject*>& targets)
|
||||
{
|
||||
boss_anzuAI(Creature* creature) : ScriptedAI(creature), summons(me)
|
||||
uint8 maxSize = 1;
|
||||
if (targets.size() > maxSize)
|
||||
{
|
||||
talkTimer = 1;
|
||||
me->ReplaceAllUnitFlags(UNIT_FLAG_NON_ATTACKABLE);
|
||||
me->AddAura(SPELL_SHADOWFORM, me);
|
||||
Acore::Containers::RandomResize(targets, maxSize);
|
||||
}
|
||||
}
|
||||
|
||||
EventMap events;
|
||||
SummonList summons;
|
||||
uint32 talkTimer;
|
||||
void HandleDummyHitTarget(SpellEffIndex effIndex)
|
||||
{
|
||||
PreventHitDefaultEffect(effIndex);
|
||||
GetHitUnit()->CastSpell(GetCaster(), SPELL_BLINK_TELEPORT, true);
|
||||
}
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
summons.DespawnAll();
|
||||
if (InstanceScript* instance = me->GetInstanceScript())
|
||||
if (instance->GetData(TYPE_ANZU_ENCOUNTER) != DONE)
|
||||
instance->SetData(TYPE_ANZU_ENCOUNTER, NOT_STARTED);
|
||||
}
|
||||
|
||||
void JustSummoned(Creature* summon) override
|
||||
{
|
||||
summons.Summon(summon);
|
||||
summon->AI()->AttackStart(me->GetVictim());
|
||||
}
|
||||
|
||||
void SummonedCreatureDies(Creature* summon, Unit*) override
|
||||
{
|
||||
summons.Despawn(summon);
|
||||
summons.RemoveNotExisting();
|
||||
if (summons.empty())
|
||||
me->RemoveAurasDueToSpell(SPELL_BANISH_SELF);
|
||||
}
|
||||
|
||||
void JustEngagedWith(Unit* /*who*/) override
|
||||
{
|
||||
events.Reset();
|
||||
events.ScheduleEvent(EVENT_SPELL_SCREECH, 14000);
|
||||
events.ScheduleEvent(EVENT_SPELL_BOMB, 5000);
|
||||
events.ScheduleEvent(EVENT_SPELL_CYCLONE, 8000);
|
||||
events.ScheduleEvent(EVENT_ANZU_HEALTH1, 2000);
|
||||
events.ScheduleEvent(EVENT_ANZU_HEALTH2, 2001);
|
||||
|
||||
if (InstanceScript* instance = me->GetInstanceScript())
|
||||
instance->SetData(TYPE_ANZU_ENCOUNTER, IN_PROGRESS);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
if (InstanceScript* instance = me->GetInstanceScript())
|
||||
instance->SetData(TYPE_ANZU_ENCOUNTER, DONE);
|
||||
}
|
||||
|
||||
void SummonBroods()
|
||||
{
|
||||
Talk(SAY_SUMMON);
|
||||
me->CastSpell(me, SPELL_BANISH_SELF, true);
|
||||
for (uint8 i = 0; i < 5; ++i)
|
||||
me->SummonCreature(23132 /*NPC_BROOD_OF_ANZU*/, me->GetPositionX() + 20 * cos((float)i), me->GetPositionY() + 20 * std::sin((float)i), me->GetPositionZ() + 25.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (talkTimer)
|
||||
{
|
||||
talkTimer += diff;
|
||||
if (talkTimer >= 1000 && talkTimer < 10000)
|
||||
{
|
||||
Talk(SAY_ANZU_INTRO1);
|
||||
talkTimer = 10000;
|
||||
}
|
||||
else if (talkTimer >= 16000)
|
||||
{
|
||||
me->ReplaceAllUnitFlags(UNIT_FLAG_NONE);
|
||||
me->RemoveAurasDueToSpell(SPELL_SHADOWFORM);
|
||||
Talk(SAY_ANZU_INTRO2);
|
||||
talkTimer = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
events.Update(diff);
|
||||
if (me->HasUnitState(UNIT_STATE_CASTING | UNIT_STATE_STUNNED))
|
||||
return;
|
||||
|
||||
switch (events.ExecuteEvent())
|
||||
{
|
||||
case EVENT_SPELL_SCREECH:
|
||||
me->CastSpell(me, SPELL_PARALYZING_SCREECH, false);
|
||||
events.RepeatEvent(23000);
|
||||
events.DelayEvents(3000);
|
||||
break;
|
||||
case EVENT_SPELL_BOMB:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true))
|
||||
me->CastSpell(target, SPELL_SPELL_BOMB, false);
|
||||
events.RepeatEvent(urand(16000, 24500));
|
||||
events.DelayEvents(3000);
|
||||
break;
|
||||
case EVENT_SPELL_CYCLONE:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 45.0f, true))
|
||||
me->CastSpell(target, SPELL_CYCLONE, false);
|
||||
events.RepeatEvent(urand(22000, 27000));
|
||||
events.DelayEvents(3000);
|
||||
break;
|
||||
case EVENT_ANZU_HEALTH1:
|
||||
if (me->HealthBelowPct(66))
|
||||
{
|
||||
SummonBroods();
|
||||
events.DelayEvents(10000);
|
||||
return;
|
||||
}
|
||||
events.RepeatEvent(1000);
|
||||
break;
|
||||
case EVENT_ANZU_HEALTH2:
|
||||
if (me->HealthBelowPct(33))
|
||||
{
|
||||
SummonBroods();
|
||||
events.DelayEvents(10000);
|
||||
return;
|
||||
}
|
||||
events.RepeatEvent(1000);
|
||||
break;
|
||||
}
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_talon_king_ikiss_blink::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_talon_king_ikiss_blink::HandleDummyHitTarget, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_boss_talon_king_ikiss()
|
||||
{
|
||||
new boss_talon_king_ikiss();
|
||||
new boss_anzu();
|
||||
RegisterSethekkHallsCreatureAI(boss_talon_king_ikiss);
|
||||
RegisterSpellScript(spell_talon_king_ikiss_blink);
|
||||
}
|
||||
|
||||
@@ -19,6 +19,17 @@
|
||||
#include "ScriptMgr.h"
|
||||
#include "sethekk_halls.h"
|
||||
|
||||
DoorData const doorData[] =
|
||||
{
|
||||
{ GO_IKISS_DOOR, DATA_IKISS, DOOR_TYPE_PASSAGE },
|
||||
{ 0, 0, DOOR_TYPE_ROOM } // END
|
||||
};
|
||||
|
||||
ObjectData const gameObjectData[] =
|
||||
{
|
||||
{ GO_THE_TALON_KINGS_COFFER, DATA_GO_TALON_KING_COFFER }
|
||||
};
|
||||
|
||||
class instance_sethekk_halls : public InstanceMapScript
|
||||
{
|
||||
public:
|
||||
@@ -31,91 +42,20 @@ public:
|
||||
|
||||
struct instance_sethekk_halls_InstanceMapScript : public InstanceScript
|
||||
{
|
||||
instance_sethekk_halls_InstanceMapScript(Map* map) : InstanceScript(map) {}
|
||||
|
||||
uint32 AnzuEncounter;
|
||||
ObjectGuid m_uiIkissDoorGUID;
|
||||
ObjectGuid _talonKingsCofferGUID;
|
||||
|
||||
void Initialize() override
|
||||
instance_sethekk_halls_InstanceMapScript(Map* map) : InstanceScript(map)
|
||||
{
|
||||
AnzuEncounter = NOT_STARTED;
|
||||
SetHeaders(DataHeaders);
|
||||
SetBossNumber(EncounterCount);
|
||||
LoadDoorData(doorData);
|
||||
LoadObjectData(nullptr, gameObjectData);
|
||||
}
|
||||
|
||||
void OnCreatureCreate(Creature* creature) override
|
||||
{
|
||||
if (creature->GetEntry() == NPC_ANZU || creature->GetEntry() == NPC_VOICE_OF_THE_RAVEN_GOD)
|
||||
if (AnzuEncounter >= IN_PROGRESS)
|
||||
if (GetBossState(DATA_ANZU) == DONE)
|
||||
creature->DespawnOrUnsummon(1);
|
||||
}
|
||||
|
||||
void OnGameObjectCreate(GameObject* go) override
|
||||
{
|
||||
switch (go->GetEntry())
|
||||
{
|
||||
case GO_IKISS_DOOR:
|
||||
m_uiIkissDoorGUID = go->GetGUID();
|
||||
break;
|
||||
case GO_THE_TALON_KINGS_COFFER:
|
||||
_talonKingsCofferGUID = go->GetGUID();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void SetData(uint32 type, uint32 data) override
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case DATA_IKISSDOOREVENT:
|
||||
if (data == DONE)
|
||||
{
|
||||
DoUseDoorOrButton(m_uiIkissDoorGUID, DAY * IN_MILLISECONDS);
|
||||
if (GameObject* coffer = instance->GetGameObject(_talonKingsCofferGUID))
|
||||
coffer->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE | GO_FLAG_INTERACT_COND);
|
||||
}
|
||||
break;
|
||||
case TYPE_ANZU_ENCOUNTER:
|
||||
AnzuEncounter = data;
|
||||
SaveToDB();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
std::string GetSaveData() override
|
||||
{
|
||||
OUT_SAVE_INST_DATA;
|
||||
|
||||
std::ostringstream saveStream;
|
||||
saveStream << "S H " << AnzuEncounter;
|
||||
|
||||
OUT_SAVE_INST_DATA_COMPLETE;
|
||||
return saveStream.str();
|
||||
}
|
||||
|
||||
void Load(const char* strIn) override
|
||||
{
|
||||
if (!strIn)
|
||||
{
|
||||
OUT_LOAD_INST_DATA_FAIL;
|
||||
return;
|
||||
}
|
||||
|
||||
OUT_LOAD_INST_DATA(strIn);
|
||||
|
||||
char dataHead1, dataHead2;
|
||||
|
||||
std::istringstream loadStream(strIn);
|
||||
loadStream >> dataHead1 >> dataHead2;
|
||||
|
||||
if (dataHead1 == 'S' && dataHead2 == 'H')
|
||||
{
|
||||
loadStream >> AnzuEncounter;
|
||||
if (AnzuEncounter == IN_PROGRESS)
|
||||
AnzuEncounter = NOT_STARTED;
|
||||
}
|
||||
|
||||
OUT_LOAD_INST_DATA_COMPLETE;
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -20,14 +20,30 @@
|
||||
|
||||
#include "CreatureAIImpl.h"
|
||||
|
||||
#define DataHeaders "SH"
|
||||
|
||||
uint32 constexpr EncounterCount = 3;
|
||||
|
||||
#define SethekkHallsScriptName "instance_sethekk_halls"
|
||||
|
||||
enum Encounters
|
||||
{
|
||||
DATA_DARKWEAVER_SYTH,
|
||||
DATA_ANZU,
|
||||
DATA_IKISS,
|
||||
};
|
||||
|
||||
enum eTypes
|
||||
{
|
||||
DATA_IKISSDOOREVENT = 1,
|
||||
TYPE_ANZU_ENCOUNTER = 2,
|
||||
};
|
||||
|
||||
enum InstanceData
|
||||
{
|
||||
DATA_GO_TALON_KING_COFFER
|
||||
};
|
||||
|
||||
enum eIds
|
||||
{
|
||||
NPC_VOICE_OF_THE_RAVEN_GOD = 21851,
|
||||
@@ -43,4 +59,6 @@ inline AI* GetSethekkHallsAI(T* obj)
|
||||
return GetInstanceAI<AI>(obj, SethekkHallsScriptName);
|
||||
}
|
||||
|
||||
#define RegisterSethekkHallsCreatureAI(ai_name) RegisterCreatureAIWithFactory(ai_name, GetSethekkHallsAI)
|
||||
|
||||
#endif
|
||||
|
||||
@@ -38,6 +38,7 @@ public:
|
||||
{
|
||||
SetHeaders(DataHeader);
|
||||
SetBossNumber(MAX_ENCOUNTER);
|
||||
SetPersistentDataCount(MAX_DATA_INDEXES);
|
||||
LoadDoorData(doorData);
|
||||
|
||||
_passageEncounter = 0;
|
||||
@@ -149,7 +150,8 @@ public:
|
||||
DoSummonAction(creature, player);
|
||||
}
|
||||
}
|
||||
_passageEncounter++;
|
||||
|
||||
StorePersistentData(DATA_INDEX_PASSAGE_ENCOUNTER, _passageEncounter++);
|
||||
SaveToDB();
|
||||
}
|
||||
}
|
||||
@@ -186,16 +188,17 @@ public:
|
||||
if (Creature* creature = instance->GetCreature(_pathaleonGUID))
|
||||
creature->AI()->DoAction(1);
|
||||
}
|
||||
_passageEncounter++;
|
||||
|
||||
StorePersistentData(DATA_INDEX_PASSAGE_ENCOUNTER, _passageEncounter++);
|
||||
SaveToDB();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ReadSaveDataMore(std::istringstream& data) override
|
||||
void ReadSaveDataMore(std::istringstream& /*data*/) override
|
||||
{
|
||||
data >> _passageEncounter;
|
||||
_passageEncounter = GetPersistentData(DATA_INDEX_PASSAGE_ENCOUNTER);
|
||||
|
||||
if (_passageEncounter == ENCOUNTER_PASSAGE_DONE)
|
||||
{
|
||||
@@ -203,11 +206,6 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void WriteSaveDataMore(std::ostringstream& data) override
|
||||
{
|
||||
data << _passageEncounter;
|
||||
}
|
||||
|
||||
private:
|
||||
ObjectGuid _pathaleonGUID;
|
||||
uint32 _passageTimer;
|
||||
|
||||
@@ -70,6 +70,12 @@ enum SpellIds
|
||||
SPELL_TELEPORT_VISUAL = 35517
|
||||
};
|
||||
|
||||
enum DataIndex
|
||||
{
|
||||
DATA_INDEX_PASSAGE_ENCOUNTER = 0,
|
||||
MAX_DATA_INDEXES
|
||||
};
|
||||
|
||||
template <class AI, class T>
|
||||
inline AI* GetMechanarAI(T* obj)
|
||||
{
|
||||
|
||||
@@ -23,6 +23,7 @@ void AddSC_boss_nexusprince_shaffar(); //Auchindoun Mana Tombs
|
||||
void AddSC_boss_pandemonius();
|
||||
void AddSC_instance_mana_tombs();
|
||||
void AddSC_boss_talon_king_ikiss(); //Auchindoun Sekketh Halls
|
||||
void AddSC_boss_anzu();
|
||||
void AddSC_instance_sethekk_halls();
|
||||
void AddSC_instance_shadow_labyrinth(); //Auchindoun Shadow Labyrinth
|
||||
void AddSC_boss_ambassador_hellmaw();
|
||||
@@ -119,6 +120,7 @@ void AddOutlandScripts()
|
||||
AddSC_boss_pandemonius();
|
||||
AddSC_instance_mana_tombs();
|
||||
AddSC_boss_talon_king_ikiss(); //Auchindoun Sekketh Halls
|
||||
AddSC_boss_anzu();
|
||||
AddSC_instance_sethekk_halls();
|
||||
AddSC_instance_shadow_labyrinth(); //Auchindoun Shadow Labyrinth
|
||||
AddSC_boss_ambassador_hellmaw();
|
||||
|
||||
@@ -113,6 +113,7 @@ public:
|
||||
MOCK_METHOD(void, LoadDBVersion, ());
|
||||
MOCK_METHOD(char const *, GetDBVersion, (), (const));
|
||||
MOCK_METHOD(void, LoadAutobroadcasts, ());
|
||||
MOCK_METHOD(void, LoadMotd, ());
|
||||
MOCK_METHOD(void, UpdateAreaDependentAuras, ());
|
||||
MOCK_METHOD(uint32, GetCleaningFlags, (), (const));
|
||||
MOCK_METHOD(void, SetCleaningFlags, (uint32 flags), ());
|
||||
|
||||
Reference in New Issue
Block a user