levitation timeout

Forwarded from the newsgroup by Michael:  giving a count before '.' to
rest many turns wouldn't be interrupted by having levitation end (despite
autopickup taking place at the time, which is what the thread is about but
not all that relevant to this particular issue).  Stopping counted activity
is easy, so that's all I've done.  Stopping a timed occupation would be a
lot harder due to message sequencing; I'm not going to attempt it.
This commit is contained in:
nethack.rankin
2005-12-15 04:20:23 +00:00
parent cc06912040
commit 1b34a48d0c
2 changed files with 2 additions and 0 deletions

View File

@@ -169,6 +169,7 @@ tame flaming spheres and shocking spheres shouldn't pick up items
can hear the opening or closing of an unseen drawbridge
prevent "object lost" panic caused by accessing freed memory after worn
non-fireproof water walking boots are destroyed by lava
stop multi-turn running, searching, or resting early if levitation ends
Platform- and/or Interface-Specific Fixes

View File

@@ -2423,6 +2423,7 @@ long hmask, emask; /* might cancel timeout */
HLevitation &= ~hmask;
ELevitation &= ~emask;
if(Levitation) return(0); /* maybe another ring/potion/boots */
nomul(0); /* stop running or resting */
if(u.uswallow) {
You("float down, but you are still %s.",
is_animal(u.ustuck->data) ? "swallowed" : "engulfed");