private async Task get_Procesar_hechizo()
        {
            if (cuenta?.esta_luchando() == false || configuracion == null)
            {
                return;
            }

            if (hechizo_lanzado_index >= configuracion.hechizos.Count)
            {
                await get_Fin_Turno();

                return;
            }

            HechizoPelea hechizo_actual = configuracion.hechizos[hechizo_lanzado_index];

            if (hechizo_actual.lanzamientos_restantes == 0)
            {
                await get_Procesar_Siguiente_Hechizo(hechizo_actual);

                return;
            }

            ResultadoLanzandoHechizo resultado = await manejador_hechizos.manejador_Hechizos(hechizo_actual);

            switch (resultado)
            {
            case ResultadoLanzandoHechizo.NO_LANZADO:
                await get_Procesar_Siguiente_Hechizo(hechizo_actual);

                if (GlobalConf.mostrar_mensajes_debug)
                {
                    cuenta.logger.log_informacion("DEBUG", $"Hechizo {hechizo_actual.nombre} no lanzado");
                }
                break;

            case ResultadoLanzandoHechizo.LANZADO:
                hechizo_actual.lanzamientos_restantes--;
                esperando_sequencia_fin = true;

                if (GlobalConf.mostrar_mensajes_debug)
                {
                    cuenta.logger.log_informacion("DEBUG", $"Hechizo {hechizo_actual.nombre} lanzado");
                }
                break;

            case ResultadoLanzandoHechizo.MOVIDO:
                esperando_sequencia_fin = true;

                if (GlobalConf.mostrar_mensajes_debug)
                {
                    cuenta.logger.log_informacion("DEBUG", $"El bot se ha desplazado porque no ha podido lanzar {hechizo_actual.nombre} ");
                }
                break;
            }
        }
        private async Task get_Procesar_hechizo()
        {
            if (cuenta?.IsFighting() == false || configuracion == null)
            {
                return;
            }

            if (hechizo_lanzado_index >= configuracion.hechizos.Count)
            {
                await get_Fin_Turno();

                return;
            }

            HechizoPelea hechizo_actual = configuracion.hechizos[hechizo_lanzado_index];

            if (hechizo_actual.lanzamientos_restantes == 0)
            {
                await get_Procesar_Siguiente_Hechizo(hechizo_actual);

                return;
            }

            ResultadoLanzandoHechizo resultado = await manejador_hechizos.manejador_Hechizos(hechizo_actual, pelea.account.capturefight);

            switch (resultado)
            {
            case ResultadoLanzandoHechizo.CAPTURE_LANZADO:
                hechizo_actual = configuracion.hechizos.FirstOrDefault(o => o.id == 413);
                hechizo_actual.lanzamientos_restantes--;
                esperando_sequencia_fin = true;

                break;

            case ResultadoLanzandoHechizo.CAPTURE_NO_LANZADO:
                hechizo_actual = configuracion.hechizos.FirstOrDefault(o => o.id == 413);
                await get_Procesar_Siguiente_Hechizo(hechizo_actual);

                break;

            case ResultadoLanzandoHechizo.NO_LANZADO:
                await get_Procesar_Siguiente_Hechizo(hechizo_actual);

                break;

            case ResultadoLanzandoHechizo.LANZADO:
                hechizo_actual.lanzamientos_restantes--;
                esperando_sequencia_fin = true;
                break;

            case ResultadoLanzandoHechizo.MOVIDO:
                esperando_sequencia_fin = true;
                break;
            }
        }
Exemple #3
0
        private async Task get_Procesar_hechizo()
        {
            if (cuenta?.esta_Luchando() == false || configuracion == null)
            {
                return;
            }

            if (hechizo_index >= hechizos.Count)
            {
                await antes_Fin_Turno();

                return;
            }

            PeleaHechizos hechizo_actual = hechizos[hechizo_index];

            if (hechizo_actual.lanzamientos_restantes == 0)
            {
                await get_Procesar_Siguiente_Hechizo(hechizo_actual, true);

                return;
            }

            if (!(turno == 1 || hechizo_actual.turno_lanzado == 0 || turno == (hechizo_actual.turno_lanzado + 1)))
            {
                await get_Procesar_Siguiente_Hechizo(hechizo_actual);

                return;
            }

            ResultadoLanzandoHechizo resultado = await manejador_hechizos.manejador_Hechizos(hechizo_actual);

            switch (resultado)
            {
            case ResultadoLanzandoHechizo.NO_LANZADO:
                await get_Procesar_Siguiente_Hechizo(hechizo_actual);

                break;

            case ResultadoLanzandoHechizo.LANZADO:
                hechizo_lanzado = true;
                hechizo_actual.lanzamientos_restantes--;
                esperando_sequencia = true;
                break;

            case ResultadoLanzandoHechizo.MOVIDO:
                esperando_sequencia = true;
                break;
            }
        }
        // Token: 0x0600019D RID: 413 RVA: 0x000074B0 File Offset: 0x000058B0
        public async Task <ResultadoLanzandoHechizo> manejador_Hechizos(HechizoPelea hechizo)
        {
            bool flag = hechizo.focus == HechizoFocus.CELL_VIDE;
            ResultadoLanzandoHechizo result;

            if (flag)
            {
                ResultadoLanzandoHechizo resultadoLanzandoHechizo = await this.lanzar_Hechizo_Celda_Vacia(hechizo);

                result = resultadoLanzandoHechizo;
            }
            else if (hechizo.metodo_lanzamiento == MetodoLanzamiento.CAC_ET_DISTANCE)
            {
                ResultadoLanzandoHechizo resultadoLanzandoHechizo2 = await this.get_Lanzar_Hechizo_Simple(hechizo);

                result = resultadoLanzandoHechizo2;
            }
            else if (hechizo.metodo_lanzamiento == MetodoLanzamiento.DISTANCE && !this.cuenta.juego.pelea.esta_Cuerpo_A_Cuerpo_Con_Enemigo(null))
            {
                ResultadoLanzandoHechizo resultadoLanzandoHechizo3 = await this.get_Lanzar_Hechizo_Simple(hechizo);

                result = resultadoLanzandoHechizo3;
            }
            else if (hechizo.metodo_lanzamiento == MetodoLanzamiento.CAC && this.cuenta.juego.pelea.esta_Cuerpo_A_Cuerpo_Con_Enemigo(null))
            {
                ResultadoLanzandoHechizo resultadoLanzandoHechizo4 = await this.get_Lanzar_Hechizo_Simple(hechizo);

                result = resultadoLanzandoHechizo4;
            }
            else if (hechizo.metodo_lanzamiento == MetodoLanzamiento.CAC && !this.cuenta.juego.pelea.esta_Cuerpo_A_Cuerpo_Con_Enemigo(null))
            {
                ResultadoLanzandoHechizo resultadoLanzandoHechizo5 = await this.get_Mover_Lanzar_hechizo_Simple(hechizo, this.get_Objetivo_Mas_Cercano(hechizo));

                result = resultadoLanzandoHechizo5;
            }
            else
            {
                result = ResultadoLanzandoHechizo.NO_LANZADO;
            }
            return(result);
        }