From d83513b47111208ee61a899f4c672df9eb370d6a Mon Sep 17 00:00:00 2001 From: "nethack.rankin" Date: Thu, 23 Feb 2006 05:10:21 +0000 Subject: [PATCH] leather spellbook revisited 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.] --- doc/fixes34.4 | 2 +- src/eat.c | 16 ++++++++++------ src/objects.c | 4 ++-- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/doc/fixes34.4 b/doc/fixes34.4 index 29930e4b0..a17af1b4e 100644 --- a/doc/fixes34.4 +++ b/doc/fixes34.4 @@ -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 diff --git a/src/eat.c b/src/eat.c index e7dff2a55..01dca3648 100644 --- a/src/eat.c +++ b/src/eat.c @@ -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. */ @@ -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]; @@ -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. @@ -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); @@ -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); @@ -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) diff --git a/src/objects.c b/src/objects.c index cadcf4b22..6983154c2 100644 --- a/src/objects.c +++ b/src/objects.c @@ -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. */ @@ -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), -- 2.40.0