summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/player.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2009-03-11 21:07:48 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2009-03-11 21:07:48 +0000
commitda2c6835866fc0ef70b5defdbea6c12dfa7611f8 (patch)
tree399272cd291e32d9ad3f6bc5dd6db3ea4fa735c4 /crawl-ref/source/player.cc
parentec5b80d6bf96936a3f803e89c7128effa703ebe7 (diff)
downloadcrawl-ref-da2c6835866fc0ef70b5defdbea6c12dfa7611f8.tar.gz
crawl-ref-da2c6835866fc0ef70b5defdbea6c12dfa7611f8.zip
Make you_tran_can_wear take item size into account. (Fixes 2680313.)
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9414 c06c8d41-db1a-0410-9941-cceddc491573
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);