From 7a008b62b72447b20c7fd499a2facc001d758ceb Mon Sep 17 00:00:00 2001 From: Michael Meyer Date: Mon, 27 Jun 2022 10:10:17 -0400 Subject: [PATCH] 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. --- src/invent.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/invent.c b/src/invent.c index 07c74ca3c..99ffc9335 100644 --- a/src/invent.c +++ b/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 */ }