boulder path for rolling boulder trap
Reported six and a half years ago (by paxed), don't use a boulder path start starts up a pit or hole. Extended to avoid teleport too.
This commit is contained in:
+4
-1
@@ -1,4 +1,4 @@
|
|||||||
NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.469 $ $NHDT-Date: 1615304752 2021/03/09 15:45:52 $
|
NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.474 $ $NHDT-Date: 1615759956 2021/03/14 22:12:36 $
|
||||||
|
|
||||||
General Fixes and Modified Features
|
General Fixes and Modified Features
|
||||||
-----------------------------------
|
-----------------------------------
|
||||||
@@ -403,6 +403,9 @@ key parsing during options processing was inconsistent between OPTIONS=foo:k
|
|||||||
recognized backslash escape sequences but not M-x meta characters,
|
recognized backslash escape sequences but not M-x meta characters,
|
||||||
vice versa for BINDINGS (most noticeable for menu interaction keys
|
vice versa for BINDINGS (most noticeable for menu interaction keys
|
||||||
such as menu_next_page because those can be set via either directive)
|
such as menu_next_page because those can be set via either directive)
|
||||||
|
when creating a rolling boulder trap, don't place boulder on a path that
|
||||||
|
starts on or passes over a pit/spiked pit, hole/trap door,
|
||||||
|
teleport trap/level teleporter/magic portal
|
||||||
|
|
||||||
|
|
||||||
Fixes to 3.7.0-x Problems that Were Exposed Via git Repository
|
Fixes to 3.7.0-x Problems that Were Exposed Via git Repository
|
||||||
|
|||||||
+3
-1
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.7 trap.h $NHDT-Date: 1596498566 2020/08/03 23:49:26 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.19 $ */
|
/* NetHack 3.7 trap.h $NHDT-Date: 1615759956 2021/03/14 22:12:36 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.20 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/*-Copyright (c) Pasi Kallinen, 2016. */
|
/*-Copyright (c) Pasi Kallinen, 2016. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -84,5 +84,7 @@ enum trap_types {
|
|||||||
|
|
||||||
#define is_pit(ttyp) ((ttyp) == PIT || (ttyp) == SPIKED_PIT)
|
#define is_pit(ttyp) ((ttyp) == PIT || (ttyp) == SPIKED_PIT)
|
||||||
#define is_hole(ttyp) ((ttyp) == HOLE || (ttyp) == TRAPDOOR)
|
#define is_hole(ttyp) ((ttyp) == HOLE || (ttyp) == TRAPDOOR)
|
||||||
|
/* "transportation" traps */
|
||||||
|
#define is_xport(ttyp) ((ttyp) >= TELEP_TRAP && (ttyp) <= MAGIC_PORTAL)
|
||||||
|
|
||||||
#endif /* TRAP_H */
|
#endif /* TRAP_H */
|
||||||
|
|||||||
+5
-1
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.7 trap.c $NHDT-Date: 1612053752 2021/01/31 00:42:32 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.402 $ */
|
/* NetHack 3.7 trap.c $NHDT-Date: 1615759958 2021/03/14 22:12:38 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.403 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/*-Copyright (c) Robert Patrick Rankin, 2013. */
|
/*-Copyright (c) Robert Patrick Rankin, 2013. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -2996,6 +2996,7 @@ isclearpath(
|
|||||||
schar dx,
|
schar dx,
|
||||||
schar dy)
|
schar dy)
|
||||||
{
|
{
|
||||||
|
struct trap *t;
|
||||||
uchar typ;
|
uchar typ;
|
||||||
xchar x, y;
|
xchar x, y;
|
||||||
|
|
||||||
@@ -3007,6 +3008,9 @@ isclearpath(
|
|||||||
typ = levl[x][y].typ;
|
typ = levl[x][y].typ;
|
||||||
if (!isok(x, y) || !ZAP_POS(typ) || closed_door(x, y))
|
if (!isok(x, y) || !ZAP_POS(typ) || closed_door(x, y))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
if ((t = t_at(x, y)) != 0
|
||||||
|
&& (is_pit(t->ttyp) || is_hole(t->ttyp) || is_xport(t->ttyp)))
|
||||||
|
return FALSE;
|
||||||
}
|
}
|
||||||
cc->x = x;
|
cc->x = x;
|
||||||
cc->y = y;
|
cc->y = y;
|
||||||
|
|||||||
Reference in New Issue
Block a user