Skip to content

Commit

Permalink
Clean up lava messages a little.
Browse files Browse the repository at this point in the history
This change has two parts.

First, the Book of the Dead now has a special message in lava. This was
originally added by Steve Melenchuk (aka Grunt) as a precaution against the Book
burning up. While I'm pretty sure that the Book can't burn up in the current
codepath, the message is a nice touch and it doesn't help to add a safety check.

Second, always print the inventory destruction messages. The reason for this is
fairly subtle, but relates to the timing. By not printing the messages when
dying, the visible effect to the player is that if they have lifesaving, the
items burn up before they die, but if they do not, they burn up after they
die---the fact that they do burn up is visible in the dump or bonesfile.
  • Loading branch information
Sean Hunt committed Feb 19, 2015
1 parent ad4f3fc commit 72c2ae2
Showing 1 changed file with 6 additions and 9 deletions.
15 changes: 6 additions & 9 deletions src/trap.c
Expand Up @@ -4730,11 +4730,6 @@ lava_effects()
} else
You("fall into the lava!");

usurvive = Lifesaved || discover;
#ifdef WIZARD
if (wizard) usurvive = TRUE;
#endif

/* prevent remove_worn_item() -> Boots_off(WATER_WALKING_BOOTS) ->
spoteffects() -> lava_effects() recursion which would
successfully delete (via useupall) the no-longer-worn boots;
Expand All @@ -4745,15 +4740,17 @@ lava_effects()
for(obj = invent; obj; obj = obj2) {
obj2 = obj->nobj;
/* above, we set in_use for objects which are to be destroyed */
if (obj->in_use) {
if (obj->otyp == SPE_BOOK_OF_THE_DEAD && !Blind) {
pline("%s glows a strange %s, but remains intact.",
The(xname(obj)), hcolor("dark red"));
} else if (obj->in_use) {
if (obj->owornmask) {
if (usurvive)
pline("%s into flame!", Yobjnam2(obj, "burst"));
pline("%s into flame!", Yobjnam2(obj, "burst"));
remove_worn_item(obj, TRUE);
}
useupall(obj);
}
}
}

iflags.in_lava_effects--;

Expand Down

0 comments on commit 72c2ae2

Please sign in to comment.