diff options
Diffstat (limited to 'crawl-ref/source/place.cc')
-rw-r--r-- | crawl-ref/source/place.cc | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/crawl-ref/source/place.cc b/crawl-ref/source/place.cc index 2c3683a1fa..7e13141cc9 100644 --- a/crawl-ref/source/place.cc +++ b/crawl-ref/source/place.cc @@ -84,12 +84,21 @@ std::string place_name( unsigned short place, bool long_name, case LEVEL_LABYRINTH: return ( long_name ? "a Labyrinth" : "Lab" ); case LEVEL_PORTAL_VAULT: - // FIXME: While there are no further portal vaults, declare all - // portal vaults as bazaars. -// if (you.level_type_name == "bazaar") - return ( long_name ? "a Bazaar" : "Bazaar" ); - -// return ( long_name ? "a Portal Chamber" : "Port" ); + // XXX: Using level_type_name here is strictly evil, but + // packed places lack the information needed for pretty-printing + // place names for portal vaults, so we must use this out-of-band + // information. + if (branch == you.level_type + && !you.level_type_name.empty()) + { + return long_name + ? article_a(you.level_type_name) + : upcase_first(you.level_type_name); + } + else + { + return long_name ? "a Portal Chamber" : "Port"; + } default: return ( long_name ? "Buggy Badlands" : "Bug" ); } |