summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/HPMHooking/HPMHooking.Defs.inc12
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc24
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc6
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.Hooks.inc159
4 files changed, 201 insertions, 0 deletions
diff --git a/src/plugins/HPMHooking/HPMHooking.Defs.inc b/src/plugins/HPMHooking/HPMHooking.Defs.inc
index 4f033ccaf..756c849fd 100644
--- a/src/plugins/HPMHooking/HPMHooking.Defs.inc
+++ b/src/plugins/HPMHooking/HPMHooking.Defs.inc
@@ -114,6 +114,8 @@ typedef struct Damage (*HPMHOOK_pre_battle_calc_attack) (int *attack_type, struc
typedef struct Damage (*HPMHOOK_post_battle_calc_attack) (struct Damage retVal___, int attack_type, struct block_list *bl, struct block_list *target, uint16 skill_id, uint16 skill_lv, int count);
typedef int64 (*HPMHOOK_pre_battle_calc_damage) (struct block_list **src, struct block_list **bl, struct Damage **d, int64 *damage, uint16 *skill_id, uint16 *skill_lv);
typedef int64 (*HPMHOOK_post_battle_calc_damage) (int64 retVal___, struct block_list *src, struct block_list *bl, struct Damage *d, int64 damage, uint16 skill_id, uint16 skill_lv);
+typedef int64 (*HPMHOOK_pre_battle_calc_pc_damage) (struct block_list **src, struct block_list **bl, struct Damage **d, int64 *damage, uint16 *skill_id, uint16 *skill_lv);
+typedef int64 (*HPMHOOK_post_battle_calc_pc_damage) (int64 retVal___, struct block_list *src, struct block_list *bl, struct Damage *d, int64 damage, uint16 skill_id, uint16 skill_lv);
typedef int64 (*HPMHOOK_pre_battle_calc_gvg_damage) (struct block_list **src, struct block_list **bl, int64 *damage, int *div_, uint16 *skill_id, uint16 *skill_lv, int *flag);
typedef int64 (*HPMHOOK_post_battle_calc_gvg_damage) (int64 retVal___, struct block_list *src, struct block_list *bl, int64 damage, int div_, uint16 skill_id, uint16 skill_lv, int flag);
typedef int64 (*HPMHOOK_pre_battle_calc_bg_damage) (struct block_list **src, struct block_list **bl, int64 *damage, int *div_, uint16 *skill_id, uint16 *skill_lv, int *flag);
@@ -6314,8 +6316,12 @@ typedef int (*HPMHOOK_pre_skill_enchant_elemental_end) (struct block_list **bl,
typedef int (*HPMHOOK_post_skill_enchant_elemental_end) (int retVal___, struct block_list *bl, int type);
typedef int (*HPMHOOK_pre_skill_not_ok) (uint16 *skill_id, struct map_session_data **sd);
typedef int (*HPMHOOK_post_skill_not_ok) (int retVal___, uint16 skill_id, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_skill_not_ok_unknown) (uint16 *skill_id, struct map_session_data **sd);
+typedef int (*HPMHOOK_post_skill_not_ok_unknown) (int retVal___, uint16 skill_id, struct map_session_data *sd);
typedef int (*HPMHOOK_pre_skill_not_ok_hom) (uint16 *skill_id, struct homun_data **hd);
typedef int (*HPMHOOK_post_skill_not_ok_hom) (int retVal___, uint16 skill_id, struct homun_data *hd);
+typedef int (*HPMHOOK_pre_skill_not_ok_hom_unknown) (uint16 *skill_id, struct homun_data **hd);
+typedef int (*HPMHOOK_post_skill_not_ok_hom_unknown) (int retVal___, uint16 skill_id, struct homun_data *hd);
typedef int (*HPMHOOK_pre_skill_not_ok_mercenary) (uint16 *skill_id, struct mercenary_data **md);
typedef int (*HPMHOOK_post_skill_not_ok_mercenary) (int retVal___, uint16 skill_id, struct mercenary_data *md);
typedef int (*HPMHOOK_pre_skill_chastle_mob_changetarget) (struct block_list **bl, va_list ap);
@@ -6326,6 +6332,8 @@ typedef int (*HPMHOOK_pre_skill_produce_mix) (struct map_session_data **sd, uint
typedef int (*HPMHOOK_post_skill_produce_mix) (int retVal___, struct map_session_data *sd, uint16 skill_id, int nameid, int slot1, int slot2, int slot3, int qty);
typedef int (*HPMHOOK_pre_skill_arrow_create) (struct map_session_data **sd, int *nameid);
typedef int (*HPMHOOK_post_skill_arrow_create) (int retVal___, struct map_session_data *sd, int nameid);
+typedef void (*HPMHOOK_pre_skill_castend_type) (int *type, struct block_list **src, struct block_list **bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
+typedef void (*HPMHOOK_post_skill_castend_type) (int type, struct block_list *src, struct block_list *bl, uint16 skill_id, uint16 skill_lv, int64 tick, int flag);
typedef int (*HPMHOOK_pre_skill_castend_nodamage_id) (struct block_list **src, struct block_list **bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
typedef int (*HPMHOOK_post_skill_castend_nodamage_id) (int retVal___, struct block_list *src, struct block_list *bl, uint16 skill_id, uint16 skill_lv, int64 tick, int flag);
typedef int (*HPMHOOK_pre_skill_castend_damage_id) (struct block_list **src, struct block_list **bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
@@ -6410,6 +6418,8 @@ typedef void (*HPMHOOK_pre_skill_unitsetmapcell) (struct skill_unit **src, uint1
typedef void (*HPMHOOK_post_skill_unitsetmapcell) (struct skill_unit *src, uint16 skill_id, uint16 skill_lv, cell_t cell, bool flag);
typedef int (*HPMHOOK_pre_skill_unit_onplace_timer) (struct skill_unit **src, struct block_list **bl, int64 *tick);
typedef int (*HPMHOOK_post_skill_unit_onplace_timer) (int retVal___, struct skill_unit *src, struct block_list *bl, int64 tick);
+typedef void (*HPMHOOK_pre_skill_unit_onplace_timer_unknown) (struct skill_unit **src, struct block_list **bl, int64 **tick);
+typedef void (*HPMHOOK_post_skill_unit_onplace_timer_unknown) (struct skill_unit *src, struct block_list *bl, int64 *tick);
typedef int (*HPMHOOK_pre_skill_unit_effect) (struct block_list **bl, va_list ap);
typedef int (*HPMHOOK_post_skill_unit_effect) (int retVal___, struct block_list *bl, va_list ap);
typedef int (*HPMHOOK_pre_skill_unit_timer_sub_onplace) (struct block_list **bl, va_list ap);
@@ -6430,6 +6440,8 @@ typedef int (*HPMHOOK_pre_skill_unit_timer_sub) (union DBKey *key, struct DBData
typedef int (*HPMHOOK_post_skill_unit_timer_sub) (int retVal___, union DBKey key, struct DBData *data, va_list ap);
typedef void (*HPMHOOK_pre_skill_init_unit_layout) (void);
typedef void (*HPMHOOK_post_skill_init_unit_layout) (void);
+typedef void (*HPMHOOK_pre_skill_init_unit_layout_unknown) (int *skill_idx);
+typedef void (*HPMHOOK_post_skill_init_unit_layout_unknown) (int skill_idx);
typedef void (*HPMHOOK_pre_skill_validate_hittype) (struct config_setting_t **conf, struct s_skill_db **sk);
typedef void (*HPMHOOK_post_skill_validate_hittype) (struct config_setting_t *conf, struct s_skill_db *sk);
typedef void (*HPMHOOK_pre_skill_validate_skilltype) (struct config_setting_t **conf, struct s_skill_db **sk);
diff --git a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
index 7131f486c..82123c633 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
@@ -110,6 +110,8 @@ struct {
struct HPMHookPoint *HP_battle_calc_attack_post;
struct HPMHookPoint *HP_battle_calc_damage_pre;
struct HPMHookPoint *HP_battle_calc_damage_post;
+ struct HPMHookPoint *HP_battle_calc_pc_damage_pre;
+ struct HPMHookPoint *HP_battle_calc_pc_damage_post;
struct HPMHookPoint *HP_battle_calc_gvg_damage_pre;
struct HPMHookPoint *HP_battle_calc_gvg_damage_post;
struct HPMHookPoint *HP_battle_calc_bg_damage_pre;
@@ -5134,8 +5136,12 @@ struct {
struct HPMHookPoint *HP_skill_enchant_elemental_end_post;
struct HPMHookPoint *HP_skill_not_ok_pre;
struct HPMHookPoint *HP_skill_not_ok_post;
+ struct HPMHookPoint *HP_skill_not_ok_unknown_pre;
+ struct HPMHookPoint *HP_skill_not_ok_unknown_post;
struct HPMHookPoint *HP_skill_not_ok_hom_pre;
struct HPMHookPoint *HP_skill_not_ok_hom_post;
+ struct HPMHookPoint *HP_skill_not_ok_hom_unknown_pre;
+ struct HPMHookPoint *HP_skill_not_ok_hom_unknown_post;
struct HPMHookPoint *HP_skill_not_ok_mercenary_pre;
struct HPMHookPoint *HP_skill_not_ok_mercenary_post;
struct HPMHookPoint *HP_skill_chastle_mob_changetarget_pre;
@@ -5146,6 +5152,8 @@ struct {
struct HPMHookPoint *HP_skill_produce_mix_post;
struct HPMHookPoint *HP_skill_arrow_create_pre;
struct HPMHookPoint *HP_skill_arrow_create_post;
+ struct HPMHookPoint *HP_skill_castend_type_pre;
+ struct HPMHookPoint *HP_skill_castend_type_post;
struct HPMHookPoint *HP_skill_castend_nodamage_id_pre;
struct HPMHookPoint *HP_skill_castend_nodamage_id_post;
struct HPMHookPoint *HP_skill_castend_damage_id_pre;
@@ -5230,6 +5238,8 @@ struct {
struct HPMHookPoint *HP_skill_unitsetmapcell_post;
struct HPMHookPoint *HP_skill_unit_onplace_timer_pre;
struct HPMHookPoint *HP_skill_unit_onplace_timer_post;
+ struct HPMHookPoint *HP_skill_unit_onplace_timer_unknown_pre;
+ struct HPMHookPoint *HP_skill_unit_onplace_timer_unknown_post;
struct HPMHookPoint *HP_skill_unit_effect_pre;
struct HPMHookPoint *HP_skill_unit_effect_post;
struct HPMHookPoint *HP_skill_unit_timer_sub_onplace_pre;
@@ -5250,6 +5260,8 @@ struct {
struct HPMHookPoint *HP_skill_unit_timer_sub_post;
struct HPMHookPoint *HP_skill_init_unit_layout_pre;
struct HPMHookPoint *HP_skill_init_unit_layout_post;
+ struct HPMHookPoint *HP_skill_init_unit_layout_unknown_pre;
+ struct HPMHookPoint *HP_skill_init_unit_layout_unknown_post;
struct HPMHookPoint *HP_skill_validate_hittype_pre;
struct HPMHookPoint *HP_skill_validate_hittype_post;
struct HPMHookPoint *HP_skill_validate_skilltype_pre;
@@ -6149,6 +6161,8 @@ struct {
int HP_battle_calc_attack_post;
int HP_battle_calc_damage_pre;
int HP_battle_calc_damage_post;
+ int HP_battle_calc_pc_damage_pre;
+ int HP_battle_calc_pc_damage_post;
int HP_battle_calc_gvg_damage_pre;
int HP_battle_calc_gvg_damage_post;
int HP_battle_calc_bg_damage_pre;
@@ -11173,8 +11187,12 @@ struct {
int HP_skill_enchant_elemental_end_post;
int HP_skill_not_ok_pre;
int HP_skill_not_ok_post;
+ int HP_skill_not_ok_unknown_pre;
+ int HP_skill_not_ok_unknown_post;
int HP_skill_not_ok_hom_pre;
int HP_skill_not_ok_hom_post;
+ int HP_skill_not_ok_hom_unknown_pre;
+ int HP_skill_not_ok_hom_unknown_post;
int HP_skill_not_ok_mercenary_pre;
int HP_skill_not_ok_mercenary_post;
int HP_skill_chastle_mob_changetarget_pre;
@@ -11185,6 +11203,8 @@ struct {
int HP_skill_produce_mix_post;
int HP_skill_arrow_create_pre;
int HP_skill_arrow_create_post;
+ int HP_skill_castend_type_pre;
+ int HP_skill_castend_type_post;
int HP_skill_castend_nodamage_id_pre;
int HP_skill_castend_nodamage_id_post;
int HP_skill_castend_damage_id_pre;
@@ -11269,6 +11289,8 @@ struct {
int HP_skill_unitsetmapcell_post;
int HP_skill_unit_onplace_timer_pre;
int HP_skill_unit_onplace_timer_post;
+ int HP_skill_unit_onplace_timer_unknown_pre;
+ int HP_skill_unit_onplace_timer_unknown_post;
int HP_skill_unit_effect_pre;
int HP_skill_unit_effect_post;
int HP_skill_unit_timer_sub_onplace_pre;
@@ -11289,6 +11311,8 @@ struct {
int HP_skill_unit_timer_sub_post;
int HP_skill_init_unit_layout_pre;
int HP_skill_init_unit_layout_post;
+ int HP_skill_init_unit_layout_unknown_pre;
+ int HP_skill_init_unit_layout_unknown_post;
int HP_skill_validate_hittype_pre;
int HP_skill_validate_hittype_post;
int HP_skill_validate_skilltype_pre;
diff --git a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
index cbf7ba79f..f03cd3c37 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
@@ -71,6 +71,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(battle->final, HP_battle_final) },
{ HP_POP(battle->calc_attack, HP_battle_calc_attack) },
{ HP_POP(battle->calc_damage, HP_battle_calc_damage) },
+ { HP_POP(battle->calc_pc_damage, HP_battle_calc_pc_damage) },
{ HP_POP(battle->calc_gvg_damage, HP_battle_calc_gvg_damage) },
{ HP_POP(battle->calc_bg_damage, HP_battle_calc_bg_damage) },
{ HP_POP(battle->weapon_attack, HP_battle_weapon_attack) },
@@ -2631,12 +2632,15 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(skill->can_cloak, HP_skill_can_cloak) },
{ HP_POP(skill->enchant_elemental_end, HP_skill_enchant_elemental_end) },
{ HP_POP(skill->not_ok, HP_skill_not_ok) },
+ { HP_POP(skill->not_ok_unknown, HP_skill_not_ok_unknown) },
{ HP_POP(skill->not_ok_hom, HP_skill_not_ok_hom) },
+ { HP_POP(skill->not_ok_hom_unknown, HP_skill_not_ok_hom_unknown) },
{ HP_POP(skill->not_ok_mercenary, HP_skill_not_ok_mercenary) },
{ HP_POP(skill->chastle_mob_changetarget, HP_skill_chastle_mob_changetarget) },
{ HP_POP(skill->can_produce_mix, HP_skill_can_produce_mix) },
{ HP_POP(skill->produce_mix, HP_skill_produce_mix) },
{ HP_POP(skill->arrow_create, HP_skill_arrow_create) },
+ { HP_POP(skill->castend_type, HP_skill_castend_type) },
{ HP_POP(skill->castend_nodamage_id, HP_skill_castend_nodamage_id) },
{ HP_POP(skill->castend_damage_id, HP_skill_castend_damage_id) },
{ HP_POP(skill->castend_pos2, HP_skill_castend_pos2) },
@@ -2679,6 +2683,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(skill->sit_out, HP_skill_sit_out) },
{ HP_POP(skill->unitsetmapcell, HP_skill_unitsetmapcell) },
{ HP_POP(skill->unit_onplace_timer, HP_skill_unit_onplace_timer) },
+ { HP_POP(skill->unit_onplace_timer_unknown, HP_skill_unit_onplace_timer_unknown) },
{ HP_POP(skill->unit_effect, HP_skill_unit_effect) },
{ HP_POP(skill->unit_timer_sub_onplace, HP_skill_unit_timer_sub_onplace) },
{ HP_POP(skill->unit_move_sub, HP_skill_unit_move_sub) },
@@ -2689,6 +2694,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(skill->unit_timer, HP_skill_unit_timer) },
{ HP_POP(skill->unit_timer_sub, HP_skill_unit_timer_sub) },
{ HP_POP(skill->init_unit_layout, HP_skill_init_unit_layout) },
+ { HP_POP(skill->init_unit_layout_unknown, HP_skill_init_unit_layout_unknown) },
{ HP_POP(skill->validate_hittype, HP_skill_validate_hittype) },
{ HP_POP(skill->validate_skilltype, HP_skill_validate_skilltype) },
{ HP_POP(skill->validate_attacktype, HP_skill_validate_attacktype) },
diff --git a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
index 2317f9392..a948733f0 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
@@ -1186,6 +1186,33 @@ int64 HP_battle_calc_damage(struct block_list *src, struct block_list *bl, struc
}
return retVal___;
}
+int64 HP_battle_calc_pc_damage(struct block_list *src, struct block_list *bl, struct Damage *d, int64 damage, uint16 skill_id, uint16 skill_lv) {
+ int hIndex = 0;
+ int64 retVal___ = 0;
+ if( HPMHooks.count.HP_battle_calc_pc_damage_pre ) {
+ int64 (*preHookFunc) (struct block_list **src, struct block_list **bl, struct Damage **d, int64 *damage, uint16 *skill_id, uint16 *skill_lv);
+ *HPMforce_return = false;
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_battle_calc_pc_damage_pre; hIndex++ ) {
+ preHookFunc = HPMHooks.list.HP_battle_calc_pc_damage_pre[hIndex].func;
+ retVal___ = preHookFunc(&src, &bl, &d, &damage, &skill_id, &skill_lv);
+ }
+ if( *HPMforce_return ) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.battle.calc_pc_damage(src, bl, d, damage, skill_id, skill_lv);
+ }
+ if( HPMHooks.count.HP_battle_calc_pc_damage_post ) {
+ int64 (*postHookFunc) (int64 retVal___, struct block_list *src, struct block_list *bl, struct Damage *d, int64 damage, uint16 skill_id, uint16 skill_lv);
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_battle_calc_pc_damage_post; hIndex++ ) {
+ postHookFunc = HPMHooks.list.HP_battle_calc_pc_damage_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, src, bl, d, damage, skill_id, skill_lv);
+ }
+ }
+ return retVal___;
+}
int64 HP_battle_calc_gvg_damage(struct block_list *src, struct block_list *bl, int64 damage, int div_, uint16 skill_id, uint16 skill_lv, int flag) {
int hIndex = 0;
int64 retVal___ = 0;
@@ -68608,6 +68635,33 @@ int HP_skill_not_ok(uint16 skill_id, struct map_session_data *sd) {
}
return retVal___;
}
+int HP_skill_not_ok_unknown(uint16 skill_id, struct map_session_data *sd) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if( HPMHooks.count.HP_skill_not_ok_unknown_pre ) {
+ int (*preHookFunc) (uint16 *skill_id, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_skill_not_ok_unknown_pre; hIndex++ ) {
+ preHookFunc = HPMHooks.list.HP_skill_not_ok_unknown_pre[hIndex].func;
+ retVal___ = preHookFunc(&skill_id, &sd);
+ }
+ if( *HPMforce_return ) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.skill.not_ok_unknown(skill_id, sd);
+ }
+ if( HPMHooks.count.HP_skill_not_ok_unknown_post ) {
+ int (*postHookFunc) (int retVal___, uint16 skill_id, struct map_session_data *sd);
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_skill_not_ok_unknown_post; hIndex++ ) {
+ postHookFunc = HPMHooks.list.HP_skill_not_ok_unknown_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, skill_id, sd);
+ }
+ }
+ return retVal___;
+}
int HP_skill_not_ok_hom(uint16 skill_id, struct homun_data *hd) {
int hIndex = 0;
int retVal___ = 0;
@@ -68635,6 +68689,33 @@ int HP_skill_not_ok_hom(uint16 skill_id, struct homun_data *hd) {
}
return retVal___;
}
+int HP_skill_not_ok_hom_unknown(uint16 skill_id, struct homun_data *hd) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if( HPMHooks.count.HP_skill_not_ok_hom_unknown_pre ) {
+ int (*preHookFunc) (uint16 *skill_id, struct homun_data **hd);
+ *HPMforce_return = false;
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_skill_not_ok_hom_unknown_pre; hIndex++ ) {
+ preHookFunc = HPMHooks.list.HP_skill_not_ok_hom_unknown_pre[hIndex].func;
+ retVal___ = preHookFunc(&skill_id, &hd);
+ }
+ if( *HPMforce_return ) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.skill.not_ok_hom_unknown(skill_id, hd);
+ }
+ if( HPMHooks.count.HP_skill_not_ok_hom_unknown_post ) {
+ int (*postHookFunc) (int retVal___, uint16 skill_id, struct homun_data *hd);
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_skill_not_ok_hom_unknown_post; hIndex++ ) {
+ postHookFunc = HPMHooks.list.HP_skill_not_ok_hom_unknown_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, skill_id, hd);
+ }
+ }
+ return retVal___;
+}
int HP_skill_not_ok_mercenary(uint16 skill_id, struct mercenary_data *md) {
int hIndex = 0;
int retVal___ = 0;
@@ -68776,6 +68857,32 @@ int HP_skill_arrow_create(struct map_session_data *sd, int nameid) {
}
return retVal___;
}
+void HP_skill_castend_type(int type, struct block_list *src, struct block_list *bl, uint16 skill_id, uint16 skill_lv, int64 tick, int flag) {
+ int hIndex = 0;
+ if( HPMHooks.count.HP_skill_castend_type_pre ) {
+ void (*preHookFunc) (int *type, struct block_list **src, struct block_list **bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
+ *HPMforce_return = false;
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_skill_castend_type_pre; hIndex++ ) {
+ preHookFunc = HPMHooks.list.HP_skill_castend_type_pre[hIndex].func;
+ preHookFunc(&type, &src, &bl, &skill_id, &skill_lv, &tick, &flag);
+ }
+ if( *HPMforce_return ) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.castend_type(type, src, bl, skill_id, skill_lv, tick, flag);
+ }
+ if( HPMHooks.count.HP_skill_castend_type_post ) {
+ void (*postHookFunc) (int type, struct block_list *src, struct block_list *bl, uint16 skill_id, uint16 skill_lv, int64 tick, int flag);
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_skill_castend_type_post; hIndex++ ) {
+ postHookFunc = HPMHooks.list.HP_skill_castend_type_post[hIndex].func;
+ postHookFunc(type, src, bl, skill_id, skill_lv, tick, flag);
+ }
+ }
+ return;
+}
int HP_skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uint16 skill_id, uint16 skill_lv, int64 tick, int flag) {
int hIndex = 0;
int retVal___ = 0;
@@ -70008,6 +70115,32 @@ int HP_skill_unit_onplace_timer(struct skill_unit *src, struct block_list *bl, i
}
return retVal___;
}
+void HP_skill_unit_onplace_timer_unknown(struct skill_unit *src, struct block_list *bl, int64 *tick) {
+ int hIndex = 0;
+ if( HPMHooks.count.HP_skill_unit_onplace_timer_unknown_pre ) {
+ void (*preHookFunc) (struct skill_unit **src, struct block_list **bl, int64 **tick);
+ *HPMforce_return = false;
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_skill_unit_onplace_timer_unknown_pre; hIndex++ ) {
+ preHookFunc = HPMHooks.list.HP_skill_unit_onplace_timer_unknown_pre[hIndex].func;
+ preHookFunc(&src, &bl, &tick);
+ }
+ if( *HPMforce_return ) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.unit_onplace_timer_unknown(src, bl, tick);
+ }
+ if( HPMHooks.count.HP_skill_unit_onplace_timer_unknown_post ) {
+ void (*postHookFunc) (struct skill_unit *src, struct block_list *bl, int64 *tick);
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_skill_unit_onplace_timer_unknown_post; hIndex++ ) {
+ postHookFunc = HPMHooks.list.HP_skill_unit_onplace_timer_unknown_post[hIndex].func;
+ postHookFunc(src, bl, tick);
+ }
+ }
+ return;
+}
int HP_skill_unit_effect(struct block_list *bl, va_list ap) {
int hIndex = 0;
int retVal___ = 0;
@@ -70301,6 +70434,32 @@ void HP_skill_init_unit_layout(void) {
}
return;
}
+void HP_skill_init_unit_layout_unknown(int skill_idx) {
+ int hIndex = 0;
+ if( HPMHooks.count.HP_skill_init_unit_layout_unknown_pre ) {
+ void (*preHookFunc) (int *skill_idx);
+ *HPMforce_return = false;
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_skill_init_unit_layout_unknown_pre; hIndex++ ) {
+ preHookFunc = HPMHooks.list.HP_skill_init_unit_layout_unknown_pre[hIndex].func;
+ preHookFunc(&skill_idx);
+ }
+ if( *HPMforce_return ) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.init_unit_layout_unknown(skill_idx);
+ }
+ if( HPMHooks.count.HP_skill_init_unit_layout_unknown_post ) {
+ void (*postHookFunc) (int skill_idx);
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_skill_init_unit_layout_unknown_post; hIndex++ ) {
+ postHookFunc = HPMHooks.list.HP_skill_init_unit_layout_unknown_post[hIndex].func;
+ postHookFunc(skill_idx);
+ }
+ }
+ return;
+}
void HP_skill_validate_hittype(struct config_setting_t *conf, struct s_skill_db *sk) {
int hIndex = 0;
if( HPMHooks.count.HP_skill_validate_hittype_pre ) {