]> granicus.if.org Git - nethack/commitdiff
Fix: running through quest expulsion
authorMichael Meyer <me@entrez.cc>
Fri, 10 Jun 2022 14:51:15 +0000 (10:51 -0400)
committerPatR <rankin@nethack.org>
Thu, 30 Jun 2022 01:17:07 +0000 (18:17 -0700)
If a player was in the process of running past the quest leader when she
got expelled from the quest, she would continue running out of the quest
portal on the portal level.  Interrupt any running (or other multi-turn
action) when expelling the hero from the quest level.

src/quest.c

index 306b7a56b2dd99fef286f582602d19e7fb93d11b..ad1b56949f3b9835c32bc6c35590a8e5ce2658fc 100644 (file)
@@ -194,6 +194,7 @@ expulsion(boolean seal)
     dest = (br->end1.dnum == u.uz.dnum) ? &br->end2 : &br->end1;
     if (seal)
         portal_flag |= UTOTYPE_RMPORTAL;
+    nomul(0); /* stop running */
     schedule_goto(dest, portal_flag, (char *) 0, (char *) 0);
     if (seal) { /* remove the portal to the quest - sealing it off */
         int reexpelled = u.uevent.qexpelled;