Castle trap doors fix
Recently discussed in the newsgroup, and it sounded familiar so may have been reported directly earlier: You fly through the trap door. You fly down along the stairs. when polymorphed into a flying creature or riding a flying steed. It only happens at the castle, and only happens because the go-down code is explicitly setting the arrival point to be the Valley stairs. That's how the castle trap doors used to work as traps too, but they were changed to dump you randomly near the stairs quite some time ago. Fix it by making intentional triggering work the same now; this also prevents the false feedback (even if you happen to arrive on the stairs by coincidence).
This commit is contained in:
@@ -45,6 +45,7 @@ allow wishing for magenta potions (ignoring the rank name 'mage')
|
||||
fix an uninitialized memory access in non-quick dolookup
|
||||
fix were changing message that wasn't being displayed
|
||||
immediate encumbrance feedback when removing gauntlets of power
|
||||
make deliberately flying down the Castle's trap doors consistent with falling
|
||||
|
||||
|
||||
Platform- and/or Interface-Specific Fixes
|
||||
|
||||
4
src/do.c
4
src/do.c
@@ -1,4 +1,4 @@
|
||||
/* SCCS Id: @(#)do.c 3.4 2002/09/08 */
|
||||
/* SCCS Id: @(#)do.c 3.4 2003/04/25 */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -801,7 +801,7 @@ dodown()
|
||||
trap->ttyp == HOLE ? "down the hole" : "through the trap door");
|
||||
|
||||
if (trap && Is_stronghold(&u.uz)) {
|
||||
goto_hell(TRUE, TRUE);
|
||||
goto_hell(FALSE, TRUE);
|
||||
} else {
|
||||
at_ladder = (boolean) (levl[u.ux][u.uy].typ == LADDER);
|
||||
next_level(!trap);
|
||||
|
||||
Reference in New Issue
Block a user