NetHack Patch Database v0.27

309 patches

Statuscolors and hitpointbar

NameStatuscolors and hitpointbar 2
Rating100%
Authortungtn
ForNetHack 3.6.0
DescriptionCustom rule-based coloring for status fields and visual bar for hit points
 This is a full rewrite of the old statuscolors and hitpointbar patches for NetHack 3.6.0, replacing 3.6.0's statushilites system. For the uninitiated, statuscolors allows status fields to be colored according to player-defined rules, e.g. show HP in green at 100%, yellow at 50% and red at 25%, highlight Hungry status, etc. whilst hitpointbar displays a bar behind the player's name filled according to the amount of HP remaining. Both features are bundled into a single patch because they share infrastructure, and almost everybody that wants one wants the other.

Why a rewrite? I noticed that the old patches were omitted from NetHack 3.6.0 by the DevTeam despite universal praise for them. My guess as to why is because of their TTY-centric design that made it hard to extend to other window ports. As such, this patch is designed to be easily extended to other window ports.

NOTE: This patch only implements these features for TTY, but with work could be extended to other window ports.


### TO COMPILE ###

For statuscolors, add -DSTATUS_VIA_WINDOWPORT and -DSTATUS_COLORS to your CFLAGS, then compile the game as usual.

For hitpointbar, only -DSTATUS_VIA_WINDOWPORT is needed.


### USING HITPOINTBAR ###

OPTIONS=hitpointbar

That's all.


### USING STATUSCOLORS ###

First, statuscolors need to be enabled.

OPTIONS=statuscolors

Next, statuscolor rules need to be defined. Rules for the old statuscolor patch are compatible, as are the new rule types added by NAO-3.4.3.

Basic example that colors hit points with multiple rules:

STATUSCOLOR=HP%100:lightgreen,HP%75:yellow,HP%50:orange,HP%25:red&underline

Conditions can be colored:

STATUSCOLOR=Satiated:lightcyan,Hungry:orange

Support for NAO-3.4.3-style less than, equal and greater than rules:

STATUSCOLOR=Pw<5:black&bold,Pw.5:nocolor,Pw>5:white

Like 3.6.0's statushilites, all numeric fields can be highlighted, and change rules are supported:

STATUSCOLOR=AC-1:brightgreen&inverse,AC+1:orange&inverse
STATUSCOLOR=St<18/01:nocolor
STATUSCOLOR=St<18/**:white
STATUSCOLOR=St.18/**:white&underline
STATUSCOLOR=St>18/**:white&underline&inverse

Change amounts can be colored differently:

STATUSCOLOR=Gold+1:green
STATUSCOLOR=Gold+100:brightgreen
STATUSCOLOR=Gold+200:brightgreen&underline
STATUSCOLOR=Gold-1:red

Like 3.6.0's statushilites, this patch features an in-game statuscolors customization menu for adjusting rules, under the options menu. Rules set this way can even be copy-pasted back into a configuration file!

For the full lists of status field names, rule types, color and attribute names, consult the changes to the Guidebook:

https://github.com/tung/nethack360-statuscolors/commit/7e259294d778ed7cb282f69c19ec02d646f28a97
Downloadhttps://github.com/tung/nethack360-statuscolors/compare/master...statuscolors2.diff (162.7 Kb)
AddedJanuary 28, 2016 10:35
Submit an update to this patch

1 Comment

5ElronndMarch 16, 2017 05:31
Works great![Quote]

Add a comment

Name ()required
Rating (0 is worst, 5 is best) 
Commentrequired
You can use up to 1024 characters.
Only supported tag is [url]clickable_link[/url].

You will need to answer the following question correctly: What symbol represents a fountain?