baalz hack fixup fix...
I saw a lich in solid wall at one of the spots which gehennom.des marks with a pool (so that baalz_fixup() can find the two spots that need post-wallification fixup). I could understand the special level loader placing a swimming or flying monster there, but don't know whether it might do that for a lich (which doesn't need to breathe) so am not sure whether this actually fixes what I observed. The lich was there for far too long to have been a shapechanger, but when I went back to the save file it was no longer there, producing another puzzle.
This commit is contained in:
@@ -228,6 +228,7 @@ post-3.6.0: more sortloot revisions
|
||||
post-3.6.0: fix inventory menu for response of '?' to getobj (more sortloot
|
||||
revamp fallout)
|
||||
post-3.6.0: rings covered by non-cursed gloves not listed as 'R' candidates
|
||||
post-3.6.0: in baalz_fixup, move any monster away from the two fake pool spots
|
||||
|
||||
|
||||
Platform- and/or Interface-Specific Fixes
|
||||
|
||||
11
src/mkmaze.c
11
src/mkmaze.c
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 mkmaze.c $NHDT-Date: 1449269918 2015/12/04 22:58:38 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.42 $ */
|
||||
/* NetHack 3.6 mkmaze.c $NHDT-Date: 1461571093 2016/04/25 07:58:13 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.47 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -372,6 +372,7 @@ d_level *lev;
|
||||
STATIC_OVL void
|
||||
baalz_fixup()
|
||||
{
|
||||
struct monst *mtmp;
|
||||
int x, y, lastx, lasty;
|
||||
|
||||
/*
|
||||
@@ -381,8 +382,8 @@ baalz_fixup()
|
||||
* 'lastx - 1' and 'lasty - 1' for ending don't-clean column and row)
|
||||
* and the interior is protected against that (in wall_cleanup()).
|
||||
*
|
||||
* Assumes level.flags.corrmaze, otherwise the bug legs will have
|
||||
* already been "cleaned" away by general wallification.
|
||||
* Assumes level.flags.corrmaze is True, otherwise the bug legs will
|
||||
* have already been "cleaned" away by general wallification.
|
||||
*/
|
||||
|
||||
/* find low and high x for to-be-wallified portion of level */
|
||||
@@ -432,12 +433,16 @@ baalz_fixup()
|
||||
&& isok(x, y + 1) && levl[x][y + 1].typ == TUWALL) {
|
||||
levl[x][y].typ = BRCORNER;
|
||||
levl[x][y + 1].typ = HWALL;
|
||||
if ((mtmp = m_at(x, y)) != 0) /* something at temporary pool... */
|
||||
(void) rloc(mtmp, FALSE);
|
||||
}
|
||||
x = bughack.delarea.x2, y = bughack.delarea.y2;
|
||||
if (isok(x, y) && levl[x][y].typ == TLWALL
|
||||
&& isok(x, y - 1) && levl[x][y - 1].typ == TDWALL) {
|
||||
levl[x][y].typ = TRCORNER;
|
||||
levl[x][y - 1].typ = HWALL;
|
||||
if ((mtmp = m_at(x, y)) != 0) /* something at temporary pool... */
|
||||
(void) rloc(mtmp, FALSE);
|
||||
}
|
||||
|
||||
/* reset bughack region; set low end to <COLNO,ROWNO> so that
|
||||
|
||||
Reference in New Issue
Block a user