diff options
| author | Shauren <shauren.trinity@gmail.com> | 2025-11-10 19:55:29 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2025-11-10 19:55:29 +0100 |
| commit | c24dcf62acd80519360943f606cfc0986a0507f1 (patch) | |
| tree | 2d31f565fd16853967a6df8aca533b7b9da419b7 /src/server/scripts/Northrend | |
| parent | ff662f4d0738733af1541c23f2c8ace0f7672218 (diff) | |
Core/Movement: Use std::span argument instead of std::vector in MoveSplineInit::MovebyPath to avoid having to construct temporary containers
Diffstat (limited to 'src/server/scripts/Northrend')
3 files changed, 8 insertions, 22 deletions
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp index bb32cd14c0d..9c50461a495 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp @@ -225,8 +225,7 @@ Position const OrgrimsHammerTeleportExit = { 7.461699f, 0.158853f, 35.72989f, 0. Position const OrgrimsHammerTeleportPortal = { 47.550990f, -0.101778f, 37.61111f, 0.0f }; Position const SkybreakerTeleportExit = { -17.55738f, -0.090421f, 21.18366f, 0.0f }; -uint32 const MuradinExitPathSize = 10; -G3D::Vector3 const MuradinExitPath[MuradinExitPathSize] = +G3D::Vector3 const MuradinExitPath[] = { { 8.130936f, -0.2699585f, 20.31728f }, { 6.380936f, -0.2699585f, 20.31728f }, @@ -240,8 +239,7 @@ G3D::Vector3 const MuradinExitPath[MuradinExitPathSize] = { -14.88477f, 25.20844f, 21.59985f }, }; -uint32 const SaurfangExitPathSize = 13; -G3D::Vector3 const SaurfangExitPath[SaurfangExitPathSize] = +G3D::Vector3 const SaurfangExitPath[] = { { 30.43987f, 0.1475817f, 36.10674f }, { 21.36141f, -3.056458f, 35.42970f }, @@ -935,9 +933,8 @@ struct npc_high_overlord_saurfang_igb : public ScriptedAI { std::function<void(Movement::MoveSplineInit&)> initializer = [](Movement::MoveSplineInit& init) { - Movement::PointsArray path(SaurfangExitPath, SaurfangExitPath + SaurfangExitPathSize); init.DisableTransportPathTransformations(); - init.MovebyPath(path, 0); + init.MovebyPath(SaurfangExitPath); }; me->GetMotionMaster()->LaunchMoveSpline(std::move(initializer), 0, MOTION_PRIORITY_NORMAL, POINT_MOTION_TYPE); @@ -1192,9 +1189,8 @@ struct npc_muradin_bronzebeard_igb : public ScriptedAI { std::function<void(Movement::MoveSplineInit&)> initializer = [](Movement::MoveSplineInit& init) { - Movement::PointsArray path(MuradinExitPath, MuradinExitPath + MuradinExitPathSize); init.DisableTransportPathTransformations(); - init.MovebyPath(path, 0); + init.MovebyPath(MuradinExitPath); }; me->GetMotionMaster()->LaunchMoveSpline(std::move(initializer), 0, MOTION_PRIORITY_NORMAL, POINT_MOTION_TYPE); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp index 01bd394f43c..e89993a116c 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp @@ -271,7 +271,7 @@ constexpr uint32 SummonMinionsSpells[4] = SPELL_TRIGGER_SUMMON_IRON_VRYKUL }; -constexpr Position RazorscalePath[] = +G3D::Vector3 const RazorscalePath[] = { { 657.0227f, -361.1278f, 519.5406f }, { 698.9319f, -340.9654f, 520.4857f }, @@ -329,9 +329,7 @@ struct boss_razorscale : public BossAI { std::function<void(Movement::MoveSplineInit&)> initializer = [](Movement::MoveSplineInit& init) { - Movement::PointsArray path(std::size(RazorscalePath)); - std::ranges::transform(RazorscalePath, path.begin(), PositionToVector3); - init.MovebyPath(path, 0); + init.MovebyPath(RazorscalePath); init.SetCyclic(); init.SetFly(); }; diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp index 68df6132735..96729d2b71a 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp @@ -321,7 +321,7 @@ enum DisplayIds THORIM_WEAPON_DISPLAY_ID = 45900 }; -Position const LightningOrbPath[] = +G3D::Vector3 const LightningOrbPath[] = { { 2134.889893f, -298.632996f, 438.247467f }, { 2134.570068f, -440.317993f, 438.247467f }, @@ -332,7 +332,6 @@ Position const LightningOrbPath[] = { 2202.208008f, -262.939270f, 412.168976f }, { 2182.310059f, -263.233093f, 414.739410f } }; -std::size_t const LightningOrbPathSize = std::extent<decltype(LightningOrbPath)>::value; // used for trash jump calculation Position const ArenaCenter = { 2134.77f, -262.307f }; @@ -635,14 +634,7 @@ class boss_thorim : public CreatureScript std::function<void(Movement::MoveSplineInit&)> initializer = [](Movement::MoveSplineInit& init) { - Movement::PointsArray path; - path.reserve(LightningOrbPathSize); - std::transform(std::begin(LightningOrbPath), std::end(LightningOrbPath), std::back_inserter(path), [](Position const& pos) - { - return G3D::Vector3(pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ()); - }); - - init.MovebyPath(path); + init.MovebyPath(LightningOrbPath); }; summon->GetMotionMaster()->LaunchMoveSpline(std::move(initializer), 0, MOTION_PRIORITY_NORMAL, POINT_MOTION_TYPE); break; |
