fix message sequencing when worn item is stolen

When a nymph or monkey successfully steals a worn item from hero,
first the item is unworn, side-effects of that take place (most
noticeably descending when losing levitation or flight) including
feedback about such side-effects, finally "<Mon> steals <item>" and
transfer from invent to thief's minvent.  If the side-effects were
fatal (such as drowning or burning up in lava), the player wouldn't
see any explanation for why that happened.

When a thief removes a worn item, give a message to that effect:
"<Mon> takes off your <item>."  That will usually be immediately
followed by "She stole <item>."  When the thief isn't a nymph or if
any messages were delivered after the "takes off" one, the monster
will be described by name:  "<Mon> stole <item>."
This commit is contained in:
PatR
2024-02-05 01:14:36 -08:00
parent 6b189fb0e1
commit 32e5c1df5c
2 changed files with 81 additions and 12 deletions

View File

@@ -1,4 +1,4 @@
/* NetHack 3.7 flag.h $NHDT-Date: 1698264779 2023/10/25 20:12:59 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.224 $ */
/* NetHack 3.7 flag.h $NHDT-Date: 1707122958 2024/02/05 08:49:18 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.236 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Michael Allison, 2006. */
/* NetHack may be freely redistributed. See license for details. */
@@ -475,6 +475,7 @@ enum plnmsg_types {
PLNMSG_BACK_ON_GROUND, /* leaving water */
PLNMSG_GROWL, /* growl() gave some message */
PLNMSG_HIDE_UNDER, /* hero saw a monster hide under something */
PLNMSG_MON_TAKES_OFF_ITEM, /* thief (nymph, monkey) taking worn item */
PLNMSG_enum /* 'none of the above' */
};