instead of "A Ziggurat".
Notes now remember which type of portal you entered: 153 | Portal | Entered level 1 of a ziggurat. 168 | Portal | Entered level 2 of a ziggurat. 189 | Bazaar | Entered a bazaar.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7606 c06c8d41-db1a-0410-9941-cceddc491573
L2PY64KUK7XYXNWKTC6YUN5DZYDNHNQFQHICUVNRGRHBHZAXWH3AC
KSM4H3SBM6FIQTUEGHXXYATJXEOJ4EKUBAFCRMFKSHY7N2HWECRQC
UNIJHT5L4GDN6L4WM2GQ6TZO3R6SRIHJ7XURBSNC4LF7JMYMWRFAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
QYUAYEGK7WPBJLZRSWZVDWD5SMNAWWIJSQPWYA7BEYXMEBD2SDKAC
43ZTEB57FU7KE5EVMYWZONNVJBZCGF3JEAJZIY25LC4LGE65PG5QC
X2FMEN4E345XD26Z2X7JMJ7VGHOGCGIELMHQRE2ITLVNQACP3NOQC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
X7MFMKQTNZ2IWBFVGS6WQV7NRNKJ3DWQAW2X7IQMFQQXW24AHPZQC
CI2RMLJLIAZMEGNN6LJN6PSHXHLPG7PXFIDYRGFPVMDPJ2R4S4NQC
JM6GKZ6VMX6FNVOZIDXIV22HGX7YESMIFZFE6EEQVCMFJIEA3FNAC
4N5PW5S3OV25HFN634NNWMMYX26NA2TB6TVFG4UMYSZ2VBJWKE4QC
AUXHSGS4EFOPZ6TVZYWNVOUDO7NYKUKE3HBKGQQWTALSVFOE3HAAC
NKONHW4JNY6HP2M63MNPM3H64ZWSUNUT5FX2STW4KTS4AMXJXXVQC
short_name = article_a(upcase_first(you.level_type_name), false);
{
// If the level name is faking a dungeon depth
// (i.e., "Ziggurat:3") then don't add an article
if (you.level_type_name.find(":") != std::string::npos)
short_name = you.level_type_name;
else
short_name = article_a(upcase_first(you.level_type_name),
false);
}
result << "| " << std::setw(7) << std::left
<< short_place_name(packed_place) << " | ";
if (type == NOTE_DUNGEON_LEVEL_CHANGE && !name.empty())
result << "| " << std::setw(7) << std::left
<< name << " | ";
else
result << "| " << std::setw(7) << std::left
<< short_place_name(packed_place) << " | ";
take_note(Note(NOTE_DUNGEON_LEVEL_CHANGE));
if (you.level_type == LEVEL_PORTAL_VAULT)
{
std::string name = "Portal";
if (you.level_type_name.length() <= 7
&& you.level_type_name.find(":") == std::string::npos)
{
name = uppercase_first(you.level_type_name);
}
else if (you.level_type_tag.length() <= 7)
{
name = uppercase_first(you.level_type_tag);
name = replace_all(name, "_", " ");
}
// If there's more than one word in level_type_origin then skip
// the first, since it's most likely a preposition.
std::string desc = "Entered ";
size_t space = you.level_type_origin.find(" ");
if (space == std::string::npos)
desc += you.level_type_origin;
else
desc += you.level_type_origin.substr(space + 1);
desc += ".";
take_note(Note(NOTE_DUNGEON_LEVEL_CHANGE, 0, 0, name.c_str(),
desc.c_str()));
}
else
take_note(Note(NOTE_DUNGEON_LEVEL_CHANGE));
}
LUAFN(dgn_set_level_type_name)
{
if (you.level_type != LEVEL_PORTAL_VAULT)
{
luaL_error(ls, "Can only set level type name on portal vaults");
return(0);
}
if (!lua_isstring(ls, 1))
{
luaL_argerror(ls, 1, "Expected string for level type name");
return(0);
}
you.level_type_name = luaL_checkstring(ls, 1);
return(0);