wiz_identify vs perm_invent
Using ^I to identify inventory and picking '_' (or '^I' or full menu) would update persistent inventory window after identifying everything, but picking specific items (even everything as long as '_' was excluded) to identify wasn't doing that. I moved some fixes37.0 entries around to group the persistent inventory ones together. One involved hold_another_object so I group those too. I didn't look very hard to try to find others that could fit with these.
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.446 $ $NHDT-Date: 1612656277 2021/02/07 00:04:37 $
|
NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.448 $ $NHDT-Date: 1612912018 2021/02/09 23:06:58 $
|
||||||
|
|
||||||
General Fixes and Modified Features
|
General Fixes and Modified Features
|
||||||
-----------------------------------
|
-----------------------------------
|
||||||
@@ -74,8 +74,27 @@ if the orc-town version of mine town has been loaded, creation of orc zombies
|
|||||||
when punished, involuntarily teleporting and landing within chain range of
|
when punished, involuntarily teleporting and landing within chain range of
|
||||||
attached ball while encumbered worse than burdened could trigger
|
attached ball while encumbered worse than burdened could trigger
|
||||||
"remove_object: obj not on floor" panic on hero's next move
|
"remove_object: obj not on floor" panic on hero's next move
|
||||||
|
update persistent inventory when putting on a helmet causes it to auto-curse
|
||||||
inventory cursing caused by "this water's no good" effect when drinking from
|
inventory cursing caused by "this water's no good" effect when drinking from
|
||||||
a fountain didn't update persistent inventory window
|
a fountain didn't update persistent inventory window
|
||||||
|
leashing or unleashing pets wasn't updating persistent inventory window
|
||||||
|
when the wetness of a towel in inventory changed, persistent inventory wasn't
|
||||||
|
updated to show that
|
||||||
|
using wizard mode identify to ID 'all' updated perm_invent window but IDing
|
||||||
|
specific items--even every one of them--did not
|
||||||
|
hold_another_object added item to inventory first, then maybe removed and
|
||||||
|
dropped it, resulting in spurious add and remove perm_invent updates
|
||||||
|
when hold_another_object fails while hero is swallowed, drop the item into
|
||||||
|
swallower's inventory instead of onto the floor
|
||||||
|
hold_another_object (for wishing, horn of plenty, theft while poly'd, other
|
||||||
|
non-pickup actions giving hero another inventory item) wasn't
|
||||||
|
reporting change in encumbrance; that would catch up on next turn but
|
||||||
|
could be off during additional move(s) for current turn
|
||||||
|
hold_another_object used hardcoded Stressed to limit carrying instead of
|
||||||
|
using the 'pickup_burden' option for that
|
||||||
|
transforming a potion by dipping a unicorn horn into it could result in the
|
||||||
|
potion being dropped due to 'pickup_burden' if encumbrance was already
|
||||||
|
over threshold before dipping but within it after removal from invent
|
||||||
fix priest created inside temple wall
|
fix priest created inside temple wall
|
||||||
fix vault guard occasionally encasing monsters in stone
|
fix vault guard occasionally encasing monsters in stone
|
||||||
tone down scare monster by excluding humans and uniques
|
tone down scare monster by excluding humans and uniques
|
||||||
@@ -178,16 +197,6 @@ falling while going down stairs and dropping items due to encumbrance or
|
|||||||
punishment wasn't subjecting fragile ones to breakage
|
punishment wasn't subjecting fragile ones to breakage
|
||||||
objects scattered by an explosion which land on water or lava weren't affected
|
objects scattered by an explosion which land on water or lava weren't affected
|
||||||
by the water or lava
|
by the water or lava
|
||||||
hold_another_object (for wishing, horn of plenty, theft while poly'd, other
|
|
||||||
non-pickup actions giving hero another inventory item) wasn't
|
|
||||||
reporting change in encumbrance; that would catch up on next turn but
|
|
||||||
could be off during additional move(s) for current turn
|
|
||||||
hold_another_object added item to inventory first, then maybe removed and
|
|
||||||
dropped it, resulting in spurious add and remove perm_invent updates
|
|
||||||
hold_another_object used hardcoded Stressed to limit carrying instead of
|
|
||||||
using the 'pickup_burden' option for that
|
|
||||||
when hold_another_object fails while hero is swallowed, drop the item into
|
|
||||||
swallower's inventory instead of onto the floor
|
|
||||||
change mkclass() to usually honor (always honor for L class) the hell-only and
|
change mkclass() to usually honor (always honor for L class) the hell-only and
|
||||||
never-in-hell monster creation flags; no more achi-lich in the Castle
|
never-in-hell monster creation flags; no more achi-lich in the Castle
|
||||||
(nor master lich there unless demilich gets a potion of gain level)
|
(nor master lich there unless demilich gets a potion of gain level)
|
||||||
@@ -247,7 +256,6 @@ wizard mode #wizintrinsic: setting Levitation wouldn't block Flying as
|
|||||||
chatting to the quest leader in wizard mode with sufficient experience level
|
chatting to the quest leader in wizard mode with sufficient experience level
|
||||||
and insufficient piety, player is asked whether alignment should be
|
and insufficient piety, player is asked whether alignment should be
|
||||||
boosted; answering 'n' resulted in being prompted a second time
|
boosted; answering 'n' resulted in being prompted a second time
|
||||||
leashing or unleashing pets wasn't updating persistent inventory window
|
|
||||||
end of game inventory disclosure passed an inappropriate argument to the
|
end of game inventory disclosure passed an inappropriate argument to the
|
||||||
inventory display routine; not noticeable for tty and curses,
|
inventory display routine; not noticeable for tty and curses,
|
||||||
noticeable but not harmful for X11, and slightly harmful for Qt
|
noticeable but not harmful for X11, and slightly harmful for Qt
|
||||||
@@ -294,7 +302,6 @@ hero could break a wand ("raising the wand high over your head, you break it
|
|||||||
one-handed weapon and also to a shield
|
one-handed weapon and also to a shield
|
||||||
if a monster threw a cocktrice egg at the hero but hit and petrified another
|
if a monster threw a cocktrice egg at the hero but hit and petrified another
|
||||||
monster, the hero would get credit/blame for killing it
|
monster, the hero would get credit/blame for killing it
|
||||||
update persistent inventory when putting on a helmet causes it to auto-curse
|
|
||||||
since ki-rin look quite a bit like unicorns, make them be more like one:
|
since ki-rin look quite a bit like unicorns, make them be more like one:
|
||||||
allow them to use their own horn to cure themselves; remove M1_ANIMAL,
|
allow them to use their own horn to cure themselves; remove M1_ANIMAL,
|
||||||
change MS_NEIGH to MS_SPELL, add MR_POISON, use horse body parts;
|
change MS_NEIGH to MS_SPELL, add MR_POISON, use horse body parts;
|
||||||
@@ -333,8 +340,6 @@ selling a container to a shop for gold leaves any contents that the shop
|
|||||||
add some new demonic and angelic maledictions
|
add some new demonic and angelic maledictions
|
||||||
when fire damage dried a wet towel, it would never reduce the wetness to 0
|
when fire damage dried a wet towel, it would never reduce the wetness to 0
|
||||||
when water damage wet a towel, the new wetness might randomly become less
|
when water damage wet a towel, the new wetness might randomly become less
|
||||||
when the wetness of a towel in inventory changed, persistent inventory wasn't
|
|
||||||
updated to show that
|
|
||||||
make Death revive earlier, and all the Riders after 67 turns at latest
|
make Death revive earlier, and all the Riders after 67 turns at latest
|
||||||
when protection from shape changers begins, force mimic out of concealment
|
when protection from shape changers begins, force mimic out of concealment
|
||||||
even if hero can't see its location; for locations that can be seen,
|
even if hero can't see its location; for locations that can be seen,
|
||||||
@@ -361,9 +366,6 @@ when a pet ate a mimic corpse and tried to temporarily look like a sink it
|
|||||||
ended up looking like a throne (terrain type SINK == symbol S_throne)
|
ended up looking like a throne (terrain type SINK == symbol S_throne)
|
||||||
have dowhatdoes ('&') catch up with '?i' to describe ^A, ESC, and movement
|
have dowhatdoes ('&') catch up with '?i' to describe ^A, ESC, and movement
|
||||||
prefix keystrokes correctly instead of reporting "no such command"
|
prefix keystrokes correctly instead of reporting "no such command"
|
||||||
transforming a potion by dipping a unicorn horn into it could result in the
|
|
||||||
potion being dropped due to 'pickup_burden' if encumbrance was already
|
|
||||||
over threshold before dipping but within it after removal from invent
|
|
||||||
give barrow wights a cold touch
|
give barrow wights a cold touch
|
||||||
for configuration using external compression on save files that applied a name
|
for configuration using external compression on save files that applied a name
|
||||||
suffix, 'selectsaved' (restore via menu) couldn't handle any which had
|
suffix, 'selectsaved' (restore via menu) couldn't handle any which had
|
||||||
|
|||||||
12
src/invent.c
12
src/invent.c
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.7 invent.c $NHDT-Date: 1612738685 2021/02/07 22:58:05 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.318 $ */
|
/* NetHack 3.7 invent.c $NHDT-Date: 1612912018 2021/02/09 23:06:58 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.319 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/*-Copyright (c) Derek S. Ray, 2015. */
|
/*-Copyright (c) Derek S. Ray, 2015. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -2218,8 +2218,7 @@ count_unidentified(struct obj *objchn)
|
|||||||
/* dialog with user to identify a given number of items; 0 means all */
|
/* dialog with user to identify a given number of items; 0 means all */
|
||||||
void
|
void
|
||||||
identify_pack(int id_limit,
|
identify_pack(int id_limit,
|
||||||
boolean learning_id) /* true if we just read unknown
|
boolean learning_id) /* T: just read unknown identify scroll */
|
||||||
identify scroll */
|
|
||||||
{
|
{
|
||||||
struct obj *obj;
|
struct obj *obj;
|
||||||
int n, unid_cnt = count_unidentified(g.invent);
|
int n, unid_cnt = count_unidentified(g.invent);
|
||||||
@@ -2635,6 +2634,7 @@ display_pickinv(
|
|||||||
&selected);
|
&selected);
|
||||||
if (n > 0) {
|
if (n > 0) {
|
||||||
if (wizid) {
|
if (wizid) {
|
||||||
|
boolean all_id = FALSE;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
/* identifying items will update perm_invent, calling this
|
/* identifying items will update perm_invent, calling this
|
||||||
@@ -2646,11 +2646,17 @@ display_pickinv(
|
|||||||
otmp = selected[i].item.a_obj;
|
otmp = selected[i].item.a_obj;
|
||||||
if (otmp == &wizid_fakeobj) {
|
if (otmp == &wizid_fakeobj) {
|
||||||
identify_pack(0, FALSE);
|
identify_pack(0, FALSE);
|
||||||
|
/* identify_pack() performs update_inventory() */
|
||||||
|
all_id = TRUE;
|
||||||
|
break;
|
||||||
} else {
|
} else {
|
||||||
if (not_fully_identified(otmp))
|
if (not_fully_identified(otmp))
|
||||||
(void) identify(otmp);
|
(void) identify(otmp);
|
||||||
|
/* identify() does not perform update_inventory() */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (!all_id)
|
||||||
|
update_inventory();
|
||||||
} else {
|
} else {
|
||||||
ret = selected[0].item.a_char;
|
ret = selected[0].item.a_char;
|
||||||
if (out_cnt)
|
if (out_cnt)
|
||||||
|
|||||||
Reference in New Issue
Block a user