From 1c036f69d1dd267ee843efc26019dbab5b9cc9a0 Mon Sep 17 00:00:00 2001 From: Rocco Silipo <108557877+Rorschach91@users.noreply.github.com> Date: Tue, 28 Jan 2025 10:42:12 +0100 Subject: [PATCH 1/4] fix(DB/Creature) Update Amani Trainer SmartAI comments. (#21282) --- .../sql/updates/pending_db_world/Amani_Trainer_Comment.sql | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 data/sql/updates/pending_db_world/Amani_Trainer_Comment.sql diff --git a/data/sql/updates/pending_db_world/Amani_Trainer_Comment.sql b/data/sql/updates/pending_db_world/Amani_Trainer_Comment.sql new file mode 100644 index 00000000000000..b5273794abd5e8 --- /dev/null +++ b/data/sql/updates/pending_db_world/Amani_Trainer_Comment.sql @@ -0,0 +1,7 @@ + +UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 23774; + +DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 23774); +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 +(23774, 0, 0, 0, 0, 0, 100, 0, 5000, 8000, 12000, 15000, 0, 0, 11, 43292, 0, 0, 0, 0, 0, 19, 23834, 30, 0, 0, 0, 0, 0, 0, 'Amani\'shi Trainer - In Combat - Cast \'Incite Rage\''), +(23774, 0, 1, 0, 0, 0, 100, 0, 10000, 12000, 20000, 25000, 0, 0, 11, 20989, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Amani\'shi Trainer - In Combat - Cast \'Sleep\''); From dfd09a3541f3be672c3e2ff3a0a431547a229d3b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 28 Jan 2025 09:43:13 +0000 Subject: [PATCH 2/4] chore(DB): import pending files Referenced commit(s): 1c036f69d1dd267ee843efc26019dbab5b9cc9a0 --- .../Amani_Trainer_Comment.sql => db_world/2025_01_28_00.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/Amani_Trainer_Comment.sql => db_world/2025_01_28_00.sql} (95%) diff --git a/data/sql/updates/pending_db_world/Amani_Trainer_Comment.sql b/data/sql/updates/db_world/2025_01_28_00.sql similarity index 95% rename from data/sql/updates/pending_db_world/Amani_Trainer_Comment.sql rename to data/sql/updates/db_world/2025_01_28_00.sql index b5273794abd5e8..4b0445d8ea3153 100644 --- a/data/sql/updates/pending_db_world/Amani_Trainer_Comment.sql +++ b/data/sql/updates/db_world/2025_01_28_00.sql @@ -1,3 +1,4 @@ +-- DB update 2025_01_27_02 -> 2025_01_28_00 UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 23774; From 18cb8f7d6c487187d472352e4e1647b9fe9fdc06 Mon Sep 17 00:00:00 2001 From: vrachv <52053491+vrachv@users.noreply.github.com> Date: Wed, 29 Jan 2025 05:47:34 +0000 Subject: [PATCH 3/4] fix(Scripts/SunwellPlateau): Fix Madrigosa flight movement (#21290) --- .../EasternKingdoms/SunwellPlateau/boss_brutallus.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp index 74d7ff147c90b7..6f464d7d18bd16 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp @@ -189,10 +189,12 @@ struct npc_madrigosa : public NullCreatureAI { if (param == ACTION_START_EVENT) { + me->NearTeleportTo(1570.97f, 725.51f, 79.77f, 3.82f); me->SetDisableGravity(true); me->SetStandState(UNIT_STAND_STATE_STAND); me->RemoveDynamicFlag(UNIT_DYNFLAG_DEAD); - me->NearTeleportTo(1570.97f, 725.51f, 79.77f, 3.82f); + me->SendMovementFlagUpdate(); + events.ScheduleEvent(EVENT_MAD_1, 2000); } else if (param == ACTION_SPAWN_FELMYST) @@ -212,9 +214,9 @@ struct npc_madrigosa : public NullCreatureAI brutallus->SetReactState(REACT_PASSIVE); brutallus->setActive(true); } - me->GetMotionMaster()->MovePoint(1, 1477.94f, 643.22f, 21.21f); + me->GetMotionMaster()->MoveTakeoff(1, 1477.94f, 643.22f, 21.21f); me->AddUnitState(UNIT_STATE_NO_ENVIRONMENT_UPD); - events.ScheduleEvent(EVENT_MAD_2, 6000); + events.ScheduleEvent(EVENT_MAD_2, 4000); break; case EVENT_MAD_2: Talk(SAY_MAD_1); From 2809f70dc16dbe3b1df9651ed37de0ddecd89310 Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Wed, 29 Jan 2025 06:27:30 -0300 Subject: [PATCH 4/4] =?UTF-8?q?fix(Scripts/MagisterTerrace):=20Fix=20Kael'?= =?UTF-8?q?s=20outro=20and=20close=20door=20during=20=E2=80=A6=20(#21289)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../boss_felblood_kaelthas.cpp | 49 +++++++++++++------ .../instance_magisters_terrace.cpp | 1 + 2 files changed, 34 insertions(+), 16 deletions(-) diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp index 61bb9f3337b5f6..8feeadedcbe77b 100644 --- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp +++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp @@ -52,7 +52,12 @@ enum Spells SPELL_GRAVITY_LAPSE_FLY = 44227, SPELL_GRAVITY_LAPSE_DOT = 44226, SPELL_GRAVITY_LAPSE_CHANNEL = 44251, - SPELL_POWER_FEEDBACK = 44233 + SPELL_POWER_FEEDBACK = 44233, + SPELL_CLEAR_FLIGHT = 44232, // Does nothing currently + + SPELL_EMOTE_EXCLAMATION = 48348, + SPELL_EMOTE_POINT = 48349, + SPELL_EMOTE_ROAR = 48350 }; enum Misc @@ -72,7 +77,6 @@ struct boss_felblood_kaelthas : public BossAI void Reset() override { BossAI::Reset(); - _OOCScheduler.CancelAll(); _gravityLapseCounter = 0; me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_INTERRUPT_CAST, false); @@ -169,11 +173,12 @@ struct boss_felblood_kaelthas : public BossAI Talk(SAY_AGGRO_2, 20s); me->SetImmuneToAll(true); - _OOCScheduler.Schedule(35s, [this](TaskContext) { + + me->m_Events.AddEventAtOffset([&] { me->ClearEmoteState(); me->SetReactState(REACT_AGGRESSIVE); me->SetImmuneToAll(false); - }); + }, 35s); } } } @@ -185,19 +190,35 @@ struct boss_felblood_kaelthas : public BossAI damage = me->GetHealth() - 1; if (me->isRegeneratingHealth()) { + me->CombatStop(); me->CastStop(); me->SetRegeneratingHealth(false); me->SetUnitFlag(UNIT_FLAG_DISABLE_MOVE); me->SetImmuneToAll(true); - me->SetStandState(UNIT_STAND_STATE_KNEEL); - me->CombatStop(); me->SetReactState(REACT_PASSIVE); LapseAction(ACTION_REMOVE_FLY); scheduler.CancelAll(); - _OOCScheduler.Schedule(6s, [this](TaskContext){ - me->KillSelf(); - }); + summons.DespawnAll(); + Talk(SAY_DEATH); + DoCastSelf(SPELL_EMOTE_EXCLAMATION); + + me->m_Events.AddEventAtOffset([&] { + DoCastSelf(SPELL_EMOTE_POINT); + }, 3s); + + me->m_Events.AddEventAtOffset([&] { + DoCastSelf(SPELL_EMOTE_ROAR); + }, 7s); + + me->m_Events.AddEventAtOffset([&] { + DoCastSelf(SPELL_EMOTE_ROAR); + DoCastSelf(SPELL_CLEAR_FLIGHT); + }, 9s); + + me->m_Events.AddEventAtOffset([&] { + me->KillSelf(); + }, 11s); } } BossAI::DamageTaken(attacker, damage, damagetype, damageSchoolMask); @@ -208,6 +229,9 @@ struct boss_felblood_kaelthas : public BossAI _gravityLapseCounter = 0; me->GetMap()->DoForAllPlayers([&](Player* player) { + if (player->IsGameMaster()) + return; + if (action == ACTION_TELEPORT_PLAYERS) DoCast(player, SPELL_GRAVITY_LAPSE_PLAYER + _gravityLapseCounter, true); else if (action == ACTION_KNOCKUP) @@ -222,14 +246,7 @@ struct boss_felblood_kaelthas : public BossAI ++_gravityLapseCounter; }); } - - void UpdateAI(uint32 diff) override - { - _OOCScheduler.Update(diff); - BossAI::UpdateAI(diff); - } private: - TaskScheduler _OOCScheduler; uint8 _gravityLapseCounter; }; diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp index 5971f8369ef68f..74308a0bba2021 100644 --- a/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp +++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp @@ -48,6 +48,7 @@ DoorData const doorData[] = { GO_SELIN_ENCOUNTER_DOOR, DATA_SELIN_FIREHEART, DOOR_TYPE_ROOM }, { GO_VEXALLUS_DOOR, DATA_VEXALLUS, DOOR_TYPE_PASSAGE }, { GO_DELRISSA_DOOR, DATA_DELRISSA, DOOR_TYPE_PASSAGE }, + { GO_KAEL_DOOR, DATA_KAELTHAS, DOOR_TYPE_ROOM }, { 0, 0, DOOR_TYPE_ROOM } // END };