From b5e01d2ebe12ec946479b5de9c045ad14e6cfa84 Mon Sep 17 00:00:00 2001 From: AzerothCoreBot Date: Tue, 6 Sep 2022 18:12:08 +0000 Subject: [PATCH 01/41] chore(DB): import pending files Referenced commit(s): e27e58e40bfdc595a7701fe5a396421ddc73115c --- .../rev_1660252072288200163.sql => db_world/2022_09_06_04.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1660252072288200163.sql => db_world/2022_09_06_04.sql} (73%) diff --git a/data/sql/updates/pending_db_world/rev_1660252072288200163.sql b/data/sql/updates/db_world/2022_09_06_04.sql similarity index 73% rename from data/sql/updates/pending_db_world/rev_1660252072288200163.sql rename to data/sql/updates/db_world/2022_09_06_04.sql index 3e97a6001..561a4878a 100644 --- a/data/sql/updates/pending_db_world/rev_1660252072288200163.sql +++ b/data/sql/updates/db_world/2022_09_06_04.sql @@ -1 +1,2 @@ +-- DB update 2022_09_06_03 -> 2022_09_06_04 DELETE FROM `smart_scripts` WHERE (`entryorguid` IN (15651, 15652)) AND (`action_param1` = 22863) AND (`source_type` = 0); From 0f2f84bf4b23136e77b88f9f6598fd400e6d1bb4 Mon Sep 17 00:00:00 2001 From: "Beta.Yi" Date: Wed, 7 Sep 2022 02:12:40 +0800 Subject: [PATCH 02/41] =?UTF-8?q?fix(DB/Quest):=20BlackKnight=E2=80=98Orde?= =?UTF-8?q?r=20npc=20required=20credit=20count=20=20(#12717)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/sql/updates/pending_db_world/fix_blackkngihtorder.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 data/sql/updates/pending_db_world/fix_blackkngihtorder.sql diff --git a/data/sql/updates/pending_db_world/fix_blackkngihtorder.sql b/data/sql/updates/pending_db_world/fix_blackkngihtorder.sql new file mode 100644 index 000000000..550f5b948 --- /dev/null +++ b/data/sql/updates/pending_db_world/fix_blackkngihtorder.sql @@ -0,0 +1,2 @@ + +UPDATE `smart_scripts` SET `target_type` = 23 WHERE (`entryorguid` = 33519) AND (`source_type` = 0) AND (`id` IN (1)); From b2b0c680454066e486c94ced047daf5ce460d406 Mon Sep 17 00:00:00 2001 From: AzerothCoreBot Date: Tue, 6 Sep 2022 18:14:47 +0000 Subject: [PATCH 03/41] chore(DB): import pending files Referenced commit(s): 0f2f84bf4b23136e77b88f9f6598fd400e6d1bb4 --- .../fix_blackkngihtorder.sql => db_world/2022_09_06_05.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/fix_blackkngihtorder.sql => db_world/2022_09_06_05.sql} (73%) diff --git a/data/sql/updates/pending_db_world/fix_blackkngihtorder.sql b/data/sql/updates/db_world/2022_09_06_05.sql similarity index 73% rename from data/sql/updates/pending_db_world/fix_blackkngihtorder.sql rename to data/sql/updates/db_world/2022_09_06_05.sql index 550f5b948..2cd99a300 100644 --- a/data/sql/updates/pending_db_world/fix_blackkngihtorder.sql +++ b/data/sql/updates/db_world/2022_09_06_05.sql @@ -1,2 +1,3 @@ +-- DB update 2022_09_06_04 -> 2022_09_06_05 UPDATE `smart_scripts` SET `target_type` = 23 WHERE (`entryorguid` = 33519) AND (`source_type` = 0) AND (`id` IN (1)); From d5ac35c4ee460f5b1c52d1a2e9da23886c287a2b Mon Sep 17 00:00:00 2001 From: SoglaHash <74299960+SoglaHash@users.noreply.github.com> Date: Tue, 6 Sep 2022 20:15:43 +0200 Subject: [PATCH 04/41] fix(DB/LookingForGroup): Leaving dungeon does not give deserter (#12763) --- .../updates/pending_db_world/rev_1660681693491912819.sql | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1660681693491912819.sql diff --git a/data/sql/updates/pending_db_world/rev_1660681693491912819.sql b/data/sql/updates/pending_db_world/rev_1660681693491912819.sql new file mode 100644 index 000000000..bbd0403a4 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1660681693491912819.sql @@ -0,0 +1,7 @@ +DELETE FROM `lfg_dungeon_template` WHERE `dungeonId` IN (2, 276); +INSERT INTO `lfg_dungeon_template` +(`dungeonId`, `name`, `position_x`, `position_y`, `position_z`, `orientation`, +`VerifiedBuild`) +VALUES +(2, 'Scholomance', 196.37, 127.05, 134.91, 6.09, 0), +(276, 'Blackrock Depths - Upper City', 458.32, 26.52, -70.67, 4.95, 0); From 0a0072fe0f738d66b575c36d3c527f92a33c76b0 Mon Sep 17 00:00:00 2001 From: AzerothCoreBot Date: Tue, 6 Sep 2022 18:17:49 +0000 Subject: [PATCH 05/41] chore(DB): import pending files Referenced commit(s): d5ac35c4ee460f5b1c52d1a2e9da23886c287a2b --- .../rev_1660681693491912819.sql => db_world/2022_09_06_06.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1660681693491912819.sql => db_world/2022_09_06_06.sql} (88%) diff --git a/data/sql/updates/pending_db_world/rev_1660681693491912819.sql b/data/sql/updates/db_world/2022_09_06_06.sql similarity index 88% rename from data/sql/updates/pending_db_world/rev_1660681693491912819.sql rename to data/sql/updates/db_world/2022_09_06_06.sql index bbd0403a4..246b18e05 100644 --- a/data/sql/updates/pending_db_world/rev_1660681693491912819.sql +++ b/data/sql/updates/db_world/2022_09_06_06.sql @@ -1,3 +1,4 @@ +-- DB update 2022_09_06_05 -> 2022_09_06_06 DELETE FROM `lfg_dungeon_template` WHERE `dungeonId` IN (2, 276); INSERT INTO `lfg_dungeon_template` (`dungeonId`, `name`, `position_x`, `position_y`, `position_z`, `orientation`, From 431d7d5e4d5d70e6fc9ae22d838df5c3fb8ecfdc Mon Sep 17 00:00:00 2001 From: IntelligentQuantum Date: Tue, 6 Sep 2022 22:52:01 +0430 Subject: [PATCH 06/41] fix(Core): Entering BG whilst in combat (#12770) --- src/server/game/Handlers/BattleGroundHandler.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/server/game/Handlers/BattleGroundHandler.cpp b/src/server/game/Handlers/BattleGroundHandler.cpp index 7e76aa6e4..585927819 100644 --- a/src/server/game/Handlers/BattleGroundHandler.cpp +++ b/src/server/game/Handlers/BattleGroundHandler.cpp @@ -403,6 +403,12 @@ void WorldSession::HandleBattleFieldPortOpcode(WorldPacket& recvData) return; } + if (_player->GetCharmGUID() || _player->IsInCombat()) + { + _player->GetSession()->SendNotification(LANG_YOU_IN_COMBAT); + return; + } + // get BattlegroundQueue for received BattlegroundTypeId bgTypeId = BattlegroundTypeId(bgTypeId_); BattlegroundQueueTypeId bgQueueTypeId = BattlegroundMgr::BGQueueTypeId(bgTypeId, arenaType); From caf310f4ab038bc6556c0af975e72abc28573f6e Mon Sep 17 00:00:00 2001 From: UltraNix <80540499+UltraNix@users.noreply.github.com> Date: Tue, 6 Sep 2022 20:22:58 +0200 Subject: [PATCH 07/41] fix(Core/Maps): Fixed getting liquid data near depths. (#12814) --- src/server/game/Maps/Map.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index 2113756da..b592f32dd 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -1946,11 +1946,11 @@ inline LiquidData const GridMap::GetLiquidData(float x, float y, float z, float { // Get water level float liquid_level = _liquidMap ? _liquidMap[lx_int * _liquidWidth + ly_int] : _liquidLevel; - // Get ground level (sub 0.2 for fix some errors) + // Get ground level float ground_level = getHeight(x, y); - // Check water level and ground level - if (liquid_level >= ground_level && z >= ground_level) + // Check water level and ground level (sub 0.2 for fix some errors) + if (liquid_level >= ground_level && z >= ground_level - 0.2f) { // All ok in water -> store data liquidData.Entry = entry; From 8da68c137bb1305cb3211ef6201cd006410bacb2 Mon Sep 17 00:00:00 2001 From: SoglaHash <74299960+SoglaHash@users.noreply.github.com> Date: Tue, 6 Sep 2022 20:23:46 +0200 Subject: [PATCH 08/41] fix(Core/Player): Dismount on Transport Teleport (#12848) --- src/server/game/Entities/Player/Player.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index b5114553a..80818758f 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -1535,7 +1535,7 @@ bool Player::TeleportTo(uint32 mapid, float x, float y, float z, float orientati oldmap->RemovePlayerFromMap(this, false); // xinef: do this before setting fall information! - if (IsMounted() && (!GetMap()->GetEntry()->IsDungeon() && !GetMap()->GetEntry()->IsBattlegroundOrArena())) + if (IsMounted() && (!GetMap()->GetEntry()->IsDungeon() && !GetMap()->GetEntry()->IsBattlegroundOrArena()) && !m_transport) { AuraEffectList const& auras = GetAuraEffectsByType(SPELL_AURA_MOUNTED); if (!auras.empty()) From b96ad3a29c30f3383d7ce5d50ffae621f42b9743 Mon Sep 17 00:00:00 2001 From: neifion-00000000 <91289495+neifion-00000000@users.noreply.github.com> Date: Tue, 6 Sep 2022 13:26:18 -0500 Subject: [PATCH 09/41] fix(DB/Creature): Brambleblade Ravine revamp in Mulgore (#12854) --- .../rev_1661505231687639200.sql | 559 ++++++++++++++++++ 1 file changed, 559 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1661505231687639200.sql diff --git a/data/sql/updates/pending_db_world/rev_1661505231687639200.sql b/data/sql/updates/pending_db_world/rev_1661505231687639200.sql new file mode 100644 index 000000000..e94c1d9d3 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1661505231687639200.sql @@ -0,0 +1,559 @@ +-- +-- Brambleblade Ravine is in regards to entries 2952 (Bristleback Quilboar), 2954 (Bristbleback Battleboar), 2953 (Bristleback Shaman), 8554 (Chief Sharptusk Thornmantle), and 3229 (Squealer) +-- A few Bristbleback are still movement type +-- Squealer mob and pooled shaman has multiple spawn locations for whatever reason +-- Distance data based on sniffs of 50+ waypoints, taking largest seen value, most mobs were sniffed multiple times and most had several hundred waypoints gathered, its worth noting that blizzard picks "mid" values more than edge values here where I believe we do true random + +-- Remove all entries, they will be replaced +DELETE FROM `creature` WHERE `id1` IN (2952, 2953, 2954, 3229, 8554); +DELETE FROM `creature` WHERE `id2` IN (2952, 2953, 2954, 3229, 8554); +DELETE FROM `creature` WHERE `id3` IN (2952, 2953, 2954, 3229, 8554); + +DELETE FROM `creature_addon` WHERE `guid` IN (24868, 24869, 24870, 24871, 24872, 24873, 24874, 24875, 24876, 24877, 24878, 24879, 24880, 24881, 24882, 24883, 24884, 24885, 24886, 24887, 24888, 24889, 24890, 24891, 24892, 24893, 24894, 24895, 24896, 24897, 24898, 24899, 24900, 24901, 24902, 24903, 24904, 24905, 24906, 24907, 24908, 24909, 24910, 24911, 24912, 24913, 24914, 24915, 26208, 24788); + +DELETE FROM `waypoint_data` WHERE `id` IN (248710, 248840, 249040, 249050, 249060); + +SET @GUID :=132314; +DELETE FROM `creature` WHERE `guid` BETWEEN @GUID+0 AND @GUID+83; +-- All Bristbleback Quilboar includes patroling mobs +-- Any wander_distance values of 5 are "default" and not sniffed +-- Their spawntimes should not be any higher than the rest of the mobs in the area and have been adjusted to be so +-- They had a bytes2 value that should be sniffable but was not present and does nothing +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 +(@GUID+0, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -3150.7534, -1052.9648, 56.43975, 5.302966594696044921, 155, 12.629, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -3150.7534 -1052.9648 56.43975 +(@GUID+1, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -3116.3357, -1051.2448, 55.295044, 4.60250091552734375, 155, 10.5589, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -3116.3357 -1051.2448 55.295044 +(@GUID+2, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -3085.2102, -1051.0903, 52.662544, 0.692077338695526123, 155, 12.81, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -3085.2102 -1051.0903 52.662544 +(@GUID+3, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -3083.872, -1019.1116, 52.962753, 2.956784248352050781, 155, 13.927, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -3083.872 -1019.1116 52.962753 +(@GUID+4, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -3048.8372, -1050.974, 52.59941, 2.282494544982910156, 155, 13.49656, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -3048.8372 -1050.974 52.59941 +(@GUID+5, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -3012.1736, -1034.0265, 53.144695, 5.669462203979492187, 155, 12.86959, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -3012.1736 -1034.0265 53.144695 +(@GUID+6, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -3052.054, -1116.1522, 62.405098, 0.814660429954528808, 155, 11.14, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -3052.054 -1116.1522 62.405098 +(@GUID+7, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2999.921, -958.1629, 56.8227, 5.088941574096679687, 155, 11.65, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2999.921 -958.1629 56.8227 +(@GUID+8, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2950.7747, -946.5612, 55.603836, 2.140457630157470703, 155, 11.9, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2950.7747 -946.5612 55.603836 +(@GUID+9, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2950.1194, -980.11633, 54.702705, 4.818135261535644531, 155, 11.73, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2950.1194 -980.11633 54.702705 +(@GUID+10, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2916.3105, -1015.9456, 54.139874, 6.199100971221923828, 155, 11.77, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2916.3105 -1015.9456 54.139874 +(@GUID+11, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2982.2224, -1017.4263, 55.201473, 2.54172372817993164, 155, 10.49, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2982.2224 -1017.4263 55.201473 +(@GUID+12, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2996.7488, -1000.0406, 58.73503, 4.447712898254394531, 155, 11.38, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2996.7488 -1000.0406 58.73503 +(@GUID+13, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2950.8784, -1046.4603, 58.379433, 2.563724040985107421, 155, 10.4, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2950.8784 -1046.4603 58.379433 +(@GUID+14, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2959.413, -998.5598, 54.76306, 1.208631634712219238, 155, 5, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2959.413 -998.5598 54.76306 +(@GUID+15, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2953.7734, -998.9086, 54.833206, 3.40339207649230957, 155, 0, 0, 1, 0, 0, 0, 0, 0, '', 0), -- .go xyz -2953.7734 -998.9086 54.833206 STAY MOVETYPE +(@GUID+16, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -3093.4758, -1088.4801, 71.43378, 5.683098316192626953, 155, 12.6357, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -3093.4758 -1088.4801 71.43378 +(@GUID+17, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -3086.019, -1149.5739, 69.29934, 1.664784789085388183, 155, 9.81, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -3086.019 -1149.5739 69.29934 +(@GUID+18, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -3066.1868, -1153.8861, 66.41088, 4.519444465637207031, 155, 12.7, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -3066.1868 -1153.8861 66.41088 +(@GUID+19, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2999.8765, -1159.9207, 59.410393, 5.69529581069946289, 155, 12.735, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2999.8765 -1159.9207 59.410393 +(@GUID+20, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2950.6687, -1183.3853, 60.347267, 2.954801559448242187, 155, 10.75, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2950.6687 -1183.3853 60.347267 +(@GUID+21, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2951.1953, -1113.5035, 55.92694, 0.498246490955352783, 155, 9.8395, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2951.1953 -1113.5035 55.92694 +(@GUID+22, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2978.7075, -1122.8317, 57.782227, 2.84458017349243164, 155, 13.37, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2978.7075 -1122.8317 57.782227 +(@GUID+23, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2913.9424, -1106.5435, 54.56086, 6.088618278503417968, 155, 13.85, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2913.9424 -1106.5435 54.56086 +(@GUID+24, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2893.681, -1072.3804, 57.030727, 2.903368949890136718, 155, 11.06, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2893.681 -1072.3804 57.030727 +(@GUID+25, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2864.629, -1102.7501, 88.42688, 4.175736427307128906, 155, 0, 0, 1, 0, 2, 0, 0, 0, '', 0), -- .go xyz -2864.629 -1102.7501 88.42688 PATROL 3/8 HILL PATROL +(@GUID+26, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2850.3103, -1073.8496, 78.23195, 3.153982400894165039, 155, 10.1187, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2850.3103 -1073.8496 78.23195 +(@GUID+27, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2915.7349, -1184.3763, 58.542664, 0.522246479988098144, 155, 12.0875, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2915.7349 -1184.3763 58.542664 +(@GUID+28, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2956.0144, -1236.8876, 64.73535, 3.626140832901000976, 155, 4.04, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2956.0144 -1236.8876 64.73535 +(@GUID+29, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2937.2708, -1248.2839, 72.0923, 2.181661605834960937, 155, 13.36, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2937.2708 -1248.2839 72.0923 +(@GUID+30, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2919.3887, -1246.2042, 71.87682, 0.9738960862159729, 155, 12.48866, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2919.3887 -1246.2042 71.87682 +(@GUID+31, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2899.7214, -1232.9889, 69.692184, 3.863359689712524414, 155, 4.12, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2899.7214 -1232.9889 69.692184 +(@GUID+32, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2916.9836, -1217.7164, 64.90637, 3.537041425704956054, 155, 13.596, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2916.9836 -1217.7164 64.90637 +(@GUID+33, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2935.3293, -1263.4711, 72.28772, 5.316411972045898437, 155, 4.2196, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2935.3293 -1263.4711 72.28772 +(@GUID+34, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2954.3838, -1256.5177, 71.82747, 1.832595705986022949, 155, 5, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2954.3838 -1256.5177 71.82747 +(@GUID+35, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2981.86, -1249.7069, 70.48874, 1.735272526741027832, 155, 14.278, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2981.86 -1249.7069 70.48874 +(@GUID+36, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2991.9094, -1276.4977, 72.28772, 3.770852565765380859, 155, 10.29, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2991.9094 -1276.4977 72.28772 +(@GUID+37, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2942.7583, -1299.1029, 72.28772, 0.758449733257293701, 155, 4.4297, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2942.7583 -1299.1029 72.28772 +(@GUID+38, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2922.9338, -1326.9536, 87.80231, 5.167690277099609375, 155, 0, 0, 1, 0, 2, 0, 0, 0, '', 0), -- .go xyz -2922.9338 -1326.9536 87.80231 5/8 BACK STEEP HILL +(@GUID+39, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2952.7402, -1332.5857, 87.488365, 2.092166900634765625, 155, 3.9656, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2952.7402 -1332.5857 87.488365 +(@GUID+40, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2939.507, -1266.5256, 72.28772, 1.899880409240722656, 155, 0, 0, 1, 0, 2, 0, 0, 0, '', 0), -- .go xyz -2939.507 -1266.5256 72.28772 6/8 LONG HILL GUY +(@GUID+41, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -3151.1858, -1105.2335, 77.93116, 0.038982797414064407, 155, 0, 0, 1, 0, 2, 0, 0, 0, '', 0), -- .go xyz -3151.1858 -1105.2335 77.93116 PATROL 2/8 LINE PATH OFFSHOOT FROM WEST CIRCLE PATH AREA +(@GUID+42, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2966.5222, -1166.9137, 60.150906, 4.363323211669921875, 155, 0, 0, 1, 0, 2, 0, 0, 0, '', 0), -- .go xyz -2966.5222 -1166.9137 60.150906 PATROL 4/8 WEST CIRCLE PATROL +(@GUID+43, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -2960.4856, -1011.1829, 56.297466, 3.17542433738708496, 155, 0, 0, 1, 0, 2, 0, 0, 0, '', 0), -- .go xyz -2960.4856 -1011.1829 56.297466 PATROL 1/8 NORTH TO SOUTH LINE ON WEST SIDE +(@GUID+44, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -3119.4185, -1023.7673, 51.761677, 3.700098037719726562, 155, 0, 0, 1, 0, 2, 0, 0, 0, '', 0), -- .go xyz -3119.4185 -1023.7673 51.761677 LATE FIND TUNNEL PATROL 7/8 +(@GUID+81, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -3069.691, -921.935, 93.34613, 3.544991016387939453, 155, 5, 10.03, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -3069.691 -921.935 93.34613 +(@GUID+82, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -3079.552, -950.42786, 91.93386, 5.242145538330078125, 155, 11.877, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -3079.552 -950.42786 91.93386 +(@GUID+83, 2952, 0, 0, 1, 0, 0, 1, 1, 0, -3189.8025, -999.37683, 93.33854, 2.977879285812377929, 155, 0, 0, 1, 0, 2, 0, 0, 0, '', 0), -- .go xyz -3189.8025 -999.37683 93.33854 ABOVE TUNNEL PATROL 8/8 + +-- All Bristbleback Battleboar (14) wander_distance "default" 10 + +(@GUID+45, 2954, 0, 0, 1, 0, 0, 1, 1, 0, -3237.8066, -1075.9987, 97.312035, 1.733676552772521972, 155, 10, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -3237.8066 -1075.9987 97.312035 +(@GUID+46, 2954, 0, 0, 1, 0, 0, 1, 1, 0, -3184.8052, -1083.6736, 67.167305, 4.214093685150146484, 155, 10.981, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -3184.8052 -1083.6736 67.167305 +(@GUID+47, 2954, 0, 0, 1, 0, 0, 1, 1, 0, -3042.6934, -1080.635, 56.154224, 2.631436586380004882, 155, 11.56, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -3042.6934 -1080.635 56.154224 +(@GUID+48, 2954, 0, 0, 1, 0, 0, 1, 1, 0, -2915.6345, -984.0473, 57.54398, 5.086844921112060546, 155, 9.96, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2915.6345 -984.0473 57.54398 +(@GUID+49, 2954, 0, 0, 1, 0, 0, 1, 1, 0, -2955.4253, -1022.7043, 56.01615, 4.47153329849243164, 155, 4.47, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2955.4253 -1022.7043 56.01615 +(@GUID+50, 2954, 0, 0, 1, 0, 0, 1, 1, 0, -2984.4314, -1150.1814, 58.376797, 2.902925491333007812, 155, 12.7, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2984.4314 -1150.1814 58.376797 +(@GUID+51, 2954, 0, 0, 1, 0, 0, 1, 1, 0, -2949.1694, -1216.911, 62.210266, 3.092623472213745117, 155, 10.007, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2949.1694 -1216.911 62.210266 +(@GUID+52, 2954, 0, 0, 1, 0, 0, 1, 1, 0, -2867.558, -1108.9894, 88.61443, 5.386580467224121093, 155, 3.89, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2867.558 -1108.9894 88.61443 +(@GUID+53, 2954, 0, 0, 1, 0, 0, 1, 1, 0, -2883.245, -1183.3043, 60.074165, 1.793056964874267578, 155, 10.311, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2883.245 -1183.3043 60.074165 +(@GUID+54, 2954, 0, 0, 1, 0, 0, 1, 1, 0, -2933.1707, -1234.4275, 67.6243, 5.398324966430664062, 155, 3.73, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2933.1707 -1234.4275 67.6243 +(@GUID+55, 2954, 0, 0, 1, 0, 0, 1, 1, 0, -2965.7278, -1250.1086, 69.96643, 1.673408389091491699, 155, 4.31, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2965.7278 -1250.1086 69.96643 +(@GUID+56, 2954, 0, 0, 1, 0, 0, 1, 1, 0, -2982.7717, -1218.3132, 63.217068, 5.572542667388916015, 155, 12, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2982.7717 -1218.3132 63.217068 +(@GUID+57, 2954, 0, 0, 1, 0, 0, 1, 1, 0, -2941.8237, -1323.2695, 88.24578, 5.342491626739501953, 155, 4.41, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2941.8237 -1323.2695 88.24578 +(@GUID+58, 2954, 0, 0, 1, 0, 0, 1, 1, 0, -3073.399, -1230.3141, 88.40157, 0.404302150011062622, 155, 4.286, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -3073.399 -1230.3141 88.40157 + +-- All Bristleback Shaman including those pooled with Squealer Thornmantle wander_distance "default" 1 +(@GUID+59, 2953, 0, 0, 1, 0, 0, 1, 1, 0, -2944.709, -1004.2018, 54.716393, 3.001966238021850585, 155, 0.83, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2944.709 -1004.2018 54.716393 +(@GUID+60, 2953, 0, 0, 1, 0, 0, 1, 1, 0, -2880.731, -1048.5382, 54.629375, 0.613354802131652832, 155, 10.42, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2880.731 -1048.5382 54.629375 +(@GUID+61, 2953, 0, 0, 1, 0, 0, 1, 1, 0, -2852.2021, -1019.8367, 55.96327, 0.88501816987991333, 155, 8.16, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2852.2021 -1019.8367 55.96327 +(@GUID+62, 2953, 0, 0, 1, 0, 0, 1, 1, 0, -2851.6155, -1034.9342, 55.19425, 3.968293428421020507, 155, 9.08, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2851.6155 -1034.9342 55.19425 +(@GUID+63, 2953, 0, 0, 1, 0, 0, 1, 1, 0, -2877.8242, -1115.7709, 88.57609, 1.659793019294738769, 155, 0.77, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2877.8242 -1115.7709 88.57609 +(@GUID+64, 2953, 0, 0, 1, 0, 0, 1, 1, 0, -2869.8643, -1123.9333, 88.61066, 4.590215682983398437, 155, 0.72, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2869.8643 -1123.9333 88.61066 +(@GUID+65, 2953, 0, 0, 1, 0, 0, 1, 1, 0, -2883.6667, -1217.8553, 67.21337, 5.547870635986328125, 155, 12.19, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2883.6667 -1217.8553 67.21337 +(@GUID+66, 2953, 0, 0, 1, 0, 0, 1, 1, 0, -2939.574, -1277.1733, 72.28772, 5.246784687042236328, 155, 0.82, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2939.574 -1277.1733 72.28772 +(@GUID+67, 2953, 0, 0, 1, 0, 0, 1, 1, 0, -3016.1924, -1233.6248, 69.02434, 0.62902987003326416, 155, 14.95762, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -3016.1924 -1233.6248 69.02434 +(@GUID+68, 2953, 0, 0, 1, 0, 0, 1, 1, 0, -2964.0217, -1292.0299, 72.28772, 4.874174118041992187, 155, 0.97, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2964.0217 -1292.0299 72.28772 +(@GUID+69, 2953, 0, 0, 1, 0, 0, 1, 1, 0, -2937.7422, -1347.1462, 87.42025, 3.804817676544189453, 155, 1, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2937.7422 -1347.1462 87.42025 +(@GUID+70, 2953, 0, 0, 1, 0, 0, 1, 1, 0, -2913.2542, -1340.1007, 87.42305, 1.39061903953552246, 155, 1, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -2913.2542 -1340.1007 87.42305 +(@GUID+71, 2953, 0, 0, 1, 0, 0, 1, 1, 0, -3103.7544, -1196.7037, 85.66892, 5.480333805084228515, 76, 0, 0, 1, 0, 0, 0, 0, 0, '', 0), -- .go xyz -3103.7544 -1196.7037 85.66892 PAIRED W SQUEALER +(@GUID+72, 2953, 0, 0, 1, 0, 0, 1, 1, 0, -3052.261, -1224.8212, 78.78548, 4.489466190338134765, 155, 13.61, 0, 1, 0, 1, 0, 0, 0, '', 0), -- .go xyz -3052.261 -1224.8212 78.78548 +(@GUID+73, 2953, 0, 0, 1, 0, 0, 1, 1, 0, -3109.7998, -1196.0378, 85.89288, 5.707226753234863281, 76, 0, 0, 1, 0, 0, 0, 0, 0, '', 0), -- .go xyz -3109.7998 -1196.0378 85.89288 PAIRED W SQUEALER +(@GUID+74, 2953, 0, 0, 1, 0, 0, 1, 1, 0, -3110.423, -1202.7513, 85.450165, 0.261799395084381103, 76, 0, 0, 1, 0, 0, 0, 0, 0, '', 0), -- .go xyz -3110.423 -1202.7513 85.450165 PAIRED W SQUEALER +(@GUID+75, 2953, 0, 0, 1, 0, 0, 1, 1, 0, -3101.2073, -1203.3483, 85.60877, 5.916666030883789062, 76, 0, 0, 1, 0, 0, 0, 0, 0, '', 0), -- .go xyz -3101.2073 -1203.3483 85.60877 PAIRED W SQUEALER + +-- Chief Sharptusk Thornmantle has an accellerated spawn timer that seems to be "just over a min" +-- They had a bytes2 value that should be sniffable but was not present and does nothing +(@GUID+76, 8554, 0, 0, 1, 0, 0, 1, 1, 0, -2932.8672, -1276.2454, 72.28772, 1.762782573699951171, 66, 0, 0, 1, 0, 0, 0, 0, 0, '', 0), -- .go xyz -2932.8672 -1276.2454 72.28772 + +-- 4 Variations of Squealer also on an accellerated spawn timer +-- They had a bytes2 value that should be sniffable but was not present and does nothing +(@GUID+77, 3229, 0, 0, 1, 0, 0, 1, 1, 0, -3110.423, -1202.7513, 85.450165, 0.261799395084381103, 76, 0, 0, 1, 0, 0, 0, 0, 0, '', 0), -- .go xyz -3110.423 -1202.7513 85.450165 +(@GUID+78, 3229, 0, 0, 1, 0, 0, 1, 1, 0, -3101.2073, -1203.3483, 85.60877, 5.916666030883789062, 76, 0, 0, 1, 0, 0, 0, 0, 0, '', 0), -- .go xyz -3101.2073 -1203.3483 85.60877 +(@GUID+79, 3229, 0, 0, 1, 0, 0, 1, 1, 0, -3109.7998, -1196.0378, 85.89288, 5.707226753234863281, 76, 0, 0, 1, 0, 0, 0, 0, 0, '', 0), -- .go xyz -3109.7998 -1196.0378 85.89288 +(@GUID+80, 3229, 0, 0, 1, 0, 0, 1, 1, 0, -3103.7544, -1196.7037, 85.66892, 5.480333805084228515, 76, 0, 0, 1, 0, 0, 0, 0, 0, '', 0); -- .go xyz -3103.7544 -1196.7037 85.66892 + +-- Create 4 Pools for Squealer and his shaman. This should be 12 pools to be blizzlike, but my goal in this PR is to get spawnpoints correct and it's my belief that this should be handled differently than 12 pools (which would require adding 16 more NPCs as well) another issue with pooling is if one mob is killed, the pool will respawn eventually. This should not happen, the remaining mob should stand alone indefinitely, this is a problem with the way pool_pool functions in general. I feel pool_pool is incorrect and should eventually be replaced but that's a tangent for somewhere else/an issue post and is at least a 3 step proccess (adding a new system, moving existing pool_pool use into it which would include cleaning up "duplicate" creatures and possibly gameobjects, then removing pool_pool)........ in any case, this "pretty good enough" and minimalist for those reasons--all spawn points are used exactly 1 time in the pooling, in the same pairings they were sniffed in the first time seen. + +DELETE FROM `pool_template` WHERE `entry` BETWEEN 484 AND 488; +DELETE FROM `pool_pool` WHERE `pool_id` BETWEEN 484 AND 488; +DELETE FROM `pool_pool` WHERE `mother_pool` BETWEEN 484 AND 488; +DELETE FROM `pool_creature` WHERE `pool_entry` BETWEEN 484 AND 488; +DELETE FROM `pool_creature` WHERE `guid` BETWEEN @GUID+0 AND @GUID+80; -- A bit overkill but there is no other pooling required here + +INSERT INTO `pool_template` (`entry`, `max_limit`, `description`) VALUES +(484, 1, 'Squealer Variations'), +(485, 2, 'Squealer Variant 1'), +(486, 2, 'Squealer Variant 2'), +(487, 2, 'Squealer Variant 3'), +(488, 2, 'Squealer Variant 4'); + +INSERT INTO `pool_pool` (`pool_id`, `mother_pool`, `chance`, `description`) VALUES +(485, 484, 25, 'Squealer 1'), +(486, 484, 25, 'Squealer 2'), +(487, 484, 25, 'Squealer 3'), +(488, 484, 25, 'Squealer 4'); + +INSERT INTO `pool_creature` (`guid`, `pool_entry`, `description`) VALUES +(@GUID+77, 485, 'Squealer Thornmantle 1'), +(@GUID+71, 485, 'Bristleback Shaman 1'), + +(@GUID+78, 486, 'Squealer Thronmantle 2'), +(@GUID+73, 486, 'Bristleback Shaman 2'), + +(@GUID+79, 487, 'Squealer Thornmantle 3'), +(@GUID+74, 487, 'Bristleback Shaman 3'), + +(@GUID+80, 488, 'Sqealer Thornmantle 4'), +(@GUID+75, 488, 'Bristleback Shaman 4'); + +-- Pathing for Entry: 2952 PATROL 1/8 NORTH TO SOUTH LINE ON WEST SIDE +SET @NPC := @GUID+43; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `wander_distance`=0,`MovementType`=2 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,-2961.712,-1011.2244,56.166748,0,0,0,0,100,0), +(@PATH,2,-2971.4773,-1019.3734,54.697845,0,0,0,0,100,0), +(@PATH,3,-2983.6985,-1025.3036,54.95175,0,0,0,0,100,0), +(@PATH,4,-2997.0415,-1027.8938,54.390717,0,0,0,0,100,0), +(@PATH,5,-3007.3867,-1029.2715,54.32701,0,0,0,0,100,0), +(@PATH,6,-3027.1973,-1040.9512,49.216076,0,0,0,0,100,0), +(@PATH,7,-3045.8252,-1044.3395,49.151966,0,0,0,0,100,0), +(@PATH,8,-3057.0012,-1040.9094,49.151966,0,0,0,0,100,0), +(@PATH,9,-3068.8245,-1037.146,49.236847,0,0,0,0,100,0), +(@PATH,10,-3081.5195,-1038.8552,49.236847,0,0,0,0,100,0), +(@PATH,11,-3097.514,-1040.9816,50.001007,0,0,0,0,100,0), +(@PATH,12,-3111.7708,-1045.7502,52.833817,0,0,0,0,100,0), +(@PATH,13,-3124.2632,-1051.6448,54.31038,0,0,0,0,100,0), +(@PATH,14,-3142.9316,-1060.3864,55.953236,0,0,0,0,100,0), +(@PATH,15,-3159.9397,-1069.763,58.288166,0,0,0,0,100,0), +(@PATH,16,-3172.7832,-1079.2949,64.25776,0,0,0,0,100,0), +(@PATH,17,-3191.036,-1078.7428,67.50434,0,0,0,0,100,0), +(@PATH,18,-3214.8147,-1077.1764,81.09084,0,0,0,0,100,0), +(@PATH,19,-3227.1787,-1077.1012,89.57278,0,0,0,0,100,0), +(@PATH,20,-3246.1743,-1073.8044,102.49158,0,0,0,0,100,0), +(@PATH,21,-3256.6477,-1066.4739,109.23329,0,0,0,0,100,0), +(@PATH,22,-3267.388,-1057.1256,113.91971,0,0,0,0,100,0), +(@PATH,23,-3256.6477,-1066.4739,109.23329,0,0,0,0,100,0), +(@PATH,24,-3246.1743,-1073.8044,102.49158,0,0,0,0,100,0), +(@PATH,25,-3227.1787,-1077.1012,89.57278,0,0,0,0,100,0), +(@PATH,26,-3214.8147,-1077.1764,81.09084,0,0,0,0,100,0), +(@PATH,27,-3191.036,-1078.7428,67.50434,0,0,0,0,100,0), +(@PATH,28,-3172.7832,-1079.2949,64.25776,0,0,0,0,100,0), +(@PATH,29,-3159.9397,-1069.763,58.288166,0,0,0,0,100,0), +(@PATH,30,-3142.9316,-1060.3864,55.953236,0,0,0,0,100,0), +(@PATH,31,-3124.2632,-1051.6448,54.31038,0,0,0,0,100,0), +(@PATH,32,-3111.7708,-1045.7502,52.833817,0,0,0,0,100,0), +(@PATH,33,-3097.514,-1040.9816,50.001007,0,0,0,0,100,0), +(@PATH,34,-3081.5195,-1038.8552,49.236847,0,0,0,0,100,0), +(@PATH,35,-3068.8245,-1037.146,49.236847,0,0,0,0,100,0), +(@PATH,36,-3057.0012,-1040.9094,49.151966,0,0,0,0,100,0), +(@PATH,37,-3045.8252,-1044.3395,49.151966,0,0,0,0,100,0), +(@PATH,38,-3027.1973,-1040.9512,49.216076,0,0,0,0,100,0), +(@PATH,39,-3007.3867,-1029.2715,54.32701,0,0,0,0,100,0), +(@PATH,40,-2997.0415,-1027.8938,54.390717,0,0,0,0,100,0), +(@PATH,41,-2983.6985,-1025.3036,54.95175,0,0,0,0,100,0), +(@PATH,42,-2971.4773,-1019.3734,54.697845,0,0,0,0,100,0); +-- 0x204494002002E200003F0E00007B28E4 .go xyz -2961.712 -1011.2244 56.166748 + +-- Pathing for Entry: 2952 PATROL 2/8 LINE PATH OFFSHOOT FROM WEST CIRCLE PATH AREA +SET @NPC := @GUID+41; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `wander_distance`=0,`MovementType`=2 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,-3146.7832,-1118.2994,81.629944,0,0,0,0,100,0), +(@PATH,2,-3144.558,-1123.2455,82.362366,0,0,0,0,100,0), +(@PATH,3,-3141.0127,-1127.8922,84.52106,0,0,0,0,100,0), +(@PATH,4,-3138.776,-1131.7545,85.79083,0,0,0,0,100,0), +(@PATH,5,-3135.7861,-1134.4666,86.17131,0,0,0,0,100,0), +(@PATH,6,-3130.9817,-1139.6838,84.58054,0,0,0,0,100,0), +(@PATH,7,-3127.846,-1141.9879,83.001686,0,0,0,0,100,0), +(@PATH,8,-3125.4783,-1144.7509,81.2949,0,0,0,0,100,0), +(@PATH,9,-3122.837,-1148.3398,79.78025,0,0,0,0,100,0), +(@PATH,10,-3119.168,-1152.6188,78.18626,0,0,0,0,100,0), +(@PATH,11,-3114.9998,-1155.1896,77.13328,0,0,0,0,100,0), +(@PATH,12,-3111.0703,-1155.9473,76.22288,0,0,0,0,100,0), +(@PATH,13,-3104.269,-1156.2095,75.655495,0,0,0,0,100,0), +(@PATH,14,-3098.3984,-1153.2089,73.569534,0,0,0,0,100,0), +(@PATH,15,-3092.219,-1148.8915,70.98189,0,0,0,0,100,0), +(@PATH,16,-3082.1536,-1140.3633,69.596146,0,0,0,0,100,0), +(@PATH,17,-3082.2766,-1132.5764,72.37984,0,0,0,0,100,0), +(@PATH,18,-3087.681,-1121.0466,76.498,0,0,0,0,100,0), +(@PATH,19,-3089.2246,-1112.0756,76.7397,0,0,0,0,100,0), +(@PATH,20,-3082.923,-1096.7307,74.80794,0,0,0,0,100,0), +(@PATH,21,-3076.344,-1094.6487,73.62532,0,0,0,0,100,0), +(@PATH,22,-3082.923,-1096.7307,74.80794,0,0,0,0,100,0), +(@PATH,23,-3089.2246,-1112.0756,76.7397,0,0,0,0,100,0), +(@PATH,24,-3087.681,-1121.0466,76.498,0,0,0,0,100,0), +(@PATH,25,-3082.2766,-1132.5764,72.37984,0,0,0,0,100,0), +(@PATH,26,-3082.1536,-1140.3633,69.596146,0,0,0,0,100,0), +(@PATH,27,-3092.219,-1148.8915,70.98189,0,0,0,0,100,0), +(@PATH,28,-3098.334,-1153.125,73.58345,0,0,0,0,100,0), +(@PATH,29,-3104.269,-1156.2095,75.655495,0,0,0,0,100,0), +(@PATH,30,-3110.9585,-1155.9677,76.25681,0,0,0,0,100,0), +(@PATH,31,-3114.8887,-1155.209,77.22288,0,0,0,0,100,0), +(@PATH,32,-3119.166,-1152.6211,78.22288,0,0,0,0,100,0), +(@PATH,33,-3122.837,-1148.3398,79.78025,0,0,0,0,100,0), +(@PATH,34,-3125.4783,-1144.7509,81.2949,0,0,0,0,100,0), +(@PATH,35,-3127.846,-1141.9879,83.001686,0,0,0,0,100,0), +(@PATH,36,-3130.9817,-1139.6838,84.58054,0,0,0,0,100,0), +(@PATH,37,-3135.7861,-1134.4666,86.17131,0,0,0,0,100,0), +(@PATH,38,-3138.748,-1131.7793,85.760315,0,0,0,0,100,0), +(@PATH,39,-3141.0127,-1127.8922,84.52106,0,0,0,0,100,0), +(@PATH,40,-3144.558,-1123.2455,82.362366,0,0,0,0,100,0), +(@PATH,41,-3146.7832,-1118.2994,81.629944,0,0,0,0,100,0), +(@PATH,42,-3148.4307,-1114.0474,80.62872,0,0,0,0,100,0), +(@PATH,43,-3149.6172,-1110.0563,78.74835,0,0,0,0,100,0), +(@PATH,44,-3150.804,-1105.2186,77.862854,0,0,0,0,100,0), +(@PATH,45,-3149.6172,-1110.0563,78.74835,0,0,0,0,100,0), +(@PATH,46,-3148.4307,-1114.0474,80.62872,0,0,0,0,100,0); +-- 0x204494002002E200003F0E00007B47C8 .go xyz -3146.7832 -1118.2994 81.629944 + +-- Pathing for Entry: 2952 PATROL 3/8 HILL PATROL +SET @NPC := @GUID+25; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `wander_distance`=0,`MovementType`=2,`position_x`=-2852.1565,`position_y`=-1094.1387,`position_z`=86.89366 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,-2852.1565,-1094.1387,86.89366,0,0,0,0,100,0), +(@PATH,2,-2850.1191,-1089.8453,82.18321,0,0,0,0,100,0), +(@PATH,3,-2847.5715,-1084.5143,78.30846,0,0,0,0,100,0), +(@PATH,4,-2844.4636,-1076.7814,77.229355,0,0,0,0,100,0), +(@PATH,5,-2840.5664,-1070.9707,75.18346,0,0,0,0,100,0), +(@PATH,6,-2836.2793,-1068.3926,72.68346,0,0,0,0,100,0), +(@PATH,7,-2834.5415,-1063.892,70.703354,0,0,0,0,100,0), +(@PATH,8,-2836.5215,-1057.9679,68.83128,0,0,0,0,100,0), +(@PATH,9,-2839.361,-1053.0757,66.261215,0,0,0,0,100,0), +(@PATH,10,-2842.3506,-1048.498,62.99828,0,0,0,0,100,0), +(@PATH,11,-2847.8005,-1042.7087,58.317127,0,0,0,0,100,0), +(@PATH,12,-2853.6597,-1040.6172,55.818592,0,0,0,0,100,0), +(@PATH,13,-2862.998,-1041.666,54.63915,0,0,0,0,100,0), +(@PATH,14,-2869.8333,-1045.0111,54.719086,0,0,0,0,100,0), +(@PATH,15,-2877.8167,-1049.8906,55.065277,0,0,0,0,100,0), +(@PATH,16,-2884.8599,-1057.5271,54.75717,0,0,0,0,100,0), +(@PATH,17,-2877.8167,-1049.8906,55.065277,0,0,0,0,100,0), +(@PATH,18,-2869.8333,-1045.0111,54.719086,0,0,0,0,100,0), +(@PATH,19,-2862.998,-1041.666,54.63915,0,0,0,0,100,0), +(@PATH,20,-2853.6597,-1040.6172,55.818592,0,0,0,0,100,0), +(@PATH,21,-2847.8005,-1042.7087,58.317127,0,0,0,0,100,0), +(@PATH,22,-2842.3506,-1048.498,62.99828,0,0,0,0,100,0), +(@PATH,23,-2839.361,-1053.0757,66.261215,0,0,0,0,100,0), +(@PATH,24,-2836.5215,-1057.9679,68.83128,0,0,0,0,100,0), +(@PATH,25,-2834.5415,-1063.892,70.703354,0,0,0,0,100,0), +(@PATH,26,-2836.1736,-1068.3346,72.73131,0,0,0,0,100,0), +(@PATH,27,-2840.4805,-1070.8828,75.18346,0,0,0,0,100,0), +(@PATH,28,-2844.4636,-1076.7814,77.229355,0,0,0,0,100,0), +(@PATH,29,-2847.5715,-1084.5143,78.30846,0,0,0,0,100,0), +(@PATH,30,-2850.1191,-1089.8453,82.18321,0,0,0,0,100,0), +(@PATH,31,-2852.1565,-1094.1387,86.89366,0,0,0,0,100,0), +(@PATH,32,-2856.3054,-1096.593,88.92369,0,0,0,0,100,0), +(@PATH,33,-2861.179,-1099.9493,88.70909,0,0,0,0,100,0), +(@PATH,34,-2864.896,-1103.1991,88.51355,0,0,0,0,100,0), +(@PATH,35,-2856.3054,-1096.593,88.92369,0,0,0,0,100,0); +-- 0x204494002002E200003F0E00007B3D7E .go xyz -2852.1565 -1094.1387 86.89366 + +-- Pathing for Entry: 2952 PATROL 4/8 WEST CIRCLE PATROL +SET @NPC := @GUID+42; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `wander_distance`=0,`MovementType`=2 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,-2966.6282,-1166.7826,59.79027,0,0,0,0,100,0), +(@PATH,2,-2976.7695,-1159.4805,59.338833,0,0,0,0,100,0), +(@PATH,3,-2983.6057,-1157.9626,58.743618,0,0,0,0,100,0), +(@PATH,4,-2994.0664,-1158.4838,58.9194,0,0,0,0,100,0), +(@PATH,5,-3002.771,-1161.9937,59.502087,0,0,0,0,100,0), +(@PATH,6,-3008.088,-1164.4954,59.469128,0,0,0,0,100,0), +(@PATH,7,-3014.562,-1167.2656,60.09375,0,0,0,0,100,0), +(@PATH,8,-3020.82,-1170.2137,61.323486,0,0,0,0,100,0), +(@PATH,9,-3028.963,-1169.9653,61.857666,0,0,0,0,100,0), +(@PATH,10,-3038.551,-1169.9587,62.88227,0,0,0,0,100,0), +(@PATH,11,-3046.7822,-1167.1433,63.489693,0,0,0,0,100,0), +(@PATH,12,-3053.6487,-1162.8998,63.745937,0,0,0,0,100,0), +(@PATH,13,-3058.2432,-1157.1339,64.06186,0,0,0,0,100,0), +(@PATH,14,-3060.5042,-1149.7556,64.328705,0,0,0,0,100,0), +(@PATH,15,-3059.798,-1140.2621,62.517178,0,0,0,0,100,0), +(@PATH,16,-3059.2058,-1129.8031,61.685894,0,0,0,0,100,0), +(@PATH,17,-3057.5806,-1120.1815,60.90855,0,0,0,0,100,0), +(@PATH,18,-3054.9438,-1109.9918,61.18028,0,0,0,0,100,0), +(@PATH,19,-3050.7104,-1102.8596,57.989117,0,0,0,0,100,0), +(@PATH,20,-3044.2527,-1092.0681,56.23148,0,0,0,0,100,0), +(@PATH,21,-3039.5813,-1081.878,54.214878,0,0,0,0,100,0), +(@PATH,22,-3041.483,-1070.166,51.886753,0,0,0,0,100,0), +(@PATH,23,-3049.7534,-1055.7463,53.098743,0,0,0,0,100,0), +(@PATH,24,-3055.148,-1046.4718,49.597767,0,0,0,0,100,0), +(@PATH,25,-3063.0867,-1039.9294,49.151966,0,0,0,0,100,0), +(@PATH,26,-3074.7327,-1041.3402,49.236847,0,0,0,0,100,0), +(@PATH,27,-3087.5217,-1043.9277,49.904327,0,0,0,0,100,0), +(@PATH,28,-3100.2888,-1052.9208,55.24739,0,0,0,0,100,0), +(@PATH,29,-3104.511,-1060.6345,59.014725,0,0,0,0,100,0), +(@PATH,30,-3100.8115,-1075.0563,64.1783,0,0,0,0,100,0), +(@PATH,31,-3093.472,-1092.7599,72.37312,0,0,0,0,100,0), +(@PATH,32,-3092.5696,-1099.5211,74.38899,0,0,0,0,100,0), +(@PATH,33,-3091.8142,-1110.9763,76.75777,0,0,0,0,100,0), +(@PATH,34,-3090.17,-1118.4949,77.09126,0,0,0,0,100,0), +(@PATH,35,-3084.7969,-1131.6705,74.17305,0,0,0,0,100,0), +(@PATH,36,-3080.3618,-1143.4012,67.61568,0,0,0,0,100,0), +(@PATH,37,-3072.304,-1146.0973,65.45845,0,0,0,0,100,0), +(@PATH,38,-3063.675,-1145.1855,63.95053,0,0,0,0,100,0), +(@PATH,39,-3072.304,-1146.0973,65.45845,0,0,0,0,100,0), +(@PATH,40,-3080.3618,-1143.4012,67.61568,0,0,0,0,100,0), +(@PATH,41,-3084.7969,-1131.6705,74.17305,0,0,0,0,100,0), +(@PATH,42,-3090.17,-1118.4949,77.09126,0,0,0,0,100,0), +(@PATH,43,-3091.8142,-1110.9763,76.75777,0,0,0,0,100,0), +(@PATH,44,-3092.5696,-1099.5211,74.38899,0,0,0,0,100,0), +(@PATH,45,-3093.472,-1092.7599,72.37312,0,0,0,0,100,0), +(@PATH,46,-3100.8115,-1075.0563,64.1783,0,0,0,0,100,0), +(@PATH,47,-3104.511,-1060.6345,59.014725,0,0,0,0,100,0), +(@PATH,48,-3100.2888,-1052.9208,55.24739,0,0,0,0,100,0), +(@PATH,49,-3087.5217,-1043.9277,49.904327,0,0,0,0,100,0), +(@PATH,50,-3074.7327,-1041.3402,49.236847,0,0,0,0,100,0), +(@PATH,51,-3063.0867,-1039.9294,49.151966,0,0,0,0,100,0), +(@PATH,52,-3055.148,-1046.4718,49.597767,0,0,0,0,100,0), +(@PATH,53,-3049.7534,-1055.7463,53.098743,0,0,0,0,100,0), +(@PATH,54,-3041.483,-1070.166,51.886753,0,0,0,0,100,0), +(@PATH,55,-3039.5813,-1081.878,54.214878,0,0,0,0,100,0), +(@PATH,56,-3044.2527,-1092.0681,56.23148,0,0,0,0,100,0), +(@PATH,57,-3050.7104,-1102.8596,57.989117,0,0,0,0,100,0), +(@PATH,58,-3054.9438,-1109.9918,61.18028,0,0,0,0,100,0), +(@PATH,59,-3057.5806,-1120.1815,60.90855,0,0,0,0,100,0), +(@PATH,60,-3059.2058,-1129.8031,61.685894,0,0,0,0,100,0), +(@PATH,61,-3059.798,-1140.2621,62.517178,0,0,0,0,100,0), +(@PATH,62,-3060.5042,-1149.7556,64.328705,0,0,0,0,100,0), +(@PATH,63,-3058.2432,-1157.1339,64.06186,0,0,0,0,100,0), +(@PATH,64,-3053.6487,-1162.8998,63.745937,0,0,0,0,100,0), +(@PATH,65,-3046.7822,-1167.1433,63.489693,0,0,0,0,100,0), +(@PATH,66,-3038.551,-1169.9587,62.88227,0,0,0,0,100,0), +(@PATH,67,-3028.963,-1169.9653,61.857666,0,0,0,0,100,0), +(@PATH,68,-3020.82,-1170.2137,61.323486,0,0,0,0,100,0), +(@PATH,69,-3014.562,-1167.2656,60.09375,0,0,0,0,100,0), +(@PATH,70,-3008.088,-1164.4954,59.469128,0,0,0,0,100,0), +(@PATH,71,-3002.771,-1161.9937,59.502087,0,0,0,0,100,0), +(@PATH,72,-2994.0664,-1158.4838,58.9194,0,0,0,0,100,0), +(@PATH,73,-2983.6057,-1157.9626,58.743618,0,0,0,0,100,0), +(@PATH,74,-2976.7695,-1159.4805,59.338833,0,0,0,0,100,0); +-- 0x204494002002E200003F0E00007B4A07 .go xyz -2966.6282 -1166.7826 59.79027 + +-- Pathing for Entry: 2952 5/8 BACK STEEP HILL +SET @NPC := @GUID+38; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `wander_distance`=0,`MovementType`=2,`position_x`=-2936.0652,`position_y`=-1329.1919,`position_z`=88.24882 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,-2936.0652,-1329.1919,88.24882,0,0,0,0,100,0), +(@PATH,2,-2941.6055,-1329.6256,87.71195,0,0,0,0,100,0), +(@PATH,3,-2946.7676,-1327.098,87.77982,0,0,0,0,100,0), +(@PATH,4,-2953.729,-1324.7623,86.4683,0,0,0,0,100,0), +(@PATH,5,-2959.1643,-1323.8787,84.44901,0,0,0,0,100,0), +(@PATH,6,-2968.2048,-1322.0011,81.11845,0,0,0,0,100,0), +(@PATH,7,-2971.0168,-1318.8032,79.547646,0,0,0,0,100,0), +(@PATH,8,-2976.9666,-1314.3882,76.76176,0,0,0,0,100,0), +(@PATH,9,-2980.8179,-1309.3013,74.72587,0,0,0,0,100,0), +(@PATH,10,-2982.7288,-1304.3756,73.52421,0,0,0,0,100,0), +(@PATH,11,-2985.4448,-1294.0367,72.26551,0,0,0,0,100,0), +(@PATH,12,-2982.7668,-1285.9819,72.26551,0,0,0,0,100,0), +(@PATH,13,-2980.2083,-1279.4545,72.26551,0,0,0,0,100,0), +(@PATH,14,-2982.7668,-1285.9819,72.26551,0,0,0,0,100,0), +(@PATH,15,-2985.4448,-1294.0367,72.26551,0,0,0,0,100,0), +(@PATH,16,-2982.7288,-1304.3756,73.52421,0,0,0,0,100,0), +(@PATH,17,-2980.8179,-1309.3013,74.72587,0,0,0,0,100,0), +(@PATH,18,-2976.9666,-1314.3882,76.76176,0,0,0,0,100,0), +(@PATH,19,-2971.0168,-1318.8032,79.547646,0,0,0,0,100,0), +(@PATH,20,-2968.2048,-1322.0011,81.11845,0,0,0,0,100,0), +(@PATH,21,-2959.1643,-1323.8787,84.44901,0,0,0,0,100,0), +(@PATH,22,-2953.729,-1324.7623,86.4683,0,0,0,0,100,0), +(@PATH,23,-2946.7676,-1327.098,87.77982,0,0,0,0,100,0), +(@PATH,24,-2941.6055,-1329.6256,87.71195,0,0,0,0,100,0), +(@PATH,25,-2936.0652,-1329.1919,88.24882,0,0,0,0,100,0), +(@PATH,26,-2928.9438,-1327.5259,88.454384,0,0,0,0,100,0), +(@PATH,27,-2922.7239,-1327.3824,87.770546,0,0,0,0,100,0), +(@PATH,28,-2928.9438,-1327.5259,88.454384,0,0,0,0,100,0); +-- 0x204494002002E200003F0E00007B45A3 .go xyz -2936.0652 -1329.1919 88.24882 + +-- Pathing for Entry: 2952 6/8 LONG HILL GUY +SET @NPC := @GUID+40; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `wander_distance`=0,`MovementType`=2 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,-2946.3318,-1252.1638,71.8886,0,0,0,0,100,0), +(@PATH,2,-2952.6064,-1245.0092,68.88445,0,0,0,0,100,0), +(@PATH,3,-2962.3926,-1239.0801,65.04583,0,0,0,0,100,0), +(@PATH,4,-2970.3557,-1236.7878,64.636765,0,0,0,0,100,0), +(@PATH,5,-2990.205,-1234.6272,64.44682,0,0,0,0,100,0), +(@PATH,6,-3002.0015,-1232.859,66.188034,0,0,0,0,100,0), +(@PATH,7,-3020.425,-1230.2251,70.09502,0,0,0,0,100,0), +(@PATH,8,-3034.9863,-1226.6211,74.35703,0,0,0,0,100,0), +(@PATH,9,-3045.6091,-1224.5006,77.05088,0,0,0,0,100,0), +(@PATH,10,-3054.6707,-1221.685,79.685646,0,0,0,0,100,0), +(@PATH,11,-3063.6133,-1219.7833,82.49912,0,0,0,0,100,0), +(@PATH,12,-3072.1113,-1215.9227,85.353264,0,0,0,0,100,0), +(@PATH,13,-3078.3245,-1212.4366,86.5053,0,0,0,0,100,0), +(@PATH,14,-3088.474,-1208.2225,85.65675,0,0,0,0,100,0), +(@PATH,15,-3078.3245,-1212.4366,86.5053,0,0,0,0,100,0), +(@PATH,16,-3072.2148,-1215.8164,85.33373,0,0,0,0,100,0), +(@PATH,17,-3063.6133,-1219.7833,82.49912,0,0,0,0,100,0), +(@PATH,18,-3054.8066,-1221.6641,79.60703,0,0,0,0,100,0), +(@PATH,19,-3045.6091,-1224.5006,77.05088,0,0,0,0,100,0), +(@PATH,20,-3035.012,-1226.6161,74.37852,0,0,0,0,100,0), +(@PATH,21,-3020.425,-1230.2251,70.09502,0,0,0,0,100,0), +(@PATH,22,-3002.0015,-1232.859,66.188034,0,0,0,0,100,0), +(@PATH,23,-2990.205,-1234.6272,64.44682,0,0,0,0,100,0), +(@PATH,24,-2970.3557,-1236.7878,64.636765,0,0,0,0,100,0), +(@PATH,25,-2962.3926,-1239.0801,65.04583,0,0,0,0,100,0), +(@PATH,26,-2952.6064,-1245.0092,68.88445,0,0,0,0,100,0), +(@PATH,27,-2946.3318,-1252.1638,71.8886,0,0,0,0,100,0), +(@PATH,28,-2943.6946,-1256.3978,72.24407,0,0,0,0,100,0), +(@PATH,29,-2940.987,-1262.1919,72.24407,0,0,0,0,100,0), +(@PATH,30,-2939.4636,-1266.726,72.329384,0,0,0,0,100,0), +(@PATH,31,-2943.6946,-1256.3978,72.24407,0,0,0,0,100,0); +-- 0x204494002002E200003F0E00007B4630 .go xyz -2946.3318 -1252.1638 71.8886 + +-- Pathing for Entry: 2952 LATE FIND TUNNEL PATROL 7/8 +SET @NPC := @GUID+44; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `wander_distance`=0 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,-3128.819,-1015.3105,51.516167,0,0,0,0,100,0), +(@PATH,2,-3135.294,-1009.4896,50.93017,0,0,0,0,100,0), +(@PATH,3,-3140.0098,-1005.2151,50.164234,0,0,0,0,100,0), +(@PATH,4,-3143.754,-1002.8673,50.693275,0,0,0,0,100,0), +(@PATH,5,-3149.185,-999.8543,50.978836,0,0,0,0,100,0), +(@PATH,6,-3153.8984,-994.8447,50.52997,0,0,0,0,100,0), +(@PATH,7,-3156.861,-990.53284,50.30574,0,0,0,0,100,0), +(@PATH,8,-3160.9102,-981.7381,50.024147,0,0,0,0,100,0), +(@PATH,9,-3162.0635,-969.6567,51.31704,0,0,0,0,100,0), +(@PATH,10,-3162.736,-965.17645,51.14846,0,0,0,0,100,0), +(@PATH,11,-3167.1892,-959.7274,49.331295,0,0,0,0,100,0), +(@PATH,12,-3171.1692,-955.2677,49.970737,0,0,0,0,100,0), +(@PATH,13,-3178.252,-947.1688,50.293358,0,0,0,0,100,0), +(@PATH,14,-3184.6882,-940.8143,51.613605,0,0,0,0,100,0), +(@PATH,15,-3187.9836,-934.8941,51.979214,0,0,0,0,100,0), +(@PATH,16,-3189.5715,-931.58777,52.50561,0,0,0,0,100,0), +(@PATH,17,-3184.6882,-940.8143,51.613605,0,0,0,0,100,0), +(@PATH,18,-3178.252,-947.1688,50.293358,0,0,0,0,100,0), +(@PATH,19,-3171.1692,-955.2677,49.970737,0,0,0,0,100,0), +(@PATH,20,-3167.2083,-959.7042,49.311344,0,0,0,0,100,0), +(@PATH,21,-3162.736,-965.17645,51.14846,0,0,0,0,100,0), +(@PATH,22,-3162.0635,-969.6567,51.31704,0,0,0,0,100,0), +(@PATH,23,-3161.174,-979.3392,50.468437,0,0,0,0,100,0), +(@PATH,24,-3158.5876,-987.058,49.906708,0,0,0,0,100,0), +(@PATH,25,-3156.9138,-990.45593,50.289776,0,0,0,0,100,0), +(@PATH,26,-3153.8984,-994.8447,50.52997,0,0,0,0,100,0), +(@PATH,27,-3149.1904,-999.84863,50.979122,0,0,0,0,100,0), +(@PATH,28,-3143.754,-1002.8673,50.693275,0,0,0,0,100,0), +(@PATH,29,-3140.0098,-1005.2151,50.164234,0,0,0,0,100,0), +(@PATH,30,-3135.294,-1009.4896,50.93017,0,0,0,0,100,0), +(@PATH,31,-3128.819,-1015.3105,51.516167,0,0,0,0,100,0), +(@PATH,32,-3124.93,-1019.7272,51.062088,0,0,0,0,100,0), +(@PATH,33,-3119.2927,-1024.0083,50.593548,0,0,0,0,100,0), +(@PATH,34,-3124.8574,-1019.7123,51.074574,0,0,0,0,100,0); +-- 0x204494002002E20000001D0000073279 .go xyz -3128.819 -1015.3105 51.516167 + +-- Pathing for Entry: 2952 ABOVE TUNNEL PATROL 8/8 +-- 0x204494002002E20000001D0000086E34 .go xyz -3177.3604 -994.7924 93.245804 +SET @NPC := @GUID+83; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `wander_distance`=0,`MovementType`=2,`position_x`=-3177.3604,`position_y`=-994.7924,`position_z`=93.245804 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,-3177.3604,-994.7924,93.245804,0,0,0,0,100,0), +(@PATH,2,-3170.251,-991.2536,93.196,0,0,0,0,100,0), +(@PATH,3,-3164.749,-987.4129,93.162735,0,0,0,0,100,0), +(@PATH,4,-3156.9866,-981.63043,92.52089,0,0,0,0,100,0), +(@PATH,5,-3150.1423,-976.2628,93.287735,0,0,0,0,100,0), +(@PATH,6,-3145.8997,-971.18176,93.287735,0,0,0,0,100,0), +(@PATH,7,-3144.206,-964.76935,93.52335,0,0,0,0,100,0), +(@PATH,8,-3137.0825,-961.3595,93.27335,0,0,0,0,100,0), +(@PATH,9,-3128.3264,-960.39575,93.38651,0,0,0,0,100,0), +(@PATH,10,-3121.3025,-962.5877,93.38651,0,0,0,0,100,0), +(@PATH,11,-3109.048,-961.9134,93.77714,0,0,0,0,100,0), +(@PATH,12,-3103.8723,-959.48395,93.96317,0,0,0,0,100,0), +(@PATH,13,-3093.718,-955.32117,93.40212,0,0,0,0,100,0), +(@PATH,14,-3085.0796,-950.825,93.118675,0,0,0,0,100,0), +(@PATH,15,-3079.3599,-945.0343,93.16311,0,0,0,0,100,0), +(@PATH,16,-3072.1787,-935.6571,93.29421,0,0,0,0,100,0), +(@PATH,17,-3071.6152,-928.2733,93.31096,0,0,0,0,100,0), +(@PATH,18,-3073.047,-911.60187,93.27971,0,0,0,0,100,0), +(@PATH,19,-3071.6152,-928.2733,93.31096,0,0,0,0,100,0), +(@PATH,20,-3072.1787,-935.6571,93.29421,0,0,0,0,100,0), +(@PATH,21,-3079.3599,-945.0343,93.16311,0,0,0,0,100,0), +(@PATH,22,-3085.0796,-950.825,93.118675,0,0,0,0,100,0), +(@PATH,23,-3093.718,-955.32117,93.40212,0,0,0,0,100,0), +(@PATH,24,-3103.8723,-959.48395,93.96317,0,0,0,0,100,0), +(@PATH,25,-3109.048,-961.9134,93.77714,0,0,0,0,100,0), +(@PATH,26,-3121.3025,-962.5877,93.38651,0,0,0,0,100,0), +(@PATH,27,-3128.3264,-960.39575,93.38651,0,0,0,0,100,0), +(@PATH,28,-3137.0825,-961.3595,93.27335,0,0,0,0,100,0), +(@PATH,29,-3144.206,-964.76935,93.52335,0,0,0,0,100,0), +(@PATH,30,-3145.8997,-971.18176,93.287735,0,0,0,0,100,0), +(@PATH,31,-3150.1423,-976.2628,93.287735,0,0,0,0,100,0), +(@PATH,32,-3156.9866,-981.63043,92.52089,0,0,0,0,100,0), +(@PATH,33,-3164.749,-987.4129,93.162735,0,0,0,0,100,0), +(@PATH,34,-3170.251,-991.2536,93.196,0,0,0,0,100,0), +(@PATH,35,-3177.3604,-994.7924,93.245804,0,0,0,0,100,0), +(@PATH,36,-3182.6372,-995.90607,93.30806,0,0,0,0,100,0), +(@PATH,37,-3190.2163,-999.3085,93.30806,0,0,0,0,100,0), +(@PATH,38,-3182.6372,-995.90607,93.30806,0,0,0,0,100,0); From 5d25a0686d42dce0f1d6505b570a2fac7e1a7510 Mon Sep 17 00:00:00 2001 From: AzerothCoreBot Date: Tue, 6 Sep 2022 18:28:23 +0000 Subject: [PATCH 10/41] chore(DB): import pending files Referenced commit(s): b96ad3a29c30f3383d7ce5d50ffae621f42b9743 --- .../rev_1661505231687639200.sql => db_world/2022_09_06_07.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1661505231687639200.sql => db_world/2022_09_06_07.sql} (99%) diff --git a/data/sql/updates/pending_db_world/rev_1661505231687639200.sql b/data/sql/updates/db_world/2022_09_06_07.sql similarity index 99% rename from data/sql/updates/pending_db_world/rev_1661505231687639200.sql rename to data/sql/updates/db_world/2022_09_06_07.sql index e94c1d9d3..603acf29e 100644 --- a/data/sql/updates/pending_db_world/rev_1661505231687639200.sql +++ b/data/sql/updates/db_world/2022_09_06_07.sql @@ -1,3 +1,4 @@ +-- DB update 2022_09_06_06 -> 2022_09_06_07 -- -- Brambleblade Ravine is in regards to entries 2952 (Bristleback Quilboar), 2954 (Bristbleback Battleboar), 2953 (Bristleback Shaman), 8554 (Chief Sharptusk Thornmantle), and 3229 (Squealer) -- A few Bristbleback are still movement type From 80e6a6d781881afec19112e85ac8cf69fd916977 Mon Sep 17 00:00:00 2001 From: ZhengPeiRu21 <98835050+ZhengPeiRu21@users.noreply.github.com> Date: Tue, 6 Sep 2022 12:47:37 -0600 Subject: [PATCH 11/41] feat(Core): OnBeforeChooseGraveyard Hook (#12860) --- src/server/game/Misc/GameGraveyard.cpp | 8 ++++++++ src/server/game/Scripting/ScriptDefines/PlayerScript.cpp | 8 ++++++++ src/server/game/Scripting/ScriptMgr.h | 4 ++++ 3 files changed, 20 insertions(+) diff --git a/src/server/game/Misc/GameGraveyard.cpp b/src/server/game/Misc/GameGraveyard.cpp index 759ccbfd7..f9795089d 100644 --- a/src/server/game/Misc/GameGraveyard.cpp +++ b/src/server/game/Misc/GameGraveyard.cpp @@ -20,6 +20,7 @@ #include "DatabaseEnv.h" #include "Log.h" #include "MapMgr.h" +#include "ScriptMgr.h" Graveyard* Graveyard::instance() { @@ -95,6 +96,13 @@ GraveyardStruct const* Graveyard::GetDefaultGraveyard(TeamId teamId) GraveyardStruct const* Graveyard::GetClosestGraveyard(Player* player, TeamId teamId, bool nearCorpse) { + uint32 graveyardOverride = 0; + sScriptMgr->OnBeforeChooseGraveyard(player, teamId, nearCorpse, graveyardOverride); + if (graveyardOverride) + { + return sGraveyard->GetGraveyard(graveyardOverride); + } + WorldLocation loc = player->GetWorldLocation(); if (nearCorpse) diff --git a/src/server/game/Scripting/ScriptDefines/PlayerScript.cpp b/src/server/game/Scripting/ScriptDefines/PlayerScript.cpp index a759e4047..3e43fa075 100644 --- a/src/server/game/Scripting/ScriptDefines/PlayerScript.cpp +++ b/src/server/game/Scripting/ScriptDefines/PlayerScript.cpp @@ -1349,6 +1349,14 @@ void ScriptMgr::OnPlayerResurrect(Player* player, float restore_percent, bool ap }); } +void ScriptMgr::OnBeforeChooseGraveyard(Player* player, TeamId teamId, bool nearCorpse, uint32& graveyardOverride) +{ + ExecuteScript([&](PlayerScript* script) + { + script->OnBeforeChooseGraveyard(player, teamId, nearCorpse, graveyardOverride); + }); +} + bool ScriptMgr::CanPlayerUseChat(Player* player, uint32 type, uint32 language, std::string& msg) { auto ret = IsValidBoolScript([&](PlayerScript* script) diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h index 2e17704f1..006761d9e 100644 --- a/src/server/game/Scripting/ScriptMgr.h +++ b/src/server/game/Scripting/ScriptMgr.h @@ -1316,6 +1316,9 @@ public: virtual void OnPlayerResurrect(Player* /*player*/, float /*restore_percent*/, bool /*applySickness*/) { } + // Called before selecting the graveyard when releasing spirit + virtual void OnBeforeChooseGraveyard(Player* /*player*/, TeamId /*teamId*/, bool /*nearCorpse*/, uint32& /*graveyardOverride*/) { } + /** * @brief This hook called before player sending message in default chat * @@ -2317,6 +2320,7 @@ public: /* PlayerScript */ void OnSetServerSideVisibility(Player* player, ServerSideVisibilityType& type, AccountTypes& sec); void OnSetServerSideVisibilityDetect(Player* player, ServerSideVisibilityType& type, AccountTypes& sec); void OnPlayerResurrect(Player* player, float restore_percent, bool applySickness); + void OnBeforeChooseGraveyard(Player* player, TeamId teamId, bool nearCorpse, uint32& graveyardOverride); bool CanPlayerUseChat(Player* player, uint32 type, uint32 language, std::string& msg); bool CanPlayerUseChat(Player* player, uint32 type, uint32 language, std::string& msg, Player* receiver); bool CanPlayerUseChat(Player* player, uint32 type, uint32 language, std::string& msg, Group* group); From 85f1f697b707cacd5905cde4b28945baed17eefb Mon Sep 17 00:00:00 2001 From: UltraNix <80540499+UltraNix@users.noreply.github.com> Date: Tue, 6 Sep 2022 20:48:56 +0200 Subject: [PATCH 12/41] fix(Scripts/AqhQiraj): Increased aggro range for Moam. (#12947) --- src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp index d5b7269b1..1593a7498 100644 --- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp +++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp @@ -55,6 +55,12 @@ struct boss_moam : public BossAI { boss_moam(Creature* creature) : BossAI(creature, DATA_MOAM) {} + void InitializeAI() override + { + me->m_CombatDistance = 50.0f; + Reset(); + } + void Reset() override { _Reset(); From 3953aeda28d015e04cd35c723298acb6e08929ed Mon Sep 17 00:00:00 2001 From: Gultask <100873791+Gultask@users.noreply.github.com> Date: Tue, 6 Sep 2022 15:53:26 -0300 Subject: [PATCH 13/41] fix(DB/linked_respawn): Link AQ20 trash spawn (#12908) --- .../rev_1661900434005893500.sql | 309 ++++++++++++++++++ 1 file changed, 309 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1661900434005893500.sql diff --git a/data/sql/updates/pending_db_world/rev_1661900434005893500.sql b/data/sql/updates/pending_db_world/rev_1661900434005893500.sql new file mode 100644 index 000000000..b2e1466e2 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1661900434005893500.sql @@ -0,0 +1,309 @@ +-- Kurinnaxx +SET @BOSS=144632; +SET @NPC=144521; +DELETE FROM `linked_respawn` WHERE `linkedGuid`=@BOSS AND `guid` BETWEEN @NPC AND @NPC+9; +INSERT INTO `linked_respawn` (`guid`, `linkedGuid`, `linkType`) VALUES +(@NPC, @BOSS, 0), +(@NPC+1, @BOSS, 0), +(@NPC+2, @BOSS, 0), +(@NPC+3, @BOSS, 0), +(@NPC+4, @BOSS, 0), +(@NPC+5, @BOSS, 0), +(@NPC+6, @BOSS, 0), +(@NPC+7, @BOSS, 0), +(@NPC+8, @BOSS, 0), +(@NPC+9, @BOSS, 0); +SET @NPC=144490; +DELETE FROM `linked_respawn` WHERE `linkedGuid`=@BOSS AND `guid` BETWEEN @NPC AND @NPC+19; +INSERT INTO `linked_respawn` (`guid`, `linkedGuid`, `linkType`) VALUES +(@NPC, @BOSS, 0), +(@NPC+1, @BOSS, 0), +(@NPC+2, @BOSS, 0), +(@NPC+3, @BOSS, 0), +(@NPC+4, @BOSS, 0), +(@NPC+5, @BOSS, 0), +(@NPC+6, @BOSS, 0), +(@NPC+7, @BOSS, 0), +(@NPC+8, @BOSS, 0), +(@NPC+9, @BOSS, 0), +(@NPC+10, @BOSS, 0), +(@NPC+11, @BOSS, 0), +(@NPC+12, @BOSS, 0), +(@NPC+13, @BOSS, 0), +(@NPC+14, @BOSS, 0), +(@NPC+15, @BOSS, 0), +(@NPC+16, @BOSS, 0), +(@NPC+17, @BOSS, 0), +(@NPC+18, @BOSS, 0), +(@NPC+19, @BOSS, 0); +SET @NPC=144604; +DELETE FROM `linked_respawn` WHERE `linkedGuid`=@BOSS AND `guid` BETWEEN @NPC AND @NPC+5; +INSERT INTO `linked_respawn` (`guid`, `linkedGuid`, `linkType`) VALUES +(@NPC, @BOSS, 0), +(@NPC+1, @BOSS, 0), +(@NPC+2, @BOSS, 0), +(@NPC+3, @BOSS, 0), +(@NPC+4, @BOSS, 0), +(@NPC+5, @BOSS, 0); +SET @NPC=144482; +DELETE FROM `linked_respawn` WHERE `linkedGuid`=@BOSS AND `guid` BETWEEN @NPC AND @NPC+3; +INSERT INTO `linked_respawn` (`guid`, `linkedGuid`, `linkType`) VALUES +(@NPC, @BOSS, 0), +(@NPC+1, @BOSS, 0), +(@NPC+2, @BOSS, 0), +(@NPC+3, @BOSS, 0); + +-- General Rajaxx - Waves are already linked +SET @BOSS=144603; +SET @NPC=144486; +DELETE FROM `linked_respawn` WHERE `linkedGuid`=@BOSS AND `guid` BETWEEN @NPC AND @NPC+3; +INSERT INTO `linked_respawn` (`guid`, `linkedGuid`, `linkType`) VALUES +(@NPC, @BOSS, 0), +(@NPC+1, @BOSS, 0), +(@NPC+2, @BOSS, 0), +(@NPC+3, @BOSS, 0); + +-- Moam +SET @BOSS=144602; +SET @NPC=144592; +DELETE FROM `linked_respawn` WHERE `linkedGuid`=@BOSS AND `guid` BETWEEN @NPC AND @NPC+8; +INSERT INTO `linked_respawn` (`guid`, `linkedGuid`, `linkType`) VALUES +(@NPC, @BOSS, 0), +(@NPC+1, @BOSS, 0), +(@NPC+2, @BOSS, 0), +(@NPC+3, @BOSS, 0), +(@NPC+4, @BOSS, 0), +(@NPC+5, @BOSS, 0), +(@NPC+6, @BOSS, 0), +(@NPC+7, @BOSS, 0), +(@NPC+8, @BOSS, 0); +SET @NPC=144748; +DELETE FROM `linked_respawn` WHERE `linkedGuid`=@BOSS AND `guid` BETWEEN @NPC AND @NPC+29; +INSERT INTO `linked_respawn` (`guid`, `linkedGuid`, `linkType`) VALUES +(@NPC, @BOSS, 0), +(@NPC+1, @BOSS, 0), +(@NPC+2, @BOSS, 0), +(@NPC+3, @BOSS, 0), +(@NPC+4, @BOSS, 0), +(@NPC+5, @BOSS, 0), +(@NPC+6, @BOSS, 0), +(@NPC+7, @BOSS, 0), +(@NPC+8, @BOSS, 0), +(@NPC+9, @BOSS, 0), +(@NPC+10, @BOSS, 0), +(@NPC+11, @BOSS, 0), +(@NPC+12, @BOSS, 0), +(@NPC+13, @BOSS, 0), +(@NPC+14, @BOSS, 0), +(@NPC+15, @BOSS, 0), +(@NPC+16, @BOSS, 0), +(@NPC+17, @BOSS, 0), +(@NPC+18, @BOSS, 0), +(@NPC+19, @BOSS, 0), +(@NPC+20, @BOSS, 0), +(@NPC+21, @BOSS, 0), +(@NPC+22, @BOSS, 0), +(@NPC+23, @BOSS, 0), +(@NPC+24, @BOSS, 0), +(@NPC+25, @BOSS, 0), +(@NPC+26, @BOSS, 0), +(@NPC+27, @BOSS, 0), +(@NPC+28, @BOSS, 0), +(@NPC+29, @BOSS, 0); +SET @NPC=144706; +DELETE FROM `linked_respawn` WHERE `linkedGuid`=@BOSS AND `guid` BETWEEN @NPC AND @NPC+24; +INSERT INTO `linked_respawn` (`guid`, `linkedGuid`, `linkType`) VALUES +(@NPC, @BOSS, 0), +(@NPC+1, @BOSS, 0), +(@NPC+2, @BOSS, 0), +(@NPC+3, @BOSS, 0), +(@NPC+4, @BOSS, 0), +(@NPC+5, @BOSS, 0), +(@NPC+6, @BOSS, 0), +(@NPC+7, @BOSS, 0), +(@NPC+8, @BOSS, 0), +(@NPC+9, @BOSS, 0), +(@NPC+10, @BOSS, 0), +(@NPC+11, @BOSS, 0), +(@NPC+12, @BOSS, 0), +(@NPC+13, @BOSS, 0), +(@NPC+14, @BOSS, 0), +(@NPC+15, @BOSS, 0), +(@NPC+16, @BOSS, 0), +(@NPC+17, @BOSS, 0), +(@NPC+18, @BOSS, 0), +(@NPC+19, @BOSS, 0), +(@NPC+20, @BOSS, 0), +(@NPC+21, @BOSS, 0), +(@NPC+22, @BOSS, 0), +(@NPC+23, @BOSS, 0), +(@NPC+24, @BOSS, 0); +SET @NPC=144681; +DELETE FROM `linked_respawn` WHERE `linkedGuid`=@BOSS AND `guid` BETWEEN @NPC AND @NPC+24; +INSERT INTO `linked_respawn` (`guid`, `linkedGuid`, `linkType`) VALUES +(@NPC, @BOSS, 0), +(@NPC+1, @BOSS, 0), +(@NPC+2, @BOSS, 0), +(@NPC+3, @BOSS, 0), +(@NPC+4, @BOSS, 0), +(@NPC+5, @BOSS, 0), +(@NPC+6, @BOSS, 0), +(@NPC+7, @BOSS, 0), +(@NPC+8, @BOSS, 0), +(@NPC+9, @BOSS, 0), +(@NPC+10, @BOSS, 0), +(@NPC+11, @BOSS, 0), +(@NPC+12, @BOSS, 0), +(@NPC+13, @BOSS, 0), +(@NPC+14, @BOSS, 0), +(@NPC+15, @BOSS, 0), +(@NPC+16, @BOSS, 0), +(@NPC+17, @BOSS, 0), +(@NPC+18, @BOSS, 0), +(@NPC+19, @BOSS, 0), +(@NPC+20, @BOSS, 0), +(@NPC+21, @BOSS, 0), +(@NPC+22, @BOSS, 0), +(@NPC+23, @BOSS, 0), +(@NPC+24, @BOSS, 0); + +-- Ossirian the Unscarred +SET @BOSS=144601; +SET @NPC=144633; +DELETE FROM `linked_respawn` WHERE `linkedGuid`=@BOSS AND `guid` BETWEEN @NPC AND @NPC+7; +INSERT INTO `linked_respawn` (`guid`, `linkedGuid`, `linkType`) VALUES +(@NPC, @BOSS, 0), +(@NPC+1, @BOSS, 0), +(@NPC+2, @BOSS, 0), +(@NPC+3, @BOSS, 0), +(@NPC+4, @BOSS, 0), +(@NPC+5, @BOSS, 0), +(@NPC+6, @BOSS, 0), +(@NPC+7, @BOSS, 0); + +-- Ayamiss the Hunter +SET @BOSS=144641; +SET @NPC=144540; +DELETE FROM `linked_respawn` WHERE `linkedGuid`=@BOSS AND `guid` BETWEEN @NPC AND @NPC+40; +INSERT INTO `linked_respawn` (`guid`, `linkedGuid`, `linkType`) VALUES +(@NPC, @BOSS, 0), +(@NPC+1, @BOSS, 0), +(@NPC+2, @BOSS, 0), +(@NPC+3, @BOSS, 0), +(@NPC+4, @BOSS, 0), +(@NPC+5, @BOSS, 0), +(@NPC+6, @BOSS, 0), +(@NPC+7, @BOSS, 0), +(@NPC+8, @BOSS, 0), +(@NPC+9, @BOSS, 0), +(@NPC+10, @BOSS, 0), +(@NPC+11, @BOSS, 0), +(@NPC+12, @BOSS, 0), +(@NPC+13, @BOSS, 0), +(@NPC+14, @BOSS, 0), +(@NPC+15, @BOSS, 0), +(@NPC+16, @BOSS, 0), +(@NPC+17, @BOSS, 0), +(@NPC+18, @BOSS, 0), +(@NPC+19, @BOSS, 0), +(@NPC+20, @BOSS, 0), +(@NPC+21, @BOSS, 0), +(@NPC+22, @BOSS, 0), +(@NPC+23, @BOSS, 0), +(@NPC+24, @BOSS, 0), +(@NPC+25, @BOSS, 0), +(@NPC+26, @BOSS, 0), +(@NPC+27, @BOSS, 0), +(@NPC+28, @BOSS, 0), +(@NPC+29, @BOSS, 0), +(@NPC+30, @BOSS, 0), +(@NPC+31, @BOSS, 0), +(@NPC+32, @BOSS, 0), +(@NPC+33, @BOSS, 0), +(@NPC+34, @BOSS, 0), +(@NPC+35, @BOSS, 0), +(@NPC+36, @BOSS, 0), +(@NPC+37, @BOSS, 0), +(@NPC+38, @BOSS, 0), +(@NPC+39, @BOSS, 0), +(@NPC+40, @BOSS, 0); +SET @NPC=144452; +DELETE FROM `linked_respawn` WHERE `linkedGuid`=@BOSS AND `guid` BETWEEN @NPC AND @NPC+11; +INSERT INTO `linked_respawn` (`guid`, `linkedGuid`, `linkType`) VALUES +(@NPC, @BOSS, 0), +(@NPC+1, @BOSS, 0), +(@NPC+2, @BOSS, 0), +(@NPC+3, @BOSS, 0), +(@NPC+4, @BOSS, 0), +(@NPC+5, @BOSS, 0), +(@NPC+6, @BOSS, 0), +(@NPC+7, @BOSS, 0), +(@NPC+8, @BOSS, 0), +(@NPC+9, @BOSS, 0), +(@NPC+10, @BOSS, 0), +(@NPC+11, @BOSS, 0); +SET @NPC=144586; +DELETE FROM `linked_respawn` WHERE `linkedGuid`=@BOSS AND `guid` BETWEEN @NPC AND @NPC+5; +INSERT INTO `linked_respawn` (`guid`, `linkedGuid`, `linkType`) VALUES +(@NPC, @BOSS, 0), +(@NPC+1, @BOSS, 0), +(@NPC+2, @BOSS, 0), +(@NPC+3, @BOSS, 0), +(@NPC+4, @BOSS, 0), +(@NPC+5, @BOSS, 0); +SET @NPC=144531; +DELETE FROM `linked_respawn` WHERE `linkedGuid`=@BOSS AND `guid` BETWEEN @NPC AND @NPC+8; +INSERT INTO `linked_respawn` (`guid`, `linkedGuid`, `linkType`) VALUES +(@NPC, @BOSS, 0), +(@NPC+1, @BOSS, 0), +(@NPC+2, @BOSS, 0), +(@NPC+3, @BOSS, 0), +(@NPC+4, @BOSS, 0), +(@NPC+5, @BOSS, 0), +(@NPC+6, @BOSS, 0), +(@NPC+7, @BOSS, 0), +(@NPC+8, @BOSS, 0); +SET @NPC=144510; +DELETE FROM `linked_respawn` WHERE `linkedGuid`=@BOSS AND `guid` BETWEEN @NPC AND @NPC+10; +INSERT INTO `linked_respawn` (`guid`, `linkedGuid`, `linkType`) VALUES +(@NPC, @BOSS, 0), +(@NPC+1, @BOSS, 0), +(@NPC+2, @BOSS, 0), +(@NPC+3, @BOSS, 0), +(@NPC+4, @BOSS, 0), +(@NPC+5, @BOSS, 0), +(@NPC+6, @BOSS, 0), +(@NPC+7, @BOSS, 0), +(@NPC+8, @BOSS, 0), +(@NPC+9, @BOSS, 0), +(@NPC+10, @BOSS, 0); + +-- Buru the Gorger +SET @BOSS=144642; +SET @NPC=144464; +DELETE FROM `linked_respawn` WHERE `linkedGuid`=@BOSS AND `guid` BETWEEN @NPC AND @NPC+8; +INSERT INTO `linked_respawn` (`guid`, `linkedGuid`, `linkType`) VALUES +(@NPC, @BOSS, 0), +(@NPC+1, @BOSS, 0), +(@NPC+2, @BOSS, 0), +(@NPC+3, @BOSS, 0), +(@NPC+4, @BOSS, 0), +(@NPC+5, @BOSS, 0), +(@NPC+6, @BOSS, 0), +(@NPC+7, @BOSS, 0), +(@NPC+8, @BOSS, 0); +SET @NPC=144473; +DELETE FROM `linked_respawn` WHERE `linkedGuid`=@BOSS AND `guid` BETWEEN @NPC AND @NPC+8; +INSERT INTO `linked_respawn` (`guid`, `linkedGuid`, `linkType`) VALUES +(@NPC, @BOSS, 0), +(@NPC+1, @BOSS, 0), +(@NPC+2, @BOSS, 0), +(@NPC+3, @BOSS, 0), +(@NPC+4, @BOSS, 0), +(@NPC+5, @BOSS, 0), +(@NPC+6, @BOSS, 0), +(@NPC+7, @BOSS, 0), +(@NPC+8, @BOSS, 0); + +-- Flesh Hunters do not respawn +UPDATE `creature` SET `spawntimesecs`=259200 WHERE `id1`=15335 AND `map`=509; From ffd409eb01fec0527c781432c79faa1b9267fa7f Mon Sep 17 00:00:00 2001 From: AzerothCoreBot Date: Tue, 6 Sep 2022 18:55:25 +0000 Subject: [PATCH 14/41] chore(DB): import pending files Referenced commit(s): 3953aeda28d015e04cd35c723298acb6e08929ed --- .../rev_1661900434005893500.sql => db_world/2022_09_06_08.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1661900434005893500.sql => db_world/2022_09_06_08.sql} (99%) diff --git a/data/sql/updates/pending_db_world/rev_1661900434005893500.sql b/data/sql/updates/db_world/2022_09_06_08.sql similarity index 99% rename from data/sql/updates/pending_db_world/rev_1661900434005893500.sql rename to data/sql/updates/db_world/2022_09_06_08.sql index b2e1466e2..a7631420a 100644 --- a/data/sql/updates/pending_db_world/rev_1661900434005893500.sql +++ b/data/sql/updates/db_world/2022_09_06_08.sql @@ -1,3 +1,4 @@ +-- DB update 2022_09_06_07 -> 2022_09_06_08 -- Kurinnaxx SET @BOSS=144632; SET @NPC=144521; From 9b6a3ee4f9cfa0c6d248e85ee57919761ad0954d Mon Sep 17 00:00:00 2001 From: AnchyDev <35346484+AnchyDev@users.noreply.github.com> Date: Wed, 7 Sep 2022 08:43:32 +1000 Subject: [PATCH 15/41] feat(Scripting/Hooks): Add OnBeforeOpenItem Hook (#12576) --- src/server/game/Handlers/SpellHandler.cpp | 21 +++++++++++-------- .../Scripting/ScriptDefines/PlayerScript.cpp | 15 +++++++++++++ src/server/game/Scripting/ScriptMgr.h | 4 ++++ 3 files changed, 31 insertions(+), 9 deletions(-) diff --git a/src/server/game/Handlers/SpellHandler.cpp b/src/server/game/Handlers/SpellHandler.cpp index 407201c1d..3a25d131e 100644 --- a/src/server/game/Handlers/SpellHandler.cpp +++ b/src/server/game/Handlers/SpellHandler.cpp @@ -233,16 +233,19 @@ void WorldSession::HandleOpenItemOpcode(WorldPacket& recvPacket) } } - if (item->HasFlag(ITEM_FIELD_FLAGS, ITEM_FIELD_FLAG_WRAPPED))// wrapped? + if (sScriptMgr->OnBeforeOpenItem(pUser, item)) { - CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHARACTER_GIFT_BY_ITEM); - stmt->SetData(0, item->GetGUID().GetCounter()); - _queryProcessor.AddCallback(CharacterDatabase.AsyncQuery(stmt) - .WithPreparedCallback(std::bind(&WorldSession::HandleOpenWrappedItemCallback, this, bagIndex, slot, item->GetGUID().GetCounter(), std::placeholders::_1))); - } - else - { - pUser->SendLoot(item->GetGUID(), LOOT_CORPSE); + if (item->HasFlag(ITEM_FIELD_FLAGS, ITEM_FIELD_FLAG_WRAPPED))// wrapped? + { + CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHARACTER_GIFT_BY_ITEM); + stmt->SetData(0, item->GetGUID().GetCounter()); + _queryProcessor.AddCallback(CharacterDatabase.AsyncQuery(stmt) + .WithPreparedCallback(std::bind(&WorldSession::HandleOpenWrappedItemCallback, this, bagIndex, slot, item->GetGUID().GetCounter(), std::placeholders::_1))); + } + else + { + pUser->SendLoot(item->GetGUID(), LOOT_CORPSE); + } } } diff --git a/src/server/game/Scripting/ScriptDefines/PlayerScript.cpp b/src/server/game/Scripting/ScriptDefines/PlayerScript.cpp index 3e43fa075..4712341ce 100644 --- a/src/server/game/Scripting/ScriptDefines/PlayerScript.cpp +++ b/src/server/game/Scripting/ScriptDefines/PlayerScript.cpp @@ -598,6 +598,21 @@ void ScriptMgr::OnGroupRollRewardItem(Player* player, Item* item, uint32 count, }); } +bool ScriptMgr::OnBeforeOpenItem(Player* player, Item* item) +{ + auto ret = IsValidBoolScript([&](PlayerScript* script) + { + return !script->OnBeforeOpenItem(player, item); + }); + + if (ret && *ret) + { + return false; + } + + return true; +} + void ScriptMgr::OnFirstLogin(Player* player) { ExecuteScript([&](PlayerScript* script) diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h index 006761d9e..515374c00 100644 --- a/src/server/game/Scripting/ScriptMgr.h +++ b/src/server/game/Scripting/ScriptMgr.h @@ -1176,6 +1176,9 @@ public: // After receiving item as a group roll reward virtual void OnGroupRollRewardItem(Player* /*player*/, Item* /*item*/, uint32 /*count*/, RollVote /*voteType*/, Roll* /*roll*/) { } + //Before opening an item + [[nodiscard]] virtual bool OnBeforeOpenItem(Player* /*player*/, Item* /*item*/) { return true; } + // After completed a quest [[nodiscard]] virtual bool OnBeforeQuestComplete(Player* /*player*/, uint32 /*quest_id*/) { return true; } @@ -2252,6 +2255,7 @@ public: /* PlayerScript */ void OnCreateItem(Player* player, Item* item, uint32 count); void OnQuestRewardItem(Player* player, Item* item, uint32 count); void OnGroupRollRewardItem(Player* player, Item* item, uint32 count, RollVote voteType, Roll* roll); + bool OnBeforeOpenItem(Player* player, Item* item); bool OnBeforePlayerQuestComplete(Player* player, uint32 quest_id); void OnQuestComputeXP(Player* player, Quest const* quest, uint32& xpValue); void OnBeforePlayerDurabilityRepair(Player* player, ObjectGuid npcGUID, ObjectGuid itemGUID, float& discountMod, uint8 guildBank); From dc33e8d930449aecb67873ce376ed896c79abe64 Mon Sep 17 00:00:00 2001 From: Gultask <100873791+Gultask@users.noreply.github.com> Date: Tue, 6 Sep 2022 20:49:21 -0300 Subject: [PATCH 16/41] fix(DB/creature): AQ40 Qiraji Scarab & Scorpion movement (#12937) --- .../rev_1661967812040932000.sql | 482 ++++++++++++++++++ 1 file changed, 482 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1661967812040932000.sql diff --git a/data/sql/updates/pending_db_world/rev_1661967812040932000.sql b/data/sql/updates/pending_db_world/rev_1661967812040932000.sql new file mode 100644 index 000000000..ab08d13fe --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1661967812040932000.sql @@ -0,0 +1,482 @@ +-- Set random movement to all of them +UPDATE `creature` SET `MovementType`=1, `wander_distance`=3 WHERE `id1` IN (15316,15317) AND `map`=531; + +-- Delete old spawns, add new spawns for patrolling critters +DELETE FROM `creature` WHERE `guid` IN (144235,144236,144237,144242,144244,144259,144332,144333,144348,144356,144291,144293,144310,144311,144312,144313,144399,144404,144405,144412,144679); +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`) VALUES +(144235, 15316, 0, 0, 531, 0, 0, 1, 1, 0,-8709.916,1662.6412,-84.64706, 0, 17400, 0, 0, 1, 0, 2, 0, 0, 0, ''), +(144236, 15316, 0, 0, 531, 0, 0, 1, 1, 0,-8879.1875,1362.2852,-98.36637, 0, 17400, 0, 0, 1, 0, 2, 0, 0, 0, ''), +(144237, 15316, 0, 0, 531, 0, 0, 1, 1, 0,-8901.615,1486.9878,-92.56509, 0, 17400, 0, 0, 1, 0, 2, 0, 0, 0, ''), +(144242, 15316, 0, 0, 531, 0, 0, 1, 1, 0,-8957.687,1441.4086,-92.35549, 0, 17400, 0, 0, 1, 0, 2, 0, 0, 0, ''), +(144244, 15316, 0, 0, 531, 0, 0, 1, 1, 0,-8797.018,1610.714,-90.64299, 0, 17400, 0, 0, 1, 0, 2, 0, 0, 0, ''), +(144259, 15316, 0, 0, 531, 0, 0, 1, 1, 0,-8891.035,1438.89,-89.74331, 0, 17400, 0, 0, 1, 0, 2, 0, 0, 0, ''), +(144332, 15317, 0, 0, 531, 0, 0, 1, 1, 0,-8822.126,1500.405,-93.86366, 0, 17400, 0, 0, 1, 0, 2, 0, 0, 0, ''), +(144333, 15317, 0, 0, 531, 0, 0, 1, 1, 0,-8760.808,1618.244,-84.36525, 0, 17400, 0, 0, 1, 0, 2, 0, 0, 0, ''), +(144348, 15317, 0, 0, 531, 0, 0, 1, 1, 0,-8754.792,1577.6238,-88.39652, 0, 17400, 0, 0, 1, 0, 2, 0, 0, 0, ''), +(144356, 15317, 0, 0, 531, 0, 0, 1, 1, 0,-8910.943,1403.7899,-97.94198, 0, 17400, 0, 0, 1, 0, 2, 0, 0, 0, ''), +(144291, 15316, 0, 0, 531, 0, 0, 1, 1, 0,-9161.17,1520.4386,-92.79693, 0, 17400, 0, 0, 1, 0, 2, 0, 0, 0, ''), +(144293, 15316, 0, 0, 531, 0, 0, 1, 1, 0,-9071.885,1481.3569,-105.22721, 0, 17400, 0, 0, 1, 0, 2, 0, 0, 0, ''), +(144310, 15316, 0, 0, 531, 0, 0, 1, 1, 0,-8931.336,1518.0297,-94.619255, 0, 17400, 0, 0, 1, 0, 2, 0, 0, 0, ''), +(144311, 15316, 0, 0, 531, 0, 0, 1, 1, 0,-9178.233,1555.376,-83.15645, 0, 17400, 0, 0, 1, 0, 2, 0, 0, 0, ''), +(144312, 15316, 0, 0, 531, 0, 0, 1, 1, 0,-9092.085,1471.9957,-103.95926, 0, 17400, 0, 0, 1, 0, 2, 0, 0, 0, ''), +(144313, 15316, 0, 0, 531, 0, 0, 1, 1, 0,-9085.651,1336.6029,-104.9923, 0, 17400, 0, 0, 1, 0, 2, 0, 0, 0, ''), +(144399, 15317, 0, 0, 531, 0, 0, 1, 1, 0,-9088.224,1416.7762,-107.078896, 0, 17400, 0, 0, 1, 0, 2, 0, 0, 0, ''), +(144404, 15317, 0, 0, 531, 0, 0, 1, 1, 0,-9096.186,1444.9286,-104.47447, 0, 17400, 0, 0, 1, 0, 2, 0, 0, 0, ''), +(144405, 15317, 0, 0, 531, 0, 0, 1, 1, 0,-9095.084,1390.2705,-105.85795, 0, 17400, 0, 0, 1, 0, 2, 0, 0, 0, ''), +(144412, 15317, 0, 0, 531, 0, 0, 1, 1, 0,-9073.12,1388.0787,-107.209076, 0, 17400, 0, 0, 1, 0, 2, 0, 0, 0, ''), +(144679, 15317, 0, 0, 531, 0, 0, 1, 1, 0,-9121.533,1375.1395,-106.184975, 0, 17400, 0, 0, 1, 0, 2, 0, 0, 0, ''); + +-- UPDATE MOVEMENTTYPE FOR NEW CREATURES +UPDATE `creature` SET `MovementType`=2, `wander_distance`=0 WHERE `guid` IN (144235,144236,144237,144242,144244,144259,144332,144333,144348,144356,144291,144293,144310,144311,144312,144313,144399,144404,144405,144412,144679); + +-- Add addons +DELETE FROM `creature_addon` WHERE `guid` IN (144235,144236,144237,144242,144244,144259,144332,144333,144348,144356,144291,144293,144310,144311,144312,144313,144399,144404,144405,144412,144679); +INSERT INTO `creature_addon` (`guid`, `path_id`) VALUES +(144235, 1442350), +(144236, 1442360), +(144237, 1442370), +(144242, 1442420), +(144244, 1442440), +(144259, 1442590), +(144332, 1443320), +(144333, 1443330), +(144348, 1443480), +(144356, 1443560), +(144291, 1442910), +(144293, 1442930), +(144310, 1443100), +(144311, 1443110), +(144312, 1443120), +(144313, 1443130), +(144399, 1443990), +(144404, 1444040), +(144405, 1444050), +(144412, 1444120), +(144679, 1446790); + +-- Add waypoints +DELETE FROM `waypoint_data` WHERE `id` IN (1442350,1442360,1442370,1442420,1442440,1442590,1443320,1443330,1443480,1443560,1442910,1442930,1443100,1443110,1443120,1443130,1443990,1444040,1444050,1444120,1446790); +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES +(1442350,1,-8709.916,1662.6412,-84.64706,0,0,0,0,100,0), +(1442350,2,-8704.922,1648.0223,-82.86381,0,0,0,0,100,0), +(1442350,3,-8720.256,1639.4169,-82.8503,0,0,0,0,100,0), +(1442350,4,-8737.091,1631.815,-81.6951,0,0,0,0,100,0), +(1442350,5,-8747.508,1627.3049,-82.07862,0,0,0,0,100,0), +(1442350,6,-8759.189,1617.1493,-83.763596,0,0,0,0,100,0), +(1442350,7,-8773.706,1603.3866,-87.08513,0,0,0,0,100,0), +(1442350,8,-8791.415,1623.7231,-87.6898,0,0,0,0,100,0), +(1442350,9,-8774.919,1635.5029,-84.493835,0,0,0,0,100,0), +(1442350,10,-8754.987,1649.186,-81.04529,0,0,0,0,100,0), +(1442350,11,-8738.826,1659.0065,-81.912865,0,0,0,0,100,0), +(1442350,12,-8724.29,1670.1774,-82.408104,0,0,0,0,100,0), + +(1442360,1,-8879.1875,1362.2852,-98.36637,0,0,0,0,100,0), +(1442360,2,-8877.842,1374.6134,-98.13042,0,0,0,0,100,0), +(1442360,3,-8871.135,1389.6156,-96.69604,0,0,0,0,100,0), +(1442360,4,-8869.234,1406.5952,-94.331825,0,0,0,0,100,0), +(1442360,5,-8873.806,1419.1112,-92.369026,0,0,0,0,100,0), +(1442360,6,-8875.747,1434.907,-90.549904,0,0,0,0,100,0), +(1442360,7,-8871.698,1448.6813,-90.62127,0,0,0,0,100,0), +(1442360,8,-8864.111,1447.3325,-91.40244,0,0,0,0,100,0), +(1442360,9,-8862.138,1439.3253,-90.95677,0,0,0,0,100,0), +(1442360,10,-8861.489,1422.8735,-91.96901,0,0,0,0,100,0), +(1442360,11,-8859.439,1407.6573,-93.50757,0,0,0,0,100,0), +(1442360,12,-8861.519,1392.4116,-96.10952,0,0,0,0,100,0), +(1442360,13,-8863.297,1373.6831,-97.59476,0,0,0,0,100,0), +(1442360,14,-8870.3545,1363.8999,-98.28948,0,0,0,0,100,0), +(1442360,15,-8875.194,1362.149,-97.96593,0,0,0,0,100,0), +(1442360,16,-8870.3545,1363.8999,-98.28948,0,0,0,0,100,0), +(1442360,17,-8863.297,1373.6831,-97.59476,0,0,0,0,100,0), +(1442360,18,-8861.519,1392.4116,-96.10952,0,0,0,0,100,0), +(1442360,19,-8859.439,1407.6573,-93.50757,0,0,0,0,100,0), +(1442360,20,-8861.489,1422.8735,-91.96901,0,0,0,0,100,0), +(1442360,21,-8862.138,1439.3253,-90.95677,0,0,0,0,100,0), +(1442360,22,-8864.111,1447.3325,-91.40244,0,0,0,0,100,0), +(1442360,23,-8871.698,1448.6813,-90.62127,0,0,0,0,100,0), +(1442360,24,-8875.747,1434.907,-90.549904,0,0,0,0,100,0), +(1442360,25,-8873.806,1419.1112,-92.369026,0,0,0,0,100,0), +(1442360,26,-8869.234,1406.5952,-94.331825,0,0,0,0,100,0), +(1442360,27,-8871.135,1389.6156,-96.69604,0,0,0,0,100,0), +(1442360,28,-8877.842,1374.6134,-98.13042,0,0,0,0,100,0), + +(1442370,1,-8901.615,1486.9878,-92.56509,0,0,0,0,100,0), +(1442370,2,-8894.615,1501.9271,-93.31495,0,0,0,0,100,0), +(1442370,3,-8893.057,1512.8271,-94.24682,0,0,0,0,100,0), +(1442370,4,-8902.624,1518.0614,-92.5049,0,0,0,0,100,0), +(1442370,5,-8906.995,1520.1177,-93.1783,0,0,0,0,100,0), +(1442370,6,-8916.412,1514.2351,-94.16516,0,0,0,0,100,0), +(1442370,7,-8922.951,1500.2008,-93.495995,0,0,0,0,100,0), +(1442370,8,-8929.048,1484.6302,-92.72202,0,0,0,0,100,0), +(1442370,9,-8934.22,1471.741,-92.128784,0,0,0,0,100,0), +(1442370,10,-8930.449,1464.1768,-91.627365,0,0,0,0,100,0), +(1442370,11,-8922.018,1459.343,-92.51893,0,0,0,0,100,0), +(1442370,12,-8914.986,1463.158,-92.310745,0,0,0,0,100,0), +(1442370,13,-8908.553,1475.0021,-91.95947,0,0,0,0,100,0), + +(1442420,1,-8957.687,1441.4086,-92.35549,0,0,0,0,100,0), +(1442420,2,-8957.109,1448.8145,-91.779015,0,0,0,0,100,0), +(1442420,3,-8954.798,1461.109,-91.92982,0,0,0,0,100,0), +(1442420,4,-8950.785,1475.7125,-92.5044,0,0,0,0,100,0), +(1442420,5,-8940.726,1499.1289,-93.43882,0,0,0,0,100,0), +(1442420,6,-8931.336,1518.0297,-94.619255,0,0,0,0,100,0), +(1442420,7,-8921.133,1532.732,-95.145676,0,0,0,0,100,0), +(1442420,8,-8913.712,1545.54,-95.47196,0,0,0,0,100,0), +(1442420,9,-8900.031,1566.4486,-95.75281,0,0,0,0,100,0), +(1442420,10,-8891.205,1567.1182,-94.31571,0,0,0,0,100,0), +(1442420,11,-8887.606,1557.8823,-95.07148,0,0,0,0,100,0), +(1442420,12,-8892.903,1544.9524,-95.09268,0,0,0,0,100,0), +(1442420,13,-8906.302,1535.4017,-95.15878,0,0,0,0,100,0), +(1442420,14,-8912.736,1526.1064,-94.81041,0,0,0,0,100,0), +(1442420,15,-8921.759,1508.2211,-93.969986,0,0,0,0,100,0), +(1442420,16,-8926.561,1493.8021,-93.25992,0,0,0,0,100,0), +(1442420,17,-8937.755,1465.6974,-92.20584,0,0,0,0,100,0), +(1442420,18,-8939.568,1453.1688,-91.83563,0,0,0,0,100,0), +(1442420,19,-8939.462,1439.5057,-92.06916,0,0,0,0,100,0), +(1442420,20,-8939.116,1429.8024,-93.09846,0,0,0,0,100,0), +(1442420,21,-8942.206,1420.408,-95.6026,0,0,0,0,100,0), +(1442420,22,-8949.488,1418.712,-95.651375,0,0,0,0,100,0), +(1442420,23,-8956.407,1423.2029,-93.34446,0,0,0,0,100,0), +(1442420,24,-8959.321,1430.307,-92.080696,0,0,0,0,100,0), + +(1442440,1,-8797.018,1610.714,-90.64299,0,0,1,0,100,0), +(1442440,2,-8799.708,1576.0378,-92.291405,0,0,1,0,100,0), +(1442440,3,-8832.841,1576.931,-94.97763,0,0,1,0,100,0), +(1442440,4,-8836.67,1548.1146,-95.38926,0,0,1,0,100,0), +(1442440,5,-8878.974,1531.4718,-95.186424,0,0,1,0,100,0), +(1442440,6,-8876.113,1496.8469,-92.22732,0,0,1,0,100,0), +(1442440,7,-8902.331,1492.512,-92.26631,0,0,1,0,100,0), +(1442440,8,-8893.682,1467.2194,-91.18648,0,0,1,0,100,0), +(1442440,9,-8912.335,1447.5905,-92.25001,0,0,1,0,100,0), +(1442440,10,-8889.106,1431.9249,-90.12599,0,0,1,0,100,0), +(1442440,11,-8914.496,1419.4996,-94.89586,0,0,1,0,100,0), +(1442440,12,-8893.065,1397.7928,-96.55446,0,0,1,0,100,0), +(1442440,13,-8913.483,1393.8298,-99.049255,0,0,1,0,100,0), +(1442440,14,-8911.748,1365.6313,-103.29147,0,0,1,0,100,0), +(1442440,15,-8930.997,1371.5281,-104.26125,0,0,1,0,100,0), +(1442440,16,-8911.748,1365.6313,-103.29147,0,0,1,0,100,0), +(1442440,17,-8913.504,1393.8258,-99.04673,0,0,1,0,100,0), +(1442440,18,-8893.065,1397.7928,-96.55446,0,0,1,0,100,0), +(1442440,19,-8914.496,1419.4996,-94.89586,0,0,1,0,100,0), +(1442440,20,-8889.106,1431.9249,-90.12599,0,0,1,0,100,0), +(1442440,21,-8912.335,1447.5905,-92.25001,0,0,1,0,100,0), +(1442440,22,-8893.657,1467.1482,-91.116905,0,0,1,0,100,0), +(1442440,23,-8902.331,1492.512,-92.26631,0,0,1,0,100,0), +(1442440,24,-8876.113,1496.8469,-92.22732,0,0,1,0,100,0), +(1442440,25,-8878.974,1531.4718,-95.186424,0,0,1,0,100,0), +(1442440,26,-8836.67,1548.1146,-95.38926,0,0,1,0,100,0), +(1442440,27,-8832.841,1576.931,-94.97763,0,0,1,0,100,0), +(1442440,28,-8799.708,1576.0378,-92.291405,0,0,1,0,100,0), + +(1442590,1,-8891.035,1438.89,-89.74331,0,0,0,0,100,0), +(1442590,2,-8879.028,1437.6437,-90.06562,0,0,0,0,100,0), +(1442590,3,-8865.397,1433.4955,-91.751205,0,0,0,0,100,0), +(1442590,4,-8861.905,1425.7185,-91.67395,0,0,0,0,100,0), +(1442590,5,-8867.022,1417.7177,-93.1436,0,0,0,0,100,0), +(1442590,6,-8885.744,1425.2048,-90.67367,0,0,0,0,100,0), +(1442590,7,-8898.218,1431.0944,-92.211716,0,0,0,0,100,0), +(1442590,8,-8901.993,1435.3002,-92.81072,0,0,0,0,100,0), +(1442590,9,-8919.422,1437.7391,-93.23863,0,0,0,0,100,0), +(1442590,10,-8924.775,1435.864,-93.11082,0,0,0,0,100,0), +(1442590,11,-8941.288,1442.17,-92.097916,0,0,0,0,100,0), +(1442590,12,-8948.592,1445.0094,-92.205505,0,0,0,0,100,0), +(1442590,13,-8954.505,1450.9745,-92.264305,0,0,0,0,100,0), +(1442590,14,-8952.63,1455.1658,-92.66071,0,0,0,0,100,0), +(1442590,15,-8936.276,1460.8806,-91.96269,0,0,0,0,100,0), +(1442590,16,-8928.016,1459.0157,-91.83072,0,0,0,0,100,0), +(1442590,17,-8912.489,1457.1178,-92.21006,0,0,0,0,100,0), +(1442590,18,-8900.334,1452.6049,-91.78114,0,0,0,0,100,0), +(1442590,19,-8895.714,1439.8229,-90.47308,0,0,0,0,100,0), + +(1443320,1,-8822.126,1500.405,-93.86366,0,0,0,0,100,0), +(1443320,2,-8828.658,1494.334,-93.68562,0,0,0,0,100,0), +(1443320,3,-8838.2295,1503.8063,-94.373146,0,0,0,0,100,0), +(1443320,4,-8841.758,1514.9296,-94.69837,0,0,0,0,100,0), +(1443320,5,-8850.98,1521.575,-95.04134,0,0,0,0,100,0), +(1443320,6,-8860.441,1524.6168,-94.80845,0,0,0,0,100,0), +(1443320,7,-8873.537,1522.2963,-95.11584,0,0,0,0,100,0), +(1443320,8,-8884.092,1523.0099,-94.82321,0,0,0,0,100,0), +(1443320,9,-8899.644,1525.0096,-93.69322,0,0,0,0,100,0), +(1443320,10,-8913.182,1532.5382,-95.240395,0,0,0,0,100,0), +(1443320,11,-8909.919,1542.7625,-95.77908,0,0,0,0,100,0), +(1443320,12,-8905.436,1549.5841,-96.07218,0,0,0,0,100,0), +(1443320,13,-8899.203,1555.4316,-96.22511,0,0,0,0,100,0), +(1443320,14,-8884.99,1548.4818,-94.76164,0,0,0,0,100,0), +(1443320,15,-8875.507,1542.3378,-95.588036,0,0,0,0,100,0), +(1443320,16,-8858.749,1538.0184,-95.86659,0,0,0,0,100,0), +(1443320,17,-8844.169,1536.9783,-95.33141,0,0,0,0,100,0), +(1443320,18,-8825.314,1532.5233,-95.50407,0,0,0,0,100,0), +(1443320,19,-8816.446,1525.8988,-95.47302,0,0,0,0,100,0), +(1443320,20,-8818.018,1510.5206,-94.65973,0,0,0,0,100,0), + +(1443330,1,-8760.808,1618.244,-84.36525,0,0,0,0,100,0), +(1443330,2,-8772.906,1610.891,-87.32371,0,0,0,0,100,0), +(1443330,3,-8787.417,1623.8663,-87.48943,0,0,0,0,100,0), +(1443330,4,-8782.579,1631.1953,-85.72162,0,0,0,0,100,0), +(1443330,5,-8766.031,1641.5411,-82.6734,0,0,0,0,100,0), +(1443330,6,-8750.186,1653.0125,-81.00926,0,0,0,0,100,0), +(1443330,7,-8726.348,1669.038,-82.59135,0,0,0,0,100,0), +(1443330,8,-8708.614,1668.9208,-83.7078,0,0,0,0,100,0), +(1443330,9,-8705.537,1648.5631,-83.06354,0,0,0,0,100,0), +(1443330,10,-8727.311,1636.0825,-82.477104,0,0,0,0,100,0), +(1443330,11,-8743.633,1626.1401,-81.32434,0,0,0,0,100,0), + +(1443480,1,-8754.792,1577.6238,-88.39652,0,0,0,0,100,0), +(1443480,2,-8759.031,1561.37,-90.63265,0,0,0,0,100,0), +(1443480,3,-8773.014,1544.3585,-93.6597,0,0,0,0,100,0), +(1443480,4,-8787.051,1529.0981,-95.33403,0,0,0,0,100,0), +(1443480,5,-8800.996,1518.8502,-94.883484,0,0,0,0,100,0), +(1443480,6,-8826.272,1501.1176,-94.76043,0,0,0,0,100,0), +(1443480,7,-8838.889,1507.8043,-94.42932,0,0,0,0,100,0), +(1443480,8,-8848.135,1515.5707,-94.45049,0,0,0,0,100,0), +(1443480,9,-8849.216,1524.4657,-95.217255,0,0,0,0,100,0), +(1443480,10,-8824.049,1543.6608,-95.95855,0,0,0,0,100,0), +(1443480,11,-8815.965,1554.2954,-94.66055,0,0,0,0,100,0), +(1443480,12,-8788.221,1568.3591,-91.13077,0,0,0,0,100,0), +(1443480,13,-8770.573,1577.815,-89.21338,0,0,0,0,100,0), + +(1443560,1,-8910.943,1403.7899,-97.94198,0,0,0,0,100,0), +(1443560,2,-8912.83,1419.4586,-95.32133,0,0,0,0,100,0), +(1443560,3,-8919.317,1425.7145,-93.40584,0,0,0,0,100,0), +(1443560,4,-8940.032,1451.2579,-91.80255,0,0,0,0,100,0), +(1443560,5,-8919.317,1425.7145,-93.40584,0,0,0,0,100,0), +(1443560,6,-8912.83,1419.4586,-95.32133,0,0,0,0,100,0), +(1443560,7,-8910.943,1403.7899,-97.94198,0,0,0,0,100,0), +(1443560,8,-8917.794,1379.9219,-101.44869,0,0,0,0,100,0), +(1443560,9,-8926.473,1370.907,-104.26201,0,0,0,0,100,0), +(1443560,10,-8934.904,1361.403,-104.25662,0,0,0,0,100,0), +(1443560,11,-8914.032,1338.9567,-104.25077,0,0,0,0,100,0), +(1443560,12,-8934.904,1361.403,-104.25662,0,0,0,0,100,0), +(1443560,13,-8926.473,1370.907,-104.26201,0,0,0,0,100,0), +(1443560,14,-8917.794,1379.9219,-101.44869,0,0,0,0,100,0), + +(1442910,1,-9161.17,1520.4386,-92.79693,0,0,0,0,100,0), +(1442910,2,-9130.765,1500.3616,-98.75215,0,0,0,0,100,0), +(1442910,3,-9135.577,1458.2761,-102.54528,0,0,0,0,100,0), +(1442910,4,-9130.765,1500.3616,-98.75215,0,0,0,0,100,0), +(1442910,5,-9161.17,1520.4386,-92.79693,0,0,0,0,100,0), +(1442910,6,-9158.677,1561.7367,-85.121376,0,0,0,0,100,0), +(1442910,7,-9190.653,1594.7052,-74.04944,0,0,0,0,100,0), +(1442910,8,-9173.741,1634.4298,-68.58729,0,0,0,0,100,0), +(1442910,9,-9158.677,1561.7367,-85.121376,0,0,0,0,100,0), + +(1442930,1,-9071.885,1481.3569,-105.22721,0,0,0,0,100,0), +(1442930,2,-9060.615,1466.8123,-105.259155,0,0,0,0,100,0), +(1442930,3,-9079.044,1448.7009,-104.6841,0,0,0,0,100,0), +(1442930,4,-9071.177,1434.1946,-106.11778,0,0,0,0,100,0), +(1442930,5,-9041.022,1427.2418,-105.7893,0,0,0,0,100,0), +(1442930,6,-9071.111,1434.0739,-106.12702,0,0,0,0,100,0), +(1442930,7,-9079.044,1448.7009,-104.6841,0,0,0,0,100,0), +(1442930,8,-9060.615,1466.8123,-105.259155,0,0,0,0,100,0), + +(1443100,1,-8931.336,1518.0297,-94.619255,0,0,0,0,100,0), +(1443100,2,-8921.133,1532.732,-95.145676,0,0,0,0,100,0), +(1443100,3,-8913.712,1545.54,-95.47196,0,0,0,0,100,0), +(1443100,4,-8900.031,1566.4486,-95.75281,0,0,0,0,100,0), +(1443100,5,-8891.205,1567.1182,-94.31571,0,0,0,0,100,0), +(1443100,6,-8887.606,1557.8823,-95.07148,0,0,0,0,100,0), +(1443100,7,-8892.903,1544.9524,-95.09268,0,0,0,0,100,0), +(1443100,8,-8906.302,1535.4017,-95.15878,0,0,0,0,100,0), +(1443100,9,-8912.736,1526.1064,-94.81041,0,0,0,0,100,0), +(1443100,10,-8921.759,1508.2211,-93.969986,0,0,0,0,100,0), +(1443100,11,-8926.561,1493.8021,-93.25992,0,0,0,0,100,0), +(1443100,12,-8937.755,1465.6974,-92.20584,0,0,0,0,100,0), +(1443100,13,-8939.568,1453.1688,-91.83563,0,0,0,0,100,0), +(1443100,14,-8939.462,1439.5057,-92.06916,0,0,0,0,100,0), +(1443100,15,-8939.116,1429.8024,-93.09846,0,0,0,0,100,0), +(1443100,16,-8942.206,1420.408,-95.6026,0,0,0,0,100,0), +(1443100,17,-8949.488,1418.712,-95.651375,0,0,0,0,100,0), +(1443100,18,-8956.407,1423.2029,-93.34446,0,0,0,0,100,0), +(1443100,19,-8959.321,1430.307,-92.080696,0,0,0,0,100,0), +(1443100,20,-8957.687,1441.4086,-92.35549,0,0,0,0,100,0), +(1443100,21,-8957.109,1448.8145,-91.779015,0,0,0,0,100,0), +(1443100,22,-8954.798,1461.109,-91.92982,0,0,0,0,100,0), +(1443100,23,-8950.785,1475.7125,-92.5044,0,0,0,0,100,0), +(1443100,24,-8940.726,1499.1289,-93.43882,0,0,0,0,100,0), + +(1443110,1,-9178.233,1555.376,-83.15645,0,0,0,0,100,0), +(1443110,2,-9167.777,1584.2893,-79.79106,0,0,0,0,100,0), +(1443110,3,-9189.589,1586.6539,-75.309814,0,0,0,0,100,0), +(1443110,4,-9174.193,1619.9218,-71.54867,0,0,0,0,100,0), +(1443110,5,-9193.841,1633.76,-67.11974,0,0,0,0,100,0), +(1443110,6,-9167.777,1584.2893,-79.79106,0,0,0,0,100,0), +(1443110,7,-9178.233,1555.376,-83.15645,0,0,0,0,100,0), +(1443110,8,-9151.221,1542.8898,-88.77483,0,0,0,0,100,0), +(1443110,9,-9160.63,1516.2305,-94.12372,0,0,0,0,100,0), +(1443110,10,-9133.765,1502.3481,-98.33693,0,0,0,0,100,0), +(1443110,11,-9143.146,1472.9918,-101.21955,0,0,0,0,100,0), +(1443110,12,-9108.831,1465.2284,-102.95489,0,0,0,0,100,0), +(1443110,13,-9114.237,1442.453,-105.926094,0,0,0,0,100,0), +(1443110,14,-9092.371,1419.9313,-107.13244,0,0,0,0,100,0), +(1443110,15,-9108.026,1392.3177,-105.1018,0,0,0,0,100,0), +(1443110,16,-9131.012,1395.0933,-106.94944,0,0,0,0,100,0), +(1443110,17,-9131.191,1415.7412,-105.08317,0,0,0,0,100,0), +(1443110,18,-9131.012,1395.0933,-106.94944,0,0,0,0,100,0), +(1443110,19,-9108.026,1392.3177,-105.1018,0,0,0,0,100,0), +(1443110,20,-9092.371,1419.9313,-107.13244,0,0,0,0,100,0), +(1443110,21,-9114.237,1442.453,-105.926094,0,0,0,0,100,0), +(1443110,22,-9108.831,1465.2284,-102.95489,0,0,0,0,100,0), +(1443110,23,-9143.146,1472.9918,-101.21955,0,0,0,0,100,0), +(1443110,24,-9133.765,1502.3481,-98.33693,0,0,0,0,100,0), +(1443110,25,-9160.63,1516.2305,-94.12372,0,0,0,0,100,0), +(1443110,26,-9151.186,1542.8734,-88.78504,0,0,0,0,100,0), + +(1443120,1,-9092.085,1471.9957,-103.95926,0,0,1,0,100,0), +(1443120,2,-9102.179,1479.8092,-102.8728,0,0,1,0,100,0), +(1443120,3,-9110.067,1480.0641,-101.70714,0,0,1,0,100,0), +(1443120,4,-9092.085,1471.9957,-103.95926,0,0,1,0,100,0), +(1443120,5,-9082.689,1455.4238,-104.146194,0,0,1,0,100,0), +(1443120,6,-9075.948,1438.5471,-104.75654,0,0,1,0,100,0), +(1443120,7,-9081.033,1431.1344,-104.84649,0,0,1,0,100,0), +(1443120,8,-9096.013,1444.2252,-104.60646,0,0,1,0,100,0), +(1443120,9,-9102.711,1455.3546,-103.723785,0,0,1,0,100,0), +(1443120,10,-9108.812,1463.8667,-103.24451,0,0,1,0,100,0), +(1443120,11,-9112.757,1474.4939,-102.87201,0,0,1,0,100,0), +(1443120,12,-9102.711,1455.3546,-103.723785,0,0,1,0,100,0), +(1443120,13,-9096.013,1444.2252,-104.60646,0,0,1,0,100,0), +(1443120,14,-9088.046,1434.5918,-105.35985,0,0,1,0,100,0), +(1443120,15,-9081.033,1431.1344,-104.84649,0,0,1,0,100,0), +(1443120,16,-9075.948,1438.5471,-104.75654,0,0,1,0,100,0), +(1443120,17,-9082.689,1455.4238,-104.146194,0,0,1,0,100,0), +(1443120,18,-9092.085,1471.9957,-103.95926,0,0,1,0,100,0), +(1443120,19,-9102.179,1479.8092,-102.8728,0,0,1,0,100,0), +(1443120,20,-9110.067,1480.0641,-101.70714,0,0,1,0,100,0), + +(1443130,1,-9085.651,1336.6029,-104.9923,0,0,1,0,100,0), +(1443130,2,-9119.982,1368.3717,-105.290474,0,0,1,0,100,0), +(1443130,3,-9116.589,1396.586,-105.531105,0,0,1,0,100,0), +(1443130,4,-9141.109,1401.1655,-106.611755,0,0,1,0,100,0), +(1443130,5,-9129.991,1420.1001,-103.56941,0,0,1,0,100,0), +(1443130,6,-9135.993,1428.6875,-103.10408,0,0,1,0,100,0), +(1443130,7,-9159.872,1426.0575,-103.80925,0,0,1,0,100,0), +(1443130,8,-9150.262,1450.0487,-101.24118,0,0,1,0,100,0), +(1443130,9,-9177.595,1447.4342,-101.04538,0,0,1,0,100,0), +(1443130,10,-9187.247,1463.9581,-99.04017,0,0,1,0,100,0), +(1443130,11,-9167.497,1489.6934,-96.0687,0,0,1,0,100,0), +(1443130,12,-9202.894,1490.942,-94.153076,0,0,1,0,100,0), +(1443130,13,-9184.8125,1524.3752,-87.429214,0,0,1,0,100,0), +(1443130,14,-9202.894,1490.942,-94.153076,0,0,1,0,100,0), +(1443130,15,-9167.497,1489.6934,-96.0687,0,0,1,0,100,0), +(1443130,16,-9187.247,1463.9581,-99.04017,0,0,1,0,100,0), +(1443130,17,-9177.595,1447.4342,-101.04538,0,0,1,0,100,0), +(1443130,18,-9150.239,1450.1044,-101.21063,0,0,1,0,100,0), +(1443130,19,-9159.872,1426.0575,-103.80925,0,0,1,0,100,0), +(1443130,20,-9135.993,1428.6875,-103.10408,0,0,1,0,100,0), +(1443130,21,-9129.969,1420.1389,-103.554955,0,0,1,0,100,0), +(1443130,22,-9141.109,1401.1655,-106.611755,0,0,1,0,100,0), +(1443130,23,-9116.589,1396.586,-105.531105,0,0,1,0,100,0), +(1443130,24,-9119.982,1368.3717,-105.290474,0,0,1,0,100,0), + +(1443990,1,-9088.224,1416.7762,-107.078896,0,0,0,0,100,0), +(1443990,2,-9064.474,1433.8949,-107.40771,0,0,0,0,100,0), +(1443990,3,-9045.458,1413.9893,-105.14605,0,0,0,0,100,0), +(1443990,4,-9060.456,1439.5322,-107.87486,0,0,0,0,100,0), +(1443990,5,-9075.492,1447.3765,-106.04157,0,0,0,0,100,0), +(1443990,6,-9068.736,1473.6458,-105.594604,0,0,0,0,100,0), +(1443990,7,-9090.594,1477.8917,-105.19114,0,0,0,0,100,0), +(1443990,8,-9087.122,1499.0575,-102.4129,0,0,0,0,100,0), +(1443990,9,-9134.32,1492.2637,-100.58225,0,0,0,0,100,0), +(1443990,10,-9131.947,1457.0625,-103.54422,0,0,0,0,100,0), +(1443990,11,-9142.201,1498.5511,-99.481766,0,0,0,0,100,0), +(1443990,12,-9155.63,1544.8326,-88.94196,0,0,0,0,100,0), +(1443990,13,-9186.541,1579.5227,-77.94017,0,0,0,0,100,0), +(1443990,14,-9155.63,1544.8326,-88.94196,0,0,0,0,100,0), +(1443990,15,-9142.201,1498.5511,-99.481766,0,0,0,0,100,0), +(1443990,16,-9131.947,1457.0625,-103.54422,0,0,0,0,100,0), +(1443990,17,-9134.32,1492.2637,-100.58225,0,0,0,0,100,0), +(1443990,18,-9087.122,1499.0575,-102.4129,0,0,0,0,100,0), +(1443990,19,-9090.594,1477.8917,-105.19114,0,0,0,0,100,0), +(1443990,20,-9068.736,1473.6458,-105.594604,0,0,0,0,100,0), +(1443990,21,-9075.492,1447.3765,-106.04157,0,0,0,0,100,0), +(1443990,22,-9060.456,1439.5322,-107.87486,0,0,0,0,100,0), +(1443990,23,-9045.458,1413.9893,-105.14605,0,0,0,0,100,0), +(1443990,24,-9064.474,1433.8949,-107.40771,0,0,0,0,100,0), +(1443990,25,-9088.224,1416.7762,-107.078896,0,0,0,0,100,0), +(1443990,26,-9109.554,1398.6786,-104.97673,0,0,0,0,100,0), +(1443990,27,-9125.061,1382.0105,-106.36454,0,0,0,0,100,0), +(1443990,28,-9091.705,1348.9445,-105.59918,0,0,0,0,100,0), +(1443990,29,-9113.404,1388.1455,-105.58472,0,0,0,0,100,0), +(1443990,30,-9098.755,1402.1635,-106.73558,0,0,0,0,100,0), +(1443990,31,-9074.518,1396.3596,-106.83152,0,0,0,0,100,0), +(1443990,32,-9070.744,1367.5884,-105.04272,0,0,0,0,100,0), +(1443990,33,-9038.456,1356.9011,-103.17066,0,0,0,0,100,0), +(1443990,34,-9030.489,1332.9258,-104.20322,0,0,0,0,100,0), +(1443990,35,-9029.674,1316.1685,-104.25114,0,0,0,0,100,0), +(1443990,36,-9030.489,1332.9258,-104.20322,0,0,0,0,100,0), +(1443990,37,-9038.456,1356.9011,-103.17066,0,0,0,0,100,0), +(1443990,38,-9070.744,1367.5884,-105.04272,0,0,0,0,100,0), +(1443990,39,-9074.518,1396.3596,-106.83152,0,0,0,0,100,0), +(1443990,40,-9098.755,1402.1635,-106.73558,0,0,0,0,100,0), +(1443990,41,-9113.404,1388.1455,-105.58472,0,0,0,0,100,0), +(1443990,42,-9091.705,1348.9445,-105.59918,0,0,0,0,100,0), +(1443990,43,-9125.061,1382.0105,-106.36454,0,0,0,0,100,0), +(1443990,44,-9109.554,1398.6786,-104.97673,0,0,0,0,100,0), + +(1444040,1,-9096.186,1444.9286,-104.47447,0,0,0,0,100,0), +(1444040,2,-9104.419,1415.1979,-106.00152,0,0,0,0,100,0), +(1444040,3,-9096.186,1444.9286,-104.47447,0,0,0,0,100,0), +(1444040,4,-9119.389,1449.448,-105.36713,0,0,0,0,100,0), +(1444040,5,-9116.547,1472.7252,-103.54946,0,0,0,0,100,0), +(1444040,6,-9132.342,1456.4852,-103.345665,0,0,0,0,100,0), +(1444040,7,-9116.547,1472.7252,-103.54946,0,0,0,0,100,0), +(1444040,8,-9119.389,1449.448,-105.36713,0,0,0,0,100,0), + +(1444050,1,-9095.084,1390.2705,-105.85795,0,0,0,0,100,0), +(1444050,2,-9126.132,1378.705,-105.72979,0,0,0,0,100,0), +(1444050,3,-9122.575,1402.7551,-105.24444,0,0,0,0,100,0), +(1444050,4,-9145.673,1408.1447,-105.48799,0,0,0,0,100,0), +(1444050,5,-9137.399,1432.448,-102.555534,0,0,0,0,100,0), +(1444050,6,-9163.476,1429.0597,-103.73565,0,0,0,0,100,0), +(1444050,7,-9153.607,1454.8204,-100.4185,0,0,0,0,100,0), +(1444050,8,-9176.5,1455.4498,-101.46861,0,0,0,0,100,0), +(1444050,9,-9147.856,1481.0919,-100.3486,0,0,0,0,100,0), +(1444050,10,-9187.243,1476.0885,-98.5702,0,0,0,0,100,0), +(1444050,11,-9177.395,1509.4562,-91.8547,0,0,0,0,100,0), +(1444050,12,-9187.243,1476.0885,-98.5702,0,0,0,0,100,0), +(1444050,13,-9147.856,1481.0919,-100.3486,0,0,0,0,100,0), +(1444050,14,-9176.5,1455.4498,-101.46861,0,0,0,0,100,0), +(1444050,15,-9153.607,1454.8204,-100.4185,0,0,0,0,100,0), +(1444050,16,-9163.476,1429.0597,-103.73565,0,0,0,0,100,0), +(1444050,17,-9137.399,1432.448,-102.555534,0,0,0,0,100,0), +(1444050,18,-9145.673,1408.1447,-105.48799,0,0,0,0,100,0), +(1444050,19,-9122.575,1402.7551,-105.24444,0,0,0,0,100,0), +(1444050,20,-9126.132,1378.705,-105.72979,0,0,0,0,100,0), + +(1444120,1,-9073.12,1388.0787,-107.209076,0,0,0,0,100,0), +(1444120,2,-9086.354,1422.7172,-106.65163,0,0,0,0,100,0), +(1444120,3,-9113.222,1429.3259,-105.54492,0,0,0,0,100,0), +(1444120,4,-9111.067,1456.3689,-104.99337,0,0,0,0,100,0), +(1444120,5,-9138.88,1468.191,-102.23187,0,0,0,0,100,0), +(1444120,6,-9140.315,1512.219,-96.46165,0,0,0,0,100,0), +(1444120,7,-9160.634,1513.8718,-94.40244,0,0,0,0,100,0), +(1444120,8,-9150.69,1538.1831,-89.95865,0,0,0,0,100,0), +(1444120,9,-9172.558,1540.6093,-87.60278,0,0,0,0,100,0), +(1444120,10,-9174.308,1574.9885,-81.43824,0,0,0,0,100,0), +(1444120,11,-9161.178,1583.6495,-79.079315,0,0,0,0,100,0), +(1444120,12,-9174.308,1574.9885,-81.43824,0,0,0,0,100,0), +(1444120,13,-9172.558,1540.6093,-87.60278,0,0,0,0,100,0), +(1444120,14,-9150.69,1538.1831,-89.95865,0,0,0,0,100,0), +(1444120,15,-9160.634,1513.8718,-94.40244,0,0,0,0,100,0), +(1444120,16,-9140.317,1512.2665,-96.451584,0,0,0,0,100,0), +(1444120,17,-9138.88,1468.191,-102.23187,0,0,0,0,100,0), +(1444120,18,-9111.067,1456.3689,-104.99337,0,0,0,0,100,0), +(1444120,19,-9113.222,1429.3259,-105.54492,0,0,0,0,100,0), +(1444120,20,-9086.354,1422.7172,-106.65163,0,0,0,0,100,0), + +(1446790,1,-9121.533,1375.1395,-106.184975,0,0,1,0,100,0), +(1446790,2,-9101.4,1370.6641,-104.91555,0,0,1,0,100,0), +(1446790,3,-9097.856,1345.2212,-105.78354,0,0,1,0,100,0), +(1446790,4,-9076.13,1343.7213,-103.98316,0,0,1,0,100,0), +(1446790,5,-9097.856,1345.2212,-105.78354,0,0,1,0,100,0), +(1446790,6,-9101.385,1370.6605,-104.910065,0,0,1,0,100,0), +(1446790,7,-9121.533,1375.1395,-106.184975,0,0,1,0,100,0), +(1446790,8,-9092.77,1414.0785,-107.31365,0,0,1,0,100,0), +(1446790,9,-9109.889,1427.7504,-106.22019,0,0,1,0,100,0), +(1446790,10,-9101.874,1447.5159,-105.35749,0,0,1,0,100,0), +(1446790,11,-9135.379,1472.7727,-102.675354,0,0,1,0,100,0), +(1446790,12,-9128.466,1497.2003,-99.4334,0,0,1,0,100,0), +(1446790,13,-9162.139,1515.9567,-93.688705,0,0,1,0,100,0), +(1446790,14,-9128.466,1497.2003,-99.4334,0,0,1,0,100,0), +(1446790,15,-9135.379,1472.7727,-102.675354,0,0,1,0,100,0), +(1446790,16,-9101.874,1447.5159,-105.35749,0,0,1,0,100,0), +(1446790,17,-9109.8545,1427.8356,-106.239525,0,0,1,0,100,0), +(1446790,18,-9092.672,1414.2106,-107.29711,0,0,1,0,100,0); From 0636658078d8c67846da347d5007b92671802f35 Mon Sep 17 00:00:00 2001 From: AzerothCoreBot Date: Tue, 6 Sep 2022 23:51:30 +0000 Subject: [PATCH 17/41] chore(DB): import pending files Referenced commit(s): dc33e8d930449aecb67873ce376ed896c79abe64 --- .../rev_1661967812040932000.sql => db_world/2022_09_06_09.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1661967812040932000.sql => db_world/2022_09_06_09.sql} (99%) diff --git a/data/sql/updates/pending_db_world/rev_1661967812040932000.sql b/data/sql/updates/db_world/2022_09_06_09.sql similarity index 99% rename from data/sql/updates/pending_db_world/rev_1661967812040932000.sql rename to data/sql/updates/db_world/2022_09_06_09.sql index ab08d13fe..1ae4bedd8 100644 --- a/data/sql/updates/pending_db_world/rev_1661967812040932000.sql +++ b/data/sql/updates/db_world/2022_09_06_09.sql @@ -1,3 +1,4 @@ +-- DB update 2022_09_06_08 -> 2022_09_06_09 -- Set random movement to all of them UPDATE `creature` SET `MovementType`=1, `wander_distance`=3 WHERE `id1` IN (15316,15317) AND `map`=531; From b601471df4b6b51377cd474fee850a7c23ac2648 Mon Sep 17 00:00:00 2001 From: Gultask <100873791+Gultask@users.noreply.github.com> Date: Tue, 6 Sep 2022 20:52:03 -0300 Subject: [PATCH 18/41] fix(DB/creature): Araga (14222) add spawn points and pooling (#12888) --- .../rev_1661557402555305100.sql | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1661557402555305100.sql diff --git a/data/sql/updates/pending_db_world/rev_1661557402555305100.sql b/data/sql/updates/pending_db_world/rev_1661557402555305100.sql new file mode 100644 index 000000000..21f1909b5 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1661557402555305100.sql @@ -0,0 +1,17 @@ +-- Araga (14222) +DELETE FROM `creature_addon` WHERE (`guid` IN (17066)); + +DELETE FROM `creature` WHERE `guid` IN (17066, 23431, 23434); +INSERT INTO `creature` (`guid`, `id1`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `curhealth`, `wander_distance`, `MovementType`) VALUES +(17066, 14222, 153.893, -62.1832, 100.034, 4.13847, 95400, 1342, 50, 1), +(23431, 14222, -203.155, -308.609, 157.801, 0.395757, 95400, 1342, 50, 1), +(23434, 14222, -105.383, -85.8896, 139.728, 1.88409, 95400, 1342, 50, 1); + +DELETE FROM `pool_template` WHERE `entry`=1108 AND `description`='Araga Rare Spawn'; +INSERT INTO `pool_template` (`entry`, `max_limit`, `description`) VALUES (1108, 1, 'Araga Rare Spawn'); + +DELETE FROM `pool_creature` WHERE `pool_entry`=1108 AND `guid` IN (17066, 23431, 23434); +INSERT INTO `pool_creature` (`guid`, `pool_entry`, `description`) VALUES +(17066, 1108, 'Araga (14222) Spawn 1'), +(23431, 1108, 'Araga (14222) Spawn 2'), +(23434, 1108, 'Araga (14222) Spawn 3'); From 6aed3b4d47fd317ddf81083677a80d8ab449c19e Mon Sep 17 00:00:00 2001 From: AzerothCoreBot Date: Tue, 6 Sep 2022 23:54:05 +0000 Subject: [PATCH 19/41] chore(DB): import pending files Referenced commit(s): b601471df4b6b51377cd474fee850a7c23ac2648 --- .../rev_1661557402555305100.sql => db_world/2022_09_06_10.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1661557402555305100.sql => db_world/2022_09_06_10.sql} (95%) diff --git a/data/sql/updates/pending_db_world/rev_1661557402555305100.sql b/data/sql/updates/db_world/2022_09_06_10.sql similarity index 95% rename from data/sql/updates/pending_db_world/rev_1661557402555305100.sql rename to data/sql/updates/db_world/2022_09_06_10.sql index 21f1909b5..732acbc57 100644 --- a/data/sql/updates/pending_db_world/rev_1661557402555305100.sql +++ b/data/sql/updates/db_world/2022_09_06_10.sql @@ -1,3 +1,4 @@ +-- DB update 2022_09_06_09 -> 2022_09_06_10 -- Araga (14222) DELETE FROM `creature_addon` WHERE (`guid` IN (17066)); From d3ecfe62fe2b6a4ac840a9c3f8be978d2df1bd63 Mon Sep 17 00:00:00 2001 From: SoglaHash <74299960+SoglaHash@users.noreply.github.com> Date: Wed, 7 Sep 2022 01:59:44 +0200 Subject: [PATCH 20/41] fix(DB/Item): Dark Rune puts Demonic Rune 2min CD (#12921) --- data/sql/updates/pending_db_world/rev_1661991078330961901.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1661991078330961901.sql diff --git a/data/sql/updates/pending_db_world/rev_1661991078330961901.sql b/data/sql/updates/pending_db_world/rev_1661991078330961901.sql new file mode 100644 index 000000000..c1eb131be --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1661991078330961901.sql @@ -0,0 +1,2 @@ +-- +UPDATE `item_template` SET `spellcategorycooldown_1`=900000 WHERE entry=20520; From 11086c89f9c9907a8b21cf9fe59d512c3596bca6 Mon Sep 17 00:00:00 2001 From: SoglaHash <74299960+SoglaHash@users.noreply.github.com> Date: Wed, 7 Sep 2022 02:01:29 +0200 Subject: [PATCH 21/41] fix(Core/Unit): DualWield Off-hand hit penalty (#12906) --- src/server/game/Entities/Unit/Unit.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 12e2fc904..584431749 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -18561,8 +18561,11 @@ float Unit::MeleeSpellMissChance(Unit const* victim, WeaponAttackType attType, i //calculate miss chance float missChance = victim->GetUnitMissChance(attType); - if (!spellId && haveOffhandWeapon()) + // Check if dual wielding, add additional miss penalty - when mainhand has on next swing spell, offhand doesnt suffer penalty + if (!spellId && (attType != RANGED_ATTACK) && haveOffhandWeapon() && (!m_currentSpells[CURRENT_MELEE_SPELL] || !m_currentSpells[CURRENT_MELEE_SPELL]->IsNextMeleeSwingSpell())) + { missChance += 19; + } // bonus from skills is 0.04% //miss_chance -= skillDiff * 0.04f; From 90f930038b2995a70e9076b83633f390381c850e Mon Sep 17 00:00:00 2001 From: AzerothCoreBot Date: Wed, 7 Sep 2022 00:03:33 +0000 Subject: [PATCH 22/41] chore(DB): import pending files Referenced commit(s): 11086c89f9c9907a8b21cf9fe59d512c3596bca6 --- .../rev_1661991078330961901.sql => db_world/2022_09_07_00.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1661991078330961901.sql => db_world/2022_09_07_00.sql} (65%) diff --git a/data/sql/updates/pending_db_world/rev_1661991078330961901.sql b/data/sql/updates/db_world/2022_09_07_00.sql similarity index 65% rename from data/sql/updates/pending_db_world/rev_1661991078330961901.sql rename to data/sql/updates/db_world/2022_09_07_00.sql index c1eb131be..08822f827 100644 --- a/data/sql/updates/pending_db_world/rev_1661991078330961901.sql +++ b/data/sql/updates/db_world/2022_09_07_00.sql @@ -1,2 +1,3 @@ +-- DB update 2022_09_06_10 -> 2022_09_07_00 -- UPDATE `item_template` SET `spellcategorycooldown_1`=900000 WHERE entry=20520; From 54fb944948e668dc673caf98094c7d92851bec56 Mon Sep 17 00:00:00 2001 From: Benjamin Jackson <38561765+heyitsbench@users.noreply.github.com> Date: Tue, 6 Sep 2022 20:05:13 -0400 Subject: [PATCH 23/41] fix(DB/creature): Correct Newman's Landing NPC positions and vendor items. (#12914) --- .../updates/pending_db_world/newmans-landing.sql | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 data/sql/updates/pending_db_world/newmans-landing.sql diff --git a/data/sql/updates/pending_db_world/newmans-landing.sql b/data/sql/updates/pending_db_world/newmans-landing.sql new file mode 100644 index 000000000..7edffac04 --- /dev/null +++ b/data/sql/updates/pending_db_world/newmans-landing.sql @@ -0,0 +1,14 @@ +DELETE FROM `npc_vendor` WHERE `entry` = 26081; +INSERT INTO `npc_vendor` (`entry`, `slot`, `item`, `maxcount`, `incrtime`, `ExtendedCost`, `VerifiedBuild`) VALUES +(26081, 2, 2880, 0, 0, 0, 0), +(26081, 0, 2901, 0, 0, 0, 0), +(26081, 3, 3466, 0, 0, 0, 0), +(26081, 5, 3857, 0, 0, 0, 0), +(26081, 1, 5956, 0, 0, 0, 0), +(26081, 4, 18567, 0, 0, 0, 0); + +UPDATE `creature_equip_template` SET `ItemID1` = 19022 WHERE `CreatureID` = 26081; + +UPDATE `creature` SET `position_x` = -6378.61, `position_y` = 1263.21, `position_z` = 7.2709, `orientation` = 3.03687 WHERE `guid` = 1975958; +UPDATE `creature` SET `position_x` = -6373.53, `position_y` = 1267.88, `position_z` = 7.2709, `orientation` = 2.39110 WHERE `guid` = 1975959; +UPDATE `creature` SET `position_x` = -6378.08, `position_y` = 1268.47, `position_z` = 7.2709, `orientation` = 2.44346 WHERE `guid` = 1975960; From 35bb5b92da1ad78835aa28f3a95dc687baf5a8df Mon Sep 17 00:00:00 2001 From: AzerothCoreBot Date: Wed, 7 Sep 2022 00:07:26 +0000 Subject: [PATCH 24/41] chore(DB): import pending files Referenced commit(s): 54fb944948e668dc673caf98094c7d92851bec56 --- .../newmans-landing.sql => db_world/2022_09_07_01.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/newmans-landing.sql => db_world/2022_09_07_01.sql} (95%) diff --git a/data/sql/updates/pending_db_world/newmans-landing.sql b/data/sql/updates/db_world/2022_09_07_01.sql similarity index 95% rename from data/sql/updates/pending_db_world/newmans-landing.sql rename to data/sql/updates/db_world/2022_09_07_01.sql index 7edffac04..fc9c08075 100644 --- a/data/sql/updates/pending_db_world/newmans-landing.sql +++ b/data/sql/updates/db_world/2022_09_07_01.sql @@ -1,3 +1,4 @@ +-- DB update 2022_09_07_00 -> 2022_09_07_01 DELETE FROM `npc_vendor` WHERE `entry` = 26081; INSERT INTO `npc_vendor` (`entry`, `slot`, `item`, `maxcount`, `incrtime`, `ExtendedCost`, `VerifiedBuild`) VALUES (26081, 2, 2880, 0, 0, 0, 0), From f874b74df29ac24c6d31f6699b0847f5031e5f0f Mon Sep 17 00:00:00 2001 From: Artem <34547317+Zenslash@users.noreply.github.com> Date: Wed, 7 Sep 2022 03:09:11 +0300 Subject: [PATCH 25/41] fix(DB/Quest): "Unraveling the Mystery" has wrong quest marker (#12932) --- data/sql/updates/pending_db_world/rev_1662107131127819900.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1662107131127819900.sql diff --git a/data/sql/updates/pending_db_world/rev_1662107131127819900.sql b/data/sql/updates/pending_db_world/rev_1662107131127819900.sql new file mode 100644 index 000000000..79eba1af2 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1662107131127819900.sql @@ -0,0 +1,2 @@ +-- +UPDATE `quest_template_addon` SET `SpecialFlags` = 0 WHERE (`ID` = 8314); From 71fa02b2745c286a56211785c7436ecd136fe955 Mon Sep 17 00:00:00 2001 From: AzerothCoreBot Date: Wed, 7 Sep 2022 00:11:21 +0000 Subject: [PATCH 26/41] chore(DB): import pending files Referenced commit(s): f874b74df29ac24c6d31f6699b0847f5031e5f0f --- .../rev_1662107131127819900.sql => db_world/2022_09_07_02.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1662107131127819900.sql => db_world/2022_09_07_02.sql} (63%) diff --git a/data/sql/updates/pending_db_world/rev_1662107131127819900.sql b/data/sql/updates/db_world/2022_09_07_02.sql similarity index 63% rename from data/sql/updates/pending_db_world/rev_1662107131127819900.sql rename to data/sql/updates/db_world/2022_09_07_02.sql index 79eba1af2..e5f9300ca 100644 --- a/data/sql/updates/pending_db_world/rev_1662107131127819900.sql +++ b/data/sql/updates/db_world/2022_09_07_02.sql @@ -1,2 +1,3 @@ +-- DB update 2022_09_07_01 -> 2022_09_07_02 -- UPDATE `quest_template_addon` SET `SpecialFlags` = 0 WHERE (`ID` = 8314); From 045ade23b354573911dd4b11bb7de0dc101125db Mon Sep 17 00:00:00 2001 From: SoglaHash <74299960+SoglaHash@users.noreply.github.com> Date: Wed, 7 Sep 2022 02:11:46 +0200 Subject: [PATCH 27/41] fix(DB/EversongWoods): Ranger Sareyn RP (#12934) --- .../rev_1662086293864172250.sql | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1662086293864172250.sql diff --git a/data/sql/updates/pending_db_world/rev_1662086293864172250.sql b/data/sql/updates/pending_db_world/rev_1662086293864172250.sql new file mode 100644 index 000000000..e93fe36ad --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1662086293864172250.sql @@ -0,0 +1,42 @@ +-- +SET @GUID := 43456; + +DELETE FROM `creature` WHERE `guid` IN (@GUID, @GUID+1, @GUID+2); +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 +(@GUID, 15655, 0, 0, 530, 0, 0, 1, 1, 0, 8607.49, -6788.45, 101.839, 0.00836706, 60, 0, 0, 120, 0, 0, 0, 0, 0, '', 0), +(@GUID+1, 15654, 0, 0, 530, 0, 0, 1, 1, 1, 8605.56, -6790.09, 102.006, 0.00836706, 60, 0, 0, 120, 0, 0, 0, 0, 0, '', 0), +(@GUID+2, 15654, 0, 0, 530, 0, 0, 1, 1, 1, 8605.38, -6786.45, 102.481, 0.00836706, 60, 0, 0, 120, 0, 0, 0, 0, 0, '', 0); + +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry` IN (15942, 15655); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (15942, -@GUID, -(@GUID+1), -(@GUID+2)) 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 +(15942, 0, 0, 0, 1, 0, 100, 0, 10000, 30000, 300000, 540000, 0, 45, 1, 1, 0, 0, 0, 0, 10, @GUID, 15655, 0, 0, 0, 0, 0, 0, 'Ranger Sareyn - OOC - Set Data 1 1 (Rotlimb Cannibal)'), +(-@GUID, 0, 0, 1, 11, 0, 100, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Rotlimb Cannibal - On Spawn - Set Invisible'), +(-@GUID, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Rotlimb Cannibal - On Spawn - Set ReactState Passive'), +(-@GUID, 0, 2, 3, 38, 0, 100, 0, 1, 1, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Rotlimb Cannibal - On Data 1 1 Set - Set Visible'), +(-@GUID, 0, 3, 4, 61, 0, 100, 0, 0, 0, 0, 0, 0, 53, 0, 1565501, 0, 0, 120000, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Rotlimb Cannibal - On Data 1 1 Set - Start Waypoint'), +(-@GUID, 0, 4, 5, 61, 0, 100, 0, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 10, @GUID+1, 15654, 0, 0, 0, 0, 0, 0, 'Rotlimb Cannibal - On Data 1 1 Set - Set Data 1 1 (Plaguebone Villager)'), +(-@GUID, 0, 5, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 10, @GUID+2, 15654, 0, 0, 0, 0, 0, 0, 'Rotlimb Cannibal - On Data 1 1 Set - Set Data 1 1 (Plaguebone Villager)'), +(-(@GUID+1), 0, 0, 0, 0, 0, 100, 0, 5900, 12200, 11900, 22100, 0, 11, 11976, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Plaguebone Pillager - In Combat - Cast \'Strike\''), +(-(@GUID+1), 0, 1, 2, 11, 0, 100, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Plaguebone Pillager - On Spawn - Set Invisible'), +(-(@GUID+1), 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Plaguebone Pillager - On Spawn - Set ReactState Passive'), +(-(@GUID+1), 0, 3, 4, 38, 0, 100, 0, 1, 1, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Plaguebone Pillager - On Data 1 1 Set - Set Visible'), +(-(@GUID+1), 0, 4, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 53, 0, 1565501, 0, 0, 120000, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Plaguebone Pillager - On Data 1 1 Set - Start Waypoint'), +(-(@GUID+1), 0, 5, 0, 40, 0, 100, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 19, 15942, 0, 0, 0, 0, 0, 0, 0, 'Plaguebone Pillager - On Waypoint 1 Reached - Say Line 0 (Ranger Sareyn)'), +(-(@GUID+2), 0, 0, 0, 0, 0, 100, 0, 5900, 12200, 11900, 22100, 0, 11, 11976, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Plaguebone Pillager - In Combat - Cast \'Strike\''), +(-(@GUID+2), 0, 1, 2, 11, 0, 100, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Plaguebone Pillager - On Spawn - Set Invisible'), +(-(@GUID+2), 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Plaguebone Pillager - On Spawn - Set ReactState Passive'), +(-(@GUID+2), 0, 3, 4, 38, 0, 100, 0, 1, 1, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Plaguebone Pillager - On Data 1 1 Set - Set Visible'), +(-(@GUID+2), 0, 4, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 53, 0, 1565501, 0, 0, 120000, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Plaguebone Pillager - On Data 1 1 Set - Start Waypoint'); + +DELETE FROM `waypoints` WHERE `entry`=1565501; +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(1565501, 1, 8648.8262, -6790.4302, 96.2708, 'Rotlimb Cannibal/Plaguebone Villager'); + +DELETE FROM `creature_text` WHERE `CreatureID`=15942; +INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES +(15942, 0, 0, 'Open fire!', 14, 0, 100, 0, 0, 0, 12417, 0, 'Ranger Sareyn'), +(15942, 0, 1, 'Enemy sighted! Ready your weapons!', 14, 0, 100, 0, 0, 0, 12418, 0, 'Ranger Sareyn'), +(15942, 0, 2, 'Hold your positions!', 14, 0, 100, 0, 0, 0, 12419, 0, 'Ranger Sareyn'); From 4c80efc74d5c73825224ceadd14388cb66545f6a Mon Sep 17 00:00:00 2001 From: AzerothCoreBot Date: Wed, 7 Sep 2022 00:13:47 +0000 Subject: [PATCH 28/41] chore(DB): import pending files Referenced commit(s): 045ade23b354573911dd4b11bb7de0dc101125db --- .../rev_1662086293864172250.sql => db_world/2022_09_07_03.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1662086293864172250.sql => db_world/2022_09_07_03.sql} (99%) diff --git a/data/sql/updates/pending_db_world/rev_1662086293864172250.sql b/data/sql/updates/db_world/2022_09_07_03.sql similarity index 99% rename from data/sql/updates/pending_db_world/rev_1662086293864172250.sql rename to data/sql/updates/db_world/2022_09_07_03.sql index e93fe36ad..e18c32a9f 100644 --- a/data/sql/updates/pending_db_world/rev_1662086293864172250.sql +++ b/data/sql/updates/db_world/2022_09_07_03.sql @@ -1,3 +1,4 @@ +-- DB update 2022_09_07_02 -> 2022_09_07_03 -- SET @GUID := 43456; From ca50f5c5c544e3fb212674bff5f94c54b7ba902e Mon Sep 17 00:00:00 2001 From: SoglaHash <74299960+SoglaHash@users.noreply.github.com> Date: Wed, 7 Sep 2022 02:14:50 +0200 Subject: [PATCH 29/41] fix(DB/EversongWoods): Repair Flag wrongly set (#12936) Co-authored-by: Svetoslav Stoyanov --- data/sql/updates/pending_db_world/rev_1662131908035510198.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1662131908035510198.sql diff --git a/data/sql/updates/pending_db_world/rev_1662131908035510198.sql b/data/sql/updates/pending_db_world/rev_1662131908035510198.sql new file mode 100644 index 000000000..796a9dd7c --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1662131908035510198.sql @@ -0,0 +1,2 @@ +-- +UPDATE `creature_template` SET `npcflag` = `npcflag`&~(4096) WHERE `entry` IN (16280, 16278); From d788906c6d6804b879c577ea2109cafaa61ed90b Mon Sep 17 00:00:00 2001 From: AzerothCoreBot Date: Wed, 7 Sep 2022 00:16:51 +0000 Subject: [PATCH 30/41] chore(DB): import pending files Referenced commit(s): ca50f5c5c544e3fb212674bff5f94c54b7ba902e --- .../rev_1662131908035510198.sql => db_world/2022_09_07_04.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1662131908035510198.sql => db_world/2022_09_07_04.sql} (68%) diff --git a/data/sql/updates/pending_db_world/rev_1662131908035510198.sql b/data/sql/updates/db_world/2022_09_07_04.sql similarity index 68% rename from data/sql/updates/pending_db_world/rev_1662131908035510198.sql rename to data/sql/updates/db_world/2022_09_07_04.sql index 796a9dd7c..3b424cd61 100644 --- a/data/sql/updates/pending_db_world/rev_1662131908035510198.sql +++ b/data/sql/updates/db_world/2022_09_07_04.sql @@ -1,2 +1,3 @@ +-- DB update 2022_09_07_03 -> 2022_09_07_04 -- UPDATE `creature_template` SET `npcflag` = `npcflag`&~(4096) WHERE `entry` IN (16280, 16278); From 99c0fa3f90506e6e5da331328cecdb1c28659a19 Mon Sep 17 00:00:00 2001 From: UltraNix <80540499+UltraNix@users.noreply.github.com> Date: Wed, 7 Sep 2022 02:18:42 +0200 Subject: [PATCH 31/41] fix(Scripts/TempleOfAhnQiraj): Increased aggro range of Sartura. (#12961) --- .../scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp index 789fe5bcf..221c30c73 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp @@ -63,6 +63,13 @@ struct boss_sartura : public BossAI { boss_sartura(Creature* creature) : BossAI(creature, DATA_SARTURA) {} + void InitializeAI() override + { + me->m_CombatDistance = 60.f; + me->m_SightDistance = 60.f; + Reset(); + } + void Reset() override { _Reset(); From d940a8560d6e4114381c3eae0d281c5cbe82e847 Mon Sep 17 00:00:00 2001 From: Kargatum Date: Wed, 7 Sep 2022 07:20:54 +0700 Subject: [PATCH 32/41] fix(Core/BGQueue): correct start match logic (#12823) cherrypick https://github.com/WarheadCore/WarheadBand/commit/1a3cd2942a88ef64152afeba4d9594237aa962d1 --- .../game/Battlegrounds/BattlegroundQueue.cpp | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/server/game/Battlegrounds/BattlegroundQueue.cpp b/src/server/game/Battlegrounds/BattlegroundQueue.cpp index 43f9b7320..ebb4ad8ec 100644 --- a/src/server/game/Battlegrounds/BattlegroundQueue.cpp +++ b/src/server/game/Battlegrounds/BattlegroundQueue.cpp @@ -573,10 +573,18 @@ bool BattlegroundQueue::CheckPremadeMatch(BattlegroundBracketId bracket_id, uint // this method tries to create battleground or arena with MinPlayersPerTeam against MinPlayersPerTeam bool BattlegroundQueue::CheckNormalMatch(Battleground* bgTemplate, BattlegroundBracketId bracket_id, uint32 minPlayers, uint32 maxPlayers) { - if (sScriptMgr->IsCheckNormalMatch(this, bgTemplate, bracket_id, minPlayers, maxPlayers)) + auto CanStartMatch = [this, bgTemplate, minPlayers]() { - return true; - } + //allow 1v0 if debug bg + if (sBattlegroundMgr->isTesting() && bgTemplate->isBattleground() && (m_SelectionPools[TEAM_ALLIANCE].GetPlayerCount() || m_SelectionPools[TEAM_HORDE].GetPlayerCount())) + return true; + + //return true if there are enough players in selection pools - enable to work .debug bg command correctly + return m_SelectionPools[TEAM_ALLIANCE].GetPlayerCount() >= minPlayers && m_SelectionPools[TEAM_HORDE].GetPlayerCount() >= minPlayers; + }; + + if (sScriptMgr->IsCheckNormalMatch(this, bgTemplate, bracket_id, minPlayers, maxPlayers)) + return CanStartMatch(); GroupsQueueType::const_iterator itr_team[PVP_TEAMS_COUNT]; for (uint32 i = 0; i < PVP_TEAMS_COUNT; i++) @@ -615,12 +623,7 @@ bool BattlegroundQueue::CheckNormalMatch(Battleground* bgTemplate, BattlegroundB return false; } - //allow 1v0 if debug bg - if (sBattlegroundMgr->isTesting() && bgTemplate->isBattleground() && (m_SelectionPools[TEAM_ALLIANCE].GetPlayerCount() || m_SelectionPools[TEAM_HORDE].GetPlayerCount())) - return true; - - //return true if there are enough players in selection pools - enable to work .debug bg command correctly - return m_SelectionPools[TEAM_ALLIANCE].GetPlayerCount() >= minPlayers && m_SelectionPools[TEAM_HORDE].GetPlayerCount() >= minPlayers; + return CanStartMatch(); } // this method will check if we can invite players to same faction skirmish match From 980a328ce5c8a7088dfbc927ff479045c09ee88d Mon Sep 17 00:00:00 2001 From: Gultask <100873791+Gultask@users.noreply.github.com> Date: Tue, 6 Sep 2022 21:23:04 -0300 Subject: [PATCH 33/41] fix(DB/creature_template): Import AQ40 values from Vmangos missing in previous PR (#12984) --- .../rev_1662487488595481700.sql | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1662487488595481700.sql diff --git a/data/sql/updates/pending_db_world/rev_1662487488595481700.sql b/data/sql/updates/pending_db_world/rev_1662487488595481700.sql new file mode 100644 index 000000000..2908694f0 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1662487488595481700.sql @@ -0,0 +1,34 @@ +-- I forgot these +UPDATE `creature_template` SET `DamageModifier` = 1.05, `ArmorModifier` = 1.1 WHERE (`entry` = 15316); +UPDATE `creature_template` SET `ArmorModifier` = 1.1 WHERE (`entry` = 15317); +UPDATE `creature_template` SET `DamageModifier` = 20, `ArmorModifier` = 1.15 WHERE (`entry` = 15246); +UPDATE `creature_template` SET `DamageModifier` = 3, `ArmorModifier` = 1.15 WHERE (`entry` = 15537); +UPDATE `creature_template` SET `DamageModifier` = 9.75, `ArmorModifier` = 1.15 WHERE (`entry` = 15538); + +DELETE FROM `creature_template_resistance` WHERE `CreatureID` IN (15316,15317,15246,15537,15538); +INSERT INTO `creature_template_resistance` (`CreatureID`, `School`, `Resistance`, `VerifiedBuild`) VALUES +(15316, 2, 75, 0), +(15316, 3, 75, 0), +(15316, 4, 75, 0), +(15316, 5, 75, 0), +(15316, 6, 75, 0), +(15317, 2, 75, 0), +(15317, 3, 75, 0), +(15317, 4, 75, 0), +(15317, 5, 75, 0), +(15317, 6, 75, 0), +(15246, 2, 75, 0), +(15246, 3, 75, 0), +(15246, 4, 75, 0), +(15246, 5, 75, 0), +(15246, 6, 75, 0), +(15537, 2, 75, 0), +(15537, 3, 75, 0), +(15537, 4, 75, 0), +(15537, 5, 75, 0), +(15537, 6, 75, 0), +(15538, 2, 115, 0), +(15538, 3, 115, 0), +(15538, 4, 115, 0), +(15538, 5, 115, 0), +(15538, 6, 115, 0); From e755929d8f9471a0dc6deba2a3b09f0dad2f5ee0 Mon Sep 17 00:00:00 2001 From: AzerothCoreBot Date: Wed, 7 Sep 2022 00:25:09 +0000 Subject: [PATCH 34/41] chore(DB): import pending files Referenced commit(s): 980a328ce5c8a7088dfbc927ff479045c09ee88d --- .../rev_1662487488595481700.sql => db_world/2022_09_07_05.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1662487488595481700.sql => db_world/2022_09_07_05.sql} (96%) diff --git a/data/sql/updates/pending_db_world/rev_1662487488595481700.sql b/data/sql/updates/db_world/2022_09_07_05.sql similarity index 96% rename from data/sql/updates/pending_db_world/rev_1662487488595481700.sql rename to data/sql/updates/db_world/2022_09_07_05.sql index 2908694f0..290545ea9 100644 --- a/data/sql/updates/pending_db_world/rev_1662487488595481700.sql +++ b/data/sql/updates/db_world/2022_09_07_05.sql @@ -1,3 +1,4 @@ +-- DB update 2022_09_07_04 -> 2022_09_07_05 -- I forgot these UPDATE `creature_template` SET `DamageModifier` = 1.05, `ArmorModifier` = 1.1 WHERE (`entry` = 15316); UPDATE `creature_template` SET `ArmorModifier` = 1.1 WHERE (`entry` = 15317); From 701361d8395fb579fa01d3d4e4ada4b10eb8b51f Mon Sep 17 00:00:00 2001 From: Walter Pagani Date: Tue, 6 Sep 2022 21:26:39 -0300 Subject: [PATCH 35/41] fix(DB/Quests): Proof of Demise (374) available without prequest (#12875) Co-authored-by: Mathematical --- data/sql/updates/pending_db_world/rev_1661649172326868600.sql | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1661649172326868600.sql diff --git a/data/sql/updates/pending_db_world/rev_1661649172326868600.sql b/data/sql/updates/pending_db_world/rev_1661649172326868600.sql new file mode 100644 index 000000000..baa221320 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1661649172326868600.sql @@ -0,0 +1,4 @@ +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=19 AND `SourceEntry`=374; + +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(19, 0, 374, 0, 0, 8, 0, 427, 0, 0, 0, 0, 0, '', 'Enable quest 374, only if the player has completed quest 427.'); From 25d4d91867b824bd8ed7cb528b1be39696289383 Mon Sep 17 00:00:00 2001 From: AzerothCoreBot Date: Wed, 7 Sep 2022 00:28:57 +0000 Subject: [PATCH 36/41] chore(DB): import pending files Referenced commit(s): 701361d8395fb579fa01d3d4e4ada4b10eb8b51f --- .../rev_1661649172326868600.sql => db_world/2022_09_07_06.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1661649172326868600.sql => db_world/2022_09_07_06.sql} (91%) diff --git a/data/sql/updates/pending_db_world/rev_1661649172326868600.sql b/data/sql/updates/db_world/2022_09_07_06.sql similarity index 91% rename from data/sql/updates/pending_db_world/rev_1661649172326868600.sql rename to data/sql/updates/db_world/2022_09_07_06.sql index baa221320..90a12d248 100644 --- a/data/sql/updates/pending_db_world/rev_1661649172326868600.sql +++ b/data/sql/updates/db_world/2022_09_07_06.sql @@ -1,3 +1,4 @@ +-- DB update 2022_09_07_05 -> 2022_09_07_06 DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=19 AND `SourceEntry`=374; INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES From fa825ec4198654bc123660e556d402150b619fc7 Mon Sep 17 00:00:00 2001 From: Angelo Venturini Date: Tue, 6 Sep 2022 21:33:51 -0300 Subject: [PATCH 37/41] fix(Core/TempleOfAhnQiraj): Twin emperors rewrite (#12855) --- .../rev_1661470486331915500.sql | 43 + src/server/game/Entities/Unit/Unit.cpp | 5 + src/server/game/Entities/Unit/Unit.h | 1 + .../TempleOfAhnQiraj/boss_twinemperors.cpp | 849 ++++++++---------- .../instance_temple_of_ahnqiraj.cpp | 51 +- .../TempleOfAhnQiraj/temple_of_ahnqiraj.h | 12 +- 6 files changed, 438 insertions(+), 523 deletions(-) create mode 100644 data/sql/updates/pending_db_world/rev_1661470486331915500.sql diff --git a/data/sql/updates/pending_db_world/rev_1661470486331915500.sql b/data/sql/updates/pending_db_world/rev_1661470486331915500.sql new file mode 100644 index 000000000..8186a602c --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1661470486331915500.sql @@ -0,0 +1,43 @@ +-- +UPDATE `creature_template_addon` SET `bytes1` = 54432 WHERE `entry` = 15963; +UPDATE `creature_template_addon` SET `auras` = '18943' WHERE `entry` = 15275; + +DELETE FROM `areatrigger_scripts` WHERE `ScriptName` = 'at_twin_emperors'; +INSERT INTO `areatrigger_scripts` (`entry`, `ScriptName`) VALUES +(4047, 'at_twin_emperors'); + +DELETE FROM `creature_text` WHERE `CreatureID` IN (15275, 15276) AND `GroupID` IN (0, 1, 2, 3, 4, 5, 6); +DELETE FROM `creature_text` WHERE `CreatureID` = 15963; +INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES +(15275, 0, 0, 'Where are your manners, brother. Let us properly welcome our guests.', 14, 0, 100, 6, 0, 0, 11706, 0, 'Emperor Vek\'nilash INTRO_0'), +(15275, 1, 0, 'Oh so much pain...', 14, 0, 100, 5, 0, 0, 11708, 0, 'Emperor Vek\'nilash INTRO_1'), +(15275, 2, 0, 'The feast of souls begins now...', 14, 0, 100, 0, 0, 0, 11710, 0, 'Emperor Vek\'nilash INTRO_2'), +(15275, 3, 0, 'Your fate is sealed!', 14, 0, 100, 0, 0, 8635, 11455, 0, 'Emperor Vek\'nilash KILL'), +(15275, 4, 0, 'Vek\'lor, I feel your pain!', 14, 0, 100, 0, 0, 8636, 11454, 0, 'Emperor Vek\'nilash DEATH'), +(15276, 0, 0, 'Only flesh and bone. Mortals are such easy prey...', 14, 0, 100, 1, 0, 0, 11702, 0, 'Emperor Vek\'lor INTRO_0'), +(15276, 1, 0, 'There will be pain...', 14, 0, 100, 273, 0, 0, 11707, 0, 'Emperor Vek\'lor INTRO_1'), +(15276, 2, 0, 'Come, little ones.', 14, 0, 100, 0, 0, 0, 11709, 0, 'Emperor Vek\'lor INTRO_2'), +(15276, 3, 0, 'You will not escape death!', 14, 0, 100, 0, 0, 8629, 11453, 0, 'Emperor Vek\'lor KILL'), +(15276, 4, 0, 'My brother, no!', 14, 0, 100, 0, 0, 8625, 11452, 0, 'Emperor Vek\'lor DEATH'), +(15276, 5, 0, '%s goes into a berserker rage!', 16, 0, 100, 0, 0, 0, 34057, 0, 'Emperor Vek\'lor ENRAGE'), +(15963, 0, 0, 'The massive floating eyeball in the center of the chamber turns its gaze upon you. You stand before a god.', 16, 0, 100, 0, 0, 0, 11700, 1, 'Masters Eye - On Areatrigger'); + +UPDATE `creature_template_movement` SET `Ground` = 2, `Flight` = 1 WHERE `CreatureId` = 15963; + +UPDATE `creature_template` SET `unit_flags` = `unit_flags`|512|256 WHERE `entry` = 15963; +UPDATE `creature_template` SET `spell_school_immune_mask` = `spell_school_immune_mask`|1 WHERE `entry` = 15276; -- Vek'lor immunity to phys +UPDATE `creature_template` SET `spell_school_immune_mask` = `spell_school_immune_mask`|4|8|16|32|64 WHERE `entry` = 15275; -- Vek'nilash immunity to everything but holy and phys + +DELETE FROM `spell_script_names` WHERE `spell_id` IN (802, 804); +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(802, 'spell_mutate_explode_bug'), +(804, 'spell_mutate_explode_bug'); + +UPDATE `creature` SET `spawntimesecs` = 300 WHERE `id1` IN (15316, 15317); + +UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` IN (15316, 15317); + +DELETE FROM `smart_scripts` WHERE (`entryorguid` IN (15316, 15317)) AND (`source_type` = 0) AND (`id` IN (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 +(15317, 0, 0, 0, 25, 0, 100, 0, 0, 0, 0, 0, 0, 2, 311, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Qiraji Scorpion - On Reset - Set Faction 311'), +(15316, 0, 0, 0, 25, 0, 100, 0, 0, 0, 0, 0, 0, 2, 311, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Qiraji Scarab - On Reset - Set Faction 311'); diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 584431749..78c282c29 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -19518,6 +19518,11 @@ bool Unit::CanSwim() const return HasUnitFlag(UNIT_FLAG_RENAME | UNIT_FLAG_SWIMMING); } +void Unit::NearTeleportTo(Position& pos, bool casting /*= false*/, bool vehicleTeleport /*= false*/, bool withPet /*= false*/, bool removeTransport /*= false*/) +{ + NearTeleportTo(pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), pos.GetOrientation(), casting, vehicleTeleport, withPet, removeTransport); +} + void Unit::NearTeleportTo(float x, float y, float z, float orientation, bool casting /*= false*/, bool vehicleTeleport /*= false*/, bool withPet /*= false*/, bool removeTransport /*= false*/) { DisableSpline(); diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index ec2151596..8ece9e956 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -1731,6 +1731,7 @@ public: void SendSpellDamageResist(Unit* target, uint32 spellId); void SendSpellDamageImmune(Unit* target, uint32 spellId); + void NearTeleportTo(Position& pos, bool casting = false, bool vehicleTeleport = false, bool withPet = false, bool removeTransport = false); void NearTeleportTo(float x, float y, float z, float orientation, bool casting = false, bool vehicleTeleport = false, bool withPet = false, bool removeTransport = false); void SendTameFailure(uint8 result); void SendTeleportPacket(Position& pos); diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp index e496ef8a3..7ccba318e 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp @@ -15,368 +15,283 @@ * with this program. If not, see . */ -/* ScriptData -SDName: Boss_Twinemperors -SD%Complete: 95 -SDComment: -SDCategory: Temple of Ahn'Qiraj -EndScriptData */ - -#include "Item.h" +#include "Player.h" #include "ScriptMgr.h" #include "ScriptedCreature.h" -#include "Spell.h" -#include "WorldPacket.h" +#include "SpellScript.h" +#include "TaskScheduler.h" #include "temple_of_ahnqiraj.h" enum Spells { + // Both + SPELL_TWIN_EMPATHY = 1177, + SPELL_TWIN_TELEPORT_1 = 800, + SPELL_TWIN_TELEPORT_VISUAL = 26638, SPELL_HEAL_BROTHER = 7393, - SPELL_TWIN_TELEPORT = 800, // CTRA watches for this spell to start its teleport timer - SPELL_TWIN_TELEPORT_VISUAL = 26638, // visual - SPELL_EXPLODEBUG = 804, - SPELL_MUTATE_BUG = 802, - SPELL_BERSERK = 26662, + // Vek'lor + SPELL_SHADOW_BOLT = 26006, + SPELL_BLIZZARD = 26607, + SPELL_FRENZY = 27897, + SPELL_ARCANE_BURST = 568, + SPELL_EXPLODE_BUG = 804, + SPELL_TWIN_TELEPORT_0 = 799, + // Vek'nilash SPELL_UPPERCUT = 26007, SPELL_UNBALANCING_STRIKE = 26613, - SPELL_SHADOWBOLT = 26006, - SPELL_BLIZZARD = 26607, - SPELL_ARCANEBURST = 568, + SPELL_BERSERK = 27680, + SPELL_MUTATE_BUG = 802, + // Bugs + SPELL_VIRULENT_POISON_PROC = 22413 }; -enum Sound +enum Actions { - SOUND_VL_AGGRO = 8657, //8657 - Aggro - To Late - SOUND_VL_KILL = 8658, //8658 - Kill - You will not - SOUND_VL_DEATH = 8659, //8659 - Death - SOUND_VN_DEATH = 8660, //8660 - Death - Feel - SOUND_VN_AGGRO = 8661, //8661 - Aggro - Let none - SOUND_VN_KILL = 8662, //8661 - Kill - your fate + ACTION_START_INTRO = 0, + ACTION_CANCEL_INTRO = 1, + ACTION_AFTER_TELEPORT = 2 +}; + +enum Say +{ + SAY_INTRO_0 = 0, + SAY_INTRO_1 = 1, + SAY_INTRO_2 = 2, + SAY_KILL = 3, + SAY_DEATH = 4, + EMOTE_ENRAGE = 5, + + EMOTE_MASTERS_EYE_AT = 0, +}; + +enum Sounds +{ + SOUND_VK_AGGRO = 8657, + SOUND_VN_AGGRO = 8661 }; enum Misc { - PULL_RANGE = 50, - ABUSE_BUG_RANGE = 20, - VEKLOR_DIST = 20, // VL will not come to melee when attacking - TELEPORTTIME = 30000 + GROUP_INTRO = 0, + + NPC_QIRAJI_SCARAB = 15316, + NPC_QIRAJI_SCORPION = 15317, + + FACTION_HOSTILE = 16 }; +constexpr float veklorOrientationIntro = 2.241519f; +constexpr float veknilashOrientationIntro = 1.144451f; + struct boss_twinemperorsAI : public BossAI { - boss_twinemperorsAI(Creature* creature): BossAI(creature, DATA_TWIN_EMPERORS) { } - - uint32 Heal_Timer; - uint32 Teleport_Timer; - bool AfterTeleport; - uint32 AfterTeleportTimer; - bool DontYellWhenDead; - uint32 Abuse_Bug_Timer, BugsTimer; - bool tspellcast; - uint32 EnrageTimer; - - virtual bool IAmVeklor() = 0; - void Reset() override = 0; - virtual void CastSpellOnBug(Creature* target) = 0; - - void TwinReset() + boss_twinemperorsAI(Creature* creature): BossAI(creature, DATA_TWIN_EMPERORS), _introDone(false) { - Heal_Timer = 0; // first heal immediately when they get close together - Teleport_Timer = TELEPORTTIME; - AfterTeleport = false; - tspellcast = false; - AfterTeleportTimer = 0; - Abuse_Bug_Timer = urand(10000, 17000); - BugsTimer = 2000; - me->ClearUnitState(UNIT_STATE_STUNNED); - DontYellWhenDead = false; - EnrageTimer = 15 * 60000; + me->SetStandState(UNIT_STAND_STATE_KNEEL); - instance->HandleGameObject(instance->GetGuidData(AQ40_DOOR_1), true); - } - - Creature* GetOtherBoss() - { - return ObjectAccessor::GetCreature(*me, instance->GetGuidData(IAmVeklor() ? DATA_VEKNILASH : DATA_VEKLOR)); - } - - void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override - { - Unit* pOtherBoss = GetOtherBoss(); - if (pOtherBoss) - { - float dPercent = ((float)damage) / ((float)me->GetMaxHealth()); - int odmg = (int)(dPercent * ((float)pOtherBoss->GetMaxHealth())); - int ohealth = pOtherBoss->GetHealth() - odmg; - pOtherBoss->SetHealth(ohealth > 0 ? ohealth : 0); - if (ohealth <= 0) + _scheduler.SetValidator([this] { - pOtherBoss->setDeathState(JUST_DIED); - pOtherBoss->SetDynamicFlag(UNIT_DYNFLAG_LOOTABLE); + return !me->HasUnitState(UNIT_STATE_CASTING); + }); + } + + Creature* GetTwin() + { + return instance->GetCreature(IAmVeklor() ? DATA_VEKNILASH : DATA_VEKLOR); + } + + void DamageTaken(Unit* attacker, uint32& damage, DamageEffectType, SpellSchoolMask) override + { + if (attacker) + { + if (attacker->GetEntry() == NPC_VEKLOR || attacker->GetEntry() == NPC_VEKNILASH) + { + me->LowerPlayerDamageReq(damage); + return; + } + + if (Creature* twin = GetTwin()) + { + float dmgPct = damage / (float)me->GetMaxHealth(); + int32 actualDmg = dmgPct * twin->GetMaxHealth(); + twin->CastCustomSpell(twin, SPELL_TWIN_EMPATHY, &actualDmg, nullptr, nullptr, true); } } } - void JustDied(Unit* /*killer*/) override + void KilledUnit(Unit* victim) override { - Creature* pOtherBoss = GetOtherBoss(); - if (pOtherBoss) - { - pOtherBoss->SetHealth(0); - pOtherBoss->setDeathState(JUST_DIED); - pOtherBoss->SetDynamicFlag(UNIT_DYNFLAG_LOOTABLE); - CAST_AI(boss_twinemperorsAI, pOtherBoss->AI())->DontYellWhenDead = true; - } - if (!DontYellWhenDead) // I hope AI is not threaded - DoPlaySoundToSet(me, IAmVeklor() ? SOUND_VL_DEATH : SOUND_VN_DEATH); - - instance->HandleGameObject(instance->GetGuidData(AQ40_DOOR_1), true); - instance->HandleGameObject(instance->GetGuidData(AQ40_DOOR_2), true); + if (victim && victim->GetTypeId() == TYPEID_PLAYER) + Talk(SAY_KILL); } - void KilledUnit(Unit* /*victim*/) override + void EnterEvadeMode(EvadeReason why) override { - DoPlaySoundToSet(me, IAmVeklor() ? SOUND_VL_KILL : SOUND_VN_KILL); + BossAI::EnterEvadeMode(why); + + if (Creature* twin = GetTwin()) + if (!twin->IsInEvadeMode()) + twin->AI()->EnterEvadeMode(why); + + _scheduler.CancelAll(); + } + + void JustDied(Unit* killer) override + { + if (Creature* twin = GetTwin()) + if (twin->IsAlive()) + Unit::Kill(me, twin); + + Talk(SAY_DEATH); + + BossAI::JustDied(killer); + } + + void DoAction(int32 action) override + { + if (action == ACTION_CANCEL_INTRO) + { + _introDone = true; + _scheduler.CancelGroup(GROUP_INTRO); + return; + } + + if (action == ACTION_AFTER_TELEPORT) + { + DoResetThreat(); + me->SetReactState(REACT_PASSIVE); + DoCastSelf(SPELL_TWIN_TELEPORT_VISUAL, true); + _scheduler.DelayAll(2300ms); + _scheduler.Schedule(2s, [this](TaskContext /*context*/) + { + me->SetReactState(REACT_AGGRESSIVE); + me->SetControlled(false, UNIT_STATE_ROOT); + if (Unit* victim = me->SelectNearestTarget()) + { + me->AddThreat(victim, 200000.f); + AttackStart(victim); + } + }); + } + + if (action != ACTION_START_INTRO) + return; + + _scheduler.Schedule(5s, [this](TaskContext /*context*/) + { + me->SetStandState(UNIT_STAND_STATE_STAND); + me->LoadEquipment(1, true); + }); + + if (IAmVeklor()) + { + _scheduler + .Schedule(12s, GROUP_INTRO, [this](TaskContext /*context*/) + { + Talk(SAY_INTRO_0); + }) + .Schedule(20s, GROUP_INTRO, [this](TaskContext /*context*/) + { + Talk(SAY_INTRO_1); + }) + .Schedule(28s, GROUP_INTRO, [this](TaskContext /*context*/) + { + me->HandleEmoteCommand(EMOTE_ONESHOT_ROAR); + }) + .Schedule(30s, GROUP_INTRO, [this](TaskContext /*context*/) + { + me->SetFacingTo(veklorOrientationIntro); + Talk(SAY_INTRO_2); + }) + .Schedule(33s, GROUP_INTRO, [this](TaskContext /*context*/) + { + me->HandleEmoteCommand(EMOTE_ONESHOT_POINT); + _introDone = true; + }); + } + else + { + _scheduler + .Schedule(17s, GROUP_INTRO, [this](TaskContext /*context*/) + { + Talk(SAY_INTRO_0); + }) + .Schedule(23s, GROUP_INTRO, [this](TaskContext /*context*/) + { + Talk(SAY_INTRO_1); + }) + .Schedule(28s, GROUP_INTRO, [this](TaskContext /*context*/) + { + me->HandleEmoteCommand(EMOTE_ONESHOT_ROAR); + }) + .Schedule(32s, GROUP_INTRO, [this](TaskContext /*context*/) + { + me->SetFacingTo(veknilashOrientationIntro); + Talk(SAY_INTRO_2); + }) + .Schedule(33s, GROUP_INTRO, [this](TaskContext /*context*/) + { + me->HandleEmoteCommand(EMOTE_ONESHOT_POINT); + _introDone = true; + }); + } } void EnterCombat(Unit* who) override { - DoZoneInCombat(); - Creature* pOtherBoss = GetOtherBoss(); - if (pOtherBoss) + BossAI::EnterCombat(who); + + if (!_introDone) { - /// @todo we should activate the other boss location so he can start attackning even if nobody - // is near I dont know how to do that - ScriptedAI* otherAI = CAST_AI(ScriptedAI, pOtherBoss->AI()); - if (!pOtherBoss->IsInCombat()) + DoAction(ACTION_CANCEL_INTRO); + if (Creature* twin = GetTwin()) + twin->AI()->DoAction(ACTION_CANCEL_INTRO); + } + + if (Creature* twin = GetTwin()) + if (!twin->IsInCombat()) + twin->AI()->AttackStart(who); + + _scheduler + .Schedule(15min, [this](TaskContext /*context*/) { - DoPlaySoundToSet(me, IAmVeklor() ? SOUND_VL_AGGRO : SOUND_VN_AGGRO); - otherAI->AttackStart(who); - otherAI->DoZoneInCombat(); - } - } - - instance->HandleGameObject(instance->GetGuidData(AQ40_DOOR_1), false); - } - - void SpellHit(Unit* caster, SpellInfo const* entry) override - { - if (caster == me) - return; - - Creature* pOtherBoss = GetOtherBoss(); - if (entry->Id != SPELL_HEAL_BROTHER || !pOtherBoss) - return; - - // add health so we keep same percentage for both brothers - uint32 mytotal = me->GetMaxHealth(), histotal = pOtherBoss->GetMaxHealth(); - float mult = ((float)mytotal) / ((float)histotal); - if (mult < 1) - mult = 1.0f / mult; -#define HEAL_BROTHER_AMOUNT 30000.0f - uint32 largerAmount = (uint32)((HEAL_BROTHER_AMOUNT * mult) - HEAL_BROTHER_AMOUNT); - - if (mytotal > histotal) - { - uint32 h = me->GetHealth() + largerAmount; - me->SetHealth(std::min(mytotal, h)); - } - else - { - uint32 h = pOtherBoss->GetHealth() + largerAmount; - pOtherBoss->SetHealth(std::min(histotal, h)); - } - } - - void TryHealBrother(uint32 diff) - { - if (IAmVeklor()) // this spell heals caster and the other brother so let VN cast it - return; - - if (Heal_Timer <= diff) - { - Unit* pOtherBoss = GetOtherBoss(); - if (pOtherBoss && pOtherBoss->IsWithinDist(me, 60)) - { - DoCast(pOtherBoss, SPELL_HEAL_BROTHER); - Heal_Timer = 1000; - } - } - else Heal_Timer -= diff; - } - - void TeleportToMyBrother() - { - Teleport_Timer = TELEPORTTIME; - - if (IAmVeklor()) - return; // mechanics handled by veknilash so they teleport exactly at the same time and to correct coordinates - - Creature* pOtherBoss = GetOtherBoss(); - if (pOtherBoss) - { - //me->Yell("Teleporting ...", LANG_UNIVERSAL); - Position thisPos; - thisPos.Relocate(me); - Position otherPos; - otherPos.Relocate(pOtherBoss); - pOtherBoss->SetPosition(thisPos); - me->SetPosition(otherPos); - - SetAfterTeleport(); - CAST_AI(boss_twinemperorsAI, pOtherBoss->AI())->SetAfterTeleport(); - } - } - - void SetAfterTeleport() - { - me->InterruptNonMeleeSpells(false); - DoStopAttack(); - DoResetThreat(); - DoCast(me, SPELL_TWIN_TELEPORT_VISUAL); - me->AddUnitState(UNIT_STATE_STUNNED); - AfterTeleport = true; - AfterTeleportTimer = 2000; - tspellcast = false; - } - - bool TryActivateAfterTTelep(uint32 diff) - { - if (AfterTeleport) - { - if (!tspellcast) - { - me->ClearUnitState(UNIT_STATE_STUNNED); - DoCast(me, SPELL_TWIN_TELEPORT); - me->AddUnitState(UNIT_STATE_STUNNED); - } - - tspellcast = true; - - if (AfterTeleportTimer <= diff) - { - AfterTeleport = false; - me->ClearUnitState(UNIT_STATE_STUNNED); - if (Unit* nearu = me->SelectNearestTarget(100)) + if (IAmVeklor()) { - //DoYell(nearu->GetName(), LANG_UNIVERSAL); - AttackStart(nearu); - me->AddThreat(nearu, 10000); - } - return true; - } - else - { - AfterTeleportTimer -= diff; - // update important timers which would otherwise get skipped - if (EnrageTimer > diff) - EnrageTimer -= diff; - else - EnrageTimer = 0; - if (Teleport_Timer > diff) - Teleport_Timer -= diff; - else - Teleport_Timer = 0; - return false; - } - } - else - { - return true; - } - } - - void MoveInLineOfSight(Unit* who) override - { - if (!who || me->GetVictim()) - return; - - if (me->CanCreatureAttack(who)) - { - if (me->IsWithinDistInMap(who, PULL_RANGE, true, false) && me->GetDistanceZ(who) <= /*CREATURE_Z_ATTACK_RANGE*/7 /*there are stairs*/) - { - //if (who->HasStealthAura()) - // who->RemoveSpellsCausingAura(SPELL_AURA_MOD_STEALTH); - AttackStart(who); - } - } - } - - Creature* RespawnNearbyBugsAndGetOne() - { - std::list lUnitList; - me->GetCreatureListWithEntryInGrid(lUnitList, 15316, 150.0f); - me->GetCreatureListWithEntryInGrid(lUnitList, 15317, 150.0f); - - if (lUnitList.empty()) - return nullptr; - - Creature* nearb = nullptr; - - for (std::list::const_iterator iter = lUnitList.begin(); iter != lUnitList.end(); ++iter) - { - Creature* c = *iter; - if (c) - { - if (c->isDead()) - { - c->Respawn(); - c->SetFaction(FACTION_CREATURE); - c->RemoveAllAuras(); - } - if (c->IsWithinDistInMap(me, ABUSE_BUG_RANGE)) - { - if (!nearb || (rand() % 4) == 0) - nearb = c; - } - } - } - return nearb; - } - - void HandleBugs(uint32 diff) - { - if (BugsTimer < diff || Abuse_Bug_Timer <= diff) - { - Creature* c = RespawnNearbyBugsAndGetOne(); - if (Abuse_Bug_Timer <= diff) - { - if (c) - { - CastSpellOnBug(c); - Abuse_Bug_Timer = urand(10000, 17000); + DoCastSelf(SPELL_FRENZY, true); + Talk(EMOTE_ENRAGE); } else - { - Abuse_Bug_Timer = 1000; - } - } - else + DoCastSelf(SPELL_BERSERK, true); + }) + .Schedule(3600ms, [this](TaskContext context) // according to sniffs it should be casted by both emperors. { - Abuse_Bug_Timer -= diff; - } - BugsTimer = 2000; - } - else - { - BugsTimer -= diff; - Abuse_Bug_Timer -= diff; - } + if (Creature* twin = GetTwin()) + { + if (me->IsWithinDist(twin, 60.f)) + DoCast(twin, SPELL_HEAL_BROTHER, true); + } + + context.Repeat(); + }); } - void CheckEnrage(uint32 diff) + void UpdateAI(uint32 diff) override { - if (EnrageTimer <= diff) - { - if (!me->IsNonMeleeSpellCast(true)) + if (!UpdateVictim() && _introDone) + return; + + _scheduler.Update(diff, [this] { - DoCast(me, SPELL_BERSERK); - EnrageTimer = 60 * 60000; - } - else EnrageTimer = 0; - } - else EnrageTimer -= diff; + if (!IAmVeklor()) + DoMeleeAttackIfReady(); + }); } + + virtual bool IAmVeklor() = 0; + +protected: + TaskScheduler _scheduler; + bool _introDone; }; struct boss_veknilash : public boss_twinemperorsAI @@ -385,192 +300,172 @@ struct boss_veknilash : public boss_twinemperorsAI bool IAmVeklor() override { return false; } - uint32 UpperCut_Timer; - uint32 UnbalancingStrike_Timer; - uint32 Scarabs_Timer; - int Rand; - int RandX; - int RandY; - - Creature* Summoned; - - void Reset() override + void EnterCombat(Unit* who) override { - TwinReset(); - UpperCut_Timer = urand(14000, 29000); - UnbalancingStrike_Timer = urand(8000, 18000); - Scarabs_Timer = urand(7000, 14000); + boss_twinemperorsAI::EnterCombat(who); - //Added. Can be removed if its included in DB. - me->ApplySpellImmune(0, IMMUNITY_DAMAGE, SPELL_SCHOOL_MASK_MAGIC, true); - } + DoPlaySoundToSet(me, SOUND_VN_AGGRO); - void CastSpellOnBug(Creature* target) override - { - target->SetFaction(FACTION_MONSTER); - target->AI()->AttackStart(me->GetThreatMgr().getHostileTarget()); - target->AddAura(SPELL_MUTATE_BUG, target); - target->SetFullHealth(); - } - - void UpdateAI(uint32 diff) override - { - //Return since we have no target - if (!UpdateVictim()) - return; - - if (!TryActivateAfterTTelep(diff)) - return; - - //UnbalancingStrike_Timer - if (UnbalancingStrike_Timer <= diff) - { - DoCastVictim(SPELL_UNBALANCING_STRIKE); - UnbalancingStrike_Timer = 8000 + rand() % 12000; - } - else UnbalancingStrike_Timer -= diff; - - if (UpperCut_Timer <= diff) - { - Unit* randomMelee = SelectTarget(SelectTargetMethod::Random, 0, NOMINAL_MELEE_RANGE, true); - if (randomMelee) - DoCast(randomMelee, SPELL_UPPERCUT); - UpperCut_Timer = 15000 + rand() % 15000; - } - else UpperCut_Timer -= diff; - - HandleBugs(diff); - - //Heal brother when 60yrds close - TryHealBrother(diff); - - //Teleporting to brother - if (Teleport_Timer <= diff) - { - TeleportToMyBrother(); - } - else Teleport_Timer -= diff; - - CheckEnrage(diff); - - DoMeleeAttackIfReady(); + _scheduler + .Schedule(14s, [this](TaskContext context) + { + DoCastRandomTarget(SPELL_UPPERCUT, 0, me->GetMeleeReach(), true); + context.Repeat(4s, 15s); + }) + .Schedule(12s, [this](TaskContext context) + { + DoCastVictim(SPELL_UNBALANCING_STRIKE); + context.Repeat(8s, 20s); + }) + .Schedule(16s, [this](TaskContext context) + { + DoCastAOE(SPELL_MUTATE_BUG); + context.Repeat(10s, 20s); + }); } }; struct boss_veklor : public boss_twinemperorsAI { - boss_veklor(Creature* creature) : boss_twinemperorsAI(creature) { } + boss_veklor(Creature* creature) : boss_twinemperorsAI(creature) + { + me->SetFloatValue(UNIT_FIELD_COMBATREACH, 45.f); + } bool IAmVeklor() override { return true; } - uint32 ShadowBolt_Timer; - uint32 Blizzard_Timer; - uint32 ArcaneBurst_Timer; - uint32 Scorpions_Timer; - int Rand; - int RandX; - - Creature* Summoned; - - void Reset() override + void EnterCombat(Unit* who) override { - TwinReset(); - ShadowBolt_Timer = 0; - Blizzard_Timer = urand(15000, 20000); - ArcaneBurst_Timer = 1000; - Scorpions_Timer = urand(7000, 14000); + boss_twinemperorsAI::EnterCombat(who); - //Added. Can be removed if its included in DB. - me->ApplySpellImmune(0, IMMUNITY_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, true); + DoPlaySoundToSet(me, SOUND_VK_AGGRO); + + _scheduler + .Schedule(4s, [this](TaskContext context) + { + DoCastVictim(SPELL_SHADOW_BOLT); + context.Repeat(2500ms); + }) + .Schedule(10s, 15s, [this](TaskContext context) + { + DoCastRandomTarget(SPELL_BLIZZARD, 0, 45.f); + context.Repeat(5s, 12s); + }) + .Schedule(1s, [this](TaskContext context) + { + if (me->SelectNearestPlayer(NOMINAL_MELEE_RANGE)) + DoCastAOE(SPELL_ARCANE_BURST); + context.Repeat(7s, 12s); + }) + .Schedule(30s, 40s, [this](TaskContext context) + { + DoCastSelf(SPELL_TWIN_TELEPORT_0); + context.Repeat(); + }) + .Schedule(5s, [this](TaskContext context) + { + DoCastAOE(SPELL_EXPLODE_BUG); + context.Repeat(4500ms, 10s); + }); } - void CastSpellOnBug(Creature* target) override + void SpellHit(Unit* /*caster*/, SpellInfo const* spellInfo) override { - target->SetFaction(FACTION_MONSTER); - target->AddAura(SPELL_EXPLODEBUG, target); - target->SetFullHealth(); + if (spellInfo->Id == SPELL_TWIN_TELEPORT_0) + { + if (Creature* veknilash = GetTwin()) + { + DoCastSelf(SPELL_TWIN_TELEPORT_1, true); + me->SetControlled(true, UNIT_STATE_ROOT); + + Position veklorPos = me->GetPosition(); + Position veknilashPos = veknilash->GetPosition(); + me->NearTeleportTo(veknilashPos); + + veknilash->CastSpell(veknilash, SPELL_TWIN_TELEPORT_1, true); + veknilash->SetControlled(true, UNIT_STATE_ROOT); + veknilash->NearTeleportTo(veklorPos); + + veknilash->AI()->DoAction(ACTION_AFTER_TELEPORT); + DoAction(ACTION_AFTER_TELEPORT); + } + } + } +}; + +class at_twin_emperors : public OnlyOnceAreaTriggerScript +{ +public: + at_twin_emperors() : OnlyOnceAreaTriggerScript("at_twin_emperors") { } + + bool _OnTrigger(Player* player, const AreaTrigger* /*at*/) override + { + if (InstanceScript* instance = player->GetInstanceScript()) + { + if (instance->GetBossState(DATA_TWIN_EMPERORS) != DONE) + { + if (Creature* mastersEye = instance->GetCreature(DATA_MASTERS_EYE)) + { + mastersEye->AI()->Talk(EMOTE_MASTERS_EYE_AT, player); + mastersEye->DespawnOrUnsummon(11000); + mastersEye->m_Events.AddEventAtOffset([mastersEye, player]() + { + mastersEye->SetFacingToObject(player); + }, 3s); + } + + if (Creature* veklor = instance->GetCreature(DATA_VEKLOR)) + veklor->AI()->DoAction(ACTION_START_INTRO); + + if (Creature* veknilash = instance->GetCreature(DATA_VEKNILASH)) + veknilash->AI()->DoAction(ACTION_START_INTRO); + } + } + return false; + } +}; + +class spell_mutate_explode_bug : public SpellScript +{ + PrepareSpellScript(spell_mutate_explode_bug); + + void FilterTargets(std::list& targets) + { + targets.remove_if([&](WorldObject const* target) -> bool + { + if (target->GetEntry() != NPC_QIRAJI_SCARAB && target->GetEntry() != NPC_QIRAJI_SCORPION) + return true; + if (Creature const* creature = target->ToCreature()) + if (creature->HasAura(SPELL_EXPLODE_BUG) || creature->HasAura(SPELL_MUTATE_BUG)) + return true; + + return false; + }); + + Acore::Containers::RandomResize(targets, 1); } - void UpdateAI(uint32 diff) override + void HandleOnHit() { - //Return since we have no target - if (!UpdateVictim()) + if (!GetHitUnit()) return; - // reset arcane burst after teleport - we need to do this because - // when VL jumps to VN's location there will be a warrior who will get only 2s to run away - // which is almost impossible - if (AfterTeleport) - ArcaneBurst_Timer = 5000; - if (!TryActivateAfterTTelep(diff)) + Creature* target = GetHitUnit()->ToCreature(); + + if (!target) return; - //ShadowBolt_Timer - if (ShadowBolt_Timer <= diff) - { - if (!me->IsWithinDist(me->GetVictim(), 45.0f)) - me->GetMotionMaster()->MoveChase(me->GetVictim(), VEKLOR_DIST, 0); - else - DoCastVictim(SPELL_SHADOWBOLT); - ShadowBolt_Timer = 2000; - } - else ShadowBolt_Timer -= diff; - - //Blizzard_Timer - if (Blizzard_Timer <= diff) - { - Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 45, true); - if (target) - { - DoCast(target, SPELL_BLIZZARD); - } - Blizzard_Timer = 15000 + rand() % 15000; - } - else Blizzard_Timer -= diff; - - if (ArcaneBurst_Timer <= diff) - { - Unit* mvic; - if ((mvic = SelectTarget(SelectTargetMethod::MaxDistance, 0, NOMINAL_MELEE_RANGE, true)) != nullptr) - { - DoCast(mvic, SPELL_ARCANEBURST); - ArcaneBurst_Timer = 5000; - } - } - else ArcaneBurst_Timer -= diff; - - HandleBugs(diff); - - //Heal brother when 60yrds close - TryHealBrother(diff); - - //Teleporting to brother - if (Teleport_Timer <= diff) - { - TeleportToMyBrother(); - } - else Teleport_Timer -= diff; - - CheckEnrage(diff); - - //VL doesn't melee - //DoMeleeAttackIfReady(); + if (m_scriptSpellId == SPELL_MUTATE_BUG) + target->CastSpell(target, SPELL_VIRULENT_POISON_PROC, true); + target->SetFaction(FACTION_HOSTILE); + target->SetReactState(REACT_AGGRESSIVE); + target->SetInCombatWithZone(); } - void AttackStart(Unit* who) override + void Register() override { - if (!who) - return; - - if (who->isTargetableForAttack()) - { - // VL doesn't melee - if (me->Attack(who, false)) - { - me->GetMotionMaster()->MoveChase(who, VEKLOR_DIST, 0); - me->AddThreat(who, 0.0f); - } - } + OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_mutate_explode_bug::FilterTargets, EFFECT_ALL, TARGET_UNIT_SRC_AREA_ENTRY); + OnHit += SpellHitFn(spell_mutate_explode_bug::HandleOnHit); } }; @@ -578,4 +473,6 @@ void AddSC_boss_twinemperors() { RegisterTempleOfAhnQirajCreatureAI(boss_veknilash); RegisterTempleOfAhnQirajCreatureAI(boss_veklor); + new at_twin_emperors(); + RegisterSpellScript(spell_mutate_explode_bug); } diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp index 38097a791..aeab896c8 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp @@ -24,7 +24,10 @@ ObjectData const creatureData[] = { { NPC_SARTURA, DATA_SARTURA }, { NPC_EYE_OF_CTHUN, DATA_EYE_OF_CTHUN }, - { NPC_OURO_SPAWNER, DATA_OURO_SPAWNER } + { NPC_OURO_SPAWNER, DATA_OURO_SPAWNER }, + { NPC_MASTERS_EYE, DATA_MASTERS_EYE }, + { NPC_VEKLOR, DATA_VEKLOR }, + { NPC_VEKNILASH, DATA_VEKNILASH } }; class instance_temple_of_ahnqiraj : public InstanceMapScript @@ -46,15 +49,10 @@ public: SetBossNumber(MAX_BOSS_NUMBER); } - //If Vem is dead... - bool IsBossDied[3]; - ObjectGuid SkeramGUID; ObjectGuid VemGUID; ObjectGuid KriGUID; ObjectGuid YaujGUID; - ObjectGuid VeklorGUID; - ObjectGuid VeknilashGUID; ObjectGuid ViscidusGUID; ObjectGuid CThunGUID; GuidVector CThunGraspGUIDs; @@ -65,9 +63,6 @@ public: void Initialize() override { - IsBossDied[0] = false; - IsBossDied[1] = false; - IsBossDied[2] = false; BugTrioDeathCount = 0; CthunPhase = 0; } @@ -92,16 +87,6 @@ public: case NPC_YAUJ: YaujGUID = creature->GetGUID(); break; - case NPC_VEKLOR: - VeklorGUID = creature->GetGUID(); - if (!creature->IsAlive()) - { - HandleGameObject(doorGUIDs[1], true); - } - break; - case NPC_VEKNILASH: - VeknilashGUID = creature->GetGUID(); - break; case NPC_VISCIDUS: ViscidusGUID = creature->GetGUID(); break; @@ -109,6 +94,10 @@ public: if (GetBossState(DATA_OURO) != DONE) creature->Respawn(); break; + case NPC_MASTERS_EYE: + if (GetBossState(DATA_TWIN_EMPERORS) != DONE) + creature->Respawn(true); + break; case NPC_CTHUN: CThunGUID = creature->GetGUID(); if (!creature->IsAlive()) @@ -138,7 +127,7 @@ public: break; case AQ40_DOOR_2: doorGUIDs[1] = go->GetGUID(); - if (Creature* veklor = instance->GetCreature(VeklorGUID)) + if (Creature* veklor = GetCreature(DATA_VEKLOR)) { if (!veklor->IsAlive()) { @@ -177,16 +166,6 @@ public: { switch (type) { - case DATA_VEKLORISDEAD: - if (IsBossDied[1]) - return 1; - break; - - case DATA_VEKNILASHISDEAD: - if (IsBossDied[2]) - return 1; - break; - case DATA_BUG_TRIO_DEATH: return BugTrioDeathCount; @@ -208,10 +187,6 @@ public: return KriGUID; case DATA_YAUJ: return YaujGUID; - case DATA_VEKLOR: - return VeklorGUID; - case DATA_VEKNILASH: - return VeknilashGUID; case DATA_VISCIDUS: return ViscidusGUID; case AQ40_DOOR_1: @@ -234,12 +209,6 @@ public: else BugTrioDeathCount = 0; break; - case DATA_VEKLOR_DEATH: - IsBossDied[1] = true; - break; - case DATA_VEKNILASH_DEATH: - IsBossDied[2] = true; - break; case DATA_CTHUN_PHASE: CthunPhase = data; if (data == PHASE_CTHUN_DONE) @@ -253,6 +222,8 @@ public: } } break; + default: + break; } } diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/temple_of_ahnqiraj.h b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/temple_of_ahnqiraj.h index e5d2ed286..1cba3f384 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/temple_of_ahnqiraj.h +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/temple_of_ahnqiraj.h @@ -42,17 +42,15 @@ enum DataTypes DATA_BUG_TRIO_DEATH = 13, DATA_OURO_SPAWNER = 14, DATA_VEKLOR = 15, - DATA_VEKLORISDEAD = 16, - DATA_VEKLOR_DEATH = 17, - DATA_VEKNILASH = 18, - DATA_VEKNILASHISDEAD = 19, - DATA_VEKNILASH_DEATH = 20, - DATA_CTHUN_PHASE = 21, - DATA_EYE_OF_CTHUN = 22 + DATA_VEKNILASH = 16, + DATA_CTHUN_PHASE = 17, + DATA_EYE_OF_CTHUN = 18, + DATA_MASTERS_EYE = 19 }; enum Creatures { + NPC_MASTERS_EYE = 15963, NPC_CTHUN = 15727, NPC_EYE_OF_CTHUN = 15589, NPC_CTHUN_PORTAL = 15896, From e8d3fe5cbceff7f8b7fb56d1c3ecde66c44c176e Mon Sep 17 00:00:00 2001 From: AzerothCoreBot Date: Wed, 7 Sep 2022 00:35:52 +0000 Subject: [PATCH 38/41] chore(DB): import pending files Referenced commit(s): fa825ec4198654bc123660e556d402150b619fc7 --- .../rev_1661470486331915500.sql => db_world/2022_09_07_07.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1661470486331915500.sql => db_world/2022_09_07_07.sql} (98%) diff --git a/data/sql/updates/pending_db_world/rev_1661470486331915500.sql b/data/sql/updates/db_world/2022_09_07_07.sql similarity index 98% rename from data/sql/updates/pending_db_world/rev_1661470486331915500.sql rename to data/sql/updates/db_world/2022_09_07_07.sql index 8186a602c..6f1c676fc 100644 --- a/data/sql/updates/pending_db_world/rev_1661470486331915500.sql +++ b/data/sql/updates/db_world/2022_09_07_07.sql @@ -1,3 +1,4 @@ +-- DB update 2022_09_07_06 -> 2022_09_07_07 -- UPDATE `creature_template_addon` SET `bytes1` = 54432 WHERE `entry` = 15963; UPDATE `creature_template_addon` SET `auras` = '18943' WHERE `entry` = 15275; From e13dfb8d32e563c4f6ca0ce572173757ce95e63d Mon Sep 17 00:00:00 2001 From: Gultask <100873791+Gultask@users.noreply.github.com> Date: Tue, 6 Sep 2022 21:36:57 -0300 Subject: [PATCH 39/41] fix(DB/creature): Rework AQ40 Qiraji Champion packs after Twin Emperors. (#12862) --- .../rev_1661562295038962300.sql | 241 ++++++++++++++++++ 1 file changed, 241 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1661562295038962300.sql diff --git a/data/sql/updates/pending_db_world/rev_1661562295038962300.sql b/data/sql/updates/pending_db_world/rev_1661562295038962300.sql new file mode 100644 index 000000000..05dd9741a --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1661562295038962300.sql @@ -0,0 +1,241 @@ +-- Delete Current Spawns +DELETE FROM `creature` WHERE `guid` IN (88035,88042,88053,88039,88040,88041,88052,88057,88055,88056,88054,88058,88059,88060,88061,88062,88036,88049,88050,88051,88037,88043,88044,88048,88038,88045,88046,88047,88030,88031,88032,88033,88034); + +-- Spawn Qiraji Champions +SET @GUID=88000; +DELETE FROM `creature` WHERE (`id1` = 15252) AND `guid` BETWEEN @GUID AND @GUID+7; +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`) VALUES +(@GUID, 15252, 0, 0, 531, 0, 0, 1, 1, 0, -9084.354, 1468.4955, -106.0379, 5.43525, 604800, 0, 0, 1, 0, 2, 0, 0, 0, ''), +(@GUID+1, 15252, 0, 0, 531, 0, 0, 1, 1, 0, -9090.233, 1422.9799, -106.97796, 3.50811, 604800, 0, 0, 1, 0, 2, 0, 0, 0, ''), +(@GUID+2, 15252, 0, 0, 531, 0, 0, 1, 1, 0, -9137.567, 1487.8439, -100.96495, 5.36227, 604800, 0, 0, 1, 0, 2, 0, 0, 0, ''), +(@GUID+3, 15252, 0, 0, 531, 0, 0, 1, 1, 0, -9190.533, 1554.3728, -81.214035, 3.10226, 604800, 0, 0, 1, 0, 2, 0, 0, 0, ''), +(@GUID+4, 15252, 0, 0, 531, 0, 0, 1, 1, 0, -9186.851, 1666.4683, -62.07425, 4.80582, 604800, 0, 0, 1, 0, 2, 0, 0, 0, ''), +(@GUID+5, 15252, 0, 0, 531, 0, 0, 1, 1, 0, -9103.887, 1791.9912, -42.998283, 5.37249, 604800, 0, 0, 1, 0, 2, 0, 0, 0, ''), +(@GUID+6, 15252, 0, 0, 531, 0, 0, 1, 1, 0, -9041.144, 1908.4006, -48.003925, 4.45090, 604800, 0, 0, 1, 0, 2, 0, 0, 0, ''), +(@GUID+7, 15252, 0, 0, 531, 0, 0, 1, 1, 0, -8935.066, 1865.009, -23.424952, 6.17906, 604800, 0, 0, 1, 0, 2, 0, 0, 0, ''); + +-- Populate Qiraji Champion creature_addon +SET @GUID=88000; +SET @PATH=@GUID*10; +DELETE FROM `creature_addon` WHERE `guid` BETWEEN @GUID AND @GUID+7; +INSERT INTO `creature_addon` (`guid`, `path_id`) VALUES +(@GUID, @PATH), +(@GUID+1, @PATH+10), +(@GUID+2, @PATH+20), +(@GUID+3, @PATH+30), +(@GUID+4, @PATH+40), +(@GUID+5, @PATH+50), +(@GUID+6, @PATH+60), +(@GUID+7, @PATH+70); + +-- Populate Qiraji Champion waypoint_data +SET @PATH=880000; +DELETE FROM `waypoint_data` WHERE `id` BETWEEN @PATH AND @PATH+70; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-9071.842,1448.6152,-107.16646,0,0,0,0,100,0), +(@PATH,2,-9068.438,1426.9384,-106.18562,0,0,0,0,100,0), +(@PATH,3,-9079.124,1418.1312,-105.92381,0,0,0,0,100,0), +(@PATH,4,-9085.175,1408.8229,-107.159454,0,0,0,0,100,0), +(@PATH,5,-9078.674,1389.3668,-107.254326,0,0,0,0,100,0), +(@PATH,6,-9085.175,1408.8229,-107.159454,0,0,0,0,100,0), +(@PATH,7,-9079.124,1418.1312,-105.92381,0,0,0,0,100,0), +(@PATH,8,-9068.438,1426.9384,-106.18562,0,0,0,0,100,0), +(@PATH,9,-9071.842,1448.6152,-107.16646,0,0,0,0,100,0), +(@PATH,10,-9079.549,1463.0496,-106.512474,0,0,0,0,100,0), +(@PATH,11,-9095.044,1480.6129,-104.46336,0,0,0,0,100,0), +(@PATH,12,-9079.549,1463.0496,-106.512474,0,0,0,0,100,0), + +(@PATH+10,1,-9109.25,1389.2318,-105.27063,0,0,0,0,100,0), +(@PATH+10,2,-9113.79,1379.4674,-106.08063,0,0,0,0,100,0), +(@PATH+10,3,-9109.513,1368.4327,-106.12819,0,0,0,0,100,0), +(@PATH+10,4,-9093.346,1349.2266,-105.71996,0,0,0,0,100,0), +(@PATH+10,5,-9109.513,1368.4327,-106.12819,0,0,0,0,100,0), +(@PATH+10,6,-9113.79,1379.4674,-106.08063,0,0,0,0,100,0), +(@PATH+10,7,-9109.25,1389.2318,-105.27063,0,0,0,0,100,0), +(@PATH+10,8,-9088.794,1402.942,-107.27606,0,0,0,0,100,0), +(@PATH+10,9,-9090.342,1424.4956,-106.94064,0,0,0,0,100,0), +(@PATH+10,10,-9100.282,1443.9431,-105.77489,0,0,0,0,100,0), +(@PATH+10,11,-9112.797,1462.5339,-104.37182,0,0,0,0,100,0), +(@PATH+10,12,-9122.758,1479.1681,-102.85078,0,0,0,0,100,0), +(@PATH+10,13,-9104.083,1500.9688,-101.066635,0,0,0,0,100,0), +(@PATH+10,14,-9122.758,1479.1681,-102.85078,0,0,0,0,100,0), +(@PATH+10,15,-9112.797,1462.5339,-104.37182,0,0,0,0,100,0), +(@PATH+10,16,-9100.282,1443.9431,-105.77489,0,0,0,0,100,0), +(@PATH+10,17,-9090.342,1424.4956,-106.94064,0,0,0,0,100,0), +(@PATH+10,18,-9088.794,1402.942,-107.27606,0,0,0,0,100,0), + +(@PATH+20,1,-9120.028,1460.0247,-104.9437,0,0,0,0,100,0), +(@PATH+20,2,-9108.87,1443.3677,-106.25716,0,0,0,0,100,0), +(@PATH+20,3,-9099.057,1427.2927,-107.103226,0,0,0,0,100,0), +(@PATH+20,4,-9096.639,1417.5907,-107.26497,0,0,0,0,100,0), +(@PATH+20,5,-9099.442,1405.656,-106.94812,0,0,0,0,100,0), +(@PATH+20,6,-9105.756,1398.8098,-105.28489,0,0,0,0,100,0), +(@PATH+20,7,-9118.653,1397.3756,-105.598076,0,0,0,0,100,0), +(@PATH+20,8,-9130.374,1400.4437,-106.48076,0,0,0,0,100,0), +(@PATH+20,9,-9138.999,1407.8413,-106.61274,0,0,0,0,100,0), +(@PATH+20,10,-9146.455,1420.712,-105.819374,0,0,0,0,100,0), +(@PATH+20,11,-9156.749,1439.5825,-104.12464,0,0,0,0,100,0), +(@PATH+20,12,-9161.934,1452.5621,-102.512886,0,0,0,0,100,0), +(@PATH+20,13,-9165.986,1465.8962,-100.283134,0,0,0,0,100,0), +(@PATH+20,14,-9165.363,1479.6637,-97.66172,0,0,0,0,100,0), +(@PATH+20,15,-9159.533,1487.8873,-96.90047,0,0,0,0,100,0), +(@PATH+20,16,-9147.006,1492.9117,-99.39198,0,0,0,0,100,0), +(@PATH+20,17,-9139.057,1489.8036,-100.58021,0,0,0,0,100,0), +(@PATH+20,18,-9132.579,1481.2805,-102.249504,0,0,0,0,100,0), + +(@PATH+30,1,-9226.716,1588.6461,-74.27685,0,0,0,0,100,0), +(@PATH+30,2,-9207.555,1555.0427,-80.2188,0,0,0,0,100,0), +(@PATH+30,3,-9180.568,1553.9806,-82.713486,0,0,0,0,100,0), +(@PATH+30,4,-9163.466,1546.0941,-88.693794,0,0,0,0,100,0), +(@PATH+30,5,-9154.607,1528.3339,-92.51037,0,0,0,0,100,0), +(@PATH+30,6,-9146.913,1513.6383,-95.499725,0,0,0,0,100,0), +(@PATH+30,7,-9154.607,1528.3339,-92.51037,0,0,0,0,100,0), +(@PATH+30,8,-9163.466,1546.0941,-88.693794,0,0,0,0,100,0), +(@PATH+30,9,-9180.568,1553.9806,-82.713486,0,0,0,0,100,0), +(@PATH+30,10,-9207.555,1555.0427,-80.2188,0,0,0,0,100,0), +(@PATH+30,11,-9154.607,1528.3339,-92.51037,0,0,0,0,100,0), +(@PATH+30,12,-9163.466,1546.0941,-88.693794,0,0,0,0,100,0), +(@PATH+30,13,-9180.568,1553.9806,-82.713486,0,0,0,0,100,0), +(@PATH+30,14,-9207.555,1555.0427,-80.2188,0,0,0,0,100,0), + +(@PATH+40,1,-9180.012,1602.1628,-75.35062,0,0,0,0,100,0), +(@PATH+40,2,-9175.272,1573.6725,-81.40051,0,0,0,0,100,0), +(@PATH+40,3,-9180.012,1602.1628,-75.35062,0,0,0,0,100,0), +(@PATH+40,4,-9183.868,1634.6426,-68.77805,0,0,0,0,100,0), +(@PATH+40,5,-9180.012,1602.1628,-75.35062,0,0,0,0,100,0), +(@PATH+40,6,-9183.868,1634.6426,-68.77805,0,0,0,0,100,0), +(@PATH+40,7,-9187.721,1675.7582,-59.37428,0,0,0,0,100,0), +(@PATH+40,8,-9176.217,1702.235,-48.23823,0,0,0,0,100,0), +(@PATH+40,9,-9156.171,1732.5007,-41.41366,0,0,0,0,100,0), +(@PATH+40,10,-9176.217,1702.235,-48.23823,0,0,0,0,100,0), +(@PATH+40,11,-9187.721,1675.7582,-59.37428,0,0,0,0,100,0), +(@PATH+40,12,-9183.868,1634.6426,-68.77805,0,0,0,0,100,0), + +(@PATH+50,1,-9097.918,1764.9274,-42.487713,0,0,0,0,100,0), +(@PATH+50,2,-9109.785,1750.159,-42.950085,0,0,0,0,100,0), +(@PATH+50,3,-9128.2705,1748.0282,-42.561733,0,0,0,0,100,0), +(@PATH+50,4,-9136.415,1759.8807,-42.47679,0,0,0,0,100,0), +(@PATH+50,5,-9140.821,1771.0172,-42.568924,0,0,0,0,100,0), +(@PATH+50,6,-9137.58,1785.764,-42.458168,0,0,0,0,100,0), +(@PATH+50,7,-9128.144,1795.003,-42.741543,0,0,0,0,100,0), +(@PATH+50,8,-9114.63,1797.1588,-42.17985,0,0,0,0,100,0), +(@PATH+50,9,-9104.095,1792.2587,-42.982845,0,0,0,0,100,0), +(@PATH+50,10,-9095.07,1780.6278,-42.62543,0,0,0,0,100,0), + +(@PATH+60,1,-9051.911,1860.0577,-44.409836,0,0,0,0,100,0), +(@PATH+60,2,-9069.832,1836.4388,-44.38335,0,0,0,0,100,0), +(@PATH+60,3,-9094.577,1803.9618,-43.69297,0,0,0,0,100,0), +(@PATH+60,4,-9069.832,1836.4388,-44.38335,0,0,0,0,100,0), +(@PATH+60,5,-9051.911,1860.0577,-44.409836,0,0,0,0,100,0), +(@PATH+60,6,-9047.0205,1886.464,-45.332012,0,0,0,0,100,0), +(@PATH+60,7,-9041.144,1908.4006,-48.003925,0,0,0,0,100,0), +(@PATH+60,8,-9047.0205,1886.464,-45.332012,0,0,0,0,100,0), +(@PATH+60,9,-9051.911,1860.0577,-44.409836,0,0,0,0,100,0), + +(@PATH+70,1,-8941.5205,1865.6836,-23.960814,0,0,0,0,100,0), +(@PATH+70,2,-8955.824,1867.7888,-28.349794,0,0,0,0,100,0), +(@PATH+70,3,-8979.011,1871.0109,-38.4369,0,0,0,0,100,0), +(@PATH+70,4,-8999.37,1868.4137,-42.115707,0,0,0,0,100,0), +(@PATH+70,5,-9020.922,1856.5653,-44.284344,0,0,0,0,100,0), +(@PATH+70,6,-8999.37,1868.4137,-42.115707,0,0,0,0,100,0), +(@PATH+70,7,-8979.011,1871.0109,-38.4369,0,0,0,0,100,0), +(@PATH+70,8,-8955.824,1867.7888,-28.349794,0,0,0,0,100,0), +(@PATH+70,9,-8941.5205,1865.6836,-23.960814,0,0,0,0,100,0), +(@PATH+70,10,-8925.307,1863.9891,-23.26311,0,0,0,0,100,0); + +-- Spawn Formation Members +SET @GUID=88030; +DELETE FROM `creature` WHERE `guid` BETWEEN @GUID AND @GUID+31; +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`) VALUES +(@GUID, 15250, 15246, 0, 531, 0, 0, 1, 1, 0, -9084.354, 1468.4955, -106.0379, 5.43525, 604800, 0, 0, 1, 0, 0, 0, 0, 0, ''), +(@GUID+1, 15250, 15246, 0, 531, 0, 0, 1, 1, 0, -9084.354, 1468.4955, -106.0379, 5.43525, 604800, 0, 0, 1, 0, 0, 0, 0, 0, ''), +(@GUID+2, 15250, 15246, 0, 531, 0, 0, 1, 1, 0, -9084.354, 1468.4955, -106.0379, 5.43525, 604800, 0, 0, 1, 0, 0, 0, 0, 0, ''), +(@GUID+3, 15250, 15246, 0, 531, 0, 0, 1, 1, 0, -9084.354, 1468.4955, -106.0379, 5.43525, 604800, 0, 0, 1, 0, 0, 0, 0, 0, ''), + +(@GUID+4, 15250, 15246, 0, 531, 0, 0, 1, 1, 0, -9090.233, 1422.9799, -106.97796, 3.50811, 604800, 0, 0, 1, 0, 0, 0, 0, 0, ''), +(@GUID+5, 15250, 15246, 0, 531, 0, 0, 1, 1, 0, -9090.233, 1422.9799, -106.97796, 3.50811, 604800, 0, 0, 1, 0, 0, 0, 0, 0, ''), +(@GUID+6, 15250, 15246, 0, 531, 0, 0, 1, 1, 0, -9090.233, 1422.9799, -106.97796, 3.50811, 604800, 0, 0, 1, 0, 0, 0, 0, 0, ''), +(@GUID+7, 15250, 15246, 0, 531, 0, 0, 1, 1, 0, -9090.233, 1422.9799, -106.97796, 3.50811, 604800, 0, 0, 1, 0, 0, 0, 0, 0, ''), + +(@GUID+8, 15250, 15246, 0, 531, 0, 0, 1, 1, 0, -9137.567, 1487.8439, -100.96495, 5.36227, 604800, 0, 0, 1, 0, 0, 0, 0, 0, ''), +(@GUID+9, 15250, 15246, 0, 531, 0, 0, 1, 1, 0, -9137.567, 1487.8439, -100.96495, 5.36227, 604800, 0, 0, 1, 0, 0, 0, 0, 0, ''), +(@GUID+10, 15250, 15246, 0, 531, 0, 0, 1, 1, 0, -9137.567, 1487.8439, -100.96495, 5.36227, 604800, 0, 0, 1, 0, 0, 0, 0, 0, ''), +(@GUID+11, 15250, 15246, 0, 531, 0, 0, 1, 1, 0, -9137.567, 1487.8439, -100.96495, 5.36227, 604800, 0, 0, 1, 0, 0, 0, 0, 0, ''), + +(@GUID+12, 15250, 15246, 0, 531, 0, 0, 1, 1, 0, -9190.533, 1554.3728, -81.214035, 3.10226, 604800, 0, 0, 1, 0, 0, 0, 0, 0, ''), +(@GUID+13, 15250, 15246, 0, 531, 0, 0, 1, 1, 0, -9190.533, 1554.3728, -81.214035, 3.10226, 604800, 0, 0, 1, 0, 0, 0, 0, 0, ''), +(@GUID+14, 15250, 15246, 0, 531, 0, 0, 1, 1, 0, -9190.533, 1554.3728, -81.214035, 3.10226, 604800, 0, 0, 1, 0, 0, 0, 0, 0, ''), +(@GUID+15, 15250, 15246, 0, 531, 0, 0, 1, 1, 0, -9190.533, 1554.3728, -81.214035, 3.10226, 604800, 0, 0, 1, 0, 0, 0, 0, 0, ''), + +(@GUID+16, 15250, 15246, 0, 531, 0, 0, 1, 1, 0, -9186.851, 1666.4683, -62.07425, 4.80582, 604800, 0, 0, 1, 0, 0, 0, 0, 0, ''), +(@GUID+17, 15250, 15246, 0, 531, 0, 0, 1, 1, 0, -9186.851, 1666.4683, -62.07425, 4.80582, 604800, 0, 0, 1, 0, 0, 0, 0, 0, ''), +(@GUID+18, 15250, 15246, 0, 531, 0, 0, 1, 1, 0, -9186.851, 1666.4683, -62.07425, 4.80582, 604800, 0, 0, 1, 0, 0, 0, 0, 0, ''), +(@GUID+19, 15250, 15246, 0, 531, 0, 0, 1, 1, 0, -9186.851, 1666.4683, -62.07425, 4.80582, 604800, 0, 0, 1, 0, 0, 0, 0, 0, ''), + +(@GUID+20, 15250, 15246, 0, 531, 0, 0, 1, 1, 0, -9103.887, 1791.9912, -42.998283, 5.37249, 604800, 0, 0, 1, 0, 0, 0, 0, 0, ''), +(@GUID+21, 15250, 15246, 0, 531, 0, 0, 1, 1, 0, -9103.887, 1791.9912, -42.998283, 5.37249, 604800, 0, 0, 1, 0, 0, 0, 0, 0, ''), +(@GUID+22, 15250, 15246, 0, 531, 0, 0, 1, 1, 0, -9103.887, 1791.9912, -42.998283, 5.37249, 604800, 0, 0, 1, 0, 0, 0, 0, 0, ''), +(@GUID+23, 15250, 15246, 0, 531, 0, 0, 1, 1, 0, -9103.887, 1791.9912, -42.998283, 5.37249, 604800, 0, 0, 1, 0, 0, 0, 0, 0, ''), + +(@GUID+24, 15250, 15246, 0, 531, 0, 0, 1, 1, 0, -9041.144, 1908.4006, -48.003925, 4.45090, 604800, 0, 0, 1, 0, 0, 0, 0, 0, ''), +(@GUID+25, 15250, 15246, 0, 531, 0, 0, 1, 1, 0, -9041.144, 1908.4006, -48.003925, 4.45090, 604800, 0, 0, 1, 0, 0, 0, 0, 0, ''), +(@GUID+26, 15250, 15246, 0, 531, 0, 0, 1, 1, 0, -9041.144, 1908.4006, -48.003925, 4.45090, 604800, 0, 0, 1, 0, 0, 0, 0, 0, ''), +(@GUID+27, 15250, 15246, 0, 531, 0, 0, 1, 1, 0, -9041.144, 1908.4006, -48.003925, 4.45090, 604800, 0, 0, 1, 0, 0, 0, 0, 0, ''), + +(@GUID+28, 15250, 15246, 0, 531, 0, 0, 1, 1, 0, -8935.066, 1865.009, -23.424952, 6.17906, 604800, 0, 0, 1, 0, 0, 0, 0, 0, ''), +(@GUID+29, 15250, 15246, 0, 531, 0, 0, 1, 1, 0, -8935.066, 1865.009, -23.424952, 6.17906, 604800, 0, 0, 1, 0, 0, 0, 0, 0, ''), +(@GUID+30, 15250, 15246, 0, 531, 0, 0, 1, 1, 0, -8935.066, 1865.009, -23.424952, 6.17906, 604800, 0, 0, 1, 0, 0, 0, 0, 0, ''), +(@GUID+31, 15250, 15246, 0, 531, 0, 0, 1, 1, 0, -8935.066, 1865.009, -23.424952, 6.17906, 604800, 0, 0, 1, 0, 0, 0, 0, 0, ''); + +-- Create Formations +SET @LEADER=88000; +SET @MEMBER=88030; +DELETE FROM `creature_formations` WHERE `leaderGUID` BETWEEN @LEADER AND @LEADER+7; +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(@LEADER, @LEADER, 0, 0, 515, 0, 0), +(@LEADER, @MEMBER, 6, 0, 515, 0, 0), +(@LEADER, @MEMBER+1, 6, 90, 515, 0, 0), +(@LEADER, @MEMBER+2, 6, 180, 515, 0, 0), +(@LEADER, @MEMBER+3, 6, 270, 515, 0, 0), + +(@LEADER+1, @LEADER+1, 0, 0, 515, 0, 0), +(@LEADER+1, @MEMBER+4, 6, 0, 515, 0, 0), +(@LEADER+1, @MEMBER+5, 6, 90, 515, 0, 0), +(@LEADER+1, @MEMBER+6, 6, 180, 515, 0, 0), +(@LEADER+1, @MEMBER+7, 6, 270, 515, 0, 0), + +(@LEADER+2, @LEADER+2, 0, 0, 515, 0, 0), +(@LEADER+2, @MEMBER+8, 6, 0, 515, 0, 0), +(@LEADER+2, @MEMBER+9, 6, 90, 515, 0, 0), +(@LEADER+2, @MEMBER+10, 6, 180, 515, 0, 0), +(@LEADER+2, @MEMBER+11, 6, 270, 515, 0, 0), + +(@LEADER+3, @LEADER+3, 0, 0, 515, 0, 0), +(@LEADER+3, @MEMBER+12, 6, 0, 515, 0, 0), +(@LEADER+3, @MEMBER+13, 6, 90, 515, 0, 0), +(@LEADER+3, @MEMBER+14, 6, 180, 515, 0, 0), +(@LEADER+3, @MEMBER+15, 6, 270, 515, 0, 0), + +(@LEADER+4, @LEADER+4, 0, 0, 515, 0, 0), +(@LEADER+4, @MEMBER+16, 6, 0, 515, 0, 0), +(@LEADER+4, @MEMBER+17, 6, 90, 515, 0, 0), +(@LEADER+4, @MEMBER+18, 6, 180, 515, 0, 0), +(@LEADER+4, @MEMBER+19, 6, 270, 515, 0, 0), + +(@LEADER+5, @LEADER+5, 0, 0, 515, 0, 0), +(@LEADER+5, @MEMBER+20, 6, 0, 515, 0, 0), +(@LEADER+5, @MEMBER+21, 6, 90, 515, 0, 0), +(@LEADER+5, @MEMBER+22, 6, 180, 515, 0, 0), +(@LEADER+5, @MEMBER+23, 6, 270, 515, 0, 0), + +(@LEADER+6, @LEADER+6, 0, 0, 515, 0, 0), +(@LEADER+6, @MEMBER+24, 6, 0, 515, 0, 0), +(@LEADER+6, @MEMBER+25, 6, 90, 515, 0, 0), +(@LEADER+6, @MEMBER+26, 6, 180, 515, 0, 0), +(@LEADER+6, @MEMBER+27, 6, 270, 515, 0, 0), + +(@LEADER+7, @LEADER+7, 0, 0, 515, 0, 0), +(@LEADER+7, @MEMBER+28, 6, 0, 515, 0, 0), +(@LEADER+7, @MEMBER+29, 6, 90, 515, 0, 0), +(@LEADER+7, @MEMBER+30, 6, 180, 515, 0, 0), +(@LEADER+7, @MEMBER+31, 6, 270, 515, 0, 0); From 0ae93c1c944e11a193801ee9e30320c8ebb80351 Mon Sep 17 00:00:00 2001 From: UltraNix <80540499+UltraNix@users.noreply.github.com> Date: Wed, 7 Sep 2022 02:38:50 +0200 Subject: [PATCH 40/41] =?UTF-8?q?fix(Scripts/Item):=20Winter=20Veil=20Disg?= =?UTF-8?q?uise=20Kit=20cannot=20be=20used=20during=20pre=E2=80=A6=20(#128?= =?UTF-8?q?83)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ...paration phase. --- .../rev_1661691696095705000.sql | 4 +++ src/server/scripts/Spells/spell_item.cpp | 27 +++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1661691696095705000.sql diff --git a/data/sql/updates/pending_db_world/rev_1661691696095705000.sql b/data/sql/updates/pending_db_world/rev_1661691696095705000.sql new file mode 100644 index 000000000..5260f4cc3 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1661691696095705000.sql @@ -0,0 +1,4 @@ +-- +DELETE FROM `spell_script_names` WHERE `spell_id`=21848; +INSERT INTO `spell_script_names` VALUES +(21848,'spell_item_snowman'); diff --git a/src/server/scripts/Spells/spell_item.cpp b/src/server/scripts/Spells/spell_item.cpp index 3c2984212..9eeaeb14e 100644 --- a/src/server/scripts/Spells/spell_item.cpp +++ b/src/server/scripts/Spells/spell_item.cpp @@ -3676,6 +3676,32 @@ class spell_item_mirrens_drinking_hat : public SpellScript } }; +class spell_item_snowman : public SpellScript +{ + PrepareSpellScript(spell_item_snowman); + + SpellCastResult CheckCast() + { + if (Player* caster = GetCaster()->ToPlayer()) + { + if (Battleground* bg = caster->GetBattleground()) + { + if (bg->GetStatus() == STATUS_WAIT_JOIN) + { + return SPELL_FAILED_NOT_READY; + } + } + } + + return SPELL_CAST_OK; + } + + void Register() override + { + OnCheckCast += SpellCheckCastFn(spell_item_snowman::CheckCast); + } +}; + void AddSC_item_spell_scripts() { RegisterSpellScript(spell_item_massive_seaforium_charge); @@ -3789,4 +3815,5 @@ void AddSC_item_spell_scripts() RegisterSpellScript(spell_item_recall); RegisterSpellScript(spell_item_wraith_scythe_drain_life); RegisterSpellScript(spell_item_mirrens_drinking_hat); + RegisterSpellScript(spell_item_snowman); } From 009a4a3cfb44a6ddffaf4e4f9cba0fc1b6ef1571 Mon Sep 17 00:00:00 2001 From: AzerothCoreBot Date: Wed, 7 Sep 2022 00:40:52 +0000 Subject: [PATCH 41/41] chore(DB): import pending files Referenced commit(s): 0ae93c1c944e11a193801ee9e30320c8ebb80351 --- .../rev_1661562295038962300.sql => db_world/2022_09_07_08.sql} | 1 + .../rev_1661691696095705000.sql => db_world/2022_09_07_09.sql} | 1 + 2 files changed, 2 insertions(+) rename data/sql/updates/{pending_db_world/rev_1661562295038962300.sql => db_world/2022_09_07_08.sql} (99%) rename data/sql/updates/{pending_db_world/rev_1661691696095705000.sql => db_world/2022_09_07_09.sql} (74%) diff --git a/data/sql/updates/pending_db_world/rev_1661562295038962300.sql b/data/sql/updates/db_world/2022_09_07_08.sql similarity index 99% rename from data/sql/updates/pending_db_world/rev_1661562295038962300.sql rename to data/sql/updates/db_world/2022_09_07_08.sql index 05dd9741a..7387bd1d4 100644 --- a/data/sql/updates/pending_db_world/rev_1661562295038962300.sql +++ b/data/sql/updates/db_world/2022_09_07_08.sql @@ -1,3 +1,4 @@ +-- DB update 2022_09_07_07 -> 2022_09_07_08 -- Delete Current Spawns DELETE FROM `creature` WHERE `guid` IN (88035,88042,88053,88039,88040,88041,88052,88057,88055,88056,88054,88058,88059,88060,88061,88062,88036,88049,88050,88051,88037,88043,88044,88048,88038,88045,88046,88047,88030,88031,88032,88033,88034); diff --git a/data/sql/updates/pending_db_world/rev_1661691696095705000.sql b/data/sql/updates/db_world/2022_09_07_09.sql similarity index 74% rename from data/sql/updates/pending_db_world/rev_1661691696095705000.sql rename to data/sql/updates/db_world/2022_09_07_09.sql index 5260f4cc3..576190ce0 100644 --- a/data/sql/updates/pending_db_world/rev_1661691696095705000.sql +++ b/data/sql/updates/db_world/2022_09_07_09.sql @@ -1,3 +1,4 @@ +-- DB update 2022_09_07_08 -> 2022_09_07_09 -- DELETE FROM `spell_script_names` WHERE `spell_id`=21848; INSERT INTO `spell_script_names` VALUES