From: cohrs Date: Fri, 23 May 2003 02:47:42 +0000 (+0000) Subject: class genocide by species name X-Git-Tag: MOVE2GIT~1964 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=73fa09fac781304b0079f1a8b5551ae41ec6579a;p=nethack class genocide by species name Incorporate a mod submitted by to implement the TODO in the class genocide code by walking thru the species to find a class to genocide if the user input does not match the class description. --- diff --git a/src/read.c b/src/read.c index 4d84e6c47..e1d1ef1cd 100644 --- a/src/read.c +++ b/src/read.c @@ -1478,9 +1478,27 @@ do_class_genocide() } } /* - * TODO[?]: If user's input doesn't match any class - * description, check individual species names. + * If user's input doesn't match any class + * description, check individual species names. */ + if (class == 0) { + for (i = LOW_PM; i < NUMMONS; i++) { + if (strstri(mons[i].mname, buf) != 0) { + class = mons[i].mlet; + break; + } + } + + if (class != 0) { + for (i = LOW_PM; i < NUMMONS; i++) { + if (mons[i].mlet == class) { + if (!(mons[i].geno & G_GENO)) immunecnt++; + else if(mvitals[i].mvflags & G_GENOD) gonecnt++; + else goodcnt++; + } + } + } + } if (!goodcnt && class != mons[urole.malenum].mlet && class != mons[urace.malenum].mlet) { if (gonecnt)