these methods in turn activate other portions of the python AI code.""" from logging import debug, info, error, fatal from common.configure_logging import redirect_logging_to_freeorion_logger # Logging is redirected before other imports so that import errors appear in log files. redirect_logging_to_freeorion_logger() import sys import random import freeOrionAIInterface as fo # interface used to interact with FreeOrion AI client # pylint: disable=import-error from common.option_tools import parse_config, get_option_dict, check_bool parse_config(fo.getOptionsDBOptionStr("ai-config"), fo.getUserConfigDir()) from freeorion_tools import patch_interface patch_interface() import ColonisationAI import ExplorationAI import DiplomaticCorp import FleetUtilsAI import InvasionAI import MilitaryAI import PlanetUtilsAI import PriorityAI import ProductionAI import ResearchAI import ResourcesAI
from galaxy import calc_star_system_positions from starsystems import name_planets, generate_systems from empires import compile_home_system_list, setup_empire from fields import generate_fields from natives import generate_natives from monsters import generate_monsters from specials import distribute_specials from util import int_hash, seed_rng, report_error, error_list from universe_tables import MAX_JUMPS_BETWEEN_SYSTEMS, MAX_STARLANE_LENGTH import universe_statistics from common import six from common.handlers import init_handlers from common.listeners import listener from common.option_tools import parse_config parse_config(fo.get_options_db_option_str("ai-config"), fo.get_user_config_dir()) init_handlers(fo.get_options_db_option_str("ai-config"), None) class PyGalaxySetupData: """ Class used to store and manage a copy of the galaxy setup data provided by the FreeOrion interface. This data can then be modified when needed during the universe generation process, without having to change the original data structure. """ def __init__(self, galaxy_setup_data): self.seed = galaxy_setup_data.seed self.size = galaxy_setup_data.size self.shape = galaxy_setup_data.shape self.age = galaxy_setup_data.age self.starlane_frequency = galaxy_setup_data.starlaneFrequency
from starnames import name_star_systems from galaxy import calc_star_system_positions from starsystems import name_planets, generate_systems from empires import compile_home_system_list, setup_empire from fields import generate_fields from natives import generate_natives from monsters import generate_monsters from specials import distribute_specials from util import int_hash, seed_rng, report_error, error_list from universe_tables import MAX_JUMPS_BETWEEN_SYSTEMS, MAX_STARLANE_LENGTH import universe_statistics from common.handlers import init_handlers from common.listeners import listener from common.option_tools import parse_config parse_config(fo.get_options_db_option_str("ai-config"), fo.get_user_config_dir()) init_handlers(fo.get_options_db_option_str("ai-config"), None) class PyGalaxySetupData: """ Class used to store and manage a copy of the galaxy setup data provided by the FreeOrion interface. This data can then be modified when needed during the universe generation process, without having to change the original data structure. """ def __init__(self, galaxy_setup_data): self.seed = galaxy_setup_data.seed self.size = galaxy_setup_data.size self.shape = galaxy_setup_data.shape self.age = galaxy_setup_data.age self.starlane_frequency = galaxy_setup_data.starlaneFrequency
"""The FreeOrionAI module contains the methods which can be made by the C AIInterface; these methods in turn activate other portions of the python AI code.""" import pickle # Python object serialization library import sys import random # IMPORTANT! this import also execute python code to update freeOrionAIInterface interface, # removing this import will brake AI in unexpected way. import freeOrionAIInterface as fo # interface used to interact with FreeOrion AI client # pylint: disable=import-error from common.option_tools import parse_config parse_config(fo.getAIConfigStr(), fo.getUserConfigDir()) from freeorion_tools import patch_interface patch_interface() import AIstate import ColonisationAI import ExplorationAI import DiplomaticCorp import FleetUtilsAI import InvasionAI import MilitaryAI import PlanetUtilsAI import PriorityAI import ProductionAI import ResearchAI import ResourcesAI from freeorion_tools import UserStringList, chat_on_error, print_error, UserString, handle_debug_chat, Timer, init_handlers from common.listeners import listener
"""The FreeOrionAI module contains the methods which can be made by the C AIInterface; these methods in turn activate other portions of the python AI code.""" import pickle # Python object serialization library import sys import random from common import configure_logging import freeOrionAIInterface as fo # interface used to interact with FreeOrion AI client # pylint: disable=import-error from common.option_tools import parse_config parse_config(fo.getAIConfigStr(), fo.getUserConfigDir()) from freeorion_tools import patch_interface patch_interface() import AIstate import ColonisationAI import ExplorationAI import DiplomaticCorp import FleetUtilsAI import InvasionAI import MilitaryAI import PlanetUtilsAI import PriorityAI import ProductionAI import ResearchAI import ResourcesAI import TechsListsAI from freeorion_tools import UserStringList, chat_on_error, print_error, UserString, handle_debug_chat, Timer, init_handlers from common.listeners import listener