summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source')
-rw-r--r--crawl-ref/source/acr.cc6
-rw-r--r--crawl-ref/source/cmd-keys.h1
-rw-r--r--crawl-ref/source/enum.h1
-rw-r--r--crawl-ref/source/externs.h3
-rw-r--r--crawl-ref/source/initfile.cc3
-rw-r--r--crawl-ref/source/menu.cc2
-rw-r--r--crawl-ref/source/shopping.cc17
7 files changed, 28 insertions, 5 deletions
diff --git a/crawl-ref/source/acr.cc b/crawl-ref/source/acr.cc
index 53e35ab5d2..1bf74dc7a4 100644
--- a/crawl-ref/source/acr.cc
+++ b/crawl-ref/source/acr.cc
@@ -1260,6 +1260,7 @@ static bool _cmd_is_repeatable(command_type cmd, bool is_again = false)
case CMD_LIST_ARMOUR:
case CMD_LIST_JEWELLERY:
case CMD_LIST_EQUIPMENT:
+ case CMD_LIST_GOLD:
case CMD_CHARACTER_DUMP:
case CMD_DISPLAY_COMMANDS:
case CMD_DISPLAY_INVENTORY:
@@ -2416,6 +2417,11 @@ void process_command( command_type cmd )
get_invent(OSEL_EQUIP);
break;
+ case CMD_LIST_GOLD:
+ mprf("You have %d gold piece%s.",
+ you.gold, (you.gold > 1) ? "s" : "");
+ break;
+
case CMD_INSCRIBE_ITEM:
prompt_inscribe_item();
break;
diff --git a/crawl-ref/source/cmd-keys.h b/crawl-ref/source/cmd-keys.h
index bdf2c8baa5..1f5b4ba60e 100644
--- a/crawl-ref/source/cmd-keys.h
+++ b/crawl-ref/source/cmd-keys.h
@@ -83,6 +83,7 @@
{'=', CMD_ADJUST_INVENTORY},
{'?', CMD_DISPLAY_COMMANDS},
{'!', CMD_ANNOTATE_LEVEL},
+{'$', CMD_LIST_GOLD},
{CONTROL('D'), CMD_MACRO_ADD},
{'~', CMD_MACRO_ADD},
#ifdef WIZARD
diff --git a/crawl-ref/source/enum.h b/crawl-ref/source/enum.h
index 44852ac7ee..b4e0a3e47d 100644
--- a/crawl-ref/source/enum.h
+++ b/crawl-ref/source/enum.h
@@ -460,6 +460,7 @@ enum command_type
CMD_LIST_ARMOUR,
CMD_LIST_JEWELLERY,
CMD_LIST_EQUIPMENT,
+ CMD_LIST_GOLD,
CMD_ZAP_WAND,
CMD_CAST_SPELL,
CMD_MEMORISE_SPELL,
diff --git a/crawl-ref/source/externs.h b/crawl-ref/source/externs.h
index 7a0556c495..7279150d0e 100644
--- a/crawl-ref/source/externs.h
+++ b/crawl-ref/source/externs.h
@@ -1094,7 +1094,7 @@ public:
bool has_action_energy() const;
void check_redraw(const coord_def &oldpos) const;
void apply_location_effects();
-
+
void moveto(const coord_def& c);
bool move_to_pos(const coord_def &newpos);
@@ -1810,6 +1810,7 @@ public:
std::vector<message_colour_mapping> message_colour_mappings;
bool menu_colour_prefix_class; // Prefix item class to string
+ bool menu_colour_shops; // Use menu colours in shops?
std::vector<menu_sort_condition> sort_menus;
diff --git a/crawl-ref/source/initfile.cc b/crawl-ref/source/initfile.cc
index 55e6e64aac..3d09caef7d 100644
--- a/crawl-ref/source/initfile.cc
+++ b/crawl-ref/source/initfile.cc
@@ -912,6 +912,7 @@ void game_options::reset_options()
sound_mappings.clear();
menu_colour_mappings.clear();
menu_colour_prefix_class = false;
+ menu_colour_shops = true;
message_colour_mappings.clear();
drop_filter.clear();
map_file_name.clear();
@@ -2745,6 +2746,8 @@ void game_options::read_option_line(const std::string &str, bool runscript)
}
else BOOL_OPTION(menu_colour_prefix_class);
else BOOL_OPTION_NAMED("menu_color_prefix_class", menu_colour_prefix_class);
+ else BOOL_OPTION(menu_colour_shops);
+ else BOOL_OPTION_NAMED("menu_color_shops", menu_colour_shops);
else if (key == "message_colour" || key == "message_color")
{
add_message_colour_mappings(field);
diff --git a/crawl-ref/source/menu.cc b/crawl-ref/source/menu.cc
index 03dba10ef3..996c07239d 100644
--- a/crawl-ref/source/menu.cc
+++ b/crawl-ref/source/menu.cc
@@ -1170,7 +1170,7 @@ int menu_colour(const std::string &text, const std::string &prefix,
{
const colour_mapping &cm = Options.menu_colour_mappings[i];
if ((cm.tag.empty() || cm.tag == "any" || cm.tag == tag
- || cm.tag == "inventory" && tag == "pickup")
+ || cm.tag == "inventory" && tag == "pickup")
&& cm.pattern.matches(tmp_text) )
{
return (cm.colour);
diff --git a/crawl-ref/source/shopping.cc b/crawl-ref/source/shopping.cc
index 3568d5d79d..4e9f6eb3f6 100644
--- a/crawl-ref/source/shopping.cc
+++ b/crawl-ref/source/shopping.cc
@@ -104,7 +104,7 @@ static void _list_shop_keys(const std::string &purchasable)
std::string pkeys = _purchase_keys(purchasable);
if (!pkeys.empty())
- pkeys = "[" + pkeys + "] Buy Item";
+ pkeys = "[" + pkeys + "] Select Item";
snprintf(buf, sizeof buf,
"[<w>x</w>/<w>Esc</w>] Exit [<w>v</w>] Examine Items %s",
@@ -117,7 +117,7 @@ static void _list_shop_keys(const std::string &purchasable)
fs = formatted_string::parse_string(
"[<w>?</w>/<w>*</w>] Inventory "
- "[<w>\\</w>] Known Items");
+ "[<w>\\</w>] Known Items [<w>Enter</w>] Make Purchase");
fs.cprintf("%*s", get_number_of_cols() - fs.length() - 1, "");
fs.display();
}
@@ -193,7 +193,18 @@ static std::string _shop_print_stock( const std::vector<int>& stock,
else
cprintf("%c - ", c);
- textcolor(i % 2 ? LIGHTGREY : WHITE);
+
+ if (Options.menu_colour_shops)
+ {
+ // Colour stock according to menu colours.
+ const std::string colprf = menu_colour_item_prefix(mitm[stock[i]]);
+ const int col = menu_colour(mitm[stock[i]].name(DESC_NOCAP_A),
+ colprf, "shop");
+ textcolor(col != -1 ? col : LIGHTGREY);
+ }
+ else
+ textcolor(i % 2 ? LIGHTGREY : WHITE);
+
cprintf("%-56s%5d gold",
mitm[stock[i]].name(DESC_NOCAP_A, false, id).c_str(),
gp_value);