From a61e68069ac4a9dab62d00a401f077ddf2b7d2c0 Mon Sep 17 00:00:00 2001 From: cohrs Date: Mon, 5 Aug 2002 00:57:21 +0000 Subject: [PATCH] Magic portals and levitation boots From a bug report. Removing levitation boots while hovering over a magic portal causes the portal to be delayed since it takes time to remove the boots. This causes the portal to be taken via unmul in allmain. At that point, the will activation message display but you won't teleport until you type something. Handle the delayed goto after unmul completes. --- doc/fixes34.1 | 2 ++ src/allmain.c | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/doc/fixes34.1 b/doc/fixes34.1 index df043f127..88f281a8c 100644 --- a/doc/fixes34.1 +++ b/doc/fixes34.1 @@ -180,6 +180,8 @@ effect of wearing or removing the Eyes of the Overworld took effect on the dragon scale mail is magic armor invoking or applying an artifact must pass a touch_artifact check document 'D'rop BUCX behavior in the Guidebook +remove levitation boots over a portal, the portal teleport is delayed until + your next command is typed. Platform- and/or Interface-Specific Fixes diff --git a/src/allmain.c b/src/allmain.c index 65ee608ef..d3004e57a 100644 --- a/src/allmain.c +++ b/src/allmain.c @@ -283,10 +283,13 @@ moveloop() /* when immobile, count is in turns */ if(multi < 0) { - if (++multi == 0) /* finished yet? */ + if (++multi == 0) { /* finished yet? */ unmul((char *)0); + /* if unmul caused a level change, take it now */ + if (u.utotype) deferred_goto(); + } } - } + } } while (youmonst.movement