a23ab5203a1261f32f746ef5ea444200893a877c
TASK 3 PARTIAL COMPLETE: Movement Generator Replacement (3/33 files)
Core Files Updated:
- AI/Actions/CommonActions.cpp - MoveToPosition & FollowAction
- Quest/QuestCompletion.cpp - Quest turn-in navigation (NPC/GO)
- Created comprehensive migration guide for remaining files
Changes:
- Replace direct MotionMaster calls with BotMovementController
- Add GetBotAI() helper usage for safe AI access
- Implement fallback to legacy MotionMaster if validation fails
- Support non-bot players (check BotAI existence)
- Preserve existing debug logging
Migration Pattern:
```cpp
// Before: bot->GetMotionMaster()->MovePoint(0, x, y, z);
// After:
if (BotAI* ai = GetBotAI(player))
{
Position dest(x, y, z, 0.0f);
if (!ai->MoveTo(dest, true)) // validated
player->GetMotionMaster()->MovePoint(0, dest); // fallback
}
```
Benefits:
✅ Validated pathfinding for quest navigation
✅ Ground/collision/liquid validation in movement actions
✅ Graceful fallback maintains stability
✅ No impact on non-bot players
Documentation:
- Created .claude/MOVEMENT_MIGRATION_GUIDE.md
- Documents migration pattern for all 33 files
- Prioritizes remaining files (HIGH/MEDIUM/LOW)
- Provides testing guidelines
Remaining Work:
- 30 files to migrate (see migration guide)
- Priority: Combat files (15 usages in RoleBasedCombatPositioning)
- Medium: ClassAI files (spec-specific movement)
- Low: Dungeon/Travel files (specialized movement)
Testing:
✅ Compiles without errors
✅ Backward compatible (fallback to legacy)
✅ Ready for runtime validation
Part of: Movement System Integration (Task 3/6)
Related: MOVEMENT_INTEGRATION_PROMPT.md, MOVEMENT_MIGRATION_GUIDE.md
Co-Authored-By: Claude Opus 4.5 <[email protected]>
Signed-off-by: luis <[email protected]>
WowCommunityProject
Blizzlike WowCommunity project
Languages
C++
89.3%
C
10.1%
CMake
0.4%