diff --git a/doc/fixes34.4 b/doc/fixes34.4 index feaca00ff..56813781e 100644 --- a/doc/fixes34.4 +++ b/doc/fixes34.4 @@ -302,6 +302,7 @@ don't access freed memory after engraving "wrests one last charnge" from wand a magic portal could be rendered inactive for the hero if a successful hangup save took place during level change; leaving the level by any means other than triggering the portal would reactivate it +hero wasn't allowed to affix candles to the candelabrum while underwater Platform- and/or Interface-Specific Fixes diff --git a/src/apply.c b/src/apply.c index 16ac4ae82..5f705602a 100644 --- a/src/apply.c +++ b/src/apply.c @@ -1,4 +1,4 @@ -/* SCCS Id: @(#)apply.c 3.5 2006/11/29 */ +/* SCCS Id: @(#)apply.c 3.5 2007/02/03 */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ @@ -962,10 +962,6 @@ register struct obj *obj; { const char *s = (obj->spe != 1) ? "candles" : "candle"; - if(Underwater) { - You("cannot make fire under water."); - return; - } if(obj->lamplit) { You("snuff the %s.", s); end_burn(obj, TRUE); @@ -975,6 +971,10 @@ register struct obj *obj; pline("This %s has no %s.", xname(obj), s); return; } + if (Underwater) { + You("cannot make fire under water."); + return; + } if(u.uswallow || obj->cursed) { if (!Blind) pline_The("%s %s for a moment, then %s.", @@ -1020,10 +1020,6 @@ struct obj **optr; You(no_elbow_room); return; } - if(Underwater) { - pline("Sorry, fire and water don't mix."); - return; - } otmp = carrying(CANDELABRUM_OF_INVOCATION); if(!otmp || otmp->spe == 7) { @@ -1168,10 +1164,6 @@ struct obj *obj; { char buf[BUFSZ]; - if(Underwater) { - pline("This is not a diving lamp."); - return; - } if(obj->lamplit) { if(obj->otyp == OIL_LAMP || obj->otyp == MAGIC_LAMP || obj->otyp == BRASS_LANTERN) @@ -1181,6 +1173,11 @@ struct obj *obj; end_burn(obj, TRUE); return; } + if (Underwater) { + pline(!Is_candle(obj) ? "This is not a diving lamp" : + "Sorry, fire and water don't mix."); + return; + } /* magic lamps with an spe == 0 (wished for) cannot be lit */ if ((!Is_candle(obj) && obj->age == 0) || (obj->otyp == MAGIC_LAMP && obj->spe == 0)) {