From 8fed78336a8da78f97d994d0781db66a18b43a3f Mon Sep 17 00:00:00 2001 From: "John \"Elwin\" Edwards" Date: Mon, 29 Jun 2015 20:37:32 -0400 Subject: [PATCH] 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. --- arogue5/command.c | 2 +- arogue5/move.c | 2 +- arogue7/command.c | 2 +- arogue7/move.c | 2 +- xrogue/command.c | 6 +++--- xrogue/move.c | 4 ++-- xrogue/scrolls.c | 2 +- 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/arogue5/command.c b/arogue5/command.c index f17b875..84504df 100644 --- a/arogue5/command.c +++ b/arogue5/command.c @@ -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(); diff --git a/arogue5/move.c b/arogue5/move.c index eda462b..7813e14 100644 --- a/arogue5/move.c +++ b/arogue5/move.c @@ -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); diff --git a/arogue7/command.c b/arogue7/command.c index 12ddd5b..c917afa 100644 --- a/arogue7/command.c +++ b/arogue7/command.c @@ -1005,8 +1005,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(); diff --git a/arogue7/move.c b/arogue7/move.c index 6eaddd4..a42dbbb 100644 --- a/arogue7/move.c +++ b/arogue7/move.c @@ -88,9 +88,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("%s fell into a trap!", prname(mname, TRUE)); diff --git a/xrogue/command.c b/xrogue/command.c index 51940f2..37eb8a1 100644 --- a/xrogue/command.c +++ b/xrogue/command.c @@ -975,10 +975,10 @@ u_level() prev_max = 1000; level--; if (level <= 0) level = 1; - msg("You find yourself in strange surroundings... "); if (wizard) addmsg("Going up through a worm hole. "); take_with(); new_level(OUTSIDE); + msg("You find yourself in strange surroundings... "); return; } @@ -1030,19 +1030,19 @@ u_level() prev_max = 1000; /* flag used in n_level.c */ level--; if (level <= 0) level = 1; - msg("You emerge into the %s. ", daytime ? "eerie light" : "dark night"); if (wizard) msg("Going up: cur_max=%d level=%d. ", cur_max, level); take_with(); new_level(OUTSIDE); /* Leaving the dungeon for outside */ + msg("You emerge into the %s. ", daytime ? "eerie light" : "dark night"); return; } else { prev_max = 1; /* flag used in n_level.c */ level = -1; /* Indicate that we are new to the outside */ - msg("You emerge into the %s. ", daytime ? "eerie light" : "dark night"); if (wizard) msg("Going up: cur_max=%d level=%d. ", cur_max, level); take_with(); new_level(OUTSIDE); + msg("You emerge into the %s. ", daytime ? "eerie light" : "dark night"); return; } diff --git a/xrogue/move.c b/xrogue/move.c index 78bcd86..0b8d164 100644 --- a/xrogue/move.c +++ b/xrogue/move.c @@ -85,7 +85,6 @@ register coord *tc; if (is_player) { level++; pstats.s_hpt -= roll(1, 10); - msg("You fell through a trap! "); if (pstats.s_hpt < 1) { pstats.s_hpt = -1; death(D_FALL); @@ -93,6 +92,7 @@ register coord *tc; wclear(cw); wclear(mw); new_level(NORMLEV); + msg("You fell through a trap! "); } else { if (can_see) msg("%s fell into a trap!", prname(mname, TRUE)); @@ -142,13 +142,13 @@ register coord *tc; if (is_player) { prev_max = 1000; /* flag used in n_level.c */ level++; - msg("You suddenly find yourself in strange surroundings! "); pstats.s_hpt -= roll(1, 10); if (pstats.s_hpt < 1) { pstats.s_hpt = -1; death(D_FALL); } new_level(OUTSIDE); + msg("You suddenly find yourself in strange surroundings! "); return(ch); } else { diff --git a/xrogue/scrolls.c b/xrogue/scrolls.c index 9598abe..b073d95 100644 --- a/xrogue/scrolls.c +++ b/xrogue/scrolls.c @@ -432,8 +432,8 @@ bool is_scroll; level = rnd(201)+80; /* cursed teleport range */ - msg("You are banished to the lower regions! "); new_level(NORMLEV); + msg("You are banished to the lower regions! "); status(TRUE); mpos = 0;