crews
This commit is contained in:
@@ -9,5 +9,6 @@ from nullptr.models.ship import Ship
|
||||
from nullptr.models.contract import Contract
|
||||
from nullptr.models.survey import Survey
|
||||
from nullptr.models.atlas import Atlas
|
||||
from nullptr.models.crew import Crew
|
||||
|
||||
__all__ = [ 'Waypoint', 'Sector', 'Ship', 'Survey', 'System', 'Agent', 'Marketplace', 'Jumpgate', 'Contract', 'Base', 'Atlas' ]
|
||||
__all__ = [ 'Waypoint', 'Sector', 'Ship', 'Survey', 'System', 'Agent', 'Marketplace', 'Jumpgate', 'Contract', 'Base', 'Atlas', 'Crew' ]
|
||||
|
||||
@@ -1,12 +1,16 @@
|
||||
from .base import Base
|
||||
from nullptr.models.waypoint import Waypoint
|
||||
|
||||
class Agent(Base):
|
||||
def define(self):
|
||||
self.token: str = None
|
||||
self.credits: int = 0
|
||||
|
||||
self.headquarters: Waypoint = None
|
||||
|
||||
def update(self, d):
|
||||
self.seta('credits', d)
|
||||
getter = self.store.getter(Waypoint, create=True)
|
||||
self.seta('headquarters', d, interp=getter)
|
||||
|
||||
@classmethod
|
||||
def ext(self):
|
||||
|
||||
16
nullptr/models/crew.py
Normal file
16
nullptr/models/crew.py
Normal file
@@ -0,0 +1,16 @@
|
||||
from .base import Base
|
||||
|
||||
class Crew(Base):
|
||||
@classmethod
|
||||
def ext(self):
|
||||
return 'crw'
|
||||
|
||||
def define(self):
|
||||
self.site = None
|
||||
self.resources = []
|
||||
|
||||
def f(self, detail=1):
|
||||
r = super().f(detail)
|
||||
if detail >2:
|
||||
r += f'\nSite: {self.site}'
|
||||
return r
|
||||
@@ -19,6 +19,7 @@ class Ship(Base):
|
||||
self.mission:str = None
|
||||
self.mission_status:str = 'init'
|
||||
self.role = None
|
||||
self.crew = None
|
||||
self.frame = ''
|
||||
self.speed = "CRUISE"
|
||||
self._log_file = None
|
||||
@@ -29,11 +30,12 @@ class Ship(Base):
|
||||
fn = os.path.join(self.store.data_dir, f'{self.symbol}.{self.ext()}.log')
|
||||
self._log_file = open(fn, 'a')
|
||||
ts = strftime('%Y%m%d %H%M%S')
|
||||
sts = strftime('%H%M%S')
|
||||
m = m.strip()
|
||||
self._log_file.write(f'{ts} {m}\n')
|
||||
self._log_file.flush()
|
||||
if l <= self._log_level:
|
||||
print(f'{self} {ts} {m}')
|
||||
print(f'{self} {sts} {m}')
|
||||
|
||||
@classmethod
|
||||
def ext(self):
|
||||
@@ -139,6 +141,9 @@ class Ship(Base):
|
||||
role = self.role
|
||||
if role is None:
|
||||
role = 'none'
|
||||
crew = 'none'
|
||||
if self.crew is not None:
|
||||
crew = self.crew.symbol
|
||||
mstatus = self.mission_status
|
||||
if mstatus == 'error':
|
||||
mstatus = mstatus.upper()
|
||||
@@ -160,7 +165,7 @@ class Ship(Base):
|
||||
r += f' [C: {cooldown}]'
|
||||
else:
|
||||
r = f'== {self.symbol} {self.frame} ==\n'
|
||||
r += f'Role: {role}\n'
|
||||
r += f'Role: {crew} / {role}\n'
|
||||
r += f'Mission: {self.mission} ({mstatus})\n'
|
||||
for k, v in self.mission_state.items():
|
||||
if type(v) == list:
|
||||
|
||||
@@ -47,15 +47,15 @@ class Waypoint(Base):
|
||||
traits.append('MARKET')
|
||||
|
||||
|
||||
if self.type == 'ASTEROID':
|
||||
if 'COMMON_METAL_DEPOSITS' in self.traits:
|
||||
traits.append('METAL')
|
||||
if 'PRECIOUS_METAL_DEPOSITS' in self.traits:
|
||||
traits.append('GOLD')
|
||||
if 'MINERAL_DEPOSITS' in self.traits:
|
||||
traits.append('MINS')
|
||||
if 'STRIPPED' in self.traits:
|
||||
traits.append('STRIPPED')
|
||||
|
||||
if 'COMMON_METAL_DEPOSITS' in self.traits:
|
||||
traits.append('METAL')
|
||||
if 'PRECIOUS_METAL_DEPOSITS' in self.traits:
|
||||
traits.append('GOLD')
|
||||
if 'MINERAL_DEPOSITS' in self.traits:
|
||||
traits.append('MINS')
|
||||
if 'STRIPPED' in self.traits:
|
||||
traits.append('STRIPPED')
|
||||
return traits
|
||||
|
||||
def f(self, detail=1):
|
||||
|
||||
Reference in New Issue
Block a user