summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/place.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/place.cc')
-rw-r--r--crawl-ref/source/place.cc21
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" );
}