more random novels

Give statues 'real' spellbooks only.

Provide mkobj() a way to accomplish that instead of resorting to
mksobj(rnd_class()).
This commit is contained in:
PatR
2020-01-12 22:02:36 -08:00
parent caaf1b375a
commit 3409546876
5 changed files with 25 additions and 24 deletions

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 pray.c $NHDT-Date: 1578855625 2020/01/12 19:00:25 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.137 $ */
/* NetHack 3.6 pray.c $NHDT-Date: 1578895347 2020/01/13 06:02:27 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.138 $ */
/* Copyright (c) Benson I. Margulies, Mike Stephenson, Steve Linhart, 1989. */
/* NetHack may be freely redistributed. See license for details. */
@@ -1182,12 +1182,8 @@ aligntyp g_align;
int sp_no, trycnt = u.ulevel + 1;
/* not yet known spells given preference over already known ones;
also, try to grant a spell for which there is a skill slot;
make sure that it's a spellbook and not a novel */
/* otmp = mkobj(SPBOOK_CLASS, TRUE); --might yield NOVEL */
otmp = mksobj(rnd_class(g.bases[SPBOOK_CLASS],
SPE_BLANK_PAPER),
TRUE, FALSE);
also, try to grant a spell for which there is a skill slot */
otmp = mkobj(SPBOOK_no_NOVEL, TRUE);
while (--trycnt > 0) {
if (otmp->otyp != SPE_BLANK_PAPER) {
for (sp_no = 0; sp_no < MAXSPELL; sp_no++)