diff --git a/doc/fixes34.4 b/doc/fixes34.4 index ae47cf198..b16b1aac2 100644 --- a/doc/fixes34.4 +++ b/doc/fixes34.4 @@ -198,6 +198,8 @@ more precise probing/stethoscope feedback when engulfed make baby long worms have lower level than full grown ones use "your kraken" instead of "a kraken" when searching reveals a tame hidden monster +prevent scroll of charging that has already disappeared from showing in the + picklist of things to charge Platform- and/or Interface-Specific Fixes diff --git a/src/read.c b/src/read.c index 2119d6821..922f60b14 100644 --- a/src/read.c +++ b/src/read.c @@ -1154,10 +1154,13 @@ struct obj *sobj; known = TRUE; if (!already_known) pline("This is a charging scroll."); + /* use it up now to prevent if from showing in the + getobj picklist because the "disappears" message + was already delivered */ + useup(sobj); otmp = getobj(all_count, "charge"); - if (!otmp) break; - recharge(otmp, scursed ? -1 : sblessed ? 1 : 0); - break; + if (otmp) recharge(otmp, scursed ? -1 : sblessed ? 1 : 0); + return(1); case SCR_MAGIC_MAPPING: if (level.flags.nommap) { Your("mind is filled with crazy lines!");