diff options
-rw-r--r-- | crawl-ref/source/player.cc | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc index 08efe21cb4..d03dadfa10 100644 --- a/crawl-ref/source/player.cc +++ b/crawl-ref/source/player.cc @@ -661,12 +661,14 @@ bool you_tran_can_wear(const item_def &item) else if (item.sub_type == ARM_CENTAUR_BARDING) return (you.species == SP_CENTAUR && you_tran_can_wear(EQ_BOOTS)); - if (item.sub_type == ARM_CAP || item.sub_type == ARM_WIZARD_HAT) + if (get_armour_slot(item) == EQ_HELMET + && !is_hard_helmet(item) + && (you.attribute[ATTR_TRANSFORMATION] == TRAN_SPIDER + || you.attribute[ATTR_TRANSFORMATION] == TRAN_ICE_BEAST)) { - const int transform = you.attribute[ATTR_TRANSFORMATION]; - // All but these transformations can wear hats/caps. - return (transform != TRAN_BAT && transform != TRAN_AIR); + return (true); } + return you_tran_can_wear(get_armour_slot(item), true); default: |