diff options
author | Bardur Arantsson <bardur@scientician.net> | 2012-06-09 20:54:07 +0200 |
---|---|---|
committer | Bardur Arantsson <bardur@scientician.net> | 2012-06-09 20:58:51 +0200 |
commit | a0107d942872735f1faa0e857174a6c467180d75 (patch) | |
tree | 5e3b70534517764d3d77052a14eb8aeb1645a4f9 /src/modules.c | |
parent | d69d91b33a2e833e8b32baa29af22809ade406ba (diff) |
Lua: Move automatic stat gain to C
Diffstat (limited to 'src/modules.c')
-rw-r--r-- | src/modules.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/modules.c b/src/modules.c index 8a4c5644..ff8a24fb 100644 --- a/src/modules.c +++ b/src/modules.c @@ -495,3 +495,44 @@ void theme_intro() exit: screen_load(); } + +static bool_ auto_stat_gain_hook(void *data, void *in, void *out) +{ + while (p_ptr->last_rewarded_level * 5 <= p_ptr->lev) + { + do_inc_stat(A_STR); + do_inc_stat(A_INT); + do_inc_stat(A_WIS); + do_inc_stat(A_DEX); + do_inc_stat(A_CON); + do_inc_stat(A_CHR); + + p_ptr->last_rewarded_level += 1; + } + + return FALSE; +} + +void init_hooks_module() +{ + switch (game_module_idx) + { + case MODULE_TOME: + { + break; + } + + case MODULE_THEME: + { + add_hook_new(HOOK_PLAYER_LEVEL, + auto_stat_gain_hook, + "auto_stat_gain", + NULL); + + break; + } + + default: + assert(FALSE); + } +} |