Skip to content

Commit

Permalink
eating artifacts while poly'd
Browse files Browse the repository at this point in the history
     From the newsgroup:  if polymorphed into a metallivore, you could eat
artifacts that you couldn't touch with your hands.  Now you can't eat ones
which evade your grasp, and you take some damage from other touchy items
on--actually, prior to--the first bite.  (Those still "taste delicious" if
you survive; I'm not sure whether this ought to be changed.)
  • Loading branch information
nethack.rankin committed Jan 25, 2007
1 parent 0bd89ff commit c36712a
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 2 deletions.
1 change: 1 addition & 0 deletions doc/fixes34.4
Original file line number Diff line number Diff line change
Expand Up @@ -294,6 +294,7 @@ can't arm bear traps or land mines on Planes of Air or Water
statues that "come to life" when trap activates shouldn't start out sleeping
shopkeepers and priests wouldn't step on graves put in their rooms by bones
can't throw if poly'd into form which lacks hands
can't eat an artifact you're unable to touch


Platform- and/or Interface-Specific Fixes
Expand Down
6 changes: 4 additions & 2 deletions src/eat.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* SCCS Id: @(#)eat.c 3.5 2006/12/07 */
/* SCCS Id: @(#)eat.c 3.5 2007/01/24 */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */

Expand Down Expand Up @@ -2256,7 +2256,9 @@ doeat() /* generic "eat" command funtion (see cmd.c) */
* mails, players who polymorph back to human in the middle of their
* metallic meal, etc....
*/
if (!is_edible(otmp)) {
if (otmp->oartifact && !touch_artifact(otmp, &youmonst)) {
return 1;
} else if (!is_edible(otmp)) {
You("cannot eat that!");
return 0;
} else if ((otmp->owornmask & (W_ARMOR|W_TOOL|W_AMUL
Expand Down

0 comments on commit c36712a

Please sign in to comment.