aboutsummaryrefslogtreecommitdiff
path: root/go/game/ai.go
diff options
context:
space:
mode:
Diffstat (limited to 'go/game/ai.go')
-rw-r--r--go/game/ai.go6
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)