Subject was "Re: [slashem] Wimpy archaeologist with early artifacts"
Post by Janis PapanagnouNow that I think about it; it may be useful to have Nethack's user
interface extended by a "ABCGHST" string that is indicating the worn
items ([body-]Armor, Boots, Cloak, Gloves, Helmet, Shield, T-shirt).
That wouldn't help someone who plays slash'em.
A few years ago I implemented three extra status conditions
that were analogous to hunger or encumbrance in that their
value changed depending on circumstances rather than them
being on or off. One was for weapon(s), another for armor,
and the third for the type of terrain you're on or over. Each had
an option to enable or disable it (independent from each other).
Weapon was "bare handed", "empty handed" (wearing gloves
so not "bare"), one-handed weapon, two-handed weapon, or
two one-handed weapons. The one- or two-handed values
included a generic description of the weapon itself (so "sword",
"sling", "2H-polearm", &c).
Armor was "naked" or the armor type if wearing only one item
or something like your suggested "ABC..." for more than one.
Terrain was straightforward and included features like altar or
throne. I don't think it handled "unknown" when levitating while
blind; that was something which hadn't been implemented yet.
Offhand no other special cases come to mind.
I think those had been implemented for tty and curses; not
sure about the other interfaces. But that is a fundamental
issue with something like this: if it needs support in the
interface then some of it has to be replicated, and done so
by people with access to the relevant platforms.
It is suffering from several years of bit rot, plus I don't have
any recollection of why it wasn't ready to be used at the
time I set it aside. To-be-3.7 already has a bunch of optional
status conditions (of the on/off sort) and this overlaps some
of them.
Post by Janis PapanagnouIn my case above that I'd have seen "ABC-H-T", [...]
Note that wishing for a cockatrice corpse when not wearing
gloves is safe (at least in nethack; not sure about slash'em).
Those only matter if/when you wield (or sacrifice) it.
Post by Janis Papanagnou(Note: I suppose there's UI variants that already show you in
separate windows this information and more. So my proposal would
be useful specifically for the minimalistic text interfaces.)
Changing status for X11 or Qt generally requires more work
than for tty or curses. No doubt for Windows GUI as well.
The Qt interface has a "paper doll inventory" panel in
between the message panel and the status panel (which
are side-by-side above the map panel) that can be shown
or hidden at run-time. It isn't particularly doll-like (which is
typically a silhouette with information at the hands, head,
and so forth). Instead it's a 7 by 3 array of object tiles
depicting worm/wielded equipment. The top row has
blindfold, helmet, and quiver (IIRC), the next row has right
hand weapon, amulet, shield or secondary weapon (when
in two-weapon mode) or a mirror image of right hand
(when wielding a two-handed weapon), and so forth.
There's a color border around each tile reflecting its known
BUCX state. So you can tell at a glance what equipment
is in use /if you bother to look/. It also supports tool tips:
moving mouse pointer over one of the cells of the array
of tiles and pausing will show the description of the item
including inventory letter.
I suspect that the paper doll becomes ignored as noise
pretty quickly, but it has a secondary benefit early on of
assisting to learn what some tiles depict. [Like X11, the
Qt interface can change back and forth between tiles and
text map. But the Qt paper doll is a tiles-only feature.]
Apparently the pre-OSX Mac interface had something
similar.