From: cohrs Date: Sat, 9 Feb 2002 08:13:18 +0000 (+0000) Subject: catch_lit lights cursed candelabrum X-Git-Tag: MOVE2GIT~3220 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5e2692fba514789c1d9eaa48602958bff52df9b8;p=nethack catch_lit lights cursed candelabrum also, cursed lamps should sometimes fail to light, and check "spe" of candelabrum before checking age --- 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);