[node] send probes to visit all markets
This commit is contained in:
parent
3306159369
commit
d0f6c4343e
2 changed files with 60 additions and 30 deletions
|
@ -3,7 +3,7 @@ import {
|
|||
} from './api.ts';
|
||||
import { PriorityQueue } from './priority_queue.ts';
|
||||
import { getShips } from './ships.ts';
|
||||
import { market } from './systems.ts';
|
||||
import { market, trait } from './systems.ts';
|
||||
import {
|
||||
Cargo,
|
||||
CargoManifest,
|
||||
|
@ -25,6 +25,19 @@ type Price = {
|
|||
price: number;
|
||||
};
|
||||
|
||||
export async function are_we_done_visiting_all_markets(): Promise<boolean> {
|
||||
const marketplaceWaypoints = await trait(getShips()[0].nav.systemSymbol, 'MARKETPLACE');
|
||||
let done = true;
|
||||
for (const w of marketplaceWaypoints) {
|
||||
const marketplaceData = await market(w);
|
||||
if (marketplaceData.tradeGoods !== undefined) continue;
|
||||
if (is_there_a_ship_at_this_waypoint(w)) continue;
|
||||
done = false;
|
||||
break;
|
||||
}
|
||||
return done;
|
||||
}
|
||||
|
||||
// cargo is a ship.cargo object, want is an optional symbol
|
||||
export function categorizeCargo(cargo: Cargo, want?: string): CategorizedCargo {
|
||||
const wanted = cargo.inventory.filter(i => i.symbol === want || i.symbol === 'ANTIMATTER');
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue