ensure tribute handles conduct correctly

This commit is contained in:
nhmall
2015-03-22 22:39:45 -04:00
parent 3fa52686d8
commit b93cf718b6
2 changed files with 11 additions and 3 deletions

View File

@@ -3336,13 +3336,14 @@ int tribpassage;
int scope = 0, section = 0, passage = 0, book = 0;
int linect = 0, passagecnt = 0, targetpassage = 0, textcnt = 0;
char *sectionnm = "", *booknm = "";
const char *badtranslation = "an incomprehensible foreign translation";
boolean matchedsection = FALSE, matchedtitle = FALSE;
winid tribwin = WIN_ERR;
/* check for mandatories */
if (!tribsection || !tribtitle) {
pline("It's an incomprehensible foreign translation of \"%s\"!",
tribtitle);
pline("It's %s of \"%s\"!",
badtranslation, tribtitle);
return;
}
@@ -3452,7 +3453,12 @@ cleanup:
display_nhwindow(tribwin, FALSE);
destroy_nhwindow(tribwin);
tribwin = WIN_ERR;
u.uconduct.literate++;
} else {
pline("It seems to be %s of \"%s\"!",
badtranslation, tribtitle);
}
return;
}
/* ---------- END TRIBUTE ----------- */

View File

@@ -152,9 +152,11 @@ doread()
#endif
/* Actions required to win the game aren't counted towards conduct */
/* Novel conduct is handled in read_tribute so exclude it too*/
if (scroll->otyp != SPE_BOOK_OF_THE_DEAD &&
scroll->otyp != SPE_BLANK_PAPER &&
scroll->otyp != SCR_BLANK_PAPER)
scroll->otyp != SCR_BLANK_PAPER &&
scroll->otyp != SPE_NOVEL)
u.uconduct.literate++;
if(scroll->oclass == SPBOOK_CLASS) {