Beispiel #1
0
    def path_battle(self):
        game.combat_map_moving()
        game.combat_formation_line()
        request = game.combat_battle(self.should_night_battle())
        game.combat_result()
        battle_result = battle.battle_analyze(request)

        if battle_result == battle.BattleResult.Flagship_Damaged:
            game.combat_retreat_flagship_damaged()
            self.cell_no = 0
            return self.port

        if battle_result == battle.BattleResult.Ship_Damaged:
            game.combat_retreat()
            self.cell_no = 0
            return self.port

        if battle_result == battle.BattleResult.Safe:
            req_ship_deck, req_next = game.combat_advance()
            if battle.advance_has_damaged_ship(req_ship_deck):
                game.poi_refresh_page()
                raise Exception("battle_analyze_failure")

            else:
                self.cell_no = req_next.body["api_no"]
                return self.path_dict.get(self.cell_no, None)
Beispiel #2
0
    def spot_battle(self):
        spot = self.spot_list[self.spot_no]
        if spot.compass:
            game.combat_compass()
        game.combat_map_moving()
        if spot.enemy_detection:
            game.combat_map_enemy_animation()
        if spot.enemy_animation:
            game.combat_map_enemy_animation()
        if self.auto_formation and spot.formation is not None:
            spot.formation()
        if spot.boss_dialog:
            game.combat_boss_dialog()

        if self.auto_night:
            battle_request = game.combat_battle(self.should_night_battle())
        else:
            battle_request = api_server.wait('/kcsapi/api_req_sortie/battle')

        self.fleet_status = battle.battle_analyze(
            battle_request, combined=self.fleet_combined)
        game.combat_result()
        if spot.final:
            api_server.wait("/kcsapi/api_get_member/useitem")
            self.spot_no = 0
            return self.end

        elif self.auto_advance:
            if self.fleet_status == battle.BattleResult.Flagship_Damaged:
                game.combat_retreat_flagship_damaged()
                self.spot_no = 0
                return self.end

            if self.fleet_status == battle.BattleResult.Ship_Damaged:
                game.combat_retreat()
                self.spot_no = 0
                return self.end

            if self.should_retreat():
                game.combat_retreat()
                self.spot_no = 0
                return self.end

            if self.fleet_status == battle.BattleResult.Safe:
                req_ship_deck, req_next = game.combat_advance()
                if battle.advance_has_damaged_ship(req_ship_deck):
                    self.fleet_status = battle.BattleResult.Ship_Damaged
                    game.poi_refresh_page()
                    raise Exception("BattleAnalyzeFailure")

                else:
                    self.spot_no = req_next.body["api_no"]
                    return self.spot_dispatcher

        else:
            req_next = game.combat_map_next()
            self.spot_no = req_next.body["api_no"]
            return self.spot_dispatcher
Beispiel #3
0
def auto_15_single():
    game.set_foremost()

    while True:
        request = game.dock_back_to_port()
        if battle.port_has_damaged_ship(request):
            break

        game.port_open_panel_sortie()
        game.sortie_select(1, 5)
        game.sortie_confirm()

        game.combat_map_loading()
        game.combat_map_moving()
        game.combat_formation_abreast()

        game.combat_battle(False)
        game.combat_result()
        request = game.combat_retreat()

        game.port_open_panel_supply()
        time.sleep(7)
        game.supply_current_fleet()

        if battle.port_has_damaged_ship(request):
            game.dock_open_panel_organize()
            break
Beispiel #4
0
def auto_52c():
    game.set_foremost()

    damaged = False
    request = game.dock_back_to_port()

    while True:
        # for i in range(1, 18):
        for i in range(1, 5):
            if battle.port_has_damaged_ship(request):
                damaged = True
                break

            game.port_open_panel_sortie()
            game.sortie_select(5, 2)
            game.sortie_confirm()

            game.combat_map_loading()
            game.combat_compass()
            game.combat_map_moving()
            game.combat_map_moving()
            game.combat_formation_diamond()

            game.combat_battle(False)
            game.combat_result()
            request = game.combat_retreat()

        if (damaged or battle.port_has_damaged_ship(request)):
            game.port_open_panel_organize()
            break
        else:
            game.port_open_panel_supply()
            time.sleep(1.3)
            game.supply_current_fleet()
            game.dock_back_to_port()
Beispiel #5
0
def auto_3_2():
    game.set_foremost()

    while True:
        request = game.dock_back_to_port()
        if battle.port_has_damaged_ship(request):
            break

        game.port_open_panel_sortie()
        game.sortie_select(3, 2)
        game.sortie_confirm()

        game.combat_map_loading()
        game.combat_compass()
        game.combat_map_moving()
        game.combat_formation_double()

        game.combat_result()
        request = game.combat_retreat()

        game.port_open_panel_supply()
        game.supply_current_fleet()

        if battle.port_has_damaged_ship(request):
            game.dock_open_panel_organize()
            break