def getMilitaryFleets(): "get armed military fleets" allMilitaryFleetIDs = FleetUtilsAI.getEmpireFleetIDsByRole(AIFleetMissionType.FLEET_MISSION_MILITARY) AIstate.militaryFleetIDs = FleetUtilsAI.extractFleetIDsWithoutMissionTypes(allMilitaryFleetIDs) # get systems to defend universe = fo.getUniverse() empire = fo.getEmpire() empireID = empire.empireID capitalID = empire.capitalID capitalPlanet = universe.getPlanet(capitalID) capitalPlanetSystem = capitalPlanet.systemID capitalSystemID = [] capitalSystemID.append(capitalPlanetSystem) fleetSupplyableSystemIDs = list(empire.fleetSupplyableSystemIDs) exploredSystemIDs = empire.exploredSystemIDs # print "Explored SystemIDs: " + str(list(exploredSystemIDs)) exploredPlanetIDs = PlanetUtilsAI.getPlanetsInSystemsIDs(exploredSystemIDs) allOwnedPlanetIDs = PlanetUtilsAI.getAllOwnedPlanetIDs(exploredPlanetIDs) allPopulatedSystemIDs = PlanetUtilsAI.getAllPopulatedSystemIDs(allOwnedPlanetIDs) print "" print "All Populated SystemIDs: " + str(list(set(allPopulatedSystemIDs))) empirePlanetIDs = PlanetUtilsAI.getOwnedPlanetsByEmpire(universe.planetIDs, empireID) empireOccupiedSystemIDs = list(set(PlanetUtilsAI.getSystemsOccupiedByEmpire(empirePlanetIDs, empireID))) print "" print "Empire Capital SystemID: " + str(capitalSystemID) # print "Empire Occupied SystemIDs: " + str(empireOccupiedSystemIDs) empireProvinceSystemIDs = list(set(empireOccupiedSystemIDs) - set(capitalSystemID)) print "Empire Province SystemIDs: " + str(empireProvinceSystemIDs) competitorSystemIDs = list(set(allPopulatedSystemIDs) - set(empireOccupiedSystemIDs)) print "Competitor SystemIDs: " + str(competitorSystemIDs) otherTargetedSystemIDs = list(set(AIstate.colonyTargetedSystemIDs + AIstate.outpostTargetedSystemIDs + AIstate.invasionTargetedSystemIDs)) print "Other Targeted SystemIDs: " + str(otherTargetedSystemIDs) militaryTheaterSystemIDs = list(set(fleetSupplyableSystemIDs + empireOccupiedSystemIDs + competitorSystemIDs + otherTargetedSystemIDs)) print "Military Theater SystemIDs: " + str(militaryTheaterSystemIDs) allMilitaryTargetedSystemIDs = getMilitaryTargetedSystemIDs(universe.systemIDs, AIFleetMissionType.FLEET_MISSION_MILITARY, empireID) # export military targeted systems for other AI modules AIstate.militaryTargetedSystemIDs = allMilitaryTargetedSystemIDs print "" print "Military Targeted SystemIDs: " + str(allMilitaryTargetedSystemIDs) militaryFleetIDs = allMilitaryFleetIDs if not militaryFleetIDs: print "Available Military Fleets: 0" else: print "Military FleetIDs: " + str(allMilitaryFleetIDs) numMilitaryFleets = len(FleetUtilsAI.extractFleetIDsWithoutMissionTypes(militaryFleetIDs)) print "Military Fleets Without Missions: " + str(numMilitaryFleets) evaluatedSystemIDs = list(set(militaryTheaterSystemIDs) - set(allMilitaryTargetedSystemIDs)) # print "Evaluated SystemIDs: " +str(evaluatedSystemIDs) evaluatedSystems = assignMilitaryValues(evaluatedSystemIDs, AIFleetMissionType.FLEET_MISSION_MILITARY, empireProvinceSystemIDs, otherTargetedSystemIDs, empire) sortedSystems = evaluatedSystems.items() sortedSystems.sort(lambda x, y: cmp(x[1], y[1]), reverse=True) print "" print "Military SystemIDs:" for evaluationPair in sortedSystems: print " ID|Score: " + str(evaluationPair) # export military systems for other AI modules AIstate.militarySystemIDs = sortedSystems