diff --git a/doc/fixes34.4 b/doc/fixes34.4 index 59d58ff68..c0d0467d5 100644 --- a/doc/fixes34.4 +++ b/doc/fixes34.4 @@ -253,6 +253,8 @@ honor the never-in-hell flag when selecting random monster type for corpses, eggs, figurines, and statues created in Gehennom hero is not subject to light-based blindness while fainted from hunger engraving while underwater should use surface() which handles that case +prevent obj_is_local panic during bones creation when splatter_burning_oil() + from a thrown potion of oil kills the hero Platform- and/or Interface-Specific Fixes diff --git a/src/dothrow.c b/src/dothrow.c index 1f645e504..0a527b491 100644 --- a/src/dothrow.c +++ b/src/dothrow.c @@ -1591,6 +1591,14 @@ boolean from_invent; break; case POT_WATER: /* really, all potions */ if (obj->otyp == POT_OIL && obj->lamplit) { + /* splatter_burning_oil() could kill hero, + and a timed obj with obj->where==0 + causes a problem during savebones() so + get rid of the timer/lightsources on it now */ + if (obj->timed) + obj_stop_timers(obj); + if (obj_sheds_light(obj)) + del_light_source(LS_OBJECT, obj_to_any(obj)); splatter_burning_oil(x,y); } else if (distu(x,y) <= 2) { if (!breathless(youmonst.data) || haseyes(youmonst.data)) {