summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/goditem.h
diff options
context:
space:
mode:
authorAdam Borowski <kilobyte@angband.pl>2009-10-21 22:15:36 +0200
committerAdam Borowski <kilobyte@angband.pl>2009-10-21 22:15:36 +0200
commit80dbdf1828e0ce233d8adf8ca6ab1a5b4fc74e03 (patch)
treeed0acd9c4994191196a1d90b01415db708564066 /crawl-ref/source/goditem.h
parent10cffb19a8667ff227f3a47010097e150a54b761 (diff)
downloadcrawl-ref-80dbdf1828e0ce233d8adf8ca6ab1a5b4fc74e03.tar.gz
crawl-ref-80dbdf1828e0ce233d8adf8ca6ab1a5b4fc74e03.zip
Slightly reduce religion.cc by yanking item-handling stuff to goditem.cc
Diffstat (limited to 'crawl-ref/source/goditem.h')
-rw-r--r--crawl-ref/source/goditem.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/crawl-ref/source/goditem.h b/crawl-ref/source/goditem.h
new file mode 100644
index 0000000000..2fe6916bd5
--- /dev/null
+++ b/crawl-ref/source/goditem.h
@@ -0,0 +1,43 @@
+#ifndef GODITEM_H
+#define GODITEM_H
+
+#include "enum.h"
+#include "externs.h"
+
+#include "artefact.h"
+#include "itemname.h"
+#include "spl-book.h"
+#include "spl-cast.h"
+#include "spl-util.h"
+
+bool is_holy_item(const item_def& item);
+bool is_evil_item(const item_def& item);
+bool is_chaotic_item(const item_def& item);
+bool is_holy_discipline(int discipline);
+bool is_evil_discipline(int discipline);
+bool is_holy_spell(spell_type spell, god_type god = GOD_NO_GOD);
+bool is_evil_spell(spell_type spell, god_type god = GOD_NO_GOD);
+bool is_chaotic_spell(spell_type spell, god_type god = GOD_NO_GOD);
+bool is_hasty_spell(spell_type spell, god_type god = GOD_NO_GOD);
+bool is_any_spell(spell_type spell, god_type god = GOD_NO_GOD);
+bool is_spellbook_type(const item_def& item, bool book_or_rod,
+ bool (*suitable)(spell_type spell, god_type god) =
+ is_any_spell,
+ god_type god = you.religion);
+bool is_holy_spellbook(const item_def& item);
+bool is_evil_spellbook(const item_def& item);
+bool is_chaotic_spellbook(const item_def& item);
+bool god_hates_spellbook(const item_def& item);
+bool is_holy_rod(const item_def& item);
+bool is_evil_rod(const item_def& item);
+bool is_chaotic_rod(const item_def& item);
+bool god_hates_rod(const item_def& item);
+conduct_type good_god_hates_item_handling(const item_def &item);
+conduct_type god_hates_item_handling(const item_def &item);
+bool god_hates_spell_type(spell_type spell, god_type god = you.religion);
+
+// NOTE: As of now, these two functions only say if a god won't give a
+// spell/school when giving a gift.
+bool god_dislikes_spell_type(spell_type spell, god_type god = you.religion);
+bool god_dislikes_spell_discipline(int discipline, god_type god = you.religion);
+#endif