Пример #1
0
 def _followup_attack(self, fleet):
     max_range = tool.subfleetMaxRange(self.client, self.db, None, fleet.oid)
     nearest_sys_ids = tool.findNearest(self.db, fleet, self.data.enemySystems & self.data.relevantSystems, max_range)
     if len(nearest_sys_ids):
         nearest_sys_id = nearest_sys_ids[0]
         tool.orderFleet(self.client, self.db, fleet.oid, Const.FLACTION_MOVE, nearest_sys_id, None)
     else:
         self._return_fleet(fleet)
Пример #2
0
 def _followup_attack(self, fleet):
     max_range = tool.subfleetMarange(self.client, self.db, None, fleet.oid)
     nearest_sys_ids = tool.findNearest(self.db, fleet, self.data.enemySystems & self.data.relevantSystems, max_range)
     if len(nearest_sys_ids):
         nearest_sys_id = nearest_sys_ids[0]
         tool.orderFleet(self.client, self.db, fleet.oid, Const.FLACTION_MOVE, nearest_sys_id, None)
     else:
         self._return_fleet(fleet)
Пример #3
0
 def _retreat_fleet(self, fleet):
     max_range = tool.subfleetMaxRange(self.client, self.db, None, fleet.oid)
     nearest_sys_ids = tool.findNearest(self.db, fleet, self.data.mySystems)
     if len(nearest_sys_ids):
         nearest_sys_id = nearest_sys_ids[0]
         target = self.db[nearest_sys_id]
         distance = math.hypot(target.x-fleet.x, target.y-fleet.y)
         if distance >= max_range:
             tool.orderFleet(self.client, self.db, fleet.oid, Const.FLACTION_MOVE, nearest_sys_id, None)
Пример #4
0
 def _return_strays(self):
     for fleetID in self.data.idleFleets:
         fleet = self.db[fleetID]
         # fleets orbiting in systems not belonging to the self.player
         if fleet.orbiting and fleet.orbiting not in self.data.mySystems:
             nearest = tool.findNearest(self.db, fleet, self.data.mySystems, 99999, 1)
             if len(nearest):
                 targetID = nearest[0]
                 tool.orderFleet(self.client, self.db, fleetID, Const.FLACTION_MOVE, targetID, None)
Пример #5
0
 def _retreat_fleet(self, fleet):
     max_range = tool.subfleetMarange(self.client, self.db, None, fleet.oid)
     nearest_sys_ids = tool.findNearest(self.db, fleet, self.data.mySystems)
     if len(nearest_sys_ids):
         nearest_sys_id = nearest_sys_ids[0]
         target = self.db[nearest_sys_id]
         distance = math.hypot(target.x-fleet.x, target.y-fleet.y)
         if distance >= max_range:
             tool.orderFleet(self.client, self.db, fleet.oid, Const.FLACTION_MOVE, nearest_sys_id, None)
Пример #6
0
 def _return_strays(self):
     for fleetID in self.data.idleFleets:
         fleet = self.db[fleetID]
         # fleets orbiting in systems not belonging to the self.player
         if fleet.orbiting and fleet.orbiting not in self.data.mySystems:
             nearest = tool.findNearest(self.db, fleet, self.data.mySystems,
                                        99999, 1)
             if len(nearest):
                 targetID = nearest[0]
                 tool.orderFleet(self.client, self.db, fleetID,
                                 Const.FLACTION_MOVE, targetID, None)
Пример #7
0
 def _return_fleet(self, fleet):
     nearest_sys_ids = tool.findNearest(self.db, fleet, self.data.mySystems)
     if len(nearest_sys_ids):
         nearest_sys_id = nearest_sys_ids[0]
         tool.orderFleet(self.client, self.db, fleet.oid,
                         Const.FLACTION_MOVE, nearest_sys_id, None)
Пример #8
0
 def _return_fleet(self, fleet):
     nearest_sys_ids = tool.findNearest(self.db, fleet, self.data.mySystems)
     if len(nearest_sys_ids):
         nearest_sys_id = nearest_sys_ids[0]
         tool.orderFleet(self.client, self.db, fleet.oid, Const.FLACTION_MOVE, nearest_sys_id, None)