diff --git a/nullptr/general.py b/nullptr/general.py index 940bf56..f76cabe 100644 --- a/nullptr/general.py +++ b/nullptr/general.py @@ -42,7 +42,7 @@ class General: return False traders = [s for s in self.store.all('Ship') if s.role == 'trader'] safe_buffer = len(traders) * 100000 + 100000 - + #print(safe_buffer, price, sy) if self.agent.credits < safe_buffer + price: return # cant afford it! ship = self.c.api.purchase(stype, sy) @@ -88,8 +88,11 @@ class General: return 'trade' def phase_trade(self): - # 20? traders - pass + self.maybe_purchase('SHIP_LIGHT_HAULER', 'trader') + traders = list([s for s in self.store.all('Ship') if s.role == 'trader']) + if len(traders) >= 19: + return 'mine' + def phase_mine(self): # metal mining crew diff --git a/nullptr/missions/base.py b/nullptr/missions/base.py index 5bb4313..a401633 100644 --- a/nullptr/missions/base.py +++ b/nullptr/missions/base.py @@ -195,7 +195,12 @@ class BaseMission(Mission): def step_market(self): loc = self.ship.location self.api.marketplace(loc) - + + def step_shipyard(self): + loc = self.ship.location + if 'SHIPYARD' in loc.traits: + self.api.shipyard(loc) + def step_unload(self): delivery = self.st('delivery') if delivery == 'sell': diff --git a/nullptr/missions/sit.py b/nullptr/missions/sit.py index 0f63b05..9d1906f 100644 --- a/nullptr/missions/sit.py +++ b/nullptr/missions/sit.py @@ -14,9 +14,10 @@ class SitMission(BaseMission): def steps(self): return { - **self.travel_steps('to', 'dest', 'sit'), + **self.travel_steps('to', 'dest', 'market'), 'sit': (self.step_sit, 'market'), - 'market': (self.step_market, 'sit') + 'market': (self.step_market, 'shipyard'), + 'shipyard': (self.step_shipyard, 'sit') } def step_sit(self):