diff options
author | Bardur Arantsson <bardur@scientician.net> | 2014-12-19 01:02:33 +0100 |
---|---|---|
committer | Bardur Arantsson <bardur@scientician.net> | 2014-12-23 12:07:54 +0100 |
commit | 0ff3645a99ce2ba66e8309c0d34d7a7b2ad5ef51 (patch) | |
tree | 5ecec4265dbc78ed514843d4cc9b6f8b3c85ba97 /src/q_invas.cc | |
parent | 5404247f5adcb64a67bedf8b6442c023c3802a8f (diff) |
Update HOOK_MONSTER_DEATH to new-style hook
Diffstat (limited to 'src/q_invas.cc')
-rw-r--r-- | src/q_invas.cc | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/q_invas.cc b/src/q_invas.cc index 92257194..9ea5c5c8 100644 --- a/src/q_invas.cc +++ b/src/q_invas.cc @@ -127,12 +127,11 @@ static bool_ quest_invasion_dump_hook(void *, void *in_, void *) return (FALSE); } -static bool_ quest_invasion_death_hook(const char *fmt) +static bool_ quest_invasion_death_hook(void *, void *in_, void *) { - s32b r_idx, m_idx; - - m_idx = get_next_arg(fmt); - r_idx = m_list[m_idx].r_idx; + struct hook_monster_death_in *in = static_cast<struct hook_monster_death_in *>(in_); + s32b m_idx = in->m_idx; + s32b r_idx = m_list[m_idx].r_idx; if (p_ptr->inside_quest != QUEST_INVASION) return FALSE; @@ -140,8 +139,10 @@ static bool_ quest_invasion_death_hook(const char *fmt) { cmsg_print(TERM_YELLOW, "You did it! Gondolin will remain hidden."); cquest.status = QUEST_STATUS_COMPLETED; - del_hook(HOOK_MONSTER_DEATH, quest_invasion_death_hook); + + del_hook_new(HOOK_MONSTER_DEATH, quest_invasion_death_hook); process_hooks_restart = TRUE; + return (FALSE); } @@ -198,7 +199,7 @@ bool_ quest_invasion_init_hook(int q_idx) { add_hook (HOOK_MONSTER_AI, quest_invasion_ai_hook, "invasion_ai"); add_hook_new(HOOK_GEN_QUEST, quest_invasion_gen_hook, "invasion_gen", NULL); - add_hook (HOOK_MONSTER_DEATH, quest_invasion_death_hook, "invasion_death"); + add_hook_new(HOOK_MONSTER_DEATH, quest_invasion_death_hook, "invasion_death", NULL); add_hook_new(HOOK_STAIR, quest_invasion_stair_hook, "invasion_stair", NULL); } return (FALSE); |