diff options
author | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-08-04 09:53:52 +0000 |
---|---|---|
committer | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-08-04 09:53:52 +0000 |
commit | 80c38b0682f61fc2901af257cc115676bacc9bde (patch) | |
tree | 2cf1867f8e12c70b520315921729b45c5744ed80 /crawl-ref/source/transfor.cc | |
parent | 0f6113e43af895a5b9a893e61b2c6e899b735190 (diff) | |
download | crawl-ref-80c38b0682f61fc2901af257cc115676bacc9bde.tar.gz crawl-ref-80c38b0682f61fc2901af257cc115676bacc9bde.zip |
Fixed acquirement giving unwearable armour (Iaido).
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1961 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/transfor.cc')
-rw-r--r-- | crawl-ref/source/transfor.cc | 39 |
1 files changed, 21 insertions, 18 deletions
diff --git a/crawl-ref/source/transfor.cc b/crawl-ref/source/transfor.cc index cb69bfb31b..58a14e4532 100644 --- a/crawl-ref/source/transfor.cc +++ b/crawl-ref/source/transfor.cc @@ -542,12 +542,12 @@ void untransform(void) // XXX: This whole system is a mess as it still relies on special // cases to handle a large number of things (see wear_armour()) -- bwr -bool can_equip( equipment_type use_which ) +bool can_equip( equipment_type use_which, bool ignore_temporary ) { // if more cases are added to this if must also change in // item_use for naga barding - if (!player_is_shapechanged()) + if (ignore_temporary || !player_is_shapechanged()) /* or a transformation which doesn't change overall shape */ { if (use_which == EQ_BOOTS) @@ -583,27 +583,30 @@ bool can_equip( equipment_type use_which ) if (use_which == EQ_GLOVES && you.mutation[MUT_CLAWS] >= 3) return (false); - switch (you.attribute[ATTR_TRANSFORMATION]) + if (!ignore_temporary) { - case TRAN_NONE: - case TRAN_LICH: - return (true); + switch (you.attribute[ATTR_TRANSFORMATION]) + { + case TRAN_NONE: + case TRAN_LICH: + return (true); - case TRAN_BLADE_HANDS: - return (use_which != EQ_WEAPON - && use_which != EQ_GLOVES - && use_which != EQ_SHIELD); + case TRAN_BLADE_HANDS: + return (use_which != EQ_WEAPON + && use_which != EQ_GLOVES + && use_which != EQ_SHIELD); - case TRAN_STATUE: - return (use_which == EQ_WEAPON - || use_which == EQ_CLOAK - || use_which == EQ_HELMET); + case TRAN_STATUE: + return (use_which == EQ_WEAPON + || use_which == EQ_CLOAK + || use_which == EQ_HELMET); - case TRAN_ICE_BEAST: - return (use_which == EQ_CLOAK); + case TRAN_ICE_BEAST: + return (use_which == EQ_CLOAK); - default: - return (false); + default: + return (false); + } } return (true); |