From 681e8439fff17025148ddb0febc494fa131ea7d6 Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Tue, 1 Jul 2025 04:17:00 -0300 Subject: [PATCH] =?UTF-8?q?fix(Scripts/ScarletEnclave):=20Correct=20Tirion?= =?UTF-8?q?=20spawn=20position=20in=20Light=20o=E2=80=A6=20(#22394)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/sql/updates/pending_db_world/tirion.sql | 19 ++++++++++++++++++ .../ScarletEnclave/chapter5.cpp | 20 ++++++++++++++----- 2 files changed, 34 insertions(+), 5 deletions(-) create mode 100644 data/sql/updates/pending_db_world/tirion.sql diff --git a/data/sql/updates/pending_db_world/tirion.sql b/data/sql/updates/pending_db_world/tirion.sql new file mode 100644 index 000000000..a1df78031 --- /dev/null +++ b/data/sql/updates/pending_db_world/tirion.sql @@ -0,0 +1,19 @@ +-- DB update 2025_06_29_02 -> 2025_06_29_03 +-- +SET @NPC := 29175; +SET @PATH := @NPC * 10; +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,2199.3313,-5271.9775,88.125336,0,0,1,0,100,0), +(@PATH,2,2235.2202,-5278.9307,79.06934,0,0,1,0,100,0), +(@PATH,3,2253.4414,-5284.3496,82.44837,0,0,1,0,100,0), +(@PATH,4,2281.2556,-5299.5728,84.998795,1.692969322204589843,0,1,0,100,0); + +UPDATE `creature_template` SET `AIName` = 'SmartAI', `ScriptName` = '' WHERE `entry` = 29175; + +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 29175) AND (`source_type` = 0) AND (`id` IN (0, 1)); +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 +(29175, 0, 0, 1, 109, 0, 100, 0, 0, 0, 0, 0, 0, 0, 206, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Highlord Tirion Fordring - On Path 0 Finished - Dismount'), +(29175, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 1.692969322, 'Highlord Tirion Fordring - On Path 0 Finished - Set Orientation 1.692969322'); + +UPDATE `creature_text` SET `Type` = 41 WHERE `CreatureId` = 29173 AND `GroupId` = 72 AND `ID` = 0; diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp index 30ffb72b4..1e68ae383 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp @@ -280,14 +280,14 @@ const Position LightOfDawnPos[] = {2289.259f, -5280.355f, 86.112f, 4.41f}, // 3 Koltira Loc1 {2273.289f, -5273.675f, 86.701f, 5.01f}, // 4 Thassarian Loc1 {2280.81f, -5284.09f, 86.608f, 4.76f}, // 5 Morgraine Loc1 - {2281.335f, -5300.409f, 85.170f, 1.528f}, // 6 Tirion Summon loc + {2165.711f, -5266.1235f, 95.5025f, 0.13962634f }, // 6 Tirion Summon loc {2281.198f, -5257.397f, 80.224f, 4.66f}, // 7 Alexandros loc1 {2281.156f, -5259.934f, 80.647f, 0}, // 8 Alexandros loc2 {2281.294f, -5281.895f, 82.445f, 1.35f}, // 9 Darion loc1 {2281.093f, -5263.013f, 81.125f, 0}, // 10 Darion loc2 {2283.896f, -5287.914f, 83.066f, 1.55f}, // 11 Tirion Fordring loc2 - {2281.313f, -5250.282f, 79.322f, 4.69f}, // 12 Lich King spawns - {2281.523f, -5261.058f, 80.877f, 0}, // 13 Lich king moves forward + {2280.304f, -5257.205f, 80.09781f, 4.6251f },// 12 Lich King spawns + {2280.687f, -5262.276f, 81.082634f, 0.0f },// 13 Lich king moves forward {2264.27f, -5267.29f, 80.16f, 0}, // 14 Tirion Fordring loc3 {2270.99f, -5278.00f, 81.89f, 0} // 15 Tirion Fordring loc4 }; @@ -501,7 +501,12 @@ public: if (Creature* tirion = me->SummonCreature(NPC_HIGHLORD_TIRION_FORDRING, LightOfDawnPos[6], TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 600000)) { tirion->LoadEquipment(0, true); - tirion->AI()->Talk(SAY_LIGHT_OF_DAWN25); + tirion->AI()->Talk(SAY_LIGHT_OF_DAWN25, 4s); + + tirion->m_Events.AddEventAtOffset([&, tirion] { + tirion->GetMotionMaster()->MovePath(NPC_HIGHLORD_TIRION_FORDRING * 10, false); + }, 14s); + events.Reset(); events.ScheduleEvent(EVENT_FINISH_FIGHT_1, 10s); events.ScheduleEvent(EVENT_FINISH_FIGHT_2, 20s); @@ -898,7 +903,12 @@ public: if (Creature* lk = GetEntryFromSummons(NPC_THE_LICH_KING)) { lk->AI()->Talk(SAY_LIGHT_OF_DAWN46); - lk->CastSpell(me, SPELL_REBUKE, false); + // Mograine's charge puts him inside the Lich King's collision, so we need to teleport him out + // Otherwise, Rebuke will kick him the wrong direction + me->NearTeleportTo(2279.7493f, -5258.1f, 80.065f, 4.3419204f); + lk->m_Events.AddEventAtOffset([&, lk] { + lk->CastSpell(me, SPELL_REBUKE, false); + }, 1s); } break; case EVENT_OUTRO_SCENE_28: