Status hilites

From NetHackWiki
Revision as of 16:36, 25 April 2016 by Roothorick (talk | contribs) (Created page with "This is as of 3.6.0. Given how weird it is, it will probably be changed in the future. Also, this is based primarily on reading the source. Due to a major bug (detailed below...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This is as of 3.6.0. Given how weird it is, it will probably be changed in the future.

Also, this is based primarily on reading the source. Due to a major bug (detailed below) and some other minor limitations, more than a few things cannot be easily tested or used.

Hilite_status uses the game's internal representation of your attributes, which results in some counterintuitive quirks.

Each entry takes the form field/threshold/down-color/up-color.

Thresholds can be one of these types:

  • An arbitrary number (e.g. "40"). If the field is equal to or less than the number specified, it will be hilighted as down-color; otherwise, it will be hilighted as up-color. As of 3.6.0, there is a bug where arbitrary number thresholds will not be parsed from a config file, which severely limits what you can do without pasting macros into the options menu.
  • A percentage (e.g. "25%"). This is only valid for hitpoints and power, and is the same as an arbitrary number except that the threshold is a certain percentage of that value's maximum instead of a specific number.
  • downup. The value will be hilighted down-color if it decreases, and up-color if it increases; the rest of the time, it will be displayed normally. The game also recognizes updown, up, and down, but they are treated as synonyms and do not change the order or meaning of the colors.
  • The parser also recognizes a "changed" threshold, but it is currently unimplemented, likely because "updown" would make it redundant.

Fields:

These fields mean and behave exactly what and how you'd expect: dexterity, constitution, intelligence, wisdom, charisma, score, gold, power, power-max, armor-class, time, hitpoints, and hitpoints-max.

These are straightforward, but need a little explanation:

  • strength is, of course, your current strength stat. 1-18 are per normal, but "19" is actually 18/01; "119" is actually 19, and so on through 125. (19-25 are displayed as "18/**"). 19-118 are 18/01 through 18/99.
  • experience-level is your current character level. experience is your total XP. The latter isn't displayed at all unless showexp is enabled.
  • HD: When you are polymorphed into a monster, your character level display is replaced with the monster level (aka "hit dice") of your polymorphed form.
  • carrying-capacity is 0 if unencumbered (in which case it won't be visible at all), 1 if burdened, 2 if stressed, 3 strained, 4 overtaxed, 5 overloaded.
  • hunger is 0 if satiated, 1 if not hungry (not shown on UI), 2 if hungry, 3 weak, 4 fainting, 5 fainted (as in actually unconscious from lack of food), and 6 starved.

Arbitrary number thresholds are not allowed for title, alignment, and dungeon-level. So, you cannot have different colors for different alignments, and you cannot highlight being above/below a certain level of the dungeon. The only allowed comparison is "updown"; when they change, they are highlighted as if they went up.

condition is special. It is a bitmask comprised of the following flags:

  • 0x01 (1) : Blind
  • 0x02 (2) : Confused
  • 0x04 (4) : Food Poisoned
  • 0x08 (8) : Ill
  • 0x10 (16): Hallucinating
  • 0x20 (32): Stunned
  • 0x40 (64): Sliming

You are considered "over" if you have any of the statuses in the bitmask you specify and "under" if not. To make your bitmask, take your desired conditions in the table above and add their numbers together. updown will highlight as if "up" when you gain any status, and as if "down" when you lose any status. (Note that the latter won't be visible when you lose your only status as there is no text to highlight.)