ignitable() macro
ignitable() was excluding magic lamp and then every place that used it did so as 'ignitable(obj) || obj->otyp == MAGIC_LAMP' so just include magic lamp. I noticed that while hunting for an explanation for report #K2734 where returning to a previously visited level triggered the warning "begin_burn: unexpected eggs". I've decided that the zombie apocalypse is probably the cause. It inserted a new type of timer in the list of such but it didn't bump EDITLEVEL to invalidate save and bones files which relied on indices into the old list. I'm not sure whether we should bump that now.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.7 apply.c $NHDT-Date: 1602270122 2020/10/09 19:02:02 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.328 $ */
|
||||
/* NetHack 3.7 apply.c $NHDT-Date: 1604442295 2020/11/03 22:24:55 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.330 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/*-Copyright (c) Robert Patrick Rankin, 2012. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -1404,14 +1404,14 @@ struct obj *obj;
|
||||
}
|
||||
|
||||
/* Called when potentially lightable object is affected by fire_damage().
|
||||
Return TRUE if object was lit and FALSE otherwise --ALI */
|
||||
Return TRUE if object becomes lit and FALSE otherwise --ALI */
|
||||
boolean
|
||||
catch_lit(obj)
|
||||
struct obj *obj;
|
||||
{
|
||||
xchar x, y;
|
||||
|
||||
if (!obj->lamplit && (obj->otyp == MAGIC_LAMP || ignitable(obj))) {
|
||||
if (!obj->lamplit && ignitable(obj)) {
|
||||
if ((obj->otyp == MAGIC_LAMP
|
||||
|| obj->otyp == CANDELABRUM_OF_INVOCATION) && obj->spe == 0)
|
||||
return FALSE;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.7 light.c $NHDT-Date: 1596498173 2020/08/03 23:42:53 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.45 $ */
|
||||
/* NetHack 3.7 light.c $NHDT-Date: 1604442297 2020/11/03 22:24:57 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.46 $ */
|
||||
/* Copyright (c) Dean Luick, 1994 */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -691,8 +691,7 @@ boolean
|
||||
obj_is_burning(obj)
|
||||
struct obj *obj;
|
||||
{
|
||||
return (boolean) (obj->lamplit && (obj->otyp == MAGIC_LAMP
|
||||
|| ignitable(obj)
|
||||
return (boolean) (obj->lamplit && (ignitable(obj)
|
||||
|| artifact_light(obj)));
|
||||
}
|
||||
|
||||
|
||||
10
src/trap.c
10
src/trap.c
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.7 trap.c $NHDT-Date: 1602270123 2020/10/09 19:02:03 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.364 $ */
|
||||
/* NetHack 3.7 trap.c $NHDT-Date: 1604442297 2020/11/03 22:24:57 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.365 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/*-Copyright (c) Robert Patrick Rankin, 2013. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -5563,9 +5563,9 @@ boolean override;
|
||||
return defsyms[trap_to_defsym(ttyp)].explanation;
|
||||
}
|
||||
|
||||
/* Ignite ignitable items in the given object chain, due to some external source
|
||||
* of fire. The object chain should be somewhere exposed, like someone's open
|
||||
* inventory or the floor.
|
||||
/* Ignite ignitable items in the given object chain, due to some external
|
||||
* source of fire. The object chain should be somewhere exposed, like
|
||||
* someone's open inventory or the floor.
|
||||
* This is modeled after destroy_item() somewhat and hopefully will be able to
|
||||
* merge into it in the future.
|
||||
*/
|
||||
@@ -5590,7 +5590,7 @@ struct obj *objchn;
|
||||
}
|
||||
|
||||
for (obj = objchn; obj; obj = obj->nobj) {
|
||||
if (!(ignitable(obj) || obj->otyp == MAGIC_LAMP)
|
||||
if (!ignitable(obj)
|
||||
/* The Candelabrum requires intention to be lit */
|
||||
|| obj->otyp == CANDELABRUM_OF_INVOCATION
|
||||
|| obj->otyp == BRASS_LANTERN /* doesn't ignite via fire */
|
||||
|
||||
Reference in New Issue
Block a user