Update: CONDITION is included in the latest version of nle. It is not part of nle v0.5 which I was using. I am now using v0.7.
Why is the are alignment and condition not include in the bottom line status (blstats) observations?
The condition is especially important during gameplay, and can take one of the following values: STONE, SLIME, STRNGL, FOODPOIS, TERMILL, BLIND, DEAF, STUN, CCONF, HALLU, LEV, FLY, RIDE.
E.g. FOODPOIS is a death sentence that a noobie learns to avoid quickly by not eating rotten corpses (which is any corpse that is older than 60 turns).
From the Nethack source code include/botl.cc:
enum statusfields {
BL_CHARACTERISTICS = -3, /* alias for BL_STR..BL_CH */
BL_RESET = -2, /* Force everything to redisplay */
BL_FLUSH = -1, /* Finished cycling through bot fields */
BL_TITLE = 0,
BL_STR, BL_DX, BL_CO, BL_IN, BL_WI, BL_CH, /* 1..6 */
BL_ALIGN, BL_SCORE, BL_CAP, BL_GOLD, BL_ENE, BL_ENEMAX, /* 7..12 */
BL_XP, BL_AC, BL_HD, BL_TIME, BL_HUNGER, BL_HP, /* 13..18 */
BL_HPMAX, BL_LEVELDESC, BL_EXP, BL_CONDITION, /* 19..22 */
MAXBLSTATS /* [23] */
};
From the NetHackTutorial.ipynb:
bl_meaning = [
'hero col', 'hero_row', 'strength_pct', 'strength', 'dexterity', 'constitution',
'intelligence', 'wisdom', 'charisma', 'score', 'hitpoints', 'max_hitpoints', 'depth',
'gold', 'energy', 'max_energy', 'armor_class', 'monster_level', 'experience_level',
'experience_points', 'time', 'hunger_state', 'carrying_capacity', 'dungeon_number', 'level_number'
]
This corresponds to the definition of blstats in win/winrl.cc. BL_ALIGN and BL_CONDITION seem to have no corresponding values in blstats.