engraving in inaccessible locations
Also from the newsgroup (2nd from "Three bugfixes for Xorns" [I got
the subject wrong on the previous spell of protection patch]): when
phazing through walls or rock you could engrave as if it was ordinary
floor. Again I didn't use the user's patch; it left closed doors, raised
drawbridge, and iron bars as locations where engraving was still feasible
and said "you can't write in solid rock" even if you were inside a tree.
[The 3rd of "3 xorn fixes" was for misleading feedback when attempting to
engrave while underwater; we've already fixed that one.]
There was a suggestion that you should be able to engrave within solid
rock if you use a wand of digging, and that seems like a pretty good idea,
but the check for location comes before the check for writing instrument so
would be tricky to implement.
This commit is contained in:
@@ -286,6 +286,7 @@ suppress "you rise from the dead" if game ends due to be turned into slime
|
|||||||
don't give erroneous "<mon> disppears" message for hero poly'd into quantum
|
don't give erroneous "<mon> disppears" message for hero poly'd into quantum
|
||||||
mechanic who hits engulfer while swallowed and blinded
|
mechanic who hits engulfer while swallowed and blinded
|
||||||
feedback from casting spell of protection was wrong in some situations
|
feedback from casting spell of protection was wrong in some situations
|
||||||
|
can't engrave on floor while inside solid rock, wall, or closed door
|
||||||
|
|
||||||
|
|
||||||
Platform- and/or Interface-Specific Fixes
|
Platform- and/or Interface-Specific Fixes
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* SCCS Id: @(#)engrave.c 3.5 2005/06/22 */
|
/* SCCS Id: @(#)engrave.c 3.5 2006/12/06 */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
|
|
||||||
@@ -499,6 +499,10 @@ doengrave()
|
|||||||
if(Is_airlevel(&u.uz) || Is_waterlevel(&u.uz)/* in bubble */) {
|
if(Is_airlevel(&u.uz) || Is_waterlevel(&u.uz)/* in bubble */) {
|
||||||
You_cant("write in thin air!");
|
You_cant("write in thin air!");
|
||||||
return(0);
|
return(0);
|
||||||
|
} else if (closed_door(u.ux, u.uy) || !accessible(u.ux, u.uy)) {
|
||||||
|
/* stone, tree, wall, secret corridor, pool, lava, bars */
|
||||||
|
You_cant("write here.");
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
if (cantwield(youmonst.data)) {
|
if (cantwield(youmonst.data)) {
|
||||||
You_cant("even hold anything!");
|
You_cant("even hold anything!");
|
||||||
|
|||||||
Reference in New Issue
Block a user