Permit gold to be included in justpicked typeinv
Just-picked-up gold was included in the list of items in the just-picked category for most category-based menus like 'D' or #loot, but special handling of gold for 'I'/#inventtype (to accomodate the 'goldX' option) caused it to be excluded from consideration as a just-picked item. Include recently picked up gold in 'P'/justpicked when doing type inventory, consist with other category-menu-based actions.
This commit is contained in:
11
src/invent.c
11
src/invent.c
@@ -3632,6 +3632,8 @@ tally_BUCX(struct obj *list, boolean by_nexthere,
|
||||
/* priests always know bless/curse state */
|
||||
if (Role_if(PM_CLERIC))
|
||||
list->bknown = (list->oclass != COIN_CLASS);
|
||||
if (list->pickup_prev)
|
||||
++(*jcp);
|
||||
/* coins are either uncursed or unknown based upon option setting */
|
||||
if (list->oclass == COIN_CLASS) {
|
||||
if (flags.goldX)
|
||||
@@ -3640,8 +3642,6 @@ tally_BUCX(struct obj *list, boolean by_nexthere,
|
||||
++(*ucp);
|
||||
continue;
|
||||
}
|
||||
if (list->pickup_prev)
|
||||
++(*jcp);
|
||||
/* ordinary items */
|
||||
if (!list->bknown)
|
||||
++(*xcp);
|
||||
@@ -3795,7 +3795,9 @@ this_type_only(struct obj *obj)
|
||||
{
|
||||
boolean res = (obj->oclass == g.this_type);
|
||||
|
||||
if (obj->oclass == COIN_CLASS) {
|
||||
if (g.this_type == 'P') {
|
||||
res = obj->pickup_prev;
|
||||
} else if (obj->oclass == COIN_CLASS) {
|
||||
/* if filtering by bless/curse state, gold is classified as
|
||||
either unknown or uncursed based on user option setting */
|
||||
if (g.this_type && index("BUCX", g.this_type))
|
||||
@@ -3814,9 +3816,6 @@ this_type_only(struct obj *obj)
|
||||
case 'X':
|
||||
res = !obj->bknown;
|
||||
break;
|
||||
case 'P':
|
||||
res = obj->pickup_prev;
|
||||
break;
|
||||
default:
|
||||
break; /* use 'res' as-is */
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user