fix bz238 - looting many containers

"Looting many containers via menu cannot be stopped".  When the
player uses #loot command at a location with multiple containers,
a menu of which ones to loot is presented and player can pick any
or all of them.  But if you terminate the looting of a particular
container with ESC, it goes on to the next selected one rather than
stopping the loot action because that's what the 'q' choice does.

The simplest fix would be to allow choosing only one container
from the "loot which?" menu, but this retains the ability to loot
multiple containers on a pile in one turn.  It makes looting
stoppable by extending the ":iobrsq or ?" prompt, adding 'n' for
"next container" and changing 'q' from "done with this container"
to "done looting" (with ESC still a synonym for 'q').  When just
one container is being looted, or when on the last of N containers,
'n' is not shown but is still accepted (and treated as 'q').

Also, use_container() was using a menu for ":iobrsq" if player had
menustyle set to Full when it was intended to be for Partial (name
confusion...).  This switches Partial to use menu for loot action,
and leaves Full with that since that's how 3.6.0 has been behaving.
Traditional and Combination use the prompt string and single char
response.
This commit is contained in:
PatR
2016-03-07 16:38:05 -08:00
parent e3d2dfc7fb
commit 6106a7240f
4 changed files with 87 additions and 44 deletions

View File

@@ -177,6 +177,9 @@ a few types of monster (barrow wight, Nazgul, erinys) have weapon attacks that
cockatrice corpse wouldn't be inflicted
non-item-using monsters who happened to be carrying scroll or wand of fire or
a fire horn could use it to cure themselves of being turned into slime
when looting multiple containers, add 'n' for "loot next container", change
'q' and ESC from "done with this container" to "done looting"
change looting to choose ":iobrs nq" action from a menu for menustyle:Partial
Platform- and/or Interface-Specific Fixes