diff --git a/doc/fixes34.4 b/doc/fixes34.4 index 07d2016c9..ddde661b1 100644 --- a/doc/fixes34.4 +++ b/doc/fixes34.4 @@ -104,6 +104,7 @@ monster's aggravation spell now affects meditating monsters busy pet won't miss out upon ascension fix various places that "finally finished" could be displayed after the hero stopped doing something other than eating +fix some cases where movement was disallowed by the hero was still conscious Platform- and/or Interface-Specific Fixes diff --git a/src/dothrow.c b/src/dothrow.c index 9a735236a..32b52c4c4 100644 --- a/src/dothrow.c +++ b/src/dothrow.c @@ -633,7 +633,7 @@ hurtle(dx, dy, range, verbose) if(!range || (!dx && !dy) || u.ustuck) return; /* paranoia */ nomul(-range); - nomovemsg = 0; + nomovemsg = ""; /* it just happens */ if (verbose) You("%s in the opposite direction.", range > 1 ? "hurtle" : "float"); /* if we're in the midst of shooting multiple projectiles, stop */ diff --git a/src/eat.c b/src/eat.c index ebd74e276..5368ceb9a 100644 --- a/src/eat.c +++ b/src/eat.c @@ -213,7 +213,6 @@ choke(food) /* To a full belly all food is bad. (It.) */ } You("stuff yourself and then vomit voluminously."); morehungry(1000); /* you just got *very* sick! */ - nomovemsg = 0; vomit(); } else { killer.format = KILLED_BY_AN; @@ -2575,7 +2574,7 @@ vomit() /* A good idea from David Neves */ { make_sick(0L, (char *) 0, TRUE, SICK_VOMITABLE); nomul(-2); - nomovemsg = 0; + nomovemsg = You_can_move_again; } int diff --git a/src/mhitu.c b/src/mhitu.c index 661bdd112..67c892057 100644 --- a/src/mhitu.c +++ b/src/mhitu.c @@ -1108,7 +1108,7 @@ dopois: } else { if (Blind) You("are frozen!"); else You("are frozen by %s!", mon_nam(mtmp)); - nomovemsg = 0; /* default: "you can move again" */ + nomovemsg = You_can_move_again; nomul(-rnd(10)); exercise(A_DEX, FALSE); } diff --git a/src/pray.c b/src/pray.c index 5c3d772bb..e150a47cb 100644 --- a/src/pray.c +++ b/src/pray.c @@ -1738,7 +1738,7 @@ doturn() } } nomul(-5); - nomovemsg = 0; + nomovemsg = You_can_move_again; return(1); } diff --git a/src/timeout.c b/src/timeout.c index b712a03fa..373daa5b3 100644 --- a/src/timeout.c +++ b/src/timeout.c @@ -44,7 +44,7 @@ stoned_dialogue() case 3: /* limbs turned to stone */ stop_occupation(); nomul(-3); /* can't move anymore */ - nomovemsg = 0; + nomovemsg = You_can_move_again; /* not unconscious */ break; default: break; @@ -72,10 +72,9 @@ vomiting_dialogue() switch ((int) i) { case 0: - vomit(); - morehungry(20); stop_occupation(); - if (multi > 0) nomul(0); + morehungry(20); + vomit(); break; case 2: make_stunned(HStun + d(2,4), FALSE); diff --git a/src/trap.c b/src/trap.c index 082284a86..b29395ff3 100644 --- a/src/trap.c +++ b/src/trap.c @@ -2210,7 +2210,7 @@ glovecheck: target = which_armor(mtmp, W_ARMG); if (mtmp->mhp <= 0) trapkilled = TRUE; if (unconscious()) { multi = -1; - nomovemsg="The explosion awakens you!"; + nomovemsg = "The explosion awakens you!"; } break; @@ -4066,6 +4066,7 @@ unconscious() { return((boolean)(multi < 0 && (!nomovemsg || u.usleep || + !strncmp(nomovemsg,"You awake", 9) || !strncmp(nomovemsg,"You regain con", 14) || !strncmp(nomovemsg,"You are consci", 14)))); } diff --git a/src/uhitm.c b/src/uhitm.c index ac3405a3b..0d9a031b9 100644 --- a/src/uhitm.c +++ b/src/uhitm.c @@ -2328,7 +2328,7 @@ boolean wep_was_destroyed; You("momentarily stiffen."); } else { /* gelatinous cube */ You("are frozen by %s!", mon_nam(mon)); - nomovemsg = 0; /* default: "you can move again" */ + nomovemsg = You_can_move_again; nomul(-tmp); exercise(A_DEX, FALSE); }