theft vs donning, round 2 (trunk only)

The message "you stop taking off <that armor>" when interrupted by a
nymph's or monkey's theft attack would only be given if you were using 'A'
to take off the armor.  If you used 'T', you'd get "you stop putting on
<that armor>" instead.  The fix for that also makes it easy to vary the
nymph message "<the nymph persuades> you to start taking off" to be "<the
nymph persuades you to continue taking off" when taking that same piece
of armor off was interrupted by the theft.
This commit is contained in:
nethack.rankin
2012-02-05 04:26:48 +00:00
parent ef888e065a
commit a2f15cfd61
4 changed files with 50 additions and 11 deletions

View File

@@ -272,7 +272,8 @@ char *objnambuf;
{
struct obj *otmp;
int tmp, could_petrify, armordelay, olddelay, named = 0, retrycnt = 0;
boolean monkey_business; /* true iff an animal is doing the thievery */
boolean monkey_business, /* true iff an animal is doing the thievery */
was_doffing;
if (objnambuf) *objnambuf = '\0';
/* the following is true if successful on first of two attacks. */
@@ -391,6 +392,7 @@ gotobj:
o_unleash(otmp);
}
was_doffing = doffing(otmp);
/* stop donning/doffing now so that afternmv won't be clobbered
below; stop_occupation doesn't handle donning/doffing */
olddelay = stop_donning(otmp);
@@ -429,13 +431,17 @@ gotobj:
pline("%s charms you. You gladly %s your %s.",
!seen ? "She" : Monnam(mtmp),
curssv ? "let her take" :
slowly ? "start removing" : "hand over",
!slowly ? "hand over" :
was_doffing ? "continue removing" :
"start removing",
equipname(otmp));
else
pline("%s seduces you and %s off your %s.",
!seen ? "She" : Adjmonnam(mtmp, "beautiful"),
curssv ? "helps you to take" :
slowly ? "you start taking" : "you take",
!slowly ? "you take" :
was_doffing ? "you continue taking" :
"you start taking",
equipname(otmp));
named++;
/* the following is to set multi for later on */