From 233790a4305ed287069e950b323e1de9533a0a4f Mon Sep 17 00:00:00 2001 From: Keleborn <22352763+Celandriel@users.noreply.github.com> Date: Thu, 16 Apr 2026 23:03:08 -0700 Subject: [PATCH] final fix. --- src/Ai/Base/Actions/MovementActions.h | 4 ++-- src/Ai/World/Rpg/Action/NewRpgAction.cpp | 2 +- src/Ai/World/Rpg/NewRpgInfo.cpp | 2 +- src/Ai/World/Rpg/NewRpgInfo.h | 3 ++- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/Ai/Base/Actions/MovementActions.h b/src/Ai/Base/Actions/MovementActions.h index a0d160610..5ed96dcfa 100644 --- a/src/Ai/Base/Actions/MovementActions.h +++ b/src/Ai/Base/Actions/MovementActions.h @@ -24,8 +24,8 @@ class Position; #define ANGLE_120_DEG (2.f * static_cast(M_PI) / 3.f) // Default acceptable path types for GeneratePath -constexpr uint32 DEFAULT_PATH_ACCEPT_MASK = 0x01 /*PATHFIND_NORMAL*/ | 0x04 /*PATHFIND_INCOMPLETE*/; -uint32 typeOk = PATHFIND_NORMAL | PATHFIND_INCOMPLETE | PATHFIND_FARFROMPOLY; +constexpr uint32 DEFAULT_PATH_ACCEPT_MASK = PATHFIND_NORMAL | PATHFIND_INCOMPLETE; +constexpr uint32 RELAXED_PATH_ACCEPT_MASK = PATHFIND_NORMAL | PATHFIND_INCOMPLETE | PATHFIND_FARFROMPOLY; struct PathResult { diff --git a/src/Ai/World/Rpg/Action/NewRpgAction.cpp b/src/Ai/World/Rpg/Action/NewRpgAction.cpp index f8797ab22..36e76f8f8 100644 --- a/src/Ai/World/Rpg/Action/NewRpgAction.cpp +++ b/src/Ai/World/Rpg/Action/NewRpgAction.cpp @@ -472,7 +472,7 @@ bool NewRpgTravelFlightAction::Execute(Event /*event*/) if (bot->GetDistance(data.fromPos) > INTERACTION_DISTANCE) return MoveFarTo(data.fromPos); - Creature* flightMaster = ObjectAccessor::GetCreature(*bot, data.fromFlightMasterGuid); + Creature* flightMaster = ObjectAccessor::GetCreature(*bot, data.fromFlightMaster ); if (!flightMaster || !flightMaster->IsAlive()) { botAI->rpgInfo.ChangeToIdle(); diff --git a/src/Ai/World/Rpg/NewRpgInfo.cpp b/src/Ai/World/Rpg/NewRpgInfo.cpp index 120259673..4d757b7bf 100644 --- a/src/Ai/World/Rpg/NewRpgInfo.cpp +++ b/src/Ai/World/Rpg/NewRpgInfo.cpp @@ -76,7 +76,7 @@ void NewRpgInfo::Reset() { data = Idle{}; startT = getMSTime(); - travelPlan.Reset(); + ClearTravel(); } void NewRpgInfo::SetMoveFarTo(WorldPosition pos) diff --git a/src/Ai/World/Rpg/NewRpgInfo.h b/src/Ai/World/Rpg/NewRpgInfo.h index 1008bab15..8a6e21d15 100644 --- a/src/Ai/World/Rpg/NewRpgInfo.h +++ b/src/Ai/World/Rpg/NewRpgInfo.h @@ -76,9 +76,10 @@ struct NewRpgInfo uint32 stuckTs{0}; uint32 stuckAttempts{0}; WorldPosition moveFarPos; + // Travel Node System TravelPlan travelPlan; bool HasActiveTravelPlan() const { return travelPlan.IsActive(); } - void ClearTravel(); + void ClearTravel() { travelPlan.Reset(); } using RpgData = std::variant< Idle,