MSGTYPE

From NetHackWiki
Revision as of 18:30, 3 July 2012 by Bhaak (talk | contribs) (+UnNetHack)
Jump to navigation Jump to search
messagetype
Author Pasi Kallinen
Download link
NetHack PatchDB 397

MSGTYPE is a patch for NetHack 3.4.3 which adds configuration options allowing the user to change how messages are displayed. Nethack.alt.org and UnNetHack have it applied.

For example whether a message always waits for --MORE--, or if it's never shown, or if it's never shown more than once in a row.

Potential uses are:

  • to call attention to delayed instadeaths.
  • an automatic Elbereth spellchecker,
  • to miminize --MORE--'s to page through by killing redundant or blatantly obvious messages,
  • focus attention on the important parts of battle by removing the less serious "spam",
  • to kill typeahead in dangerous or conduct-wrecking situations,
  • reduce typing work a la "You carefully open your bag" space.

The format is

MSGTYPE=foo "string to match"

Where "foo" is one of "hide", "stop" or "norep", and the string to match is a message to be matched, with '*' and '?' wildcard expansion.

  • "hide" hides the message, so it's never shown.
  • "stop" always prompts for --MORE-- after the message.
  • "norep" shows the message, but not again if no other message is shown in between.
  • "show" shows the message, each time. This is the default.

The last matching rule is used. Put the general case first, exceptions below them.

# displacing pets
MSGTYPE=hide "You displaced *"
# items on floor
MSGTYPE=norep "You see here a *"
MSGTYPE=norep "You see here an *"
# delayed instadeaths
MSGTYPE=stop "You are slowing down."
MSGTYPE=stop "You find it hard to breathe."
MSGTYPE=stop "You are turning a little *"

"Stop" will also kill typeahead if you use the tty interface. For example, this will make it harder to miss the vibrating square due to inattentiveness:

MSGTYPE=stop "You feel a strange vibration under your *."
MSGTYPE=stop "You feel a strange vibration beneath you."

Tjr has a much more involved sample config.