ARogue family: don't hide messages caused by moving to a new level.
new_level() redraws the whole screen, including the message line, so if msg() has just been called, the message will likely not last long enough to be noticed. These cases have been changed so that msg() is called after new_level(). If a fall through a trapdoor is fatal, "You fall into a trap!" is no longer printed, but the tombstone should make things clear.
This commit is contained in:
parent
419a920e1d
commit
8fed78336a
7 changed files with 10 additions and 10 deletions
|
|
@ -817,8 +817,8 @@ u_level()
|
|||
if (level > 0) new_level(NORMLEV);
|
||||
else {
|
||||
level = -1; /* Indicate that we are new to the outside */
|
||||
msg("You emerge into the %s", daytime ? "light" : "night");
|
||||
new_level(OUTSIDE); /* Leaving the dungeon */
|
||||
msg("You emerge into the %s", daytime ? "light" : "night");
|
||||
}
|
||||
|
||||
if (no_phase) unphase();
|
||||
|
|
|
|||
|
|
@ -84,9 +84,9 @@ register coord *tc;
|
|||
if (is_player) {
|
||||
level++;
|
||||
pstats.s_hpt -= roll(1, 10);
|
||||
msg("You fell into a trap!");
|
||||
if (pstats.s_hpt <= 0) death(D_FALL);
|
||||
new_level(NORMLEV);
|
||||
msg("You fell into a trap!");
|
||||
}
|
||||
else {
|
||||
if (can_see) msg("The %s fell into a trap!", mname);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue