From 12f1834d416caafc878324baa52abbd47493f1b1 Mon Sep 17 00:00:00 2001 From: "@cgrahamseven" Date: Sat, 13 Jun 2026 07:27:21 -0500 Subject: [PATCH] fix(Scripts/Ahnkahet): Fix Taldaram's Flame Orb despawn effect (#22763) Co-authored-by: cgrahamseven Co-authored-by: Andrew <47818697+Nyeriah@users.noreply.github.com> Co-authored-by: sogladev Co-authored-by: Ludwig Co-authored-by: Claude Opus 4.8 (1M context) --- .../AzjolNerub/ahnkahet/boss_prince_taldaram.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/server/scripts/Northrend/AzjolNerub/ahnkahet/boss_prince_taldaram.cpp b/src/server/scripts/Northrend/AzjolNerub/ahnkahet/boss_prince_taldaram.cpp index 041d68360d..551f7deb07 100644 --- a/src/server/scripts/Northrend/AzjolNerub/ahnkahet/boss_prince_taldaram.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/ahnkahet/boss_prince_taldaram.cpp @@ -103,6 +103,15 @@ struct npc_taldaram_flamesphere : public NullCreatureAI } } + void MovementInform(uint32 type, uint32 id) override + { + if (type == POINT_MOTION_TYPE && id == POINT_ORB) + { + me->DespawnOrUnsummon(1s); + DoCastSelf(SPELL_FLAME_SPHERE_DEATH_EFFECT, true); + } + } + void IsSummonedBy(WorldObject* /*summoner*/) override { // Replace sphere instantly if sphere is summoned after prince death @@ -116,11 +125,6 @@ struct npc_taldaram_flamesphere : public NullCreatureAI DoCastSelf(SPELL_FLAME_SPHERE_VISUAL); } - void JustDied(Unit* /*who*/) override - { - DoCastSelf(SPELL_FLAME_SPHERE_DEATH_EFFECT); - } - void UpdateAI(uint32 diff) override { if (moveTimer) @@ -147,7 +151,7 @@ struct npc_taldaram_flamesphere : public NullCreatureAI float angle = me->GetAngle(&victimPos) + angleOffset; float x = me->GetPositionX() + DATA_SPHERE_DISTANCE * cos(angle); float y = me->GetPositionY() + DATA_SPHERE_DISTANCE * std::sin(angle); - me->GetMotionMaster()->MovePoint(POINT_ORB, x, y, me->GetPositionZ()); + me->GetMotionMaster()->MovePoint(POINT_ORB, x, y, me->GetPositionZ(), FORCED_MOVEMENT_WALK); moveTimer = 0; }