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:
@@ -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
|
||||
|
||||
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user