summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/HPMHooking/HPMHooking.Defs.inc2
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc4
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc1
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.Hooks.inc26
4 files changed, 33 insertions, 0 deletions
diff --git a/src/plugins/HPMHooking/HPMHooking.Defs.inc b/src/plugins/HPMHooking/HPMHooking.Defs.inc
index 593f21ba5..589642b42 100644
--- a/src/plugins/HPMHooking/HPMHooking.Defs.inc
+++ b/src/plugins/HPMHooking/HPMHooking.Defs.inc
@@ -1170,6 +1170,8 @@ typedef int (*HPMHOOK_pre_clif_skill_itemlistwindow) (struct map_session_data **
typedef int (*HPMHOOK_post_clif_skill_itemlistwindow) (int retVal___, struct map_session_data *sd, uint16 skill_id, uint16 skill_lv);
typedef void (*HPMHOOK_pre_clif_sc_load) (struct block_list **bl, int *tid, enum send_target *target, int *type, int *val1, int *val2, int *val3);
typedef void (*HPMHOOK_post_clif_sc_load) (struct block_list *bl, int tid, enum send_target target, int type, int val1, int val2, int val3);
+typedef void (*HPMHOOK_pre_clif_sc_continue) (struct block_list **bl, int *tid, enum send_target *target, int *type, int *val1, int *val2, int *val3);
+typedef void (*HPMHOOK_post_clif_sc_continue) (struct block_list *bl, int tid, enum send_target target, int type, int val1, int val2, int val3);
typedef void (*HPMHOOK_pre_clif_sc_end) (struct block_list **bl, int *tid, enum send_target *target, int *type);
typedef void (*HPMHOOK_post_clif_sc_end) (struct block_list *bl, int tid, enum send_target target, int type);
typedef void (*HPMHOOK_pre_clif_initialstatus) (struct map_session_data **sd);
diff --git a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
index 676d77493..74cbbabd4 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
@@ -836,6 +836,8 @@ struct {
struct HPMHookPoint *HP_clif_skill_itemlistwindow_post;
struct HPMHookPoint *HP_clif_sc_load_pre;
struct HPMHookPoint *HP_clif_sc_load_post;
+ struct HPMHookPoint *HP_clif_sc_continue_pre;
+ struct HPMHookPoint *HP_clif_sc_continue_post;
struct HPMHookPoint *HP_clif_sc_end_pre;
struct HPMHookPoint *HP_clif_sc_end_post;
struct HPMHookPoint *HP_clif_initialstatus_pre;
@@ -6789,6 +6791,8 @@ struct {
int HP_clif_skill_itemlistwindow_post;
int HP_clif_sc_load_pre;
int HP_clif_sc_load_post;
+ int HP_clif_sc_continue_pre;
+ int HP_clif_sc_continue_post;
int HP_clif_sc_end_pre;
int HP_clif_sc_end_post;
int HP_clif_initialstatus_pre;
diff --git a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
index 089bfb0ac..eef694ea8 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
@@ -440,6 +440,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(clif->autoshadowspell_list, HP_clif_autoshadowspell_list) },
{ HP_POP(clif->skill_itemlistwindow, HP_clif_skill_itemlistwindow) },
{ HP_POP(clif->sc_load, HP_clif_sc_load) },
+ { HP_POP(clif->sc_continue, HP_clif_sc_continue) },
{ HP_POP(clif->sc_end, HP_clif_sc_end) },
{ HP_POP(clif->initialstatus, HP_clif_initialstatus) },
{ HP_POP(clif->cooldown_list, HP_clif_cooldown_list) },
diff --git a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
index b273e40a7..8a294e3f2 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
@@ -10866,6 +10866,32 @@ void HP_clif_sc_load(struct block_list *bl, int tid, enum send_target target, in
}
return;
}
+void HP_clif_sc_continue(struct block_list *bl, int tid, enum send_target target, int type, int val1, int val2, int val3) {
+ int hIndex = 0;
+ if( HPMHooks.count.HP_clif_sc_continue_pre ) {
+ void (*preHookFunc) (struct block_list **bl, int *tid, enum send_target *target, int *type, int *val1, int *val2, int *val3);
+ *HPMforce_return = false;
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_sc_continue_pre; hIndex++ ) {
+ preHookFunc = HPMHooks.list.HP_clif_sc_continue_pre[hIndex].func;
+ preHookFunc(&bl, &tid, &target, &type, &val1, &val2, &val3);
+ }
+ if( *HPMforce_return ) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.sc_continue(bl, tid, target, type, val1, val2, val3);
+ }
+ if( HPMHooks.count.HP_clif_sc_continue_post ) {
+ void (*postHookFunc) (struct block_list *bl, int tid, enum send_target target, int type, int val1, int val2, int val3);
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_sc_continue_post; hIndex++ ) {
+ postHookFunc = HPMHooks.list.HP_clif_sc_continue_post[hIndex].func;
+ postHookFunc(bl, tid, target, type, val1, val2, val3);
+ }
+ }
+ return;
+}
void HP_clif_sc_end(struct block_list *bl, int tid, enum send_target target, int type) {
int hIndex = 0;
if( HPMHooks.count.HP_clif_sc_end_pre ) {