diff options
Diffstat (limited to 'crawl-ref/source/menu.cc')
-rw-r--r-- | crawl-ref/source/menu.cc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/crawl-ref/source/menu.cc b/crawl-ref/source/menu.cc index 8dfe5bc842..693bda8be6 100644 --- a/crawl-ref/source/menu.cc +++ b/crawl-ref/source/menu.cc @@ -880,6 +880,23 @@ bool PlayerMenuEntry::get_tiles(std::vector<tile_def>& tileset) const p_order[7] = TILEP_PART_LEG; } + // Special case bardings from being cut off. + bool is_naga = (equip_doll.parts[TILEP_PART_BASE] == TILEP_BASE_NAGA + || equip_doll.parts[TILEP_PART_BASE] == TILEP_BASE_NAGA + 1); + if (equip_doll.parts[TILEP_PART_BOOTS] >= TILEP_BOOTS_NAGA_BARDING + && equip_doll.parts[TILEP_PART_BOOTS] <= TILEP_BOOTS_NAGA_BARDING_RED) + { + flags[TILEP_PART_BOOTS] = is_naga ? TILEP_FLAG_NORMAL : TILEP_FLAG_HIDE; + } + + bool is_cent = (equip_doll.parts[TILEP_PART_BASE] == TILEP_BASE_CENTAUR + || equip_doll.parts[TILEP_PART_BASE] == TILEP_BASE_CENTAUR + 1); + if (equip_doll.parts[TILEP_PART_BOOTS] >= TILEP_BOOTS_CENTAUR_BARDING + && equip_doll.parts[TILEP_PART_BOOTS] <= TILEP_BOOTS_CENTAUR_BARDING_RED) + { + flags[TILEP_PART_BOOTS] = is_cent ? TILEP_FLAG_NORMAL : TILEP_FLAG_HIDE; + } + for (int i = 0; i < TILEP_PART_MAX; ++i) { const int p = p_order[i]; |