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)
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)
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)
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)
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)
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)