summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2006-11-30 10:38:01 +0000
committerdshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2006-11-30 10:38:01 +0000
commit918cab578ab18e1ed47b89e8bed1bd07bc795542 (patch)
tree32185768aa1f48647682594c5b37268ba99759c5
parenta55c0a4160710417bb79deedf0bb63f824e79067 (diff)
downloadcrawl-ref-918cab578ab18e1ed47b89e8bed1bd07bc795542.tar.gz
crawl-ref-918cab578ab18e1ed47b89e8bed1bd07bc795542.zip
[1605400] Fixed inability to wield stuff when carrying no weapons.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@531 c06c8d41-db1a-0410-9941-cceddc491573
-rw-r--r--crawl-ref/source/invent.cc3
-rw-r--r--crawl-ref/source/item_use.cc7
-rw-r--r--crawl-ref/source/menu.cc5
3 files changed, 8 insertions, 7 deletions
diff --git a/crawl-ref/source/invent.cc b/crawl-ref/source/invent.cc
index 8302728722..7aa9b5c2c8 100644
--- a/crawl-ref/source/invent.cc
+++ b/crawl-ref/source/invent.cc
@@ -362,9 +362,6 @@ bool InvMenu::process_key( int key )
unsigned char InvMenu::getkey() const
{
unsigned char mkey = lastch;
- // Fake an ESCAPE if the menu is empty.
- if (!item_count())
- mkey = ESCAPE;
if (!isalnum(mkey) && mkey != '$' && mkey != '-' && mkey != '?'
&& mkey != '*' && mkey != ESCAPE)
mkey = ' ';
diff --git a/crawl-ref/source/item_use.cc b/crawl-ref/source/item_use.cc
index d98c6369b6..a6a65af1fd 100644
--- a/crawl-ref/source/item_use.cc
+++ b/crawl-ref/source/item_use.cc
@@ -177,7 +177,8 @@ bool wield_weapon(bool auto_wield, int slot, bool show_weff_messages)
return (false);
}
- // Any general reasons why we can't wield a new object?
+ // Look for conditions like berserking that could prevent wielding
+ // weapons.
if (!can_wield(NULL, true))
return (false);
@@ -201,8 +202,8 @@ bool wield_weapon(bool auto_wield, int slot, bool show_weff_messages)
&& you.inv[item_slot].base_type != OBJ_MISSILES
&& you.inv[item_slot].base_type != OBJ_STAVES;
- // Prompt if not using the auto swap command,
- // or if the swap slot is empty.
+ // Prompt if not using the auto swap command, or if the swap slot
+ // is empty.
if (!auto_wield || !is_valid_item(you.inv[item_slot]) || force_unwield)
{
if (!auto_wield)
diff --git a/crawl-ref/source/menu.cc b/crawl-ref/source/menu.cc
index df4c012930..dba1d91b2a 100644
--- a/crawl-ref/source/menu.cc
+++ b/crawl-ref/source/menu.cc
@@ -155,8 +155,11 @@ int Menu::post_process(int k)
bool Menu::process_key( int keyin )
{
if (items.size() == 0)
+ {
+ lastch = keyin;
return false;
-
+ }
+
bool nav = false, repaint = false;
if (f_keyfilter)