49 lines
1.5 KiB
Go

package pathfinder
// Default pathfinding configuration values
const (
// Default flag costs (matching C++ implementation)
DefaultFlagCost0 = 1.0 // Normal
DefaultFlagCost1 = 3.0 // Water
DefaultFlagCost2 = 5.0 // Lava
DefaultFlagCost3 = 1.0 // Zone line
DefaultFlagCost4 = 2.0 // PvP
DefaultFlagCost5 = 2.0 // Slime
DefaultFlagCost6 = 4.0 // Ice
DefaultFlagCost7 = 1.0 // VWater
DefaultFlagCost8 = 0.1 // General area
DefaultFlagCost9 = 0.1 // Portal
// Default pathfinding parameters
DefaultStepSize = 10.0
DefaultOffset = 3.25
// Pathfinding limits
MaxPathNodes = 1000 // Maximum nodes in a single path
MaxPathDistance = 10000 // Maximum path distance
PathfindingTimeout = 5000 // Pathfinding timeout in milliseconds
// Random location parameters
RandomLocationAttempts = 50 // Max attempts to find random location
RandomLocationRadius = 100.0 // Search radius for random locations
// Performance constants
PathCacheSize = 1000 // Maximum cached paths
PathCacheExpiryMs = 30000 // Path cache expiry in milliseconds
StatsUpdateInterval = 1000 // Stats update interval in milliseconds
)
// Pathfinding backend types
const (
BackendTypeNull = "null"
BackendTypeNavmesh = "navmesh"
BackendTypeWaypoint = "waypoint"
BackendTypeDetour = "detour"
)
// Path validation constants
const (
MinPathDistance = 0.1 // Minimum distance for valid path
MaxPathNodeDistance = 50.0 // Maximum distance between path nodes
PathSmoothTolerance = 2.0 // Tolerance for path smoothing
)