diff options
Diffstat (limited to 'crawl-ref')
-rw-r--r-- | crawl-ref/source/goditem.cc | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/crawl-ref/source/goditem.cc b/crawl-ref/source/goditem.cc index 1438f388dc..b0797900bf 100644 --- a/crawl-ref/source/goditem.cc +++ b/crawl-ref/source/goditem.cc @@ -374,14 +374,8 @@ conduct_type god_hates_item_handling(const item_def &item) switch (you.religion) { case GOD_ZIN: - if (!item_type_known(item)) - return (DID_NOTHING); - - if (is_chaotic_item(item)) + if (item_type_known(item) && is_chaotic_item(item)) return (DID_CHAOS); - - if (is_potentially_evil_item(item)) - return (DID_NECROMANCY); break; case GOD_SHINING_ONE: @@ -415,17 +409,9 @@ conduct_type god_hates_item_handling(const item_def &item) default: break; } - - if (is_potentially_evil_item(item)) - return (DID_NECROMANCY); break; } - case GOD_ELYVILON: - if (item_type_known(item) && is_potentially_evil_item(item)) - return (DID_NECROMANCY); - break; - case GOD_YREDELEMNUL: if (item_type_known(item) && is_holy_item(item)) return (DID_HOLY); @@ -458,6 +444,12 @@ conduct_type god_hates_item_handling(const item_def &item) } if (item_type_known(item) + && is_good_god(you.religion) && is_potentially_evil_item(item)) + { + return (DID_NECROMANCY); + } + + if (item_type_known(item) && (god_hates_spellbook(item) || god_hates_rod(item))) { return (NUM_CONDUCTS); // FIXME: get the specific reason, if it |