(0030881)
neil (administrator)
2016-08-10 23:55
|
The current game_option::mon_glyph_overrides map has only monster_type (a single monster class enum, obtained by mons->type) as its key. Distinguishing different kinds of derived undead requires specifying two monster_types: the "type" mons->type (MONS_SKELETON for example), and the "base monster" mons->base_monster (MONS_JUGGERNAUT for example).
Depending on how this is implemented, it might also help with draconians.
* Defining a new syntax for the mon_glyph option that allows specifying both monster types; or using something like mons_list::mons_by_name to parse plain old "human zombie".
* Either adding a new map alongside game_options::mon_glyph_overrides; or modifying the latter to take a pair of monster_type as its key (and in the latter case also figuring out what to store for normal monsters that don't have a reasonable base_monster.
* Changing the code in initfile.cc that parses the mon_glyph option and sets Options.mon_glyph_overrides. Search that file for "mon_glyph".
* Changing mons_char and mons_class_colour to support being passed two monster types.
* Inspecting the callers of mons_char and mons_class_colour to see which need to get the mons_base_type and pass it in.
* Updating documentation accordingly, especial options_guide.txt.
I may have left out a few things. |