fix #K3529 - perm_invent not IDing blank scroll
Report was for curses but issue is in the core so any interface that supports persistent inventory is affected. Reading a not-yet- discovered scroll of blank paper wasn't always updating perm_invent to show change in formatted description when it became discovered. Would only happen on turn #1 (so the scroll needed to be acquired via autopickup at starting location or via wizard mode wish so that it could be read before any game time elapsed) when the object discovery routine deliberately avoided updating perm_invent. Fix by using a different way than moves==1 to decide whether an object is being discovered because it is part of hero's initial inventory.
This commit is contained in:
@@ -444,8 +444,8 @@ discover_object(int oindx, boolean mark_as_known, boolean credit_hero)
|
||||
if (credit_hero)
|
||||
exercise(A_WIS, TRUE);
|
||||
}
|
||||
/* moves==1L => initial inventory, gameover => final disclosure */
|
||||
if (g.moves > 1L && !g.program_state.gameover) {
|
||||
/* !in_moveloop => initial inventory, gameover => final disclosure */
|
||||
if (g.program_state.in_moveloop && !g.program_state.gameover) {
|
||||
if (objects[oindx].oc_class == GEM_CLASS)
|
||||
gem_learned(oindx); /* could affect price of unpaid gems */
|
||||
update_inventory();
|
||||
|
||||
Reference in New Issue
Block a user