diff options
Diffstat (limited to 'src/q_betwen.cc')
-rw-r--r-- | src/q_betwen.cc | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/q_betwen.cc b/src/q_betwen.cc index b51c8c6a..117edeba 100644 --- a/src/q_betwen.cc +++ b/src/q_betwen.cc @@ -86,13 +86,12 @@ static bool_ quest_between_gen_hook(void *, void *, void *) return TRUE; } -static bool_ quest_between_finish_hook(const char *fmt) +static bool_ quest_between_finish_hook(void *, void *in_, void *) { - s32b q_idx; + struct hook_quest_finish_in *in = static_cast<struct hook_quest_finish_in *>(in_); + s32b q_idx = in->q_idx; object_type forge, *q_ptr; - q_idx = get_next_arg(fmt); - if (q_idx != QUEST_BETWEEN) return FALSE; c_put_str(TERM_YELLOW, "Ah you finally arrived, I hope your travel wasn't too hard.", 8, 0); @@ -119,7 +118,7 @@ static bool_ quest_between_finish_hook(const char *fmt) /* Continue the plot */ *(quest[q_idx].plot) = QUEST_NULL; - del_hook(HOOK_QUEST_FINISH, quest_between_finish_hook); + del_hook_new(HOOK_QUEST_FINISH, quest_between_finish_hook); process_hooks_restart = TRUE; return TRUE; @@ -187,10 +186,10 @@ bool_ quest_between_init_hook(int q) { if ((cquest.status >= QUEST_STATUS_TAKEN) && (cquest.status < QUEST_STATUS_FINISHED)) { - add_hook_new(HOOK_MOVE, quest_between_move_hook, "between_move", NULL); - add_hook_new(HOOK_GEN_QUEST, quest_between_gen_hook, "between_gen", NULL); - add_hook (HOOK_QUEST_FINISH, quest_between_finish_hook, "between_finish"); - add_hook_new(HOOK_MONSTER_DEATH, quest_between_death_hook, "between_death", NULL); + add_hook_new(HOOK_MOVE, quest_between_move_hook, "between_move", NULL); + add_hook_new(HOOK_GEN_QUEST, quest_between_gen_hook, "between_gen", NULL); + add_hook_new(HOOK_QUEST_FINISH, quest_between_finish_hook, "between_finish", NULL); + add_hook_new(HOOK_MONSTER_DEATH, quest_between_death_hook, "between_death", NULL); } add_hook_new(HOOK_CHAR_DUMP, quest_between_dump_hook, "between_dump", NULL); add_hook_new(HOOK_INIT_QUEST, quest_between_forbid_hook, "between_forbid", NULL); |