diff --git a/bot/path/movement.go b/bot/path/movement.go index bb11a9a..714f5d1 100644 --- a/bot/path/movement.go +++ b/bot/path/movement.go @@ -199,20 +199,20 @@ func (m Movement) BaseCost() float64 { case Waypoint: return 0 case TraverseNorth, TraverseSouth, TraverseEast, TraverseWest: - return 1 + return 2 case TraverseNorthWest, TraverseNorthEast, TraverseSouthWest, TraverseSouthEast: - return 1.25 + return 2.5 case DropNorth, DropSouth, DropEast, DropWest: - return 2 + return 4 case AscendNorth, AscendSouth, AscendEast, AscendWest: - return 2.25 + return 4 case DescendLadderNorth, DescendLadderSouth, DescendLadderEast, DescendLadderWest: return 1.5 case DescendLadder: - return 1.2 + return 1 case AscendLadder: - return 1.5 + return 3 default: panic(m) } diff --git a/bot/path/path.go b/bot/path/path.go index 649f367..d3bd6b8 100644 --- a/bot/path/path.go +++ b/bot/path/path.go @@ -19,7 +19,7 @@ type V3 struct { func (v V3) Cost(other V3) float64 { x, y, z := v.X-other.X, v.Y-other.Y, v.Z-other.Z - return float64(x*x+z*z) + 1.2*float64(y*y) + return math.Sqrt(float64(x*x+z*z)) + math.Sqrt(1.2*float64(y*y)) } // Nav represents a navigation to a position. @@ -119,8 +119,8 @@ func (t Tile) Inputs(pos, deltaPos, vel Point) Inputs { pos.X -= (0.55 * float64(x)) pos.Z -= (0.55 * float64(z)) } else { - pos.X += (0.55 * float64(x)) - pos.Z += (0.55 * float64(z)) + pos.X += (0.42 * float64(x)) + pos.Z += (0.42 * float64(z)) } at = math.Atan2(-pos.X+float64(t.Pos.X)+0.5, -pos.Z+float64(t.Pos.Z)+0.5)