diff options
Diffstat (limited to 'go/game/ai.go')
| -rw-r--r-- | go/game/ai.go | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/go/game/ai.go b/go/game/ai.go index ac6fb29a..181f6dc1 100644 --- a/go/game/ai.go +++ b/go/game/ai.go @@ -102,7 +102,7 @@ func (m *Map) generateMapGraphFor(u *Unit) *dijkstra.Graph { } func findPathTo(graph *dijkstra.Graph, u *Unit, pos Position) (dijkstra.BestPath, error) { - srcId, err := graph.GetMapping(u.Tile().Position.String()) + srcId, err := graph.GetMapping(u.TileOrContainingPermTile().Position.String()) if err != nil { log.Fatalf("No mapping %s in Graph: %s", u.Tile().Position.String(), err) } @@ -119,6 +119,10 @@ func findPathsToUnits(graph *dijkstra.Graph, m *Map, u *Unit, units []*Unit) []* paths := []*dijkstra.BestPath{} for _, unit := range units { + if unit.tile == nil { + continue + } + var bestPathToUnit *dijkstra.BestPath = nil for _, adjacentTile := range TilesInRangeFromOrigin(m, unit.Tile().Position, 1) { path, err := findPathTo(graph, u, adjacentTile.Position) |
