Implemented a basic extraction loop
This commit is contained in:
parent
f190aea975
commit
efdf50a55a
12 changed files with 2022 additions and 0 deletions
84
main.js
Executable file
84
main.js
Executable file
|
@ -0,0 +1,84 @@
|
|||
import * as agent from './lib/agent.js';
|
||||
import * as api from './lib/api.js';
|
||||
import * as ships from './lib/ships.js';
|
||||
|
||||
function usage() {
|
||||
console.log(`contracts\t\t\tList all of your contracts.
|
||||
extract [ship] [good]\t\tExtracts a good from the asteroid field the ship is orbiting and sell locally the unwanted ores until cargo is full
|
||||
init [symbol] [faction] [token]\tinits the database in case we have an already registered game
|
||||
my-agent\t\t\tFetch your agent's details.
|
||||
register [symbol] [faction]\tRegisters your agent then inits the database
|
||||
ships\t\t\tRetrieve all of your ships.`);
|
||||
}
|
||||
|
||||
switch(process.argv[2]) {
|
||||
case 'contracts':
|
||||
api.send({ endpoint: '/my/contracts'});
|
||||
break;
|
||||
case 'extract':
|
||||
if (process.argv[3] !== undefined && process.argv[4] !== undefined) {
|
||||
agent.extract({ship: process.argv[3], good: process.argv[4]});
|
||||
} else {
|
||||
usage();
|
||||
}
|
||||
break;
|
||||
case 'init':
|
||||
if (process.argv[3] !== undefined && process.argv[4] !== undefined && process.argv[5] !== undefined) {
|
||||
agent.init(process.argv[3], process.argv[4], process.argv[5]);
|
||||
} else {
|
||||
usage();
|
||||
}
|
||||
break;
|
||||
case 'my-agent':
|
||||
api.send({endpoint: '/my/agent'});
|
||||
break;
|
||||
case 'register':
|
||||
if (process.argv[3] !== undefined && process.argv[4] !== undefined) {
|
||||
agent.register(process.argv[3], process.argv[4]);
|
||||
} else {
|
||||
usage();
|
||||
}
|
||||
break;
|
||||
case 'ships':
|
||||
api.send({endpoint: '/my/ships'});
|
||||
break;
|
||||
default:
|
||||
// wip and manual actions
|
||||
switch(process.argv[2]) {
|
||||
case 'contract-accept':
|
||||
api.send({endpoint: `/my/contracts/${process.argv[3]}/accept`, method: 'POST'});
|
||||
break;
|
||||
case 'dock':
|
||||
ships.dock({ship: process.argv[3]});
|
||||
break;
|
||||
case 'market':
|
||||
api.send({endpoint: `/systems/${process.argv[3]}/waypoints/${process.argv[4]}/market`});
|
||||
break;
|
||||
case 'navigate':
|
||||
ships.navigate({ship: process.argv[3], waypoint: process.argv[4]});
|
||||
break;
|
||||
case 'orbit':
|
||||
ships.orbit({ship: process.argv[3]});
|
||||
break;
|
||||
case 'purchase':
|
||||
api.send({endpoint: '/my/ships', method: 'POST', payload: {
|
||||
shipType: 'SHIP_MINING_DRONE',
|
||||
waypointSymbol: process.argv[3],
|
||||
}});
|
||||
break;
|
||||
case 'refuel':
|
||||
ships.refuel({ship: process.argv[3]});
|
||||
break;
|
||||
case 'sell':
|
||||
ships.sell({ship: process.argv[3], good: process.argv[4], units: process.argv[5]});
|
||||
break;
|
||||
case 'shipyard':
|
||||
api.send({endpoint: `/systems/${process.argv[3]}/waypoints/${process.argv[4]}/shipyard`});
|
||||
break;
|
||||
case 'waypoints':
|
||||
api.send({endpoint: `/systems/${process.argv[3]}/waypoints?limit=20&page=1`});
|
||||
break;
|
||||
default:
|
||||
usage();
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue