working on startup
This commit is contained in:
@@ -4,6 +4,7 @@ from nullptr.roles.siphon import assign_siphon
|
||||
from nullptr.roles.hauler import assign_hauler
|
||||
from nullptr.roles.surveyor import assign_surveyor
|
||||
from nullptr.roles.miner import assign_miner
|
||||
from nullptr.roles.sitter import assign_sitter
|
||||
|
||||
def assign_mission(c, s):
|
||||
if s.role == 'trader':
|
||||
@@ -18,3 +19,5 @@ def assign_mission(c, s):
|
||||
assign_surveyor(c, s)
|
||||
elif s.role == 'miner':
|
||||
assign_miner(c, s)
|
||||
elif s.role == 'sitter':
|
||||
assign_sitter(c, s)
|
||||
|
||||
26
nullptr/roles/sitter.py
Normal file
26
nullptr/roles/sitter.py
Normal file
@@ -0,0 +1,26 @@
|
||||
from nullptr.analyzer import Point
|
||||
|
||||
def assign_sitter_at(c, s, w):
|
||||
c.captain.init_mission(s, 'sit')
|
||||
c.captain.smipa(s, 'dest', w.symbol)
|
||||
|
||||
def assign_sitter(c, s):
|
||||
system = s.location.system
|
||||
ships = c.store.all('Ship')
|
||||
markets = c.store.all_members(system, 'Marketplace')
|
||||
origin = Point(0, 0)
|
||||
markets = sorted(markets, key=lambda m: m.waypoint.distance(origin))
|
||||
shipyards = c.store.all_members(system, 'Shipyard')
|
||||
occupied = [s.mission_state['dest'] for s in ships if s.mission=='sit']
|
||||
probe_shipyard = [y for y in shipyards if 'SHIP_PROBE' in y.types][0]
|
||||
print('oc', occupied)
|
||||
print('proya', probe_shipyard)
|
||||
|
||||
if probe_shipyard.symbol not in occupied:
|
||||
return assign_sitter_at(c, s, probe_shipyard)
|
||||
for y in shipyards:
|
||||
if y.symbol not in occupied:
|
||||
return assign_sitter_at(c, s, y)
|
||||
for m in markets:
|
||||
if m.symbol not in occupied:
|
||||
return assign_sitter_at(c, s, m)
|
||||
Reference in New Issue
Block a user