From 1c8644b3bc32a5f73cadd80616330454b394d4f1 Mon Sep 17 00:00:00 2001 From: Dan <83884799+elthehablo@users.noreply.github.com> Date: Mon, 4 Mar 2024 10:44:35 +0100 Subject: [PATCH 01/27] fix(Scripts/TheEye): make legendary TK dagger have 100% proc chance (#18482) initial --- src/server/game/Spells/SpellInfoCorrections.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/server/game/Spells/SpellInfoCorrections.cpp b/src/server/game/Spells/SpellInfoCorrections.cpp index 0a939f060..b222c1425 100644 --- a/src/server/game/Spells/SpellInfoCorrections.cpp +++ b/src/server/game/Spells/SpellInfoCorrections.cpp @@ -4644,6 +4644,12 @@ void SpellMgr::LoadSpellInfoCorrections() spellInfo->AttributesEx2 |= SPELL_ATTR2_IGNORE_LINE_OF_SIGHT; }); + // Magic Disruption (KT dagger) + ApplySpellFix({ 36478 }, [](SpellInfo* spellInfo) + { + spellInfo->ProcChance = 100; + }); + for (uint32 i = 0; i < GetSpellInfoStoreSize(); ++i) { SpellInfo* spellInfo = mSpellInfoMap[i]; From 2f2a4be72f4a9945aae3608ec4970853e4a77461 Mon Sep 17 00:00:00 2001 From: Dan <83884799+elthehablo@users.noreply.github.com> Date: Mon, 4 Mar 2024 13:13:33 +0100 Subject: [PATCH 02/27] fix(Scripts/TheEye): make sure Al'ar does not melee during transitions (#18479) * init * Update boss_alar.cpp --- .../Outland/TempestKeep/Eye/boss_alar.cpp | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp index 7329b6de6..12783ab21 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp @@ -109,6 +109,7 @@ struct boss_alar : public BossAI _baseAttackOverride = false; _spawnPhoenixes = false; _platform = 0; + _noMelee = false; _platformRoll = 0; _noQuillTimes = 0; _platformMoveRepeatTimer = 16s; @@ -191,6 +192,7 @@ struct boss_alar : public BossAI ScheduleUniqueTimedEvent(16001ms, [&]{ me->SetHealth(me->GetMaxHealth()); me->SetReactState(REACT_AGGRESSIVE); + _noMelee = false; me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE); _platform = POINT_MIDDLE; me->GetMotionMaster()->MoveChase(me->GetVictim()); @@ -201,6 +203,7 @@ struct boss_alar : public BossAI void PretendToDie(Creature* creature) { + _noMelee = true; scheduler.CancelAll(); creature->InterruptNonMeleeSpells(true); creature->RemoveAllAuras(); @@ -254,6 +257,7 @@ struct boss_alar : public BossAI void DoDiveBomb() { + _noMelee = true; scheduler.Schedule(2s, [this](TaskContext) { if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 10.0f, true)) @@ -267,6 +271,7 @@ struct boss_alar : public BossAI }).Schedule(10s, [this](TaskContext) { me->GetMotionMaster()->MoveChase(me->GetVictim()); + _noMelee = false; }); if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 90.0f, true)) { @@ -341,10 +346,31 @@ struct boss_alar : public BossAI } } + void UpdateAI(uint32 diff) override + { + if (!UpdateVictim()) + { + return; + } + + scheduler.Update(diff); + + if (me->HasUnitState(UNIT_STATE_CASTING)) + { + return; + } + + if (!_noMelee) + { + DoMeleeAttackIfReady(); + } + } + private: bool _canAttackCooldown; bool _baseAttackOverride; bool _spawnPhoenixes; + bool _noMelee; uint8 _platform; uint8 _platformRoll; uint8 _noQuillTimes; From 77e1062c4bd9441f04f40b38d08e5db1a634c1fd Mon Sep 17 00:00:00 2001 From: Dan <83884799+elthehablo@users.noreply.github.com> Date: Mon, 4 Mar 2024 13:34:52 +0100 Subject: [PATCH 03/27] fix(Scripts/TheEye): make sure Telonicus doesn't erroneously cast Conflagration and cast Remote Toy instead (#18481) how the frick did I miss this --- src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp index 64e5d7935..5577cfeff 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp @@ -963,7 +963,7 @@ struct npc_telonicus : public ScriptedAI DoCastVictim(SPELL_BOMB); }, 3600ms, 7100ms); ScheduleTimedEvent(13250ms, [&]{ - DoCastRandomTarget(SPELL_CONFLAGRATION, 0, 100.0f); + DoCastRandomTarget(SPELL_REMOTE_TOY, 0, 100.0f); }, 15750ms); } From a9422b10becaf714b86febe56baa2ac7d0742ef9 Mon Sep 17 00:00:00 2001 From: Elmsroth Date: Mon, 4 Mar 2024 16:44:31 +0100 Subject: [PATCH 04/27] fix(DB/Translation/FR) : Deputy Willem greetings gossip text (#18370) remove failing collation in previous commit Fix translation text --- .../rev_1708463355574751000.sql | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1708463355574751000.sql diff --git a/data/sql/updates/pending_db_world/rev_1708463355574751000.sql b/data/sql/updates/pending_db_world/rev_1708463355574751000.sql new file mode 100644 index 000000000..0cf0b975b --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1708463355574751000.sql @@ -0,0 +1,21 @@ + +-- npc_test_locale translation fix for deputy Willem +-- First quest encounter for Human characters in Nortshire (Elwynn Forest) +-- Creature entry : 823 +-- npc_text ID : 50016 +-- No broadcastTextID currently assigned (currently at 0) + +-- Setting useful variable for the SQL Script +SET @deputyWillemTextID = 50016; +SET @localeCode = 'frFR'; + +-- Delete existing locale before insert +-- Should be quite useless because this entry is still not translated as we can see on 2024-02-20 +DELETE FROM npc_text_locale WHERE `ID` = @deputyWillemTextID AND `Locale` = @localeCode ; + +-- Insert new values : +-- Translate in best effort because display in French client is weird +-- In fact Quests are translated but the gossip is still in english. +-- Better have a quite good translated string instead of an english one for player experience. +INSERT INTO npc_text_locale (`ID`, `Locale`, `Text0_0`) +VALUES (@deputyWillemTextID, @localeCode, 'Bien le bonjour, $c. Je devrais être à la recherche des gens de Hurlevent, mais bon nombre de gardes de Hurlevent combattent sur d\'autres terres. Me voilà donc nommé adjoint et proposant des primes alors que je devrais être de patrouille...'); From 6bf11c92a14acc49c425ce6499b81fd9ab58fda5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 4 Mar 2024 15:45:23 +0000 Subject: [PATCH 05/27] chore(DB): import pending files Referenced commit(s): a9422b10becaf714b86febe56baa2ac7d0742ef9 --- .../rev_1708463355574751000.sql => db_world/2024_03_04_00.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1708463355574751000.sql => db_world/2024_03_04_00.sql} (96%) diff --git a/data/sql/updates/pending_db_world/rev_1708463355574751000.sql b/data/sql/updates/db_world/2024_03_04_00.sql similarity index 96% rename from data/sql/updates/pending_db_world/rev_1708463355574751000.sql rename to data/sql/updates/db_world/2024_03_04_00.sql index 0cf0b975b..1ac574f40 100644 --- a/data/sql/updates/pending_db_world/rev_1708463355574751000.sql +++ b/data/sql/updates/db_world/2024_03_04_00.sql @@ -1,3 +1,4 @@ +-- DB update 2024_03_03_01 -> 2024_03_04_00 -- npc_test_locale translation fix for deputy Willem -- First quest encounter for Human characters in Nortshire (Elwynn Forest) From 5a32048ae2454908b5538311d401a62dcaf92a66 Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Mon, 4 Mar 2024 14:53:44 -0300 Subject: [PATCH 06/27] fix(DB/Spell): Correct Al'ar flame quill target positions (#18490) --- .../rev_1709573522401985500.sql | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1709573522401985500.sql diff --git a/data/sql/updates/pending_db_world/rev_1709573522401985500.sql b/data/sql/updates/pending_db_world/rev_1709573522401985500.sql new file mode 100644 index 000000000..0929e9734 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1709573522401985500.sql @@ -0,0 +1,27 @@ +-- +DELETE FROM `spell_target_position` WHERE `ID` IN (34269, 34270, 34271, 34272, 34273, 34274, 34275, 34276, 34277, 34278, 34279, 34280, 34281, 34282, 34283, 34284, 34285, 34286, 34287, 34288, 34289, 34314, 34315, 34316); +INSERT INTO `spell_target_position` (`ID`, `EffectIndex`, `MapID`, `PositionX`, `PositionY`, `PositionZ`, `Orientation`, `VerifiedBuild`) VALUES +(34269, 0, 550, 244.1, 49.9153, 20.1802, 0, 53441), +(34270, 0, 550, 260.572, 67.3991, 20.1802, 0, 53411), +(34271, 0, 550, 279.967, 83.4335, 20.1798, 0, 53411), +(34272, 0, 550, 306.56, 92.0271, 20.1798, 0, 53411), +(34273, 0, 550, 332.415, 86.6608, 20.3436, 0, 53411), +(34274, 0, 550, 358.834, 90.569, 20.032, 0, 53411), +(34275, 0, 550, 382.319, 83.0517, 20.1793, 0, 53411), +(34276, 0, 550, 403.761, 69.5173, 20.1793, 0, 53411), +(34277, 0, 550, 402.296, 44.3146, 20.18, 0, 53411), +(34278, 0, 550, 422.53, 26.9552, 20.18, 0, 53411), +(34279, 0, 550, 261.468, -73.6918, 20.1795, 0, 53411), +(34280, 0, 550, 249.358, -52.7987, 20.1795, 0, 53411), +(34281, 0, 550, 424.829, 1.01505, 20.18, 0, 53411), +(34282, 0, 550, 423.478, -23.9648, 20.18, 0, 53411), +(34283, 0, 550, 283.424, -85.9517, 20.1795, 0, 53411), +(34284, 0, 550, 404.622, -42.1397, 20.18, 0, 53411), +(34285, 0, 550, 309.55, -89.3632, 20.1795, 0, 53411), +(34286, 0, 550, 403.462, -67.8334, 20.18, 0, 53411), +(34287, 0, 550, 335.024, -83.21, 20.388, 0, 53411), +(34288, 0, 550, 384.251, -84.3709, 20.18, 0, 53411), +(34289, 0, 550, 359.997, -92.7042, 20.0127, 0, 53411), +(34314, 0, 550, 241.768, 24.8276, 20.3438, 0, 53411), +(34315, 0, 550, 239.111, -1.59108, 27.0491, 0, 53411), +(34316, 0, 550, 241.073, -27.0846, 20.1884, 0, 53411); From ce01ded6cf2cb61157685025664751534715a098 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 4 Mar 2024 17:54:35 +0000 Subject: [PATCH 07/27] chore(DB): import pending files Referenced commit(s): 5a32048ae2454908b5538311d401a62dcaf92a66 --- .../rev_1709573522401985500.sql => db_world/2024_03_04_01.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1709573522401985500.sql => db_world/2024_03_04_01.sql} (97%) diff --git a/data/sql/updates/pending_db_world/rev_1709573522401985500.sql b/data/sql/updates/db_world/2024_03_04_01.sql similarity index 97% rename from data/sql/updates/pending_db_world/rev_1709573522401985500.sql rename to data/sql/updates/db_world/2024_03_04_01.sql index 0929e9734..61698942a 100644 --- a/data/sql/updates/pending_db_world/rev_1709573522401985500.sql +++ b/data/sql/updates/db_world/2024_03_04_01.sql @@ -1,3 +1,4 @@ +-- DB update 2024_03_04_00 -> 2024_03_04_01 -- DELETE FROM `spell_target_position` WHERE `ID` IN (34269, 34270, 34271, 34272, 34273, 34274, 34275, 34276, 34277, 34278, 34279, 34280, 34281, 34282, 34283, 34284, 34285, 34286, 34287, 34288, 34289, 34314, 34315, 34316); INSERT INTO `spell_target_position` (`ID`, `EffectIndex`, `MapID`, `PositionX`, `PositionY`, `PositionZ`, `Orientation`, `VerifiedBuild`) VALUES From a239b8ed6436f250ecdcd77c2fd9c5523dad40d8 Mon Sep 17 00:00:00 2001 From: Dan <83884799+elthehablo@users.noreply.github.com> Date: Mon, 4 Mar 2024 18:57:18 +0100 Subject: [PATCH 08/27] fix(DB/TheEye): Nether Scryer and Phoenix Hawk spell behaviour (#18492) * initial * Update change_target.sql --- data/sql/updates/pending_db_world/change_target.sql | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 data/sql/updates/pending_db_world/change_target.sql diff --git a/data/sql/updates/pending_db_world/change_target.sql b/data/sql/updates/pending_db_world/change_target.sql new file mode 100644 index 000000000..cf5196d03 --- /dev/null +++ b/data/sql/updates/pending_db_world/change_target.sql @@ -0,0 +1,7 @@ +-- +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (20039, 20045) AND `source_type` = 0; +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `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 +(20039, 0, 0, 0, 0, 0, 100, 0, 9700, 12200, 18050, 30950, 0, 0, 11, 37156, 0, 0, 0, 0, 0, 28, 45, 1, 1, 0, 0, 0, 0, 0, 'Phoenix-Hawk - In Combat - Cast Dive'), +(20039, 0, 1, 0, 0, 0, 100, 0, 6450, 9150, 16950, 29050, 0, 0, 11, 37159, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Phoenix-Hawk - In Combat - Cast Mana Burn'), +(20045, 0, 0, 0, 0, 0, 100, 0, 11900, 11900, 19300, 19300, 0, 0, 11, 37135, 128, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Nether Scryer - In Combat - Cast \'Domination\''), +(20045, 0, 1, 0, 0, 0, 100, 0, 12400, 14900, 9800, 9800, 0, 0, 11, 37126, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Nether Scryer - In Combat - Cast \'Arcane Blast\''); From 01ee28c80bd260ce3d992dc422c34ac4f91e28bf Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 4 Mar 2024 17:58:13 +0000 Subject: [PATCH 09/27] chore(DB): import pending files Referenced commit(s): a239b8ed6436f250ecdcd77c2fd9c5523dad40d8 --- .../change_target.sql => db_world/2024_03_04_02.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/change_target.sql => db_world/2024_03_04_02.sql} (96%) diff --git a/data/sql/updates/pending_db_world/change_target.sql b/data/sql/updates/db_world/2024_03_04_02.sql similarity index 96% rename from data/sql/updates/pending_db_world/change_target.sql rename to data/sql/updates/db_world/2024_03_04_02.sql index cf5196d03..55fd87a3d 100644 --- a/data/sql/updates/pending_db_world/change_target.sql +++ b/data/sql/updates/db_world/2024_03_04_02.sql @@ -1,3 +1,4 @@ +-- DB update 2024_03_04_01 -> 2024_03_04_02 -- DELETE FROM `smart_scripts` WHERE `entryorguid` IN (20039, 20045) AND `source_type` = 0; INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `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 429cd226f381ddc063f2864905ffecdf079362a6 Mon Sep 17 00:00:00 2001 From: Dan <83884799+elthehablo@users.noreply.github.com> Date: Mon, 4 Mar 2024 20:54:29 +0100 Subject: [PATCH 10/27] fix(Scripts/TheEye): amend Al'ar divebomb timer in p2 (#18495) initial --- src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp index 12783ab21..f8e1e0f5d 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp @@ -232,11 +232,11 @@ struct boss_alar : public BossAI me->SummonCreature(NPC_FLAME_PATCH, *target, TEMPSUMMON_TIMED_DESPAWN, 2 * MINUTE * IN_MILLISECONDS); } }, 30s); - ScheduleTimedEvent(30s, [&] + ScheduleTimedEvent(50s, [&] { me->GetMotionMaster()->MovePoint(POINT_DIVE, alarPoints[POINT_DIVE], false, true); scheduler.DelayAll(15s); - }, 30s); + }, 50s); ScheduleUniqueTimedEvent(10min, [&] { DoCastSelf(SPELL_BERSERK); From 285c8cdc68353509e5fc6e1be57194f0bca08866 Mon Sep 17 00:00:00 2001 From: avarishd <46330494+avarishd@users.noreply.github.com> Date: Mon, 4 Mar 2024 21:55:17 +0200 Subject: [PATCH 11/27] =?UTF-8?q?fix(DB/Creature):=20High=20King=20Maulgar?= =?UTF-8?q?'s=20council=20saving=20you=20to=20the=20insta=E2=80=A6=20(#184?= =?UTF-8?q?94)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix(DB/Creature): High King Maulgar's council saving you to the instance. --- data/sql/updates/pending_db_world/rev_1709579468048511400.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1709579468048511400.sql diff --git a/data/sql/updates/pending_db_world/rev_1709579468048511400.sql b/data/sql/updates/pending_db_world/rev_1709579468048511400.sql new file mode 100644 index 000000000..5e36bf6b5 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1709579468048511400.sql @@ -0,0 +1,2 @@ +-- +UPDATE `creature_template` SET `flags_extra` = `flags_extra`&~(1) WHERE `entry` IN (18832,18834,18835,18836); From 60385349b952e9e33c04b49ff26b6f8b22b54aaa Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 4 Mar 2024 19:55:22 +0000 Subject: [PATCH 12/27] chore(DB): import pending files Referenced commit(s): 429cd226f381ddc063f2864905ffecdf079362a6 --- .../rev_1709579468048511400.sql => db_world/2024_03_04_03.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1709579468048511400.sql => db_world/2024_03_04_03.sql} (71%) diff --git a/data/sql/updates/pending_db_world/rev_1709579468048511400.sql b/data/sql/updates/db_world/2024_03_04_03.sql similarity index 71% rename from data/sql/updates/pending_db_world/rev_1709579468048511400.sql rename to data/sql/updates/db_world/2024_03_04_03.sql index 5e36bf6b5..aabe24d7a 100644 --- a/data/sql/updates/pending_db_world/rev_1709579468048511400.sql +++ b/data/sql/updates/db_world/2024_03_04_03.sql @@ -1,2 +1,3 @@ +-- DB update 2024_03_04_02 -> 2024_03_04_03 -- UPDATE `creature_template` SET `flags_extra` = `flags_extra`&~(1) WHERE `entry` IN (18832,18834,18835,18836); From 3c6a3a56e59fd6c8183dca18d78dc74540ba6055 Mon Sep 17 00:00:00 2001 From: sudlud Date: Mon, 4 Mar 2024 20:58:01 +0100 Subject: [PATCH 13/27] fix(DB/Gameobject): Add some missing 'Anvil, Forge, Alchemy Lab' spawns (#18432) --- .../updates/pending_db_world/rev_1709065962197103700.sql | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1709065962197103700.sql diff --git a/data/sql/updates/pending_db_world/rev_1709065962197103700.sql b/data/sql/updates/pending_db_world/rev_1709065962197103700.sql new file mode 100644 index 000000000..812495043 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1709065962197103700.sql @@ -0,0 +1,7 @@ +-- Add some missing gameobject 'Anvil, Forge, Alchemy Lab' based on sniffed values +DELETE FROM `gameobject` WHERE (`id` IN (194466, 194467, 194468)) +AND (`guid` IN (465, 466, 467)); +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 +(465, 194466, 530, 0, 0, 1, 1, -1737.48095703125, 5632.6103515625, 128.9701995849609375, 0, 0, 0, 0, 1, 120, 255, 1, "", 49345, NULL), +(466, 194467, 530, 0, 0, 1, 1, -1745.2545166015625, 5646.84228515625, 128.023193359375, 5.567600727081298828, 0, 0, -0.35020732879638671, 0.936672210693359375, 120, 255, 1, "", 49345, NULL), +(467, 194468, 530, 0, 0, 1, 1, -1747.6688232421875, 5648.66162109375, 128.023193359375, 4.049167633056640625, 0, 0, -0.89879322052001953, 0.438372820615768432, 120, 255, 1, "", 49345, NULL); From edd0dedd1fc58b1f2644bc0e202d733932bea364 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 4 Mar 2024 19:58:50 +0000 Subject: [PATCH 14/27] chore(DB): import pending files Referenced commit(s): 3c6a3a56e59fd6c8183dca18d78dc74540ba6055 --- .../rev_1709065962197103700.sql => db_world/2024_03_04_04.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1709065962197103700.sql => db_world/2024_03_04_04.sql} (95%) diff --git a/data/sql/updates/pending_db_world/rev_1709065962197103700.sql b/data/sql/updates/db_world/2024_03_04_04.sql similarity index 95% rename from data/sql/updates/pending_db_world/rev_1709065962197103700.sql rename to data/sql/updates/db_world/2024_03_04_04.sql index 812495043..b073a53d3 100644 --- a/data/sql/updates/pending_db_world/rev_1709065962197103700.sql +++ b/data/sql/updates/db_world/2024_03_04_04.sql @@ -1,3 +1,4 @@ +-- DB update 2024_03_04_03 -> 2024_03_04_04 -- Add some missing gameobject 'Anvil, Forge, Alchemy Lab' based on sniffed values DELETE FROM `gameobject` WHERE (`id` IN (194466, 194467, 194468)) AND (`guid` IN (465, 466, 467)); From 7d5c222314133bf15be8e0eef42b3aa1f14c3be6 Mon Sep 17 00:00:00 2001 From: sudlud Date: Mon, 4 Mar 2024 21:03:30 +0100 Subject: [PATCH 15/27] Fix(DB/SAI) update quest 6002 poi and text (#18465) * Fix(DB/SAI) update quest 6002 Co-authored-by: pedrohfm9 <122452427+Dr-Arayashiki@users.noreply.github.com> * update quest flag according to sniff - thanks bench! --------- Co-authored-by: pedrohfm9 <122452427+Dr-Arayashiki@users.noreply.github.com> --- .../rev_1709299008995982200.sql | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1709299008995982200.sql diff --git a/data/sql/updates/pending_db_world/rev_1709299008995982200.sql b/data/sql/updates/pending_db_world/rev_1709299008995982200.sql new file mode 100644 index 000000000..b343e05e4 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1709299008995982200.sql @@ -0,0 +1,23 @@ +-- Update Quest 6002 +-- Update SAI NPC Lunaclaw +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 12138) AND (`source_type` = 0) AND (`id` IN (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 +(12138, 0, 5, 0, 101, 0, 100, 0, 1, 10, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 21, 10, 0, 0, 0, 0, 0, 0, 0, 'Lunaclaw - On Respawn - Attack Start Player'); + +-- Update Quest Flag +UPDATE `quest_template` SET `Flags` = 2 WHERE (`ID` = 6002); + +-- Update Quest Request itens +DELETE FROM `quest_request_items` WHERE (`ID` = 6002); +INSERT INTO `quest_request_items` (`ID`, `EmoteOnComplete`, `EmoteOnIncomplete`, `CompletionText`, `VerifiedBuild`) VALUES +(6002, 1, 0, 'When you have faced the challenge that lies before you, your understanding of strength of body and strength of heart will be fully realized. Until that time, I cannot help you further.', 52237); + +-- Update POi +UPDATE `quest_poi` SET `WorldMapAreaId` = 1639 WHERE (`QuestID` = 6002) AND (`id` = 0); +UPDATE `quest_poi` SET `WorldMapAreaId` = 1156 WHERE (`QuestID` = 6002) AND (`id` = 1); + +-- Update Poi Points OK +DELETE FROM `quest_poi_points` WHERE `QuestID` = 6002; +INSERT INTO `quest_poi_points` (`QuestID`, `Idx1`, `Idx2`, `X`, `Y`, `VerifiedBuild`) VALUES +(6002, 0, 0, -1039, -282, 52237), +(6002, 1, 0, -2446, -1646, 52237); From 3acb1ad784dc34f8b1df08f44c3928b55d684c07 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 4 Mar 2024 20:04:18 +0000 Subject: [PATCH 16/27] chore(DB): import pending files Referenced commit(s): 7d5c222314133bf15be8e0eef42b3aa1f14c3be6 --- .../rev_1709299008995982200.sql => db_world/2024_03_04_05.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1709299008995982200.sql => db_world/2024_03_04_05.sql} (97%) diff --git a/data/sql/updates/pending_db_world/rev_1709299008995982200.sql b/data/sql/updates/db_world/2024_03_04_05.sql similarity index 97% rename from data/sql/updates/pending_db_world/rev_1709299008995982200.sql rename to data/sql/updates/db_world/2024_03_04_05.sql index b343e05e4..1dea3b4be 100644 --- a/data/sql/updates/pending_db_world/rev_1709299008995982200.sql +++ b/data/sql/updates/db_world/2024_03_04_05.sql @@ -1,3 +1,4 @@ +-- DB update 2024_03_04_04 -> 2024_03_04_05 -- Update Quest 6002 -- Update SAI NPC Lunaclaw DELETE FROM `smart_scripts` WHERE (`entryorguid` = 12138) AND (`source_type` = 0) AND (`id` IN (5)); From 663566af4b15772fb71b05d71ca8de5a399a7c60 Mon Sep 17 00:00:00 2001 From: Dan <83884799+elthehablo@users.noreply.github.com> Date: Mon, 4 Mar 2024 22:04:48 +0100 Subject: [PATCH 17/27] fix(Scripts/TheEye): make sure Solarian does not cast arcane missiles on target with Wrath of the Astromancer active (#18496) * initial * add target reset * fix targetting * revert --- src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp index 3f513f901..a9b2eb987 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp @@ -116,7 +116,7 @@ struct boss_high_astromancer_solarian : public BossAI scheduler.Schedule(3650ms, [this](TaskContext context) { me->GetMotionMaster()->Clear(); - if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 40.0f, true)) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 40.0f, true, true, -SPELL_WRATH_OF_THE_ASTROMANCER)) { DoCast(target, SPELL_ARCANE_MISSILES); } From 0dc9e54bfcb5e4e272ea85eb2402c128ae7a606a Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Wed, 6 Mar 2024 07:23:58 -0300 Subject: [PATCH 18/27] fix(DB/Creature): Kael Phoenix should not be immune to slows (#18502) --- data/sql/updates/pending_db_world/rev_1709718488788677100.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1709718488788677100.sql diff --git a/data/sql/updates/pending_db_world/rev_1709718488788677100.sql b/data/sql/updates/pending_db_world/rev_1709718488788677100.sql new file mode 100644 index 000000000..0217c1e2e --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1709718488788677100.sql @@ -0,0 +1,2 @@ +-- +UPDATE `creature_template` SET `mechanic_immune_mask` = `mechanic_immune_mask` &~ 1024 WHERE `entry` = 21362; From 34993a8f9f5ff153135684ca81196ee76f58a73a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 6 Mar 2024 10:24:53 +0000 Subject: [PATCH 19/27] chore(DB): import pending files Referenced commit(s): 0dc9e54bfcb5e4e272ea85eb2402c128ae7a606a --- .../rev_1709718488788677100.sql => db_world/2024_03_06_00.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1709718488788677100.sql => db_world/2024_03_06_00.sql} (71%) diff --git a/data/sql/updates/pending_db_world/rev_1709718488788677100.sql b/data/sql/updates/db_world/2024_03_06_00.sql similarity index 71% rename from data/sql/updates/pending_db_world/rev_1709718488788677100.sql rename to data/sql/updates/db_world/2024_03_06_00.sql index 0217c1e2e..964c15c79 100644 --- a/data/sql/updates/pending_db_world/rev_1709718488788677100.sql +++ b/data/sql/updates/db_world/2024_03_06_00.sql @@ -1,2 +1,3 @@ +-- DB update 2024_03_04_05 -> 2024_03_06_00 -- UPDATE `creature_template` SET `mechanic_immune_mask` = `mechanic_immune_mask` &~ 1024 WHERE `entry` = 21362; From 9e7c443f3c43373d4622b3124f99edd578fbba23 Mon Sep 17 00:00:00 2001 From: Dan <83884799+elthehablo@users.noreply.github.com> Date: Wed, 6 Mar 2024 20:51:51 +0100 Subject: [PATCH 20/27] fix(Scripts/TheEye): Al'ar phoenix spawn positions in p2 (#18504) * wip * wip * finalise --- .../Outland/TempestKeep/Eye/boss_alar.cpp | 49 +++++++++++++++++-- 1 file changed, 45 insertions(+), 4 deletions(-) diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp index f8e1e0f5d..dca10b3f2 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp @@ -15,6 +15,7 @@ * with this program. If not, see . */ +#include #include "CreatureScript.h" #include "MoveSplineInit.h" #include "ScriptedCreature.h" @@ -85,6 +86,8 @@ enum qruseoftheAshtongue QUEST_RUSE_OF_THE_ASHTONGUE = 10946, }; +const float INNER_CIRCLE_RADIUS = 60.0f; + struct boss_alar : public BossAI { @@ -136,7 +139,7 @@ struct boss_alar : public BossAI if (_noQuillTimes++ > 0) { me->SetOrientation(alarPoints[_platform].GetOrientation()); - SpawnPhoenixes(1, me); + SpawnPhoenixes(1, me, false); } me->GetMotionMaster()->MovePoint(POINT_PLATFORM, alarPoints[_platform], false, true); _platform = (_platform+1)%4; @@ -244,13 +247,21 @@ struct boss_alar : public BossAI ScheduleMainSpellAttack(0s); } - void SpawnPhoenixes(uint8 count, Unit* targetToSpawnAt) + void SpawnPhoenixes(uint8 count, Unit* targetToSpawnAt, bool onPosition) { if (targetToSpawnAt) { for (uint8 i = 0; i < count; ++i) { - me->SummonCreature(NPC_EMBER_OF_ALAR, *targetToSpawnAt, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 6000); + if (onPosition) + { + Position spawnPosition = DeterminePhoenixPosition(targetToSpawnAt->GetPosition()); + me->SummonCreature(NPC_EMBER_OF_ALAR, spawnPosition, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 6000); + } + else + { + me->SummonCreature(NPC_EMBER_OF_ALAR, *targetToSpawnAt, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 6000); + } } } } @@ -262,7 +273,7 @@ struct boss_alar : public BossAI { if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 10.0f, true)) { - SpawnPhoenixes(2, target); + SpawnPhoenixes(2, target, true); } }).Schedule(6s, [this](TaskContext) { @@ -366,6 +377,36 @@ struct boss_alar : public BossAI } } + Position DeterminePhoenixPosition(Position playerPosition) + { + // set finalPosition to playerPosition in case the fraction fails + Position finalPosition = playerPosition; + float playerXPosition = playerPosition.GetPositionX(); + float playerYPosition = playerPosition.GetPositionY(); + float centreXPosition = alarPoints[POINT_MIDDLE].GetPositionX(); + float centreYPosition = alarPoints[POINT_MIDDLE].GetPositionY(); + float deltaX = std::abs(playerXPosition-centreXPosition); + float deltaY = std::abs(playerYPosition-centreYPosition); + int8 signMultiplier[2] = {1, 1}; + // if fraction has x position 0.0f we get nan as a result + if (float playerFraction = deltaX/deltaY) + { + // player angle based on delta X and delta Y + float playerAngle = std::atan(playerFraction); + float phoenixDeltaYPosition = std::cos(playerAngle)*INNER_CIRCLE_RADIUS; + float phoenixDeltaXPosition = std::sin(playerAngle)*INNER_CIRCLE_RADIUS; + // as calculations are absolute values we have to multiply in the end + // should be negative if player position was further down than centre + if (playerXPosition < centreXPosition) + signMultiplier[0] = -1; + if (playerYPosition < centreYPosition) + signMultiplier[1] = -1; + // phoenix position based on set distance + finalPosition = {centreXPosition+signMultiplier[0]*phoenixDeltaXPosition, centreYPosition+signMultiplier[1]*phoenixDeltaYPosition, 0.0f, 0.0f}; + } + return finalPosition; + } + private: bool _canAttackCooldown; bool _baseAttackOverride; From 903820077ca4ad34d58283e37810e757b19a25af Mon Sep 17 00:00:00 2001 From: Dan <83884799+elthehablo@users.noreply.github.com> Date: Fri, 8 Mar 2024 07:55:42 +0100 Subject: [PATCH 21/27] fix(Scripts/TheEye): make Solarian not overlap casts and not cast arcane missiles into p2 transition (#18480) * initial * add voiceline * move position of yells * change voicings --- .../pending_db_world/change_voicelines.sql | 12 ++++++++++ .../TempestKeep/Eye/boss_astromancer.cpp | 23 +++++++++++-------- 2 files changed, 26 insertions(+), 9 deletions(-) create mode 100644 data/sql/updates/pending_db_world/change_voicelines.sql diff --git a/data/sql/updates/pending_db_world/change_voicelines.sql b/data/sql/updates/pending_db_world/change_voicelines.sql new file mode 100644 index 000000000..f1a19d3ee --- /dev/null +++ b/data/sql/updates/pending_db_world/change_voicelines.sql @@ -0,0 +1,12 @@ +-- +DELETE FROM `creature_text` WHERE `CreatureID` = 18805; +INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES +(18805, 0, 0, 'Tal anu\'men no sin\'dorei!', 14, 0, 100, 0, 0, 11134, 20849, 0, 'solarian SAY_AGGRO'), +(18805, 1, 0, 'You are hopelessly outmatched!', 14, 0, 100, 0, 0, 11139, 20854, 0, 'solarian SAY_SUMMON1'), +(18805, 1, 1, 'I will crush your delusions of grandeur!', 14, 0, 100, 0, 0, 11140, 20855, 0, 'solarian SAY_SUMMON2'), +(18805, 2, 0, 'Your soul belongs to the abyss!', 14, 0, 100, 0, 0, 11136, 20851, 0, 'solarian SAY_KILL1'), +(18805, 2, 1, 'By the blood of the Highborne!', 14, 0, 100, 0, 0, 11137, 20852, 0, 'solarian SAY_KILL2'), +(18805, 2, 2, 'For the Sunwell!', 14, 0, 100, 0, 0, 11138, 20853, 0, 'solarian SAY_KILL3'), +(18805, 3, 0, 'The warmth of the sun... awaits.', 14, 0, 100, 0, 0, 11135, 20850, 0, 'solarian SAY_DEATH'), +(18805, 4, 0, 'Enough of this! Now I call upon the fury of the cosmos itself.', 14, 0, 100, 0, 0, 0, 20372, 0, 'solarian SAY_VOID1'), +(18805, 4, 1, 'I become ONE... with the VOID!', 14, 0, 100, 0, 0, 0, 20373, 0, 'solarian SAY_VOID2'); diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp index a9b2eb987..3bb4678ef 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp @@ -23,12 +23,10 @@ enum Yells { SAY_AGGRO = 0, - SAY_SUMMON1 = 1, - SAY_SUMMON2 = 2, - SAY_KILL = 3, - SAY_DEATH = 4, - SAY_VOIDA = 5, - SAY_VOIDB = 6 + SAY_SUMMON = 1, + SAY_KILL = 2, + SAY_DEATH = 3, + SAY_VOID = 4 }; enum Spells @@ -59,7 +57,13 @@ enum Misc struct boss_high_astromancer_solarian : public BossAI { - boss_high_astromancer_solarian(Creature* creature) : BossAI(creature, DATA_ASTROMANCER) { } + boss_high_astromancer_solarian(Creature* creature) : BossAI(creature, DATA_ASTROMANCER) + { + scheduler.SetValidator([this] + { + return !me->HasUnitState(UNIT_STATE_CASTING); + }); + } void Reset() override { @@ -68,6 +72,8 @@ struct boss_high_astromancer_solarian : public BossAI me->SetReactState(REACT_AGGRESSIVE); ScheduleHealthCheckEvent(20, [&]{ + Talk(SAY_VOID); + me->InterruptNonMeleeSpells(false); scheduler.CancelAll(); me->ResumeChasingVictim(); scheduler.Schedule(3s, [this](TaskContext context) @@ -138,11 +144,11 @@ struct boss_high_astromancer_solarian : public BossAI }).Schedule(52100ms, [this](TaskContext context) { me->SetReactState(REACT_PASSIVE); + Talk(SAY_SUMMON); me->SetModelVisible(false); scheduler.DelayAll(21s); scheduler.Schedule(6s, [this](TaskContext) { - Talk(SAY_SUMMON1); summons.DoForAllSummons([&](WorldObject* summon) { if (Creature* light = summon->ToCreature()) @@ -164,7 +170,6 @@ struct boss_high_astromancer_solarian : public BossAI }).Schedule(20s, [this](TaskContext) { me->SetReactState(REACT_AGGRESSIVE); - Talk(SAY_SUMMON2); summons.DoForAllSummons([&](WorldObject* summon) { if (Creature* light = summon->ToCreature()) From 90b129416535b36db2082e2abca8a1202b1cb732 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 8 Mar 2024 06:56:32 +0000 Subject: [PATCH 22/27] chore(DB): import pending files Referenced commit(s): 903820077ca4ad34d58283e37810e757b19a25af --- .../change_voicelines.sql => db_world/2024_03_08_00.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/change_voicelines.sql => db_world/2024_03_08_00.sql} (96%) diff --git a/data/sql/updates/pending_db_world/change_voicelines.sql b/data/sql/updates/db_world/2024_03_08_00.sql similarity index 96% rename from data/sql/updates/pending_db_world/change_voicelines.sql rename to data/sql/updates/db_world/2024_03_08_00.sql index f1a19d3ee..4438974ba 100644 --- a/data/sql/updates/pending_db_world/change_voicelines.sql +++ b/data/sql/updates/db_world/2024_03_08_00.sql @@ -1,3 +1,4 @@ +-- DB update 2024_03_06_00 -> 2024_03_08_00 -- DELETE FROM `creature_text` WHERE `CreatureID` = 18805; INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES From df0c3d0a5cd7140feffaccfc970c4880cbf762be Mon Sep 17 00:00:00 2001 From: Benjamin Jackson <38561765+heyitsbench@users.noreply.github.com> Date: Fri, 8 Mar 2024 02:01:38 -0500 Subject: [PATCH 23/27] fix(DB/SAI): Remove Shadowlord Deathwail's immunity. (#18508) Init. --- .../updates/pending_db_world/deathwail.sql | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 data/sql/updates/pending_db_world/deathwail.sql diff --git a/data/sql/updates/pending_db_world/deathwail.sql b/data/sql/updates/pending_db_world/deathwail.sql new file mode 100644 index 000000000..b8b6401b3 --- /dev/null +++ b/data/sql/updates/pending_db_world/deathwail.sql @@ -0,0 +1,26 @@ +DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 22006); + +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 +(22006, 0, 0, 0, 11, 0, 100, 512, 0, 0, 0, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowlord Deathwail - On Respawn - Call Script Reset'), +(22006, 0, 1, 2, 25, 0, 100, 512, 0, 0, 0, 0, 0, 0, 53, 1, 220060, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowlord Deathwail - On Reset - Start Waypoint Movement'), +(22006, 0, 2, 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, 'Shadowlord Deathwail - Linked - Set React State Passive'), +(22006, 0, 3, 0, 6, 4, 100, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowlord Deathwail - On Just Died - Say Line 0 (Phase 3)'), +(22006, 0, 4, 0, 0, 4, 100, 0, 0, 0, 3000, 5000, 0, 0, 11, 12471, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowlord Deathwail - In Combat - Cast \'Shadow Bolt\' (Phase 3)'), +(22006, 0, 5, 0, 0, 4, 100, 0, 5000, 7000, 15000, 17000, 0, 0, 11, 15245, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowlord Deathwail - In Combat - Cast \'Shadow Bolt Volley\' (Phase 3)'), +(22006, 0, 6, 0, 0, 4, 100, 0, 9000, 12000, 18000, 24000, 0, 0, 11, 32709, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowlord Deathwail - In Combat - Cast \'Death Coil\' (Phase 3)'), +(22006, 0, 7, 0, 0, 4, 100, 0, 14000, 17000, 22000, 28000, 0, 0, 11, 27641, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowlord Deathwail - In Combat - Cast \'Fear\' (Phase 3)'), +(22006, 0, 8, 0, 17, 0, 100, 512, 0, 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowlord Deathwail - On Summoned Unit - Store Targetlist'), +(22006, 0, 9, 10, 38, 0, 100, 513, 1, 1, 0, 0, 0, 0, 22, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowlord Deathwail - On Data Set 1 1 - Set Event Phase 1 (No Repeat)'), +(22006, 0, 10, 0, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 80, 2200600, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowlord Deathwail - Linked - Run Script'), +(22006, 0, 11, 0, 1, 1, 100, 0, 5000, 5000, 5000, 5000, 0, 0, 11, 38312, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowlord Deathwail - Out of Combat - Cast \'Fel Fireball\' (Phase 1)'), +(22006, 0, 12, 0, 0, 1, 100, 0, 5000, 5000, 5000, 5000, 0, 0, 11, 38312, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowlord Deathwail - In Combat - Cast \'Fel Fireball\' (Phase 1)'), +(22006, 0, 13, 14, 38, 0, 100, 513, 2, 2, 0, 0, 0, 0, 22, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowlord Deathwail - On Data Set 2 2 - Set Event Phase 2'), +(22006, 0, 14, 15, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowlord Deathwail - Linked - Say Line 1'), +(22006, 0, 15, 0, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 67, 1, 6000, 6000, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowlord Deathwail - Linked - Create Timed Event ID 1'), +(22006, 0, 16, 0, 59, 0, 100, 0, 1, 0, 0, 0, 0, 0, 69, 25, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, -3245.43, 288.623, 137.093, 1.72491, 'Shadowlord Deathwail - On Timed Event ID 1 - Move to Point 25'), +(22006, 0, 17, 18, 34, 0, 100, 512, 0, 25, 0, 0, 0, 0, 54, 600000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowlord Deathwail - On Point 25 Reached - Pause Waypoint Movement'), +(22006, 0, 18, 19, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowlord Deathwail - Linked - Say Line 2'), +(22006, 0, 19, 20, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 8, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowlord Deathwail - Linked - Set React State Aggressive'), +(22006, 0, 20, 21, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 19, 22058, 0, 0, 0, 0, 0, 0, 0, 'Shadowlord Deathwail - Linked - Despawn Creature \'Heart of Fury Visual Trigger\''), +(22006, 0, 21, 0, 61, 0, 100, 512, 0, 0, 0, 0, 0, 0, 41, 0, 300, 0, 0, 0, 0, 14, 25982, 185125, 0, 0, 0, 0, 0, 0, 'Shadowlord Deathwail - Linked - Despawn Gameobject \'Heart of Fury\''), +(22006, 0, 22, 0, 52, 0, 100, 513, 2, 0, 0, 0, 0, 0, 22, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Shadowlord Deathwail - On Text Over - Set Event Phase 3 (No Repeat)'); From 98d0626a814cc9acc73ecfe4503bc7f51eab50e5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 8 Mar 2024 07:02:32 +0000 Subject: [PATCH 24/27] chore(DB): import pending files Referenced commit(s): df0c3d0a5cd7140feffaccfc970c4880cbf762be --- .../deathwail.sql => db_world/2024_03_08_01.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/deathwail.sql => db_world/2024_03_08_01.sql} (99%) diff --git a/data/sql/updates/pending_db_world/deathwail.sql b/data/sql/updates/db_world/2024_03_08_01.sql similarity index 99% rename from data/sql/updates/pending_db_world/deathwail.sql rename to data/sql/updates/db_world/2024_03_08_01.sql index b8b6401b3..e901a24ae 100644 --- a/data/sql/updates/pending_db_world/deathwail.sql +++ b/data/sql/updates/db_world/2024_03_08_01.sql @@ -1,3 +1,4 @@ +-- DB update 2024_03_08_00 -> 2024_03_08_01 DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 22006); 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 da453b2a8d85ad77e8cc0f0ff6bafb3b3fc47d01 Mon Sep 17 00:00:00 2001 From: skelUA Date: Fri, 8 Mar 2024 16:15:45 +0200 Subject: [PATCH 25/27] fix(Core/SmartScripts): LOS check spell for SmartScipts (#18501) * Fix spell 35329 (Vibrant Blood) * [PATCH] Flight of the Wintergarde Defender fix (https://forums.wow.sumy.ua/viewtopic.php?p=35#p35) * Revert "[PATCH] Flight of the Wintergarde Defender fix (https://forums.wow.sumy.ua/viewtopic.php?p=35#p35)" This reverts commit 2eaeb78bdee5b09f1ea5685a9b039f9221df4abe. * Revert "Fix spell 35329 (Vibrant Blood)" This reverts commit 0e7ee59588709050e2af9cc15e8ff1ed358936b2. * Revert "Revert "Fix spell 35329 (Vibrant Blood)"" This reverts commit 5e4424b4d81ec3c1de1d6f73e48d848e63e92b79. * Revert "Revert "[PATCH] Flight of the Wintergarde Defender fix (https://forums.wow.sumy.ua/viewtopic.php?p=35#p35)"" This reverts commit b3a9553a45e81f65b2eb15f127c5ca9eb99b6d1e. * Revert "Revert "Revert "[PATCH] Flight of the Wintergarde Defender fix (https://forums.wow.sumy.ua/viewtopic.php?p=35#p35)""" This reverts commit 0ced477c767b9087eefdf516d0e0fccf1567e6e3. * Revert "Revert "Revert "Fix spell 35329 (Vibrant Blood)""" This reverts commit a8da732cfb4369f218e96175fc8f33eafc1e69c9. * Revert "Revert "Fix spell 35329 (Vibrant Blood)"" This reverts commit 5e4424b4d81ec3c1de1d6f73e48d848e63e92b79. * Revert "Revert "[PATCH] Flight of the Wintergarde Defender fix (https://forums.wow.sumy.ua/viewtopic.php?p=35#p35)"" This reverts commit b3a9553a45e81f65b2eb15f127c5ca9eb99b6d1e. * Revert "[PATCH] Flight of the Wintergarde Defender fix (https://forums.wow.sumy.ua/viewtopic.php?p=35#p35)" This reverts commit 2eaeb78bdee5b09f1ea5685a9b039f9221df4abe. * Revert "Fix spell 35329 (Vibrant Blood)" This reverts commit 0e7ee59588709050e2af9cc15e8ff1ed358936b2. * FIX LOS SAI --- src/server/game/AI/SmartScripts/SmartScript.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp index 2db904ab6..89142c7a0 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.cpp +++ b/src/server/game/AI/SmartScripts/SmartScript.cpp @@ -634,6 +634,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u bool isTargetRooted = target->ToUnit()->HasUnitState(UNIT_STATE_ROOT); // To prevent running back and forth when OOM, we must have more than 10% mana. bool canCastSpell = me->GetPowerPct(POWER_MANA) > 10.0f && spellInfo->CalcPowerCost(me, spellInfo->GetSchoolMask()) < (int32)me->GetPower(POWER_MANA) && !me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_SILENCED); + bool isSpellIgnoreLOS = spellInfo->HasAttribute(SPELL_ATTR2_IGNORE_LINE_OF_SIGHT); // If target is rooted we move out of melee range before casting, but not further than spell max range. if (isWithinLOSInMap && isWithinMeleeRange && isRangedAttack && isTargetRooted && canCastSpell) @@ -651,7 +652,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u CAST_AI(SmartAI, me->AI())->SetCombatMove(true, std::max(spellMaxRange - NOMINAL_MELEE_RANGE, 0.0f)); continue; } - else if (distanceToTarget < spellMinRange || !isWithinLOSInMap) + else if (distanceToTarget < spellMinRange || !(isWithinLOSInMap || isSpellIgnoreLOS)) { failedSpellCast = true; CAST_AI(SmartAI, me->AI())->SetCombatMove(true); From 00d83aa756670b56efd0af74f3400402fda0f30f Mon Sep 17 00:00:00 2001 From: sudlud Date: Fri, 8 Mar 2024 23:12:06 +0100 Subject: [PATCH 26/27] fix(DB/Gameobject): Sniffed Values for 'Chair' spawns (part 2) (#18509) --- .../rev_1709894986927561900.sql | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1709894986927561900.sql diff --git a/data/sql/updates/pending_db_world/rev_1709894986927561900.sql b/data/sql/updates/pending_db_world/rev_1709894986927561900.sql new file mode 100644 index 000000000..a04804739 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1709894986927561900.sql @@ -0,0 +1,23 @@ +-- Update gameobject 'Chair' with sniffed values +-- updated spawns +DELETE FROM `gameobject` WHERE (`id` IN (194360, 194361, 194362, 194363, 194364)) +AND (`guid` IN (17806, 17807, 17808, 17809, 17810)); +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 +(17806, 194360, 603, 0, 0, 3, 1, 1954.6956787109375, 91.87249755859375, 239.6241607666015625, 5.989951133728027343, 0, 0, -0.14609241485595703, 0.989270925521850585, 7200, 255, 1, "", 47966, NULL), +(17807, 194361, 603, 0, 0, 3, 1, 1961.8349609375, 65.23160552978515625, 239.6471405029296875, 3.686115264892578125, 0, 0, -0.963165283203125, 0.268910109996795654, 7200, 255, 1, "", 47720, NULL), +(17808, 194362, 603, 0, 0, 3, 1, 1886.633544921875, 72.21144866943359375, 239.6241607666015625, 1.713893532752990722, 0, 0, 0.755846977233886718, 0.654748260974884033, 7200, 255, 1, "", 47966, NULL), +(17809, 194363, 603, 0, 0, 3, 1, 1944.32568359375, 106.1580963134765625, 239.6471405029296875, 3.686115264892578125, 0, 0, -0.963165283203125, 0.268910109996795654, 7200, 255, 1, "", 47966, NULL), +(17810, 194364, 603, 0, 0, 3, 1, 1899.227783203125, 45.58289337158203125, 239.6471405029296875, 1.417184114456176757, 0, 0, 0.650765419006347656, 0.759278833866119384, 7200, 255, 1, "", 47966, NULL); + +-- new spawns +DELETE FROM `gameobject` WHERE (`id` IN (160415, 183751, 183752, 183753, 183754, 183755)) +AND (`guid` IN (10857, 10858, 10859, 10860, 10861, 10862)); +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 +-- this spawn is out of bounds, makes no sense adding it, even if it shows in sniffs +-- (, 158579, 230, 0, 0, 3, 1, 1071.4451904296875, -542.276123046875, -81.8671722412109375, 1.570795774459838867, 0, 0, 0.707106590270996093, 0.707106947898864746, 7200, 255, 1, "", 46779, NULL), +(10857, 160415, 628, 0, 0, 3, 1, 1117.19189453125, -365.67437744140625, 18.84563636779785156, 0.968655109405517578, 0, 0, 0.465613365173339843, 0.884988248348236083, 7200, 255, 1, "", 50375, NULL), +(10858, 183751, 532, 0, 0, 1, 1, -11165.12890625, -1574.0458984375, 278.268157958984375, 1.659516334533691406, 0, 0, 0.737768173217773437, 0.675054192543029785, 7200, 255, 1, "", 50375, NULL), +(10859, 183752, 532, 0, 0, 1, 1, -11170.0029296875, -1576.1551513671875, 278.233856201171875, 3.196491718292236328, 0, 0, -0.99962329864501953, 0.027446011081337928, 7200, 255, 1, "", 50375, NULL), +(10860, 183753, 532, 0, 0, 1, 1, -11182.484375, -1585.8856201171875, 278.252532958984375, 5.610287666320800781, 0, 0, -0.33013725280761718, 0.943932950496673583, 7200, 255, 1, "", 50375, NULL), +(10861, 183754, 532, 0, 0, 1, 1, -11200.525390625, -1600.3330078125, 278.233856201171875, 4.619372367858886718, 0, 0, -0.73921680450439453, 0.673467516899108886, 7200, 255, 1, "", 50375, NULL), +(10862, 183755, 532, 0, 0, 1, 1, -11179.3544921875, -1583.925537109375, 278.233856201171875, 4.619372367858886718, 0, 0, -0.73921680450439453, 0.673467516899108886, 7200, 255, 1, "", 50375, NULL); From 451a0a04d2fb9e820043000db0d85fcb8cac9fd6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 8 Mar 2024 22:12:55 +0000 Subject: [PATCH 27/27] chore(DB): import pending files Referenced commit(s): 00d83aa756670b56efd0af74f3400402fda0f30f --- .../rev_1709894986927561900.sql => db_world/2024_03_08_02.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1709894986927561900.sql => db_world/2024_03_08_02.sql} (98%) diff --git a/data/sql/updates/pending_db_world/rev_1709894986927561900.sql b/data/sql/updates/db_world/2024_03_08_02.sql similarity index 98% rename from data/sql/updates/pending_db_world/rev_1709894986927561900.sql rename to data/sql/updates/db_world/2024_03_08_02.sql index a04804739..23844578f 100644 --- a/data/sql/updates/pending_db_world/rev_1709894986927561900.sql +++ b/data/sql/updates/db_world/2024_03_08_02.sql @@ -1,3 +1,4 @@ +-- DB update 2024_03_08_01 -> 2024_03_08_02 -- Update gameobject 'Chair' with sniffed values -- updated spawns DELETE FROM `gameobject` WHERE (`id` IN (194360, 194361, 194362, 194363, 194364))