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:
+8
-1
@@ -1024,12 +1024,19 @@ struct obj *obj;
|
|||||||
obj->otyp == WAX_CANDLE || obj->otyp == TALLOW_CANDLE ||
|
obj->otyp == WAX_CANDLE || obj->otyp == TALLOW_CANDLE ||
|
||||||
obj->otyp == OIL_LAMP || obj->otyp == MAGIC_LAMP ||
|
obj->otyp == OIL_LAMP || obj->otyp == MAGIC_LAMP ||
|
||||||
obj->otyp == BRASS_LANTERN || obj->otyp == POT_OIL)) {
|
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;
|
return FALSE;
|
||||||
else if (obj->otyp != MAGIC_LAMP && obj->age == 0)
|
else if (obj->otyp != MAGIC_LAMP && obj->age == 0)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
if (!get_obj_location(obj, &x, &y, 0))
|
if (!get_obj_location(obj, &x, &y, 0))
|
||||||
return FALSE;
|
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)
|
if (obj->where == OBJ_MINVENT ? cansee(x,y) : !Blind)
|
||||||
pline("%s %s light!", Yname2(obj), otense(obj, "catch"));
|
pline("%s %s light!", Yname2(obj), otense(obj, "catch"));
|
||||||
begin_burn(obj, TRUE);
|
begin_burn(obj, TRUE);
|
||||||
|
|||||||
Reference in New Issue
Block a user