From 5e2692fba514789c1d9eaa48602958bff52df9b8 Mon Sep 17 00:00:00 2001 From: cohrs Date: Sat, 9 Feb 2002 08:13:18 +0000 Subject: [PATCH] catch_lit lights cursed candelabrum also, cursed lamps should sometimes fail to light, and check "spe" of candelabrum before checking age --- src/apply.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/apply.c b/src/apply.c index 88aa879bb..ae276232a 100644 --- a/src/apply.c +++ b/src/apply.c @@ -1024,12 +1024,19 @@ struct obj *obj; obj->otyp == WAX_CANDLE || obj->otyp == TALLOW_CANDLE || obj->otyp == OIL_LAMP || obj->otyp == MAGIC_LAMP || obj->otyp == BRASS_LANTERN || obj->otyp == POT_OIL)) { - if (obj->otyp == MAGIC_LAMP && obj->spe == 0) + if ((obj->otyp == MAGIC_LAMP || + obj->otyp == CANDELABRUM_OF_INVOCATION) && + obj->spe == 0) return FALSE; else if (obj->otyp != MAGIC_LAMP && obj->age == 0) return FALSE; if (!get_obj_location(obj, &x, &y, 0)) return FALSE; + if (obj->otyp == CANDELABRUM_OF_INVOCATION && obj->cursed) + return FALSE; + if ((obj->otyp == OIL_LAMP || obj->otyp == MAGIC_LAMP || + obj->otyp == BRASS_LANTERN) && obj->cursed && !rn2(2)) + return FALSE; if (obj->where == OBJ_MINVENT ? cansee(x,y) : !Blind) pline("%s %s light!", Yname2(obj), otense(obj, "catch")); begin_burn(obj, TRUE);