catch_lit lights cursed candelabrum

also, cursed lamps should sometimes fail to light, and check "spe" of
candelabrum before checking age
This commit is contained in:
cohrs
2002-02-09 08:13:18 +00:00
parent 98dafd0839
commit 5e2692fba5

View File

@@ -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);