summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/itemprop.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/itemprop.cc')
-rw-r--r--crawl-ref/source/itemprop.cc15
1 files changed, 13 insertions, 2 deletions
diff --git a/crawl-ref/source/itemprop.cc b/crawl-ref/source/itemprop.cc
index 840aed7a0c..42c4e92c62 100644
--- a/crawl-ref/source/itemprop.cc
+++ b/crawl-ref/source/itemprop.cc
@@ -683,7 +683,8 @@ void set_equip_race( item_def &item, unsigned long flags )
}
break;
case OBJ_ARMOUR:
- if (item.sub_type == ARM_SPLINT_MAIL
+ if (is_hard_helmet(item)
+ || item.sub_type == ARM_SPLINT_MAIL
|| item.sub_type == ARM_BANDED_MAIL
|| item.sub_type == ARM_PLATE_MAIL)
{
@@ -710,7 +711,8 @@ void set_equip_race( item_def &item, unsigned long flags )
}
break;
case OBJ_ARMOUR:
- if (item.sub_type == ARM_ROBE
+ if (!is_hard_helmet(item)
+ || item.sub_type == ARM_ROBE
|| item.sub_type == ARM_LEATHER_ARMOUR
|| item.sub_type == ARM_STUDDED_LEATHER_ARMOUR)
{
@@ -731,6 +733,15 @@ void set_equip_race( item_def &item, unsigned long flags )
break;
case ISFLAG_ORCISH:
+ switch (item.base_type)
+ {
+ case OBJ_ARMOUR:
+ if (!is_hard_helmet(item))
+ return;
+ break;
+ default:
+ break;
+ }
default:
break;