From 4d046738fdabf9bc102cb1a42bddb25379184324 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Mon, 21 Nov 2011 20:07:48 +0100 Subject: [PATCH] Don't lie "You have a new telegram" after read with inform off Here's how telegram notification works with NF_INFORM off: typed_wu() increments the telegram recipient's nat_tgms. status(), running right before command prompts, notifies the player when nat_tgms > 0, and resets it. Thus, we tell the player how many telegrams arrived since the previous command prompt. However, what we really want is something else, namely the number of "new telegrams waiting". That's what the notification message says, after all. Telegrams already printed by read shouldn't count, even when they arrived since the previous command prompt. Make them not count by clearing pending telegrams on read regardless of toggle inform. Same for announcements. --- src/lib/commands/rea.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/lib/commands/rea.c b/src/lib/commands/rea.c index 22df74e6b..33fcde34c 100644 --- a/src/lib/commands/rea.c +++ b/src/lib/commands/rea.c @@ -132,13 +132,15 @@ rea(void) if (res < 0) pr("\n> Mailbox corrupt, tell the deity.\n"); - if (*kind != 'a') { + if (*kind == 'a') + np->nat_ann = 0; + else { + np->nat_tgms = 0; if (np->nat_flags & NF_INFORM) { pr_inform(player, "\n"); - np->nat_tgms = 0; - putnat(np); } } + putnat(np); if (teles > 0 && player->cnum == num && may_delete) { pr("\n"); -- 2.43.0