Destroy water walking boots on lava first.

This avoids a player being left standing on lava if their boots are burned up and
they survive the damage.

This change is originally due to Steve Melenchuk, fixed up by Derrick Sund.
This commit is contained in:
Sean Hunt
2015-02-18 23:05:37 -05:00
committed by Pasi Kallinen
parent e95bd8ec5b
commit 9644ec781a

View File

@@ -4708,14 +4708,24 @@ lava_effects()
!obj_resists(obj, 0, 0)) /* for invocation items */
obj->in_use = TRUE;
/* Check whether we should burn away boots *first* so we know whether to
* make the player sink into the lava. Assumption: water walking only comes
* from boots. */
if (Wwalking && uarmf && is_organic(uarmf) && !uarmf->oerodeproof) {
obj = uarmf;
pline("Your %s into flame!", aobjnam(obj, "burst"));
setequip(os_armf, NULL, em_silent);
useupall(obj);
}
if (!Fire_resistance) {
if(Wwalking) {
if(Wwalking) {
pline_The("lava here burns you!");
if (usurvive) {
losehp(dmg, lava_killer, KILLED_BY); /* lava damage */
goto burn_stuff;
}
} else
} else
You("fall into the lava!");
usurvive = Lifesaved || discover;