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)); }
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); }