summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-09-13 18:43:10 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-09-13 18:43:10 +0000
commit752852f87be65b7768538720edd04c19a58e6085 (patch)
treeea5bbdb4cdfe777d0daafc6578cbd2f1db03f360 /crawl-ref/source
parentc29226331c18192435cb10802ecd42ae398fae4f (diff)
downloadcrawl-ref-752852f87be65b7768538720edd04c19a58e6085.tar.gz
crawl-ref-752852f87be65b7768538720edd04c19a58e6085.zip
Fix 2089248: misinformation in vampire A! screen.
Fix 2085745: bats being able to open/close doors. Make the items on the 'V' screen use their real colour rather than some odd colour scheme to represent artefact status (which is already obvious by the name, though menu colouring might be more helpful). git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6915 c06c8d41-db1a-0410-9941-cceddc491573
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 ", " ", " ", " ", " ", " ", " + "},