Skip to content

Commit

Permalink
U917 - floating above unknown stairs
Browse files Browse the repository at this point in the history
Attempting to go > while blind and floating over unknown stairs/ladder
would refer to the stairs in the "high above" message (however, the
stairs/ladder remained unidentified on the map).  Change this case so
it only refers to stairs/ladder if that's what the hero remembers on the map.
  • Loading branch information
cohrs committed May 21, 2004
1 parent 3283bcd commit 0414c09
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 0 deletions.
1 change: 1 addition & 0 deletions doc/fixes35.0
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ keep score from wrapping around and becoming negative by capping it
kicked objects do not slide when on the air or water levels
when a giant carrying a boulder dies in a pit, ensure that the corpse is
buried under the filled pit
when blind and levitating > shouldn't say "stairs" if player has not seen them


Platform- and/or Interface-Specific Fixes
Expand Down
12 changes: 12 additions & 0 deletions src/do.c
Original file line number Diff line number Diff line change
Expand Up @@ -770,6 +770,18 @@ dodown()
if (float_down(I_SPECIAL|TIMEOUT, W_ARTI))
return (1); /* came down, so moved */
}
if (Blind) {
/* Avoid alerting player to an unknown stair or ladder.
* Changes the message for a covered, known staircase
* too; staircase knowledge is not stored anywhere.
*/
if (stairs_down)
stairs_down =
(glyph_to_cmap(levl[u.ux][u.uy].glyph) == S_dnstair);
else if (ladder_down)
ladder_down =
(glyph_to_cmap(levl[u.ux][u.uy].glyph) == S_dnladder);
}
floating_above(stairs_down ? "stairs" : ladder_down ?
"ladder" : surface(u.ux, u.uy));
return (0); /* didn't move */
Expand Down

0 comments on commit 0414c09

Please sign in to comment.