Skip to content

Commit

Permalink
leather spellbook revisited
Browse files Browse the repository at this point in the history
     Change the description of leather spellbook to leathery.  Eating it
does not violate vegan or vegetarian conduct.  [By shear coincidence, I got
``Blecch!  Rotten paper!'' for it while testing this.]
  • Loading branch information
nethack.rankin committed Feb 23, 2006
1 parent 6bcfa8f commit d83513b
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 9 deletions.
2 changes: 1 addition & 1 deletion doc/fixes34.4
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ candles should not be fireproof
monsters could end up off the left side of the Ranger quest start level
worms don't have scales, krakens have tentacles, stalkers have a head
you no longer "fry to a crisp" as a water elemental
eating leather spellbook violates vegetarian conduct
change leather spellbook to leathery; pertains to appearance, not composition
more precise probing/stethoscope feedback when engulfed
make baby long worms have lower level than full grown ones

Expand Down
16 changes: 10 additions & 6 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/01/11 */
/* SCCS Id: @(#)eat.c 3.5 2006/02/22 */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */

Expand Down Expand Up @@ -45,7 +45,6 @@ STATIC_DCL void FDECL(eataccessory, (struct obj *));
STATIC_DCL const char *FDECL(foodword, (struct obj *));
STATIC_DCL int FDECL(tin_variety, (struct obj *,BOOLEAN_P));
STATIC_DCL boolean FDECL(maybe_cannibal, (int,BOOLEAN_P));
STATIC_DCL boolean FDECL(leather_cover, (struct obj *));

char msgbuf[BUFSZ];

Expand Down Expand Up @@ -2023,17 +2022,25 @@ register struct obj *otmp;
return;
}

#if 0
/* intended for eating a spellbook while polymorphed, but not used;
"leather" applied to appearance, not composition, and has been
changed to "leathery" to reflect that */
STATIC_DCL boolean FDECL(leather_cover, (struct obj *));

STATIC_OVL boolean
leather_cover(otmp)
struct obj *otmp;
{
const char *odesc = OBJ_DESCR(objects[otmp->otyp]);

if (odesc && (otmp->oclass == SPBOOK_CLASS)) {
if (!strcmp(odesc, "leather"))
return TRUE;
}
return FALSE;
}
#endif

/*
* return 0 if the food was not dangerous.
Expand Down Expand Up @@ -2141,7 +2148,6 @@ struct obj *otmp;
if (!u.uconduct.unvegan &&
((material == LEATHER || material == BONE ||
material == DRAGON_HIDE || material == WAX) ||
(leather_cover(otmp)) ||
(cadaver && !vegan(&mons[mnum])))) {
Sprintf(buf, "%s foul and unfamiliar to you. %s",
foodsmell, eat_it_anyway);
Expand All @@ -2151,7 +2157,6 @@ struct obj *otmp;
if (!u.uconduct.unvegetarian &&
((material == LEATHER || material == BONE ||
material == DRAGON_HIDE) ||
(leather_cover(otmp)) ||
(cadaver && !vegetarian(&mons[mnum])))) {
Sprintf(buf, "%s unfamiliar to you. %s",
foodsmell, eat_it_anyway);
Expand Down Expand Up @@ -2263,8 +2268,7 @@ doeat() /* generic "eat" command funtion (see cmd.c) */

material = objects[otmp->otyp].oc_material;
if (material == LEATHER ||
material == BONE || material == DRAGON_HIDE ||
leather_cover(otmp)) {
material == BONE || material == DRAGON_HIDE) {
u.uconduct.unvegan++;
violated_vegetarian();
} else if (material == WAX)
Expand Down
4 changes: 2 additions & 2 deletions src/objects.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* SCCS Id: @(#)objects.c 3.5 2002/07/31 */
/* SCCS Id: @(#)objects.c 3.5 2006/02/22 */
/* Copyright (c) Mike Threepoint, 1989. */
/* NetHack may be freely redistributed. See license for details. */

Expand Down Expand Up @@ -799,7 +799,7 @@ SPELL("cone of cold", "dog eared", P_ATTACK_SPELL, 10, 7, 4, 1, RAY,
SPELL("sleep", "mottled", P_ENCHANTMENT_SPELL, 50, 1, 1, 1, RAY, HI_PAPER),
SPELL("finger of death", "stained", P_ATTACK_SPELL, 5, 10, 7, 1, RAY, HI_PAPER),
SPELL("light", "cloth", P_DIVINATION_SPELL, 45, 1, 1, 1, NODIR, HI_CLOTH),
SPELL("detect monsters", "leather", P_DIVINATION_SPELL, 43, 1, 1, 1, NODIR, HI_LEATHER),
SPELL("detect monsters", "leathery", P_DIVINATION_SPELL, 43, 1, 1, 1, NODIR, HI_LEATHER),
SPELL("healing", "white", P_HEALING_SPELL, 40, 2, 1, 1, IMMEDIATE, CLR_WHITE),
SPELL("knock", "pink", P_MATTER_SPELL, 35, 1, 1, 1, IMMEDIATE, CLR_BRIGHT_MAGENTA),
SPELL("force bolt", "red", P_ATTACK_SPELL, 35, 2, 1, 1, IMMEDIATE, CLR_RED),
Expand Down

0 comments on commit d83513b

Please sign in to comment.