fix "spellbook of novel" on discoveries list

Avoid "spellbook of novel" after novel becomes discovered.  Now it will
just be "novel".  Prior to discovery, it might be on the list as "book
called whatever" if the player assigns a type name.

Also, make novel become discovered after reading one instead of only via
object identification.  It already shows up as "novel" in inventory, but
changing its definition to designate it as not-interesting-to-discover
feels disrespectful to the tribute.
This commit is contained in:
PatR
2015-12-19 20:07:51 -08:00
parent f87fd929e5
commit 0d2a4afd81
3 changed files with 11 additions and 3 deletions

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 objnam.c $NHDT-Date: 1450306207 2015/12/16 22:50:07 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.158 $ */
/* NetHack 3.6 objnam.c $NHDT-Date: 1450584419 2015/12/20 04:06:59 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.159 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
@@ -120,7 +120,12 @@ register int otyp;
Strcpy(buf, "wand");
break;
case SPBOOK_CLASS:
Strcpy(buf, "spellbook");
if (otyp != SPE_NOVEL) {
Strcpy(buf, "spellbook");
} else {
Strcpy(buf, !nn ? "book" : "novel");
nn = 0;
}
break;
case RING_CLASS:
Strcpy(buf, "ring");

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 spell.c $NHDT-Date: 1450306224 2015/12/16 22:50:24 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.74 $ */
/* NetHack 3.6 spell.c $NHDT-Date: 1450584420 2015/12/20 04:07:00 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.75 $ */
/* Copyright (c) M. Stephenson 1988 */
/* NetHack may be freely redistributed. See license for details. */
@@ -474,6 +474,7 @@ register struct obj *spellbook;
spellbook->o_id)) {
u.uconduct.literate++;
check_unpaid(spellbook);
makeknown(booktype);
if (!u.uevent.read_tribute) {
/* give bonus of 20 xp and 4*20+0 pts */
more_experienced(20, 0);