leather spellbook
<Someone> wrote: > * Eating a leather spellbook doesn't violate > vegetarian conduct. I suggest you rename it to > something else. (May I suggest "bark"?) Also, I refuse > to consider "leather" to be a colour or texture. > * While as a water nymph in water, seducing an unseen > monster on dry land sometimes gives away its identity. > * When submerged iron golem monsters residually > "rust", and the rust damage kills them, it doesn't > report their death. > * Drum of Earthquake says "the entire dungeon shakes > around you" even when you're in the Endgame or the > Quest's top level. > * Wishing for a statue of a guard, then destoning it, > then chatting to it, makes it say "drop that gold" > without context. This could probably be extended to > other cases, too (like Croesus?) This corrects only the first complaint in the list above.
This commit is contained in:
@@ -193,6 +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
|
||||||
|
leather spellbooks violate vegetarian conduct
|
||||||
|
|
||||||
|
|
||||||
Platform- and/or Interface-Specific Fixes
|
Platform- and/or Interface-Specific Fixes
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ 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];
|
||||||
|
|
||||||
@@ -2022,6 +2023,18 @@ register struct obj *otmp;
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* return 0 if the food was not dangerous.
|
* return 0 if the food was not dangerous.
|
||||||
* return 1 if the food was dangerous and you chose to stop.
|
* return 1 if the food was dangerous and you chose to stop.
|
||||||
@@ -2128,6 +2141,7 @@ 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);
|
||||||
@@ -2137,6 +2151,7 @@ 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);
|
||||||
@@ -2248,7 +2263,8 @@ 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)
|
||||||
|
|||||||
Reference in New Issue
Block a user