From 5a42dcef986a4fd611807a1d837b2e24cd4abe85 Mon Sep 17 00:00:00 2001 From: cohrs Date: Sun, 11 Aug 2002 23:17:23 +0000 Subject: [PATCH] B06005 - cancelling getdir prompt - Changed a cancelled chat direction to abort the chat -- it seemed odd that the old behavior would sometimes take time, sometimes not, depending on the previous direction. - Documented the current spelleffects behavior of re-using the last direction after a cancelled getdir() & added a message. --- doc/fixes34.1 | 1 + src/sounds.c | 5 ++++- src/spell.c | 5 ++++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/doc/fixes34.1 b/doc/fixes34.1 index 78dce26d1..66d5faf21 100644 --- a/doc/fixes34.1 +++ b/doc/fixes34.1 @@ -195,6 +195,7 @@ Archeologists suffer same alignment penalty for statue destruction by being unable to see a vault guard doesn't prevent him from arriving in town, secret doors should be called "wall", not "fountain" in town, watch should not allow trees to be cut down +cancel chat direction cancels the chat Platform- and/or Interface-Specific Fixes diff --git a/src/sounds.c b/src/sounds.c index 459019d33..32f83c9ce 100644 --- a/src/sounds.c +++ b/src/sounds.c @@ -860,7 +860,10 @@ dochat() return(1); } - (void) getdir("Talk to whom? (in what direction)"); + if (!getdir("Talk to whom? (in what direction)")) { + /* decided not to chat */ + return(0); + } #ifdef STEED if (u.usteed && u.dz > 0) diff --git a/src/spell.c b/src/spell.c index 4c17da74c..c30cc75bc 100644 --- a/src/spell.c +++ b/src/spell.c @@ -814,7 +814,10 @@ boolean atme; case SPE_STONE_TO_FLESH: if (!(objects[pseudo->otyp].oc_dir == NODIR)) { if (atme) u.dx = u.dy = u.dz = 0; - else (void) getdir((char *)0); + else if (!getdir((char *)0)) { + /* getdir cancelled, re-use previous direction */ + pline_The("magical energy is released!"); + } if(!u.dx && !u.dy && !u.dz) { if ((damage = zapyourself(pseudo, TRUE)) != 0) { char buf[BUFSZ];