diff --git a/include/extern.h b/include/extern.h index cc26e7d0b..a5ac7055a 100644 --- a/include/extern.h +++ b/include/extern.h @@ -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); diff --git a/src/invent.c b/src/invent.c index 8040d0024..f6cf34fc2 100644 --- a/src/invent.c +++ b/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. */ @@ -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); } diff --git a/src/quest.c b/src/quest.c index 116c57806..e261e75ef 100644 --- a/src/quest.c +++ b/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. */ @@ -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);