suggested booktribute mods

Changes to be committed:
	modified:   include/extern.h
	modified:   src/files.c
	modified:   src/objects.c
	modified:   src/spell.c

- charge a little more.
- no free read in the bookstore.
This commit is contained in:
nhmall
2015-04-18 17:45:27 -04:00
parent 78b012a680
commit 0fdcea70c6
4 changed files with 18 additions and 11 deletions

View File

@@ -753,7 +753,7 @@ E void NDECL(really_close);
#ifdef DEBUG
E boolean FDECL(showdebug, (const char *));
#endif
E void FDECL(read_tribute, (const char *,const char *,int));
E boolean FDECL(read_tribute, (const char *,const char *,int));
/* ### fountain.c ### */

View File

@@ -3331,13 +3331,17 @@ const char *filename;
/* ---------- BEGIN TRIBUTE ----------- */
/* 3.6 tribute code */
/* 3.6 tribute code
*
* Returns TRUE if you were able to read something.
*
*/
#define SECTIONSCOPE 1
#define TITLESCOPE 2
#define PASSAGESCOPE 3
void
boolean
read_tribute(tribsection, tribtitle, tribpassage)
const char *tribsection, *tribtitle;
int tribpassage;
@@ -3351,12 +3355,13 @@ int tribpassage;
const char *badtranslation = "an incomprehensible foreign translation";
boolean matchedsection = FALSE, matchedtitle = FALSE;
winid tribwin = WIN_ERR;
boolean grasped = FALSE;
/* check for mandatories */
if (!tribsection || !tribtitle) {
pline("It's %s of \"%s\"!",
badtranslation, tribtitle);
return;
return grasped;
}
debugpline3("read_tribute %s, %s, %d.", tribsection, tribtitle, tribpassage);
@@ -3365,7 +3370,7 @@ int tribpassage;
if (!fp) {
/* this is actually an error - cannot open tribute file! */
pline("You feel too overwhelmed to continue!");
return;
return grasped;
}
/*
@@ -3465,13 +3470,13 @@ cleanup:
display_nhwindow(tribwin, FALSE);
destroy_nhwindow(tribwin);
tribwin = WIN_ERR;
u.uconduct.literate++;
grasped = TRUE;
} else {
pline("It seems to be %s of \"%s\"!",
badtranslation, tribtitle);
}
return;
return grasped;
}
/* ---------- END TRIBUTE ----------- */

View File

@@ -829,7 +829,7 @@ SPELL("freeze sphere", "hardcover", P_MATTER_SPELL, 20, 2, 1, 1, NODIR, CLR
SPELL("blank paper", "plain", P_NONE, 18, 0, 0, 0, 0, HI_PAPER),
/* tribute book for 3.6 */
OBJECT(OBJ("novel", "paperback"), BITS(0,0,1,0,0,0,0,1,0,0,0,P_NONE,HI_PAPER), 0,
SPBOOK_CLASS, 0, 0, 0, 1, 0, 0, 0, 1, 20, CLR_BRIGHT_BLUE),
SPBOOK_CLASS, 0, 0, 0, 20, 0, 0, 0, 1, 20, CLR_BRIGHT_BLUE),
/* a special, one of a kind, spellbook */
OBJECT(OBJ("Book of the Dead", "papyrus"), BITS(0,0,1,0,1,0,1,1,0,0,0,P_NONE,PAPER), 0,
SPBOOK_CLASS, 0, 0,20, 10000, 0, 0, 0, 7, 20, HI_PAPER),

View File

@@ -452,10 +452,12 @@ register struct obj *spellbook;
/* 3.6.0 tribute */
if (booktype == SPE_NOVEL) {
/* Obtain current Terry Pratchett book
title for the current game. */
/* Obtain current Terry Pratchett book title */
const char *tribtitle = noveltitle(&spellbook->novelidx);
read_tribute("books", tribtitle, 0);
if (read_tribute("books", tribtitle, 0)) {
u.uconduct.literate++;
check_unpaid(spellbook);
}
return(1);
}