summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/monster.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/monster.cc')
-rw-r--r--crawl-ref/source/monster.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/crawl-ref/source/monster.cc b/crawl-ref/source/monster.cc
index fd448b8fee..67df8f42ab 100644
--- a/crawl-ref/source/monster.cc
+++ b/crawl-ref/source/monster.cc
@@ -1482,9 +1482,13 @@ bool monsters::pickup_armour(item_def &item, int near, bool force)
eq = EQ_BODY_ARMOUR;
break;
case ARM_CLOAK:
- if (this->type == MONS_MAURICE)
+ if (this->type == MONS_MAURICE || this->type == MONS_NIKOLA)
eq = EQ_BODY_ARMOUR;
break;
+ case ARM_GLOVES:
+ if (this->type == MONS_NIKOLA)
+ eq = EQ_SHIELD;
+ break;
default:
eq = get_armour_slot(item);
}
@@ -2708,7 +2712,7 @@ bool monsters::caught() const
int monsters::shield_bonus() const
{
const item_def *shld = const_cast<monsters*>(this)->shield();
- if (shld)
+ if (shld && get_armour_slot(*shld) == EQ_SHIELD)
{
// Note that 0 is not quite no-blocking.
if (incapacitated())