From 58e0069404110c11d34ff9ec8c45e18503196ae1 Mon Sep 17 00:00:00 2001 From: Kelsi Date: Wed, 6 May 2026 09:53:07 -0700 Subject: [PATCH] fix(sql): downgrade Wander to stationary when wanderRadius == 0 Same defect as the empty-Patrol case: Wander behavior with 0 radius would spawn a creature that pretends to wander but never moves. Downgrade to stationary so the export reflects the actual in-game behavior, matching the Patrol-without-waypoints fix. --- tools/editor/sql_exporter.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tools/editor/sql_exporter.cpp b/tools/editor/sql_exporter.cpp index 582c7eea..e442e209 100644 --- a/tools/editor/sql_exporter.cpp +++ b/tools/editor/sql_exporter.cpp @@ -114,10 +114,12 @@ bool SQLExporter::exportCreatures(const std::vector& spawns, uint32_t guid = startEntry + static_cast(i); // movementType: 0=stationary, 1=wander, 2=waypoint (patrol). - // Patrol with no waypoints would log an error in AzerothCore at - // spawn — fall back to stationary so the spawn still appears. + // Patrol with no waypoints or Wander with zero radius would either + // log an error or spawn a creature that pretends to wander but + // never moves. Downgrade to stationary in both cases. uint8_t movementType = 0; - if (s.behavior == CreatureBehavior::Wander) movementType = 1; + if (s.behavior == CreatureBehavior::Wander && s.wanderRadius > 0.01f) + movementType = 1; if (s.behavior == CreatureBehavior::Patrol && !s.patrolPath.empty()) movementType = 2;