--- files.c.orig Tue Mar 4 18:27:24 2003 +++ files.c Thu May 29 22:45:23 2003 @@ -855,6 +855,60 @@ } } + /* Function: LEQN */ + else if (streq(t, "LEQN")) + { + int n = 0; + v = "1"; + if (*s && (f != b2)) + { + t = process_pref_file_expr(&s, &f); + n = atoi(t); + } + while (*s && (f != b2)) + { + p = t; + t = process_pref_file_expr(&s, &f); + if (*t && (atoi(t) < n)) v = "0"; + } + } + + /* Function: GEQN */ + else if (streq(t, "GEQN")) + { + int n = 0; + v = "1"; + if (*s && (f != b2)) + { + t = process_pref_file_expr(&s, &f); + n = atoi(t); + } + while (*s && (f != b2)) + { + p = t; + t = process_pref_file_expr(&s, &f); + if (*t && (atoi(t) > n)) v = "0"; + } + } + + /* Function SKILL */ + else if (streq(t, "SKILL")) + { + static char skill_val[4*sizeof(int)+1]; + s16b skill = -1; + v = "0"; + while (*s && (f != b2)) + { + t = process_pref_file_expr(&s, &f); + if (*t) skill = find_skill_i(t); + } + if (skill > 0) + { + sprintf(skill_val, "%d", (int)get_skill(skill)); + v = skill_val; + } + } + /* Oops */ else {