diff --git a/doc/fixes36.1 b/doc/fixes36.1 index 0592a4637..6240d76d8 100644 --- a/doc/fixes36.1 +++ b/doc/fixes36.1 @@ -206,6 +206,8 @@ when attacking a monster with a rust or corrosion or acid passive post-3.6.0: fix "object lost" panic during pickup caused by sortloot revamp post-3.6.0: more sortloot revisions +post-3.6.0: fix inventory menu for response of '?' to getobj (more sortloot + revamp fallout) Platform- and/or Interface-Specific Fixes diff --git a/src/invent.c b/src/invent.c index 1e89d406b..920ea77e0 100644 --- a/src/invent.c +++ b/src/invent.c @@ -1334,10 +1334,12 @@ register const char *let, *word; else if (!strcmp(word, "write with")) Sprintf(qbuf, "your %s", body_part(FINGERTIP)); else if (!strcmp(word, "wield")) - Sprintf(qbuf, "your %s %s", uarmg ? "gloved" : "bare", - makeplural(body_part(HAND))); + Sprintf(qbuf, "your %s %s%s", uarmg ? "gloved" : "bare", + makeplural(body_part(HAND)), + !uwep ? " (wielded)" : ""); else if (!strcmp(word, "ready")) - Strcpy(qbuf, "empty quiver"); + Sprintf(qbuf, "empty quiver%s", + !uquiver ? " (nothing readied)" : ""); if (ilet == '?' && !*lets && *altlets) allowed_choices = altlets; @@ -2232,6 +2234,8 @@ long *out_cnt; nextclass: classcount = 0; for (otmp = invent; otmp; otmp = otmp->nobj) { + if (lets && !index(lets, otmp->invlet)) + continue; if (!flags.sortpack || otmp->oclass == *invlet) { any = zeroany; /* all bits zero */ ilet = otmp->invlet;