more writing novels
Instead of always retaining a blank spellbook when failing to write a novel, make 2/3 chance to retain and 1/3 chance to destroy. Same odds (but separate chance) to attempt to write the Great Yendorian Novel versus awful fan fiction.
This commit is contained in:
+20
-8
@@ -128,11 +128,9 @@ dowrite(struct obj *pen)
|
|||||||
return ECMD_CANCEL;
|
return ECMD_CANCEL;
|
||||||
/* can't write on a novel (unless/until it's been converted into a blank
|
/* can't write on a novel (unless/until it's been converted into a blank
|
||||||
spellbook), but we want messages saying so to avoid "spellbook" */
|
spellbook), but we want messages saying so to avoid "spellbook" */
|
||||||
typeword = (paper->otyp == SPE_NOVEL)
|
typeword = (paper->otyp == SPE_NOVEL) ? "book"
|
||||||
? "book"
|
: (paper->oclass == SPBOOK_CLASS) ? "spellbook"
|
||||||
: (paper->oclass == SPBOOK_CLASS)
|
: "scroll";
|
||||||
? "spellbook"
|
|
||||||
: "scroll";
|
|
||||||
if (Blind) {
|
if (Blind) {
|
||||||
if (!paper->dknown) {
|
if (!paper->dknown) {
|
||||||
You("don't know if that %s is blank or not.", typeword);
|
You("don't know if that %s is blank or not.", typeword);
|
||||||
@@ -221,9 +219,23 @@ dowrite(struct obj *pen)
|
|||||||
pline("It's obscene!");
|
pline("It's obscene!");
|
||||||
return ECMD_TIME;
|
return ECMD_TIME;
|
||||||
} else if (i == SPE_NOVEL) {
|
} else if (i == SPE_NOVEL) {
|
||||||
You(
|
boolean fanfic = !rn2(3), tearup = !rn2(3);
|
||||||
"prepare to write the Great Yendorian Novel, but lack inspiration.");
|
|
||||||
You("give up on the idea.");
|
if (!fanfic) {
|
||||||
|
You("%s to write the Great Yendorian Novel, but %s inspiration.",
|
||||||
|
!tearup ? "prepare" : "try",
|
||||||
|
!Hallucination ? "lack" : "have too much");
|
||||||
|
} else {
|
||||||
|
You("%sproduce really %s fan-fiction.",
|
||||||
|
!tearup ? "start to " : "",
|
||||||
|
!Hallucination ? "lame" : "awesome");
|
||||||
|
}
|
||||||
|
if (!tearup) {
|
||||||
|
You("give up on the idea.");
|
||||||
|
} else {
|
||||||
|
You("tear it up.");
|
||||||
|
useup(paper);
|
||||||
|
}
|
||||||
return ECMD_TIME;
|
return ECMD_TIME;
|
||||||
} else if (i == SPE_BOOK_OF_THE_DEAD) {
|
} else if (i == SPE_BOOK_OF_THE_DEAD) {
|
||||||
pline("No mere dungeon adventurer could write that.");
|
pline("No mere dungeon adventurer could write that.");
|
||||||
|
|||||||
Reference in New Issue
Block a user