summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/player.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/player.cc')
-rw-r--r--crawl-ref/source/player.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc
index 972af81dd5..c7b9113470 100644
--- a/crawl-ref/source/player.cc
+++ b/crawl-ref/source/player.cc
@@ -665,6 +665,9 @@ bool you_tran_can_wear(const item_def &item)
return (true);
}
+ if (fit_armour_size(item, player_size(PSIZE_BODY, false)) != 0)
+ return (false);
+
return you_tran_can_wear(get_armour_slot(item), true);
default:
@@ -682,9 +685,7 @@ bool you_tran_can_wear(int eq, bool check_mutation)
else if (eq >= EQ_RINGS && eq <= EQ_RINGS_PLUS2)
eq = EQ_LEFT_RING;
- const int transform = you.attribute[ATTR_TRANSFORMATION];
-
- // Everybody else can wear at least some type of armour.
+ // Everybody can wear at least some type of armour.
if (eq == EQ_ALL_ARMOUR)
return (true);
@@ -703,6 +704,8 @@ bool you_tran_can_wear(int eq, bool check_mutation)
}
}
+ const int transform = you.attribute[ATTR_TRANSFORMATION];
+
// No further restrictions.
if (transform == TRAN_NONE || transform == TRAN_LICH)
return (true);