Files
ThordekkCore/cSPATIAL_QUERIES_FINAL_REPORT.txt
T
2026-01-20 21:28:45 -03:00

52 lines
2.2 KiB
Plaintext

==== PLAYERBOT MAP SPATIAL QUERIES AUDIT ====
1. LINE OF SIGHT CHECKS (31 calls - CRITICAL)
Files: TargetSelector(6), TargetScanner(3), PositionManager(3), InterruptManager(2), Others(17)
API: bot->IsWithinLOSInMap(target)
Context: Combat targeting, spell casting validation
2. HEIGHT DETECTION (21 calls - HIGH)
Files: PositionStrategyBase(10), PathfindingManager(3), LeaderFollowBehavior(2), Others(6)
API: map->GetHeight(phaseShift, x, y, z)
Context: Pathfinding, positioning, terrain analysis
3. PATHFINDING (6 implementations - CRITICAL)
Files: PathfindingAdapter, PathfindingManager, LeaderFollowBehavior, CombatMovementStrategy
API: PathGenerator(bot); path.Calculate(destination)
Context: Movement path generation
4. CREATURE GRID QUERIES (7 calls)
Files: QuestStrategy(3), LootStrategy(1), BehaviorAdaptation(1), ObjectiveTracker(1), CooldownStackingOptimizer(1)
API: bot->GetCreatureListWithEntryInGrid(creatures, entryId, radius)
Context: Quest objectives, loot, behavior analysis
5. WATER/LIQUID DETECTION (9 calls)
Files: MovementValidator(2), LineOfSightManager(2), PathfindingManager(1), Others(4)
API: map->IsInWater(...), map->GetWaterLevel(...)
Context: Movement validation, water terrain
6. GAME OBJECT QUERIES (2 calls)
Files: ObjectiveTracker(2)
API: bot->GetGameObjectListWithEntryInGrid(objects, entryId, radius)
Context: Quest objectives
7. LIQUID STATUS (3 calls)
Files: NavMeshInterface(1), MovementValidator(2)
API: map->GetLiquidStatus(phaseShift, x, y, z)
8. DIRECT MAP STORE ACCESS (12 calls)
Files: DoubleBufferedSpatialGrid(5), Action(1), Strategy(1), AdvancedBehaviorManager(1), Others(4)
API: map->GetPlayers(), GetCreatureBySpawnIdStore(), GetGameObjectBySpawnIdStore()
Context: Spatial grid population, object lookup
9. NEAREST QUERIES (1 call)
Files: DungeonScript(1)
API: player->FindNearestCreature(entry, range)
==== CRITICAL BOTTLENECKS ====
1. TargetSelector - 6 LOS checks per target evaluation
2. PositionStrategyBase - 10 height queries per position
3. PathfindingAdapter - PathGenerator objects created frequently
4. DoubleBufferedSpatialGrid - Full map iteration on updates