the DB, right?
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1358 c06c8d41-db1a-0410-9941-cceddc491573
CRX4RG35C3DH57NIXCW4CG4X7SBMSX7TAJR2BAFQ4LQKCLYUNANQC
J6QMBZJOAWTIERCY5VXKYYXMR5HDSJS7K564X6LEMQMEELARN55AC
CIPVRZGLOZHCERK6YPOBV3P2E4IAB4H6D5EHLRQE2O5E4P4VCBUAC
NLSZ4SHFD6LN6AWB3HLLKQTCKQW55ZHEW3YM7XRAVAKIPD3C3Q3AC
TJRYL3NXPW5IUGEV3YOC7JYWEXCZDBFPLT4AUG4P227WVKVB72ZAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
VD4KDTGHVKCN35AWREYB4TEOUMCTW7SAUPAMTMF5ABC7VBHVKP4AC
LW4N5EHKL776DURXZMAM6JEW3JPWWX5BSNP7TCZHTLCDOQTTGFCAC
SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC
7AMQN7MITMXBNVDAK5VOXTQ4TZIAOD6ZLOFJG7GQMBTY23Y2BKSAC
ZCPJIAG7SEY2TUBAGOFWCEJYXSBT36CZU5VO7BWEGSLJ4K24B4TAC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
KEYK3CH5J46U6TTOKTWRNMYTZXMQXFVEAZUC4ZQ4QCOSJHVIBDRQC
#if (!DEBUG_DIAGNOSTICS)
if (!player_monster_visible( &menv[mid] ))
break;
#endif
describe_monsters(menv[mid].type, mid);
// Third priority: features
describe_feature_wide(moves.tx, moves.ty);
static std::string get_feature_description_wide(int feat)
{
switch ( feat )
{
case DNGN_ROCK_WALL:
case DNGN_SECRET_DOOR: // to prevent detection with 'x'
return "The typical dungeon barrier. Though it is impenetrable at "
"first sight, there are several ways to get through "
"or around it.";
case DNGN_STONE_WALL:
return "A harder obstacle than rock walls. Only the mightiest "
"magic can shatter stone walls.";
case DNGN_GREEN_CRYSTAL_WALL:
return "For some reason, some dungeon walls, like this one, "
"have been made of this polished crystal, imbued with arcane "
"magics. They prevent its destruction, and make it reflect heat "
"and cold.";
case DNGN_METAL_WALL:
return "An impenetrable barrier. As every dungeon electrician "
"knows, it grounds all forms of electricity.";
case DNGN_WAX_WALL:
return "These walls are built by bees. Occasionally a dungeon "
"architect will manipulate bees into building wax walls for "
"esthetic reasons. (Theirs, not the bees'.) They are susceptible "
"to heat and can easily melt.";
case DNGN_SHALLOW_WATER:
return "This waist-deep, misty water makes movement and combat "
"cumbersome for landlubbers -- sometimes dangerous, but never "
"directly fatal.";
case DNGN_DEEP_WATER:
if (you.species != SP_MERFOLK)
return "This deep, misty water will drown any who set foot in it, "
"unless they feel at home in water. Nothing in the dungeon "
"-- not even you! -- is dumb enough to go there without "
"thinking twice. Except when they're really confused...";
else
return "This is the deep, misty water which you call home.";
case DNGN_LAVA:
return "Lava, like the smoke that billows from it, sure looks "
"pretty from above! But walking on lava will burn everything "
"but lava creatures to a crisp. If the lava creatures themselves "
"haven't already done that job at range, that is.";
case DNGN_SPARKLING_FOUNTAIN:
return "'q'uaff to drink from this magic fountain. Expect magical "
"effects, as long as it's still magic.";
case DNGN_BLUE_FOUNTAIN:
return "'q'uaff to drink from this fountain. But it's far more "
"pretty than useful, unless you're trying to fetch the Orb "
"without eating, I guess.";
case DNGN_FLOOR:
switch (random2(6))
{
default:
case 0:
case 1:
case 2:
return "A plain floor space, for walking on.";
case 3:
return "Just a floor. Walk on it. Fly over it. I don't care.";
case 4:
return "A plain floor space, for walking on. "
"It could contain a nasty trap, but "
"who would be paranoid enough to believe that?";
case 5:
return "A plain floor space, for walking on. "
"Perhaps an invisible creature is lurking there, "
"but then, the dungeon is no playground for the "
"superstitious.";
}
case DNGN_OPEN_DOOR:
return "A plain door. "
"You can close it by standing next to it and pressing 'c'.";
case DNGN_CLOSED_DOOR:
return "A plain door. "
"To open it, try simply walking into it, or press 'o'.";
case DNGN_ENTER_SHOP:
return "A shop! Here, of all places! Some souls question the "
"wisdom of the dungeon's shopkeepers, who import wares to "
"hawk among a populace nearly as penniless as it is merciless. "
"But then, you're here and itching to spend, so... "
"what's the problem?";
default:
return std::string();
}
}
void describe_feature_wide(int x, int y)
{
std::string desc = feature_description(x, y);
desc += "$$";
desc += get_feature_description_wide(grd[x][y]);