From 9684eb437aae1092455217d9d20c90a09eb4f348 Mon Sep 17 00:00:00 2001 From: Dan <83884799+elthehablo@users.noreply.github.com> Date: Tue, 11 Jun 2024 03:32:50 +0200 Subject: [PATCH] fix(Scripts/Hyjal): remove very scary call by reference and posis without initialization (#19046) remove call by reference --- .../BattleForMountHyjal/boss_archimonde.cpp | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp index 21e6d1c1e..852d98c60 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp @@ -141,24 +141,17 @@ private: struct npc_doomfire_spirit : public ScriptedAI { - npc_doomfire_spirit(Creature* creature) : ScriptedAI(creature) - { - _instance = creature->GetInstanceScript(); - } + npc_doomfire_spirit(Creature* creature) : ScriptedAI(creature){ } void Reset() override { - Position randomPosition; - scheduler.CancelAll(); ScheduleTimedEvent(0s, [&] { - DoomfireMovement(randomPosition, me->GetPosition()); - - me->GetMotionMaster()->MovePoint(NEAR_POINT, randomPosition); + me->GetMotionMaster()->MovePoint(NEAR_POINT, DoomfireMovement(me->GetPosition())); }, 1500ms); } - void DoomfireMovement(Position& targetPos, Position mePos) + Position DoomfireMovement(Position mePos) { float angle = mePos.GetOrientation(); float distance = 100.0f; @@ -166,8 +159,8 @@ struct npc_doomfire_spirit : public ScriptedAI float x = mePos.GetPositionX() + distance * cos(newAngle); float y = mePos.GetPositionY() + distance * sin(newAngle); - targetPos = Position(x, y, me->GetPositionZ()); - return; + Position targetPos = Position(x, y, me->GetPositionZ()); + return targetPos; } void UpdateAI(uint32 diff) override @@ -180,8 +173,6 @@ struct npc_doomfire_spirit : public ScriptedAI if (me->HasUnitState(UNIT_STATE_CASTING)) return; } -private: - InstanceScript* _instance; }; struct boss_archimonde : public BossAI