summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/monster.cc14
1 files changed, 9 insertions, 5 deletions
diff --git a/crawl-ref/source/monster.cc b/crawl-ref/source/monster.cc
index ccbdceabc1..fccd00e155 100644
--- a/crawl-ref/source/monster.cc
+++ b/crawl-ref/source/monster.cc
@@ -593,7 +593,7 @@ bool monsters::could_wield(const item_def &item, bool ignore_brand,
if (is_special_unrandom_artefact(item) && !crawl_state.arena)
return (false);
- // Wimpy monsters (e.g. kobold, goblin) can't use halberds, etc.
+ // Wimpy monsters (e.g. kobolds, goblins) can't use halberds, etc.
if (!check_weapon_wieldable_size(item, body_size()))
return (false);
@@ -614,14 +614,18 @@ bool monsters::could_wield(const item_def &item, bool ignore_brand,
return (false);
// Holy monsters and monsters that are gifts of good gods won't
- // use evil weapons.
- if ((is_holy() || is_good_god(god)) && is_evil_item(item))
+ // use unholy or evil weapons.
+ if ((is_holy() || is_good_god(god))
+ && (is_unholy_item(item) || is_evil_item(item)))
+ {
return (false);
+ }
// Holy monsters that aren't gifts of chaotic gods and monsters
- // that are gifts of good gods won't use chaotic weapons.
+ // that are gifts of good gods won't use unclean or chaotic
+ // weapons.
if (((is_holy() && !is_chaotic_god(god)) || is_good_god(god))
- && is_chaotic_item(item))
+ && (is_unclean_item(item) || is_chaotic_item(item)))
{
return (false);
}