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.]
This commit is contained in:
nethack.rankin
2006-02-23 05:10:21 +00:00
parent 6bcfa8f88b
commit d83513b471
3 changed files with 13 additions and 9 deletions
+1 -1
View File
@@ -193,7 +193,7 @@ candles should not be fireproof
monsters could end up off the left side of the Ranger quest start level 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 worms don't have scales, krakens have tentacles, stalkers have a head
you no longer "fry to a crisp" as a water elemental 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 more precise probing/stethoscope feedback when engulfed
make baby long worms have lower level than full grown ones make baby long worms have lower level than full grown ones
+10 -6
View File
@@ -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. */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */ /* 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 const char *FDECL(foodword, (struct obj *));
STATIC_DCL int FDECL(tin_variety, (struct obj *,BOOLEAN_P)); STATIC_DCL int FDECL(tin_variety, (struct obj *,BOOLEAN_P));
STATIC_DCL boolean FDECL(maybe_cannibal, (int,BOOLEAN_P)); STATIC_DCL boolean FDECL(maybe_cannibal, (int,BOOLEAN_P));
STATIC_DCL boolean FDECL(leather_cover, (struct obj *));
char msgbuf[BUFSZ]; char msgbuf[BUFSZ];
@@ -2023,17 +2022,25 @@ register struct obj *otmp;
return; 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 STATIC_OVL boolean
leather_cover(otmp) leather_cover(otmp)
struct obj *otmp; struct obj *otmp;
{ {
const char *odesc = OBJ_DESCR(objects[otmp->otyp]); const char *odesc = OBJ_DESCR(objects[otmp->otyp]);
if (odesc && (otmp->oclass == SPBOOK_CLASS)) { if (odesc && (otmp->oclass == SPBOOK_CLASS)) {
if (!strcmp(odesc, "leather")) if (!strcmp(odesc, "leather"))
return TRUE; return TRUE;
} }
return FALSE; return FALSE;
} }
#endif
/* /*
* return 0 if the food was not dangerous. * return 0 if the food was not dangerous.
@@ -2141,7 +2148,6 @@ struct obj *otmp;
if (!u.uconduct.unvegan && if (!u.uconduct.unvegan &&
((material == LEATHER || material == BONE || ((material == LEATHER || material == BONE ||
material == DRAGON_HIDE || material == WAX) || material == DRAGON_HIDE || material == WAX) ||
(leather_cover(otmp)) ||
(cadaver && !vegan(&mons[mnum])))) { (cadaver && !vegan(&mons[mnum])))) {
Sprintf(buf, "%s foul and unfamiliar to you. %s", Sprintf(buf, "%s foul and unfamiliar to you. %s",
foodsmell, eat_it_anyway); foodsmell, eat_it_anyway);
@@ -2151,7 +2157,6 @@ struct obj *otmp;
if (!u.uconduct.unvegetarian && if (!u.uconduct.unvegetarian &&
((material == LEATHER || material == BONE || ((material == LEATHER || material == BONE ||
material == DRAGON_HIDE) || material == DRAGON_HIDE) ||
(leather_cover(otmp)) ||
(cadaver && !vegetarian(&mons[mnum])))) { (cadaver && !vegetarian(&mons[mnum])))) {
Sprintf(buf, "%s unfamiliar to you. %s", Sprintf(buf, "%s unfamiliar to you. %s",
foodsmell, eat_it_anyway); foodsmell, eat_it_anyway);
@@ -2263,8 +2268,7 @@ doeat() /* generic "eat" command funtion (see cmd.c) */
material = objects[otmp->otyp].oc_material; material = objects[otmp->otyp].oc_material;
if (material == LEATHER || if (material == LEATHER ||
material == BONE || material == DRAGON_HIDE || material == BONE || material == DRAGON_HIDE) {
leather_cover(otmp)) {
u.uconduct.unvegan++; u.uconduct.unvegan++;
violated_vegetarian(); violated_vegetarian();
} else if (material == WAX) } else if (material == WAX)
+2 -2
View File
@@ -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. */ /* Copyright (c) Mike Threepoint, 1989. */
/* NetHack may be freely redistributed. See license for details. */ /* 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("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("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("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("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("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), SPELL("force bolt", "red", P_ATTACK_SPELL, 35, 2, 1, 1, IMMEDIATE, CLR_RED),