Skip to content

Commit

Permalink
quest artifact handling (trunk only)
Browse files Browse the repository at this point in the history
     When the hero receives the quest artifact "got it" message, set the
artifact's dknown bit in case the hero is blinded.  That message describes
the object by name, effectively the same as seeing it up close.  (This
would have prevented the "now wearing an Eyes of the Overworld" grammar bug
for monks but not for non-monks, so the previous fix is still necessary.)
  • Loading branch information
nethack.rankin committed May 18, 2006
1 parent a232123 commit 4ebc37a
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 5 deletions.
2 changes: 1 addition & 1 deletion include/extern.h
Expand Up @@ -1733,7 +1733,7 @@ E void FDECL(free_epri, (struct monst *));

E void NDECL(onquest);
E void NDECL(nemdead);
E void NDECL(artitouch);
E void FDECL(artitouch, (struct obj *));
E boolean NDECL(ok_to_quest);
E void FDECL(leader_speaks, (struct monst *));
E void NDECL(nemesis_speaks);
Expand Down
4 changes: 2 additions & 2 deletions src/invent.c
@@ -1,4 +1,4 @@
/* SCCS Id: @(#)invent.c 3.5 2006/04/15 */
/* SCCS Id: @(#)invent.c 3.5 2006/05/17 */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */

Expand Down Expand Up @@ -259,7 +259,7 @@ struct obj *obj;
if (u.uhave.questart)
impossible("already have quest artifact?");
u.uhave.questart = 1;
artitouch();
artitouch(obj);
}
set_artifact_intrinsic(obj, 1, W_ART);
}
Expand Down
9 changes: 7 additions & 2 deletions src/quest.c
@@ -1,4 +1,4 @@
/* SCCS Id: @(#)quest.c 3.5 2000/05/05 */
/* SCCS Id: @(#)quest.c 3.5 2006/05/17 */
/* Copyright 1991, M. Stephenson */
/* NetHack may be freely redistributed. See license for details. */

Expand Down Expand Up @@ -82,9 +82,14 @@ nemdead()
}

void
artitouch()
artitouch(obj)
struct obj *obj;
{
if(!Qstat(touched_artifact)) {
/* in case we haven't seen the item yet (ie, currently blinded),
this quest message describes it by name so mark it as seen */
obj->dknown = 1;
/* only give this message once */
Qstat(touched_artifact) = TRUE;
qt_pager(QT_GOTIT);
exercise(A_WIS, TRUE);
Expand Down

0 comments on commit 4ebc37a

Please sign in to comment.