Just From a bug report: getting interrupted and then
resuming would sometimes produce two instances of the "You finish" message
(and evidently consumed an extra turn in the process). I think this is
an old problem and that it's just coincidence that it showed up right after
the patch dealing with avoidance of stale context for 'A'; the interruption
has to occur when there is just one turn left in removing the final item
so doesn't happen very often.
silver items such as wands avoided all the silver checks in hmon_hitmon()
resuming an interrupted 'A' command could cause crash if pending worn item(s)
were stolen or destroyed
+resuming interrupted 'A' sometimes ended with "You finished disrobing" twice
when you're asleep you shouldn't "notice" monsters that have become undetected
must be able to reach floor in order to use stethoscope on corpse or statue
return(otmp);
}
+/* occupation callback for 'A' */
STATIC_PTR
int
take_off()
return(1); /* get busy */
}
+/* clear saved context to avoid inappropriate resumption of interrupted 'A' */
void
reset_remarm()
{
context.takeoff.disrobing[0] = '\0';
}
-/* the 'A' command */
+/* the 'A' command -- remove multiple worn items */
int
doddoremarm()
{
if (context.takeoff.what || context.takeoff.mask) {
You("continue %s.", context.takeoff.disrobing);
set_occupation(take_off, context.takeoff.disrobing, 0);
- (void) take_off();
return 0;
} else if (!uwep && !uswapwep && !uquiver && !uamul && !ublindf &&
!uleft && !uright && !wearing_armor()) {