The recent change to mkclass() was letting genocided monsters be created when role-specific monsters were chosen for quest levels. makemon(Null) -> rndmonst() -> qt_montype() -> mkclass() -> mk_gen_ok() was accepting members of the quest-specified class even when they should have been rejected. I'm still not sure why the revised bit manipulation didn't work as intended; the re-revised code does. G_IGNORE was a bug waiting to happen since it gets passed to mkclass() as a mons[].geno flag but is used to control the use of mvitals[].mvflags values. It's still being misused but at least it doesn't conflict with any of the other flags now. Fixes #352
10 KiB
10 KiB