From dc66ce6079b4426fa39c0f0fc85395e51e62bedd Mon Sep 17 00:00:00 2001 From: Rocco Silipo <108557877+Rorschach91@users.noreply.github.com> Date: Thu, 11 Sep 2025 08:55:46 +0200 Subject: [PATCH 01/65] fix(DB/Script/Gundrak) Implement Rhino event when the bridge moves. (#22873) --- data/sql/updates/pending_db_world/Gundrak.sql | 88 +++++++++++++++++++ .../Northrend/Gundrak/instance_gundrak.cpp | 4 + 2 files changed, 92 insertions(+) create mode 100644 data/sql/updates/pending_db_world/Gundrak.sql diff --git a/data/sql/updates/pending_db_world/Gundrak.sql b/data/sql/updates/pending_db_world/Gundrak.sql new file mode 100644 index 000000000..8a5c28840 --- /dev/null +++ b/data/sql/updates/pending_db_world/Gundrak.sql @@ -0,0 +1,88 @@ + +-- Remove Drakkari Raiders from vehicle_template_accessory +DELETE FROM `vehicle_template_accessory` WHERE `entry` = 29931; + +-- Set Waypoints +DELETE FROM `waypoint_data` WHERE (`id` IN (1272070, 1271110)); +INSERT INTO `waypoint_data` (`id`, `point`, `position_x`, `position_y`, `position_z`, `orientation`, `delay`, `move_type`, `action`, `action_chance`, `wpguid`) VALUES +("1272070", 1, 1844.9067, 743.2189, 136.38834, NULL, 0, 1, 0, 100, 0), +("1272070", 2, 1817.4067, 743.2189, 120.388336, NULL, 0, 1, 0, 100, 0), +("1272070", 3, 1777.2518, 743.6567, 119.87546, NULL, 0, 1, 0, 100, 0), +("1271110", 1, 1875.0017, 743.1162, 136.34253, NULL, 0, 1, 0, 100, 0), +("1271110", 2, 1850.7517, 743.3662, 136.09253, NULL, 0, 1, 0, 100, 0), +("1271110", 3, 1845.94, 743.354, 136.0013, NULL, 0, 1, 0, 100, 0); + +-- Add Drakkari Raiders +DELETE FROM `creature` WHERE (`id1` = 29982); +INSERT INTO `creature` (`guid`, `id1`, `id2`, `id3`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `ScriptName`, `VerifiedBuild`, `CreateObject`, `Comment`) VALUES +(127217, 29982, 0, 0, 604, 0, 0, 3, 1, 0, 1865.06, 742.781, 136.401, 3.14159, 3600, 0, 0, 16291, 0, 0, 0, 0, 0, '', 0, 0, ''), +(127225, 29982, 0, 0, 604, 0, 0, 3, 1, 0, 1865.06, 742.781, 136.401, 3.14159, 3600, 0, 0, 16291, 0, 0, 0, 0, 0, '', 0, 0, ''), +(127226, 29982, 0, 0, 604, 0, 0, 3, 1, 0, 1865.06, 742.781, 136.401, 3.14159, 3600, 0, 0, 16291, 0, 0, 0, 0, 0, '', 0, 0, ''); + +-- Set SmartAI for Doodad +UPDATE `gameobject_template` SET `AIName` = 'SmartGameObjectAI' WHERE `entry` = 192633; + +DELETE FROM `smart_scripts` WHERE (`source_type` = 1 AND `entryorguid` = 192633); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(192633, 1, 0, 0, 38, 0, 100, 0, 0, 1, 0, 0, 0, 0, 80, 19263300, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Doodad_GunDrak_Collision_01 - On Data Set 0 1 - Run Script'); + +-- Set Action List for Doodad +DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 19263300); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(19263300, 9, 0, 0, 0, 0, 100, 0, 8000, 8000, 0, 0, 0, 0, 45, 0, 2, 0, 0, 0, 0, 10, 127207, 29931, 0, 0, 0, 0, 0, 0, 'Doodad_GunDrak_Collision_01 - Actionlist - Set Data 0 2'), +(19263300, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 45, 0, 2, 0, 0, 0, 0, 10, 127111, 29838, 0, 0, 0, 0, 0, 0, 'Doodad_GunDrak_Collision_01 - Actionlist - Set Data 0 2'); + +-- Set Extra Flag DONT_OVERRIDE_SAI_ENTRY +UPDATE `creature_template` SET `flags_extra` = `flags_extra` |134217728 WHERE (`entry` IN (29838, 29982)); + +-- Set Comment. +UPDATE `creature` SET `Comment` = 'has Personal SAI' WHERE (`id1` IN (29838, 29982)) AND (`guid` IN (127111, 127217, 127225, 127226)); + +-- Set Personal SmartAI for the first Rhino +DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = -127111); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(-127111, 0, 2, 0, 38, 0, 100, 0, 0, 2, 0, 0, 0, 0, 232, 1271110, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Drakkari Rhino - On Data Set 0 2 - Start Path 1271110'), +(-127111, 0, 3, 0, 108, 0, 100, 0, 3, 1271110, 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Drakkari Rhino - On Point 3 of Path 1271110 Reached - Set Home Position'); + +-- Set SmartAI for the Second Rhino. +UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 29931; + +DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 29931); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(29931, 0, 0, 0, 9, 0, 100, 514, 0, 0, 8000, 8000, 5, 40, 11, 55530, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Drakkari Rhino - Within 5-40 Range - Cast \'Charge\' (Normal Dungeon)'), +(29931, 0, 1, 0, 9, 0, 100, 516, 0, 0, 8000, 8000, 5, 40, 11, 58991, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Drakkari Rhino - Within 5-40 Range - Cast \'Charge\' (Heroic Dungeon)'), +(29931, 0, 2, 0, 0, 0, 100, 514, 0, 10000, 8000, 22000, 0, 0, 11, 55663, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Drakkari Rhino - In Combat - Cast \'Deafening Roar\' (Normal Dungeon)'), +(29931, 0, 3, 0, 0, 0, 100, 516, 0, 10000, 8000, 22000, 0, 0, 11, 58992, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Drakkari Rhino - In Combat - Cast \'Deafening Roar\' (Heroic Dungeon)'), +(29931, 0, 4, 0, 38, 0, 100, 0, 0, 2, 0, 0, 0, 0, 232, 1272070, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Drakkari Rhino - On Data Set 0 2 - Start Path 1272070'), +(29931, 0, 5, 6, 108, 0, 100, 0, 3, 1272070, 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Drakkari Rhino - On Point 3 of Path 1272070 Reached - Set Home Position'), +(29931, 0, 6, 7, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 45, 0, 3, 0, 0, 0, 0, 10, 127217, 29982, 0, 0, 0, 0, 0, 0, 'Drakkari Rhino - On Point 3 of Path 1272070 Reached - Set Data 0 3'), +(29931, 0, 7, 8, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 45, 0, 3, 0, 0, 0, 0, 10, 127225, 29982, 0, 0, 0, 0, 0, 0, 'Drakkari Rhino - On Point 3 of Path 1272070 Reached - Set Data 0 3'), +(29931, 0, 8, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 45, 0, 3, 0, 0, 0, 0, 10, 127226, 29982, 0, 0, 0, 0, 0, 0, 'Drakkari Rhino - On Point 3 of Path 1272070 Reached - Set Data 0 3'); + +-- Set SmartAI for Drakkari Raiders +UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 29982; + +DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 29982); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(29982, 0, 0, 0, 37, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 46598, 0, 0, 0, 0, 0, 10, 127207, 29931, 0, 0, 0, 0, 0, 0, 'Drakkari Raider - On Initialize - Cast \'Ride Vehicle Hardcoded\''), +(29982, 0, 1, 0, 0, 0, 100, 0, 2000, 6000, 5000, 11000, 0, 0, 11, 15496, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Drakkari Raider - In Combat - Cast \'Cleave\''); + +-- Set Personal SmartAI for Drakkari Raiders +DELETE FROM `smart_scripts` WHERE (`source_type` = 0) AND (`entryorguid` IN (-127217, -127225, -127226)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(-127217, 0, 2, 3, 38, 0, 100, 0, 0, 3, 0, 0, 0, 0, 28, 46598, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Drakkari Raider - On Data Set 0 3 - Remove Aura \'Ride Vehicle Hardcoded\''), +(-127217, 0, 3, 4, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 203, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Drakkari Raider - On Data Set 0 3 - Exit vehicle'), +(-127217, 0, 4, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 1773.92, 748.702, 119.4, 3.1151, 'Drakkari Raider - On Data Set 0 3 - Set Home Position'), +(-127225, 0, 2, 3, 38, 0, 100, 0, 0, 3, 0, 0, 0, 0, 28, 46598, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Drakkari Raider - On Data Set 0 3 - Remove Aura \'Ride Vehicle Hardcoded\''), +(-127225, 0, 3, 4, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 203, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Drakkari Raider - On Data Set 0 3 - Exit vehicle'), +(-127225, 0, 4, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 1769.33, 743.685, 119.4, 3.1151, 'Drakkari Raider - On Data Set 0 3 - Set Home Position'), +(-127226, 0, 2, 3, 38, 0, 100, 0, 0, 3, 0, 0, 0, 0, 28, 46598, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Drakkari Raider - On Data Set 0 3 - Remove Aura \'Ride Vehicle Hardcoded\''), +(-127226, 0, 3, 4, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 203, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Drakkari Raider - On Data Set 0 3 - Exit vehicle'), +(-127226, 0, 4, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 1771.29, 738.667, 119.4, 3.1151, 'Drakkari Raider - On Data Set 0 3 - Set Home Position'); + +-- Correct exit points (I was unable to find another solution). +DELETE FROM `vehicle_seat_addon` WHERE `SeatEntry` IN (2178, 2179, 2180); +INSERT INTO `vehicle_seat_addon` (`SeatEntry`, `SeatOrientation`, `ExitParamX`, `ExitParamY`, `ExitParamZ`, `ExitParamO`, `ExitParamValue`) VALUES +(2178, 0, 7.9178, 0.0000, -0.4759, 0, 1), +(2179, 0, 5.9427, -5.0106, -0.4759, 0, 1), +(2180, 0, 3.3464, 5.0329, -0.4759, 0, 1); diff --git a/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp b/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp index 1a603523d..5e3225938 100644 --- a/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp +++ b/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp @@ -18,6 +18,7 @@ #include "InstanceMapScript.h" #include "ScriptedCreature.h" #include "gundrak.h" +#include "GameObjectAI.h" DoorData const doorData[] = { @@ -211,6 +212,9 @@ public: if (GameObject* go = instance->GetGameObject(_bridgeGUIDs[i])) go->SetGoState(GO_STATE_ACTIVE_ALTERNATIVE); } + if (GameObject* collision = instance->GetGameObject(_bridgeGUIDs[4])) + if (collision->AI()) + collision->AI()->SetData(0, 1); } }; }; From 7c706cc79a9cbe94ab5f0e451220dd162e6c6081 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 11 Sep 2025 06:56:47 +0000 Subject: [PATCH 02/65] chore(DB): import pending files Referenced commit(s): dc66ce6079b4426fa39c0f0fc85395e51e62bedd --- .../{pending_db_world/Gundrak.sql => db_world/2025_09_11_00.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/Gundrak.sql => db_world/2025_09_11_00.sql} (99%) diff --git a/data/sql/updates/pending_db_world/Gundrak.sql b/data/sql/updates/db_world/2025_09_11_00.sql similarity index 99% rename from data/sql/updates/pending_db_world/Gundrak.sql rename to data/sql/updates/db_world/2025_09_11_00.sql index 8a5c28840..8b88defe2 100644 --- a/data/sql/updates/pending_db_world/Gundrak.sql +++ b/data/sql/updates/db_world/2025_09_11_00.sql @@ -1,3 +1,4 @@ +-- DB update 2025_09_10_02 -> 2025_09_11_00 -- Remove Drakkari Raiders from vehicle_template_accessory DELETE FROM `vehicle_template_accessory` WHERE `entry` = 29931; From c7fc738b4eabdbd7ec1b884fb9fc77310e795033 Mon Sep 17 00:00:00 2001 From: Jelle Meeus Date: Thu, 11 Sep 2025 04:04:23 -0700 Subject: [PATCH 03/65] fix(DB/SmartAI): Zul'Drak Voltarus teleporters sometimes do not work (#22878) --- .../rev_1757545658149882862.sql | 15 +++++++++++++ .../scripts/World/areatrigger_scripts.cpp | 22 ------------------- 2 files changed, 15 insertions(+), 22 deletions(-) create mode 100644 data/sql/updates/pending_db_world/rev_1757545658149882862.sql diff --git a/data/sql/updates/pending_db_world/rev_1757545658149882862.sql b/data/sql/updates/pending_db_world/rev_1757545658149882862.sql new file mode 100644 index 000000000..c8817139d --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1757545658149882862.sql @@ -0,0 +1,15 @@ +-- +-- Remove movement override +UPDATE `creature` SET `wander_distance`=0, `MovementType`=0 WHERE `id1` = 28617 AND `guid` IN (114829, 114830, 114831, 114832); + +-- Set target to self +DELETE FROM `smart_scripts` WHERE (`entryorguid` IN (-114831, -114829)) 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`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(-114831, 0, 0, 0, 38, 0, 100, 0, 1, 1, 0, 0, 0, 0, 11, 52089, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Drakuramas Teleport Bunny 01 - On Data Set 1 1 - Cast \'Drakuramas Teleport Script 01\''), +(-114829, 0, 0, 0, 38, 0, 100, 0, 1, 1, 0, 0, 0, 0, 11, 52676, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Drakuramas Teleport Bunny 01 - On Data Set 1 1 - Cast \'Drakuramas Teleport Script 03\''); + +-- Remove hack, use condition instead +DELETE FROM `areatrigger_scripts` WHERE `entry`=5079 AND `ScriptName`='at_voltarus_middle'; +DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId` = 22) AND (`SourceGroup` = 1) AND (`SourceEntry` = 5079) AND (`SourceId` = 2) AND (`ElseGroup` = 0) AND (`ConditionTypeOrReference` = 1) AND (`ConditionTarget` = 0) AND (`ConditionValue1` = 52678) AND (`ConditionValue2` = 0) AND (`ConditionValue3` = 0); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(22, 1, 5079, 2, 0, 1, 0, 52678, 0, 0, 0, 0, 0, '', 'SAI areatrigger triggers only if player has aura Teleporter Scepter Aura'); diff --git a/src/server/scripts/World/areatrigger_scripts.cpp b/src/server/scripts/World/areatrigger_scripts.cpp index 68eb466ec..58adcbda7 100644 --- a/src/server/scripts/World/areatrigger_scripts.cpp +++ b/src/server/scripts/World/areatrigger_scripts.cpp @@ -20,27 +20,6 @@ #include "Player.h" #include "ScriptedCreature.h" -class AreaTrigger_at_voltarus_middle : public AreaTriggerScript -{ -public: - AreaTrigger_at_voltarus_middle() - : AreaTriggerScript("at_voltarus_middle") - { - } - - bool OnTrigger(Player* player, AreaTrigger const* /*trigger*/) override - { - if (player->IsAlive() && !player->IsInCombat()) - if (player->HasItemCount(39319)) // Scepter of Domination - { - player->TeleportTo(MAP_NORTHREND, 6242.67f, -1972.10f, 484.783f, 0.6f); - return true; - } - - return false; - } -}; - /*###### ## at_coilfang_waterfall ######*/ @@ -416,7 +395,6 @@ private: void AddSC_areatrigger_scripts() { - new AreaTrigger_at_voltarus_middle(); new AreaTrigger_at_coilfang_waterfall(); new AreaTrigger_at_legion_teleporter(); new AreaTrigger_at_stormwright_shelf(); From acab88ebc5e0ef8ea5efa576b11a6c91fd885a4b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 11 Sep 2025 11:05:23 +0000 Subject: [PATCH 04/65] chore(DB): import pending files Referenced commit(s): c7fc738b4eabdbd7ec1b884fb9fc77310e795033 --- .../rev_1757545658149882862.sql => db_world/2025_09_11_01.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1757545658149882862.sql => db_world/2025_09_11_01.sql} (97%) diff --git a/data/sql/updates/pending_db_world/rev_1757545658149882862.sql b/data/sql/updates/db_world/2025_09_11_01.sql similarity index 97% rename from data/sql/updates/pending_db_world/rev_1757545658149882862.sql rename to data/sql/updates/db_world/2025_09_11_01.sql index c8817139d..afd87acca 100644 --- a/data/sql/updates/pending_db_world/rev_1757545658149882862.sql +++ b/data/sql/updates/db_world/2025_09_11_01.sql @@ -1,3 +1,4 @@ +-- DB update 2025_09_11_00 -> 2025_09_11_01 -- -- Remove movement override UPDATE `creature` SET `wander_distance`=0, `MovementType`=0 WHERE `id1` = 28617 AND `guid` IN (114829, 114830, 114831, 114832); From e1abb7f34660cf68fbd6b82b17e036536d59e1cf Mon Sep 17 00:00:00 2001 From: Jelle Meeus Date: Thu, 11 Sep 2025 05:14:40 -0700 Subject: [PATCH 05/65] fix(DB/SpellProcEvent): Warrior Sword Specialization and Sudden Death (#22042) --- .../rev_1746262733742509979.sql | 11 +++++++++ src/server/scripts/Spells/spell_warrior.cpp | 24 ++++++++++++++++++- 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 data/sql/updates/pending_db_world/rev_1746262733742509979.sql diff --git a/data/sql/updates/pending_db_world/rev_1746262733742509979.sql b/data/sql/updates/pending_db_world/rev_1746262733742509979.sql new file mode 100644 index 000000000..575673328 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1746262733742509979.sql @@ -0,0 +1,11 @@ +-- +-- Sword Specialization: Hamstring 0x0002, Rend 0x0020, Sunder Armor 0x4000 +UPDATE `spell_proc_event` SET `SpellFamilyMask0`=`SpellFamilyMask0` | (0x0002 | 0x0020 | 0x4000) WHERE `entry`=-12281; + +-- Sudden Death: copy FamilyMask from Sword Specialization +DELETE FROM `spell_proc_event` WHERE `entry`=-29723; +INSERT INTO `spell_proc_event` (`entry`, `SchoolMask`, `SpellFamilyName`, `SpellFamilyMask0`, `SpellFamilyMask1`, `SpellFamilyMask2`, `procPhase`) VALUES +(-29723, 0, 4, 2858435686, 4194565, 0, 2|4); + +DELETE FROM `spell_script_names` WHERE `spell_id` = -29723 AND `ScriptName` = 'spell_war_sudden_death_aura'; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES(-29723, 'spell_war_sudden_death_aura'); diff --git a/src/server/scripts/Spells/spell_warrior.cpp b/src/server/scripts/Spells/spell_warrior.cpp index 7552b5029..ab722693c 100644 --- a/src/server/scripts/Spells/spell_warrior.cpp +++ b/src/server/scripts/Spells/spell_warrior.cpp @@ -60,7 +60,8 @@ enum WarriorSpells SPELL_WARRIOR_VIGILANCE_PROC = 50725, SPELL_WARRIOR_VIGILANCE_REDIRECT_THREAT = 59665, SPELL_WARRIOR_WHIRLWIND_MAIN = 50622, - SPELL_WARRIOR_WHIRLWIND_OFF = 44949 + SPELL_WARRIOR_WHIRLWIND_OFF = 44949, + SPELL_WARRIOR_EXECUTE_R1 = 5308, }; enum WarriorSpellIcons @@ -959,6 +960,26 @@ class spell_warr_heroic_strike : public SpellScript } }; +class spell_war_sudden_death_aura : public AuraScript +{ PrepareAuraScript(spell_war_sudden_death_aura); + + bool AfterCheckProc(ProcEventInfo& eventInfo, bool isTriggeredAtSpellProcEvent) + { + // Check PROC_SPELL_PHASE_FINISH only for Execute + if (eventInfo.GetSpellPhaseMask() != PROC_SPELL_PHASE_FINISH) + return isTriggeredAtSpellProcEvent; + if (Spell const* procSpell = eventInfo.GetProcSpell()) + if (procSpell->GetSpellInfo()->GetFirstRankSpell()->Id == SPELL_WARRIOR_EXECUTE_R1) + return isTriggeredAtSpellProcEvent; + return false; + } + + void Register() override + { + DoAfterCheckProc += AuraAfterCheckProcFn(spell_war_sudden_death_aura::AfterCheckProc); + } +}; + void AddSC_warrior_spell_scripts() { RegisterSpellScript(spell_warr_mocking_blow); @@ -986,4 +1007,5 @@ void AddSC_warrior_spell_scripts() RegisterSpellScript(spell_warr_vigilance_trigger); RegisterSpellScript(spell_warr_t3_prot_8p_bonus); RegisterSpellScript(spell_warr_heroic_strike); + RegisterSpellScript(spell_war_sudden_death_aura); } From e607736dfee93ea3ff250c9cfc39be4b46ef22f5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 11 Sep 2025 12:15:42 +0000 Subject: [PATCH 06/65] chore(DB): import pending files Referenced commit(s): e1abb7f34660cf68fbd6b82b17e036536d59e1cf --- .../rev_1746262733742509979.sql => db_world/2025_09_11_02.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1746262733742509979.sql => db_world/2025_09_11_02.sql} (94%) diff --git a/data/sql/updates/pending_db_world/rev_1746262733742509979.sql b/data/sql/updates/db_world/2025_09_11_02.sql similarity index 94% rename from data/sql/updates/pending_db_world/rev_1746262733742509979.sql rename to data/sql/updates/db_world/2025_09_11_02.sql index 575673328..e25ff1ed2 100644 --- a/data/sql/updates/pending_db_world/rev_1746262733742509979.sql +++ b/data/sql/updates/db_world/2025_09_11_02.sql @@ -1,3 +1,4 @@ +-- DB update 2025_09_11_01 -> 2025_09_11_02 -- -- Sword Specialization: Hamstring 0x0002, Rend 0x0020, Sunder Armor 0x4000 UPDATE `spell_proc_event` SET `SpellFamilyMask0`=`SpellFamilyMask0` | (0x0002 | 0x0020 | 0x4000) WHERE `entry`=-12281; From f334a38c5e1ec45bb96d278538352fcc86b1199a Mon Sep 17 00:00:00 2001 From: Jelle Meeus Date: Thu, 11 Sep 2025 05:18:18 -0700 Subject: [PATCH 07/65] fix(Core/Player): Haunted Memento aura remains after mailing the item (#22877) --- src/server/game/Entities/Player/PlayerStorage.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/server/game/Entities/Player/PlayerStorage.cpp b/src/server/game/Entities/Player/PlayerStorage.cpp index 1423afc98..78c1ad0ef 100644 --- a/src/server/game/Entities/Player/PlayerStorage.cpp +++ b/src/server/game/Entities/Player/PlayerStorage.cpp @@ -2905,6 +2905,7 @@ void Player::RemoveItem(uint8 bag, uint8 slot, bool update, bool swap) RemoveEnchantmentDurations(pItem); RemoveItemDurations(pItem); RemoveTradeableItem(pItem); + ApplyItemObtainSpells(pItem, false); if (bag == INVENTORY_SLOT_BAG_0) { From 110fd070f2f6fe5926b7330c5f33b89e59f2c69c Mon Sep 17 00:00:00 2001 From: ekekekkekkek <96571151+eusss@users.noreply.github.com> Date: Thu, 11 Sep 2025 15:46:34 +0200 Subject: [PATCH 08/65] fix(Scripts/Spells): Druid ability Starfall now will no longer try to hit outside line of sight targets (#22422) Co-authored-by: Tereneckla --- src/server/scripts/Spells/spell_druid.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/server/scripts/Spells/spell_druid.cpp b/src/server/scripts/Spells/spell_druid.cpp index ededde81e..c388af634 100644 --- a/src/server/scripts/Spells/spell_druid.cpp +++ b/src/server/scripts/Spells/spell_druid.cpp @@ -923,6 +923,21 @@ class spell_dru_starfall_dummy : public SpellScript void FilterTargets(std::list& targets) { + // Get caster object + Unit* caster = GetCaster(); + + // Remove targets if they are outside line of sight with respect to caster + targets.remove_if([caster](WorldObject const* target) + { + if (target) + { + if (!caster->IsWithinLOS(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ())) + return true; + } + return false; + }); + + // Take 2 random targets from remaining within line of sight targets Acore::Containers::RandomResize(targets, 2); } From f893df775c38459d4b06284fd0fc410f80e25be3 Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Thu, 11 Sep 2025 18:38:56 -0300 Subject: [PATCH 09/65] =?UTF-8?q?feat(Core/Conditions):=20Implement=20COND?= =?UTF-8?q?ITION=5FAI=5FDATA=20and=20support=20for=20st=E2=80=A6=20(#22879?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/AI/SmartScripts/SmartAI.cpp | 10 +++++++++- src/server/game/AI/SmartScripts/SmartAI.h | 1 + src/server/game/Conditions/ConditionMgr.cpp | 13 +++++++++++++ src/server/game/Conditions/ConditionMgr.h | 3 ++- 4 files changed, 25 insertions(+), 2 deletions(-) diff --git a/src/server/game/AI/SmartScripts/SmartAI.cpp b/src/server/game/AI/SmartScripts/SmartAI.cpp index f7e30d339..db446525d 100644 --- a/src/server/game/AI/SmartScripts/SmartAI.cpp +++ b/src/server/game/AI/SmartScripts/SmartAI.cpp @@ -74,6 +74,8 @@ SmartAI::SmartAI(Creature* c) : CreatureAI(c) _chaseOnInterrupt = false; + aiDataSet.clear(); + // Xinef: Vehicle conditions m_ConditionsTimer = 0; if (me->GetVehicleKit()) @@ -778,6 +780,7 @@ void SmartAI::JustRespawned() mFollowArrivedEntry = 0; mFollowCreditType = 0; mFollowArrivedAlive = true; + aiDataSet.clear(); } void SmartAI::JustReachedHome() @@ -963,8 +966,12 @@ void SmartAI::DoAction(int32 param) GetScript()->ProcessEventsFor(SMART_EVENT_ACTION_DONE, nullptr, param); } -uint32 SmartAI::GetData(uint32 /*id*/) const +uint32 SmartAI::GetData(uint32 id) const { + auto const& itr = aiDataSet.find(id); + if (itr != aiDataSet.end()) + return itr->second; + return 0; } @@ -980,6 +987,7 @@ void SmartAI::SetData(uint32 id, uint32 value, WorldObject* invoker) gob = invoker->ToGameObject(); } + aiDataSet[id] = value; GetScript()->ProcessEventsFor(SMART_EVENT_DATA_SET, unit, id, value, false, nullptr, gob); } diff --git a/src/server/game/AI/SmartScripts/SmartAI.h b/src/server/game/AI/SmartScripts/SmartAI.h index 1cc940df4..7b3a36772 100644 --- a/src/server/game/AI/SmartScripts/SmartAI.h +++ b/src/server/game/AI/SmartScripts/SmartAI.h @@ -262,6 +262,7 @@ private: uint32 m_ConditionsTimer; bool _chaseOnInterrupt; + std::unordered_map aiDataSet; }; class SmartGameObjectAI : public GameObjectAI diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp index 09edfab28..bb6fa29c4 100644 --- a/src/server/game/Conditions/ConditionMgr.cpp +++ b/src/server/game/Conditions/ConditionMgr.cpp @@ -18,6 +18,8 @@ #include "ConditionMgr.h" #include "AchievementMgr.h" #include "GameEventMgr.h" +#include "GameObject.h" +#include "GameObjectAI.h" #include "InstanceScript.h" #include "ObjectMgr.h" #include "Pet.h" @@ -576,6 +578,14 @@ bool Condition::Meets(ConditionSourceInfo& sourceInfo) condMeets = sWorldState->IsConditionFulfilled(ConditionValue1, ConditionValue2); break; } + case CONDITION_AI_DATA: + { + if (Creature* creature = object->ToCreature()) + condMeets = creature->AI() && creature->AI()->GetData(ConditionValue1) == ConditionValue2; + else if (GameObject* go = object->ToGameObject()) + condMeets = go->AI() && go->AI()->GetData(ConditionValue1) == ConditionValue2; + break; + } default: condMeets = false; break; @@ -779,6 +789,9 @@ uint32 Condition::GetSearcherTypeMaskForCondition() case CONDITION_WORLD_SCRIPT: mask |= GRID_MAP_TYPE_MASK_ALL; break; + case CONDITION_AI_DATA: + mask |= GRID_MAP_TYPE_MASK_CREATURE | GRID_MAP_TYPE_MASK_GAMEOBJECT; + break; default: ASSERT(false && "Condition::GetSearcherTypeMaskForCondition - missing condition handling!"); break; diff --git a/src/server/game/Conditions/ConditionMgr.h b/src/server/game/Conditions/ConditionMgr.h index 1540fd903..eaa1d14e2 100644 --- a/src/server/game/Conditions/ConditionMgr.h +++ b/src/server/game/Conditions/ConditionMgr.h @@ -87,8 +87,9 @@ enum ConditionTypes CONDITION_QUEST_SATISFY_EXCLUSIVE = 101, // quest_id 0 0 true if satisfied exclusive group CONDITION_HAS_AURA_TYPE = 102, // aura_type 0 0 true if has aura type CONDITION_WORLD_SCRIPT = 103, // conditionId state 0 true if WorldState::IsConditionFulfilled returns true + CONDITION_AI_DATA = 104, // dataId value 0 true if AI::GetData returns value - CONDITION_AC_END = 104 // placeholder + CONDITION_AC_END = 105 // placeholder }; /*! Documentation on implementing a new ConditionSourceType: From 3400f919b7010554791a11fc6d0e6bc77a4d6685 Mon Sep 17 00:00:00 2001 From: Rocco Silipo <108557877+Rorschach91@users.noreply.github.com> Date: Fri, 12 Sep 2025 00:00:15 +0200 Subject: [PATCH 10/65] fix(DB/Oculus): Add various formations. (#22885) --- .../pending_db_world/Oculus_formations.sql | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 data/sql/updates/pending_db_world/Oculus_formations.sql diff --git a/data/sql/updates/pending_db_world/Oculus_formations.sql b/data/sql/updates/pending_db_world/Oculus_formations.sql new file mode 100644 index 000000000..3450cc892 --- /dev/null +++ b/data/sql/updates/pending_db_world/Oculus_formations.sql @@ -0,0 +1,30 @@ + +-- Add Creature Formations +DELETE FROM `creature_formations` WHERE (`LeaderGUID` IN (101902, 101916, 101917, 101918, 101919, 101937)); +INSERT INTO `creature_formations` (`leaderGUID`, `memberGUID`, `dist`, `angle`, `groupAI`, `point_1`, `point_2`) VALUES +(101902, 101902, 0, 0, 3, 0, 0), +(101902, 101922, 0, 0, 3, 0, 0), +(101902, 101924, 0, 0, 3, 0, 0), +(101902, 101933, 0, 0, 3, 0, 0), +(101916, 101916, 0, 0, 3, 0, 0), +(101916, 102064, 0, 0, 3, 0, 0), +(101916, 101967, 0, 0, 3, 0, 0), +(101916, 101974, 0, 0, 3, 0, 0), +(101917, 101917, 0, 0, 3, 0, 0), +(101917, 101895, 0, 0, 3, 0, 0), +(101917, 101896, 0, 0, 3, 0, 0), +(101917, 101907, 0, 0, 3, 0, 0), +(101918, 101918, 0, 0, 3, 0, 0), +(101918, 101897, 0, 0, 3, 0, 0), +(101918, 101898, 0, 0, 3, 0, 0), +(101918, 101909, 0, 0, 3, 0, 0), +(101919, 101919, 0, 0, 3, 0, 0), +(101919, 101899, 0, 0, 3, 0, 0), +(101919, 101900, 0, 0, 3, 0, 0), +(101919, 101910, 0, 0, 3, 0, 0), +(101919, 101912, 0, 0, 3, 0, 0), +(101937, 101937, 0, 0, 3, 0, 0), +(101937, 101903, 0, 0, 3, 0, 0), +(101937, 101904, 0, 0, 3, 0, 0), +(101937, 101914, 0, 0, 3, 0, 0), +(101937, 101915, 0, 0, 3, 0, 0); From 5291f30422a0a2318ae6ca17204964487493af73 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 11 Sep 2025 22:01:32 +0000 Subject: [PATCH 11/65] chore(DB): import pending files Referenced commit(s): 3400f919b7010554791a11fc6d0e6bc77a4d6685 --- .../Oculus_formations.sql => db_world/2025_09_11_03.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/Oculus_formations.sql => db_world/2025_09_11_03.sql} (96%) diff --git a/data/sql/updates/pending_db_world/Oculus_formations.sql b/data/sql/updates/db_world/2025_09_11_03.sql similarity index 96% rename from data/sql/updates/pending_db_world/Oculus_formations.sql rename to data/sql/updates/db_world/2025_09_11_03.sql index 3450cc892..ce22f39f0 100644 --- a/data/sql/updates/pending_db_world/Oculus_formations.sql +++ b/data/sql/updates/db_world/2025_09_11_03.sql @@ -1,3 +1,4 @@ +-- DB update 2025_09_11_02 -> 2025_09_11_03 -- Add Creature Formations DELETE FROM `creature_formations` WHERE (`LeaderGUID` IN (101902, 101916, 101917, 101918, 101919, 101937)); From 0a3f5544b4adb6a8a6ea3133a715ec66a76417b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A9=E9=B9=AD?= <18535853+PkllonG@users.noreply.github.com> Date: Fri, 12 Sep 2025 08:00:46 +0800 Subject: [PATCH 12/65] fix(Core/Creature): group members should also follow the movement (#22690) --- src/server/game/Entities/Creature/Creature.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 43534a409..98b65d6ac 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -3913,5 +3913,8 @@ bool Creature::IsUpdateNeeded() if (HasUnitState(UNIT_STATE_EVADE)) return true; + if (m_formation && m_formation->GetLeader() != this) + return true; + return false; } From 558870af9e8c9d75bc90be5e906f84ba53046d93 Mon Sep 17 00:00:00 2001 From: Jelle Meeus Date: Thu, 11 Sep 2025 17:01:26 -0700 Subject: [PATCH 13/65] fix(DB/Quest): 'The Aberrations Must Die.' is available early (#22889) --- .../sql/updates/pending_db_world/rev_1757633004572965187.sql | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1757633004572965187.sql diff --git a/data/sql/updates/pending_db_world/rev_1757633004572965187.sql b/data/sql/updates/pending_db_world/rev_1757633004572965187.sql new file mode 100644 index 000000000..88c0f8bb1 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1757633004572965187.sql @@ -0,0 +1,5 @@ +-- +-- The Aberrations Must Die. +UPDATE `quest_template_addon` SET `PrevQuestID` = 12925 WHERE (`ID` = 13425); +-- The Aberrations Must Die. is always available +DELETE FROM `pool_quest` WHERE `entry`=13425 and `pool_entry` = 354; From 3899fca65736991d4bd09d1d4fc66623501f5c4d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 12 Sep 2025 00:01:50 +0000 Subject: [PATCH 14/65] chore(DB): import pending files Referenced commit(s): 0a3f5544b4adb6a8a6ea3133a715ec66a76417b9 --- .../rev_1757633004572965187.sql => db_world/2025_09_12_00.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1757633004572965187.sql => db_world/2025_09_12_00.sql} (83%) diff --git a/data/sql/updates/pending_db_world/rev_1757633004572965187.sql b/data/sql/updates/db_world/2025_09_12_00.sql similarity index 83% rename from data/sql/updates/pending_db_world/rev_1757633004572965187.sql rename to data/sql/updates/db_world/2025_09_12_00.sql index 88c0f8bb1..a0f34cd73 100644 --- a/data/sql/updates/pending_db_world/rev_1757633004572965187.sql +++ b/data/sql/updates/db_world/2025_09_12_00.sql @@ -1,3 +1,4 @@ +-- DB update 2025_09_11_03 -> 2025_09_12_00 -- -- The Aberrations Must Die. UPDATE `quest_template_addon` SET `PrevQuestID` = 12925 WHERE (`ID` = 13425); From 55574f191b6b153b589c27e7d9245bd60eea6415 Mon Sep 17 00:00:00 2001 From: Jelle Meeus Date: Thu, 11 Sep 2025 17:02:48 -0700 Subject: [PATCH 15/65] fix(DB/SAI): Borean Tundra Foolish Endeavors various issues (#22876) --- .../rev_1757457222271603011.sql | 173 ++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1757457222271603011.sql diff --git a/data/sql/updates/pending_db_world/rev_1757457222271603011.sql b/data/sql/updates/pending_db_world/rev_1757457222271603011.sql new file mode 100644 index 000000000..bba3e37e0 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1757457222271603011.sql @@ -0,0 +1,173 @@ +-- +-- Shadowstalker Getry +-- Generate comments (all) with Keira +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 25729) AND (`source_type` = 0) AND (`id` IN (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(25729, 0, 0, 1, 19, 0, 100, 512, 11705, 0, 0, 0, 0, 0, 53, 0, 25729, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowstalker Getry - On Quest \'Foolish Endeavors\' Taken - Start Waypoint Path 25729'), +(25729, 0, 1, 2, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowstalker Getry - On Quest \'Foolish Endeavors\' Taken - Say Line 0'), +(25729, 0, 2, 0, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 45, 25729, 0, 0, 0, 0, 0, 19, 25618, 150, 0, 0, 0, 0, 0, 0, 'Shadowstalker Getry - On Quest \'Foolish Endeavors\' Taken - Set Data 25729 0'), +(25729, 0, 3, 0, 40, 0, 100, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowstalker Getry - On Point 1 of Path Any Reached - Say Line 1'), +(25729, 0, 4, 5, 40, 0, 100, 0, 14, 0, 0, 0, 0, 0, 11, 58506, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowstalker Getry - On Point 14 of Path Any Reached - Cast \'Stealth\''), +(25729, 0, 5, 0, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowstalker Getry - On Point 14 of Path Any Reached - Set Reactstate Passive'), +(25729, 0, 6, 7, 8, 0, 100, 512, 45923, 0, 0, 0, 0, 0, 28, 58506, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowstalker Getry - On Spellhit \'Shadow Prison\' - Remove Aura \'Stealth\''), +(25729, 0, 7, 8, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowstalker Getry - On Spellhit \'Shadow Prison\' - Set Home Position'), +(25729, 0, 8, 0, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 80, 2572901, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowstalker Getry - On Spellhit \'Shadow Prison\' - Run Script'), +(25729, 0, 9, 0, 38, 0, 100, 512, 1, 1, 0, 0, 0, 0, 80, 2572900, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowstalker Getry - On Data Set 1 1 - Run Script'); +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 2572900) AND (`source_type` = 9) AND (`id` IN (0, 1, 2, 3, 4)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(2572900, 9, 0, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowstalker Getry - Actionlist - Say Line 2'), +(2572900, 9, 1, 0, 0, 0, 100, 0, 8000, 8000, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowstalker Getry - Actionlist - Say Line 3'), +(2572900, 9, 2, 0, 0, 0, 100, 0, 8000, 8000, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 19, 25751, 30, 0, 0, 0, 0, 0, 0, 'Shadowstalker Getry - Actionlist - Say Line 5'), +(2572900, 9, 3, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 19, 25751, 30, 0, 0, 0, 0, 0, 0, 'Shadowstalker Getry - Actionlist - Despawn Instant'), +(2572900, 9, 4, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowstalker Getry - Actionlist - Despawn Instant'); +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 2572901) AND (`source_type` = 9) 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`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(2572901, 9, 0, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 0, 0, 11, 45922, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowstalker Getry - Actionlist - Cast \'Shadow Prison\''); + +-- Varidus the Flenser +-- Generate comments (all) with Keira +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 25618) AND (`source_type` = 0) AND (`id` IN (0, 1, 2, 3, 4)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(25618, 0, 0, 1, 38, 0, 100, 512, 25729, 0, 0, 0, 0, 0, 80, 2561800, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - On Data Set 25729 0 - Run Script'), +(25618, 0, 1, 0, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 18, 770, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - On Data Set 25729 0 - Set Flags Not Attackable & Immune To Players & Immune To NPC\'s'), +(25618, 0, 2, 0, 0, 0, 100, 0, 5000, 5000, 10000, 10000, 0, 0, 11, 32711, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - In Combat - Cast \'Shadow Nova\''), +(25618, 0, 3, 4, 6, 0, 100, 512, 0, 0, 0, 0, 0, 0, 15, 11705, 0, 0, 0, 0, 0, 18, 40, 0, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - On Just Died - Quest Credit \'Foolish Endeavors\''), +(25618, 0, 4, 0, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 19, 25729, 40, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - On Just Died - Set Data 1 1'); +DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 2561800); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(2561800, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 45908, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - Actionlist - Cast \'Shield of Suffering\''), +(2561800, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - Actionlist - Set Run Off'), +(2561800, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 3125, 6534, 80.1, 0, 'Varidus the Flenser - Actionlist - Move To Position'), +(2561800, 9, 3, 0, 0, 0, 100, 0, 6000, 6000, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 4.11, 'Varidus the Flenser - Actionlist - Set Orientation 4.11'), +(2561800, 9, 4, 0, 0, 0, 100, 0, 32000, 32000, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - Actionlist - Say Line 0'), +(2561800, 9, 5, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 1.52, 'Varidus the Flenser - Actionlist - Set Orientation 1.52'), +(2561800, 9, 6, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - Actionlist - Say Line 1'), +(2561800, 9, 7, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - Actionlist - Set Home Position'), +(2561800, 9, 8, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 0, 0, 11, 45923, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - Actionlist - Cast \'Shadow Prison\''), +(2561800, 9, 9, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 0, 0, 12, 25730, 4, 120000, 0, 0, 0, 8, 0, 0, 0, 0, 3149, 6527, 80.84, 2.6, 'Varidus the Flenser - Actionlist - Summon Creature \'En\'kilah Necrolord\''), +(2561800, 9, 10, 0, 0, 0, 100, 0, 8000, 8000, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - Actionlist - Say Line 2'), +(2561800, 9, 11, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - Actionlist - Say Line 3'), +(2561800, 9, 12, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - Actionlist - Say Line 4'), +(2561800, 9, 13, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - Actionlist - Say Line 5'), +(2561800, 9, 14, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 0, 0, 1, 6, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - Actionlist - Say Line 6'), +(2561800, 9, 15, 0, 0, 0, 100, 0, 9000, 9000, 0, 0, 0, 0, 1, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - Actionlist - Say Line 7'), +(2561800, 9, 16, 0, 0, 0, 100, 0, 20000, 20000, 0, 0, 0, 0, 1, 8, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - Actionlist - Say Line 8'), +(2561800, 9, 17, 0, 0, 0, 100, 0, 10000, 10000, 0, 0, 0, 0, 1, 9, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - Actionlist - Say Line 9'), +(2561800, 9, 18, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 0, 0, 1, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - Actionlist - Say Line 10'), +(2561800, 9, 19, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 0, 0, 19, 770, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - Actionlist - Remove Flags Not Attackable & Immune To Players & Immune To NPC\'s'), +(2561800, 9, 20, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - Actionlist - Remove Aura \'null\''), +(2561800, 9, 21, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 50329, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - Actionlist - Cast \'Shield of Suffering\''), +(2561800, 9, 22, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 19, 770, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - Actionlist - Remove Flags Not Attackable & Immune To Players & Immune To NPC\'s'), +(2561800, 9, 23, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 19, 25751, 30, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - Actionlist - Start Attacking'), +(2561800, 9, 24, 0, 0, 0, 100, 0, 100000, 100000, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 19, 25729, 100, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - Actionlist - Despawn Instant'), +(2561800, 9, 25, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 19, 25751, 100, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - Actionlist - Despawn Instant'), +(2561800, 9, 26, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - Actionlist - Despawn Instant'); + +-- En'kilah Necrolord +-- Generate comments (all) with Keira +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 25730) AND (`source_type` = 0) AND (`id` IN (0, 1, 2, 3)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(25730, 0, 0, 0, 37, 0, 100, 512, 0, 0, 0, 0, 0, 0, 80, 2573000, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'En\'kilah Necrolord - On Initialize - Run Script'), +(25730, 0, 1, 0, 0, 0, 100, 0, 5000, 5000, 10000, 10000, 0, 0, 11, 24573, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'En\'kilah Necrolord - In Combat - Cast \'Mortal Strike\''), +(25730, 0, 2, 0, 0, 0, 100, 0, 2000, 2000, 11000, 11000, 0, 0, 11, 16044, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'En\'kilah Necrolord - In Combat - Cast \'Cleave\''), +(25730, 0, 3, 0, 0, 0, 100, 0, 10000, 10000, 30000, 40000, 0, 0, 11, 41097, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'En\'kilah Necrolord - In Combat - Cast \'Whirlwind\''); +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 2573000) AND (`source_type` = 9) AND (`id` IN (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(2573000, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 2, 14, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'En\'kilah Necrolord - Actionlist - Set Faction 14'), +(2573000, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'En\'kilah Necrolord - Actionlist - Set Flags Immune To Players & Immune To NPC\'s'), +(2573000, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'En\'kilah Necrolord - Actionlist - Set Run Off'), +(2573000, 9, 3, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 3126, 6539, 80.05, 0, 'En\'kilah Necrolord - Actionlist - Move To Position'), +(2573000, 9, 4, 0, 0, 0, 100, 0, 9000, 9000, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 1.52, 'En\'kilah Necrolord - Actionlist - Set Orientation 1.52'), +(2573000, 9, 5, 0, 0, 0, 100, 0, 24000, 24000, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 4.11, 'En\'kilah Necrolord - Actionlist - Set Orientation 4.11'), +(2573000, 9, 6, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 36, 25751, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'En\'kilah Necrolord - Actionlist - Update Template To \'High Overlord Saurfang\''), +(2573000, 9, 7, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 18, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'En\'kilah Necrolord - Actionlist - Set Flags Immune To Players & Immune To NPC\'s'), +(2573000, 9, 8, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 2, 1979, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'En\'kilah Necrolord - Actionlist - Set Faction 1979'), +(2573000, 9, 9, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 21, 50, 0, 0, 0, 0, 0, 0, 0, 'En\'kilah Necrolord - Actionlist - Say Line 0'), +(2573000, 9, 10, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 21, 50, 0, 0, 0, 0, 0, 0, 0, 'En\'kilah Necrolord - Actionlist - Say Line 1'), +(2573000, 9, 11, 0, 0, 0, 100, 0, 5000, 5000, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'En\'kilah Necrolord - Actionlist - Say Line 2'), +(2573000, 9, 12, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'En\'kilah Necrolord - Actionlist - Say Line 3'), +(2573000, 9, 13, 0, 0, 0, 100, 0, 14000, 14000, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'En\'kilah Necrolord - Actionlist - Say Line 4'), +(2573000, 9, 14, 0, 0, 0, 100, 0, 8000, 8000, 0, 0, 0, 0, 11, 45950, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'En\'kilah Necrolord - Actionlist - Cast \'Saurfang`s Rage\''), +(2573000, 9, 15, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'En\'kilah Necrolord - Actionlist - Remove Flags Immune To Players & Immune To NPC\'s'), +(2573000, 9, 16, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 45949, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'En\'kilah Necrolord - Actionlist - Cast \'Release Aberration\''), +(2573000, 9, 17, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'En\'kilah Necrolord - Actionlist - Set Home Position'); + +-- Varidus the Flenser +-- Set target nearest player for Talk +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 2561800) AND (`source_type` = 9) AND (`id` IN (14)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(2561800, 9, 14, 0, 0, 0, 100, 0, 7000, 7000, 0, 0, 0, 0, 1, 6, 0, 0, 0, 0, 0, 21, 50, 0, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - Actionlist - Say Line 6'); + +-- Varidus the Flenser +-- Increase forced despawn timer from 100s to 180s +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 2561800) AND (`source_type` = 9) AND (`id` IN (24)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(2561800, 9, 24, 0, 0, 0, 100, 0, 180000, 180000, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 19, 25729, 100, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - Actionlist - Despawn Instant'); + +-- Update template to High Overlord Saurfang +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 2573000) AND (`source_type` = 9) AND (`id` IN (6)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(2573000, 9, 6, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 36, 25749, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'En\'kilah Necrolord - Actionlist - Update Template To \'High Overlord Saurfang\''); + +-- Shadowstalker Getry +-- Talk before starting waypoint +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 25729) AND (`source_type` = 0) AND (`id` IN (0, 1, 2, 3)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(25729, 0, 0, 1, 19, 0, 100, 512, 11705, 0, 0, 0, 0, 0, 1, 0, 3000, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowstalker Getry - On Quest \'Foolish Endeavors\' Taken - Say Line 0'), +(25729, 0, 1, 0, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 45, 25729, 0, 0, 0, 0, 0, 19, 25618, 150, 0, 0, 0, 0, 0, 0, 'Shadowstalker Getry - On Quest \'Foolish Endeavors\' Taken - Set Data 25729 0'), +(25729, 0, 2, 3, 52, 0, 100, 512, 0, 25729, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowstalker Getry - On Text 0 Over - Say Line 1'), +(25729, 0, 3, 0, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 53, 0, 25729, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowstalker Getry - On Text 0 Over - Start Waypoint Path 25729'); + +-- High Overlord Saurfang +-- Copy texts from 25751 to 25749 +DELETE FROM `creature_text` WHERE (`CreatureID` = 25749) AND (`GroupID` IN (0, 1, 2, 3, 4, 5, 6, 7)); +INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES +(25749, 0, 0, 'I\'ll rip your shriveled heart out with my bare hands before any harm comes to $n, necromancer.', 12, 1, 100, 5, 0, 0, 24918, 0, 'High Overlord Saurfang'), +(25749, 1, 0, 'You were never alone, $n.', 12, 1, 100, 1, 0, 0, 24919, 0, 'High Overlord Saurfang'), +(25749, 2, 0, 'This world that you seek to destroy is our home.', 12, 1, 100, 1, 0, 0, 24920, 0, 'High Overlord Saurfang'), +(25749, 3, 0, 'We will fight you with every fiber of our being - until we are nothing more than dust and debris. We will fight until the end.', 12, 1, 100, 1, 0, 0, 24924, 0, 'High Overlord Saurfang'), +(25749, 4, 0, 'A fool who is about to end you, necrolord. There will be nothing left of you for the Lich King to reanimate!', 12, 1, 100, 397, 0, 0, 24927, 0, 'High Overlord Saurfang'), +(25749, 5, 0, '%s\'s eyes glow red for a brief moment.', 16, 0, 100, 0, 0, 0, 11563, 0, 'High Overlord Saurfang'), +(25749, 6, 0, 'Is that the best you can do?', 12, 0, 100, 0, 0, 0, 13130, 0, 'High Overlord Saurfang'), +(25749, 7, 0, 'You\'ll make no mention of me. Either of you!', 12, 1, 100, 0, 0, 0, 24938, 0, 'High Overlord Saurfang'); + +-- Shadowstalker Getry +-- Update id to 25749 +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 2572900) AND (`source_type` = 9) AND (`id` IN (2, 3)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(2572900, 9, 2, 0, 0, 0, 100, 0, 8000, 8000, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 19, 25749, 30, 0, 0, 0, 0, 0, 0, 'Shadowstalker Getry - Actionlist - Say Line 5'), +(2572900, 9, 3, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 19, 25749, 30, 0, 0, 0, 0, 0, 0, 'Shadowstalker Getry - Actionlist - Despawn Instant'); +-- Varidus the Flenser +-- Update id to 25749 +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 2561800) AND (`source_type` = 9) AND (`id` IN (23, 25)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(2561800, 9, 23, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 19, 25749, 30, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - Actionlist - Start Attacking'), +(2561800, 9, 25, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 19, 25749, 100, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - Actionlist - Despawn Instant'); + +-- Shadowstalker Getry +-- add '%s nods.' +DELETE FROM `creature_text` WHERE (`CreatureID` = 25729) AND (`GroupID` IN (5)); +INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES +(25729, 5, 0, '%s nods.', 16, 0, 0, 273, 0, 0, 24935, 0, ''); +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 2572900) AND (`source_type` = 9) AND (`id` IN (2, 3, 4, 5, 6)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(2572900, 9, 2, 0, 0, 0, 100, 0, 8000, 8000, 0, 0, 0, 0, 1, 7, 0, 0, 0, 0, 0, 19, 25749, 30, 0, 0, 0, 0, 0, 0, 'Shadowstalker Getry - Actionlist - Say Line 7'), +(2572900, 9, 3, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 0, 0, 1, 5, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowstalker Getry - Actionlist - Say Line 5'), +(2572900, 9, 4, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowstalker Getry - Actionlist - Say Line 4'), +(2572900, 9, 5, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 19, 25749, 30, 0, 0, 0, 0, 0, 0, 'Shadowstalker Getry - Actionlist - Despawn Instant'), +(2572900, 9, 6, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowstalker Getry - Actionlist - Despawn Instant'); + +-- Varidus the Flenser +-- Set unit_flags to 770 (not attackable, immune to players, immune to NPC) +UPDATE `creature_template` SET `unit_flags` = `unit_flags` | (2 | 256 | 512) WHERE (`entry` = 25618); + +-- Shadowstalker Getry attack Varidus the Flenser +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 25729) AND (`source_type` = 0) AND (`id` IN (10)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(25729, 0, 10, 0, 38, 0, 100, 512, 25618, 1, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 19, 25618, 30, 0, 0, 0, 0, 0, 0, 'Shadowstalker Getry - On Data Set 25618 1 - Start Attacking'); +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 2561800) AND (`source_type` = 9) AND (`id` IN (24, 25, 26, 27)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(2561800, 9, 24, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 0, 0, 45, 25618, 1, 0, 0, 0, 0, 19, 25729, 30, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - Actionlist - Set Data 25618 1'), +(2561800, 9, 25, 0, 0, 0, 100, 0, 180000, 180000, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 19, 25729, 100, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - Actionlist - Despawn Instant'), +(2561800, 9, 26, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 19, 25749, 100, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - Actionlist - Despawn Instant'), +(2561800, 9, 27, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Varidus the Flenser - Actionlist - Despawn Instant'); From 7bed27679b656642446063125111addaacc6fc9c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 12 Sep 2025 00:03:54 +0000 Subject: [PATCH 16/65] chore(DB): import pending files Referenced commit(s): 55574f191b6b153b589c27e7d9245bd60eea6415 --- .../rev_1757457222271603011.sql => db_world/2025_09_12_01.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1757457222271603011.sql => db_world/2025_09_12_01.sql} (99%) diff --git a/data/sql/updates/pending_db_world/rev_1757457222271603011.sql b/data/sql/updates/db_world/2025_09_12_01.sql similarity index 99% rename from data/sql/updates/pending_db_world/rev_1757457222271603011.sql rename to data/sql/updates/db_world/2025_09_12_01.sql index bba3e37e0..7a115de33 100644 --- a/data/sql/updates/pending_db_world/rev_1757457222271603011.sql +++ b/data/sql/updates/db_world/2025_09_12_01.sql @@ -1,3 +1,4 @@ +-- DB update 2025_09_12_00 -> 2025_09_12_01 -- -- Shadowstalker Getry -- Generate comments (all) with Keira From 73a18d649911032b58e924a786439066801945f8 Mon Sep 17 00:00:00 2001 From: Jelle Meeus Date: Thu, 11 Sep 2025 19:02:28 -0700 Subject: [PATCH 17/65] fix(Scripts/Spells): Friendship Bread does not display hearts when eating (#22875) --- .../rev_1757602260817335979.sql | 5 +++ src/server/scripts/Spells/spell_generic.cpp | 37 +++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1757602260817335979.sql diff --git a/data/sql/updates/pending_db_world/rev_1757602260817335979.sql b/data/sql/updates/pending_db_world/rev_1757602260817335979.sql new file mode 100644 index 000000000..9a5d76674 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1757602260817335979.sql @@ -0,0 +1,5 @@ +-- +DELETE FROM `spell_script_names` WHERE `spell_id` IN (29007, 29008) AND `ScriptName`='spell_gen_food_heart_emote'; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(29007, 'spell_gen_food_heart_emote'), +(29008, 'spell_gen_food_heart_emote'); diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index f6c7e45ac..5b1d646ac 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -5492,6 +5492,42 @@ class spell_gen_cooldown_all : public SpellScript } }; +// 29007 - Drink (Freshly-Squeezed Lemonade) +// 29008 - Food (Friendship Bread) +enum HeartFood +{ + SPELL_VISUAL_KIT_HEART_EMOTE = 6552 +}; + +class spell_gen_food_heart_emote : public AuraScript +{ + PrepareAuraScript(spell_gen_food_heart_emote); + + void CalcPeriodic(AuraEffect const* /*effect*/, bool& isPeriodic, int32& amplitude) + { + isPeriodic = true; + amplitude = 5 * IN_MILLISECONDS; + } + + void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) + { + GetUnitOwner()->SendPlaySpellVisual(SPELL_VISUAL_KIT_HEART_EMOTE); + } + + void HandleUpdatePeriodic(AuraEffect* /*aurEff*/) + { + GetUnitOwner()->SendPlaySpellVisual(SPELL_VISUAL_KIT_HEART_EMOTE); + } + + void Register() override + { + AuraType effName = (m_scriptSpellId == 29007) ? SPELL_AURA_MOD_POWER_REGEN : SPELL_AURA_MOD_REGEN; + OnEffectApply += AuraEffectApplyFn(spell_gen_food_heart_emote::OnApply, EFFECT_0, effName, AURA_EFFECT_HANDLE_REAL); + DoEffectCalcPeriodic += AuraEffectCalcPeriodicFn(spell_gen_food_heart_emote::CalcPeriodic, EFFECT_0, effName); + OnEffectUpdatePeriodic += AuraEffectUpdatePeriodicFn(spell_gen_food_heart_emote::HandleUpdatePeriodic, EFFECT_0, effName); + } +}; + void AddSC_generic_spell_scripts() { RegisterSpellScript(spell_silithyst); @@ -5656,4 +5692,5 @@ void AddSC_generic_spell_scripts() RegisterSpellScriptWithArgs(spell_gen_translocate, "spell_gen_translocate_down", SPELL_TRANSLOCATION_DOWN); RegisterSpellScriptWithArgs(spell_gen_translocate, "spell_gen_translocate_up", SPELL_TRANSLOCATION_UP); RegisterSpellScript(spell_gen_cooldown_all); + RegisterSpellScript(spell_gen_food_heart_emote); } From 14cd800e2d30ab20343a58c7a66eb369dcc3a5cc Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 12 Sep 2025 02:06:47 +0000 Subject: [PATCH 18/65] chore(DB): import pending files Referenced commit(s): 73a18d649911032b58e924a786439066801945f8 --- .../rev_1757602260817335979.sql => db_world/2025_09_12_02.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1757602260817335979.sql => db_world/2025_09_12_02.sql} (85%) diff --git a/data/sql/updates/pending_db_world/rev_1757602260817335979.sql b/data/sql/updates/db_world/2025_09_12_02.sql similarity index 85% rename from data/sql/updates/pending_db_world/rev_1757602260817335979.sql rename to data/sql/updates/db_world/2025_09_12_02.sql index 9a5d76674..9be6f6e23 100644 --- a/data/sql/updates/pending_db_world/rev_1757602260817335979.sql +++ b/data/sql/updates/db_world/2025_09_12_02.sql @@ -1,3 +1,4 @@ +-- DB update 2025_09_12_01 -> 2025_09_12_02 -- DELETE FROM `spell_script_names` WHERE `spell_id` IN (29007, 29008) AND `ScriptName`='spell_gen_food_heart_emote'; INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES From d8c0b2532540f084242de4b3dc8f6a03f3bde7e0 Mon Sep 17 00:00:00 2001 From: blinkysc <37940565+blinkysc@users.noreply.github.com> Date: Fri, 12 Sep 2025 08:22:50 -0500 Subject: [PATCH 19/65] fix(DB/Spells): Anub'arak now uses heroic pound when heroic (#22862) --- data/sql/updates/pending_db_world/rev_1757469095725295209.sql | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1757469095725295209.sql diff --git a/data/sql/updates/pending_db_world/rev_1757469095725295209.sql b/data/sql/updates/pending_db_world/rev_1757469095725295209.sql new file mode 100644 index 000000000..35fc737ae --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1757469095725295209.sql @@ -0,0 +1,4 @@ +DELETE FROM `spelldifficulty_dbc` WHERE `ID` IN (53472, 53509); +INSERT INTO `spelldifficulty_dbc` (`ID`, `DifficultySpellID_1`, `DifficultySpellID_2`) VALUES +(53509, 53509, 59432), +(53472, 53472, 59433); From dd67916176f84b61b401f36476ec1dfebb89f581 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 12 Sep 2025 13:23:53 +0000 Subject: [PATCH 20/65] chore(DB): import pending files Referenced commit(s): d8c0b2532540f084242de4b3dc8f6a03f3bde7e0 --- .../rev_1757469095725295209.sql => db_world/2025_09_12_03.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1757469095725295209.sql => db_world/2025_09_12_03.sql} (82%) diff --git a/data/sql/updates/pending_db_world/rev_1757469095725295209.sql b/data/sql/updates/db_world/2025_09_12_03.sql similarity index 82% rename from data/sql/updates/pending_db_world/rev_1757469095725295209.sql rename to data/sql/updates/db_world/2025_09_12_03.sql index 35fc737ae..60b07855b 100644 --- a/data/sql/updates/pending_db_world/rev_1757469095725295209.sql +++ b/data/sql/updates/db_world/2025_09_12_03.sql @@ -1,3 +1,4 @@ +-- DB update 2025_09_12_02 -> 2025_09_12_03 DELETE FROM `spelldifficulty_dbc` WHERE `ID` IN (53472, 53509); INSERT INTO `spelldifficulty_dbc` (`ID`, `DifficultySpellID_1`, `DifficultySpellID_2`) VALUES (53509, 53509, 59432), From 2868dc21066e6b54f7331952cb6b98a8690f3742 Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Fri, 12 Sep 2025 19:05:20 -0300 Subject: [PATCH 21/65] fix(DB/Conditions): Fix Ebon Blade Banner target conditions (Leave Our Mark) (#22880) --- .../rev_1757550472387622900.sql | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1757550472387622900.sql diff --git a/data/sql/updates/pending_db_world/rev_1757550472387622900.sql b/data/sql/updates/pending_db_world/rev_1757550472387622900.sql new file mode 100644 index 000000000..d0e919f1c --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1757550472387622900.sql @@ -0,0 +1,51 @@ +-- +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` = 17 AND `SourceEntry` = 23301 AND `ConditionTypeOrReference` IN (30, 104); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(17, 0, 23301, 0, 0, 104, 1, 1, 1, 0, 1, 0, 0, '', 'Require Ebon Blade Banner NOT used on body (set in AI data)'), +(17, 0, 23301, 0, 1, 104, 1, 1, 1, 0, 1, 0, 0, '', 'Require Ebon Blade Banner NOT used on body (set in AI data)'), +(17, 0, 23301, 0, 2, 104, 1, 1, 1, 0, 1, 0, 0, '', 'Require Ebon Blade Banner NOT used on body (set in AI data)'), +(17, 0, 23301, 0, 3, 104, 1, 1, 1, 0, 1, 0, 0, '', 'Require Ebon Blade Banner NOT used on body (set in AI data)'); + +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 29880) AND (`source_type` = 0) AND (`id` IN (0, 1, 2, 3, 4, 5)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(29880, 0, 0, 0, 0, 0, 100, 512, 0, 0, 30000, 30000, 0, 0, 11, 23262, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Jotunheim Warrior - In Combat - Cast \'Demoralize\''), +(29880, 0, 1, 0, 0, 0, 100, 512, 2000, 3000, 5000, 7000, 0, 0, 11, 43410, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Jotunheim Warrior - In Combat - Cast \'Chop\''), +(29880, 0, 2, 0, 6, 0, 100, 512, 0, 0, 0, 0, 0, 0, 33, 30644, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Jotunheim Warrior - On Just Died - Quest Credit \'null\''), +(29880, 0, 3, 0, 4, 0, 66, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Jotunheim Warrior - On Aggro - Say Line 0'), +(29880, 0, 4, 5, 8, 0, 100, 512, 23301, 0, 0, 0, 0, 0, 33, 30220, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Jotunheim Warrior - On Spellhit \'Ebon Blade Banner\' - Quest Credit \'null\''), +(29880, 0, 5, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Jotunheim Warrior - On Spellhit \'Ebon Blade Banner\' - Set Data 1 1'); + +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 30037) AND (`source_type` = 0) AND (`id` IN (0, 1, 2, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 3)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(30037, 0, 0, 3, 8, 0, 100, 512, 23301, 0, 0, 0, 0, 0, 33, 30220, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Mjordin Combatant - On Spellhit \'Ebon Blade Banner\' - Quest Credit \'null\''), +(30037, 0, 1, 0, 1, 1, 100, 0, 0, 1000, 1500, 2500, 0, 0, 10, 35, 36, 39, 43, 0, 0, 11, 30037, 5, 0, 0, 0, 0, 0, 0, 'Mjordin Combatant - Out of Combat - Play Random Emote (35, 36, 39, 43) (Phase 1)'), +(30037, 0, 2, 0, 25, 0, 100, 512, 0, 0, 0, 0, 0, 0, 22, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Mjordin Combatant - On Reset - Set Event Phase 1'), +(30037, 0, 10, 11, 8, 1, 100, 512, 21855, 0, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 0, 11, 30037, 5, 0, 0, 0, 0, 0, 0, 'Mjordin Combatant - On Spellhit \'Challenge Flag\' - Set Data 1 0 (Phase 1)'), +(30037, 0, 11, 12, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 11, 30037, 5, 0, 0, 0, 0, 0, 0, 'Mjordin Combatant - On Spellhit \'Challenge Flag\' - Despawn Instant (Phase 1)'), +(30037, 0, 12, 13, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Mjordin Combatant - On Spellhit \'Challenge Flag\' - Set Emote State 0 (Phase 1)'), +(30037, 0, 13, 14, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Mjordin Combatant - On Spellhit \'Challenge Flag\' - Set Orientation Invoker (Phase 1)'), +(30037, 0, 14, 15, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 11, 52682, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Mjordin Combatant - On Spellhit \'Challenge Flag\' - Cast \'Honor Challenge: Summon Challenge Flag Object\' (Phase 1)'), +(30037, 0, 15, 16, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 22, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Mjordin Combatant - On Spellhit \'Challenge Flag\' - Set Event Phase 2 (Phase 1)'), +(30037, 0, 16, 0, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 67, 1, 1000, 1000, 0, 0, 100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Mjordin Combatant - On Spellhit \'Challenge Flag\' - Create Timed Event (Phase 1)'), +(30037, 0, 17, 0, 59, 0, 100, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 21, 40, 0, 0, 0, 0, 0, 0, 0, 'Mjordin Combatant - On Timed Event 1 Triggered - Say Line 0'), +(30037, 0, 18, 0, 38, 0, 100, 512, 1, 0, 0, 0, 0, 0, 22, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Mjordin Combatant - On Data Set 1 0 - Set Event Phase 2'), +(30037, 0, 20, 0, 6, 2, 100, 512, 0, 0, 0, 0, 0, 0, 33, 30038, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Mjordin Combatant - On Just Died - Quest Credit \'null\' (Phase 2)'), +(30037, 0, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Mjordin Combatant - On Spellhit \'Ebon Blade Banner\' - Set Data 1 1'); + +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 30243) AND (`source_type` = 0) AND (`id` IN (0, 1, 2, 3, 4)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(30243, 0, 0, 0, 0, 0, 100, 512, 2000, 3000, 3000, 4000, 0, 0, 11, 38029, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Njorndar Spear-Sister - In Combat - Cast \'Stab\''), +(30243, 0, 1, 0, 6, 0, 100, 512, 0, 0, 0, 0, 0, 0, 33, 30644, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Njorndar Spear-Sister - On Just Died - Quest Credit \'null\''), +(30243, 0, 2, 0, 4, 0, 66, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Njorndar Spear-Sister - On Aggro - Say Line 0'), +(30243, 0, 3, 4, 8, 0, 100, 512, 23301, 0, 0, 0, 0, 0, 33, 30220, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Njorndar Spear-Sister - On Spellhit \'Ebon Blade Banner\' - Quest Credit \'null\''), +(30243, 0, 4, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Njorndar Spear-Sister - On Spellhit \'Ebon Blade Banner\' - Set Data 1 1'); + +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 30632) AND (`source_type` = 0) AND (`id` IN (0, 1, 2, 3, 4, 5, 6)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(30632, 0, 0, 0, 25, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 7855, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Mjordin Water Magus - On Reset - Cast \'Summon Water Terror\''), +(30632, 0, 1, 0, 0, 0, 100, 0, 0, 0, 3000, 4000, 0, 0, 11, 9672, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Mjordin Water Magus - In Combat - Cast \'Frostbolt\''), +(30632, 0, 2, 0, 106, 0, 100, 0, 3000, 3000, 7000, 9000, 0, 10, 11, 15532, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Mjordin Water Magus - On Hostile in Range - Cast \'Frost Nova\''), +(30632, 0, 3, 0, 6, 0, 100, 512, 0, 0, 0, 0, 0, 0, 33, 30644, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Mjordin Water Magus - On Just Died - Quest Credit \'null\''), +(30632, 0, 4, 0, 4, 0, 66, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Mjordin Water Magus - On Aggro - Say Line 0'), +(30632, 0, 5, 6, 8, 0, 100, 512, 23301, 0, 0, 0, 0, 0, 33, 30220, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Mjordin Water Magus - On Spellhit \'Ebon Blade Banner\' - Quest Credit \'null\''), +(30632, 0, 6, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Mjordin Water Magus - On Spellhit \'Ebon Blade Banner\' - Set Data 1 1'); From 4fe438da811541e750600e29a89d1e0fb820731a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 12 Sep 2025 22:06:22 +0000 Subject: [PATCH 22/65] chore(DB): import pending files Referenced commit(s): 2868dc21066e6b54f7331952cb6b98a8690f3742 --- .../rev_1757550472387622900.sql => db_world/2025_09_12_04.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1757550472387622900.sql => db_world/2025_09_12_04.sql} (99%) diff --git a/data/sql/updates/pending_db_world/rev_1757550472387622900.sql b/data/sql/updates/db_world/2025_09_12_04.sql similarity index 99% rename from data/sql/updates/pending_db_world/rev_1757550472387622900.sql rename to data/sql/updates/db_world/2025_09_12_04.sql index d0e919f1c..5c79f1781 100644 --- a/data/sql/updates/pending_db_world/rev_1757550472387622900.sql +++ b/data/sql/updates/db_world/2025_09_12_04.sql @@ -1,3 +1,4 @@ +-- DB update 2025_09_12_03 -> 2025_09_12_04 -- DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` = 17 AND `SourceEntry` = 23301 AND `ConditionTypeOrReference` IN (30, 104); INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES From b085dcddabe9c7527e994aef6f863c35d1cbd241 Mon Sep 17 00:00:00 2001 From: Benjamin Jackson <38561765+heyitsbench@users.noreply.github.com> Date: Fri, 12 Sep 2025 18:26:46 -0400 Subject: [PATCH 23/65] fix(DB/SAI): Remove Lash of Pain from Succubus Minion. (#22890) --- data/sql/updates/pending_db_world/succubus-lash-of-pain.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 data/sql/updates/pending_db_world/succubus-lash-of-pain.sql diff --git a/data/sql/updates/pending_db_world/succubus-lash-of-pain.sql b/data/sql/updates/pending_db_world/succubus-lash-of-pain.sql new file mode 100644 index 000000000..65db15bb0 --- /dev/null +++ b/data/sql/updates/pending_db_world/succubus-lash-of-pain.sql @@ -0,0 +1,2 @@ +DELETE FROM `smart_scripts` WHERE `entryorguid` = 10928 AND `source_type` = 0; +UPDATE `creature_template` SET `AIName` = '' WHERE `entry` = 10928; From 5814af9e7686c3a7f897e3db517861e32c6ce79f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 12 Sep 2025 22:29:40 +0000 Subject: [PATCH 24/65] chore(DB): import pending files Referenced commit(s): b085dcddabe9c7527e994aef6f863c35d1cbd241 --- .../succubus-lash-of-pain.sql => db_world/2025_09_12_05.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/succubus-lash-of-pain.sql => db_world/2025_09_12_05.sql} (76%) diff --git a/data/sql/updates/pending_db_world/succubus-lash-of-pain.sql b/data/sql/updates/db_world/2025_09_12_05.sql similarity index 76% rename from data/sql/updates/pending_db_world/succubus-lash-of-pain.sql rename to data/sql/updates/db_world/2025_09_12_05.sql index 65db15bb0..f62d1087f 100644 --- a/data/sql/updates/pending_db_world/succubus-lash-of-pain.sql +++ b/data/sql/updates/db_world/2025_09_12_05.sql @@ -1,2 +1,3 @@ +-- DB update 2025_09_12_04 -> 2025_09_12_05 DELETE FROM `smart_scripts` WHERE `entryorguid` = 10928 AND `source_type` = 0; UPDATE `creature_template` SET `AIName` = '' WHERE `entry` = 10928; From 4a0803a25dda02390dbba3638bdcbce1ad06f96a Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Sat, 13 Sep 2025 07:45:03 -0300 Subject: [PATCH 25/65] =?UTF-8?q?fix(DB/SAI):=20Scavenge-bot=20not=20grant?= =?UTF-8?q?ing=20credit=20for=20Weakness=20to=20Lightni=E2=80=A6=20(#22899?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/sql/updates/pending_db_world/rev_1757729642856846300.sql | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1757729642856846300.sql diff --git a/data/sql/updates/pending_db_world/rev_1757729642856846300.sql b/data/sql/updates/pending_db_world/rev_1757729642856846300.sql new file mode 100644 index 000000000..d1e0a321e --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1757729642856846300.sql @@ -0,0 +1,4 @@ +-- +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 25752) AND (`source_type` = 0) AND (`id` IN (2)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(25752, 0, 2, 0, 6, 1, 100, 0, 0, 0, 0, 0, 0, 0, 11, 46443, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Scavenge-bot 004-A8 - On Just Died - Cast \'Weakness to Lightning: Kill Credit Direct to Player\' (Phase 1)'); From 705f5e5d2abe2ebfafb588832b505080a2819398 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 13 Sep 2025 10:46:04 +0000 Subject: [PATCH 26/65] chore(DB): import pending files Referenced commit(s): 4a0803a25dda02390dbba3638bdcbce1ad06f96a --- .../rev_1757729642856846300.sql => db_world/2025_09_13_00.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1757729642856846300.sql => db_world/2025_09_13_00.sql} (94%) diff --git a/data/sql/updates/pending_db_world/rev_1757729642856846300.sql b/data/sql/updates/db_world/2025_09_13_00.sql similarity index 94% rename from data/sql/updates/pending_db_world/rev_1757729642856846300.sql rename to data/sql/updates/db_world/2025_09_13_00.sql index d1e0a321e..5d8fb3300 100644 --- a/data/sql/updates/pending_db_world/rev_1757729642856846300.sql +++ b/data/sql/updates/db_world/2025_09_13_00.sql @@ -1,3 +1,4 @@ +-- DB update 2025_09_12_05 -> 2025_09_13_00 -- DELETE FROM `smart_scripts` WHERE (`entryorguid` = 25752) AND (`source_type` = 0) AND (`id` IN (2)); INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES From 2ca4e8d398a76e10d5c834cb82467abb267c60a2 Mon Sep 17 00:00:00 2001 From: Jelle Meeus Date: Sat, 13 Sep 2025 13:46:33 -0700 Subject: [PATCH 27/65] fix(DB/SmartAI): Fortunate Misunderstandings quest completion and oracle pathing (#22888) --- .../rev_1757629862309909472.sql | 165 ++++++++++++++++++ 1 file changed, 165 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1757629862309909472.sql diff --git a/data/sql/updates/pending_db_world/rev_1757629862309909472.sql b/data/sql/updates/pending_db_world/rev_1757629862309909472.sql new file mode 100644 index 000000000..eafff0c4c --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1757629862309909472.sql @@ -0,0 +1,165 @@ +-- +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 28217) AND (`source_type` = 0) AND (`id` IN (8, 9, 10, 16, 17, 18, 19, 20, 21)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(28217, 0, 8, 11, 62, 0, 100, 512, 9684, 0, 0, 0, 0, 0, 2, 774, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Injured Rainspeaker Oracle - On Gossip Option Select - Set Faction (Alliance)'), +(28217, 0, 9, 11, 62, 0, 100, 512, 9684, 0, 0, 0, 0, 0, 2, 775, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Injured Rainspeaker Oracle - On Gossip Option Select - Set Faction (Horde)'), +(28217, 0, 16, 0, 40, 0, 100, 512, 16, 282170, 0, 0, 0, 0, 80, 2821701, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Injured Rainspeaker Oracle - On Point 16 of Path 282170 Reached - Run Script'), +(28217, 0, 17, 0, 40, 0, 100, 512, 17, 282171, 0, 0, 0, 0, 80, 2821701, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Injured Rainspeaker Oracle - On Point 17 of Path 282171 Reached - Run Script'), +(28217, 0, 18, 0, 40, 0, 100, 512, 16, 282172, 0, 0, 0, 0, 80, 2821701, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Injured Rainspeaker Oracle - On Point 16 of Path 282172 Reached - Run Script'), +(28217, 0, 19, 0, 40, 0, 100, 512, 19, 282173, 0, 0, 0, 0, 80, 2821701, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Injured Rainspeaker Oracle - On Point 19 of Path 282173 Reached - Run Script'), +(28217, 0, 20, 0, 40, 0, 100, 512, 21, 282174, 0, 0, 0, 0, 80, 2821701, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Injured Rainspeaker Oracle - On Point 21 of Path 282174 Reached - Run Script'), +(28217, 0, 21, 0, 40, 0, 100, 512, 17, 282175, 0, 0, 0, 0, 80, 2821701, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Injured Rainspeaker Oracle - On Point 17 of Path 282175 Reached - Run Script'); + +DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 2821700); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(2821700, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Injured Rainspeaker Oracle - Actionlist - Set Npc Flag '), +(2821700, 9, 1, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Injured Rainspeaker Oracle - Actionlist - Say Line 2'), +(2821700, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 53, 1, 282170, 0, 12570, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Injured Rainspeaker Oracle - Actionlist - Start Waypoint Path 282170'), +(2821700, 9, 3, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 53, 1, 282171, 0, 12570, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Injured Rainspeaker Oracle - Actionlist - Start Waypoint Path 282171'), +(2821700, 9, 4, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 53, 1, 282172, 0, 12570, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Injured Rainspeaker Oracle - Actionlist - Start Waypoint Path 282172'), +(2821700, 9, 5, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 53, 1, 282173, 0, 12570, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Injured Rainspeaker Oracle - Actionlist - Start Waypoint Path 282173'), +(2821700, 9, 6, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 53, 1, 282174, 0, 12570, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Injured Rainspeaker Oracle - Actionlist - Start Waypoint Path 282174'), +(2821700, 9, 7, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 53, 1, 282175, 0, 12570, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Injured Rainspeaker Oracle - Actionlist - Start Waypoint Path 282175'); + +DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId` = 22) AND (`SourceGroup` IN (3, 4, 5, 6, 7, 8)) AND (`SourceEntry` = 2821700) AND (`SourceId` = 9) AND (`ElseGroup` = 0) AND (`ConditionTypeOrReference` = 31) AND (`ConditionValue1` = 3) AND (`ConditionValue2` = 28217); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(22, 3, 2821700, 9, 0, 31, 1, 3, 28217, 101030, 0, 0, 0, '', 'Injured Rainspeaker Oracle - GUID 1'), +(22, 4, 2821700, 9, 0, 31, 1, 3, 28217, 101028, 0, 0, 0, '', 'Injured Rainspeaker Oracle - GUID 2'), +(22, 5, 2821700, 9, 0, 31, 1, 3, 28217, 101048, 0, 0, 0, '', 'Injured Rainspeaker Oracle - GUID 3'), +(22, 6, 2821700, 9, 0, 31, 1, 3, 28217, 100983, 0, 0, 0, '', 'Injured Rainspeaker Oracle - GUID 4'), +(22, 7, 2821700, 9, 0, 31, 1, 3, 28217, 101029, 0, 0, 0, '', 'Injured Rainspeaker Oracle - GUID 5'), +(22, 8, 2821700, 9, 0, 31, 1, 3, 28217, 101031, 0, 0, 0, '', 'Injured Rainspeaker Oracle - GUID 6'); + +DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 2821701); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(2821701, 9, 0, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Injured Rainspeaker Oracle - Actionlist - Say Line 3'), +(2821701, 9, 1, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Injured Rainspeaker Oracle - Actionlist - Say Line 4'), +(2821701, 9, 2, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 0, 0, 11, 52100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Injured Rainspeaker Oracle - Actionlist - Cast \'Summon Frenyheart Tracker\''), +(2821701, 9, 3, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 0, 0, 53, 1, 282176, 0, 0, 10000, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Injured Rainspeaker Oracle - Actionlist - Start Waypoint Path 282176'); + +-- Add Waypoints +DELETE FROM `waypoints` WHERE `entry` IN (282170, 282171, 282172, 282173, 282174, 282175, 282176); +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `orientation`, `point_comment`) VALUES +-- path 1 +(282170, 1, 5399.74, 4528.052, -135.478, NULL, 'Injured Rainspeaker Oracle 1'), +(282170, 2, 5405.5356, 4526.751, -140.8915, NULL, 'Injured Rainspeaker Oracle 1'), +(282170, 3, 5413.198, 4523.4453, -143.88805, NULL, 'Injured Rainspeaker Oracle 1'), +(282170, 4, 5422.979, 4519.949, -146.1948, NULL, 'Injured Rainspeaker Oracle 1'), +(282170, 5, 5447.172, 4549.334, -149.498, NULL, 'Injured Rainspeaker Oracle 1'), +(282170, 6, 5457.187, 4574.096, -147.5059, NULL, 'Injured Rainspeaker Oracle 1'), +(282170, 7, 5469.797, 4602.933, -145.9535, NULL, 'Injured Rainspeaker Oracle 1'), +(282170, 8, 5482.532, 4609.663, -139.9535, NULL, 'Injured Rainspeaker Oracle 1'), +(282170, 9, 5491.722, 4630.365, -135.7035, NULL, 'Injured Rainspeaker Oracle 1'), +(282170, 10, 5519.538, 4645.676, -135.4096, NULL, 'Injured Rainspeaker Oracle 1'), +(282170, 11, 5547.847, 4651.108, -134.7803, NULL, 'Injured Rainspeaker Oracle 1'), -- Cmangos scriptId 2821701 +(282170, 12, 5576.821, 4653.372, -136.5378, NULL, 'Injured Rainspeaker Oracle 1'), +(282170, 13, 5597.359, 4641.149, -136.5378, NULL, 'Injured Rainspeaker Oracle 1'), +(282170, 14, 5615.371, 4624.71, -137.6426, NULL, 'Injured Rainspeaker Oracle 1'), +(282170, 15, 5637.85, 4597.664, -137.1443, NULL, 'Injured Rainspeaker Oracle 1'), +(282170, 16, 5637.85, 4597.664, -137.1443, NULL, 'Injured Rainspeaker Oracle 1'), +-- path 2 +(282171, 1, 5484.66, 4455.59, -140.235, NULL, 'Injured Rainspeaker Oracle 2'), +(282171, 2, 5503.24, 4450.52, -146.32, NULL, 'Injured Rainspeaker Oracle 2'), +(282171, 3, 5516.12, 4465.61, -147.148, NULL, 'Injured Rainspeaker Oracle 2'), +(282171, 4, 5507.12, 4490.48, -147.128, NULL, 'Injured Rainspeaker Oracle 2'), +(282171, 5, 5505.15, 4516.67, -147.128, NULL, 'Injured Rainspeaker Oracle 2'), +(282171, 6, 5506.33, 4538.27, -145.911, NULL, 'Injured Rainspeaker Oracle 2'), +(282171, 7, 5506.38, 4559.37, -141.97, NULL, 'Injured Rainspeaker Oracle 2'), +(282171, 8, 5496.35, 4580.67, -139.158, NULL, 'Injured Rainspeaker Oracle 2'), +(282171, 9, 5492.16, 4614.84, -137.666, NULL, 'Injured Rainspeaker Oracle 2'), +(282171, 10, 5491.722, 4630.365, -135.7035, NULL, 'Injured Rainspeaker Oracle 2'), +(282171, 11, 5519.538, 4645.676, -135.4096, NULL, 'Injured Rainspeaker Oracle 2'), +(282171, 12, 5547.847, 4651.108, -134.7803, NULL, 'Injured Rainspeaker Oracle 2'), -- Cmangos scriptId 2821701 +(282171, 13, 5576.821, 4653.372, -136.5378, NULL, 'Injured Rainspeaker Oracle 2'), +(282171, 14, 5597.359, 4641.149, -136.5378, NULL, 'Injured Rainspeaker Oracle 2'), +(282171, 15, 5615.371, 4624.71, -137.6426, NULL, 'Injured Rainspeaker Oracle 2'), +(282171, 16, 5637.85, 4597.664, -137.1443, NULL, 'Injured Rainspeaker Oracle 2'), +(282171, 17, 5637.85, 4597.664, -137.1443, NULL, 'Injured Rainspeaker Oracle 2'), -- Cmangos scriptId 2821702 +-- path 3 +(282172, 1, 5467.172, 4516.1226, -132.3954, NULL, 'Injured Rainspeaker Oracle 3'), +(282172, 2, 5477.16, 4516.51, -136.586, NULL, 'Injured Rainspeaker Oracle 3'), +(282172, 3, 5482.25, 4512.48, -142.981, NULL, 'Injured Rainspeaker Oracle 3'), +(282172, 4, 5485.95, 4513.28, -145.649, NULL, 'Injured Rainspeaker Oracle 3'), +(282172, 5, 5499.73, 4526.61, -147.318, NULL, 'Injured Rainspeaker Oracle 3'), +(282172, 6, 5506.38, 4559.37, -141.97 , NULL, 'Injured Rainspeaker Oracle 3'), +(282172, 7, 5496.35, 4580.67, -139.158, NULL, 'Injured Rainspeaker Oracle 3'), +(282172, 8, 5492.16, 4614.84, -137.666, NULL, 'Injured Rainspeaker Oracle 3'), +(282172, 9, 5491.722, 4630.365, -135.7035, NULL, 'Injured Rainspeaker Oracle 3'), +(282172, 10, 5519.538, 4645.676, -135.4096, NULL, 'Injured Rainspeaker Oracle 3'), +(282172, 11, 5547.847, 4651.108, -134.7803, NULL, 'Injured Rainspeaker Oracle 3'), -- Cmangos scriptId 2821701 +(282172, 12, 5576.821, 4653.372, -136.5378, NULL, 'Injured Rainspeaker Oracle 3'), +(282172, 13, 5597.359, 4641.149, -136.5378, NULL, 'Injured Rainspeaker Oracle 3'), +(282172, 14, 5615.371, 4624.71, -137.6426, NULL, 'Injured Rainspeaker Oracle 3'), +(282172, 15, 5637.85, 4597.664, -137.1443, NULL, 'Injured Rainspeaker Oracle 3'), +(282172, 16, 5637.85, 4597.664, -137.1443, NULL, 'Injured Rainspeaker Oracle 3'), +-- path 4 +(282173, 1, 5470.1, 4397.22, -141.991, NULL, 'Injured Rainspeaker Oracle 4'), +(282173, 2, 5474.27, 4418.16, -145.096, NULL, 'Injured Rainspeaker Oracle 4'), +(282173, 3, 5484, 4433.44, -145.945, NULL, 'Injured Rainspeaker Oracle 4'), +(282173, 4, 5503.24, 4450.52, -146.32 , NULL, 'Injured Rainspeaker Oracle 4'), +(282173, 5, 5516.12, 4465.61, -147.148, NULL, 'Injured Rainspeaker Oracle 4'), +(282173, 6, 5507.12, 4490.48, -147.128, NULL, 'Injured Rainspeaker Oracle 4'), +(282173, 7, 5505.15, 4516.67, -147.128, NULL, 'Injured Rainspeaker Oracle 4'), +(282173, 8, 5506.33, 4538.27, -145.911, NULL, 'Injured Rainspeaker Oracle 4'), +(282173, 9, 5506.38, 4559.37, -141.97 , NULL, 'Injured Rainspeaker Oracle 4'), +(282173, 10, 5496.35, 4580.67, -139.158, NULL, 'Injured Rainspeaker Oracle 4'), +(282173, 11, 5492.16, 4614.84, -137.666, NULL, 'Injured Rainspeaker Oracle 4'), +(282173, 12, 5491.722, 4630.365, -135.7035, NULL, 'Injured Rainspeaker Oracle 4'), +(282173, 13, 5519.538, 4645.676, -135.4096, NULL, 'Injured Rainspeaker Oracle 4'), +(282173, 14, 5547.847, 4651.108, -134.7803, NULL, 'Injured Rainspeaker Oracle 4'), -- Cmangos scriptId 2821701 +(282173, 15, 5576.821, 4653.372, -136.5378, NULL, 'Injured Rainspeaker Oracle 4'), +(282173, 16, 5597.359, 4641.149, -136.5378, NULL, 'Injured Rainspeaker Oracle 4'), +(282173, 17, 5615.371, 4624.71, -137.6426, NULL, 'Injured Rainspeaker Oracle 4'), +(282173, 18, 5637.85, 4597.664, -137.1443, NULL, 'Injured Rainspeaker Oracle 4'), +(282173, 19, 5637.85, 4597.664, -137.1443, NULL, 'Injured Rainspeaker Oracle 4'), -- Cmangos scriptId 2821702 +-- path 5 +(282174, 1, 5422.91, 4402.33, -138.328, NULL, 'Injured Rainspeaker Oracle 5'), +(282174, 2, 5431.45, 4409.64, -145.356, NULL, 'Injured Rainspeaker Oracle 5'), +(282174, 3, 5453.34, 4417.19, -145.739, NULL, 'Injured Rainspeaker Oracle 5'), +(282174, 4, 5470.28, 4425.27, -146.101, NULL, 'Injured Rainspeaker Oracle 5'), +(282174, 5, 5484, 4433.44, -145.945, NULL, 'Injured Rainspeaker Oracle 5'), +(282174, 6, 5503.24, 4450.52, -146.32 , NULL, 'Injured Rainspeaker Oracle 5'), +(282174, 7, 5516.12, 4465.61, -147.148, NULL, 'Injured Rainspeaker Oracle 5'), +(282174, 8, 5507.12, 4490.48, -147.128, NULL, 'Injured Rainspeaker Oracle 5'), +(282174, 9, 5505.15, 4516.67, -147.128, NULL, 'Injured Rainspeaker Oracle 5'), +(282174, 10, 5506.33, 4538.27, -145.911, NULL, 'Injured Rainspeaker Oracle 5'), +(282174, 11, 5506.38, 4559.37, -141.97 , NULL, 'Injured Rainspeaker Oracle 5'), +(282174, 12, 5496.35, 4580.67, -139.158, NULL, 'Injured Rainspeaker Oracle 5'), +(282174, 13, 5492.16, 4614.84, -137.666, NULL, 'Injured Rainspeaker Oracle 5'), +(282174, 14, 5491.722, 4630.365, -135.7035, NULL, 'Injured Rainspeaker Oracle 5'), +(282174, 15, 5519.538, 4645.676, -135.4096, NULL, 'Injured Rainspeaker Oracle 5'), +(282174, 16, 5547.847, 4651.108, -134.7803, NULL, 'Injured Rainspeaker Oracle 5'), -- Cmangos scriptId 2821701 +(282174, 17, 5576.821, 4653.372, -136.5378, NULL, 'Injured Rainspeaker Oracle 5'), +(282174, 18, 5597.359, 4641.149, -136.5378, NULL, 'Injured Rainspeaker Oracle 5'), +(282174, 19, 5615.371, 4624.71, -137.6426, NULL, 'Injured Rainspeaker Oracle 5'), +(282174, 20, 5637.85, 4597.664, -137.1443, NULL, 'Injured Rainspeaker Oracle 5'), +(282174, 21, 5637.85, 4597.664, -137.1443, NULL, 'Injured Rainspeaker Oracle 5'), -- Cmangos scriptId 2821702 +-- path 6 +(282175, 1, 5415.97, 4567.51, -129.618, NULL, 'Injured Rainspeaker Oracle 6'), +(282175, 2, 5418.6, 4557.18, -134.159 , NULL, 'Injured Rainspeaker Oracle 6'), +(282175, 3, 5429.31, 4556.57, -135.49 , NULL, 'Injured Rainspeaker Oracle 6'), +(282175, 4, 5434.51, 4561.48, -136.679, NULL, 'Injured Rainspeaker Oracle 6'), +(282175, 5, 5441.12, 4562.36, -140.188, NULL, 'Injured Rainspeaker Oracle 6'), +(282175, 6, 5447.86, 4566.34, -145.656, NULL, 'Injured Rainspeaker Oracle 6'), +(282175, 7, 5457.187, 4574.096, -147.5059, NULL, 'Injured Rainspeaker Oracle 6'), +(282175, 8, 5469.797, 4602.933, -145.9535, NULL, 'Injured Rainspeaker Oracle 6'), +(282175, 9, 5482.532, 4609.663, -139.9535, NULL, 'Injured Rainspeaker Oracle 6'), +(282175, 10, 5491.722, 4630.365, -135.7035, NULL, 'Injured Rainspeaker Oracle 6'), +(282175, 11, 5519.538, 4645.676, -135.4096, NULL, 'Injured Rainspeaker Oracle 6'), +(282175, 12, 5547.847, 4651.108, -134.7803, NULL, 'Injured Rainspeaker Oracle 6'), -- Cmangos scriptId 2821701 +(282175, 13, 5576.821, 4653.372, -136.5378, NULL, 'Injured Rainspeaker Oracle 6'), +(282175, 14, 5597.359, 4641.149, -136.5378, NULL, 'Injured Rainspeaker Oracle 6'), +(282175, 15, 5615.371, 4624.71, -137.6426, NULL, 'Injured Rainspeaker Oracle 6'), +(282175, 16, 5637.85, 4597.664, -137.1443, NULL, 'Injured Rainspeaker Oracle 6'), +(282175, 17, 5637.85, 4597.664, -137.1443, NULL, 'Injured Rainspeaker Oracle 6'), -- Cmangos scriptId 2821702 +-- path home +(282176, 1, 5642.518, 4593.687, -137.6443, NULL, 'Injured Rainspeaker Oracle Home'), +(282176, 2, 5680.222, 4590.04, -132.5749, NULL, 'Injured Rainspeaker Oracle Home'), +(282176, 3, 5698.854, 4587.619, -125.0749, NULL, 'Injured Rainspeaker Oracle Home'), +(282176, 4, 5705.868, 4579.395, -120.0971, NULL, 'Injured Rainspeaker Oracle Home'), +(282176, 5, 5724.732, 4560.532, -119.2611, NULL, 'Injured Rainspeaker Oracle Home'); + +-- Add Missing Spawn +DELETE FROM `creature` WHERE (`id1` = 28217) AND (`guid` = 101048); +INSERT INTO `creature` (`guid`, `id1`, `id2`, `id3`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `ScriptName`, `VerifiedBuild`, `CreateObject`, `Comment`) VALUES +(101048, 28217, 0, 0, 571, 0, 0, 1, 1, 0, 5459.16, 4515.15, -134.444, 0.80285, 300, 0, 0, 9103, 8313, 0, 0, 0, 0, '', 0, 0, NULL); From 022105ed1d7e64c7fe19366e62aaaf64bbf2c722 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 13 Sep 2025 20:48:33 +0000 Subject: [PATCH 28/65] chore(DB): import pending files Referenced commit(s): 2ca4e8d398a76e10d5c834cb82467abb267c60a2 --- .../rev_1757629862309909472.sql => db_world/2025_09_13_01.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1757629862309909472.sql => db_world/2025_09_13_01.sql} (99%) diff --git a/data/sql/updates/pending_db_world/rev_1757629862309909472.sql b/data/sql/updates/db_world/2025_09_13_01.sql similarity index 99% rename from data/sql/updates/pending_db_world/rev_1757629862309909472.sql rename to data/sql/updates/db_world/2025_09_13_01.sql index eafff0c4c..c11332bb0 100644 --- a/data/sql/updates/pending_db_world/rev_1757629862309909472.sql +++ b/data/sql/updates/db_world/2025_09_13_01.sql @@ -1,3 +1,4 @@ +-- DB update 2025_09_13_00 -> 2025_09_13_01 -- DELETE FROM `smart_scripts` WHERE (`entryorguid` = 28217) AND (`source_type` = 0) AND (`id` IN (8, 9, 10, 16, 17, 18, 19, 20, 21)); INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES From 7da80bd189041db9f4c69e96c1f90c0142522818 Mon Sep 17 00:00:00 2001 From: blinkysc <37940565+blinkysc@users.noreply.github.com> Date: Sat, 13 Sep 2025 16:08:07 -0500 Subject: [PATCH 29/65] fix(DB/StormPeaks) Add quest prerequisite for Unwelcome Guests (#22858) --- data/sql/updates/pending_db_world/rev_1757462707122831818.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1757462707122831818.sql diff --git a/data/sql/updates/pending_db_world/rev_1757462707122831818.sql b/data/sql/updates/pending_db_world/rev_1757462707122831818.sql new file mode 100644 index 000000000..c2eb36fde --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1757462707122831818.sql @@ -0,0 +1,2 @@ +-- +UPDATE `quest_template_addon` SET `PrevQuestID` = 12874 WHERE (`ID` = 12876); From 3dc5be987889128f177cb31df0cd07ea54151bbd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 13 Sep 2025 21:09:10 +0000 Subject: [PATCH 30/65] chore(DB): import pending files Referenced commit(s): 7da80bd189041db9f4c69e96c1f90c0142522818 --- .../rev_1757462707122831818.sql => db_world/2025_09_13_02.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1757462707122831818.sql => db_world/2025_09_13_02.sql} (64%) diff --git a/data/sql/updates/pending_db_world/rev_1757462707122831818.sql b/data/sql/updates/db_world/2025_09_13_02.sql similarity index 64% rename from data/sql/updates/pending_db_world/rev_1757462707122831818.sql rename to data/sql/updates/db_world/2025_09_13_02.sql index c2eb36fde..2e4ff25f4 100644 --- a/data/sql/updates/pending_db_world/rev_1757462707122831818.sql +++ b/data/sql/updates/db_world/2025_09_13_02.sql @@ -1,2 +1,3 @@ +-- DB update 2025_09_13_01 -> 2025_09_13_02 -- UPDATE `quest_template_addon` SET `PrevQuestID` = 12874 WHERE (`ID` = 12876); From 660ae23dd7bb2bea0dc6ab97062a61f8a8885a0b Mon Sep 17 00:00:00 2001 From: Teknishun7 <89323351+Teknishun7@users.noreply.github.com> Date: Sat, 13 Sep 2025 18:41:13 -0400 Subject: [PATCH 31/65] fix(DB/Creature) Remove skinning loot from Soriid the Devourer (#22908) --- data/sql/updates/pending_db_world/rev_1757794989983160217.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1757794989983160217.sql diff --git a/data/sql/updates/pending_db_world/rev_1757794989983160217.sql b/data/sql/updates/pending_db_world/rev_1757794989983160217.sql new file mode 100644 index 000000000..1164377a5 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1757794989983160217.sql @@ -0,0 +1,2 @@ +-- Removes the skinLoot from Soriid the Devourer +UPDATE `creature_template` SET `skinloot` = 0 WHERE `entry` = 8204; From 6c12f0ff5f6f5245a0f891a80ad55c39fc578af5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 13 Sep 2025 22:42:17 +0000 Subject: [PATCH 32/65] chore(DB): import pending files Referenced commit(s): 660ae23dd7bb2bea0dc6ab97062a61f8a8885a0b --- .../rev_1757794989983160217.sql => db_world/2025_09_13_03.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1757794989983160217.sql => db_world/2025_09_13_03.sql} (72%) diff --git a/data/sql/updates/pending_db_world/rev_1757794989983160217.sql b/data/sql/updates/db_world/2025_09_13_03.sql similarity index 72% rename from data/sql/updates/pending_db_world/rev_1757794989983160217.sql rename to data/sql/updates/db_world/2025_09_13_03.sql index 1164377a5..58a59bba9 100644 --- a/data/sql/updates/pending_db_world/rev_1757794989983160217.sql +++ b/data/sql/updates/db_world/2025_09_13_03.sql @@ -1,2 +1,3 @@ +-- DB update 2025_09_13_02 -> 2025_09_13_03 -- Removes the skinLoot from Soriid the Devourer UPDATE `creature_template` SET `skinloot` = 0 WHERE `entry` = 8204; From 7a15ccbe3033c62cccd22f76230e34df8d00b846 Mon Sep 17 00:00:00 2001 From: Ryan Turner Date: Sun, 14 Sep 2025 09:25:25 +0100 Subject: [PATCH 33/65] fix(DB/Quest) - Only allow either News for Rakoria or News from Zangarmarsh be picked up and completed (#22904) --- data/sql/updates/pending_db_world/rev_1757775301662884000.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1757775301662884000.sql diff --git a/data/sql/updates/pending_db_world/rev_1757775301662884000.sql b/data/sql/updates/pending_db_world/rev_1757775301662884000.sql new file mode 100644 index 000000000..13da57c79 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1757775301662884000.sql @@ -0,0 +1,2 @@ +-- From 0 to 9796 ExclusiveGroup for "News from Zangarmarsh" and "News for Rakoria" +UPDATE `quest_template_addon` SET `ExclusiveGroup` = 9796 WHERE `ID` IN (9796, 10105); From 26662b8db7c53eb6f8359004a1a40cf674cf67dc Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 14 Sep 2025 08:26:29 +0000 Subject: [PATCH 34/65] chore(DB): import pending files Referenced commit(s): 7a15ccbe3033c62cccd22f76230e34df8d00b846 --- .../rev_1757775301662884000.sql => db_world/2025_09_14_00.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1757775301662884000.sql => db_world/2025_09_14_00.sql} (79%) diff --git a/data/sql/updates/pending_db_world/rev_1757775301662884000.sql b/data/sql/updates/db_world/2025_09_14_00.sql similarity index 79% rename from data/sql/updates/pending_db_world/rev_1757775301662884000.sql rename to data/sql/updates/db_world/2025_09_14_00.sql index 13da57c79..d8cd19578 100644 --- a/data/sql/updates/pending_db_world/rev_1757775301662884000.sql +++ b/data/sql/updates/db_world/2025_09_14_00.sql @@ -1,2 +1,3 @@ +-- DB update 2025_09_13_03 -> 2025_09_14_00 -- From 0 to 9796 ExclusiveGroup for "News from Zangarmarsh" and "News for Rakoria" UPDATE `quest_template_addon` SET `ExclusiveGroup` = 9796 WHERE `ID` IN (9796, 10105); From 835febe6ae66abbede9b455f27c7ae16bf3ae218 Mon Sep 17 00:00:00 2001 From: Rocco Silipo <108557877+Rorschach91@users.noreply.github.com> Date: Sun, 14 Sep 2025 10:30:10 +0200 Subject: [PATCH 35/65] fix(DB/Sholazar) Captive Crocolisk no longer has a wonky path. (#22891) --- .../updates/pending_db_world/A_Rough_Ride.sql | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 data/sql/updates/pending_db_world/A_Rough_Ride.sql diff --git a/data/sql/updates/pending_db_world/A_Rough_Ride.sql b/data/sql/updates/pending_db_world/A_Rough_Ride.sql new file mode 100644 index 000000000..9af8de4ea --- /dev/null +++ b/data/sql/updates/pending_db_world/A_Rough_Ride.sql @@ -0,0 +1,90 @@ +-- Delete old WP and add the new one (Sniffed). +DELETE FROM `waypoints` WHERE `entry` IN (28308, 2830800); +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `orientation`, `point_comment`) VALUES +(2830800, 1, 5268.2256, 4425.439, -95.66463, NULL, 'Captive Crocolisk'), +(2830800, 2, 5249.557, 4405.8916, -96.06503, NULL, 'Captive Crocolisk'), +(2830800, 3, 5266.678, 4365.4644, -98.4554, NULL, 'Captive Crocolisk'), +(2830800, 4, 5289.1377, 4366.553, -102.25680, NULL, 'Captive Crocolisk'), +(2830800, 5, 5292.401, 4366.2607, -103.41171, NULL, 'Captive Crocolisk'), +(2830800, 6, 5295.401, 4366.0107, -105.91171, NULL, 'Captive Crocolisk'), +(2830800, 7, 5298.401, 4365.7607, -108.16171, NULL, 'Captive Crocolisk'), +(2830800, 8, 5330.325, 4363.249, -121.41144, NULL, 'Captive Crocolisk'), +(2830800, 9, 5333.6475, 4359.3447, -121.62401, NULL, 'Captive Crocolisk'), +(2830800, 10, 5336.8975, 4355.5947, -122.37401, NULL, 'Captive Crocolisk'), +(2830800, 11, 5340.1475, 4352.0947, -124.12401, NULL, 'Captive Crocolisk'), +(2830800, 12, 5344.6475, 4346.8447, -127.37401, NULL, 'Captive Crocolisk'), +(2830800, 13, 5349.2285, 4341.059, -134.14465, NULL, 'Captive Crocolisk'), +(2830800, 14, 5353.7925, 4339.2725, -137.71663, NULL, 'Captive Crocolisk'), +(2830800, 15, 5357.2925, 4337.5225, -138.96663, NULL, 'Captive Crocolisk'), +(2830800, 16, 5361.0425, 4335.7725, -139.96663, NULL, 'Captive Crocolisk'), +(2830800, 17, 5365.0376, 4333.716, -141.6359, NULL, 'Captive Crocolisk'), +(2830800, 18, 5379.338, 4324.619, -145.39046, NULL, 'Captive Crocolisk'), +(2830800, 19, 5386.838, 4319.869, -146.39046, NULL, 'Captive Crocolisk'), +(2830800, 20, 5399.588, 4311.869, -146.14046, NULL, 'Captive Crocolisk'), +(2830800, 21, 5405.4434, 4307.841, -142.1537, NULL, 'Captive Crocolisk'), +(2830800, 22, 5434.999, 4305.6587, -136.43095, NULL, 'Captive Crocolisk'), +(2830800, 23, 5464.708, 4302.0664, -133.22482, NULL, 'Captive Crocolisk'), +(2830800, 24, 5479.955, 4297.8174, -132.47156, NULL, 'Captive Crocolisk'), +(2830800, 25, 5490.5547, 4294.3945, -127.5686, NULL, 'Captive Crocolisk'), +(2830800, 26, 5493.3965, 4289.1094, -124.03439, NULL, 'Captive Crocolisk'), +(2830800, 27, 5495.7646, 4284.705, -120.702126, NULL, 'Captive Crocolisk'), +(2830800, 28, 5497.1855, 4282.0625, -117.922264, NULL, 'Captive Crocolisk'), +(2830800, 29, 5500.0273, 4276.7773, -113.96721, NULL, 'Captive Crocolisk'), +(2830800, 30, 5503.343, 4270.6113, -110.756836, NULL, 'Captive Crocolisk'), +(2830800, 31, 5506.246, 4267.8457, -108.97778, NULL, 'Captive Crocolisk'), +(2830800, 32, 5510.246, 4263.5957, -106.22778, NULL, 'Captive Crocolisk'), +(2830800, 33, 5513.746, 4260.0957, -104.22778, NULL, 'Captive Crocolisk'), +(2830800, 34, 5518.3237, 4255.3076, -103.13711, NULL, 'Captive Crocolisk'), +(2830800, 35, 5540.53, 4259.7695, -102.44651, NULL, 'Captive Crocolisk'), +(2830800, 36, 5564.1943, 4263.4497, -102.82355, NULL, 'Captive Crocolisk'), +(2830800, 37, 5585.45, 4261.137, -99.63063, NULL, 'Captive Crocolisk'), +(2830800, 38, 5609.614, 4259.6567, -98.88536, NULL, 'Captive Crocolisk'), +(2830800, 39, 5633.434, 4259.2275, -98.52627, NULL, 'Captive Crocolisk'), +(2830800, 40, 5660.5684, 4260.9854, -98.672714, NULL, 'Captive Crocolisk'), +(2830800, 41, 5681.639, 4266.3096, -99.25662, NULL, 'Captive Crocolisk'), +(2830800, 42, 5708.1265, 4273.348, -102.968994, NULL, 'Captive Crocolisk'), +(2830800, 43, 5748.7324, 4284.135, -112.09222, NULL, 'Captive Crocolisk'), +(2830800, 44, 5756.953, 4291.7754, -114.66898, NULL, 'Captive Crocolisk'), +(2830800, 45, 5767.6587, 4301.938, -115.26785, NULL, 'Captive Crocolisk'), +(2830800, 46, 5786.5576, 4319.8975, -115.276024, NULL, 'Captive Crocolisk'), +(2830800, 47, 5807.376, 4339.681, -115.28085, NULL, 'Captive Crocolisk'), +(2830800, 48, 5825.895, 4357.28, -115.28085, NULL, 'Captive Crocolisk'), +(2830800, 49, 5835.953, 4365.0254, -114.66898, NULL, 'Captive Crocolisk'), +(2830800, 50, 5839.674, 4368.416, -112.15327, NULL, 'Captive Crocolisk'), +(2830800, 51, 5843.9746, 4371.428, -109.06282, NULL, 'Captive Crocolisk'), +(2830800, 52, 5851.4746, 4376.678, -106.31282, NULL, 'Captive Crocolisk'), +(2830800, 53, 5855.4746, 4379.428, -104.56282, NULL, 'Captive Crocolisk'), +(2830800, 54, 5859.7246, 4382.428, -100.31282, NULL, 'Captive Crocolisk'), +(2830800, 55, 5866.2246, 4386.928, -100.31282, NULL, 'Captive Crocolisk'), +(2830800, 56, 5875.7246, 4393.428, -98.31282, NULL, 'Captive Crocolisk'), +(2830800, 57, 5897.276, 4408.4404, -95.29815, NULL, 'Captive Crocolisk'), +(2830800, 58, 5925.311, 4440.6235, -94.795006, NULL, 'Captive Crocolisk'), +(2830800, 59, 5964.229, 4503.729, -92.95698, NULL, 'Captive Crocolisk'), +(2830800, 60, 5960.5825, 4546.558, -95.71041, NULL, 'Captive Crocolisk'), +(2830800, 61, 5965.1665, 4579.1406, -97.459595, NULL, 'Captive Crocolisk'), +(2830800, 62, 5969.2954, 4613.739, -98.09471, NULL, 'Captive Crocolisk'), +(2830800, 63, 5975.858, 4659.6104, -99.32277, NULL, 'Captive Crocolisk'), +(2830800, 64, 5992.961, 4699.5537, -99.39478, NULL, 'Captive Crocolisk'), +(2830800, 65, 6015.1387, 4743.7524, -97.55353, NULL, 'Captive Crocolisk'), +(2830800, 66, 6035.1826, 4788.787, -94.706436, NULL, 'Captive Crocolisk'), +(2830800, 67, 6064.9507, 4827.5024, -94.57277, NULL, 'Captive Crocolisk'), +(2830800, 68, 6065.5703, 4870.553, -94.4718, NULL, 'Captive Crocolisk'), +(2830800, 69, 6096.6123, 4885.741, -94.4861, NULL, 'Captive Crocolisk'), +(2830800, 70, 6120.3867, 4902.048, -95.10951, NULL, 'Captive Crocolisk'), +(2830800, 71, 6139.616, 4913.3486, -94.939, NULL, 'Captive Crocolisk'); + +-- Update SmartAI +UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 28308; + +DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 28308); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(28308, 0, 1, 0, 54, 0, 100, 512, 0, 0, 0, 0, 0, 0, 80, 2830800, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Captive Crocolisk - On Just Summoned - Run Script'), +(28308, 0, 2, 3, 58, 0, 100, 512, 71, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Captive Crocolisk - On Path 0 Finished - Despawn Instant'), +(28308, 0, 3, 0, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 15, 12536, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Captive Crocolisk - On Path 0 Finished - Quest Credit \'A Rough Ride\''), +(28308, 0, 4, 0, 40, 0, 100, 512, 17, 0, 0, 0, 0, 0, 54, 4000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Captive Crocolisk - On Point 17 of Path Any Reached - Pause Waypoint'), +(28308, 0, 5, 0, 40, 0, 100, 512, 43, 0, 0, 0, 0, 0, 54, 4000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Captive Crocolisk - On Point 43 of Path Any Reached - Pause Waypoint'); + +-- Update Action List +DELETE FROM `smart_scripts` WHERE (`source_type` = 9 AND `entryorguid` = 2830800); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(2830800, 9, 1, 0, 0, 0, 100, 512, 0, 0, 0, 0, 0, 0, 53, 1, 2830800, 0, 12536, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Captive Crocolisk - Actionlist - Start Waypoint Path 2830800'); From 17a9f93cfd2dddfaeff1a43688f5fe294d83a930 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 14 Sep 2025 08:31:10 +0000 Subject: [PATCH 36/65] chore(DB): import pending files Referenced commit(s): 835febe6ae66abbede9b455f27c7ae16bf3ae218 --- .../A_Rough_Ride.sql => db_world/2025_09_14_01.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/A_Rough_Ride.sql => db_world/2025_09_14_01.sql} (99%) diff --git a/data/sql/updates/pending_db_world/A_Rough_Ride.sql b/data/sql/updates/db_world/2025_09_14_01.sql similarity index 99% rename from data/sql/updates/pending_db_world/A_Rough_Ride.sql rename to data/sql/updates/db_world/2025_09_14_01.sql index 9af8de4ea..4debff965 100644 --- a/data/sql/updates/pending_db_world/A_Rough_Ride.sql +++ b/data/sql/updates/db_world/2025_09_14_01.sql @@ -1,3 +1,4 @@ +-- DB update 2025_09_14_00 -> 2025_09_14_01 -- Delete old WP and add the new one (Sniffed). DELETE FROM `waypoints` WHERE `entry` IN (28308, 2830800); INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `orientation`, `point_comment`) VALUES From 7a43b0f13ec35fa7726c5008d4673671a5775bcf Mon Sep 17 00:00:00 2001 From: Jelle Meeus Date: Sun, 14 Sep 2025 07:25:18 -0700 Subject: [PATCH 37/65] feat(World/WorldConfig): ScourgeInvasion Add config BattlesWon tresholds (#22913) --- src/server/apps/worldserver/worldserver.conf.dist | 13 +++++++++++++ src/server/game/World/WorldConfig.cpp | 4 ++++ src/server/game/World/WorldConfig.h | 3 +++ src/server/game/World/WorldState.cpp | 11 +++++++---- 4 files changed, 27 insertions(+), 4 deletions(-) diff --git a/src/server/apps/worldserver/worldserver.conf.dist b/src/server/apps/worldserver/worldserver.conf.dist index 9618e31a7..2150118d1 100644 --- a/src/server/apps/worldserver/worldserver.conf.dist +++ b/src/server/apps/worldserver/worldserver.conf.dist @@ -4393,6 +4393,19 @@ Event.Announce = 0 Sunsreach.CounterMax = 10000 +# +# ScourgeInvasion.CounterFirst +# ScourgeInvasion.CounterSecond +# ScourgeInvasion.CounterThird +# Description: Counter thresholds to be reached to transition phases +# Default: 50 - (ScourgeInvasion.CounterFirst) +# 100 - (ScourgeInvasion.CounterSecond) +# 150 - (ScourgeInvasion.CounterThird) + +ScourgeInvasion.CounterFirst = 50 +ScourgeInvasion.CounterSecond = 100 +ScourgeInvasion.CounterThird = 150 + # ################################################################################################### diff --git a/src/server/game/World/WorldConfig.cpp b/src/server/game/World/WorldConfig.cpp index c38b36ff0..99fd8b0d4 100644 --- a/src/server/game/World/WorldConfig.cpp +++ b/src/server/game/World/WorldConfig.cpp @@ -656,7 +656,11 @@ void WorldConfig::BuildConfigCache() SetConfigValue(CONFIG_SPELL_QUEUE_ENABLED, "SpellQueue.Enabled", true); SetConfigValue(CONFIG_SPELL_QUEUE_WINDOW, "SpellQueue.Window", 400); + // World State SetConfigValue(CONFIG_SUNSREACH_COUNTER_MAX, "Sunsreach.CounterMax", 10000); + SetConfigValue(CONFIG_SCOURGEINVASION_COUNTER_FIRST, "ScourgeInvasion.CounterFirst", 50); + SetConfigValue(CONFIG_SCOURGEINVASION_COUNTER_SECOND, "ScourgeInvasion.CounterSecond", 100); + SetConfigValue(CONFIG_SCOURGEINVASION_COUNTER_THIRD, "ScourgeInvasion.CounterThird", 150); SetConfigValue(CONFIG_NEW_CHAR_STRING, "PlayerStart.String", ""); } diff --git a/src/server/game/World/WorldConfig.h b/src/server/game/World/WorldConfig.h index 475bed337..c06dd52f9 100644 --- a/src/server/game/World/WorldConfig.h +++ b/src/server/game/World/WorldConfig.h @@ -378,6 +378,9 @@ enum ServerConfigs CONFIG_AUCTIONHOUSE_WORKERTHREADS, CONFIG_SPELL_QUEUE_WINDOW, CONFIG_SUNSREACH_COUNTER_MAX, + CONFIG_SCOURGEINVASION_COUNTER_FIRST, + CONFIG_SCOURGEINVASION_COUNTER_SECOND, + CONFIG_SCOURGEINVASION_COUNTER_THIRD, CONFIG_RESPAWN_DYNAMICMINIMUM_GAMEOBJECT, CONFIG_RESPAWN_DYNAMICMINIMUM_CREATURE, RATE_HEALTH, diff --git a/src/server/game/World/WorldState.cpp b/src/server/game/World/WorldState.cpp index 106e8fd99..83ed3b5c4 100644 --- a/src/server/game/World/WorldState.cpp +++ b/src/server/game/World/WorldState.cpp @@ -25,6 +25,7 @@ #include "UnitAI.h" #include "Weather.h" #include "WorldState.h" +#include "WorldConfig.h" #include "WorldStateDefines.h" #include @@ -1564,20 +1565,22 @@ void WorldState::BroadcastSIWorldstates() void WorldState::HandleDefendedZones() { - if (m_siData.m_battlesWon < 50) + if (m_siData.m_battlesWon < sWorld->getIntConfig(CONFIG_SCOURGEINVASION_COUNTER_FIRST)) { sGameEventMgr->StopEvent(GAME_EVENT_SCOURGE_INVASION_50_INVASIONS); sGameEventMgr->StopEvent(GAME_EVENT_SCOURGE_INVASION_100_INVASIONS); sGameEventMgr->StopEvent(GAME_EVENT_SCOURGE_INVASION_150_INVASIONS); } - else if (m_siData.m_battlesWon >= 50 && m_siData.m_battlesWon < 100) + else if (m_siData.m_battlesWon >= sWorld->getIntConfig(CONFIG_SCOURGEINVASION_COUNTER_FIRST) && + m_siData.m_battlesWon < sWorld->getIntConfig(CONFIG_SCOURGEINVASION_COUNTER_SECOND)) sGameEventMgr->StartEvent(GAME_EVENT_SCOURGE_INVASION_50_INVASIONS); - else if (m_siData.m_battlesWon >= 100 && m_siData.m_battlesWon < 150) + else if (m_siData.m_battlesWon >= sWorld->getIntConfig(CONFIG_SCOURGEINVASION_COUNTER_SECOND) && + m_siData.m_battlesWon < sWorld->getIntConfig(CONFIG_SCOURGEINVASION_COUNTER_THIRD)) { sGameEventMgr->StopEvent(GAME_EVENT_SCOURGE_INVASION_50_INVASIONS); sGameEventMgr->StartEvent(GAME_EVENT_SCOURGE_INVASION_100_INVASIONS); } - else if (m_siData.m_battlesWon >= 150) + else if (m_siData.m_battlesWon >= sWorld->getIntConfig(CONFIG_SCOURGEINVASION_COUNTER_THIRD)) { sGameEventMgr->StopEvent(GAME_EVENT_SCOURGE_INVASION); sGameEventMgr->StopEvent(GAME_EVENT_SCOURGE_INVASION_50_INVASIONS); From 3d828a65686467a08f3da4bbbd00d50e44cfc209 Mon Sep 17 00:00:00 2001 From: Jelle Meeus Date: Sun, 14 Sep 2025 14:02:02 -0700 Subject: [PATCH 38/65] fix(World/WorldState): SI main event can only be disabled manually (#22911) --- src/server/game/World/WorldState.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/server/game/World/WorldState.cpp b/src/server/game/World/WorldState.cpp index 83ed3b5c4..ebb11b8bf 100644 --- a/src/server/game/World/WorldState.cpp +++ b/src/server/game/World/WorldState.cpp @@ -1443,6 +1443,8 @@ void WorldState::StopScourgeInvasion() sGameEventMgr->StopEvent(GAME_EVENT_SCOURGE_INVASION_BLASTED_LANDS); sGameEventMgr->StopEvent(GAME_EVENT_SCOURGE_INVASION_EASTERN_PLAGUELANDS); sGameEventMgr->StopEvent(GAME_EVENT_SCOURGE_INVASION_BURNING_STEPPES); + sGameEventMgr->StopEvent(GAME_EVENT_SCOURGE_INVASION_INVASIONS_DONE); + sGameEventMgr->StopEvent(GAME_EVENT_SCOURGE_INVASION_BOSSES); BroadcastSIWorldstates(); m_siData.Reset(); @@ -1582,7 +1584,8 @@ void WorldState::HandleDefendedZones() } else if (m_siData.m_battlesWon >= sWorld->getIntConfig(CONFIG_SCOURGEINVASION_COUNTER_THIRD)) { - sGameEventMgr->StopEvent(GAME_EVENT_SCOURGE_INVASION); + // The event is enabled via command, so we expect it to be disabled via command as well. + // sGameEventMgr->StopEvent(GAME_EVENT_SCOURGE_INVASION); sGameEventMgr->StopEvent(GAME_EVENT_SCOURGE_INVASION_50_INVASIONS); sGameEventMgr->StopEvent(GAME_EVENT_SCOURGE_INVASION_100_INVASIONS); sGameEventMgr->StartEvent(GAME_EVENT_SCOURGE_INVASION_INVASIONS_DONE); From 28532bc1e0e0268af0555a0168cbe72566e80c38 Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Sun, 14 Sep 2025 18:48:33 -0300 Subject: [PATCH 39/65] feat(Core/AI): Allow preventing health check events while casting (#22897) --- .../game/AI/ScriptedAI/ScriptedCreature.cpp | 16 ++++++++++------ src/server/game/AI/ScriptedAI/ScriptedCreature.h | 7 ++++--- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp index b11233217..1b6733e50 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp +++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp @@ -751,6 +751,10 @@ void BossAI::DamageTaken(Unit* attacker, uint32& damage, DamageEffectType damage ScriptedAI::DamageTaken(attacker, damage, damagetype, damageSchoolMask); if (_nextHealthCheck._valid) + { + if (!_nextHealthCheck._allowedWhileCasting && me->HasUnitState(UNIT_STATE_CASTING)) + return; + if (me->HealthBelowPctDamaged(_nextHealthCheck._healthPct, damage)) { _nextHealthCheck._exec(); @@ -764,6 +768,7 @@ void BossAI::DamageTaken(Unit* attacker, uint32& damage, DamageEffectType damage if (!_healthCheckEvents.empty()) _nextHealthCheck = _healthCheckEvents.front(); } + } } /** @@ -771,19 +776,18 @@ void BossAI::DamageTaken(Unit* attacker, uint32& damage, DamageEffectType damage * * @param healthPct The health percent at which the code will be executed. * @param exec The fuction to be executed. + * @param allowedWhileCasting If false, the event will not be checked while the creature is casting. */ -void BossAI::ScheduleHealthCheckEvent(uint32 healthPct, std::function exec) +void BossAI::ScheduleHealthCheckEvent(uint32 healthPct, std::function exec, bool allowedWhileCasting /*=true*/) { - _healthCheckEvents.push_back(HealthCheckEventData(healthPct, exec)); + _healthCheckEvents.push_back(HealthCheckEventData(healthPct, exec, true, allowedWhileCasting)); _nextHealthCheck = _healthCheckEvents.front(); }; -void BossAI::ScheduleHealthCheckEvent(std::initializer_list healthPct, std::function exec) +void BossAI::ScheduleHealthCheckEvent(std::initializer_list healthPct, std::function exec, bool allowedWhileCasting /*=true*/) { for (auto const& checks : healthPct) - { - _healthCheckEvents.push_back(HealthCheckEventData(checks, exec)); - } + _healthCheckEvents.push_back(HealthCheckEventData(checks, exec, true, allowedWhileCasting)); _nextHealthCheck = _healthCheckEvents.front(); } diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.h b/src/server/game/AI/ScriptedAI/ScriptedCreature.h index 9cb004a89..82f50542b 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedCreature.h +++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.h @@ -456,11 +456,12 @@ private: struct HealthCheckEventData { - HealthCheckEventData(uint8 healthPct, std::function exec, bool valid = true) : _healthPct(healthPct), _exec(exec), _valid(valid) { }; + HealthCheckEventData(uint8 healthPct, std::function exec, bool valid = true, bool allowedWhileCasting = true) : _healthPct(healthPct), _exec(exec), _valid(valid), _allowedWhileCasting(allowedWhileCasting) { }; uint8 _healthPct; std::function _exec; bool _valid; + bool _allowedWhileCasting; }; class BossAI : public ScriptedAI @@ -482,8 +483,8 @@ public: void UpdateAI(uint32 diff) override; - void ScheduleHealthCheckEvent(uint32 healthPct, std::function exec); - void ScheduleHealthCheckEvent(std::initializer_list healthPct, std::function exec); + void ScheduleHealthCheckEvent(uint32 healthPct, std::function exec, bool allowedWhileCasting = true); + void ScheduleHealthCheckEvent(std::initializer_list healthPct, std::function exec, bool allowedWhileCasting = true); // @brief Casts the spell after the fixed time and says the text id if provided. Timer will run even if the creature is casting or out of combat. // @param spellId The spell to cast. From fc0d5ae5026c8716157e84298f560fa711294e6f Mon Sep 17 00:00:00 2001 From: Rocco Silipo <108557877+Rorschach91@users.noreply.github.com> Date: Mon, 15 Sep 2025 00:44:11 +0200 Subject: [PATCH 40/65] fix(DB/Creature) Gjalerbron Prisoners no longer swim in air. (#22917) --- .../pending_db_world/Gjalerbron_prisoner.sql | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 data/sql/updates/pending_db_world/Gjalerbron_prisoner.sql diff --git a/data/sql/updates/pending_db_world/Gjalerbron_prisoner.sql b/data/sql/updates/pending_db_world/Gjalerbron_prisoner.sql new file mode 100644 index 000000000..ee084fde7 --- /dev/null +++ b/data/sql/updates/pending_db_world/Gjalerbron_prisoner.sql @@ -0,0 +1,39 @@ + +-- Remove WD and MT (Gjalerbron Prisoner) +UPDATE `creature` SET `wander_distance` = 0, `MovementType` = 0 WHERE (`id1` = 24035) AND (`guid` IN (117664, 117670, 117671, 117672, 117677, 117707)); + +-- Remove Wrong Movement Flag (Gjalerbron Prisoner) +UPDATE `creature_template_movement` SET `Swim` = 0 WHERE (`CreatureId` = 24035); + +-- Set Emote State_Drowned and aura (Gjalerbron Prisoner) +DELETE FROM `creature_addon` WHERE (`guid` IN (117664, 117670, 117671, 117672, 117677)); +INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `visibilityDistanceType`, `auras`) VALUES +(117664, 0, 0, 0, 0, 383, 0, '32566'), +(117670, 0, 0, 0, 0, 383, 0, '32566'), +(117671, 0, 0, 0, 0, 383, 0, '32566'), +(117672, 0, 0, 0, 0, 383, 0, '32566'), +(117677, 0, 0, 0, 0, 383, 0, '32566'); + +-- Add Extra Flag (Necrolords) +UPDATE `creature_template` SET `flags_extra` = `flags_extra` |134217728 WHERE (`entry` = 24014); + +-- Set Comments (Necrolords) +UPDATE `creature` SET `Comment` = 'Has Specific Guid SAI' WHERE (`id1` = 24014) AND (`guid` IN (115239, 115235, 115236, 115238)); + +-- Add missing spells (Necrolords) +UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 24014; + +DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 24014); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(24014, 0, 7, 0, 4, 0, 50, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Necrolord - On Aggro - Say Line 0 (No Repeat)'), +(24014, 0, 8, 0, 0, 0, 100, 0, 4000, 6000, 8000, 12000, 0, 0, 11, 9613, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Necrolord - In Combat - Cast \'Shadow Bolt\''), +(24014, 0, 9, 0, 0, 0, 100, 0, 5000, 8000, 25000, 35000, 0, 0, 11, 18267, 32, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Necrolord - In Combat - Cast \'Curse of Weakness\''), +(24014, 0, 10, 0, 0, 0, 100, 0, 8000, 12000, 8000, 12000, 0, 0, 11, 17173, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Necrolord - In Combat - Cast \'Drain Life\''); + +-- Set Personal SmartAI (Necrolords) +DELETE FROM `smart_scripts` WHERE (`source_type` = 0) AND (`entryorguid` IN (-115239, -115235, -115236, -115238)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(-115239, 0, 0, 0, 1, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 43151, 0, 0, 0, 0, 0, 10, 117664, 24035, 0, 0, 0, 0, 0, 0, 'Necrolord - Out of Combat - Cast \'Necrolord: Purple Beam\''), +(-115235, 0, 0, 0, 1, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 43151, 0, 0, 0, 0, 0, 10, 117671, 24035, 0, 0, 0, 0, 0, 0, 'Necrolord - Out of Combat - Cast \'Necrolord: Purple Beam\''), +(-115236, 0, 0, 0, 1, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 43151, 0, 0, 0, 0, 0, 10, 117672, 24035, 0, 0, 0, 0, 0, 0, 'Necrolord - Out of Combat - Cast \'Necrolord: Purple Beam\''), +(-115238, 0, 0, 0, 1, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 43151, 0, 0, 0, 0, 0, 10, 117677, 24035, 0, 0, 0, 0, 0, 0, 'Necrolord - Out of Combat - Cast \'Necrolord: Purple Beam\''); From c822b98010290ea4f3765390991149f92b1ef6a8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 14 Sep 2025 22:58:12 +0000 Subject: [PATCH 41/65] chore(DB): import pending files Referenced commit(s): fc0d5ae5026c8716157e84298f560fa711294e6f --- .../Gjalerbron_prisoner.sql => db_world/2025_09_14_02.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/Gjalerbron_prisoner.sql => db_world/2025_09_14_02.sql} (98%) diff --git a/data/sql/updates/pending_db_world/Gjalerbron_prisoner.sql b/data/sql/updates/db_world/2025_09_14_02.sql similarity index 98% rename from data/sql/updates/pending_db_world/Gjalerbron_prisoner.sql rename to data/sql/updates/db_world/2025_09_14_02.sql index ee084fde7..7e46b8a79 100644 --- a/data/sql/updates/pending_db_world/Gjalerbron_prisoner.sql +++ b/data/sql/updates/db_world/2025_09_14_02.sql @@ -1,3 +1,4 @@ +-- DB update 2025_09_14_01 -> 2025_09_14_02 -- Remove WD and MT (Gjalerbron Prisoner) UPDATE `creature` SET `wander_distance` = 0, `MovementType` = 0 WHERE (`id1` = 24035) AND (`guid` IN (117664, 117670, 117671, 117672, 117677, 117707)); From fc30b784ae04d7cc2ddab40c92b52d51bf43e244 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A9=E9=B9=AD?= <18535853+PkllonG@users.noreply.github.com> Date: Mon, 15 Sep 2025 09:18:33 +0800 Subject: [PATCH 42/65] chore(PlayerSettings): Save data and lowGuid (#22921) --- src/server/game/Entities/Player/PlayerSettings.cpp | 10 +++++----- src/server/game/Entities/Player/PlayerSettings.h | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/server/game/Entities/Player/PlayerSettings.cpp b/src/server/game/Entities/Player/PlayerSettings.cpp index 1fd4aae3a..65e84d52f 100644 --- a/src/server/game/Entities/Player/PlayerSettings.cpp +++ b/src/server/game/Entities/Player/PlayerSettings.cpp @@ -49,14 +49,14 @@ namespace PlayerSettingsStore return ""; std::ostringstream data; - data << settings[0].value; + data << settings[0].value << ' '; for (size_t i = 1; i < settings.size(); ++i) - data << ' ' << settings[i].value; + data << settings[i].value << ' '; return data.str(); } // helper: load a single source row for a player and parse to vector - static PlayerSettingVector LoadPlayerSettings(uint32 playerLowGuid, std::string const& source) + static PlayerSettingVector LoadPlayerSettings(ObjectGuid::LowType playerLowGuid, std::string const& source) { PlayerSettingVector result; @@ -80,7 +80,7 @@ namespace PlayerSettingsStore return result; } - void UpdateSetting(uint32 playerLowGuid, std::string const& source, uint32 index, uint32 value) + void UpdateSetting(ObjectGuid::LowType playerLowGuid, std::string const& source, uint32 index, uint32 value) { if (!sWorld->getBoolConfig(CONFIG_PLAYER_SETTINGS_ENABLED)) return; @@ -98,7 +98,7 @@ namespace PlayerSettingsStore } // Implementation of PrepareReplaceStatement -CharacterDatabasePreparedStatement* PlayerSettingsStore::PrepareReplaceStatement(uint32 playerLowGuid, std::string const& source, PlayerSettingVector const& settings) +CharacterDatabasePreparedStatement* PlayerSettingsStore::PrepareReplaceStatement(ObjectGuid::LowType playerLowGuid, std::string const& source, PlayerSettingVector const& settings) { CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_REP_CHAR_SETTINGS); stmt->SetData(0, playerLowGuid); diff --git a/src/server/game/Entities/Player/PlayerSettings.h b/src/server/game/Entities/Player/PlayerSettings.h index 4e0c96135..221303ee3 100644 --- a/src/server/game/Entities/Player/PlayerSettings.h +++ b/src/server/game/Entities/Player/PlayerSettings.h @@ -57,13 +57,13 @@ namespace PlayerSettingsStore { // Update a single setting value for any player by GUID (works for online or offline players). // This reads the existing "source" row from character_settings, adjusts the index, and REPLACE's it back. - void UpdateSetting(uint32 playerLowGuid, std::string const& source, uint32 index, uint32 value); + void UpdateSetting(ObjectGuid::LowType playerLowGuid, std::string const& source, uint32 index, uint32 value); // Common helpers for parsing and serializing settings data PlayerSettingVector ParseSettingsData(std::string const& data); std::string SerializeSettingsData(PlayerSettingVector const& settings); // Prepare a REPLACE statement populated with given settings data. Caller may execute or append to a transaction. - CharacterDatabasePreparedStatement* PrepareReplaceStatement(uint32 playerLowGuid, std::string const& source, PlayerSettingVector const& settings); + CharacterDatabasePreparedStatement* PrepareReplaceStatement(ObjectGuid::LowType playerLowGuid, std::string const& source, PlayerSettingVector const& settings); } #endif From 94c2f38eccd8151e0b4f818d9fa7fcc9e0cb3a41 Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Mon, 15 Sep 2025 04:44:49 -0300 Subject: [PATCH 43/65] feat(Core/SAI): Implement delay option to SMART_ACTION_TALK (#22918) --- src/server/game/AI/CreatureAI.cpp | 6 ++++-- src/server/game/AI/SmartScripts/SmartScript.cpp | 3 ++- src/server/game/AI/SmartScripts/SmartScriptMgr.h | 1 + 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/server/game/AI/CreatureAI.cpp b/src/server/game/AI/CreatureAI.cpp index d246171e2..95e9b042c 100644 --- a/src/server/game/AI/CreatureAI.cpp +++ b/src/server/game/AI/CreatureAI.cpp @@ -53,9 +53,11 @@ void CreatureAI::Talk(uint8 id, WorldObject const* target /*= nullptr*/, Millise { if (delay > Seconds::zero()) { - me->m_Events.AddEventAtOffset([this, id, target]() + ObjectGuid targetGuid = target->GetGUID(); + me->m_Events.AddEventAtOffset([this, id, targetGuid]() { - sCreatureTextMgr->SendChat(me, id, target); + if (Unit* textTarget = ObjectAccessor::GetUnit(*me, targetGuid)) + sCreatureTextMgr->SendChat(me, id, textTarget); }, delay); } else diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp index c980f4f70..377910258 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.cpp +++ b/src/server/game/AI/SmartScripts/SmartScript.cpp @@ -238,7 +238,8 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u mLastTextID = e.action.talk.textGroupID; mTextTimer = e.action.talk.duration; mUseTextTimer = true; - sCreatureTextMgr->SendChat(talker, uint8(e.action.talk.textGroupID), talkTarget); + + talker->AI()->Talk(e.action.talk.textGroupID, talkTarget, Milliseconds(e.action.talk.delay)); LOG_DEBUG("sql.sql", "SmartScript::ProcessAction: SMART_ACTION_TALK: talker: {} ({}), textId: {}", talker->GetName(), talker->GetGUID().ToString(), mLastTextID); break; } diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.h b/src/server/game/AI/SmartScripts/SmartScriptMgr.h index 4f29d9c51..9260b9ab4 100644 --- a/src/server/game/AI/SmartScripts/SmartScriptMgr.h +++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.h @@ -765,6 +765,7 @@ struct SmartAction uint32 textGroupID; uint32 duration; SAIBool useTalkTarget; + uint32 delay; } talk; struct From c56a8a9155c72d1c79acf0271ad7f9407dd91140 Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Mon, 15 Sep 2025 04:44:58 -0300 Subject: [PATCH 44/65] fix(DB/SAI): Script On Brann's Trail turn in event (#22919) --- .../pending_db_world/rev_1757886149640695100.sql | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1757886149640695100.sql diff --git a/data/sql/updates/pending_db_world/rev_1757886149640695100.sql b/data/sql/updates/pending_db_world/rev_1757886149640695100.sql new file mode 100644 index 000000000..d8c9bae0b --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1757886149640695100.sql @@ -0,0 +1,16 @@ +-- +DELETE FROM `creature_text` WHERE `CreatureID` = 29650; +INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `BroadcastTextId`, `TextRange`, `comment`) VALUES +(29650, 0, 0, 'It\'s those blasted iron dwarves again! Somehow, they found him before we did.', 12, 0, 100, 5, 0, 30322, 0, 'Archeologist Andorin - On Quest On Brann\'s Trail Rewarded'), +(29650, 1, 0, 'They\'re not going to give up until they find him. We can\'t allow that to happen, $n, and Brann knows it.', 12, 0, 100, 1, 0, 30323, 0, 'Archeologist Andorin - On Quest On Brann\'s Trail Rewarded'), +(29650, 2, 0, 'There are some rather cryptic instructions in this note. Brann must\'ve had some kind of backup plan, but he can\'t keep evading capture forever...', 12, 0, 100, 1, 0, 30324, 0, 'Archeologist Andorin - On Quest On Brann\'s Trail Rewarded'), +(29650, 3, 0, 'It\'s up to you to find him before the irons do!', 12, 0, 100, 25, 0, 30325, 0, 'Archeologist Andorin - On Quest On Brann\'s Trail Rewarded'); + +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 29650) AND (`source_type` = 0) AND (`id` IN (0, 1, 2, 3, 4, 5)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(29650, 0, 0, 1, 62, 0, 100, 512, 9929, 1, 0, 0, 0, 0, 56, 40971, 1, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Archaeologist Andorin - On Gossip Option 1 Selected - Add Item \'Brann\'s Communicator\' 1 Time'), +(29650, 0, 1, 0, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Archaeologist Andorin - On Gossip Option 1 Selected - Close Gossip'), +(29650, 0, 2, 3, 20, 0, 100, 0, 12854, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Archaeologist Andorin - On Quest \'On Brann\'s Trail\' Finished - Say Line 0'), +(29650, 0, 3, 4, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Archaeologist Andorin - On Quest \'On Brann\'s Trail\' Finished - Say Line 1 (5000ms delay)'), +(29650, 0, 4, 5, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Archaeologist Andorin - On Quest \'On Brann\'s Trail\' Finished - Say Line 2 (10000ms delay)'), +(29650, 0, 5, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Archaeologist Andorin - On Quest \'On Brann\'s Trail\' Finished - Say Line 3 (16000ms delay)'); From ddb5c3338802a2e4c2b9dbaab1b06924a75b6330 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 15 Sep 2025 07:45:53 +0000 Subject: [PATCH 45/65] chore(DB): import pending files Referenced commit(s): 94c2f38eccd8151e0b4f818d9fa7fcc9e0cb3a41 --- .../rev_1757886149640695100.sql => db_world/2025_09_15_00.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1757886149640695100.sql => db_world/2025_09_15_00.sql} (98%) diff --git a/data/sql/updates/pending_db_world/rev_1757886149640695100.sql b/data/sql/updates/db_world/2025_09_15_00.sql similarity index 98% rename from data/sql/updates/pending_db_world/rev_1757886149640695100.sql rename to data/sql/updates/db_world/2025_09_15_00.sql index d8c9bae0b..15ba2bbaa 100644 --- a/data/sql/updates/pending_db_world/rev_1757886149640695100.sql +++ b/data/sql/updates/db_world/2025_09_15_00.sql @@ -1,3 +1,4 @@ +-- DB update 2025_09_14_02 -> 2025_09_15_00 -- DELETE FROM `creature_text` WHERE `CreatureID` = 29650; INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `BroadcastTextId`, `TextRange`, `comment`) VALUES From 97c89f4750fce526b1f844103323684af99d761e Mon Sep 17 00:00:00 2001 From: Benjamin Jackson <38561765+heyitsbench@users.noreply.github.com> Date: Mon, 15 Sep 2025 11:51:40 -0400 Subject: [PATCH 46/65] fix(DB/Creature): Adjust addon info for Storm Giant. (#22922) --- data/sql/updates/pending_db_world/fjord-reaver.sql | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 data/sql/updates/pending_db_world/fjord-reaver.sql diff --git a/data/sql/updates/pending_db_world/fjord-reaver.sql b/data/sql/updates/pending_db_world/fjord-reaver.sql new file mode 100644 index 000000000..b8a107b3c --- /dev/null +++ b/data/sql/updates/pending_db_world/fjord-reaver.sql @@ -0,0 +1,3 @@ +-- Walk/run speed, faction, attack speeds, and model info all verified against 45772. +UPDATE `creature_addon` SET `visibilityDistanceType` = 5 WHERE `guid` IN (118177, 118191); +UPDATE `creature_template_addon` SET `auras` = '44385' WHERE `entry` = 24812; From 738ab902a10791176d6fb2e099e39495404c56a6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 15 Sep 2025 15:52:42 +0000 Subject: [PATCH 47/65] chore(DB): import pending files Referenced commit(s): 97c89f4750fce526b1f844103323684af99d761e --- .../fjord-reaver.sql => db_world/2025_09_15_01.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/fjord-reaver.sql => db_world/2025_09_15_01.sql} (85%) diff --git a/data/sql/updates/pending_db_world/fjord-reaver.sql b/data/sql/updates/db_world/2025_09_15_01.sql similarity index 85% rename from data/sql/updates/pending_db_world/fjord-reaver.sql rename to data/sql/updates/db_world/2025_09_15_01.sql index b8a107b3c..4b14a6e92 100644 --- a/data/sql/updates/pending_db_world/fjord-reaver.sql +++ b/data/sql/updates/db_world/2025_09_15_01.sql @@ -1,3 +1,4 @@ +-- DB update 2025_09_15_00 -> 2025_09_15_01 -- Walk/run speed, faction, attack speeds, and model info all verified against 45772. UPDATE `creature_addon` SET `visibilityDistanceType` = 5 WHERE `guid` IN (118177, 118191); UPDATE `creature_template_addon` SET `auras` = '44385' WHERE `entry` = 24812; From 900f45514dcfc5ec36eae453fa01540d38ff9d6b Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Mon, 15 Sep 2025 16:08:00 -0300 Subject: [PATCH 48/65] fix(DB/SAI): Fix several A Returning to Resting quest issues (#22930) --- .../rev_1757933008614463700.sql | 30 +++++++++++++++++ .../scripts/Northrend/zone_howling_fjord.cpp | 33 +++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1757933008614463700.sql diff --git a/data/sql/updates/pending_db_world/rev_1757933008614463700.sql b/data/sql/updates/pending_db_world/rev_1757933008614463700.sql new file mode 100644 index 000000000..42b6657ea --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1757933008614463700.sql @@ -0,0 +1,30 @@ +-- +DELETE FROM `creature_text` WHERE `CreatureId` = 24877 AND `GroupID` = 2; +INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `BroadcastTextId`, `TextRange`, `comment`) VALUES +(24877, 2, 0, '%s laughs.', 16, 0, 100, 0, 0, 2047, 0, 'Isuldof Iceheart'); + +DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 24877); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(24877, 0, 0, 1, 8, 0, 100, 0, 45323, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Isuldof Iceheart - On Spellhit \'Returning Vrykul Artifact\' - Say Line 2'), +(24877, 0, 1, 2, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 33, 24877, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Isuldof Iceheart - On Spellhit \'Returning Vrykul Artifact\' - Quest Credit \'null\''), +(24877, 0, 2, 3, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 50, 187383, 60, 0, 0, 0, 0, 8, 0, 0, 0, 0, -83.3153, -5014.22, 306.416, 6.26573, 'Isuldof Iceheart - On Spellhit \'Returning Vrykul Artifact\' - Summon Gameobject \'The Frozen Heart of Isuldof\''), +(24877, 0, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Isuldof Iceheart - On Spellhit \'Returning Vrykul Artifact\' - Say Line 0'); + +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 24876) AND (`source_type` = 0) AND (`id` IN (1, 2)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(24876, 0, 1, 2, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 33, 24876, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Rodin the Reckless - On Spellhit \'Returning Vrykul Artifact\' - Quest Credit \'A Return to Resting\' (No Repeat)'), +(24876, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 50, 187385, 60, 0, 0, 0, 0, 8, 0, 0, 0, 0, 11.990668296813965, -4981.400390625, 303.3150939941406, 1.0646495819091797, 'Rodin the Reckless - On Spellhit \'Returning Vrykul Artifact\' - Summon Gameobject \'The Staff of Storm\'s Fury\''); + +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 24874) AND (`source_type` = 0) AND (`id` IN (1, 2)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(24874, 0, 1, 2, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 33, 24874, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Fengir the Disgraced - On Spellhit \'Returning Vrykul Artifact\' - Quest Credit \'A Return to Resting\' (No Repeat)'), +(24874, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 50, 187386, 60, 0, 0, 0, 0, 8, 0, 0, 0, 0, -17.07861328125, -4883.18212890625, 298.53485107421875, 0.10471932590007782, 'Fengir the Disgraced - On Spellhit \'Returning Vrykul Artifact\' - Summon Gameobject \'The Shield of the Aesirites\''); + +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 24875) AND (`source_type` = 0) AND (`id` IN (1, 2)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(24875, 0, 1, 2, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 33, 24875, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Windan of the Kvaldir - On Spellhit \'Returning Vrykul Artifact\' - Quest Credit \'A Return to Resting\' (No Repeat)'), +(24875, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 50, 187384, 60, 0, 0, 0, 0, 8, 0, 0, 0, 0, -108.64334106445312, -5143.8330078125, 324.7471008300781, 2.4609127044677734, 'Windan of the Kvaldir - On Spellhit \'Returning Vrykul Artifact\' - Summon Gameobject \'The Ancient Armor of the Kvaldir\''); + +UPDATE `creature_addon` SET `auras` = '44792' WHERE `guid` = 100024; + +UPDATE `creature_template` SET `ScriptName` = 'npc_rodin_lightning_enabler' WHERE `entry` = 24883; diff --git a/src/server/scripts/Northrend/zone_howling_fjord.cpp b/src/server/scripts/Northrend/zone_howling_fjord.cpp index c6405cc18..6022af4bc 100644 --- a/src/server/scripts/Northrend/zone_howling_fjord.cpp +++ b/src/server/scripts/Northrend/zone_howling_fjord.cpp @@ -394,6 +394,38 @@ public: } }; +enum RodinLightningSpells +{ + SPELL_RODIN_LIGHTNING_START = 44787, + SPELL_RODIN_LIGHTNING_END = 44791, + + NPC_RODIN = 24876 +}; + +struct npc_rodin_lightning_enabler : public ScriptedAI +{ + npc_rodin_lightning_enabler(Creature* creature) : ScriptedAI(creature) {} + + void Reset() override + { + _scheduler.Schedule(1s, [this](TaskContext context) + { + if (Creature* rodin = me->FindNearestCreature(NPC_RODIN, 10.0f)) + DoCast(rodin, urand(SPELL_RODIN_LIGHTNING_START, SPELL_RODIN_LIGHTNING_END)); + + context.Repeat(2s, 8s); + }); + } + + void UpdateAI(uint32 /*diff*/) override + { + _scheduler.Update(); + } + +private: + TaskScheduler _scheduler; +}; + enum HawkHunting { SPELL_HAWK_HUNTING_ITEM = 44408 @@ -431,5 +463,6 @@ void AddSC_howling_fjord() new npc_apothecary_hanes(); new npc_plaguehound_tracker(); new npc_razael_and_lyana(); + RegisterCreatureAI(npc_rodin_lightning_enabler); RegisterSpellScript(spell_hawk_hunting); } From a0deae6a4f8dddceee5756df3c61ca8b301ecb35 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 15 Sep 2025 19:09:04 +0000 Subject: [PATCH 49/65] chore(DB): import pending files Referenced commit(s): 900f45514dcfc5ec36eae453fa01540d38ff9d6b --- .../rev_1757933008614463700.sql => db_world/2025_09_15_02.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1757933008614463700.sql => db_world/2025_09_15_02.sql} (99%) diff --git a/data/sql/updates/pending_db_world/rev_1757933008614463700.sql b/data/sql/updates/db_world/2025_09_15_02.sql similarity index 99% rename from data/sql/updates/pending_db_world/rev_1757933008614463700.sql rename to data/sql/updates/db_world/2025_09_15_02.sql index 42b6657ea..e4a45f7ee 100644 --- a/data/sql/updates/pending_db_world/rev_1757933008614463700.sql +++ b/data/sql/updates/db_world/2025_09_15_02.sql @@ -1,3 +1,4 @@ +-- DB update 2025_09_15_01 -> 2025_09_15_02 -- DELETE FROM `creature_text` WHERE `CreatureId` = 24877 AND `GroupID` = 2; INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `BroadcastTextId`, `TextRange`, `comment`) VALUES From f599c5c3a85c4292cc289cd3e534b46c3fbe29e8 Mon Sep 17 00:00:00 2001 From: Benjamin Jackson <38561765+heyitsbench@users.noreply.github.com> Date: Mon, 15 Sep 2025 15:41:30 -0400 Subject: [PATCH 50/65] feat(DB): Add `VerifiedBuild` column for `creature_model_info` (#22934) --- data/sql/updates/pending_db_world/cmi-verified-build.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 data/sql/updates/pending_db_world/cmi-verified-build.sql diff --git a/data/sql/updates/pending_db_world/cmi-verified-build.sql b/data/sql/updates/pending_db_world/cmi-verified-build.sql new file mode 100644 index 000000000..a86d02141 --- /dev/null +++ b/data/sql/updates/pending_db_world/cmi-verified-build.sql @@ -0,0 +1,2 @@ +ALTER TABLE `creature_model_info` ADD COLUMN `VerifiedBuild` MEDIUMINT NULL DEFAULT NULL AFTER `DisplayID_Other_Gender`; +UPDATE `creature_model_info` SET `VerifiedBuild` = 0; From 1aa5788f723c2bd13fa855ae008dad50be701cf3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 15 Sep 2025 19:42:32 +0000 Subject: [PATCH 51/65] chore(DB): import pending files Referenced commit(s): f599c5c3a85c4292cc289cd3e534b46c3fbe29e8 --- .../cmi-verified-build.sql => db_world/2025_09_15_03.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/cmi-verified-build.sql => db_world/2025_09_15_03.sql} (79%) diff --git a/data/sql/updates/pending_db_world/cmi-verified-build.sql b/data/sql/updates/db_world/2025_09_15_03.sql similarity index 79% rename from data/sql/updates/pending_db_world/cmi-verified-build.sql rename to data/sql/updates/db_world/2025_09_15_03.sql index a86d02141..3eb2165fe 100644 --- a/data/sql/updates/pending_db_world/cmi-verified-build.sql +++ b/data/sql/updates/db_world/2025_09_15_03.sql @@ -1,2 +1,3 @@ +-- DB update 2025_09_15_02 -> 2025_09_15_03 ALTER TABLE `creature_model_info` ADD COLUMN `VerifiedBuild` MEDIUMINT NULL DEFAULT NULL AFTER `DisplayID_Other_Gender`; UPDATE `creature_model_info` SET `VerifiedBuild` = 0; From 9e0b6ff7a646f43b9c1d17d06ee8e001fb5b07fa Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Mon, 15 Sep 2025 19:05:50 -0300 Subject: [PATCH 52/65] fix(Core/Creature): ensure target is valid when acquiring GUID (#22937) --- src/server/game/AI/CreatureAI.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/server/game/AI/CreatureAI.cpp b/src/server/game/AI/CreatureAI.cpp index 95e9b042c..0f7487700 100644 --- a/src/server/game/AI/CreatureAI.cpp +++ b/src/server/game/AI/CreatureAI.cpp @@ -53,17 +53,19 @@ void CreatureAI::Talk(uint8 id, WorldObject const* target /*= nullptr*/, Millise { if (delay > Seconds::zero()) { - ObjectGuid targetGuid = target->GetGUID(); + ObjectGuid targetGuid; + + if (target) + targetGuid = target->GetGUID(); + me->m_Events.AddEventAtOffset([this, id, targetGuid]() { - if (Unit* textTarget = ObjectAccessor::GetUnit(*me, targetGuid)) - sCreatureTextMgr->SendChat(me, id, textTarget); + // Target can be nullptr here, it will be handled inside the function. + sCreatureTextMgr->SendChat(me, id, ObjectAccessor::GetUnit(*me, targetGuid)); }, delay); } else - { sCreatureTextMgr->SendChat(me, id, target); - } } /** From d41bfd165e2697974c99a58835fb9f19b6af62f6 Mon Sep 17 00:00:00 2001 From: chauusie Date: Tue, 16 Sep 2025 09:21:47 +0100 Subject: [PATCH 53/65] fix(DB/npc_vendor) Adjusted Wood frog box restock value from 2.5 hours to 30 mins (#22936) --- data/sql/updates/pending_db_world/rev_1757953077250228200.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1757953077250228200.sql diff --git a/data/sql/updates/pending_db_world/rev_1757953077250228200.sql b/data/sql/updates/pending_db_world/rev_1757953077250228200.sql new file mode 100644 index 000000000..4ab939218 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1757953077250228200.sql @@ -0,0 +1,2 @@ +-- Changed restock value from 2.5 hours (9000) to 30 mins (1800) +UPDATE `npc_vendor` SET `incrtime` = 1800 WHERE `entry` = 14860 AND `item` = 11027; From 06c692abe6cc3e898ee8ac4b0b0be75c497940c7 Mon Sep 17 00:00:00 2001 From: chauusie Date: Tue, 16 Sep 2025 09:22:23 +0100 Subject: [PATCH 54/65] fix(DB/loot) adjusting droprate for earthfury bracer and earthfury belt (#22935) --- .../rev_1757950091459739600.sql | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1757950091459739600.sql diff --git a/data/sql/updates/pending_db_world/rev_1757950091459739600.sql b/data/sql/updates/pending_db_world/rev_1757950091459739600.sql new file mode 100644 index 000000000..d35fc08bf --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1757950091459739600.sql @@ -0,0 +1,18 @@ +-- Earthfury Belt +UPDATE `creature_loot_template` SET `chance` = 0.2 WHERE `item` = 16838 AND `entry` IN(11667,11666); +UPDATE `creature_loot_template` SET `chance` = 0.3 WHERE `item` = 16838 AND `entry` IN(12100,12076,11665); +UPDATE `creature_loot_template` SET `chance` = 0.4 WHERE `item` = 16838 AND `entry` IN(11659,12101,11668); +UPDATE `creature_loot_template` SET `chance` = 0.5 WHERE `item` = 16838 AND `entry` IN(11663); +UPDATE `creature_loot_template` SET `chance` = 0.6 WHERE `item` = 16838 AND `entry` IN(11661); +UPDATE `creature_loot_template` SET `chance` = 0.7 WHERE `item` = 16838 AND `entry` IN(12119,11658); +UPDATE `creature_loot_template` SET `chance` = 0.8 WHERE `item` = 16838 AND `entry` IN(11662,11664); +UPDATE `creature_loot_template` SET `chance` = 0.9 WHERE `item` = 16838 AND `entry` IN(11673); +-- Earthfury Bracer +UPDATE `creature_loot_template` SET `chance` = 0.2 WHERE `item` = 16840 AND `entry` IN(12076); +UPDATE `creature_loot_template` SET `chance` = 0.3 WHERE `item` = 16840 AND `entry` IN(11666,11665,11667,11668); +UPDATE `creature_loot_template` SET `chance` = 0.4 WHERE `item` = 16840 AND `entry` IN(11659,12101,12100); +UPDATE `creature_loot_template` SET `chance` = 0.5 WHERE `item` = 16840 AND `entry` IN(11663); +UPDATE `creature_loot_template` SET `chance` = 0.6 WHERE `item` = 16840 AND `entry` IN(11658); +UPDATE `creature_loot_template` SET `chance` = 0.7 WHERE `item` = 16840 AND `entry` IN(12119); +UPDATE `creature_loot_template` SET `chance` = 0.8 WHERE `item` = 16840 AND `entry` IN(11662,11664,11661); +UPDATE `creature_loot_template` SET `chance` = 0.8 WHERE `item` = 16840 AND `entry` IN(11673); From 5b493a476779f8cf4180bd58d711d4bb2b1ae14e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 16 Sep 2025 08:22:51 +0000 Subject: [PATCH 55/65] chore(DB): import pending files Referenced commit(s): d41bfd165e2697974c99a58835fb9f19b6af62f6 --- .../rev_1757950091459739600.sql => db_world/2025_09_16_00.sql} | 1 + .../rev_1757953077250228200.sql => db_world/2025_09_16_01.sql} | 1 + 2 files changed, 2 insertions(+) rename data/sql/updates/{pending_db_world/rev_1757950091459739600.sql => db_world/2025_09_16_00.sql} (97%) rename data/sql/updates/{pending_db_world/rev_1757953077250228200.sql => db_world/2025_09_16_01.sql} (77%) diff --git a/data/sql/updates/pending_db_world/rev_1757950091459739600.sql b/data/sql/updates/db_world/2025_09_16_00.sql similarity index 97% rename from data/sql/updates/pending_db_world/rev_1757950091459739600.sql rename to data/sql/updates/db_world/2025_09_16_00.sql index d35fc08bf..c01b9606e 100644 --- a/data/sql/updates/pending_db_world/rev_1757950091459739600.sql +++ b/data/sql/updates/db_world/2025_09_16_00.sql @@ -1,3 +1,4 @@ +-- DB update 2025_09_15_03 -> 2025_09_16_00 -- Earthfury Belt UPDATE `creature_loot_template` SET `chance` = 0.2 WHERE `item` = 16838 AND `entry` IN(11667,11666); UPDATE `creature_loot_template` SET `chance` = 0.3 WHERE `item` = 16838 AND `entry` IN(12100,12076,11665); diff --git a/data/sql/updates/pending_db_world/rev_1757953077250228200.sql b/data/sql/updates/db_world/2025_09_16_01.sql similarity index 77% rename from data/sql/updates/pending_db_world/rev_1757953077250228200.sql rename to data/sql/updates/db_world/2025_09_16_01.sql index 4ab939218..bba2ac591 100644 --- a/data/sql/updates/pending_db_world/rev_1757953077250228200.sql +++ b/data/sql/updates/db_world/2025_09_16_01.sql @@ -1,2 +1,3 @@ +-- DB update 2025_09_16_00 -> 2025_09_16_01 -- Changed restock value from 2.5 hours (9000) to 30 mins (1800) UPDATE `npc_vendor` SET `incrtime` = 1800 WHERE `entry` = 14860 AND `item` = 11027; From add49b7723a07141b3157b7d3e2476851aef9330 Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Tue, 16 Sep 2025 06:53:49 -0300 Subject: [PATCH 56/65] fix(Scripts/Dragonblight): Script Wyrmrest Vanquisher Flame Fury spell (#22940) --- .../rev_1757988907851589500.sql | 4 +++ .../scripts/Northrend/zone_dragonblight.cpp | 36 +++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1757988907851589500.sql diff --git a/data/sql/updates/pending_db_world/rev_1757988907851589500.sql b/data/sql/updates/pending_db_world/rev_1757988907851589500.sql new file mode 100644 index 000000000..ef1450623 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1757988907851589500.sql @@ -0,0 +1,4 @@ +-- +DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_dragonblight_flame_fury'; +INSERT INTO `spell_script_names` VALUES +(50348, 'spell_dragonblight_flame_fury'); diff --git a/src/server/scripts/Northrend/zone_dragonblight.cpp b/src/server/scripts/Northrend/zone_dragonblight.cpp index 9cf0cb7c0..982f5bf96 100644 --- a/src/server/scripts/Northrend/zone_dragonblight.cpp +++ b/src/server/scripts/Northrend/zone_dragonblight.cpp @@ -2261,6 +2261,41 @@ class spell_handover_reins : public SpellScript } }; +enum FlameFurySpells +{ + SPELL_FLAME_FURY_1 = 50351, + SPELL_FLAME_FURY_2 = 50353, + SPELL_FLAME_FURY_3 = 50354, + SPELL_FLAME_FURY_4 = 50355, + SPELL_FLAME_FURY_5 = 50357 +}; + +// 50348 - Flame Fury +class spell_dragonblight_flame_fury : public AuraScript +{ + PrepareAuraScript(spell_dragonblight_flame_fury); + + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo(spellIds); + } + + void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) + { + if (Unit* owner = GetUnitOwner()) + if (GetTargetApplication()->GetRemoveMode() == AURA_REMOVE_BY_EXPIRE && !owner->IsAlive()) + owner->CastSpell(owner, Acore::Containers::SelectRandomContainerElement(spellIds), true); + } + +private: + std::array const spellIds = { SPELL_FLAME_FURY_1, SPELL_FLAME_FURY_2, SPELL_FLAME_FURY_3, SPELL_FLAME_FURY_4, SPELL_FLAME_FURY_5 }; + + void Register() override + { + OnEffectRemove += AuraEffectRemoveFn(spell_dragonblight_flame_fury::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE, AURA_EFFECT_HANDLE_REAL); + } +}; + void AddSC_dragonblight() { new npc_conversing_with_the_depths_trigger(); @@ -2289,4 +2324,5 @@ void AddSC_dragonblight() new npc_torturer_lecraft(); RegisterSpellScript(spell_dragonblight_corrosive_spit); RegisterSpellScript(spell_handover_reins); + RegisterSpellScript(spell_dragonblight_flame_fury); } From f31a7281bde22a8425373fded9a174769b77aaef Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 16 Sep 2025 09:54:49 +0000 Subject: [PATCH 57/65] chore(DB): import pending files Referenced commit(s): add49b7723a07141b3157b7d3e2476851aef9330 --- .../rev_1757988907851589500.sql => db_world/2025_09_16_02.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1757988907851589500.sql => db_world/2025_09_16_02.sql} (79%) diff --git a/data/sql/updates/pending_db_world/rev_1757988907851589500.sql b/data/sql/updates/db_world/2025_09_16_02.sql similarity index 79% rename from data/sql/updates/pending_db_world/rev_1757988907851589500.sql rename to data/sql/updates/db_world/2025_09_16_02.sql index ef1450623..0f75adc1f 100644 --- a/data/sql/updates/pending_db_world/rev_1757988907851589500.sql +++ b/data/sql/updates/db_world/2025_09_16_02.sql @@ -1,3 +1,4 @@ +-- DB update 2025_09_16_01 -> 2025_09_16_02 -- DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_dragonblight_flame_fury'; INSERT INTO `spell_script_names` VALUES From 56f2a8e4f3c197b9cd6cecbe29c8e44b08656ae5 Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Tue, 16 Sep 2025 06:59:02 -0300 Subject: [PATCH 58/65] fix(Scripts/BoreanTundra): Script Soul Deflection spell (#22931) --- .../rev_1757938084848429700.sql | 4 +++ .../scripts/Northrend/zone_borean_tundra.cpp | 29 +++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1757938084848429700.sql diff --git a/data/sql/updates/pending_db_world/rev_1757938084848429700.sql b/data/sql/updates/pending_db_world/rev_1757938084848429700.sql new file mode 100644 index 000000000..e6aafd154 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1757938084848429700.sql @@ -0,0 +1,4 @@ +-- +DELETE FROM `spell_script_names` WHERE `spell_id` = 51009; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(51009, 'spell_soul_deflection'); diff --git a/src/server/scripts/Northrend/zone_borean_tundra.cpp b/src/server/scripts/Northrend/zone_borean_tundra.cpp index 88013c47c..8f352e893 100644 --- a/src/server/scripts/Northrend/zone_borean_tundra.cpp +++ b/src/server/scripts/Northrend/zone_borean_tundra.cpp @@ -2143,6 +2143,34 @@ class spell_necropolis_beam: public SpellScript } }; +enum SoulDeflectionSpells +{ + SPELL_SOUL_DEFLECTION_DAMAGE = 51011 +}; + +class spell_soul_deflection : public AuraScript +{ + PrepareAuraScript(spell_soul_deflection); + + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_SOUL_DEFLECTION_DAMAGE }); + } + + void HandleProc(AuraEffect const* /*aurEff*/, ProcEventInfo& eventInfo) + { + if (!eventInfo.GetDamageInfo() || !eventInfo.GetDamageInfo()->GetDamage() || !GetTarget()) + return; + + GetCaster()->CastCustomSpell(SPELL_SOUL_DEFLECTION_DAMAGE, SPELLVALUE_BASE_POINT0, eventInfo.GetDamageInfo()->GetDamage(), GetTarget(), true); + } + + void Register() override + { + OnEffectProc += AuraEffectProcFn(spell_soul_deflection::HandleProc, EFFECT_0, SPELL_AURA_DUMMY); + } +}; + void AddSC_borean_tundra() { RegisterSpellScript(spell_q11919_q11940_drake_hunt_aura); @@ -2168,4 +2196,5 @@ void AddSC_borean_tundra() new npc_bloodmage_laurith(); RegisterCreatureAI(npc_jenny); RegisterSpellScript(spell_necropolis_beam); + RegisterSpellScript(spell_soul_deflection); } From 6a156a69fd843c538ee97a5d78e86847b7200152 Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Tue, 16 Sep 2025 06:59:09 -0300 Subject: [PATCH 59/65] fix(Scripts/AzjolNerub): Fix Drain Power spell (#22933) --- .../rev_1757944110586233600.sql | 17 ++++++++++++ .../AzjolNerub/instance_azjol_nerub.cpp | 27 +++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1757944110586233600.sql diff --git a/data/sql/updates/pending_db_world/rev_1757944110586233600.sql b/data/sql/updates/pending_db_world/rev_1757944110586233600.sql new file mode 100644 index 000000000..2b21d5156 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1757944110586233600.sql @@ -0,0 +1,17 @@ +-- + +DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_azjol_drain_power'; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(54314, 'spell_azjol_drain_power'), +(59354, 'spell_azjol_drain_power'); + +DELETE FROM `spelldifficulty_dbc` WHERE `ID` IN (54315, 54314, 54309); +INSERT INTO `spelldifficulty_dbc` (`ID`, `DifficultySpellID_1`, `DifficultySpellID_2`) VALUES +(54315, 54315, 59355), +(54314, 54314, 59354), +(54309, 54309, 59352); + +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 29128) AND (`source_type` = 0) AND (`id` IN (0, 1, 2, 3)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(29128, 0, 0, 0, 0, 0, 100, 0, 0, 10000, 10000, 10000, 0, 0, 11, 54314, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Anub\'ar Prime Guard - In Combat - Cast \'Drain Power\''), +(29128, 0, 2, 0, 0, 0, 100, 0, 6000, 12000, 12000, 25000, 0, 0, 11, 54309, 0, 0, 0, 0, 0, 5, 30, 0, 0, 0, 0, 0, 0, 0, 'Anub\'ar Prime Guard - In Combat - Cast \'Mark of Darkness\''); diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/instance_azjol_nerub.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/instance_azjol_nerub.cpp index 3ee2f91f9..9d6616db9 100644 --- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/instance_azjol_nerub.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/instance_azjol_nerub.cpp @@ -126,9 +126,36 @@ class spell_azjol_nerub_web_wrap_aura : public AuraScript } }; +enum DrainPowerSpells +{ + SPELL_DRAIN_POWER_AURA = 54315 +}; + +// 54314, 59354 - Drain Power +class spell_azjol_drain_power : public SpellScript +{ + PrepareSpellScript(spell_azjol_drain_power); + + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_DRAIN_POWER_AURA }); + } + + void HandleScriptEffect(SpellEffIndex /*effIndex*/) + { + GetCaster()->CastSpell(GetCaster(), SPELL_DRAIN_POWER_AURA, true); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_azjol_drain_power::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_APPLY_AURA); + } +}; + void AddSC_instance_azjol_nerub() { new instance_azjol_nerub(); RegisterSpellScript(spell_azjol_nerub_fixate); RegisterSpellScript(spell_azjol_nerub_web_wrap_aura); + RegisterSpellScript(spell_azjol_drain_power); } From a56c8805c9e7c5915a511dce87a6c0446a5c158b Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Tue, 16 Sep 2025 06:59:16 -0300 Subject: [PATCH 60/65] fix(DB/Creature): Implement Naxxanar visuals (#22932) --- .../rev_1757940712155715100.sql | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1757940712155715100.sql diff --git a/data/sql/updates/pending_db_world/rev_1757940712155715100.sql b/data/sql/updates/pending_db_world/rev_1757940712155715100.sql new file mode 100644 index 000000000..4d9fe1ea5 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1757940712155715100.sql @@ -0,0 +1,82 @@ +-- +SET @CGUID = 93770; +DELETE FROM `creature` WHERE `id1` = 26094; +DELETE FROM `creature` WHERE `guid` BETWEEN @CGUID+0 AND @CGUID+31; +INSERT INTO `creature` (`guid`, `id1`, `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`, `VerifiedBuild`) VALUES +(@CGUID+0, 26094, 571, 3537, 4128, 1, 1, 0, 3719.678955078125, 3563.5400390625, 353.03515625, 0.03490658476948738, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163), -- 26094 +(@CGUID+1, 26094, 571, 3537, 4128, 1, 1, 0, 3783.53564453125, 3558.092529296875, 357.4127197265625, 2.940582275390625, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163), -- 26094 +(@CGUID+2, 26094, 571, 3537, 4128, 1, 1, 0, 3735.954833984375, 3587.1259765625, 352.95361328125, 4.834561824798583984, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163), -- 26094 +(@CGUID+3, 26094, 571, 3537, 4128, 1, 1, 0, 3730.49658203125, 3523.23291015625, 357.273834228515625, 1.370625138282775878, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163), -- 26094 +(@CGUID+4, 26094, 571, 3537, 4128, 1, 1, 0, 3776.92529296875, 3591.88525390625, 357.232177734375, 3.725480079650878906, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163), -- 26094 +(@CGUID+5, 26094, 571, 3537, 4128, 1, 1, 0, 3801.709228515625, 3554.345947265625, 356.84326171875, 4.380776405334472656, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163), -- 26094 +(@CGUID+6, 26094, 571, 3537, 4128, 1, 1, 0, 3695.5478515625, 3576.253173828125, 357.273834228515625, 4.084070205688476562, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163), -- 26094 +(@CGUID+7, 26094, 571, 3537, 4128, 1, 1, 0, 3658.68310546875, 3569.76806640625, 379.58563232421875, 5.742133140563964843, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163), -- 26094 +(@CGUID+8, 26094, 571, 3537, 4128, 1, 1, 0, 3755.951904296875, 3555.982177734375, 352.608795166015625, 5.532693862915039062, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163), -- 26094 +(@CGUID+9, 26094, 571, 3537, 4128, 1, 1, 0, 3750.928955078125, 3583.85791015625, 353.133056640625, 5.305800914764404296, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163), -- 26094 +(@CGUID+10, 26094, 571, 3537, 4128, 1, 1, 0, 3743.177978515625, 3547.561767578125, 352.581085205078125, 1.93731546401977539, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163), -- 26094 +(@CGUID+11, 26094, 571, 3537, 4128, 1, 1, 0, 3764.579345703125, 3529.76904296875, 356.787750244140625, 2.164467573165893554, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163), -- 26094 +(@CGUID+12, 26094, 571, 3537, 4128, 1, 1, 0, 3677.7001953125, 3580.002685546875, 357.1766357421875, 2.984513044357299804, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163), -- 26094 +(@CGUID+13, 26094, 571, 3537, 4128, 1, 1, 0, 3722.888427734375, 3578.421630859375, 353.603179931640625, 4.555309295654296875, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163), -- 26094 +(@CGUID+14, 26094, 571, 3537, 4128, 1, 1, 0, 3687.4306640625, 3532.681884765625, 383.60858154296875, 0.750491559505462646, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163), -- 26094 +(@CGUID+15, 26094, 571, 3537, 4128, 1, 1, 0, 3714.739990234375, 3604.69384765625, 357.15423583984375, 3.700098037719726562, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163), -- 26094 +(@CGUID+16, 26094, 571, 3537, 4128, 1, 1, 0, 3664.64892578125, 3596.26025390625, 379.33416748046875, 1.535889744758605957, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163), -- 26094 +(@CGUID+17, 26094, 571, 3537, 4128, 1, 1, 0, 3759.2587890625, 3570.970458984375, 352.413238525390625, 0.78539818525314331, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163), -- 26094 +(@CGUID+18, 26094, 571, 3537, 4128, 1, 1, 0, 3728.220947265625, 3550.713134765625, 353.099822998046875, 1.029744267463684082, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163), -- 26094 +(@CGUID+19, 26094, 571, 3537, 4128, 1, 1, 0, 3792.02783203125, 3601.504638671875, 383.247467041015625, 0.872664630413055419, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163), -- 26094 +(@CGUID+20, 26094, 571, 3537, 4128, 1, 1, 0, 3742.228759765625, 3647.83642578125, 379.491424560546875, 4.677298545837402343, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163), -- 26094 +(@CGUID+21, 26094, 571, 3537, 4128, 1, 1, 0, 3768.669189453125, 3642.030517578125, 379.37896728515625, 4.33998727798461914, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163), -- 26094 +(@CGUID+22, 26094, 571, 3537, 4128, 1, 1, 0, 3705.007080078125, 3619.174072265625, 383.5230712890625, 5.295888423919677734, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163), -- 26094 +(@CGUID+23, 26094, 571, 3537, 4128, 1, 1, 0, 3736.970458984375, 3486.45263671875, 379.53594970703125, 1.540748834609985351, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163), -- 26094 +(@CGUID+24, 26094, 571, 3537, 4128, 1, 1, 0, 3701.977783203125, 3542.440185546875, 357.294677734375, 0.582478821277618408, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163), -- 26094 +(@CGUID+25, 26094, 571, 3537, 4128, 1, 1, 0, 3814.578125, 3537.555908203125, 379.378936767578125, 2.530727386474609375, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163), -- 26094 +(@CGUID+26, 26094, 571, 3537, 4128, 1, 1, 0, 3820.23828125, 3564.518798828125, 379.45037841796875, 3.109837055206298828, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163), -- 26094 +(@CGUID+27, 26094, 571, 3537, 4128, 1, 1, 0, 3710.322021484375, 3492.05078125, 379.546295166015625, 1.201164007186889648, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163), -- 26094 +(@CGUID+28, 26094, 571, 3537, 4128, 1, 1, 0, 3748.444580078125, 3611.04296875, 357.19744873046875, 4.136430263519287109, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163), -- 26094 +(@CGUID+29, 26094, 571, 3537, 4128, 1, 1, 0, 3752.42529296875, 3629.353271484375, 357.46136474609375, 4.506084442138671875, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163), -- 26094 +(@CGUID+30, 26094, 571, 3537, 4128, 1, 1, 0, 3726.805908203125, 3505.173828125, 357.183563232421875, 3.473205089569091796, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163), -- 26094 +(@CGUID+31, 26094, 571, 3537, 4128, 1, 1, 0, 3773.9384765625, 3514.71728515625, 383.30303955078125, 0.03490658476948738, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163); -- 26094 + +UPDATE `creature_template_addon` SET `auras` = '32566' WHERE `entry` = 26093; + +SET @CGUID = 1107; +DELETE FROM `creature` WHERE `id1` = 26093; +INSERT INTO `creature` (`guid`, `id1`, `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`, `VerifiedBuild`) VALUES +(@CGUID+0, 26093, 571, 3537, 4128, 1, 1, 0, 3739.39404296875, 3567.0869140625, 374.34088134765625, 3.804817676544189453, 120, 0, 0, 2095, 852, 0, 0, 0, 0, 63163); -- 26093 + +DELETE FROM `creature_template_movement` WHERE `CreatureID` IN (26093, 26094); +INSERT INTO `creature_template_movement` (`CreatureID`, `Ground`, `Swim`, `Flight`) VALUES +(26093, 1, 0, 1), +(26094, 1, 0, 1); + +UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 26094; + +DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 26094); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(26094, 0, 0, 0, 25, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 46477, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Naxxanar Caster - On Reset - Cast \'Naxxanar Beam 1\''), +(26094, 0, 1, 0, 60, 0, 100, 0, 8000, 8000, 8000, 8000, 0, 0, 11, 46521, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Naxxanar Caster - On Update - Cast \'Naxxanar Beam 3\''); + +DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 25601); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(25601, 0, 0, 0, 0, 0, 100, 0, 4000, 8000, 4000, 8000, 0, 0, 11, 15537, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Prince Valanar - In Combat - Cast \'Shadow Bolt\''), +(25601, 0, 1, 0, 0, 0, 100, 0, 7600, 14000, 6400, 19700, 0, 0, 11, 50992, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Prince Valanar - In Combat - Cast \'Soul Blast\''), +(25601, 0, 2, 0, 0, 0, 100, 0, 7200, 24100, 14500, 26600, 0, 0, 11, 51009, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Prince Valanar - In Combat - Cast \'Soul Deflection\''), +(25601, 0, 3, 0, 25, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 46482, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Prince Valanar - On Reset - Cast \'Naxxanar Beam 2\''); + +DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId` = 13) AND (`SourceGroup` = 1) AND (`SourceEntry` = 46477) AND (`SourceId` = 0) AND (`ElseGroup` = 0) AND (`ConditionTypeOrReference` = 31) AND (`ConditionTarget` = 0) AND (`ConditionValue1` = 3) AND (`ConditionValue2` = 26093) AND (`ConditionValue3` = 0); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(13, 1, 46477, 0, 0, 31, 0, 3, 26093, 0, 0, 0, 0, '', 'Spell Naxxanar Beam 1 only hit Naxxanar Target'); + +DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId` = 13) AND (`SourceGroup` = 1) AND (`SourceEntry` = 46482) AND (`SourceId` = 0) AND (`ElseGroup` = 0) AND (`ConditionTypeOrReference` = 31) AND (`ConditionTarget` = 0) AND (`ConditionValue1` = 3) AND (`ConditionValue2` = 26093) AND (`ConditionValue3` = 0); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(13, 1, 46482, 0, 0, 31, 0, 3, 26093, 0, 0, 0, 0, '', 'Spell Naxxanar Beam 2 only hit Naxxanar Target'); + +DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId` = 13) AND (`SourceGroup` = 1) AND (`SourceEntry` = 46521) AND (`SourceId` = 0) AND (`ElseGroup` = 0) AND (`ConditionTypeOrReference` = 31) AND (`ConditionTarget` = 0) AND (`ConditionValue1` = 3) AND (`ConditionValue2` = 26093) AND (`ConditionValue3` = 0); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(13, 1, 46521, 0, 0, 31, 0, 3, 26093, 0, 0, 0, 0, '', 'Spell Naxxanar Beam 3 only hit Naxxanar Target'); + +DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId` = 22) AND `SourceGroup` IN (1, 2) AND (`SourceEntry` = 26094); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(22, 1, 26094, 0, 0, 29, 1, 26093, 28, 0, 0, 0, 0, '', 'Naxxanar Beam 2 requires Naxxanar Target within 28yd'), +(22, 2, 26094, 0, 0, 29, 1, 26093, 28, 0, 1, 0, 0, '', 'Naxxanar Beam 2 requires Naxxanar Target NOT within 28yd'); + +DELETE FROM `creature_addon` WHERE `guid` = 85246; From 7b9a34b9039037760e6942f56eaef63db19f7196 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 16 Sep 2025 10:00:02 +0000 Subject: [PATCH 61/65] chore(DB): import pending files Referenced commit(s): 56f2a8e4f3c197b9cd6cecbe29c8e44b08656ae5 --- .../rev_1757938084848429700.sql => db_world/2025_09_16_03.sql} | 1 + .../rev_1757940712155715100.sql => db_world/2025_09_16_04.sql} | 1 + .../rev_1757944110586233600.sql => db_world/2025_09_16_05.sql} | 1 + 3 files changed, 3 insertions(+) rename data/sql/updates/{pending_db_world/rev_1757938084848429700.sql => db_world/2025_09_16_03.sql} (78%) rename data/sql/updates/{pending_db_world/rev_1757940712155715100.sql => db_world/2025_09_16_04.sql} (99%) rename data/sql/updates/{pending_db_world/rev_1757944110586233600.sql => db_world/2025_09_16_05.sql} (97%) diff --git a/data/sql/updates/pending_db_world/rev_1757938084848429700.sql b/data/sql/updates/db_world/2025_09_16_03.sql similarity index 78% rename from data/sql/updates/pending_db_world/rev_1757938084848429700.sql rename to data/sql/updates/db_world/2025_09_16_03.sql index e6aafd154..cabbcc944 100644 --- a/data/sql/updates/pending_db_world/rev_1757938084848429700.sql +++ b/data/sql/updates/db_world/2025_09_16_03.sql @@ -1,3 +1,4 @@ +-- DB update 2025_09_16_02 -> 2025_09_16_03 -- DELETE FROM `spell_script_names` WHERE `spell_id` = 51009; INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES diff --git a/data/sql/updates/pending_db_world/rev_1757940712155715100.sql b/data/sql/updates/db_world/2025_09_16_04.sql similarity index 99% rename from data/sql/updates/pending_db_world/rev_1757940712155715100.sql rename to data/sql/updates/db_world/2025_09_16_04.sql index 4d9fe1ea5..c1cc7e1c3 100644 --- a/data/sql/updates/pending_db_world/rev_1757940712155715100.sql +++ b/data/sql/updates/db_world/2025_09_16_04.sql @@ -1,3 +1,4 @@ +-- DB update 2025_09_16_03 -> 2025_09_16_04 -- SET @CGUID = 93770; DELETE FROM `creature` WHERE `id1` = 26094; diff --git a/data/sql/updates/pending_db_world/rev_1757944110586233600.sql b/data/sql/updates/db_world/2025_09_16_05.sql similarity index 97% rename from data/sql/updates/pending_db_world/rev_1757944110586233600.sql rename to data/sql/updates/db_world/2025_09_16_05.sql index 2b21d5156..e3d37f1f0 100644 --- a/data/sql/updates/pending_db_world/rev_1757944110586233600.sql +++ b/data/sql/updates/db_world/2025_09_16_05.sql @@ -1,3 +1,4 @@ +-- DB update 2025_09_16_04 -> 2025_09_16_05 -- DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_azjol_drain_power'; From f0acf6e3f02432c14acf9aa928f3d8c1c62c18b2 Mon Sep 17 00:00:00 2001 From: sudlud Date: Wed, 17 Sep 2025 01:22:28 +0200 Subject: [PATCH 62/65] fix(DB/Gameobject): Sniffed Values for 'Sturdy Vine' spawns (#22947) --- .../rev_1758049497884332500.sql | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1758049497884332500.sql diff --git a/data/sql/updates/pending_db_world/rev_1758049497884332500.sql b/data/sql/updates/pending_db_world/rev_1758049497884332500.sql new file mode 100644 index 000000000..3215025e6 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1758049497884332500.sql @@ -0,0 +1,47 @@ +-- Update gameobject 'Sturdy Vine' with sniffed values +-- updated spawns +DELETE FROM `gameobject` WHERE (`id` IN (190622)) AND (`guid` IN (59679, 59680, 59681, 59682, 59683, 59684, 59685, 59686, 59687, 59688, 59689, 59690, 59691, 59692, 59693, 59694, 59695, 59696, 59697, 59698, 59699, 59700, 59701, 59702)); +INSERT INTO `gameobject` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `ScriptName`, `VerifiedBuild`, `Comment`) VALUES +(59679, 190622, 571, 0, 0, 1, 1, 5673.72216796875, 4650.47802734375, -125.527442932128906, 5.183629035949707031, 0, 0, -0.52249813079833984, 0.852640450000762939, 120, 255, 1, "", 45942, NULL), +(59680, 190622, 571, 0, 0, 1, 1, 5149.07763671875, 4673.03759765625, -126.673080444335937, 1.989672422409057617, 0, 0, 0.838669776916503906, 0.544640243053436279, 120, 255, 1, "", 45942, NULL), +(59681, 190622, 571, 0, 0, 1, 1, 5306.31640625, 4679.0927734375, -120.100379943847656, 2.70525527000427246, 0, 0, 0.97629547119140625, 0.216442063450813293, 120, 255, 1, "", 45854, NULL), +(59682, 190622, 571, 0, 0, 1, 1, 5219.14794921875, 4687.21826171875, -126.521469116210937, 0.872663915157318115, 0, 0, 0.422617912292480468, 0.906307935714721679, 120, 255, 1, "", 45942, NULL), +(59683, 190622, 571, 0, 0, 1, 1, 5395.48291015625, 4610.205078125, -124.6485595703125, 6.265733242034912109, 0, 0, -0.00872611999511718, 0.999961912631988525, 120, 255, 1, "", 45854, NULL), +(59684, 190622, 571, 0, 0, 1, 1, 5109.66650390625, 4834.08935546875, -124.72216796875, 4.380776405334472656, 0, 0, -0.81411552429199218, 0.580702960491180419, 120, 255, 1, "", 45942, NULL), +(59685, 190622, 571, 0, 0, 1, 1, 5521.69140625, 4615.71728515625, -130.610321044921875, 5.35816192626953125, 0, 0, -0.446197509765625, 0.894934535026550292, 120, 255, 1, "", 45854, NULL), +(59686, 190622, 571, 0, 0, 1, 1, 5136.04248046875, 4709.27587890625, -131.320388793945312, 5.497788906097412109, 0, 0, -0.38268280029296875, 0.923879802227020263, 120, 255, 1, "", 45942, NULL), +(59687, 190622, 571, 0, 0, 1, 1, 5642.3212890625, 4714.00244140625, -127.601486206054687, 2.024578809738159179, 0, 0, 0.848047256469726562, 0.529920578002929687, 120, 255, 1, "", 45942, NULL), +(59688, 190622, 571, 0, 0, 1, 1, 5282.47412109375, 4975.71533203125, -126.121009826660156, 0.122172988951206207, 0, 0, 0.061048507690429687, 0.998134791851043701, 120, 255, 1, "", 45854, NULL), +(59689, 190622, 571, 0, 0, 1, 1, 5178.98193359375, 4899.48974609375, -122.379692077636718, 5.393068790435791015, 0, 0, -0.43051052093505859, 0.902585566043853759, 120, 255, 1, "", 45942, NULL), +(59690, 190622, 571, 0, 0, 1, 1, 5211.4765625, 5013.88134765625, -128.495254516601562, 4.415683269500732421, 0, 0, -0.80385684967041015, 0.594822824001312255, 120, 255, 1, "", 45854, NULL), +(59691, 190622, 571, 0, 0, 1, 1, 5352.49560546875, 5064.845703125, -130.039840698242187, 4.939284324645996093, 0, 0, -0.6225137710571289, 0.78260880708694458, 120, 255, 1, "", 47720, NULL), +(59692, 190622, 571, 0, 0, 1, 1, 5830.8671875, 4549.435546875, -120.839736938476562, 0.750490784645080566, 0, 0, 0.3665008544921875, 0.93041771650314331, 120, 255, 1, "", 45942, NULL), +(59693, 190622, 571, 0, 0, 1, 1, 5854.70458984375, 4788.34619140625, -127.529281616210937, 0.331610709428787231, 0, 0, 0.16504669189453125, 0.986285746097564697, 120, 255, 1, "", 45942, NULL), +(59694, 190622, 571, 0, 0, 1, 1, 5747.27587890625, 4497.44873046875, -124.290687561035156, 3.24634718894958496, 0, 0, -0.99862861633300781, 0.052353221923112869, 120, 255, 1, "", 45942, NULL), +(59695, 190622, 571, 0, 0, 1, 1, 5586.0556640625, 5215.5361328125, -126.595489501953125, 2.303830623626708984, 0, 0, 0.913544654846191406, 0.406738430261611938, 120, 255, 1, "", 45854, NULL), +(59696, 190622, 571, 0, 0, 1, 1, 5618.62158203125, 5052.03271484375, -120.335853576660156, 1.169368624687194824, 0, 0, 0.551936149597167968, 0.833886384963989257, 120, 255, 1, "", 45942, NULL), +(59697, 190622, 571, 0, 0, 1, 1, 5147.85400390625, 5116.40185546875, -121.840362548828125, 6.108653545379638671, 0, 0, -0.08715534210205078, 0.996194720268249511, 120, 255, 1, "", 45854, NULL), +(59698, 190622, 571, 0, 0, 1, 1, 5654.27099609375, 5186.08935546875, -125.806991577148437, 4.939284324645996093, 0, 0, -0.6225137710571289, 0.78260880708694458, 120, 255, 1, "", 45942, NULL), +(59699, 190622, 571, 0, 0, 1, 1, 5672.38720703125, 5211.49462890625, -122.175430297851562, 5.70722818374633789, 0, 0, -0.28401470184326171, 0.958819925785064697, 120, 255, 1, "", 45942, NULL), +(59700, 190622, 571, 0, 0, 1, 1, 5617.25732421875, 4907.94970703125, -125.945823669433593, 1.274088263511657714, 0, 0, 0.594821929931640625, 0.80385744571685791, 120, 255, 1, "", 45854, NULL), +(59701, 190622, 571, 0, 0, 1, 1, 5692.05126953125, 5114.4130859375, -128.620452880859375, 0.855210542678833007, 0, 0, 0.414692878723144531, 0.909961462020874023, 120, 255, 1, "", 45942, NULL), +(59702, 190622, 571, 0, 0, 1, 1, 5513.50537109375, 5523.17041015625, -95.3385086059570312, 5.829400539398193359, 0, 0, -0.22495079040527343, 0.974370121955871582, 120, 255, 1, "", 45942, NULL); + +-- new spawns +DELETE FROM `gameobject` WHERE (`id` IN (190622)) AND (`guid` IN (992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006)); +INSERT INTO `gameobject` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `ScriptName`, `VerifiedBuild`, `Comment`) VALUES +(992, 190622, 571, 0, 0, 1, 1, 5367.56494140625, 5237.18017578125, -124.279983520507812, 0.959929943084716796, 0, 0, 0.461748123168945312, 0.887011110782623291, 120, 255, 1, "", 45854, NULL), +(993, 190622, 571, 0, 0, 1, 1, 5372.37451171875, 5362.42431640625, -130.01617431640625, 4.625123500823974609, 0, 0, -0.73727703094482421, 0.67559051513671875, 120, 255, 1, "", 45854, NULL), +(994, 190622, 571, 0, 0, 1, 1, 5389.837890625, 5120.15185546875, -127.117263793945312, 1.378809213638305664, 0, 0, 0.636077880859375, 0.771624863147735595, 120, 255, 1, "", 45942, NULL), +(995, 190622, 571, 0, 0, 1, 1, 5449.1953125, 5028.7431640625, -123.504936218261718, 1.780233979225158691, 0, 0, 0.7771453857421875, 0.629321098327636718, 120, 255, 1, "", 45854, NULL), +(996, 190622, 571, 0, 0, 1, 1, 5472.548828125, 5298.6650390625, -124.564048767089843, 5.70722818374633789, 0, 0, -0.28401470184326171, 0.958819925785064697, 120, 255, 1, "", 45942, NULL), +(997, 190622, 571, 0, 0, 1, 1, 5505.2041015625, 5252.21337890625, -128.444000244140625, 2.809975385665893554, 0, 0, 0.986285209655761718, 0.165049895644187927, 120, 255, 1, "", 45942, NULL), +(998, 190622, 571, 0, 0, 1, 1, 5510.4462890625, 5297.79052734375, -125.904327392578125, 4.799657344818115234, 0, 0, -0.67558956146240234, 0.737277925014495849, 120, 255, 1, "", 45942, NULL), +(999, 190622, 571, 0, 0, 1, 1, 5632.1142578125, 4850.64794921875, -127.796516418457031, 3.368495941162109375, 0, 0, -0.99357128143310546, 0.113208353519439697, 120, 255, 1, "", 45854, NULL), +(1000, 190622, 571, 0, 0, 1, 1, 5696.837890625, 4919.0673828125, -129.01116943359375, 4.886923789978027343, 0, 0, -0.64278697967529296, 0.766044974327087402, 120, 255, 1, "", 45942, NULL), +(1001, 190622, 571, 0, 0, 1, 1, 5748.6962890625, 4765.53271484375, -129.992263793945312, 4.537858963012695312, 0, 0, -0.76604366302490234, 0.642788589000701904, 120, 255, 1, "", 45942, NULL), +(1002, 190622, 571, 0, 0, 1, 1, 5771.84619140625, 4973.22509765625, -116.202163696289062, 5.131268978118896484, 0, 0, -0.54463863372802734, 0.838670849800109863, 120, 255, 1, "", 45942, NULL), +(1003, 190622, 571, 0, 0, 1, 1, 5785.93701171875, 4705.3828125, -119.822021484375, 1.518436193466186523, 0, 0, 0.6883544921875, 0.725374460220336914, 120, 255, 1, "", 45942, NULL), +(1004, 190622, 571, 0, 0, 1, 1, 5786.0068359375, 4894.37255859375, -125.157676696777343, 5.323255538940429687, 0, 0, -0.46174812316894531, 0.887011110782623291, 120, 255, 1, "", 45942, NULL), +(1005, 190622, 571, 0, 0, 1, 1, 5786.03369140625, 5150.28125, -128.006103515625, 3.089183330535888671, 0, 0, 0.99965667724609375, 0.026201646775007247, 120, 255, 1, "", 45942, NULL), +(1006, 190622, 571, 0, 0, 1, 1, 5795.01953125, 5085.044921875, -127.69378662109375, 5.427974700927734375, 0, 0, -0.41469287872314453, 0.909961462020874023, 120, 255, 1, "", 45942, NULL); From 11defa83c70519f3502d55963bc0067eb62b2ff5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 16 Sep 2025 23:23:35 +0000 Subject: [PATCH 63/65] chore(DB): import pending files Referenced commit(s): f0acf6e3f02432c14acf9aa928f3d8c1c62c18b2 --- .../rev_1758049497884332500.sql => db_world/2025_09_16_06.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1758049497884332500.sql => db_world/2025_09_16_06.sql} (99%) diff --git a/data/sql/updates/pending_db_world/rev_1758049497884332500.sql b/data/sql/updates/db_world/2025_09_16_06.sql similarity index 99% rename from data/sql/updates/pending_db_world/rev_1758049497884332500.sql rename to data/sql/updates/db_world/2025_09_16_06.sql index 3215025e6..9494da8f9 100644 --- a/data/sql/updates/pending_db_world/rev_1758049497884332500.sql +++ b/data/sql/updates/db_world/2025_09_16_06.sql @@ -1,3 +1,4 @@ +-- DB update 2025_09_16_05 -> 2025_09_16_06 -- Update gameobject 'Sturdy Vine' with sniffed values -- updated spawns DELETE FROM `gameobject` WHERE (`id` IN (190622)) AND (`guid` IN (59679, 59680, 59681, 59682, 59683, 59684, 59685, 59686, 59687, 59688, 59689, 59690, 59691, 59692, 59693, 59694, 59695, 59696, 59697, 59698, 59699, 59700, 59701, 59702)); From 436890ccfca24b5f777a27623f7a7f5aabe8cba8 Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Wed, 17 Sep 2025 04:59:35 -0300 Subject: [PATCH 64/65] fix(DB/Creature): Fix Fallen Earthen Warrior (#22950) --- .../pending_db_world/rev_1758068640659448500.sql | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1758068640659448500.sql diff --git a/data/sql/updates/pending_db_world/rev_1758068640659448500.sql b/data/sql/updates/pending_db_world/rev_1758068640659448500.sql new file mode 100644 index 000000000..0bd3d6ab2 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1758068640659448500.sql @@ -0,0 +1,10 @@ +-- +DELETE FROM `creature` WHERE `guid` = 117222 AND `id1` = 26335; +INSERT INTO `creature` (`guid`, `id1`, `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`, `VerifiedBuild`) VALUES +(117222, 26335, 571, 394, 4221, 1, 1, 0, 4706.6416015625, -4453.7060546875, 195.04803466796875, 1.972222089767456054, 120, 0, 0, 1, 852, 0, 0, 0, 0, 63163); + +UPDATE `creature_template` SET `unit_flags` = `unit_flags`|256|512, `RegenHealth` = 0 WHERE `entry` = 26335; + +DELETE FROM `creature_addon` WHERE `guid` = 117222; +INSERT INTO `creature_addon` (`guid`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `visibilityDistanceType`, `auras`) VALUES +(117222, 0, 0, 7, 0, 0, 0, ''); From d58d8692b11dee6d8b98ddf4ddc700355bbb8c28 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 17 Sep 2025 08:00:35 +0000 Subject: [PATCH 65/65] chore(DB): import pending files Referenced commit(s): 436890ccfca24b5f777a27623f7a7f5aabe8cba8 --- .../rev_1758068640659448500.sql => db_world/2025_09_17_00.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1758068640659448500.sql => db_world/2025_09_17_00.sql} (95%) diff --git a/data/sql/updates/pending_db_world/rev_1758068640659448500.sql b/data/sql/updates/db_world/2025_09_17_00.sql similarity index 95% rename from data/sql/updates/pending_db_world/rev_1758068640659448500.sql rename to data/sql/updates/db_world/2025_09_17_00.sql index 0bd3d6ab2..78efd16c3 100644 --- a/data/sql/updates/pending_db_world/rev_1758068640659448500.sql +++ b/data/sql/updates/db_world/2025_09_17_00.sql @@ -1,3 +1,4 @@ +-- DB update 2025_09_16_06 -> 2025_09_17_00 -- DELETE FROM `creature` WHERE `guid` = 117222 AND `id1` = 26335; INSERT INTO `creature` (`guid`, `id1`, `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`, `VerifiedBuild`) VALUES