diff --git a/tools/editor/sql_exporter.cpp b/tools/editor/sql_exporter.cpp index 3788c909..582c7eea 100644 --- a/tools/editor/sql_exporter.cpp +++ b/tools/editor/sql_exporter.cpp @@ -113,9 +113,13 @@ bool SQLExporter::exportCreatures(const std::vector& spawns, uint32_t entry = startEntry + static_cast(i); 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. uint8_t movementType = 0; if (s.behavior == CreatureBehavior::Wander) movementType = 1; - if (s.behavior == CreatureBehavior::Patrol) movementType = 2; + if (s.behavior == CreatureBehavior::Patrol && !s.patrolPath.empty()) + movementType = 2; // Editor stores positions in render coords; AzerothCore expects WoW // canonical (X=north, Y=west). renderToCanonical handles the swap.