summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/describe.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-08-06 14:23:46 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-08-06 14:23:46 +0000
commit1395f15a3e6ee7e9b934da41b694c9beef71abda (patch)
tree688495e0100e9df57d5148faa37b0bb388e4bebd /crawl-ref/source/describe.cc
parent3afdb100186370fc412f68727fbfad5c2eff95c6 (diff)
downloadcrawl-ref-1395f15a3e6ee7e9b934da41b694c9beef71abda.tar.gz
crawl-ref-1395f15a3e6ee7e9b934da41b694c9beef71abda.zip
* Note items bought in shops along with their price
* Note donations made to Zin * Add option autoinscribe_randarts that, if true, autoinscribes artefacts of its own whenever some new properties become known, be it by using it or identifying. Also applies to shops. This is still unfinished and buggy. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6785 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/describe.cc')
-rw-r--r--crawl-ref/source/describe.cc49
1 files changed, 29 insertions, 20 deletions
diff --git a/crawl-ref/source/describe.cc b/crawl-ref/source/describe.cc
index ffdffd68c9..9f0df160cd 100644
--- a/crawl-ref/source/describe.cc
+++ b/crawl-ref/source/describe.cc
@@ -418,14 +418,6 @@ static std::vector<std::string> _randart_propnames( const item_def& item )
return propnames;
}
-static std::string _randart_auto_inscription( const item_def& item )
-{
- const std::vector<std::string> propnames = _randart_propnames(item);
-
- return comma_separated_line(propnames.begin(), propnames.end(),
- " ", " ");
-}
-
// Remove randart auto-inscription. Do it once for each property
// string, rather than the return value of randart_auto_inscription(),
// in case more information about the randart has been learned since
@@ -442,6 +434,25 @@ static void _trim_randart_inscrip( item_def& item )
trim_string(item.inscription);
}
+std::string randart_auto_inscription( const item_def& item )
+{
+ const std::vector<std::string> propnames = _randart_propnames(item);
+
+ return comma_separated_line(propnames.begin(), propnames.end(),
+ " ", " ");
+}
+
+void add_autoinscription( item_def &item, std::string ainscrip)
+{
+ // Remove previous randart inscription.
+ _trim_randart_inscrip(item);
+
+ if (!item.inscription.empty())
+ item.inscription += ", ";
+
+ item.inscription += ainscrip;
+}
+
struct property_descriptor
{
randart_prop_type property;
@@ -1966,13 +1977,17 @@ void describe_feature_wide(int x, int y)
desc += "$$";
// Get rid of trailing .$$ before lookup
- desc += getLongDescription(grd[x][y] == DNGN_ENTER_SHOP ? "A shop"
- : desc.substr(0, desc.length() - 3));
+ std::string db_name =
+ grd[x][y] == DNGN_ENTER_SHOP ? "A shop"
+ : desc.substr(0, desc.length() - 3);
+ desc += getLongDescription(db_name);
// For things which require logic
desc += _get_feature_description_wide(grd[x][y]);
- print_description(desc);
+ std::string quote = getQuoteString(db_name);
+
+ print_description(desc, "", "", "", "", quote);
mouse_control mc(MOUSE_MODE_MORE);
@@ -2099,7 +2114,7 @@ void inscribe_item(item_def &item, bool proper_prompt)
bool need_autoinscribe = false;
if (is_random_artefact(item))
{
- ainscrip = _randart_auto_inscription(item);
+ ainscrip = randart_auto_inscription(item);
if (!ainscrip.empty()
&& (!is_inscribed
|| item.inscription.find(ainscrip) == std::string::npos))
@@ -2161,13 +2176,7 @@ void inscribe_item(item_def &item, bool proper_prompt)
case 'a':
if (need_autoinscribe)
{
- // Remove previous randart inscription.
- _trim_randart_inscrip(item);
-
- if (!item.inscription.empty())
- item.inscription += ", ";
-
- item.inscription += ainscrip;
+ add_autoinscription(item, ainscrip);
break;
}
// If autoinscription is impossible, prompt for an inscription instead.
@@ -3170,7 +3179,7 @@ void describe_god( god_type which_god, bool give_title )
numcols).c_str();
cgotoxy(1, bottom_line - std::count(extra.begin(), extra.end(), '\n')-1,
GOTO_CRT);
- textcolor(LIGHTGREY);
+ textcolor(LIGHTGREY);
cprintf( "%s", extra.c_str() );
}