def calculateOutpostPriority(): "calculates the demand for outpost ships by colonisable planets" numOutpostPlanetIDs = len(foAI.foAIstate.colonisableOutpostIDs) completedTechs = getCompletedTechs() if numOutpostPlanetIDs == 0 or not 'CON_ENV_ENCAPSUL' in completedTechs: return 0 outpostShipIDs = FleetUtilsAI.getEmpireFleetIDsByRole(AIFleetMissionType.FLEET_MISSION_OUTPOST) numOutpostShips = len(FleetUtilsAI.extractFleetIDsWithoutMissionTypes(outpostShipIDs)) outpostPriority = 102 * (numOutpostPlanetIDs - numOutpostShips) / numOutpostPlanetIDs # print "" # print "Number of Outpost Ships : " + str(numOutpostShips) # print "Number of Colonisable outposts: " + str(numOutpostPlanetIDs) print "Priority for outpost ships : " + str(outpostPriority) if outpostPriority < 0: return 0 return outpostPriority
def calculateOutpostPriority(): "calculates the demand for outpost ships by colonisable planets" baseOutpostCost=80 numOutpostPlanetIDs = len(foAI.foAIstate.colonisableOutpostIDs) numOutpostPlanetIDs = len( [ pid for (pid, (score, specName) ) in foAI.foAIstate.colonisableOutpostIDs if score > 1.0*baseOutpostCost/3.0 ][:allottedColonyTargets] ) completedTechs = getCompletedTechs() if numOutpostPlanetIDs == 0 or not 'CON_ENV_ENCAPSUL' in completedTechs: return 0 outpostShipIDs = FleetUtilsAI.getEmpireFleetIDsByRole(AIFleetMissionType.FLEET_MISSION_OUTPOST) numOutpostShips = len(FleetUtilsAI.extractFleetIDsWithoutMissionTypes(outpostShipIDs)) outpostPriority = 102 * (numOutpostPlanetIDs - numOutpostShips) / numOutpostPlanetIDs # print "" # print "Number of Outpost Ships : " + str(numOutpostShips) # print "Number of Colonisable outposts: " + str(numOutpostPlanetIDs) print "Priority for outpost ships : " + str(outpostPriority) if outpostPriority < 1: return 1 return outpostPriority