summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/goditem.cc
diff options
context:
space:
mode:
authorDavid Lawrence Ramsey <dolorous@users.sourceforge.net>2009-10-29 21:17:21 -0500
committerDavid Lawrence Ramsey <dolorous@users.sourceforge.net>2009-10-29 21:17:21 -0500
commit66c65dac493b1d9655e1a7f510227188b1bb3516 (patch)
tree3bd5cc8e619be04f7a91b900c992b8951c4d2537 /crawl-ref/source/goditem.cc
parent6aaff500074665ee2f94a44eef94eda7349e41ca (diff)
downloadcrawl-ref-66c65dac493b1d9655e1a7f510227188b1bb3516.tar.gz
crawl-ref-66c65dac493b1d9655e1a7f510227188b1bb3516.zip
Simplify check for good gods and potentially evil items.
Diffstat (limited to 'crawl-ref/source/goditem.cc')
-rw-r--r--crawl-ref/source/goditem.cc22
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