From 6cad21e4e86495e7f5e8474759bab4f9bbdbd072 Mon Sep 17 00:00:00 2001 From: PatR Date: Mon, 20 Apr 2015 00:05:00 -0700 Subject: [PATCH] tribute in-game bonus Give 20 experience points the first time the hero reads a passage from a tribute novel. It's enough to go from level 1 to 2 or from 2 to 3. By the time a book store is found, that's too trivial for most to care about, but it's potentially useful to a pacifist. --- include/patchlevel.h | 4 ++-- include/you.h | 5 +++-- src/spell.c | 8 +++++++- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/include/patchlevel.h b/include/patchlevel.h index ec56f36e1..90ebed301 100644 --- a/include/patchlevel.h +++ b/include/patchlevel.h @@ -1,4 +1,4 @@ -/* NetHack 3.5 patchlevel.h $NHDT-Date$ $NHDT-Branch$:$NHDT-Revision$ */ +/* NetHack 3.5 patchlevel.h $NHDT-Date: 1429513493 2015/04/20 07:04:53 $ $NHDT-Branch: master $:$NHDT-Revision: 1.102 $ */ /* NetHack 3.5 patchlevel.h $Date: 2012/04/14 08:31:03 $ $Revision: 1.93 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ @@ -14,7 +14,7 @@ * Incrementing EDITLEVEL can be used to force invalidation of old bones * and save files. */ -#define EDITLEVEL 62 +#define EDITLEVEL 63 #define COPYRIGHT_BANNER_A \ "NetHack, Copyright 1985-2015" diff --git a/include/you.h b/include/you.h index 87291479c..a13bd108c 100644 --- a/include/you.h +++ b/include/you.h @@ -1,4 +1,4 @@ -/* NetHack 3.5 you.h $NHDT-Date$ $NHDT-Branch$:$NHDT-Revision$ */ +/* NetHack 3.5 you.h $NHDT-Date: 1429513494 2015/04/20 07:04:54 $ $NHDT-Branch: master $:$NHDT-Revision: 1.25 $ */ /* NetHack 3.5 you.h $Date: 2012/04/14 08:31:03 $ $Revision: 1.13 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ @@ -39,12 +39,13 @@ struct u_have { struct u_event { Bitfield(minor_oracle,1); /* received at least 1 cheap oracle */ Bitfield(major_oracle,1); /* " expensive oracle */ + Bitfield(read_tribute,1); /* read a passage from a novel */ Bitfield(qcalled,1); /* called by Quest leader to do task */ Bitfield(qexpelled,1); /* expelled from the Quest dungeon */ Bitfield(qcompleted,1); /* successfully completed Quest task */ Bitfield(uheard_tune,2); /* 1=know about, 2=heard passtune */ - Bitfield(uopened_dbridge,1); /* opened the drawbridge */ + Bitfield(uopened_dbridge,1); /* opened the drawbridge */ Bitfield(invoked,1); /* invoked Gate to the Sanctum level */ Bitfield(gehennom_entered,1); /* entered Gehennom via Valley */ Bitfield(uhand_of_elbereth,2); /* became Hand of Elbereth */ diff --git a/src/spell.c b/src/spell.c index fe0741d2f..3de41b5ec 100644 --- a/src/spell.c +++ b/src/spell.c @@ -1,4 +1,4 @@ -/* NetHack 3.5 spell.c $NHDT-Date$ $NHDT-Branch$:$NHDT-Revision$ */ +/* NetHack 3.5 spell.c $NHDT-Date: 1429513494 2015/04/20 07:04:54 $ $NHDT-Branch: master $:$NHDT-Revision: 1.57 $ */ /* NetHack 3.5 spell.c $Date: 2011/12/29 22:01:25 $ $Revision: 1.44 $ */ /* Copyright (c) M. Stephenson 1988 */ /* NetHack may be freely redistributed. See license for details. */ @@ -457,6 +457,12 @@ register struct obj *spellbook; if (read_tribute("books", tribtitle, 0)) { u.uconduct.literate++; check_unpaid(spellbook); + if (!u.uevent.read_tribute) { + /* give bonus of 20 xp and 4*20+0 pts */ + more_experienced(20, 0); + newexplevel(); + u.uevent.read_tribute = 1; /* only once */ + } } return(1); }