summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source')
-rw-r--r--crawl-ref/source/acr.cc20
-rw-r--r--crawl-ref/source/directn.cc4
-rw-r--r--crawl-ref/source/mon-util.cc9
-rw-r--r--crawl-ref/source/mutation.cc4
4 files changed, 31 insertions, 6 deletions
diff --git a/crawl-ref/source/acr.cc b/crawl-ref/source/acr.cc
index a26541f3f7..680b261bf9 100644
--- a/crawl-ref/source/acr.cc
+++ b/crawl-ref/source/acr.cc
@@ -2006,8 +2006,24 @@ void process_command( command_type cmd )
case CMD_DISPLAY_OVERMAP: display_overmap(); break;
case CMD_GO_UPSTAIRS: _go_upstairs(); break;
case CMD_GO_DOWNSTAIRS: _go_downstairs(); break;
- case CMD_OPEN_DOOR: _open_door(0, 0); break;
- case CMD_CLOSE_DOOR: _close_door(coord_def(0, 0)); break;
+
+ case CMD_OPEN_DOOR:
+ if (you.attribute[ATTR_TRANSFORMATION] == TRAN_BAT)
+ {
+ mpr("You can't open doors in your present form.");
+ break;
+ }
+ _open_door(0, 0);
+ break;
+
+ case CMD_CLOSE_DOOR:
+ if (you.attribute[ATTR_TRANSFORMATION] == TRAN_BAT)
+ {
+ mpr("You can't open doors in your present form.");
+ break;
+ }
+ _close_door(coord_def(0, 0));
+ break;
case CMD_DROP:
drop();
diff --git a/crawl-ref/source/directn.cc b/crawl-ref/source/directn.cc
index 50809bdd9b..e694ca25f6 100644
--- a/crawl-ref/source/directn.cc
+++ b/crawl-ref/source/directn.cc
@@ -581,6 +581,7 @@ void full_describe_view()
unsigned short glyph_col;
get_item_glyph( list_items[i], &glyph_char, &glyph_col );
+/*
std::string col_string;
int specialness = item_name_specialness(*(list_items[i]));
switch (specialness)
@@ -589,7 +590,8 @@ void full_describe_view()
case 1: col_string = "white"; break; // glowing/runed
case 0: col_string = "darkgrey"; break; // mundane
}
-
+*/
+ std::string col_string = colour_to_str(glyph_col);
std::string prefix = "(<" + col_string + ">"
+ (char)glyph_char
+ "</" + col_string + ">) ";
diff --git a/crawl-ref/source/mon-util.cc b/crawl-ref/source/mon-util.cc
index dd067b5b86..c415a1a5ea 100644
--- a/crawl-ref/source/mon-util.cc
+++ b/crawl-ref/source/mon-util.cc
@@ -3712,6 +3712,11 @@ bool monsters::pickup_melee_weapon(item_def &item, int near)
int eslot = -1;
item_def *weap;
+ // Monsters have two weapon slots, one of which can be a ranged, and
+ // the other a melee weapon. (The exception being dual-wielders who can
+ // wield two melee weapons). The weapon in MSLOT_WEAPON is the one
+ // currently wielded (can be empty).
+
for (int i = MSLOT_WEAPON; i <= MSLOT_ALT_WEAPON; ++i)
{
weap = mslot_item(static_cast<mon_inv_type>(i));
@@ -3731,7 +3736,9 @@ bool monsters::pickup_melee_weapon(item_def &item, int near)
if (_is_signature_weapon(this, *weap) && !dual_wielding)
return (false);
- // If the new weapon is better than the current one, replace it.
+ // If we get here, the weapon is a melee weapon.
+ // If the new weapon is better than the current one and not cursed,
+ // replace it. Otherwise, give up.
if (mons_weapon_damage_rating(*weap) < mdam_rating
&& !weap->cursed())
{
diff --git a/crawl-ref/source/mutation.cc b/crawl-ref/source/mutation.cc
index eb71937c0d..f0b36f027a 100644
--- a/crawl-ref/source/mutation.cc
+++ b/crawl-ref/source/mutation.cc
@@ -1453,7 +1453,7 @@ static void _display_vampire_attributes()
//Alive Full Satiated Thirsty Near... Bloodless
{"Metabolism ", "very fast ", "fast ", "fast ", "normal ", "slow ", "none "},
- {"Regeneration ", "very fast ", "fast ", "normal ", "normal ", "slow ", "none "},
+ {"Regeneration ", "very fast ", "fast ", "normal ", "slow ", "slow ", "none "},
{"Stealth boost ", "none ", "none ", "none ", "minor ", "major ", "large "},
@@ -1464,7 +1464,7 @@ static void _display_vampire_attributes()
{"Cold resistance ", " ", " ", " ", " + ", " + ", " ++ "},
- {"Negative resistance ", " ", " ", " ", " + ", " ++ ", " +++ "},
+ {"Negative resistance ", " ", " ", " + ", " ++ ", " +++ ", " +++ "},
{"Torment resistance ", " ", " ", " ", " ", " ", " + "},