hilite_status attributes

Take a step towards eliminating merging hilite_status rules during
highlighting by creating a single rule instead of multiple ones
when specifying multiple attributes for the same highlight via the
'O' command's menus.

Old:
 (pick_one menu to pick a color) + (pick_one menu to pick an attribute)
| hilite_status:title/always/red&bold
 (pick_one menu to pick a color) + (pick_one menu to pick an attribute)
| hilite_status:title/always/red&blink
New:
 (pick_one menu to pick a color) + (pick_any menu to pick attributes)
| hilite_status:title/always/red&bold+blink

At present, rule selection during highlighting still merges multiple
applicable rules instead of finding the best one first, with the
problems that entails.

Bonus fix:  a hilite_status rule for status conditions which specified
"no attributes" would clear attributes for all previous condition
rules rather than just the one(s) in that "no attributes" rule.
This commit is contained in:
PatR
2018-06-23 17:37:54 -07:00
parent 8c2bd75ce4
commit 699e65fa34
3 changed files with 99 additions and 51 deletions

View File

@@ -46,6 +46,12 @@ wishing for "glob of grey ooze" failed even though grey ooze is recognized
as a variant spelling for gray ooze
spells of healing and extra healing cast at monsters handled monster blindness
inconsistently compared to other healing
when using the 'O' command to create a status highlight that specifies
multiple attributes (blink+inverse, &c), pick all of them in one menu
selection and create a single hilite_status rule instead of having
separate rules for each attribute to be merged when highlighting
highlighting status conditions would fail to use attributes if a rule with
them was followed by another one without (color only or color&normal)
Fixes to Post-3.6.1 Problems that Were Exposed Via git Repository