diff options
4 files changed, 33 insertions, 0 deletions
diff --git a/src/plugins/HPMHooking/HPMHooking.Defs.inc b/src/plugins/HPMHooking/HPMHooking.Defs.inc index 90d6945c2..33cf3a9b2 100644 --- a/src/plugins/HPMHooking/HPMHooking.Defs.inc +++ b/src/plugins/HPMHooking/HPMHooking.Defs.inc @@ -2268,6 +2268,8 @@ typedef void (*HPMHOOK_pre_clif_pMoveItem) (int *fd, struct map_session_data **s typedef void (*HPMHOOK_post_clif_pMoveItem) (int fd, struct map_session_data *sd); typedef void (*HPMHOOK_pre_clif_pDull) (int *fd, struct map_session_data **sd); typedef void (*HPMHOOK_post_clif_pDull) (int fd, struct map_session_data *sd); +typedef void (*HPMHOOK_pre_clif_p_cz_blocking_play_cancel) (int *fd, struct map_session_data **sd); +typedef void (*HPMHOOK_post_clif_p_cz_blocking_play_cancel) (int fd, struct map_session_data *sd); typedef void (*HPMHOOK_pre_clif_pBGQueueRegister) (int *fd, struct map_session_data **sd); typedef void (*HPMHOOK_post_clif_pBGQueueRegister) (int fd, struct map_session_data *sd); typedef void (*HPMHOOK_pre_clif_pBGQueueCheckState) (int *fd, struct map_session_data **sd); diff --git a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc index d07c83187..f0090a5ba 100644 --- a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc +++ b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc @@ -1864,6 +1864,8 @@ struct { struct HPMHookPoint *HP_clif_pMoveItem_post; struct HPMHookPoint *HP_clif_pDull_pre; struct HPMHookPoint *HP_clif_pDull_post; + struct HPMHookPoint *HP_clif_p_cz_blocking_play_cancel_pre; + struct HPMHookPoint *HP_clif_p_cz_blocking_play_cancel_post; struct HPMHookPoint *HP_clif_pBGQueueRegister_pre; struct HPMHookPoint *HP_clif_pBGQueueRegister_post; struct HPMHookPoint *HP_clif_pBGQueueCheckState_pre; @@ -8203,6 +8205,8 @@ struct { int HP_clif_pMoveItem_post; int HP_clif_pDull_pre; int HP_clif_pDull_post; + int HP_clif_p_cz_blocking_play_cancel_pre; + int HP_clif_p_cz_blocking_play_cancel_post; int HP_clif_pBGQueueRegister_pre; int HP_clif_pBGQueueRegister_post; int HP_clif_pBGQueueCheckState_pre; diff --git a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc index 488792200..7f1397f18 100644 --- a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc +++ b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc @@ -955,6 +955,7 @@ struct HookingPointData HookingPoints[] = { { HP_POP(clif->pSkillSelectMenu, HP_clif_pSkillSelectMenu) }, { HP_POP(clif->pMoveItem, HP_clif_pMoveItem) }, { HP_POP(clif->pDull, HP_clif_pDull) }, + { HP_POP(clif->p_cz_blocking_play_cancel, HP_clif_p_cz_blocking_play_cancel) }, { HP_POP(clif->pBGQueueRegister, HP_clif_pBGQueueRegister) }, { HP_POP(clif->pBGQueueCheckState, HP_clif_pBGQueueCheckState) }, { HP_POP(clif->pBGQueueRevokeReq, HP_clif_pBGQueueRevokeReq) }, diff --git a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc index 718aa77d7..e505e6dd0 100644 --- a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc +++ b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc @@ -24274,6 +24274,32 @@ void HP_clif_pDull(int fd, struct map_session_data *sd) { } return; } +void HP_clif_p_cz_blocking_play_cancel(int fd, struct map_session_data *sd) { + int hIndex = 0; + if (HPMHooks.count.HP_clif_p_cz_blocking_play_cancel_pre > 0) { + void (*preHookFunc) (int *fd, struct map_session_data **sd); + *HPMforce_return = false; + for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_p_cz_blocking_play_cancel_pre; hIndex++) { + preHookFunc = HPMHooks.list.HP_clif_p_cz_blocking_play_cancel_pre[hIndex].func; + preHookFunc(&fd, &sd); + } + if (*HPMforce_return) { + *HPMforce_return = false; + return; + } + } + { + HPMHooks.source.clif.p_cz_blocking_play_cancel(fd, sd); + } + if (HPMHooks.count.HP_clif_p_cz_blocking_play_cancel_post > 0) { + void (*postHookFunc) (int fd, struct map_session_data *sd); + for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_p_cz_blocking_play_cancel_post; hIndex++) { + postHookFunc = HPMHooks.list.HP_clif_p_cz_blocking_play_cancel_post[hIndex].func; + postHookFunc(fd, sd); + } + } + return; +} void HP_clif_pBGQueueRegister(int fd, struct map_session_data *sd) { int hIndex = 0; if (HPMHooks.count.HP_clif_pBGQueueRegister_pre > 0) { |