Beispiel #1
0
    def __init__(self, ws_client, rule_ctrl, map_ctrl, player_ctrl, city_ctrl,
                 dipl_ctrl):
        CivPropController.__init__(self, ws_client)
        self.units = {}
        self.rule_ctrl = rule_ctrl
        self.map_ctrl = map_ctrl
        self.player_ctrl = player_ctrl
        self.city_ctrl = city_ctrl
        self.dipl_ctrl = dipl_ctrl

        self.base_action = UnitAction(None)

        self.prop_state = UnitState(self, rule_ctrl, city_ctrl)
        self.prop_actions = UnitActions(ws_client, self, rule_ctrl,
                                        player_ctrl, map_ctrl, city_ctrl)

        self.space_ctrl = SpaceCtrl(ws_client, player_ctrl)

        self.register_handler(44, "handle_city_name_suggestion_info")

        self.register_handler(62, "handle_unit_remove")
        self.register_handler(63, "handle_unit_info")
        self.register_handler(64, "handle_unit_short_info")
        self.register_handler(65, "handle_unit_combat_info")
        self.register_handler(85, "handle_unit_action_answer")
        self.register_handler(90, "handle_unit_actions")

        self.register_handler(45, "handle_city_sabotage_list")

        self.register_handler(18, "handle_nuke_tile_info")
        self.register_handler(241, "handle_worker_task")
        #self.register_handler(258, "handle_goto_path")

        #self.unit_action_ctrl.register_with_parent(self)
        self.space_ctrl.register_with_parent(self)
Beispiel #2
0
    def __init__(self, ws_client):
        CivPropController.__init__(self, ws_client)

        self.register_handler(13, "handle_scenario_description")
        self.register_handler(180, "handle_scenario_info")

        self.register_handler(163, "handle_game_load")

        self.register_handler(255, "handle_calendar_info")

        self.register_handler(110, "handle_page_msg")
        self.register_handler(250, "handle_page_msg_part")
        self.register_handler(19, "handle_team_name_info")

        self.register_handler(185, "handle_vote_new")
        self.register_handler(186, "handle_vote_update")
        self.register_handler(187, "handle_vote_remove")
        self.register_handler(188, "handle_vote_resolve")

        self.register_handler(204, "handle_edit_startpos")
        self.register_handler(205, "handle_edit_startpos_full")
        self.register_handler(219, "handle_edit_object_created")

        self.register_handler(223, "handle_endgame_player")
        self.register_handler(238, "handle_achievement_info")
        self.register_handler(245, "handle_play_music")
        self.register_handler(260, "handle_info_text_message")

        self.calendar_info = {}
        self.scenario_info = {}
        self.page_msg = {}

        self.prop_state = GameState(self.scenario_info, self.calendar_info)
        self.prop_actions = NoActions(ws_client)
Beispiel #3
0
    def __init__(self, ws_client, rule_ctrl, player_ctrl):
        CivPropController.__init__(self, ws_client)
        self.rule_ctrl = rule_ctrl
        self.player_ctrl = player_ctrl
        self.reqtree = None

        self.prop_state = TechState(rule_ctrl, self)
        self.prop_actions = TechActions(ws_client, rule_ctrl)
        self.is_tech_tree_init = False
        self.wikipedia_url = "http://en.wikipedia.org/wiki/"
Beispiel #4
0
    def init_controller(self):
        CivPropController.__init__(self, self.ws_client)

        self.register_handler(25, "handle_chat_msg")
        self.register_handler(28, "handle_early_chat_msg")

        self.register_handler(115, "handle_conn_info")
        self.register_handler(126, "handle_start_phase")
        self.register_handler(125, "handle_end_phase")

        self.register_handler(128, "handle_begin_turn")
        self.register_handler(129, "handle_end_turn")

        self.game_ctrl = GameCtrl(self.ws_client)
        self.opt_ctrl = OptionCtrl(self.ws_client)
        self.rule_ctrl = RulesetCtrl(self.ws_client)
        self.map_ctrl = MapCtrl(self.ws_client, self.rule_ctrl)

        self.clstate = ClientState(self.ws_client, self.rule_ctrl)

        self.dipl_ctrl = DiplomacyCtrl(self.ws_client, self.clstate,
                                       self.rule_ctrl, self.bot)
        self.player_ctrl = PlayerCtrl(self.ws_client, self.clstate,
                                      self.rule_ctrl, self.dipl_ctrl)

        self.tech_ctrl = TechCtrl(self.ws_client, self.rule_ctrl,
                                  self.player_ctrl)
        self.city_ctrl = CityCtrl(self.ws_client, self.rule_ctrl,
                                  self.player_ctrl, self.clstate,
                                  self.game_ctrl, self.map_ctrl)

        self.unit_ctrl = UnitCtrl(self.ws_client, self.rule_ctrl,
                                  self.map_ctrl, self.player_ctrl,
                                  self.city_ctrl, self.dipl_ctrl)

        self.gov_ctrl = GovernmentCtrl(self.ws_client, self.city_ctrl,
                                       self.rule_ctrl)

        self.controller_list = {
            "game": self.game_ctrl,
            "rules": self.rule_ctrl,
            "map": self.map_ctrl,
            "player": self.player_ctrl,
            "city": self.city_ctrl,
            "tech": self.tech_ctrl,
            "unit": self.unit_ctrl,
            "options": self.opt_ctrl,
            "dipl": self.dipl_ctrl,
            "gov": self.gov_ctrl,
            "client": self.clstate
        }
        for ctrl in self.controller_list:
            self.controller_list[ctrl].register_with_parent(self)
Beispiel #5
0
    def __init__(self, ws_client, rule_ctrl):
        CivPropController.__init__(self, ws_client)
        self.map = {}
        self.tiles = []
        self.player_map = {}
        self.player_map["status"] = None
        self.player_map["terrain"] = None
        self.player_map["extras"] = None
         
        self.rule_ctrl = rule_ctrl
        self.prop_state = MapState(self.player_map)
        self.prop_actions = NoActions(ws_client)

        self.register_handler(15, "handle_tile_info")
        self.register_handler(17, "handle_map_info")
        self.register_handler(253, "handle_set_topology")
Beispiel #6
0
    def __init__(self, ws_client, clstate, rule_ctrl, dipl_ctrl):
        CivPropController.__init__(self, ws_client)
        self.register_handler(50, "handle_player_remove")
        self.register_handler(51, "handle_player_info")
        self.register_handler(58, "handle_player_attribute_chunk")
        self.register_handler(60, "handle_research_info")

        self.clstate = clstate
        self.rule_ctrl = rule_ctrl
        self.dipl_ctrl = dipl_ctrl
        self.players = {}
        self.research_data = {}
        self.endgame_player_info = []

        self.prop_state = PlayerState(rule_ctrl, self, clstate,
                                      dipl_ctrl.diplstates, self.players)
        self.prop_actions = PlayerOptions(ws_client, rule_ctrl, self.players,
                                          clstate)
Beispiel #7
0
    def __init__(self, ws_client, clstate, ruleset, dipl_evaluator):
        CivPropController.__init__(self, ws_client)
        self.diplstates = {}
        self.diplomacy_request_queue = []
        self.diplomacy_clause_map = {}
        self.active_diplomacy_meeting_id = None
        self.ruleset = ruleset
        self.clstate = clstate
        self.prop_state = DiplomacyState(self.diplstates)
        self.prop_actions = NoActions(ws_client)
        self.dipl_evaluator = dipl_evaluator

        self.register_handler(59, "handle_player_diplstate")
        self.register_handler(96, "handle_diplomacy_init_meeting")
        self.register_handler(98, "handle_diplomacy_cancel_meeting")
        self.register_handler(100, "handle_diplomacy_create_clause")
        self.register_handler(102, "handle_diplomacy_remove_clause")
        self.register_handler(104, "handle_diplomacy_accept_treaty")
Beispiel #8
0
    def __init__(self, ws_client, rule_ctrl):
        CivPropController.__init__(self, ws_client)
        self.rule_ctrl = rule_ctrl
        self.civclient_state = C_S_INITIAL
        self.connect_error = False
        self.oldstate = -1
        self.prop_actions = NoActions(ws_client)
        self.prop_state = EmptyState()
        
        self.client = {}
        self.client["conn"] = {}
        self.client_frozen = False

        self.connections = {}
        self.conn_ping_info = {}
        self.debug_active = False
        self.debug_ping_list = []
        self.ping_last = None

        self.observing = False
        self.metamessage_changed = False

        self.phase_start_time = 0
        self.last_turn_change_time = 0
        self.turn_change_elapsed = 0
        self.seconds_to_phasedone = 0
        self.seconds_to_phasedone_sync = 0

        self.register_handler(0, "handle_processing_started")
        self.register_handler(1, "handle_processing_finished")

        self.register_handler(5, "handle_server_join_reply")
        self.register_handler(6, "handle_authentication_req")
        self.register_handler(8, "handle_server_shutdown")
        self.register_handler(27, "handle_connect_msg")
        self.register_handler(88, "handle_conn_ping")
        self.register_handler(244, "handle_timeout_info")

        self.register_handler(130, "handle_freeze_client")
        self.register_handler(131, "handle_thaw_client")

        self.register_handler(116, "handle_conn_ping_info")
Beispiel #9
0
    def __init__(self, ws_client=None,ruleset=None, player_ctrl=None, clstate=None, game_ctrl=None,
                 map_ctrl=None):
        CivPropController.__init__(self, ws_client)

        #self.register_handler(13, "handle_scenario_description")
        self.cities = {}
        self.city_trade_routes = {}
        self.player_ctrl = player_ctrl
        self.game_ctrl = game_ctrl
        self.rulectrl = ruleset
        self.map_ctrl = map_ctrl
        self.clstate = clstate

        self.prop_state = CityState(ruleset, self.cities)
        self.prop_actions = CityActions(ws_client, ruleset, self.cities, map_ctrl)
        
        self.register_handler(30, "handle_city_remove")
        self.register_handler(31, "handle_city_info")
        self.register_handler(32, "handle_city_short_info")
        self.register_handler(256, "handle_web_city_info_addition")
        self.register_handler(249, "handle_traderoute_info")
Beispiel #10
0
 def __init__(self, ws_client, rule_ctrl):
     CivPropController.__init__(self, ws_client)
     self.rule_ctrl = rule_ctrl
     self.spaceship_info = {}
     self.register_handler(137, "handle_spaceship_info")
Beispiel #11
0
 def __init__(self, ws_client, city_ctrl, rule_ctrl):
     CivPropController.__init__(self, ws_client)
     self.city_ctrl = city_ctrl
     self.rule_ctrl = rule_ctrl
     self.prop_state = GovState(rule_ctrl)
     self.prop_actions = GovActions(ws_client, rule_ctrl, city_ctrl)
Beispiel #12
0
    def __init__(self, ws_client):
        CivPropController.__init__(self, ws_client)

        self.register_handler(9, "handle_ruleset_tech_class")
        self.register_handler(12, "handle_endgame_report")

        self.register_handler(140, "handle_ruleset_unit")
        self.register_handler(141, "handle_ruleset_game")
        self.register_handler(142, "handle_ruleset_specialist")
        self.register_handler(143, "handle_ruleset_government_ruler_title")
        self.register_handler(144, "handle_ruleset_tech")
        self.register_handler(145, "handle_ruleset_government")
        self.register_handler(146, "handle_ruleset_terrain_control")
        self.register_handler(147, "handle_ruleset_nation_groups")
        self.register_handler(148, "handle_ruleset_nation")
        self.register_handler(149, "handle_ruleset_city")

        self.register_handler(150, "handle_ruleset_building")
        self.register_handler(151, "handle_ruleset_terrain")
        self.register_handler(152, "handle_ruleset_unit_class")
        self.register_handler(153, "handle_ruleset_base")
        self.register_handler(155, "handle_ruleset_control")

        self.register_handler(161, "handle_single_want_hack_reply")
        self.register_handler(162, "handle_ruleset_choices")

        self.register_handler(175, "handle_ruleset_effect")
        self.register_handler(177, "handle_ruleset_resource")

        self.register_handler(220, "handle_ruleset_road")
        self.register_handler(224, "handle_ruleset_disaster")
        self.register_handler(225, "handle_rulesets_ready")
        self.register_handler(226, "handle_ruleset_extra_flag")
        self.register_handler(227, "handle_ruleset_trade")
        self.register_handler(228, "handle_ruleset_unit_bonus")
        self.register_handler(229, "handle_ruleset_unit_flag")

        self.register_handler(230, "handle_ruleset_unit_class_flag")
        self.register_handler(231, "handle_ruleset_terrain_flag")
        self.register_handler(232, "handle_ruleset_extra")
        self.register_handler(233, "handle_ruleset_achievement")
        self.register_handler(234, "handle_ruleset_tech_flag")
        self.register_handler(235, "handle_ruleset_action_enabler")
        self.register_handler(236, "handle_ruleset_nation_sets")
        self.register_handler(237, "handle_nation_availability")

        self.register_handler(239, "handle_ruleset_style")
        self.register_handler(240, "handle_ruleset_music")
        #self.register_handler(243, "handle_ruleset_multiplier")
        self.register_handler(246, "handle_ruleset_action")
        self.register_handler(247, "handle_ruleset_description_part")
        self.register_handler(248, "handle_ruleset_goods")
        self.register_handler(251, "handle_ruleset_summary")
        self.register_handler(252, "handle_ruleset_action_auto")

        self.register_handler(16, "handle_game_info")
        self.register_handler(127, "handle_new_year")

        self.terrains = {}
        self.resources = {}
        self.unit_types = {}

        self.specialists = {}
        self.techs = {}
        self.actions = {}
        self.governments = {}
        self.goods = {}
        self.game_info = {}
        self.game_rules = {}
        self.ruleset_control = {}
        self.ruleset_summary = None
        self.ruleset_description = None
        self.terrain_control = None
        self.city_rules = {}
        self.improvements = {}
        self.nation_groups = None
        self.nations = {}
        self.effects = {}
        self.extras = {}

        self.prop_state = RuleState(self.game_info)
        self.prop_actions = NoActions(ws_client)
Beispiel #13
0
    def __init__(self, ws_client):
        CivPropController.__init__(self, ws_client)
        self.server_settings = {}
        self.prop_state = ServerState(self.server_settings)
        self.prop_actions = NoActions(ws_client)

        #/** Defaults for options normally on command line **/

        self.default_user_name = ""
        self.default_server_host = "localhost"
        #//var  default_server_port = DEFAULT_SOCK_PORT
        #//var default_metaserver = META_URL
        self.default_theme_name = "human"
        self.default_tileset_name = ""
        self.default_sound_set_name = "stdsounds"
        self.default_sound_plugin_name = ""

        self.sounds_enabled = True

        self.save_options_on_exit = TRUE
        self.fullscreen_mode = FALSE

        #/** Local Options: **/

        self.solid_color_behind_units = FALSE
        self.sound_bell_at_new_turn = FALSE
        self.smooth_move_unit_msec = 30
        self.smooth_center_slide_msec = 200
        self.do_combat_animation = TRUE
        self.ai_manual_turn_done = TRUE
        self.auto_center_on_unit = TRUE
        self.auto_center_on_combat = FALSE
        self.auto_center_each_turn = TRUE
        self.wakeup_focus = TRUE
        self.goto_into_unknown = TRUE
        self.center_when_popup_city = TRUE
        self.concise_city_production = FALSE
        self.auto_turn_done = FALSE
        self.meta_accelerators = TRUE
        self.ask_city_name = TRUE
        self.popup_new_cities = TRUE
        self.popup_actor_arrival = True
        self.keyboardless_goto = TRUE
        self.enable_cursor_changes = TRUE
        self.separate_unit_selection = FALSE
        self.unit_selection_clears_orders = TRUE
        self.highlight_our_names = "yellow"

        #/* This option is currently set by the client - not by the user. */
        self.update_city_text_in_refresh_tile = TRUE

        self.draw_city_outlines = TRUE
        self.draw_city_output = FALSE
        self.draw_map_grid = FALSE
        self.draw_city_names = TRUE
        self.draw_city_growth = TRUE
        self.draw_city_productions = FALSE
        self.draw_city_buycost = FALSE
        self.draw_city_traderoutes = FALSE
        self.draw_terrain = TRUE
        self.draw_coastline = FALSE
        self.draw_roads_rails = TRUE
        self.draw_irrigation = TRUE
        self.draw_mines = TRUE
        self.draw_fortress_airbase = TRUE
        self.draw_huts = TRUE
        self.draw_resources = TRUE
        self.draw_pollution = TRUE
        self.draw_cities = TRUE
        self.draw_units = TRUE
        self.draw_focus_unit = FALSE
        self.draw_fog_of_war = TRUE
        self.draw_borders = TRUE
        self.draw_full_citybar = TRUE
        self.draw_unit_shields = TRUE
        self.player_dlg_show_dead_players = TRUE
        self.reqtree_show_icons = TRUE
        self.reqtree_curved_lines = FALSE

        #/* gui-gtk-2.0 client specific options. */
        self.gui_gtk2_map_scrollbars = FALSE
        self.gui_gtk2_dialogs_on_top = TRUE
        self.gui_gtk2_show_task_icons = TRUE
        self.gui_gtk2_enable_tabs = TRUE
        self.gui_gtk2_better_fog = TRUE
        self.gui_gtk2_show_chat_message_time = FALSE
        self.gui_gtk2_split_bottom_notebook = FALSE
        self.gui_gtk2_new_messages_go_to_top = FALSE
        self.gui_gtk2_show_message_window_buttons = TRUE
        self.gui_gtk2_metaserver_tab_first = FALSE
        self.gui_gtk2_allied_chat_only = FALSE
        self.gui_gtk2_small_display_layout = FALSE

        self.register_handler(164, "handle_server_setting_control")
        self.register_handler(165, "handle_server_setting_const")
        self.register_handler(166, "handle_server_setting_bool")
        self.register_handler(167, "handle_server_setting_int")
        self.register_handler(168, "handle_server_setting_str")
        self.register_handler(169, "handle_server_setting_enum")
        self.register_handler(170, "handle_server_setting_bitwise")