diff options
Diffstat (limited to '')
-rw-r--r-- | golang/pkg/agent/visit.go | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/golang/pkg/agent/visit.go b/golang/pkg/agent/visit.go index 4d79fef..3004553 100644 --- a/golang/pkg/agent/visit.go +++ b/golang/pkg/agent/visit.go @@ -39,9 +39,17 @@ func (a *agent) visitAllShipyards(ship *model.Ship) error { if err := a.client.Navigate(ship, waypoints[0].Symbol, a.db); err != nil { return fmt.Errorf("failed to navigate to %s: %w", waypoints[0].Symbol, err) } - if _, err := a.client.GetShipyard(&waypoints[0], a.db); err != nil { + if _, err := a.client.GetShipyard(waypoints[0].Symbol, a.db); err != nil { return fmt.Errorf("failed to get shipyard %s: %w", waypoints[0].Symbol, err) } - // TODO get market data + // If this waypoint is also a marketplace, get its data + for _, trait := range waypoints[0].Traits { + if trait.Symbol == "MARKETPLACE" { + if _, err := a.client.GetMarket(waypoints[0].Symbol, a.db); err != nil { + return fmt.Errorf("failed to get market %s: %w", waypoints[0].Symbol, err) + } + break + } + } return a.visitAllShipyards(ship) } |