in_lava_effects (trunk only)
The in_lava_effects flag should never be saved and restored; putting it into the context struct was a mistake. Move it to the iflags struct (where the branch code already has it). I haven't bumped the EDITLEVEL setting. Save and bones files from more that a few days ago were breifly invalid but should be viable again. Save and bones files from the past couple of days are now no good; sorry about that.
This commit is contained in:
@@ -154,7 +154,7 @@ Boots_off()
|
||||
!Levitation && !Flying && !is_clinger(youmonst.data) &&
|
||||
!context.takeoff.cancelled_don &&
|
||||
/* avoid recursive call to lava_effects() */
|
||||
!context.in_lava_effects) {
|
||||
!iflags.in_lava_effects) {
|
||||
/* make boots known in case you survive the drowning */
|
||||
makeknown(otyp);
|
||||
spoteffects(TRUE);
|
||||
|
||||
@@ -4127,7 +4127,7 @@ lava_effects()
|
||||
which would successfully delete (via useupall) the no-longer-worn
|
||||
boots; once recursive call returned, we would try to delete them
|
||||
again here in the outer call (access stale memory, probably panic) */
|
||||
context.in_lava_effects++;
|
||||
iflags.in_lava_effects++;
|
||||
|
||||
for(obj = invent; obj; obj = obj2) {
|
||||
obj2 = obj->nobj;
|
||||
@@ -4157,7 +4157,7 @@ lava_effects()
|
||||
}
|
||||
}
|
||||
|
||||
context.in_lava_effects--;
|
||||
iflags.in_lava_effects--;
|
||||
|
||||
/* s/he died... */
|
||||
u.uhp = -1;
|
||||
|
||||
Reference in New Issue
Block a user