diff options
| author | Shauren <shauren.trinity@gmail.com> | 2025-11-18 15:58:43 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2025-11-18 15:58:43 +0100 |
| commit | 2221ad3105450c83aca2d28bb134ef03a400a39f (patch) | |
| tree | f782477a01f547594f1952ed744f9856c7e4f708 | |
| parent | 4997e316d9e4bf529e131d45528fff404d99b836 (diff) | |
Scripts/Eversong Woords: Fix path id selection after 91dcae540ea8c7ecfe5794b9020fe93173b421023.3.5
Closes #31474
| -rw-r--r-- | src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp b/src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp index 0c52922b0a1..33621f5648a 100644 --- a/src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp +++ b/src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp @@ -26,26 +26,25 @@ enum Partygoer_Pather EVENT_RANDOM_ACTION_PATHER, EVENT_REMOVE_EQUIPMENT_PATHER, EVENT_STOP_DANCING_PATHER, - - PATH_FIRST_PATH = 4755520, - PATH_LAST_PATH = 4755552, }; +static constexpr std::array<uint32, 5> PARTYGOER_PATHS = { 4755520, 4755528, 4755536, 4755544, 4755552 }; + struct npc_partygoer_pather : public ScriptedAI { - npc_partygoer_pather(Creature* creature) : ScriptedAI(creature), _path(PATH_FIRST_PATH) { } + npc_partygoer_pather(Creature* creature) : ScriptedAI(creature), _path(PARTYGOER_PATHS.begin()) { } void JustAppeared() override { - _path = PATH_FIRST_PATH; + _path = PARTYGOER_PATHS.begin(); _events.ScheduleEvent(EVENT_RANDOM_ACTION_PATHER, 11s, 14s); } void WaypointPathEnded(uint32 /*nodeId*/, uint32 /*pathId*/) override { ++_path; - if (_path > PATH_LAST_PATH) - _path = PATH_FIRST_PATH; + if (_path == PARTYGOER_PATHS.end()) + _path = PARTYGOER_PATHS.begin(); _events.ScheduleEvent(EVENT_RANDOM_ACTION_PATHER, 11s, 14s); } @@ -59,7 +58,7 @@ struct npc_partygoer_pather : public ScriptedAI switch (eventId) { case EVENT_PATH: - me->GetMotionMaster()->MovePath(_path, false); + me->GetMotionMaster()->MovePath(*_path, false); break; case EVENT_RANDOM_ACTION_PATHER: { @@ -110,7 +109,7 @@ struct npc_partygoer_pather : public ScriptedAI private: EventMap _events; - uint32 _path; + std::array<uint32, 5>::const_iterator _path; }; enum Partygoer |
