def generateResearchOrders_old(): "generate research orders" empire = fo.getEmpire() print "Research Queue Management:" print "" print "Techs researched and available for use:" completedTechs = getCompletedTechs() for techname in completedTechs: print " " + techname print"" print "Techs currently in Research Queue:" researchQueue = empire.researchQueue researchQueueList = getResearchQueueTechs() for element in researchQueue: print " " + element.tech print "" # get the highest research priorities print "Research Queue Priorities:" researchPriorities = {} for priorityType in getAIPriorityResearchTypes(): researchPriorities[priorityType] = foAI.foAIstate.getPriority(priorityType) sortedPriorities = researchPriorities.items() sortedPriorities.sort(lambda x,y: cmp(x[1], y[1]), reverse=True) topPriority = -1 for evaluationPair in sortedPriorities: if topPriority < 0: topPriority = evaluationPair[0] print " ID|Score: " + str(evaluationPair) print " Top Research Queue Priority: " + str(topPriority) print "" if topPriority == AIPriorityType.PRIORITY_RESEARCH_LEARNING: primaryLearningTechs = TechsListsAI.primaryLearningTechsList() pLTsToEnqueue = (set(primaryLearningTechs)-(set(completedTechs)|set(researchQueueList))) if not pLTsToEnqueue: print "All primaryLearningTechs are enqueued or completed." print"" generateDefaultResearchOrders() else: for name in pLTsToEnqueue: fo.issueEnqueueTechOrder(name, -1) print " Enqueued Tech: " + name print"" generateDefaultResearchOrders() elif topPriority == AIPriorityType.PRIORITY_RESEARCH_GROWTH: primaryGroTechs = TechsListsAI.primaryGroTechsList() pGTsToEnqueue = (set(primaryGroTechs)-(set(completedTechs)|set(researchQueueList))) if not pGTsToEnqueue: print "All primaryGrowthTechs are enqueued or completed." print"" generateDefaultResearchOrders() else: for name in pGTsToEnqueue: fo.issueEnqueueTechOrder(name, -1) print " Enqueued Tech: " + name print "" generateDefaultResearchOrders() elif topPriority == AIPriorityType.PRIORITY_RESEARCH_PRODUCTION: generateDefaultResearchOrders() elif topPriority == AIPriorityType.PRIORITY_RESEARCH_CONSTRUCTION: generateDefaultResearchOrders() elif topPriority == AIPriorityType.PRIORITY_RESEARCH_ECONOMICS: generateDefaultResearchOrders() elif topPriority == AIPriorityType.PRIORITY_RESEARCH_SHIPS: primaryShipsTechs = TechsListsAI.primaryShipsTechsList() pSTsToEnqueue = (set(primaryShipsTechs)-(set(completedTechs)|set(researchQueueList))) if not pSTsToEnqueue: print "All primaryShipsTechs are enqueued or completed." generateDefaultResearchOrders() print "" else: for name in pSTsToEnqueue: fo.issueEnqueueTechOrder(name, -1) print " Enqueued Tech: " + name print "" generateDefaultResearchOrders()