diff options
Diffstat (limited to 'crawl-ref/source')
-rw-r--r-- | crawl-ref/source/itemprop.cc | 4 | ||||
-rw-r--r-- | crawl-ref/source/spells3.cc | 3 |
2 files changed, 6 insertions, 1 deletions
diff --git a/crawl-ref/source/itemprop.cc b/crawl-ref/source/itemprop.cc index d78fa65b36..6dd7c22b4b 100644 --- a/crawl-ref/source/itemprop.cc +++ b/crawl-ref/source/itemprop.cc @@ -1361,6 +1361,10 @@ bool is_enchantable_armour(const item_def &arm, bool uncurse) if (arm.base_type != OBJ_ARMOUR) return (false); + // Melded armour cannot be enchanted. + if (!you_tran_can_wear(arm) && item_is_equipped(arm)) + return (false); + // Artefacts or highly enchanted armour cannot be enchanted, only // uncursed. if (is_artefact(arm) || (arm.plus >= 2 diff --git a/crawl-ref/source/spells3.cc b/crawl-ref/source/spells3.cc index bf33304313..289a6e8159 100644 --- a/crawl-ref/source/spells3.cc +++ b/crawl-ref/source/spells3.cc @@ -135,7 +135,8 @@ bool remove_curse(bool suppress_msg) // What of artefact rings and amulets? {dlb}: for (int i = EQ_WEAPON + 1; i < NUM_EQUIP; i++) { - if (you.equip[i] != -1 && item_cursed(you.inv[you.equip[i]])) + if (you.equip[i] != -1 && item_cursed(you.inv[you.equip[i]]) + && you_tran_can_wear(you.equip[i])) { do_uncurse_item( you.inv[you.equip[i]] ); success = true; |