diff --git a/tools/editor/editor_ui.cpp b/tools/editor/editor_ui.cpp index f8ad5711..e5990bf3 100644 --- a/tools/editor/editor_ui.cpp +++ b/tools/editor/editor_ui.cpp @@ -1961,6 +1961,13 @@ void EditorUI::renderNpcPanel(EditorApp& app) { int bIdx = static_cast(tmpl.behavior); if (ImGui::Combo("Behavior", &bIdx, behaviors, 4)) tmpl.behavior = static_cast(bIdx); + if (ImGui::IsItemHovered()) + ImGui::SetTooltip( + "Runtime AI mode (not editor preview).\n" + "Stationary: stay put.\n" + "Patrol: walk waypoints (W to add at cursor on selected NPC).\n" + "Wander: random walk within radius — common default.\n" + "Scripted: handled by server-side script."); if (tmpl.behavior == CreatureBehavior::Wander) ImGui::SliderFloat("Wander Dist", &tmpl.wanderRadius, 1.0f, 100.0f); diff --git a/tools/editor/npc_spawner.hpp b/tools/editor/npc_spawner.hpp index ca369bc3..47217099 100644 --- a/tools/editor/npc_spawner.hpp +++ b/tools/editor/npc_spawner.hpp @@ -43,8 +43,11 @@ struct CreatureSpawn { // Templates can be scaled higher per-NPC if needed. float scale = 1.0f; - // Behavior - CreatureBehavior behavior = CreatureBehavior::Stationary; + // Behavior. Default is Wander with a small radius so newly-placed + // creatures actually move at runtime — Stationary was the old + // default and was a frequent "my NPCs don't patrol" complaint. + // Editor preview doesn't run AI; this kicks in once the zone ships. + CreatureBehavior behavior = CreatureBehavior::Wander; float wanderRadius = 10.0f; float aggroRadius = 20.0f; float leashRadius = 40.0f;