summaryrefslogtreecommitdiff
path: root/src/types.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/types.h')
-rw-r--r--src/types.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/types.h b/src/types.h
index ed86a4af..5173a89c 100644
--- a/src/types.h
+++ b/src/types.h
@@ -2568,11 +2568,36 @@ struct spell_type
school_idx *schools;
};
+typedef struct school_provider school_provider;
+struct school_provider
+{
+ byte deity_idx; /* Deity which provides school levels */
+
+ s16b skill_idx; /* Skill used for determining the boost */
+
+ long mul; /* Multiplier */
+
+ long div; /* Divisor */
+
+ school_provider *next; /* Next provider in list */
+};
+
typedef struct school_type school_type;
struct school_type
{
cptr name; /* Name */
s16b skill; /* Skill used for that school */
+ bool_ spell_power; /* Does spell power affect spells in this school? */
+ bool_ sorcery; /* Does Sorcery affect this school? */
+
+ int deity_idx; /* Deity; if <=0, no deity required */
+ deity_type *deity; /* Direct pointer to deity */
+
+ int (*bonus_levels)(); /* Calculate number of bonus levels */
+
+ bool_ (*depends_satisfied)(); /* Are dependendies satisfied? */
+
+ school_provider *providers; /* List of secondary providers of this school */
};
/*