fix #K4063 - "back on ground" given at odd time

Moving over at item that's resting on ice gives a message about there
being ice present and then about the item, whether mention_decor is On
or Off.  With it On, you'll get a message about being back on solid
ground as soon as you leave the ice.  With it Off you wouldn't get
that at all if not levitating; that's the basic no-mention_decor
behavior for ice.  However, if you were levitating, you would get a
delayed "back on solid ground" message when moving over some other
object, which might occur quite a bit later.  Autopickup handling is
calling describe_decor() when the hero is levitating and some of that
wasn't appropriate for no-mention_decor.

This issue has been present since I first implemented mention_decor,
not introduced by recent back_on_ground() changes.
This commit is contained in:
PatR
2023-12-13 13:15:18 -08:00
parent d4c0f6bb75
commit 9d3710163e
5 changed files with 36 additions and 19 deletions

View File

@@ -2831,7 +2831,6 @@ pooleffects(
You("leave the %s...", hliquid("water")); /* oops! */
} else {
back_on_ground(FALSE);
iflags.last_msg = PLNMSG_BACK_ON_GROUND;
}
} else if (Is_waterlevel(&u.uz)) {
still_inwater = TRUE;