diff options
Diffstat (limited to 'crawl-ref')
-rw-r--r-- | crawl-ref/source/acr.cc | 20 | ||||
-rw-r--r-- | crawl-ref/source/directn.cc | 4 | ||||
-rw-r--r-- | crawl-ref/source/mon-util.cc | 9 | ||||
-rw-r--r-- | crawl-ref/source/mutation.cc | 4 |
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 ", " ", " ", " ", " ", " ", " + "}, |