diff options
author | Bardur Arantsson <bardur@scientician.net> | 2012-05-30 05:33:44 +0200 |
---|---|---|
committer | Bardur Arantsson <bardur@scientician.net> | 2012-05-30 20:08:05 +0200 |
commit | 1b9ce2b53e26ed2d983efb9da10eb2be89d6d705 (patch) | |
tree | 1e1a6071fdf11515bf9f3e98fc83b7117045a241 /src/types.h | |
parent | fbc40366c8a50a695fcb913c5f25d717330e9672 (diff) |
Lua: Migrate spell schools to C
Diffstat (limited to 'src/types.h')
-rw-r--r-- | src/types.h | 25 |
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 */ }; /* |