49 lines
1.5 KiB
Go
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
|
|
) |