summaryrefslogtreecommitdiff
path: root/src/q_invas.cc
diff options
context:
space:
mode:
authorBardur Arantsson <bardur@scientician.net>2014-12-19 01:02:33 +0100
committerBardur Arantsson <bardur@scientician.net>2014-12-23 12:07:54 +0100
commit0ff3645a99ce2ba66e8309c0d34d7a7b2ad5ef51 (patch)
tree5ecec4265dbc78ed514843d4cc9b6f8b3c85ba97 /src/q_invas.cc
parent5404247f5adcb64a67bedf8b6442c023c3802a8f (diff)
Update HOOK_MONSTER_DEATH to new-style hook
Diffstat (limited to 'src/q_invas.cc')
-rw-r--r--src/q_invas.cc15
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);