Example #1
0
        private Luchadores get_Objetivo_Mas_Cercano(PeleaHechizos hechizo)
        {
            if (hechizo.focus == HechizoFocus.ENCIMA)
            {
                return(pelea.jugador_luchador);
            }

            if (hechizo.focus == HechizoFocus.CELDA_VACIA)
            {
                return(null);
            }

            //TODO: esta vivo, evitar invocaciones, % vida, % resistencias
            bool filtro(Luchadores luchador)
            {
                if (cuenta.pelea_extension.configuracion.ignorar_invocaciones && luchador.es_invocacion)
                {
                    return(false);
                }

                return(luchador.porcentaje_vida <= hechizo.vida_objetivo);
            }

            return(hechizo.focus == HechizoFocus.ENEMIGO ? pelea.get_Enemigo_Mas_Cercano(filtro) : pelea.get_Obtener_Aliado_Mas_Cercano(filtro));
        }
Example #2
0
        private async Task antes_Fin_Turno()
        {
            if (!pelea.turno_actual)
            {
                return;
            }

            if (configuracion.tactica == Tactica.PASIVA)
            {
                await fin_Turno(400);

                return;
            }

            if (pelea.esta_Cuerpo_A_Cuerpo_Con_Enemigo() && configuracion.tactica == Tactica.AGRESIVA)
            {
                await fin_Turno(400);

                return;
            }

            if (pelea.jugador_luchador.pm > 0 && pelea.get_Enemigos.Any())
            {
                bool cercano = configuracion.tactica == Tactica.AGRESIVA || !hechizo_lanzado;
                await get_Mover(cercano, pelea.get_Enemigo_Mas_Cercano());

                final_turno = true;
            }

            await fin_Turno(400);
        }