diff options
-rw-r--r-- | crawl-ref/source/describe.cc | 3 | ||||
-rw-r--r-- | crawl-ref/source/mon-util.cc | 13 | ||||
-rw-r--r-- | crawl-ref/source/newgame.cc | 10 |
3 files changed, 17 insertions, 9 deletions
diff --git a/crawl-ref/source/describe.cc b/crawl-ref/source/describe.cc index f5ebbfa8a4..80744767a5 100644 --- a/crawl-ref/source/describe.cc +++ b/crawl-ref/source/describe.cc @@ -1083,7 +1083,8 @@ static std::string _describe_weapon(const item_def &item, bool verbose) break; } - const int str_weight = weapon_str_weight(item.base_type, item.sub_type); + const int str_weight = weapon_str_weight(item.base_type, + item.sub_type); if (str_weight >= 8) description += ", and it is best used by the strong"; diff --git a/crawl-ref/source/mon-util.cc b/crawl-ref/source/mon-util.cc index 9f87b8bb5f..7c3fd563d8 100644 --- a/crawl-ref/source/mon-util.cc +++ b/crawl-ref/source/mon-util.cc @@ -4345,6 +4345,19 @@ bool monsters::pickup(item_def &item, int slot, int near, bool force_merge) return (false); } + // Similarly, monsters won't pick up shields if they're + // wielding (or alt-wielding) a two-handed weapon. + if (slot == MSLOT_SHIELD) + { + const item_def* wpn = mslot_item(MSLOT_WEAPON); + const item_def* alt = mslot_item(MSLOT_ALT_WEAPON); + if (wpn && hands_reqd(*wpn, body_size(PSIZE_BODY)) == HANDS_TWO) + return false; + + if (alt && hands_reqd(*alt, body_size(PSIZE_BODY)) == HANDS_TWO) + return false; + } + if (inv[slot] != NON_ITEM) { item_def &dest(mitm[inv[slot]]); diff --git a/crawl-ref/source/newgame.cc b/crawl-ref/source/newgame.cc index bbcf16d52a..61894e43cb 100644 --- a/crawl-ref/source/newgame.cc +++ b/crawl-ref/source/newgame.cc @@ -5077,14 +5077,9 @@ bool _give_items_skills() { _print_character_info(); - textcolor( CYAN ); + textcolor(CYAN); cprintf(EOL "From where do you draw your power?" EOL); - - if (_necromancy_okay()) - textcolor(LIGHTGREY); - else - textcolor(DARKGREY); - + textcolor(_necromancy_okay() ? LIGHTGREY : DARKGREY); cprintf("a - Necromantic magic" EOL); // Yredelemnul is an okay choice for everyone. @@ -5191,7 +5186,6 @@ bool _give_items_skills() you.piety = 28; you.inv[0].plus = 1 + random2(2); you.inv[0].plus2 = 3 - you.inv[0].plus; - you.inv[2].quantity = 0; you.skills[SK_INVOCATIONS] = 3; break; } |